@github/copilot-sdk 1.0.4 → 1.0.5-preview.1

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,13 +3,14 @@
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, SessionEvent, SessionMode, ShutdownType, SkillSource, UserToolSessionApproval } from "./session-events.js";
6
+ import type { AbortReason, Attachment, ContextTier, EmbeddedBlobResourceContents, EmbeddedTextResourceContents, McpServerSource, McpServerStatus, PermissionPromptRequest, PermissionRule, ReasoningSummary, ResponseLimitsConfig, SessionEvent, 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;
14
15
  /**
15
16
  * Which tier this directory belongs to
@@ -243,6 +244,7 @@ export type ConnectedRemoteSessionMetadataKind =
243
244
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
244
245
  * via the `definition` "ContentFilterMode".
245
246
  */
247
+ /** @experimental */
246
248
  export type ContentFilterMode =
247
249
  /** Leave MCP tool result content unchanged. */
248
250
  "none"
@@ -256,6 +258,7 @@ export type ContentFilterMode =
256
258
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
257
259
  * via the `definition` "DiscoveredMcpServerType".
258
260
  */
261
+ /** @experimental */
259
262
  export type DiscoveredMcpServerType =
260
263
  /** Server communicates over stdio with a local child process. */
261
264
  "stdio"
@@ -356,7 +359,7 @@ export type ExternalToolTextResultForLlmBinaryResultsForLlmType =
356
359
  * via the `definition` "ExternalToolTextResultForLlmContent".
357
360
  */
358
361
  /** @experimental */
359
- export type ExternalToolTextResultForLlmContent = ExternalToolTextResultForLlmContentText | ExternalToolTextResultForLlmContentTerminal | ExternalToolTextResultForLlmContentImage | ExternalToolTextResultForLlmContentAudio | ExternalToolTextResultForLlmContentResourceLink | ExternalToolTextResultForLlmContentResource;
362
+ export type ExternalToolTextResultForLlmContent = ExternalToolTextResultForLlmContentText | ExternalToolTextResultForLlmContentTerminal | ExternalToolTextResultForLlmContentShellExit | ExternalToolTextResultForLlmContentImage | ExternalToolTextResultForLlmContentAudio | ExternalToolTextResultForLlmContentResourceLink | ExternalToolTextResultForLlmContentResource;
360
363
  /**
361
364
  * Theme variant this icon is intended for
362
365
  *
@@ -383,6 +386,7 @@ export type ExternalToolTextResultForLlmContentResourceDetails = EmbeddedTextRes
383
386
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
384
387
  * via the `definition` "FilterMapping".
385
388
  */
389
+ /** @experimental */
386
390
  export type FilterMapping = {
387
391
  [k: string]: ContentFilterMode;
388
392
  } | ContentFilterMode;
@@ -612,6 +616,7 @@ export type McpAppsSetHostContextDetailsPlatform =
612
616
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
613
617
  * via the `definition` "McpServerConfig".
614
618
  */
619
+ /** @experimental */
615
620
  export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
616
621
  /**
617
622
  * Set to `true` to use defaults, or provide an object with additional auth or OIDC settings.
@@ -619,6 +624,7 @@ export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
619
624
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
620
625
  * via the `definition` "McpServerAuthConfig".
621
626
  */
627
+ /** @experimental */
622
628
  export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
623
629
  /**
624
630
  * 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 +632,7 @@ export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
626
632
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
627
633
  * via the `definition` "McpServerConfigDeferTools".
628
634
  */
635
+ /** @experimental */
629
636
  export type McpServerConfigDeferTools =
630
637
  /** Tools may be deferred under certain conditions */
631
638
  "auto"
@@ -637,6 +644,7 @@ export type McpServerConfigDeferTools =
637
644
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
638
645
  * via the `definition` "McpServerConfigHttpType".
639
646
  */
647
+ /** @experimental */
640
648
  export type McpServerConfigHttpType =
641
649
  /** Streamable HTTP transport. */
642
650
  "http"
@@ -648,11 +656,30 @@ export type McpServerConfigHttpType =
648
656
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
649
657
  * via the `definition` "McpServerConfigHttpOauthGrantType".
650
658
  */
659
+ /** @experimental */
651
660
  export type McpServerConfigHttpOauthGrantType =
652
661
  /** Interactive browser-based authorization code flow with PKCE. */
653
662
  "authorization_code"
654
663
  /** Headless client credentials flow using the configured OAuth client. */
655
664
  | "client_credentials";
665
+ /**
666
+ * Host response: supply dynamic headers or decline this refresh.
667
+ *
668
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
669
+ * via the `definition` "McpHeadersHandlePendingHeadersRefreshRequest".
670
+ */
671
+ /** @experimental */
672
+ export type McpHeadersHandlePendingHeadersRefreshRequest = {
673
+ /**
674
+ * Headers to overlay onto the MCP request. Dynamic headers override static config headers but do not replace SDK-managed request headers.
675
+ */
676
+ headers: {
677
+ [k: string]: string | undefined;
678
+ };
679
+ kind: "headers";
680
+ } | {
681
+ kind: "none";
682
+ };
656
683
  /**
657
684
  * Host response to the pending OAuth request.
658
685
  *
@@ -669,10 +696,6 @@ export type McpOauthPendingRequestResponse = {
669
696
  * OAuth token type. Defaults to Bearer when omitted.
670
697
  */
671
698
  tokenType?: string;
672
- /**
673
- * Refresh token supplied by the host, if available.
674
- */
675
- refreshToken?: string;
676
699
  /**
677
700
  * Token lifetime in seconds, if known.
678
701
  */
@@ -812,6 +835,7 @@ export type MetadataSnapshotRemoteMetadataTaskType =
812
835
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
813
836
  * via the `definition` "ModelPolicyState".
814
837
  */
838
+ /** @experimental */
815
839
  export type ModelPolicyState =
816
840
  /** The model is enabled by policy. */
817
841
  "enabled"
@@ -825,6 +849,7 @@ export type ModelPolicyState =
825
849
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
826
850
  * via the `definition` "ModelPickerCategory".
827
851
  */
852
+ /** @experimental */
828
853
  export type ModelPickerCategory =
829
854
  /** Lightweight model category optimized for faster, lower-cost interactions. */
830
855
  "lightweight"
@@ -838,6 +863,7 @@ export type ModelPickerCategory =
838
863
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
839
864
  * via the `definition` "ModelPickerPriceCategory".
840
865
  */
866
+ /** @experimental */
841
867
  export type ModelPickerPriceCategory =
842
868
  /** Lowest relative token cost tier. */
843
869
  "low"
@@ -1092,7 +1118,7 @@ export type ProviderEndpointTransport =
1092
1118
  * via the `definition` "PushAttachment".
1093
1119
  */
1094
1120
  /** @experimental */
1095
- export type PushAttachment = PushAttachmentFile | PushAttachmentDirectory | PushAttachmentSelection | PushAttachmentGitHubReference | PushAttachmentBlob | ExtensionContextPushInput;
1121
+ export type PushAttachment = PushAttachmentFile | PushAttachmentDirectory | PushAttachmentSelection | PushAttachmentGitHubReference | PushAttachmentGitHubCommit | PushAttachmentGitHubRelease | PushAttachmentGitHubActionsJob | PushAttachmentGitHubRepository | PushAttachmentGitHubFileDiff | PushAttachmentGitHubTreeComparison | PushAttachmentGitHubUrl | PushAttachmentGitHubFile | PushAttachmentGitHubSnippet | PushAttachmentBlob | ExtensionContextPushInput;
1096
1122
  /**
1097
1123
  * Type of GitHub reference
1098
1124
  *
@@ -1241,6 +1267,7 @@ export type SessionFsReaddirWithTypesEntryType =
1241
1267
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1242
1268
  * via the `definition` "SessionFsSetProviderConventions".
1243
1269
  */
1270
+ /** @experimental */
1244
1271
  export type SessionFsSetProviderConventions =
1245
1272
  /** Paths use Windows path conventions. */
1246
1273
  "windows"
@@ -1456,6 +1483,18 @@ export type SessionSource =
1456
1483
  | "remote"
1457
1484
  /** Return both local and remote sessions. */
1458
1485
  | "all";
1486
+ /**
1487
+ * 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.
1488
+ *
1489
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1490
+ * via the `definition` "SessionVisibilityStatus".
1491
+ */
1492
+ /** @experimental */
1493
+ export type SessionVisibilityStatus =
1494
+ /** The session is visible to repository readers. */
1495
+ "repo"
1496
+ /** The session is restricted to its creator and collaborators. */
1497
+ | "unshared";
1459
1498
  /**
1460
1499
  * Signal to send (default: SIGTERM)
1461
1500
  *
@@ -1487,7 +1526,7 @@ export type SkillDiscoveryScope =
1487
1526
  /** A configured custom skill directory. */
1488
1527
  | "custom";
1489
1528
  /**
1490
- * Result of invoking the slash command (text output, prompt to send to the agent, or completion).
1529
+ * Result of invoking the slash command (text output, prompt to send to the agent, completion, or subcommand selection).
1491
1530
  *
1492
1531
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1493
1532
  * via the `definition` "SlashCommandInvocationResult".
@@ -1512,6 +1551,14 @@ export type SubagentSettings = {
1512
1551
  * Names of subagents the user has turned off; they cannot be dispatched
1513
1552
  */
1514
1553
  disabledSubagents?: string[];
1554
+ /**
1555
+ * Maximum number of subagents that can run concurrently; applies to usage-based billing users only
1556
+ */
1557
+ maxConcurrency?: number;
1558
+ /**
1559
+ * Maximum subagent nesting depth; applies to usage-based billing users only
1560
+ */
1561
+ maxDepth?: number;
1515
1562
  } | null;
