@github/copilot-sdk 1.0.0-beta.8 → 1.0.0-beta.9

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.
@@ -24,6 +24,136 @@ export type AgentInfoSource =
24
24
  | "plugin"
25
25
  /** Agent built into the Copilot runtime. */
26
26
  | "builtin";
27
+ /**
28
+ * Process kind tag for the registry entry
29
+ *
30
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
31
+ * via the `definition` "AgentRegistryLiveTargetEntryKind".
32
+ */
33
+ /** @experimental */
34
+ export type AgentRegistryLiveTargetEntryKind =
35
+ /** Interactive Copilot CLI exposing a UI server (legacy/normal CLI process) */
36
+ "ui-server"
37
+ /** Headless `--server --managed-server` child spawned by a controller */
38
+ | "managed-server";
39
+ /**
40
+ * Coarse lifecycle status of the foreground session
41
+ *
42
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
43
+ * via the `definition` "AgentRegistryLiveTargetEntryStatus".
44
+ */
45
+ /** @experimental */
46
+ export type AgentRegistryLiveTargetEntryStatus =
47
+ /** Session is actively processing a turn */
48
+ "working"
49
+ /** Session is idle, waiting for input */
50
+ | "waiting"
51
+ /** Last turn completed successfully */
52
+ | "done"
53
+ /** Session needs user attention (see attentionKind for the specific reason) */
54
+ | "attention";
55
+ /**
56
+ * Kind of attention required when status === "attention". Meaningful only when status === "attention".
57
+ *
58
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
59
+ * via the `definition` "AgentRegistryLiveTargetEntryAttentionKind".
60
+ */
61
+ /** @experimental */
62
+ export type AgentRegistryLiveTargetEntryAttentionKind =
63
+ /** Session is blocked on an unrecoverable error */
64
+ "error"
65
+ /** Session is waiting for a tool-permission decision */
66
+ | "permission"
67
+ /** Session is waiting for the user to approve or reject a plan */
68
+ | "exit_plan"
69
+ /** Session is waiting on an elicitation prompt */
70
+ | "elicitation"
71
+ /** Session is waiting for free-form user input */
72
+ | "user_input";
73
+ /**
74
+ * How the most recent turn ended (clean vs aborted). Lets the renderer distinguish done from done_cancelled.
75
+ *
76
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
77
+ * via the `definition` "AgentRegistryLiveTargetEntryLastTerminalEvent".
78
+ */
79
+ /** @experimental */
80
+ export type AgentRegistryLiveTargetEntryLastTerminalEvent =
81
+ /** Last turn ended cleanly (model returned a final assistant message) */
82
+ "turn_end"
83
+ /** Last turn was aborted (e.g. user interrupted) */
84
+ | "abort";
85
+ /**
86
+ * Categorized reason for log-open failure
87
+ *
88
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
89
+ * via the `definition` "AgentRegistryLogCaptureOpenErrorReason".
90
+ */
91
+ /** @experimental */
92
+ export type AgentRegistryLogCaptureOpenErrorReason =
93
+ /** Filesystem permission denied opening the log file */
94
+ "permission"
95
+ /** No space left on device */
96
+ | "disk_full"
97
+ /** Other / uncategorized open failure */
98
+ | "other";
99
+ /**
100
+ * Permission posture for the new session. 'yolo' requires the controller-local session to currently be in allow-all mode.
101
+ *
102
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
103
+ * via the `definition` "AgentRegistrySpawnPermissionMode".
104
+ */
105
+ /** @experimental */
106
+ export type AgentRegistrySpawnPermissionMode =
107
+ /** Standard permission posture (prompts for each request) */
108
+ "default"
109
+ /** Full allow-all (requires the controller-local session to currently be in allow-all mode) */
110
+ | "yolo";
111
+ /**
112
+ * Outcome of an agentRegistry.spawn call.
113
+ *
114
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
115
+ * via the `definition` "AgentRegistrySpawnResult".
116
+ */
117
+ /** @experimental */
118
+ export type AgentRegistrySpawnResult = AgentRegistrySpawnSpawned | AgentRegistrySpawnError | AgentRegistrySpawnRegistryTimeout | AgentRegistrySpawnValidationError;
119
+ /**
120
+ * Categorized reason for the rejection. Low-cardinality enum so telemetry can aggregate by reason without leaking raw paths or agent/model names.
121
+ *
122
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
123
+ * via the `definition` "AgentRegistrySpawnValidationErrorReason".
124
+ */
125
+ /** @experimental */
126
+ export type AgentRegistrySpawnValidationErrorReason =
127
+ /** Provided cwd does not exist on disk */
128
+ "cwd-not-found"
129
+ /** Provided cwd exists but is not a directory */
130
+ | "cwd-not-directory"
131
+ /** Session name failed validateSessionName */
132
+ | "invalid-name"
133
+ /** Requested agent name was not found in builtin or custom agents */
134
+ | "unknown-agent"
135
+ /** Requested model is not available to this session */
136
+ | "unknown-model"
137
+ /** Caller asked for permissionMode='yolo' but the controller is not currently in allow-all mode */
138
+ | "yolo-not-allowed";
139
+ /**
140
+ * Which parameter field was invalid. Omitted when the rejection is not field-specific.
141
+ *
142
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
143
+ * via the `definition` "AgentRegistrySpawnValidationErrorField".
144
+ */
145
+ /** @experimental */
146
+ export type AgentRegistrySpawnValidationErrorField =
147
+ /** The cwd parameter */
148
+ "cwd"
149
+ /** The session name parameter */
150
+ | "name"
151
+ /** The agentName parameter */
152
+ | "agentName"
153
+ /** The model parameter */
154
+ | "model"
155
+ /** The permissionMode parameter */
156
+ | "permissionMode";
27
157
  /**
28
158
  * The new auth credentials to install on the session. When omitted or `undefined`, the call is a no-op and the session's existing credentials are preserved. The runtime stores the value verbatim and uses it for outbound model/API requests; it does NOT re-validate or re-fetch the associated Copilot user response. Several variants carry secret material; treat this method's params as containing secrets at rest and in transit.
29
159
  *
@@ -429,23 +559,12 @@ export type McpAppsSetHostContextDetailsPlatform =
429
559
  */
