Skip to content

Unify extension discovery, inline references and organization Plugin creation - #171

Merged
canvascoding merged 98 commits into
mainfrom
codex/plan-plugin-integration-catalog
Oct 16, 2026
Merged

canvascoding merged 98 commits into
mainfrom
codex/plan-plugin-integration-catalog

Conversation

@canvascoding

@canvascoding canvascoding commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Plugins, standalone Skills, Composio integrations and direct MCP servers previously had separate discovery, configuration and chat-context paths. This change provides one catalog and selection contract for chat and Agent configuration, plus organization-managed Plugin and Skill creation.

Resulting behavior

  • Search all four resource types on /plugins, then filter by type or connection state. Setup and account choices appear when needed. Package/provider/MCP logos use their original source, with name initials as fallback.
  • Type @ in chat, filter the common picker and select a reference directly into the editable text. A ready resource inserts with Enter, Tab or click; a chooser opens only when a real component/account decision is necessary. Delete and Undo work inline, and sent history keeps the highlighting. Plain typed captions grant no resource authority.
  • Deliver exact package versions, Skills and scoped MCP/Composio discovery instructions as hidden context. Fixed Agent selections, per-message references and each user's personal account choice retain their separate authority.
  • Use the protected Plugin Creator and Skill Creator to author private drafts, compose new/existing Skills with custom MCP and Composio declarations, add a descriptive passive SVG, validate the complete package and publish it for organization use. Public Marketplace submission is outside this change.
  • Persist message admission, selected context and queue controls together, with idempotent retries, fresh permissions and guarded recovery for uncertain execution. Web, native/mobile, Telegram and To-do transports share this durable path.
  • Load local and external search phases independently, preserve useful rows and keyboard focus during source retry, and fetch exact package images without rescanning the full catalog. Unpublished standalone resources explain the required publish step instead of showing a disabled Insert action.

Paired native client: Mobile #69.

Validation and limits

The source journals pin each earlier acceptance to the source actually tested. The earlier web/model proof, native server acceptance at 4cf80f98c, Creator E2E and search-reliability browser checks remain distinct; they do not certify a production deployment or physical devices.

Current-main integration includes 9b7f8b057. On PR head 5a37f1bd2, all four CodeQL analyses and the Workspace file discovery regression succeeded, with no unresolved review threads. The CodeQL security aggregation is NEUTRAL, because two Main analysis configurations are absent from its automatic baseline comparison. An independent complete comparison found the same 29 open alert IDs/rules/files/lines on PR and Main, with no additional open PR alerts. The two corrected test findings are now fixed; the seven reviewed fingerprint findings are dismissed with individual explanations. Search reliability, inline reliability, PI registry and the real native workspace-tree regressions also pass after integration.

The full integrated production build passed with exit 0, including TypeScript, page generation and CLI version injection (2026.10.15.2). Product sources were unchanged during that build; the final commit contains only the documented test/harness corrections. The known nonfatal Turbopack cache-compression shutdown warning is separate from the successful build result.

  • Creator acceptance includes a natural interactive model run, independent API/SQL/file inspection, organization use by two users and actual controlled gateway execution. Complete package/schema/SVG validation, recovery, composition and authorization regressions passed.
  • Search and inline-reference regressions include the actual Composer (27 cases), Home handoff (3 cases), stored-session target (3 cases), bounded search/source retry, metadata/ACL batching, exact image retrieval and provider-context checks.
  • The @ browser check confirms direct inline insertion, no second dialog for a ready Skill, and no picker for / or an ordinary email address. No new model message was sent in that check.
  • Seven CodeQL hash alerts were independently classified and dismissed as fingerprints/private test-cache uses rather than password verifiers. Two test-local constructions were simplified; the review journal records the exact scope and data flows.

The warm search p95 target of 300 ms remains open. On the final measured pre-integration build, local combined search had a 590 ms median / 1142 ms p95, and MRU search 781 ms / 1908 ms (12 samples each, shared host). The remaining fresh catalog/Core/MRU work is documented; this PR does not claim the latency target passed. Live Composio availability, external OAuth/business actions, hardware keyboards, active screen readers and real IME composition remain separate checks. The configured release/focused TypeScript checks pass; the broad legacy all-scripts profile retains its documented baseline failures.

Review paths

  1. Search/filter the common catalog; create or install a Plugin, or configure a standalone resource. Return from setup without losing the exact selection.
  2. Type @ on Home and in a Notebook chat. Select with keyboard or click, edit/Delete/Undo, restore a draft, send and reopen history. Confirm the inline reference and exact hidden context.
  3. Create/edit an Agent with fixed resources and package connection rules. As a second permitted user, choose that user's own account without changing the central Agent rule.
  4. Use Plugin Creator to combine Skills, MCP and Composio declarations with an SVG, validate, publish for the organization and use the exact published version.
  5. Inspect explicit queue retry/recovery states; uncertain prior execution remains guarded.

Implementation/acceptance · Creator evidence · Search reliability and measurements · Native evidence

Screenshots

Actual @ reference picker on Home

Shared Plugin catalog

Comment thread app/lib/capabilities/packages/package-icon-image.ts Fixed
Comment thread scripts/run-plugin-extension-e2e.mjs Fixed
Comment thread scripts/run-plugin-extension-e2e.mjs Fixed
@canvascoding canvascoding changed the title Unify discovery and setup for plugins, skills, integrations and MCP Unify extension discovery, inline chat references and agent configuration Oct 15, 2026
Comment thread app/lib/agents/extension-options-inventory.ts Dismissed
Comment thread app/lib/agents/extension-options-preview-provider-metadata.ts Dismissed
Comment thread app/lib/agents/extension-options-preview.ts Dismissed
Comment thread scripts/extension-context-provider-metadata-test.ts Fixed
Comment thread scripts/chat-inline-body-test.ts Fixed
@canvascoding canvascoding changed the title Unify extension discovery, inline chat references and agent configuration Unify extension discovery, inline references and organization Plugin creation Oct 16, 2026
@canvascoding
canvascoding merged commit 278a2bc into main Oct 16, 2026
6 checks passed
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.

2 participants