feat: add agy runner and devkit_ask bridge tool#114
Draft
Hieraphant wants to merge 1 commit into
Draft
Conversation
Wire Claude, Codex, and agy (Google Antigravity CLI) into a direct,
commutative bridge instead of the parallel fan-out model.
- runners/agy.go: new AgyRunner (stdin-piped one-shot, mirrors CodexRunner)
with AGY_CMD / AGY_ARGS env overrides since agy's headless flags are not
yet verified. Registered in DetectRunners; added to --agent choices.
- mcp: new devkit_ask tool — {to: claude|codex|agy, prompt, workdir?} resolves
the peer via FindRunner and returns its answer synchronously, bounded by
commandTimeout. Any MCP host (Claude, Codex) can ask any peer and block for
the reply.
- Tests: agy_test.go (name, argv builder incl. AGY_ARGS/{workdir}, AGY_CMD,
Available) and ask_test.go (missing-arg, unknown-peer, unavailable-peer).
Note: agy's exact non-interactive argv is a documented TODO(agy) placeholder;
agy is reachable as a target now, and works once the argv is probed or AGY_ARGS
is set. agy-initiated calls depend on agy supporting MCP-client attach (TBD).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7VdbGfPkkce5UGQqjeSE9
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.
What
Turns devkit into a direct, commutative bridge between the three AI CLIs — Claude, Codex, and agy (Google Antigravity) — instead of the parallel fan-out/consolidate model. Any MCP host can send a prompt to any peer and get its answer synchronously.
Changes
src/runners/agy.go(new):AgyRunner— a stdin-piped one-shot runner mirroringCodexRunner. Binary and argv are env-overridable viaAGY_CMD/AGY_ARGS(with a{workdir}token) since agy's headless flags aren't verified yet. Registered inDetectRunners; added to--agentchoices.devkit_askMCP tool (src/mcp/tools.go,src/mcp/server.go):{to: claude|codex|agy, prompt, workdir?}→ resolves the peer viaFindRunnerand returns its output synchronously, bounded bycommandTimeout. This is the commutative primitive.src/runners/agy_test.go(name, argv builder incl.AGY_ARGS/{workdir},AGY_CMD,Available) andsrc/mcp/ask_test.go(missing-arg, unknown-peer, unavailable-peer). Hermetic, matching the existing style.Verification
go build ./...,go vet ./..., andgo test ./...all pass. Builtdevkit-engine, booted it as an MCP server, and confirmed over JSON-RPC thatdevkit_askis advertised and its handler returns correctly (unknown peer,not available,missing argument).Follow-ups (need a host with agy installed)
TODO(agy): probeagy --help/agy exec --help/agy modelsto replace the placeholder argv (or setAGY_ARGS). agy is reachable as a target now; the exact invocation is a documented guess until probed.agy mcp --help). If not, agy is target-only and Claude/Codex broker for it; Claude↔Codex is already fully commutative.🤖 Generated with Claude Code