factory-factory 0.3.19 → 0.3.21

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 (468) hide show
  1. package/dist/client/assets/{arc-DQhOC8k-.js → arc-DMA75yUX.js} +1 -1
  2. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BnnC0MnW.js → architectureDiagram-3BPJPVTR-DfVbmuXe.js} +1 -1
  3. package/dist/client/assets/{blockDiagram-GPEHLZMM-CNaYKejS.js → blockDiagram-GPEHLZMM-BBr1PMaO.js} +1 -1
  4. package/dist/client/assets/{c4Diagram-AAUBKEIU-B6TiwlCJ.js → c4Diagram-AAUBKEIU-C6xSY9MY.js} +1 -1
  5. package/dist/client/assets/channel-DTP0LAbj.js +1 -0
  6. package/dist/client/assets/{chunk-2J33WTMH-XXkb30dE.js → chunk-2J33WTMH-BfBptE9H.js} +1 -1
  7. package/dist/client/assets/{chunk-4BX2VUAB-78mYakPy.js → chunk-4BX2VUAB-DohmszzB.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-D_0y5jOy.js → chunk-55IACEB6-BxtEguq8.js} +1 -1
  9. package/dist/client/assets/{chunk-727SXJPM-BWqoGJOj.js → chunk-727SXJPM--7mPe6NT.js} +1 -1
  10. package/dist/client/assets/{chunk-AQP2D5EJ-l9AUcgrx.js → chunk-AQP2D5EJ-CUtRyyX-.js} +1 -1
  11. package/dist/client/assets/{chunk-FMBD7UC4-B63Nwghi.js → chunk-FMBD7UC4-Zvl7moTS.js} +1 -1
  12. package/dist/client/assets/{chunk-ND2GUHAM-DYoFXWFH.js → chunk-ND2GUHAM-DHRE6LfZ.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-faBOxK9Y.js → chunk-QZHKN3VN-DCUx43mp.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-Ctn2iFx-.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Ctn2iFx-.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-s9MyXm2i.js → cose-bilkent-S5V4N54A-CTS7yey1.js} +1 -1
  17. package/dist/client/assets/{dagre-BM42HDAG-DFzoOzIg.js → dagre-BM42HDAG-CDvFWhCS.js} +1 -1
  18. package/dist/client/assets/{diagram-2AECGRRQ-BkiOxNc9.js → diagram-2AECGRRQ-BP89d-WY.js} +1 -1
  19. package/dist/client/assets/{diagram-5GNKFQAL-CqXCPCvK.js → diagram-5GNKFQAL-BXDVw1Xi.js} +1 -1
  20. package/dist/client/assets/{diagram-KO2AKTUF-BIDL-rtL.js → diagram-KO2AKTUF-DBYI-mqR.js} +1 -1
  21. package/dist/client/assets/{diagram-LMA3HP47-C5Q4rNwM.js → diagram-LMA3HP47-D359JaJw.js} +1 -1
  22. package/dist/client/assets/{diagram-OG6HWLK6-NUBLwB2y.js → diagram-OG6HWLK6-BMr7mzB4.js} +1 -1
  23. package/dist/client/assets/{erDiagram-TEJ5UH35-DE7FkKUT.js → erDiagram-TEJ5UH35-CeCqd6tA.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-I6XJVG4X-Kn-tG-yL.js → flowDiagram-I6XJVG4X-ZUKSazw4.js} +1 -1
  25. package/dist/client/assets/{ganttDiagram-6RSMTGT7-By6WP-ZX.js → ganttDiagram-6RSMTGT7-Cq-q9kPK.js} +1 -1
  26. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-nZ9iXa1J.js → gitGraphDiagram-PVQCEYII-zVissJIm.js} +1 -1
  27. package/dist/client/assets/{index-Bcwk_kNL.js → index-QJUv8N-T.js} +338 -169
  28. package/dist/client/assets/index-z2dDRh55.css +1 -0
  29. package/dist/client/assets/{infoDiagram-5YYISTIA-W-ABsfEh.js → infoDiagram-5YYISTIA-EcbEZrdJ.js} +1 -1
  30. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-JxGcwHMc.js → ishikawaDiagram-YF4QCWOH-Cux5p5kO.js} +1 -1
  31. package/dist/client/assets/{journeyDiagram-JHISSGLW-D_KdYlXr.js → journeyDiagram-JHISSGLW-1ke9LkJX.js} +1 -1
  32. package/dist/client/assets/{kanban-definition-UN3LZRKU-D-UVbQXc.js → kanban-definition-UN3LZRKU-DP9dkc_Z.js} +1 -1
  33. package/dist/client/assets/{linear-Cj1wlnWl.js → linear-CyyRtH0c.js} +1 -1
  34. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DwGZS8do.js → mindmap-definition-RKZ34NQL-BcU2pjK2.js} +1 -1
  35. package/dist/client/assets/{mobile-baseline-BGE4NQIr.js → mobile-baseline-CSjGr1_M.js} +1 -1
  36. package/dist/client/assets/{pieDiagram-4H26LBE5-CY9En855.js → pieDiagram-4H26LBE5-Bl7PuiuI.js} +1 -1
  37. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DOyyttJG.js → quadrantDiagram-W4KKPZXB-Dx0ckMzC.js} +1 -1
  38. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B4JqooNB.js → requirementDiagram-4Y6WPE33-CXkIn3ft.js} +1 -1
  39. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BB77NiWq.js → sankeyDiagram-5OEKKPKP-DIjHC-x5.js} +1 -1
  40. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BeL59Hty.js → sequenceDiagram-3UESZ5HK-BEdLD9KB.js} +1 -1
  41. package/dist/client/assets/{stateDiagram-AJRCARHV-r1MOX3Bu.js → stateDiagram-AJRCARHV-JRGDQ0Z0.js} +1 -1
  42. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-YFRSfKcY.js +1 -0
  43. package/dist/client/assets/{terminal-instance-BjuTwvmO.js → terminal-instance-W5XOlvlg.js} +1 -1
  44. package/dist/client/assets/{timeline-definition-PNZ67QCA-D01xTiJg.js → timeline-definition-PNZ67QCA-CkV6p1W8.js} +1 -1
  45. package/dist/client/assets/{vennDiagram-CIIHVFJN-Kc3pSNeO.js → vennDiagram-CIIHVFJN-ubGCO9Lw.js} +1 -1
  46. package/dist/client/assets/{wardley-L42UT6IY-Bf_y6FVI.js → wardley-L42UT6IY-_NZpI_YF.js} +1 -1
  47. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-7PwdKD27.js → wardleyDiagram-YWT4CUSO-DMXZwsFF.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CAKTkp2-.js → xychartDiagram-2RQKCTM6-T9YSJ2sB.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/dist/prisma/generated/internal/class.js +4 -4
  51. package/dist/prisma/generated/internal/class.js.map +1 -1
  52. package/dist/prisma/generated/internal/prismaNamespace.d.ts +3 -0
  53. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  54. package/dist/prisma/generated/internal/prismaNamespace.js +3 -0
  55. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  56. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +3 -0
  57. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  58. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +3 -0
  59. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  60. package/dist/prisma/generated/models/UserSettings.d.ts +57 -1
  61. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  62. package/dist/prisma/generated/models/Workspace.d.ts +64 -1
  63. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  64. package/dist/src/backend/lib/constants.d.ts +1 -1
  65. package/dist/src/backend/lib/constants.d.ts.map +1 -1
  66. package/dist/src/backend/lib/constants.js +1 -1
  67. package/dist/src/backend/lib/constants.js.map +1 -1
  68. package/dist/src/backend/lib/file-lock-mutex.d.ts +6 -1
  69. package/dist/src/backend/lib/file-lock-mutex.d.ts.map +1 -1
  70. package/dist/src/backend/lib/file-lock-mutex.js +138 -18
  71. package/dist/src/backend/lib/file-lock-mutex.js.map +1 -1
  72. package/dist/src/backend/lib/file-lock-mutex.test.js +90 -0
  73. package/dist/src/backend/lib/file-lock-mutex.test.js.map +1 -1
  74. package/dist/src/backend/lib/workspace-derived-state.d.ts +6 -2
  75. package/dist/src/backend/lib/workspace-derived-state.d.ts.map +1 -1
  76. package/dist/src/backend/lib/workspace-derived-state.js +14 -1
  77. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  78. package/dist/src/backend/lib/workspace-derived-state.test.js +12 -0
  79. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  80. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  81. package/dist/src/backend/orchestration/data-backup.service.js +4 -0
  82. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  83. package/dist/src/backend/orchestration/data-backup.service.test.js +3 -0
  84. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  85. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +2 -1
  86. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  87. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +8 -3
  88. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  89. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +27 -1
  90. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  91. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  92. package/dist/src/backend/orchestration/scheduler.service.js +9 -1
  93. package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
  94. package/dist/src/backend/orchestration/scheduler.service.test.js +6 -0
  95. package/dist/src/backend/orchestration/scheduler.service.test.js.map +1 -1
  96. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +2 -1
  97. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  98. package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts.map +1 -1
  99. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +3 -174
  100. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js.map +1 -1
  101. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts +1 -0
  102. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  103. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +26 -14
  104. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  105. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +121 -0
  106. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  107. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  108. package/dist/src/backend/routers/websocket/chat.handler.js +10 -1
  109. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  110. package/dist/src/backend/routers/websocket/chat.handler.test.js +25 -7
  111. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  112. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +1 -1
  113. package/dist/src/backend/routers/websocket/dev-logs.handler.js +11 -1
  114. package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +1 -1
  115. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js +34 -1
  116. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js.map +1 -1
  117. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +1 -1
  118. package/dist/src/backend/routers/websocket/post-run-logs.handler.js +11 -1
  119. package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +1 -1
  120. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js +37 -3
  121. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js.map +1 -1
  122. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
  123. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +8 -11
  124. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  125. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  126. package/dist/src/backend/routers/websocket/snapshots.handler.js +11 -1
  127. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  128. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +22 -1
  129. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  130. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  131. package/dist/src/backend/routers/websocket/terminal.handler.js +11 -1
  132. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  133. package/dist/src/backend/routers/websocket/terminal.handler.test.js +46 -6
  134. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  135. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +12 -0
  136. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts.map +1 -1
  137. package/dist/src/backend/routers/websocket/upgrade-utils.js +15 -0
  138. package/dist/src/backend/routers/websocket/upgrade-utils.js.map +1 -1
  139. package/dist/src/backend/routers/websocket/upgrade-utils.test.d.ts +2 -0
  140. package/dist/src/backend/routers/websocket/upgrade-utils.test.d.ts.map +1 -0
  141. package/dist/src/backend/routers/websocket/upgrade-utils.test.js +59 -0
  142. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -0
  143. package/dist/src/backend/routers/websocket/websocket.integration.test.js +91 -7
  144. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  145. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  146. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +22 -10
  147. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  148. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.d.ts +2 -0
  149. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.d.ts.map +1 -0
  150. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +114 -0
  151. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -0
  152. package/dist/src/backend/services/check-single-writer.test.js +16 -12
  153. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  154. package/dist/src/backend/services/env-schemas.d.ts +10 -10
  155. package/dist/src/backend/services/env-schemas.js +10 -10
  156. package/dist/src/backend/services/env-schemas.js.map +1 -1
  157. package/dist/src/backend/services/env-schemas.test.d.ts +2 -0
  158. package/dist/src/backend/services/env-schemas.test.d.ts.map +1 -0
  159. package/dist/src/backend/services/env-schemas.test.js +31 -0
  160. package/dist/src/backend/services/env-schemas.test.js.map +1 -0
  161. package/dist/src/backend/services/github/service/github-cli/mappers.js +1 -1
  162. package/dist/src/backend/services/github/service/github-cli/mappers.js.map +1 -1
  163. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +28 -3
  164. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  165. package/dist/src/backend/services/github/service/github-cli/schemas.js +20 -3
  166. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  167. package/dist/src/backend/services/github/service/github-cli/types.d.ts +1 -2
  168. package/dist/src/backend/services/github/service/github-cli/types.d.ts.map +1 -1
  169. package/dist/src/backend/services/github/service/github-cli.service.d.ts +2 -1
  170. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  171. package/dist/src/backend/services/github/service/github-cli.service.js +79 -50
  172. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  173. package/dist/src/backend/services/github/service/github-cli.service.test.js +30 -86
  174. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  175. package/dist/src/backend/services/github/service/index.d.ts +1 -0
  176. package/dist/src/backend/services/github/service/index.d.ts.map +1 -1
  177. package/dist/src/backend/services/github/service/index.js +1 -0
  178. package/dist/src/backend/services/github/service/index.js.map +1 -1
  179. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts +12 -0
  180. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts.map +1 -0
  181. package/dist/src/backend/services/github/service/pr-fetch-registry.js +31 -0
  182. package/dist/src/backend/services/github/service/pr-fetch-registry.js.map +1 -0
  183. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +1 -0
  184. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
  185. package/dist/src/backend/services/github/service/pr-snapshot.service.js +12 -0
  186. package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
  187. package/dist/src/backend/services/ratchet/service/bridges.d.ts +8 -1
  188. package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +1 -1
  189. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +11 -0
  190. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  191. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +37 -2
  192. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  193. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +167 -1
  194. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  195. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  196. package/dist/src/backend/services/ratchet/service/ratchet.service.js +2 -1
  197. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  198. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +51 -0
  199. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  200. package/dist/src/backend/services/ratchet/service/reconciliation.service.d.ts.map +1 -1
  201. package/dist/src/backend/services/ratchet/service/reconciliation.service.js +8 -0
  202. package/dist/src/backend/services/ratchet/service/reconciliation.service.js.map +1 -1
  203. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.js +44 -0
  204. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.js.map +1 -1
  205. package/dist/src/backend/services/registry.d.ts +1 -1
  206. package/dist/src/backend/services/registry.js +1 -1
  207. package/dist/src/backend/services/registry.js.map +1 -1
  208. package/dist/src/backend/services/run-script/service/run-script-process-utils.js +2 -2
  209. package/dist/src/backend/services/run-script/service/run-script-process-utils.js.map +1 -1
  210. package/dist/src/backend/services/run-script/service/run-script.service.test.js +21 -0
  211. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  212. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  213. package/dist/src/backend/services/run-script/service/startup-script.service.js +32 -7
  214. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  215. package/dist/src/backend/services/run-script/service/startup-script.service.test.js +9 -0
  216. package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
  217. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +11 -0
  218. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  219. package/dist/src/backend/services/session/resources/agent-session.accessor.js +54 -22
  220. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  221. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +56 -0
  222. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  223. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +1 -0
  224. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  225. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +9 -1
  226. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  227. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +50 -1
  228. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  229. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +4 -0
  230. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  231. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +59 -27
  232. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  233. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +104 -1
  234. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  235. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-config-resolver.d.ts.map +1 -1
  236. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-config-resolver.js +7 -2
  237. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-config-resolver.js.map +1 -1
  238. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-config-resolver.test.js +19 -0
  239. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-config-resolver.test.js.map +1 -1
  240. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +1 -0
  241. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
  242. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +26 -5
  243. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
  244. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js +102 -0
  245. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js.map +1 -1
  246. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.d.ts +4 -1
  247. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.d.ts.map +1 -1
  248. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.js +13 -6
  249. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.js.map +1 -1
  250. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js +28 -1
  251. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js.map +1 -1
  252. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.d.ts +1 -0
  253. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.d.ts.map +1 -1
  254. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.js +11 -1
  255. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.js.map +1 -1
  256. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.test.js +3 -0
  257. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.test.js.map +1 -1
  258. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  259. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +270 -48
  260. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  261. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +490 -0
  262. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  263. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts.map +1 -1
  264. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +4 -0
  265. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js.map +1 -1
  266. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +16 -5
  267. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  268. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +1 -1
  269. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  270. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +2 -2
  271. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  272. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +57 -0
  273. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  274. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +3 -3
  275. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js.map +1 -1
  276. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js +35 -0
  277. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js.map +1 -1
  278. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +15 -4
  279. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  280. package/dist/src/backend/services/session/service/data/session-data.service.js +3 -0
  281. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  282. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +2 -0
  283. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  284. package/dist/src/backend/services/session/service/index.d.ts +1 -1
  285. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  286. package/dist/src/backend/services/session/service/index.js +1 -1
  287. package/dist/src/backend/services/session/service/index.js.map +1 -1
  288. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -0
  289. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  290. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +13 -0
  291. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  292. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +45 -9
  293. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
  294. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js +1 -1
  295. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js.map +1 -1
  296. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +7 -0
  297. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  298. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +100 -0
  299. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  300. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +68 -6
  301. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  302. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  303. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +10 -3
  304. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  305. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  306. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +4 -0
  307. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  308. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +34 -0
  309. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  310. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +6 -2
  311. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  312. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
  313. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  314. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
  315. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  316. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +1 -1
  317. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  318. package/dist/src/backend/services/session/service/lifecycle/session.service.js +2 -2
  319. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  320. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +113 -5
  321. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  322. package/dist/src/backend/services/session/service/session-domain.service.d.ts +1 -0
  323. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  324. package/dist/src/backend/services/session/service/session-domain.service.js +4 -0
  325. package/dist/src/backend/services/session/service/session-domain.service.js.map +1 -1
  326. package/dist/src/backend/services/session/service/session-domain.service.test.js +2 -0
  327. package/dist/src/backend/services/session/service/session-domain.service.test.js.map +1 -1
  328. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +2 -0
  329. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  330. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +18 -0
  331. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  332. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +1 -1
  333. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +2 -0
  334. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  335. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +15 -0
  336. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  337. package/dist/src/backend/services/workspace/service/bridges.d.ts +4 -0
  338. package/dist/src/backend/services/workspace/service/bridges.d.ts.map +1 -1
  339. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +4 -0
  340. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
  341. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +12 -1
  342. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
  343. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +104 -0
  344. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  345. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +22 -13
  346. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  347. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  348. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +3 -0
  349. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  350. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +7 -5
  351. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  352. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts +2 -0
  353. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts.map +1 -1
  354. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.js.map +1 -1
  355. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +13 -8
  356. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  357. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +17 -2
  358. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  359. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +97 -6
  360. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  361. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts +0 -1
  362. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  363. package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -7
  364. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  365. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js +2 -11
  366. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js.map +1 -1
  367. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts +2 -1
  368. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +1 -1
  369. package/dist/src/backend/services/workspace-snapshot-store.service.js +11 -0
  370. package/dist/src/backend/services/workspace-snapshot-store.service.js.map +1 -1
  371. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.d.ts +2 -0
  372. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.d.ts.map +1 -0
  373. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js +48 -0
  374. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js.map +1 -0
  375. package/dist/src/backend/testing/websocket-test-utils.d.ts +2 -2
  376. package/dist/src/backend/testing/websocket-test-utils.d.ts.map +1 -1
  377. package/dist/src/backend/testing/websocket-test-utils.js +2 -2
  378. package/dist/src/backend/testing/websocket-test-utils.js.map +1 -1
  379. package/dist/src/backend/trpc/admin.trpc.d.ts +8 -4
  380. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  381. package/dist/src/backend/trpc/github.router.test.js +31 -0
  382. package/dist/src/backend/trpc/github.router.test.js.map +1 -1
  383. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  384. package/dist/src/backend/trpc/github.trpc.js +12 -4
  385. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  386. package/dist/src/backend/trpc/index.d.ts +173 -63
  387. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  388. package/dist/src/backend/trpc/issue-filter.d.ts +7 -0
  389. package/dist/src/backend/trpc/issue-filter.d.ts.map +1 -0
  390. package/dist/src/backend/trpc/issue-filter.js +19 -0
  391. package/dist/src/backend/trpc/issue-filter.js.map +1 -0
  392. package/dist/src/backend/trpc/linear.router.test.js +35 -0
  393. package/dist/src/backend/trpc/linear.router.test.js.map +1 -1
  394. package/dist/src/backend/trpc/linear.trpc.d.ts.map +1 -1
  395. package/dist/src/backend/trpc/linear.trpc.js +10 -3
  396. package/dist/src/backend/trpc/linear.trpc.js.map +1 -1
  397. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +5 -5
  398. package/dist/src/backend/trpc/project.trpc.d.ts +23 -9
  399. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  400. package/dist/src/backend/trpc/project.trpc.js +68 -1
  401. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  402. package/dist/src/backend/trpc/session.router.test.js +96 -8
  403. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  404. package/dist/src/backend/trpc/session.trpc.d.ts +51 -18
  405. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  406. package/dist/src/backend/trpc/session.trpc.js +70 -37
  407. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  408. package/dist/src/backend/trpc/user-settings.router.test.js +89 -0
  409. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  410. package/dist/src/backend/trpc/user-settings.trpc.d.ts +34 -2
  411. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  412. package/dist/src/backend/trpc/user-settings.trpc.js +81 -0
  413. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  414. package/dist/src/backend/trpc/workspace/init.router.test.js +10 -0
  415. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  416. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +4 -3
  417. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  418. package/dist/src/backend/trpc/workspace/init.trpc.js +2 -1
  419. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  420. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +7 -5
  421. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  422. package/dist/src/backend/trpc/workspace.router.test.js +70 -0
  423. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  424. package/dist/src/backend/trpc/workspace.trpc.d.ts +46 -26
  425. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  426. package/dist/src/backend/trpc/workspace.trpc.js +17 -3
  427. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  428. package/dist/src/cli/index.js +1 -9
  429. package/dist/src/cli/index.js.map +1 -1
  430. package/dist/src/cli/serve-env.d.ts +6 -0
  431. package/dist/src/cli/serve-env.d.ts.map +1 -0
  432. package/dist/src/cli/serve-env.js +15 -0
  433. package/dist/src/cli/serve-env.js.map +1 -0
  434. package/dist/src/cli/serve-env.test.d.ts +2 -0
  435. package/dist/src/cli/serve-env.test.d.ts.map +1 -0
  436. package/dist/src/cli/serve-env.test.js +29 -0
  437. package/dist/src/cli/serve-env.test.js.map +1 -0
  438. package/dist/src/shared/core/enums.d.ts +17 -0
  439. package/dist/src/shared/core/enums.d.ts.map +1 -1
  440. package/dist/src/shared/core/enums.js +14 -0
  441. package/dist/src/shared/core/enums.js.map +1 -1
  442. package/dist/src/shared/core/index.d.ts +1 -1
  443. package/dist/src/shared/core/index.d.ts.map +1 -1
  444. package/dist/src/shared/core/index.js +1 -1
  445. package/dist/src/shared/core/index.js.map +1 -1
  446. package/dist/src/shared/issue-start-prompt.d.ts +14 -0
  447. package/dist/src/shared/issue-start-prompt.d.ts.map +1 -0
  448. package/dist/src/shared/issue-start-prompt.js +173 -0
  449. package/dist/src/shared/issue-start-prompt.js.map +1 -0
  450. package/dist/src/shared/schemas/auto-iteration.schema.d.ts +2 -2
  451. package/dist/src/shared/schemas/export-data.schema.d.ts +8 -4
  452. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  453. package/dist/src/shared/schemas/export-data.schema.js +6 -4
  454. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  455. package/dist/src/shared/workspace-status-reason.d.ts +26 -0
  456. package/dist/src/shared/workspace-status-reason.d.ts.map +1 -0
  457. package/dist/src/shared/workspace-status-reason.js +84 -0
  458. package/dist/src/shared/workspace-status-reason.js.map +1 -0
  459. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  460. package/package.json +21 -12
  461. package/prisma/migrations/20260529123138_add_workspace_init_script_pid/migration.sql +2 -0
  462. package/prisma/migrations/20260529140000_add_default_provider_effort_settings/migration.sql +2 -0
  463. package/prisma/schema.prisma +3 -0
  464. package/dist/client/assets/channel-aiW5SBbk.js +0 -1
  465. package/dist/client/assets/classDiagram-4FO5ZUOK-DdRRgcVJ.js +0 -1
  466. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DdRRgcVJ.js +0 -1
  467. package/dist/client/assets/index-p_tQjQfx.css +0 -1
  468. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dd555Ct_.js +0 -1
