Skip to content

Add Agent Plugins marketplace with spec 1.0.0 support - #536

Open
SDSLeon wants to merge 10 commits into
masterfrom
poracode/keen-ember-1262443d
Open

Add Agent Plugins marketplace with spec 1.0.0 support#536
SDSLeon wants to merge 10 commits into
masterfrom
poracode/keen-ember-1262443d

Conversation

@SDSLeon

@SDSLeon SDSLeon commented Aug 8, 2026

Copy link
Copy Markdown
Owner
  • Introduce Agent Plugins spec 1.0.0: bundles GitHub, Outlook, browser/chrome/computer-use tools, and subagent-delegation plugins with manifests, skills, and MCP configs.
  • Add a Plugins marketplace and settings UI to browse, install, and manage plugins, plus OAuth and error-diagnostic handling.
  • Load and enforce plugins at runtime in the supervisor with validation diagnostics, path containment, skill policy, and MCP server integration.
  • Map native provider plugins (Codex, Claude) and annotate MCP tools with read-only/destructive/open-world hints.
  • Track and display Claude sub-agent resume rows; drop the Manage tab and "apps" concept in favor of the marketplace.

SDSLeon and others added 10 commits July 30, 2026 14:02
- Add bundled plugin catalog, settings UI, localized metadata, and skills
- Apply plugin MCP and skill policies across thread launches and subagents
- Preserve launch configuration through recovery, restart, and remote sync
- Expand integration smoke coverage and runtime tests
Replace the invented in-memory plugin manifest with a conformant client for
Agent Plugins Specification 1.0.0: on-disk plugin.json, skills/ and mcp.json
discovery at fixed locations, realpath package-boundary enforcement, and
narrowest-boundary failure isolation.

Plugin MCP servers become provider-agnostic McpServer records, so a package
authored for the spec reaches every provider Poracode supports without the
provider knowing the spec exists.

Ships the four built-ins as real packages plus GitHub (official remote MCP)
and Outlook (community ms-365-mcp-server).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Master had no plugin system, so the plugin work carries forward. Master-side
changes adopted: subagentMcp -> crossagentMcp, removal of
orchestratorThreadBridge, the regrouped settings sidebar (plugins re-added under
Agents), and the new MCP OAuth owner payload.

Settings > Plugins is now only the marketplace plus plugin detail. MCP servers
and Skills already have their own settings pages, so the second management view
was duplicating them.

Removes "apps" — the invented contribution type that let a package toggle
Poracode's own built-in MCP servers. A package now contributes exactly what the
Agent Plugins specification defines: skills and mcp.json servers. Built-in
servers are governed solely by the MCP Servers page and the composer toggles, as
they were before the plugin work. Where a merge conflict was purely apps
plumbing, master's side won.

Behavior change: installing a package no longer switches its built-in server on,
and plugin skills are no longer hidden when a companion server is off. Gating is
now host/project support plus per-contribution enablement.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Skip globally disabled MCP servers and carry the effective launchConfig through spawn, restart, and session recovery
- Filter plugin skill segments on steer with WSL-aware path resolution and fail-closed policy checks
- Add a retry state to plugin settings load failures and switch plugin buttons to HeroUI Button
- Localize the OAuth sign-out error message and update all i18n catalogs
- Add coverage for config propagation, disabled-server conformance, and WSL skill paths
- Slugify bundled plugin skill names (ci-debug, github, reviewer, outlook-*) to
  match their folders and enforce it in the conformance suite
- Show OAuth sign-in errors on the plugin detail page and localize the new
  marketplace/diagnostic strings across all 12 catalogs
- Validate MCP server skill presence against the plugin manifest at runtime and
  report missing data-folder diagnostics
- Stamp the plugin registry cache with manifest/MCP file mtimes so edits
  invalidate cached entries
- Harden WSL plugin-skill root policy, MCP server authorization, and catalog
  disabled-server state with tests
- Annotate MCP tools with openWorld/destructive/readOnly hints across browser, chrome, computer-use, and crossagent registries
- Map catalog plugins to Codex native plugins and built-in MCP servers, threading them through plugin resolution, skill turns, and session launch
- Support plugin mentions in the composer, carrying pluginId/pluginName through serialization, slash chips, and prompt segments
- Drop skill segments on plugin skill policy failure and extend skill scan and import environment handling
- Bump plugin store revision, re-extract locale catalogs, and update smoke scenarios and targeted tests
The bundled plugin manifests were bumped to 1.1.0 in af654c1, but the
sharedSettingsStore and PluginMarketplace suites still asserted 1.0.0.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant