FN-7629: add enable/disable control for built-in runtime plugins
Adds a durable Plugin Manager toggle to enable/disable built-in runtime plugins (Hermes, Paperclip, OpenClaw, Droid) that persists across restarts, replacing the dead-end "Built-in metadata only" CTA.
- renderBuiltinPluginSection now renders an enable/disable toggle for runtime built-ins regardless of installed status
- Disabling a not-yet-installed built-in first installs it (mirroring CLI's ensureBundledPluginInstalled) then immediately disables it, so a plugin_installs row + disabled project state exists with no new persistence primitive needed
- HermesRuntimeCard/OpenClawRuntimeCard/PaperclipRuntimeCard now show "Disabled in Plugin Manager" instead of a stale detected/connected status when disabled
- Added i18n strings across all locales and updated docs
- Added changeset for @runfusion/fusion (minor)
- Expanded plugin-loader and PluginManager test coverage for the new disable/enable flows
Files changed:
.changeset/fn-7629-builtin-runtime-disable.md | 7 +
docs/dashboard-guide.md | 1 +
docs/plugin-management.md | 4 +
packages/core/src/__tests__/plugin-loader.test.ts | 46 ++++++
.../dashboard/app/components/HermesRuntimeCard.tsx | 40 ++++-
.../app/components/OpenClawRuntimeCard.tsx | 32 +++-
.../app/components/PaperclipRuntimeCard.tsx | 32 +++-
.../dashboard/app/components/PluginManager.css | 34 +++++
.../dashboard/app/components/PluginManager.tsx | 167 +++++++++++++++------
.../components/__tests__/PluginManager.test.tsx | 12 +-
.../__tests__/PluginManager.toggle.test.tsx | 104 ++++++++++++-
packages/i18n/locales/en/app.json | 4 +
packages/i18n/locales/es/app.json | 4 +
packages/i18n/locales/fr/app.json | 4 +
packages/i18n/locales/ko/app.json | 4 +
packages/i18n/locales/zh-CN/app.json | 4 +
packages/i18n/locales/zh-TW/app.json | 4 +
packages/i18n/src/resources.d.ts | 4 +
18 files changed, 440 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-7629
Fusion-Task-Lineage: 2a25bb1f-3f73-4273-8769-af05c61778f9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>