@github/copilot-sdk 1.0.0-beta.7 → 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
  *
@@ -428,6 +558,13 @@ export type McpAppsSetHostContextDetailsPlatform =
428
558
  * via the `definition` "McpServerConfig".
429
559
  */
430
560
  export type McpServerConfig = McpServerConfigStdio | McpServerConfigHttp;
561
+ /**
562
+ * Set to `true` to use defaults, or provide an object with additional auth or OIDC settings.
563
+ *
564
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
565
+ * via the `definition` "McpServerAuthConfig".
566
+ */
567
+ export type McpServerAuthConfig = boolean | McpServerAuthConfigRedirectPort;
431
568
  /**
432
569
  * Remote transport type. Defaults to "http" when omitted.
433
570
  *
@@ -612,6 +749,18 @@ export type OptionsUpdateEnvValueMode =
612
749
  "direct"
613
750
  /** Resolve MCP server environment values from host-side references. */
614
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";
615
764
  /**
616
765
  * The client's response to the pending permission prompt
617
766
  *
@@ -790,6 +939,7 @@ export type SessionContextHostType =
790
939
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
791
940
  * via the `definition` "SessionFsErrorCode".
792
941
  */
942
+ /** @experimental */
793
943
  export type SessionFsErrorCode =
794
944
  /** The requested path does not exist. */
795
945
  "ENOENT"
@@ -801,6 +951,7 @@ export type SessionFsErrorCode =
801
951
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
802
952
  * via the `definition` "SessionFsReaddirWithTypesEntryType".
803
953
  */
954
+ /** @experimental */
804
955
  export type SessionFsReaddirWithTypesEntryType =
805
956
  /** The entry is a file. */
806
957
  "file"
@@ -823,6 +974,7 @@ export type SessionFsSetProviderConventions =
823
974
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
824
975
  * via the `definition` "SessionFsSqliteQueryType".
825
976
  */
977
+ /** @experimental */
826
978
  export type SessionFsSqliteQueryType =
827
979
  /** Execute DDL or multi-statement SQL without returning rows. */
828
980
  "exec"
@@ -1060,6 +1212,34 @@ export type UIExitPlanModeAction =
1060
1212
  | "autopilot"
1061
1213
  /** Exit plan mode and continue in autopilot mode with parallel subagent execution. */
1062
1214
  | "autopilot_fleet";
1215
+ /**
1216
+ * Type of change represented by this file diff.
1217
+ *
1218
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1219
+ * via the `definition` "WorkspaceDiffFileChangeType".
1220
+ */
1221
+ /** @experimental */
1222
+ export type WorkspaceDiffFileChangeType =
1223
+ /** The file was added. */
1224
+ "added"
1225
+ /** The file was modified. */
1226
+ | "modified"
1227
+ /** The file was deleted. */
1228
+ | "deleted"
1229
+ /** The file was renamed. */
1230
+ | "renamed";
1231
+ /**
1232
+ * Diff mode requested by the client.
1233
+ *
1234
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1235
+ * via the `definition` "WorkspaceDiffMode".
1236
+ */
1237
+ /** @experimental */
1238
+ export type WorkspaceDiffMode =
1239
+ /** Return staged, unstaged, and untracked working tree changes. */
1240
+ "unstaged"
1241
+ /** Return changes compared with the default branch. */
1242
+ | "branch";
1063
1243
  /**
1064
1244
  * Allowed values for the `WorkspacesWorkspaceDetailsHostType` enumeration.
1065
1245
  *
@@ -1239,6 +1419,204 @@ export interface AgentList {
1239
1419
  */
1240
1420
  agents: AgentInfo[];
