zerone0x
bf91b347c1
fix(plugins): use manifest id as config entry key instead of npm package name ( #24796 )
...
* fix(plugins): use manifest id as config key instead of npm package name
Plugin manifests (openclaw.plugin.json) define a canonical 'id' field that
is used as the authoritative plugin identifier by the manifest registry.
However, the install command was deriving the config entry key from the npm
package name (e.g. 'cognee-openclaw') rather than the manifest id (e.g.
'memory-cognee'), causing a latent mismatch.
On the next gateway reload the plugin could not be found under the config key
derived from the npm package name, causing 'plugin not found' errors and
potentially shutting the gateway down.
Fix: after extracting the package directory, read openclaw.plugin.json and
prefer its 'id' field over the npm package name when registering the config
entry. Falls back to the npm-derived id if the manifest file is absent or
has no valid id. A diagnostic info message is emitted when the two values
differ so the mismatch is visible in the install log.
The update path (src/plugins/update.ts) already correctly reads the manifest
id and is unaffected.
Fixes #24429
* fix: format plugin install manifest-id path (#24796 )
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-24 03:33:51 +00:00
Peter Steinberger
75423a00d6
refactor: deduplicate shared helpers and test setup
2026-02-23 20:40:44 +00:00
Peter Steinberger
87603b5c45
fix: sync built-in channel enablement across config paths
2026-02-23 19:40:42 +00:00
chilu18
3cadc3eed1
fix(plugins): honor channels.<id>.enabled for bundled channels
2026-02-23 18:16:58 +00:00
Tak Hoffman
35fbf26d24
Gateway: suppress tools.catalog plugin conflict diagnostics
2026-02-23 00:05:57 -06:00
Peter Steinberger
382fe8009a
refactor!: remove google-antigravity provider support
2026-02-23 05:20:14 +01:00
Peter Steinberger
2081b3a3c4
refactor(channels): dedupe hook and monitor execution paths
2026-02-22 21:19:09 +00:00
Tak Hoffman
f8171ffcdc
Config UI: tag filters and complete schema help/labels coverage ( #23796 )
...
* Config UI: add tag filters and complete schema help/labels
* Config UI: finalize tags/help polish and unblock test suite
* Protocol: regenerate Swift gateway models
2026-02-22 15:17:07 -06:00
Peter Steinberger
8af6d1a186
refactor(test): dedupe repeated fixture setup helpers
2026-02-22 20:04:51 +00:00
Peter Steinberger
12635de1c7
test: cover shared installer flow helpers
2026-02-22 18:37:25 +00:00
Peter Steinberger
07888bee34
refactor: share install flows across hooks and plugins
2026-02-22 18:37:25 +00:00
Peter Steinberger
40680432b4
fix(config): allowlist auto-enabled built-in channels when restricted
...
Co-authored-by: 4rev <4rev@users.noreply.github.com >
2026-02-22 19:31:18 +01:00
Peter Steinberger
9da5f9819b
fix(plugins): ignore archived extension dirs during discovery
...
Co-authored-by: chenzhuoms <chenzhuoms@users.noreply.github.com >
2026-02-22 19:23:34 +01:00
Peter Steinberger
8839162b97
fix(config): persist built-in channel enable state in channels
...
Co-authored-by: HirokiKobayashi-R <HirokiKobayashi-R@users.noreply.github.com >
2026-02-22 19:23:34 +01:00
Peter Steinberger
1bd79add8f
fix(plugins): sanitize workspace deps before plugin install
...
Co-authored-by: guanyu-zhang <guanyu-zhang@users.noreply.github.com >
2026-02-22 19:23:34 +01:00
Peter Steinberger
407f7017ec
test: cache plugin install archive fixtures
2026-02-22 17:06:35 +00:00
Peter Steinberger
ec0081ce9a
test: move hooks and plugin local suites out of e2e
2026-02-22 11:05:53 +00:00
Peter Steinberger
d6d73d0ed9
test(core): trim redundant test resets and use mockClear
2026-02-22 08:12:55 +00:00
Peter Steinberger
e893157600
test(core): use lightweight clears in runtime and telegram setup
2026-02-22 08:09:14 +00:00
Peter Steinberger
4ddaafee68
test(plugins): use lightweight clears in wired hooks setup
2026-02-22 08:01:16 +00:00
Peter Steinberger
185fba1d22
refactor(agents): dedupe plugin hooks and test helpers
2026-02-22 07:44:57 +00:00
Vignesh Natarajan
8920e281cc
Plugins: allowlist plugins when enabling from CLI
2026-02-21 19:37:26 -08:00
Peter Steinberger
5c8f0b5a77
test: tighten plugin e2e matrix coverage
2026-02-21 21:44:50 +00:00
Onur
8178ea472d
feat: thread-bound subagents on Discord ( #21805 )
...
* docs: thread-bound subagents plan
* docs: add exact thread-bound subagent implementation touchpoints
* Docs: prioritize auto thread-bound subagent flow
* Docs: add ACP harness thread-binding extensions
* Discord: add thread-bound session routing and auto-bind spawn flow
* Subagents: add focus commands and ACP/session binding lifecycle hooks
* Tests: cover thread bindings, focus commands, and ACP unbind hooks
* Docs: add plugin-hook appendix for thread-bound subagents
* Plugins: add subagent lifecycle hook events
* Core: emit subagent lifecycle hooks and decouple Discord bindings
* Discord: handle subagent bind lifecycle via plugin hooks
* Subagents: unify completion finalizer and split registry modules
* Add subagent lifecycle events module
* Hooks: fix subagent ended context key
* Discord: share thread bindings across ESM and Jiti
* Subagents: add persistent sessions_spawn mode for thread-bound sessions
* Subagents: clarify thread intro and persistent completion copy
* test(subagents): stabilize sessions_spawn lifecycle cleanup assertions
* Discord: add thread-bound session TTL with auto-unfocus
* Subagents: fail session spawns when thread bind fails
* Subagents: cover thread session failure cleanup paths
* Session: add thread binding TTL config and /session ttl controls
* Tests: align discord reaction expectations
* Agent: persist sessionFile for keyed subagent sessions
* Discord: normalize imports after conflict resolution
* Sessions: centralize sessionFile resolve/persist helper
* Discord: harden thread-bound subagent session routing
* Rebase: resolve upstream/main conflicts
* Subagents: move thread binding into hooks and split bindings modules
* Docs: add channel-agnostic subagent routing hook plan
* Agents: decouple subagent routing from Discord
* Discord: refactor thread-bound subagent flows
* Subagents: prevent duplicate end hooks and orphaned failed sessions
* Refactor: split subagent command and provider phases
* Subagents: honor hook delivery target overrides
* Discord: add thread binding kill switches and refresh plan doc
* Discord: fix thread bind channel resolution
* Routing: centralize account id normalization
* Discord: clean up thread bindings on startup failures
* Discord: add startup cleanup regression tests
* Docs: add long-term thread-bound subagent architecture
* Docs: split session binding plan and dedupe thread-bound doc
* Subagents: add channel-agnostic session binding routing
* Subagents: stabilize announce completion routing tests
* Subagents: cover multi-bound completion routing
* Subagents: suppress lifecycle hooks on failed thread bind
* tests: fix discord provider mock typing regressions
* docs/protocol: sync slash command aliases and delete param models
* fix: add changelog entry for Discord thread-bound subagents (#21805 ) (thanks @onutc)
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-02-21 16:14:55 +01:00
Peter Steinberger
7a27e2648a
refactor(test): dedupe plugin env overrides via env helpers
2026-02-21 13:03:41 +00:00
Peter Steinberger
a1cb700a05
test: dedupe and optimize test suites
2026-02-19 15:19:38 +00:00
Peter Steinberger
bc6f983f85
fix(ci): resolve format drift and acp mock typing
2026-02-19 15:11:27 +00:00
Peter Steinberger
cc9be84b9c
refactor(runtime): split runtime builders and stabilize cron tool seam
2026-02-19 16:09:56 +01:00
Peter Steinberger
dcd592a601
refactor: eliminate jscpd clones and boost tests
2026-02-19 15:08:54 +00:00
Peter Steinberger
edf92f1cb0
refactor: share npm integrity drift handling
2026-02-19 15:08:14 +00:00
Peter Steinberger
2e421f32df
fix(security): restore trusted plugin runtime exec default
2026-02-19 16:01:29 +01:00
Peter Steinberger
f76f98b268
chore: fix formatting drift and stabilize cron tool mocks
2026-02-19 15:41:38 +01:00
Peter Steinberger
81b19aaa1a
fix(security): enforce plugin and hook path containment
2026-02-19 15:37:29 +01:00
Peter Steinberger
77c748304b
refactor(plugins): extract safety and provenance helpers
2026-02-19 15:24:14 +01:00
Peter Steinberger
3561442a9f
fix(plugins): harden discovery trust checks
2026-02-19 15:14:12 +01:00
Peter Steinberger
5dc50b8a3f
fix(security): harden npm plugin and hook install integrity flow
2026-02-19 15:11:25 +01:00
Mariano
db73402235
Security: add explicit opt-in for deprecated plugin runtime exec ( #20874 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: de69f817259f0b4eba2d676005a9ed6833179ea2
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-19 11:30:36 +00:00
Mariano
45db2aa0cd
Security: disable plugin runtime command execution primitive ( #20828 )
...
Co-authored-by: mbelinky <mbelinky@users.noreply.github.com >
2026-02-19 10:17:29 +00:00
Peter Steinberger
5e7cffc568
test: merge duplicate plugin memory-none cases
2026-02-19 08:51:38 +00:00
Peter Steinberger
aa8f87a3bf
refactor(plugins): reuse plugin loader logger adapter
2026-02-18 23:48:32 +00:00
Peter Steinberger
5ae4595bb9
refactor(plugins): reuse plugin service runtime context
2026-02-18 17:23:44 +00:00
Peter Steinberger
f05395ae00
refactor(test): share internal hook and npm pack assertions
2026-02-18 17:01:22 +00:00
Peter Steinberger
112f8250fc
test: dedupe registry/session tests and add install source coverage
2026-02-18 05:05:04 +00:00
Peter Steinberger
a69e7682c1
refactor(test): dedupe channel and monitor action suites
2026-02-18 04:49:22 +00:00
Peter Steinberger
31f83c86b2
refactor(test): dedupe agent harnesses and routing fixtures
2026-02-18 04:49:22 +00:00
Peter Steinberger
8a9fddedc9
refactor: extract shared install and embedding utilities
2026-02-18 04:49:22 +00:00
Peter Steinberger
262472ba20
test: remove duplicated scenario scaffolding across runtime tests
2026-02-18 04:04:14 +00:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
Sebastian
210bc37971
chore(subagents): add regression coverage and changelog
2026-02-17 08:40:36 -05:00