430
560
  export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
431
561
  /**
432
- * OIDC token configuration. When truthy, a token is automatically gathered.
433
- *
434
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
435
- * via the `definition` "McpServerConfigStdioOidc".
436
- */
437
- export type McpServerConfigStdioOidc = boolean | {
438
- [k: string]: unknown | undefined;
439
- };
440
- /**
441
- * Authentication configuration for this server.
562
+ * Set to `true` to use defaults, or provide an object with additional auth or OIDC settings.
442
563
  *
443
564
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
444
- * via the `definition` "McpServerConfigStdioAuth".
565
+ * via the `definition` "McpServerAuthConfig".
445
566
  */
446
- export type McpServerConfigStdioAuth = boolean | {
447
- [k: string]: unknown | undefined;
448
- };
567
+ export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
449
568
  /**
450
569
  * Remote transport type. Defaults to "http" when omitted.
451
570
  *
@@ -457,15 +576,6 @@ export type McpServerConfigHttpType =
457
576
  "http"
458
577
  /** Server-Sent Events transport. */
459
578
  | "sse";
460
- /**
461
- * OIDC token configuration. When truthy, a token is automatically gathered.
462
- *
463
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
464
- * via the `definition` "McpServerConfigHttpOidc".
465
- */
466
- export type McpServerConfigHttpOidc = boolean | {
467
- [k: string]: unknown | undefined;
468
- };
469
579
  /**
470
580
  * OAuth grant type to use when authenticating to the remote MCP server.
471
581
  *
@@ -639,6 +749,18 @@ export type OptionsUpdateEnvValueMode =
639
749
  "direct"
640
750
  /** Resolve MCP server environment values from host-side references. */
641
751
  | "indirect";
752
+ /**
753
+ * Controls how availableTools (allowlist) and excludedTools (denylist) combine when both are set.
754
+ *
755
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
756
+ * via the `definition` "OptionsUpdateToolFilterPrecedence".
757
+ */
758
+ /** @experimental */
759
+ export type OptionsUpdateToolFilterPrecedence =
760
+ /** If availableTools is set, it is the only constraint that applies (excludedTools is ignored). Preserves CLI / pre-existing client behavior. Default. */
761
+ "available"
762
+ /** A tool is enabled if and only if it matches the allowlist (or the allowlist is unset) AND it does not match the denylist. Makes 'all except X' expressible by combining the two lists. */
763
+ | "excluded";
642
764
  /**
643
765
  * The client's response to the pending permission prompt
644
766
  *
@@ -1297,6 +1419,204 @@ export interface AgentList {
1297
1419
  */
