@github/copilot-sdk 1.0.15-preview.0 → 1.0.15-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -152,7 +152,7 @@ export type AgentRegistryLiveTargetEntryLastTerminalEvent =
152
152
  /** Last turn was aborted (e.g. user interrupted) */
153
153
  | "abort";
154
154
  /**
155
- * Categorized reason for log-open failure
155
+ * Categorized reason no canonical process log could be opened
156
156
  *
157
157
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
158
158
  * via the `definition` "AgentRegistryLogCaptureOpenErrorReason".
@@ -616,7 +616,9 @@ export type CatalogCapability =
616
616
  /** Understands versioned candidate trust snapshots. Protocol-3 callers must require this capability before the runtime adds the optional snapshot field. */
617
617
  | "trust-snapshot"
618
618
  /** Understands exact candidate selection through model-safe opaque references and host-only candidate-handle hand-off. */
619
- | "catalog-selection";
619
+ | "catalog-selection"
620
+ /** Requires an eligible credential for the selected GitHub.com account before search egress and prohibits client-side anonymous retry, including after HTTP 401 or 403. The credential is scoped to the fixed catalog authority without redirect forwarding. Neither a grant nor successful response proves that the authority accepted the identity or selected a particular backend. Preserve this requirement on every page and retry; callers omitting it retain optional authentication. */
621
+ | "catalog-search-credential-required";
620
622
  /**
621
623
  * Bounded extensible wire-feature identifier. Known values are described by `CatalogCapability`; newer callers may send future identifiers so an older runtime can return a typed negotiation refusal instead of failing schema validation. Capability negotiation establishes contract understanding, while each operation's result separately reports runtime availability.
622
624
  *
@@ -996,6 +998,106 @@ export type ConnectedRemoteSessionMetadataKind =
996
998
  "remote-session"
997
999
  /** GitHub Copilot coding agent session. */
998
1000
  | "coding-agent";
1001
+ /**
1002
+ * Stable OAuth scope whose absence prevents Connector management.
1003
+ *
1004
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1005
+ * via the `definition` "ConnectorAuthorizationScope".
1006
+ */
1007
+ /** @experimental */
1008
+ export type ConnectorAuthorizationScope =
1009
+ /** Allows Copilot to manage Connector connections and use their tools. */
1010
+ "write_plugin_gateway_connections";
1011
+ /**
1012
+ * Availability of the EXPERIMENTAL session connector API.
1013
+ *
1014
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1015
+ * via the `definition` "ConnectorAvailability".
1016
+ */
1017
+ /** @experimental */
1018
+ export type ConnectorAvailability =
1019
+ /** The resolved Connector feature is enabled and Connector requests are permitted. */
1020
+ "enabled"
1021
+ /** The resolved Connector feature is off. No Connector service request is made while disabled. */
1022
+ | "disabled"
1023
+ /** The session has no eligible host-owned GitHub account or does not support local Connector projection. */
1024
+ | "unavailable";
1025
+ /**
1026
+ * Authoritative service connection state for one Connector.
1027
+ *
1028
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1029
+ * via the `definition` "ConnectorCatalogStatus".
1030
+ */
1031
+ /** @experimental */
1032
+ export type ConnectorCatalogStatus =
1033
+ /** The Connector is available but not connected. */
1034
+ "not_connected"
1035
+ /** The Connector service is still completing connection or consent. */
1036
+ | "pending"
1037
+ /** The Connector is connected and may contribute MCP servers. */
1038
+ | "connected"
1039
+ /** The Connector service reports an unusable connection. */
1040
+ | "error"
1041
+ /** The service returned a future or unrecognized state. */
1042
+ | "unknown";
1043
+ /**
1044
+ * Typed result of initiating or continuing a Connector connection.
1045
+ *
1046
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1047
+ * via the `definition` "ConnectorConnectResult".
1048
+ */
1049
+ /** @experimental */
1050
+ export type ConnectorConnectResult = {
1051
+ /**
1052
+ * The service is connected and the session MCP graph was reconciled.
1053
+ */
1054
+ kind: "connected";
1055
+ status: ConnectorStatus;
1056
+ } | {
1057
+ /**
1058
+ * Host-owned consent is required before bounded continuation can complete.
1059
+ */
1060
+ kind: "consent_required";
1061
+ /**
1062
+ * Validated HTTPS consent URL. The runtime does not open it.
1063
+ */
1064
+ consentUrl: string;
1065
+ /**
1066
+ * Opaque ID accepted by continueConnection.
1067
+ */
1068
+ continuationId: string;
1069
+ } | {
1070
+ /**
1071
+ * The service is still completing the connection without a consent URL.
1072
+ */
1073
+ kind: "pending";
1074
+ /**
1075
+ * Opaque ID accepted by continueConnection.
1076
+ */
1077
+ continuationId: string;
1078
+ };
1079
+ /**
1080
+ * Live MCP status of one Connector-owned runtime server.
1081
+ *
1082
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1083
+ * via the `definition` "ConnectorMcpStatus".
1084
+ */
1085
+ /** @experimental */
1086
+ export type ConnectorMcpStatus =
1087
+ /** The server is connected and its tools are available. */
1088
+ "connected"
1089
+ /** The server connection is still being established. */
1090
+ | "pending"
1091
+ /** The server requires refreshed GitHub authorization. */
1092
+ | "needs_auth"
1093
+ /** The server failed to connect or initialize. */
1094
+ | "failed"
1095
+ /** The server is intentionally stopped, including when managed policy blocks it. */
1096
+ | "stopped"
1097
+ /** The server is configured but explicitly disabled. */
1098
+ | "disabled"
1099
+ /** The Connector currently has no live server configuration. */
1100
+ | "not_configured";
999
1101
  /**
1000
1102
  * Closed set of public task kinds a connection can negotiate.
1001
1103
  *
@@ -1208,6 +1310,14 @@ export type DiscoveredMcpServerType =
1208
1310
  | "sse"
1209
1311
  /** Server is backed by an in-memory runtime implementation. */
