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,10 +1,9 @@
1
- import { FACTORY_SIGNATURE } from '../../backend/lib/constants.js';
2
1
  import { toError } from '../../backend/lib/error-utils.js';
3
2
  import { autoIterationService } from '../../backend/services/auto-iteration/index.js';
4
3
  import { FactoryConfigService } from '../../backend/services/factory-config.service.js';
5
4
  import { gitOpsService } from '../../backend/services/git-ops.service.js';
6
5
  import { githubCLIService } from '../../backend/services/github/index.js';
7
- import { linearClientService, linearStateSyncService } from '../../backend/services/linear/index.js';
6
+ import { linearStateSyncService } from '../../backend/services/linear/index.js';
8
7
  import { createLogger } from '../../backend/services/logger.service.js';
9
8
  import { runScriptConfigPersistenceService } from '../../backend/services/run-script-config-persistence.service.js';
10
9
  import { agentSessionAccessor, chatMessageHandlerService, sessionDataService, sessionDomainService, sessionService, } from '../../backend/services/session/index.js';
@@ -14,8 +13,9 @@ import { MessageState, resolveSelectedModel } from '../../shared/acp-protocol/in
14
13
  import { SessionStatus, WorkspaceMode } from '../../shared/core/index.js';
15
14
  import { autoIterationConfigSchema } from '../../shared/schemas/auto-iteration.schema.js';
16
15
  import { AttachmentSchema } from '../../shared/websocket/index.js';
17
- import { getDecryptedLinearConfig, getWorkspaceLinearContext } from './linear-config.helper.js';
16
+ import { getWorkspaceLinearContext } from './linear-config.helper.js';
18
17
  import { GitHubUsernameCache } from './workspace-init-github-username-cache.js';
18
+ import { buildInitialPromptFromGitHubIssue, buildInitialPromptFromLinearIssue, } from './workspace-init-issue-prompts.js';
19
19
  import { executeStartupScriptPipeline } from './workspace-init-script-pipeline.js';
20
20
  const logger = createLogger('workspace-init-orchestrator');
21
21
  const initialAttachmentsSchema = AttachmentSchema.array();
@@ -136,409 +136,6 @@ async function cleanupUnregisteredWorktreeAfterInitFailure(workspaceId, candidat
136
136
  });
137
137
  }
138
138
  }
