@chatcode/chatcode-cli 3.0.4-rc.1 → 3.0.4-rc.2

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 (123) hide show
  1. package/lib/{command-errors-BkCHTQHj.js → command-errors-CScdshCl.js} +12 -12
  2. package/lib/{command-trees-5HFyC5sI.js → command-trees-Dc17MYfV.js} +2 -2
  3. package/lib/{component-identity-De91VHwW.js → component-identity-DFJD_d-P.js} +3 -3
  4. package/lib/{dist-CsDWUvQ4.js → dist-w_sIm4VD.js} +231 -231
  5. package/lib/{extension-events-CdYCRP0o.js → extension-events-qXmhzmHo.js} +26 -26
  6. package/lib/{frames-DOX-Jgk8.js → frames-B89znn_0.js} +4 -4
  7. package/lib/{host-access-Bk4xps5E.js → host-access-B0CRAwsX.js} +1 -1
  8. package/lib/{keymap-CJ1kvLR2.js → keymap-CIoVICBI.js} +2 -2
  9. package/lib/{plugin-XR7ncbnW.js → plugin-BKQsL2xn.js} +1638 -1363
  10. package/lib/{scenes-CAmWncZD.js → scenes-BRf-zMpF.js} +3 -3
  11. package/lib/{settings-sections-CakcvBv9.js → settings-sections-4gMhveN_.js} +3 -3
  12. package/lib/{statusBarSettings-BPPS_Usm.js → statusBarSettings-CnmdSHkO.js} +3 -3
  13. package/lib/{supports-color-DyChQwlI.js → supports-color-CcW-FGjr.js} +2 -2
  14. package/lib/{themes-OjcUpZzw.js → themes-Ce97Zsri.js} +12 -12
  15. package/lib/tui-compat-command-trees.js +1 -1
  16. package/lib/tui-compat-extensions.js +3 -3
  17. package/lib/tui-compat-plugin-host.js +5 -5
  18. package/lib/tui-compat-scenes.js +1 -1
  19. package/lib/tui-compat-settings-sections.js +1 -1
  20. package/lib/tui-compat-working-activity.js +4 -4
  21. package/lib/tui-compat-workspaces.js +1 -1
  22. package/lib/tui-compat.js +5 -5
  23. package/lib/{workspaces-XY7UdfXp.js → workspaces-1xrm-e3V.js} +2 -2
  24. package/package.json +29 -28
  25. package/runtime/manifest.json +2 -2
  26. package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/index.js +118 -22
  27. package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/types/index.d.ts +20 -3
  28. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/client.js +113 -39
  29. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/index.js +4 -0
  30. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.d.ts +3 -0
  31. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js +1 -0
  32. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/index.js +173 -34
  33. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.host.js +48 -28
  34. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js +24 -19
  35. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.d.ts +9 -1
  36. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.js +36 -6
  37. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/archived-session-gate.js +1 -1
  38. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/catalog.js +4 -1
  39. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/service.d.ts +1 -1
  40. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.d.ts +2 -2
  41. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.js +24 -8
  42. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.d.ts +4 -3
  43. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.js +31 -14
  44. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.d.ts +6 -0
  45. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.js +89 -4
  46. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/remote-events.d.ts +1 -1
  47. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/types.d.ts +18 -1
  48. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/client.js +30 -0
  49. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/index.js +83 -2
  50. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.host.js +104 -11
  51. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.d.ts +5 -1
  52. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.js +78 -11
  53. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.d.ts +14 -1
  54. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.js +17 -0
  55. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.d.ts +15 -0
  56. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.js +12 -0
  57. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.d.ts +13 -1
  58. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.js +44 -2
  59. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.d.ts +13 -1
  60. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.js +22 -0
  61. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/types.d.ts +17 -0
  62. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/client.js +931 -7
  63. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/index.js +57 -19
  64. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/client/index.d.ts +5 -2
  65. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/config.d.ts +12 -0
  66. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/events.d.ts +4 -4
  67. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/index.d.ts +3 -8
  68. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/package.json +6 -2
  69. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +10 -0
  70. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/present-open.d.ts +1 -1
  71. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +8 -4
  72. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
  73. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  74. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +3 -1
  75. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1917 -206
  76. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/ArchivedSessions.d.ts +13 -0
  77. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/contract/slots.d.ts +4 -0
  78. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/locales.d.ts +40 -0
  79. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/recent.d.ts +11 -0
  80. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/RecentList.d.ts +15 -0
  81. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/Rows.d.ts +6 -1
  82. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/session-actions/DeleteSession.d.ts +24 -0
  83. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/stores.d.ts +2 -2
  84. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/tree.d.ts +15 -13
  85. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +3 -1
  86. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/index.js +16 -0
  87. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.host.js +7 -3
  88. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.remote-client.js +6 -2
  89. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/index.js +20 -0
  90. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/types.d.ts +5 -0
  91. package/runtime/node_modules/@deepseek-ai/dsh-cordis-client-runner/lib/client.js +5 -2
  92. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/index.js +4 -0
  93. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.host.js +5 -5
  94. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.remote-client.js +5 -5
  95. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/types/index.js +5 -0
  96. package/runtime/node_modules/@deepseek-ai/dsh-session/lib/types/index.d.ts +21 -0
  97. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/index.js +12 -0
  98. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/types/index.d.ts +15 -0
  99. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/index.js +95 -2
  100. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/types/index.d.ts +3 -1
  101. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/index.js +25 -1
  102. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/types/index.d.ts +1 -0
  103. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +2 -1
  104. package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/index.js +13 -0
  105. package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/types/observation.d.ts +5 -0
  106. package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/lib/index.js +26 -0
  107. package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +2 -1
  108. package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/index.js +5 -1
  109. package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/types/domain.d.ts +2 -2
  110. package/runtime/node_modules/@deepseek-ai/dsh-subagent/lib/types/control.d.ts +1 -1
  111. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/index.js +106 -56
  112. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/config.d.ts +2 -2
  113. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/index.d.ts +2 -1
  114. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/config.d.ts +4 -2
  115. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/tools.d.ts +2 -2
  116. package/runtime/node_modules/@deepseek-ai/dsh-tianti/package.json +2 -0
  117. package/runtime/node_modules/@deepseek-ai/dsh-tool-cordis/lib/types/api-catalog.js +103 -12
  118. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/index.js +215 -4
  119. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/invariant.js +6 -1
  120. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.d.ts +31 -0
  121. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.js +219 -2
  122. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.d.ts +4 -0
  123. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.js +4 -0