1241
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
+ }
1242
1620
  /**
1243
1621
  * Custom agents available to the session after reloading definitions from disk.
1244
1622
  *
@@ -1275,6 +1653,36 @@ export interface AgentSelectRequest {
1275
1653
  export interface AgentSelectResult {
1276
1654
  agent: AgentInfo;
1277
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
+ }
1278
1686
  /**
1279
1687
  * Schema for the `ApiKeyAuthInfo` type.
1280
1688
  *
@@ -1629,6 +2037,29 @@ export interface CanvasCloseRequest {
1629
2037
  */
1630
2038
  instanceId: string;
1631
2039
  }
2040
+ /**
2041
+ * Host context supplied by the runtime.
2042
+ *
2043
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2044
+ * via the `definition` "CanvasHostContext".
2045
+ */
2046
+ /** @experimental */
2047
+ export interface CanvasHostContext {
2048
+ capabilities?: CanvasHostContextCapabilities;
2049
+ }
2050
+ /**
2051
+ * Host capabilities
2052
+ *
2053
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2054
+ * via the `definition` "CanvasHostContextCapabilities".
2055
+ */
2056
+ /** @experimental */
2057
+ export interface CanvasHostContextCapabilities {
2058
+ /**
2059
+ * Whether canvas rendering is supported
2060
+ */
2061
+ canvases?: boolean;
2062
+ }
1632
2063
  /**
1633
2064
  * Canvas action invocation parameters.
1634
2065
  *
@@ -1653,19 +2084,14 @@ export interface CanvasInvokeActionRequest {
1653
2084
  };
1654
2085
  }
1655
2086
  /**
1656
- * Canvas action invocation result.
2087
+ * Provider-supplied action result.
1657
2088
  *
1658
2089
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
1659
2090
  * via the `definition` "CanvasInvokeActionResult".
1660
2091
  */
1661
2092
  /** @experimental */
1662
2093
  export interface CanvasInvokeActionResult {
1663
- /**
1664
- * Provider-supplied action result
1665
- */
1666
- result?: {
1667
- [k: string]: unknown | undefined;
1668
- };
2094
+ [k: string]: unknown | undefined;
1669
2095
  }
