client

package
v0.0.28 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2026 License: MIT Imports: 12 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL