factory-factory 0.3.18 → 0.3.20

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 (413) hide show
  1. package/README.md +1 -0
  2. package/dist/client/assets/{arc-Bxdinun-.js → arc-BO0sk6BM.js} +1 -1
  3. package/dist/client/assets/{architectureDiagram-3BPJPVTR-D75ngTH0.js → architectureDiagram-3BPJPVTR-BiwrJn01.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-GPEHLZMM-b0hRXjTo.js → blockDiagram-GPEHLZMM-nfqVYcG7.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-AAUBKEIU-BP3yHaZ4.js → c4Diagram-AAUBKEIU-gH-CgRkj.js} +1 -1
  6. package/dist/client/assets/channel-qE_eugFJ.js +1 -0
  7. package/dist/client/assets/{chunk-2J33WTMH-BSnzH03J.js → chunk-2J33WTMH-BSA0QyBP.js} +1 -1
  8. package/dist/client/assets/{chunk-4BX2VUAB-D1getS3X.js → chunk-4BX2VUAB-jiIlm-jU.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-Dr2CwskK.js → chunk-55IACEB6-Cv9U9Ak-.js} +1 -1
  10. package/dist/client/assets/{chunk-727SXJPM-C7_YUe-M.js → chunk-727SXJPM-CpxJ_7Wx.js} +1 -1
  11. package/dist/client/assets/{chunk-AQP2D5EJ-Cs7q0NsF.js → chunk-AQP2D5EJ-BL_hJu_8.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-KFtquRvq.js → chunk-FMBD7UC4-U_iAA2we.js} +1 -1
  13. package/dist/client/assets/{chunk-ND2GUHAM-BuZ0_q1n.js → chunk-ND2GUHAM-CR9rGWpo.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-CXq3kkUn.js → chunk-QZHKN3VN-BoLv45f5.js} +1 -1
  15. package/dist/client/assets/classDiagram-4FO5ZUOK-Br7aWOMi.js +1 -0
  16. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Br7aWOMi.js +1 -0
  17. package/dist/client/assets/{cose-bilkent-S5V4N54A-B2PPRokq.js → cose-bilkent-S5V4N54A-2Q7GC4ZY.js} +1 -1
  18. package/dist/client/assets/{dagre-BM42HDAG-Bdgt43P0.js → dagre-BM42HDAG-DaxrK5DK.js} +1 -1
  19. package/dist/client/assets/{diagram-2AECGRRQ-l7renH-H.js → diagram-2AECGRRQ-0MAYacdt.js} +1 -1
  20. package/dist/client/assets/{diagram-5GNKFQAL-I7lNTczj.js → diagram-5GNKFQAL-DW5UxCeI.js} +1 -1
  21. package/dist/client/assets/{diagram-KO2AKTUF-C8kPNrsA.js → diagram-KO2AKTUF-CU3iBH-g.js} +1 -1
  22. package/dist/client/assets/{diagram-LMA3HP47-pvteu9cM.js → diagram-LMA3HP47-CjGOHwD0.js} +1 -1
  23. package/dist/client/assets/{diagram-OG6HWLK6-DpN6QlJ3.js → diagram-OG6HWLK6-B-wHM_mJ.js} +1 -1
  24. package/dist/client/assets/{erDiagram-TEJ5UH35-Dcelk-6E.js → erDiagram-TEJ5UH35-BkBcMgb_.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-I6XJVG4X-PluLGOsL.js → flowDiagram-I6XJVG4X-BErHv0-i.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-6RSMTGT7-B052JdQf.js → ganttDiagram-6RSMTGT7-DxSH6Hll.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CCFDSwzA.js → gitGraphDiagram-PVQCEYII-BKjk_NzB.js} +1 -1
  28. package/dist/client/assets/{index-DHNmCWEQ.js → index-DHRQmt0z.js} +165 -165
  29. package/dist/client/assets/{infoDiagram-5YYISTIA-D8U6SFWo.js → infoDiagram-5YYISTIA-CPrRPFU2.js} +1 -1
  30. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CgB-TF4r.js → ishikawaDiagram-YF4QCWOH-CI-80hW5.js} +1 -1
  31. package/dist/client/assets/{journeyDiagram-JHISSGLW-CAGmqjlT.js → journeyDiagram-JHISSGLW-ByKj8dRf.js} +1 -1
  32. package/dist/client/assets/{kanban-definition-UN3LZRKU-BDuo7F2D.js → kanban-definition-UN3LZRKU-DLcf7a9N.js} +1 -1
  33. package/dist/client/assets/{linear-Dz4kMSHb.js → linear-DIZ8op5J.js} +1 -1
  34. package/dist/client/assets/{mindmap-definition-RKZ34NQL-Db2Ukjm6.js → mindmap-definition-RKZ34NQL-BsDpFWdh.js} +1 -1
  35. package/dist/client/assets/{mobile-baseline-BuwX04Ww.js → mobile-baseline-jv_SPi-c.js} +1 -1
  36. package/dist/client/assets/{pieDiagram-4H26LBE5-D2-5sOl5.js → pieDiagram-4H26LBE5-C3dEKgHx.js} +1 -1
  37. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CJlGrwhK.js → quadrantDiagram-W4KKPZXB-H5PdDgog.js} +1 -1
  38. package/dist/client/assets/{requirementDiagram-4Y6WPE33-D4h5kgWL.js → requirementDiagram-4Y6WPE33-D3PRRJVb.js} +1 -1
  39. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-dWom-dYP.js → sankeyDiagram-5OEKKPKP-CIxvoToE.js} +1 -1
  40. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C5_GmsPA.js → sequenceDiagram-3UESZ5HK-JOZ0B71g.js} +1 -1
  41. package/dist/client/assets/{stateDiagram-AJRCARHV-CUjApIoO.js → stateDiagram-AJRCARHV-dwx_Dyu7.js} +1 -1
  42. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-g56rq9Om.js +1 -0
  43. package/dist/client/assets/{terminal-instance-BBnsG1mL.js → terminal-instance-TRj_DMCe.js} +1 -1
  44. package/dist/client/assets/{timeline-definition-PNZ67QCA-BF3tbgdG.js → timeline-definition-PNZ67QCA-DnI7kBWN.js} +1 -1
  45. package/dist/client/assets/{vennDiagram-CIIHVFJN-Q4ZHYJTv.js → vennDiagram-CIIHVFJN-Tk8IfETS.js} +1 -1
  46. package/dist/client/assets/{wardley-L42UT6IY-X4BiwCUd.js → wardley-L42UT6IY-F_38sdTm.js} +1 -1
  47. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CjJKT6Dj.js → wardleyDiagram-YWT4CUSO-DCqXhcQP.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-2RQKCTM6-Dl6wiodH.js → xychartDiagram-2RQKCTM6-BGnQjikn.js} +1 -1
  49. package/dist/client/index.html +1 -1
  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 +4 -0
  53. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  54. package/dist/prisma/generated/internal/prismaNamespace.js +4 -0
  55. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  56. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +4 -0
  57. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  58. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +4 -0
  59. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  60. package/dist/prisma/generated/models/PeriodicTask.d.ts +72 -1
  61. package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -1
  62. package/dist/prisma/generated/models/UserSettings.d.ts +57 -1
  63. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  64. package/dist/prisma/generated/models/Workspace.d.ts +64 -1
  65. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  66. package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
  67. package/dist/src/backend/interceptors/pr-detection.interceptor.js +10 -7
  68. package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
  69. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js +88 -0
  70. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js.map +1 -1
  71. package/dist/src/backend/lib/file-lock-mutex.d.ts +5 -1
  72. package/dist/src/backend/lib/file-lock-mutex.d.ts.map +1 -1
  73. package/dist/src/backend/lib/file-lock-mutex.js +125 -10
  74. package/dist/src/backend/lib/file-lock-mutex.js.map +1 -1
  75. package/dist/src/backend/lib/file-lock-mutex.test.js +43 -0
  76. package/dist/src/backend/lib/file-lock-mutex.test.js.map +1 -1
  77. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  78. package/dist/src/backend/orchestration/data-backup.service.js +4 -0
  79. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  80. package/dist/src/backend/orchestration/data-backup.service.test.js +3 -0
  81. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  82. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  83. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +13 -1
  84. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  85. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +133 -5
  86. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  87. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +1 -0
  88. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  89. package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts +6 -0
  90. package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts.map +1 -0
  91. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +262 -0
  92. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js.map +1 -0
  93. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts +1 -0
  94. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  95. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +6 -409
  96. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  97. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  98. package/dist/src/backend/routers/websocket/chat.handler.js +10 -1
  99. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  100. package/dist/src/backend/routers/websocket/chat.handler.test.js +25 -7
  101. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  102. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +1 -1
  103. package/dist/src/backend/routers/websocket/dev-logs.handler.js +11 -1
  104. package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +1 -1
  105. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js +34 -1
  106. package/dist/src/backend/routers/websocket/dev-logs.handler.test.js.map +1 -1
  107. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +1 -1
  108. package/dist/src/backend/routers/websocket/post-run-logs.handler.js +11 -1
  109. package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +1 -1
  110. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js +37 -3
  111. package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js.map +1 -1
  112. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
  113. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +8 -11
  114. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  115. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  116. package/dist/src/backend/routers/websocket/snapshots.handler.js +11 -1
  117. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  118. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +22 -1
  119. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  120. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  121. package/dist/src/backend/routers/websocket/terminal.handler.js +11 -1
  122. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  123. package/dist/src/backend/routers/websocket/terminal.handler.test.js +46 -6
  124. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  125. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +12 -0
  126. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts.map +1 -1
  127. package/dist/src/backend/routers/websocket/upgrade-utils.js +15 -0
  128. package/dist/src/backend/routers/websocket/upgrade-utils.js.map +1 -1
  129. package/dist/src/backend/routers/websocket/upgrade-utils.test.d.ts +2 -0
  130. package/dist/src/backend/routers/websocket/upgrade-utils.test.d.ts.map +1 -0
  131. package/dist/src/backend/routers/websocket/upgrade-utils.test.js +59 -0
  132. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -0
  133. package/dist/src/backend/routers/websocket/websocket.integration.test.js +91 -7
  134. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  135. package/dist/src/backend/services/auto-iteration/service/auto-iteration-loop-state.d.ts +16 -0
  136. package/dist/src/backend/services/auto-iteration/service/auto-iteration-loop-state.d.ts.map +1 -0
  137. package/dist/src/backend/services/auto-iteration/service/auto-iteration-loop-state.js +45 -0
  138. package/dist/src/backend/services/auto-iteration/service/auto-iteration-loop-state.js.map +1 -0
  139. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  140. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +25 -50
  141. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  142. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.d.ts +2 -0
  143. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.d.ts.map +1 -0
  144. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +114 -0
  145. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -0
  146. package/dist/src/backend/services/check-single-writer.test.js +33 -8
  147. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  148. package/dist/src/backend/services/env-schemas.d.ts +10 -10
  149. package/dist/src/backend/services/env-schemas.js +10 -10
  150. package/dist/src/backend/services/env-schemas.js.map +1 -1
  151. package/dist/src/backend/services/env-schemas.test.d.ts +2 -0
  152. package/dist/src/backend/services/env-schemas.test.d.ts.map +1 -0
  153. package/dist/src/backend/services/env-schemas.test.js +31 -0
  154. package/dist/src/backend/services/env-schemas.test.js.map +1 -0
  155. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +2 -2
  156. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -1
  157. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +115 -50
  158. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  159. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.d.ts +2 -0
  160. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.d.ts.map +1 -0
  161. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js +150 -0
  162. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js.map +1 -0
  163. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +5 -1
  164. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
  165. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +20 -4
  166. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
  167. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.d.ts +2 -0
  168. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.d.ts.map +1 -0
  169. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js +144 -0
  170. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -0
  171. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +64 -0
  172. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts.map +1 -0
  173. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +76 -0
  174. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js.map +1 -0
  175. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts +9 -0
  176. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +1 -0
  177. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js +36 -0
  178. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +1 -0
  179. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.d.ts +2 -0
  180. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.d.ts.map +1 -0
  181. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js +25 -0
  182. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js.map +1 -0
  183. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +42 -9
  184. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  185. package/dist/src/backend/services/ratchet/service/ratchet.service.js +38 -105
  186. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  187. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +45 -0
  188. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  189. package/dist/src/backend/services/ratchet/service/reconciliation.service.d.ts +3 -2
  190. package/dist/src/backend/services/ratchet/service/reconciliation.service.d.ts.map +1 -1
  191. package/dist/src/backend/services/ratchet/service/reconciliation.service.js +51 -18
  192. package/dist/src/backend/services/ratchet/service/reconciliation.service.js.map +1 -1
  193. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.js +94 -16
  194. package/dist/src/backend/services/ratchet/service/reconciliation.service.test.js.map +1 -1
  195. package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts +19 -0
  196. package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts.map +1 -0
  197. package/dist/src/backend/services/run-script/service/run-script-process-utils.js +105 -0
  198. package/dist/src/backend/services/run-script/service/run-script-process-utils.js.map +1 -0
  199. package/dist/src/backend/services/run-script/service/run-script.service.d.ts +1 -2
  200. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  201. package/dist/src/backend/services/run-script/service/run-script.service.js +26 -131
  202. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  203. package/dist/src/backend/services/run-script/service/run-script.service.test.js +23 -4
  204. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  205. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  206. package/dist/src/backend/services/run-script/service/startup-script.service.js +32 -7
  207. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  208. package/dist/src/backend/services/run-script/service/startup-script.service.test.js +9 -0
  209. package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
  210. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +11 -0
  211. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  212. package/dist/src/backend/services/session/resources/agent-session.accessor.js +54 -22
  213. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  214. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +56 -0
  215. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  216. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +1 -0
  217. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  218. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +10 -148
  219. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  220. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +50 -1
  221. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  222. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.d.ts +16 -0
  223. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.d.ts.map +1 -0
  224. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js +153 -0
  225. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js.map +1 -0
  226. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts +10 -0
  227. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts.map +1 -0
  228. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js +162 -0
  229. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js.map +1 -0
  230. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +4 -7
  231. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  232. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +78 -365
  233. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  234. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +35 -1
  235. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  236. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/plan-approval-handler.d.ts +23 -0
  237. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/plan-approval-handler.d.ts.map +1 -0
  238. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/plan-approval-handler.js +191 -0
  239. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/plan-approval-handler.js.map +1 -0
  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 +22 -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 +48 -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 +9 -3
  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 +9 -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/handlers/queue-message.handler.d.ts.map +1 -1
  253. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +4 -0
  254. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js.map +1 -1
  255. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +16 -5
  256. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  257. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +1 -1
  258. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  259. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +2 -2
  260. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  261. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +57 -0
  262. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  263. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +3 -3
  264. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js.map +1 -1
  265. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js +35 -0
  266. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.test.js.map +1 -1
  267. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +11 -0
  268. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  269. package/dist/src/backend/services/session/service/data/session-data.service.js +3 -0
  270. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  271. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +2 -0
  272. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  273. package/dist/src/backend/services/session/service/index.d.ts +1 -1
  274. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  275. package/dist/src/backend/services/session/service/index.js +1 -1
  276. package/dist/src/backend/services/session/service/index.js.map +1 -1
  277. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.d.ts +19 -0
  278. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.d.ts.map +1 -0
  279. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js +199 -0
  280. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js.map +1 -0
  281. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts +5 -0
  282. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts.map +1 -0
  283. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.js +37 -0
  284. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.js.map +1 -0
  285. package/dist/src/backend/services/session/service/lifecycle/session-runtime-state.helpers.d.ts +3 -0
  286. package/dist/src/backend/services/session/service/lifecycle/session-runtime-state.helpers.d.ts.map +1 -0
  287. package/dist/src/backend/services/session/service/lifecycle/session-runtime-state.helpers.js +12 -0
  288. package/dist/src/backend/services/session/service/lifecycle/session-runtime-state.helpers.js.map +1 -0
  289. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +4 -13
  290. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  291. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +94 -210
  292. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  293. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +32 -6
  294. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  295. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +0 -1
  296. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  297. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +9 -48
  298. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  299. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  300. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +4 -0
  301. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  302. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +34 -0
  303. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  304. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +6 -2
  305. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  306. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
  307. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  308. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
  309. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  310. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +1 -1
  311. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  312. package/dist/src/backend/services/session/service/lifecycle/session.service.js +2 -2
  313. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  314. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +112 -5
  315. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  316. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +2 -0
  317. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  318. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +18 -0
  319. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  320. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +2 -0
  321. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  322. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +15 -0
  323. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  324. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +5 -0
  325. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  326. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
  327. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  328. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  329. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +3 -0
  330. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  331. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
  332. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  333. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts +2 -0
  334. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts.map +1 -1
  335. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.js.map +1 -1
  336. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +2 -0
  337. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  338. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.d.ts +2 -0
  339. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.d.ts.map +1 -0
  340. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js +48 -0
  341. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js.map +1 -0
  342. package/dist/src/backend/testing/websocket-test-utils.d.ts +2 -2
  343. package/dist/src/backend/testing/websocket-test-utils.d.ts.map +1 -1
  344. package/dist/src/backend/testing/websocket-test-utils.js +2 -2
  345. package/dist/src/backend/testing/websocket-test-utils.js.map +1 -1
  346. package/dist/src/backend/trpc/admin.trpc.d.ts +4 -0
  347. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  348. package/dist/src/backend/trpc/github.router.test.js +31 -0
  349. package/dist/src/backend/trpc/github.router.test.js.map +1 -1
  350. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  351. package/dist/src/backend/trpc/github.trpc.js +12 -4
  352. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  353. package/dist/src/backend/trpc/index.d.ts +95 -0
  354. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  355. package/dist/src/backend/trpc/issue-filter.d.ts +7 -0
  356. package/dist/src/backend/trpc/issue-filter.d.ts.map +1 -0
  357. package/dist/src/backend/trpc/issue-filter.js +19 -0
  358. package/dist/src/backend/trpc/issue-filter.js.map +1 -0
  359. package/dist/src/backend/trpc/linear.router.test.js +35 -0
  360. package/dist/src/backend/trpc/linear.router.test.js.map +1 -1
  361. package/dist/src/backend/trpc/linear.trpc.d.ts.map +1 -1
  362. package/dist/src/backend/trpc/linear.trpc.js +10 -3
  363. package/dist/src/backend/trpc/linear.trpc.js.map +1 -1
  364. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +5 -0
  365. package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -1
  366. package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
  367. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  368. package/dist/src/backend/trpc/session.router.test.js +96 -8
  369. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  370. package/dist/src/backend/trpc/session.trpc.d.ts +34 -1
  371. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  372. package/dist/src/backend/trpc/session.trpc.js +70 -37
  373. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  374. package/dist/src/backend/trpc/user-settings.router.test.js +89 -0
  375. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  376. package/dist/src/backend/trpc/user-settings.trpc.d.ts +32 -0
  377. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  378. package/dist/src/backend/trpc/user-settings.trpc.js +81 -0
  379. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  380. package/dist/src/backend/trpc/workspace/init.router.test.js +10 -0
  381. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  382. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
  383. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  384. package/dist/src/backend/trpc/workspace/init.trpc.js +2 -1
  385. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  386. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
  387. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  388. package/dist/src/backend/trpc/workspace.trpc.d.ts +12 -0
  389. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  390. package/dist/src/cli/index.js +1 -9
  391. package/dist/src/cli/index.js.map +1 -1
  392. package/dist/src/cli/serve-env.d.ts +6 -0
  393. package/dist/src/cli/serve-env.d.ts.map +1 -0
  394. package/dist/src/cli/serve-env.js +11 -0
  395. package/dist/src/cli/serve-env.js.map +1 -0
  396. package/dist/src/cli/serve-env.test.d.ts +2 -0
  397. package/dist/src/cli/serve-env.test.d.ts.map +1 -0
  398. package/dist/src/cli/serve-env.test.js +23 -0
  399. package/dist/src/cli/serve-env.test.js.map +1 -0
  400. package/dist/src/shared/schemas/export-data.schema.d.ts +4 -0
  401. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  402. package/dist/src/shared/schemas/export-data.schema.js +2 -0
  403. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  404. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  405. package/package.json +7 -4
  406. package/prisma/migrations/20260520120000_add_periodic_task_scheduled_day_of_month/migration.sql +10 -0
  407. package/prisma/migrations/20260529123138_add_workspace_init_script_pid/migration.sql +2 -0
  408. package/prisma/migrations/20260529140000_add_default_provider_effort_settings/migration.sql +2 -0
  409. package/prisma/schema.prisma +4 -0
  410. package/dist/client/assets/channel-B100hIJ8.js +0 -1
  411. package/dist/client/assets/classDiagram-4FO5ZUOK-DK3mo2gW.js +0 -1
  412. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DK3mo2gW.js +0 -1
  413. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DxhGA2OY.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pr-detection.interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAiC,eAAe,EAAE,MAAM,SAAS,CAAC;AAuI9E,eAAO,MAAM,sBAAsB,EAAE,eAiEpC,CAAC"}