1670
2096
  /**
1671
2097
  * Declared canvases available in this session.
@@ -1802,6 +2228,137 @@ export interface CanvasOpenRequest {
1802
2228
  [k: string]: unknown | undefined;
1803
2229
  };
1804
2230
  }
2231
+ /**
2232
+ * Canvas close parameters sent to the provider.
2233
+ *
2234
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2235
+ * via the `definition` "CanvasProviderCloseRequest".
2236
+ */
2237
+ /** @experimental */
2238
+ export interface CanvasProviderCloseRequest {
2239
+ /**
2240
+ * Target session identifier
2241
+ */
2242
+ sessionId: string;
2243
+ /**
2244
+ * Owning provider identifier
2245
+ */
2246
+ extensionId: string;
2247
+ /**
2248
+ * Provider-local canvas identifier
2249
+ */
2250
+ canvasId: string;
2251
+ /**
2252
+ * Canvas instance identifier
2253
+ */
2254
+ instanceId: string;
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;
2270
+ }
2271
+ /**
2272
+ * Canvas action invocation parameters sent to the provider.
2273
+ *
2274
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2275
+ * via the `definition` "CanvasProviderInvokeActionRequest".
2276
+ */
2277
+ /** @experimental */
2278
+ export interface CanvasProviderInvokeActionRequest {
2279
+ /**
2280
+ * Target session identifier
2281
+ */
2282
+ sessionId: string;
2283
+ /**
2284
+ * Owning provider identifier
2285
+ */
2286
+ extensionId: string;
2287
+ /**
2288
+ * Provider-local canvas identifier
2289
+ */
2290
+ canvasId: string;
2291
+ /**
2292
+ * Canvas instance identifier
2293
+ */
2294
+ instanceId: string;
2295
+ /**
2296
+ * Action name to invoke
2297
+ */
2298
+ actionName: string;
2299
+ /**
2300
+ * Action input
2301
+ */
2302
+ input?: {
2303
+ [k: string]: unknown | undefined;
2304
+ };
2305
+ host?: CanvasHostContext;
2306
+ session?: CanvasSessionContext;
2307
+ }
2308
+ /**
2309
+ * Canvas open parameters sent to the provider.
2310
+ *
2311
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2312
+ * via the `definition` "CanvasProviderOpenRequest".
2313
+ */
2314
+ /** @experimental */
2315
+ export interface CanvasProviderOpenRequest {
2316
+ /**
2317
+ * Target session identifier
2318
+ */
2319
+ sessionId: string;
2320
+ /**
2321
+ * Owning provider identifier
2322
+ */
2323
+ extensionId: string;
2324
+ /**
2325
+ * Provider-local canvas identifier
2326
+ */
2327
+ canvasId: string;
2328
+ /**
2329
+ * Stable caller-supplied canvas instance identifier
2330
+ */
2331
+ instanceId: string;
2332
+ /**
2333
+ * Canvas open input
2334
+ */
2335
+ input?: {
2336
+ [k: string]: unknown | undefined;
2337
+ };
2338
+ host?: CanvasHostContext;
2339
+ session?: CanvasSessionContext;
2340
+ }
2341
+ /**
2342
+ * Canvas open result returned by the provider.
2343
+ *
2344
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
2345
+ * via the `definition` "CanvasProviderOpenResult".
2346
+ */
2347
+ /** @experimental */
2348
+ export interface CanvasProviderOpenResult {
2349
+ /**
2350
+ * URL for web-rendered canvases
2351
+ */
2352
+ url?: string;
2353
+ /**
2354
+ * Provider-supplied title
2355
+ */
2356
+ title?: string;
2357
+ /**
2358
+ * Provider-supplied status text
2359
+ */
2360
+ status?: string;
2361
+ }
1805
2362
  /**
1806
2363
  * Slash commands available in the session, after applying any include/exclude filters.
1807
2364
  *
@@ -3283,6 +3840,8 @@ export interface McpServerConfigStdio {
3283
3840
  * Timeout in milliseconds for tool calls to this server.
3284
3841
  */
3285
3842
  timeout?: number;
3843
+ oidc?: McpServerAuthConfig;
3844
+ auth?: McpServerAuthConfig;
3286
3845
  /**
3287
3846
  * Executable command used to start the Stdio MCP server process.
3288
3847
  */
@@ -3302,6 +3861,19 @@ export interface McpServerConfigStdio {
3302
3861
  [k: string]: string | undefined;
3303
3862
  };
3304
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
+ }
3305
3877
  /**
3306
3878
  * Remote MCP server configuration accessed over HTTP or SSE.
3307
3879
  *
@@ -3323,6 +3895,8 @@ export interface McpServerConfigHttp {
3323
3895
  * Timeout in milliseconds for tool calls to this server.
3324
3896
  */
3325
3897
  timeout?: number;
3898
+ oidc?: McpServerAuthConfig;
3899
+ auth?: McpServerAuthConfig;
3326
3900
  /**
3327
3901
  * URL of the remote MCP server endpoint.
3328
3902
  */
@@ -3342,19 +3916,6 @@ export interface McpServerConfigHttp {
3342
3916
  */
3343
3917
  oauthPublicClient?: boolean;
3344
3918
  oauthGrantType?: McpServerConfigHttpOauthGrantType;
3345
- auth?: McpServerConfigHttpAuth;
3346
- }
3347
- /**
3348
- * Additional authentication configuration for this server.
3349
- *
3350
- * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
3351
- * via the `definition` "McpServerConfigHttpAuth".
3352
- */
3353
- export interface McpServerConfigHttpAuth {
3354
- /**
3355
- * Fixed port for the OAuth redirect callback server.
3356
- */
3357
- redirectPort?: number;
3358
3919
  }
3359
3920
  /**
3360
3921
  * MCP server names to disable for new sessions.
@@ -5296,6 +5857,14 @@ export interface PermissionsFolderTrustAddTrustedResult {
5296
5857
  */
