@github/copilot-sdk 1.0.17-unstable.37553872417.gc9f6176 → 1.0.18-preview.0

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
  *
@@ -1971,6 +1990,14 @@ export type GitHubTokenAcquireResult = {
1971
1990
  */
1972
1991
  kind: "cancelled";
1973
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;
1974
2001
  /**
1975
2002
  * Optional compaction parameters.
1976
2003
  *
@@ -2438,14 +2465,6 @@ export type InstallationDecision =
2438
2465
  | "decline"
2439
2466
  /** The user cancelled the pending decision without granting consent. */
2440
2467
  | "cancel";
2441
- /**
2442
- * Source for direct repo installs (when marketplace is empty)
2443
- *
2444
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2445
- * via the `definition` "InstalledPluginSource".
2446
- */
2447
- /** @experimental */
2448
- export type InstalledPluginSource = string | InstalledPluginSourceGitHub | InstalledPluginSourceUrl | InstalledPluginSourceLocal;
2449
2468
  /**
2450
2469
  * Which tier this target belongs to
2451
2470
  *
@@ -3382,15 +3401,15 @@ export type SessionContextAttribution = {
3382
3401
  */
3383
3402
  modelSource: string;
3384
3403
  /**
3385
- * 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`.
3386
3405
  */
3387
3406
  promptTokenLimit: number;
3388
3407
  /**
3389
- * 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`.
3390
3409
  */
3391
3410
  limit: number;
3392
3411
  /**
3393
- * 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`.
3394
3413
  */
3395
3414
  bufferTokens: number;
3396
3415
  /**
@@ -3426,7 +3445,7 @@ export type SessionContextAttribution = {
3426
3445
  */
3427
3446
  freeSpace: number;
3428
3447
  /**
3429
- * Output reserve plus post-blocking-threshold buffer.
3448
+ * Overlapping output reservation plus post-blocking-threshold buffer.
3430
3449
  */
3431
3450
  buffer: number;
3432
3451
  };
@@ -3504,7 +3523,7 @@ export type SessionContextInfo = {
3504
3523
  */
3505
3524
  totalTokens: number;
3506
3525
  /**
3507
- * 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.
3508
3527
  */
3509
3528
  promptTokenLimit: number;
3510
3529
  /**
@@ -3512,11 +3531,11 @@ export type SessionContextInfo = {
3512
3531
  */
3513
3532
  compactionThreshold: number;
3514
3533
  /**
3515
- * 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.
3516
3535
  */
3517
3536
  limit: number;
3518
3537
  /**
3519
- * 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%).
3520
3539
  */
3521
3540
  bufferTokens: number;
3522
3541
  } | null;
@@ -4248,7 +4267,7 @@ export type SandboxConfigSource =
4248
4267
  /** A repository policy selected the sandbox state. */
4249
4268
  | "repository_policy";
4250
4269
  /**
4251
- * 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.
4252
4271
  *
4253
4272
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
4254
4273
  * via the `definition` "SandboxHostCapabilityName".
@@ -4750,7 +4769,7 @@ export type SessionsClientMetadataEntry = {
4750
4769
  * via the `definition` "SettableAuthInfo".
4751
4770
  */
4752
4771
  /** @experimental */
4753
- export type SettableAuthInfo = HMACAuthInfo | EnvAuthInfo | SettableTokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
4772
+ export type SettableAuthInfo = HMACAuthInfo | EnvAuthInfo | SettableTokenAuthInfo | CopilotApiTokenAuthInfo | UserAuthInfo | AccountAuthInfo | GhCliAuthInfo | ApiKeyAuthInfo;
4754
4773
  /**
4755
4774
  * Rust-owned settings predicates exposed across the SDK boundary. Raw feature-flag names are intentionally not part of the contract.
4756
4775
  *
@@ -6405,6 +6424,27 @@ export interface UserAuthInfo {
6405
6424
  login: string;
6406
6425
  copilotUser?: CopilotUserResponse;
6407
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
+ }
6408
6448
  /**
6409
6449
  * Authentication-info input variant for GitHub CLI credentials, carrying host, login, and the `gh auth token` value.
6410
6450
  *
@@ -7121,6 +7161,28 @@ export interface AuthIdentityMetadata {
7121
7161
  */
7122
7162
  login: string;
7123
7163
  }
7164
+ /**
7165
+ * A credential-free account choice after sign-in.
7166
+ *
7167
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7168
+ * via the `definition` "AuthLoginAccount".
7169
+ */
7170
+ /** @experimental */
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
+ }
7124
7186
  /**
7125
7187
  * Advance an in-flight login flow, optionally fulfilling an input-required step.
7126
7188
  *
@@ -7163,7 +7225,7 @@ export interface AuthLoginBegun {
7163
7225
  step: AuthLoginStep;
7164
7226
  }
7165
7227
  /**
7166
- * Terminal result of an interactive login flow.
7228
+ * Result of an interactive login flow. Pending consent or account selection is not terminal.
7167
7229
  *
7168
7230
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7169
7231
  * via the `definition` "AuthLoginResultDto".
@@ -7179,6 +7241,10 @@ export interface AuthLoginResultDto {
7179
7241
  * Login that was signed in, when completed.
7180
7242
  */