1298
1420
  agents: AgentInfo[];
1299
1421
  }
1422
+ /**
1423
+ * Full registry entry for the spawned child. Lets the controller call `handleLiveTargetSelected(entry)` directly without re-reading the registry (avoids a TOCTOU window).
1424
+ *
1425
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1426
+ * via the `definition` "AgentRegistryLiveTargetEntry".
1427
+ */
1428
+ /** @experimental */
1429
+ export interface AgentRegistryLiveTargetEntry {
1430
+ /**
1431
+ * Registry entry schema version (1 = ui-server, 2 = managed-server)
1432
+ */
1433
+ schemaVersion: number;
1434
+ kind: AgentRegistryLiveTargetEntryKind;
1435
+ /**
1436
+ * Operating-system pid of the process owning this entry
1437
+ */
1438
+ pid: number;
1439
+ /**
1440
+ * Bind host for the entry's JSON-RPC server
1441
+ */
1442
+ host: string;
1443
+ /**
1444
+ * TCP port the entry's JSON-RPC server is listening on
1445
+ */
1446
+ port: number;
1447
+ /**
1448
+ * Session ID of the foreground session for this entry
1449
+ */
1450
+ sessionId?: string;
1451
+ /**
1452
+ * Friendly session name (when set)
1453
+ */
1454
+ sessionName?: string;
1455
+ /**
1456
+ * Working directory of the session (when known)
1457
+ */
1458
+ cwd?: string;
1459
+ /**
1460
+ * Git branch of the session (when known)
1461
+ */
1462
+ branch?: string;
1463
+ /**
1464
+ * Model identifier currently selected for the session
1465
+ */
1466
+ model?: string;
1467
+ status?: AgentRegistryLiveTargetEntryStatus;
1468
+ attentionKind?: AgentRegistryLiveTargetEntryAttentionKind;
1469
+ /**
1470
+ * Monotonic per-publisher revision counter incremented on every status update. Lets watchers detect transient flips.
1471
+ */
1472
+ statusRevision?: number;
1473
+ lastTerminalEvent?: AgentRegistryLiveTargetEntryLastTerminalEvent;
1474
+ /**
1475
+ * ISO 8601 timestamp captured at registration
1476
+ */
1477
+ startedAt: string;
1478
+ /**
1479
+ * Copilot CLI version that wrote the entry
1480
+ */
1481
+ copilotVersion: string;
1482
+ /**
1483
+ * Wall-clock milliseconds since the watcher last observed this entry (heartbeat freshness)
1484
+ */
1485
+ lastSeenMs: number;
1486
+ }
1487
+ /**
1488
+ * Per-spawn log-capture outcome; populated from spawnLiveTarget.
1489
+ *
1490
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1491
+ * via the `definition` "AgentRegistryLogCapture".
1492
+ */
1493
+ /** @experimental */
1494
+ export interface AgentRegistryLogCapture {
1495
+ /**
1496
+ * Whether per-spawn log capture is on (false when env-disabled or open failed)
1497
+ */
1498
+ enabled: boolean;
1499
+ /**
1500
+ * Absolute path to the per-spawn log file (only set when enabled)
1501
+ */
1502
+ path?: string;
1503
+ /**
1504
+ * Human-readable open failure message (only set when enabled === false AND the env-disable opt-out was NOT used)
1505
+ */
1506
+ openError?: string;
1507
+ openErrorReason?: AgentRegistryLogCaptureOpenErrorReason;
1508
+ }
1509
+ /**
1510
+ * `child_process.spawn` itself failed before the child entered the registry.
1511
+ *
1512
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1513
+ * via the `definition` "AgentRegistrySpawnError".
1514
+ */
1515
+ /** @experimental */
1516
+ export interface AgentRegistrySpawnError {
1517
+ /**
1518
+ * Discriminator: child_process.spawn itself failed
1519
+ */
1520
+ kind: "spawn-error";
1521
+ /**
1522
+ * Human-readable error message
1523
+ */
1524
+ message: string;
1525
+ /**
1526
+ * Underlying errno code (e.g. ENOENT, EACCES) when available
1527
+ */
1528
+ code?: string;
1529
+ }
1530
+ /**
1531
+ * Spawn succeeded but the child did not publish a matching managed-server entry within the timeout.
1532
+ *
1533
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1534
+ * via the `definition` "AgentRegistrySpawnRegistryTimeout".
1535
+ */
1536
+ /** @experimental */
1537
+ export interface AgentRegistrySpawnRegistryTimeout {
1538
+ /**
1539
+ * Discriminator: spawn succeeded but child never registered
1540
+ */
1541
+ kind: "registry-timeout";
1542
+ /**
1543
+ * Process ID of the orphaned child (so the caller can offer 'kill the pid' guidance)
1544
+ */
1545
+ childPid: number;
1546
+ logCapture?: AgentRegistryLogCapture;
1547
+ }
1548
+ /**
1549
+ * Inputs to spawn a managed-server child via the controller's spawn delegate.
1550
+ *
1551
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1552
+ * via the `definition` "AgentRegistrySpawnRequest".
1553
+ */
1554
+ /** @experimental */
1555
+ export interface AgentRegistrySpawnRequest {
1556
+ /**
1557
+ * Working directory for the spawned child (must be an existing directory)
1558
+ */
1559
+ cwd: string;
1560
+ /**
1561
+ * Custom or built-in agent name (e.g. 'explore'). When omitted, the child uses its own default.
1562
+ */
1563
+ agentName?: string;
1564
+ /**
1565
+ * Model identifier to apply to the new session
1566
+ */
1567
+ model?: string;
1568
+ /**
1569
+ * Friendly session name. Must satisfy validateSessionName: non-empty, no leading/trailing whitespace, <=100 chars, no control chars, no double quotes.
1570
+ */
1571
+ name?: string;
1572
+ permissionMode?: AgentRegistrySpawnPermissionMode;
1573
+ /**
1574
+ * Optional first user message. Forwarded to the caller (the CLI's spawn wrapper sends it post-attach via the standard LocalRpcSession.send path).
1575
+ */
1576
+ initialPrompt?: string;
1577
+ }
1578
+ /**
1579
+ * Managed-server child was spawned and registered successfully.
1580
+ *
1581
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1582
+ * via the `definition` "AgentRegistrySpawnSpawned".
1583
+ */
1584
+ /** @experimental */
1585
+ export interface AgentRegistrySpawnSpawned {
1586
+ /**
1587
+ * Discriminator: managed-server child spawned successfully
1588
+ */
1589
+ kind: "spawned";
1590
+ entry: AgentRegistryLiveTargetEntry;
1591
+ /**
1592
+ * Whether the delegate already sent the initial prompt. Always omitted in the current wiring: the controller sends the prompt post-attach via the standard LocalRpcSession.send path.
1593
+ */
1594
+ initialPromptSent?: boolean;
1595
+ /**
1596
+ * If the delegate attempted to send the initial prompt and failed, the categorized error message.
1597
+ */
1598
+ initialPromptError?: string;
1599
+ logCapture?: AgentRegistryLogCapture;
1600
+ }
1601
+ /**
1602
+ * Synchronous pre-validation rejected the spawn request.
1603
+ *
1604
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1605
+ * via the `definition` "AgentRegistrySpawnValidationError".
1606
+ */
1607
+ /** @experimental */
1608
+ export interface AgentRegistrySpawnValidationError {
1609
+ /**
1610
+ * Discriminator: synchronous pre-validation rejected the request
1611
+ */
1612
+ kind: "validation-error";
1613
+ reason: AgentRegistrySpawnValidationErrorReason;
1614
+ field?: AgentRegistrySpawnValidationErrorField;
1615
+ /**
1616
+ * Human-readable explanation; safe to surface in the UI banner. Never logged to unrestricted telemetry.
1617
+ */
1618
+ message: string;
1619
+ }
1300
1620
  /**
1301
1621
  * Custom agents available to the session after reloading definitions from disk.
1302
1622
  *
@@ -1333,6 +1653,36 @@ export interface AgentSelectRequest {
1333
1653
  export interface AgentSelectResult {
1334
1654
  agent: AgentInfo;
1335
1655
  }
1656
+ /**
1657
+ * Indicates whether the operation succeeded and reports the post-mutation state.
1658
+ *
1659
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1660
+ * via the `definition` "AllowAllPermissionSetResult".
1661
+ */
1662
+ /** @experimental */
1663
+ export interface AllowAllPermissionSetResult {
1664
+ /**
1665
+ * Whether the operation succeeded
1666
+ */
1667
+ success: boolean;
1668
+ /**
1669
+ * Authoritative allow-all state after the mutation
1670
+ */
1671
+ enabled: boolean;
1672
+ }
1673
+ /**
1674
+ * Current full allow-all permission state.
1675
+ *
1676
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1677
+ * via the `definition` "AllowAllPermissionState".
1678
+ */
1679
+ /** @experimental */
1680
+ export interface AllowAllPermissionState {
1681
+ /**
1682
+ * Whether full allow-all permissions are currently active
1683
+ */
1684
+ enabled: boolean;
1685
+ }
1336
1686
  /**
1337
1687
  * Schema for the `ApiKeyAuthInfo` type.
1338
1688
  *
@@ -1903,6 +2253,20 @@ export interface CanvasProviderCloseRequest {
1903
2253
  */
