agent-tower 0.7.2 → 0.7.4-beta.0

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 (339) hide show
  1. package/dist/executors/__tests__/providers.test.js +53 -0
  2. package/dist/executors/__tests__/providers.test.js.map +1 -1
  3. package/dist/executors/providers.d.ts +2 -0
  4. package/dist/executors/providers.d.ts.map +1 -1
  5. package/dist/executors/providers.js +3 -2
  6. package/dist/executors/providers.js.map +1 -1
  7. package/dist/git/base-branch.d.ts +3 -0
  8. package/dist/git/base-branch.d.ts.map +1 -0
  9. package/dist/git/base-branch.js +17 -0
  10. package/dist/git/base-branch.js.map +1 -0
  11. package/dist/git/worktree.manager.d.ts +2 -0
  12. package/dist/git/worktree.manager.d.ts.map +1 -1
  13. package/dist/git/worktree.manager.js +29 -8
  14. package/dist/git/worktree.manager.js.map +1 -1
  15. package/dist/git/worktree.manager.test.js +38 -0
  16. package/dist/git/worktree.manager.test.js.map +1 -1
  17. package/dist/mcp/http-client.d.ts +4 -6
  18. package/dist/mcp/http-client.d.ts.map +1 -1
  19. package/dist/mcp/http-client.js +6 -0
  20. package/dist/mcp/http-client.js.map +1 -1
  21. package/dist/mcp/tools/__tests__/providers.test.d.ts +2 -0
  22. package/dist/mcp/tools/__tests__/providers.test.d.ts.map +1 -0
  23. package/dist/mcp/tools/__tests__/providers.test.js +22 -0
  24. package/dist/mcp/tools/__tests__/providers.test.js.map +1 -0
  25. package/dist/mcp/tools/__tests__/tasks.test.d.ts +2 -0
  26. package/dist/mcp/tools/__tests__/tasks.test.d.ts.map +1 -0
  27. package/dist/mcp/tools/__tests__/tasks.test.js +49 -0
  28. package/dist/mcp/tools/__tests__/tasks.test.js.map +1 -0
  29. package/dist/mcp/tools/providers.d.ts.map +1 -1
  30. package/dist/mcp/tools/providers.js +3 -2
  31. package/dist/mcp/tools/providers.js.map +1 -1
  32. package/dist/mcp/tools/tasks.d.ts.map +1 -1
  33. package/dist/mcp/tools/tasks.js +31 -2
  34. package/dist/mcp/tools/tasks.js.map +1 -1
  35. package/dist/mcp/types.d.ts +27 -0
  36. package/dist/mcp/types.d.ts.map +1 -1
  37. package/dist/mcp/types.js +13 -0
  38. package/dist/mcp/types.js.map +1 -1
  39. package/dist/output/__tests__/text-block-lifecycle.test.js +37 -0
  40. package/dist/output/__tests__/text-block-lifecycle.test.js.map +1 -1
  41. package/dist/output/text-block-tracker.d.ts.map +1 -1
  42. package/dist/output/text-block-tracker.js +24 -1
  43. package/dist/output/text-block-tracker.js.map +1 -1
  44. package/dist/prompts/task-handoff.d.ts +6 -0
  45. package/dist/prompts/task-handoff.d.ts.map +1 -0
  46. package/dist/prompts/task-handoff.js +17 -0
  47. package/dist/prompts/task-handoff.js.map +1 -0
  48. package/dist/prompts/task-handoff.test.d.ts +2 -0
  49. package/dist/prompts/task-handoff.test.d.ts.map +1 -0
  50. package/dist/prompts/task-handoff.test.js +27 -0
  51. package/dist/prompts/task-handoff.test.js.map +1 -0
  52. package/dist/prompts/workspace-background-service-policy.d.ts +6 -0
  53. package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -1
  54. package/dist/prompts/workspace-background-service-policy.js +2 -1
  55. package/dist/prompts/workspace-background-service-policy.js.map +1 -1
  56. package/dist/routes/__tests__/providers.test.js +67 -0
  57. package/dist/routes/__tests__/providers.test.js.map +1 -1
  58. package/dist/routes/__tests__/task-handoff.test.d.ts +2 -0
  59. package/dist/routes/__tests__/task-handoff.test.d.ts.map +1 -0
  60. package/dist/routes/__tests__/task-handoff.test.js +185 -0
  61. package/dist/routes/__tests__/task-handoff.test.js.map +1 -0
  62. package/dist/routes/__tests__/tasks.test.js +46 -0
  63. package/dist/routes/__tests__/tasks.test.js.map +1 -1
  64. package/dist/routes/providers.d.ts.map +1 -1
  65. package/dist/routes/providers.js +8 -0
  66. package/dist/routes/providers.js.map +1 -1
  67. package/dist/routes/tasks.d.ts.map +1 -1
  68. package/dist/routes/tasks.js +60 -2
  69. package/dist/routes/tasks.js.map +1 -1
  70. package/dist/runtime/acp/history-reconciler.js +1 -1
  71. package/dist/runtime/acp/history-reconciler.js.map +1 -1
  72. package/dist/services/__tests__/session-manager.lifecycle.test.js +171 -1
  73. package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
  74. package/dist/services/__tests__/task.service.test.js +142 -76
  75. package/dist/services/__tests__/task.service.test.js.map +1 -1
  76. package/dist/services/__tests__/translation-protection.test.js +48 -18
  77. package/dist/services/__tests__/translation-protection.test.js.map +1 -1
  78. package/dist/services/__tests__/translation-session-blocks.test.js +66 -2
  79. package/dist/services/__tests__/translation-session-blocks.test.js.map +1 -1
  80. package/dist/services/__tests__/workspace-background-service.service.test.js +74 -26
  81. package/dist/services/__tests__/workspace-background-service.service.test.js.map +1 -1
  82. package/dist/services/__tests__/workspace.service.test.js +70 -0
  83. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  84. package/dist/services/message-delivery.service.d.ts +4 -1
  85. package/dist/services/message-delivery.service.d.ts.map +1 -1
  86. package/dist/services/project.service.d.ts +3 -0
  87. package/dist/services/project.service.d.ts.map +1 -1
  88. package/dist/services/provider-config.service.d.ts.map +1 -1
  89. package/dist/services/provider-config.service.js +1 -0
  90. package/dist/services/provider-config.service.js.map +1 -1
  91. package/dist/services/session-manager.d.ts +15 -5
  92. package/dist/services/session-manager.d.ts.map +1 -1
  93. package/dist/services/session-manager.js +19 -3
  94. package/dist/services/session-manager.js.map +1 -1
  95. package/dist/services/task-cleanup.service.d.ts +2 -0
  96. package/dist/services/task-cleanup.service.d.ts.map +1 -1
  97. package/dist/services/task-cleanup.service.js +2 -2
  98. package/dist/services/task-cleanup.service.js.map +1 -1
  99. package/dist/services/task-handoff.service.d.ts +18 -0
  100. package/dist/services/task-handoff.service.d.ts.map +1 -0
  101. package/dist/services/task-handoff.service.js +87 -0
  102. package/dist/services/task-handoff.service.js.map +1 -0
  103. package/dist/services/task.service.d.ts +45 -18
  104. package/dist/services/task.service.d.ts.map +1 -1
  105. package/dist/services/task.service.js +215 -160
  106. package/dist/services/task.service.js.map +1 -1
  107. package/dist/services/team-run.service.d.ts +3 -0
  108. package/dist/services/team-run.service.d.ts.map +1 -1
  109. package/dist/services/team-task-input.service.d.ts +3 -0
  110. package/dist/services/team-task-input.service.d.ts.map +1 -1
  111. package/dist/services/translation-protection.d.ts +3 -1
  112. package/dist/services/translation-protection.d.ts.map +1 -1
  113. package/dist/services/translation-protection.js +21 -67
  114. package/dist/services/translation-protection.js.map +1 -1
  115. package/dist/services/translation-settings.service.d.ts +4 -4
  116. package/dist/services/translation.service.d.ts.map +1 -1
  117. package/dist/services/translation.service.js +44 -20
  118. package/dist/services/translation.service.js.map +1 -1
  119. package/dist/services/workspace-background-service.service.d.ts +1 -3
  120. package/dist/services/workspace-background-service.service.d.ts.map +1 -1
  121. package/dist/services/workspace-background-service.service.js +17 -65
  122. package/dist/services/workspace-background-service.service.js.map +1 -1
  123. package/dist/services/workspace.service.d.ts +21 -6
  124. package/dist/services/workspace.service.d.ts.map +1 -1
  125. package/dist/services/workspace.service.js +56 -11
  126. package/dist/services/workspace.service.js.map +1 -1
  127. package/dist/web/assets/AgentDemoPage-JXetlNBf.js +1 -0
  128. package/dist/web/assets/{AgentEnvironmentSettingsPage-GHjKIWpb.js → AgentEnvironmentSettingsPage-CdYyUCwJ.js} +1 -1
  129. package/dist/web/assets/AttachmentPreview-DMS-PM-1.js +2 -0
  130. package/dist/web/assets/BranchSelect-BAq4L2ZS.js +1 -0
  131. package/dist/web/assets/BrandLogo--kWXXJtZ.js +1 -0
  132. package/dist/web/assets/ConversationPage-CvC4RyB5.js +1 -0
  133. package/dist/web/assets/CreateTaskInput-DjVxCAfc.js +1 -0
  134. package/dist/web/assets/{DemoPage-DK-ikg1_.js → DemoPage-cDVTGOp8.js} +3 -3
  135. package/dist/web/assets/DesignSystemPage-BI54IkKi.js +12 -0
  136. package/dist/web/assets/{ExecutionPermissionSelector-B8befbxJ.js → ExecutionPermissionSelector-f1UYIm1z.js} +1 -1
  137. package/dist/web/assets/GeneralSettingsPage-C0yto6C_.js +1 -0
  138. package/dist/web/assets/{LoadingPreviewPage-BDlf89rJ.js → LoadingPreviewPage-BiJSaHUi.js} +1 -1
  139. package/dist/web/assets/McpSettingsPage-BbHwZtyj.js +1 -0
  140. package/dist/web/assets/{MemberAvatar-YVr_erAr.js → MemberAvatar-BLezO3vS.js} +1 -1
  141. package/dist/web/assets/MobileTaskDetail-M_Kke9rL.js +3 -0
  142. package/dist/web/assets/NotificationSettingsPage-CiKoL2Kv.js +1 -0
  143. package/dist/web/assets/{ProfileSettingsPage-CHe4LlRp.js → ProfileSettingsPage-DCB48cPS.js} +2 -2
  144. package/dist/web/assets/ProjectKanbanPage-soDqevjQ.js +12 -0
  145. package/dist/web/assets/ProjectSettingsPage-COvIVq1h.js +2 -0
  146. package/dist/web/assets/ProviderSettingsPage-CPuJcZDg.js +67 -0
  147. package/dist/web/assets/{SettingsMasterDetail-DjWR9Sqk.js → SettingsMasterDetail-Cv7YaRJB.js} +1 -1
  148. package/dist/web/assets/TaskDetail-CqhPxvg3.js +1 -0
  149. package/dist/web/assets/TaskHandoffPanel-CxH3Mgyd.js +70 -0
  150. package/dist/web/assets/TeamSettingsPage-D-XDefNd.js +1 -0
  151. package/dist/web/assets/{TranslationSettingsPage-Cod9c4Ug.js → TranslationSettingsPage-BPHI-SZW.js} +1 -1
  152. package/dist/web/assets/{arc-DEy33vTc.js → arc-CC81aLuf.js} +1 -1
  153. package/dist/web/assets/{architectureDiagram-3BPJPVTR-Ky1D1LBk.js → architectureDiagram-3BPJPVTR-DL08XGaN.js} +1 -1
  154. package/dist/web/assets/{at-sign-C48_y345.js → at-sign-DYPIlD6D.js} +1 -1
  155. package/dist/web/assets/{blockDiagram-GPEHLZMM-BNgB7kNT.js → blockDiagram-GPEHLZMM-B4IW5WxI.js} +1 -1
  156. package/dist/web/assets/{c4Diagram-AAUBKEIU-4GMrPMgQ.js → c4Diagram-AAUBKEIU-Cj4d_FqK.js} +1 -1
  157. package/dist/web/assets/channel-CUa8oyzC.js +1 -0
  158. package/dist/web/assets/check-DaZqOL8l.js +1 -0
  159. package/dist/web/assets/{chevron-down-3y5Aiolp.js → chevron-down-DNhYsNAt.js} +1 -1
  160. package/dist/web/assets/{chevron-up-DqaYcjpq.js → chevron-up-CjrLieBR.js} +1 -1
  161. package/dist/web/assets/chip-Cf92J-pQ.js +1 -0
  162. package/dist/web/assets/{chunk-2J33WTMH-C439hRe_.js → chunk-2J33WTMH-DeCj8QSD.js} +1 -1
  163. package/dist/web/assets/{chunk-4BX2VUAB-D8GK3M3t.js → chunk-4BX2VUAB-k-6rzQmQ.js} +1 -1
  164. package/dist/web/assets/{chunk-55IACEB6-Dl4UhJ8X.js → chunk-55IACEB6-qMTCQ5bX.js} +1 -1
  165. package/dist/web/assets/{chunk-727SXJPM-BSEeayBq.js → chunk-727SXJPM-CMnu18d1.js} +1 -1
  166. package/dist/web/assets/{chunk-AQP2D5EJ-B6chbZfT.js → chunk-AQP2D5EJ-C0mFbUMn.js} +1 -1
  167. package/dist/web/assets/{chunk-FMBD7UC4-DaLkiLdQ.js → chunk-FMBD7UC4-u6-_M137.js} +1 -1
  168. package/dist/web/assets/{chunk-ND2GUHAM-DeQwZAAT.js → chunk-ND2GUHAM-DHrIE_8H.js} +1 -1
  169. package/dist/web/assets/{chunk-QZHKN3VN-CLRr4YRM.js → chunk-QZHKN3VN-aTyC0wZq.js} +1 -1
  170. package/dist/web/assets/classDiagram-4FO5ZUOK-BAx111NO.js +1 -0
  171. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BAx111NO.js +1 -0
  172. package/dist/web/assets/{code-block-OCS4YCEC-CnoxUpOx.js → code-block-OCS4YCEC-CBIOQOMH.js} +1 -1
  173. package/dist/web/assets/confirm-dialog-DWeBZLJW.js +1 -0
  174. package/dist/web/assets/content-JM9E1MeD.js +2 -0
  175. package/dist/web/assets/{copy-HRMhTkIG.js → copy-D0gl9kF8.js} +1 -1
  176. package/dist/web/assets/{cose-bilkent-S5V4N54A-C1UiYzfk.js → cose-bilkent-S5V4N54A-xLyliSgU.js} +1 -1
  177. package/dist/web/assets/cssMode-DO5UnQ64.js +1 -0
  178. package/dist/web/assets/{dagre-BM42HDAG-CTJpBgye.js → dagre-BM42HDAG-CbNpoO2d.js} +1 -1
  179. package/dist/web/assets/{diagram-2AECGRRQ-Dj1_TEYp.js → diagram-2AECGRRQ-CG3hKxAX.js} +1 -1
  180. package/dist/web/assets/{diagram-5GNKFQAL-V-KUpwqh.js → diagram-5GNKFQAL-mQu9M28s.js} +1 -1
  181. package/dist/web/assets/{diagram-KO2AKTUF-CXG1ZIeX.js → diagram-KO2AKTUF-BSeEp_Uw.js} +1 -1
  182. package/dist/web/assets/{diagram-LMA3HP47-BZSJUwk9.js → diagram-LMA3HP47-D6yRdao-.js} +1 -1
  183. package/dist/web/assets/{diagram-OG6HWLK6-CCr4gq4u.js → diagram-OG6HWLK6-BUBUW9wD.js} +1 -1
  184. package/dist/web/assets/dialog-D1lkhqVL.js +5 -0
  185. package/dist/web/assets/{erDiagram-TEJ5UH35-Djtyzh6z.js → erDiagram-TEJ5UH35-BQSZgRqq.js} +1 -1
  186. package/dist/web/assets/file-BijjwxRR.js +1 -0
  187. package/dist/web/assets/{flowDiagram-I6XJVG4X-BmSVSiXJ.js → flowDiagram-I6XJVG4X-D-eqyr5Y.js} +1 -1
  188. package/dist/web/assets/folder-picker-Czxm0_S9.js +1 -0
  189. package/dist/web/assets/{freemarker2-DdptX5f1.js → freemarker2-B4RvEa_U.js} +2 -2
  190. package/dist/web/assets/{ganttDiagram-6RSMTGT7-r5vQX-b5.js → ganttDiagram-6RSMTGT7-BWGkCt_x.js} +1 -1
  191. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-Zj9aloh9.js → gitGraphDiagram-PVQCEYII-DGVc49pR.js} +1 -1
  192. package/dist/web/assets/{globe-B9I-jHBB.js → globe-Ce01-45x.js} +1 -1
  193. package/dist/web/assets/handlebars-oyT7drqS.js +1 -0
  194. package/dist/web/assets/html-CxxWf2Qk.js +1 -0
  195. package/dist/web/assets/htmlMode-RfAHh5Jj.js +1 -0
  196. package/dist/web/assets/index-BMZFF1UJ.js +1 -0
  197. package/dist/web/assets/index-BN53vGxp.css +1 -0
  198. package/dist/web/assets/index-Cc3qXMhU.js +122 -0
  199. package/dist/web/assets/{index-Bhvt-E6d.js → index-DWrSDMX2.js} +2 -2
  200. package/dist/web/assets/{index-DkRy6eNX.js → index-Dh-tgeaL.js} +4 -4
  201. package/dist/web/assets/{index-B1oVmCie.js → index-Disv1kQS.js} +1 -1
  202. package/dist/web/assets/{index-DcOU2m2F.js → index-DyJfPc4O.js} +1 -1
  203. package/dist/web/assets/{index-Dk3bRQAK.js → index-Pt4TsHjm.js} +1 -1
  204. package/dist/web/assets/{index-CThFsQNP.js → index-T38iVLEb.js} +1 -1
  205. package/dist/web/assets/{index-BtUQYU5l.js → index-hpHE1jXY.js} +1 -1
  206. package/dist/web/assets/{infoDiagram-5YYISTIA-BHtVaxZx.js → infoDiagram-5YYISTIA-DLPs3dV_.js} +1 -1
  207. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-BYmwjkbC.js → ishikawaDiagram-YF4QCWOH-d_OrnwDY.js} +1 -1
  208. package/dist/web/assets/javascript-BNXtViSL.js +1 -0
  209. package/dist/web/assets/{journeyDiagram-JHISSGLW-c8BBqqRS.js → journeyDiagram-JHISSGLW-EtU1st_0.js} +1 -1
  210. package/dist/web/assets/jsonMode-Bqh5vIxx.js +7 -0
  211. package/dist/web/assets/{kanban-definition-UN3LZRKU-D4Vr-oFT.js → kanban-definition-UN3LZRKU-ZWzUnsFK.js} +1 -1
  212. package/dist/web/assets/{kbd-C88ut3t9.js → kbd-IjDGsZ2B.js} +1 -1
  213. package/dist/web/assets/{key-round-Cjbj2qNa.js → key-round-CbnAuUxp.js} +1 -1
  214. package/dist/web/assets/{layers-eaHAVcc3.js → layers-Pdy9vZ6K.js} +1 -1
  215. package/dist/web/assets/{linear-opi90s0L.js → linear-D7n23wcA.js} +1 -1
  216. package/dist/web/assets/{link-BSGb85gq.js → link-Bl1ZbjFh.js} +1 -1
  217. package/dist/web/assets/liquid-Ds47iVLN.js +1 -0
  218. package/dist/web/assets/{lspLanguageFeatures-DWu2Ubf0.js → lspLanguageFeatures-Dcch3bsp.js} +1 -1
  219. package/dist/web/assets/mdx-CM7ky-2B.js +1 -0
  220. package/dist/web/assets/{menu--sjyisSg.js → menu-DubntFHq.js} +1 -1
  221. package/dist/web/assets/{mermaid-NOHMQCX5-BSNbBj78.js → mermaid-NOHMQCX5-nBsnjgeU.js} +54 -54
  222. package/dist/web/assets/{message-square-BLEJN6p7.js → message-square-BE-pW0m_.js} +1 -1
  223. package/dist/web/assets/{mindmap-definition-RKZ34NQL-BN3ZjBh-.js → mindmap-definition-RKZ34NQL-ClHORNTt.js} +1 -1
  224. package/dist/web/assets/modal-CHLtZWvx.js +1 -0
  225. package/dist/web/assets/{monaco-BkuNyOkP.js → monaco-BbAmalE2.js} +3 -3
  226. package/dist/web/assets/nav-row-DH7rNq1V.js +1 -0
  227. package/dist/web/assets/{paperclip-CTNoXpUW.js → paperclip-YP3Bk1lI.js} +1 -1
  228. package/dist/web/assets/{pencil-Cp70ZwtG.js → pencil-BFDuhbtW.js} +1 -1
  229. package/dist/web/assets/{people-DT78SebR.js → people-DEeNaaLt.js} +1 -1
  230. package/dist/web/assets/{pieDiagram-4H26LBE5-CfmFHpPI.js → pieDiagram-4H26LBE5-BUOaKIyP.js} +1 -1
  231. package/dist/web/assets/popover-CUmBEXxL.js +1 -0
  232. package/dist/web/assets/provider-selection-DSu7SCI7.js +1 -0
  233. package/dist/web/assets/python-BODTtU6m.js +1 -0
  234. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-CeaumJAa.js → quadrantDiagram-W4KKPZXB-Caezg-U2.js} +1 -1
  235. package/dist/web/assets/razor-CHm8DY1p.js +1 -0
  236. package/dist/web/assets/{requirementDiagram-4Y6WPE33-BWWCDXCE.js → requirementDiagram-4Y6WPE33-BtdP3Ka6.js} +1 -1
  237. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-DAJut743.js → sankeyDiagram-5OEKKPKP-Bv74oA-n.js} +1 -1
  238. package/dist/web/assets/{search-DniD_AGC.js → search-ClmOQd4H.js} +1 -1
  239. package/dist/web/assets/{select-BPdJrr5M.js → select-BB7QG08o.js} +1 -1
  240. package/dist/web/assets/{select-B5RYunTs.js → select-CYtYPr-c.js} +1 -1
  241. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CynjRGW4.js → sequenceDiagram-3UESZ5HK-DuNPl-dg.js} +1 -1
  242. package/dist/web/assets/{server-xswxWpKD.js → server-bEB_DY55.js} +1 -1
  243. package/dist/web/assets/{stateDiagram-AJRCARHV-amAtpx9w.js → stateDiagram-AJRCARHV-B72HAgBJ.js} +1 -1
  244. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Bu3l_CgB.js +1 -0
  245. package/dist/web/assets/{textarea-BVyPl9rM.js → textarea-BqYPvoO-.js} +1 -1
  246. package/dist/web/assets/{timeline-definition-PNZ67QCA-DZ9W7WlP.js → timeline-definition-PNZ67QCA-DTmHUgmQ.js} +1 -1
  247. package/dist/web/assets/{toggles-QcIz43DP.js → toggles-a5fkwT_D.js} +1 -1
  248. package/dist/web/assets/tooltip-DuyJMci9.js +1 -0
  249. package/dist/web/assets/{track-Ckye0-tt.js → track-DCjyrv3n.js} +1 -1
  250. package/dist/web/assets/{trash-2-CvUJsbtT.js → trash-2-CIyBqaVy.js} +1 -1
  251. package/dist/web/assets/tsMode-C1UXAkMh.js +11 -0
  252. package/dist/web/assets/typescript-Biht2wHb.js +1 -0
  253. package/dist/web/assets/{upload-CsXAmAun.js → upload-D05XS5-G.js} +1 -1
  254. package/dist/web/assets/use-profiles-CrWTyz1G.js +1 -0
  255. package/dist/web/assets/{use-providers-Td1-gyrN.js → use-providers-Dv1Nk6s7.js} +1 -1
  256. package/dist/web/assets/{use-translation-settings-NYM0lmBx.js → use-translation-settings-CcUnipVO.js} +1 -1
  257. package/dist/web/assets/useNormalizedLogs-D9W1cT4R.js +1 -0
  258. package/dist/web/assets/useTokenUsage-CZ5mDshD.js +1 -0
  259. package/dist/web/assets/{vennDiagram-CIIHVFJN-CB2Ubvy9.js → vennDiagram-CIIHVFJN-ByoNydXe.js} +1 -1
  260. package/dist/web/assets/{wardley-L42UT6IY-BXOkk77I.js → wardley-L42UT6IY-BqdMkOLl.js} +1 -1
  261. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-VA6ywdQQ.js → wardleyDiagram-YWT4CUSO-AO22HrEF.js} +1 -1
  262. package/dist/web/assets/xml-NLGqNFDv.js +1 -0
  263. package/dist/web/assets/{xychartDiagram-2RQKCTM6-FNcvDj5G.js → xychartDiagram-2RQKCTM6-vzPgjgqW.js} +1 -1
  264. package/dist/web/assets/yaml-AWlGS_Ig.js +1 -0
  265. package/dist/web/index.html +2 -2
  266. package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
  267. package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
  268. package/node_modules/@agent-tower/shared/dist/index.js +1 -0
  269. package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
  270. package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts +12 -0
  271. package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts.map +1 -0
  272. package/node_modules/@agent-tower/shared/dist/task-handoff.js +2 -0
  273. package/node_modules/@agent-tower/shared/dist/task-handoff.js.map +1 -0
  274. package/node_modules/@agent-tower/shared/dist/translation.d.ts +12 -0
  275. package/node_modules/@agent-tower/shared/dist/translation.d.ts.map +1 -1
  276. package/node_modules/@agent-tower/shared/dist/translation.js +19 -0
  277. package/node_modules/@agent-tower/shared/dist/translation.js.map +1 -1
  278. package/node_modules/@agent-tower/shared/dist/types.d.ts +28 -1
  279. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  280. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  281. package/package.json +1 -1
  282. package/prisma/migrations/20261023000000_add_task_base_branch/migration.sql +2 -0
  283. package/prisma/migrations/20261023010000_add_subtasks/migration.sql +2 -0
  284. package/prisma/migrations/20261026000000_add_task_handoff/migration.sql +1 -0
  285. package/prisma/schema.prisma +6 -0
  286. package/dist/web/assets/AgentDemoPage-BfXkNCdN.js +0 -1
  287. package/dist/web/assets/AttachmentPreview-CLN1lnLe.js +0 -2
  288. package/dist/web/assets/BranchSelect-Cofp8vYf.js +0 -1
  289. package/dist/web/assets/BrandLogo-BUimEX-9.js +0 -1
  290. package/dist/web/assets/ConversationPage-R7vNaOQv.js +0 -1
  291. package/dist/web/assets/CreateTaskInput-CasITF8y.js +0 -1
  292. package/dist/web/assets/DesignSystemPage-BhjNs2vP.js +0 -12
  293. package/dist/web/assets/EditableTaskTitle-BJ9Rxggf.js +0 -70
  294. package/dist/web/assets/GeneralSettingsPage-RMN2al8I.js +0 -1
  295. package/dist/web/assets/McpSettingsPage-CPNxFF67.js +0 -1
  296. package/dist/web/assets/MobileTaskDetail-QNUHMq7u.js +0 -3
  297. package/dist/web/assets/NotificationSettingsPage-BEyuyu3Z.js +0 -1
  298. package/dist/web/assets/ProjectKanbanPage-Bt_01giW.js +0 -12
  299. package/dist/web/assets/ProjectSettingsPage-cus6Ns97.js +0 -2
  300. package/dist/web/assets/ProviderSettingsPage-DqA_B1Ey.js +0 -67
  301. package/dist/web/assets/TaskDetail-rEXNe2h3.js +0 -1
  302. package/dist/web/assets/TeamSettingsPage-DwWROtW6.js +0 -1
  303. package/dist/web/assets/channel-DTP-syjA.js +0 -1
  304. package/dist/web/assets/check-BmiJ7qMY.js +0 -1
  305. package/dist/web/assets/classDiagram-4FO5ZUOK-CUKgurLa.js +0 -1
  306. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CUKgurLa.js +0 -1
  307. package/dist/web/assets/confirm-dialog-ltNBFYCs.js +0 -1
  308. package/dist/web/assets/content-DPQMfMae.js +0 -2
  309. package/dist/web/assets/cssMode-DkuSsGeg.js +0 -1
  310. package/dist/web/assets/dialog-CuFEdqLg.js +0 -5
  311. package/dist/web/assets/handlebars-B34f-LAf.js +0 -1
  312. package/dist/web/assets/hooks-BLxb16IA.js +0 -1
  313. package/dist/web/assets/html-CnvOQ63o.js +0 -1
  314. package/dist/web/assets/htmlMode-RdxZ8Svp.js +0 -1
  315. package/dist/web/assets/icon-button-CYiKa-7C.js +0 -1
  316. package/dist/web/assets/index-0XPZayUU.css +0 -1
  317. package/dist/web/assets/index-BJObbxud.js +0 -122
  318. package/dist/web/assets/index-DZLnTISJ.js +0 -1
  319. package/dist/web/assets/javascript-BhombDEO.js +0 -1
  320. package/dist/web/assets/jsonMode-BJGOUeaV.js +0 -7
  321. package/dist/web/assets/liquid-Czy1WpPz.js +0 -1
  322. package/dist/web/assets/mdx-DhXfoSnM.js +0 -1
  323. package/dist/web/assets/modal-CSGOqphK.js +0 -1
  324. package/dist/web/assets/popover-BiVxGGgp.js +0 -1
  325. package/dist/web/assets/python-DIcQDjcf.js +0 -1
  326. package/dist/web/assets/razor-DYK6Rxer.js +0 -1
  327. package/dist/web/assets/search-field-CQLDXLeA.js +0 -1
  328. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-V-lSceg1.js +0 -1
  329. package/dist/web/assets/tooltip-CPqGK_WZ.js +0 -1
  330. package/dist/web/assets/tsMode-c5x0d47n.js +0 -11
  331. package/dist/web/assets/typescript-i7eYblLt.js +0 -1
  332. package/dist/web/assets/use-profiles-DuXaBRju.js +0 -1
  333. package/dist/web/assets/use-projects-Ddz0knyr.js +0 -1
  334. package/dist/web/assets/use-workspaces-CdJZLmGh.js +0 -1
  335. package/dist/web/assets/useNormalizedLogs--RbVywYa.js +0 -1
  336. package/dist/web/assets/useTokenUsage-DDXf7E4p.js +0 -1
  337. package/dist/web/assets/xml-D2EGActB.js +0 -1
  338. package/dist/web/assets/yaml-jeiIZSL4.js +0 -1
  339. /package/dist/web/assets/{EditableTaskTitle-DcpNTP1B.css → TaskHandoffPanel-DcpNTP1B.css} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { Prisma } from '@prisma/client';
