@github/copilot-sdk 1.0.5-preview.0 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,14 +3,29 @@
3
3
  * Generated from: api.schema.json
4
4
  */
5
5
  import type { MessageConnection } from "vscode-jsonrpc/node.js";
6
- import type { AbortReason, Attachment, ContextTier, EmbeddedBlobResourceContents, EmbeddedTextResourceContents, McpServerSource, McpServerStatus, PermissionPromptRequest, PermissionRule, ReasoningSummary, ResponseBudgetConfig, SessionEvent, SessionMode, ShutdownType, SkillSource, UserToolSessionApproval } from "./session-events.js";
6
+ import type { AbortReason, Attachment, ContextTier, EmbeddedBlobResourceContents, EmbeddedTextResourceContents, McpServerSource, McpServerStatus, PermissionPromptRequest, PermissionRule, ReasoningSummary, SessionEvent, SessionLimitsConfig, SessionMode, ShutdownType, SkillSource, UserToolSessionApproval } from "./session-events.js";
7
7
  /**
8
8
  * Initial authentication info for the session.
9
9
  *
10
10
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11
11
  * via the `definition` "AuthInfo".
12
12
  */
13
+ /** @experimental */
13
14
  export type AuthInfo = HMACAuthInfo | EnvAuthInfo | TokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
15
+ /**
16
+ * Resolved Anthropic adaptive-thinking capability for a model.
17
+ *
18
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
19
+ * via the `definition` "AdaptiveThinkingSupport".
20
+ */
21
+ /** @experimental */
22
+ export type AdaptiveThinkingSupport =
23
+ /** The model does not accept thinking.type='adaptive' */
24
+ "unsupported"
25
+ /** The model accepts adaptive thinking but also accepts thinking.type='enabled' */
26
+ | "optional"
27
+ /** The model only accepts adaptive thinking and rejects thinking.type='enabled' with HTTP 400 (e.g. opus-4.7/4.8) */
28
+ | "required";
14
29
  /**
15
30
  * Which tier this directory belongs to
16
31
  *
@@ -243,6 +258,7 @@ export type ConnectedRemoteSessionMetadataKind =
243
258
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
244
259
  * via the `definition` "ContentFilterMode".
245
260
  */
261
+ /** @experimental */
246
262
  export type ContentFilterMode =
247
263
  /** Leave MCP tool result content unchanged. */
248
264
  "none"
@@ -256,6 +272,7 @@ export type ContentFilterMode =
256
272
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
257
273
  * via the `definition` "DiscoveredMcpServerType".
258
274
  */
275
+ /** @experimental */
259
276
  export type DiscoveredMcpServerType =
260
277
  /** Server communicates over stdio with a local child process. */
261
278
  "stdio"
@@ -356,7 +373,7 @@ export type ExternalToolTextResultForLlmBinaryResultsForLlmType =
356
373
  * via the `definition` "ExternalToolTextResultForLlmContent".
357
374
  */
358
375
  /** @experimental */
359
- export type ExternalToolTextResultForLlmContent = ExternalToolTextResultForLlmContentText | ExternalToolTextResultForLlmContentTerminal | ExternalToolTextResultForLlmContentImage | ExternalToolTextResultForLlmContentAudio | ExternalToolTextResultForLlmContentResourceLink | ExternalToolTextResultForLlmContentResource;
376
+ export type ExternalToolTextResultForLlmContent = ExternalToolTextResultForLlmContentText | ExternalToolTextResultForLlmContentTerminal | ExternalToolTextResultForLlmContentShellExit | ExternalToolTextResultForLlmContentImage | ExternalToolTextResultForLlmContentAudio | ExternalToolTextResultForLlmContentResourceLink | ExternalToolTextResultForLlmContentResource;
360
377
  /**
361
378
  * Theme variant this icon is intended for
362
379
  *
@@ -383,6 +400,7 @@ export type ExternalToolTextResultForLlmContentResourceDetails = EmbeddedTextRes
383
400
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
384
401
  * via the `definition` "FilterMapping".
385
402
  */
403
+ /** @experimental */
386
404
  export type FilterMapping = {
387
405
  [k: string]: ContentFilterMode;
388
406
  } | ContentFilterMode;
@@ -612,6 +630,7 @@ export type McpAppsSetHostContextDetailsPlatform =
612
630
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
613
631
  * via the `definition` "McpServerConfig".
614
632
  */
633
+ /** @experimental */
615
634
  export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
616
635
  /**
617
636
  * Set to `true` to use defaults, or provide an object with additional auth or OIDC settings.
@@ -619,6 +638,7 @@ export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
619
638
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
620
639
  * via the `definition` "McpServerAuthConfig".
621
640
  */
641
+ /** @experimental */
622
642
  export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
623
643
  /**
624
644
  * Controls if tools provided by this server can be loaded on demand via tool search (auto) or always included in the initial tool list (never)
@@ -626,6 +646,7 @@ export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
626
646
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
627
647
  * via the `definition` "McpServerConfigDeferTools".
628
648
  */
649
+ /** @experimental */
629
650
  export type McpServerConfigDeferTools =
630
651
  /** Tools may be deferred under certain conditions */
631
652
  "auto"
@@ -637,6 +658,7 @@ export type McpServerConfigDeferTools =
637
658
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
638
659
  * via the `definition` "McpServerConfigHttpType".
639
660
  */
661
+ /** @experimental */
640
662
  export type McpServerConfigHttpType =
641
663
  /** Streamable HTTP transport. */
642
664
  "http"
@@ -648,6 +670,7 @@ export type McpServerConfigHttpType =
648
670
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
649
671
  * via the `definition` "McpServerConfigHttpOauthGrantType".
650
672
  */
673
+ /** @experimental */
651
674
  export type McpServerConfigHttpOauthGrantType =
652
675
  /** Interactive browser-based authorization code flow with PKCE. */
653
676
  "authorization_code"
@@ -826,6 +849,7 @@ export type MetadataSnapshotRemoteMetadataTaskType =
826
849
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
827
850
  * via the `definition` "ModelPolicyState".
828
851
  */
852
+ /** @experimental */
829
853
  export type ModelPolicyState =
830
854
  /** The model is enabled by policy. */
831
855
  "enabled"
@@ -839,6 +863,7 @@ export type ModelPolicyState =
839
863
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
840
864
  * via the `definition` "ModelPickerCategory".
841
865
  */
866
+ /** @experimental */
842
867
  export type ModelPickerCategory =
843
868
  /** Lightweight model category optimized for faster, lower-cost interactions. */
844
869
  "lightweight"
@@ -852,6 +877,7 @@ export type ModelPickerCategory =
852
877
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
853
878
  * via the `definition` "ModelPickerPriceCategory".
854
879
  */
880
+ /** @experimental */
855
881
  export type ModelPickerPriceCategory =
856
882
  /** Lowest relative token cost tier. */
857
883
  "low"
@@ -1255,6 +1281,7 @@ export type SessionFsReaddirWithTypesEntryType =
1255
1281
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1256
1282
  * via the `definition` "SessionFsSetProviderConventions".
1257
1283
  */
1284
+ /** @experimental */
1258
1285
  export type SessionFsSetProviderConventions =
1259
1286
  /** Paths use Windows path conventions. */
1260
1287
  "windows"
@@ -1470,6 +1497,18 @@ export type SessionSource =
1470
1497
  | "remote"
1471
1498
  /** Return both local and remote sessions. */
1472
1499
  | "all";
1500
+ /**
1501
+ * Sharing status for a synced session. "repo" makes the session visible to anyone with read access to the repository; "unshared" restricts it to the creator and collaborators.
1502
+ *
1503
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1504
+ * via the `definition` "SessionVisibilityStatus".
1505
+ */
1506
+ /** @experimental */
1507
+ export type SessionVisibilityStatus =
1508
+ /** The session is visible to repository readers. */
1509
+ "repo"
1510
+ /** The session is restricted to its creator and collaborators. */
1511
+ | "unshared";
1473
1512
  /**
1474
1513
  * Signal to send (default: SIGTERM)
1475
1514
  *
@@ -1695,6 +1734,22 @@ export type UIExitPlanModeAction =
1695
1734
  | "autopilot"
1696
1735
  /** Exit plan mode and continue in autopilot mode with parallel subagent execution. */
