Peter Steinberger
eaf1f53d60
fix: stabilize plugin metadata release checks
2026-05-02 07:27:27 +01:00
Shakker
3cf1dd982b
fix: gate plugin tools from manifest availability
2026-05-02 06:21:08 +01:00
Shakker
7641783d6b
fix: enforce plugin tool manifest contracts
2026-05-02 06:21:08 +01:00
Shakker
e6825fceaa
perf: scope plugin tool discovery to manifest tool owners
2026-05-02 06:21:08 +01:00
Shakker
fac06a2320
perf: scope reply runtime plugin startup
2026-05-02 06:21:07 +01:00
Shakker
80835f5416
perf: reuse active plugin registry for tool discovery
2026-05-02 06:21:07 +01:00
Peter Steinberger
0df90d9b8d
fix: trace plugin tool factory timings ( #75823 )
...
* fix: trace plugin tool factory timings
* docs: document plugin tool timing traces
* fix: keep plugin tools mcp stdout clean
* test: type plugin tools mcp mock
* test: complete plugin tools mcp mock
* test: preserve console helpers in mcp test
* chore: refresh generated protocol models
2026-05-01 23:14:18 +01:00
Peter Steinberger
ed8f50f240
refactor: simplify plugin dependency handling
...
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.
Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Peter Steinberger
866be0baae
fix(plugins): scope tool registry reuse to plugin plan
2026-05-01 21:13:50 +01:00
Peter Steinberger
29ed5266bf
fix: keep runtime deps repair out of hot paths
2026-05-01 09:26:45 +01:00
EVA
1adaa28dc8
[plugin sdk] Add generic plugin host-hook contracts ( #72287 )
...
Merged via squash.
Prepared head SHA: 68e5f2ce19
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-27 17:07:02 -07:00
Peter Steinberger
0a076bc0fc
fix: isolate malformed plugin tools
2026-04-27 13:22:28 +01:00
Peter Steinberger
d9333ac095
test: speed up plugin status tests
2026-04-07 15:25:21 +01:00
Peter Steinberger
fdacaf0853
test: sync messaging runtime and talk expectations
2026-04-07 05:46:13 +01:00
Peter Steinberger
e3674bcc04
test: streamline runtime wrapper test reloads
2026-04-03 04:41:38 +01:00
Peter Steinberger
f4d60478c9
test: reset plugin runtime state in optional tools tests
2026-03-29 08:52:12 +01:00
Ayaan Zaidi
e3faa99c6a
fix(plugins): preserve gateway-bindable registry reuse
...
# Conflicts:
# src/agents/runtime-plugins.test.ts
# src/agents/runtime-plugins.ts
# src/plugins/loader.ts
# src/plugins/tools.ts
2026-03-29 09:59:06 +05:30
Dewaldt Huysamen
27188fa39f
fix: scope subagent registry reuse to tool loading ( #56240 ) (thanks @GodsBoy)
...
* fix(plugins): reuse active registry for sub-agent tool resolution
* test(plugins): harden resolveRuntimePluginRegistry with per-field, caller-shape, and cold-start tests
Add 11 regression tests covering:
- R1: Per-field isolation (coreGatewayHandlers, includeSetupOnlyChannelPlugins,
preferSetupRuntimeForChannelPlugins each independently prevent fallback;
empty onlyPluginIds[] treated as non-gateway-scoped)
- R2: Caller-shape regression (tools.ts, memory-runtime.ts,
channel-resolution.ts shapes fall back; web-search-providers.runtime.ts
with onlyPluginIds does not)
- R3: Cold-start path (null active registry falls through to loadOpenClawPlugins)
Add debug logging to resolveRuntimePluginRegistry recording which exit path
was taken (no-options, cache-key-match, non-gateway-scoped fallback, fresh load).
* refactor: simplify plugin registry resolution tests and trim happy-path debug logs
* fix(plugins): address review comments on registry fallback
- Fix cold-start test assertion: loadOpenClawPlugins always activates
the registry (shouldActivate defaults to true), so getActivePluginRegistry()
is not null after the call. Updated assertion to match actual behavior.
- Add safety comment documenting why the non-gateway-scoped fallback is
safe despite cache-key mismatch: single-gateway-per-process model means
sub-agents share workspaceDir, config, and env with the gateway.
* test(plugins): restructure per-field isolation tests to avoid load timeouts
Test isGatewayScopedLoad directly instead of going through the full
resolveRuntimePluginRegistry path which triggers expensive plugin
discovery. This fixes the includeSetupOnlyChannelPlugins test timing
out in CI while providing more precise coverage of the predicate.
* fix(plugins): expand safety comment to address startup-scoped registry concern
* fix(plugins): scope subagent registry reuse to tool loading
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-29 09:36:09 +05:30
Peter Steinberger
48b2291b1e
test: dedupe plugin provider runtime suites
2026-03-28 06:04:51 +00:00
Peter Steinberger
12318d25ae
test: dedupe plugin provider runtime status suites
2026-03-28 04:40:08 +00:00
Gustavo Madeira Santana
ee7f5825c8
Plugins: share runtime registry resolution
2026-03-28 00:19:33 -04:00
Gustavo Madeira Santana
a00127bf5b
Plugins: reuse compatible registries for runtime providers
2026-03-28 00:09:37 -04:00
Tak Hoffman
36ac9224cc
fix(regression): reload stale auto-enabled plugin tool registries
2026-03-27 22:40:24 -05:00
Tak Hoffman
cfd1e94e61
fix(regression): auto-enable plugin tool loads
2026-03-27 22:36:41 -05:00
Peter Steinberger
b4c38c78f3
test: dedupe plugin provider runtime suites
2026-03-28 03:30:25 +00:00
Peter Steinberger
39f6fe9ab1
test: dedupe plugin runtime and provider suites
2026-03-28 03:00:51 +00:00
Peter Steinberger
a9be5421d0
test: dedupe plugin provider runtime suites
2026-03-28 02:34:39 +00:00
Tak Hoffman
ab37d8810d
test: introduce planner-backed test runner, stabilize local builds ( #54650 )
...
* test: stabilize ci and local vitest workers
* test: introduce planner-backed test runner
* test: address planner review follow-ups
* test: derive planner budgets from host capabilities
* test: restore planner filter helper import
* test: align planner explain output with execution
* test: keep low profile as serial alias
* test: restrict explicit planner file targets
* test: clean planner exits and pnpm launch
* test: tighten wrapper flag validation
* ci: gate heavy fanout on check
* test: key shard assignments by unit identity
* ci(bun): shard vitest lanes further
* test: restore ci overlap and stabilize planner tests
* test: relax planner output worker assertions
* test: reset plugin runtime state in optional tools suite
* ci: split macos node and swift jobs
* test: honor no-isolate top-level concurrency budgets
* ci: fix macos swift format lint
* test: cap max-profile top-level concurrency
* ci: shard macos node checks
* ci: use four macos node shards
* test: normalize explain targets before classification
2026-03-25 18:11:58 -05:00
Peter Steinberger
5fb7a1363f
fix: stabilize full gate
2026-03-17 07:06:25 +00:00
Josh Lehman
eeb140b4f0
fix(plugins): late-binding subagent runtime for non-gateway load paths ( #46648 )
...
Merged via squash.
Prepared head SHA: 44742652c9
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-16 14:27:54 -07:00
Gustavo Madeira Santana
e6897c800b
Plugins: fix env-aware root resolution and caching ( #44046 )
...
Merged via squash.
Prepared head SHA: 6e8852a188
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-12 15:31:31 +00:00
Peter Steinberger
34daed1d1e
refactor(core): dedupe infra, media, pairing, and plugin helpers
2026-03-02 21:32:11 +00:00
Peter Steinberger
75423a00d6
refactor: deduplicate shared helpers and test setup
2026-02-23 20:40:44 +00:00
Tak Hoffman
35fbf26d24
Gateway: suppress tools.catalog plugin conflict diagnostics
2026-02-23 00:05:57 -06:00
Peter Steinberger
d6d73d0ed9
test(core): trim redundant test resets and use mockClear
2026-02-22 08:12:55 +00:00
Peter Steinberger
bfb5a44089
test: speed up plugin optional tools suite
2026-02-16 05:56:26 +00:00
Peter Steinberger
2086cdfb9b
perf(test): reduce hot-suite import and setup overhead
2026-02-13 20:26:39 +00:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Shadow
2f6d5805de
fix: enforce plugin config schemas ( #1272 ) (thanks @thewilloftheshadow)
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com >
2026-01-20 11:03:17 +00:00
Peter Steinberger
d1e9490f95
fix: enforce strict config validation
2026-01-19 03:39:25 +00:00
Peter Steinberger
6da6582ced
feat: add optional plugin tools
2026-01-18 04:08:00 +00:00