@cloudcli-ai/cloudcli 1.37.3 → 1.37.4

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 (295) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/{abnfDiagram-N423BO3Z-CJntskwA.js → abnfDiagram-N423BO3Z-Dmkwx38H.js} +1 -1
  3. package/dist/assets/{arc-CIfH4uMN.js → arc-DLe9AYuO.js} +1 -1
  4. package/dist/assets/{architectureDiagram-T3A2C74G-_IpEkukg.js → architectureDiagram-T3A2C74G-CBbbbNUW.js} +1 -1
  5. package/dist/assets/{blockDiagram-VBNYF7ZC-BttxrpgZ.js → blockDiagram-VBNYF7ZC-CaMEaWu4.js} +1 -1
  6. package/dist/assets/{c4Diagram-5PPSVZJV-g51dSRr1.js → c4Diagram-5PPSVZJV-DhjMgNnR.js} +1 -1
  7. package/dist/assets/channel-CWrmwsir.js +1 -0
  8. package/dist/assets/{chunk-2GRJ4B5K-D_-LbQUa.js → chunk-2GRJ4B5K-yjl3-F-i.js} +1 -1
  9. package/dist/assets/{chunk-2Q5K7J3B-BtlHzwaO.js → chunk-2Q5K7J3B-DsAYaWEP.js} +1 -1
  10. package/dist/assets/{chunk-5RXB4S5H-UzkpvpAT.js → chunk-5RXB4S5H-Bt5qmqOX.js} +1 -1
  11. package/dist/assets/{chunk-5VM5RSS4-BKwx5Gag.js → chunk-5VM5RSS4-yWrWVvUt.js} +1 -1
  12. package/dist/assets/{chunk-6Q2QTUOP-D_KEBH5f.js → chunk-6Q2QTUOP-Dt66K5xb.js} +1 -1
  13. package/dist/assets/{chunk-GF5L2VYU-rK2DGyto.js → chunk-GF5L2VYU-DA0vzaj4.js} +1 -1
  14. package/dist/assets/{chunk-JWPE2WC7-CeBl_N9i.js → chunk-JWPE2WC7-CUkbx96V.js} +1 -1
  15. package/dist/assets/{chunk-KBJHAD2P-BiQLWVIr.js → chunk-KBJHAD2P-DWKxx1WH.js} +1 -1
  16. package/dist/assets/{chunk-RYQCIY6F-C1knVGV5.js → chunk-RYQCIY6F-BqluplN0.js} +1 -1
  17. package/dist/assets/{chunk-XXDRQBXY-CtKbJkvF.js → chunk-XXDRQBXY-DelKg3Xf.js} +1 -1
  18. package/dist/assets/classDiagram-JCYQIIEL-COAGCC6w.js +1 -0
  19. package/dist/assets/classDiagram-v2-OCEON4UE-COAGCC6w.js +1 -0
  20. package/dist/assets/{cose-bilkent-JH36ORCC-DjX8y40Z.js → cose-bilkent-JH36ORCC-DHV93-Em.js} +1 -1
  21. package/dist/assets/{cynefin-VYW2F7L2-DM6YeRba.js → cynefin-VYW2F7L2-B9HZgoGX.js} +1 -1
  22. package/dist/assets/{cynefinDiagram-MW4NZA55-wZJ-vy5B.js → cynefinDiagram-MW4NZA55-hFjjEQg8.js} +1 -1
  23. package/dist/assets/{dagre-VZM6K2ZE-BzP0ejkH.js → dagre-VZM6K2ZE-CpeVOC7V.js} +1 -1
  24. package/dist/assets/{diagram-7IWD3JNH-BTL_j23J.js → diagram-7IWD3JNH-D0H1UoRA.js} +1 -1
  25. package/dist/assets/{diagram-B4RE2ZJO-Cf1Norgu.js → diagram-B4RE2ZJO-6Y7BQUup.js} +1 -1
  26. package/dist/assets/{diagram-LBJQPF4R-DPiUEKr-.js → diagram-LBJQPF4R-C0nNOwht.js} +1 -1
  27. package/dist/assets/{diagram-Q27KOJAE-CTcTpiz5.js → diagram-Q27KOJAE-En6QlOVX.js} +1 -1
  28. package/dist/assets/{diagram-UB23O5K3-DPMSdYm0.js → diagram-UB23O5K3-CmPiNeGD.js} +1 -1
  29. package/dist/assets/{ebnfDiagram-BXEA7PRR-7yvD6uiF.js → ebnfDiagram-BXEA7PRR-Bygzp1Qt.js} +1 -1
  30. package/dist/assets/{erDiagram-JOGREHBK-CfgeDoV6.js → erDiagram-JOGREHBK-CwScRfzl.js} +1 -1
  31. package/dist/assets/{flowDiagram-UKHOOZJN-B27ng5zu.js → flowDiagram-UKHOOZJN-bKX-0xP6.js} +1 -1
  32. package/dist/assets/{ganttDiagram-PKOTCBZU-CcC6b_7t.js → ganttDiagram-PKOTCBZU-DtZPKXGd.js} +1 -1
  33. package/dist/assets/{gitGraphDiagram-DS77QQ5N-BX5kPGrO.js → gitGraphDiagram-DS77QQ5N-CUOtdL1o.js} +1 -1
  34. package/dist/assets/index-CdjIFxM2.js +5004 -0
  35. package/dist/assets/index-DgafhGTF.css +32 -0
  36. package/dist/assets/{infoDiagram-6WML65LV-CUP-SlN4.js → infoDiagram-6WML65LV-ciRQTS0h.js} +1 -1
  37. package/dist/assets/{ishikawaDiagram-WSZJBQD7-BTTDhOpX.js → ishikawaDiagram-WSZJBQD7-CgjhQZ84.js} +1 -1
  38. package/dist/assets/{journeyDiagram-NVQOT4AX-ARXcc61m.js → journeyDiagram-NVQOT4AX-BsbQSeIW.js} +1 -1
  39. package/dist/assets/{kanban-definition-27J2QSJJ-BieMpqMA.js → kanban-definition-27J2QSJJ-CrwzY9Jw.js} +1 -1
  40. package/dist/assets/{linear-61vxjRnP.js → linear-BUaCDr6l.js} +1 -1
  41. package/dist/assets/{mermaid.core-nhnwkfQx.js → mermaid.core-ClgdUU0j.js} +5 -5
  42. package/dist/assets/{mindmap-definition-FAOFIHXS-Cm6x5vT1.js → mindmap-definition-FAOFIHXS-BictljY1.js} +1 -1
  43. package/dist/assets/{pegDiagram-VL7TDLO6-CcYBq_9H.js → pegDiagram-VL7TDLO6-BXdByy_U.js} +1 -1
  44. package/dist/assets/{pieDiagram-7S7Q4E2Y-CfvIjfzo.js → pieDiagram-7S7Q4E2Y-uZsMfkRX.js} +1 -1
  45. package/dist/assets/{quadrantDiagram-CIZ2JOQS-SgYoWPNb.js → quadrantDiagram-CIZ2JOQS-7lCv4QIj.js} +1 -1
  46. package/dist/assets/{railroadDiagram-AXF67PYL-D2Mu5E_f.js → railroadDiagram-AXF67PYL-07dxIWbi.js} +1 -1
  47. package/dist/assets/{requirementDiagram-LRYGKXZP-Azwe_k4Q.js → requirementDiagram-LRYGKXZP-Cb31Yv1_.js} +1 -1
  48. package/dist/assets/{sankeyDiagram-W5VNT64P-DN1Ju3PA.js → sankeyDiagram-W5VNT64P-X0YPSyF9.js} +1 -1
  49. package/dist/assets/{sequenceDiagram-SI44F4Z6-Bj4qC34S.js → sequenceDiagram-SI44F4Z6-BdBxSIlP.js} +1 -1
  50. package/dist/assets/{sizeCapture-X5ZJPWSS-Co4PdklG.js → sizeCapture-X5ZJPWSS-DQM5xAyD.js} +1 -1
  51. package/dist/assets/{stateDiagram-OKZ733FA-nOvL9dRC.js → stateDiagram-OKZ733FA-DJ3xkLUF.js} +1 -1
  52. package/dist/assets/{stateDiagram-v2-UEYNNEHI-DNv8ppw7.js → stateDiagram-v2-UEYNNEHI-vAaE4zNo.js} +1 -1
  53. package/dist/assets/{swimlanes-SLNWSIFB-CCK3wMid.js → swimlanes-SLNWSIFB-rjfYdW0w.js} +2 -2
  54. package/dist/assets/swimlanesDiagram-ULZ7WXOC-TV2IF4Nq.js +8 -0
  55. package/dist/assets/{timeline-definition-Z64GVDOM-BC29RNFm.js → timeline-definition-Z64GVDOM-DZMra5do.js} +1 -1
  56. package/dist/assets/{vennDiagram-T6HMQDX7-pZlZCtEo.js → vennDiagram-T6HMQDX7-BevD8uu0.js} +1 -1
  57. package/dist/assets/{wardleyDiagram-T6FBY63Y-De8k2-zM.js → wardleyDiagram-T6FBY63Y-DsIyXB7z.js} +1 -1
  58. package/dist/assets/{xychartDiagram-ELKLHX3M-Bk8ykH0w.js → xychartDiagram-ELKLHX3M-G3PlF3ko.js} +1 -1
  59. package/dist/index.html +2 -2
  60. package/dist-server/server/index.js +4 -1
  61. package/dist-server/server/index.js.map +1 -1
  62. package/dist-server/server/modules/agent/agent.module.js +9 -2
  63. package/dist-server/server/modules/agent/agent.module.js.map +1 -1
  64. package/dist-server/server/modules/agent/agent.routes.js +175 -128
  65. package/dist-server/server/modules/agent/agent.routes.js.map +1 -1
  66. package/dist-server/server/modules/agent/tests/agent-run-registration.test.js +306 -0
  67. package/dist-server/server/modules/agent/tests/agent-run-registration.test.js.map +1 -0
  68. package/dist-server/server/modules/agent/tests/agent.routes.test.js +18 -1
  69. package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -1
  70. package/dist-server/server/modules/database/migrations.js +13 -0
  71. package/dist-server/server/modules/database/migrations.js.map +1 -1
  72. package/dist-server/server/modules/database/repositories/provider-models.js +60 -6
  73. package/dist-server/server/modules/database/repositories/provider-models.js.map +1 -1
  74. package/dist-server/server/modules/database/repositories/sessions.db.js +7 -0
  75. package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
  76. package/dist-server/server/modules/database/schema.js +7 -0
  77. package/dist-server/server/modules/database/schema.js.map +1 -1
  78. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js +99 -0
  79. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js.map +1 -1
  80. package/dist-server/server/modules/file-tree/file-tree.module.js +2 -1
  81. package/dist-server/server/modules/file-tree/file-tree.module.js.map +1 -1
  82. package/dist-server/server/modules/file-tree/file-tree.service.js +44 -7
  83. package/dist-server/server/modules/file-tree/file-tree.service.js.map +1 -1
  84. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +126 -1
  85. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js.map +1 -1
  86. package/dist-server/server/modules/git/git-branch-diff.service.js +142 -0
  87. package/dist-server/server/modules/git/git-branch-diff.service.js.map +1 -0
  88. package/dist-server/server/modules/git/git-branch.service.js.map +1 -1
  89. package/dist-server/server/modules/git/git.routes.js +92 -5
  90. package/dist-server/server/modules/git/git.routes.js.map +1 -1
  91. package/dist-server/server/modules/git/tests/git-branch-diff.service.test.js +160 -0
  92. package/dist-server/server/modules/git/tests/git-branch-diff.service.test.js.map +1 -0
  93. package/dist-server/server/modules/projects/project-clone.routes.js +108 -0
  94. package/dist-server/server/modules/projects/project-clone.routes.js.map +1 -0
  95. package/dist-server/server/modules/projects/projects.routes.js +13 -66
  96. package/dist-server/server/modules/projects/projects.routes.js.map +1 -1
  97. package/dist-server/server/modules/projects/services/project-clone-request.service.js +36 -0
  98. package/dist-server/server/modules/projects/services/project-clone-request.service.js.map +1 -0
  99. package/dist-server/server/modules/projects/services/project-clone.service.js +86 -32
  100. package/dist-server/server/modules/projects/services/project-clone.service.js.map +1 -1
  101. package/dist-server/server/modules/projects/tests/project-clone.routes.test.js +191 -0
  102. package/dist-server/server/modules/projects/tests/project-clone.routes.test.js.map +1 -0
  103. package/dist-server/server/modules/projects/tests/project-clone.service.test.js +275 -0
  104. package/dist-server/server/modules/projects/tests/project-clone.service.test.js.map +1 -1
  105. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +42 -8
  106. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
  107. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +6 -16
  108. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
  109. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js +305 -16
  110. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -1
  111. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +38 -11
  112. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -1
  113. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +686 -77
  114. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
  115. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +31 -0
  116. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -1
  117. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js +11 -4
  118. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -1
  119. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +57 -0
  120. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
  121. package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js +9 -2
  122. package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js.map +1 -1
  123. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js +8 -2
  124. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js.map +1 -1
  125. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +16 -3
  126. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -1
  127. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js +5 -2
  128. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js.map +1 -1
  129. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +19 -2
  130. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -1
  131. package/dist-server/server/modules/providers/provider.routes.js +110 -2
  132. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  133. package/dist-server/server/modules/providers/services/claude-cli-liveness.service.js +100 -0
  134. package/dist-server/server/modules/providers/services/claude-cli-liveness.service.js.map +1 -0
  135. package/dist-server/server/modules/providers/services/claude-settings-permissions.service.js +97 -0
  136. package/dist-server/server/modules/providers/services/claude-settings-permissions.service.js.map +1 -0
  137. package/dist-server/server/modules/providers/services/provider-capabilities.service.js +9 -1
  138. package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -1
  139. package/dist-server/server/modules/providers/services/provider-models.service.js +59 -5
  140. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
  141. package/dist-server/server/modules/providers/services/provider-runtime.service.js +8 -0
  142. package/dist-server/server/modules/providers/services/provider-runtime.service.js.map +1 -1
  143. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +2 -4
  144. package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -1
  145. package/dist-server/server/modules/providers/services/session-history-cache.service.js +4 -0
  146. package/dist-server/server/modules/providers/services/session-history-cache.service.js.map +1 -1
  147. package/dist-server/server/modules/providers/services/sessions.service.js +73 -3
  148. package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
  149. package/dist-server/server/modules/providers/tests/claude-auth.test.js +131 -0
  150. package/dist-server/server/modules/providers/tests/claude-auth.test.js.map +1 -1
  151. package/dist-server/server/modules/providers/tests/claude-background-work.test.js +172 -0
  152. package/dist-server/server/modules/providers/tests/claude-background-work.test.js.map +1 -0
  153. package/dist-server/server/modules/providers/tests/claude-compaction.test.js +84 -0
  154. package/dist-server/server/modules/providers/tests/claude-compaction.test.js.map +1 -0
  155. package/dist-server/server/modules/providers/tests/claude-message-model.test.js +123 -0
  156. package/dist-server/server/modules/providers/tests/claude-message-model.test.js.map +1 -0
  157. package/dist-server/server/modules/providers/tests/claude-runtime-hold.test.js +265 -0
  158. package/dist-server/server/modules/providers/tests/claude-runtime-hold.test.js.map +1 -0
  159. package/dist-server/server/modules/providers/tests/claude-sessions.test.js +1368 -12
  160. package/dist-server/server/modules/providers/tests/claude-sessions.test.js.map +1 -1
  161. package/dist-server/server/modules/providers/tests/claude-settings-permissions.test.js +228 -0
  162. package/dist-server/server/modules/providers/tests/claude-settings-permissions.test.js.map +1 -0
  163. package/dist-server/server/modules/providers/tests/codex-models.test.js +25 -0
  164. package/dist-server/server/modules/providers/tests/codex-models.test.js.map +1 -0
  165. package/dist-server/server/modules/providers/tests/codex-runtime.test.js +32 -0
  166. package/dist-server/server/modules/providers/tests/codex-runtime.test.js.map +1 -1
  167. package/dist-server/server/modules/providers/tests/codex-sessions.test.js +50 -0
  168. package/dist-server/server/modules/providers/tests/codex-sessions.test.js.map +1 -1
  169. package/dist-server/server/modules/providers/tests/cursor-auth.test.js +167 -0
  170. package/dist-server/server/modules/providers/tests/cursor-auth.test.js.map +1 -0
  171. package/dist-server/server/modules/providers/tests/opencode-models.test.js +79 -0
  172. package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -1
  173. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +19 -1
  174. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -1
  175. package/dist-server/server/modules/providers/tests/provider-capabilities.service.test.js +30 -0
  176. package/dist-server/server/modules/providers/tests/provider-capabilities.service.test.js.map +1 -0
  177. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +79 -1
  178. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -1
  179. package/dist-server/server/modules/providers/tests/provider.routes.test.js +190 -1
  180. package/dist-server/server/modules/providers/tests/provider.routes.test.js.map +1 -1
  181. package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js +19 -0
  182. package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js.map +1 -1
  183. package/dist-server/server/modules/providers/tests/sessions.service.test.js +175 -1
  184. package/dist-server/server/modules/providers/tests/sessions.service.test.js.map +1 -1
  185. package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js +13 -1
  186. package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js.map +1 -1
  187. package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js +36 -1
  188. package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js.map +1 -1
  189. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js +27 -5
  190. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js.map +1 -1
  191. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +38 -1
  192. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
  193. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +230 -20
  194. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  195. package/dist-server/server/modules/websocket/tests/chat-background-subscribe.test.js +137 -0
  196. package/dist-server/server/modules/websocket/tests/chat-background-subscribe.test.js.map +1 -0
  197. package/dist-server/server/modules/websocket/tests/chat-stop-task.test.js +96 -0
  198. package/dist-server/server/modules/websocket/tests/chat-stop-task.test.js.map +1 -0
  199. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +420 -0
  200. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js.map +1 -1
  201. package/dist-server/server/shared/message-unification.js +1 -1
  202. package/dist-server/server/shared/message-unification.js.map +1 -1
  203. package/dist-server/server/shared/tests/read-only-roots.test.js +124 -0
  204. package/dist-server/server/shared/tests/read-only-roots.test.js.map +1 -0
  205. package/dist-server/server/shared/tests/strip-ansi-sequences.test.js +31 -0
  206. package/dist-server/server/shared/tests/strip-ansi-sequences.test.js.map +1 -0
  207. package/dist-server/server/shared/utils.js +126 -0
  208. package/dist-server/server/shared/utils.js.map +1 -1
  209. package/electron/desktopWindow.js +6 -0
  210. package/electron/viewHost.js +25 -2
  211. package/package.json +4 -4
  212. package/server/index.ts +5 -1
  213. package/server/modules/agent/agent.module.ts +11 -1
  214. package/server/modules/agent/agent.routes.ts +198 -140
  215. package/server/modules/agent/tests/agent-run-registration.test.ts +348 -0
  216. package/server/modules/agent/tests/agent.routes.test.ts +18 -1
  217. package/server/modules/database/migrations.ts +14 -0
  218. package/server/modules/database/repositories/provider-models.ts +79 -6
  219. package/server/modules/database/repositories/sessions.db.ts +8 -0
  220. package/server/modules/database/schema.ts +7 -0
  221. package/server/modules/database/tests/provider-models.db.integration.test.ts +113 -0
  222. package/server/modules/file-tree/file-tree.module.ts +2 -1
  223. package/server/modules/file-tree/file-tree.service.ts +49 -7
  224. package/server/modules/file-tree/tests/file-tree.service.test.ts +163 -1
  225. package/server/modules/git/git-branch-diff.service.ts +204 -0
  226. package/server/modules/git/git-branch.service.ts +2 -12
  227. package/server/modules/git/git.routes.ts +100 -6
  228. package/server/modules/git/tests/git-branch-diff.service.test.ts +210 -0
  229. package/server/modules/projects/project-clone.routes.ts +142 -0
  230. package/server/modules/projects/projects.routes.ts +16 -81
  231. package/server/modules/projects/services/project-clone-request.service.ts +56 -0
  232. package/server/modules/projects/services/project-clone.service.ts +102 -34
  233. package/server/modules/projects/tests/project-clone.routes.test.ts +246 -0
  234. package/server/modules/projects/tests/project-clone.service.test.ts +376 -0
  235. package/server/modules/providers/list/claude/claude-auth.provider.ts +60 -10
  236. package/server/modules/providers/list/claude/claude-models.provider.ts +10 -22
  237. package/server/modules/providers/list/claude/claude-runtime.provider.js +322 -15
  238. package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +40 -14
  239. package/server/modules/providers/list/claude/claude-sessions.provider.ts +796 -88
  240. package/server/modules/providers/list/codex/codex-models.provider.ts +31 -0
  241. package/server/modules/providers/list/codex/codex-runtime.provider.ts +12 -4
  242. package/server/modules/providers/list/codex/codex-sessions.provider.ts +63 -0
  243. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +10 -2
  244. package/server/modules/providers/list/cursor/cursor-runtime.provider.js +9 -2
  245. package/server/modules/providers/list/opencode/opencode-models.provider.ts +18 -3
  246. package/server/modules/providers/list/opencode/opencode-runtime.provider.js +5 -2
  247. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +30 -2
  248. package/server/modules/providers/provider.routes.ts +131 -2
  249. package/server/modules/providers/services/claude-cli-liveness.service.ts +121 -0
  250. package/server/modules/providers/services/claude-settings-permissions.service.ts +127 -0
  251. package/server/modules/providers/services/provider-capabilities.service.ts +17 -1
  252. package/server/modules/providers/services/provider-models.service.ts +71 -4
  253. package/server/modules/providers/services/provider-runtime.service.ts +11 -0
  254. package/server/modules/providers/services/session-conversations-search.service.ts +2 -5
  255. package/server/modules/providers/services/session-history-cache.service.ts +13 -2
  256. package/server/modules/providers/services/sessions.service.ts +108 -8
  257. package/server/modules/providers/tests/claude-auth.test.ts +150 -0
  258. package/server/modules/providers/tests/claude-background-work.test.ts +213 -0
  259. package/server/modules/providers/tests/claude-compaction.test.ts +101 -0
  260. package/server/modules/providers/tests/claude-message-model.test.ts +160 -0
  261. package/server/modules/providers/tests/claude-runtime-hold.test.ts +309 -0
  262. package/server/modules/providers/tests/claude-sessions.test.ts +1630 -12
  263. package/server/modules/providers/tests/claude-settings-permissions.test.ts +271 -0
  264. package/server/modules/providers/tests/codex-models.test.ts +37 -0
  265. package/server/modules/providers/tests/codex-runtime.test.ts +36 -0
  266. package/server/modules/providers/tests/codex-sessions.test.ts +59 -0
  267. package/server/modules/providers/tests/cursor-auth.test.ts +187 -0
  268. package/server/modules/providers/tests/opencode-models.test.ts +100 -0
  269. package/server/modules/providers/tests/opencode-sessions.test.ts +40 -1
  270. package/server/modules/providers/tests/provider-capabilities.service.test.ts +37 -0
  271. package/server/modules/providers/tests/provider-models.service.test.ts +99 -1
  272. package/server/modules/providers/tests/provider.routes.test.ts +230 -1
  273. package/server/modules/providers/tests/session-history-cache.service.test.ts +22 -0
  274. package/server/modules/providers/tests/sessions.service.test.ts +237 -1
  275. package/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.ts +14 -1
  276. package/server/modules/scheduled-messages/tests/scheduled-messages.test.ts +45 -1
  277. package/server/modules/websocket/README.md +4 -2
  278. package/server/modules/websocket/services/chat-run-registry.service.ts +29 -5
  279. package/server/modules/websocket/services/chat-websocket.service.ts +58 -1
  280. package/server/modules/websocket/services/shell-websocket.service.ts +269 -22
  281. package/server/modules/websocket/tests/chat-background-subscribe.test.ts +167 -0
  282. package/server/modules/websocket/tests/chat-stop-task.test.ts +127 -0
  283. package/server/modules/websocket/tests/shell-websocket.service.test.ts +521 -0
  284. package/server/shared/interfaces.ts +29 -0
  285. package/server/shared/message-unification.ts +1 -1
  286. package/server/shared/tests/read-only-roots.test.ts +139 -0
  287. package/server/shared/tests/strip-ansi-sequences.test.ts +42 -0
  288. package/server/shared/types.ts +261 -7
  289. package/server/shared/utils.ts +136 -0
  290. package/dist/assets/channel-C5xU9jMw.js +0 -1
  291. package/dist/assets/classDiagram-JCYQIIEL-CRrL3vp7.js +0 -1
  292. package/dist/assets/classDiagram-v2-OCEON4UE-CRrL3vp7.js +0 -1
  293. package/dist/assets/index-BTDHQ6Id.css +0 -32
  294. package/dist/assets/index-sFfz8iBR.js +0 -4931
  295. package/dist/assets/swimlanesDiagram-ULZ7WXOC-DnfbNQEp.js +0 -8
