feat(plugins): enhance plugin system with transforms, updates, icons and dynamic controls - #377
Merged
Merged
Conversation
…and dynamic controls
…rove plugin settings UX
…hot reload, and foreground toasts
…UI fixes - add the plugin.menu slot so a plugin can turn its own plugins-menu row into an action: label replaces the display name and activating the row runs onActivate - add the openSettings activation kind to open the settings modal on a core or plugin tab - render empty declarative stacks as nothing - highlight a dropdown row only after keyboard navigation - keep the original plugin owner when a UI contribution is re-registered at runtime, so header buttons keep opening their panels
Both plugins are published under github.com/JamesDAdams and installable by URL.
…system # Conflicts: # src/server/tools/shell.ts
…paths in path security plugin test
…assertion races on windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR enhances OpenFox's plugin system with several generic extension capabilities, UI improvements, and updates to the official plugin registry:
Message Transforms Pipeline & Loopback Proxy:
registerMessageTransform) allowing plugins (such as context compressors and prompt processors) to intercept and optimize LLM payloads in a fail-open pipeline (with timeouts and resilient fallbacks)./api/plugins/:id/proxy) strictly scoped to localhost / 127.0.0.1 for local plugin web dashboards and services.Generic Plugin UI & Settings Enhancements:
statusfields &buttonVariantinPluginSettingsForm: Added support for live dynamic status indicators (type: 'status') backed by RPC checks, tone indicators, and automatic status refreshes upon executing button actions (primary,secondary,danger).stats.modal.summaryPlugin Zone: Added an extensible plugin zone<PluginZone id="stats.modal.summary" />in the Session Stats summary section along with support for session-scoped reactive published values (${pluginId}:${compId}:${sessionId}:${key}).PluginLogo.Background Plugin Updates & Management:
Updated
plugins-registry.json:AI-Enhanced Development
Tell what models helped shape this PR:
Cache Impact
Does this PR affect anything cached — system prompts, tool definitions, skills, or other context?