mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-11 18:37:03 +00:00
* 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 |
||
|---|---|---|
| .. | ||
| acp | ||
| agents | ||
| auto-reply | ||
| bindings | ||
| bootstrap | ||
| canvas-host | ||
| channels | ||
| chat | ||
| cli | ||
| commands | ||
| compat | ||
| config | ||
| context-engine | ||
| cron | ||
| daemon | ||
| docs | ||
| flows | ||
| gateway | ||
| generated | ||
| hooks | ||
| i18n | ||
| image-generation | ||
| infra | ||
| interactive | ||
| link-understanding | ||
| logging | ||
| markdown | ||
| mcp | ||
| media | ||
| media-understanding | ||
| node-host | ||
| pairing | ||
| plugin-sdk | ||
| plugins | ||
| process | ||
| routing | ||
| scripts | ||
| secrets | ||
| security | ||
| sessions | ||
| shared | ||
| tasks | ||
| terminal | ||
| test-helpers | ||
| test-utils | ||
| tts | ||
| tui | ||
| types | ||
| utils | ||
| web-search | ||
| wizard | ||
| 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 | ||
| entry.ts | ||
| entry.version-fast-path.test.ts | ||
| 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 | ||