5297
5858
  success: boolean;
5298
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
+ }
5299
5868
  /**
5300
5869
  * Indicates whether the operation succeeded.
5301
5870
  *
@@ -5420,6 +5989,19 @@ export interface PermissionsResetSessionApprovalsResult {
5420
5989
  */
5421
5990
  success: boolean;
5422
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
+ }
5423
6005
  /**
5424
6006
  * Allow-all toggle for tool permission requests, with an optional telemetry source.
5425
6007
  *
@@ -6211,7 +6793,7 @@ export interface SessionContext {
6211
6793
  branch?: string;
6212
6794
  }
6213
6795
  /**
6214
- * The same metadata records, with summary and context fields backfilled where available.
6796
+ * The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
6215
6797
  *
6216
6798
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6217
6799
  * via the `definition` "SessionEnrichMetadataResult".
@@ -6219,7 +6801,7 @@ export interface SessionContext {
6219
6801
  /** @experimental */
6220
6802
  export interface SessionEnrichMetadataResult {
6221
6803
  /**
6222
- * Same records, with summary and context backfilled
6804
+ * Enriched records, with summary and context backfilled. Sessions confirmed empty and unnamed may be omitted.
6223
6805
  */
6224
6806
  sessions: SessionMetadata[];
6225
6807
  }