1904
2254
  instanceId: string;
1905
2255
  host?: CanvasHostContext;
2256
+ session?: CanvasSessionContext;
2257
+ }
2258
+ /**
2259
+ * Session context supplied by the runtime.
2260
+ *
2261
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2262
+ * via the `definition` "CanvasSessionContext".
2263
+ */
2264
+ /** @experimental */
2265
+ export interface CanvasSessionContext {
2266
+ /**
2267
+ * Active session working directory, when known.
2268
+ */
2269
+ workingDirectory?: string;
1906
2270
  }
1907
2271
  /**
1908
2272
  * Canvas action invocation parameters sent to the provider.
@@ -1939,6 +2303,7 @@ export interface CanvasProviderInvokeActionRequest {
1939
2303
  [k: string]: unknown | undefined;
1940
2304
  };
1941
2305
  host?: CanvasHostContext;
2306
+ session?: CanvasSessionContext;
1942
2307
  }
1943
2308
  /**
1944
2309
  * Canvas open parameters sent to the provider.
@@ -1971,6 +2336,7 @@ export interface CanvasProviderOpenRequest {
1971
2336
  [k: string]: unknown | undefined;
1972
2337
  };
1973
2338
  host?: CanvasHostContext;
2339
+ session?: CanvasSessionContext;
1974
2340
  }
1975
2341
  /**
1976
2342
  * Canvas open result returned by the provider.
@@ -3474,8 +3840,8 @@ export interface McpServerConfigStdio {
3474
3840
  * Timeout in milliseconds for tool calls to this server.
3475
3841
  */