@@ -20,8 +20,13 @@ import { appendFilesInputTag, buildClaudeUserContent, normalizeImageDescriptors
20
20
  import { CLAUDE_PREDEFINED_MODELS, CLAUDE_ULTRACODE_EFFORT } from '../../../../modules/providers/list/claude/claude-models.provider.js';
21
21
  import { resolveClaudeCodeExecutablePath } from '../../../../shared/claude-cli-path.js';
22
22
  import { createNotificationEvent, notifyBackgroundWorkCompleted, notifyRunFailed, notifyRunStopped, notifyUserIfEnabled } from '../../../../modules/notifications/index.js';
23
+ import { sessionHistoryCache } from '../../../../modules/providers/services/session-history-cache.service.js';
23
24
  import { createCompleteMessage, createNormalizedMessage } from '../../../../shared/utils.js';
24
25
  const activeSessions = new Map();
26
+ // Outstanding background tasks per live session, keyed like activeSessions. An
27
+ // entry lives exactly as long as the map entry it shadows: cleared when the
28
+ // session is removed, and reset when a newer run takes the key over.
29
+ const backgroundWork = createBackgroundWorkTracker();
25
30
  const pendingToolApprovals = new Map();
26
31
  // Sessions cancelled via abort-session. The abort handler already sent the
27
32
  // terminal `complete` (aborted: true) to the client, so the run loop must not
@@ -265,6 +270,9 @@ function addSession(sessionId, queryInstance, writer = null, releaseInput = null
265
270
  console.error(`Error interrupting superseded run for session ${sessionId}:`, error?.message || error);
266
271
  });
