Skip to main content

Module rpc

Module rpc 

Source
Expand description

JSON-RPC request/response types and typed namespace builders for Client::rpc and session::Session::rpc. JSON-RPC request/response types and typed namespace builders.

All types are auto-generated from the Copilot CLI protocol schemas. This module is the stable public access point — the underlying crate-private modules where the types are defined are an implementation detail whose layout may change.

Use the crate::Client::rpc and crate::session::Session::rpc helper methods to obtain a typed view over the protocol surface.

Modules§

rpc_methods
JSON-RPC method name constants.

Structs§

AbortRequest
Parameters for aborting the current turn
AbortResult
Result of aborting the current turn
AccountGetQuotaRequest
Optional GitHub token used to look up quota for a specific user instead of the global auth context.
AccountGetQuotaResult
Quota usage snapshots for the resolved user, keyed by quota type.
AccountQuotaSnapshot
Schema for the AccountQuotaSnapshot type.
AgentDiscoveryPath
Schema for the AgentDiscoveryPath type.
AgentDiscoveryPathList
Canonical locations where custom agents can be created so the runtime will recognize them.
AgentGetCurrentResult
The currently selected custom agent, or null when using the default agent.
AgentInfo
Schema for the AgentInfo type.
AgentList
Custom agents available to the session.
AgentRegistryLiveTargetEntry
Full registry entry for the spawned child. Lets the controller call handleLiveTargetSelected(entry) directly without re-reading the registry (avoids a TOCTOU window).
AgentRegistryLogCapture
Per-spawn log-capture outcome; populated from spawnLiveTarget.
AgentRegistrySpawnError
child_process.spawn itself failed before the child entered the registry.
AgentRegistrySpawnRegistryTimeout
Spawn succeeded but the child did not publish a matching managed-server entry within the timeout.
AgentRegistrySpawnRequest
Inputs to spawn a managed-server child via the controller’s spawn delegate.
AgentRegistrySpawnSpawned
Managed-server child was spawned and registered successfully.
AgentRegistrySpawnValidationError
Synchronous pre-validation rejected the spawn request.
AgentReloadResult
Custom agents available to the session after reloading definitions from disk.
AgentSelectRequest
Name of the custom agent to select for subsequent turns.
AgentSelectResult
The newly selected custom agent.
AgentsDiscoverRequest
Optional project paths to include in agent discovery.
AgentsDiscoverResult
Agents discovered across user, project, plugin, and remote sources.
AgentsGetDiscoveryPathsRequest
Optional project paths to include when enumerating agent discovery directories.
AgentsGetDiscoveryPathsResult
Canonical locations where custom agents can be created so the runtime will recognize them.
AllowAllPermissionSetResult
Indicates whether the operation succeeded and reports the post-mutation state.
AllowAllPermissionState
Current full allow-all permission state.
ApiKeyAuthInfo
Schema for the ApiKeyAuthInfo type.
AttachmentBlob
Blob attachment with inline base64-encoded data
AttachmentDirectory
Directory attachment
AttachmentExtensionContext
Structured context contributed by an extension. Composer pills displayed in the host are forwarded back through session.send.attachments, then rendered into the model prompt as an <extension_context> XML block.
AttachmentFile
File attachment
AttachmentFileLineRange
Optional line range to scope the attachment to a specific section of the file
AttachmentGitHubReference
GitHub issue, pull request, or discussion reference
AttachmentSelection
Code selection attachment from an editor
AttachmentSelectionDetails
Position range of the selection within the file
AttachmentSelectionDetailsEnd
End position of the selection
AttachmentSelectionDetailsStart
Start position of the selection
CancelUserRequestedShellCommandResult
Cancellation result for a user-requested shell command.
CanvasAction
Canvas action that the agent or host can invoke. To discover the input schema for a particular action, call the list_canvas_capabilities tool.
CanvasActionInvokeRequest
Canvas action invocation parameters.
CanvasActionInvokeResult
Canvas action invocation result.
CanvasCloseRequest
Canvas close parameters.
CanvasHostContext
Host context supplied by the runtime.
CanvasHostContextCapabilities
Host capabilities
CanvasList
Declared canvases available in this session.
CanvasListOpenResult
Live open-canvas snapshot.
CanvasOpenRequest
Canvas open parameters.
CanvasOpenResult
Canvas open result returned by the provider.
CanvasProviderCloseRequest
Canvas close parameters sent to the provider.
CanvasProviderInvokeActionRequest
Canvas action invocation parameters sent to the provider.
CanvasProviderOpenRequest
Canvas open parameters sent to the provider.
CanvasProviderOpenResult
Canvas open result returned by the provider.
CanvasSessionContext
Session context supplied by the runtime.
ClientRpc
Typed view over the Client’s server-level RPC namespace.
ClientRpcAccount
account.* RPCs.
ClientRpcAgentRegistry
agentRegistry.* RPCs.
ClientRpcAgents
agents.* RPCs.
ClientRpcInstructions
instructions.* RPCs.
ClientRpcMcp
mcp.* RPCs.
ClientRpcMcpConfig
mcp.config.* RPCs.
ClientRpcModels
models.* RPCs.
ClientRpcPlugins
plugins.* RPCs.
ClientRpcPluginsMarketplaces
plugins.marketplaces.* RPCs.
ClientRpcRuntime
runtime.* RPCs.
ClientRpcSecrets
secrets.* RPCs.
ClientRpcSessionFs
sessionFs.* RPCs.
ClientRpcSessions
sessions.* RPCs.
ClientRpcSkills
skills.* RPCs.
ClientRpcSkillsConfig
skills.config.* RPCs.
ClientRpcTools
tools.* RPCs.
ClientRpcUser
user.* RPCs.
ClientRpcUserSettings
user.settings.* RPCs.
CommandList
Slash commands available in the session, after applying any include/exclude filters.
CommandsHandlePendingCommandRequest
Pending command request ID and an optional error if the client handler failed.
CommandsHandlePendingCommandResult
Indicates whether the pending client-handled command was completed successfully.
CommandsInvokeRequest
Slash command name and optional raw input string to invoke.
CommandsListRequest
Optional filters controlling which command sources to include in the listing.
CommandsRespondToQueuedCommandRequest
Queued-command request ID and the result indicating whether the host executed it (and whether to stop processing further queued commands).
CommandsRespondToQueuedCommandResult
Indicates whether the queued-command response was matched to a pending request.
ConnectRemoteSessionParams
Remote session connection parameters.
ConnectedRemoteSessionMetadata
Metadata for a connected remote session.
ConnectedRemoteSessionMetadataRepository
Repository associated with the connected remote session.
CopilotApiTokenAuthInfo
Schema for the CopilotApiTokenAuthInfo type.
CopilotUserResponse
Snapshot of the authenticated user’s Copilot subscription info, if known. Mirrors the GitHub API /copilot_internal/v2/token user response shape — the runtime trusts this verbatim and does not re-fetch when set.
CopilotUserResponseEndpoints
Schema for the CopilotUserResponseEndpoints type.
CopilotUserResponseQuotaSnapshots
Schema for the CopilotUserResponseQuotaSnapshots type.
CopilotUserResponseQuotaSnapshotsChat
Schema for the CopilotUserResponseQuotaSnapshotsChat type.
CopilotUserResponseQuotaSnapshotsCompletions
Schema for the CopilotUserResponseQuotaSnapshotsCompletions type.
CopilotUserResponseQuotaSnapshotsPremiumInteractions
Schema for the CopilotUserResponseQuotaSnapshotsPremiumInteractions type.
CurrentModel
The currently selected model, reasoning effort, and context tier for the session. The context tier reflects Session.getContextTier(), restored from the session journal on resume.
CurrentToolMetadata
Lightweight metadata for a currently initialized session tool
DiscoveredCanvas
Canvas available in the current session.
DiscoveredMcpServer
Schema for the DiscoveredMcpServer type.
EnqueueCommandParams
Slash-prefixed command string to enqueue for FIFO processing.
EnqueueCommandResult
Indicates whether the command was accepted into the local execution queue.
EnvAuthInfo
Schema for the EnvAuthInfo type.
EventLogReadRequest
Cursor, batch size, and optional long-poll/filter parameters for reading session events.
EventLogReleaseInterestResult
Indicates whether the operation succeeded.
EventLogTailResult
Snapshot of the current tail cursor without returning any events. Use this when a consumer wants to subscribe to live events going forward without first paginating through the entire persisted history (which would happen if read were called without a cursor on a long-lived session).
EventsReadResult
Batch of session events returned by a read, with cursor and continuation metadata.
ExecuteCommandParams
Slash command name and argument string to execute synchronously.
ExecuteCommandResult
Error message produced while executing the command, if any.
Extension
Schema for the Extension type.
ExtensionContextPushInput
Slim input shape for extension_context attachments; identity fields are runtime-derived.
ExtensionList
Extensions discovered for the session, with their current status.
ExtensionsDisableRequest
Source-qualified extension identifier to disable for the session.
ExtensionsEnableRequest
Source-qualified extension identifier to enable for the session.
ExternalToolTextResultForLlm
Expanded external tool result payload
ExternalToolTextResultForLlmBinaryResultsForLlm
Binary result returned by a tool for the model
ExternalToolTextResultForLlmContentAudio
Audio content block with base64-encoded data
ExternalToolTextResultForLlmContentImage
Image content block with base64-encoded data
ExternalToolTextResultForLlmContentResource
Embedded resource content block with inline text or binary data
ExternalToolTextResultForLlmContentResourceLink
Resource link content block referencing an external resource
ExternalToolTextResultForLlmContentResourceLinkIcon
Icon image for a resource
ExternalToolTextResultForLlmContentTerminal
Terminal/shell output content block with optional exit code and working directory
ExternalToolTextResultForLlmContentText
Plain text content block
FleetStartRequest
Optional user prompt to combine with the fleet orchestration instructions.
FleetStartResult
Indicates whether fleet mode was successfully activated.
FolderTrustAddParams
Folder path to add to trusted folders.
FolderTrustCheckParams
Folder path to check for trust.
FolderTrustCheckResult
Folder trust check result.
GhCliAuthInfo
Schema for the GhCliAuthInfo type.
HMACAuthInfo
Schema for the HMACAuthInfo type.
HandlePendingToolCallRequest
Pending external tool call request ID, with the tool result or an error describing why it failed.
HandlePendingToolCallResult
Indicates whether the external tool call result was handled successfully.
HistoryAbortManualCompactionResult
Indicates whether an in-progress manual compaction was aborted.
HistoryCancelBackgroundCompactionResult
Indicates whether an in-progress background compaction was cancelled.
HistoryCompactContextWindow
Post-compaction context window usage breakdown
HistoryCompactRequest
Optional compaction parameters.
HistoryCompactResult
Compaction outcome with the number of tokens and messages removed, summary text, and the resulting context window breakdown.
HistorySummarizeForHandoffResult
Markdown summary of the conversation context (empty when not available).
HistoryTruncateRequest
Identifier of the event to truncate to; this event and all later events are removed.
HistoryTruncateResult
Number of events that were removed by the truncation.
InstalledPlugin
Schema for the InstalledPlugin type.
InstalledPluginInfo
Information about an installed plugin tracked in global state.
InstalledPluginSourceGitHub
Schema for the InstalledPluginSourceGitHub type.
InstalledPluginSourceLocal
Schema for the InstalledPluginSourceLocal type.
InstalledPluginSourceUrl
Schema for the InstalledPluginSourceUrl type.
InstructionDiscoveryPath
Schema for the InstructionDiscoveryPath type.
InstructionDiscoveryPathList
Canonical files and directories where custom instructions can be created so the runtime will recognize them.
InstructionSource
Schema for the InstructionSource type.
InstructionsDiscoverRequest
Optional project paths to include in instruction discovery.
InstructionsDiscoverResult
Instruction sources discovered across user, repository, and plugin sources.
InstructionsGetDiscoveryPathsRequest
Optional project paths to include when enumerating instruction discovery targets.
InstructionsGetDiscoveryPathsResult
Canonical files and directories where custom instructions can be created so the runtime will recognize them.
InstructionsGetSourcesResult
Instruction sources loaded for the session, in merge order.
LocalSessionMetadataValue
Schema for the LocalSessionMetadataValue type.
LogRequest
Message text, optional severity level, persistence flag, optional follow-up URL, and optional tip.
LogResult
Identifier of the session event that was emitted for the log message.
LspInitializeRequest
Parameters for (re)loading the merged LSP configuration set.
MarketplaceAddResult
Result of registering a new marketplace.
MarketplaceBrowseResult
Plugins advertised by the marketplace.
MarketplaceInfo
Registered marketplace summary.
MarketplaceListResult
All registered marketplaces, including built-in defaults.
MarketplacePluginInfo
Plugin entry advertised by a marketplace.
MarketplaceRefreshEntry
Schema for the MarketplaceRefreshEntry type.
MarketplaceRefreshResult
Result of refreshing one or more marketplace catalogs.
MarketplaceRemoveResult
Outcome of the remove attempt, including dependent-plugin info when applicable.
McpAllowedServer
Schema for the McpAllowedServer type.
McpAppsCallToolRequest
MCP server, tool name, and arguments to invoke from an MCP App view.
McpAppsDiagnoseCapability
Capability negotiation snapshot
McpAppsDiagnoseRequest
MCP server to diagnose MCP Apps wiring for.
McpAppsDiagnoseResult
Diagnostic snapshot of MCP Apps wiring for the named server.
McpAppsDiagnoseServer
What the server returned for this session
McpAppsHostContext
Current host context advertised to MCP App guests.
McpAppsHostContextDetails
Current host context
McpAppsListToolsRequest
MCP server to list app-callable tools for.
McpAppsListToolsResult
App-callable tools from the named MCP server.
McpAppsReadResourceRequest
MCP server and resource URI to fetch.
McpAppsReadResourceResult
Resource contents returned by the MCP server.
McpAppsResourceContent
Schema for the McpAppsResourceContent type.
McpAppsSetHostContextDetails
Host context advertised to MCP App guests
McpAppsSetHostContextRequest
Host context to advertise to MCP App guests.
McpCancelSamplingExecutionParams
The requestId previously passed to executeSampling that should be cancelled.
McpCancelSamplingExecutionResult
Indicates whether an in-flight sampling execution with the given requestId was found and cancelled.
McpConfigAddRequest
MCP server name and configuration to add to user configuration.
McpConfigDisableRequest
MCP server names to disable for new sessions.
McpConfigEnableRequest
MCP server names to enable for new sessions.
McpConfigList
User-configured MCP servers, keyed by server name.
McpConfigListResult
User-configured MCP servers, keyed by server name.
McpConfigRemoveRequest
MCP server name to remove from user configuration.
McpConfigUpdateRequest
MCP server name and replacement configuration to write to user configuration.
McpConfigureGitHubResult
Result of configuring GitHub MCP.
McpDisableRequest
Name of the MCP server to disable for the session.
McpDiscoverRequest
Optional working directory used as context for MCP server discovery.
McpDiscoverResult
MCP servers discovered from user, workspace, plugin, and built-in sources.
McpEnableRequest
Name of the MCP server to enable for the session.
McpExecuteSamplingParams
Identifiers and raw MCP CreateMessageRequest params used to run a sampling inference.
McpExecuteSamplingRequest
Raw MCP CreateMessageRequest params, as received in the sampling.requested event. Treated as opaque at the schema layer; the runtime converts the embedded MCP messages into the OpenAI chat-completion shape internally.
McpFilteredServer
Schema for the McpFilteredServer type.
McpHostState
Host-level state, omitted when no MCP host is initialized.
McpIsServerRunningRequest
Server name to check running status for.
McpIsServerRunningResult
Whether the named MCP server is running.
McpListToolsRequest
Server name whose tool list should be returned.
McpListToolsResult
Tools exposed by the connected MCP server. Throws when the server is not connected.
McpOauthLoginRequest
Remote MCP server name and optional overrides controlling reauthentication, OAuth client display name, and the callback success-page copy.
McpOauthLoginResult
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
McpOauthRespondResult
Empty result after recording the MCP OAuth response.
McpRemoveGitHubResult
Indicates whether the auto-managed github MCP server was removed (false when nothing to remove).
McpSamplingExecutionResult
Outcome of an MCP sampling execution: success result, failure error, or cancellation.
McpServer
Schema for the McpServer type.
McpServerAuthConfigRedirectPort
Authentication settings with optional redirect port configuration.
McpServerConfigHttp
Remote MCP server configuration accessed over HTTP or SSE.
McpServerConfigStdio
Stdio MCP server configuration launched as a child process.
McpServerFailureInfo
Recorded MCP server connection failure.
McpServerList
MCP servers configured for the session, with their connection status and host-level state.
McpServerNeedsAuthInfo
Recorded MCP server pending-auth state.
McpSetEnvValueModeParams
Mode controlling how MCP server env values are resolved (direct or indirect).
McpSetEnvValueModeResult
Env-value mode recorded on the session after the update.
McpStartServersResult
MCP server startup filtering result.
McpStopServerRequest
Server name for an individual MCP server stop.
McpTools
Schema for the McpTools type.
MemoryConfiguration
Memory configuration for this session.
MetadataContextInfoRequest
Model identifier and token limits used to compute the context-info breakdown.
MetadataContextInfoResult
Token breakdown for the session’s current context window, or null if uninitialized.
MetadataContextInfoResultContextInfo
Token-usage breakdown for the session’s current context window
MetadataIsProcessingResult
Indicates whether the local session is currently processing a turn or background continuation.
MetadataRecomputeContextTokensRequest
Model identifier to use when re-tokenizing the session’s existing messages.
MetadataRecomputeContextTokensResult
Re-tokenize the session’s existing messages against modelId and return the token totals. Useful for hosts that want an initial estimate of context usage on session resume, before the next agent turn fires session.context_info_changed events. Returns zeros for an empty session.
MetadataRecordContextChangeRequest
Updated working-directory/git context to record on the session.
MetadataRecordContextChangeResult
Notify the session that its working directory context has changed. Emits a session.context_changed event so consumers (telemetry, OTel tracker, ACP, the timeline UI) can react. Use this when the host has detected a cwd/branch/repo change outside the session’s normal lifecycle (e.g., after a shell command in interactive mode).
MetadataSetWorkingDirectoryRequest
Absolute path to set as the session’s new working directory.
MetadataSetWorkingDirectoryResult
Update the session’s working directory. Used by the host when the user explicitly changes cwd (e.g., the /cd slash command). The host is responsible for process.chdir and any related side-effects (file index, etc.); this method only updates the session’s own recorded path.
MetadataSnapshotRemoteMetadata
Remote-session-specific metadata. Populated only when isRemote is true. Fields are immutable for the lifetime of the session.
MetadataSnapshotRemoteMetadataRepository
The repository the remote session targets.
ModeSetRequest
Agent interaction mode to apply to the session.
Model
Schema for the Model type.
ModelBilling
Billing information
ModelBillingTokenPrices
Token-level pricing information for this model
ModelBillingTokenPricesLongContext
Long context tier pricing (available for models with extended context windows)
ModelCapabilities
Model capabilities and limits
ModelCapabilitiesLimits
Token limits for prompts, outputs, and context window
ModelCapabilitiesLimitsVision
Vision-specific limits
ModelCapabilitiesOverride
Optional capability overrides (vision, tool_calls, reasoning, etc.).
ModelCapabilitiesOverrideLimits
Token limits for prompts, outputs, and context window
ModelCapabilitiesOverrideLimitsVision
Vision-specific limits
ModelCapabilitiesOverrideSupports
Feature flags indicating what the model supports
ModelCapabilitiesSupports
Feature flags indicating what the model supports
ModelList
List of Copilot models available to the resolved user, including capabilities and billing metadata.
ModelListRequest
Optional listing options.
ModelPolicy
Policy state (if applicable)
ModelSetReasoningEffortRequest
Reasoning effort level to apply to the currently selected model.
ModelSetReasoningEffortResult
Update the session’s reasoning effort without changing the selected model. Use switchTo instead when you also need to change the model. The runtime stores the effort on the session and applies it to subsequent turns.
ModelSwitchToRequest
Target model identifier and optional reasoning effort, summary, capability overrides, and context tier.
ModelSwitchToResult
The model identifier active on the session after the switch.
ModelsListRequest
Optional GitHub token used to list models for a specific user instead of the global auth context.
ModelsListResult
List of Copilot models available to the resolved user, including capabilities and billing metadata.
NameGetResult
The session’s friendly name, or null when not yet set.
NameSetAutoRequest
Auto-generated session summary to apply as the session’s name when no user-set name exists.
NameSetAutoResult
Indicates whether the auto-generated summary was applied as the session’s name.
NameSetRequest
New friendly name to apply to the session.
NamedProviderConfig
A named BYOK provider connection (transport + credentials).
OpenCanvasInstance
Open canvas instance snapshot.
OptionsUpdateAdditionalContentExclusionPolicy
Schema for the OptionsUpdateAdditionalContentExclusionPolicy type.
OptionsUpdateAdditionalContentExclusionPolicyRule
Schema for the OptionsUpdateAdditionalContentExclusionPolicyRule type.
OptionsUpdateAdditionalContentExclusionPolicyRuleSource
Schema for the OptionsUpdateAdditionalContentExclusionPolicyRuleSource type.
PendingPermissionRequest
Schema for the PendingPermissionRequest type.
PendingPermissionRequestList
List of pending permission requests reconstructed from event history.
PermissionDecisionApproveForLocation
Schema for the PermissionDecisionApproveForLocation type.
PermissionDecisionApproveForLocationApprovalCommands
Schema for the PermissionDecisionApproveForLocationApprovalCommands type.
PermissionDecisionApproveForLocationApprovalCustomTool
Schema for the PermissionDecisionApproveForLocationApprovalCustomTool type.
PermissionDecisionApproveForLocationApprovalExtensionManagement
Schema for the PermissionDecisionApproveForLocationApprovalExtensionManagement type.
PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess
Schema for the PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess type.
PermissionDecisionApproveForLocationApprovalMcp
Schema for the PermissionDecisionApproveForLocationApprovalMcp type.
PermissionDecisionApproveForLocationApprovalMcpSampling
Schema for the PermissionDecisionApproveForLocationApprovalMcpSampling type.
PermissionDecisionApproveForLocationApprovalMemory
Schema for the PermissionDecisionApproveForLocationApprovalMemory type.
PermissionDecisionApproveForLocationApprovalRead
Schema for the PermissionDecisionApproveForLocationApprovalRead type.
PermissionDecisionApproveForLocationApprovalWrite
Schema for the PermissionDecisionApproveForLocationApprovalWrite type.
PermissionDecisionApproveForSession
Schema for the PermissionDecisionApproveForSession type.
PermissionDecisionApproveForSessionApprovalCommands
Schema for the PermissionDecisionApproveForSessionApprovalCommands type.
PermissionDecisionApproveForSessionApprovalCustomTool
Schema for the PermissionDecisionApproveForSessionApprovalCustomTool type.
PermissionDecisionApproveForSessionApprovalExtensionManagement
Schema for the PermissionDecisionApproveForSessionApprovalExtensionManagement type.
PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess
Schema for the PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess type.
PermissionDecisionApproveForSessionApprovalMcp
Schema for the PermissionDecisionApproveForSessionApprovalMcp type.
PermissionDecisionApproveForSessionApprovalMcpSampling
Schema for the PermissionDecisionApproveForSessionApprovalMcpSampling type.
PermissionDecisionApproveForSessionApprovalMemory
Schema for the PermissionDecisionApproveForSessionApprovalMemory type.
PermissionDecisionApproveForSessionApprovalRead
Schema for the PermissionDecisionApproveForSessionApprovalRead type.
PermissionDecisionApproveForSessionApprovalWrite
Schema for the PermissionDecisionApproveForSessionApprovalWrite type.
PermissionDecisionApproveOnce
Schema for the PermissionDecisionApproveOnce type.
PermissionDecisionApprovePermanently
Schema for the PermissionDecisionApprovePermanently type.
PermissionDecisionApproved
Schema for the PermissionDecisionApproved type.
PermissionDecisionApprovedForLocation
Schema for the PermissionDecisionApprovedForLocation type.
PermissionDecisionApprovedForSession
Schema for the PermissionDecisionApprovedForSession type.
PermissionDecisionCancelled
Schema for the PermissionDecisionCancelled type.
PermissionDecisionDeniedByContentExclusionPolicy
Schema for the PermissionDecisionDeniedByContentExclusionPolicy type.
PermissionDecisionDeniedByPermissionRequestHook
Schema for the PermissionDecisionDeniedByPermissionRequestHook type.
PermissionDecisionDeniedByRules
Schema for the PermissionDecisionDeniedByRules type.
PermissionDecisionDeniedInteractivelyByUser
Schema for the PermissionDecisionDeniedInteractivelyByUser type.
PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser
Schema for the PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser type.
PermissionDecisionReject
Schema for the PermissionDecisionReject type.
PermissionDecisionRequest
Pending permission request ID and the decision to apply (approve/reject and scope).
PermissionDecisionUserNotAvailable
Schema for the PermissionDecisionUserNotAvailable type.
PermissionLocationAddToolApprovalParams
Location-scoped tool approval to persist.
PermissionLocationApplyParams
Working directory to load persisted location permissions for.
PermissionLocationApplyResult
Summary of persisted location permissions applied to the session.
PermissionLocationResolveParams
Working directory to resolve into a location-permissions key.
PermissionLocationResolveResult
Resolved location-permissions key and type.
PermissionPathsAddParams
Directory path to add to the session’s allowed directories.
PermissionPathsAllowedCheckParams
Path to evaluate against the session’s allowed directories.
PermissionPathsAllowedCheckResult
Indicates whether the supplied path is within the session’s allowed directories.
PermissionPathsConfig
If specified, replaces the session’s path-permission policy. The runtime constructs the appropriate PathManager based on these inputs (rooted at the session’s working directory). Omit to leave the current path policy unchanged.
PermissionPathsList
Snapshot of the session’s allow-listed directories and primary working directory.
PermissionPathsUpdatePrimaryParams
Directory path to set as the session’s new primary working directory.
PermissionPathsWorkspaceCheckParams
Path to evaluate against the session’s workspace (primary) directory.
PermissionPathsWorkspaceCheckResult
Indicates whether the supplied path is within the session’s workspace directory.
PermissionPromptShownNotification
Notification payload describing the permission prompt that the client just rendered.
PermissionRequestResult
Indicates whether the permission decision was applied; false when the request was already resolved.
PermissionRulesSet
If specified, replaces the session’s approved/denied permission rules. Omit to leave the current rules unchanged.
PermissionUrlsConfig
If specified, replaces the session’s URL-permission policy. The runtime constructs a fresh DefaultUrlManager based on these inputs. Omit to leave the current URL policy unchanged.
PermissionUrlsSetUnrestrictedModeParams
Whether the URL-permission policy should run in unrestricted mode.
PermissionsConfigureAdditionalContentExclusionPolicy
Schema for the PermissionsConfigureAdditionalContentExclusionPolicy type.
PermissionsConfigureAdditionalContentExclusionPolicyRule
Schema for the PermissionsConfigureAdditionalContentExclusionPolicyRule type.
PermissionsConfigureAdditionalContentExclusionPolicyRuleSource
Schema for the PermissionsConfigureAdditionalContentExclusionPolicyRuleSource type.
PermissionsConfigureParams
Patch of permission policy fields to apply (omit a field to leave it unchanged).
PermissionsConfigureResult
Indicates whether the operation succeeded.
PermissionsFolderTrustAddTrustedResult
Indicates whether the operation succeeded.
PermissionsGetAllowAllRequest
No parameters.
PermissionsLocationsAddToolApprovalDetailsCommands
Schema for the PermissionsLocationsAddToolApprovalDetailsCommands type.
PermissionsLocationsAddToolApprovalDetailsCustomTool
Schema for the PermissionsLocationsAddToolApprovalDetailsCustomTool type.
PermissionsLocationsAddToolApprovalDetailsExtensionManagement
Schema for the PermissionsLocationsAddToolApprovalDetailsExtensionManagement type.
PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess
Schema for the PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess type.
PermissionsLocationsAddToolApprovalDetailsMcp
Schema for the PermissionsLocationsAddToolApprovalDetailsMcp type.
PermissionsLocationsAddToolApprovalDetailsMcpSampling
Schema for the PermissionsLocationsAddToolApprovalDetailsMcpSampling type.
PermissionsLocationsAddToolApprovalDetailsMemory
Schema for the PermissionsLocationsAddToolApprovalDetailsMemory type.
PermissionsLocationsAddToolApprovalDetailsRead
Schema for the PermissionsLocationsAddToolApprovalDetailsRead type.
PermissionsLocationsAddToolApprovalDetailsWrite
Schema for the PermissionsLocationsAddToolApprovalDetailsWrite type.
PermissionsLocationsAddToolApprovalResult
Indicates whether the operation succeeded.
PermissionsModifyRulesParams
Scope and add/remove instructions for modifying session- or location-scoped permission rules.
PermissionsModifyRulesResult
Indicates whether the operation succeeded.
PermissionsNotifyPromptShownResult
Indicates whether the operation succeeded.
PermissionsPathsAddResult
Indicates whether the operation succeeded.
PermissionsPathsListRequest
No parameters; returns the session’s allow-listed directories.
PermissionsPathsUpdatePrimaryResult
Indicates whether the operation succeeded.
PermissionsPendingRequestsRequest
No parameters; returns currently-pending permission requests for the session.
PermissionsResetSessionApprovalsRequest
No parameters; clears all session-scoped tool permission approvals.
PermissionsResetSessionApprovalsResult
Indicates whether the operation succeeded.
PermissionsSetAllowAllRequest
Whether to enable full allow-all permissions for the session.
PermissionsSetApproveAllRequest
Allow-all toggle for tool permission requests, with an optional telemetry source.
PermissionsSetApproveAllResult
Indicates whether the operation succeeded.
PermissionsSetRequiredRequest
Toggles whether permission prompts should be bridged into session events for this client.
PermissionsSetRequiredResult
Indicates whether the operation succeeded.
PermissionsUrlsSetUnrestrictedModeResult
Indicates whether the operation succeeded.
PingRequest
Optional message to echo back to the caller.
PingResult
Server liveness response, including the echoed message, current server timestamp, and protocol version.
PlanReadResult
Existence, contents, and resolved path of the session plan file.
PlanReadSqlTodosResult
Todo rows read from the session SQL database. Empty when no session database is available.
PlanReadSqlTodosWithDependenciesResult
Todo rows + dependency edges read from the session SQL database.
PlanSqlTodoDependency
A single dependency edge read from the session SQL todo_deps table, indicating that one todo must complete before another.
PlanSqlTodosRow
A single todo row read from the session SQL todos table. All fields are optional because the SQL schema is best-effort and the agent may not have populated every column.
PlanUpdateRequest
Replacement contents to write to the session plan file.
Plugin
Schema for the Plugin type.
PluginInstallResult
Result of installing a plugin.
PluginList
Plugins installed for the session, with their enabled state and version metadata.
PluginListResult
Plugins installed in user/global state.
PluginUpdateAllEntry
Schema for the PluginUpdateAllEntry type.
PluginUpdateAllResult
Result of updating all installed plugins.
PluginUpdateResult
Result of updating a single plugin.
PluginsDisableRequest
Plugin names (or specs) to disable.
PluginsEnableRequest
Plugin names (or specs) to enable.
PluginsInstallRequest
Plugin source and optional working directory for relative-path resolution.
PluginsInstallResult
Result of installing a plugin.
PluginsListResult
Plugins installed in user/global state.
PluginsMarketplacesAddRequest
Marketplace source to register.
PluginsMarketplacesAddResult
Result of registering a new marketplace.
PluginsMarketplacesBrowseRequest
Name of the marketplace whose plugin catalog to fetch.
PluginsMarketplacesBrowseResult
Plugins advertised by the marketplace.
PluginsMarketplacesListResult
All registered marketplaces, including built-in defaults.
PluginsMarketplacesRefreshRequest
Optional marketplace name; omit to refresh all.
PluginsMarketplacesRefreshResult
Result of refreshing one or more marketplace catalogs.
PluginsMarketplacesRemoveRequest
Name of the marketplace to remove and an optional force flag.
PluginsMarketplacesRemoveResult
Outcome of the remove attempt, including dependent-plugin info when applicable.
PluginsReloadRequest
Optional flags controlling which side effects the reload performs.
PluginsUninstallRequest
Name (or spec) of the plugin to uninstall.
PluginsUpdateAllResult
Result of updating all installed plugins.
PluginsUpdateRequest
Name (or spec) of the plugin to update.
PluginsUpdateResult
Result of updating a single plugin.
PollSpawnedSessionsResult
Batch of spawn events plus a cursor for follow-up polls.
ProviderConfig
Custom model-provider configuration (BYOK).
ProviderConfigAzure
Azure-specific provider options.
ProviderEndpoint
A snapshot of the provider endpoint the session is currently configured to talk to.
ProviderGetEndpointRequest
Optional model identifier to scope the endpoint snapshot to.
ProviderModelConfig
A BYOK model definition referencing a named provider.
ProviderSessionToken
Short-lived, rotating credential the caller must send on every request, in addition to apiKey if one is present. Omitted when the endpoint does not require one.
PushAttachmentBlob
Blob attachment with inline base64-encoded data
PushAttachmentDirectory
Directory attachment
PushAttachmentFile
File attachment
PushAttachmentFileLineRange
Optional line range to scope the attachment to a specific section of the file
PushAttachmentGitHubReference
GitHub issue, pull request, or discussion reference
PushAttachmentSelection
Code selection attachment from an editor
PushAttachmentSelectionDetails
Position range of the selection within the file
PushAttachmentSelectionDetailsEnd
End position of the selection
PushAttachmentSelectionDetailsStart
Start position of the selection
QueuePendingItems
Schema for the QueuePendingItems type.
QueuePendingItemsResult
Snapshot of the session’s pending queued items and immediate-steering messages.
QueueRemoveMostRecentResult
Indicates whether a user-facing pending item was removed.
QueuedCommandHandled
Schema for the QueuedCommandHandled type.
QueuedCommandNotHandled
Schema for the QueuedCommandNotHandled type.
RegisterEventInterestParams
Event type to register consumer interest for, used by runtime gating logic.
RegisterEventInterestResult
Opaque handle representing an event-type interest registration.
ReleaseEventInterestParams
Opaque handle previously returned by registerInterest to release.
RemoteControlConfig
Configuration for the runtime-managed remote-control singleton.
RemoteControlConfigExistingMcSession
Reattach to an existing MC session without creating a new one.
RemoteControlStatusActive
Remote control is connected to a local session.
RemoteControlStatusConnecting
Remote control is in the middle of initial setup.
RemoteControlStatusError
The last setup attempt failed. The singleton is otherwise off.
RemoteControlStatusOff
Remote control is not connected.
RemoteControlStatusResult
Wrapper for the singleton’s current status.
RemoteControlStopResult
Outcome of a stopRemoteControl call.
RemoteControlTransferResult
Outcome of a transferRemoteControl call.
RemoteEnableRequest
Optional remote session mode (“off”, “export”, or “on”); defaults to enabling both export and remote steering.
RemoteEnableResult
GitHub URL for the session and a flag indicating whether remote steering is enabled.
RemoteNotifySteerableChangedRequest
New remote-steerability state to persist as a session.remote_steerable_changed event.
RemoteNotifySteerableChangedResult
Persist a steerability change as a session.remote_steerable_changed event. Used by the host (CLI / SDK consumer) when it has just finished enabling or disabling steering on a remote exporter that the runtime does not directly own.
RemoteSessionConnectionResult
Remote session connection result.
RemoteSessionMetadataRepository
GitHub repository the remote session belongs to.
RemoteSessionMetadataValue
Remote session metadata for the session to hand off (typically obtained from sessions.list with source: "remote").
RemoteSessionRepository
Repository context for the remote session.
SandboxConfig
Resolved sandbox configuration.
SandboxConfigUserPolicy
User-managed sandbox policy fragment merged into the auto-discovered base policy.
SandboxConfigUserPolicyExperimental
Platform-specific experimental policy fields.
SandboxConfigUserPolicyExperimentalSeatbelt
macOS seatbelt experimental options.
SandboxConfigUserPolicyFilesystem
Filesystem rules to merge into the base policy.
SandboxConfigUserPolicyNetwork
Network rules to merge into the base policy.
ScheduleEntry
Schema for the ScheduleEntry type.
ScheduleList
Snapshot of the currently active recurring prompts for this session.
ScheduleStopRequest
Identifier of the scheduled prompt to remove.
ScheduleStopResult
Remove a scheduled prompt by id. The result entry is omitted if the id was unknown.
SecretsAddFilterValuesRequest
Secret values to add to the redaction filter.
SecretsAddFilterValuesResult
Confirmation that the secret values were registered.
SendAttachmentsToMessageParams
Parameters for session.extensions.sendAttachmentsToMessage.
SendRequest
Parameters for sending a user message to the session
SendResult
Result of sending a user message
ServerAgentList
Agents discovered across user, project, plugin, and remote sources.
ServerInstructionSourceList
Instruction sources discovered across user, repository, and plugin sources.
ServerSkill
Schema for the ServerSkill type.
ServerSkillList
Skills discovered across global and project sources.
SessionAbortResult
Result of aborting the current turn
SessionActivity
Current activity flags for the session.
SessionAgentDeselectParams
Identifies the target session.
SessionAgentGetCurrentParams
Identifies the target session.
SessionAgentGetCurrentResult
The currently selected custom agent, or null when using the default agent.
SessionAgentListParams
Identifies the target session.
SessionAgentListResult
Custom agents available to the session.
SessionAgentReloadParams
Identifies the target session.
SessionAgentReloadResult
Custom agents available to the session after reloading definitions from disk.
SessionAgentSelectResult
The newly selected custom agent.
SessionAuthGetStatusParams
Identifies the target session.
SessionAuthGetStatusResult
Authentication status and account metadata for the session.
SessionAuthSetCredentialsResult
Indicates whether the credential update succeeded.
SessionAuthStatus
Authentication status and account metadata for the session.
SessionBulkDeleteResult
Map of sessionId -> bytes freed by removing the session’s workspace directory.
SessionCanvasActionInvokeResult
Canvas action invocation result.
SessionCanvasListOpenParams
Identifies the target session.
SessionCanvasListOpenResult
Live open-canvas snapshot.
SessionCanvasListParams
Identifies the target session.
SessionCanvasListResult
Declared canvases available in this session.
SessionCanvasOpenResult
Open canvas instance snapshot.
SessionCommandsEnqueueResult
Indicates whether the command was accepted into the local execution queue.
SessionCommandsExecuteResult
Error message produced while executing the command, if any.
SessionCommandsHandlePendingCommandResult
Indicates whether the pending client-handled command was completed successfully.
SessionCommandsListResult
Slash commands available in the session, after applying any include/exclude filters.
SessionCommandsRespondToQueuedCommandResult
Indicates whether the queued-command response was matched to a pending request.
SessionContext
Pre-resolved working-directory context for session startup.
SessionContextInfo
Token breakdown for the current context window, or null if the session has not yet been initialized (no system prompt or tool metadata cached).
SessionEnrichMetadataResult
The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
SessionEventLogReadResult
Batch of session events returned by a read, with cursor and continuation metadata.
SessionEventLogRegisterInterestResult
Opaque handle representing an event-type interest registration.
SessionEventLogReleaseInterestResult
Indicates whether the operation succeeded.
SessionEventLogTailParams
Identifies the target session.
SessionEventLogTailResult
Snapshot of the current tail cursor without returning any events. Use this when a consumer wants to subscribe to live events going forward without first paginating through the entire persisted history (which would happen if read were called without a cursor on a long-lived session).
SessionExtensionsListParams
Identifies the target session.
SessionExtensionsListResult
Extensions discovered for the session, with their current status.
SessionExtensionsReloadParams
Identifies the target session.
SessionFleetStartResult
Indicates whether fleet mode was successfully activated.
SessionFsAppendFileRequest
File path, content to append, and optional mode for the client-provided session filesystem.
SessionFsError
Describes a filesystem error.
SessionFsExistsRequest
Path to test for existence in the client-provided session filesystem.
SessionFsExistsResult
Indicates whether the requested path exists in the client-provided session filesystem.
SessionFsMkdirRequest
Directory path to create in the client-provided session filesystem, with options for recursive creation and POSIX mode.
SessionFsReadFileRequest
Path of the file to read from the client-provided session filesystem.
SessionFsReadFileResult
File content as a UTF-8 string, or a filesystem error if the read failed.
SessionFsReaddirRequest
Directory path whose entries should be listed from the client-provided session filesystem.
SessionFsReaddirResult
Names of entries in the requested directory, or a filesystem error if the read failed.
SessionFsReaddirWithTypesEntry
Schema for the SessionFsReaddirWithTypesEntry type.
SessionFsReaddirWithTypesRequest
Directory path whose entries (with type information) should be listed from the client-provided session filesystem.
SessionFsReaddirWithTypesResult
Entries in the requested directory paired with file/directory type information, or a filesystem error if the read failed.
SessionFsRenameRequest
Source and destination paths for renaming or moving an entry in the client-provided session filesystem.
SessionFsRmRequest
Path to remove from the client-provided session filesystem, with options for recursive removal and force.
SessionFsSetProviderCapabilities
Optional capabilities declared by the provider
SessionFsSetProviderRequest
Initial working directory, session-state path layout, and path conventions used to register the calling SDK client as the session filesystem provider.
SessionFsSetProviderResult
Indicates whether the calling client was registered as the session filesystem provider.
SessionFsSqliteExistsParams
Identifies the target session.
SessionFsSqliteExistsResult
Indicates whether the per-session SQLite database already exists.
SessionFsSqliteQueryRequest
SQL query, query type, and optional bind parameters for executing a SQLite query against the per-session database.
SessionFsSqliteQueryResult
Query results including rows, columns, and rows affected, or a filesystem error if execution failed.
SessionFsStatRequest
Path whose metadata should be returned from the client-provided session filesystem.
SessionFsStatResult
Filesystem metadata for the requested path, or a filesystem error if the stat failed.
SessionFsWriteFileRequest
File path, content to write, and optional mode for the client-provided session filesystem.
SessionHistoryAbortManualCompactionParams
Identifies the target session.
SessionHistoryAbortManualCompactionResult
Indicates whether an in-progress manual compaction was aborted.
SessionHistoryCancelBackgroundCompactionParams
Identifies the target session.
SessionHistoryCancelBackgroundCompactionResult
Indicates whether an in-progress background compaction was cancelled.
SessionHistoryCompactResult
Compaction outcome with the number of tokens and messages removed, summary text, and the resulting context window breakdown.
SessionHistorySummarizeForHandoffParams
Identifies the target session.
SessionHistorySummarizeForHandoffResult
Markdown summary of the conversation context (empty when not available).
SessionHistoryTruncateResult
Number of events that were removed by the truncation.
SessionInstalledPlugin
Schema for the SessionInstalledPlugin type.
SessionInstalledPluginSourceGitHub
Schema for the SessionInstalledPluginSourceGitHub type.
SessionInstalledPluginSourceLocal
Schema for the SessionInstalledPluginSourceLocal type.
SessionInstalledPluginSourceUrl
Schema for the SessionInstalledPluginSourceUrl type.
SessionInstructionsGetSourcesParams
Identifies the target session.
SessionInstructionsGetSourcesResult
Instruction sources loaded for the session, in merge order.
SessionList
Sessions matching the filter, ordered most-recently-modified first.
SessionListFilter
Optional filter applied to the returned sessions
SessionLoadDeferredRepoHooksResult
Queued repo-level startup prompts and the total hook command count after loading.
SessionLogResult
Identifier of the session event that was emitted for the log message.
SessionMcpAppsDiagnoseResult
Diagnostic snapshot of MCP Apps wiring for the named server.
SessionMcpAppsGetHostContextParams
Identifies the target session.
SessionMcpAppsGetHostContextResult
Current host context advertised to MCP App guests.
SessionMcpAppsListToolsResult
App-callable tools from the named MCP server.
SessionMcpAppsReadResourceResult
Resource contents returned by the MCP server.
SessionMcpCancelSamplingExecutionResult
Indicates whether an in-flight sampling execution with the given requestId was found and cancelled.
SessionMcpConfigureGitHubResult
Result of configuring GitHub MCP.
SessionMcpExecuteSamplingResult
Outcome of an MCP sampling execution: success result, failure error, or cancellation.
SessionMcpIsServerRunningResult
Whether the named MCP server is running.
SessionMcpListParams
Identifies the target session.
SessionMcpListResult
MCP servers configured for the session, with their connection status and host-level state.
SessionMcpListToolsResult
Tools exposed by the connected MCP server. Throws when the server is not connected.
SessionMcpOauthLoginResult
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
SessionMcpOauthRespondResult
Empty result after recording the MCP OAuth response.
SessionMcpReloadParams
Identifies the target session.
SessionMcpReloadWithConfigResult
MCP server startup filtering result.
SessionMcpRemoveGitHubParams
Identifies the target session.
SessionMcpRemoveGitHubResult
Indicates whether the auto-managed github MCP server was removed (false when nothing to remove).
SessionMcpSetEnvValueModeResult
Env-value mode recorded on the session after the update.
SessionMetadataActivityParams
Identifies the target session.
SessionMetadataActivityResult
Current activity flags for the session.
SessionMetadataContextInfoResult
Token breakdown for the session’s current context window, or null if uninitialized.
SessionMetadataContextInfoResultContextInfo
Token-usage breakdown for the session’s current context window
SessionMetadataIsProcessingParams
Identifies the target session.
SessionMetadataIsProcessingResult
Indicates whether the local session is currently processing a turn or background continuation.
SessionMetadataRecomputeContextTokensResult
Re-tokenize the session’s existing messages against modelId and return the token totals. Useful for hosts that want an initial estimate of context usage on session resume, before the next agent turn fires session.context_info_changed events. Returns zeros for an empty session.
SessionMetadataRecordContextChangeResult
Notify the session that its working directory context has changed. Emits a session.context_changed event so consumers (telemetry, OTel tracker, ACP, the timeline UI) can react. Use this when the host has detected a cwd/branch/repo change outside the session’s normal lifecycle (e.g., after a shell command in interactive mode).
SessionMetadataSetWorkingDirectoryResult
Update the session’s working directory. Used by the host when the user explicitly changes cwd (e.g., the /cd slash command). The host is responsible for process.chdir and any related side-effects (file index, etc.); this method only updates the session’s own recorded path.
SessionMetadataSnapshot
Point-in-time snapshot of slow-changing session identifier and state fields
SessionMetadataSnapshotParams
Identifies the target session.
SessionMetadataSnapshotResult
Point-in-time snapshot of slow-changing session identifier and state fields
SessionMetadataSnapshotResultWorkspace
Public-facing projection of workspace metadata for SDK / TUI consumers
SessionMetadataSnapshotWorkspace
Public-facing projection of workspace metadata for SDK / TUI consumers
SessionModeGetParams
Identifies the target session.
SessionModelGetCurrentParams
Identifies the target session.
SessionModelGetCurrentResult
The currently selected model, reasoning effort, and context tier for the session. The context tier reflects Session.getContextTier(), restored from the session journal on resume.
SessionModelList
The list of models available to this session.
SessionModelListResult
The list of models available to this session.
SessionModelSetReasoningEffortResult
Update the session’s reasoning effort without changing the selected model. Use switchTo instead when you also need to change the model. The runtime stores the effort on the session and applies it to subsequent turns.
SessionModelSwitchToResult
The model identifier active on the session after the switch.
SessionNameGetParams
Identifies the target session.
SessionNameGetResult
The session’s friendly name, or null when not yet set.
SessionNameSetAutoResult
Indicates whether the auto-generated summary was applied as the session’s name.
SessionOpenOptions
Session construction options.
SessionOpenOptionsAdditionalContentExclusionPolicy
Schema for the SessionOpenOptionsAdditionalContentExclusionPolicy type.
SessionOpenOptionsAdditionalContentExclusionPolicyRule
Schema for the SessionOpenOptionsAdditionalContentExclusionPolicyRule type.
SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource
Schema for the SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource type.
SessionOpenResult
Result of opening a session.
SessionOptionsUpdateResult
Indicates whether the session options patch was applied successfully.
SessionPermissionsConfigureResult
Indicates whether the operation succeeded.
SessionPermissionsFolderTrustAddTrustedResult
Indicates whether the operation succeeded.
SessionPermissionsFolderTrustIsTrustedResult
Folder trust check result.
SessionPermissionsGetAllowAllResult
Current full allow-all permission state.
SessionPermissionsHandlePendingPermissionRequestResult
Indicates whether the permission decision was applied; false when the request was already resolved.
SessionPermissionsLocationsAddToolApprovalResult
Indicates whether the operation succeeded.
SessionPermissionsLocationsApplyResult
Summary of persisted location permissions applied to the session.
SessionPermissionsLocationsResolveResult
Resolved location-permissions key and type.
SessionPermissionsModifyRulesResult
Indicates whether the operation succeeded.
SessionPermissionsNotifyPromptShownResult
Indicates whether the operation succeeded.
SessionPermissionsPathsAddResult
Indicates whether the operation succeeded.
SessionPermissionsPathsIsPathWithinAllowedDirectoriesResult
Indicates whether the supplied path is within the session’s allowed directories.
SessionPermissionsPathsIsPathWithinWorkspaceResult
Indicates whether the supplied path is within the session’s workspace directory.
SessionPermissionsPathsListResult
Snapshot of the session’s allow-listed directories and primary working directory.
SessionPermissionsPathsUpdatePrimaryResult
Indicates whether the operation succeeded.
SessionPermissionsPendingRequestsResult
List of pending permission requests reconstructed from event history.
SessionPermissionsResetSessionApprovalsResult
Indicates whether the operation succeeded.
SessionPermissionsSetAllowAllResult
Indicates whether the operation succeeded and reports the post-mutation state.
SessionPermissionsSetApproveAllResult
Indicates whether the operation succeeded.
SessionPermissionsSetRequiredResult
Indicates whether the operation succeeded.
SessionPermissionsUrlsSetUnrestrictedModeResult
Indicates whether the operation succeeded.
SessionPlanDeleteParams
Identifies the target session.
SessionPlanReadParams
Identifies the target session.
SessionPlanReadResult
Existence, contents, and resolved path of the session plan file.
SessionPlanReadSqlTodosParams
Identifies the target session.
SessionPlanReadSqlTodosResult
Todo rows read from the session SQL database. Empty when no session database is available.
SessionPlanReadSqlTodosWithDependenciesParams
Identifies the target session.
SessionPlanReadSqlTodosWithDependenciesResult
Todo rows + dependency edges read from the session SQL database.
SessionPluginsListParams
Identifies the target session.
SessionPluginsListResult
Plugins installed for the session, with their enabled state and version metadata.
SessionProviderGetEndpointResult
A snapshot of the provider endpoint the session is currently configured to talk to.
SessionPruneResult
Outcome of the prune operation: deleted IDs, dry-run candidates, skipped IDs, total bytes freed, and the dry-run flag.
SessionQueueClearParams
Identifies the target session.
SessionQueuePendingItemsParams
Identifies the target session.
SessionQueuePendingItemsResult
Snapshot of the session’s pending queued items and immediate-steering messages.
SessionQueueRemoveMostRecentParams
Identifies the target session.
SessionQueueRemoveMostRecentResult
Indicates whether a user-facing pending item was removed.
SessionRemoteDisableParams
Identifies the target session.
SessionRemoteEnableResult
GitHub URL for the session and a flag indicating whether remote steering is enabled.
SessionRemoteNotifySteerableChangedResult
Persist a steerability change as a session.remote_steerable_changed event. Used by the host (CLI / SDK consumer) when it has just finished enabling or disabling steering on a remote exporter that the runtime does not directly own.
SessionRpc
Typed view over a Session’s RPC namespace.
SessionRpcAgent
session.agent.* RPCs.
SessionRpcAuth
session.auth.* RPCs.
SessionRpcCanvas
session.canvas.* RPCs.
SessionRpcCanvasAction
session.canvas.action.* RPCs.
SessionRpcCommands
session.commands.* RPCs.
SessionRpcEventLog
session.eventLog.* RPCs.
SessionRpcExtensions
session.extensions.* RPCs.
SessionRpcFleet
session.fleet.* RPCs.
SessionRpcHistory
session.history.* RPCs.
SessionRpcInstructions
session.instructions.* RPCs.
SessionRpcLsp
session.lsp.* RPCs.
SessionRpcMcp
session.mcp.* RPCs.
SessionRpcMcpApps
session.mcp.apps.* RPCs.
SessionRpcMcpOauth
session.mcp.oauth.* RPCs.
SessionRpcMetadata
session.metadata.* RPCs.
SessionRpcMode
session.mode.* RPCs.
SessionRpcModel
session.model.* RPCs.
SessionRpcName
session.name.* RPCs.
SessionRpcOptions
session.options.* RPCs.
SessionRpcPermissions
session.permissions.* RPCs.
SessionRpcPermissionsFolderTrust
session.permissions.folderTrust.* RPCs.
SessionRpcPermissionsLocations
session.permissions.locations.* RPCs.
SessionRpcPermissionsPaths
session.permissions.paths.* RPCs.
SessionRpcPermissionsUrls
session.permissions.urls.* RPCs.
SessionRpcPlan
session.plan.* RPCs.
SessionRpcPlugins
session.plugins.* RPCs.
SessionRpcProvider
session.provider.* RPCs.
SessionRpcQueue
session.queue.* RPCs.
SessionRpcRemote
session.remote.* RPCs.
SessionRpcSchedule
session.schedule.* RPCs.
SessionRpcShell
session.shell.* RPCs.
SessionRpcSkills
session.skills.* RPCs.
SessionRpcTasks
session.tasks.* RPCs.
SessionRpcTelemetry
session.telemetry.* RPCs.
SessionRpcTools
session.tools.* RPCs.
SessionRpcUi
session.ui.* RPCs.
SessionRpcUsage
session.usage.* RPCs.
SessionRpcWorkspaces
session.workspaces.* RPCs.
SessionScheduleListParams
Identifies the target session.
SessionScheduleListResult
Snapshot of the currently active recurring prompts for this session.
SessionScheduleStopResult
Remove a scheduled prompt by id. The result entry is omitted if the id was unknown.
SessionSendResult
Result of sending a user message
SessionSetCredentialsParams
New auth credentials to install on the session. Omit to leave credentials unchanged.
SessionSetCredentialsResult
Indicates whether the credential update succeeded.
SessionShellCancelUserRequestedResult
Cancellation result for a user-requested shell command.
SessionShellExecResult
Identifier of the spawned process, used to correlate streamed output and exit notifications.
SessionShellExecuteUserRequestedResult
Result of a user-requested shell command.
SessionShellKillResult
Indicates whether the signal was delivered; false if the process was unknown or already exited.
SessionSizes
Map of sessionId -> on-disk size in bytes for each session’s workspace directory.
SessionSkillsEnsureLoadedParams
Identifies the target session.
SessionSkillsGetInvokedParams
Identifies the target session.
SessionSkillsGetInvokedResult
Skills invoked during this session, ordered by invocation time (most recent last).
SessionSkillsListParams
Identifies the target session.
SessionSkillsListResult
Skills available to the session, with their enabled state.
SessionSkillsReloadParams
Identifies the target session.
SessionSkillsReloadResult
Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
SessionSuspendParams
Identifies the target session.
SessionTasksCancelResult
Indicates whether the background task was successfully cancelled.
SessionTasksGetCurrentPromotableParams
Identifies the target session.
SessionTasksGetCurrentPromotableResult
The first sync-waiting task that can currently be promoted to background mode.
SessionTasksGetProgressResult
Progress information for the task, or null when no task with that ID is tracked.
SessionTasksListParams
Identifies the target session.
SessionTasksListResult
Background tasks currently tracked by the session.
SessionTasksPromoteCurrentToBackgroundParams
Identifies the target session.
SessionTasksPromoteCurrentToBackgroundResult
The promoted task as it now exists in background mode, omitted if no promotable task was waiting.
SessionTasksPromoteToBackgroundResult
Indicates whether the task was successfully promoted to background mode.
SessionTasksRefreshParams
Identifies the target session.
SessionTasksRefreshResult
Refresh metadata for any detached background shells the runtime knows about. Use after a long pause to pick up exit/output state for shells running outside the agent loop.
SessionTasksRemoveResult
Indicates whether the task was removed. False when the task does not exist or is still running/idle.
SessionTasksSendMessageResult
Indicates whether the message was delivered, with an error message when delivery failed.
SessionTasksStartAgentResult
Identifier assigned to the newly started background agent task.
SessionTasksWaitForPendingParams
Identifies the target session.
SessionTasksWaitForPendingResult
Wait until all in-flight background tasks (agents + shells) and any follow-up turns scheduled by their completions have settled. Returns when the runtime is fully drained or after an internal timeout (default 10 minutes; configurable via COPILOT_TASK_WAIT_TIMEOUT_SECONDS).
SessionTelemetryEngagement
Telemetry engagement ID for the session, when available.
SessionTelemetryGetEngagementIdParams
Identifies the target session.
SessionTelemetryGetEngagementIdResult
Telemetry engagement ID for the session, when available.
SessionToolsGetCurrentMetadataParams
Identifies the target session.
SessionToolsGetCurrentMetadataResult
Current lightweight tool metadata snapshot for the session.
SessionToolsHandlePendingToolCallResult
Indicates whether the external tool call result was handled successfully.
SessionToolsInitializeAndValidateParams
Identifies the target session.
SessionToolsInitializeAndValidateResult
Resolve, build, and validate the runtime tool list for this session. Subagent sessions and consumer flows that need an initialized tool set before send invoke this. Default base-class implementation is a no-op for sessions that don’t support tool validation.
SessionToolsUpdateSubagentSettingsResult
Empty result after applying subagent settings
SessionUiElicitationResult
The elicitation response (accept with form values, decline, or cancel)
SessionUiEphemeralQueryResult
Transient answer generated from current conversation context.
SessionUiHandlePendingAutoModeSwitchResult
Indicates whether the pending UI request was resolved by this call.
SessionUiHandlePendingElicitationResult
Indicates whether the elicitation response was accepted; false if it was already resolved by another client.
SessionUiHandlePendingExitPlanModeResult
Indicates whether the pending UI request was resolved by this call.
SessionUiHandlePendingSamplingResult
Indicates whether the pending UI request was resolved by this call.
SessionUiHandlePendingUserInputResult
Indicates whether the pending UI request was resolved by this call.
SessionUiRegisterDirectAutoModeSwitchHandlerParams
Identifies the target session.
SessionUiRegisterDirectAutoModeSwitchHandlerResult
Register an in-process handler for auto_mode_switch.requested events. The caller still attaches the actual listener via the standard event-subscription mechanism; this registration solely tells the server bridge to skip its own dispatch (so a remote client doesn’t race the in-process handler for the same requestId).
SessionUiUnregisterDirectAutoModeSwitchHandlerResult
Indicates whether the handle was active and the registration count was decremented.
SessionUpdateOptionsParams
Patch of mutable session options to apply to the running session.
SessionUpdateOptionsResult
Indicates whether the session options patch was applied successfully.
SessionUsageGetMetricsParams
Identifies the target session.
SessionUsageGetMetricsResult
Accumulated session usage metrics, including premium request cost, token counts, model breakdown, and code-change totals.
SessionWorkingDirectoryContext
Updated working directory and git context. Emitted as the new payload of session.context_changed.
SessionWorkspacesDiffResult
Workspace diff result for the requested mode.
SessionWorkspacesGetWorkspaceParams
Identifies the target session.
SessionWorkspacesGetWorkspaceResult
Current workspace metadata for the session, including its absolute filesystem path when available.
SessionWorkspacesGetWorkspaceResultWorkspace
SessionWorkspacesListCheckpointsParams
Identifies the target session.
SessionWorkspacesListCheckpointsResult
Workspace checkpoints in chronological order; empty when the workspace is not enabled.
SessionWorkspacesListFilesParams
Identifies the target session.
SessionWorkspacesListFilesResult
Relative paths of files stored in the session workspace files directory.
SessionWorkspacesReadCheckpointResult
Checkpoint content as a UTF-8 string, or null when the checkpoint or workspace is missing.
SessionWorkspacesReadFileResult
Contents of the requested workspace file as a UTF-8 string.
SessionWorkspacesSaveLargePasteResult
Descriptor for the saved paste file, or null when the workspace is unavailable.
SessionWorkspacesSaveLargePasteResultSaved
SessionsBulkDeleteRequest
Session IDs to close, deactivate, and delete from disk.
SessionsBulkDeleteResult
Map of sessionId -> bytes freed by removing the session’s workspace directory.
SessionsCheckInUseRequest
Session IDs to test for live in-use locks.
SessionsCheckInUseResult
Session IDs from the input set that are currently in use by another process.
SessionsCloseRequest
Session ID to close.
SessionsCloseResult
Closes a session: emits shutdown, flushes pending events to disk, releases the in-use lock, disposes the active session. Idempotent: succeeds even if the session is not currently active.
SessionsConnectResult
Remote session connection result.
SessionsEnrichMetadataRequest
Session metadata records to enrich with summary and context information.
SessionsEnrichMetadataResult
The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
SessionsFindByPrefixRequest
UUID prefix to resolve to a unique session ID.
SessionsFindByPrefixResult
Session ID matching the prefix, omitted when no unique match exists.
SessionsFindByTaskIDRequest
GitHub task ID to look up.
SessionsFindByTaskIDResult
ID of the local session bound to the given GitHub task, or omitted when none.
SessionsFindByTaskIdResult
ID of the local session bound to the given GitHub task, or omitted when none.
SessionsForkRequest
Source session identifier to fork from, optional event-ID boundary, and optional friendly name for the new session.
SessionsForkResult
Identifier and optional friendly name assigned to the newly forked session.
SessionsGetBoardEntryCountRequest
Session ID whose board entry count should be returned.
SessionsGetBoardEntryCountResult
Dynamic-context board entry count, when available.
SessionsGetEventFilePathRequest
Session ID whose event-log file path to compute.
SessionsGetEventFilePathResult
Absolute path to the session’s events.jsonl file on disk.
SessionsGetLastForContextRequest
Optional working-directory context used to score session relevance.
SessionsGetLastForContextResult
Most-relevant session ID for the supplied context, or omitted when no sessions exist.
SessionsGetPersistedRemoteSteerableRequest
Session ID to look up the persisted remote-steerable flag for.
SessionsGetPersistedRemoteSteerableResult
The session’s persisted remote-steerable flag, or omitted when no value has been persisted.
SessionsGetRemoteControlStatusResult
Wrapper for the singleton’s current status.
SessionsGetSizesResult
Map of sessionId -> on-disk size in bytes for each session’s workspace directory.
SessionsListRequest
Optional source filter, metadata-load limit, and context filter applied to the returned sessions.
SessionsListResult
Sessions matching the filter, ordered most-recently-modified first.
SessionsLoadDeferredRepoHooksRequest
Active session ID whose deferred repo-level hooks should be loaded.
SessionsLoadDeferredRepoHooksResult
Queued repo-level startup prompts and the total hook command count after loading.
SessionsOpenAttach
Parameters for attaching to an already-active session by ID.
SessionsOpenCloud
Parameters for creating a new cloud session.
SessionsOpenCreate
Parameters for creating a new local session.
SessionsOpenHandoff
Parameters for fetching a remote session and handing it off to a new local session.
SessionsOpenProgress
Schema for the SessionsOpenProgress type.
SessionsOpenRemote
Parameters for connecting to a live remote session.
SessionsOpenResult
Result of opening a session.
SessionsOpenResume
Parameters for resuming a specific local session.
SessionsOpenResumeLast
Parameters for resuming the most relevant local session.
SessionsPollSpawnedSessionsEvent
Schema for the SessionsPollSpawnedSessionsEvent type.
SessionsPollSpawnedSessionsRequest
Cursor and optional long-poll wait for polling runtime-spawned sessions.
SessionsPollSpawnedSessionsResult
Batch of spawn events plus a cursor for follow-up polls.
SessionsPruneOldRequest
Age threshold and optional flags controlling which old sessions are pruned (or simulated when dryRun is true).
SessionsPruneOldResult
Outcome of the prune operation: deleted IDs, dry-run candidates, skipped IDs, total bytes freed, and the dry-run flag.
SessionsRegisterExtensionToolsOnSessionOptions
Optional registration options.
SessionsReleaseLockRequest
Session ID whose in-use lock should be released.
SessionsReleaseLockResult
Release the in-use lock held by this process for the given session. No-op when this process does not currently hold a lock for the session.
SessionsReloadPluginHooksRequest
Active session ID and an optional flag for deferring repo-level hooks until folder trust.
SessionsReloadPluginHooksResult
Reload all hooks (user, plugin, optionally repo) and apply them to the active session. Call after installing or removing plugins so their hooks take effect immediately. No-op when no active session matches the given sessionId.
SessionsSaveRequest
Session ID whose pending events should be flushed to disk.
SessionsSaveResult
Flush a session’s pending events to disk. No-op when no writer exists for the session (e.g., already closed).
SessionsSetAdditionalPluginsRequest
Manager-wide additional plugins to register; replaces any previously-configured set.
SessionsSetAdditionalPluginsResult
Replace the manager-wide additional plugins. New session creations and subsequent hook reloads see the new set; already-running sessions keep their existing hook installation until the next reload.
SessionsSetRemoteControlSteeringRequest
Patch for the singleton’s steering state.
SessionsSetRemoteControlSteeringResult
Wrapper for the singleton’s current status.
SessionsStartRemoteControlRequest
Parameters for attaching the remote-control singleton to a session.
SessionsStartRemoteControlResult
Wrapper for the singleton’s current status.
SessionsStopRemoteControlRequest
Parameters for stopping the remote-control singleton.
SessionsStopRemoteControlResult
Outcome of a stopRemoteControl call.
SessionsTransferRemoteControlRequest
Parameters for atomically rebinding the remote-control singleton.
SessionsTransferRemoteControlResult
Outcome of a transferRemoteControl call.
ShellCancelUserRequestedRequest
User-requested shell execution cancellation handle.
ShellExecRequest
Shell command to run, with optional working directory and timeout in milliseconds.
ShellExecResult
Identifier of the spawned process, used to correlate streamed output and exit notifications.
ShellExecuteUserRequestedRequest
User-requested shell command and cancellation handle.
ShellKillRequest
Identifier of a process previously returned by “shell.exec” and the signal to send.
ShellKillResult
Indicates whether the signal was delivered; false if the process was unknown or already exited.
ShutdownRequest
Parameters for shutting down the session
Skill
Schema for the Skill type.
SkillDiscoveryPath
Schema for the SkillDiscoveryPath type.
SkillDiscoveryPathList
Canonical locations where skills can be created so the runtime will recognize them.
SkillList
Skills available to the session, with their enabled state.
SkillsConfigSetDisabledSkillsRequest
Skill names to mark as disabled in global configuration, replacing any previous list.
SkillsDisableRequest
Name of the skill to disable for the session.
SkillsDiscoverRequest
Optional project paths and additional skill directories to include in discovery.
SkillsDiscoverResult
Skills discovered across global and project sources.
SkillsEnableRequest
Name of the skill to enable for the session.
SkillsGetDiscoveryPathsRequest
Optional project paths to enumerate.
SkillsGetDiscoveryPathsResult
Canonical locations where skills can be created so the runtime will recognize them.
SkillsGetInvokedResult
Skills invoked during this session, ordered by invocation time (most recent last).
SkillsInvokedSkill
Schema for the SkillsInvokedSkill type.
SkillsLoadDiagnostics
Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
SlashCommandAgentPromptResult
Schema for the SlashCommandAgentPromptResult type.
SlashCommandCompletedResult
Schema for the SlashCommandCompletedResult type.
SlashCommandInfo
Schema for the SlashCommandInfo type.
SlashCommandInput
Optional unstructured input hint
SlashCommandSelectSubcommandOption
Schema for the SlashCommandSelectSubcommandOption type.
SlashCommandSelectSubcommandResult
Schema for the SlashCommandSelectSubcommandResult type.
SlashCommandTextResult
Schema for the SlashCommandTextResult type.
SubagentSettings
Subagent settings to apply, or null to clear the live session override
SubagentSettingsEntry
Subagent model, reasoning effort, and context tier settings
TaskAgentInfo
Schema for the TaskAgentInfo type.
TaskAgentProgress
Schema for the TaskAgentProgress type.
TaskList
Background tasks currently tracked by the session.
TaskProgressLine
Schema for the TaskProgressLine type.
TaskShellInfo
Schema for the TaskShellInfo type.
TaskShellProgress
Schema for the TaskShellProgress type.
TasksCancelRequest
Identifier of the background task to cancel.
TasksCancelResult
Indicates whether the background task was successfully cancelled.
TasksGetCurrentPromotableResult
The first sync-waiting task that can currently be promoted to background mode.
TasksGetProgressRequest
Identifier of the background task to fetch progress for.
TasksGetProgressResult
Progress information for the task, or null when no task with that ID is tracked.
TasksPromoteCurrentToBackgroundResult
The promoted task as it now exists in background mode, omitted if no promotable task was waiting.
TasksPromoteToBackgroundRequest
Identifier of the task to promote to background mode.
TasksPromoteToBackgroundResult
Indicates whether the task was successfully promoted to background mode.
TasksRefreshResult
Refresh metadata for any detached background shells the runtime knows about. Use after a long pause to pick up exit/output state for shells running outside the agent loop.
TasksRemoveRequest
Identifier of the completed or cancelled task to remove from tracking.
TasksRemoveResult
Indicates whether the task was removed. False when the task does not exist or is still running/idle.
TasksSendMessageRequest
Identifier of the target agent task, message content, and optional sender agent ID.
TasksSendMessageResult
Indicates whether the message was delivered, with an error message when delivery failed.
TasksStartAgentRequest
Agent type, prompt, name, and optional description and model override for the new task.
TasksStartAgentResult
Identifier assigned to the newly started background agent task.
TasksWaitForPendingResult
Wait until all in-flight background tasks (agents + shells) and any follow-up turns scheduled by their completions have settled. Returns when the runtime is fully drained or after an internal timeout (default 10 minutes; configurable via COPILOT_TASK_WAIT_TIMEOUT_SECONDS).
TelemetrySetFeatureOverridesRequest
Feature override key/value pairs to attach to subsequent telemetry events from this session.
TokenAuthInfo
Schema for the TokenAuthInfo type.
Tool
Schema for the Tool type.
ToolList
Built-in tools available for the requested model, with their parameters and instructions.
ToolsGetCurrentMetadataResult
Current lightweight tool metadata snapshot for the session.
ToolsInitializeAndValidateResult
Resolve, build, and validate the runtime tool list for this session. Subagent sessions and consumer flows that need an initialized tool set before send invoke this. Default base-class implementation is a no-op for sessions that don’t support tool validation.
ToolsListRequest
Optional model identifier whose tool overrides should be applied to the listing.
ToolsListResult
Built-in tools available for the requested model, with their parameters and instructions.
ToolsUpdateSubagentSettingsResult
Empty result after applying subagent settings
UIElicitationArrayAnyOfField
Multi-select string field where each option pairs a value with a display label.
UIElicitationArrayAnyOfFieldItems
Schema applied to each item in the array.
UIElicitationArrayAnyOfFieldItemsAnyOf
Schema for the UIElicitationArrayAnyOfFieldItemsAnyOf type.
UIElicitationArrayEnumField
Multi-select string field whose allowed values are defined inline.
UIElicitationArrayEnumFieldItems
Schema applied to each item in the array.
UIElicitationRequest
Prompt message and JSON schema describing the form fields to elicit from the user.
UIElicitationResponse
The elicitation response (accept with form values, decline, or cancel)
UIElicitationResult
Indicates whether the elicitation response was accepted; false if it was already resolved by another client.
UIElicitationSchema
JSON Schema describing the form fields to present to the user
UIElicitationSchemaPropertyBoolean
Boolean field rendered as a yes/no toggle.
UIElicitationSchemaPropertyNumber
Numeric field accepting either a number or an integer.
UIElicitationSchemaPropertyString
Free-text string field with optional length and format constraints.
UIElicitationStringEnumField
Single-select string field whose allowed values are defined inline.
UIElicitationStringOneOfField
Single-select string field where each option pairs a value with a display label.
UIElicitationStringOneOfFieldOneOf
Schema for the UIElicitationStringOneOfFieldOneOf type.
UIEphemeralQueryRequest
Transient question to answer without adding it to conversation history.
UIEphemeralQueryResult
Transient answer generated from current conversation context.
UIExitPlanModeResponse
Schema for the UIExitPlanModeResponse type.
UIHandlePendingAutoModeSwitchRequest
Request ID of a pending auto_mode_switch.requested event and the user’s response.
UIHandlePendingElicitationRequest
Pending elicitation request ID and the user’s response (accept/decline/cancel + form values).
UIHandlePendingExitPlanModeRequest
Request ID of a pending exit_plan_mode.requested event and the user’s response.
UIHandlePendingResult
Indicates whether the pending UI request was resolved by this call.
UIHandlePendingSamplingRequest
Request ID of a pending sampling.requested event and an optional sampling result payload (omit to reject).
UIHandlePendingSamplingResponse
Optional sampling result payload. Omit to reject/cancel the sampling request without providing a result.
UIHandlePendingUserInputRequest
Request ID of a pending user_input.requested event and the user’s response.
UIRegisterDirectAutoModeSwitchHandlerResult
Register an in-process handler for auto_mode_switch.requested events. The caller still attaches the actual listener via the standard event-subscription mechanism; this registration solely tells the server bridge to skip its own dispatch (so a remote client doesn’t race the in-process handler for the same requestId).
UIUnregisterDirectAutoModeSwitchHandlerRequest
Opaque handle previously returned by registerDirectAutoModeSwitchHandler to release.
UIUnregisterDirectAutoModeSwitchHandlerResult
Indicates whether the handle was active and the registration count was decremented.
UIUserInputResponse
Schema for the UIUserInputResponse type.
UpdateSubagentSettingsRequest
Subagent settings to apply to the current session
UpdateSubagentSettingsRequestSubagents
Configured per-agent subagent overrides
UsageGetMetricsResult
Accumulated session usage metrics, including premium request cost, token counts, model breakdown, and code-change totals.
UsageMetricsCodeChanges
Aggregated code change metrics
UsageMetricsModelMetric
Schema for the UsageMetricsModelMetric type.
UsageMetricsModelMetricRequests
Request count and cost metrics for this model
UsageMetricsModelMetricTokenDetail
Schema for the UsageMetricsModelMetricTokenDetail type.
UsageMetricsModelMetricUsage
Token usage metrics for this model
UsageMetricsTokenDetail
Schema for the UsageMetricsTokenDetail type.
UserAuthInfo
Schema for the UserAuthInfo type.
UserRequestedShellCommandResult
Result of a user-requested shell command.
WorkspaceDiffFileChange
A single changed file and its unified diff.
WorkspaceDiffResult
Workspace diff result for the requested mode.
WorkspaceSummary
Public-facing workspace metadata for this session, or null if the session has no associated workspace. Excludes runtime-internal fields (GitHub IDs, summary count, internal flags).
WorkspacesCheckpoints
Schema for the WorkspacesCheckpoints type.
WorkspacesCreateFileRequest
Relative path and UTF-8 content for the workspace file to create or overwrite.
WorkspacesDiffRequest
Parameters for computing a workspace diff.
WorkspacesGetWorkspaceResult
Current workspace metadata for the session, including its absolute filesystem path when available.
WorkspacesGetWorkspaceResultWorkspace
WorkspacesListCheckpointsResult
Workspace checkpoints in chronological order; empty when the workspace is not enabled.
WorkspacesListFilesResult
Relative paths of files stored in the session workspace files directory.
WorkspacesReadCheckpointRequest
Checkpoint number to read.
WorkspacesReadCheckpointResult
Checkpoint content as a UTF-8 string, or null when the checkpoint or workspace is missing.
WorkspacesReadFileRequest
Relative path of the workspace file to read.
WorkspacesReadFileResult
Contents of the requested workspace file as a UTF-8 string.
WorkspacesSaveLargePasteRequest
Pasted content to save as a UTF-8 file in the session workspace.
WorkspacesSaveLargePasteResult
Descriptor for the saved paste file, or null when the workspace is unavailable.
WorkspacesSaveLargePasteResultSaved