3476
3842
  timeout?: number;
3477
- oidc?: McpServerConfigStdioOidc;
3478
- auth?: McpServerConfigStdioAuth;
3843
+ oidc?: McpServerAuthConfig;
3844
+ auth?: McpServerAuthConfig;
3479
3845
  /**
3480
3846
  * Executable command used to start the Stdio MCP server process.
3481
3847
  */
@@ -3495,6 +3861,19 @@ export interface McpServerConfigStdio {
3495
3861
  [k: string]: string | undefined;
3496
3862
  };
3497
3863
  }
3864
+ /**
3865
+ * Authentication settings with optional redirect port configuration.
3866
+ *
3867
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3868
+ * via the `definition` "McpServerAuthConfigRedirectPort".
3869
+ */
3870
+ export interface McpServerAuthConfigRedirectPort {
3871
+ /**
3872
+ * Fixed port for the OAuth redirect callback server.
3873
+ */
3874
+ redirectPort?: number;
3875
+ [k: string]: unknown | undefined;
3876
+ }
3498
3877
  /**
3499
3878
  * Remote MCP server configuration accessed over HTTP or SSE.
3500
3879
  *
@@ -3516,8 +3895,8 @@ export interface McpServerConfigHttp {
3516
3895
  * Timeout in milliseconds for tool calls to this server.
3517
3896
  */
3518
3897
  timeout?: number;
