feat: ACP migration, streaming display, and OAuth token support#2
Open
damianhodgkiss wants to merge 4 commits intomainfrom
Open
feat: ACP migration, streaming display, and OAuth token support#2damianhodgkiss wants to merge 4 commits intomainfrom
damianhodgkiss wants to merge 4 commits intomainfrom
Conversation
## ACP Migration - Replace OpenCode SSE with Claude Agent SDK (ACP) for sandbox communication - Use spawn_agent_process for proper JSON-RPC over stdio - Auto-approve permissions in sandbox environment - Simplify bridge by removing SSE polling and OpenCode ID generation ## Streaming Text Display - Send incremental token chunks from bridge (not accumulated) - Frontend concatenates chunks for live streaming display - Show pulsing indicator while content streams in - Preserve partial content when execution is stopped ## OAuth Token Support - Add CLAUDE_CODE_OAUTH_TOKEN support (uses subscription billing) - OAuth token takes precedence over API key when both set - Add claude_oauth_token terraform variable - Make anthropic_api_key optional (default empty) ## Other Changes - Update sandbox image dependencies for ACP - Remove inspect-plugin.js (no longer needed) - Simplify entrypoint.py
Allows switching between different ACP-compatible agents: - claude-code-acp (default) - opencode acp - or any other ACP-compatible command Supports space-separated command + args (e.g., 'opencode acp'). Set via terraform variable or env var ACP_COMMAND.
- Fix Slack bot to concatenate all incremental token events instead of taking only the last one (was showing just last character of responses) - Increase ACP stdio buffer limit to 10MB (default 64KB too small for large responses) - Bump cache buster to v45 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
CLAUDE_CODE_OAUTH_TOKENsupport for subscription billing (much cheaper than API key)claude-code-acp,opencode acp, or other ACP-compatible agentsChanges
ACP Migration
spawn_agent_processfor proper JSON-RPC over stdioinspect-plugin.js(no longer needed)Streaming Text Display
OAuth Token Support
CLAUDE_CODE_OAUTH_TOKENenv var supportclaude_oauth_tokenterraform variableanthropic_api_keyoptional (default empty)Configurable ACP Command
ACP_COMMANDenv var to switch between ACP-compatible agentsopencode acp)claude-code-acpUsage
OAuth (subscription billing)
Get token via:
claude setup-tokenUse OpenCode instead of Claude Code
Test plan
terraform applyacp_command = "opencode acp", verify it spawns OpenCode