267
272
  existing.releaseInput?.();
273
+ // Whatever the superseded process had outstanding dies with it and will
274
+ // never report, so the new run starts from an empty task set.
275
+ backgroundWork.clear(sessionId);
268
276
  }
269
277
  const carried = superseding ? null : existing;
270
278
  activeSessions.set(sessionId, {
@@ -275,6 +283,44 @@ function addSession(sessionId, queryInstance, writer = null, releaseInput = null
275
283
  // Re-registered mid-run once the provider session id lands; keep the closer.
276
284
  releaseInput: releaseInput || carried?.releaseInput || null
277
285
  });
286
+ // The history reader reports a background agent as running or stopped by
287
+ // whether this entry exists, and the cached history does not see this map.
288
+ sessionHistoryCache.invalidate(sessionId);
289
+ }
290
+ /**
291
+ * Lets go of the process an earlier run left holding a session open, so the
292
+ * next turn can take the session over.
293
+ *
294
+ * Closing stdin is not enough on its own: the CLI's wind-down waits for the
295
+ * background agents the process still has going — for up to the ceiling it
296
+ * was started with (BG_WAIT_CEILING_MS) — so an abandoned process with an
297
+ * agent outstanding would run next to the process that replaced it for as
298
+ * long as the agent does, both appending to the same session file. Stop the
299
+ * tasks first, while stdin is still open: the SDK drops control requests
300
+ * written after stdin has ended, which is also why the interrupt a later
301
+ * supersede sends to this process cannot do the job.
302
+ *
303
+ * The stops are not awaited — each request is written to the CLI before this
304
+ * returns, and a reply is only missing when the process has already gone.
305
+ * @param {string} sessionId - Session identifier
306
+ */
307
+ function releaseHeldSession(sessionId) {
308
+ const held = getSession(sessionId);
309
+ if (!held) {
310
+ return;
311
+ }
312
+ for (const task of backgroundWork.outstanding(sessionId)) {
313
+ // A stop that cannot be delivered changes nothing about what happens
314
+ // next: the process is on its way out either way. Guard the synchronous
315
+ // call too, so a failing stop can never skip the release below.
316
+ try {
317
+ Promise.resolve(held.instance?.stopTask?.(task.taskId)).catch(() => { });
318
+ }
319
+ catch {
320
+ // Same as a rejected stop.
321
+ }
322
+ }
323
+ held.releaseInput?.();
278
324
  }
