openclaw/src/plugins
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
..
runtime test(core): use lightweight clears in runtime and telegram setup 2026-02-22 08:09:14 +00:00
bundled-dir.ts
cli.test.ts
cli.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
commands.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
config-schema.ts
config-state.test.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
config-state.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
discovery.test.ts fix(plugins): ignore archived extension dirs during discovery 2026-02-22 19:23:34 +01:00
discovery.ts fix(plugins): ignore archived extension dirs during discovery 2026-02-22 19:23:34 +01:00
enable.test.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
enable.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
hook-runner-global.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.before-agent-start.test.ts refactor(agents): dedupe plugin hooks and test helpers 2026-02-22 07:44:57 +00:00
hooks.model-override-wiring.test.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.phase-hooks.test.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
hooks.test-helpers.ts
hooks.ts refactor(channels): dedupe hook and monitor execution paths 2026-02-22 21:19:09 +00:00
http-path.ts
http-registry.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
install.test.ts refactor(test): dedupe repeated fixture setup helpers 2026-02-22 20:04:51 +00:00
install.ts fix(plugins): use manifest id as config entry key instead of npm package name (#24796) 2026-02-24 03:33:51 +00:00
installs.test.ts refactor(channels): dedupe hook and monitor execution paths 2026-02-22 21:19:09 +00:00
installs.ts refactor(channels): dedupe hook and monitor execution paths 2026-02-22 21:19:09 +00:00
loader.test.ts refactor: deduplicate shared helpers and test setup 2026-02-23 20:40:44 +00:00
loader.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
logger.test.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
logger.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
manifest-registry.test.ts test: dedupe registry/session tests and add install source coverage 2026-02-18 05:05:04 +00:00
manifest-registry.ts refactor(plugins): extract safety and provenance helpers 2026-02-19 15:24:14 +01:00
manifest.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
path-safety.ts refactor(plugins): extract safety and provenance helpers 2026-02-19 15:24:14 +01:00
providers.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
registry.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
runtime.ts
schema-validator.ts
services.test.ts refactor(plugins): reuse plugin service runtime context 2026-02-18 17:23:44 +00:00
services.ts refactor(plugins): reuse plugin service runtime context 2026-02-18 17:23:44 +00:00
slots.test.ts refactor(agents): dedupe plugin hooks and test helpers 2026-02-22 07:44:57 +00:00
slots.ts
source-display.test.ts
source-display.ts style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
status.ts refactor(plugins): reuse plugin loader logger adapter 2026-02-18 23:48:32 +00:00
toggle-config.ts fix: sync built-in channel enablement across config paths 2026-02-23 19:40:42 +00:00
tools.optional.test.ts refactor: deduplicate shared helpers and test setup 2026-02-23 20:40:44 +00:00
tools.ts Gateway: suppress tools.catalog plugin conflict diagnostics 2026-02-23 00:05:57 -06:00
types.ts Config UI: tag filters and complete schema help/labels coverage (#23796) 2026-02-22 15:17:07 -06:00
uninstall.test.ts refactor(test): dedupe repeated fixture setup helpers 2026-02-22 20:04:51 +00:00
uninstall.ts
update.ts refactor(channels): dedupe hook and monitor execution paths 2026-02-22 21:19:09 +00:00
voice-call.plugin.test.ts test: remove duplicated scenario scaffolding across runtime tests 2026-02-18 04:04:14 +00:00
wired-hooks-after-tool-call.test.ts test: move hooks and plugin local suites out of e2e 2026-02-22 11:05:53 +00:00
wired-hooks-compaction.test.ts test(plugins): use lightweight clears in wired hooks setup 2026-02-22 08:01:16 +00:00
wired-hooks-gateway.test.ts
wired-hooks-llm.test.ts
wired-hooks-message.test.ts
wired-hooks-session.test.ts
wired-hooks-subagent.test.ts refactor(agents): dedupe plugin hooks and test helpers 2026-02-22 07:44:57 +00:00