1
+ {"version":3,"file":"pr-detection.interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAiC,eAAe,EAAE,MAAM,SAAS,CAAC;AA4I9E,eAAO,MAAM,sBAAsB,EAAE,eAiEpC,CAAC"}
@@ -6,6 +6,7 @@ const GH_PR_CREATE_REGEX = /\bgh\s+pr\s+create\b/;
6
6
  const GITHUB_PR_URL_REGEX = /https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/\d+/;
7
7
  const GITHUB_CREATE_PULL_REQUEST_TOOL = 'github_create_pull_request';
8
8
  const CREATE_PULL_REQUEST_TOOL = 'create_pull_request';
9
+ const OFFICIAL_GITHUB_MCP_SERVERS = new Set(['github', 'codex_apps']);
9
10
  function isRecord(value) {
10
11
  return typeof value === 'object' && value !== null && !Array.isArray(value);
11
12
  }
@@ -27,9 +28,6 @@ function extractCommand(event) {
27
28
  }
28
29
  return directCommand ?? cmd ?? title;
29
30
  }
30
- function normalizeToolName(value) {
31
- return value.toLowerCase().replace(/[^a-z0-9]+/g, '');
32
- }
33
31
  function extractMcpToolNameFromDisplayName(toolName) {
34
32
  const slashIndex = toolName.lastIndexOf('/');
35
33
  if (slashIndex === -1 || slashIndex === toolName.length - 1) {
@@ -48,13 +46,18 @@ function extractMcpServerNameFromDisplayName(toolName) {
48
46
  }
49
47
  return toolName.slice(prefix.length, slashIndex);
50
48
  }
49
+ function isOfficialGithubMcpServer(serverName) {
50
+ return OFFICIAL_GITHUB_MCP_SERVERS.has(serverName.toLowerCase());
51
+ }
51
52
  function isGithubCreatePullRequestTool(event) {
52
53
  const inputTool = extractInputValue(event.input, 'tool', isString, event.toolName, logger);
53
54
  if (inputTool === GITHUB_CREATE_PULL_REQUEST_TOOL) {
54
55
  return true;
55
56
  }
56
57
  const inputServer = extractInputValue(event.input, 'server', isString, event.toolName, logger);
57
- if (inputTool === CREATE_PULL_REQUEST_TOOL && inputServer?.toLowerCase().includes('github')) {
58
+ if (inputTool === CREATE_PULL_REQUEST_TOOL &&
59
+ inputServer &&
60
+ isOfficialGithubMcpServer(inputServer)) {
58
61
  return true;
59
62
  }
60
63
  const displayToolName = extractMcpToolNameFromDisplayName(event.toolName) ?? event.toolName;
@@ -63,11 +66,11 @@ function isGithubCreatePullRequestTool(event) {
63
66
  }
64
67
  const displayServerName = extractMcpServerNameFromDisplayName(event.toolName);
65
68
  if (displayToolName === CREATE_PULL_REQUEST_TOOL &&
66
- displayServerName?.toLowerCase().includes('github')) {
69
+ displayServerName &&
70
+ isOfficialGithubMcpServer(displayServerName)) {
67
71
  return true;
68
72
  }
69
- const normalizedToolName = normalizeToolName(event.toolName);
70
- return normalizedToolName.endsWith(normalizeToolName(GITHUB_CREATE_PULL_REQUEST_TOOL));
73
+ return false;
71
74
  }
72
75
  function extractPrUrlFromEvent(event) {
73
76
  const candidates = [];
@@ -1 +1 @@
1
- {"version":3,"file":"pr-detection.interceptor.js","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-detection.interceptor.js","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.ts"],"names":[],"mappings":"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"}
@@ -141,6 +141,94 @@ describe('prDetectionInterceptor', () => {
141
141
  await prDetectionInterceptor.onToolComplete(event, context);
142
142
  expect(mockAttachAndRefreshPR).toHaveBeenCalledWith('workspace-1', 'https://github.com/purplefish-ai/factory-factory/pull/1582');
143
143
  });
144
+ it('detects PR URL from codex_apps MCP create_pull_request display tool names', async () => {
145
+ const event = createEvent({
146
+ toolName: 'mcpToolCall:codex_apps/create_pull_request',
147
+ input: {},
148
+ output: {
149
+ content: JSON.stringify({
150
+ structuredContent: {
151
+ url: 'https://github.com/purplefish-ai/factory-factory/pull/1584',
152
+ },
153
+ }),
154
+ isError: false,
155
+ },
156
+ });
157
+ await prDetectionInterceptor.onToolComplete(event, context);
158
+ expect(mockAttachAndRefreshPR).toHaveBeenCalledWith('workspace-1', 'https://github.com/purplefish-ai/factory-factory/pull/1584');
159
+ });
160
+ it('detects PR URL from codex_apps MCP create_pull_request input fields', async () => {
161
+ const event = createEvent({
162
+ toolName: 'mcpToolCall',
163
+ input: {
164
+ type: 'mcpToolCall',
165
+ server: 'codex_apps',
166
+ tool: 'create_pull_request',
167
+ },
168
+ output: {
169
+ content: JSON.stringify({
170
+ structuredContent: {
171
+ url: 'https://github.com/purplefish-ai/factory-factory/pull/1585',
172
+ },
173
+ }),
174
+ isError: false,
175
+ },
176
+ });
177
+ await prDetectionInterceptor.onToolComplete(event, context);
178
+ expect(mockAttachAndRefreshPR).toHaveBeenCalledWith('workspace-1', 'https://github.com/purplefish-ai/factory-factory/pull/1585');
179
+ });
180
+ it('does not detect create_pull_request from custom servers containing github', async () => {
181
+ const event = createEvent({
182
+ toolName: 'mcpToolCall:company_github/create_pull_request',
183
+ input: {
184
+ type: 'mcpToolCall',
185
+ server: 'company_github',
186
+ tool: 'create_pull_request',
187
+ },
188
+ output: {
189
+ content: JSON.stringify({
190
+ structuredContent: {
191
+ url: 'https://github.com/purplefish-ai/factory-factory/pull/1586',
192
+ },
193
+ }),
194
+ isError: false,
195
+ },
196
+ });
197
+ await prDetectionInterceptor.onToolComplete(event, context);
198
+ expect(mockAttachAndRefreshPR).not.toHaveBeenCalled();
199
+ });
200
+ it('does not detect create_pull_request from display servers containing github', async () => {
201
+ const event = createEvent({
202
+ toolName: 'mcpToolCall:x_github/create_pull_request',
203
+ input: {},
204
+ output: {
205
+ content: JSON.stringify({
206
+ structuredContent: {
207
+ url: 'https://github.com/purplefish-ai/factory-factory/pull/1587',
208
+ },
209
+ }),
210
+ isError: false,
211
+ },
212
+ });
213
+ await prDetectionInterceptor.onToolComplete(event, context);
214
+ expect(mockAttachAndRefreshPR).not.toHaveBeenCalled();
215
+ });
216
+ it('does not detect unrelated tool names ending in github_create_pull_request', async () => {
217
+ const event = createEvent({
218
+ toolName: 'company_github_create_pull_request',
219
+ input: {},
220
+ output: {
221
+ content: JSON.stringify({
222
+ structuredContent: {
223
+ url: 'https://github.com/purplefish-ai/factory-factory/pull/1588',
224
+ },
225
+ }),
226
+ isError: false,
227
+ },
228
+ });
229
+ await prDetectionInterceptor.onToolComplete(event, context);
230
+ expect(mockAttachAndRefreshPR).not.toHaveBeenCalled();
231
+ });
144
232
  it('detects PR URL when command is provided as cmd', async () => {
145
233
  const event = createEvent({
146
234
  toolName: 'exec_command',
@@ -1 +1 @@
1
- {"version":3,"file":"pr-detection.interceptor.test.js","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-detection.interceptor.test.js","sourceRoot":"","sources":["../../../../src/backend/interceptors/pr-detection.interceptor.test.ts"],"names":[],"mappings":"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"}
@@ -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,10 @@ 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;
26
30
  private unlinkStaleLock;
27
31
  private sleep;
28
32
  }
@@ -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":"AAwBA,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;YA+BlB,UAAU;YAaV,uBAAuB;IAqErC,OAAO,CAAC,oBAAoB;YAMd,kBAAkB;YAwClB,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') {
@@ -197,15 +223,16 @@ export class FileLockMutex {
197
223
  try {
198
224
  const stats = await fs.stat(lockPath);
199
225
  const lockAge = Date.now() - stats.mtimeMs;
226
+ const expectedLockId = await this.readLockId(lockPath);
200
227
  if (lockAge < this.options.staleThresholdMs) {
201
228
  return false;
202
229
  }
203
230
  logger.warn('Attempting to remove stale lock file', {
204
231
  lockPath,
205
232
  lockAgeMs: lockAge,
206
- inode: stats.ino,
233
+ lockId: expectedLockId,
207
234
  });
208
- return await this.verifyAndUnlinkStaleLock(lockPath, stats.ino);
235
+ return await this.claimAndRemoveStaleLock(lockPath, expectedLockId);
209
236
  }
210
237
  catch (error) {
211
238
  const code = error?.code;
@@ -219,31 +246,119 @@ export class FileLockMutex {
219
246
  return false;
220
247
  }
221
248
  }
222
- async verifyAndUnlinkStaleLock(lockPath, expectedIno) {
249
+ async readLockId(lockPath) {
250
+ try {
251
+ const contents = await fs.readFile(lockPath, 'utf-8');
252
+ const metadata = JSON.parse(contents);
253
+ if (typeof metadata !== 'object' || metadata === null || !('lockId' in metadata)) {
254
+ return undefined;
255
+ }
256
+ return typeof metadata.lockId === 'string' ? metadata.lockId : undefined;
257
+ }
258
+ catch {
259
+ return undefined;
260
+ }
261
+ }
262
+ async claimAndRemoveStaleLock(lockPath, expectedLockId) {
263
+ const claimedPath = this.createStaleClaimPath(lockPath);
264
+ try {
265
+ await fs.rename(lockPath, claimedPath);
266
+ }
267
+ catch (error) {
268
+ const code = error?.code;
269
+ if (code === 'ENOENT') {
270
+ return true;
271
+ }
272
+ logger.warn('Failed to claim stale lock file', {
273
+ lockPath,
274
+ claimedPath,
275
+ error: error instanceof Error ? error.message : String(error),
276
+ code,
277
+ });
278
+ return false;
279
+ }
223
280
  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)', {
281
+ const claimedStats = await fs.stat(claimedPath);
282
+ const claimedLockId = await this.readLockId(claimedPath);
283
+ const lockIdentityChanged = expectedLockId !== claimedLockId &&
284
+ (expectedLockId !== undefined || claimedLockId !== undefined);
285
+ if (lockIdentityChanged) {
286
+ logger.debug('Claimed lock identity changed, restoring lock file', {
287
+ lockPath,
288
+ expectedLockId,
289
+ claimedLockId,
290
+ });
291
+ await this.restoreClaimedLock(lockPath, claimedPath);
292
+ return false;
293
+ }
294
+ const claimedLockAge = Date.now() - claimedStats.mtimeMs;
295
+ if (claimedLockAge < this.options.staleThresholdMs) {
296
+ logger.debug('Claimed lock is no longer stale, restoring lock file', {
227
297
  lockPath,
228
- originalIno: expectedIno,
229
- currentIno: verifyStats.ino,
298
+ claimedPath,
299
+ lockAgeMs: claimedLockAge,
230
300
  });
301
+ await this.restoreClaimedLock(lockPath, claimedPath);
231
302
  return false;
232
303
  }
233
- return await this.unlinkStaleLock(lockPath);
304
+ return await this.unlinkStaleLock(claimedPath);
234
305
  }
235
306
  catch (error) {
236
307
  const code = error?.code;
237
308
  if (code === 'ENOENT') {
238
309
  return true;
239
310
  }
240
- logger.warn('Failed to verify lock file before removal', {
311
+ logger.warn('Failed to verify claimed stale lock before removal', {
241
312
  lockPath,
313
+ claimedPath,
242
314
  error: error instanceof Error ? error.message : String(error),
243
315
  });
316
+ await this.restoreClaimedLock(lockPath, claimedPath);
244
317
  return false;
245
318
  }
246
319
  }
320
+ createStaleClaimPath(lockPath) {
321
+ const directory = path.dirname(lockPath);
322
+ const basename = path.basename(lockPath);
323
+ return path.join(directory, `.${basename}.stale-${process.pid}-${Date.now()}-${randomUUID()}`);
324
+ }
325
+ async restoreClaimedLock(lockPath, claimedPath) {
326
+ try {
327
+ await fs.link(claimedPath, lockPath);
328
+ await fs.unlink(claimedPath);
329
+ }
330
+ catch (error) {
331
+ const code = error?.code;
332
+ if (code === 'ENOENT') {
333
+ return;
334
+ }
335
+ if (code === 'EEXIST') {
336
+ logger.debug('Lock path already exists while restoring claimed lock', {
337
+ lockPath,
338
+ claimedPath,
339
+ });
340
+ await fs.unlink(claimedPath).catch((unlinkError) => {
341
+ const unlinkCode = unlinkError?.code;
342
+ if (unlinkCode === 'ENOENT') {
343
+ return;
344
+ }
345
+ logger.warn('Failed to clean up claimed lock after restore conflict', {
346
+ lockPath,
347
+ claimedPath,
348
+ error: unlinkError instanceof Error ? unlinkError.message : String(unlinkError),
349
+ code: unlinkCode,
350
+ });
351
+ });
352
+ return;
353
+ }
354
+ logger.warn('Failed to restore claimed lock file', {
355
+ lockPath,
356
+ claimedPath,
357
+ error: error instanceof Error ? error.message : String(error),
358
+ code,
359
+ });
360
+ }
361
+ }
247
362
  async unlinkStaleLock(lockPath) {
248
363
  try {
249
364
  await fs.unlink(lockPath);
@@ -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,41 @@ 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
+ });
127
170
  it('does not treat an active lock as stale while heartbeat is updating mtime', async () => {
128
171
  const baseDir = await fs.mkdtemp(path.join(os.tmpdir(), 'ff-lock-mutex-'));
129
172
  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":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExE,KAAK,UAAU,MAAM,CAAC,UAAkB;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,gBAAgB,EAAE,EAAE;YACpB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,GAAG;YACtB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,MAAM;SACzB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;YAClC,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,GAAG;YACtB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,UAAU,CAAC,GAAG,EAAE;gBACd,KAAK,aAAa,EAAE,CAAC;YACvB,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,gBAAgB,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,mBAAmB,EAAE,GAAG;SACzB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;YAClC,gBAAgB,EAAE,GAAG;YACrB,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YACvF,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;YAClC,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YACvF,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;YAClC,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,EAAE;YACrB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YACvF,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE9C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAErD,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
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 +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"}
@@ -222,6 +222,8 @@ async function importUserSettings(settings, tx) {
222
222
  defaultSessionProvider: settings.defaultSessionProvider,
223
223
  defaultClaudeModel: settings.defaultClaudeModel,
224
224
  defaultCodexModel: settings.defaultCodexModel,
225
+ defaultClaudeReasoningEffort: settings.defaultClaudeReasoningEffort,
226
+ defaultCodexReasoningEffort: settings.defaultCodexReasoningEffort,
225
227
  defaultWorkspacePermissions: settings.defaultWorkspacePermissions,
226
228
  ratchetPermissions: settings.ratchetPermissions,
227
229
  },
@@ -344,6 +346,8 @@ class DataBackupService {
344
346
  defaultSessionProvider: userSettings.defaultSessionProvider,
345
347
  defaultClaudeModel: userSettings.defaultClaudeModel,
346
348
  defaultCodexModel: userSettings.defaultCodexModel,
349
+ defaultClaudeReasoningEffort: userSettings.defaultClaudeReasoningEffort,
350
+ defaultCodexReasoningEffort: userSettings.defaultCodexReasoningEffort,
347
351
  defaultWorkspacePermissions: userSettings.defaultWorkspacePermissions,
348
352
  ratchetPermissions: userSettings.ratchetPermissions,
349
353
  }