@qwen-code/web-shell 0.26.3 → 0.26.4-nightly.20261029.70be140e14

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.
Files changed (57) hide show
  1. package/README.md +72 -8
  2. package/dist/{PierreFilePreview-DIwIw4WT.js → PierreFilePreview-CfV0XRoK.js} +1 -1
  3. package/dist/{SpreadsheetPreview-DpgY3sMC.js → SpreadsheetPreview-Bs2-wOb1.js} +2 -2
  4. package/dist/{WorkspaceFileBrowser-C9RP8zV1.js → WorkspaceFileBrowser-B-0Ycb2D.js} +2 -2
  5. package/dist/agents-route-DK8lW-Vp.js +1552 -0
  6. package/dist/daemon-react-sdk.js +1 -1
  7. package/dist/{index-CMk2DxLJ.js → index-Bc6NSs-5.js} +58573 -57907
  8. package/dist/index.js +3 -3
  9. package/dist/sw.js +1 -1
  10. package/dist/transcript.js +10479 -10227
  11. package/dist/types/App.d.ts +7 -5
  12. package/dist/types/components/ChatEditor.d.ts +2 -0
  13. package/dist/types/components/DaemonConnectionBanner.d.ts +1 -0
  14. package/dist/types/components/SessionOverviewPanel.d.ts +6 -3
  15. package/dist/types/components/WebShellTranscript.d.ts +1 -1
  16. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +7 -3
  17. package/dist/types/components/dialogs/DialogShell.d.ts +5 -2
  18. package/dist/types/components/local-control-api.d.ts +2 -1
  19. package/dist/types/components/managed/ManagedSessionWorktrees.d.ts +12 -0
  20. package/dist/types/components/managed/ManagedWorktreePopover.d.ts +9 -0
  21. package/dist/types/components/managed/generated/managed-agent-api.d.ts +344 -12
  22. package/dist/types/components/managed/java-managed-agent-client.d.ts +9 -9
  23. package/dist/types/components/managed/managed-agent-provider.d.ts +43 -10
  24. package/dist/types/components/managed/managed-session-export.d.ts +1 -0
  25. package/dist/types/components/managed/managed-session-messages.d.ts +1 -1
  26. package/dist/types/components/managed/managed-worktree-messages.d.ts +41 -0
  27. package/dist/types/components/managed/use-managed-file-upload.d.ts +3 -5
  28. package/dist/types/components/messages/McpApp.d.ts +4 -0
  29. package/dist/types/components/messages/tools/DiffView.d.ts +6 -0
  30. package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +3 -2
  31. package/dist/types/components/sidebar/WebShellSidebar.d.ts +2 -2
  32. package/dist/types/components/ui/alert.d.ts +1 -1
  33. package/dist/types/components/ui/badge.d.ts +1 -1
  34. package/dist/types/components/ui/button.d.ts +2 -2
  35. package/dist/types/components/workspace-agents/agent-events.d.ts +1 -1
  36. package/dist/types/components/workspace-agents/session-agents-api.d.ts +2 -1
  37. package/dist/types/components/workspace-agents/threads-api.d.ts +2 -1
  38. package/dist/types/components/workspace-agents/useAgentChatEntry.d.ts +3 -1
  39. package/dist/types/customization.d.ts +4 -0
  40. package/dist/types/daemon/availability-context.d.ts +4 -0
  41. package/dist/types/daemon/availability.d.ts +43 -0
  42. package/dist/types/daemon/availability.test-fixtures.d.ts +12 -0
  43. package/dist/types/daemon/rest-request.d.ts +8 -0
  44. package/dist/types/desktop-relay/desktop-relay-client.d.ts +1 -1
  45. package/dist/types/hooks/useMcpAppMessages.d.ts +16 -1
  46. package/dist/types/i18n.d.ts +1 -1
  47. package/dist/types/index.d.ts +1 -1
  48. package/dist/types/live/useLiveVoiceSetup.d.ts +1 -1
  49. package/dist/types/local-files/bridge-client.d.ts +5 -0
  50. package/dist/types/mcp-app/messages.d.ts +4 -2
  51. package/dist/types/mcpAppHostContext.d.ts +44 -3
  52. package/dist/types/session-catalog/session-catalog-store.d.ts +2 -0
  53. package/dist/types/utils/composerTasks.d.ts +7 -0
  54. package/dist/types/utils/planMode.d.ts +1 -1
  55. package/dist/{useDaemonMidTurnInjected-Du9Zxaez.js → useDaemonMidTurnInjected-CioAIlrV.js} +8269 -6897
  56. package/package.json +1 -1
  57. package/dist/agents-route-DiTEqdRj.js +0 -1546
@@ -57,7 +57,7 @@ export interface paths {
57
57
  };
58
58
  get?: never;
59
59
  put?: never;
