Commit Graph

2517 Commits

Author SHA1 Message Date
Peter Steinberger
03e17d19e9 test(plugins): avoid map spread in provider fixture 2026-04-29 14:55:25 +01:00
Peter Steinberger
3a875e7549 test: speed up provider plugin tests 2026-04-29 14:42:16 +01:00
Peter Steinberger
f0adbd48e8 refactor(discord): internalize discord client 2026-04-29 14:22:58 +01:00
Alex Knight
bbf985d50a feat(plugins): add SQLite plugin state store (#74190)
* feat(plugins): add experimental sqlite plugin state store
2026-04-29 23:02:14 +10:00
Ayaan Zaidi
9bf7b6bfca fix(auth): enable selected manifest provider plugins 2026-04-29 17:41:05 +05:30
Peter Steinberger
234cbf5f46 perf(plugins): memoize packaged runtime dist mirrors 2026-04-29 13:10:28 +01:00
Masato Hoshino
016f5ae862 test(plugins): cover dead-PID stale runtime-deps lock removal
Adds focused regression coverage for dead owner PID runtime-deps install locks so stale lock recovery remains PID-first and does not wait on age when the recorded owner process is gone.

Co-authored-by: masatohoshino <g515hoshino@gmail.com>
2026-04-29 12:51:14 +01:00
Max Caldar
4d73cd52dc fix(plugins): mirror core root-package deps used by core dist code (#74213)
Extend MIRRORED_CORE_RUNTIME_DEP_NAMES from ["semver", "tslog"] to
also include @agentclientprotocol/sdk, @lydell/node-pty, croner,
dotenv, jiti, json5, jszip, markdown-it, tar, and web-push.

These are all declared as direct dependencies in the openclaw root
package.json and imported by core source code (src/acp/*, src/cron/*,
src/config/*, src/infra/{archive,backup,dotenv,push-web}.ts,
src/markdown/ir.ts, src/plugin-sdk/root-alias.cjs,
src/plugins/jiti-loader-cache.ts, src/process/supervisor/adapters/pty.ts,
etc), but the existing collectMirroredPackageRuntimeDeps allowlist only
covered semver and tslog.

The dynamic collectRootDistMirroredRuntimeDeps scan does pick up
imports that have an extension package.json owner (for example
memory-core declares chokidar, matrix declares jiti and markdown-it).
For deps with no extension owner, or for setups where the owning
extension is not enabled, those imports never make it into the
runtime-deps mirror and Node fails to resolve them at runtime, e.g.:

    Cannot find package 'chokidar' imported from
    .../plugin-runtime-deps/openclaw-<ver>/dist/qmd-manager-...js

Also add a static drift guard test that walks src/ for value imports of
root-package runtime deps and fails when one is neither in
MIRRORED_CORE_RUNTIME_DEP_NAMES nor declared by any extension's
package.json (with an explicit allowlist for known-transitive or
build/type-only imports such as chalk, ipaddr.js, file-type,
proxy-agent, typescript, qrcode). The guard caught @lydell/node-pty
during this change.

Refs #74199.
2026-04-29 07:19:39 -04:00
Peter Steinberger
6b4873d0c1 ci: split plugin contract shards 2026-04-29 11:44:32 +01:00
Peter Steinberger
93d5cd1015 fix: honor configured xhigh thinking compat (#74273)
* fix: honor configured xhigh thinking compat

* test: update agent command model selection mock
2026-04-29 11:35:03 +01:00
Super Zheng
1c45592e62 perf(plugins): add O(1) fast-path for empty plugin loads 2026-04-29 03:04:21 -07:00
Super Zheng
d33c3f7da6 perf(catalog): cache manifest built-in model suppression resolver (#74236)
* perf(catalog): cache manifest built-in model suppression resolver

* fix(catalog): address PR review comments for manifest suppression resolver

* fix(catalog): preserve cached suppression semantics

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-29 02:52:26 -07:00
Vincent Koc
412434a450 test(plugins): extend external install contract coverage 2026-04-29 02:48:58 -07:00
Vincent Koc
4b99724a9c test(plugins): isolate config alias scan regression 2026-04-29 02:29:03 -07:00
Vincent Koc
a3519e362f fix(plugins): reuse config alias scans 2026-04-29 02:29:02 -07:00
Vincent Koc
1d61862adb fix(gateway): yield after agent accepted ack 2026-04-29 02:29:02 -07:00
Vincent Koc
24adf2c8e6 fix(plugins): reject malformed channel registrations 2026-04-29 02:29:00 -07:00
Ayaan Zaidi
c211b41f17 perf(plugins): cache bundled alias lookup 2026-04-29 14:09:03 +05:30
Peter Steinberger
14e8a2d00b chore: remove unused internal dead code 2026-04-29 09:34:40 +01:00
Peter Steinberger
7877182b6f fix(gateway): defer missed cron agent startup work 2026-04-29 09:15:54 +01:00
Peter Steinberger
afc4f06ca3 fix(memory): isolate qmd boot refresh 2026-04-29 08:14:08 +01:00
brokemac79
20c7a98fb8 fix(plugins): keep provider discovery metadata-only
Fix startup and per-turn provider registry hot paths by keeping primary-model startup discovery on metadata-only provider entries and by keeping capability provider fallback loads scoped to manifest-derived owners, including explicit empty scopes when no bundled owner exists.

Evidence:
- Reproduces the reported code paths from #73729, #73835, and #73793: startup prewarm was able to enter provider/model discovery that loaded plugin runtime, and capability lookups could bypass active registry reuse or broaden fallback registry loads.
- Fix threads providerDiscoveryEntriesOnly through models-config planning into plugin discovery.
- Fix reuses active non-memory/non-speech capability providers even with explicit plugins.entries.
- Fix keeps fallback registry loads scoped with onlyPluginIds, including [] for no-owner media capability checks.
- Local targeted tests passed for gateway startup, models config, provider discovery, capability providers, and web provider runtimes.
- Testbox pnpm check:changed passed.
- Testbox pnpm build passed.
- GitHub CI required checks passed on e5e6fe1d52.

Fixes #73729.
Fixes #73835.
Fixes #73793.
Supersedes #73794.
2026-04-29 07:52:32 +01:00
Vincent Koc
1b25dcf57a docs(types): mark legacy hook surfaces deprecated 2026-04-28 23:31:32 -07:00
Vincent Koc
4eba70b532 docs(types): mark legacy aliases deprecated 2026-04-28 23:10:10 -07:00
Peter Steinberger
213f92a9ef test(ci): fix release validation regressions 2026-04-29 06:54:48 +01:00
Peter Steinberger
cfcb8f4eda test(ci): fix current validation shards 2026-04-29 06:49:05 +01:00
Peter Steinberger
358b4f24cd test: guard broad plugin resolver fixtures 2026-04-29 06:46:02 +01:00
Peter Steinberger
364c67bcb5 refactor(discord): share channel run queue 2026-04-29 06:21:09 +01:00
Vincent Koc
7c7561f5a3 fix(plugins): scope capability provider snapshots 2026-04-28 22:19:34 -07:00
Peter Steinberger
07631fb931 fix(discord): remove channel run timeouts 2026-04-29 06:07:12 +01:00
Peter Steinberger
52a7e2264c fix(plugins): cache runtime deps scans 2026-04-29 05:49:09 +01:00
Vincent Koc
d49ebe7bde fix(plugins): stage runtime deps for selected slots 2026-04-28 21:45:55 -07:00
Vincent Koc
9e34fb9feb fix(plugin-sdk): restore channel compatibility facades 2026-04-28 21:38:11 -07:00
Peter Steinberger
02c4249632 perf: speed contract test imports 2026-04-29 05:37:39 +01:00
Peter Steinberger
203213028e perf: speed plugin contract tests and fix ci 2026-04-29 05:20:08 +01:00
Vincent Koc
0382ac5f7d chore(plugins): track probe compat contracts 2026-04-28 21:12:07 -07:00
Vincent Koc
a2e077e468 chore(lint): fix changed gate drift 2026-04-28 21:10:24 -07:00
Peter Steinberger
e27fe55aa8 refactor: simplify plugin cache boundaries 2026-04-29 04:33:15 +01:00
Vincent Koc
5847c0ed58 test(plugins): expect fresh derived registries 2026-04-28 20:09:18 -07:00
Peter Steinberger
7a5b419843 refactor(plugins): simplify plugin cache boundaries 2026-04-29 03:52:22 +01:00
Vincent Koc
43da089790 fix(update): skip disabled plugins during post-update sync (#73970)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-04-28 19:36:11 -07:00
Vincent Koc
fd2625a162 fix(plugins): resolve ClawHub tags in prerelease CI 2026-04-28 17:04:01 -07:00
Peter Steinberger
955b4df093 fix(ci): stabilize full release validation 2026-04-28 23:54:43 +01:00
Peter Steinberger
75df09b9ec perf(plugins): cache runtime mirror file decisions 2026-04-28 23:40:43 +01:00
pashpashpash
6ce1058296 Wire diagnostics through the core chat command (#72936)
* feat: wire codex diagnostics feedback

* fix: harden codex diagnostics hints

* fix: neutralize codex diagnostics output

* fix: tighten codex diagnostics safeguards

* fix: bound codex diagnostics feedback output

* fix: tighten codex diagnostics throttling

* fix: confirm codex diagnostics uploads

* docs: clarify codex diagnostics add-on

* fix: route diagnostics through core command

* fix: tighten diagnostics authorization

* fix: pin diagnostics to bundled codex command

* fix: limit owner status in plugin commands

* fix: scope diagnostics confirmations

* fix: scope codex diagnostics cooldowns

* fix: harden codex diagnostics ownership scopes

* fix: harden diagnostics command trust and display

* fix: keep diagnostics command trust internal

* fix: clarify diagnostics exec boundary

* fix: consume codex diagnostics confirmations atomically

* test: include codex diagnostics binding metadata

* test: use string codex binding timestamps

* fix: keep reserved command trust host-only

* fix: harden diagnostics trust and resume hints

* wire diagnostics through exec approval

* fix: keep diagnostics tests aligned with bundled root trust

* fix telegram diagnostics owner auth

* route trajectory exports through exec approval

* fix trajectory exec command encoding

* fix telegram group owner auth

* fix export trajectory approval hardening

* fix pairing command owner bootstrap

* fix telegram owner exec approvals

* fix: make diagnostics approval flow pasteable

* fix: route native sensitive command followups

* fix: invoke diagnostics exports with current cli

* fix: refresh exec approval protocol models

* fix: list codex diagnostics from thread bindings

* fix: fold codex diagnostics into exec approval

* fix: preserve diagnostics approval line breaks

* docs: clarify diagnostics codex workflow
2026-04-29 07:40:37 +09:00
Peter Steinberger
baeba45be9 test: speed up tts contract shard 2026-04-28 23:28:10 +01:00
Peter Steinberger
7cefdd956a fix: unblock landing checks (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger
18990f4fea test: avoid bundled discovery in disabled plugin test (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger
b8f071a139 fix: isolate bundled plugin test roots (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger
3cad579c4e fix(plugin-sdk): restore discord compatibility facade 2026-04-28 20:59:26 +01:00