@@ -1,6 +1,6 @@
1
1
  import z from "@deepseek-ai/schemastery";
2
2
  import { Remote, RemoteError, TypertRemoteService, remoteErrorOf } from "@deepseek-ai/dsh-typert-protocol";
3
- import { WorkspaceActiveSessionError, WorkspaceArchivedSessionPinError, WorkspaceId, WorkspaceMoveInvalidError, WorkspaceOrderInvalidError, WorkspaceUnknownSessionError, workspaceDomainState, workspaceRecord } from "@deepseek-ai/dsh-workspace";
3
+ import { WorkspaceActiveSessionError, WorkspaceArchivedSessionPinError, WorkspaceId, WorkspaceMoveInvalidError, WorkspaceOrderInvalidError, WorkspaceSessionDeletionError, WorkspaceUnknownSessionError, workspaceDomainState, workspaceRecord } from "@deepseek-ai/dsh-workspace";
4
4
  import { Deque } from "@deepseek-ai/dsh-deque";
5
5
  import { z as z$1 } from "zod";
6
6
  import { DirectoryPickerError } from "@deepseek-ai/dsh-host-directory-picker";
@@ -343,10 +343,38 @@ var WorkspaceCommands = class {
343
343
  * @returns the complete resulting archive set.
344
344
  */
345
345
  async unarchiveSession(request) {
346
- await this.ctx.workspaceRegistry.unarchiveSession(request.sessionId);
346
+ try {
347
+ await this.ctx.workspaceRegistry.unarchiveSession(request.sessionId);
348
+ } catch (error) {
349
+ throw deletionError(error, request.sessionId);
350
+ }
347
351
  return { archivedSessionIds: [...this.ctx.workspaceRegistry.archivedSessionIds] };
348
352
  }
349
353
  /**
354
+ * Preview the Session identities that would be permanently deleted.
355
+ * @param request - archived root to preview.
356
+ * @returns the complete deletion scope for confirmation.
357
+ */
358
+ async sessionDeletionScope(request) {
359
+ try {
360
+ return { sessionIds: await this.ctx.workspaceRegistry.sessionDeletionScope(request.sessionId) };
361
+ } catch (error) {
362
+ throw deletionError(error, request.sessionId);
363
+ }
364
+ }
365
+ /**
366
+ * Delete an archived root and exactly its confirmed owned subagent scope.
367
+ * @param request - root and user-confirmed deletion scope.
368
+ * @returns identities removed after persistence and owner cleanup complete.
369
+ */
370
+ async deleteSession(request) {
371
+ try {
372
+ return { sessionIds: await this.ctx.workspaceRegistry.deleteSession(request.sessionId, request.expectedSessionIds) };
373
+ } catch (error) {
374
+ throw deletionError(error, request.sessionId);
375
+ }
376
+ }
377
+ /**
350
378
  * Add one known unarchived Session to the registry-global pin set.
351
379
  * @param request - Session identity to pin.
352
380
  * @returns the complete resulting pin set, most recently pinned first.
@@ -386,6 +414,17 @@ var WorkspaceCommands = class {
386
414
  function workspaceNotFound(workspaceId) {
387
415
  return new RemoteError("workspace/not-found", `Workspace "${workspaceId}" not found`, { workspaceId });
388
416
  }
417
+ function deletionError(error, sessionId) {
418
+ if (error instanceof WorkspaceSessionDeletionError) return new RemoteError("workspace/session-delete-refused", "Session deletion refused", {
419
+ sessionId,
420
+ reason: error.reason
421
+ }, { cause: error });
422
+ if (error instanceof WorkspaceActiveSessionError) return new RemoteError("workspace/session-active", error.message, {
423
+ sessionId,
424
+ activity: error.activity
425
+ }, { cause: error });
426
+ return error;
427
+ }
389
428
  function errorMessage$1(error) {
390
429
  return error instanceof Error ? error.message : String(error);
391
430
  }
@@ -720,6 +759,8 @@ let WorkspaceController = (() => {
720
759
  let _insertSessionBefore_decorators;
721
760
  let _archiveSession_decorators;
722
761
  let _unarchiveSession_decorators;
762
+ let _sessionDeletionScope_decorators;
763
+ let _deleteSession_decorators;
723
764
  let _pinSession_decorators;
724
765
  let _unpinSession_decorators;
725
766
  let _follow_decorators;
@@ -734,6 +775,8 @@ let WorkspaceController = (() => {
734
775
  _insertSessionBefore_decorators = [Remote("insertSessionBefore")];
735
776
  _archiveSession_decorators = [Remote("archiveSession")];
736
777
  _unarchiveSession_decorators = [Remote("unarchiveSession")];
778
+ _sessionDeletionScope_decorators = [Remote("sessionDeletionScope")];
779
+ _deleteSession_decorators = [Remote("deleteSession")];
737
780
  _pinSession_decorators = [Remote("pinSession")];
738
781
  _unpinSession_decorators = [Remote("unpinSession")];
739
782
  _follow_decorators = [Remote({ mode: "stream" })];
@@ -825,6 +868,28 @@ let WorkspaceController = (() => {
825
868
  },
826
869
  metadata: _metadata
827
870
  }, null, _instanceExtraInitializers);
871
+ __esDecorate(this, null, _sessionDeletionScope_decorators, {
872
+ kind: "method",
873
+ name: "sessionDeletionScope",
874
+ static: false,
875
+ private: false,
876
+ access: {
877
+ has: (obj) => "sessionDeletionScope" in obj,
878
+ get: (obj) => obj.sessionDeletionScope
879
+ },
880
+ metadata: _metadata
881
+ }, null, _instanceExtraInitializers);
882
+ __esDecorate(this, null, _deleteSession_decorators, {
883
+ kind: "method",
884
+ name: "deleteSession",
885
+ static: false,
886
+ private: false,
887
+ access: {
888
+ has: (obj) => "deleteSession" in obj,
889
+ get: (obj) => obj.deleteSession
890
+ },
891
+ metadata: _metadata
892
+ }, null, _instanceExtraInitializers);
828
893
  __esDecorate(this, null, _pinSession_decorators, {
829
894
  kind: "method",
830
895
  name: "pinSession",
@@ -957,6 +1022,22 @@ let WorkspaceController = (() => {
957
1022
  return this.commands.unarchiveSession(request);
958
1023
  }
959
1024
  /**
1025
+ * Preview the archived root and owned subagent Sessions covered by deletion.
1026
+ * @param request - archived root to preview.
1027
+ * @returns complete deletion scope for confirmation.
1028
+ */
1029
+ sessionDeletionScope(request) {
1030
+ return this.commands.sessionDeletionScope(request);
1031
+ }
1032
+ /**
1033
+ * Permanently remove an archived Session and its confirmed owned subagents.
1034
+ * @param request - archived root and confirmed scope.
1035
+ * @returns identities permanently removed.
1036
+ */
1037
+ deleteSession(request) {
1038
+ return this.commands.deleteSession(request);
1039
+ }
1040
+ /**
960
1041
  * Surface one known unarchived Session ahead of unpinned Sessions.
961
1042
  * @param request - Session identity to pin.
962
1043
  * @returns the complete resulting pin set, most recently pinned first.
@@ -60,6 +60,15 @@ let _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema$val
60
60
  const _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema$value ??= z.object({
61
61
  'deleted': z.literal(true).readonly(),
62
62
  }))
63
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema$value
64
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema$value ??= z.object({
65
+ 'expectedSessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
66
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
67
+ }))
68
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema$value
69
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema$value ??= z.object({
70
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
71
+ }))
63
72
  let _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema$value
64
73
  const _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema$value ??= z.union([z.object({
65
74
  'type': z.literal("baseline").readonly(),
@@ -159,6 +168,14 @@ const _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema =
159
168
  'updatedAt': z.string().readonly(),
160
169
  }).readonly(),
161
170
  }))
171
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema$value
172
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema$value ??= z.object({
173
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
174
+ }))
175
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema$value
176
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema$value ??= z.object({
177
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
178
+ }))
162
179
  let _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema$value
163
180
  const _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema$value ??= z.object({
164
181
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -283,7 +300,7 @@ export const TYPERT = {
283
300
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveValue',
284
301
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_result$schema,
285
302
  },
286
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":155,"column":3},
303
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":156,"column":3},
287
304
  },
288
305
  {
289
306
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/create',
@@ -308,7 +325,7 @@ export const TYPERT = {
308
325
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceCreateValue',
309
326
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_create_result$schema,
310
327
  },
311
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":86,"column":3},
328
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":87,"column":3},
312
329
  },
313
330
  {
314
331
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/delete',
@@ -333,7 +350,32 @@ export const TYPERT = {
333
350
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceDeleteValue',
334
351
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema,
335
352
  },
336
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":125,"column":3},
353
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":126,"column":3},
354
+ },
355
+ {
356
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/deleteSession',
357
+ service: 'workspaceController',
358
+ namespace: 'workspace',
359
+ method: 'deleteSession',
360
+ invocation: { kind: 'direct' },
361
+ parameters: [
362
+ {
363
+ name: 'request',
364
+ wire: 'request',
365
+ source: 'json',
366
+ codec: {
367
+ mode: 'strict',
368
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionRequest',
369
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema,
370
+ },
371
+ },
372
+ ],
373
+ result: {
374
+ mode: 'strict',
375
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionValue',
376
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema,
377
+ },
378
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":186,"column":3},
337
379
  },
338
380
  {
339
381
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/follow',
@@ -350,7 +392,7 @@ export const TYPERT = {
350
392
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceFollowFrame',
351
393
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema,
352
394
  },
353
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":195,"column":3},
395
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":216,"column":3},
354
396
  },
355
397
  {
356
398
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/initializeDefault',
@@ -366,7 +408,7 @@ export const TYPERT = {
366
408
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#workspace/initializeDefault:result',
367
409
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_initializeDefault_result$schema,
368
410
  },
369
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":99,"column":9},
411
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":100,"column":9},
370
412
  },
371
413
  {
372
414
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertBefore',
@@ -391,7 +433,7 @@ export const TYPERT = {
391
433
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceOrderValue',
392
434
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_result$schema,
393
435
  },
394
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":135,"column":3},
436
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":136,"column":3},
395
437
  },
396
438
  {
397
439
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertSessionBefore',
@@ -416,7 +458,7 @@ export const TYPERT = {
416
458
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
417
459
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_result$schema,
418
460
  },
419
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":145,"column":3},
461
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":146,"column":3},
420
462
  },
421
463
  {
422
464
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/pinSession',
@@ -441,7 +483,7 @@ export const TYPERT = {
441
483
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspacePinValue',
442
484
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_pinSession_result$schema,
443
485
  },
444
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":175,"column":3},
486
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":196,"column":3},
445
487
  },
446
488
  {
447
489
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/rename',
@@ -466,7 +508,32 @@ export const TYPERT = {
466
508
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
467
509
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema,
468
510
  },
469
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":115,"column":3},
511
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":116,"column":3},
512
+ },
513
+ {
514
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/sessionDeletionScope',
515
+ service: 'workspaceController',
516
+ namespace: 'workspace',
517
+ method: 'sessionDeletionScope',
518
+ invocation: { kind: 'direct' },
519
+ parameters: [
520
+ {
521
+ name: 'request',
522
+ wire: 'request',
523
+ source: 'json',
524
+ codec: {
525
+ mode: 'strict',
526
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionPreviewRequest',
527
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema,
528
+ },
529
+ },
530
+ ],
531
+ result: {
532
+ mode: 'strict',
533
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionValue',
534
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema,
535
+ },
536
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":176,"column":3},
470
537
  },
471
538
  {
472
539
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/unarchiveSession',
@@ -491,7 +558,7 @@ export const TYPERT = {
491
558
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveValue',
492
559
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_result$schema,
493
560
  },
494
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":165,"column":3},
561
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":166,"column":3},
495
562
  },
496
563
  {
497
564
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/unpinSession',
@@ -516,7 +583,7 @@ export const TYPERT = {
516
583
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspacePinValue',
517
584
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_unpinSession_result$schema,
518
585
  },
519
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":185,"column":3},
586
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":206,"column":3},
520
587
  },
521
588
  ],
522
589
  model: {
@@ -626,6 +693,20 @@ export const TYPERT = {
626
693
  "summary": "Restore one archived Session to Workspace grouping surfaces.",
627
694
  "jsDoc": "/**\n * Restore one archived Session to Workspace grouping surfaces.\n * @param request - Session identity to unarchive.\n * @returns the complete resulting archive set.\n */"
628
695
  },