60
- /** @description Without a cursor, a Session that has a Snapshot returns all of its Items, the events up to the Snapshot other than turn.accepted, item.output_text.delta, item.reasoning.delta, item.tool_call.updated and item.tool_result.updated, which the Items already hold, and every event after it. Otherwise, and for an olderCursor, limit bounds the page of events. */
60
+ /** @description Default view: Without a cursor, a Session that has a Snapshot returns all of its Items, the events up to the Snapshot other than turn.accepted, item.output_text.delta, item.reasoning.delta, item.tool_call.updated and item.tool_result.updated, which the Items already hold, and every event after it. Otherwise, and for an olderCursor, limit bounds the page of events. Explicit view=messages instead returns at most100 current ma_message Items using tenant/Session keyset pagination, independent of published snapshots. Bodies are live per page. coveredSequence and lastSequence are the projection sequence included by this read, so the client resumes SSE there and does not skip an unprojected tail. Only bounded lifecycle events for the selected Turns accompany the Items. An older cursor pins direction, scope, sequence membership and projection generation;409 message_projection_changed requires reloading history. */
61
61
  post: operations["webShellTranscript"];
62
62
  delete?: never;
63
63
  options?: never;
@@ -804,7 +804,7 @@ export interface paths {
804
804
  put?: never;
805
805
  /**
806
806
  * Read one immutable public Session snapshot page for reading exports
807
- * @description Requires current Session read authorization on every page. Reuses the public item snapshot cursor, whose subsequent pages retain the original snapshot version and watermark. No private journal, Runtime or storage credentials are returned. The client waits for a snapshot covering its captured Session watermark before using its first page.
807
+ * @description Default view: Requires current Session read authorization on every page. Reuses the public item snapshot cursor, whose subsequent pages retain the original snapshot version and watermark. No private journal, Runtime or storage credentials are returned. The client waits for a snapshot covering its captured Session watermark before using its first page. Explicit view=messages instead reads live message-table pages forward. The first read captures a finite membership bound; later body/status changes are allowed and no persistent snapshot is created or selected. snapshotThroughSequence then names that membership bound, not frozen content. If the initial message projection lags committed events,503 message_projection_pending asks the caller to retry instead of returning incomplete history. Projection-generation changes invalidate the cursor.
808
808
  */
809
809
  post: operations["webShellExportSession"];
810
810
  delete?: never;
@@ -1057,6 +1057,94 @@ export interface paths {
1057
1057
  patch?: never;
1058
1058
  trace?: never;
1059
1059
  };
1060
+ "/api/agent/web-shell/v1/workspaces/worktrees/options": {
1061
+ parameters: {
1062
+ query?: never;
1063
+ header?: never;
1064
+ path?: never;
1065
+ cookie?: never;
1066
+ };
1067
+ get?: never;
1068
+ put?: never;
1069
+ /** Options a main Session worktree */
1070
+ post: operations["webShellSessionWorktreeOptions"];
1071
+ delete?: never;
1072
+ options?: never;
1073
+ head?: never;
1074
+ patch?: never;
1075
+ trace?: never;
1076
+ };
1077
+ "/api/agent/web-shell/v1/workspaces/worktrees/query": {
1078
+ parameters: {
1079
+ query?: never;
1080
+ header?: never;
1081
+ path?: never;
1082
+ cookie?: never;
1083
+ };
1084
+ get?: never;
1085
+ put?: never;
1086
+ /** Query a main Session worktree */
1087
+ post: operations["webShellSessionWorktreeQuery"];
1088
+ delete?: never;
1089
+ options?: never;
1090
+ head?: never;
1091
+ patch?: never;
1092
+ trace?: never;
1093
+ };
1094
+ "/api/agent/web-shell/v1/workspaces/worktrees/inspect": {
1095
+ parameters: {
1096
+ query?: never;
1097
+ header?: never;
1098
+ path?: never;
1099
+ cookie?: never;
1100
+ };
1101
+ get?: never;
1102
+ put?: never;
1103
+ /** Inspect a main Session worktree */
1104
+ post: operations["webShellSessionWorktreeInspect"];
1105
+ delete?: never;
1106
+ options?: never;
1107
+ head?: never;
1108
+ patch?: never;
1109
+ trace?: never;
1110
+ };
1111
+ "/api/agent/web-shell/v1/workspaces/worktrees/cleanup": {
1112
+ parameters: {
1113
+ query?: never;
1114
+ header?: never;
1115
+ path?: never;
1116
+ cookie?: never;
1117
+ };
1118
+ get?: never;
1119
+ put?: never;
1120
+ /** Cleanup a main Session worktree */
1121
+ post: operations["webShellSessionWorktreeCleanup"];
1122
+ delete?: never;
1123
+ options?: never;
1124
+ head?: never;
1125
+ patch?: never;
1126
+ trace?: never;
1127
+ };
1128
+ "/api/agent/web-shell/v1/transcript/items/query": {
1129
+ parameters: {
1130
+ query?: never;
1131
+ header?: never;
1132
+ path?: never;
1133
+ cookie?: never;
1134
+ };
1135
+ get?: never;
1136
+ put?: never;
1137
+ /**
1138
+ * Read recent published Session items and page toward older items
1139
+ * @description Default view: Requires current Session read authorization on every page. The first page returns at most limit Items from the newest published snapshot, in chronological order. nextCursor pages toward older Items in that same signed, retained snapshot. snapshotThroughSequence identifies its coverage, which may lag the current Session head; an empty page with zero coverage does not certify an empty Session because no published snapshot may be available. This page does not contain live tail events or current approval/task state; use the existing transcript, event and state APIs for those. A newer snapshot does not change an existing cursor. Forward export cursors cannot be used here and backward cursors cannot be used for exports. No journal replay, writer acquisition or local cache is involved. Explicit view=messages instead reads current message-table Items backward without any published snapshot, using the same scoped keyset and projection-generation rules as messages-view transcript reads. snapshotThroughSequence then names the initial sequence membership bound; bodies can change between pages. This mode does not return lifecycle events or claim fixed snapshot content.
1140
+ */
1141
+ post: operations["webShellRecentTranscriptItems"];
1142
+ delete?: never;
1143
+ options?: never;
1144
+ head?: never;
1145
+ patch?: never;
1146
+ trace?: never;
1147
+ };
1060
1148
  }