Enums§

AgentDiscoveryPathScope
Which tier this directory belongs to
AgentInfoSource
Where the agent definition was loaded from
AgentRegistryLiveTargetEntryAttentionKind
Kind of attention required when status === “attention”. Meaningful only when status === “attention”.
AgentRegistryLiveTargetEntryKind
Process kind tag for the registry entry
AgentRegistryLiveTargetEntryLastTerminalEvent
How the most recent turn ended (clean vs aborted). Lets the renderer distinguish done from done_cancelled.
AgentRegistryLiveTargetEntryStatus
Coarse lifecycle status of the foreground session
AgentRegistryLogCaptureOpenErrorReason
Categorized reason for log-open failure
AgentRegistrySpawnErrorKind
Discriminator: child_process.spawn itself failed
AgentRegistrySpawnPermissionMode
Permission posture for the new session. ‘yolo’ requires the controller-local session to currently be in allow-all mode.
AgentRegistrySpawnRegistryTimeoutKind
Discriminator: spawn succeeded but child never registered
AgentRegistrySpawnResult
Outcome of an agentRegistry.spawn call.
AgentRegistrySpawnSpawnedKind
Discriminator: managed-server child spawned successfully
AgentRegistrySpawnValidationErrorField
Which parameter field was invalid. Omitted when the rejection is not field-specific.
AgentRegistrySpawnValidationErrorKind
Discriminator: synchronous pre-validation rejected the request
AgentRegistrySpawnValidationErrorReason
Categorized reason for the rejection. Low-cardinality enum so telemetry can aggregate by reason without leaking raw paths or agent/model names.
ApiKeyAuthInfoType
API-key authentication for non-GitHub LLM providers (e.g. when running BYOM-style).
AttachmentBlobType
Attachment type discriminator
AttachmentDirectoryType
Attachment type discriminator
AttachmentExtensionContextType
Attachment type discriminator
AttachmentFileType
Attachment type discriminator
AttachmentGitHubReferenceType
Type of GitHub reference
AttachmentSelectionType
Attachment type discriminator
AuthInfoType
Authentication type
CanvasInstanceAvailability
Runtime-controlled routing state for an open canvas instance.
ConnectedRemoteSessionMetadataKind
Neutral SDK discriminator for the connected remote session kind.
ContentFilterMode
Controls how MCP tool result content is filtered: none leaves content unchanged, markdown sanitizes HTML while preserving Markdown-friendly output, and hidden_characters removes characters that can hide directives.
CopilotApiTokenAuthInfoHost
Authentication host (always the public GitHub host).
CopilotApiTokenAuthInfoType
Direct Copilot API authentication via the GITHUB_COPILOT_API_TOKEN + COPILOT_API_URL environment-variable pair. The token itself is read from the environment by the runtime, not carried in this struct.
DiscoveredMcpServerType
Server transport type: stdio, http, sse (deprecated), or memory
EnvAuthInfoType
Personal access token (PAT) or server-to-server token sourced from an environment variable.
EventsAgentScope
Agent-scope filter: ‘primary’ returns only main-agent events plus events whose type starts with ‘subagent.’ (matching the typed-subscription default behavior); ‘all’ returns events from all agents (matching wildcard-subscription behavior). Default is ‘all’ to preserve wildcard semantics for catch-up callers.
EventsCursorStatus
Cursor status: ‘ok’ means the cursor was applied successfully; ‘expired’ means the cursor referred to an event that no longer exists in history (e.g. truncated or compacted away) and the read started from the beginning of the remaining history.
ExtensionContextPushInputType
Attachment type discriminator
ExtensionSource
Discovery source: project (.github/extensions/), user (~/.copilot/extensions/), plugin (installed plugin), or session (session-state//extensions/)
ExtensionStatus
Current status: running, disabled, failed, or starting
ExternalToolTextResultForLlmBinaryResultsForLlmType
Binary result type discriminator. Use “image” for images and “resource” for other binary data.
ExternalToolTextResultForLlmContentAudioType
Content block type discriminator
ExternalToolTextResultForLlmContentImageType
Content block type discriminator
ExternalToolTextResultForLlmContentResourceLinkIconTheme
Theme variant this icon is intended for
ExternalToolTextResultForLlmContentResourceLinkType
Content block type discriminator
ExternalToolTextResultForLlmContentResourceType
Content block type discriminator
ExternalToolTextResultForLlmContentTerminalType
Content block type discriminator
ExternalToolTextResultForLlmContentTextType
Content block type discriminator
GhCliAuthInfoType
Authentication via the gh CLI’s saved credentials.
HMACAuthInfoHost
Authentication host. HMAC auth always targets the public GitHub host.
HMACAuthInfoType
HMAC-based authentication used by GitHub-internal services.
InstalledPluginSourceGitHubSource
Constant value. Always “github”.
InstalledPluginSourceLocalSource
Constant value. Always “local”.
InstalledPluginSourceUrlSource
Constant value. Always “url”.
InstructionDiscoveryPathKind
Whether the target is a single file or a directory of instruction files
InstructionDiscoveryPathLocation
Which tier this target belongs to
InstructionSourceLocation
Where this source lives — used for UI grouping
InstructionSourceType
Category of instruction source — used for merge logic
McpAppsHostContextDetailsAvailableDisplayMode
Allowed values for the McpAppsHostContextDetailsAvailableDisplayMode enumeration.
McpAppsHostContextDetailsDisplayMode
Current display mode (SEP-1865)
McpAppsHostContextDetailsPlatform
Platform type for responsive design
McpAppsHostContextDetailsTheme
UI theme preference per SEP-1865
McpAppsSetHostContextDetailsAvailableDisplayMode
Allowed values for the McpAppsSetHostContextDetailsAvailableDisplayMode enumeration.
McpAppsSetHostContextDetailsDisplayMode
Current display mode (SEP-1865)
McpAppsSetHostContextDetailsPlatform
Platform type for responsive design
McpAppsSetHostContextDetailsTheme
UI theme preference per SEP-1865
McpSamplingExecutionAction
Outcome of the sampling inference. ‘success’ produced a response; ‘failure’ encountered an error (including agent-side rejection by content filter or criteria); ‘cancelled’ the caller cancelled this execution via cancelSamplingExecution.
McpServerConfigDeferTools
Controls if tools provided by this server can be loaded on demand via tool search (auto) or always included in the initial tool list (never)
McpServerConfigHttpOauthGrantType
OAuth grant type to use when authenticating to the remote MCP server.
McpServerConfigHttpType
Remote transport type. Defaults to “http” when omitted.
McpSetEnvValueModeDetails
How environment-variable values supplied to MCP servers are resolved. “direct” passes literal string values; “indirect” treats values as references (e.g. names of environment variables on the host) that the runtime resolves before launch. Defaults to the runtime’s startup mode; clients that intentionally launch MCP servers with literal values (e.g. CLI prompt mode and ACP) set this to “direct”.
MetadataSnapshotCurrentMode
The current agent mode for this session (e.g., ‘interactive’, ‘plan’, ‘autopilot’)
MetadataSnapshotRemoteMetadataTaskType
Whether the remote task originated from Copilot Coding Agent (cca) or a CLI --remote invocation.
ModelPickerCategory
Model capability category for grouping in the model picker
ModelPickerPriceCategory
Relative cost tier for token-based billing users
ModelPolicyState
Current policy state for this model
OptionsUpdateAdditionalContentExclusionPolicyScope
Allowed values for the OptionsUpdateAdditionalContentExclusionPolicyScope enumeration.
OptionsUpdateContextTier
Context tier for models with tiered pricing. The session uses this to derive effective modelCapabilitiesOverrides so compaction, truncation, token display, and request limits honor the selected tier.
OptionsUpdateEnvValueMode
How env values are passed to MCP servers (direct inlines literal values; indirect resolves at launch).
OptionsUpdateReasoningSummary
Reasoning summary mode for supported model clients.
OptionsUpdateToolFilterPrecedence
Controls how availableTools (allowlist) and excludedTools (denylist) combine when both are set.
PermissionDecision
The client’s response to the pending permission prompt
PermissionDecisionApproveForLocationApproval
Approval to persist for this location
PermissionDecisionApproveForLocationApprovalCommandsKind
Approval scoped to specific command identifiers.
PermissionDecisionApproveForLocationApprovalCustomToolKind
Approval covering a custom tool.
PermissionDecisionApproveForLocationApprovalExtensionManagementKind
Approval covering extension lifecycle operations such as enable, disable, or reload.
PermissionDecisionApproveForLocationApprovalExtensionPermissionAccessKind
Approval covering an extension’s request to access a permission-gated capability.
PermissionDecisionApproveForLocationApprovalMcpKind
Approval covering an MCP tool.
PermissionDecisionApproveForLocationApprovalMcpSamplingKind
Approval covering MCP sampling requests for a server.
PermissionDecisionApproveForLocationApprovalMemoryKind
Approval covering writes to long-term memory.
PermissionDecisionApproveForLocationApprovalReadKind
Approval covering read-only filesystem operations.
PermissionDecisionApproveForLocationApprovalWriteKind
Approval covering filesystem write operations.
PermissionDecisionApproveForLocationKind
Approve and persist for this project location
PermissionDecisionApproveForSessionApproval
Session-scoped approval to remember (tool prompts only; omitted for path/url prompts)
PermissionDecisionApproveForSessionApprovalCommandsKind
Approval scoped to specific command identifiers.
PermissionDecisionApproveForSessionApprovalCustomToolKind
Approval covering a custom tool.
PermissionDecisionApproveForSessionApprovalExtensionManagementKind
Approval covering extension lifecycle operations such as enable, disable, or reload.
PermissionDecisionApproveForSessionApprovalExtensionPermissionAccessKind
Approval covering an extension’s request to access a permission-gated capability.
PermissionDecisionApproveForSessionApprovalMcpKind
Approval covering an MCP tool.
PermissionDecisionApproveForSessionApprovalMcpSamplingKind
Approval covering MCP sampling requests for a server.
PermissionDecisionApproveForSessionApprovalMemoryKind
Approval covering writes to long-term memory.
PermissionDecisionApproveForSessionApprovalReadKind
Approval covering read-only filesystem operations.
PermissionDecisionApproveForSessionApprovalWriteKind
Approval covering filesystem write operations.
PermissionDecisionApproveForSessionKind
Approve and remember for the rest of the session
PermissionDecisionApproveOnceKind
Approve this single request only
PermissionDecisionApprovePermanentlyKind
Approve and persist across sessions (URL prompts only)
PermissionDecisionApprovedForLocationKind
Approved and persisted for this project location
PermissionDecisionApprovedForSessionKind
Approved and remembered for the rest of the session
PermissionDecisionApprovedKind
The permission request was approved
PermissionDecisionCancelledKind
The permission request was cancelled before a response was used
PermissionDecisionDeniedByContentExclusionPolicyKind
Denied by the organization’s content exclusion policy
PermissionDecisionDeniedByPermissionRequestHookKind
Denied by a permission request hook registered by an extension or plugin
PermissionDecisionDeniedByRulesKind
Denied because approval rules explicitly blocked it
PermissionDecisionDeniedInteractivelyByUserKind
Denied by the user during an interactive prompt
PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUserKind
Denied because no approval rule matched and user confirmation was unavailable
PermissionDecisionRejectKind
Reject the request
PermissionDecisionUserNotAvailableKind
No user is available to confirm the request
PermissionLocationType
Whether the location is a git repo or directory
PermissionsConfigureAdditionalContentExclusionPolicyScope
Allowed values for the PermissionsConfigureAdditionalContentExclusionPolicyScope enumeration.
PermissionsLocationsAddToolApprovalDetails
Tool approval to persist and apply
PermissionsLocationsAddToolApprovalDetailsCommandsKind
Approval scoped to specific command identifiers.
PermissionsLocationsAddToolApprovalDetailsCustomToolKind
Approval covering a custom tool.
PermissionsLocationsAddToolApprovalDetailsExtensionManagementKind
Approval covering extension lifecycle operations such as enable, disable, or reload.
PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccessKind
Approval covering an extension’s request to access a permission-gated capability.
PermissionsLocationsAddToolApprovalDetailsMcpKind
Approval covering an MCP tool.
PermissionsLocationsAddToolApprovalDetailsMcpSamplingKind
Approval covering MCP sampling requests for a server.
PermissionsLocationsAddToolApprovalDetailsMemoryKind
Approval covering writes to long-term memory.
PermissionsLocationsAddToolApprovalDetailsReadKind
Approval covering read-only filesystem operations.
PermissionsLocationsAddToolApprovalDetailsWriteKind
Approval covering filesystem write operations.
PermissionsModifyRulesScope
Whether the change applies to ephemeral session-scoped rules (cleared at session end) or to location-scoped rules persisted via the location-permissions config file.
PermissionsSetAllowAllSource
Optional source for allow-all telemetry. Defaults to rpc when omitted for SDK callers.
PermissionsSetApproveAllSource
Optional source for allow-all telemetry. Defaults to rpc when omitted for SDK callers.
ProviderConfigType
Provider type. Defaults to “openai” for generic OpenAI-compatible APIs.
ProviderConfigWireApi
Wire API format (openai/azure only). Defaults to “completions”.
ProviderEndpointType
Provider family. Matches the type field of a BYOK provider config.
ProviderEndpointWireApi
Wire API to be used, when required for the provider type.
PushAttachmentBlobType
Attachment type discriminator
PushAttachmentDirectoryType
Attachment type discriminator
PushAttachmentFileType
Attachment type discriminator
PushAttachmentGitHubReferenceType
Type of GitHub reference
PushAttachmentSelectionType
Attachment type discriminator
QueuePendingItemsKind
Whether this item is a queued user message or a queued slash command / model change
RemoteControlStatusActiveState
Remote control state tag: active.
RemoteControlStatusConnectingState
Remote control state tag: connecting.
RemoteControlStatusErrorState
Remote control state tag: setup failed.
RemoteControlStatusOffState
Remote control state tag: not connected.
RemoteSessionMetadataTaskType
Whether the remote task originated from CCA or CLI --remote.
RemoteSessionMode
Per-session remote mode. “off” disables remote, “export” exports session events to GitHub without enabling remote steering, “on” enables both export and remote steering.
SendAgentMode
The UI mode the agent was in when this message was sent. Defaults to the session’s current mode.
SendMode
How to deliver the message. enqueue (default) appends to the message queue. immediate interjects during an in-progress turn.
SessionCapability
Session capability enabled for this session
SessionContextHostType
Repository host type
SessionFsErrorCode
Error classification
SessionFsReaddirWithTypesEntryType
Entry type
SessionFsSetProviderConventions
Path conventions used by this filesystem
SessionFsSqliteQueryType
How to execute the query: ‘exec’ for DDL/multi-statement (no results), ‘query’ for SELECT (returns rows), ‘run’ for INSERT/UPDATE/DELETE (returns rowsAffected)
SessionInstalledPluginSourceGitHubSource
Constant value. Always “github”.
SessionInstalledPluginSourceLocalSource
Constant value. Always “local”.
SessionInstalledPluginSourceUrlSource
Constant value. Always “url”.
SessionLogLevel
Log severity level. Determines how the message is displayed in the timeline. Defaults to “info”.
SessionOpenOptionsAdditionalContentExclusionPolicyScope
Allowed values for the SessionOpenOptionsAdditionalContentExclusionPolicyScope enumeration.
SessionOpenOptionsEnvValueMode
How MCP server environment values are interpreted.
SessionOpenOptionsReasoningSummary
Initial reasoning summary mode for supported model clients.
SessionOpenParams
Open a session by creating, resuming, attaching, connecting to a remote, or handing off.
SessionSource
Which session sources to include. Defaults to local for backward compatibility.
SessionWorkingDirectoryContextHostType
Hosting platform type of the repository
SessionsOpenAttachKind
Attach to an already-active in-process session by ID. Unlike resume, this does NOT re-load from disk; the session must already be loaded by an earlier create/resume call. Returns status: 'not_found' when no active session matches the id. Useful for in-process consumers that need a fresh API handle to a session opened elsewhere (e.g., a peer foreground-session switch).
SessionsOpenCloudKind
Create a new cloud (coding-agent) session.
SessionsOpenCreateKind
Create a new local session.
SessionsOpenHandoffKind
Fetch a remote session and hand it off to a new local session.
SessionsOpenHandoffTaskType
Task type determines the handoff strategy (CCA fetches events; CLI prepares a transient session).
SessionsOpenProgressStatus
Step status.
SessionsOpenProgressStep
Handoff step.
SessionsOpenRemoteKind
Connect to a live remote session.
SessionsOpenResumeKind
Resume a specific local session by ID or prefix.
SessionsOpenResumeLastKind
Resume the most relevant existing local session.
SessionsOpenStatus
Outcome of the open request.
ShellKillSignal
Signal to send (default: SIGTERM)
SkillDiscoveryScope
Which tier this directory belongs to
SlashCommandAgentPromptResultKind
Agent prompt result discriminator
SlashCommandCompletedResultKind
Completed result discriminator
SlashCommandInputCompletion
Optional completion hint for the input (e.g. ‘directory’ for filesystem path completion)
SlashCommandInvocationResult
Result of invoking the slash command (text output, prompt to send to the agent, or completion).
SlashCommandKind
Coarse command category for grouping and behavior: runtime built-in, skill-backed command, or SDK/client-owned command
SlashCommandSelectSubcommandResultKind
Select subcommand result discriminator
SlashCommandTextResultKind
Text result discriminator
SubagentSettingsEntryContextTier
Context tier override for matching subagents
TaskAgentInfoType
Task kind
TaskAgentProgressType
Progress kind
TaskExecutionMode
Whether task execution is synchronously awaited or managed in the background
TaskShellInfoAttachmentMode
Whether the shell runs inside a managed PTY session or as an independent background process
TaskShellInfoType
Task kind
TaskShellProgressType
Progress kind
TaskStatus
Current lifecycle status of the task
TokenAuthInfoType
SDK-side token authentication; the host configured the token directly via the SDK.
UIAutoModeSwitchResponse
User’s choice for auto-mode switching: yes (allow this turn), yes_always (allow + persist as setting), or no (decline).
UIElicitationArrayAnyOfFieldType
Type discriminator. Always “array”.
UIElicitationArrayEnumFieldItemsType
Type discriminator. Always “string”.
UIElicitationArrayEnumFieldType
Type discriminator. Always “array”.
UIElicitationResponseAction
The user’s response: accept (submitted), decline (rejected), or cancel (dismissed)
UIElicitationSchemaPropertyBooleanType
Type discriminator. Always “boolean”.
UIElicitationSchemaPropertyNumberType
Numeric type accepted by the field.
UIElicitationSchemaPropertyStringFormat
Optional format hint that constrains the accepted input.
UIElicitationSchemaPropertyStringType
Type discriminator. Always “string”.
UIElicitationSchemaType
Schema type indicator (always ‘object’)
UIElicitationStringEnumFieldType
Type discriminator. Always “string”.
UIElicitationStringOneOfFieldType
Type discriminator. Always “string”.
UIExitPlanModeAction
The action the user selected. Defaults to ‘autopilot’ when autoApproveEdits is true, otherwise ‘interactive’.
UserAuthInfoType
OAuth user authentication. The token itself is held in the runtime’s secret token store (keyed by host+login) and is NOT carried in this struct.
WorkspaceDiffFileChangeType
Type of change represented by this file diff.
WorkspaceDiffMode
Diff mode requested by the client.
WorkspaceSummaryHostType
Repository host type, if known
WorkspacesWorkspaceDetailsHostType
Allowed values for the WorkspacesWorkspaceDetailsHostType enumeration.

Type Aliases§

McpExecuteSamplingResult
MCP CreateMessageResult payload (with optional ‘tools’ extension), present when action=‘success’. Treated as opaque at the schema layer; consumers should construct/consume it per the MCP CreateMessageResult shape.
SessionMcpAppsCallToolResult
Standard MCP CallToolResult
UIElicitationResponseContent
The form values submitted by the user (present when action is ‘accept’)