@@ -6251,10 +6833,18 @@ export interface SessionMetadata {
6251
6833
  * Optional human-friendly name set via /rename
6252
6834
  */
6253
6835
  name?: string;
6836
+ /**
6837
+ * Runtime client name that created/last resumed this session
6838
+ */
6839
+ clientName?: string;
6254
6840
  /**
6255
6841
  * True for remote (GitHub) sessions; false for local
6256
6842
  */
6257
6843
  isRemote: boolean;
6844
+ /**
6845
+ * True for detached maintenance sessions that should be hidden from normal resume lists.
6846
+ */
6847
+ isDetached?: boolean;
6258
6848
  context?: SessionContext;
6259
6849
  /**
6260
6850
  * GitHub task ID, when this local session is bound to one. Only present for local sessions exported to remote control.
@@ -6267,6 +6857,7 @@ export interface SessionMetadata {
6267
6857
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6268
6858
  * via the `definition` "SessionFsAppendFileRequest".
6269
6859
  */
6860
+ /** @experimental */
6270
6861
  export interface SessionFsAppendFileRequest {
6271
6862
  /**
6272
6863
  * Target session identifier
@@ -6291,6 +6882,7 @@ export interface SessionFsAppendFileRequest {
6291
6882
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6292
6883
  * via the `definition` "SessionFsError".
6293
6884
  */
6885
+ /** @experimental */
6294
6886
  export interface SessionFsError {
6295
6887
  code: SessionFsErrorCode;
6296
6888
  /**
@@ -6304,6 +6896,7 @@ export interface SessionFsError {
6304
6896
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6305
6897
  * via the `definition` "SessionFsExistsRequest".
6306
6898
  */
6899
+ /** @experimental */
6307
6900
  export interface SessionFsExistsRequest {
6308
6901
  /**
6309
6902
  * Target session identifier
@@ -6320,6 +6913,7 @@ export interface SessionFsExistsRequest {
6320
6913
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6321
6914
  * via the `definition` "SessionFsExistsResult".
6322
6915
  */
6916
+ /** @experimental */
6323
6917
  export interface SessionFsExistsResult {
6324
6918
  /**
6325
6919
  * Whether the path exists
@@ -6332,6 +6926,7 @@ export interface SessionFsExistsResult {
6332
6926
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6333
6927
  * via the `definition` "SessionFsMkdirRequest".
6334
6928
  */
6929
+ /** @experimental */
6335
6930
  export interface SessionFsMkdirRequest {
6336
6931
  /**
6337
6932
  * Target session identifier
@@ -6356,6 +6951,7 @@ export interface SessionFsMkdirRequest {
6356
6951
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6357
6952
  * via the `definition` "SessionFsReaddirRequest".
6358
6953
  */
6954
+ /** @experimental */
6359
6955
  export interface SessionFsReaddirRequest {
6360
6956
  /**
6361
6957
  * Target session identifier
@@ -6372,6 +6968,7 @@ export interface SessionFsReaddirRequest {
6372
6968
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6373
6969
  * via the `definition` "SessionFsReaddirResult".
6374
6970
  */
6971
+ /** @experimental */
6375
6972
  export interface SessionFsReaddirResult {
6376
6973
  /**
6377
6974
  * Entry names in the directory
@@ -6385,6 +6982,7 @@ export interface SessionFsReaddirResult {
6385
6982
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6386
6983
  * via the `definition` "SessionFsReaddirWithTypesEntry".
6387
6984
  */
6985
+ /** @experimental */
6388
6986
  export interface SessionFsReaddirWithTypesEntry {
6389
6987
  /**
6390
6988
  * Entry name
@@ -6398,6 +6996,7 @@ export interface SessionFsReaddirWithTypesEntry {
6398
6996
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6399
6997
  * via the `definition` "SessionFsReaddirWithTypesRequest".
6400
6998
  */
6999
+ /** @experimental */
6401
7000
  export interface SessionFsReaddirWithTypesRequest {
6402
7001
  /**
6403
7002
  * Target session identifier
@@ -6414,6 +7013,7 @@ export interface SessionFsReaddirWithTypesRequest {
6414
7013
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6415
7014
  * via the `definition` "SessionFsReaddirWithTypesResult".
6416
7015
  */
7016
+ /** @experimental */
6417
7017
  export interface SessionFsReaddirWithTypesResult {
6418
7018
  /**
6419
7019
  * Directory entries with type information
@@ -6427,6 +7027,7 @@ export interface SessionFsReaddirWithTypesResult {
6427
7027
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6428
7028
  * via the `definition` "SessionFsReadFileRequest".
6429
7029
  */
7030
+ /** @experimental */
6430
7031
  export interface SessionFsReadFileRequest {
6431
7032
  /**
6432
7033
  * Target session identifier
@@ -6443,6 +7044,7 @@ export interface SessionFsReadFileRequest {
6443
7044
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6444
7045
  * via the `definition` "SessionFsReadFileResult".
6445
7046
  */
7047
+ /** @experimental */
6446
7048
  export interface SessionFsReadFileResult {
6447
7049
  /**
6448
7050
  * File content as UTF-8 string
@@ -6456,6 +7058,7 @@ export interface SessionFsReadFileResult {
6456
7058
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6457
7059
  * via the `definition` "SessionFsRenameRequest".
6458
7060
  */
7061
+ /** @experimental */
6459
7062
  export interface SessionFsRenameRequest {
6460
7063
  /**
6461
7064
  * Target session identifier
@@ -6476,6 +7079,7 @@ export interface SessionFsRenameRequest {
6476
7079
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6477
7080
  * via the `definition` "SessionFsRmRequest".
6478
7081
  */
7082
+ /** @experimental */
6479
7083
  export interface SessionFsRmRequest {
6480
7084
  /**
6481
7085
  * Target session identifier
@@ -6542,6 +7146,7 @@ export interface SessionFsSetProviderResult {
6542
7146
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6543
7147
  * via the `definition` "SessionFsSqliteExistsResult".
6544
7148
  */
7149
+ /** @experimental */
6545
7150
  export interface SessionFsSqliteExistsResult {
6546
7151
  /**
6547
7152
  * Whether the session database already exists
@@ -6554,6 +7159,7 @@ export interface SessionFsSqliteExistsResult {
6554
7159
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6555
7160
  * via the `definition` "SessionFsSqliteQueryRequest".
6556
7161
  */
7162
+ /** @experimental */
6557
7163
  export interface SessionFsSqliteQueryRequest {
6558
7164
  /**
6559
7165
  * Target session identifier
@@ -6577,6 +7183,7 @@ export interface SessionFsSqliteQueryRequest {
6577
7183
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6578
7184
  * via the `definition` "SessionFsSqliteQueryResult".
6579
7185
  */
7186
+ /** @experimental */
6580
7187
  export interface SessionFsSqliteQueryResult {
6581
7188
  /**
6582
7189
  * For SELECT: array of row objects. For others: empty array.
@@ -6604,6 +7211,7 @@ export interface SessionFsSqliteQueryResult {
6604
7211
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6605
7212
  * via the `definition` "SessionFsStatRequest".
6606
7213
  */
7214
+ /** @experimental */
6607
7215
  export interface SessionFsStatRequest {
6608
7216
  /**
6609
7217
  * Target session identifier
@@ -6620,6 +7228,7 @@ export interface SessionFsStatRequest {
6620
7228
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6621
7229
  * via the `definition` "SessionFsStatResult".
6622
7230
  */
7231
+ /** @experimental */
6623
7232
  export interface SessionFsStatResult {
6624
7233
  /**
6625
7234
  * Whether the path is a file
@@ -6649,6 +7258,7 @@ export interface SessionFsStatResult {
6649
7258
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
6650
7259
  * via the `definition` "SessionFsWriteFileRequest".
6651
7260
  */
7261
+ /** @experimental */
6652
7262
  export interface SessionFsWriteFileRequest {
6653
7263
  /**
6654
7264
  * Target session identifier
@@ -6838,6 +7448,10 @@ export interface SessionMetadataSnapshot {
6838
7448
  * User-provided name supplied at session construction (via `--name`), if any. Immutable after construction.
6839
7449
  */
6840
7450
  initialName?: string;
7451
+ /**
7452
+ * Runtime client name associated with the session (telemetry identifier).
7453
+ */
7454
+ clientName?: string;
6841
7455
  remoteMetadata?: MetadataSnapshotRemoteMetadata;
6842
7456
  /**
6843
7457
  * Short human-readable summary of the session, if known. Omitted when no summary has been generated.
@@ -7164,7 +7778,7 @@ export interface SessionSizes {
7164
7778
  };
7165
7779
  }
7166
7780
  /**
7167
- * Optional metadata-load limit and context filter applied to the returned sessions.
7781
+ * Optional metadata-load limit and filters applied to the returned sessions.
7168
7782
  *
7169
7783
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
7170
7784
  * via the `definition` "SessionsListRequest".
@@ -7176,6 +7790,10 @@ export interface SessionsListRequest {
7176
7790
  */
7177
7791
  metadataLimit?: number;
7178
7792
  filter?: SessionListFilter;
7793
+ /**
7794
+ * When true, include detached maintenance sessions. Defaults to false for user-facing session lists.
7795
+ */
7796
+ includeDetached?: boolean;
7179
7797
  }
7180
7798
  /**
7181
7799
  * Active session ID whose deferred repo-level hooks should be loaded.
@@ -7365,6 +7983,7 @@ export interface SessionUpdateOptionsParams {
7365
7983
  * Denylist of tool names for this session.
7366
7984
  */
7367
7985
  excludedTools?: string[];
7986
+ toolFilterPrecedence?: OptionsUpdateToolFilterPrecedence;
7368
7987
  /**
7369
7988
  * Whether shell-script safety heuristics are enabled.
7370
7989
  */
@@ -9035,6 +9654,55 @@ export interface UsageMetricsModelMetricTokenDetail {
9035
9654
  */
9036
9655
  tokenCount: number;
9037
9656
  }
9657
+ /**
9658
+ * A single changed file and its unified diff.
9659
+ *
9660
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9661
+ * via the `definition` "WorkspaceDiffFileChange".
9662
+ */
9663
+ /** @experimental */
9664
+ export interface WorkspaceDiffFileChange {
9665
+ /**
9666
+ * Path to the changed file, relative to the workspace root.
9667
+ */
9668
+ path: string;
9669
+ /**
9670
+ * Unified diff content for the file. Empty when the diff was truncated.
9671
+ */
9672
+ diff: string;
9673
+ changeType: WorkspaceDiffFileChangeType;
9674
+ /**
9675
+ * Original file path for renamed files.
9676
+ */
9677
+ oldPath?: string;
9678
+ /**
9679
+ * Whether the diff content was omitted because it exceeded the per-file size limit.
9680
+ */
9681
+ isTruncated?: boolean;
9682
+ }
9683
+ /**
9684
+ * Workspace diff result for the requested mode.
9685
+ *
9686
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9687
+ * via the `definition` "WorkspaceDiffResult".
9688
+ */
9689
+ /** @experimental */
9690
+ export interface WorkspaceDiffResult {
9691
+ requestedMode: WorkspaceDiffMode;
9692
+ mode: WorkspaceDiffMode;
9693
+ /**
9694
+ * Changed files and their unified diffs.
9695
+ */
9696
+ changes: WorkspaceDiffFileChange[];
9697
+ /**
9698
+ * Default branch used for a branch diff, when branch mode was requested.
9699
+ */
9700
+ baseBranch?: string;
9701
+ /**
9702
+ * Whether a requested branch diff fell back to unstaged changes because branch diff failed.
9703
+ */
9704
+ isFallback: boolean;
9705
+ }
9038
9706
  /**
9039
9707
  * Schema for the `WorkspacesCheckpoints` type.
9040
9708
  *
@@ -9073,6 +9741,16 @@ export interface WorkspacesCreateFileRequest {
9073
9741
  */
9074
9742
  content: string;
9075
9743
  }
9744
+ /**
9745
+ * Parameters for computing a workspace diff.
9746
+ *
9747
+ * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9748
+ * via the `definition` "WorkspacesDiffRequest".
9749
+ */
9750
+ /** @experimental */
9751
+ export interface WorkspacesDiffRequest {
9752
+ mode: WorkspaceDiffMode;
9753
+ }
9076
9754
  /**
9077
9755
  * Current workspace metadata for the session, including its absolute filesystem path when available.
9078
9756
  *
@@ -9092,6 +9770,7 @@ export interface WorkspacesGetWorkspaceResult {
9092
9770
  host_type?: WorkspacesWorkspaceDetailsHostType;
9093
9771
  branch?: string;
9094
9772
  name?: string;
9773
+ client_name?: string;
9095
9774
  user_named?: boolean;
9096
9775
  summary_count?: number;
9097
9776
  created_at?: string;
@@ -9240,6 +9919,7 @@ export interface SessionMcpAppsCallToolResult {
9240
9919
  * This interface was referenced by `_RpcSchemaRoot`'s JSON-Schema
9241
9920
  * via the `definition` "SessionFsSqliteExistsRequest".
9242
9921
  */
9922
+ /** @experimental */
9243
9923
  export interface SessionFsSqliteExistsRequest {
9244
9924
  /**
9245
9925
  * Target session identifier
@@ -9393,7 +10073,7 @@ export declare function createServerRpc(connection: MessageConnection): {
9393
10073
  /**
9394
10074
  * Lists persisted sessions, optionally filtered by working-directory context.
9395
10075
  *
9396
- * @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.
9397
10077
  *
9398
10078
  * @returns Persisted sessions matching the filter, ordered most-recently-modified first.
9399
10079
  */
@@ -9497,7 +10177,7 @@ export declare function createServerRpc(connection: MessageConnection): {
9497
10177
  *
9498
10178
  * @param params Session metadata records to enrich with summary and context information.
9499
10179
  *
9500
- * @returns The same metadata records, with summary and context fields backfilled where available.
10180
+ * @returns The enriched metadata records, with summary and context fields backfilled where available. Sessions confirmed empty and unnamed are omitted.
9501
10181
  */
9502
10182
  enrichMetadata: (params: SessionsEnrichMetadataRequest) => Promise<SessionEnrichMetadataResult>;
9503
10183
  /**
@@ -9525,6 +10205,17 @@ export declare function createServerRpc(connection: MessageConnection): {
9525
10205
  */
9526
10206
  setAdditionalPlugins: (params: SessionsSetAdditionalPluginsRequest) => Promise<SessionsSetAdditionalPluginsResult>;
9527
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
+ };
9528
10219
  };
9529
10220
  /** Create typed session-scoped RPC methods. */
9530
10221
  export declare function createSessionRpc(connection: MessageConnection, sessionId: string): {
@@ -9748,6 +10439,14 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
9748
10439
  * @returns Descriptor for the saved paste file, or null when the workspace is unavailable.
9749
10440
  */
9750
10441
  saveLargePaste: (params: WorkspacesSaveLargePasteRequest) => Promise<WorkspacesSaveLargePasteResult>;
10442
+ /**
10443
+ * Computes a diff for the session workspace.
10444
+ *
10445
+ * @param params Parameters for computing a workspace diff.
10446
+ *
10447
+ * @returns Workspace diff result for the requested mode.
10448
+ */
10449
+ diff: (params: WorkspacesDiffRequest) => Promise<WorkspaceDiffResult>;
9751
10450
  };
9752
10451
  /** @experimental */
9753
10452
  instructions: {
@@ -10261,6 +10960,20 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
10261
10960
  * @returns Indicates whether the operation succeeded.
10262
10961
  */
10263
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>;
10264
10977
  /**
10265
10978
  * Adds or removes session-scoped or location-scoped permission rules.
10266
10979
  *
@@ -10606,6 +11319,7 @@ export declare function createSessionRpc(connection: MessageConnection, sessionI
10606
11319
  };
10607
11320
  };
10608
11321
  /** Handler for `sessionFs` client session API methods. */
11322
+ /** @experimental */
10609
11323
  export interface SessionFsHandler {
10610
11324
  /**
10611
11325
  * Reads a file from the client-provided session filesystem.
@@ -10704,9 +11418,36 @@ export interface SessionFsHandler {
10704
11418
  */
10705
11419
  sqliteExists(params: SessionFsSqliteExistsRequest): Promise<SessionFsSqliteExistsResult>;
10706
11420
  }
11421
+ /** Handler for `canvas` client session API methods. */
11422
+ /** @experimental */
11423
+ export interface CanvasHandler {
11424
+ /**
11425
+ * Opens a canvas instance on the provider.
11426
+ *
11427
+ * @param params Canvas open parameters sent to the provider.
11428
+ *
11429
+ * @returns Canvas open result returned by the provider.
11430
+ */
11431
+ open(params: CanvasProviderOpenRequest): Promise<CanvasProviderOpenResult>;
11432
+ /**
11433
+ * Closes a canvas instance on the provider.
11434
+ *
11435
+ * @param params Canvas close parameters sent to the provider.
11436
+ */
11437
+ close(params: CanvasProviderCloseRequest): Promise<void>;
11438
+ /**
11439
+ * Invokes an action on an open canvas instance via the provider.
11440
+ *
11441
+ * @param params Canvas action invocation parameters sent to the provider.
11442
+ *
11443
+ * @returns Provider-supplied action result.
11444
+ */
11445
+ invokeAction(params: CanvasProviderInvokeActionRequest): Promise<CanvasInvokeActionResult>;
11446
+ }
10707
11447
  /** All client session API handler groups. */
10708
11448
  export interface ClientSessionApiHandlers {
10709
11449
  sessionFs?: SessionFsHandler;
11450
+ canvas?: CanvasHandler;
10710
11451
  }
10711
11452
  /**
10712
11453
  * Register client session API handlers on a JSON-RPC connection.