7181
7243
  login?: string;
7244
+ /**
7245
+ * Available accounts when sign-in is awaiting account selection, ordered with Microsoft 365 first.
7246
+ */
7247
+ accounts?: AuthLoginAccount[];
7182
7248
  }
7183
7249
  /**
7184
7250
  * Cancel an in-flight login flow.
@@ -7325,6 +7391,74 @@ export interface AutopilotObjectiveState {
7325
7391
  creditCountNanoAiu: string;
7326
7392
  creditLimit?: AutopilotObjectiveCreditLimit;
7327
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
+ }
7328
7462
  /**
7329
7463
  * The running runtime's complete catalog of well-known built-in model IDs, including supported models and additional IDs with built-in metadata.
7330
7464
  *
@@ -9408,6 +9542,146 @@ export interface ConnectorDisconnectResult {
9408
9542
  disconnected: boolean;
9409
9543
  status: ConnectorStatus;
9410
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
+ }
9411
9685
  /**
9412
9686
  * Requests authoritative Connector-to-MCP reconciliation for the pinned account.
9413
9687
  *
@@ -11070,6 +11344,27 @@ export interface FolderTrustCheckResult {
11070
11344
  */
11071
11345
  trusted: boolean;
11072
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
+ }
11073
11368
  /**
11074
11369
  * Client environment metadata describing the process that produced a telemetry event.
11075
11370
  *
@@ -11219,6 +11514,123 @@ export interface GitHubTokenAcquireRequest {
11219
11514
  sessionId?: string;
11220
11515
  reason: GitHubTokenAcquireReason;
11221
11516
  }
11517
+ /**
11518
+ * Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
11519
+ *
11520
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11521
+ * via the `definition` "InstalledPlugin".
11522
+ */
11523
+ /** @experimental */
11524
+ export interface InstalledPlugin {
11525
+ /**
11526
+ * Plugin name
11527
+ */
11528
+ name: string;
11529
+ /**
11530
+ * Marketplace the plugin came from (empty string for direct repo installs)
11531
+ */
11532
+ marketplace: string;
11533
+ /**
11534
+ * Version installed (if available)
11535
+ */
11536
+ version?: string;
11537
+ /**
11538
+ * Installation timestamp
11539
+ */
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;
11558
+ }
11559
+ /**
11560
+ * Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
11561
+ *
11562
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
11563
+ * via the `definition` "InstalledPluginSourceGitHub".
11564
+ */
11565
+ /** @experimental */
11566
+ export interface InstalledPluginSourceGitHub {
11567
+ /**
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
+ }
11222
11634
  /**
11223
11635
  * Pending external tool call request ID, with the tool result or an error describing why it failed.
11224
11636
  *
@@ -12472,167 +12884,50 @@ export interface SkillInstallationFileReview {
12472
12884
  * via the `definition` "SkillInstallationSummary".
12473
12885
  */
12474
12886
  /** @experimental */
12475
- export interface SkillInstallationSummary {
12476
- /**
12477
- * Exact durable installation receipt identity.
12478
- */
12479
- installationId: string;
12480
- /**
12481
- * Operation that installed this Skill.
12482
- */
12483
- operationId: string;
12484
- /**
12485
- * Skill invocation name.
12486
- */
12487
- name: string;
12488
- target: SkillInstallationLocation;
12489
- /**
12490
- * Persisted enablement requested for this installation.
12491
- */
12492
- configuredEnabled: boolean;
12493
- sessionState: SkillInstallationSessionState;
12494
- source: SkillInstallationSource;
12495
- catalogue: InstallationCatalogueIdentity;
12496
- /**
12497
- * ISO 8601 wall-clock installation time.
12498
- */
12499
- installedAt: string;
12500
- ownershipState: SkillInstallationOwnershipState;
12501
- }
12502
- /**
12503
- * A response is meaningful only on the connection and request that issued its challenge.
12504
- *
12505
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12506
- * via the `definition` "InstallationConfirmationResponse".
12507
- */
12508
- /** @experimental */
12509
- export interface InstallationConfirmationResponse {
12510
- /**
12511
- * Exact challenge from the request.
12512
- */
12513
- confirmationId: string;
12514
- /**
12515
- * Exact review commitment from the request.
12516
- */
12517
- reviewFingerprint: string;
12518
- decision: InstallationDecision;
12519
- }
12520
- /**
12521
- * Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.
12522
- *
12523
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12524
- * via the `definition` "InstalledPlugin".
12525
- */
12526
- /** @experimental */
12527
- export interface InstalledPlugin {
12528
- /**
12529
- * Plugin name
12530
- */
12531
- name: string;
12532
- /**
12533
- * Marketplace the plugin came from (empty string for direct repo installs)
12534
- */
12535
- marketplace: string;
12536
- /**
12537
- * Version installed (if available)
12538
- */
12539
- version?: string;
12540
- /**
12541
- * Installation timestamp
12542
- */
12543
- installed_at: string;
12544
- /**
12545
- * Whether the plugin is currently enabled
12546
- */
12547
- enabled: boolean;
12548
- /**
12549
- * Path where the plugin is cached locally
12550
- */
12551
- cache_path?: string;
12552
- source?: InstalledPluginSource;
12553
- /**
12554
- * 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.
12555
- */
12556
- source_sha?: string;
12557
- /**
12558
- * 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.
12559
- */
12560
- installed_from?: string;
12561
- }
12562
- /**
12563
- * Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref or full commit SHA, and optional subpath.
12564
- *
12565
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12566
- * via the `definition` "InstalledPluginSourceGitHub".
12567
- */
12568
- /** @experimental */
12569
- export interface InstalledPluginSourceGitHub {
12570
- /**
12571
- * Constant value. Always "github".
12572
- */
12573
- source: "github";
12574
- /**
12575
- * GitHub repository in `owner/repo` form.
12576
- */
12577
- repo: string;
12578
- /**
12579
- * Optional Git ref to resolve.
12580
- */
12581
- ref?: string;
12582
- /**
12583
- * Optional full 40-character hexadecimal commit SHA.
12584
- */
12585
- sha?: string;
12586
- /**
12587
- * Optional repository-relative path to the plugin.
12588
- */
12589
- path?: string;
12590
- }
12591
- /**
12592
- * Source descriptor for a direct URL plugin install, with URL, optional ref or full commit SHA, and optional subpath.
12593
- *
12594
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12595
- * via the `definition` "InstalledPluginSourceUrl".
12596
- */
12597
- /** @experimental */
12598
- export interface InstalledPluginSourceUrl {
12887
+ export interface SkillInstallationSummary {
12599
12888
  /**
12600
- * Constant value. Always "url".
12889
+ * Exact durable installation receipt identity.
12601
12890
  */
12602
- source: "url";
12891
+ installationId: string;
12603
12892
  /**
12604
- * URL of the plugin source.
12893
+ * Operation that installed this Skill.
12605
12894
  */
12606
- url: string;
12895
+ operationId: string;
12607
12896
  /**
12608
- * Optional Git ref to resolve.
12897
+ * Skill invocation name.
12609
12898
  */
12610
- ref?: string;
12899
+ name: string;
12900
+ target: SkillInstallationLocation;
12611
12901
  /**
12612
- * Optional full 40-character hexadecimal commit SHA.
12902
+ * Persisted enablement requested for this installation.
12613
12903
  */
12614
- sha?: string;
12904
+ configuredEnabled: boolean;
12905
+ sessionState: SkillInstallationSessionState;
12906
+ source: SkillInstallationSource;
12907
+ catalogue: InstallationCatalogueIdentity;
12615
12908
  /**
12616
- * Optional source-relative path to the plugin.
12909
+ * ISO 8601 wall-clock installation time.
12617
12910
  */
12618
- path?: string;
12911
+ installedAt: string;
12912
+ ownershipState: SkillInstallationOwnershipState;
12619
12913
  }
12620
12914
  /**
12621
- * Source descriptor for a direct local plugin install, with a local filesystem path.
12915
+ * A response is meaningful only on the connection and request that issued its challenge.
12622
12916
  *
12623
12917
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
12624
- * via the `definition` "InstalledPluginSourceLocal".
12918
+ * via the `definition` "InstallationConfirmationResponse".
12625
12919
  */
12626
12920
  /** @experimental */
12627
- export interface InstalledPluginSourceLocal {
12921
+ export interface InstallationConfirmationResponse {
12628
12922
  /**
12629
- * Constant value. Always "local".
12923
+ * Exact challenge from the request.
12630
12924
  */
12631
- source: "local";
12925
+ confirmationId: string;
12632
12926
  /**
12633
- * Local filesystem path to the plugin.
12927
+ * Exact review commitment from the request.
12634
12928
  */
12635
- path: string;
12929
+ reviewFingerprint: string;
12930
+ decision: InstallationDecision;
12636
12931
  }
12637
12932
  /**
12638
12933
  * Information about an installed plugin tracked in global state.
@@ -13253,6 +13548,10 @@ export interface ManagedSettingMeta {
13253
13548
  * Channel that supplied this scalar value, matching a `layers[].source`: `device`, `server`, or `policyHelper`. These scalar defaults select one winning channel, not a mixed source. Treat unknown values as additional channels; more may be added.
13254
13549
  */
13255
13550
  source: string;
13551
+ /**
13552
+ * Original managed value when the runtime adjusted it to a supported effective value. Omitted when no adjustment was needed.
13553
+ */
13554
+ requested?: string;
13256
13555
  }
13257
13556
  /**
13258
13557
  * One candidate channel; absent settings represents a channel that delivered no document.
@@ -13310,10 +13609,15 @@ export interface ManagedSettingsComposeResult {
13310
13609
  /** @experimental */
13311
13610
  export interface ManagedSettingsValues {
13312
13611
  /**
13313
- * Managed default model identifier, as configured. New sessions start with it; it can name a model the account cannot use, so hosts match it against the listed models.
13612
+ * Managed default model identifier. When model availability was resolved, aliases and family names are projected to a concrete available model ID; otherwise the configured value is returned.
13314
13613
  */
13315
13614
  model?: string;
13316
13615
  autoTier?: AutoTier;
13616
+ /**
13617
+ * Managed reasoning-effort default for the managed concrete model. The runtime clamps it to an entitled effort when model availability is known.
13618
+ */
13619
+ effortLevel?: string;
13620
+ contextTier?: ContextTier;
13317
13621
  }
13318
13622
  /**
13319
13623
  * Per-key lock state and provenance for `ManagedSettingsValues`, with the same field names. Producers emit each typed key in values and meta together; both outer objects are omitted when no typed key is set.
@@ -13325,6 +13629,8 @@ export interface ManagedSettingsValues {
13325
13629
  export interface ManagedSettingsMeta {
13326
13630
  model?: ManagedSettingMeta;
13327
13631
  autoTier?: ManagedSettingMeta;
13632
+ effortLevel?: ManagedSettingMeta;
13633
+ contextTier?: ManagedSettingMeta;
13328
13634
  }
13329
13635
  /**
13330
13636
  * One managed-settings channel and the document it delivered.
@@ -13392,6 +13698,10 @@ export interface ManagedSettingsResolveRequest {
13392
13698
  * Embedding client identity for server policy requests, as in session creation. Omit for the CLI identity.
13393
13699
  */
13394
13700
  clientName?: string;
13701
+ /**
13702
+ * Working directory used to run an organization policy helper. When omitted, sessionless resolution does not run the helper.
13703
+ */
13704
+ workingDirectory?: string;
13395
13705
  }
13396
13706
  /**
13397
13707
  * Effective enterprise managed settings for an account, resolved without a session.
@@ -14268,6 +14578,64 @@ export interface McpConfigUpdateRequest {
14268
14578
  name: string;
14269
14579
  config: McpSerializableServerConfig;
14270
14580
  }
14581
+ /**
14582
+ * Effective MCP configuration entry. Configuration enablement is distinct from the optional live observation.
14583
+ *
14584
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14585
+ * via the `definition` "McpConfiguredServer".
14586
+ */
14587
+ /** @experimental */
14588
+ export interface McpConfiguredServer {
14589
+ /**
14590
+ * Server name (config key)
14591
+ */
14592
+ name: string;
14593
+ /**
14594
+ * Whether this configured server is enabled after session configuration and policy filtering.
14595
+ */
14596
+ enabled: boolean;
14597
+ source?: McpServerSource;
14598
+ /**
14599
+ * Plugin name that provided this server, when source is plugin.
14600
+ */
14601
+ sourcePlugin?: string;
14602
+ /**
14603
+ * Plugin version that provided this server, when source is plugin.
14604
+ */
14605
+ sourcePluginVersion?: string;
14606
+ /**
14607
+ * Human-readable display name supplied by configuration.
14608
+ */
14609
+ displayName?: string;
14610
+ live?: McpConfiguredServerState;
14611
+ }
14612
+ /**
14613
+ * Observational state for a matching already materialized MCP server.
14614
+ *
14615
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14616
+ * via the `definition` "McpConfiguredServerState".
14617
+ */
14618
+ /** @experimental */
14619
+ export interface McpConfiguredServerState {
14620
+ status: McpServerStatus;
14621
+ /**
14622
+ * Observed connection error, when the materialized server failed.
14623
+ */
14624
+ error?: string;
14625
+ }
14626
+ /**
14627
+ * Effective MCP configuration with optional live observations from matching already materialized servers.
14628
+ *
14629
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
14630
+ * via the `definition` "McpConfiguredServerList".
14631
+ */
14632
+ /** @experimental */
14633
+ export interface McpConfiguredServerList {
14634
+ /**
14635
+ * Effective configured MCP servers.
14636
+ */
14637
+ servers: McpConfiguredServer[];
14638
+ }
14271
14639
  /**
14272
14640
  * Result of configuring GitHub MCP.
14273
14641
  *
@@ -15747,6 +16115,10 @@ export interface McpServer {
15747
16115
  name: string;
15748
16116
  status: McpServerStatus;
15749
16117
  source?: McpServerSource;
16118
+ /**
16119
+ * Configured URL for an HTTP/SSE server, regardless of configuration source. Omitted for local and in-memory servers.
16120
+ */
16121
+ url?: string;
15750
16122
  /**
15751
16123
  * Plugin name that provided this server, when source is plugin.
15752
16124
  */
@@ -15947,11 +16319,11 @@ export interface MetadataContextHeaviestMessagesResult {
15947
16319
  /** @experimental */
15948
16320
  export interface MetadataContextInfoRequest {
15949
16321
  /**
15950
- * Maximum prompt tokens allowed by the target model. Pass 0 to use the runtime default.
16322
+ * Advertised prompt allowance. Pass 0 to resolve the selected model and context tier from the session.
15951
16323
  */
15952
16324
  promptTokenLimit: number;
15953
16325
  /**
15954
- * Maximum output tokens allowed by the target model. Pass 0 if unknown.
16326
+ * 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.
15955
16327
  */
15956
16328
  outputTokenLimit: number;
15957
16329
  /**
@@ -16190,6 +16562,10 @@ export interface Model {
16190
16562
  metadata?: {
16191
16563
  [k: string]: JsonValue | undefined;
16192
16564
  };
16565
+ /**
16566
+ * 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.
16567
+ */
16568
+ vendor?: string;
16193
16569
  policy?: ModelPolicy;
16194
16570
  billing?: ModelBilling;
16195
16571
  /**
@@ -22045,6 +22421,23 @@ export interface SessionBulkDeleteResult {
22045
22421
  [k: string]: number | undefined;
22046
22422
  };
22047
22423
  }
22424
+ /**
22425
+ * The IDE a host is connected to, as reported to the session.
22426
+ *
22427
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
22428
+ * via the `definition` "SessionConnectedIdeInfo".
22429
+ */
22430
+ /** @experimental */
22431
+ export interface SessionConnectedIdeInfo {
22432
+ /**
22433
+ * Display name of the connected IDE, for example `VS Code`.
22434
+ */
22435
+ ideName: string;
22436
+ /**
22437
+ * Absolute path of the workspace folder the IDE has open.
22438
+ */
22439
+ workspaceFolder: string;
22440
+ }
22048
22441
  /**
22049
22442
  * The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
22050
22443
  *
@@ -22864,6 +23257,10 @@ export interface SessionManagedPermissions {
22864
23257
  * When set to `disable`, prevents bypass/allow-all permission modes. Advisory auto-approval remains available because normal prompt paths stay active. Any other value is accepted rather than failing the session, but is enforced as `disable`: the key is only present to restrict something, so a mode this runtime cannot interpret fails closed to the most restrictive one it knows. Omit the key entirely to impose no restriction.
22865
23258
  */
22866
23259
  disableBypassPermissionsMode?: string;
23260
+ /**
23261
+ * When true, prevents Assisted Permissions from being activated. An actively Assisted session falls back to Manual Approval while the policy is in force. Omit the key or set it to false to impose no restriction.
23262
+ */
23263
+ disableAssistedPermissionsMode?: boolean;
22867
23264
  /**
22868
23265
  * Permission rules that block matching operations. Deny has highest precedence.
22869
23266
  */
@@ -22876,6 +23273,10 @@ export interface SessionManagedPermissions {
22876
23273
  * Permission rules that allow matching operations unless another managed source, deny, or ask rule restricts them.
22877
23274
  */
22878
23275
  allow?: string[];
23276
+ /**
23277
+ * 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.
23278
+ */
23279
+ limitTo?: string[];
22879
23280
  }
22880
23281
  /**
22881
23282
  * Managed settings an SDK host may inject at session startup. Only permissions are accepted in this initial contract.
@@ -22887,6 +23288,19 @@ export interface SessionManagedPermissions {
22887
23288
  export interface SessionManagedSettings {
22888
23289
  permissions?: SessionManagedPermissions;
22889
23290
  }
23291
+ /**
23292
+ * Records which IDE the host is connected to, or clears it.
23293
+ *
23294
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
23295
+ * via the `definition` "SessionMcpSetConnectedIdeInfoParams".
23296
+ */
23297
+ /** @experimental */
23298
+ export interface SessionMcpSetConnectedIdeInfoParams {
23299
+ /**
23300
+ * The connected IDE. Null or omitted clears the recorded IDE, which is how a host reports that it is disconnected.
23301
+ */
23302
+ ide?: SessionConnectedIdeInfo | null;
23303
+ }
22890
23304
  /**
22891
23305
  * Point-in-time snapshot of slow-changing session identifier and state fields
22892
23306
  *
@@ -22977,6 +23391,7 @@ export interface SessionModelList {
22977
23391
  quotaSnapshots?: {
22978
23392
  [k: string]: JsonValue | undefined;
22979
23393
  };
23394
+ auto?: AutoTierMetadata;
22980
23395
  }
22981
23396
  /**
22982
23397
  * Cost-category metadata for a CAPI model.
@@ -23042,6 +23457,10 @@ export interface SessionOpenOptions {
23042
23457
  * Opt-in: self-fetch and enforce enterprise managed settings, including managed hook policies, at session bootstrap.
23043
23458
  */
23044
23459
  enableManagedSettings?: boolean;
23460
+ /**
23461
+ * Opt in to enforcing non-overridable managed model controls on session model, Auto-tier, reasoning-effort, and context-tier changes. Managed defaults still apply when omitted; this option only turns conflicting changes into errors.
23462
+ */
23463
+ enforceManagedModelDefaults?: boolean;
23045
23464
  managedSettings?: SessionManagedSettings;
23046
23465
  /**
23047
23466
  * Opt in to capturing file changes for session rewind and session diff. Capture cannot reconstruct changes made before it was enabled. On create it starts capture from the first turn. It is also honored on resume: for a session that already has tracked prior turns, tracking continues automatically even if this is omitted; passing it on resume additionally enables tracking for an eligible session that has no prior root turn yet. Resuming a session whose prior root turns were never tracked has no restorable baseline, so tracking stays disabled for it and rewind reports file change tracking as unavailable; the resume itself still succeeds, so sessions that predate tracking remain loadable. The opt-in is only rejected when the session can never track (a subagent session, or one without local session storage). It is intentionally absent from the mutable options update because enabling it after edits have occurred would create an incomplete, misleading baseline. Subagents share the parent session's capture store and are not tracked as separate rewind points: a file a subagent writes is attributed to whichever root user turn was open when the capture was staged, just before the tool body ran. A turn cannot open while a staged capture is still in flight, so a subagent tool that staged under the spawning turn stays attributed to it however late the write lands, while a capture it stages after the user's next message belongs to that later turn. Attribution decides which turn's rewind point counts and file preview include that write; it does not narrow which rewinds revert it, because a rewind restores every capture from the selected turn onward, so the earlier spawning turn reverts it as well.
@@ -23721,6 +24140,90 @@ export interface SessionsCloseRequest {
23721
24140
  /** @experimental */
23722
24141
  export interface SessionsCloseResult {
23723
24142
  }
24143
+ /**
24144
+ * Identity, state location and starting context for a workspace record.
24145
+ *
24146
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24147
+ * via the `definition` "SessionsCreateWorkspaceRequest".
24148
+ */
24149
+ /** @experimental */
24150
+ export interface SessionsCreateWorkspaceRequest {
24151
+ /**
24152
+ * Session ID the workspace record belongs to
24153
+ */
24154
+ sessionId: string;
24155
+ /**
24156
+ * 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.
24157
+ */
24158
+ sessionStatePath: string;
24159
+ /**
24160
+ * `windows` (any letter case) selects Windows path rules. Any other value selects POSIX path rules.
24161
+ */
24162
+ convention: string;
24163
+ context?: SessionWorkingDirectoryContextWithClient;
24164
+ /**
24165
+ * User-supplied display name for the workspace
24166
+ */
24167
+ name?: string;
24168
+ }
24169
+ /**
24170
+ * A working-directory context together with the client that produced it.
24171
+ *
24172
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24173
+ * via the `definition` "SessionWorkingDirectoryContextWithClient".
24174
+ */
24175
+ /** @experimental */
24176
+ export interface SessionWorkingDirectoryContextWithClient {
24177
+ /**
24178
+ * Current working directory path
24179
+ */
24180
+ cwd: string;
24181
+ /**
24182
+ * Root directory of the git repository
24183
+ */
24184
+ gitRoot?: string;
24185
+ /**
24186
+ * Repository identifier derived from the git remote URL
24187
+ */
24188
+ repository?: string;
24189
+ /**
24190
+ * Hosting platform type of the repository
24191
+ */
24192
+ hostType?: string;
24193
+ /**
24194
+ * Current git branch name
24195
+ */
24196
+ branch?: string;
24197
+ /**
24198
+ * Raw host string from the git remote URL
24199
+ */
24200
+ repositoryHost?: string;
24201
+ /**
24202
+ * Head commit of the current git branch
24203
+ */
24204
+ headCommit?: string;
24205
+ /**
24206
+ * Merge-base commit SHA
24207
+ */
24208
+ baseCommit?: string;
24209
+ /**
24210
+ * Name of the client that created the session
24211
+ */
24212
+ clientName?: string;
24213
+ }
24214
+ /**
24215
+ * The workspace record that was written.
24216
+ *
24217
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24218
+ * via the `definition` "SessionsCreateWorkspaceResult".
24219
+ */
24220
+ /** @experimental */
24221
+ export interface SessionsCreateWorkspaceResult {
24222
+ /**
24223
+ * The created workspace record, as JSON
24224
+ */
24225
+ workspaceJson: string;
24226
+ }
23724
24227
  /**
23725
24228
  * Session ID to delete from disk.
23726
24229
  *
@@ -24348,6 +24851,36 @@ export interface SessionsLoadDeferredRepoHooksRequest {
24348
24851
  */
24349
24852
  sessionId: string;
24350
24853
  }
24854
+ /**
24855
+ * Where the session's state lives, as a root directory and the session ID under it.
24856
+ *
24857
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24858
+ * via the `definition` "SessionsLoadWorkspaceRequest".
24859
+ */
24860
+ /** @experimental */
24861
+ export interface SessionsLoadWorkspaceRequest {
24862
+ /**
24863
+ * Root directory every session's state directory sits under
24864
+ */
24865
+ sessionsHome: string;
24866
+ /**
24867
+ * 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.
24868
+ */
24869
+ sessionId: string;
24870
+ }
24871
+ /**
24872
+ * The workspace record on disk, omitted when the session has none.
24873
+ *
24874
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
24875
+ * via the `definition` "SessionsLoadWorkspaceResult".
24876
+ */
24877
+ /** @experimental */
24878
+ export interface SessionsLoadWorkspaceResult {
24879
+ /**
24880
+ * The workspace record, as JSON. Omitted when the record does not exist.
24881
+ */
24882
+ workspaceJson?: string;
24883
+ }
24351
24884
  /**
24352
24885
  * Age threshold and optional flags controlling which old sessions are pruned (or simulated when dryRun is true).
24353
24886
  *
@@ -24542,6 +25075,36 @@ export interface SessionsTransferRemoteControlRequest {
24542
25075
  */
24543
25076
  expectedFromSessionId?: string;
24544
25077
  }
25078
+ /**
25079
+ * 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.
25080
+ *
25081
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
25082
+ * via the `definition` "SessionsUpdateWorkspaceFieldsRequest".
25083
+ */
25084
+ /** @experimental */
25085
+ export interface SessionsUpdateWorkspaceFieldsRequest {
25086
+ /**
25087
+ * Root directory every session's state directory sits under
25088
+ */
25089
+ sessionsHome: string;
25090
+ /**
25091
+ * 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.
25092
+ */
25093
+ sessionId: string;
25094
+ /**
25095
+ * 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.
25096
+ */
25097
+ fieldsJson: string;
25098
+ }
25099
+ /**
25100
+ * The merge completed. The record carries the supplied workspace-schema fields, but a stored `fork_count` stays.
25101
+ *
25102
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
25103
+ * via the `definition` "SessionsUpdateWorkspaceFieldsResult".
25104
+ */
25105
+ /** @experimental */
25106
+ export interface SessionsUpdateWorkspaceFieldsResult {
25107
+ }
24545
25108
  /**
24546
25109
  * Telemetry engagement ID for the session, when available.
24547
25110
  *
@@ -25143,7 +25706,7 @@ export interface SkillPlanUninstallRequest {
25143
25706
  policySessionId: string;
25144
25707
  }
25145
25708
  /**
25146
- * Catalog-only metadata for one SDK-provided skill. The complete SKILL.md is fetched separately and lazily.
25709
+ * Authoritative catalog metadata for one SDK-provided skill. The skill's SKILL.md text is fetched separately and lazily.
25147
25710
  *
25148
25711
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
25149
25712
  * via the `definition` "SkillProviderDescriptor".
@@ -27539,7 +28102,7 @@ export interface UserSettingMetadata {
27539
28102
  isDefault: boolean;
27540
28103
  }
27541
28104
  /**
27542
- * 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.
28105
+ * Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
27543
28106
  *
27544
28107
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
27545
28108
  * via the `definition` "UserSettingsGetResult".
@@ -27566,19 +28129,6 @@ export interface UserSettingsSetRequest {
27566
28129
  */
27567
28130
  settings: JsonValue;
27568
28131
  }
