factory-factory 0.3.21 → 0.4.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 (789) hide show
  1. package/dist/client/assets/{arc-DMA75yUX.js → arc-BZLkggFv.js} +1 -1
  2. package/dist/client/assets/{architectureDiagram-3BPJPVTR-DfVbmuXe.js → architectureDiagram-3BPJPVTR-0dfKDS01.js} +1 -1
  3. package/dist/client/assets/{blockDiagram-GPEHLZMM-BBr1PMaO.js → blockDiagram-GPEHLZMM-kPnqTUvo.js} +1 -1
  4. package/dist/client/assets/{c4Diagram-AAUBKEIU-C6xSY9MY.js → c4Diagram-AAUBKEIU-fGcSJ5RM.js} +1 -1
  5. package/dist/client/assets/channel-76ipWABm.js +1 -0
  6. package/dist/client/assets/chunk-2J33WTMH-nkRXvoLd.js +1 -0
  7. package/dist/client/assets/{chunk-4BX2VUAB-DohmszzB.js → chunk-4BX2VUAB-BzGqW4v8.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-BxtEguq8.js → chunk-55IACEB6-CKYhsw8v.js} +1 -1
  9. package/dist/client/assets/{chunk-727SXJPM--7mPe6NT.js → chunk-727SXJPM-D6c3bkpP.js} +1 -1
  10. package/dist/client/assets/{chunk-AQP2D5EJ-CUtRyyX-.js → chunk-AQP2D5EJ-Cp_aqtpa.js} +3 -3
  11. package/dist/client/assets/{chunk-FMBD7UC4-Zvl7moTS.js → chunk-FMBD7UC4-CkbLLRk5.js} +1 -1
  12. package/dist/client/assets/{chunk-ND2GUHAM-DHRE6LfZ.js → chunk-ND2GUHAM-BZ894oON.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-DCUx43mp.js → chunk-QZHKN3VN-D4NOzC69.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-FuxnCTTL.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-FuxnCTTL.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-CTS7yey1.js → cose-bilkent-S5V4N54A-CPSnsVY6.js} +1 -1
  17. package/dist/client/assets/{dagre-BM42HDAG-CDvFWhCS.js → dagre-BM42HDAG-CDuVn0gJ.js} +1 -1
  18. package/dist/client/assets/{diagram-2AECGRRQ-BP89d-WY.js → diagram-2AECGRRQ-DkPx69Lt.js} +2 -2
  19. package/dist/client/assets/{diagram-5GNKFQAL-BXDVw1Xi.js → diagram-5GNKFQAL-CchGithI.js} +1 -1
  20. package/dist/client/assets/{diagram-KO2AKTUF-DBYI-mqR.js → diagram-KO2AKTUF-DQ50kQAK.js} +1 -1
  21. package/dist/client/assets/{diagram-LMA3HP47-D359JaJw.js → diagram-LMA3HP47-hKBATxk5.js} +1 -1
  22. package/dist/client/assets/{diagram-OG6HWLK6-BMr7mzB4.js → diagram-OG6HWLK6-Bga7_0RO.js} +1 -1
  23. package/dist/client/assets/{erDiagram-TEJ5UH35-CeCqd6tA.js → erDiagram-TEJ5UH35-D26at0F2.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-I6XJVG4X-ZUKSazw4.js → flowDiagram-I6XJVG4X-Qf-TRw4O.js} +4 -4
  25. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Cq-q9kPK.js → ganttDiagram-6RSMTGT7-CmRredaI.js} +1 -1
  26. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-zVissJIm.js → gitGraphDiagram-PVQCEYII-QQP7Sl8F.js} +3 -3
  27. package/dist/client/assets/index-Db00yCQO.js +672 -0
  28. package/dist/client/assets/index-kItkrW7R.css +1 -0
  29. package/dist/client/assets/infoDiagram-5YYISTIA-YKWLGpI0.js +2 -0
  30. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-Cux5p5kO.js → ishikawaDiagram-YF4QCWOH-DrCgRttT.js} +3 -3
  31. package/dist/client/assets/{journeyDiagram-JHISSGLW-1ke9LkJX.js → journeyDiagram-JHISSGLW-CcyKXKKG.js} +1 -1
  32. package/dist/client/assets/{kanban-definition-UN3LZRKU-DP9dkc_Z.js → kanban-definition-UN3LZRKU-CsGSN3QV.js} +1 -1
  33. package/dist/client/assets/{linear-CyyRtH0c.js → linear-DG8wt3yl.js} +1 -1
  34. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BcU2pjK2.js → mindmap-definition-RKZ34NQL-CD6E0vLi.js} +3 -3
  35. package/dist/client/assets/{mobile-baseline-CSjGr1_M.js → mobile-baseline-CCXJGaWY.js} +2 -2
  36. package/dist/client/assets/{pieDiagram-4H26LBE5-Bl7PuiuI.js → pieDiagram-4H26LBE5-PIN8tU1a.js} +2 -2
  37. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Dx0ckMzC.js → quadrantDiagram-W4KKPZXB-DV6ne1ch.js} +3 -3
  38. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CXkIn3ft.js → requirementDiagram-4Y6WPE33-Cly9IJv1.js} +1 -1
  39. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DIjHC-x5.js → sankeyDiagram-5OEKKPKP-D2SFbF9j.js} +1 -1
  40. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BEdLD9KB.js → sequenceDiagram-3UESZ5HK-BsxZzGc-.js} +4 -4
  41. package/dist/client/assets/stateDiagram-AJRCARHV-DtZoFzqs.js +1 -0
  42. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dhf9Ohaz.js +1 -0
  43. package/dist/client/assets/{terminal-instance-W5XOlvlg.js → terminal-instance-DFzmxfzG.js} +8 -8
  44. package/dist/client/assets/{timeline-definition-PNZ67QCA-CkV6p1W8.js → timeline-definition-PNZ67QCA-B7ZqNmvc.js} +1 -1
  45. package/dist/client/assets/{vennDiagram-CIIHVFJN-ubGCO9Lw.js → vennDiagram-CIIHVFJN-Biz7Z4hM.js} +1 -1
  46. package/dist/client/assets/{wardley-L42UT6IY-_NZpI_YF.js → wardley-L42UT6IY-B-ZjZQUx.js} +1 -1
  47. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DMXZwsFF.js → wardleyDiagram-YWT4CUSO-C9yV9o-K.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-2RQKCTM6-T9YSJ2sB.js → xychartDiagram-2RQKCTM6-DuWAbR0h.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/dist/prisma/generated/browser.d.ts +1 -0
  51. package/dist/prisma/generated/browser.d.ts.map +1 -1
  52. package/dist/prisma/generated/client.d.ts +1 -0
  53. package/dist/prisma/generated/client.d.ts.map +1 -1
  54. package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
  55. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  56. package/dist/prisma/generated/enums.d.ts +12 -0
  57. package/dist/prisma/generated/enums.d.ts.map +1 -1
  58. package/dist/prisma/generated/enums.js +11 -1
  59. package/dist/prisma/generated/enums.js.map +1 -1
  60. package/dist/prisma/generated/internal/class.d.ts +3 -0
  61. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  62. package/dist/prisma/generated/internal/class.js +4 -4
  63. package/dist/prisma/generated/internal/class.js.map +1 -1
  64. package/dist/prisma/generated/internal/prismaNamespace.d.ts +94 -1
  65. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespace.js +16 -1
  67. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  68. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +16 -0
  69. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  70. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +16 -1
  71. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  72. package/dist/prisma/generated/models/Workspace.d.ts +1412 -92
  73. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  74. package/dist/prisma/generated/models/WorkspaceNotification.d.ts +684 -0
  75. package/dist/prisma/generated/models/WorkspaceNotification.d.ts.map +1 -0
  76. package/dist/prisma/generated/models/WorkspaceNotification.js +2 -0
  77. package/dist/prisma/generated/models/WorkspaceNotification.js.map +1 -0
  78. package/dist/prisma/generated/models.d.ts +1 -0
  79. package/dist/prisma/generated/models.d.ts.map +1 -1
  80. package/dist/prompts/ratchet/dispatch.md +2 -0
  81. package/dist/scripts/check-no-direct-process-env.d.mts.map +1 -1
  82. package/dist/scripts/check-no-direct-process-env.mjs +1 -0
  83. package/dist/scripts/check-no-direct-process-env.mjs.map +1 -1
  84. package/dist/src/backend/app-context.d.ts +1 -2
  85. package/dist/src/backend/app-context.d.ts.map +1 -1
  86. package/dist/src/backend/app-context.js +1 -2
  87. package/dist/src/backend/app-context.js.map +1 -1
  88. package/dist/src/backend/fatal-error-handlers.d.ts +19 -0
  89. package/dist/src/backend/fatal-error-handlers.d.ts.map +1 -0
  90. package/dist/src/backend/fatal-error-handlers.js +37 -0
  91. package/dist/src/backend/fatal-error-handlers.js.map +1 -0
  92. package/dist/src/backend/fatal-error-handlers.test.d.ts +2 -0
  93. package/dist/src/backend/fatal-error-handlers.test.d.ts.map +1 -0
  94. package/dist/src/backend/fatal-error-handlers.test.js +95 -0
  95. package/dist/src/backend/fatal-error-handlers.test.js.map +1 -0
  96. package/dist/src/backend/index.js +2 -15
  97. package/dist/src/backend/index.js.map +1 -1
  98. package/dist/src/backend/interceptors/branch-rename.interceptor.d.ts.map +1 -1
  99. package/dist/src/backend/interceptors/branch-rename.interceptor.js +1 -1
  100. package/dist/src/backend/interceptors/branch-rename.interceptor.js.map +1 -1
  101. package/dist/src/backend/interceptors/branch-rename.interceptor.test.js +7 -6
  102. package/dist/src/backend/interceptors/branch-rename.interceptor.test.js.map +1 -1
  103. package/dist/src/backend/interceptors/conversation-rename.interceptor.d.ts.map +1 -1
  104. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +39 -22
  105. package/dist/src/backend/interceptors/conversation-rename.interceptor.js.map +1 -1
  106. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js +79 -1
  107. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js.map +1 -1
  108. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.d.ts.map +1 -1
  109. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js +1 -2
  110. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js.map +1 -1
  111. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js +28 -7
  112. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js.map +1 -1
  113. package/dist/src/backend/interceptors/pre-push-rename.interceptor.d.ts.map +1 -1
  114. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js +1 -2
  115. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js.map +1 -1
  116. package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js +28 -7
  117. package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js.map +1 -1
  118. package/dist/src/backend/lib/constants.d.ts +2 -0
  119. package/dist/src/backend/lib/constants.d.ts.map +1 -1
  120. package/dist/src/backend/lib/constants.js +2 -0
  121. package/dist/src/backend/lib/constants.js.map +1 -1
  122. package/dist/src/backend/lib/env.d.ts.map +1 -1
  123. package/dist/src/backend/lib/env.js +4 -3
  124. package/dist/src/backend/lib/env.js.map +1 -1
  125. package/dist/src/backend/lib/env.test.js +17 -1
  126. package/dist/src/backend/lib/env.test.js.map +1 -1
  127. package/dist/src/backend/lib/file-helpers.d.ts +7 -0
  128. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  129. package/dist/src/backend/lib/file-helpers.js +65 -15
  130. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  131. package/dist/src/backend/lib/file-helpers.test.js +82 -2
  132. package/dist/src/backend/lib/file-helpers.test.js.map +1 -1
  133. package/dist/src/backend/lib/request-trust.d.ts +4 -0
  134. package/dist/src/backend/lib/request-trust.d.ts.map +1 -0
  135. package/dist/src/backend/lib/request-trust.js +116 -0
  136. package/dist/src/backend/lib/request-trust.js.map +1 -0
  137. package/dist/src/backend/lib/request-trust.test.d.ts +2 -0
  138. package/dist/src/backend/lib/request-trust.test.d.ts.map +1 -0
  139. package/dist/src/backend/lib/request-trust.test.js +64 -0
  140. package/dist/src/backend/lib/request-trust.test.js.map +1 -0
  141. package/dist/src/backend/lib/session-model.js +1 -1
  142. package/dist/src/backend/lib/session-model.js.map +1 -1
  143. package/dist/src/backend/lib/shell.d.ts +13 -1
  144. package/dist/src/backend/lib/shell.d.ts.map +1 -1
  145. package/dist/src/backend/lib/shell.js +124 -13
  146. package/dist/src/backend/lib/shell.js.map +1 -1
  147. package/dist/src/backend/lib/shell.test.js +72 -0
  148. package/dist/src/backend/lib/shell.test.js.map +1 -1
  149. package/dist/src/backend/lib/topic-broadcaster.d.ts +18 -0
  150. package/dist/src/backend/lib/topic-broadcaster.d.ts.map +1 -0
  151. package/dist/src/backend/lib/topic-broadcaster.js +56 -0
  152. package/dist/src/backend/lib/topic-broadcaster.js.map +1 -0
  153. package/dist/src/backend/lib/topic-broadcaster.test.d.ts +2 -0
  154. package/dist/src/backend/lib/topic-broadcaster.test.d.ts.map +1 -0
  155. package/dist/src/backend/lib/topic-broadcaster.test.js +126 -0
  156. package/dist/src/backend/lib/topic-broadcaster.test.js.map +1 -0
  157. package/dist/src/backend/lib/websocket-send.d.ts +12 -0
  158. package/dist/src/backend/lib/websocket-send.d.ts.map +1 -0
  159. package/dist/src/backend/lib/websocket-send.js +46 -0
  160. package/dist/src/backend/lib/websocket-send.js.map +1 -0
  161. package/dist/src/backend/lib/websocket-send.test.d.ts +2 -0
  162. package/dist/src/backend/lib/websocket-send.test.d.ts.map +1 -0
  163. package/dist/src/backend/lib/websocket-send.test.js +103 -0
  164. package/dist/src/backend/lib/websocket-send.test.js.map +1 -0
  165. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  166. package/dist/src/backend/middleware/cors.middleware.js +2 -1
  167. package/dist/src/backend/middleware/cors.middleware.js.map +1 -1
  168. package/dist/src/backend/middleware/middleware.test.js +17 -0
  169. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  170. package/dist/src/backend/orchestration/data-backup.service.test.js +3 -0
  171. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  172. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +2 -1
  173. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  174. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +57 -21
  175. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  176. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +118 -10
  177. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  178. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  179. package/dist/src/backend/orchestration/event-collector.orchestrator.js +23 -3
  180. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  181. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +153 -6
  182. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  183. package/dist/src/backend/{services/ratchet/service → orchestration}/reconciliation.service.d.ts +8 -2
  184. package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -0
  185. package/dist/src/backend/{services/ratchet/service → orchestration}/reconciliation.service.js +6 -6
  186. package/dist/src/backend/orchestration/reconciliation.service.js.map +1 -0
  187. package/dist/src/backend/orchestration/reconciliation.service.test.d.ts.map +1 -0
  188. package/dist/src/backend/{services/ratchet/service → orchestration}/reconciliation.service.test.js +1 -1
  189. package/dist/src/backend/orchestration/reconciliation.service.test.js.map +1 -0
  190. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +9 -0
  191. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  192. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +33 -25
  193. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  194. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +8 -1
  195. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  196. package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts +22 -0
  197. package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts.map +1 -0
  198. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +94 -0
  199. package/dist/src/backend/orchestration/workspace-children.orchestrator.js.map +1 -0
  200. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.d.ts +2 -0
  201. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.d.ts.map +1 -0
  202. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js +116 -0
  203. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js.map +1 -0
  204. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +3 -3
  205. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  206. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +2 -2
  207. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  208. package/dist/src/backend/prompts/branch-rename.d.ts.map +1 -1
  209. package/dist/src/backend/prompts/branch-rename.js +20 -13
  210. package/dist/src/backend/prompts/branch-rename.js.map +1 -1
  211. package/dist/src/backend/prompts/branch-rename.test.d.ts +2 -0
  212. package/dist/src/backend/prompts/branch-rename.test.d.ts.map +1 -0
  213. package/dist/src/backend/prompts/branch-rename.test.js +56 -0
  214. package/dist/src/backend/prompts/branch-rename.test.js.map +1 -0
  215. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  216. package/dist/src/backend/prompts/ratchet-dispatch.js +28 -6
  217. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  218. package/dist/src/backend/prompts/ratchet-dispatch.test.js +55 -0
  219. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
  220. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts +27 -0
  221. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts.map +1 -0
  222. package/dist/src/backend/routers/websocket/chat-connection-registry.js +106 -0
  223. package/dist/src/backend/routers/websocket/chat-connection-registry.js.map +1 -0
  224. package/dist/src/backend/routers/websocket/chat-connection-registry.test.d.ts +2 -0
  225. package/dist/src/backend/routers/websocket/chat-connection-registry.test.d.ts.map +1 -0
  226. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js +242 -0
  227. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js.map +1 -0
  228. package/dist/src/backend/routers/websocket/chat.handler.d.ts +2 -5
  229. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  230. package/dist/src/backend/routers/websocket/chat.handler.js +34 -45
  231. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  232. package/dist/src/backend/routers/websocket/chat.handler.test.js +86 -43
  233. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  234. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts +3 -6
  235. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +1 -1
  236. package/dist/src/backend/routers/websocket/dev-logs.handler.js +12 -68
  237. package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +1 -1
  238. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js +75 -3
  239. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js.map +1 -1
  240. package/dist/src/backend/routers/websocket/message-utils.d.ts +6 -0
  241. package/dist/src/backend/routers/websocket/message-utils.d.ts.map +1 -1
  242. package/dist/src/backend/routers/websocket/message-utils.js +28 -0
  243. package/dist/src/backend/routers/websocket/message-utils.js.map +1 -1
  244. package/dist/src/backend/routers/websocket/message-utils.test.d.ts +2 -0
  245. package/dist/src/backend/routers/websocket/message-utils.test.d.ts.map +1 -0
  246. package/dist/src/backend/routers/websocket/message-utils.test.js +54 -0
  247. package/dist/src/backend/routers/websocket/message-utils.test.js.map +1 -0
  248. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts +3 -6
  249. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +1 -1
  250. package/dist/src/backend/routers/websocket/post-run-logs.handler.js +12 -57
  251. package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +1 -1
  252. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js +76 -12
  253. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js.map +1 -1
  254. package/dist/src/backend/routers/websocket/push-channel.handler.d.ts +12 -0
  255. package/dist/src/backend/routers/websocket/push-channel.handler.d.ts.map +1 -0
  256. package/dist/src/backend/routers/websocket/push-channel.handler.js +40 -0
  257. package/dist/src/backend/routers/websocket/push-channel.handler.js.map +1 -0
  258. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts +1 -4
  259. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
  260. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +14 -46
  261. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  262. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +66 -6
  263. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js.map +1 -1
  264. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts +5 -8
  265. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  266. package/dist/src/backend/routers/websocket/snapshots.handler.js +71 -56
  267. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  268. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +285 -44
  269. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  270. package/dist/src/backend/routers/websocket/terminal.handler.d.ts +3 -6
  271. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  272. package/dist/src/backend/routers/websocket/terminal.handler.js +111 -101
  273. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  274. package/dist/src/backend/routers/websocket/terminal.handler.test.js +256 -16
  275. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  276. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +30 -2
  277. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts.map +1 -1
  278. package/dist/src/backend/routers/websocket/upgrade-utils.js +103 -8
  279. package/dist/src/backend/routers/websocket/upgrade-utils.js.map +1 -1
  280. package/dist/src/backend/routers/websocket/upgrade-utils.test.js +316 -3
  281. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
  282. package/dist/src/backend/routers/websocket/websocket.integration.test.js +10 -17
  283. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  284. package/dist/src/backend/schemas/websocket/setup-terminal-message.schema.d.ts +0 -2
  285. package/dist/src/backend/schemas/websocket/setup-terminal-message.schema.d.ts.map +1 -1
  286. package/dist/src/backend/schemas/websocket/setup-terminal-message.schema.js +0 -3
  287. package/dist/src/backend/schemas/websocket/setup-terminal-message.schema.js.map +1 -1
  288. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts +0 -2
  289. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts.map +1 -1
  290. package/dist/src/backend/schemas/websocket/terminal-message.schema.js +0 -1
  291. package/dist/src/backend/schemas/websocket/terminal-message.schema.js.map +1 -1
  292. package/dist/src/backend/server.d.ts.map +1 -1
  293. package/dist/src/backend/server.js +169 -102
  294. package/dist/src/backend/server.js.map +1 -1
  295. package/dist/src/backend/server.upgrade.test.js +217 -24
  296. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  297. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  298. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +12 -2
  299. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  300. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +27 -3
  301. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
  302. package/dist/src/backend/services/check-single-writer.test.js +7 -7
  303. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  304. package/dist/src/backend/services/config.service.d.ts +1 -0
  305. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  306. package/dist/src/backend/services/config.service.js +20 -5
  307. package/dist/src/backend/services/config.service.js.map +1 -1
  308. package/dist/src/backend/services/config.service.test.js +18 -0
  309. package/dist/src/backend/services/config.service.test.js.map +1 -1
  310. package/dist/src/backend/services/constants.d.ts +1 -1
  311. package/dist/src/backend/services/constants.js +1 -1
  312. package/dist/src/backend/services/constants.js.map +1 -1
  313. package/dist/src/backend/services/env-schemas.d.ts +1 -0
  314. package/dist/src/backend/services/env-schemas.d.ts.map +1 -1
  315. package/dist/src/backend/services/env-schemas.js +1 -0
  316. package/dist/src/backend/services/env-schemas.js.map +1 -1
  317. package/dist/src/backend/services/git-clone.service.d.ts.map +1 -1
  318. package/dist/src/backend/services/git-clone.service.js +19 -3
  319. package/dist/src/backend/services/git-clone.service.js.map +1 -1
  320. package/dist/src/backend/services/git-clone.service.test.js +81 -1
  321. package/dist/src/backend/services/git-clone.service.test.js.map +1 -1
  322. package/dist/src/backend/services/git-ops.service.d.ts.map +1 -1
  323. package/dist/src/backend/services/git-ops.service.js +6 -1
  324. package/dist/src/backend/services/git-ops.service.js.map +1 -1
  325. package/dist/src/backend/services/git-ops.service.test.js +24 -3
  326. package/dist/src/backend/services/git-ops.service.test.js.map +1 -1
  327. package/dist/src/backend/services/github/service/github-cli/errors.d.ts.map +1 -1
  328. package/dist/src/backend/services/github/service/github-cli/errors.js +6 -1
  329. package/dist/src/backend/services/github/service/github-cli/errors.js.map +1 -1
  330. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +64 -6
  331. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  332. package/dist/src/backend/services/github/service/github-cli/schemas.js +45 -0
  333. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  334. package/dist/src/backend/services/github/service/github-cli.service.d.ts +8 -3
  335. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  336. package/dist/src/backend/services/github/service/github-cli.service.js +244 -51
  337. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  338. package/dist/src/backend/services/github/service/github-cli.service.test.js +398 -0
  339. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  340. package/dist/src/backend/services/github/service/index.d.ts +1 -0
  341. package/dist/src/backend/services/github/service/index.d.ts.map +1 -1
  342. package/dist/src/backend/services/github/service/index.js +1 -0
  343. package/dist/src/backend/services/github/service/index.js.map +1 -1
  344. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts +1 -0
  345. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts.map +1 -1
  346. package/dist/src/backend/services/github/service/pr-fetch-registry.js +3 -0
  347. package/dist/src/backend/services/github/service/pr-fetch-registry.js.map +1 -1
  348. package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
  349. package/dist/src/backend/services/linear/service/linear-client.service.js +33 -20
  350. package/dist/src/backend/services/linear/service/linear-client.service.js.map +1 -1
  351. package/dist/src/backend/services/linear/service/linear-client.service.test.js +76 -0
  352. package/dist/src/backend/services/linear/service/linear-client.service.test.js.map +1 -1
  353. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +13 -1
  354. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -1
  355. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +40 -13
  356. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  357. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js +58 -0
  358. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js.map +1 -1
  359. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +2 -0
  360. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
  361. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +54 -9
  362. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
  363. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js +131 -1
  364. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -1
  365. package/dist/src/backend/services/port-allocation.service.d.ts +2 -1
  366. package/dist/src/backend/services/port-allocation.service.d.ts.map +1 -1
  367. package/dist/src/backend/services/port-allocation.service.js +12 -4
  368. package/dist/src/backend/services/port-allocation.service.js.map +1 -1
  369. package/dist/src/backend/services/port-allocation.service.test.d.ts +2 -0
  370. package/dist/src/backend/services/port-allocation.service.test.d.ts.map +1 -0
  371. package/dist/src/backend/services/port-allocation.service.test.js +43 -0
  372. package/dist/src/backend/services/port-allocation.service.test.js.map +1 -0
  373. package/dist/src/backend/services/ratchet/service/bridges.d.ts +18 -11
  374. package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +1 -1
  375. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts +1 -0
  376. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +1 -1
  377. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +9 -2
  378. package/dist/src/backend/services/ratchet/service/fixer-session.service.js.map +1 -1
  379. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +25 -0
  380. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js.map +1 -1
  381. package/dist/src/backend/services/ratchet/service/index.d.ts +1 -2
  382. package/dist/src/backend/services/ratchet/service/index.d.ts.map +1 -1
  383. package/dist/src/backend/services/ratchet/service/index.js +0 -1
  384. package/dist/src/backend/services/ratchet/service/index.js.map +1 -1
  385. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts +6 -12
  386. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts.map +1 -1
  387. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +52 -56
  388. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js.map +1 -1
  389. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +2 -5
  390. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts.map +1 -1
  391. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +7 -4
  392. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js.map +1 -1
  393. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.js +1 -4
  394. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.js.map +1 -1
  395. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts +3 -6
  396. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts.map +1 -1
  397. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +145 -22
  398. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js.map +1 -1
  399. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +10 -30
  400. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  401. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +60 -30
  402. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  403. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +264 -11
  404. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  405. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.d.ts +11 -0
  406. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.d.ts.map +1 -0
  407. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.js +77 -0
  408. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.js.map +1 -0
  409. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.d.ts +2 -0
  410. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.d.ts.map +1 -0
  411. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.js +66 -0
  412. package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.js.map +1 -0
  413. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts +2 -1
  414. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +1 -1
  415. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js +35 -9
  416. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +1 -1
  417. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js +91 -0
  418. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js.map +1 -1
  419. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +12 -56
  420. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  421. package/dist/src/backend/services/ratchet/service/ratchet.service.js +249 -220
  422. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  423. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +1520 -453
  424. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  425. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +20 -13
  426. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts.map +1 -1
  427. package/dist/src/backend/services/registry.d.ts +3 -3
  428. package/dist/src/backend/services/registry.d.ts.map +1 -1
  429. package/dist/src/backend/services/registry.js +3 -2
  430. package/dist/src/backend/services/registry.js.map +1 -1
  431. package/dist/src/backend/services/resources.integration.test.js +101 -10
  432. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  433. package/dist/src/backend/services/run-script/service/run-script.service.d.ts +5 -0
  434. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  435. package/dist/src/backend/services/run-script/service/run-script.service.js +130 -33
  436. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  437. package/dist/src/backend/services/run-script/service/run-script.service.test.js +276 -24
  438. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  439. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +19 -0
  440. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  441. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +13 -0
  442. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  443. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +192 -23
  444. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  445. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +236 -24
  446. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  447. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.d.ts +11 -0
  448. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.d.ts.map +1 -0
  449. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js +318 -0
  450. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js.map +1 -0
  451. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts +18 -1
  452. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
  453. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js +54 -6
  454. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -1
  455. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js +76 -1
  456. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -1
  457. package/dist/src/backend/services/session/service/acp/types.d.ts +7 -0
  458. package/dist/src/backend/services/session/service/acp/types.d.ts.map +1 -1
  459. package/dist/src/backend/services/session/service/bridges.d.ts +9 -5
  460. package/dist/src/backend/services/session/service/bridges.d.ts.map +1 -1
  461. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts.map +1 -1
  462. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js +2 -14
  463. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js.map +1 -1
  464. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  465. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +59 -76
  466. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  467. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +204 -1
  468. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  469. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts.map +1 -1
  470. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +2 -11
  471. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js.map +1 -1
  472. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +5 -18
  473. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  474. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts.map +1 -1
  475. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +9 -0
  476. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
  477. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +34 -0
  478. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  479. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +11 -0
  480. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  481. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +148 -26
  482. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  483. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +339 -1
  484. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  485. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.d.ts.map +1 -1
  486. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +200 -26
  487. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js.map +1 -1
  488. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js +352 -1
  489. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js.map +1 -1
  490. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +9 -2
  491. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  492. package/dist/src/backend/services/session/service/data/session-data.service.js +2 -2
  493. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  494. package/dist/src/backend/services/session/service/data/session-history-loader.service.d.ts.map +1 -1
  495. package/dist/src/backend/services/session/service/data/session-history-loader.service.js +4 -1
  496. package/dist/src/backend/services/session/service/data/session-history-loader.service.js.map +1 -1
  497. package/dist/src/backend/services/session/service/data/session-history-loader.service.test.js +37 -0
  498. package/dist/src/backend/services/session/service/data/session-history-loader.service.test.js.map +1 -1
  499. package/dist/src/backend/services/session/service/index.d.ts +2 -2
  500. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  501. package/dist/src/backend/services/session/service/index.js +1 -1
  502. package/dist/src/backend/services/session/service/index.js.map +1 -1
  503. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -0
  504. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  505. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +26 -7
  506. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  507. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.d.ts +2 -0
  508. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.d.ts.map +1 -0
  509. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.js +159 -0
  510. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.js.map +1 -0
  511. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +23 -3
  512. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  513. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +325 -36
  514. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  515. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts +2 -0
  516. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts.map +1 -0
  517. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +822 -0
  518. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +1 -0
  519. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts +4 -0
  520. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  521. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +13 -0
  522. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  523. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js +6 -0
  524. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js.map +1 -1
  525. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +12 -6
  526. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  527. package/dist/src/backend/services/session/service/lifecycle/session.service.js +18 -5
  528. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  529. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +189 -18
  530. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  531. package/dist/src/backend/services/session/service/session-domain.service.d.ts +2 -0
  532. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  533. package/dist/src/backend/services/session/service/session-domain.service.js +26 -0
  534. package/dist/src/backend/services/session/service/session-domain.service.js.map +1 -1
  535. package/dist/src/backend/services/session/service/session-domain.service.test.js +37 -16
  536. package/dist/src/backend/services/session/service/session-domain.service.test.js.map +1 -1
  537. package/dist/src/backend/services/session/service/session-event-bus.d.ts +21 -0
  538. package/dist/src/backend/services/session/service/session-event-bus.d.ts.map +1 -0
  539. package/dist/src/backend/services/session/service/session-event-bus.js +28 -0
  540. package/dist/src/backend/services/session/service/session-event-bus.js.map +1 -0
  541. package/dist/src/backend/services/session/service/store/session-publisher.js +4 -4
  542. package/dist/src/backend/services/session/service/store/session-publisher.js.map +1 -1
  543. package/dist/src/backend/services/session/service/store/session-queue.test.js +1 -0
  544. package/dist/src/backend/services/session/service/store/session-queue.test.js.map +1 -1
  545. package/dist/src/backend/services/session/service/store/session-replay-builder.d.ts.map +1 -1
  546. package/dist/src/backend/services/session/service/store/session-replay-builder.js +25 -3
  547. package/dist/src/backend/services/session/service/store/session-replay-builder.js.map +1 -1
  548. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js +123 -0
  549. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js.map +1 -1
  550. package/dist/src/backend/services/session/service/store/session-runtime-machine.test.js +1 -0
  551. package/dist/src/backend/services/session/service/store/session-runtime-machine.test.js.map +1 -1
  552. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
  553. package/dist/src/backend/services/session/service/store/session-store-registry.js +1 -0
  554. package/dist/src/backend/services/session/service/store/session-store-registry.js.map +1 -1
  555. package/dist/src/backend/services/session/service/store/session-store.types.d.ts +7 -0
  556. package/dist/src/backend/services/session/service/store/session-store.types.d.ts.map +1 -1
  557. package/dist/src/backend/services/session/service/store/session-transcript.test.js +1 -0
  558. package/dist/src/backend/services/session/service/store/session-transcript.test.js.map +1 -1
  559. package/dist/src/backend/services/session/service/store/slash-command-cache.service.d.ts.map +1 -1
  560. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js +46 -10
  561. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js.map +1 -1
  562. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js +64 -3
  563. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js.map +1 -1
  564. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.d.ts +7 -0
  565. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.d.ts.map +1 -0
  566. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.js +94 -0
  567. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.js.map +1 -0
  568. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.test.d.ts +2 -0
  569. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.test.d.ts.map +1 -0
  570. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.test.js +52 -0
  571. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.test.js.map +1 -0
  572. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +2 -1
  573. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  574. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +46 -13
  575. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  576. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.d.ts +1 -1
  577. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.d.ts.map +1 -1
  578. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.js +2 -2
  579. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.js.map +1 -1
  580. package/dist/src/backend/services/terminal/service/terminal.service.d.ts +2 -0
  581. package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
  582. package/dist/src/backend/services/terminal/service/terminal.service.js +22 -4
  583. package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
  584. package/dist/src/backend/services/terminal/service/terminal.service.test.js +77 -1
  585. package/dist/src/backend/services/terminal/service/terminal.service.test.js.map +1 -1
  586. package/dist/src/backend/services/workspace/index.d.ts +1 -0
  587. package/dist/src/backend/services/workspace/index.d.ts.map +1 -1
  588. package/dist/src/backend/services/workspace/index.js +1 -0
  589. package/dist/src/backend/services/workspace/index.js.map +1 -1
  590. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  591. package/dist/src/backend/services/workspace/resources/project.accessor.js +26 -1
  592. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  593. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.d.ts +19 -0
  594. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.d.ts.map +1 -0
  595. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.js +34 -0
  596. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.js.map +1 -0
  597. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +26 -4
  598. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  599. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +69 -3
  600. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  601. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +84 -0
  602. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  603. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +2 -2
  604. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
  605. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +20 -3
  606. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
  607. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +30 -0
  608. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
  609. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +9 -0
  610. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
  611. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +43 -1
  612. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
  613. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +3 -0
  614. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  615. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +28 -1
  616. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  617. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +2 -1
  618. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js.map +1 -1
  619. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.d.ts +2 -0
  620. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.d.ts.map +1 -0
  621. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js +23 -0
  622. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js.map +1 -0
  623. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts +2 -0
  624. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  625. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +42 -25
  626. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  627. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js +129 -4
  628. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js.map +1 -1
  629. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +6 -0
  630. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  631. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +13 -1
  632. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  633. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +65 -40
  634. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  635. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +60 -0
  636. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  637. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +1 -1
  638. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
  639. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts +1 -1
  640. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  641. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +40 -5
  642. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
  643. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +57 -6
  644. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js.map +1 -1
  645. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts +2 -1
  646. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +1 -1
  647. package/dist/src/backend/services/workspace-snapshot-store.service.js +15 -1
  648. package/dist/src/backend/services/workspace-snapshot-store.service.js.map +1 -1
  649. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +32 -0
  650. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  651. package/dist/src/backend/trpc/admin.trpc.d.ts +6 -6
  652. package/dist/src/backend/trpc/github.router.test.js +29 -0
  653. package/dist/src/backend/trpc/github.router.test.js.map +1 -1
  654. package/dist/src/backend/trpc/github.trpc.d.ts +6 -5
  655. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  656. package/dist/src/backend/trpc/github.trpc.js +26 -1
  657. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  658. package/dist/src/backend/trpc/index.d.ts +209 -6
  659. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  660. package/dist/src/backend/trpc/procedures/project-scoped.d.ts +1 -0
  661. package/dist/src/backend/trpc/procedures/project-scoped.d.ts.map +1 -1
  662. package/dist/src/backend/trpc/project.router.test.js +115 -18
  663. package/dist/src/backend/trpc/project.router.test.js.map +1 -1
  664. package/dist/src/backend/trpc/project.trpc.d.ts +6 -0
  665. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  666. package/dist/src/backend/trpc/project.trpc.js +23 -20
  667. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  668. package/dist/src/backend/trpc/session.router.test.js +38 -1
  669. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  670. package/dist/src/backend/trpc/session.trpc.d.ts +15 -0
  671. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  672. package/dist/src/backend/trpc/session.trpc.js +20 -6
  673. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  674. package/dist/src/backend/trpc/trpc.d.ts +9 -0
  675. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  676. package/dist/src/backend/trpc/trpc.js +39 -1
  677. package/dist/src/backend/trpc/trpc.js.map +1 -1
  678. package/dist/src/backend/trpc/trpc.test.d.ts +2 -0
  679. package/dist/src/backend/trpc/trpc.test.d.ts.map +1 -0
  680. package/dist/src/backend/trpc/trpc.test.js +19 -0
  681. package/dist/src/backend/trpc/trpc.test.js.map +1 -0
  682. package/dist/src/backend/trpc/user-settings.router.test.js +1 -0
  683. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  684. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  685. package/dist/src/backend/trpc/user-settings.trpc.js +1 -0
  686. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  687. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  688. package/dist/src/backend/trpc/workspace/files.trpc.js +5 -9
  689. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  690. package/dist/src/backend/trpc/workspace/init.router.test.js +24 -2
  691. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  692. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +3 -0
  693. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  694. package/dist/src/backend/trpc/workspace/init.trpc.js +2 -2
  695. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  696. package/dist/src/backend/trpc/workspace/run-script.router.test.js +23 -1
  697. package/dist/src/backend/trpc/workspace/run-script.router.test.js.map +1 -1
  698. package/dist/src/backend/trpc/workspace/run-script.trpc.js +4 -4
  699. package/dist/src/backend/trpc/workspace/run-script.trpc.js.map +1 -1
  700. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +6 -0
  701. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  702. package/dist/src/backend/trpc/workspace.router.test.js +278 -2
  703. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  704. package/dist/src/backend/trpc/workspace.trpc.d.ts +182 -0
  705. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  706. package/dist/src/backend/trpc/workspace.trpc.js +247 -19
  707. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  708. package/dist/src/cli/database-path.d.ts.map +1 -1
  709. package/dist/src/cli/database-path.js +4 -2
  710. package/dist/src/cli/database-path.js.map +1 -1
  711. package/dist/src/cli/database-path.test.js +10 -0
  712. package/dist/src/cli/database-path.test.js.map +1 -1
  713. package/dist/src/cli/serve-env.d.ts.map +1 -1
  714. package/dist/src/cli/serve-env.js +5 -3
  715. package/dist/src/cli/serve-env.js.map +1 -1
  716. package/dist/src/cli/serve-env.test.js +30 -0
  717. package/dist/src/cli/serve-env.test.js.map +1 -1
  718. package/dist/src/shared/acp-protocol/protocol/constants.d.ts +1 -0
  719. package/dist/src/shared/acp-protocol/protocol/constants.d.ts.map +1 -1
  720. package/dist/src/shared/acp-protocol/protocol/constants.js +1 -0
  721. package/dist/src/shared/acp-protocol/protocol/constants.js.map +1 -1
  722. package/dist/src/shared/acp-protocol/protocol/index.d.ts +1 -0
  723. package/dist/src/shared/acp-protocol/protocol/index.d.ts.map +1 -1
  724. package/dist/src/shared/acp-protocol/protocol/index.js +1 -0
  725. package/dist/src/shared/acp-protocol/protocol/index.js.map +1 -1
  726. package/dist/src/shared/acp-protocol/protocol/messages.d.ts +8 -1
  727. package/dist/src/shared/acp-protocol/protocol/messages.d.ts.map +1 -1
  728. package/dist/src/shared/acp-protocol/protocol/messages.js +2 -0
  729. package/dist/src/shared/acp-protocol/protocol/messages.js.map +1 -1
  730. package/dist/src/shared/acp-protocol/protocol/renderer-window.d.ts +3 -0
  731. package/dist/src/shared/acp-protocol/protocol/renderer-window.d.ts.map +1 -0
  732. package/dist/src/shared/acp-protocol/protocol/renderer-window.js +36 -0
  733. package/dist/src/shared/acp-protocol/protocol/renderer-window.js.map +1 -0
  734. package/dist/src/shared/core/enums.d.ts +1 -0
  735. package/dist/src/shared/core/enums.d.ts.map +1 -1
  736. package/dist/src/shared/core/enums.js +1 -0
  737. package/dist/src/shared/core/enums.js.map +1 -1
  738. package/dist/src/shared/issue-start-prompt.d.ts.map +1 -1
  739. package/dist/src/shared/issue-start-prompt.js +38 -3
  740. package/dist/src/shared/issue-start-prompt.js.map +1 -1
  741. package/dist/src/shared/proxy-utils.d.ts +2 -0
  742. package/dist/src/shared/proxy-utils.d.ts.map +1 -1
  743. package/dist/src/shared/proxy-utils.js +20 -2
  744. package/dist/src/shared/proxy-utils.js.map +1 -1
  745. package/dist/src/shared/schemas/export-data.schema.d.ts +14 -12
  746. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  747. package/dist/src/shared/session-runtime.d.ts +9 -0
  748. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  749. package/dist/src/shared/session-runtime.js +23 -0
  750. package/dist/src/shared/session-runtime.js.map +1 -1
  751. package/dist/src/shared/workspace-notifications.d.ts +10 -0
  752. package/dist/src/shared/workspace-notifications.d.ts.map +1 -0
  753. package/dist/src/shared/workspace-notifications.js +11 -0
  754. package/dist/src/shared/workspace-notifications.js.map +1 -0
  755. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  756. package/package.json +4 -4
  757. package/prisma/migrations/20260622135020_add_child_workspaces/migration.sql +99 -0
  758. package/prisma/migrations/20260622135100_add_child_workspaces/migration.sql +39 -0
  759. package/prisma/migrations/20260622195338_add_notification_direction/migration.sql +22 -0
  760. package/prisma/migrations/20260622220000_add_parent_workspace_id_index/migration.sql +2 -0
  761. package/prisma/migrations/20260715201522_add_ratchet_dispatch_record/migration.sql +125 -0
  762. package/prisma/schema.prisma +43 -1
  763. package/prompts/ratchet/dispatch.md +2 -0
  764. package/dist/client/assets/channel-DTP0LAbj.js +0 -1
  765. package/dist/client/assets/chunk-2J33WTMH-BfBptE9H.js +0 -1
  766. package/dist/client/assets/classDiagram-4FO5ZUOK-Ctn2iFx-.js +0 -1
  767. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Ctn2iFx-.js +0 -1
  768. package/dist/client/assets/index-QJUv8N-T.js +0 -662
  769. package/dist/client/assets/index-z2dDRh55.css +0 -1
  770. package/dist/client/assets/infoDiagram-5YYISTIA-EcbEZrdJ.js +0 -2
  771. package/dist/client/assets/stateDiagram-AJRCARHV-JRGDQ0Z0.js +0 -1
  772. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-YFRSfKcY.js +0 -1
  773. package/dist/src/backend/services/ratchet/service/ratchet-review-poll.helpers.d.ts +0 -16
  774. package/dist/src/backend/services/ratchet/service/ratchet-review-poll.helpers.d.ts.map +0 -1
  775. package/dist/src/backend/services/ratchet/service/ratchet-review-poll.helpers.js +0 -52
  776. package/dist/src/backend/services/ratchet/service/ratchet-review-poll.helpers.js.map +0 -1
  777. package/dist/src/backend/services/ratchet/service/reconciliation.service.d.ts.map +0 -1
  778. package/dist/src/backend/services/ratchet/service/reconciliation.service.js.map +0 -1
  779. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.d.ts.map +0 -1
  780. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.js.map +0 -1
  781. package/dist/src/backend/services/session/service/chat/chat-connection.service.d.ts +0 -19
  782. package/dist/src/backend/services/session/service/chat/chat-connection.service.d.ts.map +0 -1
  783. package/dist/src/backend/services/session/service/chat/chat-connection.service.js +0 -78
  784. package/dist/src/backend/services/session/service/chat/chat-connection.service.js.map +0 -1
  785. package/dist/src/backend/services/session/service/chat/chat-connection.service.test.d.ts +0 -2
  786. package/dist/src/backend/services/session/service/chat/chat-connection.service.test.d.ts.map +0 -1
  787. package/dist/src/backend/services/session/service/chat/chat-connection.service.test.js +0 -214
  788. package/dist/src/backend/services/session/service/chat/chat-connection.service.test.js.map +0 -1
  789. /package/dist/src/backend/{services/ratchet/service → orchestration}/reconciliation.service.test.d.ts +0 -0
