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
AccountAllUsers
Authenticated account entry returned by account.getAllUsers, with auth info and an optional associated token.
AccountGetCurrentAuthResult
Current authentication state
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.
AccountLoginRequest
Credentials to store after successful authentication
AccountLoginResult
Result of a successful login; throws on failure
AccountLogoutRequest
User to log out
AccountLogoutResult
Logout result indicating if more users remain
AccountQuotaSnapshot
Quota usage snapshot for a Copilot quota type, including entitlement, used requests, overage, reset date, and remaining percentage.
AgentDiscoveryPath
Canonical directory where custom agents can be discovered or created, with scope, preference, and optional project path.
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
Custom agent metadata, including identifiers, display details, source, tools, model, MCP servers, skills, and file path.
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 allow-all permission mode.
ApiKeyAuthInfo
Authentication-info variant for API-key authentication to a non-GitHub LLM provider, carrying the secret apiKey and host.
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
AttachmentGitHubActionsJob
Pointer to a GitHub Actions job.
AttachmentGitHubCommit
Pointer to a GitHub commit.
AttachmentGitHubFile
Pointer to a file in a GitHub repository at a specific ref.
AttachmentGitHubFileDiff
Pointer to a single-file diff. At least one of head and base must be present.
AttachmentGitHubFileDiffSide
One side of a file diff (head or base)
AttachmentGitHubReference
GitHub issue, pull request, or discussion reference
AttachmentGitHubRelease
Pointer to a GitHub release.
AttachmentGitHubRepository
Pointer to a GitHub repository.
AttachmentGitHubSnippet
Pointer to a line range inside a file in a GitHub repository.
AttachmentGitHubTreeComparison
Pointer to a comparison between two git revisions.
AttachmentGitHubTreeComparisonSide
One side of a tree comparison (head or base)
AttachmentGitHubUrl
Generic GitHub URL 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.
CapiSessionOptions
Options scoped to the built-in CAPI (Copilot API) provider.
ClientRpc
Typed view over the Client’s server-level RPC namespace.
ClientRpcAccount
account.* RPCs.
ClientRpcAgentRegistry
agentRegistry.* RPCs.
ClientRpcAgents
agents.* RPCs.
ClientRpcInstructions
instructions.* RPCs.
ClientRpcLlmInference
llmInference.* 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.
CompletionsGetTriggerCharactersResult
Characters that, when typed in the composer, should trigger a completions.request. Empty when the session has no host-driven completions (e.g. local sessions, or a relay host that does not advertise completionTriggerCharacters).
CompletionsRequestRequest
Request host-driven completions for the current composer input.
CompletionsRequestResult
Host-driven completion items for the current composer input. Empty when the host returns no items or does not support completions.
ConnectRemoteSessionParams
Remote session connection parameters.
ConnectedRemoteSessionMetadata
Metadata for a connected remote session.
ConnectedRemoteSessionMetadataRepository
Repository associated with the connected remote session.
ContextHeaviestMessage
A single large message currently in context.
CopilotApiTokenAuthInfo
Authentication-info variant for direct Copilot API token auth sourced from environment variables, with public GitHub host.
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
Endpoint URLs from the raw Copilot /copilot_internal/v2/token user-response passthrough.
CopilotUserResponseQuotaSnapshots
Quota snapshot map from the raw Copilot user-response passthrough, with chat, completions, premium-interactions, and other entries.
CopilotUserResponseQuotaSnapshotsChat
Chat quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
CopilotUserResponseQuotaSnapshotsCompletions
Completions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
CopilotUserResponseQuotaSnapshotsPremiumInteractions
Premium-interactions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
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
DebugCollectLogsCollectedEntry
A file included in the redacted debug bundle.
DebugCollectLogsDestinationArchive
DebugCollectLogsDestinationDirectory
DebugCollectLogsEntry
A caller-provided server-local file or directory to include in the debug bundle.
DebugCollectLogsInclude
Built-in session diagnostics to include in the bundle. Omitted fields default to true.
DebugCollectLogsRequest
Options for collecting a redacted session debug bundle.
DebugCollectLogsResult
Result of collecting a redacted debug bundle.
DebugCollectLogsSkippedEntry
An optional debug bundle entry that could not be included.
DiscoveredCanvas
Canvas available in the current session.
DiscoveredMcpServer
MCP server discovered by mcp.discover, with config source, optional plugin source, transport type, and enabled state.
EnqueueCommandParams
Slash-prefixed command string to enqueue for FIFO processing.
EnqueueCommandResult
Indicates whether the command was accepted into the local execution queue.
EnvAuthInfo
Authentication-info variant for a token sourced from an environment variable, with host, optional login, token, and env var name.
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
Discovered extension metadata, including source-qualified ID, name, discovery source, status, and optional process ID.
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
ExternalToolTextResultForLlmContentShellExit
Shell command exit metadata with optional output preview
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
Authentication-info variant for GitHub CLI credentials, carrying host, login, and the gh auth token value.
GitHubRepoRef
Pointer to a GitHub repository.
GitHubTelemetryClientInfo
Client environment metadata describing the process that produced a telemetry event.
GitHubTelemetryEvent
A single telemetry event in the runtime’s native GitHub-shaped telemetry format, forwarded verbatim to opted-in hosts. The restricted flag on the enclosing GitHubTelemetryNotification distinguishes standard from restricted events; the payload shape is identical for both.
GitHubTelemetryNotification
Payload for a gitHubTelemetry.event notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding during the server.connect handshake.
HMACAuthInfo
Authentication-info variant for GitHub-internal HMAC auth, carrying the public GitHub host and HMAC secret.
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
Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
InstalledPluginInfo
Information about an installed plugin tracked in global state.
InstalledPluginSourceGitHub
Source descriptor for a direct GitHub plugin install, with owner/repo, optional ref, and optional subpath.
InstalledPluginSourceLocal
Source descriptor for a direct local plugin install, with a local filesystem path.
InstalledPluginSourceUrl
Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath.
InstructionDiscoveryPath
Canonical file or directory where custom instructions can be discovered or created, with location, kind, preference, and project path.
InstructionDiscoveryPathList
Canonical files and directories where custom instructions can be created so the runtime will recognize them.
InstructionSource
Loaded instruction source for a session, including path, content, category, location, applicability, and optional description.
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.
LlmInferenceHttpRequestChunkRequest
A request body chunk or cancellation signal.
LlmInferenceHttpRequestChunkResult
Acknowledgement. The SDK is free to ignore the ack and treat chunk delivery as fire-and-forget.
LlmInferenceHttpRequestStartRequest
The head of an outbound model-layer HTTP request.
LlmInferenceHttpRequestStartResult
Acknowledgement. Returning successfully simply means the SDK accepted the start frame; it does not imply the request will succeed.
LlmInferenceHttpResponseChunkError
Set to terminate the response with a transport-level failure. Implies end-of-stream; any further chunks for this requestId are ignored.
LlmInferenceHttpResponseChunkRequest
A response body chunk or terminal error.
LlmInferenceHttpResponseChunkResult
Whether the chunk was accepted.
LlmInferenceHttpResponseStartRequest
Response head.
LlmInferenceHttpResponseStartResult
Whether the start frame was accepted.
LlmInferenceSetProviderResult
Indicates whether the calling client was registered as the LLM inference provider.
LocalSessionMetadataValue
Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID.
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
Per-marketplace refresh result, including marketplace name, success flag, and optional failure error.
MarketplaceRefreshResult
Result of refreshing one or more marketplace catalogs.
MarketplaceRemoveResult
Outcome of the remove attempt, including dependent-plugin info when applicable.
McpAllowedServer
MCP server allowed by policy, with server name and optional PII-free explanatory note.
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
MCP Apps resource content with URI, optional MIME type, text or base64 blob, and resource metadata.
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
MCP server filtered by policy, with name, reason, optional redacted reason, and enterprise login.
McpHeadersHandlePendingHeadersRefreshRequestHeaders
McpHeadersHandlePendingHeadersRefreshRequestNone
McpHeadersHandlePendingHeadersRefreshRequestRequest
MCP headers refresh request id and the host response.
McpHeadersHandlePendingHeadersRefreshRequestResult
Indicates whether the pending MCP headers refresh response was accepted.
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.
McpOauthHandlePendingRequest
Pending MCP OAuth request ID and host-provided token or cancellation response.
McpOauthHandlePendingResult
Indicates whether the pending MCP OAuth response was accepted.
McpOauthLoginRequest
Remote MCP server name and optional overrides controlling reauthentication, OAuth client display name, callback success-page copy, and static OAuth client selection.
McpOauthLoginResult
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
McpOauthPendingRequestResponseCancelled
McpOauthPendingRequestResponseToken
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
MCP server status entry, including config source/plugin source and any connection error.
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
MCP tool metadata with tool name and optional description.
MemoryConfiguration
Memory configuration for this session.
MetadataContextAttributionResult
Per-source attribution breakdown for the session’s current context window, or null if uninitialized.
MetadataContextAttributionResultContextAttribution
Per-source token attribution snapshot for the current context window. The heaviest individual messages are available separately via metadata.getContextHeaviestMessages.
MetadataContextAttributionResultContextAttributionCompactions
Successful compaction history for the session.
MetadataContextAttributionResultContextAttributionEntriesItem
MetadataContextHeaviestMessagesRequest
Parameters for the heaviest-messages query.
MetadataContextHeaviestMessagesResult
The heaviest individual messages in the session’s context window, most-expensive first.
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
Copilot model metadata, including identifier, display name, capabilities, policy, billing, reasoning efforts, and picker categories.
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
Content-exclusion policy supplied to session.options.update, with rules, last-updated data, and scope.
OptionsUpdateAdditionalContentExclusionPolicyRule
Single content-exclusion rule supplied to session.options.update, with paths, match conditions, and source.
OptionsUpdateAdditionalContentExclusionPolicyRuleSource
Source descriptor for a session.options.update content-exclusion rule, with source name and type.
PendingPermissionRequest
Pending permission prompt reconstructed from event history, with request ID and user-facing prompt details.
PendingPermissionRequestList
List of pending permission requests reconstructed from event history.
PermissionDecisionApproveForLocation
Permission-decision request variant to approve and persist a permission for a project location, with approval details and location key.
PermissionDecisionApproveForLocationApprovalCommands
Location-scoped approval details for specific command identifiers.
PermissionDecisionApproveForLocationApprovalCustomTool
Location-scoped approval details for a custom tool, keyed by tool name.
PermissionDecisionApproveForLocationApprovalExtensionManagement
Location-scoped approval details for extension-management operations, optionally narrowed by operation.
PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess
Location-scoped approval details for an extension’s permission-gated capability access, keyed by extension name.
PermissionDecisionApproveForLocationApprovalMcp
Location-scoped approval details for an MCP server tool, or all tools on the server when toolName is null.
PermissionDecisionApproveForLocationApprovalMcpSampling
Location-scoped approval details for MCP sampling requests from a server.
PermissionDecisionApproveForLocationApprovalMemory
Location-scoped approval details for writes to long-term memory.
PermissionDecisionApproveForLocationApprovalRead
Location-scoped approval details for read-only filesystem operations.
PermissionDecisionApproveForLocationApprovalWrite
Location-scoped approval details for filesystem write operations.
PermissionDecisionApproveForSession
Permission-decision request variant to approve for the rest of the session, with optional tool approval or URL domain.
PermissionDecisionApproveForSessionApprovalCommands
Session-scoped approval details for specific command identifiers.
PermissionDecisionApproveForSessionApprovalCustomTool
Session-scoped approval details for a custom tool, keyed by tool name.
PermissionDecisionApproveForSessionApprovalExtensionManagement
Session-scoped approval details for extension-management operations, optionally narrowed by operation.
PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess
Session-scoped approval details for an extension’s permission-gated capability access, keyed by extension name.
PermissionDecisionApproveForSessionApprovalMcp
Session-scoped approval details for an MCP server tool, or all tools on the server when toolName is null.
PermissionDecisionApproveForSessionApprovalMcpSampling
Session-scoped approval details for MCP sampling requests from a server.
PermissionDecisionApproveForSessionApprovalMemory
Session-scoped approval details for writes to long-term memory.
PermissionDecisionApproveForSessionApprovalRead
Session-scoped approval details for read-only filesystem operations.
PermissionDecisionApproveForSessionApprovalWrite
Session-scoped approval details for filesystem write operations.
PermissionDecisionApproveOnce
Permission-decision request variant to approve only the current permission request.
PermissionDecisionApprovePermanently
Permission-decision request variant to permanently approve a URL domain across sessions.
PermissionDecisionApproved
Permission-decision variant indicating the request was approved.
PermissionDecisionApprovedForLocation
Permission-decision variant indicating approval was persisted for a project location, with approval details and location key.
PermissionDecisionApprovedForSession
Permission-decision variant indicating approval was remembered for the session, with approval details.
PermissionDecisionCancelled
Permission-decision variant indicating the request was cancelled before use, with an optional reason.
PermissionDecisionDeniedByContentExclusionPolicy
Permission-decision variant indicating denial by content-exclusion policy, with path and message.
PermissionDecisionDeniedByPermissionRequestHook
Permission-decision variant indicating denial by a permission request hook, with optional message and interrupt flag.
PermissionDecisionDeniedByRules
Permission-decision variant indicating explicit denial by permission rules, with the matching rules.
PermissionDecisionDeniedInteractivelyByUser
Permission-decision variant indicating the user denied an interactive prompt, with optional feedback and force-reject flag.
PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser
Permission-decision variant indicating no approval rule matched and user confirmation was unavailable.
PermissionDecisionReject
Permission-decision request variant to reject a pending permission request, with optional feedback.
PermissionDecisionRequest
Pending permission request ID and the decision to apply (approve/reject and scope).
PermissionDecisionUserNotAvailable
Permission-decision variant indicating no user was available to confirm the request.
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
Content-exclusion policy supplied to session.permissions.configure, with rules, last-updated data, and scope.
PermissionsConfigureAdditionalContentExclusionPolicyRule
Single content-exclusion rule supplied to session.permissions.configure, with paths, match conditions, and source.
PermissionsConfigureAdditionalContentExclusionPolicyRuleSource
Source descriptor for a session.permissions.configure content-exclusion rule, with source name and 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
Location-persisted tool approval details for specific command identifiers.
PermissionsLocationsAddToolApprovalDetailsCustomTool
Location-persisted tool approval details for a custom tool, keyed by tool name.
PermissionsLocationsAddToolApprovalDetailsExtensionManagement
Location-persisted tool approval details for extension-management operations, optionally narrowed by operation.
PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess
Location-persisted tool approval details for an extension’s permission-gated capability access, keyed by extension name.
PermissionsLocationsAddToolApprovalDetailsMcp
Location-persisted tool approval details for an MCP server tool, or all tools when toolName is null.
PermissionsLocationsAddToolApprovalDetailsMcpSampling
Location-persisted tool approval details for MCP sampling requests from a server.
PermissionsLocationsAddToolApprovalDetailsMemory
Location-persisted tool approval details for writes to long-term memory.
PermissionsLocationsAddToolApprovalDetailsRead
Location-persisted tool approval details for read-only filesystem operations.
PermissionsLocationsAddToolApprovalDetailsWrite
Location-persisted tool approval details for filesystem write operations.
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
Allow-all mode to apply 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
Session plugin metadata, with name, marketplace, optional version, and enabled state.
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
Per-plugin result from updating all plugins, with versions, skills installed, success flag, and optional error.
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.
ProviderAddRequest
BYOK providers and/or models to add to the session’s registry at runtime. Both fields are optional; provide providers, models, or both.
ProviderAddResult
The selectable model entries synthesized for the models added by this call.
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.
ProviderTokenAcquireRequest
Asks the SDK client to acquire a bearer token for a BYOK provider whose config set hasBearerTokenProvider: true. Issued by the runtime before each outbound model request; the runtime does no caching, so this is sent once per request.
ProviderTokenAcquireResult
A bearer token supplied by the SDK client for a BYOK provider. The runtime sets it as Authorization: Bearer <token> on the outbound request and does no caching; the SDK consumer owns token caching and refresh.
ProviderTokenGetTokenResult
A bearer token supplied by the SDK client for a BYOK provider. The runtime sets it as Authorization: Bearer <token> on the outbound request and does no caching; the SDK consumer owns token caching and refresh.
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
PushAttachmentGitHubActionsJob
Pointer to a GitHub Actions job.
PushAttachmentGitHubCommit
Pointer to a GitHub commit.
PushAttachmentGitHubFile
Pointer to a file in a GitHub repository at a specific ref.
PushAttachmentGitHubFileDiff
Pointer to a single-file diff. At least one of head and base must be present.
PushAttachmentGitHubFileDiffSide
One side of a file diff (head or base)
PushAttachmentGitHubReference
GitHub issue, pull request, or discussion reference
PushAttachmentGitHubRelease
Pointer to a GitHub release.
PushAttachmentGitHubRepository
Pointer to a GitHub repository.
PushAttachmentGitHubSnippet
Pointer to a line range inside a file in a GitHub repository.
PushAttachmentGitHubTreeComparison
Pointer to a comparison between two git revisions.
PushAttachmentGitHubTreeComparisonSide
One side of a tree comparison (head or base)
PushAttachmentGitHubUrl
Generic GitHub URL 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
PushGitHubRepoRef
Pointer to a GitHub repository.
QueuePendingItems
User-facing pending queue entry, with kind and display text for a queued message, slash command, or model change.
QueuePendingItemsResult
Snapshot of the session’s pending queued items and immediate-steering messages.
QueueRemoveMostRecentResult
Indicates whether a user-facing pending item was removed.
QueuedCommandHandled
Queued-command response indicating the host executed the command, with an optional flag to stop queue processing.
QueuedCommandNotHandled
Queued-command response indicating the host did not execute the command and the queue may continue.
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.
SandboxConfigUserPolicySeatbelt
macOS seatbelt-specific options.
ScheduleEntry
Scheduled prompt entry with ID, timing (intervalMs, cron, or at), prompt text, recurrence, and next run time.
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
Server-side skill metadata, including name, description, source, enabled/invocable state, path, project path, and argument hint.
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.
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.
SessionCompletionItem
A single host-driven completion. Accepting an item replaces [rangeStart, rangeEnd) (UTF-16 code units) in the composer with insertText; when the range is absent, the active token around the cursor is replaced.
SessionCompletionsGetTriggerCharactersParams
Identifies the target session.
SessionCompletionsGetTriggerCharactersResult
Characters that, when typed in the composer, should trigger a completions.request. Empty when the session has no host-driven completions (e.g. local sessions, or a relay host that does not advertise completionTriggerCharacters).
SessionCompletionsRequestResult
Host-driven completion items for the current composer input. Empty when the host returns no items or does not support completions.
SessionContext
Pre-resolved working-directory context for session startup.
SessionContextAttribution
Per-source context-window attribution, or null if the session has not yet been initialized (no system prompt or tool metadata cached).
SessionContextAttributionCompactions
Successful compaction history for the session.
SessionContextAttributionEntriesItem
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).
SessionDebugCollectLogsResult
Result of collecting a redacted debug bundle.
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
Directory entry returned by session filesystem readdirWithTypes, with name and entry 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.
SessionGitHubAuthGetStatusParams
Identifies the target session.
SessionGitHubAuthGetStatusResult
Authentication status and account metadata for the session.
SessionGitHubAuthSetCredentialsResult
Indicates whether the credential update succeeded.
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
Installed plugin record for a session, with marketplace, version, install time, enabled state, cache path, and source.
SessionInstalledPluginSourceGitHub
Source descriptor for a direct GitHub plugin install, with owner/repo, optional ref, and optional subpath.
SessionInstalledPluginSourceLocal
Source descriptor for a direct local plugin install, with a local filesystem path.
SessionInstalledPluginSourceUrl
Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath.
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.
SessionMcpHeadersHandlePendingHeadersRefreshRequestResult
Indicates whether the pending MCP headers refresh response was accepted.
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.
SessionMcpOauthHandlePendingRequestResult
Indicates whether the pending MCP OAuth response was accepted.
SessionMcpOauthLoginResult
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
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
SessionMetadataGetContextAttributionParams
Identifies the target session.
SessionMetadataGetContextAttributionResult
Per-source attribution breakdown for the session’s current context window, or null if uninitialized.
SessionMetadataGetContextAttributionResultContextAttribution
Per-source token attribution snapshot for the current context window. The heaviest individual messages are available separately via metadata.getContextHeaviestMessages.
SessionMetadataGetContextAttributionResultContextAttributionCompactions
Successful compaction history for the session.
SessionMetadataGetContextAttributionResultContextAttributionEntriesItem
SessionMetadataGetContextHeaviestMessagesResult
The heaviest individual messages in the session’s context window, most-expensive first.
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
Content-exclusion policy supplied to sessions.open options, with rules, last-updated data, and scope.
SessionOpenOptionsAdditionalContentExclusionPolicyRule
Single content-exclusion rule supplied to sessions.open options, with paths, match conditions, and source.
SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource
Source descriptor for a sessions.open content-exclusion rule, with source name and 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 allow-all permission mode.
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.
SessionProviderAddResult
The selectable model entries synthesized for the models added by this call.
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.
SessionRpcCanvas
session.canvas.* RPCs.
SessionRpcCanvasAction
session.canvas.action.* RPCs.
SessionRpcCommands
session.commands.* RPCs.
SessionRpcCompletions
session.completions.* RPCs.
SessionRpcDebug
session.debug.* RPCs.
SessionRpcEventLog
session.eventLog.* RPCs.
SessionRpcExtensions
session.extensions.* RPCs.
SessionRpcFleet
session.fleet.* RPCs.
SessionRpcGitHubAuth
session.gitHubAuth.* RPCs.
SessionRpcHistory
session.history.* RPCs.
SessionRpcInstructions
session.instructions.* RPCs.
SessionRpcLsp
session.lsp.* RPCs.
SessionRpcMcp
session.mcp.* RPCs.
SessionRpcMcpApps
session.mcp.apps.* RPCs.
SessionRpcMcpHeaders
session.mcp.headers.* 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.
SessionRpcSettings
session.settings.* 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.
SessionRpcVisibility
session.visibility.* 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.
SessionSettingsBuiltInToolAvailabilitySnapshot
Availability of built-in job tools surfaced to boundary consumers.
SessionSettingsEvaluatePredicateRequest
Named Rust-owned settings predicate to evaluate for this session.
SessionSettingsEvaluatePredicateResult
Result of evaluating a Rust-owned settings predicate.
SessionSettingsJobSnapshot
Redacted job settings for a session. The job nonce is excluded.
SessionSettingsModelSnapshot
Redacted model routing settings for a session.
SessionSettingsOnlineEvaluationSnapshot
Online-evaluation settings safe to expose across the SDK boundary.
SessionSettingsRepoSnapshot
Redacted repository and GitHub host settings for a session.
SessionSettingsSnapshot
Redacted, serializable view of session runtime settings for SDK boundary consumers. Secrets and raw feature flags are intentionally excluded.
SessionSettingsSnapshotParams
Identifies the target session.
SessionSettingsSnapshotResult
Redacted, serializable view of session runtime settings for SDK boundary consumers. Secrets and raw feature flags are intentionally excluded.
SessionSettingsValidationSnapshot
Redacted validation and memory-tool settings for a session.
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.
SessionUiHandlePendingSessionLimitsExhaustedResult
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.
SessionVisibilityGetParams
Identifies the target session.
SessionVisibilityGetResult
Current sharing status and shareable GitHub URL for a session.
SessionVisibilitySetResult
Effective sharing status and shareable GitHub URL after updating session visibility.
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
sessions.open handoff progress update with step, status, and optional message.
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.
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
Skill metadata available to a session, with name, description, source, enabled/invocable state, path, plugin, and argument hint.
SkillDiscoveryPath
Canonical directory where skills can be discovered or created, with scope, preference, and optional project path.
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
Skill invocation record with name, path, content, allowed tools, and turn number.
SkillsLoadDiagnostics
Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
SlashCommandAgentPromptResult
Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, and settings-change flag.
SlashCommandCompletedResult
Slash-command invocation result indicating completion, with optional message and settings-change flag.
SlashCommandInfo
Slash-command metadata with name, aliases, description, kind, input hint, execution allowance, and schedulability.
SlashCommandInput
Optional unstructured input hint
SlashCommandInputChoice
A literal choice the command input accepts, with a human-facing description
SlashCommandSelectSubcommandOption
Selectable slash-command subcommand option with name, description, and optional group label.
SlashCommandSelectSubcommandResult
Slash-command invocation result asking the client to present subcommand options for a parent command.
SlashCommandTextResult
Slash-command invocation result containing text output plus Markdown/ANSI rendering flags.
SubagentSettings
Subagent settings to apply, or null to clear the live session override
SubagentSettingsEntry
Subagent model, reasoning effort, and context tier settings
TaskAgentInfo
Tracked background agent task metadata, including IDs, status, timing, agent type, prompt, model, result, and latest response.
TaskAgentProgress
Progress snapshot for an agent task, with recent activity lines and optional latest intent.
TaskList
Background tasks currently tracked by the session.
TaskProgressLine
Timestamped display line for task progress output or recent agent activity.
TaskShellInfo
Tracked shell task metadata, including ID, command, status, timing, attachment/execution mode, log path, and PID.
TaskShellProgress
Progress snapshot for a shell task, with recent stdout/stderr output and optional process ID.
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
Authentication-info variant for SDK-configured token authentication, carrying host and the secret token value.
Tool
Built-in tool metadata with identifier, optional namespaced name, description, input-parameter schema, and usage instructions.
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
Selectable option for a UI elicitation multi-select array item, with submitted value and display label.
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
Selectable option for a UI elicitation single-select string field, with submitted value and display label.
UIEphemeralQueryRequest
Transient question to answer without adding it to conversation history.
UIEphemeralQueryResult
Transient answer generated from current conversation context.
UIExitPlanModeResponse
User response for a pending exit-plan-mode request, with approval state, selected action, auto-approve flag, and feedback.
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.
UIHandlePendingSessionLimitsExhaustedRequest
Request ID of a pending session_limits_exhausted.requested event and the user’s selected limit action.
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).
UISessionLimitsExhaustedResponse
The user’s selected action for an exhausted session limit.
UIUnregisterDirectAutoModeSwitchHandlerRequest
Opaque handle previously returned by registerDirectAutoModeSwitchHandler to release.
UIUnregisterDirectAutoModeSwitchHandlerResult
Indicates whether the handle was active and the registration count was decremented.
UIUserInputResponse
User response for a pending user-input request, with answer text and whether it was typed freeform.
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
Per-model usage metrics, including request counts/costs, token usage, nano-AI units, and per-token-type details.
UsageMetricsModelMetricRequests
Request count and cost metrics for this model
UsageMetricsModelMetricTokenDetail
Per-model token-detail entry containing the accumulated token count for one token type.
UsageMetricsModelMetricUsage
Token usage metrics for this model
UsageMetricsTokenDetail
Session-wide token-detail entry containing the accumulated token count for one token type.
UserAuthInfo
Authentication-info variant for OAuth user auth, with host and login; the token remains in the runtime secret store.
UserRequestedShellCommandResult
Result of a user-requested shell command.
UserSettingMetadata
A single user setting’s effective value alongside its default, so consumers can render settings left at their default.
UserSettingsGetResult
Per-key metadata for every known user setting (settings.json overlaid with the legacy config.json, config.json wins), including settings left at their default. Excludes repository- and enterprise-managed overrides.
UserSettingsSetRequest
Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
UserSettingsSetResult
Outcome of writing user settings.
VisibilityGetResult
Current sharing status and shareable GitHub URL for a session.
VisibilitySetRequest
Desired sharing status for the session.
VisibilitySetResult
Effective sharing status and shareable GitHub URL after updating session visibility.
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
Workspace checkpoint metadata with assigned number, human-readable title, and checkpoint filename.
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§