27569
- /**
27570
- * Outcome of writing user settings.
27571
- *
27572
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
27573
- * via the `definition` "UserSettingsSetResult".
27574
- */
27575
- /** @experimental */
27576
- export interface UserSettingsSetResult {
27577
- /**
27578
- * 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.
27579
- */
27580
- shadowedKeys: string[];
27581
- }
27582
28132
  /**
27583
28133
  * Current sharing status and shareable GitHub URL for a session.
27584
28134
  *
@@ -30255,23 +30805,17 @@ export declare function createServerRpc(connection: MessageConnection): {
30255
30805
  /** @experimental */
30256
30806
  settings: {
30257
30807
  /**
30258
- * Drops this runtime process's in-memory user settings cache so the next settings read observes disk.
30259
- */
30260
- reload: () => Promise<void>;
30261
- /**
30262
- * 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.
30808
+ * 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.
30263
30809
  *
30264
- * @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.
30810
+ * @returns Per-key metadata for every known user setting in settings.json, including settings left at their default. Excludes repository- and enterprise-managed overrides.
30265
30811
  */
30266
30812
  get: () => Promise<UserSettingsGetResult>;
30267
30813
  /**
30268
- * 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.
30814
+ * Writes one or more user settings to settings.json, replacing each provided top-level key. A key whose value is null is removed.
30269
30815
  *
30270
30816
  * @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.
30271
- *
30272
- * @returns Outcome of writing user settings.
30273
30817
  */
30274
- set: (params: UserSettingsSetRequest) => Promise<UserSettingsSetResult>;
30818
+ set: (params: UserSettingsSetRequest) => Promise<void>;
30275
30819
  };
