Commit Graph

1972 Commits

Author SHA1 Message Date
Peter Steinberger
5985e1d8b9 test: speed up import-heavy tests 2026-04-25 11:04:16 +01:00
Vincent Koc
c1f359c276 fix(test): reuse heavy-check lock in boundary prep 2026-04-25 02:49:45 -07:00
Peter Steinberger
9056d4f708 feat: add crestodian local planner fallback 2026-04-25 10:20:02 +01:00
Peter Steinberger
b756dfcb2b perf: speed up boundary and provider tests 2026-04-25 10:08:46 +01:00
Vincent Koc
a33f7b7d05 fix(test): make changed typechecks sparse-safe 2026-04-25 02:02:57 -07:00
Peter Steinberger
f7d276b842 perf: cache guard inventory checks 2026-04-25 10:02:02 +01:00
Peter Steinberger
70b3ba2fed test: speed up Docker live scheduling 2026-04-25 10:01:50 +01:00
Vincent Koc
734748d4f4 fix(test): cap native worker pools for serial Vitest 2026-04-25 01:31:30 -07:00
Peter Steinberger
689a353621 fix(plugins): load packaged runtime mirrors from canonical sources 2026-04-25 09:29:16 +01:00
Peter Steinberger
0e9156d205 test: stabilize Docker CLI backend lane 2026-04-25 09:12:48 +01:00
Peter Steinberger
2011de69d3 feat: add Crestodian setup helper 2026-04-25 08:58:21 +01:00
Vincent Koc
73d72204a0 fix(tooling): harden changed checks for sparse worktrees 2026-04-25 00:51:34 -07:00
Peter Steinberger
7a71a66571 perf: cache provider env var lookups 2026-04-25 08:35:57 +01:00
Peter Steinberger
e9b27ed2a6 perf: speed up auth choice tests 2026-04-25 08:31:40 +01:00
Peter Steinberger
e0beea97aa perf: speed up focused tests 2026-04-25 08:26:28 +01:00
Peter Steinberger
188bce424b perf: speed up google meet tests 2026-04-25 08:12:26 +01:00
Vincent Koc
9895ecead3 fix(memory): keep llama runtime optional (#71425)
* fix(memory): keep llama runtime optional

* fix(memory): harden optional llama runtime guard
2026-04-25 00:09:12 -07:00
Peter Steinberger
f9c268cf56 ci: keep fast fixture edits on narrow path 2026-04-25 06:22:57 +01:00
Peter Steinberger
2f097c47f8 ci: route narrow ci changes through fast path 2026-04-25 06:18:32 +01:00
Vincent Koc
f0ceb4b68f fix(cron): isolate fresh cron session state
* fix(cron): isolate fresh cron session state

* fix(cron): deep-copy isolated session state

* fix(cron): reset isolated session context

* test(providers): avoid shared mock races

* test(providers): type injected stream fakes

* ci: refresh package boundary on reply runtime changes

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-04-24 22:15:19 -07:00
Peter Steinberger
a2a49b430c test(plugins): route tts contract helper changes narrowly 2026-04-25 06:05:00 +01:00
Michiel van den Donker
2c716f5677 fix: enforce memory search session visibility (#70761) (thanks @nefainl)
* [EV-001] memory-core: filter memory_search session hits by visibility

- Move session visibility + listSpawnedSessionKeys to plugin-sdk; sync test
  hook with sessions-resolution __testing.setDepsForTest
- Extract loadCombinedSessionStoreForGateway to config/sessions; re-export
  from gateway session-utils
- Add session-transcript-hit stem resolver for builtin + QMD paths
- Post-filter memory_search results before citations/recall; fail closed when
  requester session key missing; optional corpus=sessions
- Tests: stem extraction, visibility filter smoke, existing suites green

* chore: sync plugin-sdk exports for session-transcript-hit and session-visibility

Run pnpm plugin-sdk:sync-exports so package.json exports match
scripts/lib/plugin-sdk-entrypoints.json. Fixes contract tests and
lint:plugins:plugin-sdk-subpaths-exported for memory-core imports.

* fix(EV-001): cross-agent session memory hits + hoist combined store load

- resolveTranscriptStemToSessionKeys: stop filtering by requester agentId so
  keys from other agents reach createSessionVisibilityGuard (a2a + visibility=all).
- Re-export loadCombinedSessionStoreForGateway from session-transcript-hit;
  filterMemorySearchHitsBySessionVisibility loads the combined store once per pass.
- Drop unused agentId from filter params; extend tests (Greptile/Codex review).

* fix(memory_search): honor corpus=sessions before maxResults cap

Pass sources into MemoryIndexManager.search so FTS/vector queries add
source IN (...) before ranking and top-N slice (Codex: non-session hits
could fill the window).

QMD path: oversample fetch limit for single-source recall, filter by
source, then diversify/clamp to the requested maxResults.

Wire corpus=sessions from tools; extend MemorySearchManager opts and
wrappers.

* fix(memory_search): apply corpus=memory source filter like sessions

Pass sources: ["memory"] into manager.search so maxResults applies only
within the memory index; post-filter for defense in depth. Document
corpus=memory in the tool description.

* fix: scope qmd session memory search

* fix: enforce memory search session visibility (#70761) (thanks @nefainl)

---------

Co-authored-by: NefAI <info@nefai.nl>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-25 09:30:21 +05:30
Peter Steinberger
5d724863bb test: show live Docker profile mount 2026-04-25 04:57:20 +01:00
GodsBoy
724692bb8c chore(ci): refresh raw fetch allowlist 2026-04-25 09:21:29 +05:30
Peter Steinberger
344ee3782d fix(google-meet): guide timeout recovery 2026-04-25 03:57:26 +01:00
Peter Steinberger
24fdfdba6e test: disable Docker CLI image probe by default 2026-04-25 03:51:41 +01:00
Vincent Koc
f9ac92d1cc fix(deps): keep plugin ownership records live (#71331) 2026-04-24 19:15:12 -07:00
Peter Steinberger
2f23511ffa test: accept staged bundled runtime deps proof 2026-04-25 03:05:04 +01:00
Gustavo Madeira Santana
fd65caf4b0 chore: tighten changelog unreleased detection 2026-04-24 21:52:00 -04:00
Peter Steinberger
5865197ec1 test: relax bundled channel Docker readiness 2026-04-25 02:48:02 +01:00
Peter Steinberger
d4a9b28d0c test: add agents delete Docker smoke 2026-04-25 02:43:11 +01:00
Val Alexander
ead8be96fd Add tweakcn custom theme import
Adds a browser-local custom tweakcn theme slot while preserving the existing built-in themes.

Includes:
- tweakcn share-link import, validation, persistence, and custom theme rendering
- Custom option in Appearance and Quick Settings
- responsive/config toolbar and chat tool-card polish from follow-up review
- security hardening for bounded fetches, CSS token validation, redirect handling, and fail-closed unreadable payloads

Verification:
- OPENCLAW_LOCAL_CHECK=0 pnpm check:changed
- GitHub CI clean on 6ff13a1b33
2026-04-24 20:36:45 -05:00
Peter Steinberger
835c4e053c test: stabilize Docker live service lanes 2026-04-25 02:33:10 +01:00
Peter Steinberger
d42b0e043c fix: stage packaged bundled runtime deps externally 2026-04-25 01:58:44 +01:00
Peter Steinberger
ae57a7998e fix(telegram): persist accepted update offsets 2026-04-25 01:35:05 +01:00
Chris Zhang
de8a00d922 fix(plugins): preserve tokenjuice runtime rule data
Preserve tokenjuice runtime rule JSON under dist/rules/tests during bundled plugin runtime dependency staging while continuing to prune unrelated tests directories.
2026-04-24 17:16:06 -07:00
Vincent Koc
e3cba98f39 refactor(pdf): move document extraction to plugin
* refactor(pdf): move document extraction to plugin

* fix(deps): sync document extract lockfile

* fix(pdf): harden document extraction plugin
2026-04-24 17:15:05 -07:00
Peter Steinberger
f4add8047b test: relax Docker service command timeouts 2026-04-25 01:07:23 +01:00
Peter Steinberger
b9b97f2653 test: raise Docker aggregate resource caps 2026-04-25 00:52:52 +01:00
Peter Steinberger
a1087ea7a6 fix(parallels): harden npm update smoke 2026-04-25 00:49:57 +01:00
Peter Steinberger
272a72b716 test: relax Docker host command caps 2026-04-25 00:03:52 +01:00
Peter Steinberger
a7696b496a test: improve Docker aggregate scheduling 2026-04-24 23:44:02 +01:00
IVY
5adf9d2619 fix(discord): prevent identify race (#68159)
Verified against Carbon 0.16.0 source:
- Client constructor calls plugin.registerClient(this) without awaiting it.
- GatewayPlugin.registerClient publishes client before its awaited metadata fetch.
- identify() silently returns when client is missing.

This patch matches Carbon's ordering in OpenClaw's subclass, avoids a second super.registerClient call if lifecycle connect already opened the socket during metadata loading, and keeps regression coverage for both ws and isConnecting cases.

Local proof:
- pnpm test extensions/discord/src/monitor/provider.proxy.test.ts extensions/discord/src/monitor/gateway-plugin.test.ts
- pnpm lint:tmp:no-raw-channel-fetch
- pnpm check:changed
- pnpm check
- pnpm test

GitHub checks green for 72547825e1.
2026-04-24 22:39:44 +01:00
Peter Steinberger
af46830927 test: split bundled Docker aggregate shards 2026-04-24 21:43:43 +01:00
Vincent Koc
86099ec62a refactor(web-fetch): move readability extraction to plugin
* refactor(web-fetch): move readability extraction to plugin

* fix(web-fetch): cache extractor resolution by config

* fix(test): remove redundant stat assertions
2026-04-24 13:34:37 -07:00
Peter Steinberger
7a168150e6 test: tune Docker aggregate service pressure 2026-04-24 21:04:39 +01:00
Peter Steinberger
037d12974c test: bound Docker smoke host commands 2026-04-24 20:54:06 +01:00
Peter Steinberger
0f689d22f4 test: add weighted Docker aggregate scheduler 2026-04-24 20:41:27 +01:00
Peter Steinberger
b9cc293167 test: wait for ACPX in cron Docker smoke 2026-04-24 20:27:24 +01:00
Peter Steinberger
0651e5dc97 fix: restore reliable live Docker staging 2026-04-24 20:10:28 +01:00