1210
1312
  | "memory";
1313
+ /**
1314
+ * Indicates whether the command was accepted into the local execution queue.
1315
+ *
1316
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1317
+ * via the `definition` "EnqueueCommandResult".
1318
+ */
1319
+ /** @experimental */
1320
+ export type EnqueueCommandResult = AcceptedEnqueueCommandResult | UnsupportedEnqueueCommandResult;
1211
1321
  /**
1212
1322
  * Either '*' to receive all event types, or a non-empty list of event types to receive
1213
1323
  *
@@ -4445,6 +4555,17 @@ export interface AbortResult {
4445
4555
  */
4446
4556
  error?: string;
4447
4557
  }
4558
+ /** @experimental */
4559
+ export interface AcceptedEnqueueCommandResult {
4560
+ /**
4561
+ * True because the command was accepted into the local execution queue.
4562
+ */
4563
+ queued: true;
4564
+ /**
4565
+ * Stable opaque ID of the queued command.
4566
+ */
4567
+ queueId: string;
4568
+ }
4448
4569
  /**
4449
4570
  * Authenticated account entry returned by `account.getAllUsers`.
4450
4571
  *
@@ -4555,6 +4676,15 @@ export interface CopilotUserResponse {
4555
4676
  [k: string]: unknown | undefined;
4556
4677
  } | string) | null;
4557
4678
  } | null)[]) | null;
4679
+ /**
4680
+ * Enterprises that provide the user's Copilot license; malformed entries are normalized to null or ID-less shapes.
4681
+ */
4682
+ enterprise_list?: ({
4683
+ /**
4684
+ * JavaScript-safe numeric database ID of the enterprise.
4685
+ */
4686
+ id?: number;
4687
+ } | null)[] | null;
4558
4688
  /**
4559
4689
  * Whether the Codex agent is enabled for the user.
4560
4690
  */
@@ -4618,15 +4748,6 @@ export interface CopilotUserResponse {
4618
4748
  * Whether CLI remote control is enabled for the user.
4619
4749
  */
4620
4750
  cli_remote_control_enabled?: boolean;
4621
- /**
4622
- * Enterprises that provide the user's Copilot license, each with a stable numeric ID.
4623
- */
4624
- enterprise_list?: {
4625
- /**
4626
- * Numeric database ID of the enterprise.
4627
- */
4628
- id: number;
4629
- }[];
4630
4751
  }
4631
4752
  /**
4632
4753
  * Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough.
@@ -5197,7 +5318,7 @@ export interface AgentGetCurrentResult {
5197
5318
  agent?: AgentInfo | null;
5198
5319
  }
5199
5320
  /**
5200
- * Agent metadata, including identifiers, display details, source, tools, model, models, MCP servers, skills, and file path.
5321
+ * Agent metadata, including identifiers, display details, source, tools, model, models, reasoning effort, MCP servers, skills, and file path.
5201
5322
  *
5202
5323
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5203
5324
  * via the `definition` "AgentInfo".
@@ -5246,6 +5367,10 @@ export interface AgentInfo {
5246
5367
  */
5247
5368
  models?: string[];
5248
5369
  modelPolicy?: AgentModelPolicy;
