@github/copilot-sdk 1.0.17-preview.1 → 1.0.17-preview.10

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.
@@ -15,7 +15,7 @@ export type JsonValue = null | boolean | number | string | JsonValue[] | {
15
15
  * via the `definition` "AuthInfo".
16
16
  */
17
17
  /** @experimental */
18
- export type AuthInfo = HMACAuthInfo | EnvAuthInfo | TokenAuthInfo | TokenProviderAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
18
+ export type AuthInfo = HMACAuthInfo | EnvAuthInfo | TokenAuthInfo | TokenProviderAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | AccountAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
19
19
  /**
20
20
  * The provider kind stamped on a signed-in account.
21
21
  *
@@ -383,6 +383,8 @@ export type AuthInfoType =
383
383
  | "env"
384
384
  /** Authentication from an interactive user sign-in. */
385
385
  | "user"
386
+ /** Authentication from a selected provider-owned account, without a GitHub credential. */
387
+ | "account"
386
388
  /** Authentication delegated to the GitHub CLI. */
387
389
  | "gh-cli"
388
390
  /** Authentication from an API key credential. */
@@ -445,17 +447,19 @@ export type AuthLoginStep = {
445
447
  kind: "error";
446
448
  };
447
449
  /**
448
- * Terminal disposition of a login persistence attempt.
450
+ * Disposition of a login attempt, including pending user decisions.
449
451
  *
450
452
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
451
453
  * via the `definition` "AuthLoginResultStatus".
452
454
  */
453
455
  /** @experimental */
454
456
  export type AuthLoginResultStatus =
455
- /** The credential was persisted and the account is signed in. */
457
+ /** The credential was persisted and the selected account is signed in. */
456
458
  "completed"
457
459
  /** Persistence needs explicit consent to store the token in plaintext. */
458
460
  | "needs-plaintext-consent"
461
+ /** Credentials are saved; select an account using a returned selectionId as advance input to complete sign-in. */
462
+ | "needs-account-selection"
459
463
  /** The user declined plaintext persistence. */
460
464
  | "declined";
461
465
  /**
@@ -467,6 +471,7 @@ export type AuthLoginResultStatus =
467
471
  /** @experimental */
468
472
  export type AuthReadValue = {
469
473
  account?: AccountStatus;
474
+ authInfo?: AuthIdentity;
470
475
  /**
471
476
  * Account read-datum variant discriminator.
472
477
  */
@@ -1358,6 +1363,20 @@ export type ConnectorMcpStatus =
1358
1363
  | "disabled"
1359
1364
  /** The Connector currently has no live server configuration. */
1360
1365
  | "not_configured";
1366
+ /**
1367
+ * Availability.
1368
+ *
1369
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1370
+ * via the `definition` "ConnectorDiscoveryAvailability".
1371
+ */
1372
+ /** @experimental */
1373
+ export type ConnectorDiscoveryAvailability =
1374
+ /** Enabled. */
1375
+ "enabled"
1376
+ /** Disabled. */
1377
+ | "disabled"
1378
+ /** Unavailable. */
1379
+ | "unavailable";
1361
1380
  /**
1362
1381
  * Session account selection, or null.
1363
1382
  *
@@ -1394,6 +1413,44 @@ export type ContentFilterMode =
1394
1413
  | "markdown"
1395
1414
  /** Remove characters that can hide directives. */
1396
1415
  | "hidden_characters";
1416
+ /**
1417
+ * Component of session customization discovery.
1418
+ *
1419
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1420
+ * via the `definition` "CustomizationReloadSubsystem".
1421
+ */
1422
+ /** @experimental */
1423
+ export type CustomizationReloadSubsystem =
1424
+ /** Repository metadata and working-directory context. */
1425
+ "repositoryContext"
1426
+ /** Session instructions and their cached dynamic context. */
1427
+ | "instructions"
1428
+ /** Discovered plugin configuration. */
1429
+ | "plugins"
1430
+ /** Configured session and plugin hooks. */
1431
+ | "hooks"
1432
+ /** Discovered skills. */
1433
+ | "skills"
1434
+ /** Discovered custom agents. */
1435
+ | "agents"
1436
+ /** Loaded MCP server configuration. */
1437
+ | "mcp"
1438
+ /** Configured session extensions. */
1439
+ | "extensions" | (string & {});
1440
+ /**
1441
+ * Result of reloading a customization component.
1442
+ *
1443
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1444
+ * via the `definition` "CustomizationReloadStatus".
1445
+ */
1446
+ /** @experimental */
1447
+ export type CustomizationReloadStatus =
1448
+ /** The component was refreshed successfully. */
1449
+ "reloaded"
1450
+ /** The component was not configured, loaded, or eligible for refresh. */
1451
+ | "skipped"
1452
+ /** The component could not be refreshed; other components may still reload. */
1453
+ | "failed" | (string & {});
1397
1454
  /**
1398
1455
  * Source category for a collected debug bundle entry.
1399
1456
  *
@@ -1700,57 +1757,45 @@ export type DiscoveredMcpServerType =
1700
1757
  /** Server is backed by an in-memory runtime implementation. */
1701
1758
  | "memory";
1702
1759
  /**
1703
- * Indicates whether the command was accepted into the local execution queue.
1760
+ * Kind of component that supplied a provider adapter or row. Attribution does not confer authority.
1704
1761
  *
1705
1762
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1706
- * via the `definition` "EnqueueCommandResult".
1763
+ * via the `definition` "ModelProviderProvenanceSource".
1707
1764
  */
1708
1765
  /** @experimental */
1709
- export type EnqueueCommandResult = AcceptedEnqueueCommandResult | UnsupportedEnqueueCommandResult;
1766
+ export type ModelProviderProvenanceSource =
1767
+ /** Built into the runtime. */
1768
+ "builtIn"
1769
+ /** Derived from existing user configuration. */
1770
+ | "configured"
1771
+ /** Supplied by an extension. */
1772
+ | "extension"
1773
+ /** Supplied by another trusted contributor. */
1774
+ | "custom";
1710
1775
  /**
1711
- * How far OneAuth may go to acquire the requested token.
1776
+ * Typed outcome for a provider operation.
1712
1777
  *
1713
1778
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1714
- * via the `definition` "EntraTokenInteraction".
1779
+ * via the `definition` "ModelProviderOperationOutcomeCode".
1715
1780
  */
1716
1781
  /** @experimental */
1717
- export type EntraTokenInteraction =
1718
- /** Acquire the token without any user interaction, failing if interaction would be required. */
1719
- "silent"
1720
- /** Allow interactive acquisition, prompting the user only when a cached or silent token is unavailable. */
1721
- | "interactive"
1722
- /** Always prompt interactively, bypassing any cached or silently-refreshable token. */
1723
- | "force-interactive";
1782
+ export type ModelProviderOperationOutcomeCode =
1783
+ /** The operation completed successfully; an empty inventory is valid. */
1784
+ "success"
1785
+ /** The provider or instance is absent during discovery, status, or model listing. Distinct from a successful empty inventory. */
1786
+ | "absent"
1787
+ /** The provider is configured or expected but could not be reached. */
1788
+ | "unreachable"
1789
+ /** The operation failed for a reason other than absence or reachability. */
1790
+ | "failed";
1724
1791
  /**
1725
- * Result of a OneAuth token acquisition.
1792
+ * Indicates whether the command was accepted into the local execution queue.
1726
1793
  *
1727
1794
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1728
- * via the `definition` "EntraTokenAcquireResult".
1795
+ * via the `definition` "EnqueueCommandResult".
1729
1796
  */
1730
1797
  /** @experimental */
1731
- export type EntraTokenAcquireResult = {
1732
- /**
1733
- * Opaque access token.
1734
- */
1735
- accessToken: string;
1736
- /**
1737
- * Expiry as milliseconds since Unix epoch, when supplied by OneAuth.
1738
- */
1739
- expiresOnTimestamp?: number;
1740
- /**
1741
- * Opaque OneAuth account id, when supplied by the broker.
1742
- */
1743
- accountId?: string;
1744
- /**
1745
- * OneAuth token acquisition outcome discriminator.
1746
- */
1747
- status: "ok";
1748
- } | {
1749
- /**
1750
- * OneAuth token acquisition outcome discriminator.
1751
- */
1752
- status: "interaction-required";
1753
- };
1798
+ export type EnqueueCommandResult = AcceptedEnqueueCommandResult | UnsupportedEnqueueCommandResult;
1754
1799
  /**
1755
1800
  * GitHub Mission Control compute kind.
1756
1801
  *
@@ -1945,6 +1990,14 @@ export type GitHubTokenAcquireResult = {
1945
1990
  */
1946
1991
  kind: "cancelled";
1947
1992
  };
1993
+ /**
1994
+ * Source for direct repo installs (when marketplace is empty)
1995
+ *
1996
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1997
+ * via the `definition` "InstalledPluginSource".
1998
+ */
1999
+ /** @experimental */
2000
+ export type InstalledPluginSource = string | InstalledPluginSourceGitHub | InstalledPluginSourceUrl | InstalledPluginSourceLocal;
1948
2001
  /**
1949
2002
  * Optional compaction parameters.
1950
2003
  *
@@ -2412,14 +2465,6 @@ export type InstallationDecision =
2412
2465
  | "decline"
2413
2466
  /** The user cancelled the pending decision without granting consent. */
2414
2467
  | "cancel";
2415
- /**
2416
- * Source for direct repo installs (when marketplace is empty)
2417
- *
2418
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2419
- * via the `definition` "InstalledPluginSource".
2420
- */
2421
- /** @experimental */
2422
- export type InstalledPluginSource = string | InstalledPluginSourceGitHub | InstalledPluginSourceUrl | InstalledPluginSourceLocal;
2423
2468
  /**
2424
2469
  * Which tier this target belongs to
2425
2470
  *
@@ -3356,15 +3401,15 @@ export type SessionContextAttribution = {
3356
3401
  */
3357
3402
  modelSource: string;
3358
3403
  /**
3359
- * Maximum prompt tokens the resolved model accepts — the denominator for a `##k/###k` context-usage display. Mirrors `SessionContextInfo.promptTokenLimit`.
3404
+ * Effective input budget after reserving requested output against the combined context ceiling. Mirrors `SessionContextInfo.promptTokenLimit`.
3360
3405
  */
3361
3406
  promptTokenLimit: number;
3362
3407
  /**
3363
- * Prompt limit plus the model's output reserve: the full context window `categories.freeSpace` and `categories.buffer` are measured against. Mirrors `SessionContextInfo.limit`.
3408
+ * Advertised prompt allowance for the selected context tier: the denominator for context-usage displays and capacity for `categories.freeSpace` and `categories.buffer`. Mirrors `SessionContextInfo.limit`.
3364
3409
  */
3365
3410
  limit: number;
3366
3411
  /**
3367
- * Output reserve plus the tokens past the buffer-exhaustion blocking threshold. Mirrors `SessionContextInfo.bufferTokens`.
3412
+ * Output reservation overlapping the displayed prompt allowance plus the tokens past the effective input budget's buffer-exhaustion blocking threshold. Mirrors `SessionContextInfo.bufferTokens`.
3368
3413
  */
3369
3414
  bufferTokens: number;
3370
3415
  /**
@@ -3400,7 +3445,7 @@ export type SessionContextAttribution = {
3400
3445
  */
3401
3446
  freeSpace: number;
3402
3447
  /**
3403
- * Output reserve plus post-blocking-threshold buffer.
3448
+ * Overlapping output reservation plus post-blocking-threshold buffer.
3404
3449
  */
3405
3450
  buffer: number;
3406
3451
  };
@@ -3478,7 +3523,7 @@ export type SessionContextInfo = {
3478
3523
  */
3479
3524
  totalTokens: number;
3480
3525
  /**
3481
- * Maximum prompt tokens allowed by the model (or DEFAULT_TOKEN_LIMIT if unspecified)
3526
+ * Effective input budget: the selected tier's prompt allowance bounded by the combined context ceiling minus the requested output allowance. Uses DEFAULT_TOKEN_LIMIT when limits are unspecified.
3482
3527
  */
3483
3528
  promptTokenLimit: number;
3484
3529
  /**
@@ -3486,11 +3531,11 @@ export type SessionContextInfo = {
3486
3531
  */
3487
3532
  compactionThreshold: number;
3488
3533
  /**
3489
- * Prompt token limit plus the model's full output token limit.
3534
+ * Advertised prompt allowance for the selected context tier, without adding output tokens. The denominator for context-usage displays.
3490
3535
  */
3491
3536
  limit: number;
3492
3537
  /**
3493
- * Output reserve plus tokens after the buffer-exhaustion blocking threshold (default 95%)
3538
+ * Output reservation overlapping the displayed prompt allowance plus tokens after the effective input budget's buffer-exhaustion blocking threshold (default 95%).
3494
3539
  */
3495
3540
  bufferTokens: number;
3496
3541
  } | null;
@@ -3604,17 +3649,49 @@ export type ModelListRequest = {
3604
3649
  skipCache?: boolean;
3605
3650
  };
3606
3651
  /**
3607
- * Whether the requested preference was already effective or was accepted for later transactional activation.
3652
+ * When the runtime may run an adapter without an explicit user action.
3608
3653
  *
3609
3654
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3610
- * via the `definition` "ModelSwitchAutoTierStatus".
3655
+ * via the `definition` "ModelProviderAutomaticDiscoveryMode".
3611
3656
  */
3612
3657
  /** @experimental */
3613
- export type ModelSwitchAutoTierStatus =
3614
- /** The requested preference is already effective. No activation is pending for it, although this request may have cancelled an earlier unclaimed preference reported in `supersededAutoTier`. */
3615
- "unchanged"
3616
- /** The request was accepted but has not committed. A later user turn using the `auto` model must mint and validate the replacement before it becomes effective. */
3617
- | "pending";
3658
+ export type ModelProviderAutomaticDiscoveryMode =
3659
+ /** The adapter declares that automatic discovery is safe when the other policy fields are satisfied. */
3660
+ "automatic"
3661
+ /** The adapter may refresh instances the user already configured, but must not scan for new instances automatically. */
3662
+ | "configuredOnly"
3663
+ /** The adapter must run only after an explicit user action. */
3664
+ | "explicit";
3665
+ /**
3666
+ * Network reach an adapter may use during discovery.
3667
+ *
3668
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3669
+ * via the `definition` "ModelProviderDiscoveryNetworkScope".
3670
+ */
3671
+ /** @experimental */
3672
+ export type ModelProviderDiscoveryNetworkScope =
3673
+ /** Discovery does not contact a network service. */
3674
+ "none"
3675
+ /** Discovery is limited to loopback addresses on the local machine. */
3676
+ | "loopbackOnly"
3677
+ /** Discovery contacts only endpoints the user already configured. */
3678
+ | "configuredEndpointOnly"
3679
+ /** Discovery may scan or contact the local network. */
3680
+ | "localNetwork"
3681
+ /** Discovery may contact remote internet services. */
3682
+ | "internet";
3683
+ /**
3684
+ * Whether a planned configuration entry is new or already present in the session registry.
3685
+ *
3686
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3687
+ * via the `definition` "ModelProviderConfigurationDisposition".
3688
+ */
3689
+ /** @experimental */
3690
+ export type ModelProviderConfigurationDisposition =
3691
+ /** No matching entry is registered; the caller should add the entry. */
3692
+ "create"
3693
+ /** An equivalent entry is already registered; the caller should reuse it rather than adding a duplicate. */
3694
+ | "alreadyConfigured";
3618
3695
  /**
3619
3696
  * Provider type. Defaults to "openai" for generic OpenAI-compatible APIs.
3620
3697
  *
@@ -3653,6 +3730,110 @@ export type ProviderConfigTransport =
3653
3730
  "http"
3654
3731
  /** WebSocket transport. */
3655
3732
  | "websockets";