1697
1736
  | "autopilot_fleet";
1737
+ /**
1738
+ * User action selected for an exhausted session limit.
1739
+ *
1740
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1741
+ * via the `definition` "UISessionLimitsExhaustedResponseAction".
1742
+ */
1743
+ /** @experimental */
1744
+ export type UISessionLimitsExhaustedResponseAction =
1745
+ /** Increase the current max by an exact AI Credits amount. */
1746
+ "add"
1747
+ /** Set a new absolute max AI Credits value. */
1748
+ | "set"
1749
+ /** Remove the current session limit. */
1750
+ | "unset"
1751
+ /** Leave the limit unchanged and cancel the blocked model request. */
1752
+ | "cancel";
1698
1753
  /**
1699
1754
  * Type of change represented by this file diff.
1700
1755
  *
@@ -1743,6 +1798,7 @@ export type WorkspacesWorkspaceDetailsHostType =
1743
1798
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1744
1799
  * via the `definition` "AccountGetAllUsersResult".
1745
1800
  */
1801
+ /** @experimental */
1746
1802
  export type AccountGetAllUsersResult = AccountAllUsers[];
1747
1803
  /**
1748
1804
  * Parameters for aborting the current turn
@@ -1777,6 +1833,7 @@ export interface AbortResult {
1777
1833
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1778
1834
  * via the `definition` "AccountAllUsers".
1779
1835
  */
