All Classes and Interfaces

Class
Description
Session event "abort".
Data payload for AbortEvent.
Finite reason code describing why the current turn was aborted
Finite reason code describing why the current turn was aborted
Authenticated account entry returned by `account.getAllUsers`.
An interactive account whose model provider owns its credentials.
Current authentication state
Request parameters for the account.getQuota RPC method.
Quota usage snapshots for the resolved user, keyed by quota type.
The provider kind stamped on a signed-in account.
Credentials to validate and store.
Result of a successful login; throws on failure
User to log out
Logout result indicating if more users remain
Quota usage snapshot for a Copilot quota type, including entitlement, used requests, overage, reset date, and remaining percentage.
One signed-in account in the roster forest.
Resolved Anthropic adaptive-thinking capability for a model.
Canonical directory where custom agents can be discovered or created, with scope, preference, and optional project path.
Which tier this directory belongs to
Agent metadata, including identifiers, display details, source, tools, model, models, reasoning effort, MCP servers, skills, and file path.
Represents a custom agent available for selection in a session.
Where the agent definition was loaded from
What the agent was doing when the user interrupted it.
Where the interruption landed relative to the first streamed token.
Session event "agent.interrupted".
Data payload for AgentInterruptedEvent.
The UI mode the agent is in for a given turn.
Whether configured models are advisory preferences or required constraints
Whether configured models are advisory preferences or required constraints
Full registry entry for the spawned child.
Kind of attention required when status === "attention".
Process kind tag for the registry entry
How the most recent turn ended (clean vs aborted).
Coarse lifecycle status of the foreground session
Canonical process-log discovery outcome; populated from spawnLiveTarget.
Categorized reason no canonical process log could be opened
`child_process.spawn` itself failed before the child entered the registry.
Inputs to spawn a managed-server child via the controller's spawn delegate.
Permission posture for the new session.
Spawn succeeded but the child did not publish a matching managed-server entry within the timeout.
Outcome of an agentRegistry.spawn call.
Managed-server child was spawned and registered successfully.
Synchronous pre-validation rejected the spawn request.
Which parameter field was invalid.
Categorized reason for the rejection.
Optional project paths to include in agent discovery.
Optional project paths to include in agent discovery.
Agents discovered across user, project, plugin, and remote sources.
Optional project paths to include when enumerating agent discovery directories.
Optional project paths to include when enumerating agent discovery directories.
Canonical locations where custom agents can be created so the runtime will recognize them.
Handler for agent-stop hooks.
Input for an agent-stop hook.
Output for an agent-stop hook.
A ready, connection-owned AHP listener.
A connection-owned listener's termination and cleanup outcome.
Options for in-process AHP hosting.
An application-owned AHP session creation request.
An application-owned durable AHP session resume request.
Whether the accumulated numeric AI-credit subtotal covers the observed calls.
Whether the accumulated numeric AI-credit subtotal covers the observed calls.
Opts a declaration into using CopilotExperimental APIs.
Authentication-info input variant for API-key authentication to a non-GitHub LLM provider, carrying the secret `apiKey` and host.
Selects how the built-in ask_user tool collects user input.
Session event "assistant.fusion_phase_activity".
Session event "assistant.fusion_phase_completed".
Session event "assistant.fusion_phase_failed".
Session event "assistant.fusion_phase_started".
Session event "assistant.idle".
Data payload for AssistantIdleEvent.
Session event "assistant.intent".
Data payload for AssistantIntentEvent.
Session event "assistant.message_delta".
Data payload for AssistantMessageDeltaEvent.
Session event "assistant.message".
Data payload for AssistantMessageEvent.
Neutral provider-tagged reasoning content blocks preserved verbatim for round-tripping
Neutral provider-tagged server-side tool-use payload (tool search, advisor) for verbatim round-tripping
Session event "assistant.message_start".
Data payload for AssistantMessageStartEvent.
A tool invocation request from the assistant
Hosted program that requested this client tool call
Hosted program caller type
Tool call type: "function" for standard tool calls, "custom" for grammar-based tool calls.
Session event "assistant.reasoning_delta".
Session event "assistant.reasoning".
Data payload for AssistantReasoningEvent.
Session event "assistant.server_tool_progress".
Session event "assistant.streaming_delta".
Session event "assistant.tool_call_delta".
Data payload for AssistantToolCallDeltaEvent.
Session event "assistant.turn_end".
Data payload for AssistantTurnEndEvent.
Session event "assistant.turn_retry".
Data payload for AssistantTurnRetryEvent.
Session event "assistant.turn_start".
Data payload for AssistantTurnStartEvent.
API endpoint used for this model call, matching CAPI supported_endpoints vocabulary
Per-request cost and usage data from the CAPI copilot_usage response field
Token usage detail for a single billing category
Session event "assistant.usage".
Data payload for AssistantUsageEvent.
Internal per-quota snapshot for assistant usage, including entitlement, consumed requests, overage, reset date, and remaining quota.
Transport used for a successful model call
Represents a file attachment to include with a message.
Selects which accounts collection to enumerate.
Variant accounts of AuthEnumerateQuery.
Variant loginAccounts of AuthEnumerateQuery.
Variant providers of AuthEnumerateQuery.
The enumerated collection, keyed by the same selector as the query.
Variant accounts of AuthEnumerateValue.
Variant loginAccounts of AuthEnumerateValue.
Variant providers of AuthEnumerateValue.
Credential-free authentication identity safe to expose to hosts and user interfaces.
Credential-free identity metadata.
Authentication credentials accepted only at native protocol ingress.
Authentication type
A credential-free account choice after sign-in.
A cached base identity a provider can reuse for login without asking the user to choose an account again.
How an interactive provider login should choose its base identity.
Result of an interactive login flow.
Disposition of a login attempt, including pending user decisions.
One step in an interactive login flow.
Variant awaiting of AuthLoginStep.
Variant completed of AuthLoginStep.
Variant error of AuthLoginStep.
Variant input-required of AuthLoginStep.
Variant needs-interaction of AuthLoginStep.
Variant open-url of AuthLoginStep.
The read result, keyed by the same selector as the query.
Variant activeAccount of AuthReadValue.
Variant lastErrors of AuthReadValue.
Variant status of AuthReadValue.
Neutral authentication status summary.
Validation error from an authentication attempt.
Coarse request-difficulty bucket for UX explainability
Session event "auto_mode_switch.completed".
Handler for auto-mode-switch requests from the agent.
Context for an auto-mode-switch request invocation.
Request to switch to auto mode after an eligible rate limit.
Session event "auto_mode_switch.requested".
The user's auto-mode-switch choice
Response to an auto-mode-switch request.
The type of operation performed on the autopilot objective state file
Current autopilot objective status, if one exists
Current per-window credit limit and consumption for an autopilot objective.
Public, persistence-independent projection of an autopilot objective.
Current normalized autopilot objective lifecycle status.
Extensible routing preference for the virtual `auto` model.
Extensible routing preference for the virtual `auto` model.
Routing tier for the auto model with Auto mode V2.
A server-advertised routing preference.
Account-bound discovery metadata for the virtual `auto` model.
Availability of a server-advertised routing preference.
Terminal reason an Auto preference activation failed.
Identifies a family in the server's Azure ML model library.
Opaque handle to a connection-owned family mutation interval.
Selects an active connection-owned download.
Lists models eligible for local use before a chat session exists.
Eligible models and redacted validation warnings.
How catalog discovery handles a recent sign-in failure.
Redacted warning for a skipped model or registry.
Selects an inactive Azure ML version for cleanup.
Downloads a model version to its configured local library.
Completed and verified Azure ML model files.
Progress and retry facts for one active download.
Selects an Azure ML model family.
Eligible Azure ML model version and its provider metadata.
License published with an eligible Azure ML model.
Eligible Azure ML model version and its provider metadata.
Validated local runtime requirements for an Azure ML model.
Registry that owns an Azure ML model version.
Releases a family mutation interval owned by this SDK connection.
Selects an immutable model version.
Resolved artifact facts without signed download URLs.
Selects an active connection-owned download.
Azure OpenAI-specific configuration options.
Functional interface for supplying per-provider bearer tokens for BYOK provider requests.
Binary asset type discriminator.
Represents an inline base64-encoded binary attachment (blob) for messages.
A well-known model in the runtime's built-in catalog.
Rust-owned metadata and input schema for a built-in tool.
Custom grammar input format accepted by a built-in tool.
Custom input-format kind.
JSON Schema object accepted by a built-in tool.
Root JSON Schema type for a built-in tool input.
Curated sets of built-in tool names for common scenarios.
Canvas action that the agent or host can invoke.
Canvas action invocation parameters sent to the provider.
Canvas close parameters sent to the provider.
Host context supplied by the runtime.
Host capabilities
Canvas open parameters sent to the provider.
Canvas open result returned by the provider.
A single canvas declaration in `session.canvas.registry_changed`, including provider IDs, display metadata, input schema, and actions.
A single action within a canvas declaration, with its name, optional description, and optional input schema.
Session context supplied by the runtime.
Session event "capabilities.changed".
Data payload for CapabilitiesChangedEvent.
UI capability changes
Options scoped to the built-in CAPI (Copilot API) provider.
Provider-scoped session options for the Copilot API (CAPI) provider.
Semantic digest of a strictly parsed and schema-validated JSON MCP card.
Canonical digest algorithm for a validated MCP card
An inert Agent Plugin catalog result.
Where and when an Agent Plugin catalog reference was observed.
Explicit Agent Plugin compatibility declared by exact catalog tags.
A kind of component an Agent Plugin contributes
Typed installability state for an Agent Plugin candidate
What installing an Agent Plugin would do, for the user to review and confirm.
One place an Agent Plugin can install from: Agent Finder's materialisation, a marketplace, or a GitHub repository.
A plugin marketplace named by verified catalogue install data, installed as `pluginName@name`.
Agent Finder's verified materialisation of the plugin.
Media type naming the plugin format of an Agent Plugin candidate.
A GitHub repository holding the plugin, installed directly as `owner/repo[:path]` at the plan's commit, without a marketplace.
An inert AI skill catalog result.
Where and when an AI skill catalog reference was observed.
Typed installability state for an AI skill candidate
Canonical AI skill media type
An optional catalog authentication exchange did not establish the caller's identity.
Why the catalog authority did not accept the caller's identity
One inert catalog result, represented as an MCP server, discovery-only AI skill, or opt-in Agent Plugin variant so kind, media type, provenance, and available operations cannot contradict each other.
What kind of resource a catalog candidate describes
Where a candidate's card came from.
Candidate whose card reference arrived inline.
Candidate whose card is retrieved from a URL through the runtime's hardened fetch boundary.
A wire feature a caller can require of the catalog surface, negotiated per request.
The protocol version and capability set a caller requires, supplied on every catalog request so negotiation cannot be skipped by omission.
An upstream catalog response broke the wire contract.
Which wire-contract rule an upstream response broke
An entry whose resource resolves and is presented as the same candidate catalog.search would return.
One feed entry, in its feed position.
An entry whose resource resolves but is not in one of the requested trust tiers.
An entry that cannot be presented, kept in its position so clients decide how to render it.
Why a feed entry cannot be presented
A generated feed's identity.
Retrieves one generated feed, computed on every request, by strategy and key, such as `telemetry` and `popular`.
A retrieved generated feed.
Retrieves one saved feed by its opaque ID.
A retrieved saved feed.
A presented handle was not accepted.
Why a presented handle was rejected
Which kind of opaque handle was presented
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
Which request field was rejected locally or by the catalog authority
A card could not be parsed or did not satisfy its declared media type's schema.
How a card failed validation
An Agent Finder materialisation reference pinning one exact resource revision.
An inert MCP server catalog result.
Where and when an MCP server catalog reference was observed.
Whether an MCP server candidate can be planned for installation
Media type a catalog card is interpreted as
The protocol version and capability set the runtime actually honoured for a successful catalog operation.
The caller's protocol version or required capabilities cannot be honoured.
Why capability and protocol-version negotiation refused a caller
The runtime could not reach the catalog authority or retrieve a card.
Categorised network failure, low cardinality so it can be aggregated without carrying a URL
The candidate is discoverable but cannot be installed.
Why a discoverable candidate cannot be installed
Side-effect-free planning of whatever resource a materialisation reference pins, rather than a search candidate.
Syntactically validated GitHub repository provenance declared by catalog metadata.
Registry or enterprise policy refused the operation.
Planning result for a materialisation reference with the honoured contract, or a typed refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Outcome of catalog.getGeneratedFeed: the feed with its entries, or one typed refusal.
An optional catalog authentication exchange did not establish the caller's identity.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
A card could not be parsed or did not satisfy its declared media type's schema.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Registry or enterprise policy refused the operation.
The operation is not available on this runtime.
Retrieval was refused by the runtime's hardened fetch boundary before any request left the process, or before a redirect was followed.
Outcome of catalog.getSavedFeed: the feed with its entries, or one typed refusal.
An optional catalog authentication exchange did not establish the caller's identity.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
A card could not be parsed or did not satisfy its declared media type's schema.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Registry or enterprise policy refused the operation.
The operation is not available on this runtime.
Retrieval was refused by the runtime's hardened fetch boundary before any request left the process, or before a redirect was followed.
A saved feed's identity.
An explicit numbered-page request.
Authority-reported navigation metadata, returned only to callers requiring catalog-search-pagination and only when a supported token is present.
A bounded catalog search.
A bounded catalog search.
Outcome of a catalog.search call: either bounded inert candidates, or one typed refusal.
A completed catalog search containing inert candidate summaries.
Relationship of the backend-reported count to the complete query result set.
The caller cancelled the selection interaction and the retained search state was released.
Terminal outcome declared for a retained catalog selection group
The caller explicitly declined every candidate and the retained search state was released.
The selection reference belongs to another runtime instance or session.
The selection reference was malformed or unknown.
The selection group was already terminated or its pending host hand-off was already claimed.
Typed outcome of catalog.select.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The operation is not available on this runtime.
The chosen candidate was transferred into a fresh bounded single-use handle for a later explicit planning request.
The runtime-enforced selection reference lifetime elapsed before the request arrived.
The host declared that its live selection interaction timed out, and the retained search state was released.
The presented opaque handle was issued for another catalog operation.
Terminates one retained catalog selection group through an opaque reference previously returned by the model-safe search projection.
Authority-computed exposure eligibility, kept separate from tier.
Where and when the runtime observed the trust metadata.
A versioned, bounded trust observation carried unchanged with a catalog candidate and its private handle context.
Discriminator: the authority omitted trust metadata.
A recognised current Agent Finder T1 or T2 trust tier.
Discriminator: the authority explicitly reported a downgraded assessment.
Discriminator: the trust field was empty, unbounded, or had the wrong JSON type.
Discriminator: the authority explicitly revoked the assessment.
Schema version of the catalogue trust snapshot envelope
Discriminator: the authority explicitly marked the assessment stale.
Discriminator: the authority supplied a bounded trust value this runtime does not understand.
Bounded authority that supplied a catalogue trust observation
Service-computed trust tier currently emitted by Agent Finder.
The operation is not available on this runtime.
Why a catalog operation is not available on this runtime
No transport this runtime can use is available for the requested server.
Why no usable transport could be offered
Retrieval was refused by the runtime's hardened fetch boundary before any request left the process, or before a redirect was followed.
Which hardened-fetch control refused a retrieval
The request asked for a candidate kind this runtime does not serve.
A source supplied by a tool that should be made available to the model as citable content.
The system that produced a citation.
A single citation occurrence linking a span of generated text to a supporting source.
Provider-agnostic citations linking spans of the assistant's response to their supporting sources.
A source that backs one or more cited spans in the assistant's response.
A contiguous span of generated assistant text and the source references that support it.
Identity of the integrating application, declared on the server.connect handshake.
Client-owned, case-sensitive string metadata persisted with a local session.
Why the runtime requests client-task cancellation.
Options for creating a remote session in the cloud.
GitHub repository metadata to associate with a cloud session.
Session event "command.completed".
Data payload for CommandCompletedEvent.
Context passed to a CommandHandler when a slash command is executed.
Defines a slash command that users can invoke from the CLI TUI.
Session event "command.execute".
Data payload for CommandExecuteEvent.
Functional interface for handling slash-command executions.
Session event "command.queued".
Data payload for CommandQueuedEvent.
A single slash command available in the session, as listed by the `commands.changed` event.
Session event "commands.changed".
Data payload for CommandsChangedEvent.
 