5370
+ /**
5371
+ * Authored reasoning effort for this agent. Applied on selection to models that support it; omitted means no authored preference.
5372
+ */
5373
+ reasoningEffort?: string;
5249
5374
  /**
5250
5375
  * MCP server configurations attached to this agent, keyed by server name. Server config shape mirrors the MCP `mcpServers` schema.
5251
5376
  *
@@ -5342,7 +5467,7 @@ export interface AgentRegistryLiveTargetEntry {
5342
5467
  lastSeenMs: number;
5343
5468
  }
5344
5469
  /**
5345
- * Per-spawn log-capture outcome; populated from spawnLiveTarget.
5470
+ * Canonical process-log discovery outcome; populated from spawnLiveTarget.
5346
5471
  *
5347
5472
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5348
5473
  * via the `definition` "AgentRegistryLogCapture".
@@ -5350,15 +5475,15 @@ export interface AgentRegistryLiveTargetEntry {
5350
5475
  /** @experimental */
5351
5476
  export interface AgentRegistryLogCapture {
5352
5477
  /**
5353
- * Whether per-spawn log capture is on (false when env-disabled or open failed)
5478
+ * Whether a canonical process log was discovered for this managed spawn
5354
5479
  */
5355
5480
  enabled: boolean;
5356
5481
  /**
5357
- * Absolute path to the per-spawn log file (only set when enabled)
5482
+ * Absolute path to the managed spawn's process-<timestamp>-<pid>.log file (only set when enabled)
5358
5483
  */
5359
5484
  path?: string;
5360
5485
  /**
5361
- * Human-readable open failure message (only set when enabled === false AND the env-disable opt-out was NOT used)
5486
+ * Why no canonical process log could be opened for this managed spawn (set only when enabled is false)
5362
5487
  */
5363
5488
  openError?: string;
5364
5489
  openErrorReason?: AgentRegistryLogCaptureOpenErrorReason;
@@ -7522,6 +7647,233 @@ export interface ConnectedRemoteSessionMetadataRepository {
7522
7647
  */
7523
7648
  branch: string;
7524
7649
  }
7650
+ /**
7651
+ * Pins a Connector operation to one host-owned GitHub account through its opaque selection ID. Provider tokens are never accepted.
7652
+ *
7653
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7654
+ * via the `definition` "ConnectorAccountRequest".
7655
+ */
7656
+ /** @experimental */
7657
+ export interface ConnectorAccountRequest {
7658
+ /**
7659
+ * Opaque account selection ID previously returned by an account discovery API.
7660
+ */
7661
+ accountId: string;
7662
+ }
7663
+ /**
7664
+ * Account-targeted authorization update required by the Connector service. The account ID is an opaque host routing identifier; no credential is included.
7665
+ *
7666
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7667
+ * via the `definition` "ConnectorAuthorizationRequirement".
7668
+ */
7669
+ /** @experimental */
7670
+ export interface ConnectorAuthorizationRequirement {
7671
+ /**
7672
+ * Exact opaque account selection that made the Connector request.
7673
+ */
7674
+ accountId: string;
7675
+ scope: ConnectorAuthorizationScope;
7676
+ }
7677
+ /**
7678
+ * Feature detection and hard polling limits for the EXPERIMENTAL session connector API.
7679
+ *
7680
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7681
+ * via the `definition` "ConnectorCapabilities".
7682
+ */
7683
+ /** @experimental */
7684
+ export interface ConnectorCapabilities {
7685
+ /**
7686
+ * Connector API contract version.
7687
+ */
7688
+ apiVersion: number;
7689
+ availability: ConnectorAvailability;
7690
+ /**
7691
+ * Whether connect and reconnect can return an opaque continuation for bounded consent polling.
7692
+ */
7693
+ consentContinuation: boolean;
7694
+ /**
7695
+ * Whether callers select a host-owned GitHub account through an opaque selection ID rather than supplying a provider token.
7696
+ */
7697
+ opaqueAccountSelection: boolean;
7698
+ /**
7699
+ * Maximum accepted polling attempts for one continuation call.
7700
+ */
7701
+ maxPollAttempts: number;
7702
+ /**
7703
+ * Maximum accepted delay in milliseconds between polling attempts.
7704
+ */
7705
+ maxPollIntervalMs: number;
7706
+ /**
7707
+ * Maximum accepted wall-clock deadline in milliseconds for one continuation call.
7708
+ */
7709
+ maxDeadlineMs: number;
7710
+ }
7711
+ /**
7712
+ * Credential-free Connector catalog entry.
7713
+ *
7714
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7715
+ * via the `definition` "ConnectorCatalogEntry".
7716
+ */
7717
+ /** @experimental */
7718
+ export interface ConnectorCatalogEntry {
7719
+ /**
7720
+ * Canonical Connector name used by lifecycle methods.
7721
+ */
7722
+ name: string;
7723
+ /**
7724
+ * Untrusted display label from the service.
7725
+ */
7726
+ displayName: string;
7727
+ /**
7728
+ * Untrusted service description, when present.
7729
+ */
7730
+ description?: string;
7731
+ status: ConnectorCatalogStatus;
7732
+ /**
7733
+ * Opaque stable runtime IDs currently projected into the session for this Connector.
7734
+ */
7735
+ runtimeServerIds: string[];
7736
+ }
7737
+ /**
7738
+ * Validated Connector catalog snapshot cached by the session.
7739
+ *
7740
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7741
+ * via the `definition` "ConnectorCatalogResult".
7742
+ */
7743
+ /** @experimental */
7744
+ export interface ConnectorCatalogResult {
7745
+ /**
7746
+ * Monotonically increasing session-local catalog revision.
7747
+ */
7748
+ revision: number;
7749
+ /**
7750
+ * Unix epoch milliseconds when this snapshot was accepted.
7751
+ */
7752
+ refreshedAtMs: number;
7753
+ /**
7754
+ * Validated catalog entries in service order.
7755
+ */
7756
+ connectors: ConnectorCatalogEntry[];
7757
+ }
7758
+ /**
7759
+ * Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
7760
+ *
7761
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7762
+ * via the `definition` "ConnectorConnectRequest".
7763
+ */
7764
+ /** @experimental */
7765
+ export interface ConnectorConnectRequest {
7766
+ /**
7767
+ * Opaque account selection ID. It must match the account already pinned to the session, if any.
7768
+ */
7769
+ accountId: string;
7770
+ /**
7771
+ * Canonical Connector name from the current catalog.
7772
+ */
7773
+ connectorName: string;
7774
+ }
7775
+ /**
7776
+ * Authoritative session connector state. Account IDs are opaque routing identifiers and credentials are never included.
7777
+ *
7778
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7779
+ * via the `definition` "ConnectorStatus".
7780
+ */
7781
+ /** @experimental */
7782
+ export interface ConnectorStatus {
7783
+ /**
7784
+ * Connector API contract version.
7785
+ */
7786
+ apiVersion: number;
7787
+ availability: ConnectorAvailability;
7788
+ /**
7789
+ * Opaque account selection pinned to this session, when one has been selected.
7790
+ */
7791
+ accountId?: string;
7792
+ catalog?: ConnectorCatalogResult;
7793
+ authorizationRequirement?: ConnectorAuthorizationRequirement;
7794
+ /**
7795
+ * Live MCP status for every Connector-owned runtime server.
7796
+ */
7797
+ runtimeServers: ConnectorRuntimeStatus[];
7798
+ /**
7799
+ * Number of active opaque connection continuations.
7800
+ */
7801
+ pendingConnections: number;
7802
+ }
7803
+ /**
7804
+ * Live status of one session-owned MCP projection.
7805
+ *
7806
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7807
+ * via the `definition` "ConnectorRuntimeStatus".
7808
+ */
7809
+ /** @experimental */
7810
+ export interface ConnectorRuntimeStatus {
7811
+ /**
7812
+ * Opaque runtime server ID.
7813
+ */
7814
+ runtimeServerId: string;
7815
+ /**
7816
+ * Canonical Connector name that owns this server.
7817
+ */
7818
+ connectorName: string;
7819
+ status: ConnectorMcpStatus;
7820
+ }
7821
+ /**
7822
+ * Explicitly bounded continuation of a pending Connector connection.
7823
+ *
7824
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7825
+ * via the `definition` "ConnectorContinueRequest".
7826
+ */
7827
+ /** @experimental */
7828
+ export interface ConnectorContinueRequest {
7829
+ /**
7830
+ * Opaque continuation ID returned by connect, reconnect, or an earlier continuation.
7831
+ */
7832
+ continuationId: string;
7833
+ /**
7834
+ * Maximum catalog requests made by this call. Must be between one and the capability limit.
7835
+ */
7836
+ maxAttempts: number;
7837
+ /**
7838
+ * Delay in milliseconds between attempts. Must not exceed the capability limit.
7839
+ */
7840
+ pollIntervalMs: number;
7841
+ /**
7842
+ * Maximum wall-clock duration in milliseconds for this call. Must be between one and the capability limit.
7843
+ */
7844
+ deadlineMs: number;
7845
+ }
7846
+ /**
7847
+ * Authoritative result after disconnect and MCP reconciliation.
7848
+ *
7849
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7850
+ * via the `definition` "ConnectorDisconnectResult".
7851
+ */
7852
+ /** @experimental */
7853
+ export interface ConnectorDisconnectResult {
7854
+ /**
7855
+ * Whether the service accepted the idempotent disconnect.
7856
+ */
7857
+ disconnected: boolean;
7858
+ status: ConnectorStatus;
7859
+ }
7860
+ /**
7861
+ * Requests authoritative Connector-to-MCP reconciliation for the pinned account.
7862
+ *
7863
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7864
+ * via the `definition` "ConnectorReconcileRequest".
7865
+ */
7866
+ /** @experimental */
7867
+ export interface ConnectorReconcileRequest {
7868
+ /**
7869
+ * Opaque account selection ID. It must match the account already pinned to the session, if any.
7870
+ */
7871
+ accountId: string;
7872
+ /**
7873
+ * When true, refresh the catalog before reconciling. A disabled Connector API performs no service request.
7874
+ */
7875
+ refreshCatalog?: boolean;
7876
+ }
7525
7877
  /**
7526
7878
  * Remote session connection parameters.
7527
7879
  *
@@ -8026,18 +8378,16 @@ export interface EnqueueCommandParams {
8026
8378
  */
8027
8379
  displayText?: string | null;
8028
8380
  }