3519
- oidc?: McpServerConfigHttpOidc;
3520
- auth?: McpServerConfigHttpAuth;
3898
+ oidc?: McpServerAuthConfig;
3899
+ auth?: McpServerAuthConfig;
3521
3900
  /**
3522
3901
  * URL of the remote MCP server endpoint.
3523
3902
  */
@@ -3538,19 +3917,6 @@ export interface McpServerConfigHttp {
3538
3917
  oauthPublicClient?: boolean;
3539
3918
  oauthGrantType?: McpServerConfigHttpOauthGrantType;
3540
3919
  }
3541
- /**
3542
- * Additional authentication configuration for this server.
3543
- *
3544
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3545
- * via the `definition` "McpServerConfigHttpAuth".
3546
- */
3547
- export interface McpServerConfigHttpAuth {
3548
- /**
3549
- * Fixed port for the OAuth redirect callback server.
3550
- */
3551
- redirectPort?: number;
3552
- [k: string]: unknown | undefined;
3553
- }
3554
3920
  /**
3555
3921
  * MCP server names to disable for new sessions.
3556
3922
  *
@@ -5491,6 +5857,14 @@ export interface PermissionsFolderTrustAddTrustedResult {
5491
5857
  */
5492
5858
  success: boolean;
5493
5859
  }
5860
+ /**
5861
+ * No parameters.
5862
+ *
5863
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5864
+ * via the `definition` "PermissionsGetAllowAllRequest".
5865
+ */
5866
+ export interface PermissionsGetAllowAllRequest {
5867
+ }
5494
5868
  /**
5495
5869
  * Indicates whether the operation succeeded.
5496
5870
  *
@@ -5615,6 +5989,19 @@ export interface PermissionsResetSessionApprovalsResult {
5615
5989
  */
5616
5990
  success: boolean;
5617
5991
  }
5992
+ /**
5993
+ * Whether to enable full allow-all permissions for the session.
5994
+ *
5995
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
5996
+ * via the `definition` "PermissionsSetAllowAllRequest".
5997
+ */
5998
+ /** @experimental */
5999
+ export interface PermissionsSetAllowAllRequest {
6000
+ /**
6001
+ * Whether to enable full allow-all permissions
6002
+ */
6003
+ enabled: boolean;
6004
+ }
5618
6005
  /**
5619
6006
  * Allow-all toggle for tool permission requests, with an optional telemetry source.
5620
6007
  *
@@ -6446,10 +6833,18 @@ export interface SessionMetadata {
6446
6833
  * Optional human-friendly name set via /rename
6447
6834
  */
6448
6835
  name?: string;
6836
+ /**
6837
+ * Runtime client name that created/last resumed this session
6838
+ */
6839
+ clientName?: string;
6449
6840
  /**
6450
6841
  * True for remote (GitHub) sessions; false for local
6451
6842
  */
6452
6843
  isRemote: boolean;
6844
+ /**
6845
+ * True for detached maintenance sessions that should be hidden from normal resume lists.
6846
+ */
6847
+ isDetached?: boolean;
6453
6848
  context?: SessionContext;
6454
6849
  /**
6455
6850
  * GitHub task ID, when this local session is bound to one. Only present for local sessions exported to remote control.
@@ -7053,6 +7448,10 @@ export interface SessionMetadataSnapshot {
7053
7448
  * User-provided name supplied at session construction (via `--name`), if any. Immutable after construction.
7054
7449
  */
7055
7450
  initialName?: string;
7451
+ /**
7452
+ * Runtime client name associated with the session (telemetry identifier).
7453
+ */
7454
+ clientName?: string;
7056
7455
  remoteMetadata?: MetadataSnapshotRemoteMetadata;
7057
7456
  /**
7058
7457
  * Short human-readable summary of the session, if known. Omitted when no summary has been generated.
@@ -7379,7 +7778,7 @@ export interface SessionSizes {
7379
7778
  };
7380
7779
  }
7381
7780
  /**
7382
- * Optional metadata-load limit and context filter applied to the returned sessions.
7781
+ * Optional metadata-load limit and filters applied to the returned sessions.
7383
7782
  *
7384
7783
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7385
7784
  * via the `definition` "SessionsListRequest".
@@ -7391,6 +7790,10 @@ export interface SessionsListRequest {
7391
7790
  */
7392
7791
  metadataLimit?: number;
7393
7792
  filter?: SessionListFilter;
