openclaw/src
fuller-stack-dev 235908c30e
fix: support multi-kind plugins for dual slot ownership (#57507) (thanks @fuller-stack-dev)
* feat(plugins): support multi-kind plugins for dual slot ownership

* fix: address review feedback on multi-kind plugin support

- Use sorted normalizeKinds() for kind-mismatch comparison in loader.ts
  (fixes order-sensitive JSON.stringify for arrays)
- Derive slot-to-kind reverse mapping from SLOT_BY_KIND in slots.ts
  (removes hardcoded ternary that would break for future slot types)
- Use shared hasKind() helper in config-state.ts instead of inline logic

* fix: don't disable dual-kind plugin that still owns another slot

When a new plugin takes over one slot, a dual-kind plugin that still
owns the other slot must not be disabled — otherwise context engine
resolution fails at runtime.

* fix: exempt dual-kind plugins from memory slot disablement

A plugin with kind: ["memory", "context-engine"] must stay enabled even
when it loses the memory slot, so its context engine role can still load.

* fix: address remaining review feedback

- Pass manifest kind (not hardcoded "memory") in early memory gating
- Extract kindsEqual() helper for DRY kind comparison in loader.ts
- Narrow slotKeyForPluginKind back to single PluginKind with JSDoc
- Reject empty array in parsePluginKind
- Add kindsEqual tests

* fix: use toSorted() instead of sort() per lint rules

* plugins: include default slot ownership in disable checks and gate dual-kind memory registration
2026-03-31 10:06:48 +05:30
..
acp test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
agents fix: support multi-kind plugins for dual slot ownership (#57507) (thanks @fuller-stack-dev) 2026-03-31 10:06:48 +05:30
auto-reply feat(tts): add structured provider diagnostics and fallback attempt analytics (#57954) 2026-03-30 22:55:28 -05:00
bindings
bootstrap
canvas-host fix(lint): clear current main lint blockers 2026-03-30 08:43:37 +09:00
channels test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
chat
cli cli: clarify cron channel help 2026-03-30 22:33:44 -04:00
commands test: speed up cli and command suites 2026-03-31 02:25:02 +01:00
compat
config fix: support multi-kind plugins for dual slot ownership (#57507) (thanks @fuller-stack-dev) 2026-03-31 10:06:48 +05:30
context-engine
cron fix: complete cron isolated model-switch retry (#57972) (thanks @issaba1) 2026-03-31 10:03:37 +05:30
daemon test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
docs [codex] harden clawhub plugin publishing and install (#56870) 2026-03-29 11:59:19 -07:00
flows
gateway Agents: fix subagent model precedence 2026-03-31 08:38:24 +05:30
generated refactor(plugin-sdk): remove channel-specific sdk shims 2026-03-30 01:03:24 +01:00
hooks fix: support multi-kind plugins for dual slot ownership (#57507) (thanks @fuller-stack-dev) 2026-03-31 10:06:48 +05:30
i18n
image-generation test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
infra fix(security): restore strict SSRF pinning 2026-03-31 09:41:19 +05:30
interactive
link-understanding
logging test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
markdown fix(slack): restore table block mode seam (#57591) 2026-03-30 19:25:01 +09:00
mcp test: remove gateway flake from channel mcp notifications 2026-03-31 01:40:55 +01:00
media test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
media-understanding test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
node-host
pairing test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
plugin-sdk feat(tts): add structured provider diagnostics and fallback attempt analytics (#57954) 2026-03-30 22:55:28 -05:00
plugins fix: support multi-kind plugins for dual slot ownership (#57507) (thanks @fuller-stack-dev) 2026-03-31 10:06:48 +05:30
process test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
routing
scripts docs: fix English link audits (#57039) 2026-03-30 01:21:00 +02:00
secrets test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
security test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
sessions
shared fix(subagents): correct duration display showing 5-6x inflated runtime (#57739) 2026-03-30 23:44:36 +08:00
tasks test: fix ci regressions 2026-03-31 02:42:13 +01:00
terminal
test-helpers fix(ci): harden Windows test cleanup 2026-03-30 18:56:29 +09:00
test-utils test: stabilize gateway and session cleanup flows 2026-03-31 01:40:55 +01:00
tts feat(tts): add structured provider diagnostics and fallback attempt analytics (#57954) 2026-03-30 22:55:28 -05:00
tui
types plugins: add before_install hook for install scanners 2026-03-29 12:35:01 -07:00
utils
web-search test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
wizard Skills: prefer active OpenClaw paths 2026-03-30 16:10:13 +01:00
channel-web.ts
docker-build-cache.test.ts
docker-image-digests.test.ts
docker-setup.e2e.test.ts
dockerfile.test.ts
entry.respawn.test.ts
entry.respawn.ts
entry.test.ts CLI: keep root help plugin descriptors non-activating (#57294) 2026-03-29 18:49:57 -04:00
entry.ts CLI: keep root help plugin descriptors non-activating (#57294) 2026-03-29 18:49:57 -04:00
entry.version-fast-path.test.ts test: speed up core runtime suites 2026-03-31 02:25:02 +01:00
extensionAPI.ts
global-state.ts
globals.ts
index.test.ts
index.ts
install-sh-version.test.ts
library.test.ts
library.ts
logger.test.ts
logger.ts
logging.ts
param-key.ts
poll-params.test.ts
poll-params.ts
polls.test.ts
polls.ts
runtime.ts
ui-app-settings.agents-files-refresh.test.ts
utils.test.ts
utils.ts
version.test.ts
version.ts