@chatcode/chatcode-cli 3.0.3 → 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 (243) hide show
  1. package/README.i18n.yaml +10 -10
  2. package/README.md +16 -1
  3. package/README.zh.md +16 -1
  4. package/lib/bin.js +62 -11
  5. package/lib/{command-errors-CBJRI2gy.js → command-errors-CScdshCl.js} +12 -12
  6. package/lib/{command-trees-Dvq4C7a4.js → command-trees-Dc17MYfV.js} +2 -2
  7. package/lib/{component-identity-DPdJglJO.js → component-identity-DFJD_d-P.js} +3 -3
  8. package/lib/{dump-config-CauO75nE.js → dump-config-BcH-VYuv.js} +5 -5
  9. package/lib/dump-config-CyopmD85.js +2 -0
  10. package/lib/{dump-config-schema-CObLWWaW.js → dump-config-schema-DM0fb6Ns.js} +2 -2
  11. package/lib/{extension-events-Be9LWvHD.js → extension-events-qXmhzmHo.js} +20 -20
  12. package/lib/{frames-7PAg0Q9b.js → frames-B89znn_0.js} +4 -4
  13. package/lib/headless-compat.js +2 -2
  14. package/lib/{host-access-DeCjoRQP.js → host-access-B0CRAwsX.js} +1 -1
  15. package/lib/{keymap-CRUxM_qn.js → keymap-CIoVICBI.js} +17 -16
  16. package/lib/{plugin-CDFSDE_y.js → plugin-BKQsL2xn.js} +3264 -2301
  17. package/lib/{plugin-Cn-hyYY8.js → plugin-eJjD6r12.js} +1 -1
  18. package/lib/{profile-boot-SJGbpLgN.js → profile-boot-BNQry1NM.js} +97 -14
  19. package/lib/profile-boot.js +2 -2
  20. package/lib/{scenes-D6jV1EEi.js → scenes-BRf-zMpF.js} +3 -3
  21. package/lib/{settings-sections-DJQRNBo9.js → settings-sections-4gMhveN_.js} +7 -3
  22. package/lib/statusBarSettings-CnmdSHkO.js +382 -0
  23. package/lib/{themes-BCly4_y9.js → themes-Ce97Zsri.js} +13 -13
  24. package/lib/tui-compat-command-trees.js +1 -1
  25. package/lib/tui-compat-extensions.js +3 -3
  26. package/lib/tui-compat-plugin-host.js +5 -5
  27. package/lib/tui-compat-scenes.js +1 -1
  28. package/lib/tui-compat-settings-sections.js +1 -1
  29. package/lib/tui-compat-working-activity.js +4 -4
  30. package/lib/tui-compat-workspaces.js +1 -1
  31. package/lib/tui-compat.js +9 -26
  32. package/lib/types/args.d.ts +2 -0
  33. package/lib/types/permission-bypass.d.ts +16 -0
  34. package/lib/types/profile-boot.d.ts +12 -0
  35. package/lib/types/tui-compat.d.ts +4 -0
  36. package/lib/types/web-browser.d.ts +6 -0
  37. package/lib/types/web-instance.d.ts +42 -0
  38. package/lib/web-browser-Vcgfdsv_.js +46 -0
  39. package/lib/web-instance-B0jec7cq.js +2 -0
  40. package/lib/web-instance-DbP7IHPv.js +280 -0
  41. package/lib/{workspaces-Bb3kCAFb.js → workspaces-1xrm-e3V.js} +2 -2
  42. package/package.json +36 -33
  43. package/runtime/manifest.json +4 -2
  44. package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/index.js +137 -11
  45. package/runtime/node_modules/@deepseek-ai/dsh-agent-default-model/lib/types/index.d.ts +27 -1
  46. package/runtime/node_modules/@deepseek-ai/dsh-agent-preset/skills/cordis-composition-reference/references/packages.md +2 -1
  47. package/runtime/node_modules/@deepseek-ai/dsh-api-gateway/lib/client.js +2 -0
  48. package/runtime/node_modules/@deepseek-ai/dsh-api-gateway/lib/types/client/remote-stream.js +4 -0
  49. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/client.js +152 -39
  50. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/index.js +4 -0
  51. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.d.ts +3 -0
  52. package/runtime/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js +1 -0
  53. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/index.js +179 -35
  54. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.host.js +57 -30
  55. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js +31 -19
  56. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.d.ts +9 -1
  57. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.js +36 -6
  58. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/archived-session-gate.js +1 -1
  59. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/catalog.js +12 -2
  60. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/service.d.ts +1 -1
  61. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.d.ts +2 -2
  62. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.js +24 -8
  63. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.d.ts +4 -3
  64. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.js +31 -14
  65. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.d.ts +6 -0
  66. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/list.js +89 -4
  67. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/remote-events.d.ts +1 -1
  68. package/runtime/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/types.d.ts +27 -0
  69. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/index.js +28 -1
  70. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.host.js +39 -0
  71. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.remote-client.d.ts +2 -0
  72. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/typert.remote-client.js +32 -0
  73. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/types/index.d.ts +8 -0
  74. package/runtime/node_modules/@deepseek-ai/dsh-api-settings-controller/lib/types/index.js +19 -1
  75. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/client.js +30 -0
  76. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/index.js +111 -2
  77. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.host.js +104 -11
  78. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.d.ts +5 -1
  79. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/typert.remote-client.js +78 -11
  80. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.d.ts +14 -1
  81. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/model.js +17 -0
  82. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.d.ts +15 -0
  83. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/client/service.js +12 -0
  84. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.d.ts +13 -1
  85. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/commands.js +44 -2
  86. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/feed.js +17 -0
  87. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.d.ts +13 -1
  88. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/index.js +22 -0
  89. package/runtime/node_modules/@deepseek-ai/dsh-api-workspace-controller/lib/types/types.d.ts +17 -0
  90. package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +67 -19
  91. package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/types/index.d.ts +1 -1
  92. package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/types/profile-context.d.ts +11 -1
  93. package/runtime/node_modules/@deepseek-ai/dsh-app-boot/lib/worker/profile-resolution-bootstrap.js +22 -3
  94. package/runtime/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +9 -3
  95. package/runtime/node_modules/@deepseek-ai/dsh-base/package.json +2 -1
  96. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/client.js +931 -7
  97. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/index.js +57 -19
  98. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/client/index.d.ts +5 -2
  99. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/config.d.ts +12 -0
  100. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/events.d.ts +4 -4
  101. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/lib/types/index.d.ts +3 -8
  102. package/runtime/node_modules/@deepseek-ai/dsh-client-hmr/package.json +6 -2
  103. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/client.js +3 -2
  104. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/types/index.d.ts +2 -2
  105. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +10 -0
  106. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +1 -1
  107. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/types/client/present-open.d.ts +1 -1
  108. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
  109. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +68 -16
  110. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/directory.d.ts +3 -1
  111. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/types/client/locales.d.ts +6 -0
  112. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css +3 -5
  113. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css +23 -27
  114. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings/lib/types/client/contract/slots.d.ts +3 -1
  115. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/client.js +2 -2
  116. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-account/lib/types/index.d.ts +2 -2
  117. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +8 -7
  118. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/types/client/SettingsDocumentAction.d.ts +1 -1
  119. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/types/client/settings-document-store.d.ts +2 -1
  120. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +33 -12
  121. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/types/client/locales.d.ts +2 -0
  122. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
  123. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +3 -1
  124. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
  125. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1925 -207
  126. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/ArchivedSessions.d.ts +13 -0
  127. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/contract/slots.d.ts +4 -0
  128. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/locales.d.ts +42 -0
  129. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/recent.d.ts +11 -0
  130. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/RecentList.d.ts +15 -0
  131. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/rows/Rows.d.ts +6 -1
  132. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/session-actions/DeleteSession.d.ts +24 -0
  133. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/stores.d.ts +2 -2
  134. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/types/client/tree.d.ts +15 -13
  135. package/runtime/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +3 -1
  136. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/index.js +16 -0
  137. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.host.js +7 -3
  138. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/typert.remote-client.js +6 -2
  139. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/index.js +20 -0
  140. package/runtime/node_modules/@deepseek-ai/dsh-commands/lib/types/types.d.ts +5 -0
  141. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/index.js +35 -0
  142. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/brand.d.ts +11 -0
  143. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/brand.js +10 -0
  144. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/index.d.ts +28 -0
  145. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/lib/types/index.js +36 -0
  146. package/runtime/node_modules/@deepseek-ai/dsh-computer-use/package.json +42 -0
  147. package/runtime/node_modules/@deepseek-ai/dsh-config-editor/lib/index.js +102 -14
  148. package/runtime/node_modules/@deepseek-ai/dsh-config-editor/lib/types/index.d.ts +34 -4
  149. package/runtime/node_modules/@deepseek-ai/dsh-config-editor/package.json +1 -0
  150. package/runtime/node_modules/@deepseek-ai/dsh-cordis-client-runner/lib/client.js +5 -2
  151. package/runtime/node_modules/@deepseek-ai/dsh-host-webserver/lib/index.js +2 -1
  152. package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/index.js +21 -8
  153. package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/types/path-opener.d.ts +4 -6
  154. package/runtime/node_modules/@deepseek-ai/dsh-native-command/lib/types/path-opener.js +18 -7
  155. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/index.js +4 -0
  156. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.host.js +5 -5
  157. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/typert.remote-client.js +5 -5
  158. package/runtime/node_modules/@deepseek-ai/dsh-schedule/lib/types/index.js +5 -0
  159. package/runtime/node_modules/@deepseek-ai/dsh-session/lib/types/index.d.ts +21 -0
  160. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/index.js +12 -0
  161. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence/lib/types/index.d.ts +15 -0
  162. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/index.js +95 -2
  163. package/runtime/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/types/index.d.ts +3 -1
  164. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/index.js +25 -1
  165. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/lib/types/index.d.ts +1 -0
  166. package/runtime/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +2 -1
  167. package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/index.js +13 -0
  168. package/runtime/node_modules/@deepseek-ai/dsh-session-query/lib/types/observation.d.ts +5 -0
  169. package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/lib/index.js +26 -0
  170. package/runtime/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +2 -1
  171. package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/index.js +5 -4
  172. package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/types/index.d.ts +4 -3
  173. package/runtime/node_modules/@deepseek-ai/dsh-settings/lib/types/index.js +4 -3
  174. package/runtime/node_modules/@deepseek-ai/dsh-storage/lib/types/backend.d.ts +4 -0
  175. package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/index.js +65 -1
  176. package/runtime/node_modules/@deepseek-ai/dsh-storage-domain/lib/types/domain.d.ts +17 -2
  177. package/runtime/node_modules/@deepseek-ai/dsh-storage-json/lib/index.js +25 -0
  178. package/runtime/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -0
  179. package/runtime/node_modules/@deepseek-ai/dsh-subagent/lib/types/control.d.ts +1 -1
  180. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/index.js +5522 -0
  181. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/command-args.d.ts +17 -0
  182. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti/cicd.d.ts +8 -0
  183. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti/tianti.d.ts +7 -0
  184. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/commands/tianti-deliver/tianti-deliver.d.ts +8 -0
  185. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/config.d.ts +27 -0
  186. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/index.d.ts +13 -0
  187. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/memory-config.d.ts +10 -0
  188. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/runtime.d.ts +105 -0
  189. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/aliases.d.ts +11 -0
  190. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/auth.d.ts +20 -0
  191. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/client.d.ts +206 -0
  192. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/config.d.ts +22 -0
  193. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/index.d.ts +6 -0
  194. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/log.d.ts +16 -0
  195. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/tianti/types.d.ts +136 -0
  196. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/codebase.d.ts +19 -0
  197. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/dynamicWorkflow.d.ts +10 -0
  198. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/engine.d.ts +8 -0
  199. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/executor.d.ts +11 -0
  200. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/executors.d.ts +15 -0
  201. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/index.d.ts +23 -0
  202. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/memorySuggestions.d.ts +12 -0
  203. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/openspec.d.ts +31 -0
  204. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/recommend.d.ts +8 -0
  205. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/render.d.ts +8 -0
  206. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/requirementContext.d.ts +12 -0
  207. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/scenarioUpgrade.d.ts +24 -0
  208. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/state.d.ts +16 -0
  209. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/store.d.ts +33 -0
  210. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/templates.d.ts +8 -0
  211. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/types.d.ts +385 -0
  212. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/wanmaDevelopmentWorkflow/writeReviewSync.d.ts +6 -0
  213. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/index.d.ts +29 -0
  214. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/store.d.ts +20 -0
  215. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/services/writeReview/types.d.ts +49 -0
  216. package/runtime/node_modules/@deepseek-ai/dsh-tianti/lib/types/tools.d.ts +12 -0
  217. package/runtime/node_modules/@deepseek-ai/dsh-tianti/package.json +57 -0
  218. package/runtime/node_modules/@deepseek-ai/dsh-tool-cordis/lib/types/api-catalog.js +157 -22
  219. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-D5kpKf--.css +1 -0
  220. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Dz_cDcce.js +133 -0
  221. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Dz_cDcce.js.map +1 -0
  222. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-apple-touch-icon.png +0 -0
  223. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-icon-32.png +0 -0
  224. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/chatcode-mask-icon.svg +1 -0
  225. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon-dark.svg +1 -3
  226. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon.ico +0 -0
  227. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/favicon.svg +1 -3
  228. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +8 -4
  229. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/preview.html +8 -4
  230. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/package.json +2 -1
  231. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/index.js +325 -37
  232. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/invariant.js +6 -1
  233. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/entity.d.ts +6 -0
  234. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/entity.js +23 -17
  235. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.d.ts +41 -0
  236. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/index.js +314 -23
  237. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.d.ts +4 -0
  238. package/runtime/node_modules/@deepseek-ai/dsh-workspace/lib/types/spec.js +4 -0
  239. package/lib/dump-config-CijLv_kn.js +0 -2
  240. package/lib/tuiDisplayPrefs-Dm_fULiR.js +0 -204
  241. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-DUvMhLle.css +0 -1
  242. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Q6zc2uHV.js +0 -127
  243. package/runtime/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Q6zc2uHV.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import type { ExternalWriteReview } from './types.ts';