3733
+ /**
3734
+ * The product serving the model, reported in telemetry as `model_provider`.
3735
+ *
3736
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3737
+ * via the `definition` "ProviderConfigModelProvider".
3738
+ */
3739
+ /** @experimental */
3740
+ export type ProviderConfigModelProvider =
3741
+ /** OpenAI API. */
3742
+ "openai"
3743
+ /** Anthropic API. */
3744
+ | "anthropic"
3745
+ /** Azure OpenAI Service. */
3746
+ | "azure_openai"
3747
+ /** Ollama. */
3748
+ | "ollama"
3749
+ /** LM Studio. */
3750
+ | "lm_studio"
3751
+ /** Foundry Local. */
3752
+ | "foundry_local"
3753
+ /** llama.cpp server. */
3754
+ | "llama_cpp";
3755
+ /** @experimental */
3756
+ export type ProtocolSystemMessageConfig = ProtocolSystemMessageAppendConfig | ProtocolSystemMessageReplaceConfig | ProtocolSystemMessageCustomizeConfig;
3757
+ /** @experimental */
3758
+ export type ProtocolAppendMode = "append";
3759
+ /** @experimental */
3760
+ export type ProtocolReplaceMode = "replace";
3761
+ /** @experimental */
3762
+ export type ProtocolCustomizeMode = "customize";
3763
+ /** @experimental */
3764
+ export type ProtocolSectionOverride = (ProtocolStaticSectionOverride | ProtocolMarkerSectionOverride) | undefined;
3765
+ /** @experimental */
3766
+ export type ProtocolStaticSectionAction =
3767
+ /** Replace the section content. */
3768
+ "replace"
3769
+ /** Remove the section content. */
3770
+ | "remove"
3771
+ /** Append content to the section. */
3772
+ | "append"
3773
+ /** Prepend content to the section. */
3774
+ | "prepend";
3775
+ /** @experimental */
3776
+ export type ProtocolMarkerSectionOverride = {
3777
+ /**
3778
+ * Section override action discriminator.
3779
+ */
3780
+ action: "transform";
3781
+ } | {
3782
+ /**
3783
+ * Section override action discriminator.
3784
+ */
3785
+ action: "preserve";
3786
+ };
3787
+ /**
3788
+ * Provider family. Matches the `type` field of a BYOK provider config.
3789
+ *
3790
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3791
+ * via the `definition` "ProviderEndpointType".
3792
+ */
3793
+ /** @experimental */
3794
+ export type ProviderEndpointType =
3795
+ /** OpenAI-compatible endpoint (use the OpenAI client library). */
3796
+ "openai"
3797
+ /** Azure OpenAI endpoint (use the OpenAI client library with the Azure base URL). */
3798
+ | "azure"
3799
+ /** Anthropic endpoint (use the Anthropic client library). */
3800
+ | "anthropic";
3801
+ /**
3802
+ * Wire API to be used, when required for the provider type.
3803
+ *
3804
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3805
+ * via the `definition` "ProviderEndpointWireApi".
3806
+ */
3807
+ /** @experimental */
3808
+ export type ProviderEndpointWireApi =
3809
+ /** Classic chat-completions request shape. */
3810
+ "completions"
3811
+ /** Newer responses request shape. */
3812
+ | "responses";
3813
+ /**
3814
+ * Transport to be used for provider requests.
3815
+ *
3816
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3817
+ * via the `definition` "ProviderEndpointTransport".
3818
+ */
3819
+ /** @experimental */
3820
+ export type ProviderEndpointTransport =
3821
+ /** HTTP request/streaming transport. */
3822
+ "http"
3823
+ /** WebSocket transport. */
3824
+ | "websockets";
3825
+ /**
3826
+ * Whether the requested preference was already effective or was accepted for later transactional activation.
3827
+ *
3828
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3829
+ * via the `definition` "ModelSwitchAutoTierStatus".
3830
+ */
3831
+ /** @experimental */
3832
+ export type ModelSwitchAutoTierStatus =
3833
+ /** The requested preference is already effective. No activation is pending for it, although this request may have cancelled an earlier unclaimed preference reported in `supersededAutoTier`. */
3834
+ "unchanged"
3835
+ /** The request was accepted but has not committed. A later user turn using the `auto` model must mint and validate the replacement before it becomes effective. */
3836
+ | "pending";
3656
3837
  /**
3657
3838
  * Allowed values for the `OptionsUpdateAdditionalContentExclusionPolicyScope` enumeration.
3658
3839
  *
@@ -3910,10 +4091,6 @@ export type PluginsReloadRequest = {
3910
4091
  */
3911
4092
  deferRepoHooks?: boolean;
3912
4093
  };
3913
- /** @experimental */
3914
- export type ProtocolAppendMode = "append";
3915
- /** @experimental */
3916
- export type ProtocolCustomizeMode = "customize";
3917
4094
  /**
3918
4095
  * Controls whether the runtime may defer loading an external tool definition.
3919
4096
  *
@@ -3926,72 +4103,6 @@ export type ProtocolExternalToolDefer =
3926
4103
  "auto"
3927
4104
  /** The runtime must include the tool without deferring it. */
3928
4105
  | "never";
3929
- /** @experimental */
3930
- export type ProtocolMarkerSectionOverride = {
3931
- /**
3932
- * Section override action discriminator.
3933
- */
3934
- action: "transform";
3935
- } | {
3936
- /**
3937
- * Section override action discriminator.
3938
- */
3939
- action: "preserve";
3940
- };
3941
- /** @experimental */
3942
- export type ProtocolReplaceMode = "replace";
3943
- /** @experimental */
3944
- export type ProtocolSectionOverride = ProtocolStaticSectionOverride | ProtocolMarkerSectionOverride;
3945
- /** @experimental */
3946
- export type ProtocolStaticSectionAction =
3947
- /** Replace the section content. */
3948
- "replace"
3949
- /** Remove the section content. */
3950
- | "remove"
3951
- /** Append content to the section. */
3952
- | "append"
3953
- /** Prepend content to the section. */
3954
- | "prepend";
3955
- /** @experimental */
3956
- export type ProtocolSystemMessageConfig = ProtocolSystemMessageAppendConfig | ProtocolSystemMessageReplaceConfig | ProtocolSystemMessageCustomizeConfig;
3957
- /**
3958
- * Provider family. Matches the `type` field of a BYOK provider config.
3959
- *
3960
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3961
- * via the `definition` "ProviderEndpointType".
3962
- */
3963
- /** @experimental */
3964
- export type ProviderEndpointType =
3965
- /** OpenAI-compatible endpoint (use the OpenAI client library). */
3966
- "openai"
3967
- /** Azure OpenAI endpoint (use the OpenAI client library with the Azure base URL). */
3968
- | "azure"
3969
- /** Anthropic endpoint (use the Anthropic client library). */
3970
- | "anthropic";
3971
- /**
3972
- * Wire API to be used, when required for the provider type.
3973
- *
3974
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3975
- * via the `definition` "ProviderEndpointWireApi".
3976
- */
3977
- /** @experimental */
3978
- export type ProviderEndpointWireApi =
3979
- /** Classic chat-completions request shape. */
3980
- "completions"
3981
- /** Newer responses request shape. */
3982
- | "responses";
3983
- /**
3984
- * Transport to be used for provider requests.
3985
- *
3986
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3987
- * via the `definition` "ProviderEndpointTransport".
3988
- */
3989
- /** @experimental */
3990
- export type ProviderEndpointTransport =
3991
- /** HTTP request/streaming transport. */
3992
- "http"
3993
- /** WebSocket transport. */
3994
- | "websockets";
3995
4106
  /**
3996
4107
  * Optional model identifier to scope the endpoint snapshot to.
3997
4108
  *
@@ -4156,13 +4267,29 @@ export type SandboxConfigSource =
4156
4267
  /** A repository policy selected the sandbox state. */
4157
4268
  | "repository_policy";
4158
4269
  /**
4159
- * Extensible identifier of a sandbox policy feature whose availability varies between hosts. A plain string, so an older client decodes a name added by a newer runtime; ignore names you do not recognize. Known values: `network` — sandboxed commands can reach the network (`network.allowOutbound`, on by default); on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns. `network_filtering` — host rules and the sandbox proxy (`network.allowedHosts`, `network.blockedHosts`, `network.proxy`); on Linux this needs the same tooling as `network`; on Windows it needs a version with Process Security Environment 1.1 host-loopback support, and a policy that uses it must also set `network.allowLocalNetwork`, because Windows reaches the local proxy only together with private-network access. `denied_paths` — native enforcement of `filesystem.deniedPaths`; on Windows this needs a version whose sandbox contract reports denied-path support. `shell` — shell commands inside the sandbox: bash on macOS and Linux, PowerShell on Windows. `filesystem_enumeration` — enumerate-only filesystem grants, which PowerShell's drive roots use on Windows; this needs a version with Process Security Environment 1.1 filesystem enumeration support. Without it, sandboxed PowerShell still runs, but `Get-Location` may report the drive root, `Set-Location` may fail, and relative paths may resolve against the drive root; the session also receives a `session.warning` with `warningType` `sandbox`. Other platforms always report it.
4270
+ * Extensible identifier of a sandbox policy feature whose availability varies between hosts. A plain string, so an older client decodes a name added by a newer runtime; ignore names you do not recognize. Known values: `network` — sandboxed commands can reach the network (`network.allowOutbound`, on by default); on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns. `network_filtering` — host rules and the sandbox proxy (`network.allowedHosts`, `network.blockedHosts`, `network.proxy`); on Linux this needs the same tooling as `network`; on Windows it needs Process Security Environment 1.1 host-loopback support or MXC's PSEC 1.0-only proxy-loopback compatibility capability, and a policy that uses it must also set `network.allowLocalNetwork`, because Windows reaches the local proxy only together with private-network access. Compatibility applies only to an explicit identity-less runtime proxy, not general host-loopback access, and other policy restrictions still apply. `denied_paths` — native enforcement of `filesystem.deniedPaths`; on Windows this needs a version whose sandbox contract reports denied-path support. `shell` — shell commands inside the sandbox: bash on macOS and Linux, PowerShell on Windows. `filesystem_enumeration` — enumerate-only filesystem grants, which PowerShell's drive roots use on Windows; this needs a version with Process Security Environment 1.1 filesystem enumeration support. Without it, sandboxed PowerShell still runs, but `Get-Location` may report the drive root, `Set-Location` may fail, and relative paths may resolve against the drive root; the session also receives a `session.warning` with `warningType` `sandbox`. Other platforms always report it.
4160
4271
  *
4161
4272
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4162
4273
  * via the `definition` "SandboxHostCapabilityName".
4163
4274
  */
4164
4275
  /** @experimental */
4165
4276
  export type SandboxHostCapabilityName = string;
4277
+ /**
4278
+ * State of the persistent certificate authority of the sandbox credential proxy.
4279
+ *
4280
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4281
+ * via the `definition` "SandboxProxyCaState".
4282
+ */
4283
+ /** @experimental */
4284
+ export type SandboxProxyCaState =
4285
+ /** This platform has no supported OS trust store. The proxy uses a per-process certificate bundle. */
4286
+ "unsupported"
4287
+ /** OS trust does not include the certificate authority, or none is stored. */
4288
+ | "notInstalled"
4289
+ /** OS trust includes the stored certificate authority. */
4290
+ | "installed"
4291
+ /** The runtime could not read the certificate authority or the OS trust store. */
4292
+ | "error";
4166
4293
  /**
4167
4294
  * A session-scoped sandbox transition applied while handling a slash command
4168
4295
  *
@@ -4642,7 +4769,7 @@ export type SessionsClientMetadataEntry = {
4642
4769
  * via the `definition` "SettableAuthInfo".
4643
4770
  */
4644
4771
  /** @experimental */
4645
- export type SettableAuthInfo = HMACAuthInfo | EnvAuthInfo | SettableTokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
4772
+ export type SettableAuthInfo = HMACAuthInfo | EnvAuthInfo | SettableTokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | AccountAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
4646
4773
  /**
4647
4774
  * Rust-owned settings predicates exposed across the SDK boundary. Raw feature-flag names are intentionally not part of the contract.
4648
4775
  *
@@ -6297,6 +6424,27 @@ export interface UserAuthInfo {
6297
6424
  login: string;
6298
6425
  copilotUser?: CopilotUserResponse;
6299
6426
  }
6427
+ /**
6428
+ * An interactive account whose model provider owns its credentials. It carries no GitHub credential.
6429
+ *
6430
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6431
+ * via the `definition` "AccountAuthInfo".
6432
+ */
6433
+ /** @experimental */
6434
+ export interface AccountAuthInfo {
6435
+ /**
6436
+ * Provider-owned account authentication.
6437
+ */
6438
+ type: "account";
6439
+ /**
6440
+ * Host coordinate owned by the account's model provider.
6441
+ */
6442
+ host: string;
6443
+ /**
6444
+ * Login identifying the provider-owned account.
6445
+ */
6446
+ login: string;
6447
+ }
6300
6448
  /**
6301
6449
  * Authentication-info input variant for GitHub CLI credentials, carrying host, login, and the `gh auth token` value.
6302
6450
  *
@@ -7014,13 +7162,35 @@ export interface AuthIdentityMetadata {
7014
7162
  login: string;
7015
7163
  }
7016
7164
  /**
7017
- * Advance an in-flight login flow, optionally fulfilling an input-required step.
7165
+ * A credential-free account choice after sign-in.
7018
7166
  *
7019
7167
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7020
- * via the `definition` "AuthLoginAdvanceRequest".
7168
+ * via the `definition` "AuthLoginAccount".
7021
7169
  */
7022
7170
  /** @experimental */