139
- async function buildInitialPromptFromGitHubIssue(workspaceId) {
140
- try {
141
- const workspace = await workspaceAccessor.findByIdWithProject(workspaceId);
142
- if (!workspace?.githubIssueNumber) {
143
- return '';
144
- }
145
- const project = workspace.project;
146
- if (!(project?.githubOwner && project?.githubRepo)) {
147
- return '';
148
- }
149
- const issue = await githubCLIService.getIssue(project.githubOwner, project.githubRepo, workspace.githubIssueNumber);
150
- if (!issue) {
151
- logger.warn('Failed to fetch GitHub issue for initial prompt', {
152
- workspaceId,
153
- issueNumber: workspace.githubIssueNumber,
154
- });
155
- return '';
156
- }
157
- logger.info('Built initial prompt from GitHub issue', {
158
- workspaceId,
159
- issueNumber: issue.number,
160
- issueTitle: issue.title,
161
- });
162
- return `# GitHub Issue #${issue.number}: ${issue.title}
163
-
164
- ${issue.body || '(No description provided)'}
165
-
166
- **Issue URL**: ${issue.url}
167
-
168
- ---
169
-
170
- ## Your Task
171
-
172
- Implement this issue following the 5-phase workflow below. Work autonomously—only ask questions if requirements are contradictory or fundamentally unclear.
173
-
174
- **Protect your context by delegating to specialized agents:**
175
- - Exploring unfamiliar code or architecture? Use: "Please use the Explore agent to understand [specific area]"
176
- - Significant changes to review/simplify? Use: "Please use the code-simplifier agent to review recent changes"
177
- - Targeted searches only? Use Grep/Glob directly
178
-
179
- ---
180
-
181
- ## Phase 1: Planning
182
-
183
- 1. **Understand requirements and find relevant code**
184
- - Read issue description and any linked resources
185
- - Search for affected files (delegate to Explore agent for broad architecture questions)
186
- - Identify which files need changes
187
-
188
- 2. **Create task list with TodoWrite**
189
- Create specific tasks for:
190
- - Code changes (which files and what changes?)
191
- - Tests to add (which test files?)
192
- - Verification commands (typecheck, test, build)
193
- - PR creation
194
-
195
- Update status as you work: pending → in_progress → completed
196
-
197
- 3. **Identify edge cases**
198
- - What could go wrong?
199
- - What scenarios need tests?
200
- - What existing patterns should you follow?
201
-
202
- ## Phase 2: Implementation
203
-
204
- 1. **Work through your TodoWrite tasks systematically**
205
- - Follow existing code patterns and conventions
206
- - Add type definitions and error handling
207
- - Keep commits atomic and focused
208
- - Update TodoWrite as you discover additional work
209
-
210
- 2. **Write tests**
211
- - Test new functionality and edge cases
212
- - Follow existing test patterns in the codebase
213
- - Ensure tests are focused and maintainable
214
-
215
- 3. **Commit frequently**
216
- - Atomic commits as you complete logical units
217
- - Follow project style: short, imperative, descriptive (<72 chars)
218
- - Reference issue number when relevant
219
- - Example: "Add session error handling (#${issue.number})"
220
-
221
- ## Phase 3: Verification
222
-
223
- Run all verification checks:
224
-
225
- \`\`\`bash
226
- pnpm typecheck && pnpm check:fix && pnpm test && pnpm build
227
- \`\`\`
228
-
229
- Fix any failures:
230
- - **Type errors**: Resolve without type casts when possible
231
- - **Lint errors**: Review \`pnpm check:fix\` changes
232
- - **Test failures**: Debug and fix before proceeding
233
- - **Build failures**: Check for syntax errors or missing dependencies
234
-
235
- Update TodoWrite with any additional fix tasks discovered.
236
-
237
- ## Phase 4: Final Review
238
-
239
- 1. **Review your changes**
240
- \`\`\`bash
241
- git diff origin/main
242
- \`\`\`
243
-
244
- Look for:
245
- - Debug logs or commented code to remove
246
- - Unclear variable names to improve
247
- - Unnecessary complexity to simplify
248
-
249
- 2. **Optional: Delegate to code-simplifier for large changes**
250
- If you've changed many files (8+) or added complex logic:
251
- - Use: "Please use the code-simplifier agent to review recent changes"
252
- - Re-run tests after any changes: \`pnpm test\`
253
-
254
- 3. **Ensure everything is committed**
255
- \`\`\`bash
256
- git status # should show clean working directory
257
- \`\`\`
258
-
259
- ## Phase 4.5: Capture UI Screenshots (if applicable)
260
-
261
- If your changes affect the UI:
262
-
263
- 1. Read \`factory-factory.json\` for the \`scripts.run\` command, pick a free port, replace \`{port}\`, and start it in the background.
264
- 2. Use \`browser_navigate\` to visit the dev server URL
265
- 3. Determine the most relevant screen showing your changes and capture a screenshot
266
- 4. Save screenshots:
267
- \`\`\`bash
268
- mkdir -p .factory-factory/screenshots
269
- \`\`\`
270
- Save with descriptive names (e.g., \`dashboard-new-widget.png\`)
271
- 5. Commit the screenshots with your changes
272
- 6. Reference them in the PR body using raw GitHub URLs:
273
- \`![Description](https://raw.githubusercontent.com/${project.githubOwner}/${project.githubRepo}/\${branch}/.factory-factory/screenshots/filename.png)\`
274
-
275
- ## Phase 5: Create Pull Request [REQUIRED - DO NOT SKIP]
276
-
277
- **Pre-flight checklist before creating PR:**
278
- - [ ] All TodoWrite tasks marked completed
279
- - [ ] \`pnpm test\` passes
280
- - [ ] \`pnpm typecheck\` passes
281
- - [ ] \`pnpm build\` succeeds
282
- - [ ] Working directory clean (\`git status\`)
283
- - [ ] All commits have descriptive messages
284
-
285
- **Now create the PR:**
286
-
287
- 1. **Push your branch:**
288
- \`\`\`bash
289
- git push -u origin HEAD
290
- \`\`\`
291
-
292
- 2. **Write PR body to /tmp/pr-body.md:**
293
- \`\`\`markdown
294
- ## Summary
295
- [1-3 bullets describing what this PR accomplishes]
296
-
297
- ## Changes
298
- - **[Component/Area]**: [What changed and why]
299
- - [Add more lines as needed]
300
-
301
- ## Testing
302
- - [x] Tests pass (\`pnpm test\`)
303
- - [x] Types pass (\`pnpm typecheck\`)
304
- - [x] Build succeeds (\`pnpm build\`)
305
- - [ ] Manual testing: [How to verify this change works]
306
-
307
- Closes #${issue.number}
308
- \`\`\`
309
-
310
- 3. **IMPORTANT**: Always append the following signature as the very last lines of the PR body, after a horizontal rule:
311
- \`\`\`
312
- ---
313
- ${FACTORY_SIGNATURE}
314
- \`\`\`
315
-
316
- 4. **Create the PR:**
317
- \`\`\`bash
318
- gh pr create --title "Fix #${issue.number}: [concise description]" --body-file /tmp/pr-body.md
319
- \`\`\`
320
-
321
- 4. **Verify PR created successfully:**
322
- \`\`\`bash
323
- gh pr view --web
324
- \`\`\`
325
-
326
- ---
327
-
328
- **You have completed this issue successfully when the PR is created and the URL is shown above.**
329
-
330
- Start with Phase 1: Planning.`;
331
- }
332
- catch (error) {
333
- logger.warn('Error building initial prompt from GitHub issue', {
334
- workspaceId,
335
- error: error instanceof Error ? error.message : String(error),
336
- });
337
- return '';
338
- }
339
- }
340
- async function buildInitialPromptFromLinearIssue(workspaceId) {
341
- try {
342
- const workspace = await workspaceAccessor.findByIdWithProject(workspaceId);
343
- if (!workspace?.linearIssueId) {
344
- return '';
345
- }
346
- const project = workspace.project;
347
- const linearConfig = getDecryptedLinearConfig(project.issueTrackerConfig);
348
- if (!linearConfig) {
349
- return '';
350
- }
351
- const issue = await linearClientService.getIssue(linearConfig.apiKey, workspace.linearIssueId);
352
- if (!issue) {
353
- logger.warn('Failed to fetch Linear issue for initial prompt', {
354
- workspaceId,
355
- linearIssueId: workspace.linearIssueId,
356
- });
357
- return '';
358
- }
359
- logger.info('Built initial prompt from Linear issue', {
360
- workspaceId,
361
- issueIdentifier: issue.identifier,
362
- issueTitle: issue.title,
363
- });
364
- return `# Linear Issue ${issue.identifier}: ${issue.title}
365
-
366
- ${issue.description || '(No description provided)'}
367
-
368
- **Issue URL**: ${issue.url}
369
-
370
- ---
371
-
372
- ## Your Task
373
-
374
- Implement this issue following the 5-phase workflow below. Work autonomously—only ask questions if requirements are contradictory or fundamentally unclear.
375
-
376
- **Protect your context by delegating to specialized agents:**
377
- - Exploring unfamiliar code or architecture? Use: "Please use the Explore agent to understand [specific area]"
378
- - Significant changes to review/simplify? Use: "Please use the code-simplifier agent to review recent changes"
379
- - Targeted searches only? Use Grep/Glob directly
380
-
381
- ---
382
-
383
- ## Phase 1: Planning
384
-
385
- 1. **Understand requirements and find relevant code**
386
- - Read issue description and any linked resources
387
- - Search for affected files (delegate to Explore agent for broad architecture questions)
388
- - Identify which files need changes
389
-
390
- 2. **Create task list with TodoWrite**
391
- Create specific tasks for:
392
- - Code changes (which files and what changes?)
393
- - Tests to add (which test files?)
394
- - Verification commands (typecheck, test, build)
395
- - PR creation
396
-
397
- Update status as you work: pending → in_progress → completed
398
-
399
- 3. **Identify edge cases**
400
- - What could go wrong?
401
- - What scenarios need tests?
402
- - What existing patterns should you follow?
403
-
404
- ## Phase 2: Implementation
405
-
406
- 1. **Work through your TodoWrite tasks systematically**
407
- - Follow existing code patterns and conventions
408
- - Add type definitions and error handling
409
- - Keep commits atomic and focused
410
- - Update TodoWrite as you discover additional work
411
-
412
- 2. **Write tests**
413
- - Test new functionality and edge cases
414
- - Follow existing test patterns in the codebase
415
- - Ensure tests are focused and maintainable
416
-
417
- 3. **Commit frequently**
418
- - Atomic commits as you complete logical units
419
- - Follow project style: short, imperative, descriptive (<72 chars)
420
- - Reference issue number when relevant
421
- - Example: "Add session error handling (${issue.identifier})"
422
-
423
- ## Phase 3: Verification
424
-
425
- Run all verification checks:
426
-
427
- \`\`\`bash
428
- pnpm typecheck && pnpm check:fix && pnpm test && pnpm build
429
- \`\`\`
430
-
431
- Fix any failures:
432
- - **Type errors**: Resolve without type casts when possible
433
- - **Lint errors**: Review \`pnpm check:fix\` changes
434
- - **Test failures**: Debug and fix before proceeding
435
- - **Build failures**: Check for syntax errors or missing dependencies
436
-
437
- Update TodoWrite with any additional fix tasks discovered.
438
-
439
- ## Phase 4: Final Review
440
-
441
- 1. **Review your changes**
442
- \`\`\`bash
443
- git diff origin/main
444
- \`\`\`
445
-
446
- Look for:
447
- - Debug logs or commented code to remove
448
- - Unclear variable names to improve
449
- - Unnecessary complexity to simplify
450
-
451
- 2. **Optional: Delegate to code-simplifier for large changes**
452
- If you've changed many files (8+) or added complex logic:
453
- - Use: "Please use the code-simplifier agent to review recent changes"
454
- - Re-run tests after any changes: \`pnpm test\`
455
-
456
- 3. **Ensure everything is committed**
457
- \`\`\`bash
458
- git status # should show clean working directory
459
- \`\`\`
460
-
461
- ## Phase 4.5: Capture UI Screenshots (if applicable)
462
-
463
- If your changes affect the UI:
464
-
465
- 1. Read \`factory-factory.json\` for the \`scripts.run\` command, pick a free port, replace \`{port}\`, and start it in the background.
466
- 2. Use \`browser_navigate\` to visit the dev server URL
467
- 3. Determine the most relevant screen showing your changes and capture a screenshot
468
- 4. Save screenshots:
469
- \`\`\`bash
470
- mkdir -p .factory-factory/screenshots
471
- \`\`\`
472
- Save with descriptive names (e.g., \`dashboard-new-widget.png\`)
473
- 5. Commit the screenshots with your changes
474
- 6. Reference them in the PR body using raw GitHub URLs:
475
- \`![Description](https://raw.githubusercontent.com/${project.githubOwner}/${project.githubRepo}/\${branch}/.factory-factory/screenshots/filename.png)\`
476
-
477
- ## Phase 5: Create Pull Request [REQUIRED - DO NOT SKIP]
478
-
479
- **Pre-flight checklist before creating PR:**
480
- - [ ] All TodoWrite tasks marked completed
481
- - [ ] \`pnpm test\` passes
482
- - [ ] \`pnpm typecheck\` passes
483
- - [ ] \`pnpm build\` succeeds
484
- - [ ] Working directory clean (\`git status\`)
485
- - [ ] All commits have descriptive messages
486
-
487
- **Now create the PR:**
488
-
489
- 1. **Push your branch:**
490
- \`\`\`bash
491
- git push -u origin HEAD
492
- \`\`\`
493
-
494
- 2. **Write PR body to /tmp/pr-body.md:**
495
- \`\`\`markdown
496
- ## Summary
497
- [1-3 bullets describing what this PR accomplishes]
498
-
499
- ## Changes
500
- - **[Component/Area]**: [What changed and why]
501
- - [Add more lines as needed]
502
-
503
- ## Testing
504
- - [x] Tests pass (\`pnpm test\`)
505
- - [x] Types pass (\`pnpm typecheck\`)
506
- - [x] Build succeeds (\`pnpm build\`)
507
- - [ ] Manual testing: [How to verify this change works]
508
-
509
- Closes ${issue.identifier}
510
- \`\`\`
511
-
512
- 3. **IMPORTANT**: Always append the following signature as the very last lines of the PR body, after a horizontal rule:
513
- \`\`\`
514
- ---
515
- ${FACTORY_SIGNATURE}
516
- \`\`\`
517
-
518
- 4. **Create the PR:**
519
- \`\`\`bash
520
- gh pr create --title "Fix ${issue.identifier}: [concise description]" --body-file /tmp/pr-body.md
521
- \`\`\`
522
-
523
- 4. **Verify PR created successfully:**
524
- \`\`\`bash
525
- gh pr view --web
526
- \`\`\`
527
-
528
- ---
529
-
530
- **You have completed this issue successfully when the PR is created and the URL is shown above.**
531
-
532
- Start with Phase 1: Planning.`;
533
- }
534
- catch (error) {
535
- logger.warn('Error building initial prompt from Linear issue', {
536
- workspaceId,
537
- error: error instanceof Error ? error.message : String(error),
538
- });
539
- return '';
540
- }
541
- }
542
139
  async function markLinearIssueStartedIfApplicable(workspaceId) {
543
140
  try {
544
141
  const ctx = await getWorkspaceLinearContext(workspaceId);
@@ -626,8 +223,8 @@ function readStartupModePresetFromMetadata(metadata, workspaceId) {
626
223
  return 'non_interactive';
627
224
  }
628
225
  async function resolveInitialAutoMessageContent(workspaceId, creationMetadata) {
629
- const issuePromptText = (await buildInitialPromptFromGitHubIssue(workspaceId)) ||
630
- (await buildInitialPromptFromLinearIssue(workspaceId));
226
+ const issuePromptText = (await buildInitialPromptFromGitHubIssue(workspaceId, logger)) ||
227
+ (await buildInitialPromptFromLinearIssue(workspaceId, logger));
631
228
  if (issuePromptText) {
632
229
  return { text: issuePromptText };
633
230
  }
@@ -683,7 +280,7 @@ async function startDefaultAgentSession(workspaceId) {
683
280
  return null;
684
281
  }
685
282
  }
686
- async function retryQueuedDispatchAfterWorkspaceReady(workspaceId, startedSessionId) {
283
+ export async function retryQueuedDispatchAfterWorkspaceReady(workspaceId, startedSessionId) {
687
284
  try {
688
285
  if (startedSessionId) {
689
286
  await chatMessageHandlerService.tryDispatchNextMessage(startedSessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-init.orchestrator.js","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0DAA0D,CAAC;AAC7G,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA0B,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC3D,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAY1D,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAEtE,SAAS,uBAAuB;IAC9B,OAAO,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,2CAA2C;IACzD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,WAAmB;IAC/D,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtF,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAAoB,EACpB,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC/C,WAAW;gBACX,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK;gBACvC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG;gBACnC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACnE,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,WAAmB,EACnB,KAAY,EACZ,qBAA8B,EAC9B,oCAA2E;IAE3E,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,MAAM,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,oCAAoC,EAAE,CAAC;QACzC,MAAM,2CAA2C,CAC/C,WAAW,EACX,oCAAoC,CACrC,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;gBACnE,WAAW;gBACX,UAAU,EAAE,qBAAqB;gBACjC,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;aACnF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,WAAW;gBACX,UAAU,EAAE,qBAAqB;gBACjC,KAAK,EAAE,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;aACtF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;YAC/D,WAAW;YACX,KAAK,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2CAA2C,CACxD,WAAmB,EACnB,SAA+C;IAE/C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE,YAAY,KAAK,YAAY,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,2EAA2E,EAAE;gBACvF,WAAW;gBACX,mBAAmB,EAAE,YAAY,CAAC,YAAY;gBAC9C,qBAAqB,EAAE,SAAS,CAAC,YAAY;aAC9C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sBAAsB,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5E,MAAM,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;YAC9D,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,UAAU,EAAE,YAAY,CAAC,UAAU;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;YACvE,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,WAAmB;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAC3C,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,EAClB,SAAS,CAAC,iBAAiB,CAC5B,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;gBAC7D,WAAW;gBACX,WAAW,EAAE,SAAS,CAAC,iBAAiB;aACzC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YACpD,WAAW;YACX,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,UAAU,EAAE,KAAK,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,OAAO,mBAAmB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK;;EAExD,KAAK,CAAC,IAAI,IAAI,2BAA2B;;iBAE1B,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAqDoB,KAAK,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAsDF,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAkCpF,KAAK,CAAC,MAAM;;;;;;KAMpB,iBAAiB;;;;;gCAKU,KAAK,CAAC,MAAM;;;;;;;;;;;;8BAYd,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;YAC7D,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,WAAmB;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;gBAC7D,WAAW;gBACX,aAAa,EAAE,SAAS,CAAC,aAAa;aACvC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YACpD,WAAW;YACX,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,UAAU,EAAE,KAAK,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,OAAO,kBAAkB,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK;;EAE3D,KAAK,CAAC,WAAW,IAAI,2BAA2B;;iBAEjC,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAqDmB,KAAK,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAsDL,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkCrF,KAAK,CAAC,UAAU;;;;;;KAMvB,iBAAiB;;;;;+BAKS,KAAK,CAAC,UAAU;;;;;;;;;;;;8BAYjB,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;YAC7D,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kCAAkC,CAAC,WAAmB;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,WAAW;YACX,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;YAC1E,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAMD,SAAS,kBAAkB,CACzB,SAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,WAAiC;IAEjC,MAAM,SAAS,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE;YACR,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACvB;KACF,CAAC;IACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACxD,WAAW;YACX,SAAS;YACT,KAAK,EAAE,aAAa,CAAC,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,SAAS,CAAC,SAAS,EAAE;YACxC,IAAI,EAAE,uBAAuB;YAC7B,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,aAAa,EAAE,aAAa,CAAC,QAAQ;YACrC,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAClE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;iBACjD;aACF;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AASD,SAAS,kCAAkC,CACzC,QAAwC,EACxC,WAAmB;IAEnB,IAAI,CAAC,CAAC,QAAQ,IAAI,oBAAoB,IAAI,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1F,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;QACxE,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iCAAiC,CACxC,QAAwC,EACxC,WAAmB;IAEnB,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,IAAI,iBAAiB,KAAK,iBAAiB,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC5E,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;QACxE,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAmB,EACnB,gBAAgD;IAEhD,MAAM,eAAe,GACnB,CAAC,MAAM,iCAAiC,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,MAAM,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,kBAAkB,GACtB,gBAAgB,EAAE,aAAa,IAAI,OAAO,gBAAgB,CAAC,aAAa,KAAK,QAAQ;QACnF,CAAC,CAAC,gBAAgB,CAAC,aAAa;QAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,mBAAmB,GAAG,kCAAkC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAE9F,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,GAAG,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACzE,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,SAAS,EAAE,gBAAkD,CAAC;QAC/E,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAGnF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAIrF,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE;YAC5C,aAAa,EAAE,EAAE;YACjB,iBAAiB;SAClB,CAAC,CAAC;QAGH,IAAI,cAAc,EAAE,CAAC;YACnB,kBAAkB,CAChB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,cAAc,CAAC,IAAI,EACnB,OAAO,CAAC,KAAK,EACb,cAAc,CAAC,WAAW,CAC3B,CAAC;QACJ,CAAC;QAID,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;YAChE,WAAW;YACX,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,gBAAgB,EAAE,CAAC,CAAC,cAAc,EAAE,IAAI;YACxC,qBAAqB,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;SACtE,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;YACvE,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,WAAmB,EACnB,gBAA+B;IAE/B,IAAI,CAAC;QAEH,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAChF,MAAM,EAAE,aAAa,CAAC,OAAO;YAC7B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC7E,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;YAC1E,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,eAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;gBACL,UAAU,EAAE,gBAAgB,CAAC,EAAE;gBAC/B,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC;YAC/D,WAAW;YACX,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;QAEH,IAAI,eAAe,GAAwB,IAAI,CAAC;QAChD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;oBACtE,WAAW;oBACX,UAAU;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YACxD,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,yBAAyB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;gBAC7C,WAAW;gBACX,IAAI,EAAE,UAAU;gBAChB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,wBAAwB,GAAG,IAAI,CAAC;QAChC,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,yBAAyB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;YAC1D,WAAW;YACX,UAAU;YACV,GAAG;SACJ,CAAC,CAAC;QAEH,OAAO;YACL,UAAU;YACV,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;YAClE,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,KAAK,UAAU,0BAA0B,CACvC,OAAwC,EACxC,YAAoB,EACpB,UAAkB,EAClB,iBAA0B,EAC1B,aAAqB;IAErB,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,gCAAgC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACvD,OAAO,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;QACrE,YAAY,EAAE,cAAc,IAAI,SAAS;QACzC,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAKvC;IAKC,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC7C,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;YACpE,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC,CAAC;QACH,OAAO;YACL,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,CAAC,sBAAsB,CACxC,SAAS,CAAC,OAAO,EACjB,KAAK,CAAC,UAAU,EAChB,SAAS,CAAC,OAAO,CAAC,aAAa,CAChC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,SAAS,CAAC,OAAO,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,iBAAiB,EACvB,SAAS,CAAC,IAAI,CACf,CAAC;IAEF,OAAO;QACL,GAAG,YAAY;QACf,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,YAAkE,EAClE,UAAkB;IAElB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,UAAU;KAClD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAmB,EACnB,mBAA2C,EAC3C,OAAgB;IAEhB,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,sCAAsC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBAC/E,WAAW;gBACX,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO;aAClC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,MAAM,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;YAClD,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,0BAA0B,CACvC,WAAmB,EACnB,eAAwB,EACxB,mBAA2C,EAC3C,OAAgB;IAEhB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,gCAAgC,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,OAIC;IAED,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,OAAoD,CAAC;IACzD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,mBAAoD,CAAC;IACzD,IAAI,mBAAmB,GAA2B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,qBAAyC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAC/E,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;QAEvC,MAAM,YAAY,GAAG,aAAa,WAAW,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;QAChE,MAAM,iBAAiB,GACrB,OAAO,EAAE,iBAAiB;YAC1B,CAAC,MAAM,wBAAwB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzD,KAAK,CAAC;QAER,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;YAClD,oBAAoB;YACpB,YAAY;YACZ,UAAU;YACV,iBAAiB;SAClB,CAAC,CAAC;QACH,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,mBAAmB,GAAG,kCAAkC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEnF,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAE1F,MAAM,iCAAiC,CAAC,sCAAsC,CAAC;YAC7E,WAAW;YACX,aAAa;YACb,wBAAwB,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;gBACzC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClC,YAAY,EAAE,YAAY,CAAC,YAAY;wBACvC,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,qBAAqB,EAAE,CAAC,iBAAiB;wBACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;wBAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;wBACzD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;qBAC1D,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;oBAClC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;oBACzD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;iBAC1D,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,kBAAkB,GAAG,IAAI,CAAC;QAE1B,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,eAAe,EAAE,WAAW,EAAE,CAAC;YACjC,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC;QACrD,CAAC;QAGD,KAAK,kCAAkC,CAAC,WAAW,CAAC,CAAC;QAIrD,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc,CAAC;QAEnF,IAAI,CAAC,eAAe,EAAE,CAAC;YAGrB,mBAAmB,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1E,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBACrD,WAAW;oBACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,2BAA2B,GAAG,MAAM,4BAA4B,CAAC;YACrE,WAAW;YACX,oBAAoB;YACpB,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,aAAa;SACd,CAAC,CAAC;QACH,IAAI,2BAA2B,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,0BAA0B,CAC9B,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,2BAA2B,CAAC,OAAO,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QAGD,MAAM,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,0BAA0B,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAGf,MAAM,mBAAmB,CAAC;QAC1B,MAAM,0BAA0B,CAC9B,WAAW,EACX,OAAO,CAAC,KAAK,CAAC,EACd,qBAAqB,EACrB,OAAO,IAAI,mBAAmB,IAAI,CAAC,kBAAkB;YACnD,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE;YAChD,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,wBAAwB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"workspace-init.orchestrator.js","sourceRoot":"","sources":["../../../../src/backend/orchestration/workspace-init.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0DAA0D,CAAC;AAC7G,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA0B,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC3D,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAY1D,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAEtE,SAAS,uBAAuB;IAC9B,OAAO,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,2CAA2C;IACzD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,WAAmB;IAC/D,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtF,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAAoB,EACpB,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC/C,WAAW;gBACX,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK;gBACvC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG;gBACnC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACnE,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,WAAmB,EACnB,KAAY,EACZ,qBAA8B,EAC9B,oCAA2E;IAE3E,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,MAAM,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,oCAAoC,EAAE,CAAC;QACzC,MAAM,2CAA2C,CAC/C,WAAW,EACX,oCAAoC,CACrC,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;gBACnE,WAAW;gBACX,UAAU,EAAE,qBAAqB;gBACjC,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;aACnF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,WAAW;gBACX,UAAU,EAAE,qBAAqB;gBACjC,KAAK,EAAE,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;aACtF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;YAC/D,WAAW;YACX,KAAK,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2CAA2C,CACxD,WAAmB,EACnB,SAA+C;IAE/C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE,YAAY,KAAK,YAAY,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,2EAA2E,EAAE;gBACvF,WAAW;gBACX,mBAAmB,EAAE,YAAY,CAAC,YAAY;gBAC9C,qBAAqB,EAAE,SAAS,CAAC,YAAY;aAC9C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sBAAsB,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5E,MAAM,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;YAC9D,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,UAAU,EAAE,YAAY,CAAC,UAAU;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;YACvE,WAAW;YACX,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kCAAkC,CAAC,WAAmB;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,WAAW;YACX,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;YAC1E,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAMD,SAAS,kBAAkB,CACzB,SAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,WAAiC;IAEjC,MAAM,SAAS,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE;YACR,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;SACvB;KACF,CAAC;IACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACxD,WAAW;YACX,SAAS;YACT,KAAK,EAAE,aAAa,CAAC,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,SAAS,CAAC,SAAS,EAAE;YACxC,IAAI,EAAE,uBAAuB;YAC7B,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,aAAa,EAAE,aAAa,CAAC,QAAQ;YACrC,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAClE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;iBACjD;aACF;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AASD,SAAS,kCAAkC,CACzC,QAAwC,EACxC,WAAmB;IAEnB,IAAI,CAAC,CAAC,QAAQ,IAAI,oBAAoB,IAAI,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1F,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;QACxE,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iCAAiC,CACxC,QAAwC,EACxC,WAAmB;IAEnB,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,IAAI,iBAAiB,KAAK,iBAAiB,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC5E,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;QACxE,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAmB,EACnB,gBAAgD;IAEhD,MAAM,eAAe,GACnB,CAAC,MAAM,iCAAiC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC,MAAM,iCAAiC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,kBAAkB,GACtB,gBAAgB,EAAE,aAAa,IAAI,OAAO,gBAAgB,CAAC,aAAa,KAAK,QAAQ;QACnF,CAAC,CAAC,gBAAgB,CAAC,aAAa;QAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,mBAAmB,GAAG,kCAAkC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAE9F,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,GAAG,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACzE,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,SAAS,EAAE,gBAAkD,CAAC;QAC/E,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAGnF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAIrF,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE;YAC5C,aAAa,EAAE,EAAE;YACjB,iBAAiB;SAClB,CAAC,CAAC;QAGH,IAAI,cAAc,EAAE,CAAC;YACnB,kBAAkB,CAChB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,cAAc,CAAC,IAAI,EACnB,OAAO,CAAC,KAAK,EACb,cAAc,CAAC,WAAW,CAC3B,CAAC;QACJ,CAAC;QAID,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;YAChE,WAAW;YACX,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,gBAAgB,EAAE,CAAC,CAAC,cAAc,EAAE,IAAI;YACxC,qBAAqB,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;SACtE,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;YACvE,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,WAAmB,EACnB,gBAA+B;IAE/B,IAAI,CAAC;QAEH,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAChF,MAAM,EAAE,aAAa,CAAC,OAAO;YAC7B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC7E,MAAM,EAAE,aAAa,CAAC,IAAI;YAC1B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,yBAAyB,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;YAC1E,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,eAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;gBACL,UAAU,EAAE,gBAAgB,CAAC,EAAE;gBAC/B,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC;YAC/D,WAAW;YACX,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;QAEH,IAAI,eAAe,GAAwB,IAAI,CAAC;QAChD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;oBACtE,WAAW;oBACX,UAAU;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YACxD,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,yBAAyB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;gBAC7C,WAAW;gBACX,IAAI,EAAE,UAAU;gBAChB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,wBAAwB,GAAG,IAAI,CAAC;QAChC,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,EAAE,EAAE,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,yBAAyB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;YAC1D,WAAW;YACX,UAAU;YACV,GAAG;SACJ,CAAC,CAAC;QAEH,OAAO;YACL,UAAU;YACV,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;YAClE,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,KAAK,UAAU,0BAA0B,CACvC,OAAwC,EACxC,YAAoB,EACpB,UAAkB,EAClB,iBAA0B,EAC1B,aAAqB;IAErB,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,gCAAgC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACvD,OAAO,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;QACrE,YAAY,EAAE,cAAc,IAAI,SAAS;QACzC,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAKvC;IAKC,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC7C,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;YACpE,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC,CAAC;QACH,OAAO;YACL,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,CAAC,sBAAsB,CACxC,SAAS,CAAC,OAAO,EACjB,KAAK,CAAC,UAAU,EAChB,SAAS,CAAC,OAAO,CAAC,aAAa,CAChC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,SAAS,CAAC,OAAO,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,iBAAiB,EACvB,SAAS,CAAC,IAAI,CACf,CAAC;IAEF,OAAO;QACL,GAAG,YAAY;QACf,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,YAAkE,EAClE,UAAkB;IAElB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,UAAU;KAClD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAmB,EACnB,mBAA2C,EAC3C,OAAgB;IAEhB,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,sCAAsC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBAC/E,WAAW;gBACX,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO;aAClC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,MAAM,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;YAClD,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,0BAA0B,CACvC,WAAmB,EACnB,eAAwB,EACxB,mBAA2C,EAC3C,OAAgB;IAEhB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,gCAAgC,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,OAIC;IAED,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,OAAoD,CAAC;IACzD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,mBAAoD,CAAC;IACzD,IAAI,mBAAmB,GAA2B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,qBAAyC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAC/E,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;QAEvC,MAAM,YAAY,GAAG,aAAa,WAAW,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;QAChE,MAAM,iBAAiB,GACrB,OAAO,EAAE,iBAAiB;YAC1B,CAAC,MAAM,wBAAwB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzD,KAAK,CAAC;QAER,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC;YAClD,oBAAoB;YACpB,YAAY;YACZ,UAAU;YACV,iBAAiB;SAClB,CAAC,CAAC;QACH,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,mBAAmB,GAAG,kCAAkC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEnF,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAE1F,MAAM,iCAAiC,CAAC,sCAAsC,CAAC;YAC7E,WAAW;YACX,aAAa;YACb,wBAAwB,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;gBACzC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClC,YAAY,EAAE,YAAY,CAAC,YAAY;wBACvC,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,qBAAqB,EAAE,CAAC,iBAAiB;wBACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;wBAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;wBACzD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;qBAC1D,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;oBAClC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;oBACzD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;iBAC1D,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,kBAAkB,GAAG,IAAI,CAAC;QAE1B,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,eAAe,EAAE,WAAW,EAAE,CAAC;YACjC,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC;QACrD,CAAC;QAGD,KAAK,kCAAkC,CAAC,WAAW,CAAC,CAAC;QAIrD,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc,CAAC;QAEnF,IAAI,CAAC,eAAe,EAAE,CAAC;YAGrB,mBAAmB,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1E,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBACrD,WAAW;oBACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,2BAA2B,GAAG,MAAM,4BAA4B,CAAC;YACrE,WAAW;YACX,oBAAoB;YACpB,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,aAAa;SACd,CAAC,CAAC;QACH,IAAI,2BAA2B,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,0BAA0B,CAC9B,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,2BAA2B,CAAC,OAAO,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QAGD,MAAM,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,0BAA0B,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAGf,MAAM,mBAAmB,CAAC;QAC1B,MAAM,0BAA0B,CAC9B,WAAW,EACX,OAAO,CAAC,KAAK,CAAC,EACd,qBAAqB,EACrB,OAAO,IAAI,mBAAmB,IAAI,CAAC,kBAAkB;YACnD,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE;YAChD,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,wBAAwB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.handler.d.ts","sourceRoot":"","sources":["../../../../../src/backend/routers/websocket/chat.handler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAYxD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,UAAU,IAkI3D,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,YAAY,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KACtC,IAAI,CAkIR;AAED,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"chat.handler.d.ts","sourceRoot":"","sources":["../../../../../src/backend/routers/websocket/chat.handler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAYxD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,UAAU,IAkI3D,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,YAAY,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KACtC,IAAI,CA+IR;AAED,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
@@ -5,7 +5,7 @@ import { WS_READY_STATE } from '../../../backend/constants/websocket.js';
5
5
  import { toError } from '../../../backend/lib/error-utils.js';
6
6
  import { ChatMessageSchema } from '../../../backend/schemas/websocket/index.js';
7
7
  import { toMessageString } from './message-utils.js';
8
- import { markWebSocketAlive, sendBadRequest } from './upgrade-utils.js';
8
+ import { markWebSocketAlive, sendBadRequest, validateWebSocketOrigin } from './upgrade-utils.js';
9
9
  export function createChatUpgradeHandler(appContext) {
10
10
  const { chatConnectionService, chatEventForwarderService, chatMessageHandlerService, configService, createLogger, sessionFileLogger, sessionDomainService, sessionService, } = appContext.services;
11
11
  const logger = createLogger('chat-handler');
@@ -87,6 +87,15 @@ export function createChatUpgradeHandler(appContext) {
87
87
  const connectionId = url.searchParams.get('connectionId') || `conn-${randomUUID()}`;
88
88
  const dbSessionId = url.searchParams.get('sessionId') || null;
89
89
  const rawWorkingDir = url.searchParams.get('workingDir');
90
+ if (!validateWebSocketOrigin({
91
+ request,
92
+ socket,
93
+ configService,
94
+ logger,
95
+ connectionName: 'chat WebSocket',
96
+ })) {
97
+ return;
98
+ }
90
99
  const workingDir = rawWorkingDir ? validateWorkingDir(rawWorkingDir) : null;
91
100
  if (rawWorkingDir && !workingDir) {
92
101
  logger.warn('Invalid workingDir rejected', { rawWorkingDir, dbSessionId, connectionId });
@@ -1 +1 @@
1
- {"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../../../../src/backend/routers/websocket/chat.handler.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAyB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMrE,MAAM,UAAU,wBAAwB,CAAC,UAAsB;IAC7D,MAAM,EACJ,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,GAAG,UAAU,CAAC,QAAQ,CAAC;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC;IACnE,IAAI,aAAa,GAAG,KAAK,CAAC;IAU1B,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,OAKC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1F,CAAC;QAGD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC,WAAW,EAAE;YACxE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,aAAa,GAAG,IAAI,CAAC;QAGrB,yBAAyB,CAAC,gBAAgB,CAAC;YACzC,WAAW,EAAE,qBAAqB;SACnC,CAAC,CAAC;IACL,CAAC;IAMD,SAAS,kBAAkB,CAAC,UAAkB;QAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,eAAe,GAAG,YAAY,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,eAAe,GAAG,CAAC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,gBAAgB,CAAC,YAAoB,EAAE,IAAa;QAC3D,MAAM,UAAU,GAAY,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACzC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;gBAChC,YAAY;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,SAAS,aAAa,CAAC,EAAa,EAAE,WAA0B,EAAE,OAAe;QAC/E,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAC1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAMD,iBAAiB,EAAE,CAAC;IAEpB,OAAO,SAAS,iBAAiB,CAC/B,OAAwB,EACxB,MAAc,EACd,IAAY,EACZ,GAAQ,EACR,GAAoB,EACpB,UAAuC;QAEvC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,UAAU,EAAE,EAAE,CAAC;QACpF,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAC9D,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACzF,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACnD,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAC;YAGH,yBAAyB,CAAC,2BAA2B,EAAE,CAAC;YAExD,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAGnC,IAAI,WAAW,EAAE,CAAC;gBAChB,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC3C,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE;oBACzC,KAAK,EAAE,wBAAwB;oBAC/B,YAAY;oBACZ,WAAW;oBACX,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAED,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;wBACnD,YAAY;wBACZ,cAAc,EAAE,kBAAkB,CAAC,WAAW;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,cAAc,GAAmB;gBACrC,EAAE;gBACF,WAAW;gBACX,UAAU;aACX,CAAC;YACF,qBAAqB,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAC7D,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,MAAM,qCAAqC,GAAG,GAAS,EAAE;gBACvD,IAAI,CAAC,YAAY,IAAI,oBAAoB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,IACE,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC;oBAC7C,qBAAqB,CAAC,8BAA8B,CAAC,WAAW,CAAC,KAAK,CAAC,EACvE,CAAC;oBACD,oBAAoB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,qBAAqB,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;gBACvF,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;oBAC7C,YAAY;oBACZ,WAAW;oBACX,8BAA8B,EAAE,YAAY;iBAC7C,CAAC,CAAC;YACL,CAAC;YAID,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC9B,oBAAoB,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;wBACzD,OAAO;oBACT,CAAC;oBACD,IAAI,WAAW,EAAE,CAAC;wBAChB,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAChE,CAAC;oBACD,MAAM,yBAAyB,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC5F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC5D,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBAC3D,CAAC;wBAAS,CAAC;oBACT,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;oBAC7D,qCAAqC,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;gBAK/E,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxD,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;oBACvB,IAAI,WAAW,EAAE,CAAC;wBAChB,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE;4BACzC,KAAK,EAAE,mBAAmB;4BAC1B,YAAY;yBACb,CAAC,CAAC;wBACH,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;oBAC9C,CAAC;oBACD,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC/C,YAAY,GAAG,IAAI,CAAC;oBACpB,qCAAqC,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,WAAW,EAAE,CAAC;oBAChB,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE;wBACzC,KAAK,EAAE,kBAAkB;wBACzB,YAAY;wBACZ,KAAK,EAAE,KAAK,CAAC,OAAO;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../../../../src/backend/routers/websocket/chat.handler.ts"],"names":[],"mappings":"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"}