1061
1149
  export type webhooks = Record<string, never>;
1062
1150
  export interface components {
@@ -1154,6 +1242,11 @@ export interface components {
1154
1242
  cursor?: string | null;
1155
1243
  /** @default 100 */
1156
1244
  limit?: number | null;
1245
+ /**
1246
+ * @description Select direct live message-table pages. Omit to retain the existing snapshot/event view. Message view accepts limit1..100; cursors bind scope, direction, membership range and projection generation, not frozen bodies.
1247
+ * @enum {string|null}
1248
+ */
1249
+ view?: "messages" | null;
1157
1250
  };
1158
1251
  WebShellStreamRequest: {
1159
1252
  /** Format: uuid */
@@ -1188,6 +1281,10 @@ export interface components {
1188
1281
  skills?: components["schemas"]["SessionCreationSkill"][];
1189
1282
  /** @description Optional immutable initial extension selection. Omission keeps the legacy configuration path; an explicit empty array starts the unified configuration format. Included in creation idempotency and applied before the first model request. Requires session-extension-packages/1 and an extension-capable original Runtime. */
1190
1283
  extensionPins?: components["schemas"]["ManagedExtensionPackagePin"][];
1284
+ /** @description Opt into a main Session worktree on supported LOCAL storage. Omission uses the current directory; an empty object freezes HEAD at first admission. Requires an explicit Workspace. Preparation is durable and gates Runtime execution; replay preserves the original commit, directory and branch. */
1285
+ worktree?: {
1286
+ baseRef?: string;
1287
+ };
1191
1288
  };
1192
1289
  WebShellSubmitRequest: {
1193
1290
  /** @description Trace correlation only. */
@@ -1290,6 +1387,7 @@ export interface components {
1290
1387
  /** @description Current unsettled lifecycle operation, queried in batch under Session read authorization. A failed close/delete may leave the Session closing/deleting; only explicit retry starts a new operation. Settled Sessions omit this projection. */
1291
1388
  lifecycleOperation?: components["schemas"]["WebShellLifecycleOperation"];
1292
1389
  recovery?: components["schemas"]["SessionRecovery"];
1390
+ worktree?: components["schemas"]["WebShellSessionWorktree"] | null;
1293
1391
  };
1294
1392
  WebShellSessionCapabilities: {
1295
1393
  /**
@@ -2096,18 +2194,22 @@ export interface components {
2096
2194
  skills: components["schemas"]["WebShellSkill"][];
2097
2195
  };
2098
2196
  WebShellWorkspaceFileQueryRequest: {
2099
- workspaceId: string;
2100
- cwdRelative: string;
2197
+ workspaceId?: string;
2198
+ cwdRelative?: string;
2101
2199
  directory: string;
2102
2200
  query?: string;
2103
2201
  expectedScopeRevision?: string;
2104
- };
2202
+ /** Format: uuid */
2203
+ sessionId?: string;
2204
+ } & (unknown | unknown);
2105
2205
  WebShellWorkspaceFileReadRequest: {
2106
- workspaceId: string;
2107
- cwdRelative: string;
2206
+ workspaceId?: string;
2207
+ cwdRelative?: string;
2108
2208
  path: string;
2109
2209
  expectedScopeRevision: string;
2110
- };
2210
+ /** Format: uuid */
2211
+ sessionId?: string;
2212
+ } & (unknown | unknown);
2111
2213
  WebShellWorkspaceFileEntry: {
2112
2214
  path: string;
2113
2215
  name: string;
@@ -2308,7 +2410,10 @@ export interface components {
2308
2410
  items: components["schemas"]["WebShellItem"][];
2309
2411
  nextCursor?: string | null;
2310
2412
  hasMore: boolean;
2311
- /** Format: int64 */
2413
+ /**
2414
+ * Format: int64
2415
+ * @description In explicit messages view, this is the fixed sequence membership upper bound; row bodies are live, not frozen snapshot content.
2416
+ */
2312
2417
  snapshotThroughSequence: number;
2313
2418
  };
2314
2419
  WebShellExportRequest: {
@@ -2317,6 +2422,11 @@ export interface components {
2317
2422
  cursor?: string | null;
2318
2423
  /** @default 100 */
2319
2424
  limit?: number | null;
2425
+ /**
2426
+ * @description Select direct live message-table pages. Omit to retain the existing snapshot/event view. Message view accepts limit1..100; cursors bind scope, direction, membership range and projection generation, not frozen bodies.
2427
+ * @enum {string|null}
2428
+ */
2429
+ view?: "messages" | null;
2320
2430
  };
2321
2431
  /** @description Durable Turn input or cancellation admission. The operation identifies the saved command and remains stable across idempotent retries. */
2322
2432
  WebShellTurnAdmission: {
@@ -2522,6 +2632,52 @@ export interface components {
2522
2632
  /** Format: uuid */
2523
2633
  uploadId: string;
2524
2634
  };
2635
+ WebShellSessionWorktree: {
2636
+ id: string;
2637
+ sessionId: string;
2638
+ workspaceId: string;
2639
+ branch: string;
2640
+ baseCommit: string;
2641
+ cwdRelative: string;
2642
+ operationId: string;
2643
+ /** @enum {string} */
2644
+ state: "preparing" | "ready" | "failed" | "blocked" | "removing" | "removed";
2645
+ revision: number;
2646
+ errorCode?: string | null;
2647
+ };
2648
+ WebShellSessionWorktreeOptions: {
2649
+ supported: boolean;
2650
+ reason?: string | null;
2651
+ baseCommit?: string | null;
2652
+ /** @description Source checkout branch independent of base ref; HEAD when detached, null when unavailable. */
2653
+ currentBranch?: string | null;
2654
+ branches: string[];
2655
+ };
2656
+ WebShellSessionWorktreePage: {
2657
+ data: components["schemas"]["WebShellSessionWorktree"][];
2658
+ };
2659
+ WebShellSessionWorktreeInspection: {
2660
+ worktree: components["schemas"]["WebShellSessionWorktree"];
2661
+ canCleanup: boolean;
2662
+ cleanupBlocker?: string | null;
2663
+ };
2664
+ WebShellSessionWorktreeOptionsRequest: {
2665
+ workspaceId: string;
2666
+ cwdRelative: string;
2667
+ baseRef?: string;
2668
+ };
2669
+ WebShellSessionWorktreeQueryRequest: {
2670
+ workspaceId: string;
2671
+ };
2672
+ WebShellSessionWorktreeInspectRequest: {
2673
+ workspaceId: string;
2674
+ worktreeId: string;
2675
+ };
2676
+ WebShellSessionWorktreeCleanupRequest: {
2677
+ workspaceId: string;
2678
+ worktreeId: string;
2679
+ idempotencyKey: string;
2680
+ };
2525
2681
  };
2526
2682
  responses: {
2527
2683
  /** @description The authenticated actor belongs to another tenant than X-Qwen-Tenant-Id or has an invalid ID (actor_scope_mismatch, which the tenant filter answers on every /v1/agents/ and WebShell route), or the resource is readable but the actor lacks this operation or the original Action responder permission. Artifact content reads may also return artifact_content_forbidden when the actor cannot read the original bytes. */
@@ -2736,7 +2892,17 @@ export interface operations {
2736
2892
  401: components["responses"]["Unauthorized"];
2737
2893
  403: components["responses"]["Forbidden"];
2738
2894
  404: components["responses"]["NotFound"];
2895
+ 409: components["responses"]["Conflict"];
2739
2896
  413: components["responses"]["PayloadTooLarge"];
2897
+ /** @description Message projection is not ready for a complete stream handoff; retry the read. */
2898
+ 503: {
2899
+ headers: {
2900
+ [name: string]: unknown;
2901
+ };
2902
+ content: {
2903
+ "application/json": components["schemas"]["ErrorEnvelope"];
2904
+ };
2905
+ };
2740
2906
  };
2741
2907
  };
2742
2908
  webShellStreamEvents: {
@@ -4218,7 +4384,7 @@ export interface operations {
4218
4384
  };
4219
4385
  };
4220
4386
  responses: {
4221
- /** @description Immutable public item snapshot page. */
4387
+ /** @description Chronological Item page: published snapshot by default, or live messages when explicitly selected. */
4222
4388
  200: {
4223
4389
  headers: {
4224
4390
  [name: string]: unknown;
@@ -4233,6 +4399,15 @@ export interface operations {
4233
4399
  404: components["responses"]["NotFound"];
4234
4400
  409: components["responses"]["CursorExpired"];
4235
4401
  413: components["responses"]["PayloadTooLarge"];
4402
+ /** @description Message projection has not caught up; retry the export. */
4403
+ 503: {
4404
+ headers: {
4405
+ [name: string]: unknown;
4406
+ };
4407
+ content: {
4408
+ "application/json": components["schemas"]["ErrorEnvelope"];
4409
+ };
4410
+ };
4236
4411
  };
4237
4412
  };
4238
4413
  webShellQueryUserMessages: {
@@ -4643,11 +4818,13 @@ export interface operations {
4643
4818
  webShellWorkspaceFilesUpload: {
4644
4819
  parameters: {
4645
4820
  query: {
4646
- workspaceId: string;
4647
- cwdRelative: string;
4821
+ workspaceId?: string;
4822
+ cwdRelative?: string;
4648
4823
  path: string;
4649
4824
  expectedScopeRevision: string;
4650
4825
  uploadId: string;
4826
+ /** @description Exactly one locator: Session ID, or Workspace ID plus cwdRelative. */
4827
+ sessionId?: string;
4651
4828
  };
4652
4829
  header?: never;
4653
4830
  path?: never;
@@ -4724,4 +4901,159 @@ export interface operations {
4724
4901
  503: components["responses"]["Unavailable"];
4725
4902
  };
4726
4903
  };
4904
+ webShellSessionWorktreeOptions: {
4905
+ parameters: {
4906
+ query?: never;
4907
+ header?: never;
4908
+ path?: never;
4909
+ cookie?: never;
4910
+ };
4911
+ requestBody: {
4912
+ content: {
4913
+ "application/json": components["schemas"]["WebShellSessionWorktreeOptionsRequest"];
4914
+ };
4915
+ };
4916
+ responses: {
4917
+ /** @description Session worktree result. */
4918
+ 200: {
4919
+ headers: {
4920
+ [name: string]: unknown;
4921
+ };
4922
+ content: {
4923
+ "application/json": components["schemas"]["WebShellSessionWorktreeOptions"];
4924
+ };
4925
+ };
4926
+ 400: components["responses"]["BadRequest"];
4927
+ 401: components["responses"]["Unauthorized"];
4928
+ 403: components["responses"]["Forbidden"];
4929
+ 404: components["responses"]["NotFound"];
4930
+ 409: components["responses"]["Conflict"];
4931
+ };
4932
+ };
4933
+ webShellSessionWorktreeQuery: {
4934
+ parameters: {
4935
+ query?: never;
4936
+ header?: never;
4937
+ path?: never;
4938
+ cookie?: never;
4939
+ };
4940
+ requestBody: {
4941
+ content: {
4942
+ "application/json": components["schemas"]["WebShellSessionWorktreeQueryRequest"];
4943
+ };
4944
+ };
4945
+ responses: {
4946
+ /** @description Session worktree result. */
4947
+ 200: {
4948
+ headers: {
4949
+ [name: string]: unknown;
4950
+ };
4951
+ content: {
4952
+ "application/json": components["schemas"]["WebShellSessionWorktreePage"];
4953
+ };
4954
+ };
4955
+ 400: components["responses"]["BadRequest"];
4956
+ 401: components["responses"]["Unauthorized"];
4957
+ 403: components["responses"]["Forbidden"];
4958
+ 404: components["responses"]["NotFound"];
4959
+ 409: components["responses"]["Conflict"];
4960
+ };
4961
+ };
4962
+ webShellSessionWorktreeInspect: {
4963
+ parameters: {
4964
+ query?: never;
4965
+ header?: never;
4966
+ path?: never;
4967
+ cookie?: never;
4968
+ };
4969
+ requestBody: {
4970
+ content: {
4971
+ "application/json": components["schemas"]["WebShellSessionWorktreeInspectRequest"];
4972
+ };
4973
+ };
4974
+ responses: {
4975
+ /** @description Session worktree result. */
4976
+ 200: {
4977
+ headers: {
4978
+ [name: string]: unknown;
4979
+ };
4980
+ content: {
4981
+ "application/json": components["schemas"]["WebShellSessionWorktreeInspection"];
4982
+ };
4983
+ };
4984
+ 400: components["responses"]["BadRequest"];
4985
+ 401: components["responses"]["Unauthorized"];
4986
+ 403: components["responses"]["Forbidden"];
4987
+ 404: components["responses"]["NotFound"];
4988
+ 409: components["responses"]["Conflict"];
4989
+ };
4990
+ };
4991
+ webShellSessionWorktreeCleanup: {
4992
+ parameters: {
4993
+ query?: never;
4994
+ header?: never;
4995
+ path?: never;
4996
+ cookie?: never;
4997
+ };
4998
+ requestBody: {
4999
+ content: {
5000
+ "application/json": components["schemas"]["WebShellSessionWorktreeCleanupRequest"];
5001
+ };
5002
+ };
5003
+ responses: {
5004
+ /** @description Session worktree result. */
5005
+ 202: {
5006
+ headers: {
5007
+ [name: string]: unknown;
5008
+ };
5009
+ content: {
5010
+ "application/json": components["schemas"]["WebShellSessionWorktree"];
5011
+ };
5012
+ };
5013
+ 400: components["responses"]["BadRequest"];
5014
+ 401: components["responses"]["Unauthorized"];
5015
+ 403: components["responses"]["Forbidden"];
5016
+ 404: components["responses"]["NotFound"];
5017
+ 409: components["responses"]["Conflict"];
5018
+ };
5019
+ };
5020
+ webShellRecentTranscriptItems: {
5021
+ parameters: {
5022
+ query?: never;
5023
+ header?: never;
5024
+ path?: never;
5025
+ cookie?: never;
5026
+ };
5027
+ requestBody: {
5028
+ content: {
5029
+ "application/json": components["schemas"]["WebShellExportRequest"];
5030
+ };
5031
+ };
5032
+ responses: {
5033
+ /** @description Bounded recent published Item page. Items are chronological within each page. */
5034
+ 200: {
5035
+ headers: {
5036
+ [name: string]: unknown;
5037
+ };
5038
+ content: {
5039
+ "application/json": components["schemas"]["WebShellExportPage"];
5040
+ };
5041
+ };
5042
+ 400: components["responses"]["BadRequest"];
5043
+ 401: components["responses"]["Unauthorized"];
5044
+ 403: components["responses"]["Forbidden"];
5045
+ 404: components["responses"]["NotFound"];
5046
+ 409: components["responses"]["CursorExpired"];
5047
+ 413: components["responses"]["PayloadTooLarge"];
5048
+ /** @description Message projection is not ready for a complete stream handoff; retry the read. */
5049
+ 503: {
5050
+ headers: {
5051
+ [name: string]: unknown;
5052
+ };
5053
+ content: {
5054
+ "application/json": components["schemas"]["ErrorEnvelope"];
5055
+ };
5056
+ };
5057
+ };
5058
+ };
4727
5059
  }
@@ -1,5 +1,6 @@
1
1
  import type { ManagedExtensionManifest, ManagedExtensionPin, ManagedExtensionPackageOperation, ManagedExtensionSelection } from './managed-extension-types';
2
2
  import type { components } from './generated/managed-agent-api';
3
+ import type { ManagedWorkspaceFileQueryRequest, ManagedWorkspaceFileReadRequest, ManagedWorkspaceFileUploadRequest } from './managed-agent-provider';
3
4
  import type { ManagedArtifact } from './managed-tool-result-types';
4
5
  type Schemas = components['schemas'];
5
6
  export type JavaAgentTurn = Schemas['WebShellTurn'];
@@ -98,15 +99,9 @@ export declare class JavaManagedAgentClient {
98
99
  replayed: boolean;
99
100
  }>;
100
101
  createWorkspace(request: Schemas['WebShellWorkspaceCreateRequest'], signal?: AbortSignal): Promise<JavaAgentWorkspace>;
101
- queryWorkspaceFiles(request: Schemas['WebShellWorkspaceFileQueryRequest'], signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFilePage']>;
102
- readWorkspaceFile(request: Schemas['WebShellWorkspaceFileReadRequest'], signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFileSnapshot']>;
103
- uploadWorkspaceFile(request: {
104
- workspaceId: string;
105
- cwdRelative: string;
106
- path: string;
107
- expectedScopeRevision: string;
108
- uploadId: string;
109
- }, data: Blob, signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFileUploadResult']>;
102
+ queryWorkspaceFiles(request: ManagedWorkspaceFileQueryRequest, signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFilePage']>;
103
+ readWorkspaceFile(request: ManagedWorkspaceFileReadRequest, signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFileSnapshot']>;
104
+ uploadWorkspaceFile(request: ManagedWorkspaceFileUploadRequest, data: Blob, signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFileUploadResult']>;
110
105
  queryWorkspaceFileUpload(uploadId: string, signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceFileUploadStatus']>;
111
106
  workspaceDirectories(request: Schemas['WebShellWorkspaceDirectoryQueryRequest'], signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceDirectoryPage']>;
112
107
  getSessionApproval(sessionId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionApproval']>;
@@ -133,7 +128,12 @@ export declare class JavaManagedAgentClient {
133
128
  snapshotThroughSequence: number;
134
129
  }>;
135
130
  getTranscript(request: Schemas['WebShellTranscriptRequest'], signal?: AbortSignal): Promise<JavaAgentTranscript>;
131
+ getRecentTranscriptItems(request: Schemas['WebShellExportRequest'], signal?: AbortSignal): Promise<Schemas['WebShellExportPage']>;
136
132
  createSession(request: Schemas['WebShellCreateRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
133
+ worktreeOptions(request: Schemas['WebShellSessionWorktreeOptionsRequest'], signal?: AbortSignal): Promise<Schemas['WebShellSessionWorktreeOptions']>;
134
+ listSessionWorktrees(workspaceId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionWorktreePage']>;
135
+ inspectSessionWorktree(workspaceId: string, worktreeId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionWorktreeInspection']>;
136
+ cleanupSessionWorktree(request: Schemas['WebShellSessionWorktreeCleanupRequest'], signal?: AbortSignal): Promise<Schemas['WebShellSessionWorktree']>;
137
137
  submitTurn(request: Schemas['WebShellSubmitRequest'], signal?: AbortSignal): Promise<JavaAgentTurnAdmission>;
138
138
  cancelTurn(request: Schemas['WebShellCancelRequest'], signal?: AbortSignal): Promise<JavaAgentTurnAdmission>;
139
139
  queryActions(request: Schemas['WebShellActionQueryRequest'], signal?: AbortSignal): Promise<JavaAgentActionPage>;
@@ -14,6 +14,22 @@ export type ManagedApprovalMode = 'default' | 'auto-edit' | 'auto' | 'yolo';
14
14
  export type ManagedInputBlock = components['schemas']['InputBlock'];
15
15
  export type ManagedSessionSkills = components['schemas']['WebShellSessionSkills'];
16
16
  export type ManagedSessionMcp = components['schemas']['PublicMcpCatalog'];
17
+ export type ManagedWorkspaceFileLocator = {
18
+ sessionId: string;
19
+ workspaceId?: never;
20
+ cwdRelative?: never;
21
+ } | {
22
+ sessionId?: never;
23
+ workspaceId: string;
24
+ cwdRelative: string;
25
+ };
26
+ export type ManagedWorkspaceFileQueryRequest = ManagedWorkspaceFileLocator & Omit<components['schemas']['WebShellWorkspaceFileQueryRequest'], 'sessionId' | 'workspaceId' | 'cwdRelative'>;
27
+ export type ManagedWorkspaceFileReadRequest = ManagedWorkspaceFileLocator & Omit<components['schemas']['WebShellWorkspaceFileReadRequest'], 'sessionId' | 'workspaceId' | 'cwdRelative'>;
28
+ export type ManagedWorkspaceFileUploadRequest = ManagedWorkspaceFileLocator & {
29
+ path: string;
30
+ expectedScopeRevision: string;
31
+ uploadId: string;
32
+ };
17
33
  export declare function isManagedApprovalMode(value: unknown): value is ManagedApprovalMode;
18
34
  export declare function isManagedInitialApprovalMode(value: unknown): value is Exclude<ManagedApprovalMode, 'auto'>;
19
35
  export declare function managedPermissionRulesEqual(left: ManagedPermissionRules | undefined, right: ManagedPermissionRules | undefined): boolean;
@@ -77,9 +93,12 @@ export type ManagedLifecycleAction = ManagedLifecycleKind | 'unarchive' | 'close
77
93
  export type ManagedLifecycleOperation = components['schemas']['WebShellCommandOperation'];
78
94
  export type ManagedExportPage = components['schemas']['WebShellExportPage'];
79
95
  export type ManagedExportItem = components['schemas']['WebShellItem'];
96
+ export type ManagedSessionWorktree = components['schemas']['WebShellSessionWorktree'];
97
+ export type ManagedSessionWorktreeOptions = components['schemas']['WebShellSessionWorktreeOptions'];
80
98
  export interface ManagedAgentSessionSummary {
81
99
  sessionId: string;
82
100
  agentId?: string;
101
+ worktree?: ManagedSessionWorktree | null;
83
102
  approvalMode?: ManagedApprovalMode;
84
103
  initialApprovalMode?: ManagedApprovalMode;
85
104
  approvalRevision?: number;
@@ -140,7 +159,7 @@ export interface ManagedAgentSessionEvent {
140
159
  turnId: string;
141
160
  data?: unknown;
142
161
  /**
143
- * Projected from a durable snapshot item rather than a raw event. The
162
+ * Projected from a materialized Item rather than a raw event. The
144
163
  * server can retract its items (reconciliation), after which these
145
164
  * projections must not survive a resync.
146
165
  */
@@ -150,6 +169,7 @@ export interface ManagedAgentSessionTranscript {
150
169
  events: ManagedAgentSessionEvent[];
151
170
  olderCursor?: string;
152
171
  lastEventId: number;
172
+ history?: 'items';
153
173
  }
154
174
  export interface ManagedAgentTurnAdmission {
155
175
  sessionId: string;
@@ -212,6 +232,7 @@ export interface ManagedAgentProvider {
212
232
  exportSnapshot?(sessionId: string, options: ManagedAgentRequestOptions & {
213
233
  cursor?: string;
214
234
  }): Promise<ManagedExportPage>;
235
+ readonly exportConsistency?: 'live';
215
236
  readonly storageKey: string;
216
237
  readonly canCancel: boolean;
217
238
  /** Present when the provider can filter the complete Session history by title. */
@@ -299,15 +320,9 @@ export interface ManagedAgentProvider {
299
320
  }, options: ManagedAgentCommandOptions): Promise<ManagedModelChangeResult>;
300
321
  };
301
322
  readonly workspaceFiles?: {
302
- query(request: components['schemas']['WebShellWorkspaceFileQueryRequest'], options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFilePage']>;
303
- read(request: components['schemas']['WebShellWorkspaceFileReadRequest'], options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileSnapshot']>;
304
- upload?(request: {
305
- workspaceId: string;
306
- cwdRelative: string;
307
- path: string;
308
- expectedScopeRevision: string;
309
- uploadId: string;
310
- }, data: Blob, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileUploadResult']>;
323
+ query(request: ManagedWorkspaceFileQueryRequest, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFilePage']>;
324
+ read(request: ManagedWorkspaceFileReadRequest, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileSnapshot']>;
325
+ upload?(request: ManagedWorkspaceFileUploadRequest, data: Blob, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileUploadResult']>;
311
326
  queryUpload?(uploadId: string, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileUploadStatus']>;
312
327
  };
313
328
  readonly workspaceBinding?: {
@@ -354,6 +369,9 @@ export interface ManagedAgentProvider {
354
369
  planMode?: boolean;
355
370
  skills?: ManagedSessionSkill[];
356
371
  extensionPins?: ManagedExtensionPin[];
372
+ worktree?: {
373
+ baseRef?: string;
374
+ };
357
375
  }, options: ManagedAgentCommandOptions): Promise<{
358
376
  sessionId: string;
359
377
  }>;
@@ -368,10 +386,25 @@ export interface ManagedAgentProvider {
368
386
  planMode?: boolean;
369
387
  skills?: ManagedSessionSkill[];
370
388
  extensionPins?: ManagedExtensionPin[];
389
+ worktree?: {
390
+ baseRef?: string;
391
+ };
371
392
  }, options: ManagedAgentCommandOptions): Promise<{
372
393
  sessionId: string;
373
394
  }>;
374
395
  };
396
+ readonly sessionWorktrees?: {
397
+ options(request: {
398
+ workspaceId: string;
399
+ cwdRelative: string;
400
+ baseRef?: string;
401
+ }, options: ManagedAgentRequestOptions): Promise<ManagedSessionWorktreeOptions>;
402
+ list(workspaceId: string, options: ManagedAgentRequestOptions): Promise<{
403
+ data: ManagedSessionWorktree[];
404
+ }>;
405
+ inspect(workspaceId: string, worktreeId: string, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellSessionWorktreeInspection']>;
406
+ cleanup(workspaceId: string, worktreeId: string, options: ManagedAgentCommandOptions): Promise<ManagedSessionWorktree>;
407
+ };
375
408
  listSessions(options: ManagedAgentRequestOptions & {
376
409
  archiveState?: 'unarchived' | 'archived' | 'all';
377
410
  titleQuery?: string;
@@ -13,6 +13,7 @@ export interface ManagedReadingExport {
13
13
  session: ManagedAgentSessionSummary;
14
14
  exportedAt: string;
15
15
  snapshotThroughSequence: number;
16
+ consistency?: 'live';
16
17
  blocks: ExportBlock[];
17
18
  }
18
19
  export declare function collectManagedReadingExport(provider: ManagedAgentProvider, clientId: string, sessionId: string, signal: AbortSignal): Promise<ManagedReadingExport>;
@@ -1,5 +1,5 @@
1
1
  import type { Message } from '../../adapters/types';
2
2
  import type { ManagedAgentSessionEvent } from './managed-agent-provider';
3
- export declare function mergeManagedEvents(current: readonly ManagedAgentSessionEvent[], incoming: readonly ManagedAgentSessionEvent[]): ManagedAgentSessionEvent[];
3
+ export declare function mergeManagedEvents(current: readonly ManagedAgentSessionEvent[], incoming: readonly ManagedAgentSessionEvent[], itemPages?: boolean): ManagedAgentSessionEvent[];
4
4
  export declare function managedEventsToMessages(events: readonly ManagedAgentSessionEvent[], truncatedLabel: string): Message[];
5
5
  export declare function createManagedMessageProjector(): (events: readonly ManagedAgentSessionEvent[], truncatedLabel: string) => Message[];