696
+ {
697
+ "kind": "method",
698
+ "name": "sessionDeletionScope",
699
+ "signature": "@Remote('sessionDeletionScope') sessionDeletionScope(request: WorkspaceSessionDeletionPreviewRequest): Promise<WorkspaceSessionDeletionValue>",
700
+ "summary": "Preview the archived root and owned subagent Sessions covered by deletion.",
701
+ "jsDoc": "/**\n * Preview the archived root and owned subagent Sessions covered by deletion.\n * @param request - archived root to preview.\n * @returns complete deletion scope for confirmation.\n */"
702
+ },
703
+ {
704
+ "kind": "method",
705
+ "name": "deleteSession",
706
+ "signature": "@Remote('deleteSession') deleteSession(request: WorkspaceSessionDeletionRequest): Promise<WorkspaceSessionDeletionValue>",
707
+ "summary": "Permanently remove an archived Session and its confirmed owned subagents.",
708
+ "jsDoc": "/**\n * Permanently remove an archived Session and its confirmed owned subagents.\n * @param request - archived root and confirmed scope.\n * @returns identities permanently removed.\n */"
709
+ },
629
710
  {
630
711
  "kind": "method",
631
712
  "name": "pinSession",
@@ -721,6 +802,18 @@ export const TYPERT = {
721
802
  "name": "WorkspaceRenameRequest",
722
803
  "declaration": "export interface WorkspaceRenameRequest {\n readonly workspaceId: WorkspaceId;\n readonly title: string;\n}"
723
804
  },
805
+ {
806
+ "name": "WorkspaceSessionDeletionPreviewRequest",
807
+ "declaration": "export interface WorkspaceSessionDeletionPreviewRequest {\n readonly sessionId: SessionId;\n}"
808
+ },
809
+ {
810
+ "name": "WorkspaceSessionDeletionRequest",
811
+ "declaration": "export interface WorkspaceSessionDeletionRequest extends WorkspaceSessionDeletionPreviewRequest {\n readonly expectedSessionIds: readonly SessionId[];\n}"
812
+ },
813
+ {
814
+ "name": "WorkspaceSessionDeletionValue",
815
+ "declaration": "export interface WorkspaceSessionDeletionValue {\n readonly sessionIds: readonly SessionId[];\n}"
816
+ },
724
817
  {
725
818
  "name": "WorkspaceUnarchiveSessionRequest",
726
819
  "declaration": "export interface WorkspaceUnarchiveSessionRequest {\n readonly sessionId: SessionId;\n}"
@@ -4,7 +4,7 @@ import type {
4
4
  RemoteStreamHandle,
5
5
  TypertRemoteContribution,
6
6
  } from '@deepseek-ai/dsh-typert-protocol'
7
- import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteRequest, WorkspaceDeleteValue, WorkspaceFollowFrame, WorkspaceInsertBeforeRequest, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceRenameRequest, WorkspaceUnarchiveSessionRequest, WorkspaceUnpinSessionRequest, WorkspaceValue } from '@deepseek-ai/dsh-api-workspace-controller/types'
7
+ import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteRequest, WorkspaceDeleteValue, WorkspaceFollowFrame, WorkspaceInsertBeforeRequest, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceRenameRequest, WorkspaceSessionDeletionPreviewRequest, WorkspaceSessionDeletionRequest, WorkspaceSessionDeletionValue, WorkspaceUnarchiveSessionRequest, WorkspaceUnpinSessionRequest, WorkspaceValue } from '@deepseek-ai/dsh-api-workspace-controller/types'
8
8
  import type { DirectoryListing } from '@deepseek-ai/dsh-host-directory-picker/types'