30276
30820
  };
30277
30821
  /** @experimental */
@@ -30570,6 +31114,37 @@ export declare function createServerRpc(connection: MessageConnection): {
30570
31114
  */
30571
31115
  spawn: (params: AgentRegistrySpawnRequest) => Promise<AgentRegistrySpawnResult>;
30572
31116
  };
31117
+ /** @experimental */
31118
+ connectors: {
31119
+ /**
31120
+ * Returns feature availability.
31121
+ *
31122
+ * @returns Feature availability.
31123
+ */
31124
+ getCapabilities: () => Promise<ConnectorDiscoveryCapabilities>;
31125
+ /**
31126
+ * Returns eligible accounts.
31127
+ *
31128
+ * @returns Eligible accounts.
31129
+ */
31130
+ getAccounts: () => Promise<ConnectorDiscoveryAccountList>;
31131
+ /**
31132
+ * Lists entries for the selected account.
31133
+ *
31134
+ * @param params Selected account.
31135
+ *
31136
+ * @returns Entries for the selected account.
31137
+ */
31138
+ list: (params: ConnectorDiscoveryAccountRequest) => Promise<ConnectorDiscoveryCatalogResult>;
31139
+ /**
31140
+ * Refreshes entries for the selected account.
31141
+ *
31142
+ * @param params Selected account.
31143
+ *
31144
+ * @returns Entries for the selected account.
31145
+ */
31146
+ refresh: (params: ConnectorDiscoveryAccountRequest) => Promise<ConnectorDiscoveryCatalogResult>;
31147
+ };
30573
31148
  };