279
325
  /**
280
326
  * Removes a session from the active sessions map
@@ -282,6 +328,11 @@ function addSession(sessionId, queryInstance, writer = null, releaseInput = null
282
328
  */
283
329
  function removeSession(sessionId) {
284
330
  activeSessions.delete(sessionId);
331
+ // No process, no background work: anything still tracked was killed with it.
332
+ backgroundWork.clear(sessionId);
333
+ // See addSession: a page cached while the process was up still says
334
+ // `running` for any agent that never reported back.
335
+ sessionHistoryCache.invalidate(sessionId);
285
336
  }
286
337
  /**
287
338
  * Gets a session from the active sessions map
@@ -450,19 +501,26 @@ function extractCumulativeTokenBudget(sdkMessage) {
450
501
  },
451
502
  };
452
503
  }
453
- // Tool calls that leave work running past the end of a turn. Bash only counts
454
- // when it is explicitly backgrounded; the rest defer or watch work by nature.
455
- const DEFERRED_WORK_TOOLS = new Set(['Monitor', 'ScheduleWakeup', 'CronCreate', 'TaskCreate']);
504
+ // Tool calls that leave work running past the end of a turn. Bash and Agent only
505
+ // count when they are backgrounded; the rest defer or watch work by nature.
506
+ // Workflow belongs here rather than in a branch of its own: its input schema has
507
+ // no foreground option at all, so every call returns a task id immediately and
508
+ // reports back in a later turn.
509
+ const DEFERRED_WORK_TOOLS = new Set(['Monitor', 'ScheduleWakeup', 'CronCreate', 'TaskCreate', 'Workflow']);
456
510
  /**
457
511
  * Detects tool calls that keep working after the turn's `result` arrives.
458
512
  *
459
513
  * Only turns that start background work need their CLI process held open; every
460
514
  * other turn can let it exit immediately, as it did before the hold existed.
461
515
  *
516
+ * Used by the providers module's tests, which pin the tool matching directly:
517
+ * the alternative is driving a whole SDK run to observe whether stdin was held,
518
+ * and the cost of getting this wrong is silently killed background work.
519
+ *
462
520
  * @param {Object} sdkMessage - SDK stream message
463
521
  * @returns {boolean} True when the message launches work that outlives the turn
464
522
  */