@@ -3,5 +3,5 @@ export declare const LIB_LIMITS: Readonly<{
3
3
  readonly shellDefaultMaxBufferBytes: number;
4
4
  readonly osascriptEscapedMaxChars: 200;
5
5
  }>;
6
- export declare const FACTORY_SIGNATURE = "\uD83C\uDFED Forged in [Factory Factory](https://factoryfactory.ai)";
6
+ export { FACTORY_SIGNATURE } from '../../shared/issue-start-prompt.js';
7
7
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;EAIZ,CAAC;AAKZ,eAAO,MAAM,iBAAiB,wEAA8D,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;EAIZ,CAAC;AAKZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -3,5 +3,5 @@ export const LIB_LIMITS = Object.freeze({
3
3
  shellDefaultMaxBufferBytes: 10 * 1024 * 1024,
4
4
  osascriptEscapedMaxChars: 200,
5
5
  });
6
- export const FACTORY_SIGNATURE = '🏭 Forged in [Factory Factory](https://factoryfactory.ai)';
6
+ export { FACTORY_SIGNATURE } from '../../shared/issue-start-prompt.js';
7
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/backend/lib/constants.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,IAAI,GAAG,IAAI;IAC7B,0BAA0B,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC5C,wBAAwB,EAAE,GAAG;CACrB,CAAC,CAAC;AAKZ,MAAM,CAAC,MAAM,iBAAiB,GAAG,2DAA2D,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/backend/lib/constants.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,IAAI,GAAG,IAAI;IAC7B,0BAA0B,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC5C,wBAAwB,EAAE,GAAG;CACrB,CAAC,CAAC;AAKZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -14,6 +14,7 @@ export declare class FileLockMutex {
14
14
  private options;
15
15
  constructor(options?: Partial<FileLockMutexOptions>);
16
16
  acquire(lockPath: string): Promise<() => Promise<void>>;
17
+ private writeLockMetadata;
17
18
  private resolveAcquireContention;
18
19
  private createLockCleanup;
19
20
  private getInodeAndClose;
@@ -22,7 +23,11 @@ export declare class FileLockMutex {
22
23
  private touchLockHeartbeat;
23
24
  private tryHandleStaleLockAfterTimeout;
24
25
  private tryRemoveStaleLock;
25
- private verifyAndUnlinkStaleLock;
26
+ private readLockId;
27
+ private claimAndRemoveStaleLock;
28
+ private createStaleClaimPath;
29
+ private restoreClaimedLock;
30
+ private unlinkClaimedLockAfterRestoreConflict;
26
31
  private unlinkStaleLock;
27
32
  private sleep;
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock-mutex.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IA6BjD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YA6B/C,wBAAwB;IA4CtC,OAAO,CAAC,iBAAiB;YAuBX,gBAAgB;YA0BhB,aAAa;IA2B3B,OAAO,CAAC,kBAAkB;YAuBZ,kBAAkB;YAmBlB,8BAA8B;YAiB9B,kBAAkB;YA8BlB,wBAAwB;YA2BxB,eAAe;IAmB7B,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"file-lock-mutex.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IA6BjD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YA8B/C,iBAAiB;YAwBjB,wBAAwB;IA4CtC,OAAO,CAAC,iBAAiB;YAuBX,gBAAgB;YA0BhB,aAAa;IA2B3B,OAAO,CAAC,kBAAkB;YAuBZ,kBAAkB;YAmBlB,8BAA8B;YAiB9B,kBAAkB;YAkClB,UAAU;YAaV,uBAAuB;IAwErC,OAAO,CAAC,oBAAoB;YAMd,kBAAkB;YA0BlB,qCAAqC;YAmBrC,eAAe;IAmB7B,OAAO,CAAC,KAAK;CAGd"}
@@ -1,4 +1,6 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
2
4
  import { createLogger } from '../../backend/services/logger.service.js';
3
5
  const logger = createLogger('file-lock-mutex');
4
6
  const DEFAULT_LOCK_ACQUIRE_TIMEOUT_MS = 5000;
@@ -9,6 +11,7 @@ const DEFAULT_LOCK_STALE_THRESHOLD_MS = 60 * 60 * 1000;
9
11
  const MIN_LOCK_STALE_THRESHOLD_MS = 1000;
10
12
  const DEFAULT_LOCK_HEARTBEAT_INTERVAL_MS = 10_000;
11
13
  const MIN_LOCK_HEARTBEAT_INTERVAL_MS = 100;
14
+ const LOCK_FILE_FORMAT_VERSION = 1;
12
15
  export class FileLockTimeoutError extends Error {
13
16
  constructor(message) {
14
17
  super(message);
@@ -39,6 +42,7 @@ export class FileLockMutex {
39
42
  while (true) {
40
43
  try {
41
44
  const fileHandle = await fs.open(lockPath, 'wx');
45
+ await this.writeLockMetadata(fileHandle, lockPath);
42
46
  const stopHeartbeat = this.startLockHeartbeat(fileHandle, lockPath);
43
47
  return this.createLockCleanup(fileHandle, lockPath, stopHeartbeat);
44
48
  }
@@ -58,6 +62,28 @@ export class FileLockMutex {
58
62
  }
59
63
  }
60
64
  }
65
+ async writeLockMetadata(fileHandle, lockPath) {
66
+ const metadata = {
67
+ version: LOCK_FILE_FORMAT_VERSION,
68
+ lockId: randomUUID(),
69
+ pid: process.pid,
70
+ createdAt: new Date().toISOString(),
71
+ };
72
+ try {
73
+ await fileHandle.writeFile(`${JSON.stringify(metadata)}\n`, 'utf-8');
74
+ }
75
+ catch (error) {
76
+ await fileHandle.close().catch((closeError) => {
77
+ logger.warn('Failed to close lock file after metadata write failure', {
78
+ lockPath,
79
+ error: closeError instanceof Error ? closeError.message : String(closeError),
80
+ });
81
+ });
82
+ await fs.unlink(lockPath).catch(() => {
83
+ });
84
+ throw error;
85
+ }
86
+ }
61
87
  async resolveAcquireContention({ error, lockPath, startTime, staleRetryCount, }) {
62
88
  const code = error?.code;
63
89
  if (code !== 'EEXIST') {
@@ -194,18 +220,15 @@ export class FileLockMutex {
194
220
  return { staleRemoved: true, newCount: staleRetryCount + 1 };
195
221
  }
196
222
  async tryRemoveStaleLock(lockPath) {
223
+ let lockAge;
224
+ let expectedLockId;
197
225
  try {
198
226
  const stats = await fs.stat(lockPath);
199
- const lockAge = Date.now() - stats.mtimeMs;
227
+ lockAge = Date.now() - stats.mtimeMs;
228
+ expectedLockId = await this.readLockId(lockPath);
200
229
  if (lockAge < this.options.staleThresholdMs) {
201
230
  return false;
202
231
  }
203
- logger.warn('Attempting to remove stale lock file', {
204
- lockPath,
205
- lockAgeMs: lockAge,
206
- inode: stats.ino,
207
- });
208
- return await this.verifyAndUnlinkStaleLock(lockPath, stats.ino);
209
232
  }
210
233
  catch (error) {
211
234
  const code = error?.code;
@@ -218,31 +241,128 @@ export class FileLockMutex {
218
241
  });
219
242
  return false;
220
243
  }
244
+ logger.warn('Attempting to remove stale lock file', {
245
+ lockPath,
246
+ lockAgeMs: lockAge,
247
+ lockId: expectedLockId,
248
+ });
249
+ return await this.claimAndRemoveStaleLock(lockPath, expectedLockId);
221
250
  }
222
- async verifyAndUnlinkStaleLock(lockPath, expectedIno) {
251
+ async readLockId(lockPath) {
223
252
  try {
224
- const verifyStats = await fs.stat(lockPath);
225
- if (verifyStats.ino !== expectedIno) {
226
- logger.debug('Lock file inode changed, not removing (new lock created)', {
227
- lockPath,
228
- originalIno: expectedIno,
229
- currentIno: verifyStats.ino,
230
- });
231
- return false;
253
+ const contents = await fs.readFile(lockPath, 'utf-8');
254
+ const metadata = JSON.parse(contents);
255
+ if (typeof metadata !== 'object' || metadata === null || !('lockId' in metadata)) {
256
+ return undefined;
257
+ }
258
+ return typeof metadata.lockId === 'string' ? metadata.lockId : undefined;
259
+ }
260
+ catch {
261
+ return undefined;
262
+ }
263
+ }
264
+ async claimAndRemoveStaleLock(lockPath, expectedLockId) {
265
+ const claimedPath = this.createStaleClaimPath(lockPath);
266
+ try {
267
+ await fs.rename(lockPath, claimedPath);
268
+ }
269
+ catch (error) {
270
+ const code = error?.code;
271
+ if (code === 'ENOENT') {
272
+ return true;
232
273
  }
233
- return await this.unlinkStaleLock(lockPath);
274
+ logger.warn('Failed to claim stale lock file', {
275
+ lockPath,
276
+ claimedPath,
277
+ error: error instanceof Error ? error.message : String(error),
278
+ code,
279
+ });
280
+ return false;
281
+ }
282
+ let claimedStats;
283
+ let claimedLockId;
284
+ try {
285
+ claimedStats = await fs.stat(claimedPath);
286
+ claimedLockId = await this.readLockId(claimedPath);
234
287
  }
235
288
  catch (error) {
236
289
  const code = error?.code;
237
290
  if (code === 'ENOENT') {
238
291
  return true;
239
292
  }
240
- logger.warn('Failed to verify lock file before removal', {
293
+ logger.warn('Failed to verify claimed stale lock before removal', {
241
294
  lockPath,
295
+ claimedPath,
242
296
  error: error instanceof Error ? error.message : String(error),
243
297
  });
298
+ await this.restoreClaimedLock(lockPath, claimedPath);
299
+ return false;
300
+ }
301
+ const lockIdentityChanged = expectedLockId !== claimedLockId &&
302
+ (expectedLockId !== undefined || claimedLockId !== undefined);
303
+ if (lockIdentityChanged) {
304
+ logger.debug('Claimed lock identity changed, restoring lock file', {
305
+ lockPath,
306
+ expectedLockId,
307
+ claimedLockId,
308
+ });
309
+ await this.restoreClaimedLock(lockPath, claimedPath);
310
+ return false;
311
+ }
312
+ const claimedLockAge = Date.now() - claimedStats.mtimeMs;
313
+ if (claimedLockAge < this.options.staleThresholdMs) {
314
+ logger.debug('Claimed lock is no longer stale, restoring lock file', {
315
+ lockPath,
316
+ claimedPath,
317
+ lockAgeMs: claimedLockAge,
318
+ });
319
+ await this.restoreClaimedLock(lockPath, claimedPath);
244
320
  return false;
245
321
  }
322
+ return await this.unlinkStaleLock(claimedPath);
323
+ }
324
+ createStaleClaimPath(lockPath) {
325
+ const directory = path.dirname(lockPath);
326
+ const basename = path.basename(lockPath);
327
+ return path.join(directory, `.${basename}.stale-${process.pid}-${Date.now()}-${randomUUID()}`);
328
+ }
329
+ async restoreClaimedLock(lockPath, claimedPath) {
330
+ try {
331
+ await fs.link(claimedPath, lockPath);
332
+ }
333
+ catch (error) {
334
+ const code = error?.code;
335
+ if (code === 'EEXIST') {
336
+ logger.debug('Lock path already exists while restoring claimed lock', {
337
+ lockPath,
338
+ claimedPath,
339
+ });
340
+ await this.unlinkClaimedLockAfterRestoreConflict(lockPath, claimedPath);
341
+ return;
342
+ }
343
+ logger.warn('Failed to restore claimed lock file', {
344
+ lockPath,
345
+ claimedPath,
346
+ error: error instanceof Error ? error.message : String(error),
347
+ code,
348
+ });
349
+ throw error;
350
+ }
351
+ await this.unlinkClaimedLockAfterRestoreConflict(lockPath, claimedPath);
352
+ }
353
+ async unlinkClaimedLockAfterRestoreConflict(lockPath, claimedPath) {
354
+ await fs.unlink(claimedPath).catch((unlinkError) => {
355
+ const unlinkCode = unlinkError?.code;
356
+ if (unlinkCode === 'ENOENT') {
357
+ return;
358
+ }
359
+ logger.warn('Failed to clean up claimed lock after restore conflict', {
360
+ lockPath,
361
+ claimedPath,
362
+ error: unlinkError instanceof Error ? unlinkError.message : String(unlinkError),
363
+ code: unlinkCode,
364
+ });
365
+ });
246
366
  }
247
367
  async unlinkStaleLock(lockPath) {
248
368
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock-mutex.js","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-lock-mutex.js","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,14 @@ async function exists(targetPath) {
12
12
  return false;
13
13
  }
14
14
  }
15
+ function lockMetadata(lockId) {
16
+ return `${JSON.stringify({
17
+ version: 1,
18
+ lockId,
19
+ pid: process.pid,
20
+ createdAt: new Date().toISOString(),
21
+ })}\n`;
22
+ }
15
23
  describe('FileLockMutex', () => {
16
24
  it('acquires and releases a lock file', async () => {
17
25
  const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
@@ -124,6 +132,88 @@ describe('FileLockMutex', () => {
124
132
  await fs.rm(baseDir, { recursive: true, force: true });
125
133
  }
126
134
  });
135
+ it('does not delete a fresh replacement when stale lock claim races with replacement', async () => {
136
+ const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
137
+ const lockPath = path.join(baseDir, 'race.lock');
138
+ const freshLockContent = lockMetadata('fresh-lock-id');
139
+ await fs.writeFile(lockPath, freshLockContent, 'utf-8');
140
+ const mutex = new FileLockMutex({
141
+ staleThresholdMs: 20,
142
+ });
143
+ try {
144
+ const removed = await mutex.claimAndRemoveStaleLock(lockPath, 'stale-lock-id');
145
+ expect(removed).toBe(false);
146
+ expect(await fs.readFile(lockPath, 'utf-8')).toBe(freshLockContent);
147
+ expect((await fs.readdir(baseDir)).filter((name) => name.includes('.race.lock.stale'))).toEqual([]);
148
+ }
149
+ finally {
150
+ await fs.rm(baseDir, { recursive: true, force: true });
151
+ }
152
+ });
153
+ it('removes claimed stale lock when restore races with a new lock', async () => {
154
+ const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
155
+ const lockPath = path.join(baseDir, 'restore-race.lock');
156
+ const claimedPath = path.join(baseDir, '.restore-race.lock.stale-test');
157
+ const freshLockContent = lockMetadata('fresh-lock-id');
158
+ await fs.writeFile(lockPath, freshLockContent, 'utf-8');
159
+ await fs.writeFile(claimedPath, lockMetadata('claimed-lock-id'), 'utf-8');
160
+ const mutex = new FileLockMutex();
161
+ try {
162
+ await mutex.restoreClaimedLock(lockPath, claimedPath);
163
+ expect(await fs.readFile(lockPath, 'utf-8')).toBe(freshLockContent);
164
+ expect(await exists(claimedPath)).toBe(false);
165
+ }
166
+ finally {
167
+ await fs.rm(baseDir, { recursive: true, force: true });
168
+ }
169
+ });
170
+ it('propagates unexpected claimed lock restore failures', async () => {
171
+ const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
172
+ const lockPath = path.join(baseDir, 'restore-failure.lock');
173
+ const claimedPath = path.join(baseDir, '.restore-failure.lock.stale-test');
174
+ await fs.mkdir(claimedPath);
175
+ const mutex = new FileLockMutex();
176
+ try {
177
+ await expect(mutex.restoreClaimedLock(lockPath, claimedPath)).rejects.toThrow();
178
+ expect(await exists(lockPath)).toBe(false);
179
+ expect(await exists(claimedPath)).toBe(true);
180
+ }
181
+ finally {
182
+ await fs.rm(baseDir, { recursive: true, force: true });
183
+ }
184
+ });
185
+ it('propagates restore failures from the stale lock acquisition path', async () => {
186
+ const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
187
+ const lockPath = path.join(baseDir, 'stale-restore-failure.lock');
188
+ const restoreError = new Error('restore failed');
189
+ await fs.writeFile(lockPath, lockMetadata('stale-lock-id'), 'utf-8');
190
+ const staleTime = new Date(Date.now() - 60_000);
191
+ await fs.utimes(lockPath, staleTime, staleTime);
192
+ const mutex = new FileLockMutex({
193
+ staleThresholdMs: 20,
194
+ });
195
+ try {
196
+ mutex.claimAndRemoveStaleLock = () => Promise.reject(restoreError);
197
+ await expect(mutex.tryRemoveStaleLock(lockPath)).rejects.toBe(restoreError);
198
+ }
199
+ finally {
200
+ await fs.rm(baseDir, { recursive: true, force: true });
201
+ }
202
+ });
203
+ it('rejects restore when the claimed lock vanishes before restore', async () => {
204
+ const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
205
+ const lockPath = path.join(baseDir, 'missing-claimed.lock');
206
+ const claimedPath = path.join(baseDir, '.missing-claimed.lock.stale-test');
207
+ const mutex = new FileLockMutex();
208
+ try {
209
+ await expect(mutex.restoreClaimedLock(lockPath, claimedPath)).rejects.toThrow();
210
+ expect(await exists(lockPath)).toBe(false);
211
+ expect(await exists(claimedPath)).toBe(false);
212
+ }
213
+ finally {
214
+ await fs.rm(baseDir, { recursive: true, force: true });
215
+ }
216
+ });
127
217
  it('does not treat an active lock as stale while heartbeat is updating mtime', async () => {
128
218
  const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
129
219
  const lockPath = path.join(baseDir, 'heartbeat.lock');
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock-mutex.test.js","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-lock-mutex.test.js","sourceRoot":"","sources":["../../../../src/backend/lib/file-lock-mutex.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import type { CIStatus, KanbanColumn, PRState, RatchetState, WorkspaceStatus } from '../../shared/core/index.js';
1
+ import type { CIStatus, KanbanColumn, PRState, RatchetState, RunScriptStatus, WorkspaceStatus } from '../../shared/core/index.js';
2
2
  import type { WorkspaceCiObservation, WorkspaceFlowPhase } from '../../shared/workspace-flow-state.js';
3
3
  import type { WorkspaceSidebarStatus } from '../../shared/workspace-sidebar-status.js';
4
+ import { type WorkspacePendingRequestType, type WorkspaceStatusReason } from '../../shared/workspace-status-reason.js';
4
5
  export interface WorkspaceDerivedFlowState {
5
6
  phase: WorkspaceFlowPhase;
6
7
  ciObservation: WorkspaceCiObservation;
@@ -16,6 +17,9 @@ export interface WorkspaceDerivedStateInput {
16
17
  ratchetState: RatchetState;
17
18
  hasHadSessions: boolean;
18
19
  sessionIsWorking: boolean;
20
+ pendingRequestType: WorkspacePendingRequestType | null;
21
+ hasSessionRuntimeError?: boolean;
22
+ runScriptStatus: RunScriptStatus | null;
19
23
  flowState: WorkspaceDerivedFlowState;
20
24
  }
21
25
  export interface WorkspaceDerivedStateFns {
@@ -24,7 +28,6 @@ export interface WorkspaceDerivedStateFns {
24
28
  isWorking: boolean;
25
29
  prState: PRState;
26
30
  ratchetState: RatchetState;
27
- hasHadSessions: boolean;
28
31
  }) => KanbanColumn | null;
29
32
  deriveSidebarStatus: (input: {
30
33
  isWorking: boolean;
@@ -41,6 +44,7 @@ export interface WorkspaceDerivedState {
41
44
  flowPhase: WorkspaceFlowPhase;
42
45
  ciObservation: WorkspaceCiObservation;
43
46
  ratchetButtonAnimated: boolean;
47
+ statusReason: WorkspaceStatusReason;
44
48
  }
45
49
  export declare const DEFAULT_WORKSPACE_DERIVED_FLOW_STATE: WorkspaceDerivedFlowState;
46
50
  export declare function assembleWorkspaceDerivedState(input: WorkspaceDerivedStateInput, fns: WorkspaceDerivedStateFns): WorkspaceDerivedState;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-derived-state.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,aAAa,EAAE,sBAAsB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,eAAe,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,YAAY,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;KACzB,KAAK,YAAY,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;KACnC,KAAK,sBAAsB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,sBAAsB,CAAC;IACtC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,aAAa,EAAE,sBAAsB,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,oCAAoC,EAAE,yBAMlD,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,EACjC,GAAG,EAAE,wBAAwB,GAC5B,qBAAqB,CAuBvB"}
1
+ {"version":3,"file":"workspace-derived-state.d.ts","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,aAAa,EAAE,sBAAsB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,eAAe,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,YAAY,CAAC;KAC5B,KAAK,YAAY,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;KACnC,KAAK,sBAAsB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,sBAAsB,CAAC;IACtC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,aAAa,EAAE,sBAAsB,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,eAAO,MAAM,oCAAoC,EAAE,yBAMlD,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,0BAA0B,EACjC,GAAG,EAAE,wBAAwB,GAC5B,qBAAqB,CAmCvB"}
@@ -1,3 +1,4 @@
1
+ import { deriveWorkspaceStatusReason, } from '../../shared/workspace-status-reason.js';
1
2
  export const DEFAULT_WORKSPACE_DERIVED_FLOW_STATE = {
2
3
  phase: 'NO_PR',
3
4
  ciObservation: 'CHECKS_UNKNOWN',
@@ -21,11 +22,23 @@ export function assembleWorkspaceDerivedState(input, fns) {
21
22
  isWorking,
22
23
  prState: input.prState,
23
24
  ratchetState: input.ratchetState,
24
- hasHadSessions: input.hasHadSessions,
25
25
  }),
26
26
  flowPhase: input.flowState.phase,
27
27
  ciObservation: input.flowState.ciObservation,
28
28
  ratchetButtonAnimated: input.flowState.shouldAnimateRatchetButton,
29
+ statusReason: deriveWorkspaceStatusReason({
30
+ lifecycle: input.lifecycle,
31
+ hasHadSessions: input.hasHadSessions,
32
+ isWorking,
33
+ pendingRequestType: input.pendingRequestType,
34
+ hasSessionRuntimeError: input.hasSessionRuntimeError,
35
+ flowPhase: input.flowState.phase,
36
+ ciObservation: input.flowState.ciObservation,
37
+ prState: input.prState,
38
+ prCiStatus: input.prCiStatus,
39
+ ratchetState: input.ratchetState,
40
+ runScriptStatus: input.runScriptStatus,
41
+ }),
29
42
  };
30
43
  }
31
44
  //# sourceMappingURL=workspace-derived-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-derived-state.js","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.ts"],"names":[],"mappings":"AAiDA,MAAM,CAAC,MAAM,oCAAoC,GAA8B;IAC7E,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAC3C,KAAiC,EACjC,GAA6B;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAEzC,OAAO;QACL,SAAS;QACT,aAAa,EAAE,GAAG,CAAC,mBAAmB,CAAC;YACrC,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;QACF,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;QAChC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;QAC5C,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,0BAA0B;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-derived-state.js","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,2BAA2B,GAG5B,MAAM,kCAAkC,CAAC;AAkD1C,MAAM,CAAC,MAAM,oCAAoC,GAA8B;IAC7E,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAC3C,KAAiC,EACjC,GAA6B;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAEzC,OAAO;QACL,SAAS;QACT,aAAa,EAAE,GAAG,CAAC,mBAAmB,CAAC;YACrC,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;QACF,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;QAChC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;QAC5C,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,0BAA0B;QACjE,YAAY,EAAE,2BAA2B,CAAC;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS;YACT,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAChC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;YAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -16,6 +16,8 @@ describe('assembleWorkspaceDerivedState', () => {
16
16
  ratchetState: RatchetState.IDLE,
17
17
  hasHadSessions: true,
18
18
  sessionIsWorking: false,
19
+ pendingRequestType: null,
20
+ runScriptStatus: 'IDLE',
19
21
  flowState: {
20
22
  ...DEFAULT_WORKSPACE_DERIVED_FLOW_STATE,
21
23
  isWorking: true,
@@ -43,6 +45,8 @@ describe('assembleWorkspaceDerivedState', () => {
43
45
  ratchetState: RatchetState.REVIEW_PENDING,
44
46
  hasHadSessions: true,
45
47
  sessionIsWorking: false,
48
+ pendingRequestType: null,
49
+ runScriptStatus: 'IDLE',
46
50
  flowState: {
47
51
  phase: 'CI_WAIT',
48
52
  ciObservation: 'CHECKS_PENDING',
@@ -61,6 +65,12 @@ describe('assembleWorkspaceDerivedState', () => {
61
65
  ratchetButtonAnimated: true,
62
66
  flowPhase: 'CI_WAIT',
63
67
  ciObservation: 'CHECKS_PENDING',
68
+ statusReason: {
69
+ code: 'WAITING_FOR_CI',
70
+ label: 'Waiting for CI',
71
+ tone: 'waiting',
72
+ needsUser: false,
73
+ },
64
74
  });
65
75
  });
66
76
  it('marks the workspace working when a session is actively working', () => {
@@ -77,6 +87,8 @@ describe('assembleWorkspaceDerivedState', () => {
77
87
  ratchetState: RatchetState.IDLE,
78
88
  hasHadSessions: true,
79
89
  sessionIsWorking: true,
90
+ pendingRequestType: null,
91
+ runScriptStatus: 'IDLE',
80
92
  flowState: DEFAULT_WORKSPACE_DERIVED_FLOW_STATE,
81
93
  }, {
82
94
  computeKanbanColumn,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-derived-state.test.js","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-derived-state.test.js","sourceRoot":"","sources":["../../../../src/backend/lib/workspace-derived-state.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-backup.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/orchestration/data-backup.service.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,qCAAqC,CAAC;AAU7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,aAAa,CAAC;IAChC,YAAY,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACvD;AA2SD,cAAM,iBAAiB;IAOf,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoJnD,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAmC5D;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"data-backup.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/orchestration/data-backup.service.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,qCAAqC,CAAC;AAU7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,aAAa,CAAC;IAChC,YAAY,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACvD;AA6SD,cAAM,iBAAiB;IAOf,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsJnD,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;CAmC5D;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}