1516
1563
  /**
1517
1564
  * Context tier override for matching subagents
@@ -1721,6 +1768,7 @@ export type WorkspacesWorkspaceDetailsHostType =
1721
1768
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1722
1769
  * via the `definition` "AccountGetAllUsersResult".
1723
1770
  */
1771
+ /** @experimental */
1724
1772
  export type AccountGetAllUsersResult = AccountAllUsers[];
1725
1773
  /**
1726
1774
  * Parameters for aborting the current turn
@@ -1755,6 +1803,7 @@ export interface AbortResult {
1755
1803
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1756
1804
  * via the `definition` "AccountAllUsers".
1757
1805
  */
1806
+ /** @experimental */
1758
1807
  export interface AccountAllUsers {
1759
1808
  authInfo: AuthInfo;
1760
1809
  /**
@@ -1768,6 +1817,7 @@ export interface AccountAllUsers {
1768
1817
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1769
1818
  * via the `definition` "HMACAuthInfo".
1770
1819
  */
1820
+ /** @experimental */
1771
1821
  export interface HMACAuthInfo {
1772
1822
  /**
1773
1823
  * HMAC-based authentication used by GitHub-internal services.
@@ -1789,6 +1839,7 @@ export interface HMACAuthInfo {
1789
1839
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1790
1840
  * via the `definition` "CopilotUserResponse".
1791
1841
  */
1842
+ /** @experimental */
1792
1843
  export interface CopilotUserResponse {
1793
1844
  login?: string;
1794
1845
  access_type_sku?: string;
@@ -1839,6 +1890,7 @@ export interface CopilotUserResponse {
1839
1890
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1840
1891
  * via the `definition` "CopilotUserResponseEndpoints".
1841
1892
  */
1893
+ /** @experimental */
1842
1894
  export interface CopilotUserResponseEndpoints {
1843
1895
  api?: string;
1844
1896
  "origin-tracker"?: string;
@@ -1851,6 +1903,7 @@ export interface CopilotUserResponseEndpoints {
1851
1903
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1852
1904
  * via the `definition` "CopilotUserResponseQuotaSnapshots".
1853
1905
  */
1906
+ /** @experimental */
1854
1907
  export interface CopilotUserResponseQuotaSnapshots {
1855
1908
  chat?: CopilotUserResponseQuotaSnapshotsChat;
1856
1909
  completions?: CopilotUserResponseQuotaSnapshotsCompletions;
@@ -1876,6 +1929,7 @@ export interface CopilotUserResponseQuotaSnapshots {
1876
1929
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1877
1930
  * via the `definition` "CopilotUserResponseQuotaSnapshotsChat".
1878
1931
  */
1932
+ /** @experimental */
1879
1933
  export interface CopilotUserResponseQuotaSnapshotsChat {
1880
1934
  entitlement?: number;
1881
1935
  overage_count?: number;
@@ -1896,6 +1950,7 @@ export interface CopilotUserResponseQuotaSnapshotsChat {
1896
1950
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1897
1951
  * via the `definition` "CopilotUserResponseQuotaSnapshotsCompletions".
1898
1952
  */
1953
+ /** @experimental */
1899
1954
  export interface CopilotUserResponseQuotaSnapshotsCompletions {
1900
1955
  entitlement?: number;
1901
1956
  overage_count?: number;
@@ -1916,6 +1971,7 @@ export interface CopilotUserResponseQuotaSnapshotsCompletions {
1916
1971
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1917
1972
  * via the `definition` "CopilotUserResponseQuotaSnapshotsPremiumInteractions".
1918
1973
  */
1974
+ /** @experimental */
1919
1975
  export interface CopilotUserResponseQuotaSnapshotsPremiumInteractions {
1920
1976
  entitlement?: number;
1921
1977
  overage_count?: number;
@@ -1936,6 +1992,7 @@ export interface CopilotUserResponseQuotaSnapshotsPremiumInteractions {
1936
1992
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1937
1993
  * via the `definition` "EnvAuthInfo".
1938
1994
  */
1995
+ /** @experimental */
1939
1996
  export interface EnvAuthInfo {
1940
1997
  /**
1941
1998
  * Personal access token (PAT) or server-to-server token sourced from an environment variable.
@@ -1965,6 +2022,7 @@ export interface EnvAuthInfo {
1965
2022
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1966
2023
  * via the `definition` "TokenAuthInfo".
1967
2024
  */
2025
+ /** @experimental */
1968
2026
  export interface TokenAuthInfo {
1969
2027
  /**
1970
2028
  * SDK-side token authentication; the host configured the token directly via the SDK.
@@ -1986,6 +2044,7 @@ export interface TokenAuthInfo {
1986
2044
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1987
2045
  * via the `definition` "CopilotApiTokenAuthInfo".
1988
2046
  */
2047
+ /** @experimental */
1989
2048
  export interface CopilotApiTokenAuthInfo {
1990
2049
  /**
1991
2050
  * 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.
@@ -2003,6 +2062,7 @@ export interface CopilotApiTokenAuthInfo {
2003
2062
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2004
2063
  * via the `definition` "UserAuthInfo".
2005
2064
  */
2065
+ /** @experimental */
2006
2066
  export interface UserAuthInfo {
2007
2067
  /**
2008
2068
  * 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.
@@ -2024,6 +2084,7 @@ export interface UserAuthInfo {
2024
2084
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2025
2085
  * via the `definition` "GhCliAuthInfo".
2026
2086
  */
2087
+ /** @experimental */
2027
2088
  export interface GhCliAuthInfo {
2028
2089
  /**
2029
2090
  * Authentication via the `gh` CLI's saved credentials.
@@ -2049,6 +2110,7 @@ export interface GhCliAuthInfo {
2049
2110
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2050
2111
  * via the `definition` "ApiKeyAuthInfo".
2051
2112
  */
2113
+ /** @experimental */
2052
2114
  export interface ApiKeyAuthInfo {
2053
2115
  /**
2054
2116
  * API-key authentication for non-GitHub LLM providers (e.g. when running BYOM-style).
@@ -2070,6 +2132,7 @@ export interface ApiKeyAuthInfo {
2070
2132
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2071
2133
  * via the `definition` "AccountGetCurrentAuthResult".
2072
2134
  */
2135
+ /** @experimental */
2073
2136
  export interface AccountGetCurrentAuthResult {
2074
2137
  authInfo?: AuthInfo;
2075
2138
  /**
@@ -2077,6 +2140,7 @@ export interface AccountGetCurrentAuthResult {
2077
2140
  */
2078
2141
  authErrors?: string[];
2079
2142
  }
2143
+ /** @experimental */
2080
2144
  export interface AccountGetQuotaRequest {
2081
2145
  /**
2082
2146
  * GitHub token for per-user quota lookup. When provided, resolves this token to determine the user's quota instead of using the global auth.
@@ -2089,6 +2153,7 @@ export interface AccountGetQuotaRequest {
2089
2153
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2090
2154
  * via the `definition` "AccountGetQuotaResult".
2091
2155
  */
2156
+ /** @experimental */
2092
2157
  export interface AccountGetQuotaResult {
2093
2158
  /**
2094
2159
  * Quota snapshots keyed by type (e.g., chat, completions, premium_interactions)
@@ -2103,6 +2168,7 @@ export interface AccountGetQuotaResult {
2103
2168
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2104
2169
  * via the `definition` "AccountQuotaSnapshot".
2105
2170
  */
2171
+ /** @experimental */
2106
2172
  export interface AccountQuotaSnapshot {
2107
2173
  /**
2108
2174
  * Whether the user has an unlimited usage entitlement
@@ -2143,6 +2209,7 @@ export interface AccountQuotaSnapshot {
2143
2209
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2144
2210
  * via the `definition` "AccountLoginRequest".
2145
2211
  */
2212
+ /** @experimental */
2146
2213
  export interface AccountLoginRequest {
2147
2214
  /**
2148
2215
  * GitHub host URL
@@ -2163,6 +2230,7 @@ export interface AccountLoginRequest {
2163
2230
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2164
2231
  * via the `definition` "AccountLoginResult".
2165
2232
  */
2233
+ /** @experimental */
2166
2234
  export interface AccountLoginResult {
2167
2235
  /**
2168
2236
  * 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.
@@ -2175,6 +2243,7 @@ export interface AccountLoginResult {
2175
2243
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2176
2244
  * via the `definition` "AccountLogoutRequest".
2177
2245
  */
2246
+ /** @experimental */
2178
2247
  export interface AccountLogoutRequest {
2179
2248
  authInfo: AuthInfo;
2180
2249
  }
@@ -2184,6 +2253,7 @@ export interface AccountLogoutRequest {
2184
2253
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2185
2254
  * via the `definition` "AccountLogoutResult".
2186
2255
  */
2256
+ /** @experimental */
2187
2257
  export interface AccountLogoutResult {
2188
2258
  /**
2189
2259
  * Whether other authenticated users remain after logout
@@ -3326,6 +3396,7 @@ export interface CurrentToolMetadata {
3326
3396
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3327
3397
  * via the `definition` "DiscoveredMcpServer".
3328
3398
  */
3399
+ /** @experimental */
3329
3400
  export interface DiscoveredMcpServer {
3330
3401
  /**
3331
3402
  * Server name (config key)
@@ -3667,6 +3738,39 @@ export interface ExternalToolTextResultForLlmContentTerminal {
3667
3738
  */
3668
3739
  cwd?: string;
3669
3740
  }
3741
+ /**
3742
+ * Shell command exit metadata with optional output preview
3743
+ *
3744
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3745
+ * via the `definition` "ExternalToolTextResultForLlmContentShellExit".
3746
+ */
3747
+ /** @experimental */
3748
+ export interface ExternalToolTextResultForLlmContentShellExit {
3749
+ /**
3750
+ * Content block type discriminator
3751
+ */
3752
+ type: "shell_exit";
3753
+ /**
3754
+ * Shell id, as assigned by Copilot runtime
3755
+ */
3756
+ shellId: string;
3757
+ /**
3758
+ * Exit code from the completed shell command
3759
+ */
3760
+ exitCode: number;
3761
+ /**
3762
+ * Working directory where the shell command was executed
3763
+ */
3764
+ cwd?: string;
3765
+ /**
3766
+ * Output associated with this shell command, if available. May be partial, truncated, or a preview; not guaranteed to be full output.
3767
+ */
3768
+ outputPreview?: string;
3769
+ /**
3770
+ * Whether outputPreview is known to be incomplete or truncated
3771
+ */
3772
+ outputTruncated?: boolean;
3773
+ }
3670
3774
  /**
3671
3775
  * Image content block with base64-encoded data
3672
3776
  *
@@ -4115,6 +4219,10 @@ export interface InstalledPluginInfo {
4115
4219
  * Marketplace the plugin came from. Empty string ("") for direct repo / URL / local installs.
4116
4220
  */
4117
4221
  marketplace: string;
4222
+ /**
4223
+ * Opaque, stable hash identifying a direct (non-marketplace) install source. Present only for direct repo / URL / local installs; absent for marketplace plugins. Same source yields the same id; distinct sources never collide.
4224
+ */
4225
+ directSourceId?: string;
4118
4226
  /**
4119
4227
  * Installed version (when reported by the plugin manifest)
4120
4228
  */
@@ -5023,6 +5131,7 @@ export interface McpCancelSamplingExecutionResult {
5023
5131
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5024
5132
  * via the `definition` "McpConfigAddRequest".
5025
5133
  */
5134
+ /** @experimental */
5026
5135
  export interface McpConfigAddRequest {
5027
5136
  /**
5028
5137
  * Unique name for the MCP server
@@ -5036,6 +5145,7 @@ export interface McpConfigAddRequest {
5036
5145
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5037
5146
  * via the `definition` "McpServerConfigStdio".
5038
5147
  */
5148
+ /** @experimental */
5039
5149
  export interface McpServerConfigStdio {
5040
5150
  /**
5041
5151
  * Tools to include. Defaults to all tools if not specified.
@@ -5078,6 +5188,7 @@ export interface McpServerConfigStdio {
5078
5188
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5079
5189
  * via the `definition` "McpServerAuthConfigRedirectPort".
5080
5190
  */
5191
+ /** @experimental */
5081
5192
  export interface McpServerAuthConfigRedirectPort {
5082
5193
  /**
5083
5194
  * Fixed port for the OAuth redirect callback server.
@@ -5090,6 +5201,7 @@ export interface McpServerAuthConfigRedirectPort {
5090
5201
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5091
5202
  * via the `definition` "McpServerConfigHttp".
5092
5203
  */
5204
+ /** @experimental */
5093
5205
  export interface McpServerConfigHttp {
5094
5206
  /**
5095
5207
  * Tools to include. Defaults to all tools if not specified.
@@ -5134,6 +5246,7 @@ export interface McpServerConfigHttp {
5134
5246
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5135
5247
  * via the `definition` "McpConfigDisableRequest".
5136
5248
  */
5249
+ /** @experimental */
5137
5250
  export interface McpConfigDisableRequest {
5138
5251
  /**
5139
5252
  * 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.
@@ -5146,6 +5259,7 @@ export interface McpConfigDisableRequest {
5146
5259
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5147
5260
  * via the `definition` "McpConfigEnableRequest".
5148
5261
  */
5262
+ /** @experimental */
5149
5263
  export interface McpConfigEnableRequest {
5150
5264
  /**
5151
5265
  * 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.
@@ -5158,6 +5272,7 @@ export interface McpConfigEnableRequest {
5158
5272
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5159
5273
  * via the `definition` "McpConfigList".
5160
5274
  */
5275
+ /** @experimental */
5161
5276
  export interface McpConfigList {
5162
5277
  /**
5163
5278
  * All MCP servers from user config, keyed by name
@@ -5172,6 +5287,7 @@ export interface McpConfigList {
5172
5287
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5173
5288
  * via the `definition` "McpConfigRemoveRequest".
5174
5289
  */
5290
+ /** @experimental */
5175
5291
  export interface McpConfigRemoveRequest {
5176
5292
  /**
5177
5293
  * Name of the MCP server to remove
@@ -5184,6 +5300,7 @@ export interface McpConfigRemoveRequest {
5184
5300
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5185
5301
  * via the `definition` "McpConfigUpdateRequest".
5186
5302
  */
5303
+ /** @experimental */
5187
5304
  export interface McpConfigUpdateRequest {
5188
5305
  /**
5189
5306
  * Name of the MCP server to update
@@ -5223,6 +5340,7 @@ export interface McpDisableRequest {
5223
5340
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5224
5341
  * via the `definition` "McpDiscoverRequest".
5225
5342
  */
5343
+ /** @experimental */
5226
5344
  export interface McpDiscoverRequest {
5227
5345
  /**
5228
5346
  * Working directory used as context for discovery (e.g., plugin resolution)
@@ -5235,6 +5353,7 @@ export interface McpDiscoverRequest {
5235
5353
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5236
5354
  * via the `definition` "McpDiscoverResult".
5237
5355
  */
5356
+ /** @experimental */
5238
5357
  export interface McpDiscoverResult {
5239
5358
  /**
5240
5359
  * MCP servers discovered from all sources
@@ -5323,6 +5442,33 @@ export interface McpFilteredServer {
5323
5442
  */
5324
5443
  enterpriseName?: string;
5325
5444
  }
5445
+ /**
5446
+ * MCP headers refresh request id and the host response.
5447
+ *
5448
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5449
+ * via the `definition` "McpHeadersHandlePendingHeadersRefreshRequestRequest".
5450
+ */
5451
+ /** @experimental */
5452
+ export interface McpHeadersHandlePendingHeadersRefreshRequestRequest {
5453
+ /**
5454
+ * Headers refresh request identifier from mcp.headers_refresh_required
5455
+ */
5456
+ requestId: string;
5457
+ result: McpHeadersHandlePendingHeadersRefreshRequest;
5458
+ }
5459
+ /**
5460
+ * Indicates whether the pending MCP headers refresh response was accepted.
5461
+ *
5462
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5463
+ * via the `definition` "McpHeadersHandlePendingHeadersRefreshRequestResult".
5464
+ */
5465
+ /** @experimental */
5466
+ export interface McpHeadersHandlePendingHeadersRefreshRequestResult {
5467
+ /**
5468
+ * Whether the response was accepted. False if the request was unknown, timed out, or already resolved.
5469
+ */
5470
+ success: boolean;
5471
+ }
5326
5472
  /**
5327
5473
  * Host-level state, omitted when no MCP host is initialized.
5328
5474
  *
@@ -5892,6 +6038,7 @@ export interface MetadataSnapshotRemoteMetadataRepository {
5892
6038
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5893
6039
  * via the `definition` "Model".
5894
6040
  */
6041
+ /** @experimental */
5895
6042
  export interface Model {
5896
6043
  /**
5897
6044
  * Model identifier (e.g., "claude-sonnet-4.5")
@@ -5921,6 +6068,7 @@ export interface Model {
5921
6068
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5922
6069
  * via the `definition` "ModelCapabilities".
5923
6070
  */
6071
+ /** @experimental */
5924
6072
  export interface ModelCapabilities {
5925
6073
  supports?: ModelCapabilitiesSupports;
5926
6074
  limits?: ModelCapabilitiesLimits;
@@ -5931,6 +6079,7 @@ export interface ModelCapabilities {
5931
6079
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5932
6080
  * via the `definition` "ModelCapabilitiesSupports".
5933
6081
  */
6082
+ /** @experimental */
5934
6083
  export interface ModelCapabilitiesSupports {
5935
6084
  /**
5936
6085
  * Whether this model supports vision/image input
@@ -5947,6 +6096,7 @@ export interface ModelCapabilitiesSupports {
5947
6096
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5948
6097
  * via the `definition` "ModelCapabilitiesLimits".
5949
6098
  */
6099
+ /** @experimental */
5950
6100
  export interface ModelCapabilitiesLimits {
5951
6101
  /**
5952
6102
  * Maximum number of prompt/input tokens
@@ -5968,6 +6118,7 @@ export interface ModelCapabilitiesLimits {
5968
6118
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5969
6119
  * via the `definition` "ModelCapabilitiesLimitsVision".
5970
6120
  */
6121
+ /** @experimental */
5971
6122
  export interface ModelCapabilitiesLimitsVision {
5972
6123
  /**
5973
6124
  * MIME types the model accepts
@@ -5988,6 +6139,7 @@ export interface ModelCapabilitiesLimitsVision {
5988
6139
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5989
6140
  * via the `definition` "ModelPolicy".
5990
6141
  */
6142
+ /** @experimental */
5991
6143
  export interface ModelPolicy {
5992
6144
  state: ModelPolicyState;
5993
6145
  /**
@@ -6001,12 +6153,17 @@ export interface ModelPolicy {
6001
6153
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6002
6154
  * via the `definition` "ModelBilling".
6003
6155
  */
6156
+ /** @experimental */
6004
6157
  export interface ModelBilling {
6005
6158
  /**
6006
6159
  * Billing cost multiplier relative to the base rate
6007
6160
  */
6008
6161
  multiplier?: number;
6009
6162
  tokenPrices?: ModelBillingTokenPrices;
6163
+ /**
6164
+ * Whole-number percentage discount (0-100) applied to usage billed through this model. Populated for the synthetic `auto` model, where requests routed by auto-mode are billed at a reduced rate; absent for concrete models.
6165
+ */
6166
+ discountPercent?: number;
6010
6167
  }
6011
6168
  /**
6012
6169
  * Token-level pricing information for this model
@@ -6014,6 +6171,7 @@ export interface ModelBilling {
6014
6171
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6015
6172
  * via the `definition` "ModelBillingTokenPrices".
6016
6173
  */
6174
+ /** @experimental */
6017
6175
  export interface ModelBillingTokenPrices {
6018
6176
  /**
6019
6177
  * AI Credits cost per billing batch of input tokens
@@ -6057,6 +6215,7 @@ export interface ModelBillingTokenPrices {
6057
6215
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6058
6216
  * via the `definition` "ModelBillingTokenPricesLongContext".
6059
6217
  */
6218
+ /** @experimental */
6060
6219
  export interface ModelBillingTokenPricesLongContext {
6061
6220
  /**
6062
6221
  * AI Credits cost per billing batch of input tokens
@@ -6166,6 +6325,7 @@ export interface ModelCapabilitiesOverrideLimitsVision {
6166
6325
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6167
6326
  * via the `definition` "ModelList".
6168
6327
  */
6328
+ /** @experimental */
6169
6329
  export interface ModelList {
6170
6330
  /**
6171
6331
  * List of available models with full metadata
@@ -6211,6 +6371,7 @@ export interface ModelSetReasoningEffortResult {
6211
6371
  */
6212
6372
  reasoningEffort: string;
6213
6373
  }
6374
+ /** @experimental */
6214
6375
  export interface ModelsListRequest {
6215
6376
  /**
6216
6377
  * 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.
@@ -7483,6 +7644,7 @@ export interface PermissionsFolderTrustAddTrustedResult {
7483
7644
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7484
7645
  * via the `definition` "PermissionsGetAllowAllRequest".
7485
7646
  */
7647
+ /** @experimental */
7486
7648
  export interface PermissionsGetAllowAllRequest {
7487
7649
  }
7488
7650
  /**
@@ -7565,6 +7727,7 @@ export interface PermissionsPathsAddResult {
7565
7727
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7566
7728
  * via the `definition` "PermissionsPathsListRequest".
7567
7729
  */
7730
+ /** @experimental */
7568
7731
  export interface PermissionsPathsListRequest {
7569
7732
  }
7570
7733
  /**
@@ -7586,6 +7749,7 @@ export interface PermissionsPathsUpdatePrimaryResult {
7586
7749
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7587
7750
  * via the `definition` "PermissionsPendingRequestsRequest".
7588
7751
  */
7752
+ /** @experimental */
7589
7753
  export interface PermissionsPendingRequestsRequest {
7590
7754
  }
7591
7755
  /**
@@ -7594,6 +7758,7 @@ export interface PermissionsPendingRequestsRequest {
7594
7758
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7595
7759
  * via the `definition` "PermissionsResetSessionApprovalsRequest".
7596
7760
  */
7761
+ /** @experimental */
7597
7762
  export interface PermissionsResetSessionApprovalsRequest {
7598
7763
  }
7599
7764
  /**
@@ -7708,6 +7873,7 @@ export interface PermissionUrlsSetUnrestrictedModeParams {
7708
7873
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7709
7874
  * via the `definition` "PingRequest".
7710
7875
  */
7876
+ /** @experimental */
7711
7877
  export interface PingRequest {
7712
7878
  /**
7713
7879
  * Optional message to echo back
@@ -7720,6 +7886,7 @@ export interface PingRequest {
7720
7886
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7721
7887
  * via the `definition` "PingResult".
7722
7888
  */
7889
+ /** @experimental */
7723
7890
  export interface PingResult {
7724
7891
  /**
7725
7892
  * Echoed message (or default greeting)
@@ -8043,6 +8210,10 @@ export interface PluginsUninstallRequest {
8043
8210
  * Plugin name or "plugin@marketplace" spec to uninstall. When ambiguous, prefer the fully-qualified spec.
8044
8211
  */
8045
8212
  name: string;
8213
+ /**
8214
+ * Stable source identity for a direct (non-marketplace) install. Disambiguates uninstall when multiple installed plugins share the same name.
8215
+ */
8216
+ directSourceId?: string | null;
8046
8217
  }
8047
8218
  /**
8048
8219
  * Name (or spec) of the plugin to update.
@@ -8541,6 +8712,279 @@ export interface PushAttachmentGitHubReference {
8541
8712
  */
8542
8713
  url: string;
8543
8714
  }
8715
+ /**
8716
+ * Pointer to a GitHub commit.
8717
+ *
8718
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8719
+ * via the `definition` "PushAttachmentGitHubCommit".
8720
+ */
8721
+ /** @experimental */
8722
+ export interface PushAttachmentGitHubCommit {
8723
+ /**
8724
+ * Attachment type discriminator
8725
+ */
8726
+ type: "github_commit";
8727
+ repo: PushGitHubRepoRef;
8728
+ /**
8729
+ * Full commit SHA
8730
+ */
8731
+ oid: string;
8732
+ /**
8733
+ * First line of the commit message
8734
+ */
8735
+ message: string;
8736
+ /**
8737
+ * URL to the commit on GitHub
8738
+ */
8739
+ url: string;
8740
+ }
8741
+ /**
8742
+ * Pointer to a GitHub repository.
8743
+ *
8744
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8745
+ * via the `definition` "PushGitHubRepoRef".
8746
+ */
8747
+ /** @experimental */
8748
+ export interface PushGitHubRepoRef {
8749
+ /**
8750
+ * Numeric GitHub repository id
8751
+ */
8752
+ id?: number;
8753
+ /**
8754
+ * Repository name (without owner)
8755
+ */
8756
+ name: string;
8757
+ /**
8758
+ * Repository owner login (user or organization)
8759
+ */
8760
+ owner: string;
8761
+ }
8762
+ /**
8763
+ * Pointer to a GitHub release.
8764
+ *
8765
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8766
+ * via the `definition` "PushAttachmentGitHubRelease".
8767
+ */
8768
+ /** @experimental */
8769
+ export interface PushAttachmentGitHubRelease {
8770
+ /**
8771
+ * Attachment type discriminator
8772
+ */
8773
+ type: "github_release";
8774
+ repo: PushGitHubRepoRef;
8775
+ /**
8776
+ * Git tag the release is anchored to
8777
+ */
8778
+ tagName: string;
8779
+ /**
8780
+ * Human-readable release name
8781
+ */
8782
+ name: string;
8783
+ /**
8784
+ * URL to the release on GitHub
8785
+ */
8786
+ url: string;
8787
+ }
8788
+ /**
8789
+ * Pointer to a GitHub Actions job.
8790
+ *
8791
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8792
+ * via the `definition` "PushAttachmentGitHubActionsJob".
8793
+ */
8794
+ /** @experimental */
8795
+ export interface PushAttachmentGitHubActionsJob {
8796
+ /**
8797
+ * Attachment type discriminator
8798
+ */
8799
+ type: "github_actions_job";
8800
+ repo: PushGitHubRepoRef;
8801
+ /**
8802
+ * Job id within the workflow run
8803
+ */
8804
+ jobId: number;
8805
+ /**
8806
+ * Display name of the job
8807
+ */
8808
+ jobName: string;
8809
+ /**
8810
+ * Display name of the workflow the job ran in
8811
+ */
8812
+ workflowName: string;
8813
+ /**
8814
+ * URL to the job on GitHub
8815
+ */
8816
+ url: string;
8817
+ /**
8818
+ * Terminal conclusion of the job when finished (e.g., success, failure, cancelled). Absent for in-progress jobs.
8819
+ */
8820
+ conclusion?: string;
8821
+ }
8822
+ /**
8823
+ * Pointer to a GitHub repository.
8824
+ *
8825
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8826
+ * via the `definition` "PushAttachmentGitHubRepository".
8827
+ */
8828
+ /** @experimental */
8829
+ export interface PushAttachmentGitHubRepository {
8830
+ /**
8831
+ * Attachment type discriminator
8832
+ */
8833
+ type: "github_repository";
8834
+ repo: PushGitHubRepoRef;
8835
+ /**
8836
+ * URL to the repository on GitHub
8837
+ */
8838
+ url: string;
8839
+ /**
8840
+ * Short description of the repository
8841
+ */
8842
+ description?: string;
8843
+ /**
8844
+ * Git ref this attachment is anchored at (branch, tag, or commit). When absent the default branch is implied.
8845
+ */
8846
+ ref?: string;
8847
+ }
8848
+ /**
8849
+ * Pointer to a single-file diff. At least one of `head` and `base` must be present.
8850
+ *
8851
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8852
+ * via the `definition` "PushAttachmentGitHubFileDiff".
8853
+ */
8854
+ /** @experimental */
8855
+ export interface PushAttachmentGitHubFileDiff {
8856
+ /**
8857
+ * Attachment type discriminator
8858
+ */
8859
+ type: "github_file_diff";
8860
+ /**
8861
+ * URL to the diff on GitHub (e.g., a commit, compare, or PR-file URL)
8862
+ */
8863
+ url: string;
8864
+ head?: PushAttachmentGitHubFileDiffSide;
8865
+ base?: PushAttachmentGitHubFileDiffSide;
8866
+ }
8867
+ /**
8868
+ * One side of a file diff (head or base)
8869
+ *
8870
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8871
+ * via the `definition` "PushAttachmentGitHubFileDiffSide".
8872
+ */
8873
+ /** @experimental */
8874
+ export interface PushAttachmentGitHubFileDiffSide {
8875
+ repo: PushGitHubRepoRef;
8876
+ /**
8877
+ * Git ref (branch, tag, or commit SHA) the file is read at
8878
+ */
8879
+ ref: string;
8880
+ /**
8881
+ * Repository-relative path to the file
8882
+ */
8883
+ path: string;
8884
+ }
8885
+ /**
8886
+ * Pointer to a comparison between two git revisions.
8887
+ *
8888
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8889
+ * via the `definition` "PushAttachmentGitHubTreeComparison".
8890
+ */
8891
+ /** @experimental */
8892
+ export interface PushAttachmentGitHubTreeComparison {
8893
+ /**
8894
+ * Attachment type discriminator
8895
+ */
8896
+ type: "github_tree_comparison";
8897
+ /**
8898
+ * URL to the comparison on GitHub
8899
+ */
8900
+ url: string;
8901
+ base: PushAttachmentGitHubTreeComparisonSide;
8902
+ head: PushAttachmentGitHubTreeComparisonSide;
8903
+ }
8904
+ /**
8905
+ * One side of a tree comparison (head or base)
8906
+ *
8907
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8908
+ * via the `definition` "PushAttachmentGitHubTreeComparisonSide".
8909
+ */
8910
+ /** @experimental */
8911
+ export interface PushAttachmentGitHubTreeComparisonSide {
8912
+ repo: PushGitHubRepoRef;
8913
+ /**
8914
+ * Git revision (branch, tag, or commit SHA)
8915
+ */
8916
+ revision: string;
8917
+ }
8918
+ /**
8919
+ * Generic GitHub URL reference.
8920
+ *
8921
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8922
+ * via the `definition` "PushAttachmentGitHubUrl".
8923
+ */
8924
+ /** @experimental */
8925
+ export interface PushAttachmentGitHubUrl {
8926
+ /**
8927
+ * Attachment type discriminator
8928
+ */
8929
+ type: "github_url";
8930
+ /**
8931
+ * URL to the GitHub resource
8932
+ */
8933
+ url: string;
8934
+ }
8935
+ /**
8936
+ * Pointer to a file in a GitHub repository at a specific ref.
8937
+ *
8938
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8939
+ * via the `definition` "PushAttachmentGitHubFile".
8940
+ */
8941
+ /** @experimental */
8942
+ export interface PushAttachmentGitHubFile {
8943
+ /**
8944
+ * Attachment type discriminator
8945
+ */
8946
+ type: "github_file";
8947
+ repo: PushGitHubRepoRef;
8948
+ /**
8949
+ * Git ref the file is read at (branch, tag, or commit SHA)
8950
+ */
8951
+ ref: string;
8952
+ /**
8953
+ * Repository-relative path to the file
8954
+ */
8955
+ path: string;
8956
+ /**
8957
+ * URL to the file on GitHub
8958
+ */
8959
+ url: string;
8960
+ }
8961
+ /**
8962
+ * Pointer to a line range inside a file in a GitHub repository.
8963
+ *
8964
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8965
+ * via the `definition` "PushAttachmentGitHubSnippet".
8966
+ */
8967
+ /** @experimental */
8968
+ export interface PushAttachmentGitHubSnippet {
8969
+ /**
8970
+ * Attachment type discriminator
8971
+ */
8972
+ type: "github_snippet";
8973
+ repo: PushGitHubRepoRef;
8974
+ /**
8975
+ * Git ref the file is read at (branch, tag, or commit SHA)
8976
+ */
8977
+ ref: string;
8978
+ /**
8979
+ * Repository-relative path to the file
8980
+ */
8981
+ path: string;
8982
+ /**
8983
+ * URL to the snippet on GitHub (with line anchor)
8984
+ */
8985
+ url: string;
8986
+ lineRange: PushAttachmentFileLineRange;
8987
+ }
8544
8988
  /**
8545
8989
  * Blob attachment with inline base64-encoded data
8546
8990
  *
@@ -9188,6 +9632,7 @@ export interface ScheduleStopResult {
9188
9632
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9189
9633
  * via the `definition` "SecretsAddFilterValuesRequest".
9190
9634
  */
9635
+ /** @experimental */
9191
9636
  export interface SecretsAddFilterValuesRequest {
9192
9637
  /**
9193
9638
  * Raw secret values to register for redaction
@@ -9200,6 +9645,7 @@ export interface SecretsAddFilterValuesRequest {
9200
9645
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9201
9646
  * via the `definition` "SecretsAddFilterValuesResult".
9202
9647
  */
9648
+ /** @experimental */
9203
9649
  export interface SecretsAddFilterValuesResult {
9204
9650
  /**
9205
9651
  * Whether the values were successfully registered
@@ -9321,6 +9767,7 @@ export interface ServerInstructionSourceList {
9321
9767
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9322
9768
  * via the `definition` "ServerSkill".
9323
9769
  */
9770
+ /** @experimental */
9324
9771
  export interface ServerSkill {
9325
9772
  /**
9326
9773
  * Unique identifier for the skill
@@ -9358,6 +9805,7 @@ export interface ServerSkill {
9358
9805
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9359
9806
  * via the `definition` "ServerSkillList".
9360
9807
  */
9808
+ /** @experimental */
9361
9809
  export interface ServerSkillList {
9362
9810
  /**
9363
9811
  * All discovered skills across all sources
@@ -9692,6 +10140,7 @@ export interface SessionFsRmRequest {
9692
10140
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9693
10141
  * via the `definition` "SessionFsSetProviderCapabilities".
9694
10142
  */
10143
+ /** @experimental */
9695
10144
  export interface SessionFsSetProviderCapabilities {
9696
10145
  /**
9697
10146
  * Whether the provider supports SQLite query/exists operations
@@ -9704,6 +10153,7 @@ export interface SessionFsSetProviderCapabilities {
9704
10153
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9705
10154
  * via the `definition` "SessionFsSetProviderRequest".
9706
10155
  */
10156
+ /** @experimental */
9707
10157
  export interface SessionFsSetProviderRequest {
9708
10158
  /**
9709
10159
  * Initial working directory for sessions
@@ -9722,6 +10172,7 @@ export interface SessionFsSetProviderRequest {
9722
10172
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9723
10173
  * via the `definition` "SessionFsSetProviderResult".
9724
10174
  */
10175
+ /** @experimental */
9725
10176
  export interface SessionFsSetProviderResult {
9726
10177
  /**
9727
10178
  * Whether the provider was set successfully
@@ -10054,6 +10505,10 @@ export interface SessionMetadataSnapshot {
10054
10505
  * Currently selected model identifier, if any
10055
10506
  */
10056
10507
  selectedModel?: string;
10508
+ /**
10509
+ * Current response limits for the session, or null when no limits are active
10510
+ */
10511
+ responseLimits: ResponseLimitsConfig | null;
10057
10512
  /**
10058
10513
  * 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).
10059
10514
  */
@@ -10195,6 +10650,10 @@ export interface SessionOpenOptions {
10195
10650
  */
10196
10651
  logInteractiveShells?: boolean;
10197
10652
  envValueMode?: SessionOpenOptionsEnvValueMode;
10653
+ /**
10654
+ * Whether to include instructions from every MCP server in the system prompt instead of only allowlisted servers.
10655
+ */
10656
+ allowAllMcpServerInstructions?: boolean;
10198
10657
  /**
10199
10658
  * Additional directories to search for skills.
10200
10659
  */
@@ -10262,6 +10721,7 @@ export interface SessionOpenOptions {
10262
10721
  */
10263
10722
  maxInlineBinaryBytes?: number;
10264
10723
  modelCapabilitiesOverrides?: ModelCapabilitiesOverride;
10724
+ responseLimits?: ResponseLimitsConfig;
10265
10725
  /**
10266
10726
  * Runtime context discriminator for agent filtering.
10267
10727
  */
@@ -10623,6 +11083,10 @@ export interface SessionSetCredentialsResult {
10623
11083
  * Whether the operation succeeded
10624
11084
  */
10625
11085
  success: boolean;
11086
+ /**
11087
+ * Whether the session ended up with a populated `copilotUser` for the installed credentials. `true` when the supplied credential already carried `copilotUser` or it was successfully re-resolved server-side. `false` when the credential is installed without `copilotUser` — either re-resolution failed, or the variant cannot be re-resolved from the credential alone (only the raw-token variants `token`, `env`, and `gh-cli` can). In both `false` cases the token swap still applied, but plan/quota/billing metadata is degraded. Present whenever a credential was supplied; omitted only when no credential was supplied (no-op call).
11088
+ */
11089
+ copilotUserResolved?: boolean;
10626
11090
  }
10627
11091
  /**
10628
11092
  * UUID prefix to resolve to a unique session ID.
@@ -11135,6 +11599,10 @@ export interface SessionUpdateOptionsParams {
11135
11599
  */
11136
11600
  logInteractiveShells?: boolean;
11137
11601
  envValueMode?: OptionsUpdateEnvValueMode;
11602
+ /**
11603
+ * Whether to include instructions from every MCP server in the system prompt instead of only allowlisted servers.
11604
+ */
11605
+ allowAllMcpServerInstructions?: boolean;
11138
11606
  /**
11139
11607
  * Additional directories to search for skills.
11140
11608
  */
@@ -11250,6 +11718,10 @@ export interface SessionUpdateOptionsParams {
11250
11718
  */
11251
11719
  enableSkills?: boolean;
11252
11720
  contextTier?: OptionsUpdateContextTier;
11721
+ /**
11722
+ * Optional response limits. Pass null to clear the response limits.
11723
+ */
11724
+ responseLimits?: ResponseLimitsConfig | null;
11253
11725
  }
11254
11726
  /**
11255
11727
  * Indicates whether the session options patch was applied successfully.
@@ -11461,6 +11933,7 @@ export interface SkillList {
11461
11933
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11462
11934
  * via the `definition` "SkillsConfigSetDisabledSkillsRequest".
11463
11935
  */
11936
+ /** @experimental */
11464
11937
  export interface SkillsConfigSetDisabledSkillsRequest {
11465
11938
  /**
11466
11939
  * List of skill names to disable
@@ -11486,6 +11959,7 @@ export interface SkillsDisableRequest {
11486
11959
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11487
11960
  * via the `definition` "SkillsDiscoverRequest".
11488
11961
  */
11962
+ /** @experimental */
11489
11963
  export interface SkillsDiscoverRequest {
11490
11964
  /**
11491
11965
  * Optional list of project directory paths to scan for project-scoped skills
@@ -12175,6 +12649,7 @@ export interface TelemetrySetFeatureOverridesRequest {
12175
12649
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12176
12650
  * via the `definition` "Tool".
12177
12651
  */
12652
+ /** @experimental */
12178
12653
  export interface Tool {
12179
12654
  /**
12180
12655
  * Tool identifier (e.g., "bash", "grep", "str_replace_editor")
@@ -12205,6 +12680,7 @@ export interface Tool {
12205
12680
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12206
12681
  * via the `definition` "ToolList".
12207
12682
  */
12683
+ /** @experimental */
12208
12684
  export interface ToolList {
12209
12685
  /**
12210
12686
  * List of available built-in tools with metadata
@@ -12239,6 +12715,7 @@ export interface ToolsInitializeAndValidateResult {
12239
12715
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12240
12716
  * via the `definition` "ToolsListRequest".
12241
12717
  */
12718
+ /** @experimental */
12242
12719
  export interface ToolsListRequest {
12243
12720
  /**
12244
12721
  * Optional model ID — when provided, the returned tool list reflects model-specific overrides
@@ -13019,6 +13496,120 @@ export interface UserRequestedShellCommandResult {
13019
13496
  */
13020
13497
  error?: string;
13021
13498
  }
13499
+ /**
13500
+ * A single user setting's effective value alongside its default, so consumers can render settings left at their default.
13501
+ *
13502
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13503
+ * via the `definition` "UserSettingMetadata".
13504
+ */
13505
+ /** @experimental */
13506
+ export interface UserSettingMetadata {
13507
+ /**
13508
+ * The effective value: the user's value if set, otherwise the default.
13509
+ */
13510
+ value: {
13511
+ [k: string]: unknown | undefined;
13512
+ };
13513
+ /**
13514
+ * The centrally-known default for this setting (null when no default is registered).
13515
+ */
13516
+ default: {
13517
+ [k: string]: unknown | undefined;
13518
+ };
13519
+ /**
13520
+ * 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.
13521
+ */
13522
+ isDefault: boolean;
13523
+ }
13524
+ /**
13525
+ * 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.
13526
+ *
13527
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13528
+ * via the `definition` "UserSettingsGetResult".
13529
+ */
13530
+ /** @experimental */
13531
+ export interface UserSettingsGetResult {
13532
+ /**
13533
+ * Every known user setting keyed by setting name, each with its effective value, default, and whether it is at the default.
13534
+ */
13535
+ settings: {
13536
+ [k: string]: UserSettingMetadata;
13537
+ };
13538
+ }
13539
+ /**
13540
+ * 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.
13541
+ *
13542
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13543
+ * via the `definition` "UserSettingsSetRequest".
13544
+ */
13545
+ /** @experimental */
13546
+ export interface UserSettingsSetRequest {
13547
+ /**
13548
+ * Partial user settings to write, as a free-form object keyed by setting name
13549
+ */
13550
+ settings: {
13551
+ [k: string]: unknown | undefined;
13552
+ };
13553
+ }
13554
+ /**
13555
+ * Outcome of writing user settings.
13556
+ *
13557
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13558
+ * via the `definition` "UserSettingsSetResult".
13559
+ */
13560
+ /** @experimental */
13561
+ export interface UserSettingsSetResult {
13562
+ /**
13563
+ * 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.
13564
+ */
13565
+ shadowedKeys: string[];
13566
+ }
13567
+ /**
13568
+ * Current sharing status and shareable GitHub URL for a session.
13569
+ *
13570
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13571
+ * via the `definition` "VisibilityGetResult".
13572
+ */
13573
+ /** @experimental */
13574
+ export interface VisibilityGetResult {
13575
+ /**
13576
+ * 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.
13577
+ */
13578
+ synced: boolean;
13579
+ status?: SessionVisibilityStatus;
13580
+ /**
13581
+ * Shareable GitHub URL for the session. Present when the session is synced and the URL can be resolved.
13582
+ */
13583
+ shareUrl?: string;
13584
+ }
13585
+ /**
13586
+ * Desired sharing status for the session.
13587
+ *
13588
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13589
+ * via the `definition` "VisibilitySetRequest".
13590
+ */
13591
+ /** @experimental */
13592
+ export interface VisibilitySetRequest {
13593
+ status: SessionVisibilityStatus;
13594
+ }
13595
+ /**
13596
+ * Effective sharing status and shareable GitHub URL after updating session visibility.
13597
+ *
13598
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13599
+ * via the `definition` "VisibilitySetResult".
13600
+ */
13601
+ /** @experimental */
13602
+ export interface VisibilitySetResult {
13603
+ /**
13604
+ * 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.
13605
+ */
13606
+ synced: boolean;
13607
+ status?: SessionVisibilityStatus;
13608
+ /**
13609
+ * Shareable GitHub URL for the session. Present when the session is synced and the URL can be resolved.
13610
+ */
13611
+ shareUrl?: string;
13612
+ }
13022
13613
  /**
13023
13614
  * A single changed file and its unified diff.
13024
13615
  *
@@ -13303,8 +13894,11 @@ export declare function createServerRpc(connection: MessageConnection): {
13303
13894
  * @param params Optional message to echo back to the caller.
13304
13895
  *
13305
13896
  * @returns Server liveness response, including the echoed message, current server timestamp, and protocol version.
13897
+ *
13898
+ * @experimental
13306
13899
  */
13307
13900
  ping: (params: PingRequest) => Promise<PingResult>;
13901
+ /** @experimental */
13308
13902
  models: {
13309
13903
  /**
13310
13904
  * Lists Copilot models available to the authenticated user.
@@ -13315,6 +13909,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13315
13909
  */
13316
13910
  list: (params: ModelsListRequest) => Promise<ModelList>;
13317
13911
  };
13912
+ /** @experimental */
13318
13913
  tools: {
13319
13914
  /**
13320
13915
  * Lists built-in tools available for a model.
@@ -13325,6 +13920,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13325
13920
  */
13326
13921
  list: (params: ToolsListRequest) => Promise<ToolList>;
13327
13922
  };
13923
+ /** @experimental */
13328
13924
  account: {
13329
13925
  /**
13330
13926
  * Gets Copilot quota usage for the authenticated user or supplied GitHub token.
@@ -13363,6 +13959,7 @@ export declare function createServerRpc(connection: MessageConnection): {
13363
13959
  */
13364
13960
  logout: (params: AccountLogoutRequest) => Promise<AccountLogoutResult>;
13365
13961
  };
13962
+ /** @experimental */
13366
13963
  secrets: {
13367
13964
  /**
13368
13965
  * Registers secret values for redaction in session logs and exports. The SDK calls this to inject dynamically generated secret values (e.g., OIDC tokens).
@@ -13373,7 +13970,9 @@ export declare function createServerRpc(connection: MessageConnection): {
13373
13970
  */
13374
13971
  addFilterValues: (params: SecretsAddFilterValuesRequest) => Promise<SecretsAddFilterValuesResult>;
13375
13972
  };
13973
+ /** @experimental */
13376
13974
  mcp: {
13975
+ /** @experimental */
13377
13976
  config: {
13378
13977
  /**
13379
13978
  * Lists MCP servers from user configuration.
@@ -13515,7 +14114,9 @@ export declare function createServerRpc(connection: MessageConnection): {
13515
14114
  refresh: (params: PluginsMarketplacesRefreshRequest) => Promise<MarketplaceRefreshResult>;
13516
14115
  };
13517
14116
  };
14117
+ /** @experimental */
13518
14118
  skills: {
14119
+ /** @experimental */
13519
14120
  config: {
13520
14121
  /**
13521
14122
  * Replaces the global list of disabled skills.
@@ -13538,8 +14139,6 @@ export declare function createServerRpc(connection: MessageConnection): {
13538
14139
  * @param params Optional project paths to enumerate.
13539
14140
  *
13540
14141
  * @returns Canonical locations where skills can be created so the runtime will recognize them.
13541
- *
13542
- * @experimental
13543
14142
  */
13544
14143
  getDiscoveryPaths: (params: SkillsGetDiscoveryPathsRequest) => Promise<SkillDiscoveryPathList>;
13545
14144
  };
@@ -13581,20 +14180,38 @@ export declare function createServerRpc(connection: MessageConnection): {
13581
14180
  */
13582
14181
  getDiscoveryPaths: (params: InstructionsGetDiscoveryPathsRequest) => Promise<InstructionDiscoveryPathList>;
13583
14182
  };
14183
+ /** @experimental */
13584
14184
  user: {
14185
+ /** @experimental */
13585
14186
  settings: {
13586
14187
  /**
13587
14188
  * Drops this runtime process's in-memory user settings cache so the next settings read observes disk.
13588
14189
  */
13589
14190
  reload: () => Promise<void>;
14191
+ /**
14192
+ * 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.
14193
+ *
14194
+ * @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.
14195
+ */
14196
+ get: () => Promise<UserSettingsGetResult>;
14197
+ /**
14198
+ * 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.
14199
+ *
14200
+ * @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.
14201
+ *
14202
+ * @returns Outcome of writing user settings.
14203
+ */
14204
+ set: (params: UserSettingsSetRequest) => Promise<UserSettingsSetResult>;
13590
14205
  };
13591
14206
  };
14207
+ /** @experimental */
13592
14208
  runtime: {
13593
14209
  /**
13594
14210
  * Gracefully shuts down an SDK-owned runtime. The response is sent only after cleanup completes; callers may then terminate the owned runtime process.
13595
14211
  */
13596
14212
  shutdown: () => Promise<void>;
13597
14213
  };
14214
+ /** @experimental */
13598
14215
  sessionFs: {
13599
14216
  /**
13600
14217
  * Registers an SDK client as the session filesystem provider.
@@ -13862,7 +14479,7 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
13862
14479
  */
13863
14480
  shutdown: (params: ShutdownRequest) => Promise<void>;
13864
14481
  /** @experimental */
13865
- auth: {
14482
+ gitHubAuth: {
13866
14483
  /**
13867
14484
  * Gets authentication status and account metadata for the session.
13868
14485
  *
@@ -14346,6 +14963,17 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
14346
14963
  login: (params: McpOauthLoginRequest) => Promise<McpOauthLoginResult>;
14347
14964
  };
14348
14965
  /** @experimental */
14966
+ headers: {
14967
+ /**
14968
+ * Responds to a pending MCP dynamic headers refresh request. Hosts that subscribe to `mcp.headers_refresh_required` use this to provide short-lived per-server headers or to indicate that no dynamic headers are available for this refresh.
14969
+ *
14970
+ * @param params MCP headers refresh request id and the host response.
14971
+ *
14972
+ * @returns Indicates whether the pending MCP headers refresh response was accepted.
14973
+ */
14974
+ handlePendingHeadersRefreshRequest: (params: McpHeadersHandlePendingHeadersRefreshRequestRequest) => Promise<McpHeadersHandlePendingHeadersRefreshRequestResult>;
14975
+ };
14976
+ /** @experimental */
14349
14977
  apps: {
14350
14978
  /**
14351
14979
  * Fetch an MCP resource (typically a `ui://` MCP App bundle, per SEP-1865) from a connected server. Requires the `mcp-apps` session capability.
@@ -14524,7 +15152,7 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
14524
15152
  *
14525
15153
  * @param params Slash command name and optional raw input string to invoke.
14526
15154
  *
14527
- * @returns Result of invoking the slash command (text output, prompt to send to the agent, or completion).
15155
+ * @returns Result of invoking the slash command (text output, prompt to send to the agent, completion, or subcommand selection).
14528
15156
  */
14529
15157
  invoke: (params: CommandsInvokeRequest) => Promise<SlashCommandInvocationResult>;
14530
15158
  /**
@@ -15043,6 +15671,23 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
15043
15671
  notifySteerableChanged: (params: RemoteNotifySteerableChangedRequest) => Promise<RemoteNotifySteerableChangedResult>;
15044
15672
  };
15045
15673
  /** @experimental */
15674
+ visibility: {
15675
+ /**
15676
+ * 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").
15677
+ *
15678
+ * @returns Current sharing status and shareable GitHub URL for a session.
15679
+ */
15680
+ get: () => Promise<VisibilityGetResult>;
15681
+ /**
15682
+ * 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.
15683
+ *
15684
+ * @param params Desired sharing status for the session.
15685
+ *
15686
+ * @returns Effective sharing status and shareable GitHub URL after updating session visibility.
15687
+ */
15688
+ set: (params: VisibilitySetRequest) => Promise<VisibilitySetResult>;
15689
+ };
15690
+ /** @experimental */
15046
15691
  schedule: {
15047
15692
  /**
15048
15693
  * Lists the session's currently active scheduled prompts.