1836
+ /** @experimental */
1780
1837
  export interface AccountAllUsers {
1781
1838
  authInfo: AuthInfo;
1782
1839
  /**
@@ -1790,6 +1847,7 @@ export interface AccountAllUsers {
1790
1847
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1791
1848
  * via the `definition` "HMACAuthInfo".
1792
1849
  */
1850
+ /** @experimental */
1793
1851
  export interface HMACAuthInfo {
1794
1852
  /**
1795
1853
  * HMAC-based authentication used by GitHub-internal services.
@@ -1811,6 +1869,7 @@ export interface HMACAuthInfo {
1811
1869
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1812
1870
  * via the `definition` "CopilotUserResponse".
1813
1871
  */
1872
+ /** @experimental */
1814
1873
  export interface CopilotUserResponse {
1815
1874
  login?: string;
1816
1875
  access_type_sku?: string;
@@ -1842,6 +1901,7 @@ export interface CopilotUserResponse {
1842
1901
  quota_snapshots?: CopilotUserResponseQuotaSnapshots;
1843
1902
  restricted_telemetry?: boolean;
1844
1903
  is_staff?: boolean;
1904
+ te?: boolean;
1845
1905
  token_based_billing?: boolean;
1846
1906
  can_upgrade_plan?: boolean;
1847
1907
  quota_reset_date_utc?: string;
@@ -1861,6 +1921,7 @@ export interface CopilotUserResponse {
1861
1921
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1862
1922
  * via the `definition` "CopilotUserResponseEndpoints".
1863
1923
  */
1924
+ /** @experimental */
1864
1925
  export interface CopilotUserResponseEndpoints {
1865
1926
  api?: string;
1866
1927
  "origin-tracker"?: string;
@@ -1873,6 +1934,7 @@ export interface CopilotUserResponseEndpoints {
1873
1934
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1874
1935
  * via the `definition` "CopilotUserResponseQuotaSnapshots".
1875
1936
  */
1937
+ /** @experimental */
1876
1938
  export interface CopilotUserResponseQuotaSnapshots {
1877
1939
  chat?: CopilotUserResponseQuotaSnapshotsChat;
1878
1940
  completions?: CopilotUserResponseQuotaSnapshotsCompletions;
@@ -1898,6 +1960,7 @@ export interface CopilotUserResponseQuotaSnapshots {
1898
1960
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1899
1961
  * via the `definition` "CopilotUserResponseQuotaSnapshotsChat".
1900
1962
  */
1963
+ /** @experimental */
1901
1964
  export interface CopilotUserResponseQuotaSnapshotsChat {
1902
1965
  entitlement?: number;
1903
1966
  overage_count?: number;
@@ -1918,6 +1981,7 @@ export interface CopilotUserResponseQuotaSnapshotsChat {
1918
1981
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1919
1982
  * via the `definition` "CopilotUserResponseQuotaSnapshotsCompletions".
1920
1983
  */
1984
+ /** @experimental */
1921
1985
  export interface CopilotUserResponseQuotaSnapshotsCompletions {
1922
1986
  entitlement?: number;
1923
1987
  overage_count?: number;
@@ -1938,6 +2002,7 @@ export interface CopilotUserResponseQuotaSnapshotsCompletions {
1938
2002
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1939
2003
  * via the `definition` "CopilotUserResponseQuotaSnapshotsPremiumInteractions".
1940
2004
  */
2005
+ /** @experimental */
1941
2006
  export interface CopilotUserResponseQuotaSnapshotsPremiumInteractions {
1942
2007
  entitlement?: number;
1943
2008
  overage_count?: number;
@@ -1958,6 +2023,7 @@ export interface CopilotUserResponseQuotaSnapshotsPremiumInteractions {
1958
2023
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1959
2024
  * via the `definition` "EnvAuthInfo".
1960
2025
  */
2026
+ /** @experimental */
1961
2027
  export interface EnvAuthInfo {
1962
2028
  /**
1963
2029
  * Personal access token (PAT) or server-to-server token sourced from an environment variable.
@@ -1987,6 +2053,7 @@ export interface EnvAuthInfo {
1987
2053
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1988
2054
  * via the `definition` "TokenAuthInfo".
1989
2055
  */
2056
+ /** @experimental */
1990
2057
  export interface TokenAuthInfo {
1991
2058
  /**
1992
2059
  * SDK-side token authentication; the host configured the token directly via the SDK.
@@ -2008,6 +2075,7 @@ export interface TokenAuthInfo {
2008
2075
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2009
2076
  * via the `definition` "CopilotApiTokenAuthInfo".
2010
2077
  */
2078
+ /** @experimental */
2011
2079
  export interface CopilotApiTokenAuthInfo {
2012
2080
  /**
2013
2081
  * Direct Copilot API authentication via the `GITHUB_COPILOT_API_TOKEN` + `COPILOT_API_URL` environment-variable pair. The token itself is read from the environment by the runtime, not carried in this struct.
@@ -2025,6 +2093,7 @@ export interface CopilotApiTokenAuthInfo {
2025
2093
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2026
2094
  * via the `definition` "UserAuthInfo".
2027
2095
  */
2096
+ /** @experimental */
2028
2097
  export interface UserAuthInfo {
2029
2098
  /**
2030
2099
  * OAuth user authentication. The token itself is held in the runtime's secret token store (keyed by host+login) and is NOT carried in this struct.
@@ -2046,6 +2115,7 @@ export interface UserAuthInfo {
2046
2115
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2047
2116
  * via the `definition` "GhCliAuthInfo".
2048
2117
  */
2118
+ /** @experimental */
2049
2119
  export interface GhCliAuthInfo {
2050
2120
  /**
2051
2121
  * Authentication via the `gh` CLI's saved credentials.
@@ -2071,6 +2141,7 @@ export interface GhCliAuthInfo {
2071
2141
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2072
2142
  * via the `definition` "ApiKeyAuthInfo".
2073
2143
  */
2144
+ /** @experimental */
2074
2145
  export interface ApiKeyAuthInfo {
2075
2146
  /**
2076
2147
  * API-key authentication for non-GitHub LLM providers (e.g. when running BYOM-style).
@@ -2092,6 +2163,7 @@ export interface ApiKeyAuthInfo {
2092
2163
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2093
2164
  * via the `definition` "AccountGetCurrentAuthResult".
2094
2165
  */
2166
+ /** @experimental */
2095
2167
  export interface AccountGetCurrentAuthResult {
2096
2168
  authInfo?: AuthInfo;
2097
2169
  /**
@@ -2099,6 +2171,7 @@ export interface AccountGetCurrentAuthResult {
2099
2171
  */
2100
2172
  authErrors?: string[];
2101
2173
  }
2174
+ /** @experimental */
2102
2175
  export interface AccountGetQuotaRequest {
2103
2176
  /**
2104
2177
  * GitHub token for per-user quota lookup. When provided, resolves this token to determine the user's quota instead of using the global auth.
@@ -2111,6 +2184,7 @@ export interface AccountGetQuotaRequest {
2111
2184
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2112
2185
  * via the `definition` "AccountGetQuotaResult".
2113
2186
  */
2187
+ /** @experimental */
2114
2188
  export interface AccountGetQuotaResult {
2115
2189
  /**
2116
2190
  * Quota snapshots keyed by type (e.g., chat, completions, premium_interactions)
@@ -2125,6 +2199,7 @@ export interface AccountGetQuotaResult {
2125
2199
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2126
2200
  * via the `definition` "AccountQuotaSnapshot".
2127
2201
  */
2202
+ /** @experimental */
2128
2203
  export interface AccountQuotaSnapshot {
2129
2204
  /**
2130
2205
  * Whether the user has an unlimited usage entitlement
@@ -2165,6 +2240,7 @@ export interface AccountQuotaSnapshot {
2165
2240
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2166
2241
  * via the `definition` "AccountLoginRequest".
2167
2242
  */
2243
+ /** @experimental */
2168
2244
  export interface AccountLoginRequest {
2169
2245
  /**
2170
2246
  * GitHub host URL
@@ -2185,6 +2261,7 @@ export interface AccountLoginRequest {
2185
2261
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2186
2262
  * via the `definition` "AccountLoginResult".
2187
2263
  */
2264
+ /** @experimental */
2188
2265
  export interface AccountLoginResult {
2189
2266
  /**
2190
2267
  * Whether the credential was persisted to a secure store (system keychain, or the config file when plaintext storage is enabled). False when no secure store was available and the token was not saved, so the consumer can decide how to proceed.
@@ -2197,6 +2274,7 @@ export interface AccountLoginResult {
2197
2274
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2198
2275
  * via the `definition` "AccountLogoutRequest".
2199
2276
  */
2277
+ /** @experimental */
2200
2278
  export interface AccountLogoutRequest {
2201
2279
  authInfo: AuthInfo;
2202
2280
  }
@@ -2206,6 +2284,7 @@ export interface AccountLogoutRequest {
2206
2284
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2207
2285
  * via the `definition` "AccountLogoutResult".
2208
2286
  */
2287
+ /** @experimental */
2209
2288
  export interface AccountLogoutResult {
2210
2289
  /**
2211
2290
  * Whether other authenticated users remain after logout
@@ -3204,6 +3283,78 @@ export interface CommandsRespondToQueuedCommandResult {
3204
3283
  */
3205
3284
  success: boolean;
3206
3285
  }
3286
+ /**
3287
+ * Characters that, when typed in the composer, should trigger a `completions.request`. Empty when the session has no host-driven completions (e.g. local sessions, or a relay host that does not advertise `completionTriggerCharacters`).
3288
+ *
3289
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3290
+ * via the `definition` "CompletionsGetTriggerCharactersResult".
3291
+ */
3292
+ /** @experimental */
3293
+ export interface CompletionsGetTriggerCharactersResult {
3294
+ /**
3295
+ * Trigger characters advertised by the host (e.g. `["@", "#"]`). Empty disables host-driven completions for the session.
3296
+ */
3297
+ triggerCharacters: string[];
3298
+ }
3299
+ /**
3300
+ * Request host-driven completions for the current composer input.
3301
+ *
3302
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3303
+ * via the `definition` "CompletionsRequestRequest".
3304
+ */
3305
+ /** @experimental */
3306
+ export interface CompletionsRequestRequest {
3307
+ /**
3308
+ * The full composed composer input.
3309
+ */
3310
+ text: string;
3311
+ /**
3312
+ * Cursor offset within `text`, in UTF-16 code units.
3313
+ */
3314
+ offset: number;
3315
+ }
3316
+ /**
3317
+ * Host-driven completion items for the current composer input. Empty when the host returns no items or does not support completions.
3318
+ *
3319
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3320
+ * via the `definition` "CompletionsRequestResult".
3321
+ */
3322
+ /** @experimental */
3323
+ export interface CompletionsRequestResult {
3324
+ /**
3325
+ * Completion items in host-ranked order.
3326
+ */
3327
+ items: SessionCompletionItem[];
3328
+ }
3329
+ /**
3330
+ * A single host-driven completion. Accepting an item replaces `[rangeStart, rangeEnd)` (UTF-16 code units) in the composer with `insertText`; when the range is absent, the active token around the cursor is replaced.
3331
+ *
3332
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3333
+ * via the `definition` "SessionCompletionItem".
3334
+ */
3335
+ /** @experimental */
3336
+ export interface SessionCompletionItem {
3337
+ /**
3338
+ * Text spliced into the composer when the item is accepted.
3339
+ */
3340
+ insertText: string;
3341
+ /**
3342
+ * Start of the replacement range in `text`, in UTF-16 code units.
3343
+ */
3344
+ rangeStart?: number;
3345
+ /**
3346
+ * End (exclusive) of the replacement range in `text`, in UTF-16 code units.
3347
+ */
3348
+ rangeEnd?: number;
3349
+ /**
3350
+ * Primary display label for the picker row. Falls back to `insertText` when absent.
3351
+ */
3352
+ label?: string;
3353
+ /**
3354
+ * Render-kind hint for the picker row (e.g. `"document"`, `"directory"`), derived from the host's display kind.
3355
+ */
3356
+ kind?: string;
3357
+ }
3207
3358
  /**
3208
3359
  * Metadata for a connected remote session.
3209
3360
  *
@@ -3348,6 +3499,7 @@ export interface CurrentToolMetadata {
3348
3499
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3349
3500
  * via the `definition` "DiscoveredMcpServer".
3350
3501
  */
3502
+ /** @experimental */
3351
3503
  export interface DiscoveredMcpServer {
3352
3504
  /**
3353
3505
  * Server name (config key)
@@ -3689,6 +3841,39 @@ export interface ExternalToolTextResultForLlmContentTerminal {
3689
3841
  */
3690
3842
  cwd?: string;
3691
3843
  }
3844
+ /**
3845
+ * Shell command exit metadata with optional output preview
3846
+ *
3847
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3848
+ * via the `definition` "ExternalToolTextResultForLlmContentShellExit".
3849
+ */
3850
+ /** @experimental */
3851
+ export interface ExternalToolTextResultForLlmContentShellExit {
3852
+ /**
3853
+ * Content block type discriminator
3854
+ */
3855
+ type: "shell_exit";
3856
+ /**
3857
+ * Shell id, as assigned by Copilot runtime
3858
+ */
3859
+ shellId: string;
3860
+ /**
3861
+ * Exit code from the completed shell command
3862
+ */
3863
+ exitCode: number;
3864
+ /**
3865
+ * Working directory where the shell command was executed
3866
+ */
3867
+ cwd?: string;
3868
+ /**
3869
+ * Output associated with this shell command, if available. May be partial, truncated, or a preview; not guaranteed to be full output.
3870
+ */
3871
+ outputPreview?: string;
3872
+ /**
3873
+ * Whether outputPreview is known to be incomplete or truncated
3874
+ */
3875
+ outputTruncated?: boolean;
3876
+ }
3692
3877
  /**
3693
3878
  * Image content block with base64-encoded data
3694
3879
  *
@@ -3873,6 +4058,125 @@ export interface FolderTrustCheckResult {
3873
4058
  */
3874
4059
  trusted: boolean;
3875
4060
  }
4061
+ /**
4062
+ * Client environment metadata describing the process that produced a telemetry event.
4063
+ *
4064
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4065
+ * via the `definition` "GitHubTelemetryClientInfo".
4066
+ */
4067
+ /** @experimental */
4068
+ export interface GitHubTelemetryClientInfo {
4069
+ /**
4070
+ * Copilot CLI version string.
4071
+ */
4072
+ cli_version: string;
4073
+ /**
4074
+ * Operating system platform (e.g. darwin, linux, win32).
4075
+ */
4076
+ os_platform: string;
4077
+ /**
4078
+ * Operating system version string.
4079
+ */
4080
+ os_version: string;
4081
+ /**
4082
+ * Operating system architecture (e.g. arm64, x64).
4083
+ */
4084
+ os_arch: string;
4085
+ /**
4086
+ * Node.js runtime version string.
4087
+ */
4088
+ node_version: string;
4089
+ /**
4090
+ * Copilot subscription plan, when known.
4091
+ */
4092
+ copilot_plan?: string;
4093
+ /**
4094
+ * Type of client.
4095
+ */
4096
+ client_type?: string;
4097
+ /**
4098
+ * Name of the client application.
4099
+ */
4100
+ client_name?: string;
4101
+ /**
4102
+ * Whether the user is a GitHub/Microsoft staff member.
4103
+ */
4104
+ is_staff?: boolean;
4105
+ /**
4106
+ * Stable machine identifier for the device.
4107
+ */
4108
+ dev_device_id?: string;
4109
+ }
4110
+ /**
4111
+ * A single telemetry event in the runtime's native GitHub-shaped telemetry format, forwarded verbatim to opted-in hosts. The `restricted` flag on the enclosing GitHubTelemetryNotification distinguishes standard from restricted events; the payload shape is identical for both.
4112
+ *
4113
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4114
+ * via the `definition` "GitHubTelemetryEvent".
4115
+ */
4116
+ /** @experimental */
4117
+ export interface GitHubTelemetryEvent {
4118
+ /**
4119
+ * Event type/kind (e.g. get_completion_with_tools_turn, tool_call_executed).
4120
+ */
4121
+ kind: string;
4122
+ /**
4123
+ * Timestamp when the event was created (ISO 8601 format).
4124
+ */
4125
+ created_at?: string;
4126
+ /**
4127
+ * Reference to the model call that produced this event.
4128
+ */
4129
+ model_call_id?: string;
4130
+ /**
4131
+ * String-valued properties as a map from key to value.
4132
+ */
4133
+ properties: {
4134
+ [k: string]: string | undefined;
4135
+ };
4136
+ /**
4137
+ * Numeric metrics as a map from key to value.
4138
+ */
4139
+ metrics: {
4140
+ [k: string]: number | undefined;
4141
+ };
4142
+ /**
4143
+ * Experiment assignment context.
4144
+ */
4145
+ exp_assignment_context?: string;
4146
+ /**
4147
+ * Feature flags enabled for this session, as a map from flag to value.
4148
+ */
4149
+ features?: {
4150
+ [k: string]: string | undefined;
4151
+ };
4152
+ /**
4153
+ * Session identifier the event belongs to.
4154
+ */
4155
+ session_id?: string;
4156
+ /**
4157
+ * Copilot tracking ID for user-level attribution.
4158
+ */
4159
+ copilot_tracking_id?: string;
4160
+ client?: GitHubTelemetryClientInfo;
4161
+ }
4162
+ /**
4163
+ * Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding for the session.
4164
+ *
4165
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4166
+ * via the `definition` "GitHubTelemetryNotification".
4167
+ */
4168
+ /** @experimental */
4169
+ export interface GitHubTelemetryNotification {
4170
+ /**
4171
+ * Session the telemetry event belongs to.
4172
+ */
4173
+ sessionId: string;
4174
+ /**
4175
+ * Whether this is a restricted telemetry event (cli.restricted_telemetry). Hosts must route restricted events to first-party Microsoft stores only.
4176
+ */
4177
+ restricted: boolean;
4178
+ event: GitHubTelemetryEvent;
4179
+ }
3876
4180
  /**
3877
4181
  * Pending external tool call request ID, with the tool result or an error describing why it failed.
3878
4182
  *
@@ -5049,6 +5353,7 @@ export interface McpCancelSamplingExecutionResult {
5049
5353
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5050
5354
  * via the `definition` "McpConfigAddRequest".
5051
5355
  */
5356
+ /** @experimental */
5052
5357
  export interface McpConfigAddRequest {
5053
5358
  /**
5054
5359
  * Unique name for the MCP server
@@ -5062,6 +5367,7 @@ export interface McpConfigAddRequest {
5062
5367
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5063
5368
  * via the `definition` "McpServerConfigStdio".
5064
5369
  */
5370
+ /** @experimental */
5065
5371
  export interface McpServerConfigStdio {
5066
5372
  /**
5067
5373
  * Tools to include. Defaults to all tools if not specified.
@@ -5104,6 +5410,7 @@ export interface McpServerConfigStdio {
5104
5410
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5105
5411
  * via the `definition` "McpServerAuthConfigRedirectPort".
5106
5412
  */
5413
+ /** @experimental */
5107
5414
  export interface McpServerAuthConfigRedirectPort {
5108
5415
  /**
5109
5416
  * Fixed port for the OAuth redirect callback server.
@@ -5116,6 +5423,7 @@ export interface McpServerAuthConfigRedirectPort {
5116
5423
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5117
5424
  * via the `definition` "McpServerConfigHttp".
5118
5425
  */
5426
+ /** @experimental */
5119
5427
  export interface McpServerConfigHttp {
5120
5428
  /**
5121
5429
  * Tools to include. Defaults to all tools if not specified.
@@ -5160,6 +5468,7 @@ export interface McpServerConfigHttp {
5160
5468
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5161
5469
  * via the `definition` "McpConfigDisableRequest".
5162
5470
  */
5471
+ /** @experimental */
5163
5472
  export interface McpConfigDisableRequest {
5164
5473
  /**
5165
5474
  * Names of MCP servers to disable. Each server is added to the persisted disabled list so new sessions skip it. Already-disabled names are ignored. Active sessions keep their current connections until they end.
@@ -5172,6 +5481,7 @@ export interface McpConfigDisableRequest {
5172
5481
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5173
5482
  * via the `definition` "McpConfigEnableRequest".
5174
5483
  */
5484
+ /** @experimental */
5175
5485
  export interface McpConfigEnableRequest {
5176
5486
  /**
5177
5487
  * Names of MCP servers to enable. Each server is removed from the persisted disabled list so new sessions spawn it. Unknown or already-enabled names are ignored.
@@ -5184,6 +5494,7 @@ export interface McpConfigEnableRequest {
5184
5494
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5185
5495
  * via the `definition` "McpConfigList".
5186
5496
  */
5497
+ /** @experimental */
5187
5498
  export interface McpConfigList {
5188
5499
  /**
5189
5500
  * All MCP servers from user config, keyed by name
@@ -5198,6 +5509,7 @@ export interface McpConfigList {
5198
5509
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5199
5510
  * via the `definition` "McpConfigRemoveRequest".
5200
5511
  */
5512
+ /** @experimental */
5201
5513
  export interface McpConfigRemoveRequest {
5202
5514
  /**
5203
5515
  * Name of the MCP server to remove
@@ -5210,6 +5522,7 @@ export interface McpConfigRemoveRequest {
5210
5522
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5211
5523
  * via the `definition` "McpConfigUpdateRequest".
5212
5524
  */
5525
+ /** @experimental */
5213
5526
  export interface McpConfigUpdateRequest {
5214
5527
  /**
5215
5528
  * Name of the MCP server to update
@@ -5249,6 +5562,7 @@ export interface McpDisableRequest {
5249
5562
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5250
5563
  * via the `definition` "McpDiscoverRequest".
5251
5564
  */
5565
+ /** @experimental */
5252
5566
  export interface McpDiscoverRequest {
5253
5567
  /**
5254
5568
  * Working directory used as context for discovery (e.g., plugin resolution)
@@ -5261,6 +5575,7 @@ export interface McpDiscoverRequest {
5261
5575
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5262
5576
  * via the `definition` "McpDiscoverResult".
5263
5577
  */
5578
+ /** @experimental */
5264
5579
  export interface McpDiscoverResult {
5265
5580
  /**
5266
5581
  * MCP servers discovered from all sources
@@ -5945,6 +6260,7 @@ export interface MetadataSnapshotRemoteMetadataRepository {
5945
6260
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5946
6261
  * via the `definition` "Model".
5947
6262
  */
6263
+ /** @experimental */
5948
6264
  export interface Model {
5949
6265
  /**
5950
6266
  * Model identifier (e.g., "claude-sonnet-4.5")
@@ -5974,6 +6290,7 @@ export interface Model {
5974
6290
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5975
6291
  * via the `definition` "ModelCapabilities".
5976
6292
  */
6293
+ /** @experimental */
5977
6294
  export interface ModelCapabilities {
5978
6295
  supports?: ModelCapabilitiesSupports;
5979
6296
  limits?: ModelCapabilitiesLimits;
@@ -5984,6 +6301,7 @@ export interface ModelCapabilities {
5984
6301
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5985
6302
  * via the `definition` "ModelCapabilitiesSupports".
5986
6303
  */
6304
+ /** @experimental */
5987
6305
  export interface ModelCapabilitiesSupports {
5988
6306
  /**
5989
6307
  * Whether this model supports vision/image input
@@ -5993,6 +6311,7 @@ export interface ModelCapabilitiesSupports {
5993
6311
  * Whether this model supports reasoning effort configuration
5994
6312
  */
5995
6313
  reasoningEffort?: boolean;
6314
+ adaptive_thinking?: AdaptiveThinkingSupport;
5996
6315
  }
5997
6316
  /**
5998
6317
  * Token limits for prompts, outputs, and context window
@@ -6000,6 +6319,7 @@ export interface ModelCapabilitiesSupports {
6000
6319
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6001
6320
  * via the `definition` "ModelCapabilitiesLimits".
6002
6321
  */
6322
+ /** @experimental */
6003
6323
  export interface ModelCapabilitiesLimits {
6004
6324
  /**
6005
6325
  * Maximum number of prompt/input tokens
@@ -6021,6 +6341,7 @@ export interface ModelCapabilitiesLimits {
6021
6341
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6022
6342
  * via the `definition` "ModelCapabilitiesLimitsVision".
6023
6343
  */
6344
+ /** @experimental */
6024
6345
  export interface ModelCapabilitiesLimitsVision {
6025
6346
  /**
6026
6347
  * MIME types the model accepts
@@ -6041,6 +6362,7 @@ export interface ModelCapabilitiesLimitsVision {
6041
6362
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6042
6363
  * via the `definition` "ModelPolicy".
6043
6364
  */
6365
+ /** @experimental */
6044
6366
  export interface ModelPolicy {
6045
6367
  state: ModelPolicyState;
6046
6368
  /**
@@ -6054,6 +6376,7 @@ export interface ModelPolicy {
6054
6376
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6055
6377
  * via the `definition` "ModelBilling".
6056
6378
  */
6379
+ /** @experimental */
6057
6380
  export interface ModelBilling {
6058
6381
  /**
6059
6382
  * Billing cost multiplier relative to the base rate
@@ -6071,6 +6394,7 @@ export interface ModelBilling {
6071
6394
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6072
6395
  * via the `definition` "ModelBillingTokenPrices".
6073
6396
  */
6397
+ /** @experimental */
6074
6398
  export interface ModelBillingTokenPrices {
6075
6399
  /**
6076
6400
  * AI Credits cost per billing batch of input tokens
@@ -6114,6 +6438,7 @@ export interface ModelBillingTokenPrices {
6114
6438
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6115
6439
  * via the `definition` "ModelBillingTokenPricesLongContext".
6116
6440
  */
6441
+ /** @experimental */
6117
6442
  export interface ModelBillingTokenPricesLongContext {
6118
6443
  /**
6119
6444
  * AI Credits cost per billing batch of input tokens
@@ -6173,6 +6498,7 @@ export interface ModelCapabilitiesOverrideSupports {
6173
6498
  * Whether this model supports reasoning effort configuration
6174
6499
  */
6175
6500
  reasoningEffort?: boolean;
6501
+ adaptive_thinking?: AdaptiveThinkingSupport;
6176
6502
  }
6177
6503
  /**
6178
6504
  * Token limits for prompts, outputs, and context window
@@ -6223,6 +6549,7 @@ export interface ModelCapabilitiesOverrideLimitsVision {
6223
6549
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6224
6550
  * via the `definition` "ModelList".
6225
6551
  */
6552
+ /** @experimental */
6226
6553
  export interface ModelList {
6227
6554
  /**
6228
6555
  * List of available models with full metadata
@@ -6268,6 +6595,7 @@ export interface ModelSetReasoningEffortResult {
6268
6595
  */
6269
6596
  reasoningEffort: string;
6270
6597
  }
6598
+ /** @experimental */
6271
6599
  export interface ModelsListRequest {
6272
6600
  /**
6273
6601
  * GitHub token for per-user model listing. When provided, resolves this token to determine the user's Copilot plan and available models instead of using the global auth.
@@ -7540,6 +7868,7 @@ export interface PermissionsFolderTrustAddTrustedResult {
7540
7868
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7541
7869
  * via the `definition` "PermissionsGetAllowAllRequest".
7542
7870
  */
7871
+ /** @experimental */
7543
7872
  export interface PermissionsGetAllowAllRequest {
7544
7873
  }
7545
7874
  /**
@@ -7622,6 +7951,7 @@ export interface PermissionsPathsAddResult {
7622
7951
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7623
7952
  * via the `definition` "PermissionsPathsListRequest".
7624
7953
  */
7954
+ /** @experimental */
7625
7955
  export interface PermissionsPathsListRequest {
7626
7956
  }
7627
7957
  /**
@@ -7643,6 +7973,7 @@ export interface PermissionsPathsUpdatePrimaryResult {
7643
7973
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7644
7974
  * via the `definition` "PermissionsPendingRequestsRequest".
7645
7975
  */
7976
+ /** @experimental */
7646
7977
  export interface PermissionsPendingRequestsRequest {
7647
7978
  }
7648
7979
  /**
@@ -7651,6 +7982,7 @@ export interface PermissionsPendingRequestsRequest {
7651
7982
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7652
7983
  * via the `definition` "PermissionsResetSessionApprovalsRequest".
7653
7984
  */
7985
+ /** @experimental */
7654
7986
  export interface PermissionsResetSessionApprovalsRequest {
7655
7987
  }
7656
7988
  /**
@@ -7765,6 +8097,7 @@ export interface PermissionUrlsSetUnrestrictedModeParams {
7765
8097
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7766
8098
  * via the `definition` "PingRequest".
7767
8099
  */
8100
+ /** @experimental */
7768
8101
  export interface PingRequest {
7769
8102
  /**
7770
8103
  * Optional message to echo back
@@ -7777,6 +8110,7 @@ export interface PingRequest {
7777
8110
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7778
8111
  * via the `definition` "PingResult".
7779
8112
  */
8113
+ /** @experimental */
7780
8114
  export interface PingResult {
7781
8115
  /**
7782
8116
  * Echoed message (or default greeting)
@@ -8953,7 +9287,7 @@ export interface QueueRemoveMostRecentResult {
8953
9287
  /** @experimental */
8954
9288
  export interface RegisterEventInterestParams {
8955
9289
  /**
8956
- * The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates the full interactive OAuth flow to the consumer; when no interest is registered the runtime installs a browserless fallback that silently reuses cached tokens). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`.
9290
+ * The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates the full interactive OAuth flow to the consumer; when no interest is registered the runtime installs a browserless fallback that silently reuses cached tokens). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `session_limits_exhausted.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`.
8957
9291
  */
8958
9292
  eventType: string;
8959
9293
  }
@@ -9522,6 +9856,7 @@ export interface ScheduleStopResult {
9522
9856
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9523
9857
  * via the `definition` "SecretsAddFilterValuesRequest".
9524
9858
  */
9859
+ /** @experimental */
9525
9860
  export interface SecretsAddFilterValuesRequest {
9526
9861
  /**
9527
9862
  * Raw secret values to register for redaction
@@ -9534,6 +9869,7 @@ export interface SecretsAddFilterValuesRequest {
9534
9869
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9535
9870
  * via the `definition` "SecretsAddFilterValuesResult".
9536
9871
  */
9872
+ /** @experimental */
9537
9873
  export interface SecretsAddFilterValuesResult {
9538
9874
  /**
9539
9875
  * Whether the values were successfully registered
@@ -9655,6 +9991,7 @@ export interface ServerInstructionSourceList {
9655
9991
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9656
9992
  * via the `definition` "ServerSkill".
9657
9993
  */
9994
+ /** @experimental */
9658
9995
  export interface ServerSkill {
9659
9996
  /**
9660
9997
  * Unique identifier for the skill
@@ -9692,6 +10029,7 @@ export interface ServerSkill {
9692
10029
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9693
10030
  * via the `definition` "ServerSkillList".
9694
10031
  */
10032
+ /** @experimental */
9695
10033
  export interface ServerSkillList {
9696
10034
  /**
9697
10035
  * All discovered skills across all sources
@@ -10026,6 +10364,7 @@ export interface SessionFsRmRequest {
10026
10364
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10027
10365
  * via the `definition` "SessionFsSetProviderCapabilities".
10028
10366
  */
10367
+ /** @experimental */
10029
10368
  export interface SessionFsSetProviderCapabilities {
10030
10369
  /**
10031
10370
  * Whether the provider supports SQLite query/exists operations
@@ -10038,6 +10377,7 @@ export interface SessionFsSetProviderCapabilities {
10038
10377
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10039
10378
  * via the `definition` "SessionFsSetProviderRequest".
10040
10379
  */
10380
+ /** @experimental */
10041
10381
  export interface SessionFsSetProviderRequest {
10042
10382
  /**
10043
10383
  * Initial working directory for sessions
@@ -10056,6 +10396,7 @@ export interface SessionFsSetProviderRequest {
10056
10396
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10057
10397
  * via the `definition` "SessionFsSetProviderResult".
10058
10398
  */
10399
+ /** @experimental */
10059
10400
  export interface SessionFsSetProviderResult {
10060
10401
  /**
10061
10402
  * Whether the provider was set successfully
@@ -10388,6 +10729,10 @@ export interface SessionMetadataSnapshot {
10388
10729
  * Currently selected model identifier, if any
10389
10730
  */
10390
10731
  selectedModel?: string;
10732
+ /**
10733
+ * Current session limits, or null when no limits are active
10734
+ */
10735
+ sessionLimits: SessionLimitsConfig | null;
10391
10736
  /**
10392
10737
  * Public-facing workspace metadata for this session, or null if the session has no associated workspace. Excludes runtime-internal fields (GitHub IDs, summary count, internal flags).
10393
10738
  */
@@ -10511,6 +10856,10 @@ export interface SessionOpenOptions {
10511
10856
  * Denylist of tool names.
10512
10857
  */
10513
10858
  excludedTools?: string[];
10859
+ /**
10860
+ * Built-in subagent names to exclude from this session. Excluded built-ins are hidden from agent discovery and cannot be dispatched unless a custom agent with the same name is available.
10861
+ */
10862
+ excludedBuiltinAgents?: string[];
10514
10863
  /**
10515
10864
  * Whether shell-script safety heuristics are enabled.
10516
10865
  */
@@ -10600,7 +10949,7 @@ export interface SessionOpenOptions {
10600
10949
  */
10601
10950
  maxInlineBinaryBytes?: number;
10602
10951
  modelCapabilitiesOverrides?: ModelCapabilitiesOverride;
10603
- responseBudget?: ResponseBudgetConfig;
10952
+ sessionLimits?: SessionLimitsConfig;
10604
10953
  /**
10605
10954
  * Runtime context discriminator for agent filtering.
10606
10955
  */
@@ -11459,6 +11808,10 @@ export interface SessionUpdateOptionsParams {
11459
11808
  * Denylist of tool names for this session.
11460
11809
  */
11461
11810
  excludedTools?: string[];
11811
+ /**
11812
+ * Built-in subagent names to exclude from this session. Excluded built-ins are hidden from agent discovery and cannot be dispatched unless a custom agent with the same name is available.
11813
+ */
11814
+ excludedBuiltinAgents?: string[];
11462
11815
  toolFilterPrecedence?: OptionsUpdateToolFilterPrecedence;
11463
11816
  /**
11464
11817
  * Whether shell-script safety heuristics are enabled.
@@ -11598,9 +11951,9 @@ export interface SessionUpdateOptionsParams {
11598
11951
  enableSkills?: boolean;
11599
11952
  contextTier?: OptionsUpdateContextTier;
11600
11953
  /**
11601
- * Optional response budget limits. Pass null to clear the response budget.
11954
+ * Optional session limits. Pass null to clear the session limits.
11602
11955
  */
11603
- responseBudget?: ResponseBudgetConfig | null;
11956
+ sessionLimits?: SessionLimitsConfig | null;
11604
11957
  }
11605
11958
  /**
11606
11959
  * Indicates whether the session options patch was applied successfully.
@@ -11812,6 +12165,7 @@ export interface SkillList {
11812
12165
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11813
12166
  * via the `definition` "SkillsConfigSetDisabledSkillsRequest".
11814
12167
  */
12168
+ /** @experimental */
11815
12169
  export interface SkillsConfigSetDisabledSkillsRequest {
11816
12170
  /**
11817
12171
  * List of skill names to disable
@@ -11837,6 +12191,7 @@ export interface SkillsDisableRequest {
11837
12191
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11838
12192
  * via the `definition` "SkillsDiscoverRequest".
11839
12193
  */
12194
+ /** @experimental */
11840
12195
  export interface SkillsDiscoverRequest {
11841
12196
  /**
11842
12197
  * Optional list of project directory paths to scan for project-scoped skills
@@ -12526,6 +12881,7 @@ export interface TelemetrySetFeatureOverridesRequest {
12526
12881
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12527
12882
  * via the `definition` "Tool".
12528
12883
  */
12884
+ /** @experimental */
12529
12885
  export interface Tool {
12530
12886
  /**
12531
12887
  * Tool identifier (e.g., "bash", "grep", "str_replace_editor")
@@ -12556,6 +12912,7 @@ export interface Tool {
12556
12912
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12557
12913
  * via the `definition` "ToolList".
12558
12914
  */
12915
+ /** @experimental */
12559
12916
  export interface ToolList {
12560
12917
  /**
12561
12918
  * List of available built-in tools with metadata
@@ -12590,6 +12947,7 @@ export interface ToolsInitializeAndValidateResult {
12590
12947
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12591
12948
  * via the `definition` "ToolsListRequest".
12592
12949
  */
12950
+ /** @experimental */
12593
12951
  export interface ToolsListRequest {
12594
12952
  /**
12595
12953
  * Optional model ID — when provided, the returned tool list reflects model-specific overrides
@@ -13086,6 +13444,38 @@ export interface UIHandlePendingSamplingRequest {
13086
13444
  export interface UIHandlePendingSamplingResponse {
13087
13445
  [k: string]: unknown | undefined;
13088
13446
  }
13447
+ /**
13448
+ * Request ID of a pending `session_limits_exhausted.requested` event and the user's selected limit action.
13449
+ *
13450
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13451
+ * via the `definition` "UIHandlePendingSessionLimitsExhaustedRequest".
13452
+ */
13453
+ /** @experimental */
13454
+ export interface UIHandlePendingSessionLimitsExhaustedRequest {
13455
+ /**
13456
+ * The unique request ID from the session_limits_exhausted.requested event
13457
+ */
13458
+ requestId: string;
13459
+ response: UISessionLimitsExhaustedResponse;
13460
+ }
13461
+ /**
13462
+ * The user's selected action for an exhausted session limit.
13463
+ *
13464
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13465
+ * via the `definition` "UISessionLimitsExhaustedResponse".
13466
+ */
13467
+ /** @experimental */
13468
+ export interface UISessionLimitsExhaustedResponse {
13469
+ action: UISessionLimitsExhaustedResponseAction;
13470
+ /**
13471
+ * AI Credits to add to the current max when action is 'add'.
13472
+ */
13473
+ additionalAiCredits?: number;
13474
+ /**
13475
+ * New absolute max AI Credits when action is 'set'.
13476
+ */
13477
+ maxAiCredits?: number;
13478
+ }
13089
13479
  /**
13090
13480
  * Request ID of a pending `user_input.requested` event and the user's response.
13091
13481
  *
@@ -13370,6 +13760,120 @@ export interface UserRequestedShellCommandResult {
13370
13760
  */
13371
13761
  error?: string;
13372
13762
  }
13763
+ /**
13764
+ * A single user setting's effective value alongside its default, so consumers can render settings left at their default.
13765
+ *
13766
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13767
+ * via the `definition` "UserSettingMetadata".
13768
+ */
13769
+ /** @experimental */
13770
+ export interface UserSettingMetadata {
13771
+ /**
13772
+ * The effective value: the user's value if set, otherwise the default.
13773
+ */
13774
+ value: {
13775
+ [k: string]: unknown | undefined;
13776
+ };
13777
+ /**
13778
+ * The centrally-known default for this setting (null when no default is registered).
13779
+ */
13780
+ default: {
13781
+ [k: string]: unknown | undefined;
13782
+ };
13783
+ /**
13784
+ * True when the user has not set an explicit value for this setting (i.e. it is left at its default). Reflects whether the user has overridden the key, not whether the effective value happens to equal the default — a key explicitly set to a value identical to the default still reports false.
13785
+ */
13786
+ isDefault: boolean;
13787
+ }
13788
+ /**
13789
+ * Per-key metadata for every known user setting (settings.json overlaid with the legacy config.json, config.json wins), including settings left at their default. Excludes repository- and enterprise-managed overrides.
13790
+ *
13791
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13792
+ * via the `definition` "UserSettingsGetResult".
13793
+ */
13794
+ /** @experimental */
13795
+ export interface UserSettingsGetResult {
13796
+ /**
13797
+ * Every known user setting keyed by setting name, each with its effective value, default, and whether it is at the default.
13798
+ */
13799
+ settings: {
13800
+ [k: string]: UserSettingMetadata;
13801
+ };
13802
+ }
13803
+ /**
13804
+ * Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
13805
+ *
13806
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13807
+ * via the `definition` "UserSettingsSetRequest".
13808
+ */
13809
+ /** @experimental */
13810
+ export interface UserSettingsSetRequest {
13811
+ /**
13812
+ * Partial user settings to write, as a free-form object keyed by setting name
13813
+ */
13814
+ settings: {
13815
+ [k: string]: unknown | undefined;
13816
+ };
13817
+ }
13818
+ /**
13819
+ * Outcome of writing user settings.
13820
+ *
13821
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13822
+ * via the `definition` "UserSettingsSetResult".
13823
+ */
13824
+ /** @experimental */
13825
+ export interface UserSettingsSetResult {
13826
+ /**
13827
+ * Top-level keys whose write landed in settings.json but is shadowed by a value still present in the legacy config.json (config.json wins on read). The write does not take effect until the legacy value is removed.
13828
+ */
13829
+ shadowedKeys: string[];
13830
+ }
13831
+ /**
13832
+ * Current sharing status and shareable GitHub URL for a session.
13833
+ *
13834
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13835
+ * via the `definition` "VisibilityGetResult".
13836
+ */
13837
+ /** @experimental */
13838
+ export interface VisibilityGetResult {
13839
+ /**
13840
+ * Whether the session has been synced to Mission Control (i.e. has a GitHub task). When false, the session cannot be shared and `status`/`shareUrl` are absent.
13841
+ */
13842
+ synced: boolean;
13843
+ status?: SessionVisibilityStatus;
13844
+ /**
13845
+ * Shareable GitHub URL for the session. Present when the session is synced and the URL can be resolved.
13846
+ */
13847
+ shareUrl?: string;
13848
+ }
13849
+ /**
13850
+ * Desired sharing status for the session.
13851
+ *
13852
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13853
+ * via the `definition` "VisibilitySetRequest".
13854
+ */
13855
+ /** @experimental */
13856
+ export interface VisibilitySetRequest {
13857
+ status: SessionVisibilityStatus;
13858
+ }
13859
+ /**
13860
+ * Effective sharing status and shareable GitHub URL after updating session visibility.
13861
+ *
13862
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13863
+ * via the `definition` "VisibilitySetResult".
13864
+ */
13865
+ /** @experimental */
13866
+ export interface VisibilitySetResult {
13867
+ /**
13868
+ * Whether the session has been synced to Mission Control (i.e. has a GitHub task). When false, the visibility change could not be applied and `status`/`shareUrl` are absent.
13869
+ */
13870
+ synced: boolean;
13871
+ status?: SessionVisibilityStatus;
13872
+ /**
13873
+ * Shareable GitHub URL for the session. Present when the session is synced and the URL can be resolved.
13874
+ */
13875
+ shareUrl?: string;
13876
+ }
13373
13877
  /**
13374
13878
  * A single changed file and its unified diff.
13375
13879
  *
@@ -13654,8 +14158,11 @@ export declare function createServerRpc(connection: MessageConnection): {
13654
14158
  * @param params Optional message to echo back to the caller.
13655
14159
  *
13656
14160
  * @returns Server liveness response, including the echoed message, current server timestamp, and protocol version.
14161
+ *
14162
+ * @experimental
13657
14163
  */
13658
14164
  ping: (params: PingRequest) => Promise<PingResult>;
14165
+ /** @experimental */
13659
14166
  models: {
13660
14167
  /**
13661
14168
  * Lists Copilot models available to the authenticated user.
@@ -13666,6 +14173,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13666
14173
  */
13667
14174
  list: (params: ModelsListRequest) => Promise<ModelList>;
13668
14175
  };
14176
+ /** @experimental */
13669
14177
  tools: {
13670
14178
  /**
13671
14179
  * Lists built-in tools available for a model.
@@ -13676,6 +14184,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13676
14184
  */
13677
14185
  list: (params: ToolsListRequest) => Promise<ToolList>;
13678
14186
  };
14187
+ /** @experimental */
13679
14188
  account: {
13680
14189
  /**
13681
14190
  * Gets Copilot quota usage for the authenticated user or supplied GitHub token.
@@ -13714,6 +14223,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13714
14223
  */
13715
14224
  logout: (params: AccountLogoutRequest) => Promise<AccountLogoutResult>;
13716
14225
  };
14226
+ /** @experimental */
13717
14227
  secrets: {
13718
14228
  /**
13719
14229
  * Registers secret values for redaction in session logs and exports. The SDK calls this to inject dynamically generated secret values (e.g., OIDC tokens).
@@ -13724,7 +14234,9 @@ export declare function createServerRpc(connection: MessageConnection): {
13724
14234
  */
13725
14235
  addFilterValues: (params: SecretsAddFilterValuesRequest) => Promise<SecretsAddFilterValuesResult>;
13726
14236
  };
14237
+ /** @experimental */
13727
14238
  mcp: {
14239
+ /** @experimental */
13728
14240
  config: {
13729
14241
  /**
13730
14242
  * Lists MCP servers from user configuration.
@@ -13866,7 +14378,9 @@ export declare function createServerRpc(connection: MessageConnection): {
13866
14378
  refresh: (params: PluginsMarketplacesRefreshRequest) => Promise<MarketplaceRefreshResult>;
13867
14379
  };
13868
14380
  };
14381
+ /** @experimental */
13869
14382
  skills: {
14383
+ /** @experimental */
13870
14384
  config: {
13871
14385
  /**
13872
14386
  * Replaces the global list of disabled skills.
@@ -13889,8 +14403,6 @@ export declare function createServerRpc(connection: MessageConnection): {
13889
14403
  * @param params Optional project paths to enumerate.
13890
14404
  *
13891
14405
  * @returns Canonical locations where skills can be created so the runtime will recognize them.
13892
- *
13893
- * @experimental
13894
14406
  */
13895
14407
  getDiscoveryPaths: (params: SkillsGetDiscoveryPathsRequest) => Promise<SkillDiscoveryPathList>;
13896
14408
  };
@@ -13932,20 +14444,38 @@ export declare function createServerRpc(connection: MessageConnection): {
13932
14444
  */
13933
14445
  getDiscoveryPaths: (params: InstructionsGetDiscoveryPathsRequest) => Promise<InstructionDiscoveryPathList>;
13934
14446
  };
14447
+ /** @experimental */
13935
14448
  user: {
14449
+ /** @experimental */
13936
14450
  settings: {
13937
14451
  /**
13938
14452
  * Drops this runtime process's in-memory user settings cache so the next settings read observes disk.
13939
14453
  */
13940
14454
  reload: () => Promise<void>;
14455
+ /**
14456
+ * Lists every known user setting (settings.json overlaid with the legacy config.json, config.json wins), each with its effective value, its default, and whether it is at the default — so settings the user has never set still appear with their default value. Does not include repository- or enterprise-managed overrides that the runtime layers on top at session time.
14457
+ *
14458
+ * @returns Per-key metadata for every known user setting (settings.json overlaid with the legacy config.json, config.json wins), including settings left at their default. Excludes repository- and enterprise-managed overrides.
14459
+ */
14460
+ get: () => Promise<UserSettingsGetResult>;
14461
+ /**
14462
+ * Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed. Returns the keys whose new value is shadowed by a legacy config.json entry (config.json wins on read), which the runtime leaves in place — such writes do not take effect until the legacy value is removed.
14463
+ *
14464
+ * @param params Partial user settings to write to settings.json. Each top-level key is written individually, replacing the existing value; a key whose value is null is removed.
14465
+ *
14466
+ * @returns Outcome of writing user settings.
14467
+ */
14468
+ set: (params: UserSettingsSetRequest) => Promise<UserSettingsSetResult>;
13941
14469
  };
13942
14470
  };
14471
+ /** @experimental */
13943
14472
  runtime: {
13944
14473
  /**
13945
14474
  * Gracefully shuts down an SDK-owned runtime. The response is sent only after cleanup completes; callers may then terminate the owned runtime process.
13946
14475
  */
13947
14476
  shutdown: () => Promise<void>;
13948
14477
  };
14478
+ /** @experimental */
13949
14479
  sessionFs: {
13950
14480
  /**
13951
14481
  * Registers an SDK client as the session filesystem provider.
@@ -14431,6 +14961,23 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
14431
14961
  diff: (params: WorkspacesDiffRequest) => Promise<WorkspaceDiffResult>;
14432
14962
  };
14433
14963
  /** @experimental */
14964
+ completions: {
14965
+ /**
14966
+ * Gets the characters that should trigger host-driven completions for the session. Empty disables host-driven completions (e.g. local sessions, or a relay host that does not advertise them).
14967
+ *
14968
+ * @returns Characters that, when typed in the composer, should trigger a `completions.request`. Empty when the session has no host-driven completions (e.g. local sessions, or a relay host that does not advertise `completionTriggerCharacters`).
14969
+ */
14970
+ getTriggerCharacters: () => Promise<CompletionsGetTriggerCharactersResult>;
14971
+ /**
14972
+ * Requests host-driven completion items for the current composer input. Returns an empty list when the host has no items or does not support completions.
14973
+ *
14974
+ * @param params Request host-driven completions for the current composer input.
14975
+ *
14976
+ * @returns Host-driven completion items for the current composer input. Empty when the host returns no items or does not support completions.
14977
+ */
14978
+ request: (params: CompletionsRequestRequest) => Promise<CompletionsRequestResult>;
14979
+ };
14980
+ /** @experimental */
14434
14981
  instructions: {
14435
14982
  /**
14436
14983
  * Gets instruction sources loaded for the session.
@@ -14987,6 +15534,14 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
14987
15534
  * @returns Indicates whether the pending UI request was resolved by this call.
14988
15535
  */
14989
15536
  handlePendingAutoModeSwitch: (params: UIHandlePendingAutoModeSwitchRequest) => Promise<UIHandlePendingResult>;
15537
+ /**
15538
+ * Resolves a pending `session_limits_exhausted.requested` event with the user's selected limit action.
15539
+ *
15540
+ * @param params Request ID of a pending `session_limits_exhausted.requested` event and the user's selected limit action.
15541
+ *
15542
+ * @returns Indicates whether the pending UI request was resolved by this call.
15543
+ */
15544
+ handlePendingSessionLimitsExhausted: (params: UIHandlePendingSessionLimitsExhaustedRequest) => Promise<UIHandlePendingResult>;
14990
15545
  /**
14991
15546
  * Resolves a pending `exit_plan_mode.requested` event with the user's response.
14992
15547
  *
@@ -15405,6 +15960,23 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
15405
15960
  notifySteerableChanged: (params: RemoteNotifySteerableChangedRequest) => Promise<RemoteNotifySteerableChangedResult>;
15406
15961
  };
15407
15962
  /** @experimental */
15963
+ visibility: {
15964
+ /**
15965
+ * Returns the session's current Mission Control sharing status and shareable GitHub URL. Reflects whether the synced session is visible to repository readers ("repo") or restricted to its creator and collaborators ("unshared").
15966
+ *
15967
+ * @returns Current sharing status and shareable GitHub URL for a session.
15968
+ */
15969
+ get: () => Promise<VisibilityGetResult>;
15970
+ /**
15971
+ * Sets the session's Mission Control sharing status, controlling whether the synced session is visible to repository readers. Returns the effective status and shareable GitHub URL after the change.
15972
+ *
15973
+ * @param params Desired sharing status for the session.
15974
+ *
15975
+ * @returns Effective sharing status and shareable GitHub URL after updating session visibility.
15976
+ */
15977
+ set: (params: VisibilitySetRequest) => Promise<VisibilitySetResult>;
15978
+ };
15979
+ /** @experimental */
15408
15980
  schedule: {
15409
15981
  /**
15410
15982
  * Lists the session's currently active scheduled prompts.
@@ -15593,9 +16165,20 @@ export interface LlmInferenceHandler {
15593
16165
  */
15594
16166
  httpRequestChunk(params: LlmInferenceHttpRequestChunkRequest): Promise<LlmInferenceHttpRequestChunkResult>;
15595
16167
  }
16168
+ /** Handler for `gitHubTelemetry` client global API methods. */
16169
+ /** @experimental */
16170
+ export interface GitHubTelemetryHandler {
16171
+ /**
16172
+ * Forwards a single GitHub telemetry event to a host connection that opted into telemetry forwarding for the session.
16173
+ *
16174
+ * @param params Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding for the session.
16175
+ */
16176
+ event(params: GitHubTelemetryNotification): Promise<void>;
16177
+ }
15596
16178
  /** All client global API handler groups. */
15597
16179
  export interface ClientGlobalApiHandlers {
15598
16180
  llmInference?: LlmInferenceHandler;
16181
+ gitHubTelemetry?: GitHubTelemetryHandler;
15599
16182
  }
15600
16183
  /**
15601
16184
  * Register client global API handlers on a JSON-RPC connection.