You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for Agent Control Protocol (ACP) as an alternative to
terminal emulation. ACP uses JSON-RPC over stdin/stdout pipes.
- Introduce AgentIO interface to abstract PTY vs ACP transports
- Add ACPConversation implementing Conversation interface
- Add --experimental-acp flag (mutually exclusive with --print-openapi)
- Add e2e test with mock ACP agent
- Block `attach` when using --experimental-acp (no terminal)
- Update chat UI to show ACP tool calls
Other changes:
- chat: Fix redundant draft filtering from finally block
Created using Mux (Opus 4.5)
returnxerrors.New("attach is not supported in ACP mode. The server is running with --experimental-acp which uses JSON-RPC instead of terminal emulation.")
161
+
}
162
+
163
+
returnnil
164
+
}
165
+
132
166
funcrunAttach(remoteUrlstring) error {
167
+
// Check if server is running in ACP mode (attach not supported)
// localhost:3284 is the default origin when you open the chat interface in your browser. localhost:3000 and 3001 are used during development.
229
271
{FlagAllowedOrigins, "o", []string{"http://localhost:3284", "http://localhost:3000", "http://localhost:3001"}, "HTTP allowed origins. Use '*' for all, comma-separated list via flag, space-separated list via AGENTAPI_ALLOWED_ORIGINS env var", "stringSlice"},
230
272
{FlagInitialPrompt, "I", "", "Initial prompt for the agent. Recommended only if the agent doesn't support initial prompt in interaction mode. Will be read from stdin if piped (e.g., echo 'prompt' | agentapi server -- my-agent)", "string"},
273
+
{FlagExperimentalACP, "", false, "Use experimental ACP transport instead of PTY", "bool"},
0 commit comments