@@ -1,4 +1,5 @@
1
1
  import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { createServer as createNetServer } from 'node:net';
2
3
  import { tmpdir } from 'node:os';
3
4
  import { join } from 'node:path';
4
5
  import request from 'supertest';
@@ -7,9 +8,9 @@ import { prisma } from '../backend/db.js';
7
8
  import { startInterceptors, stopInterceptors } from '../backend/interceptors/index.js';
8
9
  import { configureDomainBridges } from '../backend/orchestration/domain-bridges.orchestrator.js';
9
10
  import { configureEventCollector, stopEventCollector, } from '../backend/orchestration/event-collector.orchestrator.js';
11
+ import { reconciliationService } from '../backend/orchestration/reconciliation.service.js';
10
12
  import { configureSnapshotReconciliation, snapshotReconciliationService, } from '../backend/orchestration/snapshot-reconciliation.orchestrator.js';
11
13
  import { recoverStaleArchivingWorkspaces } from '../backend/orchestration/workspace-archive.orchestrator.js';
12
- import { reconciliationService } from '../backend/services/ratchet/index.js';
13
14
  import { runScriptStateMachine } from '../backend/services/run-script/index.js';
14
15
  import { unsafeCoerce } from '../test-utils/unsafe-coerce.js';
15
16
  const handlers = vi.hoisted(() => ({
@@ -44,18 +45,14 @@ vi.mock('@/backend/orchestration/snapshot-reconciliation.orchestrator', () => ({
44
45
  vi.mock('@/backend/orchestration/workspace-archive.orchestrator', () => ({
45
46
  recoverStaleArchivingWorkspaces: vi.fn(async () => ({ archived: [], failed: [] })),
46
47
  }));
47
- vi.mock('@/backend/services/ratchet', async (importOriginal) => {
48
- const actual = await importOriginal();
49
- return {
50
- ...actual,
51
- reconciliationService: {
52
- cleanupOrphans: vi.fn(async () => undefined),
53
- reconcile: vi.fn(async () => undefined),
54
- startPeriodicCleanup: vi.fn(),
55
- stopPeriodicCleanup: vi.fn(async () => undefined),
56
- },
57
- };
58
- });
48
+ vi.mock('@/backend/orchestration/reconciliation.service', () => ({
49
+ reconciliationService: {
50
+ cleanupOrphans: vi.fn(async () => undefined),
51
+ reconcile: vi.fn(async () => undefined),
52
+ startPeriodicCleanup: vi.fn(),
53
+ stopPeriodicCleanup: vi.fn(async () => undefined),
54
+ },
55
+ }));
59
56
  vi.mock('@/backend/services/run-script', async (importOriginal) => {
60
57
  const actual = await importOriginal();
61
58
  return {
@@ -93,7 +90,6 @@ function createTestHarness(options = {}) {
93
90
  info: vi.fn(),
94
91
  warn: vi.fn(),
95
92
  };
96
- const requestedPortResult = options.requestedPortResult ?? 0;
97
93
  const services = {
98
94
  configService: {
99
95
  getBackendPort: () => 0,
@@ -108,7 +104,7 @@ function createTestHarness(options = {}) {
108
104
  getDatabasePathFromEnv: () => undefined,
109
105
  },
110
106
  createLogger: () => logger,
111
- findAvailablePort: vi.fn(async () => requestedPortResult),
107
+ findAvailablePort: vi.fn(async (startPort) => startPort),
112
108
  ratchetService: {
113
109
  start: vi.fn(),
114
110
  stop: vi.fn(async () => undefined),
@@ -150,6 +146,67 @@ function createTestHarness(options = {}) {
150
146
  function createTestAppContext(options = {}) {
151
147
  return createTestHarness(options).context;
152
148
  }
149
+ async function occupyPort(port = 0) {
150
+ const server = createNetServer();
151
+ await new Promise((resolve, reject) => {
152
+ server.once('error', reject);
153
+ server.listen(port, '127.0.0.1', () => {
154
+ server.off('error', reject);
155
+ resolve();
156
+ });
157
+ });
158
+ const address = server.address();
159
+ if (address === null || typeof address === 'string') {
160
+ throw new Error('Expected occupied TCP server to have a numeric port');
161
+ }
162
+ return { port: address.port, server };
163
+ }
164
+ async function closeNetServer(server) {
165
+ await new Promise((resolve, reject) => {
166
+ server.close((error) => {
167
+ if (error) {
168
+ reject(error);
169
+ return;
170
+ }
171
+ resolve();
172
+ });
173
+ });
174
+ }
175
+ async function waitForHttpServerToListen(server) {
176
+ for (let attempt = 0; attempt < 100; attempt++) {
177
+ if (server.getHttpServer().listening) {
178
+ return;
179
+ }
180
+ await new Promise((resolve) => setTimeout(resolve, 10));
181
+ }
182
+ throw new Error('Expected HTTP server to start listening');
183
+ }
184
+ async function occupyConsecutivePorts(count) {
185
+ for (let attempt = 0; attempt < 50; attempt++) {
186
+ const servers = [];
187
+ try {
188
+ const first = await occupyPort();
189
+ const startPort = first.port;
190
+ servers.push(first.server);
191
+ if (startPort + count - 1 > 65_535) {
192
+ await Promise.allSettled(servers.map(closeNetServer));
193
+ continue;
194
+ }
195
+ for (let offset = 1; offset < count; offset++) {
196
+ const occupied = await occupyPort(startPort + offset);
197
+ servers.push(occupied.server);
198
+ }
199
+ return { startPort, servers };
200
+ }
201
+ catch (error) {
202
+ await Promise.allSettled(servers.map(closeNetServer));
203
+ if (attempt === 49) {
204
+ throw error;
205
+ }
206
+ }
207
+ }
208
+ throw new Error('Could not occupy a consecutive TCP port range');
209
+ }
153
210
  describe('server websocket upgrade routing', () => {
154
211
  const servers = [];
155
212
  const tempDirs = [];
@@ -286,15 +343,13 @@ describe('server websocket upgrade routing', () => {
286
343
  expect(handlers.snapshots).not.toHaveBeenCalled();
287
344
  });
288
345
  it('starts server and wires startup services', async () => {
289
- const harness = createTestHarness({
290
- requestedPortResult: 0,
291
- });
292
- const server = createTestServer(harness.context, 47_891);
346
+ const harness = createTestHarness();
347
+ const server = createTestServer(harness.context, 0);
293
348
  const endpoint = await server.start();
294
349
  expect(endpoint).toBe('http://localhost:0');
295
350
  expect(server.getPort()).toBe(0);
296
- expect(harness.services.findAvailablePort).toHaveBeenCalledWith(47_891);
297
- expect(harness.logger.warn).toHaveBeenCalledOnce();
351
+ expect(harness.services.findAvailablePort).not.toHaveBeenCalled();
352
+ expect(harness.logger.warn).not.toHaveBeenCalled();
298
353
  expect(configureDomainBridges).toHaveBeenCalledWith(harness.context.services);
299
354
  expect(configureEventCollector).toHaveBeenCalledWith(harness.context.services);
300
355
  expect(configureSnapshotReconciliation).toHaveBeenCalledWith(harness.context.services);
@@ -320,11 +375,36 @@ describe('server websocket upgrade routing', () => {
320
375
  expect(harness.services.schedulerService.start).toHaveBeenCalledOnce();
321
376
  expect(harness.services.ratchetService.start).toHaveBeenCalledOnce();
322
377
  });
378
+ it('rejects concurrent start calls without running startup cleanup', async () => {
379
+ const harness = createTestHarness();
380
+ let reconciliationStarted;
381
+ let continueReconciliation;
382
+ const reconciliationStartedPromise = new Promise((resolve) => {
383
+ reconciliationStarted = resolve;
384
+ });
385
+ const continueReconciliationPromise = new Promise((resolve) => {
386
+ continueReconciliation = resolve;
387
+ });
388
+ vi.mocked(reconciliationService.cleanupOrphans).mockImplementationOnce(async () => {
389
+ reconciliationStarted();
390
+ await continueReconciliationPromise;
391
+ });
392
+ const server = createTestServer(harness.context, 0);
393
+ const startPromise = server.start();
394
+ await reconciliationStartedPromise;
395
+ await expect(server.start()).rejects.toThrow('Server startup has already been initiated');
396
+ expect(stopInterceptors).not.toHaveBeenCalled();
397
+ expect(harness.services.sessionService.stopAllClients).not.toHaveBeenCalled();
398
+ expect(harness.services.schedulerService.stop).not.toHaveBeenCalled();
399
+ expect(prisma.$disconnect).not.toHaveBeenCalled();
400
+ continueReconciliation();
401
+ await expect(startPromise).resolves.toBe('http://localhost:0');
402
+ expect(server.getHttpServer().listening).toBe(true);
403
+ });
323
404
  it('writes backend port to stdout when run script proxy mode is enabled', async () => {
324
405
  const writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
325
406
  const harness = createTestHarness({
326
407
  isRunScriptProxyEnabled: true,
327
- requestedPortResult: 0,
328
408
  });
329
409
  const server = createTestServer(harness.context, 0);
330
410
  await server.start();
@@ -332,7 +412,7 @@ describe('server websocket upgrade routing', () => {
332
412
  writeSpy.mockRestore();
333
413
  });
334
414
  it('logs startup reconciliation failures and continues starting', async () => {
335
- const harness = createTestHarness({ requestedPortResult: 0 });
415
+ const harness = createTestHarness();
336
416
  vi.mocked(reconciliationService.cleanupOrphans).mockRejectedValueOnce(new Error('cleanup failed'));
337
417
  vi.mocked(harness.services.sessionService.recoverStaleSessionStates).mockRejectedValueOnce(new Error('session recovery failed'));
338
418
  vi.mocked(reconciliationService.reconcile).mockRejectedValueOnce(new Error('reconcile failed'));
@@ -346,8 +426,85 @@ describe('server websocket upgrade routing', () => {
346
426
  expect(harness.logger.error).toHaveBeenCalledWith('Failed to recover stale run script states on startup', expect.any(Object));
347
427
  expect(harness.logger.error).toHaveBeenCalledWith('Failed to recover stale archiving workspaces on startup', expect.any(Object));
348
428
  });
429
+ it('gates HTTP requests and websocket upgrades while startup reconciliation is pending', async () => {
430
+ const harness = createTestHarness();
431
+ let reconciliationStarted;
432
+ let continueReconciliation;
433
+ const reconciliationStartedPromise = new Promise((resolve) => {
434
+ reconciliationStarted = resolve;
435
+ });
436
+ const continueReconciliationPromise = new Promise((resolve) => {
437
+ continueReconciliation = resolve;
438
+ });
439
+ vi.mocked(reconciliationService.cleanupOrphans).mockImplementationOnce(async () => {
440
+ reconciliationStarted();
441
+ await continueReconciliationPromise;
442
+ });
443
+ const server = createTestServer(harness.context, 0);
444
+ const startPromise = server.start();
445
+ await reconciliationStartedPromise;
446
+ await waitForHttpServerToListen(server);
447
+ const response = await request(server.getHttpServer()).get('/health');
448
+ const socket = {
449
+ destroy: vi.fn(),
450
+ write: vi.fn(),
451
+ };
452
+ const upgradeRequest = {
453
+ headers: { host: 'localhost:3001' },
454
+ url: '/chat?sessionId=s1',
455
+ };
456
+ server.getHttpServer().emit('upgrade', upgradeRequest, socket, Buffer.alloc(0));
457
+ expect(response.status).toBe(503);
458
+ expect(response.body).toMatchObject({ error: 'Service starting' });
459
+ expect(socket.write).toHaveBeenCalledWith(expect.stringContaining('503 Service Unavailable'));
460
+ expect(socket.destroy).toHaveBeenCalledOnce();
461
+ expect(handlers.chat).not.toHaveBeenCalled();
462
+ continueReconciliation();
463
+ await expect(startPromise).resolves.toBe('http://localhost:0');
464
+ const readyResponse = await request(server.getHttpServer()).get('/health');
465
+ expect(readyResponse.status).toBe(200);
466
+ });
467
+ it('retries the next port when the requested port is already bound', async () => {
468
+ const { startPort, servers: occupiedServers } = await occupyConsecutivePorts(2);
469
+ const requestedPortReservation = occupiedServers[0];
470
+ const nextPortReservation = occupiedServers[1];
471
+ if (!(requestedPortReservation && nextPortReservation)) {
472
+ throw new Error('Expected two occupied TCP port reservations');
473
+ }
474
+ await closeNetServer(nextPortReservation);
475
+ try {
476
+ const harness = createTestHarness({ backendHost: '127.0.0.1' });
477
+ const server = createTestServer(harness.context, startPort);
478
+ await expect(server.start()).resolves.toBe(`http://127.0.0.1:${startPort + 1}`);
479
+ expect(server.getPort()).toBe(startPort + 1);
480
+ expect(harness.services.findAvailablePort).not.toHaveBeenCalled();
481
+ expect(harness.logger.warn).toHaveBeenCalledWith('Requested port in use, using alternative', {
482
+ requestedPort: startPort,
483
+ actualPort: startPort + 1,
484
+ });
485
+ expect(reconciliationService.cleanupOrphans).toHaveBeenCalledOnce();
486
+ expect(startInterceptors).toHaveBeenCalledOnce();
487
+ }
488
+ finally {
489
+ await closeNetServer(requestedPortReservation);
490
+ }
491
+ });
492
+ it('rejects startup after all bind fallback ports are already bound', async () => {
493
+ const { startPort, servers: occupiedServers } = await occupyConsecutivePorts(10);
494
+ try {
495
+ const harness = createTestHarness({ backendHost: '127.0.0.1' });
496
+ const server = createTestServer(harness.context, startPort);
497
+ await expect(server.start()).rejects.toThrow(`Could not bind server to an available port starting from ${startPort}`);
498
+ expect(harness.services.findAvailablePort).not.toHaveBeenCalled();
499
+ expect(configureSnapshotReconciliation).not.toHaveBeenCalled();
500
+ expect(startInterceptors).not.toHaveBeenCalled();
501
+ }
502
+ finally {
503
+ await Promise.all(occupiedServers.map(closeNetServer));
504
+ }
505
+ });
349
506
  it('rejects start when http server emits an error', async () => {
350
- const harness = createTestHarness({ requestedPortResult: 0 });
507
+ const harness = createTestHarness();
351
508
  const server = createTestServer(harness.context, 0);
352
509
  const httpServer = server.getHttpServer();
353
510
  vi.spyOn(httpServer, 'listen').mockImplementation(() => httpServer);
@@ -357,6 +514,42 @@ describe('server websocket upgrade routing', () => {
357
514
  await expect(startPromise).rejects.toThrow('listen failed');
358
515
  expect(configureSnapshotReconciliation).not.toHaveBeenCalled();
359
516
  });
517
+ it('runs normal cleanup when startup fails after the server is bound', async () => {
518
+ const harness = createTestHarness();
519
+ vi.mocked(harness.services.schedulerService.start).mockImplementationOnce(() => {
520
+ throw new Error('scheduler failed');
521
+ });
522
+ const server = createTestServer(harness.context, 0);
523
+ await expect(server.start()).rejects.toThrow('scheduler failed');
524
+ expect(server.getHttpServer().listening).toBe(false);
525
+ expect(stopInterceptors).toHaveBeenCalledOnce();
526
+ expect(harness.services.sessionService.stopAllClients).toHaveBeenCalledWith(5000);
527
+ expect(harness.services.terminalService.cleanup).toHaveBeenCalledOnce();
528
+ expect(harness.services.sessionFileLogger.cleanup).toHaveBeenCalledOnce();
529
+ expect(harness.services.acpTraceLogger.cleanup).toHaveBeenCalledOnce();
530
+ expect(harness.services.rateLimiter.stop).toHaveBeenCalledOnce();
531
+ expect(harness.services.schedulerService.stop).toHaveBeenCalledOnce();
532
+ expect(stopEventCollector).toHaveBeenCalledOnce();
533
+ expect(snapshotReconciliationService.stop).toHaveBeenCalledOnce();
534
+ expect(harness.services.ratchetService.stop).toHaveBeenCalledOnce();
535
+ expect(reconciliationService.stopPeriodicCleanup).toHaveBeenCalledOnce();
536
+ expect(prisma.$disconnect).toHaveBeenCalledOnce();
537
+ });
538
+ it('does not allow retrying start after startup failure cleanup', async () => {
539
+ const harness = createTestHarness();
540
+ vi.mocked(harness.services.schedulerService.start).mockImplementationOnce(() => {
541
+ throw new Error('scheduler failed');
542
+ });
543
+ const server = createTestServer(harness.context, 0);
544
+ await expect(server.start()).rejects.toThrow('scheduler failed');
545
+ expect(server.getHttpServer().listening).toBe(false);
546
+ await expect(server.start()).rejects.toThrow('Server has already been stopped');
547
+ await server.stop();
548
+ expect(stopInterceptors).toHaveBeenCalledOnce();
549
+ expect(harness.services.sessionService.stopAllClients).toHaveBeenCalledOnce();
550
+ expect(harness.services.schedulerService.stop).toHaveBeenCalledOnce();
551
+ expect(prisma.$disconnect).toHaveBeenCalledOnce();
552
+ });
360
553
  it('runs cleanup fan-out when server stops', async () => {
361
554
  const harness = createTestHarness();
362
555
  const server = createTestServer(harness.context);
@@ -1 +1 @@
1
- {"version":3,"file":"server.upgrade.test.js","sourceRoot":"","sources":["../../../src/backend/server.upgrade.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.upgrade.test.js","sourceRoot":"","sources":["../../../src/backend/server.upgrade.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-iteration.service.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EAEV,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EAGtB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,WAAW,CAAC;AAuBnB,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAS9C,qBAAa,oBAAoB;IAMnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,aAAa,CAA2C;gBAEnC,MAAM,EAAE,MAAM;IAG3C,SAAS,CACP,aAAa,EAAE,0BAA0B,EACzC,eAAe,EAAE,4BAA4B,EAC7C,aAAa,EAAE,0BAA0B,GACxC,IAAI;IAMP,OAAO,KAAK,OAAO,GAKlB;IAED,OAAO,KAAK,SAAS,GAKpB;IAED,OAAO,KAAK,OAAO,GAKlB;IAGK,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuG5E,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ1B,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D1C,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IA6DhB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ/B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAa5D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUvC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;YAiB9C,SAAS;YAcT,OAAO;YAkLP,YAAY;YAgNZ,WAAW;YA0EX,QAAQ;CA8BvB"}
1
+ {"version":3,"file":"auto-iteration.service.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EAEV,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EAGtB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,WAAW,CAAC;AAuBnB,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAS9C,qBAAa,oBAAoB;IAMnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,aAAa,CAA2C;gBAEnC,MAAM,EAAE,MAAM;IAG3C,SAAS,CACP,aAAa,EAAE,0BAA0B,EACzC,eAAe,EAAE,4BAA4B,EAC7C,aAAa,EAAE,0BAA0B,GACxC,IAAI;IAMP,OAAO,KAAK,OAAO,GAKlB;IAED,OAAO,KAAK,SAAS,GAKpB;IAED,OAAO,KAAK,OAAO,GAKlB;IAGK,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuG5E,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ1B,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE1C,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IA6DhB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ/B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAa5D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAUvC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;YAiB9C,SAAS;YAcT,OAAO;YAkLP,YAAY;YAgNZ,WAAW;YA0EX,QAAQ;CA8BvB"}
@@ -126,15 +126,15 @@ export class AutoIterationService {
126
126
  if (!this.loops.has(workspaceId)) {
127
127
  throw new Error(`Auto-iteration loop for workspace ${workspaceId} failed and was cleaned up — cannot resume`);
128
128
  }
129
- loop.pauseRequested = false;
130
129
  let releaseSentinel = () => undefined;
131
130
  const sentinel = new Promise((resolve) => {
132
131
  releaseSentinel = resolve;
133
132
  });
134
133
  loop.loopPromise = sentinel;
135
134
  try {
136
- await this.workspace.updateAutoIterationStatus(workspaceId, AutoIterationStatus.RUNNING);
137
135
  const worktreePath = await this.workspace.getWorktreePath(workspaceId);
136
+ await this.workspace.updateAutoIterationStatus(workspaceId, AutoIterationStatus.RUNNING);
137
+ loop.pauseRequested = false;
138
138
  loop.loopPromise = this.runLoop(loop, worktreePath).catch((err) => {
139
139
  this.logger.error('Auto-iteration loop failed on resume', {
140
140
  workspaceId,
@@ -145,7 +145,17 @@ export class AutoIterationService {
145
145
  });
146
146
  }
147
147
  catch (err) {
148
+ loop.pauseRequested = true;
148
149
  loop.loopPromise = null;
150
+ try {
151
+ await this.workspace.updateAutoIterationStatus(workspaceId, AutoIterationStatus.PAUSED);
152
+ }
153
+ catch (recoveryError) {
154
+ this.logger.error('Failed to restore paused auto-iteration status after resume failure', {
155
+ workspaceId,
156
+ error: String(recoveryError),
157
+ });
158
+ }
149
159
  throw err;
150
160
  }
151
161
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"auto-iteration.service.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-iteration.service.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.service.ts"],"names":[],"mappings":"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"}