Skip to content

Conductor Proxy T9: migrate built-in tools into proxy (#102) - #108

Draft
ssbn wants to merge 1 commit into
feat/96-proxy-toolsfrom
feat/102-migrate-builtins
Draft

Conductor Proxy T9: migrate built-in tools into proxy (#102)#108
ssbn wants to merge 1 commit into
feat/96-proxy-toolsfrom
feat/102-migrate-builtins

Conversation

@ssbn

@ssbn ssbn commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Part of the Conductor Proxy MCP epic (#101). Resolves #102.

Stacked PR — base: feat/96-proxy-tools.

Migrate the ~19 built-in tools (vision + host transfer) into the exposure model.

  • builtin-catalog.ts: one declarative descriptor per built-in (JSON schema + handler)
  • conductorTools.builtinExposure: passthrough (default, byte-for-byte current behavior) or search (built-ins go behind the facade, out of the advertised set)
  • all original gates preserved (master, vision/hostTransfer flags, Codex vision exclusion, boundSessionId routing); codex_review stays direct
  • +18 tests incl. JSON-schema→zod parity checks

⚠️ Default stays passthrough; flipping to search + live app verification is a follow-up decision.

🤖 Generated with Claude Code

… (T9, #102)

Stop the ~19 built-in tools (browser vision + host transfer) from always
bloating the tool context. They now flow through the same exposure model as any
upstream, via a single-source declarative catalog.

- builtin-catalog.ts: one descriptor per built-in (JSON schema + run handler),
  mirroring the original inline handlers exactly
- conductorTools.builtinExposure config:
  * 'passthrough' (DEFAULT): inline registrations kept untouched -> byte-for-byte
    the pre-proxy behavior (zero change for current users)
  * 'search': built-ins skip direct registration and are handed to the proxy
    facade as local tools -> discoverable via search_tools, invoked via call_tool
    (conductor__<name>), keeping them out of the advertised set
- proxy-tools: LocalTool support -- built-ins indexed under a virtual Conductor
  server, call_tool routes them in-process (not the supervisor), list_servers
  reports them
- all original gates preserved (master, vision/hostTransfer group flags, Codex
  vision exclusion, boundSessionId routing); codex_review stays direct
- +18 tests incl. JSON-schema->zod parity checks; conductor + vision suites green

NOTE: default stays 'passthrough'; flipping the default to 'search' + live app
verification is a follow-up decision (see #102).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ssbn
ssbn requested a review from nubbymong as a code owner July 15, 2026 23:36
@ssbn
ssbn marked this pull request as draft July 15, 2026 23:58
@ssbn

ssbn commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator Author

Converting to draft — a desktop-launch issue surfaced during verification: the interstitial loader shows but the main desktop UI never paints. Actively troubleshooting. Do not merge until fixed and a full desktop open-and-use test passes.

@ssbn ssbn added the release-2.2 Deferred to the 2.2 line; not for 2.1 stabilisation label Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-2.2 Deferred to the 2.2 line; not for 2.1 stabilisation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant