Documentation
¶
Index ¶
- type AgentServiceFactory
- type Orchestrator
- func (o *Orchestrator) Abort(ctx context.Context, req *agentapi.AbortRequest) (*agentapi.AbortResponse, error)
- func (o *Orchestrator) Close() error
- func (o *Orchestrator) Continue(ctx context.Context, req *agentapi.ContinueRequest) (agentapi.EventReceiver, error)
- func (o *Orchestrator) CreateSession(ctx context.Context, req *agentapi.CreateAgentSessionRequest) (*agentapi.CreateAgentSessionResponse, error)
- func (o *Orchestrator) DestroySession(ctx context.Context, req *agentapi.DestroyAgentSessionRequest) (*agentapi.DestroyAgentSessionResponse, error)
- func (o *Orchestrator) FollowUp(ctx context.Context, req *agentapi.FollowUpRequest) (*agentapi.FollowUpResponse, error)
- func (o *Orchestrator) GetSession(ctx context.Context, req *agentapi.GetAgentSessionRequest) (*agentapi.GetAgentSessionResponse, error)
- func (o *Orchestrator) ListSessions(_ context.Context, _ *agentapi.ListAgentSessionsRequest) (*agentapi.ListAgentSessionsResponse, error)
- func (o *Orchestrator) PauseSession(ctx context.Context, sessionID string) error
- func (o *Orchestrator) ResumeSession(ctx context.Context, req *agentapi.ResumeSessionRequest) (*agentapi.ResumeSessionResponse, error)
- func (o *Orchestrator) ResumeSessionSandbox(ctx context.Context, sessionID string) error
- func (o *Orchestrator) SendMessage(ctx context.Context, req *agentapi.SendMessageRequest) (agentapi.EventReceiver, error)
- func (o *Orchestrator) Steer(ctx context.Context, req *agentapi.SteerRequest) (*agentapi.SteerResponse, error)
- func (o *Orchestrator) SubscribeEvents(ctx context.Context, req *agentapi.SubscribeEventsRequest) (agentapi.EventReceiver, error)
- type OrchestratorConfig
- type PlacementMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentServiceFactory ¶
type AgentServiceFactory func(address string) (agentapi.AgentService, error)
AgentServiceFactory creates an AgentService bound to a launched remote agent address.
type Orchestrator ¶
type Orchestrator struct {
// contains filtered or unexported fields
}
Orchestrator implements agentapi.AgentService and proxies sessions to placement-specific backends.
func New ¶
func New(cfg OrchestratorConfig) (*Orchestrator, error)
func (*Orchestrator) Abort ¶
func (o *Orchestrator) Abort(ctx context.Context, req *agentapi.AbortRequest) (*agentapi.AbortResponse, error)
func (*Orchestrator) Close ¶
func (o *Orchestrator) Close() error
func (*Orchestrator) Continue ¶
func (o *Orchestrator) Continue(ctx context.Context, req *agentapi.ContinueRequest) (agentapi.EventReceiver, error)
func (*Orchestrator) CreateSession ¶
func (o *Orchestrator) CreateSession(ctx context.Context, req *agentapi.CreateAgentSessionRequest) (*agentapi.CreateAgentSessionResponse, error)
func (*Orchestrator) DestroySession ¶
func (o *Orchestrator) DestroySession(ctx context.Context, req *agentapi.DestroyAgentSessionRequest) (*agentapi.DestroyAgentSessionResponse, error)
func (*Orchestrator) FollowUp ¶
func (o *Orchestrator) FollowUp(ctx context.Context, req *agentapi.FollowUpRequest) (*agentapi.FollowUpResponse, error)
func (*Orchestrator) GetSession ¶
func (o *Orchestrator) GetSession(ctx context.Context, req *agentapi.GetAgentSessionRequest) (*agentapi.GetAgentSessionResponse, error)
func (*Orchestrator) ListSessions ¶
func (o *Orchestrator) ListSessions(_ context.Context, _ *agentapi.ListAgentSessionsRequest) (*agentapi.ListAgentSessionsResponse, error)
func (*Orchestrator) PauseSession ¶
func (o *Orchestrator) PauseSession(ctx context.Context, sessionID string) error
PauseSession pauses a session's sandbox. For agent-direct (lossy pause), the agent process is aborted first since EC2 stop kills all processes.
func (*Orchestrator) ResumeSession ¶
func (o *Orchestrator) ResumeSession(ctx context.Context, req *agentapi.ResumeSessionRequest) (*agentapi.ResumeSessionResponse, error)
func (*Orchestrator) ResumeSessionSandbox ¶
func (o *Orchestrator) ResumeSessionSandbox(ctx context.Context, sessionID string) error
ResumeSessionSandbox resumes a paused session. For agent-direct (lossy), re-launches the agent process and reconnects the agent service.
func (*Orchestrator) SendMessage ¶
func (o *Orchestrator) SendMessage(ctx context.Context, req *agentapi.SendMessageRequest) (agentapi.EventReceiver, error)
func (*Orchestrator) Steer ¶
func (o *Orchestrator) Steer(ctx context.Context, req *agentapi.SteerRequest) (*agentapi.SteerResponse, error)
func (*Orchestrator) SubscribeEvents ¶
func (o *Orchestrator) SubscribeEvents(ctx context.Context, req *agentapi.SubscribeEventsRequest) (agentapi.EventReceiver, error)
type OrchestratorConfig ¶
type OrchestratorConfig struct {
DirectControl control.SandboxControl
NodeControl control.SandboxControl
AgentLoopService agentapi.AgentService
// SandboxHostAddrs are the configured --sandbox-host-addr values.
// Used by resolveToolsSandboxHostAddr in Node mode (single host)
// where CreateSandboxResponse.Address is a mountpoint, not an RPC addr.
SandboxHostAddrs []string
MaxSessions int
HealthInterval time.Duration
CreateTimeout time.Duration
ShutdownTimeout time.Duration
Logger *slog.Logger
AgentBinary string
AgentPort int
AgentArgs []string
AgentEnv map[string]string
AgentServiceFactory AgentServiceFactory
}
OrchestratorConfig configures orchestrator behavior.
type PlacementMode ¶
type PlacementMode string
PlacementMode controls where and how a session runs.
const ( PlacementAgentDirect PlacementMode = "agent-direct" PlacementAgentSandbox PlacementMode = "agent-sandbox" PlacementToolsSandbox PlacementMode = "tools-sandbox" )
Click to show internal directories.
Click to hide internal directories.