2
+ /** Get external write reviews dir for Tianti operations.
3
+ * @returns The external write reviews dir result.
4
+ */
5
+ export declare function getExternalWriteReviewsDir(): string;
6
+ /** Atomically persist a review record in the selected ChatCode home.
7
+ * @param review review.
8
+ * @returns The save external write review result.
9
+ */
10
+ export declare function saveExternalWriteReview(review: ExternalWriteReview): Promise<ExternalWriteReview>;
11
+ /** Load external write review for Tianti operations.
12
+ * @param id id.
13
+ * @returns The external write review result.
14
+ */
15
+ export declare function loadExternalWriteReview(id: string): Promise<ExternalWriteReview | null>;
16
+ /** List external write reviews for Tianti operations.
17
+ * @returns The external write reviews result.
18
+ */
19
+ export declare function listExternalWriteReviews(): Promise<ExternalWriteReview[]>;
20
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1,49 @@
1
+ /** Ported ChatCode Tianti writeReview behavior on the Harness runtime. */
2
+ export type ExternalWriteReviewSource = 'tianti-command' | 'tianti-deliver';
3
+ /** External write review kind for Tianti operations.
4
+ */
5
+ export type ExternalWriteReviewKind = 'tianti-workitem-update' | 'tianti-state-transition' | 'git-sync' | 'git-commit-push' | 'pipeline-trigger';
6
+ /** External write review status for Tianti operations.
7
+ */
8
+ export type ExternalWriteReviewStatus = 'pending' | 'approved' | 'executed' | 'rejected' | 'failed';
9
+ /** External write execution for Tianti operations.
10
+ */
11
+ export type ExternalWriteExecution = {
12
+ success: boolean;
13
+ summary: string;
14
+ externalId?: (string) | undefined;
15
+ details?: (Record<string, unknown>) | undefined;
16
+ };
17
+ /** External write review for Tianti operations.
18
+ */
19
+ export type ExternalWriteReview = {
20
+ id: string;
21
+ source: ExternalWriteReviewSource;
22
+ kind: ExternalWriteReviewKind;
23
+ target: string;
24
+ summary: string;
25
+ payload: Record<string, unknown>;
26
+ status: ExternalWriteReviewStatus;
27
+ createdAt: string;
28
+ reviewedAt?: (string) | undefined;
29
+ executedAt?: (string) | undefined;
30
+ rejectionReason?: (string) | undefined;
31
+ execution?: (ExternalWriteExecution) | undefined;
32
+ workflow?: ({
33
+ runId: string;
34
+ taskId: string;
35
+ stageId: string;
36
+ action: string;
37
+ }) | undefined;
38
+ };
39
+ /** Create external write review input for Tianti operations.
40
+ */
41
+ export type CreateExternalWriteReviewInput = {
42
+ source: ExternalWriteReviewSource;
43
+ kind: ExternalWriteReviewKind;
44
+ target: string;
45
+ summary: string;
46
+ payload: Record<string, unknown>;
47
+ now?: (Date) | undefined;
48
+ };
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,12 @@
1
+ /** Model-facing Tianti queries and review proposals; human commands execute writes. */
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ import { TiantiRuntime } from './runtime.ts';
4
+ /** Install model tools for one enabled Tianti activation; its owner unregisters them on off.
5
+ * @param ctx Harness tool registry.
6
+ * @param runtime Plugin-owned endpoint and switch state.
7
+ * @param signal Cancellation for this activation, aborted on off or plugin disposal.
8
+ * @param track Track active work until plugin disposal settles.
9
+ * @returns Registration disposers, removed before active work is drained.
10
+ */
11
+ export declare function installTools(ctx: Context, runtime: TiantiRuntime, signal: AbortSignal, track: <T>(task: Promise<T>) => Promise<T>): Generator<() => void>;
12
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@deepseek-ai/dsh-tianti",
3
+ "description": "Tianti commands, resource tools, and guided development delivery for ChatCode CLI",
4
+ "version": "0.1.7-rc.2",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/deepseek-ai/deepseek-harness.git",
11
+ "directory": "packages/workflow/tianti"
12
+ },
13
+ "type": "module",
14
+ "main": "lib/index.js",
15
+ "types": "lib/types/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./lib/types/index.d.ts",
19
+ "default": "./lib/index.js"
20
+ },
21
+ "./src/*": "./src/*",
22
+ "./package.json": "./package.json"
23
+ },
24
+ "files": [
25
+ "lib/index.js",
26
+ "lib/types/**/*.d.ts"
27
+ ],
28
+ "license": "MIT",
29
+ "peerDependencies": {
30
+ "@deepseek-ai/cordis": "workspace:~",
31
+ "@deepseek-ai/dsh-commands": "workspace:*",
32
+ "@deepseek-ai/dsh-tools": "workspace:*",
33
+ "@deepseek-ai/dsh-agent": "workspace:*",
34
+ "@deepseek-ai/dsh-shell": "workspace:*",
35
+ "@deepseek-ai/dsh-home-paths": "workspace:*"
36
+ },
37
+ "devDependencies": {
38
+ "@deepseek-ai/dsh-agent-loop": "workspace:*",
39
+ "@deepseek-ai/dsh-session-projection": "workspace:*",
40
+ "@deepseek-ai/dsh-bash-local": "workspace:*",
41
+ "@deepseek-ai/dsh-subprocess-local": "workspace:*",
42
+ "@deepseek-ai/cordis": "workspace:~",
43
+ "@deepseek-ai/dsh-commands": "workspace:*",
44
+ "@deepseek-ai/dsh-tools": "workspace:*",
45
+ "@deepseek-ai/dsh-agent": "workspace:*",
46
+ "@deepseek-ai/dsh-shell": "workspace:*",
47
+ "@deepseek-ai/dsh-home-paths": "workspace:*",
48
+ "@deepseek-ai/cordis-plugin-loader": "workspace:~",
49
+ "@deepseek-ai/cordis-plugin-include": "workspace:~",
50
+ "@deepseek-ai/dsh-session": "workspace:*",
51
+ "@deepseek-ai/dsh-system-prompt": "workspace:*",
52
+ "@deepseek-ai/dsh-llm": "workspace:*"
53
+ },
54
+ "dependencies": {
55
+ "@deepseek-ai/schemastery": "workspace:~"
56
+ }
57
+ }
@@ -20,14 +20,32 @@ export const SERVICE_API = [
20
20
  methods: [
21
21
  {
22
22
  signature: 'currentSelection(): ModelSelection',
23
- description: 'Read the current default model selection.',
23
+ description: 'Read the current default model selection. A first launch without a valid preference adopts the first complete Config default when it arrives; that process-local choice then stays cached.',
24
24
  parameters: [],
25
25
  returns: 'a detached provider, model, and optional reasoning selection.',
26
26
  },
27
27
  {
28
- signature: 'async saveSelection(next: ModelSelection): Promise<void>',
29
- description: 'Save the complete default model selection to the shared ChatCode Home file, or the owning profile entry in other deployments. Saves commit in submission order; a failed save rejects its caller without blocking later saves.',
30
- parameters: [{ name: 'next', description: 'resolved selection accepted by an entry point.' }],
28
+ signature: 'usesSharedPreference(): boolean',
29
+ description: 'Whether this product uses a process-local selection initialized from Home at startup.',
30
+ parameters: [],
31
+ returns: 'true for the integrated ChatCode CLI and Web profiles.',
32
+ },
33
+ {
34
+ signature: 'async resolveSelection(): Promise<ModelSelection>',
35
+ description: 'Resolve the cached route against the live catalog without reading or writing preferences. A first launch without a valid preference may adopt an advertised fallback until its first available default is resolved. Saved or initialized choices never switch implicitly. Catalog errors preserve the candidate for retry.',
36
+ parameters: [],
37
+ returns: 'the exact available selection, an unverified candidate, or an empty provider/model pair.',
38
+ },
39
+ {
40
+ signature: 'sharedDisplayName(): { provider: string; model: string; name: string } | undefined',
41
+ description: 'Read this process\'s cached display name without observing another process\'s saves.',
42
+ parameters: [],
43
+ returns: 'The saved provider/model/name tuple, or undefined for missing or invalid name metadata.',
44
+ },
45
+ {
46
+ signature: 'async saveSelection(next: ModelSelection, name?: string): Promise<void>',
47
+ description: 'Save the complete default model selection to the shared ChatCode Home file, or the owning profile entry in other deployments. Saves commit in submission order; a failed save rejects its caller without blocking later saves. A shared save uses the caller\'s already resolved catalog name without an additional lookup.',
48
+ parameters: [{ name: 'next', description: 'resolved selection accepted by an entry point.' }, { name: 'name', description: 'optional display name from the entry point\'s catalog.' }],
31
49
  returns: 'fulfillment after the preference or optional profile write settles.',
32
50
  },
33
51
  ],
@@ -618,6 +636,19 @@ export const SERVICE_API = [
618
636
  summary: 'Persist complete raw configs and apply them through the normal Loader path.',
619
637
  description: 'Persist complete raw configs and apply them through the normal Loader path.',
620
638
  methods: [
639
+ {
640
+ signature: 'async prepareDocument(namespace?: string): Promise<string>',
641
+ description: 'Materialize the document that owns a namespace, or the profile patch when no namespace is given.',
642
+ parameters: [{ name: 'namespace', description: 'Registered entry id; omitted selects the profile patch.' }],
643
+ returns: 'Existing owning document path; missing documents are initialized under the writer lock.',
644
+ throws: ['Error when the namespace is unavailable or file preparation fails.'],
645
+ },
646
+ {
647
+ signature: 'configureHome(fields: readonly string[], owner: Fiber): () => void',
648
+ description: 'Persist selected top-level fields in the home patch shared by profiles.',
649
+ parameters: [{ name: 'fields', description: 'Plugin-owned fields to save at user scope.' }, { name: 'owner', description: 'Activation whose Loader entry owns these fields.' }],
650
+ returns: 'Disposer restoring profile-scoped editing for this activation.',
651
+ },
621
652
  {
622
653
  signature: 'entries(): Entry[]',
623
654
  description: 'Addressable profile rows; nested Includes have independent configuration ownership.',
@@ -626,7 +657,7 @@ export const SERVICE_API = [
626
657
  },
627
658
  {
628
659
  signature: 'configuration(): Array<{ entry: Entry; inherited: Record<string, unknown>; override: Record<string, unknown> }>',
629
- description: 'Read inherited and explicit profile values for the active entries.',
660
+ description: 'Read inherited and explicit values from each entry\'s selected write layer.',
630
661
  parameters: [],
631
662
  returns: 'Detached layer values alongside their Loader entries.',
632
663
  },
@@ -1661,6 +1692,11 @@ export const SERVICE_API = [
1661
1692
  description: 'Parsed command-line overlays, applied above profile and home patches.',
1662
1693
  parameters: [],
1663
1694
  },
1695
+ {
1696
+ signature: 'readonly transformPatches?: (patches: PatchOptions[]) => PatchOptions[]',
1697
+ description: 'Launcher package aliases applied identically at startup and on every reload.',
1698
+ parameters: [],
1699
+ },
1664
1700
  {
1665
1701
  signature: 'readonly trustedVersionExemptions?: Readonly<Record<string, readonly string[]>>',
1666
1702
  description: 'Distributor-reviewed exact plugin/runtime pairs, additive to user-owned profile exemptions.',
@@ -1819,20 +1855,20 @@ export const SERVICE_API = [
1819
1855
  returns: 'authorized bounded Session search results.',
1820
1856
  },
1821
1857
  {
1822
- signature: '@Remote(\'create\') create(request: SessionCreateRequest): Promise<SessionCreateValue>',
1858
+ signature: '@Remote(\'create\') async create(request: SessionCreateRequest): Promise<SessionCreateValue>',
1823
1859
  description: 'Create or idempotently adopt one ordinary Session.',
1824
1860
  parameters: [{ name: 'request', description: 'requested identity, location, and Agent preset.' }],
1825
1861
  returns: 'the Session identity and resolved preset when configured.',
1826
1862
  },
1827
1863
  {
1828
1864
  signature: '@Remote(\'selectModel\') selectModel(request: SessionSelectModelRequest): Promise<SessionSelectModelValue>',
1829
- description: 'Select one Session-local model after explicitly resuming the Session; save the default in the background.',
1865
+ description: 'Select a model after explicitly resuming the Session and awaiting default persistence.',
1830
1866
  parameters: [{ name: 'request', description: 'Session identity and requested model selection.' }],
1831
- returns: 'the normalized selection installed for the Session, without waiting for default persistence.',
1867
+ returns: 'the normalized selection after the shared save and Session selection succeed.',
1832
1868
  },
1833
1869
  {
1834
1870
  signature: '@Remote async initializeDefaultModel(): Promise<void>',
1835
- description: 'Select the first available account model after login when no provider API key is configured.',
1871
+ description: 'Initialize legacy account deployments without changing a product process\'s cached selection.',
1836
1872
  parameters: [],
1837
1873
  returns: 'after saving the first available model or retaining the existing default.',
1838
1874
  },
@@ -1911,7 +1947,7 @@ export const SERVICE_API = [
1911
1947
  returns: 'one chronological page.',
1912
1948
  },
1913
1949
  {
1914
- signature: '@Remote({ mode: \'stream\' }) follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>',
1950
+ signature: '@Remote({ mode: \'stream\' }) async *follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>',
1915
1951
  description: 'Follow one Session log from its opening or resume cursor.',
1916
1952
  parameters: [{ name: 'request', description: 'durable address and last committed sequence already held by the caller.' }, { name: 'signal', description: 'cancellation owned by the Remote stream carrier.' }],
1917
1953
  returns: 'a complete opening snapshot followed by gap-free durable event frames and optional cursorless assistant-stream frames.',
@@ -1999,6 +2035,13 @@ export const SERVICE_API = [
1999
2035
  parameters: [{ name: 'options', description: 'optional cancellation.' }],
2000
2036
  returns: 'one snapshot per stored session.',
2001
2037
  },
2038
+ {
2039
+ signature: 'prepareDeletion(sessionIds: readonly SessionId[]): Promise<SessionDeletion>',
2040
+ description: 'Reserve every target\'s write ownership before any deletion is committed. The caller persists its recovery journal while this reservation is held, calls commit, and always disposes it to release ownership. Backends must retain deletion identities so old generations cannot reappear or be recreated.',
2041
+ parameters: [{ name: 'sessionIds', description: 'complete deletion scope, including owned descendants.' }],
2042
+ returns: 'an exclusive deletion reservation; missing targets are idempotent.',
2043
+ throws: ['when a writer holds any target, or the backend does not support deletion.'],
2044
+ },
2002
2045
  ],
2003
2046
  },
2004
2047
  {
@@ -2396,10 +2439,10 @@ export const SERVICE_API = [
2396
2439
  throws: ['If this instance already has a registered policy.'],
2397
2440
  },
2398
2441
  {
2399
- signature: 'prepareDocument(): Promise<string>',
2400
- description: 'Locate the profile patch for native editing.',
2401
- parameters: [],
2402
- returns: 'The existing profile patch path.',
2442
+ signature: 'prepareDocument(namespace?: string): Promise<string>',
2443
+ description: 'Locate and materialize the owning patch for native editing.',
2444
+ parameters: [{ name: 'namespace', description: 'Optional namespace; shared entries resolve to the home-level document.' }],
2445
+ returns: 'The existing owning patch path.',
2403
2446
  },
2404
2447
  {
2405
2448
  signature: 'describe(options?: SettingsDescribeOptions): SettingsDescriptor[]',
@@ -2464,6 +2507,13 @@ export const SERVICE_API = [
2464
2507
  returns: 'confirmation after the native opener accepts the document.',
2465
2508
  throws: ['RemoteError when no document exists, preparation fails, or opening fails.'],
2466
2509
  },
2510
+ {
2511
+ signature: '@Remote async openNamespaceDocument(ns: string, signal: AbortSignal): Promise<SettingsDocumentOpenValue>',
2512
+ description: 'Open the document owning a registered namespace, including shared home-level model configuration.',
2513
+ parameters: [{ name: 'ns', description: 'Registered settings namespace; the Host resolves its owning path.' }, { name: 'signal', description: 'Caller lifetime before native handoff.' }],
2514
+ returns: 'Confirmation once the native editor accepts the document.',
2515
+ throws: ['RemoteError for invalid namespaces, preparation failure or rejected native handoff.'],
2516
+ },
2467
2517
  ],
2468
2518
  },
2469
2519
  {
@@ -3495,6 +3545,18 @@ export const SERVICE_API = [
3495
3545
  parameters: [{ name: 'request', description: 'Session identity to unarchive.' }],
3496
3546
  returns: 'the complete resulting archive set.',
3497
3547
  },
3548
+ {
3549
+ signature: '@Remote(\'sessionDeletionScope\') sessionDeletionScope(request: WorkspaceSessionDeletionPreviewRequest): Promise<WorkspaceSessionDeletionValue>',
3550
+ description: 'Preview the archived root and owned subagent Sessions covered by deletion.',
3551
+ parameters: [{ name: 'request', description: 'archived root to preview.' }],
3552
+ returns: 'complete deletion scope for confirmation.',
3553
+ },
3554
+ {
3555
+ signature: '@Remote(\'deleteSession\') deleteSession(request: WorkspaceSessionDeletionRequest): Promise<WorkspaceSessionDeletionValue>',
3556
+ description: 'Permanently remove an archived Session and its confirmed owned subagents.',
3557
+ parameters: [{ name: 'request', description: 'archived root and confirmed scope.' }],
3558
+ returns: 'identities permanently removed.',
3559
+ },
3498
3560
  {
3499
3561
  signature: '@Remote(\'pinSession\') pinSession(request: WorkspacePinSessionRequest): Promise<WorkspacePinValue>',
3500
3562
  description: 'Surface one known unarchived Session ahead of unpinned Sessions.',
@@ -3558,6 +3620,11 @@ export const SERVICE_API = [
3558
3620
  summary: 'Durable workspace registry.',
3559
3621
  description: 'Durable workspace registry. Startup waits for `sessionPersistence`, builds one canonical-cwd header index, and completes the one-time history bootstrap before the service becomes active. The persistence dependency is mandatory so an unavailable peer can never be mistaken for an empty history and commit the initialized marker.',
3560
3622
  methods: [
3623
+ {
3624
+ signature: 'refresh(): Promise<void>',
3625
+ description: 'Refresh shared membership, pins and archives before reading a new view; never auto-attach detached sessions.',
3626
+ parameters: [],
3627
+ },
3561
3628
  {
3562
3629
  signature: 'async create(path: string, title?: string): Promise<Workspace>',
3563
3630
  description: 'Create or reuse a workspace for an existing directory. The fully qualified path is canonicalized through `fs.realpath`; a relative, nonexistent, or non-directory path rejects. Repeated calls for the same canonical path return the existing entity without changing its title. A newly created workspace is prepended to the durable registry order. Different canonical paths may share a display title.',
@@ -3594,6 +3661,18 @@ export const SERVICE_API = [
3594
3661
  parameters: [{ name: 'id', description: 'Workspace to move.' }, { name: 'beforeId', description: 'Workspace anchor; omitted appends.' }],
3595
3662
  returns: 'the complete committed workspace order.',
3596
3663
  },
3664
+ {
3665
+ signature: 'deleteSession(sessionId: SessionId, expectedIds?: readonly SessionId[]): Promise<readonly SessionId[]>',
3666
+ description: 'Permanently delete an archived, inactive root and its owned subagent descendants. Independent forks are preserved. Reserve every writer before recording a recovery marker; a failure after that marker is retried on refresh or restart.',
3667
+ parameters: [{ name: 'sessionId', description: 'archived root identity; repeated deletion is idempotent.' }, { name: 'expectedIds', description: 'identities confirmed by the user; a changed scope refuses deletion.' }],
3668
+ returns: 'deleted root and descendant identities after durable cleanup.',
3669
+ },
3670
+ {
3671
+ signature: 'sessionDeletionScope(sessionId: SessionId): Promise<readonly SessionId[]>',
3672
+ description: 'Preview the root and owned descendants without opening their histories.',
3673
+ parameters: [{ name: 'sessionId', description: 'archived root to preview.' }],
3674
+ returns: 'identities to show in the deletion confirmation.',
3675
+ },
3597
3676
  {
3598
3677
  signature: 'archiveSession(sessionId: SessionId, options: ArchiveSessionOptions = {}): Promise<void>',
3599
3678
  description: 'Archive one session durably. The session must exist (live or in session persistence); its workspace accounting — or lack of one — is irrelevant. Without `stopActivity` the session must also be inactive: the `workspace/session-activity` waterfall is asked once, and any reported activity rejects with WorkspaceActiveSessionError before anything is written. With `stopActivity` the archive is written without an activity check, and the `workspace/session-stop` providers are then asked to stop the session\'s work: the durable archive set is what a provider\'s `agent/pre-step` gate reads, so every wake the stops induce is already blocked. Archiving drops the session\'s pin in the same durable write (pinning and archival are mutually exclusive). An already archived id resolves without writing, asking, or stopping.',
@@ -3765,6 +3844,14 @@ export const EVENT_API = [
3765
3844
  description: 'One Agent failed outside a durable turn position.',
3766
3845
  parameters: [{ name: 'sessionId', description: 'Agent and Session identity.' }, { name: 'message', description: 'user-safe failure chain.' }],
3767
3846
  },
3847
+ {
3848
+ name: 'api-session/model-updated',
3849
+ mode: 'emit',
3850
+ signature: '\'api-session/model-updated\'(): void',
3851
+ summary: 'The Host process committed a user-selected default; browser catalogs must reload from that process.',
3852
+ description: 'The Host process committed a user-selected default; browser catalogs must reload from that process.',
3853
+ parameters: [],
3854
+ },
3768
3855
  {
3769
3856
  name: 'api-session/removed',
3770
3857
  mode: 'emit',
@@ -4061,6 +4148,30 @@ export const EVENT_API = [
4061
4148
  description: 'Creation announcement during session publication. A synchronous throw vetoes and rolls back with a paired disposal; detach requested during dispatch is deferred. A returned-promise rejection is logged but cannot retroactively veto this synchronous boundary. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only sessions entered through that agent\'s context.',
4062
4149
  parameters: [{ name: 'session', description: 'the session just entered and announced.' }],
4063
4150
  },
4151
+ {
4152
+ name: 'session/delete-release',
4153
+ mode: 'parallel',
4154
+ signature: '\'session/delete-release\'(request: { readonly sessionIds: readonly SessionId[] }): Promise<void> | void',
4155
+ summary: 'Ask capability owners to release idle, archived Sessions before writer reservation.',
4156
+ description: 'Ask capability owners to release idle, archived Sessions before writer reservation. Owners release only handles they own; foreign or running Sessions remain protected.',
4157
+ parameters: [{ name: 'request', description: 'confirmed root and owned subagent identities.' }],
4158
+ },
4159
+ {
4160
+ name: 'session/deleted',
4161
+ mode: 'emit',
4162
+ signature: '\'session/deleted\'(sessionIds: readonly SessionId[]): void',
4163
+ summary: 'Permanent deletion observed locally or from shared storage.',
4164
+ description: 'Permanent deletion observed locally or from shared storage.',
4165
+ parameters: [{ name: 'sessionIds', description: 'removed identities, including owned descendants.' }],
4166
+ },
4167
+ {
4168
+ name: 'session/deleting',
4169
+ mode: 'parallel',
4170
+ signature: '\'session/deleting\'(request: { readonly sessionIds: readonly SessionId[] }): Promise<void> | void',
4171
+ summary: 'Permanently remove secondary Session records after stored payload deletion.',
4172
+ description: 'Permanently remove secondary Session records after stored payload deletion. Listeners are idempotent; failures leave the deletion journal pending for recovery.',
4173
+ parameters: [{ name: 'request', description: 'confirmed root and owned subagent identities.' }],
4174
+ },
4064
4175
  {
4065
4176
  name: 'session/disposed',
4066
4177
  mode: 'emit',
@@ -4261,6 +4372,14 @@ export const EVENT_API = [
4261
4372
  description: 'A workflow run started — the script\'s meta block validated, the body about to execute. Paired with Events[\'workflow/end\'].',
4262
4373
  parameters: [{ name: 'info', description: 'the run\'s identity snapshot (id + meta).' }],
4263
4374
  },
4375
+ {
4376
+ name: 'workspace/refreshed',
4377
+ mode: 'emit',
4378
+ signature: '\'workspace/refreshed\'(): void',
4379
+ summary: 'A refreshed cross-process workspace projection is ready for consumers.',
4380
+ description: 'A refreshed cross-process workspace projection is ready for consumers.',
4381
+ parameters: [],
4382
+ },
4264
4383
  {
4265
4384
  name: 'workspace/session-activity',
4266
4385
  mode: 'waterfall',
@@ -4942,7 +5061,7 @@ export const TYPE_API = [
4942
5061
  },
4943
5062
  {
4944
5063
  name: 'Domain',
4945
- declaration: 'export interface Domain<S extends DomainSpec> {\n readonly name: string;\n readonly global: DomainGlobalHandleOf<S>;\n table<N extends keyof S[\'tables\'] & string>(name: N): KvTable<TableKeyOf<S, N>, TableValueOf<S, N>>;\n close(): Promise<void>;\n}',
5064
+ declaration: 'export interface Domain<S extends DomainSpec> {\n readonly name: string;\n readonly global: DomainGlobalHandleOf<S>;\n refresh(): Promise<boolean>;\n exclusive<T>(operation: () => Promise<T>): Promise<T>;\n table<N extends keyof S[\'tables\'] & string>(name: N): KvTable<TableKeyOf<S, N>, TableValueOf<S, N>>;\n close(): Promise<void>;\n}',
4946
5065
  },
4947
5066
  {
4948
5067
  name: 'DomainChanged',
@@ -4974,7 +5093,7 @@ export const TYPE_API = [
4974
5093
  },
4975
5094
  {
4976
5095
  name: 'DomainImpl',
4977
- declaration: 'export class DomainImpl {\n readonly name: string;\n constructor(private readonly ctx: Context, spec: DomainSpec, private readonly unit: KvUnit, records: Map<string, Map<string, unknown>>, globalValue: unknown, private readonly onClosed: () => void, readStored?: (table: string, key: string) => Promise<unknown>);\n get global(): DomainGlobal<unknown>;\n table(name: string): KvTable<string, unknown>;\n close(): Promise<void>;\n}',
5096
+ declaration: 'export class DomainImpl {\n readonly name: string;\n constructor(private readonly ctx: Context, private readonly spec: DomainSpec, private readonly unit: KvUnit, records: Map<string, Map<string, unknown>>, globalValue: unknown, private readonly onClosed: () => void, readStored?: (table: string, key: string) => Promise<unknown>);\n get global(): DomainGlobal<unknown>;\n table(name: string): KvTable<string, unknown>;\n refresh(): Promise<boolean>;\n exclusive<T>(operation: () => Promise<T>): Promise<T>;\n close(): Promise<void>;\n}',
4978
5097
  },
4979
5098
  {
4980
5099
  name: 'DomainSpec',
@@ -5430,7 +5549,7 @@ export const TYPE_API = [
5430
5549
  },
5431
5550
  {
5432
5551
  name: 'KvUnit',
5433
- declaration: 'export interface KvUnit {\n loadAll(): Promise<{\n tables: Record<string, Record<string, unknown>>;\n global: unknown;\n }>;\n readRecord?(table: string, key: string): Promise<unknown>;\n putRecord(table: string, key: string, value: unknown): Promise<void>;\n deleteRecord(table: string, key: string): Promise<void>;\n backupRecord?(table: string, key: string): Promise<string>;\n setGlobal(value: unknown): Promise<void>;\n close(): Promise<void>;\n}',
5552
+ declaration: 'export interface KvUnit {\n loadAll(): Promise<{\n tables: Record<string, Record<string, unknown>>;\n global: unknown;\n }>;\n refresh?(): Promise<void>;\n exclusive?<T>(operation: () => Promise<T>): Promise<T>;\n readRecord?(table: string, key: string): Promise<unknown>;\n putRecord(table: string, key: string, value: unknown): Promise<void>;\n deleteRecord(table: string, key: string): Promise<void>;\n backupRecord?(table: string, key: string): Promise<string>;\n setGlobal(value: unknown): Promise<void>;\n close(): Promise<void>;\n}',
5434
5553
  },
5435
5554
  {
5436
5555
  name: 'KvUnitDescriptor',
@@ -5670,7 +5789,7 @@ export const TYPE_API = [
5670
5789
  },
5671
5790
  {
5672
5791
  name: 'ModelCatalog',
5673
- declaration: 'export interface ModelCatalog {\n readonly default: ModelSelection;\n readonly routableProviders: readonly string[];\n readonly groups: readonly ModelProviderGroup[];\n readonly failures: readonly ModelCatalogFailure[];\n}',
5792
+ declaration: 'export interface ModelCatalog {\n readonly default: ModelSelection;\n readonly selectionScope?: \'process\';\n readonly savedDisplayName?: {\n readonly provider: string;\n readonly model: string;\n readonly name: string;\n };\n readonly routableProviders: readonly string[];\n readonly groups: readonly ModelProviderGroup[];\n readonly failures: readonly ModelCatalogFailure[];\n}',
5674
5793
  },
5675
5794
  {
5676
5795
  name: 'ModelCatalogFailure',
@@ -5678,7 +5797,7 @@ export const TYPE_API = [
5678
5797
  },
5679
5798
  {
5680
5799
  name: 'ModelCatalogModel',
5681
- declaration: 'export interface ModelCatalogModel {\n readonly id: string;\n readonly name: string;\n readonly description?: string;\n readonly reasoning?: ModelReasoning;\n}',
5800
+ declaration: 'export interface ModelCatalogModel {\n readonly id: string;\n readonly name: string;\n readonly inputModalities?: readonly (\'text\' | \'image\')[];\n readonly description?: string;\n readonly reasoning?: ModelReasoning;\n}',
5682
5801
  },
5683
5802
  {
5684
5803
  name: 'ModelMessageSource',
@@ -5694,7 +5813,7 @@ export const TYPE_API = [
5694
5813
  },
5695
5814
  {
5696
5815
  name: 'ModelProviderGroup',
5697
- declaration: 'export interface ModelProviderGroup {\n readonly id: string;\n readonly name: string;\n readonly models: readonly ModelCatalogModel[];\n}',
5816
+ declaration: 'export interface ModelProviderGroup {\n readonly id: string;\n readonly name: string;\n readonly custom?: boolean;\n readonly models: readonly ModelCatalogModel[];\n}',
5698
5817
  },
5699
5818
  {
5700
5819
  name: 'ModelReasoning',
@@ -6022,7 +6141,7 @@ export const TYPE_API = [
6022
6141
  },
6023
6142
  {
6024
6143
  name: 'RecordTable',
6025
- declaration: 'export type RecordTable<K extends string, V> = Pick<KvTable<K, V>, \'read\' | \'put\'>;',
6144
+ declaration: 'export type RecordTable<K extends string, V> = Pick<KvTable<K, V>, \'read\' | \'put\' | \'delete\'>;',
6026
6145
  },
6027
6146
  {
6028
6147
  name: 'RecurringScheduleRecord',
@@ -6364,6 +6483,10 @@ export const TYPE_API = [
6364
6483
  name: 'SessionCreateValue',
6365
6484
  declaration: 'export interface SessionCreateValue {\n readonly sessionId: SessionId;\n readonly agentPreset?: string;\n}',
6366
6485
  },
6486
+ {
6487
+ name: 'SessionDeletion',
6488
+ declaration: 'export interface SessionDeletion extends AsyncDisposable {\n commit(): Promise<void>;\n}',
6489
+ },
6367
6490
  {
6368
6491
  name: 'SessionEvent',
6369
6492
  declaration: 'export type SessionEvent<T extends SessionEventType = SessionEventType> = {\n [K in SessionEventType]: {\n type: K;\n seq: SessionSeq;\n time: number;\n data: SessionEventMap[K];\n ignorable?: true;\n } & (K extends SurfaceEventType ? SurfaceIntent<K> : {\n surfaceOp?: never;\n sourceEventSeqs?: never;\n });\n}[T];',
@@ -6946,7 +7069,7 @@ export const TYPE_API = [
6946
7069
  },
6947
7070
  {
6948
7071
  name: 'SkillSource',
6949
- declaration: 'export type SkillSource = \'project-dsh\' | \'project-agents\' | \'runtime\' | \'user-dsh\' | \'user-agents\' | \'custom\' | \'bundled\' | (string & {});',
7072
+ declaration: 'export type SkillSource = \'project-chatcode\' | \'project-dsh\' | \'project-agents\' | \'runtime\' | \'user-dsh\' | \'user-agents\' | \'custom\' | \'bundled\' | (string & {});',
6950
7073
  },
6951
7074
  {
6952
7075
  name: 'SkillSummary',
@@ -7984,6 +8107,18 @@ export const TYPE_API = [
7984
8107
  name: 'WorkspaceRenameRequest',
7985
8108
  declaration: 'export interface WorkspaceRenameRequest {\n readonly workspaceId: WorkspaceId;\n readonly title: string;\n}',
7986
8109
  },
8110
+ {
8111
+ name: 'WorkspaceSessionDeletionPreviewRequest',
8112
+ declaration: 'export interface WorkspaceSessionDeletionPreviewRequest {\n readonly sessionId: SessionId;\n}',
8113
+ },
8114
+ {
8115
+ name: 'WorkspaceSessionDeletionRequest',
8116
+ declaration: 'export interface WorkspaceSessionDeletionRequest extends WorkspaceSessionDeletionPreviewRequest {\n readonly expectedSessionIds: readonly SessionId[];\n}',
8117
+ },
8118
+ {
8119
+ name: 'WorkspaceSessionDeletionValue',
8120
+ declaration: 'export interface WorkspaceSessionDeletionValue {\n readonly sessionIds: readonly SessionId[];\n}',
8121
+ },
7987
8122
  {
7988
8123
  name: 'WorkspaceUnarchiveSessionRequest',
7989
8124
  declaration: 'export interface WorkspaceUnarchiveSessionRequest {\n readonly sessionId: SessionId;\n}',