9
9
 
10
10
  declare module '@deepseek-ai/dsh-typert-protocol' {
@@ -17,12 +17,14 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
17
17
  archiveSession: (request: WorkspaceArchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
18
18
  create: (request: WorkspaceCreateRequest) => Promise<RemoteResult<WorkspaceCreateValue>>
19
19
  delete: (request: WorkspaceDeleteRequest) => Promise<RemoteResult<WorkspaceDeleteValue>>
20
+ deleteSession: (request: WorkspaceSessionDeletionRequest) => Promise<RemoteResult<WorkspaceSessionDeletionValue>>
20
21
  follow: (signal?: AbortSignal) => RemoteStreamHandle<WorkspaceFollowFrame, never>
21
22
  initializeDefault: (signal?: AbortSignal) => Promise<RemoteResult<WorkspaceValue | undefined>>
22
23
  insertBefore: (request: WorkspaceInsertBeforeRequest) => Promise<RemoteResult<WorkspaceOrderValue>>
23
24
  insertSessionBefore: (request: WorkspaceInsertSessionBeforeRequest) => Promise<RemoteResult<WorkspaceValue>>
24
25
  pinSession: (request: WorkspacePinSessionRequest) => Promise<RemoteResult<WorkspacePinValue>>
25
26
  rename: (request: WorkspaceRenameRequest) => Promise<RemoteResult<WorkspaceValue>>
27
+ sessionDeletionScope: (request: WorkspaceSessionDeletionPreviewRequest) => Promise<RemoteResult<WorkspaceSessionDeletionValue>>
26
28
  unarchiveSession: (request: WorkspaceUnarchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
27
29
  unpinSession: (request: WorkspaceUnpinSessionRequest) => Promise<RemoteResult<WorkspacePinValue>>
28
30
  }
@@ -33,12 +35,14 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
33
35
  'workspace/archiveSession': (request: WorkspaceArchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
34
36
  'workspace/create': (request: WorkspaceCreateRequest) => Promise<RemoteResult<WorkspaceCreateValue>>
35
37
  'workspace/delete': (request: WorkspaceDeleteRequest) => Promise<RemoteResult<WorkspaceDeleteValue>>
38
+ 'workspace/deleteSession': (request: WorkspaceSessionDeletionRequest) => Promise<RemoteResult<WorkspaceSessionDeletionValue>>
36
39
  'workspace/follow': (signal?: AbortSignal) => RemoteStreamHandle<WorkspaceFollowFrame, never>
37
40
  'workspace/initializeDefault': (signal?: AbortSignal) => Promise<RemoteResult<WorkspaceValue | undefined>>
38
41
  'workspace/insertBefore': (request: WorkspaceInsertBeforeRequest) => Promise<RemoteResult<WorkspaceOrderValue>>
39
42
  'workspace/insertSessionBefore': (request: WorkspaceInsertSessionBeforeRequest) => Promise<RemoteResult<WorkspaceValue>>
40
43
  'workspace/pinSession': (request: WorkspacePinSessionRequest) => Promise<RemoteResult<WorkspacePinValue>>
41
44
  'workspace/rename': (request: WorkspaceRenameRequest) => Promise<RemoteResult<WorkspaceValue>>
45
+ 'workspace/sessionDeletionScope': (request: WorkspaceSessionDeletionPreviewRequest) => Promise<RemoteResult<WorkspaceSessionDeletionValue>>
42
46
  'workspace/unarchiveSession': (request: WorkspaceUnarchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
43
47
  'workspace/unpinSession': (request: WorkspaceUnpinSessionRequest) => Promise<RemoteResult<WorkspacePinValue>>
44
48
  }
@@ -60,6 +60,15 @@ let _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema$val
60
60
  const _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema$value ??= z.object({
61
61
  'deleted': z.literal(true).readonly(),
62
62
  }))
63
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema$value
64
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema$value ??= z.object({
65
+ 'expectedSessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
66
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
67
+ }))
68
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema$value
69
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema$value ??= z.object({
70
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
71
+ }))
63
72
  let _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema$value
