Documentation
¶
Overview ¶
Package rpc provides a minimal JSON-RPC client tailored to the Codex app-server. It intentionally implements only the subset needed for Codex. For general-purpose JSON-RPC support, consider using a dedicated library.
Index ¶
- func DefaultStderr() io.Writer
- type Client
- func (c *Client) AccountLoginCancel(ctx context.Context, params protocol.CancelLoginAccountParams) (*protocol.CancelLoginAccountResponse, error)
- func (c *Client) AccountLoginStart(ctx context.Context, params protocol.LoginAccountParams) (*protocol.LoginAccountResponse, error)
- func (c *Client) AccountLogout(ctx context.Context) (*protocol.LogoutAccountResponse, error)
- func (c *Client) AccountRateLimitResetCreditConsume(ctx context.Context, params protocol.ConsumeAccountRateLimitResetCreditParams) (*protocol.ConsumeAccountRateLimitResetCreditResponse, error)
- func (c *Client) AccountRateLimitsRead(ctx context.Context) (*protocol.GetAccountRateLimitsResponse, error)
- func (c *Client) AccountRead(ctx context.Context, params protocol.GetAccountParams) (*protocol.GetAccountResponse, error)
- func (c *Client) AccountSendAddCreditsNudgeEmail(ctx context.Context, params protocol.SendAddCreditsNudgeEmailParams) (*protocol.SendAddCreditsNudgeEmailResponse, error)
- func (c *Client) AccountUsageRead(ctx context.Context) (*protocol.GetAccountTokenUsageResponse, error)
- func (c *Client) AccountWorkspaceMessagesRead(ctx context.Context) (*protocol.GetWorkspaceMessagesResponse, error)
- func (c *Client) AppList(ctx context.Context, params protocol.AppsListParams) (*protocol.AppsListResponse, error)
- func (c *Client) Call(ctx context.Context, method string, params any, result any) error
- func (c *Client) Close() error
- func (c *Client) CommandExec(ctx context.Context, params protocol.CommandExecParams) (*protocol.CommandExecResponse, error)
- func (c *Client) CommandExecResize(ctx context.Context, params protocol.CommandExecResizeParams) (*protocol.CommandExecResizeResponse, error)
- func (c *Client) CommandExecTerminate(ctx context.Context, params protocol.CommandExecTerminateParams) (*protocol.CommandExecTerminateResponse, error)
- func (c *Client) CommandExecWrite(ctx context.Context, params protocol.CommandExecWriteParams) (*protocol.CommandExecWriteResponse, error)
- func (c *Client) ConfigBatchWrite(ctx context.Context, params protocol.ConfigBatchWriteParams) (*protocol.ConfigWriteResponse, error)
- func (c *Client) ConfigMcpServerReload(ctx context.Context) (*protocol.McpServerRefreshResponse, error)
- func (c *Client) ConfigRead(ctx context.Context, params protocol.ConfigReadParams) (*protocol.ConfigReadResponse, error)
- func (c *Client) ConfigRequirementsRead(ctx context.Context) (*protocol.ConfigRequirementsReadResponse, error)
- func (c *Client) ConfigValueWrite(ctx context.Context, params protocol.ConfigValueWriteParams) (*protocol.ConfigWriteResponse, error)
- func (c *Client) ExperimentalFeatureEnablementSet(ctx context.Context, params protocol.ExperimentalFeatureEnablementSetParams) (*protocol.ExperimentalFeatureEnablementSetResponse, error)
- func (c *Client) ExperimentalFeatureList(ctx context.Context, params protocol.ExperimentalFeatureListParams) (*protocol.ExperimentalFeatureListResponse, error)
- func (c *Client) ExternalAgentConfigDetect(ctx context.Context, params protocol.ExternalAgentConfigDetectParams) (*protocol.ExternalAgentConfigDetectResponse, error)
- func (c *Client) ExternalAgentConfigImport(ctx context.Context, params protocol.ExternalAgentConfigImportParams) (*protocol.ExternalAgentConfigImportResponse, error)
- func (c *Client) ExternalAgentConfigImportReadHistories(ctx context.Context) (*protocol.ExternalAgentConfigImportHistoriesReadResponse, error)
- func (c *Client) FeedbackUpload(ctx context.Context, params protocol.FeedbackUploadParams) (*protocol.FeedbackUploadResponse, error)
- func (c *Client) FsCopy(ctx context.Context, params protocol.FsCopyParams) (*protocol.FsCopyResponse, error)
- func (c *Client) FsCreateDirectory(ctx context.Context, params protocol.FsCreateDirectoryParams) (*protocol.FsCreateDirectoryResponse, error)
- func (c *Client) FsGetMetadata(ctx context.Context, params protocol.FsGetMetadataParams) (*protocol.FsGetMetadataResponse, error)
- func (c *Client) FsReadDirectory(ctx context.Context, params protocol.FsReadDirectoryParams) (*protocol.FsReadDirectoryResponse, error)
- func (c *Client) FsReadFile(ctx context.Context, params protocol.FsReadFileParams) (*protocol.FsReadFileResponse, error)
- func (c *Client) FsRemove(ctx context.Context, params protocol.FsRemoveParams) (*protocol.FsRemoveResponse, error)
- func (c *Client) FsUnwatch(ctx context.Context, params protocol.FsUnwatchParams) (*protocol.FsUnwatchResponse, error)
- func (c *Client) FsWatch(ctx context.Context, params protocol.FsWatchParams) (*protocol.FsWatchResponse, error)
- func (c *Client) FsWriteFile(ctx context.Context, params protocol.FsWriteFileParams) (*protocol.FsWriteFileResponse, error)
- func (c *Client) FuzzyFileSearch(ctx context.Context, params protocol.FuzzyFileSearchParams) (*protocol.FuzzyFileSearchResponse, error)
- func (c *Client) HooksList(ctx context.Context, params protocol.HooksListParams) (*protocol.HooksListResponse, error)
- func (c *Client) Initialize(ctx context.Context, params protocol.InitializeParams) (*protocol.InitializeResponse, error)
- func (c *Client) MarketplaceAdd(ctx context.Context, params protocol.MarketplaceAddParams) (*protocol.MarketplaceAddResponse, error)
- func (c *Client) MarketplaceRemove(ctx context.Context, params protocol.MarketplaceRemoveParams) (*protocol.MarketplaceRemoveResponse, error)
- func (c *Client) MarketplaceUpgrade(ctx context.Context, params protocol.MarketplaceUpgradeParams) (*protocol.MarketplaceUpgradeResponse, error)
- func (c *Client) McpServerOauthLogin(ctx context.Context, params protocol.McpServerOauthLoginParams) (*protocol.McpServerOauthLoginResponse, error)
- func (c *Client) McpServerResourceRead(ctx context.Context, params protocol.McpResourceReadParams) (*protocol.McpResourceReadResponse, error)
- func (c *Client) McpServerStatusList(ctx context.Context, params protocol.ListMcpServerStatusParams) (*protocol.ListMcpServerStatusResponse, error)
- func (c *Client) McpServerToolCall(ctx context.Context, params protocol.McpServerToolCallParams) (*protocol.McpServerToolCallResponse, error)
- func (c *Client) ModelList(ctx context.Context, params protocol.ModelListParams) (*protocol.ModelListResponse, error)
- func (c *Client) ModelProviderCapabilitiesRead(ctx context.Context, params protocol.ModelProviderCapabilitiesReadParams) (*protocol.ModelProviderCapabilitiesReadResponse, error)
- func (c *Client) Notify(ctx context.Context, method string, params any) error
- func (c *Client) PermissionProfileList(ctx context.Context, params protocol.PermissionProfileListParams) (*protocol.PermissionProfileListResponse, error)
- func (c *Client) PluginInstall(ctx context.Context, params protocol.PluginInstallParams) (*protocol.PluginInstallResponse, error)
- func (c *Client) PluginInstalled(ctx context.Context, params protocol.PluginInstalledParams) (*protocol.PluginInstalledResponse, error)
- func (c *Client) PluginList(ctx context.Context, params protocol.PluginListParams) (*protocol.PluginListResponse, error)
- func (c *Client) PluginRead(ctx context.Context, params protocol.PluginReadParams) (*protocol.PluginReadResponse, error)
- func (c *Client) PluginShareCheckout(ctx context.Context, params protocol.PluginShareCheckoutParams) (*protocol.PluginShareCheckoutResponse, error)
- func (c *Client) PluginShareDelete(ctx context.Context, params protocol.PluginShareDeleteParams) (*protocol.PluginShareDeleteResponse, error)
- func (c *Client) PluginShareList(ctx context.Context, params protocol.PluginShareListParams) (*protocol.PluginShareListResponse, error)
- func (c *Client) PluginShareSave(ctx context.Context, params protocol.PluginShareSaveParams) (*protocol.PluginShareSaveResponse, error)
- func (c *Client) PluginShareUpdateTargets(ctx context.Context, params protocol.PluginShareUpdateTargetsParams) (*protocol.PluginShareUpdateTargetsResponse, error)
- func (c *Client) PluginSkillRead(ctx context.Context, params protocol.PluginSkillReadParams) (*protocol.PluginSkillReadResponse, error)
- func (c *Client) PluginUninstall(ctx context.Context, params protocol.PluginUninstallParams) (*protocol.PluginUninstallResponse, error)
- func (c *Client) ReviewStart(ctx context.Context, params protocol.ReviewStartParams) (*protocol.ReviewStartResponse, error)
- func (c *Client) SetRequestHandler(handler ServerRequestHandler)
- func (c *Client) SkillsConfigWrite(ctx context.Context, params protocol.SkillsConfigWriteParams) (*protocol.SkillsConfigWriteResponse, error)
- func (c *Client) SkillsExtraRootsSet(ctx context.Context, params protocol.SkillsExtraRootsSetParams) (*protocol.SkillsExtraRootsSetResponse, error)
- func (c *Client) SkillsList(ctx context.Context, params protocol.SkillsListParams) (*protocol.SkillsListResponse, error)
- func (c *Client) SubscribeNotifications(buffer int) *NotificationIterator
- func (c *Client) ThreadApproveGuardianDeniedAction(ctx context.Context, params protocol.ThreadApproveGuardianDeniedActionParams) (*protocol.ThreadApproveGuardianDeniedActionResponse, error)
- func (c *Client) ThreadArchive(ctx context.Context, params protocol.ThreadArchiveParams) (*protocol.ThreadArchiveResponse, error)
- func (c *Client) ThreadCompactStart(ctx context.Context, params protocol.ThreadCompactStartParams) (*protocol.ThreadCompactStartResponse, error)
- func (c *Client) ThreadDelete(ctx context.Context, params protocol.ThreadDeleteParams) (*protocol.ThreadDeleteResponse, error)
- func (c *Client) ThreadFork(ctx context.Context, params protocol.ThreadForkParams) (*protocol.ThreadForkResponse, error)
- func (c *Client) ThreadGoalClear(ctx context.Context, params protocol.ThreadGoalClearParams) (*protocol.ThreadGoalClearResponse, error)
- func (c *Client) ThreadGoalGet(ctx context.Context, params protocol.ThreadGoalGetParams) (*protocol.ThreadGoalGetResponse, error)
- func (c *Client) ThreadGoalSet(ctx context.Context, params protocol.ThreadGoalSetParams) (*protocol.ThreadGoalSetResponse, error)
- func (c *Client) ThreadInjectItems(ctx context.Context, params protocol.ThreadInjectItemsParams) (*protocol.ThreadInjectItemsResponse, error)
- func (c *Client) ThreadList(ctx context.Context, params protocol.ThreadListParams) (*protocol.ThreadListResponse, error)
- func (c *Client) ThreadLoadedList(ctx context.Context, params protocol.ThreadLoadedListParams) (*protocol.ThreadLoadedListResponse, error)
- func (c *Client) ThreadMetadataUpdate(ctx context.Context, params protocol.ThreadMetadataUpdateParams) (*protocol.ThreadMetadataUpdateResponse, error)
- func (c *Client) ThreadNameSet(ctx context.Context, params protocol.ThreadSetNameParams) (*protocol.ThreadSetNameResponse, error)
- func (c *Client) ThreadRead(ctx context.Context, params protocol.ThreadReadParams) (*protocol.ThreadReadResponse, error)
- func (c *Client) ThreadResume(ctx context.Context, params protocol.ThreadResumeParams) (*protocol.ThreadResumeResponse, error)
- func (c *Client) ThreadRollback(ctx context.Context, params protocol.ThreadRollbackParams) (*protocol.ThreadRollbackResponse, error)
- func (c *Client) ThreadShellCommand(ctx context.Context, params protocol.ThreadShellCommandParams) (*protocol.ThreadShellCommandResponse, error)
- func (c *Client) ThreadStart(ctx context.Context, params protocol.ThreadStartParams) (*protocol.ThreadStartResponse, error)
- func (c *Client) ThreadUnarchive(ctx context.Context, params protocol.ThreadUnarchiveParams) (*protocol.ThreadUnarchiveResponse, error)
- func (c *Client) ThreadUnsubscribe(ctx context.Context, params protocol.ThreadUnsubscribeParams) (*protocol.ThreadUnsubscribeResponse, error)
- func (c *Client) TurnInterrupt(ctx context.Context, params protocol.TurnInterruptParams) (*protocol.TurnInterruptResponse, error)
- func (c *Client) TurnStart(ctx context.Context, params protocol.TurnStartParams) (*protocol.TurnStartResponse, error)
- func (c *Client) TurnSteer(ctx context.Context, params protocol.TurnSteerParams) (*protocol.TurnSteerResponse, error)
- func (c *Client) WindowsSandboxReadiness(ctx context.Context) (*protocol.WindowsSandboxReadinessResponse, error)
- func (c *Client) WindowsSandboxSetupStart(ctx context.Context, params protocol.WindowsSandboxSetupStartParams) (*protocol.WindowsSandboxSetupStartResponse, error)
- type ClientOptions
- type ClientRequests
- type ConnTransport
- type JSONRPCError
- type JSONRPCErrorError
- type JSONRPCNotification
- type JSONRPCRequest
- type JSONRPCResponse
- type Notification
- type NotificationIterator
- type RecordTransport
- type ReplayTransport
- type RequestID
- type RercordTransport
- type ResponseError
- type ServerRequestHandler
- type StdioTransport
- type TranscriptDirection
- type TranscriptEntry
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultStderr ¶
DefaultStderr returns a safe default for spawned processes.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client manages JSON-RPC requests over a Transport.
func NewClient ¶
func NewClient(transport Transport, options ClientOptions) *Client
NewClient creates a JSON-RPC client over a Transport.
func (*Client) AccountLoginCancel ¶
func (c *Client) AccountLoginCancel(ctx context.Context, params protocol.CancelLoginAccountParams) (*protocol.CancelLoginAccountResponse, error)
Client implements ClientRequests using JSON-RPC.
func (*Client) AccountLoginStart ¶
func (c *Client) AccountLoginStart(ctx context.Context, params protocol.LoginAccountParams) (*protocol.LoginAccountResponse, error)
func (*Client) AccountLogout ¶
func (*Client) AccountRateLimitResetCreditConsume ¶
func (c *Client) AccountRateLimitResetCreditConsume(ctx context.Context, params protocol.ConsumeAccountRateLimitResetCreditParams) (*protocol.ConsumeAccountRateLimitResetCreditResponse, error)
func (*Client) AccountRateLimitsRead ¶
func (*Client) AccountRead ¶
func (c *Client) AccountRead(ctx context.Context, params protocol.GetAccountParams) (*protocol.GetAccountResponse, error)
func (*Client) AccountSendAddCreditsNudgeEmail ¶
func (c *Client) AccountSendAddCreditsNudgeEmail(ctx context.Context, params protocol.SendAddCreditsNudgeEmailParams) (*protocol.SendAddCreditsNudgeEmailResponse, error)
func (*Client) AccountUsageRead ¶
func (*Client) AccountWorkspaceMessagesRead ¶
func (*Client) AppList ¶
func (c *Client) AppList(ctx context.Context, params protocol.AppsListParams) (*protocol.AppsListResponse, error)
func (*Client) CommandExec ¶
func (c *Client) CommandExec(ctx context.Context, params protocol.CommandExecParams) (*protocol.CommandExecResponse, error)
func (*Client) CommandExecResize ¶
func (c *Client) CommandExecResize(ctx context.Context, params protocol.CommandExecResizeParams) (*protocol.CommandExecResizeResponse, error)
func (*Client) CommandExecTerminate ¶
func (c *Client) CommandExecTerminate(ctx context.Context, params protocol.CommandExecTerminateParams) (*protocol.CommandExecTerminateResponse, error)
func (*Client) CommandExecWrite ¶
func (c *Client) CommandExecWrite(ctx context.Context, params protocol.CommandExecWriteParams) (*protocol.CommandExecWriteResponse, error)
func (*Client) ConfigBatchWrite ¶
func (c *Client) ConfigBatchWrite(ctx context.Context, params protocol.ConfigBatchWriteParams) (*protocol.ConfigWriteResponse, error)
func (*Client) ConfigMcpServerReload ¶
func (*Client) ConfigRead ¶
func (c *Client) ConfigRead(ctx context.Context, params protocol.ConfigReadParams) (*protocol.ConfigReadResponse, error)
func (*Client) ConfigRequirementsRead ¶
func (*Client) ConfigValueWrite ¶
func (c *Client) ConfigValueWrite(ctx context.Context, params protocol.ConfigValueWriteParams) (*protocol.ConfigWriteResponse, error)
func (*Client) ExperimentalFeatureEnablementSet ¶
func (c *Client) ExperimentalFeatureEnablementSet(ctx context.Context, params protocol.ExperimentalFeatureEnablementSetParams) (*protocol.ExperimentalFeatureEnablementSetResponse, error)
func (*Client) ExperimentalFeatureList ¶
func (c *Client) ExperimentalFeatureList(ctx context.Context, params protocol.ExperimentalFeatureListParams) (*protocol.ExperimentalFeatureListResponse, error)
func (*Client) ExternalAgentConfigDetect ¶
func (c *Client) ExternalAgentConfigDetect(ctx context.Context, params protocol.ExternalAgentConfigDetectParams) (*protocol.ExternalAgentConfigDetectResponse, error)
func (*Client) ExternalAgentConfigImport ¶
func (c *Client) ExternalAgentConfigImport(ctx context.Context, params protocol.ExternalAgentConfigImportParams) (*protocol.ExternalAgentConfigImportResponse, error)
func (*Client) ExternalAgentConfigImportReadHistories ¶
func (*Client) FeedbackUpload ¶
func (c *Client) FeedbackUpload(ctx context.Context, params protocol.FeedbackUploadParams) (*protocol.FeedbackUploadResponse, error)
func (*Client) FsCopy ¶
func (c *Client) FsCopy(ctx context.Context, params protocol.FsCopyParams) (*protocol.FsCopyResponse, error)
func (*Client) FsCreateDirectory ¶
func (c *Client) FsCreateDirectory(ctx context.Context, params protocol.FsCreateDirectoryParams) (*protocol.FsCreateDirectoryResponse, error)
func (*Client) FsGetMetadata ¶
func (c *Client) FsGetMetadata(ctx context.Context, params protocol.FsGetMetadataParams) (*protocol.FsGetMetadataResponse, error)
func (*Client) FsReadDirectory ¶
func (c *Client) FsReadDirectory(ctx context.Context, params protocol.FsReadDirectoryParams) (*protocol.FsReadDirectoryResponse, error)
func (*Client) FsReadFile ¶
func (c *Client) FsReadFile(ctx context.Context, params protocol.FsReadFileParams) (*protocol.FsReadFileResponse, error)
func (*Client) FsRemove ¶
func (c *Client) FsRemove(ctx context.Context, params protocol.FsRemoveParams) (*protocol.FsRemoveResponse, error)
func (*Client) FsUnwatch ¶
func (c *Client) FsUnwatch(ctx context.Context, params protocol.FsUnwatchParams) (*protocol.FsUnwatchResponse, error)
func (*Client) FsWatch ¶
func (c *Client) FsWatch(ctx context.Context, params protocol.FsWatchParams) (*protocol.FsWatchResponse, error)
func (*Client) FsWriteFile ¶
func (c *Client) FsWriteFile(ctx context.Context, params protocol.FsWriteFileParams) (*protocol.FsWriteFileResponse, error)
func (*Client) FuzzyFileSearch ¶
func (c *Client) FuzzyFileSearch(ctx context.Context, params protocol.FuzzyFileSearchParams) (*protocol.FuzzyFileSearchResponse, error)
func (*Client) HooksList ¶
func (c *Client) HooksList(ctx context.Context, params protocol.HooksListParams) (*protocol.HooksListResponse, error)
func (*Client) Initialize ¶
func (c *Client) Initialize(ctx context.Context, params protocol.InitializeParams) (*protocol.InitializeResponse, error)
func (*Client) MarketplaceAdd ¶
func (c *Client) MarketplaceAdd(ctx context.Context, params protocol.MarketplaceAddParams) (*protocol.MarketplaceAddResponse, error)
func (*Client) MarketplaceRemove ¶
func (c *Client) MarketplaceRemove(ctx context.Context, params protocol.MarketplaceRemoveParams) (*protocol.MarketplaceRemoveResponse, error)
func (*Client) MarketplaceUpgrade ¶
func (c *Client) MarketplaceUpgrade(ctx context.Context, params protocol.MarketplaceUpgradeParams) (*protocol.MarketplaceUpgradeResponse, error)
func (*Client) McpServerOauthLogin ¶
func (c *Client) McpServerOauthLogin(ctx context.Context, params protocol.McpServerOauthLoginParams) (*protocol.McpServerOauthLoginResponse, error)
func (*Client) McpServerResourceRead ¶
func (c *Client) McpServerResourceRead(ctx context.Context, params protocol.McpResourceReadParams) (*protocol.McpResourceReadResponse, error)
func (*Client) McpServerStatusList ¶
func (c *Client) McpServerStatusList(ctx context.Context, params protocol.ListMcpServerStatusParams) (*protocol.ListMcpServerStatusResponse, error)
func (*Client) McpServerToolCall ¶
func (c *Client) McpServerToolCall(ctx context.Context, params protocol.McpServerToolCallParams) (*protocol.McpServerToolCallResponse, error)
func (*Client) ModelList ¶
func (c *Client) ModelList(ctx context.Context, params protocol.ModelListParams) (*protocol.ModelListResponse, error)
func (*Client) ModelProviderCapabilitiesRead ¶
func (c *Client) ModelProviderCapabilitiesRead(ctx context.Context, params protocol.ModelProviderCapabilitiesReadParams) (*protocol.ModelProviderCapabilitiesReadResponse, error)
func (*Client) PermissionProfileList ¶
func (c *Client) PermissionProfileList(ctx context.Context, params protocol.PermissionProfileListParams) (*protocol.PermissionProfileListResponse, error)
func (*Client) PluginInstall ¶
func (c *Client) PluginInstall(ctx context.Context, params protocol.PluginInstallParams) (*protocol.PluginInstallResponse, error)
func (*Client) PluginInstalled ¶
func (c *Client) PluginInstalled(ctx context.Context, params protocol.PluginInstalledParams) (*protocol.PluginInstalledResponse, error)
func (*Client) PluginList ¶
func (c *Client) PluginList(ctx context.Context, params protocol.PluginListParams) (*protocol.PluginListResponse, error)
func (*Client) PluginRead ¶
func (c *Client) PluginRead(ctx context.Context, params protocol.PluginReadParams) (*protocol.PluginReadResponse, error)
func (*Client) PluginShareCheckout ¶
func (c *Client) PluginShareCheckout(ctx context.Context, params protocol.PluginShareCheckoutParams) (*protocol.PluginShareCheckoutResponse, error)
func (*Client) PluginShareDelete ¶
func (c *Client) PluginShareDelete(ctx context.Context, params protocol.PluginShareDeleteParams) (*protocol.PluginShareDeleteResponse, error)
func (*Client) PluginShareList ¶
func (c *Client) PluginShareList(ctx context.Context, params protocol.PluginShareListParams) (*protocol.PluginShareListResponse, error)
func (*Client) PluginShareSave ¶
func (c *Client) PluginShareSave(ctx context.Context, params protocol.PluginShareSaveParams) (*protocol.PluginShareSaveResponse, error)
func (*Client) PluginShareUpdateTargets ¶
func (c *Client) PluginShareUpdateTargets(ctx context.Context, params protocol.PluginShareUpdateTargetsParams) (*protocol.PluginShareUpdateTargetsResponse, error)
func (*Client) PluginSkillRead ¶
func (c *Client) PluginSkillRead(ctx context.Context, params protocol.PluginSkillReadParams) (*protocol.PluginSkillReadResponse, error)
func (*Client) PluginUninstall ¶
func (c *Client) PluginUninstall(ctx context.Context, params protocol.PluginUninstallParams) (*protocol.PluginUninstallResponse, error)
func (*Client) ReviewStart ¶
func (c *Client) ReviewStart(ctx context.Context, params protocol.ReviewStartParams) (*protocol.ReviewStartResponse, error)
func (*Client) SetRequestHandler ¶
func (c *Client) SetRequestHandler(handler ServerRequestHandler)
SetRequestHandler replaces the server request handler.
func (*Client) SkillsConfigWrite ¶
func (c *Client) SkillsConfigWrite(ctx context.Context, params protocol.SkillsConfigWriteParams) (*protocol.SkillsConfigWriteResponse, error)
func (*Client) SkillsExtraRootsSet ¶
func (c *Client) SkillsExtraRootsSet(ctx context.Context, params protocol.SkillsExtraRootsSetParams) (*protocol.SkillsExtraRootsSetResponse, error)
func (*Client) SkillsList ¶
func (c *Client) SkillsList(ctx context.Context, params protocol.SkillsListParams) (*protocol.SkillsListResponse, error)
func (*Client) SubscribeNotifications ¶
func (c *Client) SubscribeNotifications(buffer int) *NotificationIterator
SubscribeNotifications creates an iterator over server notifications.
func (*Client) ThreadApproveGuardianDeniedAction ¶
func (c *Client) ThreadApproveGuardianDeniedAction(ctx context.Context, params protocol.ThreadApproveGuardianDeniedActionParams) (*protocol.ThreadApproveGuardianDeniedActionResponse, error)
func (*Client) ThreadArchive ¶
func (c *Client) ThreadArchive(ctx context.Context, params protocol.ThreadArchiveParams) (*protocol.ThreadArchiveResponse, error)
func (*Client) ThreadCompactStart ¶
func (c *Client) ThreadCompactStart(ctx context.Context, params protocol.ThreadCompactStartParams) (*protocol.ThreadCompactStartResponse, error)
func (*Client) ThreadDelete ¶
func (c *Client) ThreadDelete(ctx context.Context, params protocol.ThreadDeleteParams) (*protocol.ThreadDeleteResponse, error)
func (*Client) ThreadFork ¶
func (c *Client) ThreadFork(ctx context.Context, params protocol.ThreadForkParams) (*protocol.ThreadForkResponse, error)
func (*Client) ThreadGoalClear ¶
func (c *Client) ThreadGoalClear(ctx context.Context, params protocol.ThreadGoalClearParams) (*protocol.ThreadGoalClearResponse, error)
func (*Client) ThreadGoalGet ¶
func (c *Client) ThreadGoalGet(ctx context.Context, params protocol.ThreadGoalGetParams) (*protocol.ThreadGoalGetResponse, error)
func (*Client) ThreadGoalSet ¶
func (c *Client) ThreadGoalSet(ctx context.Context, params protocol.ThreadGoalSetParams) (*protocol.ThreadGoalSetResponse, error)
func (*Client) ThreadInjectItems ¶
func (c *Client) ThreadInjectItems(ctx context.Context, params protocol.ThreadInjectItemsParams) (*protocol.ThreadInjectItemsResponse, error)
func (*Client) ThreadList ¶
func (c *Client) ThreadList(ctx context.Context, params protocol.ThreadListParams) (*protocol.ThreadListResponse, error)
func (*Client) ThreadLoadedList ¶
func (c *Client) ThreadLoadedList(ctx context.Context, params protocol.ThreadLoadedListParams) (*protocol.ThreadLoadedListResponse, error)
func (*Client) ThreadMetadataUpdate ¶
func (c *Client) ThreadMetadataUpdate(ctx context.Context, params protocol.ThreadMetadataUpdateParams) (*protocol.ThreadMetadataUpdateResponse, error)
func (*Client) ThreadNameSet ¶
func (c *Client) ThreadNameSet(ctx context.Context, params protocol.ThreadSetNameParams) (*protocol.ThreadSetNameResponse, error)
func (*Client) ThreadRead ¶
func (c *Client) ThreadRead(ctx context.Context, params protocol.ThreadReadParams) (*protocol.ThreadReadResponse, error)
func (*Client) ThreadResume ¶
func (c *Client) ThreadResume(ctx context.Context, params protocol.ThreadResumeParams) (*protocol.ThreadResumeResponse, error)
func (*Client) ThreadRollback ¶
func (c *Client) ThreadRollback(ctx context.Context, params protocol.ThreadRollbackParams) (*protocol.ThreadRollbackResponse, error)
func (*Client) ThreadShellCommand ¶
func (c *Client) ThreadShellCommand(ctx context.Context, params protocol.ThreadShellCommandParams) (*protocol.ThreadShellCommandResponse, error)
func (*Client) ThreadStart ¶
func (c *Client) ThreadStart(ctx context.Context, params protocol.ThreadStartParams) (*protocol.ThreadStartResponse, error)
func (*Client) ThreadUnarchive ¶
func (c *Client) ThreadUnarchive(ctx context.Context, params protocol.ThreadUnarchiveParams) (*protocol.ThreadUnarchiveResponse, error)
func (*Client) ThreadUnsubscribe ¶
func (c *Client) ThreadUnsubscribe(ctx context.Context, params protocol.ThreadUnsubscribeParams) (*protocol.ThreadUnsubscribeResponse, error)
func (*Client) TurnInterrupt ¶
func (c *Client) TurnInterrupt(ctx context.Context, params protocol.TurnInterruptParams) (*protocol.TurnInterruptResponse, error)
func (*Client) TurnStart ¶
func (c *Client) TurnStart(ctx context.Context, params protocol.TurnStartParams) (*protocol.TurnStartResponse, error)
func (*Client) TurnSteer ¶
func (c *Client) TurnSteer(ctx context.Context, params protocol.TurnSteerParams) (*protocol.TurnSteerResponse, error)
func (*Client) WindowsSandboxReadiness ¶
func (*Client) WindowsSandboxSetupStart ¶
func (c *Client) WindowsSandboxSetupStart(ctx context.Context, params protocol.WindowsSandboxSetupStartParams) (*protocol.WindowsSandboxSetupStartResponse, error)
type ClientOptions ¶
type ClientOptions struct {
Logger *slog.Logger
RequestHandler ServerRequestHandler
}
type ClientRequests ¶
type ClientRequests interface {
AccountLoginCancel(ctx context.Context, params protocol.CancelLoginAccountParams) (*protocol.CancelLoginAccountResponse, error)
AccountLoginStart(ctx context.Context, params protocol.LoginAccountParams) (*protocol.LoginAccountResponse, error)
AccountLogout(ctx context.Context) (*protocol.LogoutAccountResponse, error)
AccountRateLimitResetCreditConsume(ctx context.Context, params protocol.ConsumeAccountRateLimitResetCreditParams) (*protocol.ConsumeAccountRateLimitResetCreditResponse, error)
AccountRateLimitsRead(ctx context.Context) (*protocol.GetAccountRateLimitsResponse, error)
AccountRead(ctx context.Context, params protocol.GetAccountParams) (*protocol.GetAccountResponse, error)
AccountSendAddCreditsNudgeEmail(ctx context.Context, params protocol.SendAddCreditsNudgeEmailParams) (*protocol.SendAddCreditsNudgeEmailResponse, error)
AccountUsageRead(ctx context.Context) (*protocol.GetAccountTokenUsageResponse, error)
AccountWorkspaceMessagesRead(ctx context.Context) (*protocol.GetWorkspaceMessagesResponse, error)
AppList(ctx context.Context, params protocol.AppsListParams) (*protocol.AppsListResponse, error)
CommandExec(ctx context.Context, params protocol.CommandExecParams) (*protocol.CommandExecResponse, error)
CommandExecResize(ctx context.Context, params protocol.CommandExecResizeParams) (*protocol.CommandExecResizeResponse, error)
CommandExecTerminate(ctx context.Context, params protocol.CommandExecTerminateParams) (*protocol.CommandExecTerminateResponse, error)
CommandExecWrite(ctx context.Context, params protocol.CommandExecWriteParams) (*protocol.CommandExecWriteResponse, error)
ConfigBatchWrite(ctx context.Context, params protocol.ConfigBatchWriteParams) (*protocol.ConfigWriteResponse, error)
ConfigMcpServerReload(ctx context.Context) (*protocol.McpServerRefreshResponse, error)
ConfigRead(ctx context.Context, params protocol.ConfigReadParams) (*protocol.ConfigReadResponse, error)
ConfigValueWrite(ctx context.Context, params protocol.ConfigValueWriteParams) (*protocol.ConfigWriteResponse, error)
ConfigRequirementsRead(ctx context.Context) (*protocol.ConfigRequirementsReadResponse, error)
ExperimentalFeatureEnablementSet(ctx context.Context, params protocol.ExperimentalFeatureEnablementSetParams) (*protocol.ExperimentalFeatureEnablementSetResponse, error)
ExperimentalFeatureList(ctx context.Context, params protocol.ExperimentalFeatureListParams) (*protocol.ExperimentalFeatureListResponse, error)
ExternalAgentConfigDetect(ctx context.Context, params protocol.ExternalAgentConfigDetectParams) (*protocol.ExternalAgentConfigDetectResponse, error)
ExternalAgentConfigImport(ctx context.Context, params protocol.ExternalAgentConfigImportParams) (*protocol.ExternalAgentConfigImportResponse, error)
ExternalAgentConfigImportReadHistories(ctx context.Context) (*protocol.ExternalAgentConfigImportHistoriesReadResponse, error)
FeedbackUpload(ctx context.Context, params protocol.FeedbackUploadParams) (*protocol.FeedbackUploadResponse, error)
FsCopy(ctx context.Context, params protocol.FsCopyParams) (*protocol.FsCopyResponse, error)
FsCreateDirectory(ctx context.Context, params protocol.FsCreateDirectoryParams) (*protocol.FsCreateDirectoryResponse, error)
FsGetMetadata(ctx context.Context, params protocol.FsGetMetadataParams) (*protocol.FsGetMetadataResponse, error)
FsReadDirectory(ctx context.Context, params protocol.FsReadDirectoryParams) (*protocol.FsReadDirectoryResponse, error)
FsReadFile(ctx context.Context, params protocol.FsReadFileParams) (*protocol.FsReadFileResponse, error)
FsRemove(ctx context.Context, params protocol.FsRemoveParams) (*protocol.FsRemoveResponse, error)
FsUnwatch(ctx context.Context, params protocol.FsUnwatchParams) (*protocol.FsUnwatchResponse, error)
FsWatch(ctx context.Context, params protocol.FsWatchParams) (*protocol.FsWatchResponse, error)
FsWriteFile(ctx context.Context, params protocol.FsWriteFileParams) (*protocol.FsWriteFileResponse, error)
FuzzyFileSearch(ctx context.Context, params protocol.FuzzyFileSearchParams) (*protocol.FuzzyFileSearchResponse, error)
HooksList(ctx context.Context, params protocol.HooksListParams) (*protocol.HooksListResponse, error)
Initialize(ctx context.Context, params protocol.InitializeParams) (*protocol.InitializeResponse, error)
MarketplaceAdd(ctx context.Context, params protocol.MarketplaceAddParams) (*protocol.MarketplaceAddResponse, error)
MarketplaceRemove(ctx context.Context, params protocol.MarketplaceRemoveParams) (*protocol.MarketplaceRemoveResponse, error)
MarketplaceUpgrade(ctx context.Context, params protocol.MarketplaceUpgradeParams) (*protocol.MarketplaceUpgradeResponse, error)
McpServerOauthLogin(ctx context.Context, params protocol.McpServerOauthLoginParams) (*protocol.McpServerOauthLoginResponse, error)
McpServerResourceRead(ctx context.Context, params protocol.McpResourceReadParams) (*protocol.McpResourceReadResponse, error)
McpServerToolCall(ctx context.Context, params protocol.McpServerToolCallParams) (*protocol.McpServerToolCallResponse, error)
McpServerStatusList(ctx context.Context, params protocol.ListMcpServerStatusParams) (*protocol.ListMcpServerStatusResponse, error)
ModelList(ctx context.Context, params protocol.ModelListParams) (*protocol.ModelListResponse, error)
ModelProviderCapabilitiesRead(ctx context.Context, params protocol.ModelProviderCapabilitiesReadParams) (*protocol.ModelProviderCapabilitiesReadResponse, error)
PermissionProfileList(ctx context.Context, params protocol.PermissionProfileListParams) (*protocol.PermissionProfileListResponse, error)
PluginInstall(ctx context.Context, params protocol.PluginInstallParams) (*protocol.PluginInstallResponse, error)
PluginInstalled(ctx context.Context, params protocol.PluginInstalledParams) (*protocol.PluginInstalledResponse, error)
PluginList(ctx context.Context, params protocol.PluginListParams) (*protocol.PluginListResponse, error)
PluginRead(ctx context.Context, params protocol.PluginReadParams) (*protocol.PluginReadResponse, error)
PluginSkillRead(ctx context.Context, params protocol.PluginSkillReadParams) (*protocol.PluginSkillReadResponse, error)
PluginUninstall(ctx context.Context, params protocol.PluginUninstallParams) (*protocol.PluginUninstallResponse, error)
ReviewStart(ctx context.Context, params protocol.ReviewStartParams) (*protocol.ReviewStartResponse, error)
SkillsConfigWrite(ctx context.Context, params protocol.SkillsConfigWriteParams) (*protocol.SkillsConfigWriteResponse, error)
SkillsExtraRootsSet(ctx context.Context, params protocol.SkillsExtraRootsSetParams) (*protocol.SkillsExtraRootsSetResponse, error)
SkillsList(ctx context.Context, params protocol.SkillsListParams) (*protocol.SkillsListResponse, error)
ThreadApproveGuardianDeniedAction(ctx context.Context, params protocol.ThreadApproveGuardianDeniedActionParams) (*protocol.ThreadApproveGuardianDeniedActionResponse, error)
ThreadArchive(ctx context.Context, params protocol.ThreadArchiveParams) (*protocol.ThreadArchiveResponse, error)
ThreadCompactStart(ctx context.Context, params protocol.ThreadCompactStartParams) (*protocol.ThreadCompactStartResponse, error)
ThreadDelete(ctx context.Context, params protocol.ThreadDeleteParams) (*protocol.ThreadDeleteResponse, error)
ThreadFork(ctx context.Context, params protocol.ThreadForkParams) (*protocol.ThreadForkResponse, error)
ThreadGoalClear(ctx context.Context, params protocol.ThreadGoalClearParams) (*protocol.ThreadGoalClearResponse, error)
ThreadGoalGet(ctx context.Context, params protocol.ThreadGoalGetParams) (*protocol.ThreadGoalGetResponse, error)
ThreadGoalSet(ctx context.Context, params protocol.ThreadGoalSetParams) (*protocol.ThreadGoalSetResponse, error)
ThreadInjectItems(ctx context.Context, params protocol.ThreadInjectItemsParams) (*protocol.ThreadInjectItemsResponse, error)
ThreadList(ctx context.Context, params protocol.ThreadListParams) (*protocol.ThreadListResponse, error)
ThreadLoadedList(ctx context.Context, params protocol.ThreadLoadedListParams) (*protocol.ThreadLoadedListResponse, error)
ThreadMetadataUpdate(ctx context.Context, params protocol.ThreadMetadataUpdateParams) (*protocol.ThreadMetadataUpdateResponse, error)
ThreadNameSet(ctx context.Context, params protocol.ThreadSetNameParams) (*protocol.ThreadSetNameResponse, error)
ThreadRead(ctx context.Context, params protocol.ThreadReadParams) (*protocol.ThreadReadResponse, error)
ThreadResume(ctx context.Context, params protocol.ThreadResumeParams) (*protocol.ThreadResumeResponse, error)
ThreadRollback(ctx context.Context, params protocol.ThreadRollbackParams) (*protocol.ThreadRollbackResponse, error)
ThreadShellCommand(ctx context.Context, params protocol.ThreadShellCommandParams) (*protocol.ThreadShellCommandResponse, error)
ThreadStart(ctx context.Context, params protocol.ThreadStartParams) (*protocol.ThreadStartResponse, error)
ThreadUnarchive(ctx context.Context, params protocol.ThreadUnarchiveParams) (*protocol.ThreadUnarchiveResponse, error)
ThreadUnsubscribe(ctx context.Context, params protocol.ThreadUnsubscribeParams) (*protocol.ThreadUnsubscribeResponse, error)
TurnInterrupt(ctx context.Context, params protocol.TurnInterruptParams) (*protocol.TurnInterruptResponse, error)
TurnStart(ctx context.Context, params protocol.TurnStartParams) (*protocol.TurnStartResponse, error)
TurnSteer(ctx context.Context, params protocol.TurnSteerParams) (*protocol.TurnSteerResponse, error)
WindowsSandboxReadiness(ctx context.Context) (*protocol.WindowsSandboxReadinessResponse, error)
WindowsSandboxSetupStart(ctx context.Context, params protocol.WindowsSandboxSetupStartParams) (*protocol.WindowsSandboxSetupStartResponse, error)
}
ClientRequests exposes typed JSON-RPC calls supported by the app-server.
type ConnTransport ¶
type ConnTransport struct {
// contains filtered or unexported fields
}
ConnTransport wraps an io.ReadWriteCloser.
func NewConnTransport ¶
func NewConnTransport(conn io.ReadWriteCloser) *ConnTransport
NewConnTransport wraps the connection in a Transport.
func (*ConnTransport) ReadLine ¶
func (t *ConnTransport) ReadLine() (string, error)
ReadLine reads a line from the connection.
func (*ConnTransport) WriteLine ¶
func (t *ConnTransport) WriteLine(line string) error
WriteLine writes a line to the connection.
type JSONRPCError ¶
type JSONRPCError struct {
ID RequestID `json:"id"`
Error JSONRPCErrorError `json:"error"`
}
JSONRPCError represents a JSON-RPC error response.
type JSONRPCErrorError ¶
type JSONRPCErrorError struct {
Code int64 `json:"code"`
Message string `json:"message"`
Data json.RawMessage `json:"data,omitempty"`
}
JSONRPCErrorError describes the error payload.
type JSONRPCNotification ¶
type JSONRPCNotification struct {
Method string `json:"method"`
Params json.RawMessage `json:"params,omitempty"`
}
JSONRPCNotification represents a JSON-RPC notification.
type JSONRPCRequest ¶
type JSONRPCRequest struct {
ID RequestID `json:"id"`
Method string `json:"method"`
Params json.RawMessage `json:"params,omitempty"`
}
JSONRPCRequest represents a JSON-RPC request.
func BuildClientRequest ¶
func BuildClientRequest(method string, params any, id RequestID) (JSONRPCRequest, error)
BuildClientRequest builds a JSON-RPC request for a client method.
type JSONRPCResponse ¶
type JSONRPCResponse struct {
ID RequestID `json:"id"`
Result json.RawMessage `json:"result"`
}
JSONRPCResponse represents a JSON-RPC response.
type Notification ¶
type Notification struct {
Method string
Params any
Raw json.RawMessage
}
Notification represents a typed server notification.
func (Notification) UnmarshalParams ¶
func (n Notification) UnmarshalParams(v any) error
UnmarshalParams decodes the raw notification params into v.
type NotificationIterator ¶
type NotificationIterator struct {
// contains filtered or unexported fields
}
NotificationIterator iterates notifications from the server.
func (*NotificationIterator) Close ¶
func (it *NotificationIterator) Close()
Close unsubscribes the iterator.
func (*NotificationIterator) Next ¶
func (it *NotificationIterator) Next(ctx context.Context) (Notification, error)
Next returns the next notification or an error.
type RecordTransport ¶
type RecordTransport struct {
// contains filtered or unexported fields
}
RecordTransport records all JSON-RPC traffic to a transcript.
func NewRecordTransport ¶
func NewRecordTransport(transport Transport) *RecordTransport
NewRecordTransport wraps a transport and records traffic.
func NewRercordTransport ¶
func NewRercordTransport(transport Transport) *RecordTransport
NewRercordTransport wraps a transport and records traffic.
func (*RecordTransport) Close ¶
func (t *RecordTransport) Close() error
Close closes the underlying transport.
func (*RecordTransport) ReadLine ¶
func (t *RecordTransport) ReadLine() (string, error)
ReadLine reads from the underlying transport and records the line.
func (*RecordTransport) Transcript ¶
func (t *RecordTransport) Transcript() []TranscriptEntry
Transcript returns a copy of the recorded transcript.
func (*RecordTransport) WriteLine ¶
func (t *RecordTransport) WriteLine(line string) error
WriteLine writes to the underlying transport and records the line.
type ReplayTransport ¶
type ReplayTransport struct {
// contains filtered or unexported fields
}
ReplayTransport replays a transcript of line-delimited JSON-RPC payloads. JSON writes are compared by value (after normalization) to tolerate key ordering differences.
func NewReplayTransport ¶
func NewReplayTransport(transcript []TranscriptEntry) *ReplayTransport
NewReplayTransport creates a ReplayTransport for a transcript.
func (*ReplayTransport) Close ¶
func (t *ReplayTransport) Close() error
Close stops the replay transport.
func (*ReplayTransport) ReadLine ¶
func (t *ReplayTransport) ReadLine() (string, error)
ReadLine returns the next recorded read line.
func (*ReplayTransport) WriteLine ¶
func (t *ReplayTransport) WriteLine(line string) error
WriteLine validates the next recorded write line.
type RequestID ¶
type RequestID struct {
// contains filtered or unexported fields
}
RequestID represents a JSON-RPC request id (string or integer).
func NewIntRequestID ¶
NewIntRequestID creates an integer request id.
func NewStringRequestID ¶
NewStringRequestID creates a string request id.
func (RequestID) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*RequestID) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type RercordTransport ¶
type RercordTransport = RecordTransport
RercordTransport is a misspelled alias for RecordTransport.
type ResponseError ¶
type ResponseError struct {
ID RequestID
Detail JSONRPCErrorError
}
ResponseError wraps a JSON-RPC error as a Go error.
func (*ResponseError) Error ¶
func (err *ResponseError) Error() string
type ServerRequestHandler ¶
type ServerRequestHandler interface {
AccountChatgptAuthTokensRefresh(ctx context.Context, params protocol.ChatgptAuthTokensRefreshParams) (*protocol.ChatgptAuthTokensRefreshResponse, error)
ApplyPatchApproval(ctx context.Context, params protocol.ApplyPatchApprovalParams) (*protocol.ApplyPatchApprovalResponse, error)
AttestationGenerate(ctx context.Context, params protocol.AttestationGenerateParams) (*protocol.AttestationGenerateResponse, error)
ExecCommandApproval(ctx context.Context, params protocol.ExecCommandApprovalParams) (*protocol.ExecCommandApprovalResponse, error)
ItemCommandExecutionRequestApproval(ctx context.Context, params protocol.CommandExecutionRequestApprovalParams) (*protocol.CommandExecutionRequestApprovalResponse, error)
ItemFileChangeRequestApproval(ctx context.Context, params protocol.FileChangeRequestApprovalParams) (*protocol.FileChangeRequestApprovalResponse, error)
ItemPermissionsRequestApproval(ctx context.Context, params protocol.PermissionsRequestApprovalParams) (*protocol.PermissionsRequestApprovalResponse, error)
ItemToolCall(ctx context.Context, params protocol.DynamicToolCallParams) (*protocol.DynamicToolCallResponse, error)
ItemToolRequestUserInput(ctx context.Context, params protocol.ToolRequestUserInputParams) (*protocol.ToolRequestUserInputResponse, error)
McpServerElicitationRequest(ctx context.Context, params protocol.McpServerElicitationRequestParams) (*protocol.McpServerElicitationRequestResponse, error)
}
ServerRequestHandler handles requests initiated by the app-server.
type StdioTransport ¶
type StdioTransport struct {
// contains filtered or unexported fields
}
StdioTransport wraps a spawned process using stdin/stdout JSONL.
func SpawnStdio ¶
func SpawnStdio(ctx context.Context, binary string, args []string, stderr io.Writer) (*StdioTransport, error)
SpawnStdio starts a command and uses its stdin/stdout for JSON-RPC.
func (*StdioTransport) ReadLine ¶
func (t *StdioTransport) ReadLine() (string, error)
ReadLine reads a single line from stdout.
func (*StdioTransport) WriteLine ¶
func (t *StdioTransport) WriteLine(line string) error
WriteLine writes a single line to stdin.
type TranscriptDirection ¶
type TranscriptDirection string
TranscriptDirection describes the direction of a recorded line.
const ( TranscriptRead TranscriptDirection = "read" TranscriptWrite TranscriptDirection = "write" )
type TranscriptEntry ¶
type TranscriptEntry struct {
Direction TranscriptDirection `json:"direction"`
Line string `json:"line"`
}
TranscriptEntry stores a single JSON-RPC line and its direction.