AdaptiveThinkingSupport
Resolved Anthropic adaptive-thinking capability for a model.
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
AttachmentGitHubActionsJobType
Attachment type discriminator
AttachmentGitHubCommitType
Attachment type discriminator
AttachmentGitHubFileDiffType
Attachment type discriminator
AttachmentGitHubFileType
Attachment type discriminator
AttachmentGitHubReferenceType
Type of GitHub reference
AttachmentGitHubReleaseType
Attachment type discriminator
AttachmentGitHubRepositoryType
Attachment type discriminator
AttachmentGitHubSnippetType
Attachment type discriminator
AttachmentGitHubTreeComparisonType
Attachment type discriminator
AttachmentGitHubUrlType
Attachment type discriminator
AttachmentSelectionType
Attachment type discriminator
AuthInfoType
Authentication type
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.
DebugCollectLogsDestination
Destination for the redacted debug bundle.
DebugCollectLogsDestinationArchiveKind
DebugCollectLogsDestinationDirectoryKind
DebugCollectLogsEntryKind
Kind of caller-provided debug log entry.
DebugCollectLogsRedaction
How a collected debug entry should be redacted before being staged.
DebugCollectLogsResultKind
Destination kind that was written.
DebugCollectLogsSource
Source category for a collected debug bundle entry.
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
ExternalToolTextResultForLlmContentShellExitType
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
LlmInferenceHttpRequestStartTransport
Transport the runtime would otherwise use for this request. http (the default when absent) covers plain HTTP and SSE responses; websocket indicates a full-duplex message channel where each body chunk maps to one WebSocket message and the binary flag distinguishes text from binary frames. The SDK consumer uses this to decide whether to service the request with an HTTP client or a WebSocket client. It is the one piece of request metadata the consumer cannot reliably infer from the URL or headers alone.
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
McpHeadersHandlePendingHeadersRefreshRequest
Host response: supply dynamic headers or decline this refresh.
McpHeadersHandlePendingHeadersRefreshRequestHeadersKind
McpHeadersHandlePendingHeadersRefreshRequestNoneKind
McpOauthLoginGrantType
OAuth grant type override for this login.
McpOauthPendingRequestResponse
Host response to the pending OAuth request.
McpOauthPendingRequestResponseCancelledKind
McpOauthPendingRequestResponseTokenKind
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
OmittedBinaryOmittedReason
Why the binary data is absent: it exceeded the inline size limit, or its asset was unavailable
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
PermissionsAllowAllMode
Current or requested allow-all mode.
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.
ProviderConfigTransport
Provider transport. Defaults to “http”.
ProviderConfigType
Provider type. Defaults to “openai” for generic OpenAI-compatible APIs.
ProviderConfigWireApi
Wire API format (openai/azure only). Defaults to “completions”.
ProviderEndpointTransport
Transport to be used for provider requests.
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
PushAttachmentGitHubActionsJobType
Attachment type discriminator
PushAttachmentGitHubCommitType
Attachment type discriminator
PushAttachmentGitHubFileDiffType
Attachment type discriminator
PushAttachmentGitHubFileType
Attachment type discriminator
PushAttachmentGitHubReferenceType
Type of GitHub reference
PushAttachmentGitHubReleaseType
Attachment type discriminator
PushAttachmentGitHubRepositoryType
Attachment type discriminator
PushAttachmentGitHubSnippetType
Attachment type discriminator
PushAttachmentGitHubTreeComparisonType
Attachment type discriminator
PushAttachmentGitHubUrlType
Attachment type discriminator
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.
SessionSettingsPredicateName
Rust-owned settings predicates exposed across the SDK boundary. Raw feature-flag names are intentionally not part of the contract.
SessionSource
Which session sources to include. Defaults to local for backward compatibility.
SessionVisibilityStatus
Sharing status for a synced session. “repo” makes the session visible to anyone with read access to the repository; “unshared” restricts it to the creator and collaborators.
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, completion, or subcommand selection).
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’.
UISessionLimitsExhaustedResponseAction
User action selected for an exhausted session limit.
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§

AccountGetAllUsersResult
List of all authenticated users
LlmInferenceHeaders
HTTP headers as a map from lowercased header name to a list of values. Multi-valued headers (e.g. Set-Cookie) preserve all values.
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’)