Versions in this module Expand all Collapse all v0 v0.2.0 Nov 1, 2026 Changes in this version + var ErrClientStopped = errors.New("runtime client has stopped") + var ErrConnectionLost = errors.New("connection to runtime server lost") + var ErrInitializeRejected = errors.New(...) + var ErrUnauthorized = errors.New("runtime server rejected the token") + func RedactURL(rawURL string) string + type Client interface + ClearRPCFrames func(ctx context.Context) (err error) + CloseTerminal func(ctx context.Context, terminalID string) (err error) + CompactContext func(ctx context.Context, conversationID defs.ConversationID) (defs.TurnID, error) + CreateConversation func(ctx context.Context, request *CreateConversationRequest) (defs.Conversation, error) + DeleteConversation func(ctx context.Context, request *DeleteConversationRequest) error + DeleteProvider func(ctx context.Context, providerID string) (runtime.SetDefinitionsResult, error) + Events func() <-chan ClientEvent + FetchProviderModels func(ctx context.Context, provider defs.ProviderConfig) (map[string]*defs.ProviderModelConfig, error) + ForkConversation func(ctx context.Context, request *ForkConversationRequest) (defs.Conversation, error) + GetContextUsage func(ctx context.Context, conversationID defs.ConversationID, ...) (runtime.SessionContextUsage, error) + GetConversation func(ctx context.Context, conversationID defs.ConversationID) (defs.Conversation, error) + GetHooks func(ctx context.Context) ([]*hook.HookInfo, error) + GetRPCFrames func(ctx context.Context) (frames []RPCFrame, err error) + GetSessionByID func(ctx context.Context, sessionID defs.SessionID) (defs.Session, error) + GetSessionDetails func(ctx context.Context, conversationID defs.ConversationID, ...) (conversation.SessionDetails, error) + GetSkills func(ctx context.Context, request *GetSkillsRequest) ([]skill.SkillInfo, error) + GetTurns func(ctx context.Context, request *GetTurnsRequest) ([]defs.Turn, error) + GetWorkspaceDirectories func(ctx context.Context, request *GetWorkspaceDirectoriesRequest) (directories *conversation.WorkspaceDirectories, err error) + InterruptTurn func(ctx context.Context, conversationID defs.ConversationID) (defs.TurnID, error) + InterruptTurnWithInput func(ctx context.Context, conversationID defs.ConversationID, turnID defs.TurnID, ...) error + ListAgents func(ctx context.Context) ([]runtime.AgentInfo, error) + ListCatalogModels func(ctx context.Context, catalogProviderID string) (map[string]*defs.ProviderModelConfig, error) + ListCatalogProviders func(ctx context.Context) ([]defs.CatalogProvider, error) + ListConversations func(ctx context.Context, request *ListConversationsRequest) (ListConversationsResult, error) + ListExecutors func(ctx context.Context) ([]conversation.ExecutorDetails, error) + ListItems func(ctx context.Context, request *ListItemsRequest) (ListItemsResult, error) + ListMCPServers func(ctx context.Context, conversationID defs.ConversationID) ([]conversation.MCPServerInfo, error) + ListModels func(ctx context.Context, agentName string) (runtime.ModelList, error) + ListProviders func(ctx context.Context) (providers []defs.ProviderConfig, defaultModel defs.ModelRef, ...) + ListSessions func(ctx context.Context, request *ListSessionsRequest) (ListSessionsResult, error) + ListTurns func(ctx context.Context, request *ListTurnsRequest) (ListTurnsResult, error) + OpenConversation func(ctx context.Context, request *OpenConversationRequest) (defs.Conversation, error) + OpenTerminal func(ctx context.Context, request *TerminalOpenRequest) (result *runtimeprotocol.TerminalOpenResult, err error) + Reconnect func(ctx context.Context) (err error) + ReloadConfig func(ctx context.Context) (runtime.SetDefinitionsResult, error) + ResizeTerminal func(terminalID string, rows, cols uint16) (err error) + ResolveWorkspaceDirectory func(ctx context.Context, request *ResolveWorkspaceDirectoryRequest) (string, error) + Run func(ctx context.Context) error + SendClientMCPClosed func(ctx context.Context, streamID string, err error) error + SendClientMCPMessage func(ctx context.Context, streamID string, message json.RawMessage) error + SetClientMCPServers func(ctx context.Context, conversationID defs.ConversationID, serverIDs []string) error + SetConversationArchived func(ctx context.Context, request *SetConversationArchivedRequest) (defs.Conversation, error) + SetConversationExecutorSettings func(ctx context.Context, conversationID defs.ConversationID, ...) (defs.Conversation, error) + SetConversationTitle func(ctx context.Context, conversationID defs.ConversationID, title string) error + SetDefaultModel func(ctx context.Context, ref defs.ModelRef) (runtime.SetDefinitionsResult, error) + SetProvider func(ctx context.Context, provider defs.ProviderConfig, defaultModel defs.ModelRef) (runtime.SetDefinitionsResult, error) + SetRPCLogPaused func(ctx context.Context, paused bool) (err error) + SetSessionModel func(ctx context.Context, request *SetSessionModelRequest) (defs.Session, error) + SteerInput func(ctx context.Context, conversationID defs.ConversationID, itemID defs.ItemID, ...) error + SubmitInput func(ctx context.Context, request *SubmitInputRequest) (defs.ItemID, error) + SubscribeRunningConversations func(ctx context.Context) (err error) + WithdrawInput func(ctx context.Context, conversationID defs.ConversationID, itemID defs.ItemID, ...) ([]*defs.Content, error) + WriteTerminal func(terminalID string, data []byte) (err error) + func NewClient(opt *ClientOpt) (Client, error) + type ClientEvent interface + type ClientMCPConnectRequested struct + ServerID string + StreamID string + type ClientMCPDisconnectRequested struct + StreamID string + type ClientMCPMessageReceived struct + Message json.RawMessage + StreamID string + type ClientOpt struct + DisableSubmitInputRetry bool + FailRequestsWhenDisconnected bool + RPCFrameCapacity int + Telemetry *telemetry.Telemetry + Token string + URL string + func NewClientOpt(url, token string) *ClientOpt + type ConnectionChanged struct + Attempt int + Err error + RetryIn time.Duration + ServerID string + State ConnectionState + type ConnectionState string + const ConnectionConnected + const ConnectionConnecting + const ConnectionReconnecting + type ConversationSyncFailed struct + ConversationID defs.ConversationID + Err error + type ConversationSynced struct + Conversation defs.Conversation + ConversationID defs.ConversationID + SessionInfos []runtime.SessionRuntimeInfo + type ConversationTitleChanged struct + ConversationID defs.ConversationID + Title string + type CreateConversationRequest struct + AgentName string + Environment []string + Ephemeral bool + ExecutorSettings defs.ExecutorSettings + Model defs.ModelSelection + type DeleteConversationRequest struct + ConversationID defs.ConversationID + type ForkConversationRequest struct + BeforeTurnID defs.TurnID + ConversationID defs.ConversationID + Environment []string + ExecutorSettings defs.ExecutorSettings + LastTurnID defs.TurnID + Model defs.ModelSelection + type GetSkillsRequest struct + AgentName string + ConversationID defs.ConversationID + ExecutorSettings defs.ExecutorSettings + type GetTurnsRequest struct + ConversationID defs.ConversationID + SessionID defs.SessionID + TurnIDs []defs.TurnID + type GetWorkspaceDirectoriesRequest struct + BaseDirectory string + Directory string + ExecutorID string + type HookRunChanged struct + ConversationID defs.ConversationID + Run *defs.HookRun + SessionID defs.SessionID + TurnID defs.TurnID + type ItemChanged struct + ConversationID defs.ConversationID + Delta *agent.AgentItemDelta + Item *defs.Item + ItemIndex int + SessionID defs.SessionID + TurnID defs.TurnID + Type agent.AgentEventType + type ItemsSaved struct + ConversationID defs.ConversationID + Items []runtimeprotocol.LoggedItem + SessionID defs.SessionID + TurnID defs.TurnID + type ListConversationsRequest struct + Archived bool + Cursor dao.RecordCursor[defs.ConversationID] + Directories []string + Limit int + Order storage.Order + SearchTerm string + type ListConversationsResult struct + Conversations []dao.ConversationListEntry + NextCursor dao.RecordCursor[defs.ConversationID] + type ListItemsRequest struct + ConversationID defs.ConversationID + Cursor storage.Ordinal + Limit int + Order storage.Direction + SessionID defs.SessionID + type ListItemsResult struct + Items []runtimeprotocol.LoggedItem + NextCursor storage.Ordinal + type ListSessionsRequest struct + ConversationID defs.ConversationID + Cursor dao.RecordCursor[defs.SessionID] + Limit int + Order storage.Order + type ListSessionsResult struct + NextCursor dao.RecordCursor[defs.SessionID] + Sessions []defs.Session + type ListTurnsRequest struct + ConversationID defs.ConversationID + Cursor dao.RecordCursor[defs.TurnID] + Limit int + Order storage.Order + SessionID defs.SessionID + type ListTurnsResult struct + NextCursor dao.RecordCursor[defs.TurnID] + Turns []defs.Turn + type OpenConversationRequest struct + ConversationID defs.ConversationID + Environment []string + SessionID defs.SessionID + SkipHistory bool + type RPCDirection string + const RPCReceived + const RPCSent + type RPCFrame struct + ConnectionID uint64 + Direction RPCDirection + Payload json.RawMessage + Sequence uint64 + Time time.Time + type RPCLogChanged struct + DroppedFrames uint64 + Paused bool + type ResolveWorkspaceDirectoryRequest struct + BaseDirectory string + Directory string + ExecutorID string + type ResponseError struct + Code int + Message string + func (e *ResponseError) Error() string + type RunningConversationsChanged struct + ConversationIDs []defs.ConversationID + Err error + IsKnown bool + type SessionPendingInputsChanged struct + ConversationID defs.ConversationID + PendingInputs session.SessionPendingInputs + SessionID defs.SessionID + type SessionStatusChanged struct + ConversationID defs.ConversationID + Info runtime.SessionRuntimeInfo + type SessionSynced struct + ConversationID defs.ConversationID + Items []runtimeprotocol.LoggedItem + LastSavedOrdinal storage.Ordinal + PendingInputs session.SessionPendingInputs + SessionID defs.SessionID + StreamingItems []runtimeprotocol.StreamingItem + type SetConversationArchivedRequest struct + Archived bool + ConversationID defs.ConversationID + type SetSessionModelRequest struct + ConversationID defs.ConversationID + Model defs.ModelSelection + SessionID defs.SessionID + type SubmitInputRequest struct + Content []*defs.Content + ConversationID defs.ConversationID + Mode session.SessionInputMode + type TerminalExited struct + Error string + ExitCode int + TerminalID string + type TerminalOpenRequest struct + Cols uint16 + Directory string + Environment []string + ExecutorID string + Rows uint16 + type TerminalOutput struct + Data []byte + TerminalID string + type ToolProgress struct + ConversationID defs.ConversationID + ItemIndex int + Progress agent.AgentToolProgress + SessionID defs.SessionID + TurnID defs.TurnID + type TurnFinished struct + ConversationID defs.ConversationID + Error string + InputItemIDs []defs.ItemID + SessionID defs.SessionID + Status defs.TurnStatus + TurnID defs.TurnID + type TurnStarted struct + ConversationID defs.ConversationID + SessionID defs.SessionID + TurnID defs.TurnID