30574
31149
  /** Create typed session-scoped RPC methods. */
30575
31150
  export declare function createSessionRpc(connection: MessageConnection, sessionId: string): {
@@ -31428,11 +32003,17 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
31428
32003
  /** @experimental */
31429
32004
  mcp: {
31430
32005
  /**
31431
- * 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.
32006
+ * Lists materialized MCP servers and their connection status. Cache misses may start and wait for MCP servers.
31432
32007
  *
31433
32008
  * @returns MCP servers configured for the session, with their connection status and host-level state.
31434
32009
  */
31435
32010
  list: () => Promise<McpServerList>;
32011
+ /**
32012
+ * 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.
32013
+ *
32014
+ * @returns Effective MCP configuration with optional live observations from matching already materialized servers.
32015
+ */
32016
+ listConfigured: () => Promise<McpConfiguredServerList>;
31436
32017
  /**
31437
32018
  * 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.
31438
32019
  *
@@ -31946,13 +32527,13 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
31946
32527
  */
31947
32528
  list: () => Promise<ExtensionList>;
31948
32529
  /**
31949
- * Enables an extension for the session.
32530
+ * Enables an extension for the session and persists the preference when the session has a settings store. Hosts synchronizing effective membership should use extensions.reconcile instead.
31950
32531
  *
31951
32532
  * @param params Source-qualified extension identifier to enable for the session.
31952
32533
  */
31953
32534
  enable: (params: ExtensionsEnableRequest) => Promise<void>;
31954
32535
  /**
31955
- * Disables an extension for the session.
32536
+ * Disables an extension for the session and persists the preference when the session has a settings store. Hosts synchronizing effective membership should use extensions.reconcile instead.
31956
32537
  *
31957
32538
  * @param params Source-qualified extension identifier to disable for the session.
31958
32539
  */
@@ -31961,6 +32542,12 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
31961
32542
  * Reloads extension definitions and processes for the session.
31962
32543
  */
31963
32544
  reload: () => Promise<void>;
32545
+ /**
32546
+ * Host-only reconciliation of authoritative session-effective extension membership and enablement. Refreshes runtime-owned discovery and preferences without persisting settings, installing plugins, or restarting unchanged activations. Returns ExtensionList only after required starts and process/contribution cleanup settle. Takes no caller inventory or overrides. Missing controllers, unready/incomplete discovery, unavailable workspaces, superseded inputs, and lifecycle failures are errors, not empty membership. Independently proven revocations may be applied before an error; retry converges without restarting healthy activations. Error data contains lifecycleChangesApplied and code: extension_reconciliation_host_required, extension_reconciliation_unavailable, extension_reconciliation_not_ready, extension_reconciliation_discovery_failed, extension_reconciliation_workspace_unavailable, extension_reconciliation_superseded, or extension_reconciliation_lifecycle_failed. Mark host reconciliation state applied only on success. On older runtimes, method-not-found must not fall back to global discovery and persistent extension disables.
32547
+ *
32548
+ * @returns Extensions discovered for the session, with their current status.
32549
+ */
32550
+ reconcile: () => Promise<ExtensionList>;
31964
32551
  /**
31965
32552
  * Push attachments into the next user-message turn from an extension. The host should surface them as composer pills and forward them via the next session.send call. Callable only by extension-owned connections.
31966
32553
  *