rpc

package
v0.1.30 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountGetQuotaResult

type AccountGetQuotaResult struct {
	// Quota snapshots keyed by type (e.g., chat, completions, premium_interactions)
	QuotaSnapshots map[string]QuotaSnapshot `json:"quotaSnapshots"`
}

type AccountRpcApi

type AccountRpcApi struct {
	// contains filtered or unexported fields
}

func (*AccountRpcApi) GetQuota

type AgentElement added in v0.1.28

type AgentElement struct {
	// Description of the agent's purpose
	Description string `json:"description"`
	// Human-readable display name
	DisplayName string `json:"displayName"`
	// Unique identifier of the custom agent
	Name string `json:"name"`
}

type AgentRpcApi added in v0.1.28

type AgentRpcApi struct {
	// contains filtered or unexported fields
}

func (*AgentRpcApi) Deselect added in v0.1.28

func (*AgentRpcApi) GetCurrent added in v0.1.28

func (*AgentRpcApi) List added in v0.1.28

func (*AgentRpcApi) Select added in v0.1.28

type Billing

type Billing struct {
	Multiplier float64 `json:"multiplier"`
}

Billing information

type Capabilities

type Capabilities struct {
	Limits   Limits   `json:"limits"`
	Supports Supports `json:"supports"`
}

Model capabilities and limits

type CompactionRpcApi added in v0.1.28

type CompactionRpcApi struct {
	// contains filtered or unexported fields
}

func (*CompactionRpcApi) Compact added in v0.1.28

type FleetRpcApi added in v0.1.25

type FleetRpcApi struct {
	// contains filtered or unexported fields
}

func (*FleetRpcApi) Start added in v0.1.25

type Limits

type Limits struct {
	MaxContextWindowTokens float64  `json:"max_context_window_tokens"`
	MaxOutputTokens        *float64 `json:"max_output_tokens,omitempty"`
	MaxPromptTokens        *float64 `json:"max_prompt_tokens,omitempty"`
}

type Mode added in v0.1.25

type Mode string

The current agent mode.

The agent mode after switching.

The mode to switch to. Valid values: "interactive", "plan", "autopilot".

const (
	Autopilot   Mode = "autopilot"
	Interactive Mode = "interactive"
	Plan        Mode = "plan"
)

type ModeRpcApi added in v0.1.25

type ModeRpcApi struct {
	// contains filtered or unexported fields
}

func (*ModeRpcApi) Get added in v0.1.25

func (*ModeRpcApi) Set added in v0.1.25

type Model

type Model struct {
	// Billing information
	Billing *Billing `json:"billing,omitempty"`
	// Model capabilities and limits
	Capabilities Capabilities `json:"capabilities"`
	// Default reasoning effort level (only present if model supports reasoning effort)
	DefaultReasoningEffort *string `json:"defaultReasoningEffort,omitempty"`
	// Model identifier (e.g., "claude-sonnet-4.5")
	ID string `json:"id"`
	// Display name
	Name string `json:"name"`
	// Policy state (if applicable)
	Policy *Policy `json:"policy,omitempty"`
	// Supported reasoning effort levels (only present if model supports reasoning effort)
	SupportedReasoningEfforts []string `json:"supportedReasoningEfforts,omitempty"`
}

type ModelRpcApi

type ModelRpcApi struct {
	// contains filtered or unexported fields
}

func (*ModelRpcApi) GetCurrent

func (*ModelRpcApi) SwitchTo

type ModelsListResult

type ModelsListResult struct {
	// List of available models with full metadata
	Models []Model `json:"models"`
}

type ModelsRpcApi

type ModelsRpcApi struct {
	// contains filtered or unexported fields
}

func (*ModelsRpcApi) List

type PingParams

type PingParams struct {
	// Optional message to echo back
	Message *string `json:"message,omitempty"`
}

type PingResult

type PingResult struct {
	// Echoed message (or default greeting)
	Message string `json:"message"`
	// Server protocol version number
	ProtocolVersion float64 `json:"protocolVersion"`
	// Server timestamp in milliseconds
	Timestamp float64 `json:"timestamp"`
}

type PlanRpcApi added in v0.1.25

type PlanRpcApi struct {
	// contains filtered or unexported fields
}

func (*PlanRpcApi) Delete added in v0.1.25

