Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunACPFlow ¶ added in v0.0.24
func RunACPFlow( ctx context.Context, conn *acp.ClientSideConnection, req shared.RunRequest, clientInfo acp.Implementation, handleSessionID func(string), handleUpdate func(acp.SessionNotification), finish func(shared.RunResult), waitProcess func() error, closeStdin func(), readResult func() shared.RunResult, )
RunACPFlow executes the shared ACP initialize/new-session/prompt lifecycle against an already-started client connection, delegating state/result details back to the caller.
Types ¶
type Runner ¶
type Runner struct {
ClientInfo acp.Implementation
Logger *slog.Logger
ExtraEnv []string
}
Runner launches a local ACP-capable subprocess and runs a single prompt turn.
func (Runner) Start ¶
func (r Runner) Start(ctx context.Context, req shared.RunRequest) (*RunningSession, error)
Start launches the subprocess and begins the ACP initialize/session/prompt flow.
func (Runner) StartCommand ¶ added in v0.0.24
func (r Runner) StartCommand(ctx context.Context, cmd *exec.Cmd, req shared.RunRequest) (*RunningSession, error)
StartCommand launches an already-resolved ACP subprocess command with the shared client-side connection/session wiring.
type RunningSession ¶
type RunningSession struct {
// contains filtered or unexported fields
}
RunningSession represents one in-flight ACP turn.
func (*RunningSession) Cancel ¶
func (s *RunningSession) Cancel() error
Cancel terminates the running subprocess.
func (*RunningSession) Done ¶
func (s *RunningSession) Done() <-chan struct{}
Done is closed when the prompt turn finishes.
func (*RunningSession) Events ¶
func (s *RunningSession) Events() <-chan shared.Event
Events returns the translated local ACP event stream.
func (*RunningSession) Wait ¶
func (s *RunningSession) Wait() shared.RunResult
Wait blocks until the turn completes and returns the final result.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package claudecode provides an ACP client for Claude Code via the @agentclientprotocol/claude-agent-acp subprocess adapter.
|
Package claudecode provides an ACP client for Claude Code via the @agentclientprotocol/claude-agent-acp subprocess adapter. |
|
Package cursor provides an ACP client for Cursor CLI via its `agent acp` subprocess (https://cursor.com/docs/cli/acp).
|
Package cursor provides an ACP client for Cursor CLI via its `agent acp` subprocess (https://cursor.com/docs/cli/acp). |
|
Package gemini provides an ACP client for Google Gemini CLI via the Gemini CLI subprocess adapter.
|
Package gemini provides an ACP client for Google Gemini CLI via the Gemini CLI subprocess adapter. |