7793
+ /**
7794
+ * When true, include detached maintenance sessions. Defaults to false for user-facing session lists.
7795
+ */
7796
+ includeDetached?: boolean;
7394
7797
  }
7395
7798
  /**
7396
7799
  * Active session ID whose deferred repo-level hooks should be loaded.
@@ -7580,6 +7983,7 @@ export interface SessionUpdateOptionsParams {
7580
7983
  * Denylist of tool names for this session.
7581
7984
  */
7582
7985
  excludedTools?: string[];
7986
+ toolFilterPrecedence?: OptionsUpdateToolFilterPrecedence;
7583
7987
  /**
7584
7988
  * Whether shell-script safety heuristics are enabled.
7585
7989
  */
@@ -9366,6 +9770,7 @@ export interface WorkspacesGetWorkspaceResult {
9366
9770
  host_type?: WorkspacesWorkspaceDetailsHostType;
9367
9771
  branch?: string;
9368
9772
  name?: string;
9773
+ client_name?: string;
9369
9774
  user_named?: boolean;
9370
9775
  summary_count?: number;
9371
9776
  created_at?: string;
@@ -9668,7 +10073,7 @@ export declare function createServerRpc(connection: MessageConnection): {
9668
10073
  /**
9669
10074
  * Lists persisted sessions, optionally filtered by working-directory context.
9670
10075
  *
9671
- * @param params Optional metadata-load limit and context filter applied to the returned sessions.
10076
+ * @param params Optional metadata-load limit and filters applied to the returned sessions.
9672
10077
  *
9673
10078
  * @returns Persisted sessions matching the filter, ordered most-recently-modified first.
9674
10079
  */
@@ -9800,6 +10205,17 @@ export declare function createServerRpc(connection: MessageConnection): {
9800
10205
  */
9801
10206
  setAdditionalPlugins: (params: SessionsSetAdditionalPluginsRequest) => Promise<SessionsSetAdditionalPluginsResult>;
9802
10207
  };
10208
+ /** @experimental */
10209
+ agentRegistry: {
10210
+ /**
10211
+ * Spawns a managed-server child with the supplied configuration and returns a discriminated-union result. The caller (typically the CLI controller) is responsible for attaching to the spawned child and sending any follow-up prompt. When the controller-local spawn gate is closed the server returns JSON-RPC MethodNotFound.
10212
+ *
10213
+ * @param params Inputs to spawn a managed-server child via the controller's spawn delegate.
10214
+ *
10215
+ * @returns Outcome of an agentRegistry.spawn call.
10216
+ */
10217
+ spawn: (params: AgentRegistrySpawnRequest) => Promise<AgentRegistrySpawnResult>;
10218
+ };
9803
10219
  };
9804
10220
  /** Create typed session-scoped RPC methods. */
9805
10221
  export declare function createSessionRpc(connection: MessageConnection, sessionId: string): {
@@ -10544,6 +10960,20 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
10544
10960
  * @returns Indicates whether the operation succeeded.
10545
10961
  */
10546
10962
  setApproveAll: (params: PermissionsSetApproveAllRequest) => Promise<PermissionsSetApproveAllResult>;
10963
+ /**
10964
+ * Enables or disables full allow-all permissions (tools, paths, and URLs) for the session. Used by attach-mode clients (e.g. LocalRpcSession's `/allow-all` forwarder) to flip the target session's permission state. Unlike `setApproveAll`, this swaps in the unrestricted path and URL managers and emits `session.permissions_changed` on transition. The result returns the authoritative post-mutation state so callers can update their local mirrors without racing the `session.permissions_changed` notification on the same wire.
10965
+ *
10966
+ * @param params Whether to enable full allow-all permissions for the session.
10967
+ *
10968
+ * @returns Indicates whether the operation succeeded and reports the post-mutation state.
10969
+ */
10970
+ setAllowAll: (params: PermissionsSetAllowAllRequest) => Promise<AllowAllPermissionSetResult>;
10971
+ /**
10972
+ * Returns whether full allow-all permissions are currently active for the session.
10973
+ *
10974
+ * @returns Current full allow-all permission state.
10975
+ */
10976
+ getAllowAll: () => Promise<AllowAllPermissionState>;
10547
10977
  /**
10548
10978
  * Adds or removes session-scoped or location-scoped permission rules.
10549
10979
  *