func (*PlanRpcApi) Read added in v0.1.25

func (*PlanRpcApi) Update added in v0.1.25

type Policy

type Policy struct {
	State string `json:"state"`
	Terms string `json:"terms"`
}

Policy state (if applicable)

type QuotaSnapshot

type QuotaSnapshot struct {
	// Number of requests included in the entitlement
	EntitlementRequests float64 `json:"entitlementRequests"`
	// Number of overage requests made this period
	Overage float64 `json:"overage"`
	// Whether pay-per-request usage is allowed when quota is exhausted
	OverageAllowedWithExhaustedQuota bool `json:"overageAllowedWithExhaustedQuota"`
	// Percentage of entitlement remaining
	RemainingPercentage float64 `json:"remainingPercentage"`
	// Date when the quota resets (ISO 8601)
	ResetDate *string `json:"resetDate,omitempty"`
	// Number of requests used so far this period
	UsedRequests float64 `json:"usedRequests"`
}

type ServerRpc

type ServerRpc struct {
	Models  *ModelsRpcApi
	Tools   *ToolsRpcApi
	Account *AccountRpcApi
	// contains filtered or unexported fields
}

ServerRpc provides typed server-scoped RPC methods.

func NewServerRpc

func NewServerRpc(client *jsonrpc2.Client) *ServerRpc

func (*ServerRpc) Ping

func (a *ServerRpc) Ping(ctx context.Context, params *PingParams) (*PingResult, error)

type SessionAgentDeselectResult added in v0.1.28

type SessionAgentDeselectResult struct {
}

type SessionAgentGetCurrentResult added in v0.1.28

type SessionAgentGetCurrentResult struct {
	// Currently selected custom agent, or null if using the default agent
	Agent *SessionAgentGetCurrentResultAgent `json:"agent"`
}

type SessionAgentGetCurrentResultAgent added in v0.1.28

type SessionAgentGetCurrentResultAgent struct {
	// Description of the agent's purpose
	Description string `json:"description"`
	// Human-readable display name
	DisplayName string `json:"displayName"`
	// Unique identifier of the custom agent
	Name string `json:"name"`
}

type SessionAgentListResult added in v0.1.28

type SessionAgentListResult struct {
	// Available custom agents
	Agents []AgentElement `json:"agents"`
}

type SessionAgentSelectParams added in v0.1.28

type SessionAgentSelectParams struct {
	// Name of the custom agent to select
	Name string `json:"name"`
}

type SessionAgentSelectResult added in v0.1.28

type SessionAgentSelectResult struct {
	// The newly selected custom agent
	Agent SessionAgentSelectResultAgent `json:"agent"`
}

type SessionAgentSelectResultAgent added in v0.1.28

type SessionAgentSelectResultAgent struct {
	// Description of the agent's purpose
	Description string `json:"description"`
	// Human-readable display name
	DisplayName string `json:"displayName"`
	// Unique identifier of the custom agent
	Name string `json:"name"`
}

The newly selected custom agent

type SessionCompactionCompactResult added in v0.1.28

type SessionCompactionCompactResult struct {
	// Number of messages removed during compaction
	MessagesRemoved float64 `json:"messagesRemoved"`
	// Whether compaction completed successfully
	Success bool `json:"success"`
	// Number of tokens freed by compaction
	TokensRemoved float64 `json:"tokensRemoved"`
}

type SessionFleetStartParams added in v0.1.25

type SessionFleetStartParams struct {
	// Optional user prompt to combine with fleet instructions
	Prompt *string `json:"prompt,omitempty"`
}

type SessionFleetStartResult added in v0.1.25

type SessionFleetStartResult struct {
	// Whether fleet mode was successfully activated
	Started bool `json:"started"`
}

type SessionModeGetResult added in v0.1.25

type SessionModeGetResult struct {
	// The current agent mode.
	Mode Mode `json:"mode"`
}

type SessionModeSetParams added in v0.1.25

type SessionModeSetParams struct {
	// The mode to switch to. Valid values: "interactive", "plan", "autopilot".
	Mode Mode `json:"mode"`
}

type SessionModeSetResult added in v0.1.25

type SessionModeSetResult struct {
	// The agent mode after switching.
	Mode Mode `json:"mode"`
}

type SessionModelGetCurrentResult