64
73
  const _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema$value ??= z.union([z.object({
65
74
  'type': z.literal("baseline").readonly(),
@@ -159,6 +168,14 @@ const _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema =
159
168
  'updatedAt': z.string().readonly(),
160
169
  }).readonly(),
161
170
  }))
171
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema$value
172
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema$value ??= z.object({
173
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
174
+ }))
175
+ let _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema$value
176
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema$value ??= z.object({
177
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
178
+ }))
162
179
  let _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema$value
163
180
  const _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema = () => (_deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_parameter_0$schema$value ??= z.object({
164
181
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -280,7 +297,7 @@ export const TYPERT_REMOTE = {
280
297
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveValue',
281
298
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_result$schema,
282
299
  },
283
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":155,"column":3},
300
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":156,"column":3},
284
301
  },
285
302
  {
286
303
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/create',
@@ -305,7 +322,7 @@ export const TYPERT_REMOTE = {
305
322
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceCreateValue',
306
323
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_create_result$schema,
307
324
  },
308
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":86,"column":3},
325
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":87,"column":3},
309
326
  },
310
327
  {
311
328
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/delete',
@@ -330,7 +347,32 @@ export const TYPERT_REMOTE = {
330
347
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceDeleteValue',
331
348
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema,
332
349
  },
333
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":125,"column":3},
350
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":126,"column":3},
351
+ },
352
+ {
353
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/deleteSession',
354
+ service: 'workspaceController',
355
+ namespace: 'workspace',
356
+ method: 'deleteSession',
357
+ invocation: { kind: 'direct' },
358
+ parameters: [
359
+ {
360
+ name: 'request',
361
+ wire: 'request',
362
+ source: 'json',
363
+ codec: {
364
+ mode: 'strict',
365
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionRequest',
366
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_parameter_0$schema,
367
+ },
368
+ },
369
+ ],
370
+ result: {
371
+ mode: 'strict',
372
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionValue',
373
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_deleteSession_result$schema,
374
+ },
375
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":186,"column":3},
334
376
  },
335
377
  {
336
378
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/follow',
@@ -347,7 +389,7 @@ export const TYPERT_REMOTE = {
347
389
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceFollowFrame',
348
390
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema,
349
391
  },
350
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":195,"column":3},
392
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":216,"column":3},
351
393
  },
352
394
  {
353
395
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/initializeDefault',
@@ -363,7 +405,7 @@ export const TYPERT_REMOTE = {
363
405
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#workspace/initializeDefault:result',
364
406
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_initializeDefault_result$schema,
365
407
  },
366
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":99,"column":9},
408
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":100,"column":9},
367
409
  },
368
410
  {
369
411
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertBefore',
@@ -388,7 +430,7 @@ export const TYPERT_REMOTE = {
388
430
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceOrderValue',
389
431
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_result$schema,
390
432
  },
391
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":135,"column":3},
433
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":136,"column":3},
392
434
  },
393
435
  {
394
436
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertSessionBefore',
@@ -413,7 +455,7 @@ export const TYPERT_REMOTE = {
413
455
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
414
456
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_result$schema,
415
457
  },
416
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":145,"column":3},
458
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":146,"column":3},
417
459
  },
418
460
  {
419
461
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/pinSession',
@@ -438,7 +480,7 @@ export const TYPERT_REMOTE = {
438
480
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspacePinValue',
439
481
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_pinSession_result$schema,
440
482
  },
441
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":175,"column":3},
483
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":196,"column":3},
442
484
  },
443
485
  {
444
486
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/rename',
@@ -463,7 +505,32 @@ export const TYPERT_REMOTE = {
463
505
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
464
506
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema,
465
507
  },
466
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":115,"column":3},
508
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":116,"column":3},
509
+ },
510
+ {
511
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/sessionDeletionScope',
512
+ service: 'workspaceController',
513
+ namespace: 'workspace',
514
+ method: 'sessionDeletionScope',
515
+ invocation: { kind: 'direct' },
516
+ parameters: [
517
+ {
518
+ name: 'request',
519
+ wire: 'request',
520
+ source: 'json',
521
+ codec: {
522
+ mode: 'strict',
523
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionPreviewRequest',
524
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_parameter_0$schema,
525
+ },
526
+ },
527
+ ],
528
+ result: {
529
+ mode: 'strict',
530
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceSessionDeletionValue',
531
+ create: _deepseek_ai_dsh_api_workspace_controller_workspace_sessionDeletionScope_result$schema,
532
+ },
533
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":176,"column":3},
467
534
  },
468
535
  {
469
536
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/unarchiveSession',
@@ -488,7 +555,7 @@ export const TYPERT_REMOTE = {
488
555
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveValue',
489
556
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_unarchiveSession_result$schema,
490
557
  },
491
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":165,"column":3},
558
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":166,"column":3},
492
559
  },
493
560
  {
494
561
  id: '@deepseek-ai/dsh-api-workspace-controller#workspace/unpinSession',
@@ -513,7 +580,7 @@ export const TYPERT_REMOTE = {
513
580
  typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspacePinValue',
514
581
  create: _deepseek_ai_dsh_api_workspace_controller_workspace_unpinSession_result$schema,
515
582
  },
516
- sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":185,"column":3},
583
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":206,"column":3},
517
584
  },
518
585
  ],
519
586
  }