7023
- export interface AuthLoginAdvanceRequest {
7171
+ export interface AuthLoginAccount {
7172
+ /**
7173
+ * Opaque identifier supplied to the next login step to select this account.
7174
+ */
7175
+ selectionId: string;
7176
+ /**
7177
+ * Host coordinate owned by the selected account's provider.
7178
+ */
7179
+ host: string;
7180
+ /**
7181
+ * Human-readable login for the account choice.
7182
+ */
7183
+ login: string;
7184
+ kind: AccountKind;
7185
+ }
7186
+ /**
7187
+ * Advance an in-flight login flow, optionally fulfilling an input-required step.
7188
+ *
7189
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7190
+ * via the `definition` "AuthLoginAdvanceRequest".
7191
+ */
7192
+ /** @experimental */
7193
+ export interface AuthLoginAdvanceRequest {
7024
7194
  /**
7025
7195
  * Opaque flow id from begin.
7026
7196
  */
@@ -7055,7 +7225,7 @@ export interface AuthLoginBegun {
7055
7225
  step: AuthLoginStep;
7056
7226
  }
7057
7227
  /**
7058
- * Terminal result of an interactive login flow.
7228
+ * Result of an interactive login flow. Pending consent or account selection is not terminal.
7059
7229
  *
7060
7230
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7061
7231
  * via the `definition` "AuthLoginResultDto".
@@ -7071,6 +7241,10 @@ export interface AuthLoginResultDto {
7071
7241
  * Login that was signed in, when completed.
7072
7242
  */
7073
7243
  login?: string;
7244
+ /**
7245
+ * Available accounts when sign-in is awaiting account selection, ordered with Microsoft 365 first.
7246
+ */
7247
+ accounts?: AuthLoginAccount[];
7074
7248
  }
7075
7249
  /**
7076
7250
  * Cancel an in-flight login flow.
@@ -7217,6 +7391,74 @@ export interface AutopilotObjectiveState {
7217
7391
  creditCountNanoAiu: string;
7218
7392
  creditLimit?: AutopilotObjectiveCreditLimit;
7219
7393
  }
7394
+ /**
7395
+ * A server-advertised routing preference. Identifiers and execution types are extensible.
7396
+ *
7397
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7398
+ * via the `definition` "AutoTierDescriptor".
7399
+ */
7400
+ /** @experimental */
7401
+ export interface AutoTierDescriptor {
7402
+ /**
7403
+ * Opaque routing identifier transmitted unchanged to the provider.
7404
+ */
7405
+ id: string;
7406
+ /**
7407
+ * Human-readable label, not a routing identifier.
7408
+ */
7409
+ displayName: string;
7410
+ /**
7411
+ * Description displayed beside the preference.
7412
+ */
7413
+ description: string;
7414
+ /**
7415
+ * Execution kind; this client supports `auto` preferences on the Auto model.
7416
+ */
7417
+ type: string;
7418
+ status: AutoTierStatus;
7419
+ }
7420
+ /**
7421
+ * Availability of a server-advertised routing preference.
7422
+ *
7423
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7424
+ * via the `definition` "AutoTierStatus".
7425
+ */
7426
+ /** @experimental */
7427
+ export interface AutoTierStatus {
7428
+ /**
7429
+ * Whether the provider permits selecting this preference.
7430
+ */
7431
+ enabled: boolean;
7432
+ /**
7433
+ * Extensible machine-readable unavailability reason.
7434
+ */
7435
+ reason?: string;
7436
+ /**
7437
+ * Human-readable explanation of availability.
7438
+ */
7439
+ message?: string;
7440
+ }
7441
+ /**
7442
+ * Account-bound discovery metadata for the virtual `auto` model.
7443
+ *
7444
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7445
+ * via the `definition` "AutoTierMetadata".
7446
+ */
7447
+ /** @experimental */
7448
+ export interface AutoTierMetadata {
7449
+ /**
7450
+ * Provider-default preference, used only when no explicit preference exists.
7451
+ */
7452
+ defaultTier: string;
7453
+ /**
7454
+ * Routing preferences in the server's presentation order.
7455
+ */
7456
+ tiers: AutoTierDescriptor[];
7457
+ /**
7458
+ * Provider that supplied this metadata, when the catalog is provider-attributed.
7459
+ */
7460
+ providerId?: string;
7461
+ }
7220
7462
  /**
7221
7463
  * The running runtime's complete catalog of well-known built-in model IDs, including supported models and additional IDs with built-in metadata.
7222
7464
  *
@@ -9300,6 +9542,146 @@ export interface ConnectorDisconnectResult {
9300
9542
  disconnected: boolean;
9301
9543
  status: ConnectorStatus;
9302
9544
  }
9545
+ /**
9546
+ * Eligible account.
9547
+ *
9548
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9549
+ * via the `definition` "ConnectorDiscoveryAccount".
9550
+ */
9551
+ /** @experimental */
9552
+ export interface ConnectorDiscoveryAccount {
9553
+ /**
9554
+ * Opaque account ID.
9555
+ */
9556
+ accountId: string;
9557
+ authInfo: ConnectorDiscoveryAuthInfo;
9558
+ }
9559
+ /**
9560
+ * Account metadata.
9561
+ *
9562
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9563
+ * via the `definition` "ConnectorDiscoveryAuthInfo".
9564
+ */
9565
+ /** @experimental */
9566
+ export interface ConnectorDiscoveryAuthInfo {
9567
+ type: AuthInfoType;
9568
+ /**
9569
+ * Host.
9570
+ */
9571
+ host: string;
9572
+ /**
9573
+ * Login.
9574
+ */
9575
+ login: string;
9576
+ }
9577
+ /**
9578
+ * Eligible accounts.
9579
+ *
9580
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9581
+ * via the `definition` "ConnectorDiscoveryAccountList".
9582
+ */
9583
+ /** @experimental */
9584
+ export interface ConnectorDiscoveryAccountList {
9585
+ availability: ConnectorDiscoveryAvailability;
9586
+ /**
9587
+ * Eligible accounts.
9588
+ */
9589
+ accounts: ConnectorDiscoveryAccount[];
9590
+ }
9591
+ /**
9592
+ * Selected account.
9593
+ *
9594
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9595
+ * via the `definition` "ConnectorDiscoveryAccountRequest".
9596
+ */
9597
+ /** @experimental */
9598
+ export interface ConnectorDiscoveryAccountRequest {
9599
+ /**
9600
+ * Opaque account ID.
9601
+ */
9602
+ accountId: string;
9603
+ }
9604
+ /**
9605
+ * Feature availability.
9606
+ *
9607
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9608
+ * via the `definition` "ConnectorDiscoveryCapabilities".
9609
+ */
9610
+ /** @experimental */
9611
+ export interface ConnectorDiscoveryCapabilities {
9612
+ /**
9613
+ * API version.
9614
+ */
9615
+ apiVersion: number;
9616
+ availability: ConnectorDiscoveryAvailability;
9617
+ /**
9618
+ * Whether accounts are selected by opaque ID.
9619
+ */
9620
+ opaqueAccountSelection: boolean;
9621
+ /**
9622
+ * Whether results are cached.
9623
+ */
9624
+ conditionalCache: boolean;
9625
+ }
9626
+ /**
9627
+ * Entry.
9628
+ *
9629
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9630
+ * via the `definition` "ConnectorDiscoveryCatalogEntry".
9631
+ */
9632
+ /** @experimental */
9633
+ export interface ConnectorDiscoveryCatalogEntry {
9634
+ /**
9635
+ * Name.
9636
+ */
9637
+ name: string;
9638
+ /**
9639
+ * Display name.
9640
+ */
9641
+ displayName: string;
9642
+ /**
9643
+ * Description.
9644
+ */
9645
+ description?: string;
9646
+ /**
9647
+ * Logo.
9648
+ */
9649
+ logo?: string;
9650
+ /**
9651
+ * Tier.
9652
+ */
9653
+ tier?: string;
9654
+ /**
9655
+ * Release tag.
9656
+ */
9657
+ releaseTag?: string;
9658
+ status: ConnectorCatalogStatus;
9659
+ }
9660
+ /**
9661
+ * Entries for the selected account.
9662
+ *
9663
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9664
+ * via the `definition` "ConnectorDiscoveryCatalogResult".
9665
+ */
9666
+ /** @experimental */
9667
+ export interface ConnectorDiscoveryCatalogResult {
9668
+ /**
9669
+ * Opaque account ID.
9670
+ */
9671
+ accountId: string;
9672
+ /**
9673
+ * Revision.
9674
+ */
9675
+ revision: number;
9676
+ /**
9677
+ * Refresh time in Unix epoch milliseconds.
9678
+ */
9679
+ refreshedAtMs: number;
9680
+ /**
9681
+ * Entries.
9682
+ */
9683
+ connectors: ConnectorDiscoveryCatalogEntry[];
9684
+ }
9303
9685
  /**
9304
9686
  * Requests authoritative Connector-to-MCP reconciliation for the pinned account.
9305
9687
  *
@@ -9432,6 +9814,10 @@ export interface CurrentModel {
9432
9814
  * Currently active model identifier
9433
9815
  */
9434
9816
  modelId?: string;
9817
+ /**
9818
+ * Captured base model to restore when leaving plan mode. Omitted outside plan mode or when no plan override has captured a base model. Persistent agent model requirements apply to this model rather than the temporary plan model.
9819
+ */
9820
+ planBaseModelId?: string;
9435
9821
  /**
9436
9822
  * Reasoning effort level currently applied to the active model, when one is set. Reads `Session.getReasoningEffort()` synchronously after `getSelectedModel()` resolves so the two values are reported as a snapshot.
9437
9823
  */
@@ -9486,6 +9872,42 @@ export interface CurrentToolMetadata {
9486
9872
  */
9487
9873
  deferLoading?: boolean;
9488
9874
  }
9875
+ /**
9876
+ * Result of one customization reload component.
9877
+ *
9878
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9879
+ * via the `definition` "CustomizationReloadOutcome".
9880
+ */
9881
+ /** @experimental */
9882
+ export interface CustomizationReloadOutcome {
9883
+ subsystem: CustomizationReloadSubsystem;
9884
+ status: CustomizationReloadStatus;
9885
+ /**
9886
+ * Reason for a skipped component or description of a failure, when available
9887
+ */
9888
+ detail?: string | null;
9889
+ }
9890
+ /**
9891
+ * Results of reloading discovered session customizations. Inspect outcomes for reloaded, skipped, or failed subsystems; a rejection may follow partial mutation. Changes to the model-facing prompt and tools apply on the next turn.
9892
+ *
9893
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9894
+ * via the `definition` "CustomizationsReloadResult".
9895
+ */
9896
+ /** @experimental */
9897
+ export interface CustomizationsReloadResult {
9898
+ /**
9899
+ * Warnings from skill discovery
9900
+ */
9901
+ warnings: string[];
9902
+ /**
9903
+ * Errors from any component that could not be refreshed
9904
+ */
9905
+ errors: string[];
9906
+ /**
9907
+ * Outcome of each component in reload order; a skipped component was not configured or loaded
9908
+ */
9909
+ outcomes: CustomizationReloadOutcome[];
9910
+ }
9489
9911
  /**
9490
9912
  * A file included in the session debug bundle.
9491
9913
  *
@@ -9937,126 +10359,318 @@ export interface McpSourcePlugin {
9937
10359
  version?: string;
9938
10360
  }
9939
10361
  /**
9940
- * Slash-prefixed command string to enqueue for FIFO processing.
10362
+ * A model offered for agent conversations. Missing capability metadata does not disqualify a candidate. Models known to be incompatible, such as embedding-only models, are excluded by the adapter.
9941
10363
  *
9942
10364
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9943
- * via the `definition` "EnqueueCommandParams".
10365
+ * via the `definition` "DiscoveredModel".
9944
10366
  */
9945
10367
  /** @experimental */
9946
- export interface EnqueueCommandParams {
10368
+ export interface DiscoveredModel {
9947
10369
  /**
9948
- * Slash-prefixed command string to enqueue, e.g. '/compact' or '/model gpt-4'. Queued FIFO with any in-flight items; if the session is idle, processing kicks off immediately.
10370
+ * Provider-native model identifier.
9949
10371
  */
9950
- command: string;
10372
+ id: string;
9951
10373
  /**
9952
- * Optional user-facing text for the queue row. The command string is shown when omitted.
10374
+ * Provider-reported display name.
9953
10375
  */
9954
- displayText?: string | null;
9955
- }
9956
- /** @experimental */
9957
- export interface UnsupportedEnqueueCommandResult {
10376
+ name?: string;
10377
+ provenance: ModelProviderProvenance;
9958
10378
  /**
9959
- * False because the target session does not support local command queueing (e.g. remote sessions).
10379
+ * Provider-reported artifact digest.
9960
10380
  */
9961
- queued: false;
10381
+ digest?: string;
9962
10382
  /**
9963
- * Legacy null queue ID accepted for compatibility with older runtimes.
10383
+ * Provider-reported last-modified timestamp.
9964
10384
  */
9965
- queueId?: null;
10385
+ modifiedAt?: string;
10386
+ /**
10387
+ * Provider-reported artifact size in bytes.
10388
+ */
10389
+ sizeBytes?: number;
10390
+ details: ModelArtifactDetails;
10391
+ capabilities: ModelCapabilities;
10392
+ /**
10393
+ * Non-fatal warnings encountered while enriching this model.
10394
+ */
10395
+ warnings: ModelProviderWarning[];
9966
10396
  }
9967
10397
  /**
9968
- * OneAuth token request supplied by a trusted host application.
10398
+ * Attribution for the adapter that produced a provider row.
9969
10399
  *
9970
10400
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9971
- * via the `definition` "EntraTokenAcquireRequest".
10401
+ * via the `definition` "ModelProviderProvenance".
9972
10402
  */
9973
10403
  /** @experimental */
9974
- export interface EntraTokenAcquireRequest {
9975
- /**
9976
- * Public client application id.
9977
- */
9978
- clientId: string;
10404
+ export interface ModelProviderProvenance {
9979
10405
  /**
9980
- * Tenant id or tenant selector, such as common or organizations.
10406
+ * Stable opaque adapter identity from the effective catalog. Treat this as a whole identifier, not a parseable owner or kind.
9981
10407
  */
9982
- tenantId: string;
10408
+ adapterId: string;
9983
10409
  /**
9984
- * Broker redirect URI registered for the client. Required: the OneAuth broker validates a non-empty, registered redirect URI for the public client (MSAL broker registration), so this is not a browser-flow vestige and cannot be omitted.
10410
+ * Descriptive provider family that produced this row; not a routing key.
9985
10411
  */
9986
- redirectUri: string;
10412
+ providerKind: string;
10413
+ source: ModelProviderProvenanceSource;
9987
10414
  /**
9988
- * Exact delegated scopes to request.
9989
- *
9990
- * @minItems 1
10415
+ * Stable contributor identifier when the adapter has an owner outside the runtime. Independent of the contribution mechanism and not a routing key.
9991
10416
  */
9992
- scopes: [string, ...string[]];
9993
- interaction: EntraTokenInteraction;
10417
+ ownerId?: string;
9994
10418
  /**
9995
- * Previously rejected token that OneAuth must bypass during renewal.
10419
+ * Human-readable contributor name, not the adapter display name.
9996
10420
  */
9997
- accessTokenToRenew?: string;
10421
+ ownerDisplayName?: string;
9998
10422
  }
9999
10423
  /**
10000
- * Hosting capabilities and session capacity advertised by an environment.
10424
+ * Provider-reported model artifact metadata.
10001
10425
  *
10002
10426
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10003
- * via the `definition` "EnvironmentCapabilities".
10427
+ * via the `definition` "ModelArtifactDetails".
10004
10428
  */
10005
10429
  /** @experimental */
10006
- export interface EnvironmentCapabilities {
10430
+ export interface ModelArtifactDetails {
10007
10431
  /**
10008
- * Advertised Agent Host Protocol version.
10432
+ * Artifact format, such as `gguf`.
10009
10433
  */
10010
- ahpVersion?: string;
10434
+ format?: string;
10011
10435
  /**
10012
- * Feature identifiers advertised by the environment.
10436
+ * Primary model family.
10013
10437
  */
10014
- features: string[];
10438
+ family?: string;
10015
10439
  /**
10016
- * Maximum session capacity, when advertised.
10440
+ * Provider-reported model families.
10017
10441
  */
10018
- maxSessions?: number;
10442
+ families?: string[];
10019
10443
  /**
10020
- * Current session count, when advertised.
10444
+ * Provider-reported parameter count label.
10021
10445
  */
10022
- currentSessions?: number;
10023
- }
10024
- /**
10025
- * Identify a user-managed Mission Control environment to delete.
10026
- *
10027
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10028
- * via the `definition` "EnvironmentsDeleteRequest".
10029
- */
10030
- /** @experimental */
10031
- export interface EnvironmentsDeleteRequest {
10446
+ parameterSize?: string;
10032
10447
  /**
10033
- * User-managed environment to delete. GitHub-managed environments cannot be deleted.
10448
+ * Provider-reported quantization label.
10034
10449
  */
10035
- environmentId: string;
10450
+ quantization?: string;
10451
+ /**
10452
+ * Provider-reported model architecture.
10453
+ */
10454
+ architecture?: string;
10455
+ /**
10456
+ * Provider-reported tokenizer.
10457
+ */
10458
+ tokenizer?: string;
10036
10459
  }
10037
10460
  /**
10038
- * Acknowledgement that the requested environment was deleted.
10461
+ * Model capabilities and limits
10039
10462
  *
10040
10463
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10041
- * via the `definition` "EnvironmentsDeleteResult".
10464
+ * via the `definition` "ModelCapabilities".
10042
10465
  */
10043
10466
  /** @experimental */
10044
- export interface EnvironmentsDeleteResult {
10467
+ export interface ModelCapabilities {
10468
+ supports?: ModelCapabilitiesSupports;
10469
+ limits?: ModelCapabilitiesLimits;
10045
10470
  }
10046
10471
  /**
10047
- * Identify a Mission Control environment to retrieve.
10472
+ * Feature flags indicating what the model supports
10048
10473
  *
10049
10474
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10050
- * via the `definition` "EnvironmentsGetRequest".
10475
+ * via the `definition` "ModelCapabilitiesSupports".
10051
10476
  */
10052
10477
  /** @experimental */
10053
- export interface EnvironmentsGetRequest {
10478
+ export interface ModelCapabilitiesSupports {
10054
10479
  /**
10055
- * Identifier assigned by Mission Control.
10480
+ * Whether the model supports provider-native thinking. Independent of configurable reasoning effort; omission means unknown.
10056
10481
  */
10057
- environmentId: string;
10058
- }
10059
- /**
10482
+ thinking?: boolean;
10483
+ /**
10484
+ * Whether this model supports vision/image input
10485
+ */
10486
+ vision?: boolean;
10487
+ /**
10488
+ * Whether this model supports canonical tool calling
10489
+ */
10490
+ toolCalls?: boolean;
10491
+ /**
10492
+ * Whether this model supports reasoning effort configuration
10493
+ */
10494
+ reasoningEffort?: boolean;
10495
+ adaptive_thinking?: AdaptiveThinkingSupport;
10496
+ }
10497
+ /**
10498
+ * Token limits for prompts, outputs, and context window
10499
+ *
10500
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10501
+ * via the `definition` "ModelCapabilitiesLimits".
10502
+ */
10503
+ /** @experimental */
10504
+ export interface ModelCapabilitiesLimits {
10505
+ /**
10506
+ * Maximum number of prompt/input tokens
10507
+ */
10508
+ max_prompt_tokens?: number;
10509
+ /**
10510
+ * Maximum number of output/completion tokens
10511
+ */
10512
+ max_output_tokens?: number;
10513
+ /**
10514
+ * Maximum total context window size in tokens
10515
+ */
10516
+ max_context_window_tokens?: number;
10517
+ vision?: ModelCapabilitiesLimitsVision;
10518
+ }
10519
+ /**
10520
+ * Vision-specific limits
10521
+ *
10522
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10523
+ * via the `definition` "ModelCapabilitiesLimitsVision".
10524
+ */
10525
+ /** @experimental */
10526
+ export interface ModelCapabilitiesLimitsVision {
10527
+ /**
10528
+ * MIME types the model accepts
10529
+ */
10530
+ supported_media_types: string[];
10531
+ /**
10532
+ * Maximum number of images per prompt
10533
+ */
10534
+ max_prompt_images: number;
10535
+ /**
10536
+ * Maximum image size in bytes
10537
+ */
10538
+ max_prompt_image_size: number;
10539
+ }
10540
+ /**
10541
+ * A non-fatal provider observation warning.
10542
+ *
10543
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10544
+ * via the `definition` "ModelProviderWarning".
10545
+ */
10546
+ /** @experimental */
10547
+ export interface ModelProviderWarning {
10548
+ /**
10549
+ * Machine-readable warning code.
10550
+ */
10551
+ code: string;
10552
+ /**
10553
+ * Human-readable warning message.
10554
+ */
10555
+ message: string;
10556
+ }
10557
+ /**
10558
+ * Models offered for agent conversations by one provider instance. Adapters exclude known-incompatible models, but retain candidates with unknown capabilities. Listing does not guarantee compatibility.
10559
+ *
10560
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10561
+ * via the `definition` "DiscoveredModelList".
10562
+ */
10563
+ /** @experimental */
10564
+ export interface DiscoveredModelList {
10565
+ outcome: ModelProviderOperationOutcome;
10566
+ /**
10567
+ * Provider-native models in provider order.
10568
+ */
10569
+ models: DiscoveredModel[];
10570
+ }
10571
+ /**
10572
+ * Typed provider-operation outcome. Use the code for control flow and the optional message for display.
10573
+ *
10574
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10575
+ * via the `definition` "ModelProviderOperationOutcome".
10576
+ */
10577
+ /** @experimental */
10578
+ export interface ModelProviderOperationOutcome {
10579
+ code: ModelProviderOperationOutcomeCode;
10580
+ /**
10581
+ * Human-readable detail for non-success outcomes.
10582
+ */
10583
+ message?: string;
10584
+ }
10585
+ /**
10586
+ * Slash-prefixed command string to enqueue for FIFO processing.
10587
+ *
10588
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10589
+ * via the `definition` "EnqueueCommandParams".
10590
+ */
10591
+ /** @experimental */
10592
+ export interface EnqueueCommandParams {
10593
+ /**
10594
+ * Slash-prefixed command string to enqueue, e.g. '/compact' or '/model gpt-4'. Queued FIFO with any in-flight items; if the session is idle, processing kicks off immediately.
10595
+ */
10596
+ command: string;
10597
+ /**
10598
+ * Optional user-facing text for the queue row. The command string is shown when omitted.
10599
+ */
10600
+ displayText?: string | null;
10601
+ }
10602
+ /** @experimental */
10603
+ export interface UnsupportedEnqueueCommandResult {
10604
+ /**
10605
+ * False because the target session does not support local command queueing (e.g. remote sessions).
10606
+ */
10607
+ queued: false;
10608
+ /**
10609
+ * Legacy null queue ID accepted for compatibility with older runtimes.
10610
+ */
10611
+ queueId?: null;
10612
+ }
10613
+ /**
10614
+ * Hosting capabilities and session capacity advertised by an environment.
10615
+ *
10616
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10617
+ * via the `definition` "EnvironmentCapabilities".
10618
+ */
10619
+ /** @experimental */
10620
+ export interface EnvironmentCapabilities {
10621
+ /**
10622
+ * Advertised Agent Host Protocol version.
10623
+ */
10624
+ ahpVersion?: string;
10625
+ /**
10626
+ * Feature identifiers advertised by the environment.
10627
+ */
10628
+ features: string[];
10629
+ /**
10630
+ * Maximum session capacity, when advertised.
10631
+ */
10632
+ maxSessions?: number;
10633
+ /**
10634
+ * Current session count, when advertised.
10635
+ */
10636
+ currentSessions?: number;
10637
+ }
10638
+ /**
10639
+ * Identify a user-managed Mission Control environment to delete.
10640
+ *
10641
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10642
+ * via the `definition` "EnvironmentsDeleteRequest".
10643
+ */
10644
+ /** @experimental */
10645
+ export interface EnvironmentsDeleteRequest {
10646
+ /**
10647
+ * User-managed environment to delete. GitHub-managed environments cannot be deleted.
10648
+ */
10649
+ environmentId: string;
10650
+ }
10651
+ /**
10652
+ * Acknowledgement that the requested environment was deleted.
10653
+ *
10654
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10655
+ * via the `definition` "EnvironmentsDeleteResult".
10656
+ */
10657
+ /** @experimental */
10658
+ export interface EnvironmentsDeleteResult {
10659
+ }
10660
+ /**
10661
+ * Identify a Mission Control environment to retrieve.
10662
+ *
10663
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10664
+ * via the `definition` "EnvironmentsGetRequest".
10665
+ */
10666
+ /** @experimental */
10667
+ export interface EnvironmentsGetRequest {
10668
+ /**
10669
+ * Identifier assigned by Mission Control.
10670
+ */
10671
+ environmentId: string;
10672
+ }
10673
+ /**
10060
10674
  * Safe discovery information for the requested environment.
10061
10675
  *
10062
10676
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
@@ -10730,6 +11344,27 @@ export interface FolderTrustCheckResult {
10730
11344
  */
10731
11345
  trusted: boolean;
10732
11346
  }
11347
+ /**
11348
+ * Owner, name, and host of a GitHub repository, as resolved from a git remote URL.
11349
+ *
11350
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11351
+ * via the `definition` "GitHubRepositoryIdentity".
11352
+ */
11353
+ /** @experimental */
11354
+ export interface GitHubRepositoryIdentity {
11355
+ /**
11356
+ * Repository owner login (user or organization).
11357
+ */
11358
+ owner: string;
11359
+ /**
11360
+ * Repository name, without the owner prefix or the `.git` suffix.
11361
+ */
11362
+ name: string;
11363
+ /**
11364
+ * Host the remote points at, for example `github.com` or a GitHub Enterprise hostname.
11365
+ */
11366
+ host: string;
11367
+ }
10733
11368
  /**
10734
11369
  * Client environment metadata describing the process that produced a telemetry event.
10735
11370
  *
@@ -10880,59 +11515,176 @@ export interface GitHubTokenAcquireRequest {
10880
11515
  reason: GitHubTokenAcquireReason;
10881
11516
  }
10882
11517
  /**
10883
- * Pending external tool call request ID, with the tool result or an error describing why it failed.
11518
+ * Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
10884
11519
  *
10885
11520
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10886
- * via the `definition` "HandlePendingToolCallRequest".
11521
+ * via the `definition` "InstalledPlugin".
10887
11522
  */
10888
11523
  /** @experimental */
10889
- export interface HandlePendingToolCallRequest {
11524
+ export interface InstalledPlugin {
10890
11525
  /**
10891
- * Request ID of the pending tool call
11526
+ * Plugin name
10892
11527
  */
10893
- requestId: string;
10894
- result?: ExternalToolResult;
11528
+ name: string;
10895
11529
  /**
10896
- * Error message if the tool call failed
11530
+ * Marketplace the plugin came from (empty string for direct repo installs)
10897
11531
  */
10898
- error?: string;
10899
- }
10900
- /**
10901
- * Indicates whether the external tool call result was handled successfully.
10902
- *
10903
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10904
- * via the `definition` "HandlePendingToolCallResult".
10905
- */
10906
- /** @experimental */
10907
- export interface HandlePendingToolCallResult {
11532
+ marketplace: string;
10908
11533
  /**
10909
- * Whether the tool call result was handled successfully
11534
+ * Version installed (if available)
10910
11535
  */
10911
- success: boolean;
10912
- }
10913
- /**
10914
- * Indicates whether an in-progress manual compaction was aborted.
10915
- *
10916
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10917
- * via the `definition` "HistoryAbortManualCompactionResult".
10918
- */
10919
- /** @experimental */
10920
- export interface HistoryAbortManualCompactionResult {
11536
+ version?: string;
10921
11537
  /**
10922
- * Whether an in-progress manual compaction was aborted. False when no manual compaction was running, when its abort controller was already aborted, or when the session is remote.
11538
+ * Installation timestamp
10923
11539
  */
10924
- aborted: boolean;
11540
+ installed_at: string;
11541
+ /**
11542
+ * Whether the plugin is currently enabled
11543
+ */
11544
+ enabled: boolean;
11545
+ /**
11546
+ * Path where the plugin is cached locally
11547
+ */
11548
+ cache_path?: string;
11549
+ source?: InstalledPluginSource;
11550
+ /**
11551
+ * Per-plugin source fingerprint (a SHA-256 hash of the plugin's catalog source spec plus its resolved source subtree — NOT a Git commit SHA) captured at marketplace install/update time. Auto-update compares it against the freshly recomputed fingerprint to detect a content change that does not bump the version. Absent for pre-existing installs and for direct (non-marketplace) installs.
11552
+ */
11553
+ source_sha?: string;
11554
+ /**
11555
+ * Absolute path of the marketplace directory a live plugin was resolved from. Present only on live, never-persisted records — those synthesized at session start for a directory/local marketplace, whose cache_path points at the real plugin directory on disk rather than a copy under the installed-plugins cache. Its presence is what marks a record as live, and no record carrying it is ever written to the persisted installedPlugins key.
11556
+ */
11557
+ installed_from?: string;
10925
11558
  }
10926
11559
  /**
10927
- * Indicates whether an in-progress background compaction was cancelled.
11560
+ * Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
10928
11561
  *
10929
11562
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
10930
- * via the `definition` "HistoryCancelBackgroundCompactionResult".
11563
+ * via the `definition` "InstalledPluginSourceGitHub".
10931
11564
  */
10932
11565
  /** @experimental */
10933
- export interface HistoryCancelBackgroundCompactionResult {
11566
+ export interface InstalledPluginSourceGitHub {
10934
11567
  /**
10935
- * Whether an in-progress background compaction was cancelled. False when no compaction was running, when the session is remote, or when the underlying processor was unavailable.
11568
+ * Constant value. Always "github".
11569
+ */
11570
+ source: "github";
11571
+ /**
11572
+ * GitHub repository in `owner/repo` form.
11573
+ */
11574
+ repo: string;
11575
+ /**
11576
+ * Optional Git ref to resolve.
11577
+ */
11578
+ ref?: string;
11579
+ /**
11580
+ * Optional full 40-character hexadecimal commit SHA.
11581
+ */
11582
+ sha?: string;
11583
+ /**
11584
+ * Optional repository-relative path to the plugin.
11585
+ */
11586
+ path?: string;
11587
+ }
11588
+ /**
11589
+ * Source descriptor for a direct URL plugin install, with URL, optional ref or full commit SHA, and optional subpath.
11590
+ *
11591
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11592
+ * via the `definition` "InstalledPluginSourceUrl".
11593
+ */
11594
+ /** @experimental */
11595
+ export interface InstalledPluginSourceUrl {
11596
+ /**
11597
+ * Constant value. Always "url".
11598
+ */
11599
+ source: "url";
11600
+ /**
11601
+ * URL of the plugin source.
11602
+ */
11603
+ url: string;
11604
+ /**
11605
+ * Optional Git ref to resolve.
11606
+ */
11607
+ ref?: string;
11608
+ /**
11609
+ * Optional full 40-character hexadecimal commit SHA.
11610
+ */
11611
+ sha?: string;
11612
+ /**
11613
+ * Optional source-relative path to the plugin.
11614
+ */
11615
+ path?: string;
11616
+ }
11617
+ /**
11618
+ * Source descriptor for a direct local plugin install, with a local filesystem path.
11619
+ *
11620
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11621
+ * via the `definition` "InstalledPluginSourceLocal".
11622
+ */
11623
+ /** @experimental */
11624
+ export interface InstalledPluginSourceLocal {
11625
+ /**
11626
+ * Constant value. Always "local".
11627
+ */
11628
+ source: "local";
11629
+ /**
11630
+ * Local filesystem path to the plugin.
11631
+ */
11632
+ path: string;
11633
+ }
11634
+ /**
11635
+ * Pending external tool call request ID, with the tool result or an error describing why it failed.
11636
+ *
11637
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11638
+ * via the `definition` "HandlePendingToolCallRequest".
11639
+ */
11640
+ /** @experimental */
11641
+ export interface HandlePendingToolCallRequest {
11642
+ /**
11643
+ * Request ID of the pending tool call
11644
+ */
11645
+ requestId: string;
11646
+ result?: ExternalToolResult;
11647
+ /**
11648
+ * Error message if the tool call failed
11649
+ */
11650
+ error?: string;
11651
+ }
11652
+ /**
11653
+ * Indicates whether the external tool call result was handled successfully.
11654
+ *
11655
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11656
+ * via the `definition` "HandlePendingToolCallResult".
11657
+ */
11658
+ /** @experimental */
11659
+ export interface HandlePendingToolCallResult {
11660
+ /**
11661
+ * Whether the tool call result was handled successfully
11662
+ */
11663
+ success: boolean;
11664
+ }
11665
+ /**
11666
+ * Indicates whether an in-progress manual compaction was aborted.
11667
+ *
11668
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11669
+ * via the `definition` "HistoryAbortManualCompactionResult".
11670
+ */
11671
+ /** @experimental */
11672
+ export interface HistoryAbortManualCompactionResult {
11673
+ /**
11674
+ * Whether an in-progress manual compaction was aborted. False when no manual compaction was running, when its abort controller was already aborted, or when the session is remote.
11675
+ */
11676
+ aborted: boolean;
11677
+ }
11678
+ /**
11679
+ * Indicates whether an in-progress background compaction was cancelled.
11680
+ *
11681
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11682
+ * via the `definition` "HistoryCancelBackgroundCompactionResult".
11683
+ */
11684
+ /** @experimental */
11685
+ export interface HistoryCancelBackgroundCompactionResult {
11686
+ /**
11687
+ * Whether an in-progress background compaction was cancelled. False when no compaction was running, when the session is remote, or when the underlying processor was unavailable.
10936
11688
  */
10937
11689
  cancelled: boolean;
10938
11690
  }
@@ -12177,123 +12929,6 @@ export interface InstallationConfirmationResponse {
12177
12929
  reviewFingerprint: string;
12178
12930
  decision: InstallationDecision;
12179
12931
  }
12180
- /**
12181
- * Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
12182
- *
12183
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12184
- * via the `definition` "InstalledPlugin".
12185
- */
12186
- /** @experimental */
12187
- export interface InstalledPlugin {
12188
- /**
12189
- * Plugin name
12190
- */
12191
- name: string;
12192
- /**
12193
- * Marketplace the plugin came from (empty string for direct repo installs)
12194
- */
12195
- marketplace: string;
12196
- /**
12197
- * Version installed (if available)
12198
- */
12199
- version?: string;
12200
- /**
12201
- * Installation timestamp
12202
- */
12203
- installed_at: string;
12204
- /**
12205
- * Whether the plugin is currently enabled
12206
- */
12207
- enabled: boolean;
12208
- /**
12209
- * Path where the plugin is cached locally
12210
- */
12211
- cache_path?: string;
12212
- source?: InstalledPluginSource;
12213
- /**
12214
- * Per-plugin source fingerprint (a SHA-256 hash of the plugin's catalog source spec plus its resolved source subtree — NOT a Git commit SHA) captured at marketplace install/update time. Auto-update compares it against the freshly recomputed fingerprint to detect a content change that does not bump the version. Absent for pre-existing installs and for direct (non-marketplace) installs.
12215
- */
12216
- source_sha?: string;
12217
- /**
12218
- * Absolute path of the marketplace directory a live plugin was resolved from. Present only on live, never-persisted records — those synthesized at session start for a directory/local marketplace, whose cache_path points at the real plugin directory on disk rather than a copy under the installed-plugins cache. Its presence is what marks a record as live, and no record carrying it is ever written to the persisted installedPlugins key.
12219
- */
12220
- installed_from?: string;
12221
- }
12222
- /**
12223
- * Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
12224
- *
12225
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12226
- * via the `definition` "InstalledPluginSourceGitHub".
12227
- */
12228
- /** @experimental */
12229
- export interface InstalledPluginSourceGitHub {
12230
- /**
12231
- * Constant value. Always "github".
12232
- */
12233
- source: "github";
12234
- /**
12235
- * GitHub repository in `owner/repo` form.
12236
- */
12237
- repo: string;
12238
- /**
12239
- * Optional Git ref to resolve.
12240
- */
12241
- ref?: string;
12242
- /**
12243
- * Optional full 40-character hexadecimal commit SHA.
12244
- */
12245
- sha?: string;
12246
- /**
12247
- * Optional repository-relative path to the plugin.
12248
- */
12249
- path?: string;
12250
- }
12251
- /**
12252
- * Source descriptor for a direct URL plugin install, with URL, optional ref or full commit SHA, and optional subpath.
12253
- *
12254
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12255
- * via the `definition` "InstalledPluginSourceUrl".
12256
- */
12257
- /** @experimental */
12258
- export interface InstalledPluginSourceUrl {
12259
- /**
12260
- * Constant value. Always "url".
12261
- */
12262
- source: "url";
12263
- /**
12264
- * URL of the plugin source.
12265
- */
12266
- url: string;
12267
- /**
12268
- * Optional Git ref to resolve.
12269
- */
12270
- ref?: string;
12271
- /**
12272
- * Optional full 40-character hexadecimal commit SHA.
12273
- */
12274
- sha?: string;
12275
- /**
12276
- * Optional source-relative path to the plugin.
12277
- */
12278
- path?: string;
12279
- }
12280
- /**
12281
- * Source descriptor for a direct local plugin install, with a local filesystem path.
12282
- *
12283
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12284
- * via the `definition` "InstalledPluginSourceLocal".
12285
- */
12286
- /** @experimental */
12287
- export interface InstalledPluginSourceLocal {
12288
- /**
12289
- * Constant value. Always "local".
12290
- */
12291
- source: "local";
12292
- /**
12293
- * Local filesystem path to the plugin.
12294
- */
12295
- path: string;
12296
- }
12297
12932
  /**
12298
12933
  * Information about an installed plugin tracked in global state.
12299
12934
  *
@@ -13929,30 +14564,88 @@ export interface McpConfigUpdateRequest {
13929
14564
  config: McpSerializableServerConfig;
13930
14565
  }
13931
14566
  /**
13932
- * Result of configuring GitHub MCP.
14567
+ * Effective MCP configuration entry. Configuration enablement is distinct from the optional live observation.
13933
14568
  *
13934
14569
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13935
- * via the `definition` "McpConfigureGitHubResult".
14570
+ * via the `definition` "McpConfiguredServer".
13936
14571
  */
13937
14572
  /** @experimental */
13938
- export interface McpConfigureGitHubResult {
14573
+ export interface McpConfiguredServer {
13939
14574
  /**
13940
- * Whether GitHub MCP configuration changed.
14575
+ * Server name (config key)
13941
14576
  */
13942
- changed: boolean;
13943
- }
13944
- /**
13945
- * Name of the MCP server to disable for the session.
13946
- *
13947
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
13948
- * via the `definition` "McpDisableRequest".
13949
- */
13950
- /** @experimental */
13951
- export interface McpDisableRequest {
14577
+ name: string;
13952
14578
  /**
13953
- * Required for an owned installation; omission preserves only manual-server behaviour.
14579
+ * Whether this configured server is enabled after session configuration and policy filtering.
13954
14580
  */
13955
- expectedInstallationId?: string;
14581
+ enabled: boolean;
14582
+ source?: McpServerSource;
14583
+ /**
14584
+ * Plugin name that provided this server, when source is plugin.
14585
+ */
14586
+ sourcePlugin?: string;
14587
+ /**
14588
+ * Plugin version that provided this server, when source is plugin.
14589
+ */
14590
+ sourcePluginVersion?: string;
14591
+ /**
14592
+ * Human-readable display name supplied by configuration.
14593
+ */
14594
+ displayName?: string;
14595
+ live?: McpConfiguredServerState;
14596
+ }
14597
+ /**
14598
+ * Observational state for a matching already materialized MCP server.
14599
+ *
14600
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14601
+ * via the `definition` "McpConfiguredServerState".
14602
+ */
14603
+ /** @experimental */
14604
+ export interface McpConfiguredServerState {
14605
+ status: McpServerStatus;
14606
+ /**
14607
+ * Observed connection error, when the materialized server failed.
14608
+ */
14609
+ error?: string;
14610
+ }
14611
+ /**
14612
+ * Effective MCP configuration with optional live observations from matching already materialized servers.
14613
+ *
14614
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14615
+ * via the `definition` "McpConfiguredServerList".
14616
+ */
14617
+ /** @experimental */
14618
+ export interface McpConfiguredServerList {
14619
+ /**
14620
+ * Effective configured MCP servers.
14621
+ */
14622
+ servers: McpConfiguredServer[];
14623
+ }
14624
+ /**
14625
+ * Result of configuring GitHub MCP.
14626
+ *
14627
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14628
+ * via the `definition` "McpConfigureGitHubResult".
14629
+ */
14630
+ /** @experimental */
14631
+ export interface McpConfigureGitHubResult {
14632
+ /**
14633
+ * Whether GitHub MCP configuration changed.
14634
+ */
14635
+ changed: boolean;
14636
+ }
14637
+ /**
14638
+ * Name of the MCP server to disable for the session.
14639
+ *
14640
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14641
+ * via the `definition` "McpDisableRequest".
14642
+ */
14643
+ /** @experimental */
14644
+ export interface McpDisableRequest {
14645
+ /**
14646
+ * Required for an owned installation; omission preserves only manual-server behaviour.
14647
+ */
14648
+ expectedInstallationId?: string;
13956
14649
  /**
13957
14650
  * Name of the MCP server to disable
13958
14651
  */
@@ -15407,6 +16100,10 @@ export interface McpServer {
15407
16100
  name: string;
15408
16101
  status: McpServerStatus;
15409
16102
  source?: McpServerSource;
16103
+ /**
16104
+ * Configured URL for an HTTP/SSE server, regardless of configuration source. Omitted for local and in-memory servers.
16105
+ */
16106
+ url?: string;
15410
16107
  /**
15411
16108
  * Plugin name that provided this server, when source is plugin.
15412
16109
  */
@@ -15607,11 +16304,11 @@ export interface MetadataContextHeaviestMessagesResult {
15607
16304
  /** @experimental */
15608
16305
  export interface MetadataContextInfoRequest {
15609
16306
  /**
15610
- * Maximum prompt tokens allowed by the target model. Pass 0 to use the runtime default.
16307
+ * Advertised prompt allowance. Pass 0 to resolve the selected model and context tier from the session.
15611
16308
  */
15612
16309
  promptTokenLimit: number;
15613
16310
  /**
15614
- * Maximum output tokens allowed by the target model. Pass 0 if unknown.
16311
+ * Requested output allowance to reserve against the combined context ceiling. Pass 0 to resolve the session's request cap, falling back to the model's advertised output limit.
15615
16312
  */
15616
16313
  outputTokenLimit: number;
15617
16314
  /**
@@ -15850,6 +16547,10 @@ export interface Model {
15850
16547
  metadata?: {
15851
16548
  [k: string]: JsonValue | undefined;
15852
16549
  };
16550
+ /**
16551
+ * Model vendor as the Copilot API reports it, for example "Anthropic" or "Azure OpenAI". Open vocabulary, passed through unchanged. It can name the vendor that serves the model instead of the one that built it, or a label that is not a vendor, such as "Experimental". Absent when the Copilot API reports no vendor.
16552
+ */
16553
+ vendor?: string;
15853
16554
  policy?: ModelPolicy;
15854
16555
  billing?: ModelBilling;
15855
16556
  /**
@@ -15877,82 +16578,6 @@ export interface Model {
15877
16578
  warningMessages?: ModelMessage[];
15878
16579
  provider?: ModelProviderRef;
15879
16580
  }
15880
- /**
15881
- * Model capabilities and limits
15882
- *
15883
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15884
- * via the `definition` "ModelCapabilities".
15885
- */
15886
- /** @experimental */
15887
- export interface ModelCapabilities {
15888
- supports?: ModelCapabilitiesSupports;
15889
- limits?: ModelCapabilitiesLimits;
15890
- }
15891
- /**
15892
- * Feature flags indicating what the model supports
15893
- *
15894
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15895
- * via the `definition` "ModelCapabilitiesSupports".
15896
- */
15897
- /** @experimental */
15898
- export interface ModelCapabilitiesSupports {
15899
- /**
15900
- * Whether this model supports vision/image input
15901
- */
15902
- vision?: boolean;
15903
- /**
15904
- * Whether this model supports canonical tool calling
15905
- */
15906
- toolCalls?: boolean;
15907
- /**
15908
- * Whether this model supports reasoning effort configuration
15909
- */
15910
- reasoningEffort?: boolean;
15911
- adaptive_thinking?: AdaptiveThinkingSupport;
15912
- }
15913
- /**
15914
- * Token limits for prompts, outputs, and context window
15915
- *
15916
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15917
- * via the `definition` "ModelCapabilitiesLimits".
15918
- */
15919
- /** @experimental */
15920
- export interface ModelCapabilitiesLimits {
15921
- /**
15922
- * Maximum number of prompt/input tokens
15923
- */
15924
- max_prompt_tokens?: number;
15925
- /**
15926
- * Maximum number of output/completion tokens
15927
- */
15928
- max_output_tokens?: number;
15929
- /**
15930
- * Maximum total context window size in tokens
15931
- */
15932
- max_context_window_tokens?: number;
15933
- vision?: ModelCapabilitiesLimitsVision;
15934
- }
15935
- /**
15936
- * Vision-specific limits
15937
- *
15938
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15939
- * via the `definition` "ModelCapabilitiesLimitsVision".
15940
- */
15941
- /** @experimental */
15942
- export interface ModelCapabilitiesLimitsVision {
15943
- /**
15944
- * MIME types the model accepts
15945
- */
15946
- supported_media_types: string[];
15947
- /**
15948
- * Maximum number of images per prompt
15949
- */
15950
- max_prompt_images: number;
15951
- /**
15952
- * Maximum image size in bytes
15953
- */
15954
- max_prompt_image_size: number;
15955
- }
15956
16581
  /**
15957
16582
  * Policy state (if applicable)
15958
16583
  *
@@ -16288,69 +16913,471 @@ export interface ModelCapabilitiesOverrideLimitsVision {
16288
16913
  * List of Copilot models available to the resolved user, including capabilities and billing metadata.
16289
16914
  *
16290
16915
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16291
- * via the `definition` "ModelList".
16916
+ * via the `definition` "ModelList".
16917
+ */
16918
+ /** @experimental */
16919
+ export interface ModelList {
16920
+ /**
16921
+ * List of available models with full metadata
16922
+ */
16923
+ models: Model[];
16924
+ }
16925
+ /** @experimental */
16926
+ export interface ModelPickerPersistenceRequest {
16927
+ settingsContext: ModelPickerSettingsContext;
16928
+ /**
16929
+ * Whether reasoning effort was explicitly selected and should be persisted.
16930
+ */
16931
+ reasoningEffortExplicit?: boolean;
16932
+ /**
16933
+ * Whether context tier was explicitly selected and should be persisted.
16934
+ */
16935
+ contextTierExplicit?: boolean;
16936
+ }
16937
+ /**
16938
+ * Filesystem and environment context used to resolve model-picker settings.
16939
+ *
16940
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16941
+ * via the `definition` "ModelPickerSettingsContext".
16942
+ */
16943
+ /** @experimental */
16944
+ export interface ModelPickerSettingsContext {
16945
+ /**
16946
+ * Optional Copilot configuration directory containing persisted settings.
16947
+ */
16948
+ configDir?: string;
16949
+ /**
16950
+ * User home directory used when resolving persisted settings.
16951
+ */
16952
+ homeDirectory: string;
16953
+ /**
16954
+ * Environment variables consulted while resolving model-picker settings.
16955
+ */
16956
+ environment: {};
16957
+ }
16958
+ /**
16959
+ * Normalized model-provider adapter definitions available to the session, not discovered instances.
16960
+ *
16961
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16962
+ * via the `definition` "ModelProviderAdapterCatalog".
16963
+ */
16964
+ /** @experimental */
16965
+ export interface ModelProviderAdapterCatalog {
16966
+ /**
16967
+ * Available provider adapters ordered by adapterId.
16968
+ */
16969
+ providers: ModelProviderAdapterDescriptor[];
16970
+ }
16971
+ /**
16972
+ * A normalized model-provider adapter in the session's effective catalog.
16973
+ *
16974
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16975
+ * via the `definition` "ModelProviderAdapterDescriptor".
16976
+ */
16977
+ /** @experimental */
16978
+ export interface ModelProviderAdapterDescriptor {
16979
+ /**
16980
+ * Stable opaque identity for routing to this adapter. Unique in the effective catalog, independent of live registration generations.
16981
+ */
16982
+ adapterId: string;
16983
+ /**
16984
+ * Descriptive provider family, such as `ollama`. Different adapters may have the same family; use adapterId for routing.
16985
+ */
16986
+ providerKind: string;
16987
+ /**
16988
+ * Human-readable provider name.
16989
+ */
16990
+ displayName: string;
16991
+ provenance: ModelProviderAttribution;
16992
+ automaticDiscovery: ModelProviderAutomaticDiscoveryPolicy;
16993
+ /**
16994
+ * Operations supported by this provider adapter.
16995
+ */
16996
+ operations: ModelProviderAdapterOperationDescriptor[];
16997
+ }
16998
+ /**
16999
+ * Contributor attribution, independent of routing identity and authorization.
17000
+ *
17001
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17002
+ * via the `definition` "ModelProviderAttribution".
17003
+ */
17004
+ /** @experimental */
17005
+ export interface ModelProviderAttribution {
17006
+ source: ModelProviderProvenanceSource;
17007
+ /**
17008
+ * Stable contributor identifier. Required and nonblank for extension and custom sources; optional for built-in and configured sources. Does not grant authority.
17009
+ */
17010
+ ownerId?: string;
17011
+ /**
17012
+ * Human-readable contributor name, not the adapter display name.
17013
+ */
17014
+ ownerDisplayName?: string;
17015
+ }
17016
+ /**
17017
+ * Adapter-declared policy that tells clients whether discovery may run automatically.
17018
+ *
17019
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17020
+ * via the `definition` "ModelProviderAutomaticDiscoveryPolicy".
17021
+ */
17022
+ /** @experimental */
17023
+ export interface ModelProviderAutomaticDiscoveryPolicy {
17024
+ mode: ModelProviderAutomaticDiscoveryMode;
17025
+ networkScope: ModelProviderDiscoveryNetworkScope;
17026
+ /**
17027
+ * True when discovery requires non-null caller input. Omission or null is rejected before adapter execution. When false, omitted or null input selects adapter defaults without schema validation.
17028
+ */
17029
+ requiresInput: boolean;
17030
+ /**
17031
+ * True when the adapter must be enabled by a trusted owner, such as a trusted extension, before automatic discovery may run.
17032
+ */
17033
+ requiresTrust: boolean;
17034
+ }
17035
+ /**
17036
+ * An operation supported by a model-provider adapter.
17037
+ *
17038
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17039
+ * via the `definition` "ModelProviderAdapterOperationDescriptor".
17040
+ */
17041
+ /** @experimental */
17042
+ export interface ModelProviderAdapterOperationDescriptor {
17043
+ /**
17044
+ * Supported operation name: `discover`, `getStatus`, or `models.list`. Unknown names and duplicate declarations are rejected.
17045
+ */
17046
+ name: string;
17047
+ /**
17048
+ * Optional self-contained JSON Schema Draft 7 for non-null discovery input. Only supported on discover. No external references are resolved. Omitted or null input selects defaults when requiresInput is false. Without a schema, the adapter validates supplied input.
17049
+ */
17050
+ inputSchema?: JsonValue;
17051
+ }
17052
+ /**
17053
+ * Provider configuration prepared from a discovered model. Preparing a plan changes nothing: it neither registers the model with the session nor writes durable configuration. To apply it, pass `provider` and `model` to `session.provider.add`, omitting whichever the dispositions report as already configured.
17054
+ *
17055
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17056
+ * via the `definition` "ModelProviderConfigurationPlan".
17057
+ */
17058
+ /** @experimental */
17059
+ export interface ModelProviderConfigurationPlan {
17060
+ provider: NamedProviderConfig;
17061
+ model: ProviderModelConfig;
17062
+ /**
17063
+ * Provider-qualified selection id (`provider/id`) to pass to `switchTo` once the plan is applied.
17064
+ */
17065
+ selectionId: string;
17066
+ providerDisposition: ModelProviderConfigurationDisposition;
17067
+ modelDisposition: ModelProviderConfigurationDisposition;
17068
+ /**
17069
+ * Non-fatal warnings carried over from the discovered model, such as capabilities the provider did not report.
17070
+ */
17071
+ warnings: ModelProviderWarning[];
17072
+ }
17073
+ /**
17074
+ * External SDK input for a named custom model provider. Ingested by the native protocol boundary before host dispatch.
17075
+ *
17076
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17077
+ * via the `definition` "NamedProviderConfig".
17078
+ */
17079
+ /** @experimental */
17080
+ export interface NamedProviderConfig {
17081
+ /**
17082
+ * Unique provider name used to qualify model selection IDs.
17083
+ */
17084
+ name: string;
17085
+ type?: ProviderConfigType;
17086
+ wireApi?: ProviderConfigWireApi;
17087
+ transport?: ProviderConfigTransport;
17088
+ /**
17089
+ * Base URL for provider API requests.
17090
+ */
17091
+ baseUrl: string;
17092
+ /**
17093
+ * Static API key used to authenticate provider requests.
17094
+ */
17095
+ apiKey?: string;
17096
+ /**
17097
+ * Static bearer token used to authenticate provider requests.
17098
+ */
17099
+ bearerToken?: string;
17100
+ azure?: ProviderConfigAzure;
17101
+ /**
17102
+ * Additional HTTP headers included with provider requests.
17103
+ */
17104
+ headers?: {
17105
+ [k: string]: string | undefined;
17106
+ };
17107
+ modelProvider?: ProviderConfigModelProvider;
17108
+ /**
17109
+ * Whether the host supplies bearer tokens dynamically.
17110
+ */
17111
+ hasBearerTokenProvider?: boolean;
17112
+ }
17113
+ /**
17114
+ * Azure-specific provider options.
17115
+ *
17116
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17117
+ * via the `definition` "ProviderConfigAzure".
17118
+ */
17119
+ /** @experimental */
17120
+ export interface ProviderConfigAzure {
17121
+ /**
17122
+ * API version. When set, uses the versioned deployment route. When omitted, uses the GA versionless v1 route.
17123
+ */
17124
+ apiVersion?: string;
17125
+ }
17126
+ /**
17127
+ * A BYOK model definition referencing a named provider.
17128
+ *
17129
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17130
+ * via the `definition` "ProviderModelConfig".
17131
+ */
17132
+ /** @experimental */
17133
+ export interface ProviderModelConfig {
17134
+ /**
17135
+ * Provider-local model id, unique within its provider. The session-wide selection id (shown in the model list and passed to switchTo) is the provider-qualified `provider/id`.
17136
+ */
17137
+ id: string;
17138
+ /**
17139
+ * Name of the configured provider that serves this model.
17140
+ */
17141
+ provider: string;
17142
+ /**
17143
+ * The model name sent to the provider API for inference. Defaults to `id`.
17144
+ */
17145
+ wireModel?: string;
17146
+ /**
17147
+ * Well-known base model id used for behavior/capability/config lookup. Defaults to `id`.
17148
+ */
17149
+ modelId?: string;
17150
+ /**
17151
+ * Display name for model pickers. Defaults to the provider-qualified selection id (`provider/id`).
17152
+ */
17153
+ name?: string;
17154
+ /**
17155
+ * Maximum prompt/input tokens for the model.
17156
+ */
17157
+ maxPromptTokens?: number;
17158
+ /**
17159
+ * Maximum context window tokens for the model.
17160
+ */
17161
+ maxContextWindowTokens?: number;
17162
+ /**
17163
+ * Maximum output tokens for the model.
17164
+ */
17165
+ maxOutputTokens?: number;
17166
+ capabilities?: ModelCapabilitiesOverride;
17167
+ systemMessage?: ProtocolSystemMessageConfig;
17168
+ /**
17169
+ * Provider-published model metadata, preserved verbatim as the public Model.metadata object.
17170
+ */
17171
+ metadata?: {
17172
+ [k: string]: JsonValue | undefined;
17173
+ };
17174
+ }
17175
+ /** @experimental */
17176
+ export interface ProtocolSystemMessageAppendConfig {
17177
+ mode?: ProtocolAppendMode;
17178
+ /**
17179
+ * Text appended to the standard system prompt.
17180
+ */
17181
+ content?: string;
17182
+ }
17183
+ /** @experimental */
17184
+ export interface ProtocolSystemMessageReplaceConfig {
17185
+ mode: ProtocolReplaceMode;
17186
+ /**
17187
+ * Complete replacement system-message text.
17188
+ */
17189
+ content: string;
17190
+ /**
17191
+ * Optional structured blocks corresponding to the replacement content.
17192
+ */
17193
+ contentBlocks?: SystemMessageBlock[];
17194
+ }
17195
+ /** @experimental */
17196
+ export interface SystemMessageBlock {
17197
+ /**
17198
+ * Text content for this system-message block.
17199
+ */
17200
+ content: string;
17201
+ /**
17202
+ * Whether the block is static and may be cached independently of dynamic prompt content.
17203
+ */
17204
+ isStatic?: boolean;
17205
+ /**
17206
+ * Whether providers with explicit prompt caching should place a cache breakpoint after this block.
17207
+ */
17208
+ cacheBreakpoint?: boolean;
17209
+ }
17210
+ /** @experimental */
17211
+ export interface ProtocolSystemMessageCustomizeConfig {
17212
+ mode: ProtocolCustomizeMode;
17213
+ /**
17214
+ * Named standard-prompt section overrides.
17215
+ */
17216
+ sections?: {
17217
+ [k: string]: ProtocolSectionOverride | undefined;
17218
+ };
17219
+ /**
17220
+ * Text appended after the customized sections.
17221
+ */
17222
+ content?: string;
17223
+ }
17224
+ /** @experimental */
17225
+ export interface ProtocolStaticSectionOverride {
17226
+ action: ProtocolStaticSectionAction;
17227
+ /**
17228
+ * Optional content used by replace, append, and prepend operations.
17229
+ */
17230
+ content?: string;
17231
+ }
17232
+ /**
17233
+ * One model provider available to the session — the model analog of the account `ProviderDescriptor`. Opaque id/label/kind plus a stable ordering; central code never branches on kind.
17234
+ *
17235
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17236
+ * via the `definition` "ModelProviderDescriptor".
17237
+ */
17238
+ /** @experimental */
17239
+ export interface ModelProviderDescriptor {
17240
+ kind: ModelProviderKind;
17241
+ /**
17242
+ * Opaque, stable provider id, stamped onto every model this provider returns.
17243
+ */
17244
+ id: string;
17245
+ /**
17246
+ * Human-readable menu label, owned by the runtime so every consumer renders identical text.
17247
+ */
17248
+ label: string;
17249
+ /**
17250
+ * Stable ordering key for presenting providers in a deterministic sequence.
17251
+ */
17252
+ ordering: number;
17253
+ }
17254
+ /**
17255
+ * Provider discovery parameters.
17256
+ *
17257
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17258
+ * via the `definition` "ModelProviderDiscoverRequest".
17259
+ */
17260
+ /** @experimental */
17261
+ export interface ModelProviderDiscoverRequest {
17262
+ /**
17263
+ * Opaque adapter identity returned by `session.providers.getCatalog`.
17264
+ */
17265
+ adapterId: string;
17266
+ /**
17267
+ * Provider-specific JSON input. Omission or null selects adapter defaults unless requiresInput is true. Non-null input is validated against the advertised Draft 7 schema when present; otherwise validation belongs to the adapter.
17268
+ */
17269
+ input?: JsonValue;
17270
+ }
17271
+ /**
17272
+ * Provider instances found by a discovery operation.
17273
+ *
17274
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17275
+ * via the `definition` "ModelProviderDiscoverResult".
16292
17276
  */
16293
17277
  /** @experimental */
16294
- export interface ModelList {
17278
+ export interface ModelProviderDiscoverResult {
17279
+ outcome: ModelProviderOperationOutcome;
16295
17280
  /**
16296
- * List of available models with full metadata
17281
+ * Discovered provider instances. Empty when passive default discovery finds no reachable provider.
16297
17282
  */
16298
- models: Model[];
17283
+ instances: ModelProviderInstance[];
16299
17284
  }
17285
+ /**
17286
+ * A normalized model-provider instance discovered by the runtime.
17287
+ *
17288
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17289
+ * via the `definition` "ModelProviderInstance".
17290
+ */
16300
17291
  /** @experimental */
16301
- export interface ModelPickerPersistenceRequest {
16302
- settingsContext: ModelPickerSettingsContext;
17292
+ export interface ModelProviderInstance {
17293
+ reference: ModelProviderInstanceReference;
16303
17294
  /**
16304
- * Whether reasoning effort was explicitly selected and should be persisted.
17295
+ * Human-readable instance name.
16305
17296
  */
16306
- reasoningEffortExplicit?: boolean;
17297
+ displayName: string;
17298
+ provenance: ModelProviderProvenance;
16307
17299
  /**
16308
- * Whether context tier was explicitly selected and should be persisted.
17300
+ * Inference API endpoint when the provider exposes one separately from its management endpoint.
16309
17301
  */
16310
- contextTierExplicit?: boolean;
17302
+ inferenceEndpoint?: string;
17303
+ inferenceType?: ProviderEndpointType;
17304
+ inferenceWireApi?: ProviderEndpointWireApi;
17305
+ inferenceTransport?: ProviderEndpointTransport;
16311
17306
  }
16312
17307
  /**
16313
- * Filesystem and environment context used to resolve model-picker settings.
17308
+ * Serializable reference to a discovered provider instance.
16314
17309
  *
16315
17310
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16316
- * via the `definition` "ModelPickerSettingsContext".
17311
+ * via the `definition` "ModelProviderInstanceReference".
16317
17312
  */
16318
17313
  /** @experimental */
16319
- export interface ModelPickerSettingsContext {
17314
+ export interface ModelProviderInstanceReference {
16320
17315
  /**
16321
- * Optional Copilot configuration directory containing persisted settings.
17316
+ * Stable opaque identity of the adapter that owns this reference. Must be present in the target session's effective catalog.
16322
17317
  */
16323
- configDir?: string;
17318
+ adapterId: string;
16324
17319
  /**
16325
- * User home directory used when resolving persisted settings.
17320
+ * Descriptive provider family. Must match the selected adapter; not a routing key.
16326
17321
  */
16327
- homeDirectory: string;
17322
+ providerKind: string;
16328
17323
  /**
16329
- * Environment variables consulted while resolving model-picker settings.
17324
+ * Stable instance identifier derived by the provider adapter, such as `ollama:{normalizedEndpoint}`.
16330
17325
  */
16331
- environment: {};
17326
+ id: string;
17327
+ /**
17328
+ * Absolute provider management URI. The adapter validates normalization, supported schemes, and permission to access it against its bound configuration; a reference does not grant authority.
17329
+ */
17330
+ managementEndpoint: string;
16332
17331
  }
16333
17332
  /**
16334
- * One model provider available to the session — the model analog of the account `ProviderDescriptor`. Opaque id/label/kind plus a stable ordering; central code never branches on kind.
17333
+ * Provider status request parameters.
16335
17334
  *
16336
17335
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16337
- * via the `definition` "ModelProviderDescriptor".
17336
+ * via the `definition` "ModelProviderGetStatusRequest".
16338
17337
  */
16339
17338
  /** @experimental */
16340
- export interface ModelProviderDescriptor {
16341
- kind: ModelProviderKind;
16342
- /**
16343
- * Opaque, stable provider id, stamped onto every model this provider returns.
16344
- */
16345
- id: string;
17339
+ export interface ModelProviderGetStatusRequest {
17340
+ instance: ModelProviderInstanceReference;
17341
+ }
17342
+ /**
17343
+ * Provider model inventory request parameters.
17344
+ *
17345
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17346
+ * via the `definition` "ModelProviderModelsListRequest".
17347
+ */
17348
+ /** @experimental */
17349
+ export interface ModelProviderModelsListRequest {
17350
+ instance: ModelProviderInstanceReference;
17351
+ }
17352
+ /**
17353
+ * A discovered instance and one of its models to translate into provider configuration. Pass back the instance and model as returned by `session.providers.discover` and `session.providers.models.list`.
17354
+ *
17355
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17356
+ * via the `definition` "ModelProviderPrepareConfigurationRequest".
17357
+ */
17358
+ /** @experimental */
17359
+ export interface ModelProviderPrepareConfigurationRequest {
17360
+ instance: ModelProviderInstance;
17361
+ model: DiscoveredModel;
17362
+ }
17363
+ /**
17364
+ * Current health information for a provider instance.
17365
+ *
17366
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
17367
+ * via the `definition` "ModelProviderStatus".
17368
+ */
17369
+ /** @experimental */
17370
+ export interface ModelProviderStatus {
17371
+ outcome: ModelProviderOperationOutcome;
17372
+ instance: ModelProviderInstance;
16346
17373
  /**
16347
- * Human-readable menu label, owned by the runtime so every consumer renders identical text.
17374
+ * Open provider status value, such as `healthy`, `unreachable`, or `notInstalled`.
16348
17375
  */
16349
- label: string;
17376
+ status: string;
16350
17377
  /**
16351
- * Stable ordering key for presenting providers in a deterministic sequence.
17378
+ * Provider-reported version.
16352
17379
  */
16353
- ordering: number;
17380
+ version?: string;
16354
17381
  }
16355
17382
  /**
16356
17383
  * Host-supplied exact model selection IDs to allow for this running session. CAPI IDs are intersected with repository `.github/allowed_models.txt` policy; provider-qualified IDs remain exempt from repository-only policy but are restricted by this host list. Omit or pass null to clear the host restriction; an explicit empty or disjoint list is rejected. Validation and pre-selection fallback failures preserve the previous restriction. Failures after a fallback selection commits retain the new restriction and selected model; callers should inspect current session state after such an error.
@@ -16676,58 +17703,6 @@ export interface MoveMcpLoadingToBackgroundResult {
16676
17703
  */
16677
17704
  movedToBackground: boolean;
16678
17705
  }
16679
- /**
16680
- * External SDK input for a named custom model provider. Ingested by the native protocol boundary before host dispatch.
16681
- *
16682
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16683
- * via the `definition` "NamedProviderConfig".
16684
- */
16685
- /** @experimental */
16686
- export interface NamedProviderConfig {
16687
- /**
16688
- * Unique provider name used to qualify model selection IDs.
16689
- */
16690
- name: string;
16691
- type?: ProviderConfigType;
16692
- wireApi?: ProviderConfigWireApi;
16693
- transport?: ProviderConfigTransport;
16694
- /**
16695
- * Base URL for provider API requests.
16696
- */
16697
- baseUrl: string;
16698
- /**
16699
- * Static API key used to authenticate provider requests.
16700
- */
16701
- apiKey?: string;
16702
- /**
16703
- * Static bearer token used to authenticate provider requests.
16704
- */
16705
- bearerToken?: string;
16706
- azure?: ProviderConfigAzure;
16707
- /**
16708
- * Additional HTTP headers included with provider requests.
16709
- */
16710
- headers?: {
16711
- [k: string]: string | undefined;
16712
- };
16713
- /**
16714
- * Whether the host supplies bearer tokens dynamically.
16715
- */
16716
- hasBearerTokenProvider?: boolean;
16717
- }
16718
- /**
16719
- * Azure-specific provider options.
16720
- *
16721
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16722
- * via the `definition` "ProviderConfigAzure".
16723
- */
16724
- /** @experimental */
16725
- export interface ProviderConfigAzure {
16726
- /**
16727
- * API version. When set, uses the versioned deployment route. When omitted, uses the GA versionless v1 route.
16728
- */
16729
- apiVersion?: string;
16730
- }
16731
17706
  /**
16732
17707
  * The session's friendly name, or null when not yet set.
16733
17708
  *
@@ -18867,63 +19842,6 @@ export interface ProtocolExternalToolDefinition {
18867
19842
  [k: string]: JsonValue | undefined;
18868
19843
  };
18869
19844
  }
18870
- /** @experimental */
18871
- export interface ProtocolStaticSectionOverride {
18872
- action: ProtocolStaticSectionAction;
18873
- /**
18874
- * Optional content used by replace, append, and prepend operations.
18875
- */
18876
- content?: string;
18877
- }
18878
- /** @experimental */
18879
- export interface ProtocolSystemMessageAppendConfig {
18880
- mode?: ProtocolAppendMode;
18881
- /**
18882
- * Text appended to the standard system prompt.
18883
- */
18884
- content?: string;
18885
- }
18886
- /** @experimental */
18887
- export interface ProtocolSystemMessageReplaceConfig {
18888
- mode: ProtocolReplaceMode;
18889
- /**
18890
- * Complete replacement system-message text.
18891
- */
18892
- content: string;
18893
- /**
18894
- * Optional structured blocks corresponding to the replacement content.
18895
- */
18896
- contentBlocks?: SystemMessageBlock[];
18897
- }
18898
- /** @experimental */
18899
- export interface SystemMessageBlock {
18900
- /**
18901
- * Text content for this system-message block.
18902
- */
18903
- content: string;
18904
- /**
18905
- * Whether the block is static and may be cached independently of dynamic prompt content.
18906
- */
18907
- isStatic?: boolean;
18908
- /**
18909
- * Whether providers with explicit prompt caching should place a cache breakpoint after this block.
18910
- */
18911
- cacheBreakpoint?: boolean;
18912
- }
18913
- /** @experimental */
18914
- export interface ProtocolSystemMessageCustomizeConfig {
18915
- mode: ProtocolCustomizeMode;
18916
- /**
18917
- * Named standard-prompt section overrides.
18918
- */
18919
- sections?: {
18920
- [k: string]: ProtocolSectionOverride;
18921
- };
18922
- /**
18923
- * Text appended after the customized sections.
18924
- */
18925
- content?: string;
18926
- }
18927
19845
  /**
18928
19846
  * BYOK providers and/or models to add to the session's registry at runtime. Both fields are optional; provide providers, models, or both.
18929
19847
  *
@@ -18941,55 +19859,6 @@ export interface ProviderAddRequest {
18941
19859
  */
18942
19860
  models?: ProviderModelConfig[];
18943
19861
  }
18944
- /**
18945
- * A BYOK model definition referencing a named provider.
18946
- *
18947
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
18948
- * via the `definition` "ProviderModelConfig".
18949
- */
18950
- /** @experimental */
18951
- export interface ProviderModelConfig {
18952
- /**
18953
- * Provider-local model id, unique within its provider. The session-wide selection id (shown in the model list and passed to switchTo) is the provider-qualified `provider/id`.
18954
- */
18955
- id: string;
18956
- /**
18957
- * Name of the configured provider that serves this model.
18958
- */
18959
- provider: string;
18960
- /**
18961
- * The model name sent to the provider API for inference. Defaults to `id`.
18962
- */
18963
- wireModel?: string;
18964
- /**
18965
- * Well-known base model id used for behavior/capability/config lookup. Defaults to `id`.
18966
- */
18967
- modelId?: string;
18968
- /**
18969
- * Display name for model pickers. Defaults to the provider-qualified selection id (`provider/id`).
18970
- */
18971
- name?: string;
18972
- /**
18973
- * Maximum prompt/input tokens for the model.
18974
- */
18975
- maxPromptTokens?: number;
18976
- /**
18977
- * Maximum context window tokens for the model.
18978
- */
18979
- maxContextWindowTokens?: number;
18980
- /**
18981
- * Maximum output tokens for the model.
18982
- */
18983
- maxOutputTokens?: number;
18984
- capabilities?: ModelCapabilitiesOverride;
18985
- systemMessage?: ProtocolSystemMessageConfig;
18986
- /**
18987
- * Provider-published model metadata, preserved verbatim as the public Model.metadata object.
18988
- */
18989
- metadata?: {
18990
- [k: string]: JsonValue | undefined;
18991
- };
18992
- }
18993
19862
  /**
18994
19863
  * The selectable model entries synthesized for the models added by this call.
18995
19864
  *
@@ -19036,6 +19905,7 @@ export interface ProviderConfig {
19036
19905
  * Provider name used for model and telemetry attribution.
19037
19906
  */
19038
19907
  providerName?: string;
19908
+ modelProvider?: ProviderConfigModelProvider;
19039
19909
  /**
19040
19910
  * The model identifier sent to the provider API for inference (the "wire" model), as opposed to modelId which is the well-known base.
19041
19911
  */
@@ -20867,6 +21737,47 @@ export interface SandboxHostSupport {
20867
21737
  */
20868
21738
  capabilities: SandboxHostCapability[];
20869
21739
  }
21740
+ /**
21741
+ * Result of creating the persistent certificate authority of the sandbox credential proxy.
21742
+ *
21743
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
21744
+ * via the `definition` "SandboxProxyCaCreateResult".
21745
+ */
21746
+ /** @experimental */
21747
+ export interface SandboxProxyCaCreateResult {
21748
+ /**
21749
+ * Absolute path of the public certificate of the certificate authority, in PEM format.
21750
+ */
21751
+ certificatePath: string;
21752
+ }
21753
+ /**
21754
+ * Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover. The runtime always adds the hosts from the saved user settings.
21755
+ *
21756
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
21757
+ * via the `definition` "SandboxProxyCaRequest".
21758
+ */
21759
+ /** @experimental */
21760
+ export interface SandboxProxyCaRequest {
21761
+ sandboxConfig?: SandboxConfig;
21762
+ }
21763
+ /**
21764
+ * Status of the persistent certificate authority of the sandbox credential proxy.
21765
+ *
21766
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
21767
+ * via the `definition` "SandboxProxyCaStatus".
21768
+ */
21769
+ /** @experimental */
21770
+ export interface SandboxProxyCaStatus {
21771
+ state: SandboxProxyCaState;
21772
+ /**
21773
+ * Human-readable reason for the state. On `installed` or `notInstalled`, present only when the certificate authority must be rotated, and then says why.
21774
+ */
21775
+ detail?: string;
21776
+ /**
21777
+ * Whether this process can add the certificate authority to OS trust without credentials from a different user. False where OS trust is unsupported, and on Windows when the process cannot elevate itself to write the machine trust store. When false, do not offer to set up the certificate authority.
21778
+ */
21779
+ canInstall: boolean;
21780
+ }
20870
21781
  /**
20871
21782
  * Register an absolute-time scheduled prompt.
20872
21783
  *
@@ -21484,16 +22395,33 @@ export interface SessionAuthSwitchRequest {
21484
22395
  * Map of sessionId -> bytes freed by removing the session's workspace directory.
21485
22396
  *
21486
22397
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
21487
- * via the `definition` "SessionBulkDeleteResult".
22398
+ * via the `definition` "SessionBulkDeleteResult".
22399
+ */
22400
+ /** @experimental */
22401
+ export interface SessionBulkDeleteResult {
22402
+ /**
22403
+ * Map of sessionId -> bytes freed by removing the session's workspace directory. Sessions whose deletion failed are omitted from this map (failures are logged on the server but not surfaced per-id; check the map for absent IDs to detect them).
22404
+ */
22405
+ freedBytes: {
22406
+ [k: string]: number | undefined;
22407
+ };
22408
+ }
22409
+ /**
22410
+ * The IDE a host is connected to, as reported to the session.
22411
+ *
22412
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
22413
+ * via the `definition` "SessionConnectedIdeInfo".
21488
22414
  */
21489
22415
  /** @experimental */
21490
- export interface SessionBulkDeleteResult {
22416
+ export interface SessionConnectedIdeInfo {
21491
22417
  /**
21492
- * Map of sessionId -> bytes freed by removing the session's workspace directory. Sessions whose deletion failed are omitted from this map (failures are logged on the server but not surfaced per-id; check the map for absent IDs to detect them).
22418
+ * Display name of the connected IDE, for example `VS Code`.
21493
22419
  */
21494
- freedBytes: {
21495
- [k: string]: number | undefined;
21496
- };
22420
+ ideName: string;
22421
+ /**
22422
+ * Absolute path of the workspace folder the IDE has open.
22423
+ */
22424
+ workspaceFolder: string;
21497
22425
  }
21498
22426
  /**
21499
22427
  * The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
@@ -21546,6 +22474,10 @@ export interface SessionFsError {
21546
22474
  * Free-form detail about the error, for logging/diagnostics
21547
22475
  */
21548
22476
  message?: string;
22477
+ /**
22478
+ * For failed writeFile requests only: true if the provider changed the target before failing. Omit when unknown or unchanged.
22479
+ */
22480
+ writeChanged?: boolean;
21549
22481
  }
21550
22482
  /**
21551
22483
  * Path to test for existence in the client-provided session filesystem.
@@ -21678,6 +22610,37 @@ export interface SessionFsReaddirWithTypesResult {
21678
22610
  entries: SessionFsReaddirWithTypesEntry[];
21679
22611
  error?: SessionFsError;
21680
22612
  }
22613
+ /**
22614
+ * Path of the binary file to read from the client-provided session filesystem.
22615
+ *
22616
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
22617
+ * via the `definition` "SessionFsReadFileBytesRequest".
22618
+ */
22619
+ /** @experimental */
22620
+ export interface SessionFsReadFileBytesRequest {
22621
+ /**
22622
+ * Target session identifier
22623
+ */
22624
+ sessionId: string;
22625
+ /**
22626
+ * Path using SessionFs conventions
22627
+ */
22628
+ path: string;
22629
+ }
22630
+ /**
22631
+ * File bytes as standard base64, or a filesystem error if the read failed.
22632
+ *
22633
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
22634
+ * via the `definition` "SessionFsReadFileBytesResult".
22635
+ */
22636
+ /** @experimental */
22637
+ export interface SessionFsReadFileBytesResult {
22638
+ /**
22639
+ * Exact file bytes encoded as standard base64
22640
+ */
22641
+ content: string;
22642
+ error?: SessionFsError;
22643
+ }
21681
22644
  /**
21682
22645
  * Path of the file to read from the client-provided session filesystem.
21683
22646
  *
@@ -21767,6 +22730,10 @@ export interface SessionFsSetProviderCapabilities {
21767
22730
  * Whether the provider supports SQLite query/exists operations
21768
22731
  */
21769
22732
  sqlite?: boolean;
22733
+ /**
22734
+ * Whether the provider supports binary reads and writes through sessionFs.readFileBytes and sessionFs.writeFileBytes
22735
+ */
22736
+ binary?: boolean;
21770
22737
  }
21771
22738
  /**
21772
22739
  * Initial working directory, session-state path layout, and path conventions used to register the calling SDK client as the session filesystem provider. A registered provider is authoritative for path interpretation and filesystem facts used by workspace permission validation. Paths are interpreted lexically; home-relative paths (`~` and `~/...`) and Windows drive-relative paths such as `C:foo` are unsupported. Until provider-side canonicalization is supported, providers must not expose symlinks inside allowed roots that escape those roots.
@@ -21977,6 +22944,31 @@ export interface SessionFsStatResult {
21977
22944
  birthtime: string;
21978
22945
  error?: SessionFsError;
21979
22946
  }
22947
+ /**
22948
+ * File path, standard-base64-encoded bytes to write, and optional mode for the client-provided session filesystem.
22949
+ *
22950
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
22951
+ * via the `definition` "SessionFsWriteFileBytesRequest".
22952
+ */
22953
+ /** @experimental */
22954
+ export interface SessionFsWriteFileBytesRequest {
22955
+ /**
22956
+ * Target session identifier
22957
+ */
22958
+ sessionId: string;
22959
+ /**
22960
+ * Path using SessionFs conventions
22961
+ */
22962
+ path: string;
22963
+ /**
22964
+ * Exact file bytes encoded as standard base64
22965
+ */
22966
+ content: string;
22967
+ /**
22968
+ * Optional POSIX-style mode for newly created files
22969
+ */
22970
+ mode?: number;
22971
+ }
21980
22972
  /**
21981
22973
  * File path, content to write, and optional mode for the client-provided session filesystem.
21982
22974
  *
@@ -22262,6 +23254,10 @@ export interface SessionManagedPermissions {
22262
23254
  * Permission rules that allow matching operations unless another managed source, deny, or ask rule restricts them.
22263
23255
  */
22264
23256
  allow?: string[];
23257
+ /**
23258
+ * Closed-world host boundary expressed as `Domain(hostname)`, `Domain(IP)`, or `Domain(*.example.com)` rules. Schemes, ports, paths, queries, and fragments are rejected because every network request must be enforceable at host-level egress. Multiple managed sources intersect their lists; an empty list denies all hosts.
23259
+ */
23260
+ limitTo?: string[];
22265
23261
  }
22266
23262
  /**
22267
23263
  * Managed settings an SDK host may inject at session startup. Only permissions are accepted in this initial contract.
@@ -22273,6 +23269,19 @@ export interface SessionManagedPermissions {
22273
23269
  export interface SessionManagedSettings {
22274
23270
  permissions?: SessionManagedPermissions;
22275
23271
  }
23272
+ /**
23273
+ * Records which IDE the host is connected to, or clears it.
23274
+ *
23275
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
23276
+ * via the `definition` "SessionMcpSetConnectedIdeInfoParams".
23277
+ */
23278
+ /** @experimental */
23279
+ export interface SessionMcpSetConnectedIdeInfoParams {
23280
+ /**
23281
+ * The connected IDE. Null or omitted clears the recorded IDE, which is how a host reports that it is disconnected.
23282
+ */
23283
+ ide?: SessionConnectedIdeInfo | null;
23284
+ }
22276
23285
  /**
22277
23286
  * Point-in-time snapshot of slow-changing session identifier and state fields
22278
23287
  *
@@ -22363,6 +23372,7 @@ export interface SessionModelList {
22363
23372
  quotaSnapshots?: {
22364
23373
  [k: string]: JsonValue | undefined;
22365
23374
  };
23375
+ auto?: AutoTierMetadata;
22366
23376
  }
22367
23377
  /**
22368
23378
  * Cost-category metadata for a CAPI model.
@@ -23107,6 +24117,90 @@ export interface SessionsCloseRequest {
23107
24117
  /** @experimental */
23108
24118
  export interface SessionsCloseResult {
23109
24119
  }
24120
+ /**
24121
+ * Identity, state location and starting context for a workspace record.
24122
+ *
24123
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24124
+ * via the `definition` "SessionsCreateWorkspaceRequest".
24125
+ */
24126
+ /** @experimental */
24127
+ export interface SessionsCreateWorkspaceRequest {
24128
+ /**
24129
+ * Session ID the workspace record belongs to
24130
+ */
24131
+ sessionId: string;
24132
+ /**
24133
+ * Directory the session's state is written under when no session filesystem provider is configured. Ignored when a provider is configured; the provider's session state path is used instead.
24134
+ */
24135
+ sessionStatePath: string;
24136
+ /**
24137
+ * `windows` (any letter case) selects Windows path rules. Any other value selects POSIX path rules.
24138
+ */
24139
+ convention: string;
24140
+ context?: SessionWorkingDirectoryContextWithClient;
24141
+ /**
24142
+ * User-supplied display name for the workspace
24143
+ */
24144
+ name?: string;
24145
+ }
24146
+ /**
24147
+ * A working-directory context together with the client that produced it.
24148
+ *
24149
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24150
+ * via the `definition` "SessionWorkingDirectoryContextWithClient".
24151
+ */
24152
+ /** @experimental */
24153
+ export interface SessionWorkingDirectoryContextWithClient {
24154
+ /**
24155
+ * Current working directory path
24156
+ */
24157
+ cwd: string;
24158
+ /**
24159
+ * Root directory of the git repository
24160
+ */
24161
+ gitRoot?: string;
24162
+ /**
24163
+ * Repository identifier derived from the git remote URL
24164
+ */
24165
+ repository?: string;
24166
+ /**
24167
+ * Hosting platform type of the repository
24168
+ */
24169
+ hostType?: string;
24170
+ /**
24171
+ * Current git branch name
24172
+ */
24173
+ branch?: string;
24174
+ /**
24175
+ * Raw host string from the git remote URL
24176
+ */
24177
+ repositoryHost?: string;
24178
+ /**
24179
+ * Head commit of the current git branch
24180
+ */
24181
+ headCommit?: string;
24182
+ /**
24183
+ * Merge-base commit SHA
24184
+ */
24185
+ baseCommit?: string;
24186
+ /**
24187
+ * Name of the client that created the session
24188
+ */
24189
+ clientName?: string;
24190
+ }
24191
+ /**
24192
+ * The workspace record that was written.
24193
+ *
24194
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24195
+ * via the `definition` "SessionsCreateWorkspaceResult".
24196
+ */
24197
+ /** @experimental */
24198
+ export interface SessionsCreateWorkspaceResult {
24199
+ /**
24200
+ * The created workspace record, as JSON
24201
+ */
24202
+ workspaceJson: string;
24203
+ }
23110
24204
  /**
23111
24205
  * Session ID to delete from disk.
23112
24206
  *
@@ -23734,6 +24828,36 @@ export interface SessionsLoadDeferredRepoHooksRequest {
23734
24828
  */
23735
24829
  sessionId: string;
23736
24830
  }
24831
+ /**
24832
+ * Where the session's state lives, as a root directory and the session ID under it.
24833
+ *
24834
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24835
+ * via the `definition` "SessionsLoadWorkspaceRequest".
24836
+ */
24837
+ /** @experimental */
24838
+ export interface SessionsLoadWorkspaceRequest {
24839
+ /**
24840
+ * Root directory every session's state directory sits under
24841
+ */
24842
+ sessionsHome: string;
24843
+ /**
24844
+ * Session ID naming the state directory under the sessions home. Rejected when it is absolute or contains a parent component, so it cannot escape the sessions home.
24845
+ */
24846
+ sessionId: string;
24847
+ }
24848
+ /**
24849
+ * The workspace record on disk, omitted when the session has none.
24850
+ *
24851
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24852
+ * via the `definition` "SessionsLoadWorkspaceResult".
24853
+ */
24854
+ /** @experimental */
24855
+ export interface SessionsLoadWorkspaceResult {
24856
+ /**
24857
+ * The workspace record, as JSON. Omitted when the record does not exist.
24858
+ */
24859
+ workspaceJson?: string;
24860
+ }
23737
24861
  /**
23738
24862
  * Age threshold and optional flags controlling which old sessions are pruned (or simulated when dryRun is true).
23739
24863
  *
@@ -23928,6 +25052,36 @@ export interface SessionsTransferRemoteControlRequest {
23928
25052
  */
23929
25053
  expectedFromSessionId?: string;
23930
25054
  }
25055
+ /**
25056
+ * Where the session's state lives, plus workspace-schema fields to merge into its workspace record. Stored keys outside the schema are not preserved, and a stored `fork_count` is never replaced.
25057
+ *
25058
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
25059
+ * via the `definition` "SessionsUpdateWorkspaceFieldsRequest".
25060
+ */
25061
+ /** @experimental */
25062
+ export interface SessionsUpdateWorkspaceFieldsRequest {
25063
+ /**
25064
+ * Root directory every session's state directory sits under
25065
+ */
25066
+ sessionsHome: string;
25067
+ /**
25068
+ * Session ID naming the state directory under the sessions home. Rejected when it is absolute or contains a parent component, so it cannot escape the sessions home.
25069
+ */
25070
+ sessionId: string;
25071
+ /**
25072
+ * Workspace-schema fields to merge into the record, as a JSON object. Fields the object omits keep their stored values, except stored keys outside the schema are not preserved and a stored `fork_count` is never replaced.
25073
+ */
25074
+ fieldsJson: string;
25075
+ }
25076
+ /**
25077
+ * The merge completed. The record carries the supplied workspace-schema fields, but a stored `fork_count` stays.
25078
+ *
25079
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
25080
+ * via the `definition` "SessionsUpdateWorkspaceFieldsResult".
25081
+ */
25082
+ /** @experimental */
25083
+ export interface SessionsUpdateWorkspaceFieldsResult {
25084
+ }
23931
25085
  /**
23932
25086
  * Telemetry engagement ID for the session, when available.
23933
25087
  *
@@ -24529,7 +25683,7 @@ export interface SkillPlanUninstallRequest {
24529
25683
  policySessionId: string;
24530
25684
  }
24531
25685
  /**
24532
- * Catalog-only metadata for one SDK-provided skill. The complete SKILL.md is fetched separately and lazily.
25686
+ * Authoritative catalog metadata for one SDK-provided skill. The skill's SKILL.md text is fetched separately and lazily.
24533
25687
  *
24534
25688
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24535
25689
  * via the `definition` "SkillProviderDescriptor".
@@ -26925,7 +28079,7 @@ export interface UserSettingMetadata {
26925
28079
  isDefault: boolean;
26926
28080
  }
26927
28081
  /**
26928
- * 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.
28082
+ * Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
26929
28083
  *
26930
28084
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
26931
28085
  * via the `definition` "UserSettingsGetResult".
@@ -26952,19 +28106,6 @@ export interface UserSettingsSetRequest {
26952
28106
  */
26953
28107
  settings: JsonValue;
26954
28108
  }
26955
- /**
26956
- * Outcome of writing user settings.
26957
- *
26958
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
26959
- * via the `definition` "UserSettingsSetResult".
26960
- */
26961
- /** @experimental */
26962
- export interface UserSettingsSetResult {
26963
- /**
26964
- * 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.
26965
- */
26966
- shadowedKeys: string[];
26967
- }
26968
28109
  /**
26969
28110
  * Current sharing status and shareable GitHub URL for a session.
26970
28111
  *
@@ -29103,6 +30244,47 @@ export declare function createServerRpc(connection: MessageConnection): {
29103
30244
  * @returns Whether the host running this runtime can run the command sandbox. The runtime checks `supported` once per process. A capability answer can change while the process runs, for example after the user installs a missing package.
29104
30245
  */
29105
30246
  getHostSupport: () => Promise<SandboxHostSupport>;
30247
+ /** @experimental */
30248
+ proxyCa: {
30249
+ /**
30250
+ * Reports whether the persistent certificate authority of the sandbox credential proxy exists, whether OS trust includes it, and whether it must be rotated. Changes nothing.
30251
+ *
30252
+ * @param params Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover. The runtime always adds the hosts from the saved user settings.
30253
+ *
30254
+ * @returns Status of the persistent certificate authority of the sandbox credential proxy.
30255
+ */
30256
+ getStatus: (params: SandboxProxyCaRequest) => Promise<SandboxProxyCaStatus>;
30257
+ /**
30258
+ * Creates the persistent certificate authority of the sandbox credential proxy if none is stored, without changing OS trust, and returns the path of its public certificate. Keeps an existing certificate authority, even one that must be rotated. Fails where OS trust is unsupported. Trust it with sandbox.proxyCa.trust: the CLI trusts only the hosts in the saved user settings, so it refuses a certificate authority that also covers hosts from sandboxConfig.
30259
+ *
30260
+ * @param params Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover. The runtime always adds the hosts from the saved user settings.
30261
+ *
30262
+ * @returns Result of creating the persistent certificate authority of the sandbox credential proxy.
30263
+ */
30264
+ create: (params: SandboxProxyCaRequest) => Promise<SandboxProxyCaCreateResult>;
30265
+ /**
30266
+ * Replaces the persistent certificate authority of the sandbox credential proxy with a new one for the current credential hosts. If OS trust included the old one, removes it and trusts the new one, which can show an OS authentication prompt. Running sandboxed tools keep the old certificate authority until they restart.
30267
+ *
30268
+ * @param params Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover. The runtime always adds the hosts from the saved user settings.
30269
+ *
30270
+ * @returns Status of the persistent certificate authority of the sandbox credential proxy.
30271
+ */
30272
+ rotate: (params: SandboxProxyCaRequest) => Promise<SandboxProxyCaStatus>;
30273
+ /**
30274
+ * Adds the persistent certificate authority of the sandbox credential proxy to OS trust, so sandboxed clients that read only OS trust accept the proxy. Call create first. Refuses a certificate authority that is not constrained to the current credential hosts. Can show an OS authentication prompt.
30275
+ *
30276
+ * @param params Identifies the credential hosts that the persistent certificate authority of the sandbox credential proxy must cover. The runtime always adds the hosts from the saved user settings.
30277
+ *
30278
+ * @returns Status of the persistent certificate authority of the sandbox credential proxy.
30279
+ */
30280
+ trust: (params: SandboxProxyCaRequest) => Promise<SandboxProxyCaStatus>;
30281
+ /**
30282
+ * Removes the persistent certificate authority of the sandbox credential proxy from OS trust. Keeps the stored certificate authority. Can show an OS authentication prompt. Sandboxed clients that read only OS trust then reject the proxy; clients that read the per-process certificate bundle continue to work.
30283
+ *
30284
+ * @returns Status of the persistent certificate authority of the sandbox credential proxy.
30285
+ */
30286
+ remove: () => Promise<SandboxProxyCaStatus>;
30287
+ };
29106
30288
  };
29107
30289
  /** @experimental */
29108
30290
  tools: {
@@ -29600,23 +30782,17 @@ export declare function createServerRpc(connection: MessageConnection): {
29600
30782
  /** @experimental */
29601
30783
  settings: {
29602
30784
  /**
29603
- * Drops this runtime process's in-memory user settings cache so the next settings read observes disk.
29604
- */
29605
- reload: () => Promise<void>;
29606
- /**
29607
- * 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.
30785
+ * Lists every known user setting from settings.json, 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.
29608
30786
  *
29609
- * @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.
30787
+ * @returns Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
29610
30788
  */
29611
30789
  get: () => Promise<UserSettingsGetResult>;
29612
30790
  /**
29613
- * 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.
30791
+ * Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
29614
30792
  *
29615
30793
  * @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.
29616
- *
29617
- * @returns Outcome of writing user settings.
29618
30794
  */
29619
- set: (params: UserSettingsSetRequest) => Promise<UserSettingsSetResult>;
30795
+ set: (params: UserSettingsSetRequest) => Promise<void>;
29620
30796
  };
29621
30797
  };
29622
30798
  /** @experimental */
@@ -29915,9 +31091,84 @@ export declare function createServerRpc(connection: MessageConnection): {
29915
31091
  */
29916
31092
  spawn: (params: AgentRegistrySpawnRequest) => Promise<AgentRegistrySpawnResult>;
29917
31093
  };
31094
+ /** @experimental */
31095
+ connectors: {
31096
+ /**
31097
+ * Returns feature availability.
31098
+ *
31099
+ * @returns Feature availability.
31100
+ */
31101
+ getCapabilities: () => Promise<ConnectorDiscoveryCapabilities>;
31102
+ /**
31103
+ * Returns eligible accounts.
31104
+ *
31105
+ * @returns Eligible accounts.
31106
+ */
31107
+ getAccounts: () => Promise<ConnectorDiscoveryAccountList>;
31108
+ /**
31109
+ * Lists entries for the selected account.
31110
+ *
31111
+ * @param params Selected account.
31112
+ *
31113
+ * @returns Entries for the selected account.
31114
+ */
31115
+ list: (params: ConnectorDiscoveryAccountRequest) => Promise<ConnectorDiscoveryCatalogResult>;
31116
+ /**
31117
+ * Refreshes entries for the selected account.
31118
+ *
31119
+ * @param params Selected account.
31120
+ *
31121
+ * @returns Entries for the selected account.
31122
+ */
31123
+ refresh: (params: ConnectorDiscoveryAccountRequest) => Promise<ConnectorDiscoveryCatalogResult>;
31124
+ };
29918
31125
  };
29919
31126
  /** Create typed session-scoped RPC methods. */
29920
31127
  export declare function createSessionRpc(connection: MessageConnection, sessionId: string): {
31128
+ /** @experimental */
31129
+ providers: {
31130
+ /**
31131
+ * Returns adapter definitions and supported operations in this session's effective provider catalog, without running discovery. Does not list provider instances or select inference models.
31132
+ *
31133
+ * @returns Normalized model-provider adapter definitions available to the session, not discovered instances.
31134
+ */
31135
+ getCatalog: () => Promise<ModelProviderAdapterCatalog>;
31136
+ /**
31137
+ * Discovers reachable instances using an adapter from this session's effective provider catalog and provider-specific discovery input.
31138
+ *
31139
+ * @param params Provider discovery parameters.
31140
+ *
31141
+ * @returns Provider instances found by a discovery operation.
31142
+ */
31143
+ discover: (params: ModelProviderDiscoverRequest) => Promise<ModelProviderDiscoverResult>;
31144
+ /**
31145
+ * Gets current health and version information for a discovered model-provider instance.
31146
+ *
31147
+ * @param params Provider status request parameters.
31148
+ *
31149
+ * @returns Current health information for a provider instance.
31150
+ */
31151
+ getStatus: (params: ModelProviderGetStatusRequest) => Promise<ModelProviderStatus>;
31152
+ /** @experimental */
31153
+ models: {
31154
+ /**
31155
+ * Lists models installed or otherwise available from a discovered model-provider instance.
31156
+ *
31157
+ * @param params Provider model inventory request parameters.
31158
+ *
31159
+ * @returns Models offered for agent conversations by one provider instance. Adapters exclude known-incompatible models, but retain candidates with unknown capabilities. Listing does not guarantee compatibility.
31160
+ */
31161
+ list: (params: ModelProviderModelsListRequest) => Promise<DiscoveredModelList>;
31162
+ /**
31163
+ * Translates a discovered model into the provider and model configuration needed to use it, and reports whether each is already registered in this session. Prepares only: it registers nothing, writes nothing, and performs no provider requests.
31164
+ *
31165
+ * @param params A discovered instance and one of its models to translate into provider configuration. Pass back the instance and model as returned by `session.providers.discover` and `session.providers.models.list`.
31166
+ *
31167
+ * @returns Provider configuration prepared from a discovered model. Preparing a plan changes nothing: it neither registers the model with the session nor writes durable configuration. To apply it, pass `provider` and `model` to `session.provider.add`, omitting whichever the dispositions report as already configured.
31168
+ */
31169
+ prepareConfiguration: (params: ModelProviderPrepareConfigurationRequest) => Promise<ModelProviderConfigurationPlan>;
31170
+ };
31171
+ };
29921
31172
  /**
29922
31173
  * Suspends the session while preserving persisted state for later resume.
29923
31174
  *
@@ -30525,18 +31776,20 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
30525
31776
  */
30526
31777
  getSources: () => Promise<InstructionsGetSourcesResult>;
30527
31778
  /**
30528
- * Invalidates cached custom-instruction discovery so subsequent turns and source reads observe instruction files currently on disk.
31779
+ * For local sessions, invalidates instruction discovery and the model-facing prompt, then returns freshly discovered sources. The updated prompt takes effect on the next turn. Remote sessions must reload on their agent host instead.
31780
+ *
31781
+ * @returns Instruction sources loaded for the session, in merge order.
30529
31782
  */
30530
- reload: () => Promise<void>;
31783
+ reload: () => Promise<InstructionsGetSourcesResult>;
30531
31784
  };
30532
31785
  /** @experimental */
30533
31786
  customizations: {
30534
31787
  /**
30535
- * Reloads all repository and user customizations for the active session: instructions, plugins and their MCP servers and hooks, custom agents, extensions, and skills. Returns diagnostics from the final skill reload.
31788
+ * For local sessions, reconciles repository context and discovered instructions, plugins, skills, agents, hooks, MCP servers, and extensions after files appear or change under the working directory. Independent component failures are returned in outcomes and errors; a rejected call can have partially applied earlier steps. Remote sessions must reload on their agent host instead. The model-facing context is rebuilt on the next turn.
30536
31789
  *
30537
- * @returns Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
31790
+ * @returns Results of reloading discovered session customizations. Inspect outcomes for reloaded, skipped, or failed subsystems; a rejection may follow partial mutation. Changes to the model-facing prompt and tools apply on the next turn.
30538
31791
  */
30539
- reload: () => Promise<SkillsLoadDiagnostics>;
31792
+ reload: () => Promise<CustomizationsReloadResult>;
30540
31793
  };
30541
31794
  /** @experimental */
30542
31795
  fleet: {
@@ -30727,11 +31980,17 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
30727
31980
  /** @experimental */
30728
31981
  mcp: {
30729
31982
  /**
30730
- * Lists MCP servers configured for the session, their connection status, and host-level state. The host-level state (disabled/filtered servers, failed/needs-auth/pending connections, mcp3p policy, full config) is empty/zero when no MCP host has been initialized for the session.
31983
+ * Lists materialized MCP servers and their connection status. Cache misses may start and wait for MCP servers.
30731
31984
  *
30732
31985
  * @returns MCP servers configured for the session, with their connection status and host-level state.
30733
31986
  */
30734
31987
  list: () => Promise<McpServerList>;
31988
+ /**
31989
+ * Lists effective MCP configuration without starting, restarting, authenticating, or waiting for servers. An optional live observation is from an already materialized matching server; this is not a readiness guarantee.
31990
+ *
31991
+ * @returns Effective MCP configuration with optional live observations from matching already materialized servers.
31992
+ */
31993
+ listConfigured: () => Promise<McpConfiguredServerList>;
30735
31994
  /**
30736
31995
  * Lists the tools exposed by a connected MCP server on this session's host. This performs a live `tools/list` request. Tool UI metadata is returned independently of whether MCP Apps rendering is enabled for the session.
30737
31996
  *
@@ -32113,6 +33372,14 @@ export interface SessionFsHandler {
32113
33372
  * @returns File content as a UTF-8 string, or a filesystem error if the read failed.
32114
33373
  */
32115
33374
  readFile(params: SessionFsReadFileRequest): Promise<SessionFsReadFileResult>;
33375
+ /**
33376
+ * Reads binary file content from the client-provided session filesystem.
33377
+ *
33378
+ * @param params Path of the binary file to read from the client-provided session filesystem.
33379
+ *
33380
+ * @returns File bytes as standard base64, or a filesystem error if the read failed.
33381
+ */
33382
+ readFileBytes(params: SessionFsReadFileBytesRequest): Promise<SessionFsReadFileBytesResult>;
32116
33383
  /**
32117
33384
  * Writes a file in the client-provided session filesystem.
32118
33385
  *
@@ -32121,6 +33388,14 @@ export interface SessionFsHandler {
32121
33388
  * @returns Describes a filesystem error.
32122
33389
  */
32123
33390
  writeFile(params: SessionFsWriteFileRequest): Promise<SessionFsError | undefined>;
33391
+ /**
33392
+ * Writes binary file content to the client-provided session filesystem.
33393
+ *
33394
+ * @param params File path, standard-base64-encoded bytes to write, and optional mode for the client-provided session filesystem.
33395
+ *
33396
+ * @returns Describes a filesystem error.
33397
+ */
33398
+ writeFileBytes(params: SessionFsWriteFileBytesRequest): Promise<SessionFsError | undefined>;
32124
33399
  /**
32125
33400
  * Appends content to a file in the client-provided session filesystem, creating parent directories as needed.
32126
33401
  *