Slash commands available in the session, after applying any include/exclude filters.
Wire-format representation of a command definition for RPC serialization.
Token usage breakdown for the compaction LLM call (aligned with assistant.usage format)
Per-request cost and usage data from the CAPI copilot_usage response field
Token usage detail for a single billing category
What initiated a conversation compaction
Inclusive durable event range summarized by a completion receipt.
Final structured tool completion in the covered event range.
Runtime reason the completion decision was accepted.
Structured terminal status from a tool completion event.
Metadata for a connected remote session.
Neutral SDK discriminator for the connected remote session kind.
Repository associated with the connected remote session.
Represents the connection state of a CopilotClient.
Account-targeted authorization update required by the Connector service.
Stable OAuth scope whose absence prevents Connector management.
Availability of the EXPERIMENTAL session connector API.
Credential-free Connector catalog entry.
Validated Connector catalog snapshot cached by the session.
Authoritative service connection state for one Connector.
Typed result of initiating or continuing a Connector connection.
The service is connected and the session MCP graph was reconciled.
Host-owned consent is required before bounded continuation can complete.
The service is still completing the connection without a consent URL.
Eligible account.
Account metadata.
Availability.
Entry.
Live MCP status of one Connector-owned runtime server.
Live status of one session-owned MCP projection.
Session account selection.
Eligible accounts.
Feature availability.
Selected account.
Entries for the selected account.
Selected account.
Entries for the selected account.
Authoritative session connector state.
Content-exclusion decision for one requested path.
Candidate content-exclusion policies to validate, as the raw JSON text a host received.
The accepted policies, parsed and normalized.
A single large message currently in context.
Allowed values for the `ContextTier` enumeration.
Context tier for models that support multiple context-window sizes.
Authentication-info variant for direct Copilot API token auth sourced from environment variables, with public GitHub host.
Provides a client for interacting with the Copilot CLI server.
Selects the defaulting strategy used by CopilotClient.
Configuration options for creating a CopilotClient.
ExP ("flight") assignment data, in the same JSON shape the Copilot CLI fetches from the experimentation service.
Marks a type or method as experimental.
Annotation processor that enforces compile-time gating of experimental APIs.
The per-request context handed to every CopilotRequestHandler hook.
The base class for SDK consumers who want to observe or replace the LLM inference requests the runtime issues (for both CAPI and BYOK providers).
The transport the runtime would otherwise use to issue an intercepted model-layer request.
Generates a response schema using the same annotation processor and type mappings as @CopilotTool.
Generates response metadata using the existing custom-tool schema generator.
Represents a single conversation session with the Copilot CLI.
Marks a method as a Copilot tool.
A single metadata key/value pair.
A single named boolean flag within a CopilotTool.MetadataValue.flags() map.
A metadata value.
Contract for classes that provide ToolDefinition metadata for @CopilotTool-annotated methods.
Annotates a parameter of a CopilotTool-annotated method to provide metadata about the parameter that is sent to the model.
JSR 269 annotation processor that finds CopilotTool-annotated methods and generates $$CopilotToolMeta companion classes containing tool definitions, JSON Schema, and invocation lambdas.
Snapshot of the authenticated user's Copilot subscription info, if known.
 
Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough.
Quota snapshot map from the raw Copilot user-response passthrough, with chat, completions, premium-interactions, and other entries.
Chat quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
Completions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
Premium-interactions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.
The terminal status for a callback-owned WebSocket connection.
The default pass-through CopilotWebSocketHandler: it dials the real upstream using WebSocket and relays upstream-to-runtime messages into the runtime response unchanged.
A per-connection WebSocket handler returned by CopilotRequestHandler.openWebSocket(CopilotRequestContext).
A single WebSocket message exchanged through a CopilotWebSocketHandler hook.
Internal request object for creating a new session.
Internal response object from creating a session.
The session's authoritative model snapshot.
Lightweight metadata for a currently initialized session tool
Configuration for a custom agent in a Copilot session.
A single loaded custom agent in `session.custom_agents_updated`, with identity, source, tools, invocability, and authored model configuration.
Result of one customization reload component.
Result of reloading a customization component.
Component of session customization discovery.
Results of reloading discovered session customizations.
A file included in the session debug bundle.
A caller-provided server-local file or directory to include in the debug bundle.
Kind of caller-provided debug log entry.
Built-in session diagnostics to include in the bundle.
How a collected debug entry should be redacted before being staged.
Destination kind that was written.
An optional debug bundle entry that could not be included.
Source category for a collected debug bundle entry.
Configuration for the default agent (the built-in agent that handles turns when no custom agent is selected).
Internal response object from deleting a session.
Whether the supplied diagnostic cursor remained within the retained buffer window.
Session-scoped diagnostic threshold.
Per-source session diagnostics configuration.
Severity of an emitted diagnostic record.
A supported diagnostic source.
Typed diagnostic source configuration.
Known values for the managed bypass-permissions policy.
Canvas available in the current session.
Discovered extension metadata and persistent enablement state.
Effective extension loading and agent-management mode
Installed plugin that contributes a discovered extension.
Persisted extension discovery source
One server-discovered hook action from user, repository, plugin, or managed-policy configuration.
MCP server discovered by `mcp.discover`, with config source, optional plugin source, transport type, and enabled state.
Server transport type: stdio, http, sse (deprecated), or memory
A model offered for agent conversations.
The user action: "accept" (submitted form), "decline" (explicitly refused), or "cancel" (dismissed)
Session event "elicitation.completed".
Data payload for ElicitationCompletedEvent.
Context for an elicitation request received from the server or MCP tools.
Functional interface for handling elicitation requests from the server.
Parameters for an elicitation request sent from the SDK to the host.
Session event "elicitation.requested".
Data payload for ElicitationRequestedEvent.
Elicitation mode; "form" for structured input, "url" for browser-based.
JSON Schema describing the form fields to present to the user (form mode only)
Result returned from an elicitation dialog.
Action value for an ElicitationResult.
JSON Schema describing the form fields to present for an elicitation dialog.
Indicates whether the command was accepted into the local execution queue.
Variant false of EnqueueCommandResult.
Variant true of EnqueueCommandResult.
Authentication-info input variant for a token sourced from an environment variable, with host, optional login, token, and env var name.
Hosting capabilities and session capacity advertised by an environment.
GitHub Mission Control compute kind.
Identify a user-managed Mission Control environment to delete.
Identify a Mission Control environment to retrieve.
Safe discovery information for the requested environment.
Optional discovery filters supported by GitHub Mission Control.
Environments visible to the authenticated caller and matching the supplied filters.
A handler for errors thrown by event handlers during event dispatch.
Controls how event dispatch behaves when an event handler throws an exception.
Agent-scope filter: 'primary' returns only main-agent events plus events whose type starts with 'subagent.'
Cursor status: 'ok' means the read succeeded against the requested history; 'expired' means the requested continuation is unavailable.
Direction to page through the session's persisted event history.
Exit plan mode action
Session event "exit_plan_mode.completed".
Data payload for ExitPlanModeCompletedEvent.
Handler for exit-plan-mode requests from the agent.
Context for an exit-plan-mode request invocation.
Request to exit plan mode and continue with a selected action.
Session event "exit_plan_mode.requested".
Data payload for ExitPlanModeRequestedEvent.
Response to an exit-plan-mode request.
A single configuration entry within a CopilotExpAssignmentResponse.
Discovered extension metadata, including source-qualified ID, name, discovery source, status, and optional process ID.
Structured context contributed by an extension.
Opaque integrator-owned process launch profile for one extension entrypoint.
Resolves launch profiles for extension entrypoints discovered by the runtime.
A discovered extension entrypoint that the registered integrator may classify and resolve to an opaque launch profile.
The launch profile for a supported entrypoint.
Source-qualified extension identifiers to persistently disable for future sessions.
Extensions discovered from persisted Copilot home state and their effective loading mode.
Source-qualified extension identifiers to persistently enable for future sessions.
A single extension discovered by `session.extensions_loaded`, including qualified ID, source, and current status.
Discovery source
Current status: running, disabled, failed, or starting
Discovery source: project (.github/extensions/), user (~/.copilot/extensions/), plugin (installed plugin), or session (session-state//extensions/)
Current status: running, disabled, failed, or starting
Session event "external_tool.completed".
Data payload for ExternalToolCompletedEvent.
Session event "external_tool.requested".
Data payload for ExternalToolRequestedEvent.
Binary result returned by a tool for the model
Binary result type discriminator.
Folder trust check result.
Experimental attribution linking an ordinary event to the HydraFusion turn, phase, and concrete source that produced it.
Conversation scope in which a HydraFusion phase executes.
Data type FusionCritic.
Server-recommended routing behavior for a later HydraFusion turn.
Durable server recommendation for subsequent HydraFusion turns.
Validated HydraFusion execution pattern.
Content-safe activity observed while a HydraFusion phase is running.
HydraFusion phase kind.
Presentation-neutral phase planned for a HydraFusion turn.
Durable outcome status of a HydraFusion phase.
Aggregate concrete-model usage for one HydraFusion phase.
How a durable phase checkpoint contributes its exact message to canonical root history.
Validated HydraFusion routing capability scores.
Internal durable terminal request staged by a HydraFusion phase until an idempotent final commit selects it.
Kind of turn for which HydraFusion routing is running.
Response from the auth.getStatus RPC call.
Response from session.getForeground RPC call.
Internal response object from getting the last session ID.
Internal response object from getting session messages.
Response from the models.list RPC call.
Internal response object from getting session metadata by ID.
Response from the status.get RPC call.
Authentication-info input variant for GitHub CLI credentials, carrying host, login, and the `gh auth token` value.
Safe discovery information.
Per-session configuration for the built-in GitHub MCP server
Configuration for the built-in GitHub MCP server.
Client environment metadata describing the process that produced a telemetry event.
A single telemetry event in the runtime's native GitHub-shaped telemetry format, forwarded verbatim to opted-in hosts.
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.
Why the runtime is requesting a GitHub credential.
Asks the SDK client to acquire a GitHub access token from an opaque callback registration.
SDK host response to a GitHub credential request.
Variant cancelled of GitHubTokenAcquireResult.
Variant token of GitHubTokenAcquireResult.
Acquires rotating GitHub tokens for one session.
Context supplied when a session needs a GitHub token.
Result of acquiring a session-scoped GitHub token.
Repository context for the handed-off session
Origin type of the session being handed off
Single HTTP header entry as a name/value pair.
Post-compaction context window usage breakdown
Reason a captured file was not restored.
Aggregate file change represented by a rewind preview.
A file that a conversation-and-files rewind would restore.
Scope of a rewind operation.
Outcome of a rewind request.
A root user turn that the session can rewind to.
Reason a rewind read (rewind points, file-restore preview, or session diff) could not be answered from the session's file-change captures.
A captured file that rewind intentionally left unchanged.
Authentication-info input variant for GitHub-internal HMAC auth, carrying the public GitHub host and HMAC secret.
Error details when the hook failed
Session event "hook.end".
Data payload for HookEndEvent.
Context for a hook invocation.
Configuration tier that contributed a discovered hook action.
Session event "hook.progress".
Data payload for HookProgressEvent.
Optional project paths and host-exclusion behavior for server-scoped hook discovery.
Optional project paths and host-exclusion behavior for server-scoped hook discovery.
Server-discovered hook actions and partial-load diagnostics from user, repository, plugin, and managed-policy sources.
Session event "hook.start".
Data payload for HookStartEvent.
Hook event name.
Stops a connection-owned listener and joins its teardown.
Empty acknowledgement for a completed host lifecycle operation.
Reports a supervised listener's hosting-task termination and cleanup outcome.
Values for HostExitReason.
GitHub Mission Control registration options.
Reads a running host's catalog or the runtime's saved default catalog.
The complete live and dormant advertised catalog, without subscribing to sessions.
Local WebSocket transport options.
Publishes a resident session attached to the listener's owning connection.
The existing runtime identity and its resource on the listener.
Metadata advertised by the AHP host, not a guarantee that history can be resumed.
Starts a supervised AHP host with at least one explicitly selected transport.
Starts a supervised AHP host with at least one explicitly selected transport.
Listener readiness, returned only after binding and the supervised participant's SDK handshake.
Withdraws an application publication without deleting its underlying local session.
Publication withdrawal outcome; local history, worktrees and ongoing work are preserved.
Controlled provenance for a typed runtime response.
Session event "human_response.recorded".
Data payload for HumanResponseRecordedEvent.
Exact runtime-owned question or reviewed plan paired with the typed response that settled it.
Variant ask_user of HumanResponseRecordedResponse.
Variant exit_plan_mode of HumanResponseRecordedResponse.
Variant user_input of HumanResponseRecordedResponse.
Experimental. This API may change or be removed in a future release.
The runtime-selected image model and its account availability.
Account availability of the runtime image model.
A supported image-service operation.
Default-tier text and image token prices reported for an image model, in AI credits per billing batch.
Live indexed-search state for this session activation, never inferred from persisted history.
Configuration for infinite sessions with automatic context compaction and workspace persistence.
Hosts the runtime in-process by loading its native library and communicating over the C ABI — no child process is spawned by the SDK for JSON-RPC transport.
Options for the SessionUiApi.input(String, InputOptions) convenience method.
Catalogue identity retained from a bound candidate or plan at installation time.
Cancellation signal for one installation confirmation request.
Handles connection-global installation confirmation requests from the runtime.
One connection-owned, expiring request for a trusted host's explicit user decision.
Compatibility wrapper for installation confirmation review payloads.
Explicit user decisions, never inferred from a permission grant or model response.
Only resource kinds with an implemented installation engine have a review variant.
Variant mcp of InstallationReview.
Variant plugin of InstallationReview.
Review for installing a verified Agent Plugin.
Variant skill of InstallationReview.
A response is meaningful only on the connection and request that issued its challenge.
Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
Information about an installed plugin tracked in global state.
The GitHub repository and commit an installed plugin is pinned to.
Canonical file or directory where custom instructions can be discovered or created, with location, kind, preference, and project path.
Whether the target is a single file or a directory of instruction files
Which tier this target belongs to
Optional project paths to include in instruction discovery.
Optional project paths to include in instruction discovery.
Instruction sources discovered across user, repository, and plugin sources.
Optional project paths to include when enumerating instruction discovery targets.
Optional project paths to include when enumerating instruction discovery targets.
Canonical files and directories where custom instructions can be created so the runtime will recognize them.
Loaded instruction source for a session, including path, content, category, location, applicability, and optional description.
Where this source lives — used for UI grouping
Category of instruction source — used for merge logic
JSON-RPC 2.0 error structure.
Exception thrown when a JSON-RPC error occurs during communication with the Copilot CLI server.
JSON-RPC 2.0 request structure.
JSON-RPC 2.0 response structure.
A JSON Schema output contract.
Configuration for large tool output handling.
Internal response object from listing sessions.
A request body chunk or cancellation signal.
Acknowledgement.
The head of an outbound model-layer HTTP request.
Acknowledgement.
Transport the runtime would otherwise use for this request.
Set to terminate the response with a transport-level failure.
A response body chunk or terminal error.
Whether the chunk was accepted.
Response head.
Whether the start frame was accepted.
Indicates whether the calling client was registered as the LLM inference provider.
Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID.
A provider a consumer may interactively sign in with.
Administrator-configured Ensemble preference, independent of execution support.
Non-secret host-managed HTTP MCP server configuration.
 
 
Operation to evaluate.
Reusable managed permission evaluation context.
Managed-policy verdict only: deny blocks the URL, ask requires approval, allow approves under managed policy, and unmanaged leaves the normal consumer permission flow in effect.
Current phase of organization-required plugin preparation.
Retry outcome for one plugin required by managed settings.
What retrying did for one plugin required by managed settings.
Lock state and provenance of one managed setting.
Managed settings an SDK host may inject at session create or resume.
A channel accepted by managedSettings.compose.
One candidate channel; absent settings represents a channel that delivered no document.
Candidate managed-settings documents to merge without applying them.
The effective managed settings the runtime would enforce for the given documents, in the same shape `managedSettings.resolve` returns.
One validation finding for a managed-settings document.
Severity of a managed-settings validation finding.
The category of runtime action that enterprise managed settings governed (blocked or capped)
For a `bypass_permissions_blocked` action, which permission-mode or escalation primitive was refused
One managed-settings channel and the document it delivered.
Per-key lock state and provenance for `ManagedSettingsValues`, with the same field names.
Enterprise permission policy injected by an SDK host at session startup.
Managed policy context and ordered operations for pure, sessionless evaluation.
Ordered managed permission verdicts and the supplied policy's fail-closed posture.
Validated device-managed settings discovered before a session exists.
Effective enterprise managed settings and contributing channels.
Summary of which managed-settings channels contributed to the effective session policy.
Summary of which managed-settings channels contributed to the effective session policy.
Request parameters for the managedSettings.resolve RPC method.
Effective enterprise managed settings for an account, resolved without a session.
The authoring JSON schema for managed settings recognized by this runtime.
A candidate managed-settings document to validate without applying it.
Result of validating a managed-settings document.
Typed effective values of managed settings.
Registered marketplace summary.
Plugin entry advertised by a marketplace.
Per-marketplace refresh result, including marketplace name, success flag, and optional failure error.
Applies exactly one previously prepared operation on its original connection.
One-use application of the exact retained removal plan.
Capability negotiation snapshot
What the server returned for this session
Current host context
Allowed values for the `McpAppsHostContextDetailsAvailableDisplayMode` enumeration.
Current display mode (SEP-1865)
Platform type for responsive design
UI theme preference per SEP-1865
MCP Apps resource content with URI, optional MIME type, text or base64 blob, and resource metadata.
Host context advertised to MCP App guests
Allowed values for the `McpAppsSetHostContextDetailsAvailableDisplayMode` enumeration.
Current display mode (SEP-1865)
Platform type for responsive design
UI theme preference per SEP-1865
Set when the underlying tools/call threw an error before returning a CallToolResult
Session event "mcp_app.tool_call_complete".
Data payload for McpAppToolCallCompleteEvent.
The tool's `_meta.ui` block at the time of the call, so consumers can decide whether to forward the result to the model without re-listing tools.
MCP App tool `_meta.ui` resource URI and SEP-1865 visibility captured with an `mcp_app.tool_call_complete` result.
Handles MCP OAuth requests from the runtime.
Context for an MCP OAuth request invocation.
MCP OAuth request that the SDK host can satisfy with a host-acquired token.
Opt-in MCP auth response that preserves legacy request and result record patterns.
Result returned by an MCP auth request handler.
Host-provided OAuth token data for a pending MCP OAuth request.
MCP server name and configuration to add to user configuration.
MCP server names to disable for new sessions.
MCP server names to enable for new sessions.
User-configured MCP servers, keyed by server name.
MCP server name to remove from user configuration.
MCP server name and replacement configuration to write to user configuration.
Effective MCP configuration entry.
Observational state for a matching already materialized MCP server.
MCP-specific detail for a source-discriminated diagnostic entry.
Direction of an observed MCP protocol frame.
Category for an MCP diagnostic record.
MCP diagnostic source configuration.
Optional working directory used as context for MCP server discovery.
MCP servers discovered from user, workspace, plugin, and built-in sources.
Structured MCP elicitation mode.
Raw MCP CreateMessageRequest params, as received in the `sampling.requested` event.
MCP CreateMessageResult payload (with optional 'tools' extension), present when action='success'.
Session event "mcp.headers_refresh_completed".
How the pending MCP headers refresh request resolved.
Session event "mcp.headers_refresh_required".
Why dynamic headers are being requested.
Host-level state, omitted when no MCP host is initialized.
Configuration for a remote HTTP/SSE MCP (Model Context Protocol) server.
Bounded refusal categories, without echoing handles, credentials or configuration.
One Registry string-valued configuration entry for the selected transport.
Read-only or recovery management result, never permission to activate or replay.
Variant install-prepared of McpInstallationManagementOutcome.
Variant operation of McpInstallationManagementOutcome.
Variant recovered of McpInstallationManagementOutcome.
Already-confirmed durable work must be reconciled before new mutations or inventory.
Variant uninstall-planned of McpInstallationManagementOutcome.
Management result with contract receipt, or a typed request/negotiation refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
Status snapshot from the original connection, independent of new-work account availability.
Variant applying of McpInstallationOperationStatus.
Variant awaiting-confirmation of McpInstallationOperationStatus.
Variant completed of McpInstallationOperationStatus.
Variant prepared of McpInstallationOperationStatus.
Variant preparing of McpInstallationOperationStatus.
Variant revalidating of McpInstallationOperationStatus.
Final remote configuration, not a template.
An installation result together with the exact honoured contract, or a negotiation refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
Variant outcome of McpInstallationResult.
Safe MCP review fields.
Variant install of McpInstallationReview.
Variant uninstall of McpInstallationReview.
Existing-operation control.
A request-local value for one exact reviewed placeholder.
Explicit backend selection is part of the final review; failures never switch backends.
New-work inventory or recovery request under an explicitly selected existing session.
New-work inventory or recovery request under an explicitly selected existing session.
Existing-operation control.
Configuration ownership and setup observations, distinct from tool permissions.
Durable configuration ownership is distinct from session-specific usability.
A normalised, inert description of what installing an MCP server would involve.
Session event "mcp.oauth_completed".
Data payload for McpOauthCompletedEvent.
How the pending MCP OAuth request was completed
Raw HTTP response details from the OAuth auth challenge, as observed by the runtime.
OAuth grant type override for this login.
Why a passive MCP OAuth probe determined authentication is needed.
Passive MCP OAuth probe result.
Variant authenticated of McpOauthProbeResult.
Variant failed of McpOauthProbeResult.
Variant needs-auth of McpOauthProbeResult.
Variant no-auth-required of McpOauthProbeResult.
Session event "mcp.oauth_recovery_completed".
Terminal outcome of the original authorization reservation, including reconnect
Reason the runtime is requesting host-provided MCP OAuth credentials
Session event "mcp.oauth_required".
Data payload for McpOauthRequiredEvent.
Static OAuth client configuration, if the server specifies one
OAuth WWW-Authenticate parameters parsed from an MCP auth challenge
Outcome of starting the original prepared owned login.
The configuration-change alternative for the transportChoices entry at the same index.
Whether a planned configuration change would create or modify an entry
A side-effect-free request for an MCP install plan.
A computed MCP install plan.
A side-effect-free request for an MCP install plan.
Outcome of an mcp.planInstall call: either a normalised plan, or one typed refusal.
An optional catalog authentication exchange did not establish the caller's identity.
An upstream catalog response broke the wire contract.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
A card could not be parsed or did not satisfy its declared media type's schema.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Registry or enterprise policy refused the operation.
The operation is not available on this runtime.
Retrieval was refused by the runtime's hardened fetch boundary before any request left the process, or before a redirect was followed.
Transport exposed by a locally launched package
What policy decided for a planned server
Outcome of evaluating the planned server against registry and enterprise policy.
Which authority produced a policy decision
Provenance of the exact validated JSON MCP card content bound privately to a completed plan and its opaque handle.
Transport exposed by a remote endpoint
Normalised identity of the MCP server a plan targets, independent of how the card spelled it.
Configuration scope an MCP install plan targets
A secret a transport choice needs, referenced by placeholder.
Where a plan would be written.
One eligible way to run the server, represented as a tagged package or remote variant so package identity and endpoint states cannot contradict the install method.
An eligible local-package transport choice.
An eligible remote-endpoint transport choice.
Read-only preparation of one owned removal under fresh selected-session authority.
Where a required value is applied when the planned server is launched
Inert, runtime-owned admission.
Side-effect-free preparation of one original bound remote MCP choice.
An MCP prompt descriptor.
An argument accepted by an MCP prompt.
An MCP prompt icon with standard size hints and preserved non-standard fields.
An MCP prompt message with opaque JSON content preserved without flattening or content-type filtering.
The sender role of an MCP prompt message.
Session event "mcp.prompts.list_changed".
Data payload for McpPromptsListChangedEvent.
An MCP resource descriptor (spec `Resource`): URI, name, and optional title, description, MIME type, size, icons, annotations, and metadata.
Standard MCP resource annotations plus preserved non-standard annotation fields.
MCP resource content with URI, optional MIME type, text or base64 blob, and resource metadata.
A resource icon descriptor plus preserved non-standard icon fields.
Session event "mcp.resources.list_changed".
An MCP resource template descriptor (spec `ResourceTemplate`): an RFC 6570 URI template, name, and optional title, description, MIME type, icons, annotations, and metadata.
Outcome of the sampling inference.
MCP server status entry, including config source/plugin source and any connection error.
JSON MCP card media type accepted for install planning
Abstract base class for MCP (Model Context Protocol) server configurations.
OAuth grant type to use when authenticating to the remote MCP server.
Recorded MCP server connection failure.
Server-advertised metadata learned through modern discovery or legacy initialization.
Server-advertised metadata learned through modern discovery or legacy initialization.
Recorded MCP server pending-auth state.
Owned installation that a listed MCP server's live configuration came from.
A single MCP server status summary in `session.mcp_servers_loaded`, including name, status, source, transport, and plugin metadata.
Configuration source: user, workspace, plugin, builtin, managed, or account
Configuration source: user, workspace, plugin, builtin, managed, or account
Connection status: connected, failed, needs-auth, pending, disabled, stopped, or not_configured
Connection status: connected, failed, needs-auth, pending, disabled, stopped, or not_configured
Transport mechanism: stdio, http, sse (deprecated), or memory (in-process MCP server)
How environment-variable values supplied to MCP servers are resolved.
Concrete configuration file containing an MCP server declaration.
Plugin identity associated with an MCP server declaration.
Canonical identity and location of the effective MCP server declaration.
Configuration for a local/stdio MCP (Model Context Protocol) server.
Metadata controlling an MCP task's lifetime.
MCP tool metadata with tool name, optional description, and normalized MCP Apps discovery metadata.
Session event "mcp.tools.list_changed".
Data payload for McpToolsListChangedEvent.
Normalized MCP Apps discovery metadata from a tool's `_meta.ui` block.
Consumer allowed to call an MCP tool.
Exact inert removal plan.
Memory configuration for this session.
Configuration for session memory.
Marker interface for all attachment types that can be included in a message.
Options for sending a message to a Copilot session.
The origin of a message sent to a Copilot session.
The current agent mode for this session (e.g., 'interactive', 'plan', 'autopilot')
Remote-session-specific metadata.
The repository the remote session targets.
Whether the remote task originated from Copilot Coding Agent (cca) or a CLI `--remote` invocation.
Copilot model metadata, including identifier, display name, capabilities, policy, billing, reasoning efforts, and picker categories.
Provider-reported model artifact metadata.
Billing information
Model billing information.
Active server-driven promotion for a model, including its discount and optional expiry.
Token-level pricing information for this model
Long context tier pricing (available for models with extended context windows)
For HTTP 400 failures only: whether the response carried a structured CAPI error envelope (structured_error, a deterministic validation failure) or no error body (bodyless, the transient gateway/proxy signature).
Session event "model.call_failure".
Data payload for ModelCallFailureEvent.
Boundary that produced a model call failure
Content-free structural summary of the failing request for diagnosing malformed 4xx calls
Where the failed model call originated
Transport used for a failed model call
Final bounded result of one logical model operation after its internal retry loop settles
Session event "model.call_final_result".
Data payload for ModelCallFinalResultEvent.
Session event "model.call_finished".
Data payload for ModelCallFinishedEvent.
Final outcome of one logical model dispatch after response acceptance processing
How the runtime fell back to an uncompressed request body after a compressed body was rejected
Content-Encoding applied to the request body sent on the wire
Session event "model.call_start".
Data payload for ModelCallStartEvent.
Normalized cause of the WebSocket failure that triggered the HTTP fallback
Why a WebSocket-capable model call was carried by the HTTP fallback
Model capabilities and limits
Model capabilities and limits.
Token limits for prompts, outputs, and context window
Vision-specific limits
Optional capability overrides (vision, tool_calls, reasoning, etc.).
Per-property overrides for model capabilities, deep-merged over runtime defaults.
Token limit overrides for model capabilities.
Feature flag overrides for model capabilities.
Token limits for prompts, outputs, and context window
Vision-specific limits
Feature flags indicating what the model supports
Feature flags indicating what the model supports
Origin of an effective session model change.
Origin of an effective session model change.
Why the session no longer has an explicitly selected model.
Information about an available model.
Model limits.
A service-published message about a model, carrying a stable machine-readable code alongside human-readable text.
Model capability category for grouping in the model picker
 
Relative cost tier for token-based billing users
Filesystem and environment context used to resolve model-picker settings.
Policy state (if applicable)
Model policy state.
Current policy state for this model
A normalized model-provider adapter in the session's effective catalog.
An operation supported by a model-provider adapter.
Contributor attribution, independent of routing identity and authorization.
When the runtime may run an adapter without an explicit user action.
Adapter-declared policy that tells clients whether discovery may run automatically.
Whether a planned configuration entry is new or already present in the session registry.
One model provider available to the session — the model analog of the account `ProviderDescriptor`.
Network reach an adapter may use during discovery.
A normalized model-provider instance discovered by the runtime.
Serializable reference to a discovered provider instance.
The neutral kind of a model provider — the model analog of `AccountKind`.
The neutral kind of a model provider — the model analog of `AccountKind`.
Typed provider-operation outcome.
Typed outcome for a provider operation.
Attribution for the adapter that produced a provider row.
Kind of component that supplied a provider adapter or row.
A neutral reference to the model provider that produced a model: an opaque id, a human-readable label, and the provider kind.
A neutral reference to the model provider that produced a model: an opaque id, a human-readable label, and the provider kind.
A non-fatal provider observation warning.
The running runtime's complete catalog of well-known built-in model IDs, including supported models and additional IDs with built-in metadata.
Request parameters for the models.list RPC method.
List of Copilot models available to the resolved user, including capabilities and billing metadata.
Request parameters for the models.listTokenPriceUnits RPC method.
Price units for every catalog model that publishes token prices.
Model support flags.
Whether the requested preference was already effective or was accepted for later transactional activation.
 
The model identifier active on the session after the switch.
The unit one model's published token prices are quoted in.
Model vision-specific limits.
Service-published warning text that hosts should display when presenting a model.
External SDK input for a named custom model provider.
A named BYOK (Bring Your Own Key) provider connection in the multi-provider registry.
Open canvas instance snapshot.
Content-exclusion policy supplied to `session.options.update`, with rules, last-updated data, and scope.
Single content-exclusion rule supplied to `session.options.update`, with paths, match conditions, and source.
Source descriptor for a `session.options.update` content-exclusion rule, with source name and type.
Allowed values for the `OptionsUpdateAdditionalContentExclusionPolicyScope` enumeration.
Context tier for models with tiered pricing.
How env values are passed to MCP servers (`direct` inlines literal values; `indirect` resolves at launch).
Reasoning summary mode for supported model clients.
Controls how availableTools (allowlist) and excludedTools (denylist) combine when both are set.
Runtime parameter metadata for lambda-defined tools.
External tool call of the session or one of its sub-agents that is still waiting for session.tools.handlePendingToolCall.
Session event "pending_messages.modified".
Pending permission prompt reconstructed from event history, with request ID and user-facing prompt details.
Session event "permission.assentDetected".
Session event "permission.carriedForward".
Session event "permission.completed".
Data payload for PermissionCompletedEvent.
Session event "permission.contextualAuthorization".
Optional informational context describing how and where the permission decision was made.
Disposition of a permission request as observed by the responding client.
Controlled reason or actor responsible for a permission response.
Controlled reason or actor responsible for a permission response.
Client surface that submitted a permission response.
Functional interface for handling permission requests from the AI assistant.
Context information for a permission request invocation.
Whether the location is a git repo or directory
Session event "permission.messageAuthorizationDegraded".
Session event "permission.messageAuthorization".
Direction stored in a historical extractor claim.
Session event "permission.messageAuthorizationRead".
Permission mode for the session.
Current or requested permission mode.
Optional source for permission-mode telemetry.
If specified, replaces the session's path-permission policy.
 
 
Runtime handling applied to a recovery attempt
Runtime handling applied to a recovery attempt
Controlled reason for an individual attempt disposition
Controlled reason for an individual attempt disposition
Relationship of an attempt to earlier permission requests
Relationship of an attempt to earlier permission requests
Authoritative snapshot of an Autopilot permission-recovery episode
Authoritative snapshot of an Autopilot permission-recovery episode
Action selected when autonomous recovery cannot continue
Action selected when autonomous recovery cannot continue
Controlled reason for a permission-recovery episode transition
Controlled reason for a permission-recovery episode transition
Lifecycle state of a permission-recovery episode
Lifecycle state of a permission-recovery episode
Represents a permission request from the AI assistant.
Session event "permission.requested".
Data payload for PermissionRequestedEvent.
Result of a permission request decision.
Describes the outcome kind of a permission request result.
Response capability available to the client when it settled a permission request.
A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value.
If specified, replaces the session's approved/denied permission rules.
Content-exclusion policy supplied to `session.permissions.configure`, with rules, last-updated data, and scope.
Single content-exclusion rule supplied to `session.permissions.configure`, with paths, match conditions, and source.
Source descriptor for a `session.permissions.configure` content-exclusion rule, with source name and type.
Allowed values for the `PermissionsConfigureAdditionalContentExclusionPolicyScope` enumeration.
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.
Optional source for allow-all telemetry.
If specified, replaces the session's URL-permission policy.
Optional message to echo back to the caller.
Response from a ping request to the Copilot CLI server.
Server liveness response, including the echoed message, current server timestamp, and protocol version.
The type of operation performed on the plan file
A single dependency edge read from the session SQL `todo_deps` table, indicating that one todo must complete before another.
A single todo row read from the session SQL `todos` table.
Session plugin metadata, with name, marketplace, optional version, and enabled state.
One reviewed plugin file.
Where a plugin is installed, without an absolute host path.
Agent Plugin installation planning result with the honoured contract, or a typed refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
One MCP server a reviewed plugin declares.
How a reviewed plugin's MCP server is reached.
Agent Plugin installation result with the honoured contract, or a typed request/negotiation refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Variant outcome of PluginInstallationResult.
Source identity retained from Agent Finder and the pinned GitHub descriptor.
Where completed plugin content was staged before atomic promotion.
Applies exactly one retained verified Agent Plugin installation plan.
Trusted built-in plugin directories to use for this runtime process.
Plugin names (or specs) to disable, plus the optional working directory the repository-controlled guard is evaluated against.
Plugin names (or specs) to enable, plus the optional working directory the repository-controlled guard is evaluated against.
Plugin source and optional working directory for relative-path resolution.
Result of installing a plugin.
Plugins installed in user/global state.
Marketplace source and optional working directory for relative-path resolution.
Result of registering a new marketplace.
Name of the marketplace whose plugin catalog to fetch.
Plugins advertised by the marketplace.
All registered marketplaces, including built-in defaults.
Request parameters for the plugins.marketplaces.refresh RPC method.
Result of refreshing one or more marketplace catalogs.
Name of the marketplace to remove and an optional force flag.
Outcome of the remove attempt, including dependent-plugin info when applicable.
Side-effect-free planning of one Agent Plugin search candidate through its Agent Finder materialisation.
Name (or spec) of the plugin to uninstall.
Result of updating all installed plugins.
Name (or spec) of the plugin to update.
Result of updating a single plugin.
Per-plugin result from updating all plugins, with versions, skills installed, success flag, and optional error.
Handler for post-tool-use-failure hooks.
Input for a post-tool-use-failure hook.
Output for a post-tool-use-failure hook.
Handler for post-tool-use hooks.
Input for a post-tool-use hook.
Output for a post-tool-use hook.
Handler for pre-MCP-tool-call hooks.
Input for a pre-MCP-tool-call hook.
Output for a pre-MCP-tool-call hook.
Handler for pre-tool-use hooks.
Input for a pre-tool-use hook.
Output for a pre-tool-use hook.
Session event "prompt_cache_break".
Data payload for PromptCacheBreakEvent.
Controls whether the runtime may defer loading an external tool definition.
Serializable definition of a caller-implemented tool whose execution is handled over the SDK connection.
Opt into native CAPI image generation.
Custom model-provider configuration (BYOK).
Configuration for a custom API provider (BYOK - Bring Your Own Key).
Azure-specific provider options.
The product serving the model, reported in telemetry as `model_provider`.
Provider transport.
Provider type.
Wire API format (openai/azure only).
A provider offered for interactive login.
Transport to be used for provider requests.
Provider family.
Wire API to be used, when required for the provider type.
A BYOK model definition referencing a named provider.
A BYOK (Bring Your Own Key) model definition in the multi-provider registry.
An authoritative monthly usage reading for the observation's provider, account, and service.
An authoritative monthly usage reading for the observation's provider, account, and service.
Identity scope of a monthly usage reading.
Identity scope of a monthly usage reading.
Availability of a service's monthly consumption reading.
Availability of a service's monthly consumption reading.
Access policy reported by the quota service.
Access policy reported by the quota service.
Acquisition state, independent of the service's business access/capacity verdict.
Acquisition state, independent of the service's business access/capacity verdict.
Authoritative budget measurements and policy metadata, independent of provider.
Authoritative budget measurements and policy metadata, independent of provider.
Capacity is independent of whether a numeric balance was supplied.
Capacity is independent of whether a numeric balance was supplied.
Timing and purpose of a provider quota observation.
Timing and purpose of a provider quota observation.
Interpretation permitted for independently reported quantities.
Interpretation permitted for independently reported quantities.
An account quota reading.
An account quota reading.
Units explicitly reported by a quota provider.
Units explicitly reported by a quota provider.
Short-lived, rotating credential the caller must send on every request, in addition to `apiKey` if one is present.
Arguments passed to a BYOK bearer-token provider callback.
Asks the SDK client to acquire a bearer token for a BYOK provider whose config set `hasBearerTokenProvider: true`.
A bearer token supplied by the SDK client for a BYOK provider.
Serializable message fields accepted by queue.insertAt.
User-facing pending queue entry, with kind and display text for a queued message, slash command, or model change.
Whether this item is a queued user message or a queued slash command / model change
Indicates whether a user-facing pending item was removed.
A pending session quota warning, consumed once by takeWarnings.
Reasoning summary mode used for model calls, if applicable (e.g.
Reasoning summary mode to request for supported model clients
Enabled Auto preferences that Copilot API can recommend.
What the user must do to recover from a failure, named as an action rather than as one client's affordance.
What the user must do to recover from a failure, named as an action rather than as one client's affordance.
Configuration for the runtime-managed remote-control singleton.
Reattach to an existing MC session without creating a new one.
What a remote host says one of its sessions is doing right now.
GitHub repository the remote session belongs to.
Whether the remote task originated from CCA or CLI `--remote`.
Remote session metadata for the session to hand off (typically obtained from `sessions.list` with `source: "remote"`).
Per-session remote mode.
Repository context for the remote session.
Original request-level and effective conversation reasoning effort for a provider history boundary; the historical type name is retained for compatibility
Configuration for resuming an existing Copilot session.
Internal request object for resuming an existing session.
Internal response object from resuming a session.
Interface for invoking JSON-RPC methods with typed responses.
Configures how a CopilotClient connects to the Copilot runtime.
Session event "sampling.completed".
Data payload for SamplingCompletedEvent.
Session event "sampling.requested".
Data payload for SamplingRequestedEvent.
Resolved sandbox configuration.
Credential-injection capability flags applied while the sandbox is enabled.
Origin of the sandbox choice supplied by the host.
User-managed sandbox policy fragment merged into the auto-discovered base policy.
Platform-specific experimental policy fields.
macOS seatbelt experimental options.
Filesystem rules to merge into the base policy.
Network rules to merge into the base policy.
HTTP proxy configuration for sandboxed traffic.
macOS seatbelt-specific options.
Whole-value environment credential masking for sandboxed children.
A possible secret-bearing environment variable and optional locally suggested HTTPS injection hosts.
Session event "sandbox.decision".
Raw union payload for SandboxDecisionEvent, preserving every variant's fields.
Whether the host running this runtime can run the command sandbox.
Whether this host can run one sandbox policy feature.
Destinations authorized to receive one masked environment credential.
Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover.
Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover.
Result of creating the persistent certificate authority of the sandbox credential proxy.
Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover.
Status of the persistent certificate authority of the sandbox credential proxy.
Status of the persistent certificate authority of the sandbox credential proxy.
Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover.
Status of the persistent certificate authority of the sandbox credential proxy.
State of the persistent certificate authority of the sandbox credential proxy.
Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover.
Status of the persistent certificate authority of the sandbox credential proxy.
A session-scoped sandbox transition applied while handling a slash command
Scheduled prompt entry with ID, timing (`intervalMs`, `cron`, or `at`), prompt text, recurrence, and next run time.
Who created the schedule: `user` (an explicit user action such as `/every` or `/after`) or `model` (the agent via the `manage_schedule` tool).
Compile-time utility that maps javax.lang.model types to JSON Schema represented as Java source code literals (Map.of(...) expressions).
Provides the SDK protocol version.
Secret values to add to the redaction filter.
Confirmation that the secret values were registered.
Override operation for a single system message section in
invalid reference
SystemMessageMode#CUSTOMIZE
mode.
Specifies the operation to perform on a system prompt section in
invalid reference
SystemMessageMode#CUSTOMIZE
mode.
The UI mode the agent was in when this message was sent.
A single user message to append to the session as part of a `session.sendMessages` turn
Internal request object for sending a message to a session.
Internal response object from sending a message.
How to deliver the message.
API methods for the account namespace.
API methods for the agentRegistry namespace.
API methods for the agents namespace.
API methods for the azureMl namespace.
API methods for the catalog namespace.
API methods for the commands namespace.
API methods for the connectors namespace.
API methods for the contentExclusion namespace.
API methods for the environments namespace.
API methods for the extensions namespace.
API methods for the hooks namespace.
API methods for the host namespace.
API methods for the instructions namespace.
Instruction sources discovered across user, repository, and plugin sources.
API methods for the llmInference namespace.
API methods for the managedSettings namespace.
API methods for the managedSettings.permissions namespace.
API methods for the mcp namespace.
API methods for the mcp.config namespace.
API methods for the mcp.installations namespace.
API methods for the models namespace.
API methods for the plugins namespace.
API methods for the plugins.builtin namespace.
API methods for the plugins.marketplaces namespace.
Typed client for server-level RPC methods.
API methods for the runtime namespace.
API methods for the sandbox namespace.
API methods for the sandbox.proxyCa namespace.
API methods for the secrets namespace.
API methods for the sessionFs namespace.
API methods for the sessions namespace.
Server-side skill metadata, including name, description, source, enabled/invocable state, path, project path, and argument hint.
API methods for the skills namespace.
API methods for the skills.config namespace.
API methods for the skills.installations namespace.
API methods for the tools namespace.
API methods for the user namespace.
API methods for the user.settings namespace.
Parameters for aborting the current turn
Result of aborting the current turn
API methods for the accounts namespace.
Enumerate request carrying the typed collection query.
Read request carrying the typed datum query.
Advance an in-flight login flow, optionally fulfilling an input-required step.
API methods for the accounts.login namespace.
Begin an interactive login flow for a provider kind, optionally reusing a cached base identity or explicitly requesting provider account selection.
Begin an interactive login flow for a provider kind, optionally reusing a cached base identity or explicitly requesting provider account selection.
A started login flow: its opaque id and first step.
Cancel an in-flight login flow.
Mutation request carrying the typed write command.
Result of a non-interactive accounts mutation.
API methods for the agent namespace.
Identifies the target session.
Identifies the target session.
The currently selected custom agent, or null when using the default agent.
Request parameters for the session.agent.list RPC method.
Agents available to the session.
Identifies the target session.
Custom agents available to the session after reloading definitions from disk.
Name of the custom agent to select for subsequent turns.
The newly selected custom agent.
An in-memory authored prompt override for an available agent.
Authentication status and account metadata for the session.
Session event "session.auto_mode_resolved".
API methods for the autopilotObjective namespace.
Session event "session.autopilot_objective_changed".
Identifies the target session.
Canonical runtime state for the session's current autopilot objective.
Session event "session.auto_tier_recommendation".
Session event "session.auto_tier_switch_failed".
Session event "session.background_tasks_changed".
Session event "session.binary_asset".
Data payload for SessionBinaryAssetEvent.
Identifies the target session.
API methods for the canvas.action namespace.
Canvas action invocation parameters.
Canvas action invocation result.
API methods for the canvas namespace.
Session event "session.canvas.closed".
Data payload for SessionCanvasClosedEvent.
Canvas close parameters.
Identifies the target session.
Live open-canvas snapshot.
Identifies the target session.
Declared canvases available in this session.
Session event "session.canvas.opened".
Data payload for SessionCanvasOpenedEvent.
Canvas open parameters.
Open canvas instance snapshot.
Session event "session.canvas.recorded".
Data payload for SessionCanvasRecordedEvent.
Session event "session.canvas.registry_changed".
Session event "session.canvas.removed".
Data payload for SessionCanvasRemovedEvent.
Session event "session.canvas.unavailable".
Represents the capabilities reported by the host for a session.
Session capability enabled for this session
API methods for the commands namespace.
Slash-prefixed command string to enqueue for FIFO processing.
Slash command name and argument string to execute synchronously.
Error message produced while executing the command, if any.
Pending command request ID and an optional error if the client handler failed.
Indicates whether the pending client-handled command was completed successfully.
Slash command name and optional raw input string to invoke.
Request parameters for the session.commands.list RPC method.
Slash commands available in the session, after applying any include/exclude filters.
Queued-command request ID and the result indicating whether the host executed it (and whether to stop processing further queued commands).
Indicates whether the queued-command response was matched to a pending request.
Session event "session.compaction_complete".
Session event "session.compaction_start".
Data payload for SessionCompactionStartEvent.
A single host-driven completion.
Session event "session.completion_receipt".
API methods for the completions namespace.
Identifies the target session.
Characters that, when typed in the composer, should trigger a `completions.request`.
Request host-driven completions for the current composer input.
Host-driven completion items for the current composer input.
Configuration for creating a new Copilot session.
API methods for the connectors namespace.
Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
Explicitly bounded continuation of a pending Connector connection.
Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
Authoritative result after disconnect and MCP reconciliation.
Identifies the target session.
Identifies the target session.
Feature detection and hard polling limits for the EXPERIMENTAL session connector API.
Identifies the target session.
Authoritative session connector state.
Pins a Connector operation to one host-owned GitHub account through its opaque selection ID.
Validated Connector catalog snapshot cached by the session.
Requests authoritative Connector-to-MCP reconciliation for the pinned account.
Requests authoritative Connector-to-MCP reconciliation for the pinned account.
Authoritative session connector state.
Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
Pins a Connector operation to one host-owned GitHub account through its opaque selection ID.
Validated Connector catalog snapshot cached by the session.
API methods for the contentExclusion namespace.
Local file system absolute paths within the session working directory to check against its content-exclusion policy.
Batch content-exclusion result.
Pre-resolved working-directory context for session startup.
Working directory context for a session.
Session event "session.context_changed".
Data payload for SessionContextChangedEvent.
Session event "session.context_cleared".
Data payload for SessionContextClearedEvent.
Repository host type
Session event "session.custom_agents_updated".
API methods for the customizations namespace.
Identifies the target session.
Session event "session.custom_notification".
API methods for the debug namespace.
Options for collecting a session debug bundle with configurable redaction.
Result of collecting a session debug bundle.
API methods for the diagnostics namespace.
Patch session diagnostic thresholds for explicitly supplied sources.
Per-source session diagnostics configuration.
Cursor-based request for session diagnostics.
One cursor-addressed page of retained session diagnostics.
 
Handler for session-end hooks.
Input for a session-end hook.
Output for a session-end hook.
Session event "session.error".
Data payload for SessionErrorEvent.
Base class for all generated session events.
API methods for the eventLog namespace.
Cursor, batch size, and optional long-poll/filter parameters for reading session events.
Batch of session events returned by a read, with cursor and continuation metadata.
Event type to register consumer interest for, used by runtime gating logic.
Opaque handle representing an event-type interest registration.
Opaque handle previously returned by `registerInterest` to release.
Indicates whether the operation succeeded.
Identifies the target session.
Snapshot of the current tail cursor without returning any events.
API methods for the extensions namespace.
Session event "session.extensions.attachments_pushed".
Source-qualified extension identifier to disable for the session.
Source-qualified extension identifier to enable for the session.
Identifies the target session.
Extensions discovered for the session, with their current status.
Session event "session.extensions_loaded".
Identifies the target session.
Extensions discovered for the session, with their current status.
Identifies the target session.
Parameters for session.extensions.sendAttachmentsToMessage.
API methods for the fleet namespace.
Parameters for starting fleet orchestration: an optional user prompt combined with the fleet instructions, plus the send options forwarded to the resulting turn.
Indicates whether fleet mode was successfully activated.
File path, content to append, and optional mode for the client-provided session filesystem.
Describes a filesystem error.
Error classification
Path to test for existence in the client-provided session filesystem.
Indicates whether the requested path exists in the client-provided session filesystem.
Directory path to create in the client-provided session filesystem, with options for recursive creation and POSIX mode.
Directory path whose entries should be listed from the client-provided session filesystem.
Names of entries in the requested directory, or a filesystem error if the read failed.
Directory entry returned by session filesystem `readdirWithTypes`, with name and entry type.
Entry type
Directory path whose entries (with type information) should be listed from the client-provided session filesystem.
Entries in the requested directory paired with file/directory type information, or a filesystem error if the read failed.
Path of the binary file to read from the client-provided session filesystem.
File bytes as standard base64, or a filesystem error if the read failed.
Path of the file to read from the client-provided session filesystem.
File content as a UTF-8 string, or a filesystem error if the read failed.
Source and destination paths for renaming or moving an entry in the client-provided session filesystem.
Path to remove from the client-provided session filesystem, with options for recursive removal and force.
Optional capabilities declared by the provider
Path conventions used by this filesystem
Initial working directory, session-state path layout, and path conventions used to register the calling SDK client as the session filesystem provider.
Indicates whether the calling client was registered as the session filesystem provider.
Identifies the target session.
Indicates whether the per-session SQLite database already exists.
SQL query, query type, and optional bind parameters for executing a SQLite query against the per-session database.
Query results including rows, columns, and rows affected, or a filesystem error if execution failed.
How to execute the query: 'exec' for DDL/multi-statement (no results), 'query' for SELECT (returns rows), 'run' for INSERT/UPDATE/DELETE (returns rowsAffected)
Classified SQLite transaction failure. busyOrLocked guarantees rollback; postCommitAmbiguous must never be retried.
SQLite transaction failure classification.
Statements to execute atomically.
Per-statement results, or a classified transaction error.
One statement in an atomic SQLite transaction.
Path whose metadata should be returned from the client-provided session filesystem.
Filesystem metadata for the requested path, or a filesystem error if the stat failed.
File path, standard-base64-encoded bytes to write, and optional mode for the client-provided session filesystem.
File path, content to write, and optional mode for the client-provided session filesystem.
Session event "session.fusion_completed".
Data payload for SessionFusionCompletedEvent.
Session event "session.fusion_resolved".
Data payload for SessionFusionResolvedEvent.
Session event "session.fusion_route_failed".
Session event "session.fusion_route_started".
API methods for the gitHubAuth namespace.
Identifies the target session.
Authentication status and account metadata for the session.
New auth credentials to install on the session.
Indicates whether the credential update succeeded.
Session event "session.handoff".
Data payload for SessionHandoffEvent.
Identifies the target session.
Indicates whether an in-progress manual compaction was aborted.
API methods for the history namespace.
Identifies the target session.
Indicates whether an in-progress background compaction was cancelled.
Parameters for clearing the conversation and seeding the window that replaces it.
What a successful clear removed.
Request parameters for the session.history.compact RPC method.
What initiated this compaction request, recorded as the `trigger` on the persisted `session.compaction_start` / `session.compaction_complete` events.
Compaction outcome with the number of tokens and messages removed, summary text, and the resulting context window breakdown.
Identifies the target session.
Rewind points and file-change-tracking availability for the session.
Event boundary to preview for conversation-and-files rewind.
Files and aggregate changes for a prospective rewind.
Boundary and mode for rewinding session history.
Structured outcome of a rewind request.
Identifies the target session.
Markdown summary of the conversation context (empty when not available).
Identifier of the event to truncate to; this event and all later events are removed.
Number of events that were removed by the truncation.
Hook handlers configuration for a session.
Session event "session.idle".
Data payload for SessionIdleEvent.
Session event "session.indexed_search".
Raw union payload for SessionIndexedSearchEvent, preserving every variant's fields.
Session event "session.info".
Data payload for SessionInfoEvent.
Installed plugin record for a session, with marketplace, version, install time, enabled state, cache path, and source.
API methods for the instructions namespace.
Identifies the target session.
Instruction sources loaded for the session, in merge order.
Identifies the target session.
Parameters for interrupting the main agent turn.
Result of interrupting the main agent turn.
Session lifecycle event notification.
Metadata for session lifecycle events.
Types of session lifecycle events.
Handler for session lifecycle events.
API methods for the limitPrediction namespace.
Baseline data provenance for a prediction.
Client population used for the prediction baseline.
Explainable AI-credit session-limit prediction.
Request parameters for the session.limitPrediction.predict RPC method.
Prediction result.
Variant available of SessionLimitPredictionResult.
Variant unavailable of SessionLimitPredictionResult.
Baseline fallback level used to create the prediction.
Semantic usage tier used for a recommended cap or additional headroom.
Semantic usage tier and its AI-credit cap.
Reason a prediction could not be computed.
Optional session limits.
Optional session limits.
Session event "session_limits_exhausted.completed".
Session event "session_limits_exhausted.requested".
The user's selected action for an exhausted session limit.
User action selected for an exhausted session limit.
Optional filter applied to the returned sessions
Filter options for listing sessions.
Log severity level.
Message text, optional severity level, persistence flag, optional follow-up URL, and optional tip.
Identifier of the session event that was emitted for the log message.
API methods for the lsp namespace.
Parameters for (re)loading the merged LSP configuration set.
Enterprise permission policy expressed with the runtime's managed permission-rule syntax.
Session event "session.managed_plugin_progress".
Managed settings an SDK host may inject at session startup.
API methods for the managedSettings namespace.
Session event "session.managed_settings_enforced".
Identifies the target session.
Effective enterprise managed settings and contributing channels.
Session event "session.managed_settings_resolved".
API methods for the mcp namespace.
API methods for the mcp.apps namespace.
MCP server, tool name, and arguments to invoke from an MCP App view.
MCP server to diagnose MCP Apps wiring for.
Diagnostic snapshot of MCP Apps wiring for the named server.
Identifies the target session.
Current host context advertised to MCP App guests.
MCP server to list app-callable tools for.
App-callable tools from the named MCP server.
MCP server and resource URI to fetch.
Resource contents returned by the MCP server.
Host context to advertise to MCP App guests.
The requestId previously passed to executeSampling that should be cancelled.
Indicates whether an in-flight sampling execution with the given requestId was found and cancelled.
Name of the MCP server to disable for the session.
Name of the MCP server to disable for the session.
Name of the MCP server to enable for the session.
Name of the MCP server to enable for the session.
Identifiers and raw MCP CreateMessageRequest params used to run a sampling inference.
Outcome of an MCP sampling execution: success result, failure error, or cancellation.
API methods for the mcp.headers namespace.
MCP headers refresh request id and the host response.
Indicates whether the pending MCP headers refresh response was accepted.
Server name to check running status for.
Whether the named MCP server is running.
Identifies the target session.
Effective MCP configuration with optional live observations from matching already materialized servers.
Identifies the target session.
MCP servers configured for the session, with their connection status and host-level state.
Server name whose tool list should be returned.
Tools exposed by the connected MCP server.
Identifies the target session.
Result of moving in-flight MCP loading to the background.
API methods for the mcp.oauth namespace.
Identifies the MCP server whose persisted OAuth credentials were updated.
Targets only the original prepared/applying owned login on this exact session requester.
Honest terminal cancellation result; persistence or recovery failures remain RPC errors.
Host-delivered callback for a runtime-managed MCP OAuth login.
Pending MCP OAuth request ID and host token, cancellation, or advertised runtime refresh response.
Indicates whether the pending MCP OAuth response was accepted.
Remote MCP server name and optional overrides controlling reauthentication, OAuth client display name, callback handling, and static OAuth client selection.
Remote MCP server name and optional overrides controlling reauthentication, OAuth client display name, callback handling, and static OAuth client selection.
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
Effect-free preparation bound to the existing local session, requester and installation, with frozen options.
An inert runtime-issued login handle.
Remote MCP server name for a passive OAuth status probe.
Remote MCP server name for a passive OAuth status probe.
Pending MCP OAuth request id to respond to.
Indicates whether the pending MCP OAuth response was accepted.
API methods for the mcp.prompts namespace.
MCP server, prompt name, and optional string-valued arguments.
Prompt messages returned by the MCP server without sending them to the model.
MCP server whose prompts to enumerate.
One page of prompts advertised by the named MCP server.
Identifies the target session.
Identifies the target session.
Indicates whether the auto-managed `github` MCP server was removed (false when nothing to remove).
API methods for the mcp.resources namespace.
MCP server whose resources to enumerate.
One page of resources advertised by the named MCP server.
MCP server whose resource templates to enumerate.
One page of resource templates advertised by the named MCP server.
MCP server and resource URI to fetch.
Resource contents returned by the MCP server.
Server name and optional replacement configuration for an individual MCP server restart.
Server name and optional replacement configuration for an individual MCP server restart.
Session event "session.mcp_server_needs_reconnect".
Session event "session.mcp_server_removed".
Session event "session.mcp_servers_loaded".
Session event "session.mcp_server_status_changed".
Session event "session.mcp_server_tools_loaded".
Mode controlling how MCP server env values are resolved (`direct` or `indirect`).
Env-value mode recorded on the session after the update.
Server name and optional configuration for an individual MCP server start.
Server name and optional configuration for an individual MCP server start.
Server name for an individual MCP server stop.
Server name for an individual MCP server stop.
Metadata about an existing Copilot session.
Identifies the target session.
Current activity flags for the session.
API methods for the metadata namespace.
Model identifier and token limits used to compute the context-info breakdown.
Token breakdown for the session's current context window, or null if uninitialized.
Token-usage breakdown for the session's current context window
Identifies the target session.
Identifies the target session.
Per-source attribution breakdown for the session's current context window, or null if uninitialized.
Per-source token attribution snapshot for the current context window.
The six normalized `/context` header buckets, computed from the same tokenization as `entries` so the two never disagree.
Successful compaction history for the session.
 
Parameters for the heaviest-messages query.
The heaviest individual messages in the session's context window, most-expensive first.
Identifies the target session.
Indicates whether the local session is currently processing a turn or background continuation.
Model identifier to use when re-tokenizing the session's existing messages.
Re-tokenize the session's existing messages against `modelId` and return the token totals.
Updated working-directory/git context to record on the session.
Absolute path to set as the session's new working directory.
Update the session's working directory.
Identifies the target session.
Point-in-time snapshot of slow-changing session identifier and state fields
Public-facing projection of workspace metadata for SDK / TUI consumers
Atomic patch for client-owned session metadata.
The session mode the agent is operating in
The session mode the agent is operating in
API methods for the mode namespace.
Session event "session.mode_changed".
Data payload for SessionModeChangedEvent.
Identifies the target session.
API methods for the model namespace.
Session event "session.model_change".
Data payload for SessionModelChangeEvent.
Session event "session.model_deselected".
Data payload for SessionModelDeselectedEvent.
Identifies the target session.
The session's authoritative model snapshot.
Host presentation state the reasoning-summaries policy depends on.
Reasoning-summaries presentation policy for the session's current model.
Request parameters for the session.model.list RPC method.
The list of models available to this session.
Cost-category metadata for a CAPI model.
Host-supplied exact model selection IDs to allow for this running session.
The applied host allowlist and effective session model policy after intersection.
Reasoning effort level to apply to the currently selected model.
Update the session's reasoning effort without changing the selected model.
An Auto preference request for the session.
Immediate acknowledgement and Auto preference snapshot after a switch request.
Target model identifier and optional reasoning effort, summary, capability overrides, and context tier.
Target model identifier and optional reasoning effort, summary, capability overrides, and context tier.
The model identifier active on the session after the switch.
Session event "session.mode_notice_delivered".
Agent interaction mode to apply to the session.
Outcome of a session mode change, including any model switch it triggered and follow-up the host must perform.
API methods for the name namespace.
Identifies the target session.
The session's friendly name, or null when not yet set.
Auto-generated session summary to apply as the session's name when no user-set name exists.
Indicates whether the auto-generated summary was applied as the session's name.
New friendly name to apply to the session.
Session construction options.
Content-exclusion policy supplied to `sessions.open` options, with rules, last-updated data, and scope.
Single content-exclusion rule supplied to `sessions.open` options, with paths, match conditions, and source.
Source descriptor for a `sessions.open` content-exclusion rule, with source name and type.
Allowed values for the `SessionOpenOptionsAdditionalContentExclusionPolicyScope` enumeration.
How MCP server environment values are interpreted.
Initial reasoning summary mode for supported model clients.
API methods for the options namespace.
Patch of mutable session options to apply to the running session.
Indicates whether the session options patch was applied successfully.
Session event "session.permission_recovery".
API methods for the permissions namespace.
Session event "session.permissions_changed".
Patch of permission policy fields to apply (omit a field to leave it unchanged).
Indicates whether the operation succeeded.
Folder path to add to trusted folders.
Indicates whether the operation succeeded.
API methods for the permissions.folderTrust namespace.
Folder path to check for trust.
Folder trust check result.
No parameters.
Current permission mode.
Pending permission request ID and the decision to apply (approve/reject and scope).
Indicates whether the permission decision was applied; false when the request was already resolved.
Location-scoped tool approval to persist.
Indicates whether the operation succeeded.
API methods for the permissions.locations namespace.
Working directory to load persisted location permissions for.
Summary of persisted location permissions applied to the session.
Working directory to resolve into a location-permissions key.
Resolved location-permissions key and type.
Scope and add/remove instructions for modifying session- or location-scoped permission rules.
Indicates whether the operation succeeded.
Notification payload describing the permission prompt that the client just rendered.
Indicates whether the operation succeeded.
Directory path to add to the session's allowed directories.
Indicates whether the operation succeeded.
API methods for the permissions.paths namespace.
Path to evaluate against the session's allowed directories.
Indicates whether the supplied path is within the session's allowed directories.
Path to evaluate against the session's workspace (primary) directory.
Indicates whether the supplied path is within the session's workspace directory.
No parameters; returns the session's recursive directory grants and exact session-approved paths.
Snapshot of the session's recursive directory grants, exact session-approved paths, and primary working directory.
Directory path to set as the session's new primary working directory.
Indicates whether the operation succeeded.
No parameters; returns currently-pending permission requests for the session.
List of pending permission requests reconstructed from event history.
Clears session-scoped tool approvals and optionally clears location-scoped approvals and exact session-approved paths.
Indicates whether the operation succeeded.
Allow-all toggle for tool permission requests, with an optional telemetry source.
Indicates whether the operation succeeded.
Permission mode to apply for the session.
Indicates whether the requested permission mode was applied and reports the authoritative post-mutation mode.
Toggles whether permission prompts should be bridged into session events for this client.
Indicates whether the operation succeeded.
API methods for the permissions.urls namespace.
Whether the URL-permission policy should run in unrestricted mode.
Indicates whether the operation succeeded.
API methods for the plan namespace.
Session event "session.plan_changed".
Data payload for SessionPlanChangedEvent.
Identifies the target session.
Identifies the target session.
Existence, contents, and resolved path of the session plan file.
Identifies the target session.
Todo rows read from the session SQL database.
Identifies the target session.
Todo rows + dependency edges read from the session SQL database.
Replacement contents to write to the session plan file.
API methods for the plugins namespace.
Plugin names (or specs) to disable in the session's authoritative working directory.
Plugin names (or specs) to enable in the session's authoritative working directory.
Plugin source resolved relative to the session's authoritative working directory.
Result of installing a plugin.
Identifies the target session.
Plugins installed for the session, with their enabled state and version metadata.
Marketplace source and optional working directory for relative-path resolution.
Result of registering a new marketplace.
API methods for the plugins.marketplaces namespace.
Name of the marketplace whose plugin catalog to fetch.
Plugins advertised by the marketplace.
Identifies the target session.
All registered marketplaces, including built-in defaults.
Request parameters for the session.plugins.marketplaces.refresh RPC method.
Result of refreshing one or more marketplace catalogs.
Name of the marketplace to remove and an optional force flag.
Outcome of the remove attempt, including dependent-plugin info when applicable.
Request parameters for the session.plugins.reload RPC method.
Request parameters for the session.plugins.retryManaged RPC method.
Per-plugin outcomes of retrying the plugins required by the session's managed settings.
Name (or spec) of the plugin to uninstall.
Name (or spec) of the plugin to update.
Result of updating a single plugin.
BYOK providers and/or models to add to the session's registry at runtime.
The selectable model entries synthesized for the models added by this call.
API methods for the provider namespace.
Request parameters for the session.provider.getEndpoint RPC method.
A snapshot of the provider endpoint the session is currently configured to talk to.
API methods for the providers namespace.
Provider discovery parameters.
Provider instances found by a discovery operation.
Identifies the target session.
Normalized model-provider adapter definitions available to the session, not discovered instances.
Provider status request parameters.
Current health information for a provider instance.
API methods for the providers.models namespace.
Provider model inventory request parameters.
Models offered for agent conversations by one provider instance.
A discovered instance and one of its models to translate into provider configuration.
Provider configuration prepared from a discovered model.
Authoritative BYOK provider and model registry snapshot to apply atomically to the session.
The selectable model entries and selection ids synthesized for the synchronized BYOK models.
Host-managed model selection ids to withdraw from the session's BYOK registry.
What the withdrawal actually removed from the registry.
API methods for the queue namespace.
Append to one pending steering message without changing its identity or delivery position.
Result of editing a queued message.
Identifies the target session.
Parameters for duplicating a queued item.
Result of duplicating a queued item.
Parameters for inserting a queued message at a public visible position.
Result of inserting a queued message.
Parameters for moving a queued item by stable id.
Result of moving a queued item.
Identifies the target session.
Snapshot of the session's pending queued items and immediate-steering messages.
Parameters for removing a queued item by stable id.
Result of removing a queued item.
Identifies the target session.
Indicates whether a user-facing pending item was removed.
Parameters for steering a queued message into a live turn.
Result of trying to steer a queued message into a live turn.
Parameters for acquiring or releasing the queued-lane drain pause.
Parameters for editing a single queued message.
Result of editing a queued message.
Conditional withdrawal of a single user message, from its queue or from the running turn it started.
Result of withdrawing a user message.
API methods for the quota namespace.
Existing delegation guidance for an account without delegation access.
Identifies the target session.
The incumbent session-owned quota and account projection.
Session event "session.quota_observation".
Copilot plan tier used by the session quota projection.
Identifies the target session.
The incumbent session-owned quota and account projection.
Session quota snapshot, preserving the incumbent numeric units and reset metadata.
Identifies the target session.
API methods for the remote namespace.
Identifies the target session.
Optional remote session mode ("off", "export", or "on"); defaults to enabling both export and remote steering.
GitHub URL for the session and a flag indicating whether remote steering is enabled.
New remote-steerability state to persist as a `session.remote_steerable_changed` event.
Session event "session.remote_steerable_changed".
Session event "session.resume".
Data payload for SessionResumeEvent.
Typed client for session-scoped RPC methods.
API methods for the sandbox namespace.
Request to disable sandboxing for the current session while resolving an active sandbox-bypass permission prompt.
Result of attempting to disable sandboxing for the current session.
Identifies the target session.
Possible unconfigured secrets in the sandbox shell environment, sorted by variable name, with no secret values.
Identifies the target session.
Managed sandbox enforcement state for a session.
Request to accept the sandbox path grant offered on an active sandbox escalation permission prompt.
Result of accepting a sandbox path grant.
Session IDs to close, deactivate, and delete from disk.
Map of sessionId -> bytes freed by removing the session's workspace directory.
Session IDs to test for live in-use locks.
Session IDs from the input set that are currently in use by another process.
API methods for the schedule namespace.
Session event "session.schedule_cancelled".
Session event "session.schedule_created".
Data payload for SessionScheduleCreatedEvent.
Identifies the target session.
Snapshot of the currently active recurring prompts for this session.
Session event "session.schedule_rearmed".
Data payload for SessionScheduleRearmedEvent.
Identifier of the scheduled prompt to remove.
Remove a scheduled prompt by id.
Session ID to close.
Remote session connection parameters.
Remote session connection result.
Parameters for sending zero or more user messages to the session in a single turn.
 
Result of sending zero or more user messages
Parameters for sending a user message to the session
 
Result of sending a user message
Session metadata records to enrich with summary and context information.
The enriched metadata records, with summary and context fields backfilled where available.
Session event "session.session_limits_changed".
UUID prefix to resolve to a unique session ID.
Session ID matching the prefix, omitted when no unique match exists.
GitHub task ID to look up.
ID of the local session bound to the given GitHub task, or omitted when none.
Source session identifier to fork from, optional event-ID boundary, and optional friendly name for the new session.
Identifier and optional friendly name assigned to the newly forked session.
Bounded batch request for client-owned metadata from persisted local sessions.
Optional working-directory context used to score session relevance.
Most-relevant session ID for the supplied context, or omitted when no sessions exist.
Wrapper for the singleton's current status.
Map of sessionId -> on-disk size in bytes for each session's workspace directory.
API methods for the shell namespace.
User-requested shell execution cancellation handle.
Cancellation result for a user-requested shell command.
Shell command to run, with optional working directory and timeout in milliseconds.
Identifier of the spawned shell process, usable with shell.kill while the process is running.
User-requested shell command and cancellation handle.
Result of a user-requested shell command.
Identifier of a process previously returned by "shell.exec" and the signal to send.
Indicates whether the signal was delivered; false if the process was unknown or already exited.
Session event "session.shutdown".
Data payload for SessionShutdownEvent.
Parameters for shutting down the session
API methods for the skills namespace.
Name of the skill to disable for the session.
Name of the skill to enable for the session.
Identifies the target session.
Identifies the target session.
Skills invoked during this session, ordered by invocation time (most recent last).
Identifies the target session.
Skills available to the session, with their enabled state.
Session event "session.skills_loaded".
Data payload for SessionSkillsLoadedEvent.
Identifies the target session.
Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
Optional source filter, metadata-load limit, and context filter applied to the returned sessions.
Sessions matching the filter, ordered most-recently-modified first.
Active session ID whose deferred repo-level hooks should be loaded.
Queued repo-level startup prompts and the total hook command count after loading.
Session event "session.snapshot_rewind".
Data payload for SessionSnapshotRewindEvent.
Parameters for attaching to an already-active session by ID.
Parameters for creating a new cloud session.
Parameters for creating a new local session.
Parameters for fetching a remote session and handing it off to a new local session.
Task type determines the handoff strategy (CCA fetches events; CLI prepares a transient session).
Open a session by creating, resuming, attaching, connecting to a remote, or handing off.
`sessions.open` handoff progress update with step, status, and optional message.
Step status.
Handoff step.
Parameters for connecting to a live remote session.
Result of opening a session.
Parameters for resuming a specific local session.
Parameters for resuming the most relevant local session.
Outcome of the open request.
Which session sources to include.
Age threshold and optional flags controlling which old sessions are pruned (or simulated when dryRun is true).
Outcome of the prune operation: deleted IDs, dry-run candidates, skipped IDs, total bytes freed, and the dry-run flag.
Pagination options for reading an inactive or active local session's persisted event journal.
Batch of session events returned by a read, with cursor and continuation metadata.
Session ID whose in-use lock should be released.
Active session ID and an optional flag for deferring repo-level hooks until folder trust.
Session ID whose pending events should be flushed to disk.
Manager-wide additional plugins to register; replaces any previously-configured set.
Patch for the singleton's steering state.
Wrapper for the singleton's current status.
Parameters for attaching the remote-control singleton to a session.
Wrapper for the singleton's current status.
Request parameters for the sessions.stopRemoteControl RPC method.
Outcome of a stopRemoteControl call.
Session event "session.start".
Data payload for SessionStartEvent.
Handler for session-start hooks.
Input for a session-start hook.
Output for a session-start hook.
Parameters for atomically rebinding the remote-control singleton.
Outcome of a transferRemoteControl call.
Identifies the target session.
Session event "session.task_complete".
Data payload for SessionTaskCompleteEvent.
API methods for the tasks namespace.
Identifier of the background task to cancel.
Indicates whether the background task was successfully cancelled.
Identifies the target session.
The first sync-waiting task that can currently be promoted to background mode.
Identifier of the background task to fetch progress for.
Progress information for the task, or null when no task with that ID is tracked.
Identifies the target session.
Background tasks currently tracked by the session.
Identifies the target session.
The promoted task as it now exists in background mode, omitted if no promotable task was waiting.
Identifier of the task to promote to background mode.
Indicates whether the task was successfully promoted to background mode.
Detached shell task to read output from, with an optional cursor and long-poll wait. waitMs defaults to zero (maximum 30000).
Output a detached shell task wrote after the request cursor, with the cursor for the next read.
Identifies the target session.
Registers or reclaims a client-owned task.
Result of registering or reclaiming a client-owned task.
Identifier of the completed or cancelled task to remove from tracking.
Indicates whether the task was removed.
Identifier of the target agent task, message content, and optional sender agent ID.
Indicates whether the message was delivered, with an error message when delivery failed.
Agent type, prompt, name, and optional description and model override for the new task.
Identifier assigned to the newly started background agent task.
Updates a client-owned task.
Result of publishing a client-owned task update.
Identifies the target session.
API methods for the telemetry namespace.
Identifies the target session.
Telemetry engagement ID for the session, when available.
Feature override key/value pairs to attach to subsequent telemetry events from this session.
Session event "session.title_changed".
Data payload for SessionTitleChangedEvent.
Session event "session.todos_changed".
Data payload for SessionTodosChangedEvent.
API methods for the tools namespace.
A tool name and arguments to execute through the session's native invocation pipeline.
Options controlling how Rust-owned built-in tool descriptors are materialized.
Rust-owned built-in tool descriptors for the session.
Identifies the target session.
Current lightweight tool metadata snapshot for the session.
Pending external tool call request ID, with the tool result or an error describing why it failed.
Indicates whether the external tool call result was handled successfully.
Identifies the target session.
No parameters; returns the external tool calls of the session and its sub-agents that are still waiting for a result.
External tool calls still waiting for a result.
Complete externally implemented tool list for the calling connection.
Task-completion tool arguments and final result used to build a label-safe session event payload.
Task completion notification with summary from the agent
Session event "session.tools_updated".
Data payload for SessionToolsUpdatedEvent.
Subagent settings to apply to the current session
Configured per-agent subagent overrides
Session event "session.truncation".
Data payload for SessionTruncationEvent.
API methods for the ui namespace.
Provides UI methods for eliciting information from the user during a session.
UI-specific capability flags for a session.
Prompt message and JSON schema describing the form fields to elicit from the user.
The elicitation response (accept with form values, decline, or cancel)
Transient question to answer without adding it to conversation history.
Completed transient query.
Request ID of a pending `auto_mode_switch.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Pending elicitation request ID and the user's response (accept/decline/cancel + form values).
Indicates whether the elicitation response was accepted; false if it was already resolved by another client.
Request ID of a pending `exit_plan_mode.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Request ID of a pending `sampling.requested` event and an optional sampling result payload (omit to reject).
Indicates whether the pending UI request was resolved by this call.
Request ID of a pending `session_limits_exhausted.requested` event and the user's selected limit action.
Indicates whether the pending UI request was resolved by this call.
Request ID of a pending `user_input.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Identifies the target session.
Register an in-process handler for `auto_mode_switch.requested` events.
Opaque handle previously returned by `registerDirectAutoModeSwitchHandler` to release.
Indicates whether the handle was active and the registration count was decremented.
API methods for the usage namespace.
Session event "session.usage_checkpoint".
Data payload for SessionUsageCheckpointEvent.
Identifies the target session.
Accumulated session usage metrics, including premium request cost, token counts, model breakdown, and code-change totals.
Session event "session.usage_info".
Data payload for SessionUsageInfoEvent.
API methods for the visibility namespace.
Identifies the target session.
Current sharing status and shareable GitHub URL for a session.
Desired sharing status for the session.
Effective sharing status and shareable GitHub URL after updating session visibility.
Sharing status for a synced session.
Session event "session.warning".
Data payload for SessionWarningEvent.
Parameters for one workflow-scoped subagent call.
Result of one workflow-scoped subagent call.
API methods for the workflow namespace.
Parameters for cancelling a workflow run.
Complete current or terminal workflow run envelope.
Parameters for retrieving a workflow run.
Full workflow run observability detail.
Parameters for retrieving a workflow run.
Parameters for paging workflow progress.
A bidirectional page of workflow progress.
Complete current or terminal workflow run envelope.
API methods for the workflow.journal namespace.
Parameters for reading a workflow journal entry.
Result of reading a workflow journal entry.
Parameters for storing a workflow journal entry.
Parameters for paging workflow runs.
A page of workflow runs in durable creation order.
Parameters for recording workflow progress.
Parameters for pausing a running workflow.
Complete current or terminal workflow run envelope.
Parameters for resuming a workflow run from its persisted identity.
Resolved persisted workflow identity and resumed run envelope.
Parameters for invoking a registered workflow.
Complete current or terminal workflow run envelope.
Updated working directory and git context.
Hosting platform type of the repository
Session event "session.workspace_file_changed".
Compaction summary checkpoint to persist.
Persisted summary metadata and refreshed workspace metadata.
API methods for the workspaces namespace.
Identifies the target session.
Whether the autopilot objective file exists.
Directory to create within the session workspace files directory.
Relative path and UTF-8 content for the workspace file to create or overwrite.
Identifies the target session.
Result of deleting the autopilot objective file.
Parameters for computing a workspace diff.
Parameters for computing a workspace diff.
Workspace diff result for the requested mode.
Optional session context used when creating a local workspace.
Current workspace metadata for the session, including its absolute filesystem path when available.
 
Identifies the target session.
Current workspace metadata for the session, including its absolute filesystem path when available.
 
Identifies the target session.
Workspace checkpoints in chronological order; empty when the workspace is not enabled.
Identifies the target session.
Relative paths of files stored in the session workspace files directory.
Identifies the target session.
Autopilot objective file content, or null when missing.
Checkpoint number to read.
Checkpoint content as a UTF-8 string, or null when the checkpoint or workspace is missing.
Relative path of the workspace file to read.
Contents of the requested workspace file as a UTF-8 string.
File or directory to remove from the session workspace files directory.
Source and destination paths for a rename within the session workspace files directory.
Pasted content to save as a UTF-8 file in the session workspace.
Descriptor for the saved paste file, or null when the workspace is unavailable.
 
Relative path of the workspace file or directory to inspect.
Filesystem metadata for a path in the session workspace files directory.
Rollback point for local workspace summaries.
Current workspace metadata for the session, including its absolute filesystem path when available.
 
Workspace metadata fields to update.
Current workspace metadata for the session, including its absolute filesystem path when available.
 
Autopilot objective file content to persist.
Result of writing the autopilot objective file.
Request body for session.setForeground RPC call.
Response from session.setForeground RPC call.
Optional settings for a model switch.
Command-scoped GitHub credential injection for the shell commands an agent runs.
Controls automatic non-interactive profile loading where supported.
A host-provided script sourced before each built-in shell command when its shell target matches the active shell.
Supported built-in shells for initialization scripts.
Signal to send (default: SIGTERM)
Per-session settings for built-in shell tools.
Usage attributed to one agent instance at session shutdown.
Aggregate code change metrics for the session
Per-model shutdown metrics with request counts, token usage, nano-AI units, and token details.
Request count and cost metrics
A token-type entry in a shutdown model metric, storing the accumulated token count.
Token usage breakdown
A session-wide shutdown token-type entry storing the accumulated token count.
Why the session is being shut down.
Whether the session ended normally ("routine") or due to a crash/fatal error ("error")
Skill metadata available to a session, with name, description, source, enabled/invocable state, path, plugin, and argument hint.
Session event "skill.context_delivered".
Data payload for SkillContextDeliveredEvent.
Session event "skill.context_delivered_ref".
Canonical directory where skills can be discovered or created, with scope, preference, and optional project path.
Which tier this directory belongs to
Bounded refusal categories for verified Skill installation management.
One reviewed Skill file.
A user-facing personal Skill installation location without absolute host paths.
Management outcome for verified Skill inventory, planning and removal.
Enablement changed and the selected session was reconciled.
A verified Skill installation plan was prepared.
Owned Skill installations were listed.
Original-connection operation snapshot.
Recovery completed and inventory was inspected.
Already-confirmed durable work must be reconciled before new mutations or inventory.
The management request was refused.
Interrupted work was safely compensated and the pending marker was cleared.
An owned Skill uninstall plan was prepared.
Skill installation management result with the honoured contract, or a typed refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Status snapshot from the original connection, independent of new-work account availability.
Original operation progress discriminator.
Original operation progress discriminator.
Original operation progress discriminator.
Original operation progress discriminator.
Original operation progress discriminator.
Original operation progress discriminator.
Owned Skill state observed from files and receipts.
Skill installation result with the honoured contract, or a typed request/negotiation refusal.
The request was rejected because a bounded field fell outside its permitted range or a required field was unusable.
The caller's protocol version or required capabilities cannot be honoured.
The runtime could not reach the catalog authority or retrieve a card.
Variant outcome of SkillInstallationResult.
Safe verified Skill review fields.
Review for installing a verified Skill.
Review for uninstalling an owned verified Skill.
 
Bound-session observation after reconciling persisted enablement.
Source identity retained from Agent Finder and the pinned GitHub descriptor.
Durable verified Skill ownership summary.
A computed Skill install plan.
Session event "skill.invoked".
Data payload for SkillInvokedEvent.
Session event "skill.invoked_ref".
Data payload for SkillInvokedRefEvent.
What triggered the skill invocation: `user-invoked` (explicit user action, such as via a slash command or UI affordance), `agent-invoked` (agent requested the skill), or `context-load` (loaded as part of another context, such as preloading skills configured on a custom agent or subagent)
Provides session-scoped skills to the Copilot runtime.
Catalog metadata for one skill supplied by a SkillProvider.
Applies exactly one retained verified Skill installation plan.
One-use application of the exact retained Skill removal plan.
Skill names to mark as disabled in global configuration, replacing any previous list.
Adds or removes a single skill from the global disabled list, leaving every other entry untouched.
Optional project paths and additional skill directories to include in discovery.
Skills discovered across global and project sources.
Optional project paths to enumerate.
Optional project paths to enumerate.
Canonical locations where skills can be created so the runtime will recognize them.
Existing-operation control.
Inventory request under an explicitly selected existing session.
Inventory request under an explicitly selected existing session.
Persisted enablement update for one owned Skill installation.
Existing-operation control.
Skill invocation record with name, path, content, allowed tools, and turn number.
A single resolved skill in `session.skills_loaded`, including source, invocability, enabled state, path, and argument hint.
Source location type (e.g., project, personal-copilot, plugin, builtin, sdk)
Source location type (e.g., project, personal-copilot, plugin, builtin, sdk)
Side-effect-free planning of one verified Agent Finder Skill candidate.
Read-only preparation of one owned Skill removal under fresh selected-session authority.
A computed Skill uninstall plan.
Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, optional user-facing notice, and settings-change flag.
Slash-command invocation result indicating completion, with optional message and settings-change flag.
Slash-command metadata with name, aliases, description, kind, input hint, execution allowance, and schedulability.
Optional unstructured input hint
A literal choice the command input accepts, with a human-facing description
Optional completion hint for the input (e.g.
Result of invoking the slash command (text output, prompt to send to the agent, completion, or subcommand selection).
Variant add-timeline-entry of SlashCommandInvocationResult.
Variant set-model of SlashCommandInvocationResult.
Variant set-plan-model of SlashCommandInvocationResult.
Variant show-dialog of SlashCommandInvocationResult.
Coarse command category for grouping and behavior: runtime built-in, skill-backed command, or SDK/client-owned command
 
Selectable slash-command subcommand option with name, description, and optional group label.
Slash-command invocation result asking the client to present subcommand options for a parent command.
Slash-command invocation result containing text output plus Markdown/ANSI rendering flags.
 
Spawns a runtime child process and communicates over its stdin/stdout.
Session event "subagent.completed".
Data payload for SubagentCompletedEvent.
Session event "subagent.configured".
Data payload for SubagentConfiguredEvent.
Session event "subagent.deselected".
Data payload for SubagentDeselectedEvent.
Session event "subagent.failed".
Data payload for SubagentFailedEvent.
Authority or runtime mechanism responsible for sub-agent model selection.
Session event "subagent.selected".
Data payload for SubagentSelectedEvent.
Subagent model, reasoning effort, context tier, and auto-invocation settings
Context tier override for matching subagents
Session event "subagent.started".
Data payload for SubagentStartedEvent.
Handler invoked before a subagent's first turn.
Input received before a subagent's first turn.
Output for a subagent-start hook.
Handler invoked after a subagent's turn.
Input received after a subagent's turn.
Output for a subagent-stop hook.
Where the model input for a task-tool sub-agent came from.
Configuration for customizing the system message.
One persisted structured system-message block and its cache intent
Session event "system.message".
Data payload for SystemMessageEvent.
Metadata about the prompt template and its construction
Specifies how the system message should be applied to a session.
Message role: "system" for system prompts, "developer" for developer-injected instructions
Well-known system message section identifiers for use with
invalid reference
SystemMessageMode#CUSTOMIZE
mode.
Session event "system.notification".
Data payload for SystemNotificationEvent.
Deprecated, for removal: This API element is subject to removal in a future version.
Use SystemMessageSections — this class will be removed in a future major version.
Structured reason that the task cannot continue without intervention
Structured reason that the task cannot continue without intervention
Category of structured task blocker
Category of structured task blocker
Client-owned tasks always execute outside the runtime in background mode.
Tracked client-owned task metadata.
Public owner attribution for a client-owned task.
Connection class owning a client task.
Presence of the task's bound join.
Lifecycle status of a client-owned task.
Discriminator for a client-owned task.
 
Semantic result of evaluating a task completion request
Semantic result of evaluating a task completion request
Runtime-to-owner cancellation request for a client-owned task.
Whether the client authoritatively confirmed its external work stopped.
How a shell task ended, reported with the read that reaches the end of its output.
Current lifecycle status of the task
Spawns a runtime child process listening on a TCP socket and connects to it.
OpenTelemetry configuration for the Copilot CLI server.
Authentication-info input variant for SDK-configured token authentication, carrying host and the secret token value.
Unit the catalog publishes a model's token prices in.
Authentication-info variant backed by an SDK GitHub token callback.
Built-in tool metadata with identifier, optional namespaced name, description, input-parameter schema, and usage instructions.
Binary result from a tool execution.
Controls whether a ToolDefinition may be deferred (loaded lazily via tool search) rather than always pre-loaded.
Defines a tool that can be invoked by the AI assistant.
Error details when the tool execution failed
Session event "tool.execution_complete".
Data payload for ToolExecutionCompleteEvent.
A file mutation that was actually committed by a built-in file editing tool.
Kind of file mutation committed by a built-in editing tool.
Tool execution result on success
Experimental shell completion facts retained independently of the full tool result.
Tool definition metadata, present for MCP tools with MCP Apps support
MCP Apps metadata for UI resource association
MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_complete`.
Allowed values for the `ToolExecutionCompleteToolDescriptionMetaUIVisibility` enumeration.
MCP Apps UI resource content for rendering in a sandboxed iframe
Resource-level UI metadata (CSP, permissions, visual preferences)
MCP Apps UI resource metadata for a completed tool result, including CSP, permissions, domain, and border preference.
CSP domain allowlists for an MCP Apps UI resource, including connect, resource, frame, and base URI domains.
Browser permission metadata for an MCP Apps UI resource, including camera, microphone, geolocation, and clipboard-write.
Marker object for camera permission on an MCP Apps UI resource.
Marker object for clipboard-write permission on an MCP Apps UI resource.
Marker object for geolocation permission on an MCP Apps UI resource.
Marker object for microphone permission on an MCP Apps UI resource.
Deprecated.
Deprecated.
Session event "tool.execution_progress".
Data payload for ToolExecutionProgressEvent.
Session event "tool.execution_start".
Data payload for ToolExecutionStartEvent.
Shell-aware path hints for a shell tool's command, captured at start time so consumers can snapshot a file's pre-image before the tool runs.
Tool definition metadata, present for MCP tools with MCP Apps support
MCP Apps metadata for UI resource association
MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_start`.
Allowed values for the `ToolExecutionStartToolDescriptionMetaUIVisibility` enumeration.
Authoritative usage reported by a separately metered runtime-owned tool operation.
Provider-reported image and text token counts, which are subsets of the corresponding total rather than additional tokens.
Functional interface for handling tool invocations from the AI assistant.
Represents a tool invocation request from the AI assistant.
Expanded canonical result returned by a session tool.
A message injected by a tool result.
Result object returned from a tool execution.
Execution outcome classification.
Session event "tool_search.activated".
Data payload for ToolSearchActivatedEvent.
Overrides the runtime's built-in tool-search behavior.
Builder for SessionConfig.setAvailableTools(java.util.List) / SessionConfig.setExcludedTools(java.util.List) using source-qualified filter patterns (builtin:*, mcp:<name>, custom:*, etc.).
Session event "tool.shell_output".
Data payload for ToolShellOutputEvent.
Shell output source.
Optional model identifier whose tool overrides should be applied to the listing.
Built-in tools available for the requested model, with their parameters and instructions.
Shell-specific names and description lines used to materialize built-in shell tool descriptors.
Session event "tool.user_requested".
Data payload for ToolUserRequestedEvent.
Details of transcript repair reported by session.resume.
User's choice for auto-mode switching: yes (allow this turn), yes_always (allow + persist as setting), or no (decline).
The elicitation response (accept with form values, decline, or cancel)
The user's response: accept (submitted), decline (rejected), or cancel (dismissed)
Indicates whether the elicitation response was accepted; false if it was already resolved by another client.
JSON Schema describing the form fields to present to the user
Session event "ui.ephemeral_query".
Data payload for UiEphemeralQueryEvent.
Lifecycle phase for a Rust-owned ephemeral query stream.
The action the user selected.
User response for a pending exit-plan-mode request, with approval state, selected action, auto-approve flag, and feedback.
Indicates whether the pending UI request was resolved by this call.
Optional sampling result payload.
The user's selected action for an exhausted session limit.
User action selected for an exhausted session limit.
User response for a pending user-input request, with answer text and whether it was typed freeform.
Fallback for event types not yet known to this SDK version.
Connects to an already-running runtime at the configured URL.
Ordered accounting identity assigned under the source session's emission lock.
Internal prompt-cache expiration state for one model
Accumulated session usage metrics, including premium request cost, token counts, model breakdown, and code-change totals.
Usage attributed to one agent instance, including its identity, API duration, AI units, and per-model breakdown.
Usage attributed to one agent instance, including its identity, API duration, AI units, and per-model breakdown.
Aggregated code change metrics
Aggregated code change metrics
Per-model usage metrics, including request counts/costs, token usage, nano-AI units, and per-token-type details.
Per-model usage metrics, including request counts/costs, token usage, nano-AI units, and per-token-type details.
Request count and cost metrics for this model
Request count and cost metrics for this model
Per-model token-detail entry containing the accumulated token count for one token type.
Per-model token-detail entry containing the accumulated token count for one token type.
Token usage metrics for this model
Token usage metrics for this model
Usage for one recorded provider and model, without merging identical model IDs across providers.
Usage for one recorded provider and model, without merging identical model IDs across providers.
Session-wide token-detail entry containing the accumulated token count for one token type.
Session-wide token-detail entry containing the accumulated token count for one token type.
Authentication-info variant for OAuth user auth, with host and login; the token remains in the runtime secret store.
Session event "user_input.completed".
Data payload for UserInputCompletedEvent.
Handler for user input requests from the agent.
Context for a user input request invocation.
Request for user input from the agent.
Session event "user_input.requested".
Data payload for UserInputRequestedEvent.
Response to a user input request.
The agent mode that was active when this message was sent
How this user message was delivered to the agentic loop, relative to whether the loop was already running.
Session event "user.message".
Data payload for UserMessageEvent.
Handler for user-prompt-submitted hooks.
Input for a user-prompt-submitted hook.
Output for a user-prompt-submitted hook.
Handler for user-prompt-transformed hooks.
Input for user-prompt-transformed hooks.
Output for user-prompt-transformed hooks.
A single user setting's effective value alongside its default, so consumers can render settings left at their default.
Per-key metadata for every known user setting in settings.json, including settings left at their default.
Partial user settings to write to settings.json.
Output verbosity level for supported models
Output verbosity level used for supported model calls (e.g.
Parameters for cooperatively aborting a workflow body.
Options for one workflow-scoped subagent call.
Prompt-safe durable identity and live status for a direct workflow agent.
Current workflow phase identity.
Declared or approved workflow resource ceilings.
Parameters sent to the owning extension to execute a workflow closure.
Result returned by an extension workflow closure.
One ordered workflow progress line.
Kind of workflow progress line.
Durable lifecycle and timing for one workflow phase.
Derived lifecycle state of a workflow phase.
One durable workflow progress record.
A bidirectional page of workflow progress.
Resolved persisted workflow identity and resumed run envelope.
Durable workflow resource consumption.
Wire-only per-invocation workflow resource ceiling overrides.
Options controlling workflow invocation.
Complete current or terminal workflow run envelope.
Session event "workflow.run_settled".
Data payload for WorkflowRunSettledEvent.
Terminal status a workflow run committed.
Session event "workflow.run_started".
Data payload for WorkflowRunStartedEvent.
Current or terminal state of a workflow run.
Durable workflow run summary with read-time live overlays.
Prompt-safe terminal workflow outcome.
Session event "workflow.run_updated".
Data payload for WorkflowRunUpdatedEvent.
Working directory and git context at session start
Hosting platform type of the repository (github or ado)
Complete text used to generate one session diff.
A single changed file and its unified diff.
Type of change represented by this file diff.
Diff mode requested by the client.
Whether the file was newly created or updated
Workspace checkpoint metadata with assigned number, human-readable title, and checkpoint filename.
Repository host type, if known
Allowed values for the `WorkspacesWorkspaceDetailsHostType` enumeration.