@@ -1,6 +1,6 @@
1
1
  /** Client-side Workspace state model shared by Remote transport and UI projection. */
2
2
  import type { RemoteFailure, RemoteResult, TypertClientRemote } from '@deepseek-ai/dsh-typert-protocol';
3
- import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceBaseline, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteValue, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceUnarchiveSessionRequest, WorkspaceUnpinSessionRequest, WorkspaceValue, WorkspaceId, WorkspaceView } from '../types.ts';
3
+ import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceSessionDeletionValue, WorkspaceBaseline, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteValue, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspacePinSessionRequest, WorkspacePinValue, WorkspaceUnarchiveSessionRequest, WorkspaceUnpinSessionRequest, WorkspaceValue, WorkspaceId, WorkspaceView } from '../types.ts';
4
4
  /** Complete generated `ctx.remote.workspace` namespace. */
5
5
  export type WorkspaceRemote = TypertClientRemote['workspace'];
6
6
  /** Monotone Workspace-list arrival lifecycle. */
@@ -117,6 +117,19 @@ export declare class ClientWorkspaceModel implements WorkspaceFollowSink {
117
117
  * @returns generated Remote result.
118
118
  */
119
119
  unarchiveSession(sessionId: WorkspaceUnarchiveSessionRequest['sessionId']): Promise<RemoteResult<WorkspaceArchiveValue>>;
120
+ /**
121
+ * Request the Host's deletion scope for an archived root.
122
+ * @param sessionId - archived root to preview.
123
+ * @returns the Host deletion preview.
124
+ */
125
+ sessionDeletionScope(sessionId: import('@deepseek-ai/dsh-session/types').SessionId): Promise<RemoteResult<WorkspaceSessionDeletionValue>>;
126
+ /**
127
+ * Request permanent deletion of exactly the confirmed Session scope.
128
+ * @param sessionId - archived root.
129
+ * @param expectedSessionIds - exact scope confirmed by the user.
130
+ * @returns the Host deletion result.
131
+ */
132
+ deleteSession(sessionId: import('@deepseek-ai/dsh-session/types').SessionId, expectedSessionIds: readonly import('@deepseek-ai/dsh-session/types').SessionId[]): Promise<RemoteResult<WorkspaceSessionDeletionValue>>;
120
133
  /**
121
134
  * Pin one Session and install the returned complete pin set.
122
135
  * A reply superseded by a later pin request or a pushed set installs nothing.
@@ -153,6 +153,23 @@ export class ClientWorkspaceModel {
153
153
  }
154
154
  return result;
155
155
  }
156
+ /**
157
+ * Request the Host's deletion scope for an archived root.
158
+ * @param sessionId - archived root to preview.
159
+ * @returns the Host deletion preview.
160
+ */
161
+ sessionDeletionScope(sessionId) {
162
+ return this.remote.sessionDeletionScope({ sessionId });
163
+ }
164
+ /**
165
+ * Request permanent deletion of exactly the confirmed Session scope.
166
+ * @param sessionId - archived root.
167
+ * @param expectedSessionIds - exact scope confirmed by the user.
168
+ * @returns the Host deletion result.
169
+ */
170
+ deleteSession(sessionId, expectedSessionIds) {
171
+ return this.remote.deleteSession({ sessionId, expectedSessionIds });
172
+ }
156
173
  /**
157
174
  * Pin one Session and install the returned complete pin set.
158
175
  * A reply superseded by a later pin request or a pushed set installs nothing.