type SessionModelGetCurrentResult struct {
	ModelID *string `json:"modelId,omitempty"`
}

type SessionModelSwitchToParams

type SessionModelSwitchToParams struct {
	ModelID string `json:"modelId"`
}

type SessionModelSwitchToResult

type SessionModelSwitchToResult struct {
	ModelID *string `json:"modelId,omitempty"`
}

type SessionPlanDeleteResult added in v0.1.25

type SessionPlanDeleteResult struct {
}

type SessionPlanReadResult added in v0.1.25

type SessionPlanReadResult struct {
	// The content of plan.md, or null if it does not exist
	Content *string `json:"content"`
	// Whether plan.md exists in the workspace
	Exists bool `json:"exists"`
}

type SessionPlanUpdateParams added in v0.1.25

type SessionPlanUpdateParams struct {
	// The new content for plan.md
	Content string `json:"content"`
}

type SessionPlanUpdateResult added in v0.1.25

type SessionPlanUpdateResult struct {
}

type SessionRpc

type SessionRpc struct {
	Model      *ModelRpcApi
	Mode       *ModeRpcApi
	Plan       *PlanRpcApi
	Workspace  *WorkspaceRpcApi
	Fleet      *FleetRpcApi
	Agent      *AgentRpcApi
	Compaction *CompactionRpcApi
	// contains filtered or unexported fields
}

SessionRpc provides typed session-scoped RPC methods.

func NewSessionRpc

func NewSessionRpc(client *jsonrpc2.Client, sessionID string) *SessionRpc

type SessionWorkspaceCreateFileParams added in v0.1.25

type SessionWorkspaceCreateFileParams struct {
	// File content to write as a UTF-8 string
	Content string `json:"content"`
	// Relative path within the workspace files directory
	Path string `json:"path"`
}

type SessionWorkspaceCreateFileResult added in v0.1.25

type SessionWorkspaceCreateFileResult struct {
}

type SessionWorkspaceListFilesResult added in v0.1.25

type SessionWorkspaceListFilesResult struct {
	// Relative file paths in the workspace files directory
	Files []string `json:"files"`
}

type SessionWorkspaceReadFileParams added in v0.1.25

type SessionWorkspaceReadFileParams struct {
	// Relative path within the workspace files directory
	Path string `json:"path"`
}

type SessionWorkspaceReadFileResult added in v0.1.25

type SessionWorkspaceReadFileResult struct {
	// File content as a UTF-8 string
	Content string `json:"content"`
}

type Supports

type Supports struct {
	// Whether this model supports reasoning effort configuration
	ReasoningEffort *bool `json:"reasoningEffort,omitempty"`
	Vision          *bool `json:"vision,omitempty"`
}

type Tool

type Tool struct {
	// Description of what the tool does
	Description string `json:"description"`
	// Optional instructions for how to use this tool effectively
	Instructions *string `json:"instructions,omitempty"`
	// Tool identifier (e.g., "bash", "grep", "str_replace_editor")
	Name string `json:"name"`
	// Optional namespaced name for declarative filtering (e.g., "playwright/navigate" for MCP
	// tools)
	NamespacedName *string `json:"namespacedName,omitempty"`
	// JSON Schema for the tool's input parameters
	Parameters map[string]interface{} `json:"parameters,omitempty"`
}

type ToolsListParams

type ToolsListParams struct {
	// Optional model ID — when provided, the returned tool list reflects model-specific
	// overrides
	Model *string `json:"model,omitempty"`
}

type ToolsListResult

type ToolsListResult struct {
	// List of available built-in tools with metadata
	Tools []Tool `json:"tools"`
}

type ToolsRpcApi

type ToolsRpcApi struct {
	// contains filtered or unexported fields
}

func (*ToolsRpcApi) List

func (a *ToolsRpcApi) List(ctx context.Context, params *ToolsListParams) (*ToolsListResult, error)

type WorkspaceRpcApi added in v0.1.25

type WorkspaceRpcApi struct {
	// contains filtered or unexported fields
}

func (*WorkspaceRpcApi) CreateFile added in v0.1.25

func (*WorkspaceRpcApi) ListFiles added in v0.1.25

func (*WorkspaceRpcApi) ReadFile added in v0.1.25

Jump to

Keyboard shortcuts

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