3
3
  import { sessionMsgStoreManager } from '../output/msg-store.js';
4
- import { TEAM_RUN_TRANSLATION_MAX_MESSAGE_IDS, TEAM_RUN_TRANSLATION_PREVIEW_LENGTH } from '@agent-tower/shared';
4
+ import { getTranslationTextBlocks, TEAM_RUN_TRANSLATION_MAX_MESSAGE_IDS, TEAM_RUN_TRANSLATION_PREVIEW_LENGTH } from '@agent-tower/shared';
5
5
  import { ServiceError } from '../errors.js';
6
6
  import { TranslationClient, TranslationError } from './translation-client.js';
7
7
  import { prepareTranslation, TRANSLATION_PROTECTION_VERSION } from './translation-protection.js';
@@ -12,6 +12,19 @@ const enabledAdapters = { OR: [{ sourceKind: { in: ['SESSION_BLOCK', 'ROOM_MESSA
12
12
  const ACTIVE = ['PENDING', 'RUNNING', 'RETRY_WAIT'];
13
13
  const RETRYABLE = ['FAILED', 'CANCELLED', 'INTERRUPTED', 'QUEUE_FULL', 'PAUSED_DISABLED'];
14
14
  const DEFAULT_LIMITS = { sources: 512, displaySources: 384, laneSources: 64, attemptMs: 180_000, chainMs: 300_000, retryDelays: [1_000, 4_000], tickMs: 1_000, leaseMs: 30_000, renewMs: 10_000 };
15
+ function snapshotBlocks(snapshot) {
16
+ if (!snapshot)
17
+ return null;
18
+ const blocks = new Map();
19
+ for (const entry of snapshot.entries ?? []) {
20
+ if (entry.entryType !== 'assistant_message' || !entry.metadata?.textBlock)
21
+ continue;
22
+ for (const block of getTranslationTextBlocks(entry.content, entry.metadata.textBlock)) {
23
+ blocks.set(JSON.stringify([block.turnId, block.blockId]), block);
24
+ }
25
+ }
26
+ return blocks;
27
+ }
15
28
  /** App-owned translation state machine; transcript facts remain in MsgStore/Session snapshots. */
16
29
  export class TranslationService {
17
30
  db;
@@ -300,9 +313,13 @@ export class TranslationService {
300
313
  if (source.sourceKind === 'SESSION_BLOCK' && source.sessionId) {
301
314
  const session = await this.readableSession(source.sessionId, tx);
302
315
  const snapshot = this.sessionSnapshot(session);
303
- if (snapshot && !snapshot.entries?.some(e => e.metadata?.textBlock?.turnId === source.turnId && e.metadata.textBlock.blockId === source.blockId))
304
- return 'DELETED';
305
- return this.matchesSnapshot(source, snapshot) ? 'CURRENT' : 'STALE';
316
+ const blocks = snapshotBlocks(snapshot);
317
+ if (blocks && !blocks.has(JSON.stringify([source.turnId, source.blockId]))) {
318
+ const parentId = source.blockId?.replace(/:p\d+$/, '');
319
+ return snapshot?.entries.some(entry => entry.metadata?.textBlock?.turnId === source.turnId
320
+ && entry.metadata.textBlock.blockId === parentId) ? 'STALE' : 'DELETED';
321
+ }
322
+ return this.matchesSnapshot(source, blocks) ? 'CURRENT' : 'STALE';
306
323
  }
307
324
  else if (source.sourceKind === 'ROOM_MESSAGE' && source.messageId) {
308
325
  const live = await this.resolve({ kind: 'ROOM_MESSAGE', messageId: source.messageId }, tx);
@@ -353,12 +370,12 @@ export class TranslationService {
353
370
  return { entries: [] };
354
371
  }
355
372
  }
356
- matchesSnapshot(source, snapshot) {
373
+ matchesSnapshot(source, blocks) {
357
374
  // Internal pre-lifecycle callers have no snapshot. Runtime sources always have a durable checkpoint.
358
- if (!snapshot)
375
+ if (!blocks)
359
376
  return true;
360
- const entry = snapshot.entries?.find(e => e.metadata?.textBlock?.turnId === source.turnId && e.metadata.textBlock.blockId === source.blockId);
361
- return !!entry && entry.entryType === 'assistant_message' && entry.content === source.originalText && entry.metadata?.textBlock?.sourceRevision === source.sourceRevision && entry.metadata.textBlock.state === source.blockState;
377
+ const block = blocks.get(JSON.stringify([source.turnId, source.blockId]));
378
+ return !!block && block.content === source.originalText && block.sourceRevision === source.sourceRevision && block.state === source.blockState;
362
379
  }
363
380
  async assertReadableSession(sessionId) {
364
381
  await this.readableSession(sessionId, this.db);
@@ -377,20 +394,27 @@ export class TranslationService {
377
394
  }
378
395
  if (!Array.isArray(snapshot.entries))
379
396
  return;
380
- const known = await this.db.translationSource.findMany({ where: { sessionId, sourceKind: 'SESSION_BLOCK' }, select: { id: true, turnId: true, blockId: true, sourceRevision: true, sourceHash: true, blockState: true, deletedAt: true } });
397
+ const known = await this.db.translationSource.findMany({ where: { sessionId, sourceKind: 'SESSION_BLOCK' }, select: { id: true, turnId: true, blockId: true, sourceRevision: true, sourceHash: true, blockState: true, jobState: true, deletedAt: true } });
381
398
  const versions = new Map(known.map(row => [JSON.stringify([row.turnId, row.blockId]), row]));
382
- const present = new Set(snapshot.entries.flatMap(entry => entry.metadata?.textBlock ? [entry.metadata.textBlock.blockId] : []));
383
- for (const row of known)
384
- if (!row.deletedAt && row.blockId && !present.has(row.blockId))
385
- await this.cancel(row.id, true);
386
- for (const entry of snapshot.entries) {
387
- const block = entry.metadata?.textBlock;
388
- if (entry.entryType !== 'assistant_message' || block?.translationEpoch === undefined)
399
+ const blocks = snapshotBlocks(snapshot);
400
+ // A revised parent may have fewer/different paragraph boundaries. Cancel old
401
+ // sources without tombstoning identities that a later revision can reuse.
402
+ const parents = new Map(snapshot.entries.flatMap(entry => entry.metadata?.textBlock
403
+ ? [[JSON.stringify([entry.metadata.textBlock.turnId, entry.metadata.textBlock.blockId]), entry.metadata.textBlock]] : []));
404
+ for (const row of known) {
405
+ if (row.deletedAt || !row.blockId || blocks.has(JSON.stringify([row.turnId, row.blockId])))
406
+ continue;
407
+ const parent = parents.get(JSON.stringify([row.turnId, row.blockId.replace(/:p\d+$/, '')]));
408
+ if (!parent || row.jobState !== 'CANCELLED')
409
+ await this.cancel(row.id, !parent);
410
+ }
411
+ for (const block of blocks.values()) {
412
+ if (block.translationEpoch === undefined)
389
413
  continue;
390
414
  const old = versions.get(JSON.stringify([block.turnId, block.blockId]));
391
- if (old?.deletedAt || old && old.sourceRevision === block.sourceRevision && old.sourceHash === createHash('sha256').update(entry.content).digest('hex') && old.blockState === block.state)
415
+ if (old?.deletedAt || old && old.sourceRevision === block.sourceRevision && old.sourceHash === createHash('sha256').update(block.content).digest('hex') && old.blockState === block.state)
392
416
  continue;
393
- await this.registerSource({ kind: 'SESSION_BLOCK', sessionId, turnId: block.turnId, blockId: block.blockId, semanticType: 'assistant_message', text: entry.content, state: block.state, sourceRevision: block.sourceRevision, enableEpoch: block.translationEpoch });
417
+ await this.registerSource({ kind: 'SESSION_BLOCK', sessionId, turnId: block.turnId, blockId: block.blockId, semanticType: 'assistant_message', text: block.content, state: block.state, sourceRevision: block.sourceRevision, enableEpoch: block.translationEpoch });
394
418
  }
395
419
  }
396
420
  async recoverSessionCheckpoints() {
@@ -414,11 +438,11 @@ export class TranslationService {
414
438
  }
415
439
  async listSessionOverlays(sessionId, options = {}) {
416
440
  const session = await this.readableSession(sessionId, this.db);
417
- const snapshot = this.sessionSnapshot(session);
441
+ const blocks = snapshotBlocks(this.sessionSnapshot(session));
418
442
  const rows = await this.db.translationSource.findMany({ where: { sessionId, sourceKind: 'SESSION_BLOCK', deletedAt: null, ...(options.blockIds ? { blockId: { in: options.blockIds } } : {}), ...(options.cursor ? { id: { gt: options.cursor } } : {}) }, include: { attempts: { where: { status: 'SUCCESS' }, orderBy: { attemptVersion: 'desc' }, take: 1 } }, orderBy: { id: 'asc' }, take: 100 });
419
443
  const items = [];
420
444
  for (const row of rows) {
421
- if (!this.matchesSnapshot(row, snapshot))
445
+ if (!this.matchesSnapshot(row, blocks))
422
446
  continue;
423
447
  const attempt = row.attempts.find(a => a.id === row.effectiveAttemptId && a.sourceRevision === row.sourceRevision && a.sourceHash === row.sourceHash);
424
448
  items.push({ sourceId: row.id, sessionId, turnId: row.turnId, blockId: row.blockId, sourceRevision: row.sourceRevision, overlayRevision: row.overlayRevision, state: row.jobState, originalText: row.originalText, translatedText: attempt?.resultText ?? null, targetLanguage: attempt?.targetLanguage ?? null, errorCode: row.errorCode });
@@ -1 +1 @@
1
- {"version":3,"file":"translation.service.js","sourceRoot":"","sources":["../../src/services/translation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translation.service.js","sourceRoot":"","sources":["../../src/services/translation.service.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,7 @@ export declare class WorkspaceBackgroundService {
23
23
  limit?: number;
24
24
  }): Promise<WorkspaceBackgroundServiceLogsResponse>;
25
25
  sendInput(workspaceId: string, name: string, data: string): Promise<WorkspaceBackgroundServiceInputResponse>;
26
- stopAllForWorkspace(workspaceId: string, options?: {
27
- preserveDesired?: boolean;
28
- }): Promise<void>;
26
+ stopAllForWorkspace(workspaceId: string): Promise<void>;
29
27
  releaseLogsForWorkspace(workspaceId: string): Promise<void>;
30
28
  reconcile(): Promise<void>;
31
29
  shutdown(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-background-service.service.d.ts","sourceRoot":"","sources":["../../src/services/workspace-background-service.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oCAAoC,EAEpC,6BAA6B,EAC7B,uCAAuC,EACvC,sCAAsC,EAEvC,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,iCAAiC,EAGlC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AA2G1C,qBAAa,0BAA0B;IAMnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAC,CAAgB;gBAGrB,cAAc,oCAA0C,EACxD,gBAAgB,GAAE,yBAA4D;IAG3F,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;QACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EACD,MAAM,GAAE,MAAM,GAAG,SAAqB,GACrC,OAAO,CAAC,IAAI,CAAC;IA4EV,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IASnE,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC;IAgDnC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU/E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAkBlF,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9E,OAAO,CAAC,sCAAsC,CAAC;IAiB5C,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,uCAAuC,CAAC;IAsB7C,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAO,GAC1C,OAAO,CAAC,IAAI,CAAC;IAkBV,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAoE1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,YAAY;YAsBZ,WAAW;IAoFzB,OAAO,CAAC,qBAAqB;YAMf,UAAU;YAyBV,iBAAiB;IAiB/B,OAAO,CAAC,kBAAkB;YAsBZ,UAAU;YAiBV,gBAAgB;YAiBhB,aAAa;YAUb,2BAA2B;YAa3B,QAAQ;CAcvB"}
1
+ {"version":3,"file":"workspace-background-service.service.d.ts","sourceRoot":"","sources":["../../src/services/workspace-background-service.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oCAAoC,EAEpC,6BAA6B,EAC7B,uCAAuC,EACvC,sCAAsC,EAEvC,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,iCAAiC,EAGlC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AA2G1C,qBAAa,0BAA0B;IAMnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAC,CAAgB;gBAGrB,cAAc,oCAA0C,EACxD,gBAAgB,GAAE,yBAA4D;IAG3F,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;QACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EACD,MAAM,GAAE,MAAM,GAAG,SAAqB,GACrC,OAAO,CAAC,IAAI,CAAC;IA4EV,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IASnE,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC;IAgDnC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU/E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAkBlF,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9E,OAAO,CAAC,sCAAsC,CAAC;IAiB5C,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,uCAAuC,CAAC;IAsB7C,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvD,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,YAAY;YAsBZ,WAAW;IAoFzB,OAAO,CAAC,qBAAqB;YAMf,UAAU;YAuBV,iBAAiB;IAiB/B,OAAO,CAAC,kBAAkB;YAsBZ,UAAU;YAiBV,gBAAgB;YAiBhB,aAAa;YAUb,2BAA2B;YAa3B,QAAQ;CAcvB"}
@@ -189,7 +189,7 @@ export class WorkspaceBackgroundService {
189
189
  return this.lifecycleBarrier.withWorkspace(workspaceId, () => (this.withLock(`${workspaceId}:${name}`, async () => {
190
190
  await this.requireWorkspace(workspaceId, false);
191
191
  const record = await this.requireRecord(workspaceId, name);
192
- return toDto(await this.stopRecord(record, false));
192
+ return toDto(await this.stopRecord(record));
193
193
  })));
194
194
  }
195
195
  async restart(workspaceId, name) {
@@ -197,7 +197,7 @@ export class WorkspaceBackgroundService {
197
197
  return this.lifecycleBarrier.withWorkspace(workspaceId, () => (this.withLock(`${workspaceId}:${name}`, async () => {
198
198
  const workspace = await this.requireWorkspace(workspaceId, true);
199
199
  let record = await this.requireRecord(workspaceId, name);
200
- record = await this.stopRecord(record, false);
200
+ record = await this.stopRecord(record);
201
201
  await this.requireAvailableServiceSlot(workspaceId);
202
202
  const args = parseArgs(record.argsJson);
203
203
  if (!args) {
@@ -238,7 +238,7 @@ export class WorkspaceBackgroundService {
238
238
  this.processManager.write(record.id, record.runtimeInstanceId, data);
239
239
  return { serviceName: name, accepted: true, byteLength };
240
240
  }
241
- async stopAllForWorkspace(workspaceId, options = {}) {
241
+ async stopAllForWorkspace(workspaceId) {
242
242
  await this.lifecycleBarrier.withWorkspace(workspaceId, async () => {
243
243
  const records = await prisma.workspaceBackgroundService.findMany({ where: { workspaceId } });
244
244
  const errors = [];
@@ -247,7 +247,7 @@ export class WorkspaceBackgroundService {
247
247
  await this.withLock(`${workspaceId}:${record.name}`, async () => {
248
248
  const current = await prisma.workspaceBackgroundService.findUnique({ where: { id: record.id } });
249
249
  if (current)
250
- await this.stopRecord(current, options.preserveDesired === true);
250
+ await this.stopRecord(current);
251
251
  });
252
252
  }
253
253
  catch (error) {
@@ -268,70 +268,23 @@ export class WorkspaceBackgroundService {
268
268
  }
269
269
  async reconcile() {
270
270
  this.assertAcceptingStarts();
271
+ // Startup only: discard the previous app instance's runtime snapshot and
272
+ // launch intent. Saved definitions remain available for explicit starts.
271
273
  await prisma.workspaceBackgroundService.updateMany({
272
- where: { runtimeState: { in: ACTIVE_RUNTIME_STATES } },
274
+ where: {
275
+ OR: [
276
+ { desiredState: 'RUNNING' },
277
+ { runtimeState: { in: ACTIVE_RUNTIME_STATES } },
278
+ ],
279
+ },
273
280
  data: {
281
+ desiredState: 'STOPPED',
274
282
  runtimeState: 'STOPPED',
275
283
  runtimeInstanceId: null,
276
284
  pid: null,
277
285
  stoppedAt: new Date(),
278
286
  },
279
287
  });
280
- const desired = await prisma.workspaceBackgroundService.findMany({
281
- where: { desiredState: 'RUNNING' },
282
- include: { workspace: { include: { task: { include: { project: true } } } } },
283
- });
284
- for (const record of desired) {
285
- const workspace = record.workspace;
286
- const args = parseArgs(record.argsJson);
287
- if (!args) {
288
- await prisma.workspaceBackgroundService.update({
289
- where: { id: record.id },
290
- data: {
291
- runtimeState: 'FAILED',
292
- runtimeInstanceId: null,
293
- pid: null,
294
- lastError: 'Stored service arguments are invalid',
295
- },
296
- });
297
- continue;
298
- }
299
- if (workspace.status !== WorkspaceStatus.ACTIVE
300
- || workspace.task.deletedAt
301
- || workspace.task.project.archivedAt) {
302
- await prisma.workspaceBackgroundService.update({
303
- where: { id: record.id },
304
- data: { desiredState: 'STOPPED', runtimeState: 'STOPPED' },
305
- });
306
- continue;
307
- }
308
- try {
309
- await this.start(workspace.id, record.name, {
310
- command: record.command,
311
- args,
312
- relativeCwd: record.relativeCwd,
313
- });
314
- }
315
- catch (error) {
316
- // A cwd or validation failure can happen before startRecord() creates a
317
- // runtime generation, so reconcile owns the fallback FAILED state.
318
- if (this.processManager.has(record.id))
319
- continue;
320
- const message = error instanceof ServiceError
321
- ? error.message
322
- : 'Failed to restore workspace service';
323
- await prisma.workspaceBackgroundService.updateMany({
324
- where: { id: record.id, desiredState: 'RUNNING' },
325
- data: {
326
- runtimeState: 'FAILED',
327
- runtimeInstanceId: null,
328
- pid: null,
329
- lastError: message,
330
- stoppedAt: new Date(),
331
- },
332
- });
333
- }
334
- }
335
288
  }
336
289
  async shutdown() {
337
290
  this.stopping = true;
@@ -353,7 +306,7 @@ export class WorkspaceBackgroundService {
353
306
  await this.withLock(`${record.workspaceId}:${record.name}`, async () => {
354
307
  const current = await prisma.workspaceBackgroundService.findUnique({ where: { id: record.id } });
355
308
  if (current)
356
- await this.stopRecord(current, true);
309
+ await this.stopRecord(current);
357
310
  });
358
311
  }
359
312
  catch (error) {
@@ -439,19 +392,18 @@ export class WorkspaceBackgroundService {
439
392
  throw new ServiceError('Workspace services are shutting down', 'SERVICE_SHUTTING_DOWN', 409);
440
393
  }
441
394
  }
442
- async stopRecord(record, preserveDesired) {
443
- const desiredState = preserveDesired ? record.desiredState : 'STOPPED';
395
+ async stopRecord(record) {
444
396
  if (record.runtimeInstanceId && this.processManager.has(record.id, record.runtimeInstanceId)) {
445
397
  await prisma.workspaceBackgroundService.updateMany({
446
398
  where: { id: record.id, runtimeInstanceId: record.runtimeInstanceId },
447
- data: { desiredState, runtimeState: 'STOPPING' },
399
+ data: { desiredState: 'STOPPED', runtimeState: 'STOPPING' },
448
400
  });
449
401
  await this.processManager.stop(record.id, record.runtimeInstanceId);
450
402
  }
451
403
  await prisma.workspaceBackgroundService.update({
452
404
  where: { id: record.id },
453
405
  data: {
454
- desiredState,
406
+ desiredState: 'STOPPED',
455
407
  runtimeState: 'STOPPED',
456
408
  runtimeInstanceId: null,
457
409
  pid: null,