Repository navigation
refactor(box): agents are reached through a driver, so structured ones can plug in - #74
Merged
Merged
Conversation
…s can plug in
Sending, interrupting, reading and switching the permission mode,
answering questions and reading the conversation now go through the
session's driver. Today's tmux path is the "terminal" driver, with the
same behaviour as before. Agent sessions say their driver ("driver" in
the session list, and the "driver" capability), and
design/structured-agents/plan.md lays out the structured drivers that
come next.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Phase 1 of
design/structured-agents/plan.md: moving Shipyard from "agent TUI in tmux + tailing transcript files + screen scraping" to structured drivers (Claude Code stream-json, Codex app-server, ACP). Like t3code, Vibe Kanban, Paseo and Superset, it keeps its own conversation log and the terminal stays one click away.This PR changes no behaviour. It adds the seam:
internal/box/driver.go: aDriverinterface (Send,Interrupt,Controls,SetMode,Answer,Conversation). Today's tmux path moves intoterminalDriverunchanged: paste + Enter, Esc + screen check, Shift+Tab until the footer shows the mode, keystroke form-filling, transcript tailing.b.driverFor(sess):/send, the inbox, the phone's send,/interrupt,/controls,/mode,/answerand/transcript.transcriptFiletakes a context instead of a request (andrequestForgoes).driver: "terminal", and boxes list thedrivercapability. This is documented in the app API reference and the plugin SDK types.Box.Driverslets a kind be replaced. The new test drives every handler through a recording driver.Readers of the agent's own record files (tool details, older pages, helpers, fork/rewind, touched files) stay as they are. Claude Code and Codex write those files under any driver.
The plan's phase 0 spike says go on claude 2.1.296, codex-cli 0.161.0, opencode and cursor-agent. Its recordings join as test fixtures with the Claude driver, once reviewed.
Checks run:
go vet ./...,go test -race ./...,pnpm typecheck:plugins, docs-site build.🤖 Generated with Claude Code