8029
- /**
8030
- * Indicates whether the command was accepted into the local execution queue.
8031
- *
8032
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
8033
- * via the `definition` "EnqueueCommandResult".
8034
- */
8035
8381
  /** @experimental */
8036
- export interface EnqueueCommandResult {
8382
+ export interface UnsupportedEnqueueCommandResult {
8037
8383
  /**
8038
- * True when the command was accepted into the local execution queue. False when the call targets a session that does not support local command queueing (e.g. remote sessions).
8384
+ * False because the target session does not support local command queueing (e.g. remote sessions).
8039
8385
  */
8040
- queued: boolean;
8386
+ queued: false;
8387
+ /**
8388
+ * Legacy null queue ID accepted for compatibility with older runtimes.
8389
+ */
8390
+ queueId?: null;
8041
8391
  }
8042
8392
  /**
8043
8393
  * Cursor, batch size, and optional long-poll/filter parameters for reading session events.
@@ -13299,6 +13649,10 @@ export interface ModelCapabilitiesSupports {
13299
13649
  * Whether this model supports vision/image input
13300
13650
  */
13301
13651
  vision?: boolean;
13652
+ /**
13653
+ * Whether this model supports canonical tool calling
13654
+ */
13655
+ toolCalls?: boolean;
13302
13656
  /**
13303
13657
  * Whether this model supports reasoning effort configuration
13304
13658
  */
@@ -13600,6 +13954,10 @@ export interface ModelCapabilitiesOverrideSupports {
13600
13954
  * Whether this model supports vision/image input
13601
13955
  */
13602
13956
  vision?: boolean;
13957
+ /**
13958
+ * Whether this model supports canonical tool calling
13959
+ */
13960
+ toolCalls?: boolean;
13603
13961
  /**
13604
13962
  * Whether this model supports reasoning effort configuration
13605
13963
  */
@@ -13839,9 +14197,9 @@ export interface ModelSwitchToRequest {
13839
14197
  */
13840
14198
  autoTier?: AutoTier | null;
13841
14199
  /**
13842
- * Reasoning effort level to use for the model. CAPI values are model-defined and validated against the selected model; BYOK providers may define additional values. "none" disables reasoning. When omitted, no effort override is applied.
14200
+ * Reasoning effort level to use for the model. CAPI values are model-defined and validated against the selected model; BYOK providers may define additional values. "none" disables reasoning. Pass null to clear any session effort override and fall back to the model's default. When omitted, the session's current effort is kept.
13843
14201
  */
13844
- reasoningEffort?: string;
14202
+ reasoningEffort?: string | null;
13845
14203
  reasoningSummary?: ReasoningSummary;
13846
14204
  verbosity?: Verbosity;
13847
14205
  modelCapabilities?: ModelCapabilitiesOverride;
@@ -15198,7 +15556,7 @@ export interface PermissionPathsConfig {
15198
15556
  workspacePath?: string;
15199
15557
  }
15200
15558
  /**
15201
- * Snapshot of the session's allow-listed directories and primary working directory.
15559
+ * Snapshot of the session's recursive directory grants, exact session-approved paths, and primary working directory.
15202
15560
  *
15203
15561
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15204
15562
  * via the `definition` "PermissionPathsList".
@@ -15209,6 +15567,10 @@ export interface PermissionPathsList {
15209
15567
  * All directories currently allowed for tool access on this session.
15210
15568
  */
15211
15569
  directories: string[];
15570
+ /**
15571
+ * Exact paths approved for this session without recursively allowing their descendants.
15572
+ */
15573
+ sessionApprovedPaths?: string[];
15212
15574
  /**
15213
15575
  * The primary working directory for this session.
15214
15576
  */
@@ -15514,7 +15876,7 @@ export interface PermissionsPathsAddResult {
15514
15876
  success: boolean;
15515
15877
  }
15516
15878
  /**
15517
- * No parameters; returns the session's allow-listed directories.
15879
+ * No parameters; returns the session's recursive directory grants and exact session-approved paths.
15518
15880
  *
15519
15881
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15520
15882
  * via the `definition` "PermissionsPathsListRequest".
@@ -15545,7 +15907,7 @@ export interface PermissionsPathsUpdatePrimaryResult {
15545
15907
  export interface PermissionsPendingRequestsRequest {
15546
15908
  }
15547
15909
  /**
15548
- * Clears session-scoped tool permission approvals, and optionally the location-scoped ones.
15910
+ * Clears session-scoped tool approvals and optionally clears location-scoped approvals and exact session-approved paths.
15549
15911
  *
15550
15912
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
15551
15913
  * via the `definition` "PermissionsResetSessionApprovalsRequest".
@@ -15553,7 +15915,7 @@ export interface PermissionsPendingRequestsRequest {
15553
15915
  /** @experimental */
15554
15916
  export interface PermissionsResetSessionApprovalsRequest {
15555
15917
  /**
15556
- * Whether location-scoped approvals are cleared too. Defaults to `true`.
15918
+ * Whether location-scoped approvals and exact session-approved paths are cleared too. Defaults to `true`.
15557
15919
  */
15558
15920
  includeLocation?: boolean;
15559
15921
  }
@@ -16225,6 +16587,10 @@ export interface SystemMessageBlock {
16225
16587
  * Whether the block is static and may be cached independently of dynamic prompt content.
16226
16588
  */
16227
16589
  isStatic?: boolean;
16590
+ /**
16591
+ * Whether providers with explicit prompt caching should place a cache breakpoint after this block.
16592
+ */
16593
+ cacheBreakpoint?: boolean;
16228
16594
  }
16229
16595
  /** @experimental */
16230
16596
  export interface ProtocolSystemMessageCustomizeConfig {
@@ -16299,6 +16665,12 @@ export interface ProviderModelConfig {
16299
16665
  maxOutputTokens?: number;
16300
16666
  capabilities?: ModelCapabilitiesOverride;
16301
16667
  systemMessage?: ProtocolSystemMessageConfig;
16668
+ /**
16669
+ * Provider-published model metadata, preserved verbatim as the public Model.metadata object.
16670
+ */
16671
+ metadata?: {
16672
+ [k: string]: JsonValue | undefined;
16673
+ };
16302
16674
  }
16303
16675
  /**
16304
16676
  * The selectable model entries synthesized for the models added by this call.
@@ -16425,6 +16797,44 @@ export interface ProviderSessionToken {
16425
16797
  */
16426
16798
  expiresAt?: string;
16427
16799
  }
16800
+ /**
16801
+ * Authoritative BYOK provider and model registry snapshot to apply atomically to the session.
16802
+ *
16803
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16804
+ * via the `definition` "ProviderSyncRequest".
16805
+ */
16806
+ /** @experimental */
16807
+ export interface ProviderSyncRequest {
16808
+ /**
16809
+ * Named BYOK provider connection snapshot. Providers absent from this list are removed.
16810
+ */
16811
+ providers?: NamedProviderConfig[];
16812
+ /**
16813
+ * BYOK model definition snapshot. Models absent from this list are removed.
16814
+ */
16815
+ models?: ProviderModelConfig[];
16816
+ }
16817
+ /**
16818
+ * The selectable model entries and selection ids synthesized for the synchronized BYOK models.
16819
+ *
16820
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
16821
+ * via the `definition` "ProviderSyncResult".
16822
+ */
16823
+ /** @experimental */
16824
+ export interface ProviderSyncResult {
16825
+ /**
16826
+ * Synthesized selectable model entries for the synchronized BYOK models.
16827
+ */
16828
+ models: JsonValue[];
16829
+ /**
16830
+ * Provider-qualified model selection ids present after synchronization.
16831
+ */
16832
+ selectionIds: string[];
16833
+ /**
16834
+ * True when synchronization withdrew the selected host-managed model, leaving the session with no explicit selection, so ordinary model resolution picks the session default. Synchronization never promotes a surviving host model in its place: publishing a model offers it, and the choice of which model to use stays with the user.
16835
+ */
16836
+ modelDeselected?: boolean;
16837
+ }
16428
16838
  /**
16429
16839
  * Asks the SDK client to acquire a bearer token for a BYOK provider whose config set `hasBearerTokenProvider: true`. Issued by the runtime before each outbound model request; the runtime does no caching, so this is sent once per request.
16430
16840
  *
@@ -19657,6 +20067,10 @@ export interface SessionOpenOptions {
19657
20067
  * Additional directories to search for skills.
19658
20068
  */
19659
20069
  skillDirectories?: string[];
20070
+ /**
20071
+ * Skill scan directories and descendants excluded from discovery. Supports `~`-relative paths.
20072
+ */
20073
+ ignoredSkillsLocations?: string[];
19660
20074
  /**
19661
20075
  * Whether skill loading is enabled. When omitted, an SDK skill provider enables skills by default.
19662
20076
  */
@@ -21137,6 +21551,10 @@ export interface SessionUpdateOptionsParams {
21137
21551
  * Additional directories to search for skills.
21138
21552
  */
21139
21553
  skillDirectories?: string[];
21554
+ /**
21555
+ * Skill scan directories and descendants excluded from discovery. Supports `~`-relative paths.
21556
+ */
21557
+ ignoredSkillsLocations?: string[];
21140
21558
  /**
21141
21559
  * Built-in skill names to include in this session. When specified, only these runtime-bundled skills are available. Skills from other sources with the same name remain available. Set to null to remove the allowlist restriction.
21142
21560
  */
@@ -21565,6 +21983,10 @@ export interface SkillsDiscoverRequest {
21565
21983
  * Optional list of additional skill directory paths to include
21566
21984
  */
21567
21985
  skillDirectories?: string[];
21986
+ /**
21987
+ * Optional skill scan paths to exclude from discovery.
21988
+ */
21989
+ ignoredSkillsLocations?: string[];
21568
21990
  /**
21569
21991
  * When true, omit skills from the host's global sources (personal, custom, plugin, and built-in), returning only project-scoped skills. For multitenant deployments.
21570
21992
  */
@@ -21595,6 +22017,10 @@ export interface SkillsGetDiscoveryPathsRequest {
21595
22017
  * Optional list of project directory paths. When omitted or empty, only personal and custom directories are returned.
21596
22018
  */
21597
22019
  projectPaths?: string[];
22020
+ /**
22021
+ * Optional skill scan paths to exclude from discovery.
22022
+ */
22023
+ ignoredSkillsLocations?: string[];
21598
22024
  /**
21599
22025
  * When true, omit the host's personal and custom skill directories, leaving only project directories. For multitenant deployments.
21600
22026
  */
@@ -22668,6 +23094,12 @@ export interface Tool {
22668
23094
  * Optional instructions for how to use this tool effectively
22669
23095
  */
22670
23096
  instructions?: string;
23097
+ /**
23098
+ * Telemetry-safety policy for the tool name and input names, not input values. Treat omitted metadata as unsafe.
23099
+ *
23100
+ * @experimental
23101
+ */
23102
+ safeForTelemetry?: BuiltinToolSafeForTelemetry;
22671
23103
  }
22672
23104
  /**
22673
23105
  * Built-in tools available for the requested model, with their parameters and instructions.
@@ -27306,6 +27738,77 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
27306
27738
  };
27307
27739
  };
27308
27740
  /** @experimental */
27741
+ connectors: {
27742
+ /**
27743
+ * Returns feature availability and bounded polling limits for the EXPERIMENTAL session connector API. This method never performs a Connector service request.
27744
+ *
27745
+ * @returns Feature detection and hard polling limits for the EXPERIMENTAL session connector API.
27746
+ */
27747
+ getCapabilities: () => Promise<ConnectorCapabilities>;
27748
+ /**
27749
+ * Returns authoritative session Connector state from current availability, pinned account selection, cached catalog, and live MCP projection without performing a Connector service request.
27750
+ *
27751
+ * @returns Authoritative session connector state. Account IDs are opaque routing identifiers and credentials are never included.
27752
+ */
27753
+ getStatus: () => Promise<ConnectorStatus>;
27754
+ /**
27755
+ * Returns the cached Connector catalog for the pinned opaque account selection, fetching it only when this session has no cached catalog.
27756
+ *
27757
+ * @param params Pins a Connector operation to one host-owned GitHub account through its opaque selection ID. Provider tokens are never accepted.
27758
+ *
27759
+ * @returns Validated Connector catalog snapshot cached by the session.
27760
+ */
27761
+ list: (params: ConnectorAccountRequest) => Promise<ConnectorCatalogResult>;
27762
+ /**
27763
+ * Refreshes and validates the Connector catalog for the pinned opaque account selection.
27764
+ *
27765
+ * @param params Pins a Connector operation to one host-owned GitHub account through its opaque selection ID. Provider tokens are never accepted.
27766
+ *
27767
+ * @returns Validated Connector catalog snapshot cached by the session.
27768
+ */
27769
+ refresh: (params: ConnectorAccountRequest) => Promise<ConnectorCatalogResult>;
27770
+ /**
27771
+ * Initiates an idempotent Connector connection request without opening a browser. Returns connected when the service is immediately authoritative, consent_required with a validated URL, or pending with an opaque continuation ID.
27772
+ *
27773
+ * @param params Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
27774
+ *
27775
+ * @returns Typed result of initiating or continuing a Connector connection.
27776
+ */
27777
+ connect: (params: ConnectorConnectRequest) => Promise<ConnectorConnectResult>;
27778
+ /**
27779
+ * Re-initiates an idempotent Connector connection request without browser or UI effects, with the same typed outcomes as connect.
27780
+ *
27781
+ * @param params Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
27782
+ *
27783
+ * @returns Typed result of initiating or continuing a Connector connection.
27784
+ */
27785
+ reconnect: (params: ConnectorConnectRequest) => Promise<ConnectorConnectResult>;
27786
+ /**
27787
+ * Continues a pending Connector connection with caller-supplied attempt, interval, and deadline bounds. The runtime never opens the returned consent URL.
27788
+ *
27789
+ * @param params Explicitly bounded continuation of a pending Connector connection.
27790
+ *
27791
+ * @returns Typed result of initiating or continuing a Connector connection.
27792
+ */
27793
+ continueConnection: (params: ConnectorContinueRequest) => Promise<ConnectorConnectResult>;
27794
+ /**
27795
+ * Disconnects one Connector for the pinned opaque account selection, refreshes the authoritative catalog, and removes its session-owned MCP projection.
27796
+ *
27797
+ * @param params Selects one Connector and the pinned host-owned account used for its service and MCP authorization.
27798
+ *
27799
+ * @returns Authoritative result after disconnect and MCP reconciliation.
27800
+ */
27801
+ disconnect: (params: ConnectorConnectRequest) => Promise<ConnectorDisconnectResult>;
27802
+ /**
27803
+ * Reconciles the authoritative cached or freshly requested Connector catalog into the session Connector MCP projection and returns live status.
27804
+ *
27805
+ * @param params Requests authoritative Connector-to-MCP reconciliation for the pinned account.
27806
+ *
27807
+ * @returns Authoritative session connector state. Account IDs are opaque routing identifiers and credentials are never included.
27808
+ */
27809
+ reconcile: (params: ConnectorReconcileRequest) => Promise<ConnectorStatus>;
27810
+ };
27811
+ /** @experimental */
27309
27812
  managedSettings: {
27310
27813
  /**
27311
27814
  * Waits for the live session's in-flight managed-settings application, then returns the retained effective snapshot used by runtime enforcement and by `session.managed_settings_resolved`. It does not perform another account, device, or server resolution, and rejects when resolution has not produced a snapshot.
@@ -27422,6 +27925,14 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
27422
27925
  * @returns The selectable model entries synthesized for the models added by this call.
27423
27926
  */
27424
27927
  add: (params: ProviderAddRequest) => Promise<ProviderAddResult>;
27928
+ /**
27929
+ * Atomically updates the session's BYOK provider and model registry by applying the supplied snapshot, replacing existing entries, updating models, or removing entries absent from the snapshot.
27930
+ *
27931
+ * @param params Authoritative BYOK provider and model registry snapshot to apply atomically to the session.
27932
+ *
27933
+ * @returns The selectable model entries and selection ids synthesized for the synchronized BYOK models.
27934
+ */
27935
+ sync: (params: ProviderSyncRequest) => Promise<ProviderSyncResult>;
27425
27936
  };
27426
27937
  /** @experimental */
27427
27938
  options: {
@@ -27747,9 +28258,9 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
27747
28258
  */
27748
28259
  setRequired: (params: PermissionsSetRequiredRequest) => Promise<PermissionsSetRequiredResult>;
27749
28260
  /**
27750
- * Clears session-scoped tool permission approvals.
28261
+ * Clears session-scoped tool approvals and, for full resets, exact session-approved paths.
27751
28262
  *
27752
- * @param params Clears session-scoped tool permission approvals, and optionally the location-scoped ones.
28263
+ * @param params Clears session-scoped tool approvals and optionally clears location-scoped approvals and exact session-approved paths.
27753
28264
  *
27754
28265
  * @returns Indicates whether the operation succeeded.
27755
28266
  */
@@ -27765,9 +28276,9 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
27765
28276
  /** @experimental */
27766
28277
  paths: {
27767
28278
  /**
27768
- * Returns the session's allowed directories and primary working directory.
28279
+ * Returns the session's recursive directory grants, exact session-approved paths, and primary working directory.
27769
28280
  *
27770
- * @returns Snapshot of the session's allow-listed directories and primary working directory.
28281
+ * @returns Snapshot of the session's recursive directory grants, exact session-approved paths, and primary working directory.
27771
28282
  */
27772
28283
  list: () => Promise<PermissionPathsList>;
27773
28284
  /**
@@ -28515,7 +29026,7 @@ export interface LlmInferenceHandler {
28515
29026
  /** @experimental */
28516
29027
  export interface GitHubTelemetryHandler {
28517
29028
  /**
28518
- * Forwards a single GitHub telemetry event to a host connection that opted into telemetry forwarding during the `server.connect` handshake. Opted-in connections receive every event the runtime emits after the handshake — across all sessions, plus sessionless events (for example, `server.sendTelemetry` calls with no session id).
29029
+ * Forwards a single GitHub telemetry event to a host connection that opted into telemetry forwarding during the `server.connect` handshake. Opted-in connections receive their runtime host's events across all its sessions, its sessionless events (for example, `server.sendTelemetry`), and explicitly process-wide events. Events owned by another independently embedded runtime host are not forwarded to this connection.
28519
29030
  *
28520
29031
  * @param params Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding during the `server.connect` handshake.
28521
29032
  */