465
- function startsBackgroundWork(sdkMessage) {
523
+ export function startsBackgroundWork(sdkMessage) {
466
524
  const content = sdkMessage?.message?.content;
467
525
  if (!Array.isArray(content)) {
468
526
  return false;
@@ -474,9 +532,152 @@ function startsBackgroundWork(sdkMessage) {
474
532
  if (block.name === 'Bash') {
475
533
  return block.input?.run_in_background === true;
476
534
  }
535
+ // A backgrounded subagent outlives the turn exactly like a backgrounded
536
+ // Bash does, so the process has to be held open for it to report back.
537
+ // Agents background by default — `run_in_background` is optional and only
538
+ // an explicit `false` opts out — hence `!== false` rather than `=== true`.
539
+ // A foreground agent must stay out of DEFERRED_WORK_TOOLS: it never pushes
540
+ // a follow-up turn, so it would pin the process for the full ceiling.
541
+ if (block.name === 'Agent') {
542
+ return block.input?.run_in_background !== false;
543
+ }
477
544
  return DEFERRED_WORK_TOOLS.has(block.name);
478
545
  });
479
546
  }
547
+ // `task_updated` patch statuses after which a task is gone for good. `pending`,
548
+ // `running` and `paused` are still outstanding; `killed` is what the CLI
549
+ // writes when it stops a task itself (the task notification spells it
550
+ // `stopped`).
551
+ const TERMINAL_TASK_STATUSES = new Set(['completed', 'failed', 'killed']);
552
+ /**
553
+ * Tracks the background tasks each live session still has outstanding, folded
554
+ * from the `system` task events the SDK stream already carries.
555
+ *
556
+ * `startsBackgroundWork` above only knows that a turn *launched* something
557
+ * lasting; this knows what is still running and which task ids it answers to,
558
+ * which is what the running-sessions list and a stop request need once the
559
+ * turn's `result` has gone out and nothing else remembers the session is busy.
560
+ *
561
+ * Verified against a real query (SDK 0.3.165): `task_started` carries
562
+ * `task_id`, `tool_use_id`, `task_type` and `description` for every agent,
563
+ * workflow and backgrounded command (a foreground Bash emits nothing);
564
+ * `task_notification` settles a task with any status; `task_updated` carries
565
+ * only `task_id` and a patch, and is terminal when the patch's `status` is.
566
+ * Housekeeping tasks the CLI starts on its own have no `tool_use_id` and are
567
+ * not tracked — nothing in the transcript could show them.
568
+ *
569
+ * Exported so the folding can be driven with the four event shapes directly;
570
+ * the runtime keeps one instance keyed like `activeSessions`.
571
+ *
572
+ * @returns {{
573
+ * apply: (sessionKey: string, message: Object) => void,
574
+ * hasOutstanding: (sessionKey: string) => boolean,
575
+ * has: (sessionKey: string, taskId: string) => boolean,
576
+ * outstanding: (sessionKey: string) => Array<import('../../../../shared/types.js').BackgroundTaskSummary>,
577
+ * clear: (sessionKey: string) => void,
578
+ * list: () => Array<{ sessionId: string, tasks: Array<import('../../../../shared/types.js').BackgroundTaskSummary> }>
579
+ * }}
580
+ */
581
+ export function createBackgroundWorkTracker() {
582
+ /** @type {Map<string, Map<string, import('../../../../shared/types.js').BackgroundTaskSummary>>} */
583
+ const sessions = new Map();
584
+ /**
585
+ * Tool-use ids the session's own turns issued. A task started for a call an
586
+ * agent made inside its own transcript — a workflow agent's backgrounded
587
+ * command, say — reaches this stream too, and nothing in the parent
588
+ * transcript could show it; it is kept for stopping but flagged `nested`.
589
+ * @type {Map<string, Set<string>>}
590
+ */
591
+ const ownToolUseIds = new Map();
592
+ const remove = (sessionKey, taskId) => {
593
+ const tasks = sessions.get(sessionKey);
594
+ if (!tasks) {
595
+ return;
596
+ }
597
+ tasks.delete(taskId);
598
+ if (tasks.size === 0) {
599
+ sessions.delete(sessionKey);
600
+ }
601
+ };
602
+ return {
603
+ apply(sessionKey, message) {
604
+ if (message?.type === 'assistant' && !message.parent_tool_use_id) {
605
+ const content = message.message?.content;
606
+ if (Array.isArray(content)) {
607
+ for (const block of content) {
608
+ if (block?.type === 'tool_use' && typeof block.id === 'string') {
609
+ let ids = ownToolUseIds.get(sessionKey);
610
+ if (!ids) {
611
+ ids = new Set();
612
+ ownToolUseIds.set(sessionKey, ids);
613
+ }
614
+ ids.add(block.id);
615
+ }
616
+ }
617
+ }
618
+ return;
619
+ }
620
+ if (message?.type !== 'system' || typeof message.task_id !== 'string') {
621
+ return;
622
+ }
623
+ switch (message.subtype) {
624
+ case 'task_started': {
625
+ if (typeof message.tool_use_id !== 'string') {
626
+ return;
627
+ }
628
+ const task = {
629
+ taskId: message.task_id,
630
+ toolUseId: message.tool_use_id,
631
+ taskType: message.task_type,
632
+ description: message.description,
633
+ startedAt: Date.now()
634
+ };
635
+ if (typeof message.workflow_name === 'string') {
636
+ task.workflowName = message.workflow_name;
637
+ }
638
+ if (!ownToolUseIds.get(sessionKey)?.has(message.tool_use_id)) {
639
+ task.nested = true;
640
+ }
641
+ let tasks = sessions.get(sessionKey);
642
+ if (!tasks) {
643
+ tasks = new Map();
644
+ sessions.set(sessionKey, tasks);
645
+ }
646
+ tasks.set(task.taskId, task);
647
+ return;
648
+ }
649
+ case 'task_notification':
650
+ remove(sessionKey, message.task_id);
651
+ return;
652
+ case 'task_updated':
653
+ if (TERMINAL_TASK_STATUSES.has(message.patch?.status)) {
654
+ remove(sessionKey, message.task_id);
655
+ }
656
+ return;
657
+ default:
658
+ }
659
+ },
660
+ hasOutstanding(sessionKey) {
661
+ return sessions.has(sessionKey);
662
+ },
663
+ has(sessionKey, taskId) {
664
+ return Boolean(sessions.get(sessionKey)?.has(taskId));
665
+ },
666
+ outstanding(sessionKey) {
667
+ return Array.from(sessions.get(sessionKey)?.values() ?? []);
668
+ },
669
+ clear(sessionKey) {
670
+ sessions.delete(sessionKey);
671
+ ownToolUseIds.delete(sessionKey);
672
+ },
673
+ list() {
674
+ return Array.from(sessions, ([sessionId, tasks]) => ({
675
+ sessionId,
676
+ tasks: Array.from(tasks.values())
677
+ }));
678
+ }
679
+ };
680
+ }
480
681
  /**
481
682
  * Builds the SDK user messages for one turn.
482
683
  *
@@ -621,6 +822,12 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
621
822
  // Set when a turn starts background work, cleared when the next `result`
622
823
  // arrives — only turns with work still outstanding hold their process open.
623
824
  let backgroundWorkPending = false;
825
+ // Set when the stream reports a task starting during this turn. Task events
826
+ // are the exact word on what is still running, so when the turn produced
827
+ // any, the tracker decides the hold; `startsBackgroundWork` is the fallback
828
+ // for tools that emit none (Monitor, ScheduleWakeup, CronCreate, TaskCreate)
829
+ // and for an SDK that does not report tasks at all.
830
+ let sawTaskEventThisTurn = false;
624
831
  // True while the process is being held open for background work, so a later
625
832
  // `result` can be recognised as that work reporting back.
626
833
  let heldForBackgroundWork = false;
@@ -630,7 +837,7 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
630
837
  // A new turn supersedes any earlier one still holding this session's process
631
838
  // open, so held runs cannot stack up across a conversation.
632
839
  if (sessionKey()) {
633
- getSession(sessionKey())?.releaseInput?.();
840
+ releaseHeldSession(sessionKey());
634
841
  }
635
842
  // Arms (or re-arms) the idle countdown that eventually closes stdin.
636
843
  const scheduleRelease = () => {
@@ -764,10 +971,13 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
764
971
  }
765
972
  return { behavior: 'deny', message: decision.message ?? 'User denied tool use' };
766
973
  };
974
+ // The SDK's own `query`, unless the caller supplies one (tests script the
975
+ // stream to drive the hold logic below without a CLI process).
976
+ const createQuery = context.createQuery ?? query;
767
977
  let heldPrompt = createHeldPromptStream(promptMessages);
768
978
  releasePromptStream = heldPrompt.release;
769
979
  try {
770
- queryInstance = query({
980
+ queryInstance = createQuery({
771
981
  prompt: heldPrompt.stream,
772
982
  options: sdkOptions
773
983
  });
@@ -781,7 +991,7 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
781
991
  heldPrompt.release();
782
992
  heldPrompt = createHeldPromptStream(promptMessages);
783
993
  releasePromptStream = heldPrompt.release;
784
- queryInstance = query({
994
+ queryInstance = createQuery({
785
995
  prompt: heldPrompt.stream,
786
996
  options: sdkOptions
787
997
  });
@@ -839,9 +1049,28 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
839
1049
  if (startsBackgroundWork(message)) {
840
1050
  backgroundWorkPending = true;
841
1051
  }
1052
+ if (message.type === 'system' && message.subtype === 'task_started') {
1053
+ sawTaskEventThisTurn = true;
1054
+ }
1055
+ backgroundWork.apply(sessionKey(), message);
1056
+ // A task the user stopped gets no follow-up turn from the CLI — only its
1057
+ // `stopped` notification — so when that was the last outstanding task
1058
+ // nothing will ever push the `result` the release below waits for, and
1059
+ // the process would sit until the idle ceiling. Release it here. A
1060
+ // completed task is different: the CLI relays its result in a turn of
1061
+ // its own, which closing stdin now would cut short.
1062
+ if (heldForBackgroundWork
1063
+ && message.type === 'system'
1064
+ && message.subtype === 'task_notification'
1065
+ && message.status === 'stopped'
1066
+ && !backgroundWork.hasOutstanding(sessionKey())) {
1067
+ heldForBackgroundWork = false;
1068
+ releasePromptStream();
1069
+ }
842
1070
  if (message.type === 'result') {
843
1071
  // The turn is done as far as the client is concerned.
844
1072
  const abortPending = sessionKey() ? abortedSessionIds.has(sessionKey()) : false;
1073
+ const stillOutstanding = backgroundWork.hasOutstanding(sessionKey());
845
1074
  if (!turnCompleteSent && !abortPending) {
846
1075
  turnCompleteSent = true;
847
1076
  ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 0 }));
@@ -853,9 +1082,10 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
853
1082
  stopReason: 'completed'
854
1083
  });
855
1084
  }
856
- else if (heldForBackgroundWork && !abortPending) {
1085
+ else if (heldForBackgroundWork && !abortPending && !stillOutstanding) {
857
1086
  // A result after the turn already reported complete means the work we
858
- // held the process open for has finished and pushed a follow-up turn.
1087
+ // held the process open for has finished and pushed a follow-up turn
1088
+ // — the last of it, when nothing else is still running.
859
1089
  notifyBackgroundWorkCompleted({
860
1090
  userId: ws?.userId || null,
861
1091
  provider: 'claude',
@@ -863,11 +1093,26 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
863
1093
  sessionName: sessionSummary
864
1094
  });
865
1095
  }
866
- if (backgroundWorkPending) {
867
- // Work started during this turn is still running. Hold the process
868
- // open so it can finish and report back in a follow-up turn; the
869
- // ceiling is only a backstop for work that never reports.
870
- backgroundWorkPending = false;
1096
+ // Work started during this turn, or work from an earlier turn that
1097
+ // has not settled yet (a follow-up turn reports one task in while
1098
+ // another is still going), is still running. Hold the process open
1099
+ // so it can finish and report back in a follow-up turn; the ceiling
1100
+ // is only a backstop for work that never reports.
1101
+ //
1102
+ // The release when the last task settles is this same branch on the
1103
+ // follow-up turn the CLI pushes for it, not the settling event
1104
+ // itself: closing stdin at that moment would cut the turn that
1105
+ // relays the task's result.
1106
+ //
1107
+ // When the turn reported its tasks, the tracker is the whole truth: an
1108
+ // Agent call without `run_in_background` is scored as background by
1109
+ // `startsBackgroundWork`, but the CLI runs it in the foreground and
1110
+ // it has settled before this `result` — holding for it kept a process
1111
+ // alive for the full ceiling with nothing outstanding.
1112
+ const holdForTurn = sawTaskEventThisTurn ? stillOutstanding : backgroundWorkPending || stillOutstanding;
1113
+ backgroundWorkPending = false;
1114
+ sawTaskEventThisTurn = false;
1115
+ if (holdForTurn) {
871
1116
  heldForBackgroundWork = true;
872
1117
  scheduleRelease();
873
1118
  }
@@ -993,6 +1238,34 @@ async function abortClaudeSDKSession(sessionId) {
993
1238
  return false;
994
1239
  }
995
1240
  }
1241
+ /**
1242
+ * Sessions whose background tasks are still outstanding, with the tasks.
1243
+ *
1244
+ * A session stays here after its turn's `result` for as long as the process
1245
+ * is held open for the work — which is exactly the window in which nothing
1246
+ * else (the chat run registry marks the run completed at `result`) knows the
1247
+ * session is still busy.
1248
+ * @returns {Array<{ sessionId: string, tasks: Array<import('../../../../shared/types.js').BackgroundTaskSummary> }>}
1249
+ */
1250
+ function listClaudeSDKBackgroundWork() {
1251
+ return backgroundWork.list();
1252
+ }
1253
+ /**
1254
+ * Stops one outstanding background task through the SDK, which then emits a
1255
+ * `task_notification` with status `stopped` — the same event that drops the
1256
+ * task from the tracker and settles its card.
1257
+ * @param {string} sessionId - Session identifier
1258
+ * @param {string} taskId - The task's `task_id` as reported on `task_started`
1259
+ * @returns {Promise<boolean>} False when no live process is tracking the task
1260
+ */
1261
+ async function stopClaudeSDKTask(sessionId, taskId) {
1262
+ const session = getSession(sessionId);
1263
+ if (!session || !backgroundWork.has(sessionId, taskId)) {
1264
+ return false;
1265
+ }
1266
+ await session.instance.stopTask(taskId);
1267
+ return true;
1268
+ }
996
1269
  /**
997
1270
  * Checks if an SDK session is currently active
998
1271
  * @param {string} sessionId - Session identifier
@@ -1000,7 +1273,21 @@ async function abortClaudeSDKSession(sessionId) {
1000
1273
  */
1001
1274
  function isClaudeSDKSessionActive(sessionId) {
1002
1275
  const session = getSession(sessionId);
1003
- return session && session.status === 'active';
1276
+ return Boolean(session && session.status === 'active');
1277
+ }
1278
+ /**
1279
+ * When the run behind a session started, or null when no run is up.
1280
+ *
1281
+ * The history reader uses this to tell a background agent launched by the
1282
+ * live process (still able to report back) from one launched by an earlier
1283
+ * process that has since exited (never will): a launch row older than the
1284
+ * live run cannot belong to it.
1285
+ * @param {string} sessionId - Session identifier
1286
+ * @returns {number|null} Epoch milliseconds the live run started, or null
1287
+ */
1288
+ function getClaudeSDKSessionStartTime(sessionId) {
1289
+ const session = getSession(sessionId);
1290
+ return session && session.status === 'active' ? session.startTime : null;
1004
1291
  }
1005
1292
  /**
1006
1293
  * Gets all active SDK session IDs
@@ -1052,7 +1339,9 @@ export const claudeRuntime = {
1052
1339
  resolve: resolveToolApproval,
1053
1340
  listPending: getPendingApprovalsForSession,
1054
1341
  },
1342
+ listBackgroundWork: listClaudeSDKBackgroundWork,
1343
+ stopBackgroundTask: stopClaudeSDKTask,
1055
1344
  };
1056
1345
  // Export public API
1057
- export { queryClaudeSDK, abortClaudeSDKSession, isClaudeSDKSessionActive, getActiveClaudeSDKSessions, resolveToolApproval, getPendingApprovalsForSession, reconnectSessionWriter, extractTokenBudget, extractCumulativeTokenBudget };
1346
+ export { queryClaudeSDK, abortClaudeSDKSession, listClaudeSDKBackgroundWork, stopClaudeSDKTask, isClaudeSDKSessionActive, getClaudeSDKSessionStartTime, getActiveClaudeSDKSessions, resolveToolApproval, getPendingApprovalsForSession, reconnectSessionWriter, extractTokenBudget, extractCumulativeTokenBudget };
1058
1347
  //# sourceMappingURL=claude-runtime.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runtime.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-runtime.provider.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-runtime.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-runtime.provider.js"],"names":[],"mappings":"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"}