factory-factory 0.3.7 → 0.3.9

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 (553) hide show
  1. package/dist/client/assets/{_basePickBy-BsuMuaCZ.js → _basePickBy-CoLLbaiQ.js} +1 -1
  2. package/dist/client/assets/{_baseUniq-BDd8f52s.js → _baseUniq-xRgxfXUW.js} +1 -1
  3. package/dist/client/assets/{arc-BWbaJQoA.js → arc-De4Ny3V9.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-VXUJARFQ-C_FQG3JS.js → architectureDiagram-VXUJARFQ-DM0j158z.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-VD42YOAC-CLwvH-wA.js → blockDiagram-VD42YOAC-DKBZN-sz.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-YG6GDRKO-Ba80_haP.js → c4Diagram-YG6GDRKO-CIA6AVRp.js} +1 -1
  7. package/dist/client/assets/channel-DW2o9xrZ.js +1 -0
  8. package/dist/client/assets/{chunk-4BX2VUAB-CSlDSMiy.js → chunk-4BX2VUAB-BrHsCtgI.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-Dm3keBAf.js → chunk-55IACEB6-DLwlJB2L.js} +1 -1
  10. package/dist/client/assets/{chunk-B4BG7PRW-BSrvNYuP.js → chunk-B4BG7PRW-cqTY9ldj.js} +1 -1
  11. package/dist/client/assets/{chunk-DI55MBZ5-DFQPoLQZ.js → chunk-DI55MBZ5-PAp7fYLU.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-C1KS438H.js → chunk-FMBD7UC4-CsvpScij.js} +1 -1
  13. package/dist/client/assets/{chunk-QN33PNHL-4rPPxHo4.js → chunk-QN33PNHL-DmkkCoc-.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-B_sF5IzV.js → chunk-QZHKN3VN-Ds5Tjlpo.js} +1 -1
  15. package/dist/client/assets/{chunk-TZMSLE5B-L-qbjoBp.js → chunk-TZMSLE5B-4Gu0uKkR.js} +1 -1
  16. package/dist/client/assets/classDiagram-2ON5EDUG-CUeZuC6S.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-WZHVMYZB-CUeZuC6S.js +1 -0
  18. package/dist/client/assets/clone-Df9JDgIw.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-S5V4N54A-DB7lwAnl.js → cose-bilkent-S5V4N54A-CQJ_MgcD.js} +1 -1
  20. package/dist/client/assets/{dagre-6UL2VRFP-z2fl_1iD.js → dagre-6UL2VRFP-CfyncTju.js} +1 -1
  21. package/dist/client/assets/{diagram-PSM6KHXK-BL2iv8II.js → diagram-PSM6KHXK-BL2QA0bQ.js} +1 -1
  22. package/dist/client/assets/{diagram-QEK2KX5R-DgMZW0D1.js → diagram-QEK2KX5R-BDcBrJO4.js} +1 -1
  23. package/dist/client/assets/{diagram-S2PKOQOG-Ct2QBl2c.js → diagram-S2PKOQOG-BxofoMik.js} +1 -1
  24. package/dist/client/assets/{erDiagram-Q2GNP2WA-DII-pqkb.js → erDiagram-Q2GNP2WA-CDGe-bUA.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-NV44I4VS-BV4CMZAZ.js → flowDiagram-NV44I4VS-CodDw20I.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-JELNMOA3-Dfj064tE.js → ganttDiagram-JELNMOA3-BHJlNcF5.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-Cg2b-j3t.js → gitGraphDiagram-V2S2FVAM-DsFPFnxn.js} +1 -1
  28. package/dist/client/assets/{graph-wzICjOO_.js → graph-DtyTGYVa.js} +1 -1
  29. package/dist/client/assets/index-BkwQogmx.css +1 -0
  30. package/dist/client/assets/index-CSanKe06.js +436 -0
  31. package/dist/client/assets/{infoDiagram-HS3SLOUP-D09mbfgG.js → infoDiagram-HS3SLOUP-CczckdeY.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-BebsQbuf.js → journeyDiagram-XKPGCS4Q-CIDlGmYi.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-3W4ZIXB7-DOuawTNU.js → kanban-definition-3W4ZIXB7-Dvuu9eqr.js} +1 -1
  34. package/dist/client/assets/{layout-Bj6cMfF5.js → layout-Cth5sJm6.js} +1 -1
  35. package/dist/client/assets/{linear-B58HS9F4.js → linear-DRv-Y17x.js} +1 -1
  36. package/dist/client/assets/{mindmap-definition-VGOIOE7T-hSFgcTL2.js → mindmap-definition-VGOIOE7T-AXsc24V4.js} +1 -1
  37. package/dist/client/assets/{mobile-baseline-CmdjqYSm.js → mobile-baseline-DXBPdrir.js} +1 -1
  38. package/dist/client/assets/{pieDiagram-ADFJNKIX-D1vkoKs3.js → pieDiagram-ADFJNKIX-oIn8Bgi4.js} +1 -1
  39. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-pMQj9xcS.js → quadrantDiagram-AYHSOK5B-rGTqNh3q.js} +1 -1
  40. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DvRtxnIi.js → requirementDiagram-UZGBJVZJ-DgE2dYES.js} +1 -1
  41. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-BWoDxXkR.js → sankeyDiagram-TZEHDZUN-BWRLa217.js} +1 -1
  42. package/dist/client/assets/{sequenceDiagram-WL72ISMW-Dz5i1ly3.js → sequenceDiagram-WL72ISMW-lYEkh9VX.js} +1 -1
  43. package/dist/client/assets/{stateDiagram-FKZM4ZOC-BFd_gXUo.js → stateDiagram-FKZM4ZOC-CV9VCuVK.js} +1 -1
  44. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-DQ10FejB.js +1 -0
  45. package/dist/client/assets/{terminal-instance-BTIzq32H.js → terminal-instance-C3nwiweh.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-IT6M3QCI-BFEIWW6m.js → timeline-definition-IT6M3QCI-Bzm_qoWF.js} +1 -1
  47. package/dist/client/assets/{treemap-GDKQZRPO-CC2Fh6RQ.js → treemap-GDKQZRPO-gouxKMUq.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-PRI3JC2R-DFygXQrm.js → xychartDiagram-PRI3JC2R-DqSTMw-l.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/dist/prisma/generated/enums.d.ts +1 -0
  51. package/dist/prisma/generated/enums.d.ts.map +1 -1
  52. package/dist/prisma/generated/enums.js +1 -0
  53. package/dist/prisma/generated/enums.js.map +1 -1
  54. package/dist/prisma/generated/internal/class.js +4 -4
  55. package/dist/prisma/generated/internal/class.js.map +1 -1
  56. package/dist/prisma/generated/internal/prismaNamespace.d.ts +1 -0
  57. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  58. package/dist/prisma/generated/internal/prismaNamespace.js +1 -0
  59. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  60. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +1 -0
  61. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  62. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +1 -0
  63. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  64. package/dist/prisma/generated/models/Workspace.d.ts +44 -1
  65. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  66. package/dist/src/backend/app-context.d.ts +2 -1
  67. package/dist/src/backend/app-context.d.ts.map +1 -1
  68. package/dist/src/backend/app-context.js +22 -5
  69. package/dist/src/backend/app-context.js.map +1 -1
  70. package/dist/src/backend/domains/github/github-cli/mappers.d.ts +1 -1
  71. package/dist/src/backend/domains/github/github-cli/mappers.d.ts.map +1 -1
  72. package/dist/src/backend/domains/github/github-cli/mappers.js +2 -37
  73. package/dist/src/backend/domains/github/github-cli/mappers.js.map +1 -1
  74. package/dist/src/backend/domains/github/github-cli.service.test.js +20 -0
  75. package/dist/src/backend/domains/github/github-cli.service.test.js.map +1 -1
  76. package/dist/src/backend/domains/linear/linear-state-sync.service.d.ts.map +1 -1
  77. package/dist/src/backend/domains/linear/linear-state-sync.service.js.map +1 -1
  78. package/dist/src/backend/domains/ratchet/bridges.d.ts +4 -0
  79. package/dist/src/backend/domains/ratchet/bridges.d.ts.map +1 -1
  80. package/dist/src/backend/domains/ratchet/ratchet-active-session.helpers.d.ts +15 -0
  81. package/dist/src/backend/domains/ratchet/ratchet-active-session.helpers.d.ts.map +1 -0
  82. package/dist/src/backend/domains/ratchet/ratchet-active-session.helpers.js +126 -0
  83. package/dist/src/backend/domains/ratchet/ratchet-active-session.helpers.js.map +1 -0
  84. package/dist/src/backend/domains/ratchet/ratchet-fixer-dispatch.helpers.d.ts +14 -0
  85. package/dist/src/backend/domains/ratchet/ratchet-fixer-dispatch.helpers.d.ts.map +1 -0
  86. package/dist/src/backend/domains/ratchet/ratchet-fixer-dispatch.helpers.js +55 -0
  87. package/dist/src/backend/domains/ratchet/ratchet-fixer-dispatch.helpers.js.map +1 -0
  88. package/dist/src/backend/domains/ratchet/ratchet-pr-state.helpers.d.ts +107 -0
  89. package/dist/src/backend/domains/ratchet/ratchet-pr-state.helpers.d.ts.map +1 -0
  90. package/dist/src/backend/domains/ratchet/ratchet-pr-state.helpers.js +246 -0
  91. package/dist/src/backend/domains/ratchet/ratchet-pr-state.helpers.js.map +1 -0
  92. package/dist/src/backend/domains/ratchet/ratchet-review-poll.helpers.d.ts +16 -0
  93. package/dist/src/backend/domains/ratchet/ratchet-review-poll.helpers.d.ts.map +1 -0
  94. package/dist/src/backend/domains/ratchet/ratchet-review-poll.helpers.js +52 -0
  95. package/dist/src/backend/domains/ratchet/ratchet-review-poll.helpers.js.map +1 -0
  96. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts +6 -40
  97. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts.map +1 -1
  98. package/dist/src/backend/domains/ratchet/ratchet.service.js +99 -426
  99. package/dist/src/backend/domains/ratchet/ratchet.service.js.map +1 -1
  100. package/dist/src/backend/domains/ratchet/ratchet.types.d.ts +86 -0
  101. package/dist/src/backend/domains/ratchet/ratchet.types.d.ts.map +1 -0
  102. package/dist/src/backend/domains/ratchet/ratchet.types.js +2 -0
  103. package/dist/src/backend/domains/ratchet/ratchet.types.js.map +1 -0
  104. package/dist/src/backend/domains/ratchet/reconciliation.service.d.ts.map +1 -1
  105. package/dist/src/backend/domains/ratchet/reconciliation.service.js +1 -2
  106. package/dist/src/backend/domains/ratchet/reconciliation.service.js.map +1 -1
  107. package/dist/src/backend/domains/ratchet/reconciliation.service.test.js +8 -10
  108. package/dist/src/backend/domains/ratchet/reconciliation.service.test.js.map +1 -1
  109. package/dist/src/backend/domains/run-script/index.d.ts +1 -1
  110. package/dist/src/backend/domains/run-script/index.d.ts.map +1 -1
  111. package/dist/src/backend/domains/run-script/index.js +1 -1
  112. package/dist/src/backend/domains/run-script/index.js.map +1 -1
  113. package/dist/src/backend/domains/run-script/run-script-domain-exports.test.js +5 -4
  114. package/dist/src/backend/domains/run-script/run-script-domain-exports.test.js.map +1 -1
  115. package/dist/src/backend/domains/run-script/run-script.service.d.ts +13 -1
  116. package/dist/src/backend/domains/run-script/run-script.service.d.ts.map +1 -1
  117. package/dist/src/backend/domains/run-script/run-script.service.js +175 -10
  118. package/dist/src/backend/domains/run-script/run-script.service.js.map +1 -1
  119. package/dist/src/backend/domains/run-script/run-script.service.test.js +204 -0
  120. package/dist/src/backend/domains/run-script/run-script.service.test.js.map +1 -1
  121. package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts +13 -1
  122. package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts.map +1 -1
  123. package/dist/src/backend/domains/session/acp/acp-event-translator.js +86 -1
  124. package/dist/src/backend/domains/session/acp/acp-event-translator.js.map +1 -1
  125. package/dist/src/backend/domains/session/acp/acp-event-translator.test.js +39 -0
  126. package/dist/src/backend/domains/session/acp/acp-event-translator.test.js.map +1 -1
  127. package/dist/src/backend/domains/session/acp/acp-runtime-manager.d.ts +5 -0
  128. package/dist/src/backend/domains/session/acp/acp-runtime-manager.d.ts.map +1 -1
  129. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js +16 -13
  130. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js.map +1 -1
  131. package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js +3 -12
  132. package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js.map +1 -1
  133. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/acp-adapter-utils.d.ts +24 -0
  134. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/acp-adapter-utils.d.ts.map +1 -0
  135. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/acp-adapter-utils.js +79 -0
  136. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/acp-adapter-utils.js.map +1 -0
  137. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/adapter-state.d.ts +97 -0
  138. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/adapter-state.d.ts.map +1 -0
  139. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/adapter-state.js +2 -0
  140. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/adapter-state.js.map +1 -0
  141. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +17 -39
  142. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  143. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +109 -1694
  144. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  145. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +0 -191
  146. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  147. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts +3 -3
  148. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.d.ts +16 -0
  149. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.d.ts.map +1 -0
  150. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.js +292 -0
  151. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.js.map +1 -0
  152. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.test.d.ts +2 -0
  153. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.test.d.ts.map +1 -0
  154. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.test.js +56 -0
  155. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/command-metadata.test.js.map +1 -0
  156. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.d.ts +19 -0
  157. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.d.ts.map +1 -0
  158. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.js +369 -0
  159. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.js.map +1 -0
  160. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.test.d.ts +2 -0
  161. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.test.d.ts.map +1 -0
  162. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.test.js +91 -0
  163. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/protocol-permission-handler.test.js.map +1 -0
  164. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/retry-logic.d.ts +16 -0
  165. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/retry-logic.d.ts.map +1 -0
  166. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/retry-logic.js +53 -0
  167. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/retry-logic.js.map +1 -0
  168. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-config-resolver.d.ts +20 -0
  169. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-config-resolver.d.ts.map +1 -0
  170. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-config-resolver.js +341 -0
  171. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-config-resolver.js.map +1 -0
  172. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-negotiation.d.ts +41 -0
  173. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-negotiation.d.ts.map +1 -0
  174. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-negotiation.js +137 -0
  175. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-negotiation.js.map +1 -0
  176. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-state-container.d.ts +25 -0
  177. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-state-container.d.ts.map +1 -0
  178. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-state-container.js +47 -0
  179. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/session-state-container.js.map +1 -0
  180. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/shape-drift-reporter.d.ts +8 -0
  181. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/shape-drift-reporter.d.ts.map +1 -0
  182. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/shape-drift-reporter.js +37 -0
  183. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/shape-drift-reporter.js.map +1 -0
  184. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.d.ts +53 -0
  185. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -0
  186. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.js +419 -0
  187. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -0
  188. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.test.d.ts +2 -0
  189. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.test.d.ts.map +1 -0
  190. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.test.js +95 -0
  191. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/stream-event-handler.test.js.map +1 -0
  192. package/dist/src/backend/domains/session/acp/index.d.ts +1 -1
  193. package/dist/src/backend/domains/session/acp/index.d.ts.map +1 -1
  194. package/dist/src/backend/domains/session/acp/index.js +1 -1
  195. package/dist/src/backend/domains/session/acp/index.js.map +1 -1
  196. package/dist/src/backend/domains/session/bridges.d.ts +5 -0
  197. package/dist/src/backend/domains/session/bridges.d.ts.map +1 -1
  198. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  199. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.js +2 -2
  200. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  201. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -1
  202. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  203. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js +2 -2
  204. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js.map +1 -1
  205. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts.map +1 -1
  206. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js +77 -24
  207. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js.map +1 -1
  208. package/dist/src/backend/domains/session/data/session-data.service.d.ts +2 -0
  209. package/dist/src/backend/domains/session/data/session-data.service.d.ts.map +1 -1
  210. package/dist/src/backend/domains/session/data/{claude-session-history-loader.service.d.ts → session-history-loader.service.d.ts} +1 -1
  211. package/dist/src/backend/domains/session/data/session-history-loader.service.d.ts.map +1 -0
  212. package/dist/src/backend/domains/session/data/{claude-session-history-loader.service.js → session-history-loader.service.js} +23 -9
  213. package/dist/src/backend/domains/session/data/session-history-loader.service.js.map +1 -0
  214. package/dist/src/backend/domains/session/data/session-history-loader.service.test.d.ts +2 -0
  215. package/dist/src/backend/domains/session/data/session-history-loader.service.test.d.ts.map +1 -0
  216. package/dist/src/backend/domains/session/data/{claude-session-history-loader.service.test.js → session-history-loader.service.test.js} +6 -3
  217. package/dist/src/backend/domains/session/data/session-history-loader.service.test.js.map +1 -0
  218. package/dist/src/backend/domains/session/index.d.ts +3 -1
  219. package/dist/src/backend/domains/session/index.d.ts.map +1 -1
  220. package/dist/src/backend/domains/session/index.js +2 -1
  221. package/dist/src/backend/domains/session/index.js.map +1 -1
  222. package/dist/src/backend/domains/session/interceptor.bridge.d.ts +8 -0
  223. package/dist/src/backend/domains/session/interceptor.bridge.d.ts.map +1 -0
  224. package/dist/src/backend/domains/session/interceptor.bridge.js +7 -0
  225. package/dist/src/backend/domains/session/interceptor.bridge.js.map +1 -0
  226. package/dist/src/backend/domains/session/lifecycle/acp-event-processor.d.ts +71 -0
  227. package/dist/src/backend/domains/session/lifecycle/acp-event-processor.d.ts.map +1 -0
  228. package/dist/src/backend/domains/session/lifecycle/acp-event-processor.js +404 -0
  229. package/dist/src/backend/domains/session/lifecycle/acp-event-processor.js.map +1 -0
  230. package/dist/src/backend/domains/session/lifecycle/session.config.service.d.ts +59 -0
  231. package/dist/src/backend/domains/session/lifecycle/session.config.service.d.ts.map +1 -0
  232. package/dist/src/backend/domains/session/lifecycle/session.config.service.js +635 -0
  233. package/dist/src/backend/domains/session/lifecycle/session.config.service.js.map +1 -0
  234. package/dist/src/backend/domains/session/lifecycle/session.config.service.test.d.ts +2 -0
  235. package/dist/src/backend/domains/session/lifecycle/session.config.service.test.d.ts.map +1 -0
  236. package/dist/src/backend/domains/session/lifecycle/session.config.service.test.js +552 -0
  237. package/dist/src/backend/domains/session/lifecycle/session.config.service.test.js.map +1 -0
  238. package/dist/src/backend/domains/session/lifecycle/session.permission.service.d.ts +17 -0
  239. package/dist/src/backend/domains/session/lifecycle/session.permission.service.d.ts.map +1 -0
  240. package/dist/src/backend/domains/session/lifecycle/session.permission.service.js +86 -0
  241. package/dist/src/backend/domains/session/lifecycle/session.permission.service.js.map +1 -0
  242. package/dist/src/backend/domains/session/lifecycle/session.permission.service.test.d.ts +2 -0
  243. package/dist/src/backend/domains/session/lifecycle/session.permission.service.test.d.ts.map +1 -0
  244. package/dist/src/backend/domains/session/lifecycle/session.permission.service.test.js +137 -0
  245. package/dist/src/backend/domains/session/lifecycle/session.permission.service.test.js.map +1 -0
  246. package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts +0 -2
  247. package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts.map +1 -1
  248. package/dist/src/backend/domains/session/lifecycle/session.repository.js +0 -3
  249. package/dist/src/backend/domains/session/lifecycle/session.repository.js.map +1 -1
  250. package/dist/src/backend/domains/session/lifecycle/session.repository.test.js +0 -1
  251. package/dist/src/backend/domains/session/lifecycle/session.repository.test.js.map +1 -1
  252. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts +24 -56
  253. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts.map +1 -1
  254. package/dist/src/backend/domains/session/lifecycle/session.service.js +140 -1083
  255. package/dist/src/backend/domains/session/lifecycle/session.service.js.map +1 -1
  256. package/dist/src/backend/domains/session/lifecycle/session.service.test.js +62 -689
  257. package/dist/src/backend/domains/session/lifecycle/session.service.test.js.map +1 -1
  258. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.d.ts.map +1 -1
  259. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js +2 -13
  260. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js.map +1 -1
  261. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js +15 -3
  262. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js.map +1 -1
  263. package/dist/src/backend/domains/session/logging/session-file-logger.service.js +1 -1
  264. package/dist/src/backend/domains/session/logging/session-file-logger.service.js.map +1 -1
  265. package/dist/src/backend/domains/session/logging/session-file-logger.service.test.js +3 -0
  266. package/dist/src/backend/domains/session/logging/session-file-logger.service.test.js.map +1 -1
  267. package/dist/src/backend/domains/session/session-domain.service.d.ts +1 -2
  268. package/dist/src/backend/domains/session/session-domain.service.d.ts.map +1 -1
  269. package/dist/src/backend/domains/session/session-domain.service.js +21 -2
  270. package/dist/src/backend/domains/session/session-domain.service.js.map +1 -1
  271. package/dist/src/backend/domains/session/session-domain.service.test.js +34 -0
  272. package/dist/src/backend/domains/session/session-domain.service.test.js.map +1 -1
  273. package/dist/src/backend/domains/session/store/file-lock.service.d.ts.map +1 -1
  274. package/dist/src/backend/domains/session/store/file-lock.service.js +25 -6
  275. package/dist/src/backend/domains/session/store/file-lock.service.js.map +1 -1
  276. package/dist/src/backend/domains/session/store/file-lock.service.test.js +3 -0
  277. package/dist/src/backend/domains/session/store/file-lock.service.test.js.map +1 -1
  278. package/dist/src/backend/domains/session/zod-issue-summary.d.ts +3 -0
  279. package/dist/src/backend/domains/session/zod-issue-summary.d.ts.map +1 -0
  280. package/dist/src/backend/domains/session/zod-issue-summary.js +7 -0
  281. package/dist/src/backend/domains/session/zod-issue-summary.js.map +1 -0
  282. package/dist/src/backend/domains/workspace/index.d.ts +0 -1
  283. package/dist/src/backend/domains/workspace/index.d.ts.map +1 -1
  284. package/dist/src/backend/domains/workspace/index.js +0 -1
  285. package/dist/src/backend/domains/workspace/index.js.map +1 -1
  286. package/dist/src/backend/domains/workspace/lifecycle/creation.service.d.ts +7 -0
  287. package/dist/src/backend/domains/workspace/lifecycle/creation.service.d.ts.map +1 -1
  288. package/dist/src/backend/domains/workspace/lifecycle/creation.service.js +98 -85
  289. package/dist/src/backend/domains/workspace/lifecycle/creation.service.js.map +1 -1
  290. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js +41 -1
  291. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js.map +1 -1
  292. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts +9 -1
  293. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts.map +1 -1
  294. package/dist/src/backend/domains/workspace/lifecycle/data.service.js +2 -1
  295. package/dist/src/backend/domains/workspace/lifecycle/data.service.js.map +1 -1
  296. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts +8 -0
  297. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts.map +1 -1
  298. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.js +47 -5
  299. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.js.map +1 -1
  300. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.test.js +117 -22
  301. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.test.js.map +1 -1
  302. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts +2 -0
  303. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts.map +1 -1
  304. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts +4 -1
  305. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts.map +1 -1
  306. package/dist/src/backend/domains/workspace/query/workspace-query.service.js +51 -36
  307. package/dist/src/backend/domains/workspace/query/workspace-query.service.js.map +1 -1
  308. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js +141 -44
  309. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js.map +1 -1
  310. package/dist/src/backend/domains/workspace/state/flow-state.d.ts +2 -2
  311. package/dist/src/backend/domains/workspace/state/flow-state.d.ts.map +1 -1
  312. package/dist/src/backend/domains/workspace/state/flow-state.js.map +1 -1
  313. package/dist/src/backend/domains/workspace/state/init-policy.js +1 -1
  314. package/dist/src/backend/domains/workspace/state/init-policy.js.map +1 -1
  315. package/dist/src/backend/domains/workspace/state/kanban-state.d.ts +2 -1
  316. package/dist/src/backend/domains/workspace/state/kanban-state.d.ts.map +1 -1
  317. package/dist/src/backend/domains/workspace/state/kanban-state.js +9 -5
  318. package/dist/src/backend/domains/workspace/state/kanban-state.js.map +1 -1
  319. package/dist/src/backend/domains/workspace/state/kanban-state.test.js +23 -0
  320. package/dist/src/backend/domains/workspace/state/kanban-state.test.js.map +1 -1
  321. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.d.ts +3 -6
  322. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  323. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.js +7 -116
  324. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.js.map +1 -1
  325. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.test.js +38 -65
  326. package/dist/src/backend/domains/workspace/worktree/worktree-lifecycle.service.test.js.map +1 -1
  327. package/dist/src/backend/interceptors/conversation-rename.interceptor.d.ts.map +1 -1
  328. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +22 -6
  329. package/dist/src/backend/interceptors/conversation-rename.interceptor.js.map +1 -1
  330. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js +25 -13
  331. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js.map +1 -1
  332. package/dist/src/backend/interceptors/index.d.ts +2 -0
  333. package/dist/src/backend/interceptors/index.d.ts.map +1 -1
  334. package/dist/src/backend/interceptors/index.js +6 -0
  335. package/dist/src/backend/interceptors/index.js.map +1 -1
  336. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.d.ts.map +1 -1
  337. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js +8 -0
  338. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js.map +1 -1
  339. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js +5 -1
  340. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js.map +1 -1
  341. package/dist/src/backend/interceptors/pre-push-rename.interceptor.d.ts.map +1 -1
  342. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js +3 -0
  343. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js.map +1 -1
  344. package/dist/src/backend/interceptors/registry.d.ts +5 -0
  345. package/dist/src/backend/interceptors/registry.d.ts.map +1 -1
  346. package/dist/src/backend/interceptors/registry.js +51 -0
  347. package/dist/src/backend/interceptors/registry.js.map +1 -1
  348. package/dist/src/backend/interceptors/types.d.ts +2 -0
  349. package/dist/src/backend/interceptors/types.d.ts.map +1 -1
  350. package/dist/src/backend/lib/file-helpers.d.ts +2 -0
  351. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  352. package/dist/src/backend/lib/file-helpers.js +64 -1
  353. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  354. package/dist/src/backend/lib/workspace-derived-state.d.ts +47 -0
  355. package/dist/src/backend/lib/workspace-derived-state.d.ts.map +1 -0
  356. package/dist/src/backend/lib/workspace-derived-state.js +31 -0
  357. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -0
  358. package/dist/src/backend/lib/workspace-derived-state.test.d.ts +2 -0
  359. package/dist/src/backend/lib/workspace-derived-state.test.d.ts.map +1 -0
  360. package/dist/src/backend/lib/workspace-derived-state.test.js +66 -0
  361. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -0
  362. package/dist/src/backend/middleware/cors.middleware.d.ts +1 -2
  363. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  364. package/dist/src/backend/middleware/cors.middleware.js +0 -2
  365. package/dist/src/backend/middleware/cors.middleware.js.map +1 -1
  366. package/dist/src/backend/middleware/index.d.ts +1 -1
  367. package/dist/src/backend/middleware/index.d.ts.map +1 -1
  368. package/dist/src/backend/middleware/index.js +1 -1
  369. package/dist/src/backend/middleware/index.js.map +1 -1
  370. package/dist/src/backend/orchestration/data-backup.service.test.js +1 -0
  371. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  372. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +26 -1
  373. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  374. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +24 -1
  375. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  376. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +19 -1
  377. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  378. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +8 -1
  379. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  380. package/dist/src/backend/orchestration/event-collector.orchestrator.js +41 -21
  381. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  382. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +19 -4
  383. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  384. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +6 -2
  385. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  386. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +8 -3
  387. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  388. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +19 -1
  389. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  390. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +21 -13
  391. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  392. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +103 -77
  393. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  394. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +18 -0
  395. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts.map +1 -0
  396. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +75 -0
  397. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js.map +1 -0
  398. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  399. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +105 -106
  400. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  401. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +137 -18
  402. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  403. package/dist/src/backend/resource_accessors/project.accessor.js +1 -1
  404. package/dist/src/backend/resource_accessors/project.accessor.js.map +1 -1
  405. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +1 -0
  406. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
  407. package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
  408. package/dist/src/backend/routers/websocket/index.d.ts +1 -0
  409. package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
  410. package/dist/src/backend/routers/websocket/index.js +1 -0
  411. package/dist/src/backend/routers/websocket/index.js.map +1 -1
  412. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts +9 -0
  413. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +1 -0
  414. package/dist/src/backend/routers/websocket/post-run-logs.handler.js +52 -0
  415. package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +1 -0
  416. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  417. package/dist/src/backend/routers/websocket/snapshots.handler.js +17 -6
  418. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  419. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +40 -5
  420. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  421. package/dist/src/backend/routers/websocket/websocket.integration.test.js +1 -0
  422. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  423. package/dist/src/backend/server.d.ts.map +1 -1
  424. package/dist/src/backend/server.js +16 -6
  425. package/dist/src/backend/server.js.map +1 -1
  426. package/dist/src/backend/server.upgrade.test.js +4 -0
  427. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  428. package/dist/src/backend/services/check-single-writer.test.d.ts +2 -0
  429. package/dist/src/backend/services/check-single-writer.test.d.ts.map +1 -0
  430. package/dist/src/backend/services/check-single-writer.test.js +132 -0
  431. package/dist/src/backend/services/check-single-writer.test.js.map +1 -0
  432. package/dist/src/backend/services/config.service.d.ts +14 -6
  433. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  434. package/dist/src/backend/services/config.service.js +31 -9
  435. package/dist/src/backend/services/config.service.js.map +1 -1
  436. package/dist/src/backend/services/env-schemas.d.ts +7 -3
  437. package/dist/src/backend/services/env-schemas.d.ts.map +1 -1
  438. package/dist/src/backend/services/env-schemas.js +19 -3
  439. package/dist/src/backend/services/env-schemas.js.map +1 -1
  440. package/dist/src/backend/services/run-script-config-persistence.service.d.ts +37 -0
  441. package/dist/src/backend/services/run-script-config-persistence.service.d.ts.map +1 -0
  442. package/dist/src/backend/services/run-script-config-persistence.service.js +73 -0
  443. package/dist/src/backend/services/run-script-config-persistence.service.js.map +1 -0
  444. package/dist/src/backend/services/run-script-config-persistence.service.test.d.ts +2 -0
  445. package/dist/src/backend/services/run-script-config-persistence.service.test.d.ts.map +1 -0
  446. package/dist/src/backend/services/run-script-config-persistence.service.test.js +111 -0
  447. package/dist/src/backend/services/run-script-config-persistence.service.test.js.map +1 -0
  448. package/dist/src/backend/services/run-script-proxy.service.d.ts.map +1 -1
  449. package/dist/src/backend/services/run-script-proxy.service.js +2 -1
  450. package/dist/src/backend/services/run-script-proxy.service.js.map +1 -1
  451. package/dist/src/backend/services/run-script-proxy.service.test.js +4 -0
  452. package/dist/src/backend/services/run-script-proxy.service.test.js.map +1 -1
  453. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts +5 -3
  454. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +1 -1
  455. package/dist/src/backend/services/workspace-snapshot-store.service.js +20 -15
  456. package/dist/src/backend/services/workspace-snapshot-store.service.js.map +1 -1
  457. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +3 -0
  458. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  459. package/dist/src/backend/trpc/admin.router.test.js +0 -2
  460. package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
  461. package/dist/src/backend/trpc/admin.trpc.d.ts +2 -7
  462. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  463. package/dist/src/backend/trpc/admin.trpc.js +2 -3
  464. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  465. package/dist/src/backend/trpc/index.d.ts +49 -14
  466. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  467. package/dist/src/backend/trpc/project.trpc.d.ts +17 -3
  468. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  469. package/dist/src/backend/trpc/project.trpc.js +22 -0
  470. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  471. package/dist/src/backend/trpc/session.router.test.js +1 -0
  472. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  473. package/dist/src/backend/trpc/session.trpc.d.ts +4 -0
  474. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  475. package/dist/src/backend/trpc/session.trpc.js +2 -2
  476. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  477. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  478. package/dist/src/backend/trpc/workspace/files.trpc.js +1 -64
  479. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  480. package/dist/src/backend/trpc/workspace/init.router.test.js +1 -1
  481. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  482. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
  483. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  484. package/dist/src/backend/trpc/workspace/init.trpc.js +2 -3
  485. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  486. package/dist/src/backend/trpc/workspace/run-script.router.test.js +31 -4
  487. package/dist/src/backend/trpc/workspace/run-script.router.test.js.map +1 -1
  488. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +2 -0
  489. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts.map +1 -1
  490. package/dist/src/backend/trpc/workspace/run-script.trpc.js +8 -8
  491. package/dist/src/backend/trpc/workspace/run-script.trpc.js.map +1 -1
  492. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
  493. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  494. package/dist/src/backend/trpc/workspace.router.test.js +45 -1
  495. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  496. package/dist/src/backend/trpc/workspace.trpc.d.ts +26 -4
  497. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  498. package/dist/src/backend/trpc/workspace.trpc.js +25 -16
  499. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  500. package/dist/src/cli/index.js +17 -5
  501. package/dist/src/cli/index.js.map +1 -1
  502. package/dist/src/shared/core/ci-status.d.ts +6 -4
  503. package/dist/src/shared/core/ci-status.d.ts.map +1 -1
  504. package/dist/src/shared/core/ci-status.js +47 -13
  505. package/dist/src/shared/core/ci-status.js.map +1 -1
  506. package/dist/src/shared/core/enums.d.ts +1 -0
  507. package/dist/src/shared/core/enums.d.ts.map +1 -1
  508. package/dist/src/shared/core/enums.js +1 -0
  509. package/dist/src/shared/core/enums.js.map +1 -1
  510. package/dist/src/shared/core/index.d.ts +1 -1
  511. package/dist/src/shared/core/index.d.ts.map +1 -1
  512. package/dist/src/shared/core/index.js +1 -1
  513. package/dist/src/shared/core/index.js.map +1 -1
  514. package/dist/src/shared/schemas/export-data.schema.d.ts +2 -0
  515. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  516. package/dist/src/shared/schemas/factory-config.schema.d.ts +1 -0
  517. package/dist/src/shared/schemas/factory-config.schema.d.ts.map +1 -1
  518. package/dist/src/shared/schemas/factory-config.schema.js +1 -0
  519. package/dist/src/shared/schemas/factory-config.schema.js.map +1 -1
  520. package/dist/src/shared/schemas/issue-tracker-config.schema.d.ts +2 -2
  521. package/dist/src/shared/schemas/persisted-stores.schema.d.ts +0 -2
  522. package/dist/src/shared/schemas/persisted-stores.schema.d.ts.map +1 -1
  523. package/dist/src/shared/schemas/persisted-stores.schema.js +0 -1
  524. package/dist/src/shared/schemas/persisted-stores.schema.js.map +1 -1
  525. package/dist/src/shared/workspace-flow-state.d.ts +3 -0
  526. package/dist/src/shared/workspace-flow-state.d.ts.map +1 -0
  527. package/dist/src/shared/workspace-flow-state.js +2 -0
  528. package/dist/src/shared/workspace-flow-state.js.map +1 -0
  529. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  530. package/package.json +1 -1
  531. package/prisma/migrations/20260222120000_add_post_run_command/migration.sql +1 -0
  532. package/prisma/migrations/20260224150000_add_workspace_archiving_state/migration.sql +4 -0
  533. package/prisma/schema.prisma +2 -0
  534. package/dist/client/assets/channel-B2z94T-9.js +0 -1
  535. package/dist/client/assets/classDiagram-2ON5EDUG-B2LoFG_o.js +0 -1
  536. package/dist/client/assets/classDiagram-v2-WZHVMYZB-B2LoFG_o.js +0 -1
  537. package/dist/client/assets/clone-C8LA0zQQ.js +0 -1
  538. package/dist/client/assets/index-DvtmO7DV.css +0 -1
  539. package/dist/client/assets/index-EVrp_NXm.js +0 -429
  540. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CO6XGRkL.js +0 -1
  541. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.d.ts.map +0 -1
  542. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.js.map +0 -1
  543. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.test.d.ts +0 -2
  544. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.test.d.ts.map +0 -1
  545. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.test.js.map +0 -1
  546. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.d.ts +0 -10
  547. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.d.ts.map +0 -1
  548. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.js +0 -24
  549. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.js.map +0 -1
  550. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.test.d.ts +0 -2
  551. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.test.d.ts.map +0 -1
  552. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.test.js +0 -17
  553. package/dist/src/backend/domains/workspace/lifecycle/archive-tracker.service.test.js.map +0 -1
@@ -1,34 +1,13 @@
1
1
  import { TRPCError } from '@trpc/server';
2
2
  import { beforeEach, describe, expect, it, vi } from 'vitest';
3
3
  import { unsafeCoerce } from '../../test-utils/unsafe-coerce.js';
4
- vi.mock('@/backend/domains/github', () => ({
5
- githubCLIService: {
6
- addIssueComment: vi.fn(),
7
- },
8
- }));
9
- vi.mock('@/backend/domains/run-script', () => ({
10
- runScriptService: {
11
- stopRunScript: vi.fn(),
12
- },
13
- }));
14
- vi.mock('@/backend/domains/session', () => ({
15
- sessionService: {
16
- stopWorkspaceSessions: vi.fn(),
17
- },
18
- }));
19
- vi.mock('@/backend/domains/terminal', () => ({
20
- terminalService: {
21
- destroyWorkspaceTerminals: vi.fn(),
22
- },
23
- }));
24
4
  vi.mock('@/backend/domains/workspace', () => ({
25
- workspaceArchiveTrackerService: {
26
- markArchiving: vi.fn(),
27
- clearArchiving: vi.fn(),
28
- },
29
5
  workspaceStateMachine: {
30
6
  isValidTransition: vi.fn(),
31
- archive: vi.fn(),
7
+ startArchiving: vi.fn(),
8
+ startArchivingWithSourceStatus: vi.fn(),
9
+ markArchived: vi.fn(),
10
+ transition: vi.fn(),
32
11
  },
33
12
  worktreeLifecycleService: {
34
13
  cleanupWorkspaceWorktree: vi.fn(),
@@ -42,12 +21,8 @@ vi.mock('@/backend/services/logger.service', () => ({
42
21
  error: vi.fn(),
43
22
  }),
44
23
  }));
45
- import { githubCLIService } from '../../backend/domains/github/index.js';
46
- import { runScriptService } from '../../backend/domains/run-script/index.js';
47
- import { sessionService } from '../../backend/domains/session/index.js';
48
- import { terminalService } from '../../backend/domains/terminal/index.js';
49
- import { workspaceArchiveTrackerService, workspaceStateMachine, worktreeLifecycleService, } from '../../backend/domains/workspace/index.js';
50
- import { archiveWorkspace } from './workspace-archive.orchestrator.js';
24
+ import { workspaceStateMachine, worktreeLifecycleService } from '../../backend/domains/workspace/index.js';
25
+ import { archiveWorkspace as archiveWorkspaceWithServices } from './workspace-archive.orchestrator.js';
51
26
  function makeWorkspace(overrides = {}) {
52
27
  return unsafeCoerce({
53
28
  id: 'ws-1',
@@ -64,17 +39,38 @@ function makeWorkspace(overrides = {}) {
64
39
  });
65
40
  }
66
41
  const defaultOptions = { commitUncommitted: false };
42
+ const services = unsafeCoerce({
43
+ githubCLIService: {
44
+ addIssueComment: vi.fn(),
45
+ },
46
+ runScriptService: {
47
+ stopRunScript: vi.fn(),
48
+ },
49
+ sessionService: {
50
+ stopWorkspaceSessions: vi.fn(),
51
+ },
52
+ terminalService: {
53
+ destroyWorkspaceTerminals: vi.fn(),
54
+ },
55
+ });
56
+ function archiveWorkspace(workspace, options = defaultOptions) {
57
+ return archiveWorkspaceWithServices(workspace, options, services);
58
+ }
67
59
  describe('archiveWorkspace', () => {
68
60
  beforeEach(() => {
69
61
  vi.clearAllMocks();
70
62
  vi.mocked(workspaceStateMachine.isValidTransition).mockReturnValue(true);
71
- vi.mocked(workspaceStateMachine.archive).mockResolvedValue(unsafeCoerce({ id: 'ws-1', status: 'ARCHIVED' }));
72
- vi.mocked(workspaceArchiveTrackerService.markArchiving).mockReturnValue(undefined);
73
- vi.mocked(workspaceArchiveTrackerService.clearArchiving).mockReturnValue(undefined);
63
+ vi.mocked(workspaceStateMachine.startArchiving).mockResolvedValue(unsafeCoerce({ id: 'ws-1', status: 'ARCHIVING' }));
64
+ vi.mocked(workspaceStateMachine.startArchivingWithSourceStatus).mockResolvedValue(unsafeCoerce({
65
+ workspace: { id: 'ws-1', status: 'ARCHIVING' },
66
+ previousStatus: 'READY',
67
+ }));
68
+ vi.mocked(workspaceStateMachine.markArchived).mockResolvedValue(unsafeCoerce({ id: 'ws-1', status: 'ARCHIVED' }));
69
+ vi.mocked(workspaceStateMachine.transition).mockResolvedValue(unsafeCoerce({ id: 'ws-1', status: 'READY' }));
74
70
  vi.mocked(worktreeLifecycleService.cleanupWorkspaceWorktree).mockResolvedValue(undefined);
75
- vi.mocked(sessionService.stopWorkspaceSessions).mockResolvedValue(undefined);
76
- vi.mocked(runScriptService.stopRunScript).mockResolvedValue(unsafeCoerce({ success: true }));
77
- vi.mocked(terminalService.destroyWorkspaceTerminals).mockReturnValue(undefined);
71
+ vi.mocked(services.sessionService.stopWorkspaceSessions).mockResolvedValue(undefined);
72
+ vi.mocked(services.runScriptService.stopRunScript).mockResolvedValue(unsafeCoerce({ success: true }));
73
+ vi.mocked(services.terminalService.destroyWorkspaceTerminals).mockReturnValue(undefined);
78
74
  });
79
75
  describe('state transition validation', () => {
80
76
  it('throws TRPCError when transition is invalid', async () => {
@@ -83,42 +79,43 @@ describe('archiveWorkspace', () => {
83
79
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(TRPCError);
84
80
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(/Cannot archive workspace from status: NEW/);
85
81
  });
86
- it('checks transition from current status to ARCHIVED', async () => {
82
+ it('checks transition from current status to ARCHIVING', async () => {
87
83
  const workspace = makeWorkspace({ status: 'READY' });
88
84
  await archiveWorkspace(workspace, defaultOptions);
89
- expect(workspaceStateMachine.isValidTransition).toHaveBeenCalledWith('READY', 'ARCHIVED');
85
+ expect(workspaceStateMachine.isValidTransition).toHaveBeenCalledWith('READY', 'ARCHIVING');
90
86
  });
91
87
  it('does not attempt cleanup when transition is invalid', async () => {
92
88
  vi.mocked(workspaceStateMachine.isValidTransition).mockReturnValue(false);
93
89
  const workspace = makeWorkspace();
94
90
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow();
95
- expect(sessionService.stopWorkspaceSessions).not.toHaveBeenCalled();
91
+ expect(services.sessionService.stopWorkspaceSessions).not.toHaveBeenCalled();
96
92
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).not.toHaveBeenCalled();
97
93
  });
98
94
  });
99
95
  describe('happy path', () => {
100
- it('marks workspace as archiving during archive and clears it when finished', async () => {
96
+ it('transitions workspace through ARCHIVING before ARCHIVED', async () => {
101
97
  const workspace = makeWorkspace();
102
98
  await archiveWorkspace(workspace, defaultOptions);
103
- expect(workspaceArchiveTrackerService.markArchiving).toHaveBeenCalledWith('ws-1');
104
- expect(workspaceArchiveTrackerService.clearArchiving).toHaveBeenCalledWith('ws-1');
99
+ expect(workspaceStateMachine.startArchivingWithSourceStatus).toHaveBeenCalledWith('ws-1');
100
+ expect(workspaceStateMachine.markArchived).toHaveBeenCalledWith('ws-1');
105
101
  });
106
102
  it('stops sessions, run scripts, and terminals then cleans up worktree', async () => {
107
103
  const workspace = makeWorkspace();
108
104
  await archiveWorkspace(workspace, defaultOptions);
109
- expect(sessionService.stopWorkspaceSessions).toHaveBeenCalledWith('ws-1');
110
- expect(runScriptService.stopRunScript).toHaveBeenCalledWith('ws-1');
111
- expect(terminalService.destroyWorkspaceTerminals).toHaveBeenCalledWith('ws-1');
105
+ expect(services.sessionService.stopWorkspaceSessions).toHaveBeenCalledWith('ws-1');
106
+ expect(services.runScriptService.stopRunScript).toHaveBeenCalledWith('ws-1');
107
+ expect(services.terminalService.destroyWorkspaceTerminals).toHaveBeenCalledWith('ws-1');
112
108
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).toHaveBeenCalledWith(workspace, defaultOptions);
113
109
  });
114
110
  it('marks workspace as archived after cleanup', async () => {
115
111
  const workspace = makeWorkspace();
116
112
  await archiveWorkspace(workspace, defaultOptions);
117
- expect(workspaceStateMachine.archive).toHaveBeenCalledWith('ws-1');
113
+ expect(workspaceStateMachine.startArchivingWithSourceStatus).toHaveBeenCalledWith('ws-1');
114
+ expect(workspaceStateMachine.markArchived).toHaveBeenCalledWith('ws-1');
118
115
  });
119
116
  it('returns the archived workspace', async () => {
120
117
  const archivedWs = unsafeCoerce({ id: 'ws-1', status: 'ARCHIVED' });
121
- vi.mocked(workspaceStateMachine.archive).mockResolvedValue(archivedWs);
118
+ vi.mocked(workspaceStateMachine.markArchived).mockResolvedValue(archivedWs);
122
119
  const workspace = makeWorkspace();
123
120
  const result = await archiveWorkspace(workspace, defaultOptions);
124
121
  expect(result).toBe(archivedWs);
@@ -133,34 +130,34 @@ describe('archiveWorkspace', () => {
133
130
  });
134
131
  describe('process cleanup errors (fail closed)', () => {
135
132
  it('fails archive when session stop fails', async () => {
136
- vi.mocked(sessionService.stopWorkspaceSessions).mockRejectedValue(new Error('session stop failed'));
133
+ vi.mocked(services.sessionService.stopWorkspaceSessions).mockRejectedValue(new Error('session stop failed'));
137
134
  const workspace = makeWorkspace();
138
135
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(/Failed to cleanup workspace resources before archive/);
139
136
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).not.toHaveBeenCalled();
140
- expect(workspaceStateMachine.archive).not.toHaveBeenCalled();
137
+ expect(workspaceStateMachine.markArchived).not.toHaveBeenCalled();
141
138
  });
142
139
  it('fails archive when run script stop rejects', async () => {
143
- vi.mocked(runScriptService.stopRunScript).mockRejectedValue(new Error('run script stop failed'));
140
+ vi.mocked(services.runScriptService.stopRunScript).mockRejectedValue(new Error('run script stop failed'));
144
141
  const workspace = makeWorkspace();
145
142
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(/Failed to cleanup workspace resources before archive/);
146
143
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).not.toHaveBeenCalled();
147
- expect(workspaceStateMachine.archive).not.toHaveBeenCalled();
144
+ expect(workspaceStateMachine.markArchived).not.toHaveBeenCalled();
148
145
  });
149
146
  it('fails archive when run script stop returns unsuccessful result', async () => {
150
- vi.mocked(runScriptService.stopRunScript).mockResolvedValue(unsafeCoerce({ success: false, error: 'stop failed' }));
147
+ vi.mocked(services.runScriptService.stopRunScript).mockResolvedValue(unsafeCoerce({ success: false, error: 'stop failed' }));
151
148
  const workspace = makeWorkspace();
152
149
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(/Failed to cleanup workspace resources before archive/);
153
150
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).not.toHaveBeenCalled();
154
- expect(workspaceStateMachine.archive).not.toHaveBeenCalled();
151
+ expect(workspaceStateMachine.markArchived).not.toHaveBeenCalled();
155
152
  });
156
153
  it('fails archive when terminal destroy throws', async () => {
157
- vi.mocked(terminalService.destroyWorkspaceTerminals).mockImplementation(() => {
154
+ vi.mocked(services.terminalService.destroyWorkspaceTerminals).mockImplementation(() => {
158
155
  throw new Error('terminal destroy failed');
159
156
  });
160
157
  const workspace = makeWorkspace();
161
158
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow(/Failed to cleanup workspace resources before archive/);
162
159
  expect(worktreeLifecycleService.cleanupWorkspaceWorktree).not.toHaveBeenCalled();
163
- expect(workspaceStateMachine.archive).not.toHaveBeenCalled();
160
+ expect(workspaceStateMachine.markArchived).not.toHaveBeenCalled();
164
161
  });
165
162
  });
166
163
  describe('worktree cleanup failure', () => {
@@ -174,13 +171,23 @@ describe('archiveWorkspace', () => {
174
171
  vi.mocked(worktreeLifecycleService.cleanupWorkspaceWorktree).mockRejectedValue(new Error('cleanup failed'));
175
172
  const workspace = makeWorkspace();
176
173
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow();
177
- expect(workspaceStateMachine.archive).not.toHaveBeenCalled();
174
+ expect(workspaceStateMachine.markArchived).not.toHaveBeenCalled();
178
175
  });
179
- it('clears archiving marker when archive fails', async () => {
176
+ it('rolls status back when archive fails after entering ARCHIVING', async () => {
180
177
  vi.mocked(worktreeLifecycleService.cleanupWorkspaceWorktree).mockRejectedValue(new Error('cleanup failed'));
181
178
  const workspace = makeWorkspace();
182
179
  await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow();
183
- expect(workspaceArchiveTrackerService.clearArchiving).toHaveBeenCalledWith('ws-1');
180
+ expect(workspaceStateMachine.transition).toHaveBeenCalledWith('ws-1', 'READY');
181
+ });
182
+ it('rolls status back using the captured source status from ARCHIVING transition', async () => {
183
+ vi.mocked(workspaceStateMachine.startArchivingWithSourceStatus).mockResolvedValue(unsafeCoerce({
184
+ workspace: { id: 'ws-1', status: 'ARCHIVING' },
185
+ previousStatus: 'FAILED',
186
+ }));
187
+ vi.mocked(worktreeLifecycleService.cleanupWorkspaceWorktree).mockRejectedValue(new Error('cleanup failed'));
188
+ const workspace = makeWorkspace();
189
+ await expect(archiveWorkspace(workspace, defaultOptions)).rejects.toThrow();
190
+ expect(workspaceStateMachine.transition).toHaveBeenCalledWith('ws-1', 'FAILED');
184
191
  });
185
192
  });
186
193
  describe('GitHub issue comment on archive', () => {
@@ -191,7 +198,7 @@ describe('archiveWorkspace', () => {
191
198
  prUrl: 'https://github.com/owner/repo/pull/10',
192
199
  });
193
200
  await archiveWorkspace(workspace, defaultOptions);
194
- expect(githubCLIService.addIssueComment).toHaveBeenCalledWith('owner', 'repo', 42, expect.stringContaining('https://github.com/owner/repo/pull/10'));
201
+ expect(services.githubCLIService.addIssueComment).toHaveBeenCalledWith('owner', 'repo', 42, expect.stringContaining('https://github.com/owner/repo/pull/10'));
195
202
  });
196
203
  it('skips comment when no GitHub issue is linked', async () => {
197
204
  const workspace = makeWorkspace({
@@ -200,7 +207,7 @@ describe('archiveWorkspace', () => {
200
207
  prUrl: 'https://github.com/owner/repo/pull/10',
201
208
  });
202
209
  await archiveWorkspace(workspace, defaultOptions);
203
- expect(githubCLIService.addIssueComment).not.toHaveBeenCalled();
210
+ expect(services.githubCLIService.addIssueComment).not.toHaveBeenCalled();
204
211
  });
205
212
  it('skips comment when PR is not merged', async () => {
206
213
  const workspace = makeWorkspace({
@@ -209,7 +216,7 @@ describe('archiveWorkspace', () => {
209
216
  prUrl: 'https://github.com/owner/repo/pull/10',
210
217
  });
211
218
  await archiveWorkspace(workspace, defaultOptions);
212
- expect(githubCLIService.addIssueComment).not.toHaveBeenCalled();
219
+ expect(services.githubCLIService.addIssueComment).not.toHaveBeenCalled();
213
220
  });
214
221
  it('skips comment when PR URL is missing even if state is MERGED', async () => {
215
222
  const workspace = makeWorkspace({
@@ -218,7 +225,7 @@ describe('archiveWorkspace', () => {
218
225
  prUrl: null,
219
226
  });
220
227
  await archiveWorkspace(workspace, defaultOptions);
221
- expect(githubCLIService.addIssueComment).not.toHaveBeenCalled();
228
+ expect(services.githubCLIService.addIssueComment).not.toHaveBeenCalled();
222
229
  });
223
230
  it('skips comment when project lacks GitHub owner/repo', async () => {
224
231
  const workspace = makeWorkspace({
@@ -232,10 +239,10 @@ describe('archiveWorkspace', () => {
232
239
  }),
233
240
  });
234
241
  await archiveWorkspace(workspace, defaultOptions);
235
- expect(githubCLIService.addIssueComment).not.toHaveBeenCalled();
242
+ expect(services.githubCLIService.addIssueComment).not.toHaveBeenCalled();
236
243
  });
237
244
  it('does not fail archive when GitHub comment fails', async () => {
238
- vi.mocked(githubCLIService.addIssueComment).mockRejectedValue(new Error('GitHub API error'));
245
+ vi.mocked(services.githubCLIService.addIssueComment).mockRejectedValue(new Error('GitHub API error'));
239
246
  const workspace = makeWorkspace({
240
247
  githubIssueNumber: 42,
241
248
  prState: 'MERGED',
@@ -243,7 +250,7 @@ describe('archiveWorkspace', () => {
243
250
  });
244
251
  const result = await archiveWorkspace(workspace, defaultOptions);
245
252
  expect(result).toBeDefined();
246
- expect(workspaceStateMachine.archive).toHaveBeenCalled();
253
+ expect(workspaceStateMachine.markArchived).toHaveBeenCalled();
247
254
  });
248
255
  it('comment includes the PR URL', async () => {
249
256
  const workspace = makeWorkspace({
@@ -252,7 +259,7 @@ describe('archiveWorkspace', () => {
252
259
  prUrl: 'https://github.com/owner/repo/pull/99',
253
260
  });
254
261
  await archiveWorkspace(workspace, defaultOptions);
255
- const commentArg = vi.mocked(githubCLIService.addIssueComment).mock.calls[0]?.[3];
262
+ const commentArg = vi.mocked(services.githubCLIService.addIssueComment).mock.calls[0]?.[3];
256
263
  expect(commentArg).toContain('merged');
257
264
  expect(commentArg).toContain('https://github.com/owner/repo/pull/99');
258
265
  });
@@ -260,28 +267,35 @@ describe('archiveWorkspace', () => {
260
267
  describe('ordering guarantees', () => {
261
268
  it('stops processes before cleaning up worktree', async () => {
262
269
  const callOrder = [];
263
- vi.mocked(sessionService.stopWorkspaceSessions).mockImplementation((() => {
270
+ vi.mocked(services.sessionService.stopWorkspaceSessions).mockImplementation((() => {
264
271
  callOrder.push('stopSessions');
265
272
  return Promise.resolve(undefined);
266
273
  }));
267
- vi.mocked(runScriptService.stopRunScript).mockImplementation((() => {
274
+ vi.mocked(services.runScriptService.stopRunScript).mockImplementation((() => {
268
275
  callOrder.push('stopRunScript');
269
276
  return Promise.resolve(unsafeCoerce({ success: true }));
270
277
  }));
271
- vi.mocked(terminalService.destroyWorkspaceTerminals).mockImplementation(() => {
278
+ vi.mocked(services.terminalService.destroyWorkspaceTerminals).mockImplementation(() => {
272
279
  callOrder.push('destroyTerminals');
273
280
  });
274
281
  vi.mocked(worktreeLifecycleService.cleanupWorkspaceWorktree).mockImplementation((() => {
275
282
  callOrder.push('cleanupWorktree');
276
283
  return Promise.resolve();
277
284
  }));
278
- vi.mocked(workspaceStateMachine.archive).mockImplementation((() => {
279
- callOrder.push('archive');
285
+ vi.mocked(workspaceStateMachine.startArchivingWithSourceStatus).mockImplementation((() => {
286
+ callOrder.push('startArchiving');
287
+ return Promise.resolve(unsafeCoerce({
288
+ workspace: { id: 'ws-1', status: 'ARCHIVING' },
289
+ previousStatus: 'READY',
290
+ }));
291
+ }));
292
+ vi.mocked(workspaceStateMachine.markArchived).mockImplementation((() => {
293
+ callOrder.push('markArchived');
280
294
  return Promise.resolve(unsafeCoerce({ id: 'ws-1', status: 'ARCHIVED' }));
281
295
  }));
282
296
  await archiveWorkspace(makeWorkspace(), defaultOptions);
283
297
  const worktreeIdx = callOrder.indexOf('cleanupWorktree');
284
- const archiveIdx = callOrder.indexOf('archive');
298
+ const archiveIdx = callOrder.indexOf('markArchived');
285
299
  expect(worktreeIdx).toBeGreaterThan(-1);
286
300
  expect(archiveIdx).toBeGreaterThan(worktreeIdx);
287
301
  expect(callOrder.indexOf('stopSessions')).toBeLessThan(worktreeIdx);
@@ -292,11 +306,18 @@ describe('archiveWorkspace', () => {
292
306
  callOrder.push('cleanupWorktree');
293
307
  return Promise.resolve();
294
308
  }));
295
- vi.mocked(workspaceStateMachine.archive).mockImplementation((() => {
296
- callOrder.push('archive');
309
+ vi.mocked(workspaceStateMachine.startArchivingWithSourceStatus).mockImplementation((() => {
310
+ callOrder.push('startArchiving');
311
+ return Promise.resolve(unsafeCoerce({
312
+ workspace: { id: 'ws-1', status: 'ARCHIVING' },
313
+ previousStatus: 'READY',
314
+ }));
315
+ }));
316
+ vi.mocked(workspaceStateMachine.markArchived).mockImplementation((() => {
317
+ callOrder.push('markArchived');
297
318
  return Promise.resolve(unsafeCoerce({ id: 'ws-1', status: 'ARCHIVED' }));
298
319
  }));
299
- vi.mocked(githubCLIService.addIssueComment).mockImplementation((() => {
320
+ vi.mocked(services.githubCLIService.addIssueComment).mockImplementation((() => {
300
321
  callOrder.push('addIssueComment');
301
322
  return Promise.resolve();
302
323
  }));
@@ -306,7 +327,12 @@ describe('archiveWorkspace', () => {
306
327
  prUrl: 'https://github.com/owner/repo/pull/10',
307
328
  });
308
329
  await archiveWorkspace(workspace, defaultOptions);
309
- expect(callOrder).toEqual(['cleanupWorktree', 'archive', 'addIssueComment']);
330
+ expect(callOrder).toEqual([
331
+ 'startArchiving',
332
+ 'cleanupWorktree',
333
+ 'markArchived',
334
+ 'addIssueComment',
335
+ ]);
310
336
  });
311
337
  });
312
338
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-archive.orchestrator.test.js","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-archive.orchestrator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-archive.orchestrator.test.js","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-archive.orchestrator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,qBAAqB,EAAE;QACrB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE;QACvC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;KACpB;IACD,wBAAwB,EAAE;QACxB,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;KAClC;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACnB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;KACf,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,gBAAgB,IAAI,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEpG,SAAS,aAAa,CAAC,YAA2C,EAAE;IAClE,OAAO,YAAY,CAAuB;QACxC,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,OAAO;QACf,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,MAAM;SACnB;QACD,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;AAEpD,MAAM,QAAQ,GAAG,YAAY,CAA+B;IAC1D,gBAAgB,EAAE;QAChB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;KACzB;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACvB;IACD,cAAc,EAAE;QACd,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B;IACD,eAAe,EAAE;QACf,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE;KACnC;CACF,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,SAA+B,EAAE,OAAO,GAAG,cAAc;IACjF,OAAO,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAC/D,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAClD,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,iBAAiB,CAC/E,YAAY,CAAC;YACX,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;YAC9C,cAAc,EAAE,OAAO;SACxB,CAAC,CACH,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAC7D,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CACjD,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAC3D,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAC9C,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1F,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CAAC,SAAkB,CAAC,CAAC;QAC/F,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAClE,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC,CACzC,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC,CAAC;YAE5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrF,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,2CAA2C,CAC5C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,CAAC,CAAC;YAC9D,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC7E,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC1F,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACnF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAC5E,SAAS,EACT,cAAc,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC1F,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACpE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,UAAmB,CAAC,CAAC;YACrF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,gBAAgB,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/D,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE;gBACxF,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACxE,IAAI,KAAK,CAAC,qBAAqB,CAAC,CACjC,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,sDAAsD,CACvD,CAAC;YACF,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjF,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAClE,IAAI,KAAK,CAAC,wBAAwB,CAAC,CACpC,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,sDAAsD,CACvD,CAAC;YACF,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjF,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAClE,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CACvD,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,sDAAsD,CACvD,CAAC;YACF,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjF,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACpF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,sDAAsD,CACvD,CAAC;YACF,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjF,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC1D,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC7F,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,CAC5E,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAC5B,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,CAC5E,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAC5B,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,iBAAiB,CAC/E,YAAY,CAAC;gBACX,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;gBAC9C,cAAc,EAAE,QAAQ;aACzB,CAAC,CACH,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,CAC5E,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAC5B,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAElC,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACpE,OAAO,EACP,MAAM,EACN,EAAE,EACF,MAAM,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CACjE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,MAAe;gBACxB,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;gBAC9C,OAAO,EAAE,YAAY,CAAC;oBACpB,EAAE,EAAE,QAAQ;oBACZ,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;iBACjB,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,iBAAiB,CACpE,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAC9B,CAAC;YACF,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEjE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBAChF,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBAC1E,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAChC,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACpF,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACpF,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACvF,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjC,OAAO,OAAO,CAAC,OAAO,CACpB,YAAY,CAAC;oBACX,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC9C,cAAc,EAAE,OAAO;iBACxB,CAAC,CACH,CAAC;YACJ,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACrE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAU,CAAC,CAAC;YAEb,MAAM,gBAAgB,CAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;YAExD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACpF,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACvF,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjC,OAAO,OAAO,CAAC,OAAO,CACpB,YAAY,CAAC;oBACX,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC9C,cAAc,EAAE,OAAO;iBACxB,CAAC,CACH,CAAC;YACJ,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACrE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAU,CAAC,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBAC5E,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAU,CAAC,CAAC;YAEb,MAAM,SAAS,GAAG,aAAa,CAAC;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,OAAO,EAAE,QAAiB;gBAC1B,KAAK,EAAE,uCAAuC;aAC/C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;gBACxB,gBAAgB;gBAChB,iBAAiB;gBACjB,cAAc;gBACd,iBAAiB;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FactoryConfigService } from '../../backend/services/factory-config.service.js';
2
+ import type { WorkspaceWithProject } from './types.js';
3
+ export type StartupScriptPhase = 'factory_setup' | 'project_startup';
4
+ export interface StartupScriptPipelineResult {
5
+ handled: boolean;
6
+ phase: StartupScriptPhase | null;
7
+ success: boolean;
8
+ }
9
+ interface StartupScriptPipelineContext {
10
+ workspaceId: string;
11
+ workspaceWithProject: WorkspaceWithProject;
12
+ worktreePath: string;
13
+ factoryConfig: Awaited<ReturnType<typeof FactoryConfigService.readConfig>>;
14
+ getWorkspaceInitErrorMessage: () => Promise<string | null | undefined>;
15
+ }
16
+ export declare function executeStartupScriptPipeline(context: StartupScriptPipelineContext): Promise<StartupScriptPipelineResult>;
17
+ export {};
18
+ //# sourceMappingURL=workspace-init-script-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-init-script-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init-script-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpD,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAErE,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,4BAA4B;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,4BAA4B,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACxE;AAqFD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAStC"}
@@ -0,0 +1,75 @@
1
+ import { startupScriptService } from '../../backend/domains/run-script/index.js';
2
+ import { sessionService } from '../../backend/domains/session/index.js';
3
+ import { createLogger } from '../../backend/services/logger.service.js';
4
+ const logger = createLogger('workspace-init-script-pipeline');
5
+ const scriptPhaseDefinitions = [
6
+ {
7
+ phase: 'factory_setup',
8
+ shouldRun: (context) => !!context.factoryConfig?.scripts.setup,
9
+ buildProjectConfig: (context) => ({
10
+ ...context.workspaceWithProject.project,
11
+ startupScriptCommand: context.factoryConfig?.scripts.setup ?? null,
12
+ startupScriptPath: null,
13
+ }),
14
+ logStart: (context) => {
15
+ logger.info('Running setup script from factory-factory.json', {
16
+ workspaceId: context.workspaceId,
17
+ });
18
+ },
19
+ scriptFailedLogMessage: 'Setup script from factory-factory.json failed but workspace created',
20
+ cleanupFailedLogMessage: 'Failed to stop Claude sessions after setup script failure',
21
+ },
22
+ {
23
+ phase: 'project_startup',
24
+ shouldRun: (context) => startupScriptService.hasStartupScript(context.workspaceWithProject.project),
25
+ buildProjectConfig: (context) => context.workspaceWithProject.project,
26
+ logStart: (context) => {
27
+ const project = context.workspaceWithProject.project;
28
+ logger.info('Running startup script for workspace', {
29
+ workspaceId: context.workspaceId,
30
+ hasCommand: !!project.startupScriptCommand,
31
+ hasScriptPath: !!project.startupScriptPath,
32
+ });
33
+ },
34
+ scriptFailedLogMessage: 'Startup script failed but workspace created',
35
+ cleanupFailedLogMessage: 'Failed to stop Claude sessions after startup script failure',
36
+ },
37
+ ];
38
+ async function runScriptPhase(context, phaseDefinition) {
39
+ if (!phaseDefinition.shouldRun(context)) {
40
+ return null;
41
+ }
42
+ phaseDefinition.logStart(context);
43
+ const scriptResult = await startupScriptService.runStartupScript({ ...context.workspaceWithProject, worktreePath: context.worktreePath }, phaseDefinition.buildProjectConfig(context));
44
+ if (!scriptResult.success) {
45
+ const workspaceInitErrorMessage = await context.getWorkspaceInitErrorMessage();
46
+ logger.warn(phaseDefinition.scriptFailedLogMessage, {
47
+ workspaceId: context.workspaceId,
48
+ error: workspaceInitErrorMessage,
49
+ });
50
+ try {
51
+ await sessionService.stopWorkspaceSessions(context.workspaceId);
52
+ }
53
+ catch (error) {
54
+ logger.warn(phaseDefinition.cleanupFailedLogMessage, {
55
+ workspaceId: context.workspaceId,
56
+ error: error instanceof Error ? error.message : String(error),
57
+ });
58
+ }
59
+ }
60
+ return {
61
+ handled: true,
62
+ phase: phaseDefinition.phase,
63
+ success: scriptResult.success,
64
+ };
65
+ }
66
+ export async function executeStartupScriptPipeline(context) {
67
+ for (const phaseDefinition of scriptPhaseDefinitions) {
68
+ const phaseResult = await runScriptPhase(context, phaseDefinition);
69
+ if (phaseResult) {
70
+ return phaseResult;
71
+ }
72
+ }
73
+ return { handled: false, phase: null, success: true };
74
+ }
75
+ //# sourceMappingURL=workspace-init-script-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-init-script-pipeline.js","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init-script-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-init.orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init.orchestrator.ts"],"names":[],"mappings":"AAqwBA,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
1
+ {"version":3,"file":"workspace-init.orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init.orchestrator.ts"],"names":[],"mappings":"AAiyBA,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CA2Ff"}