factory-factory 0.4.8 → 0.4.10

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 (1671) hide show
  1. package/README.md +77 -30
  2. package/dist/client/assets/abnfDiagram-YUKMZFIV-D4HT7HRV.js +1 -0
  3. package/dist/client/assets/admin-page-C9itdOxc.js +1 -0
  4. package/dist/client/assets/alert-C71DJrrA.js +1 -0
  5. package/dist/client/assets/appearance-CQMuJmnT.js +1 -0
  6. package/dist/client/assets/arc-DgcGdgmL.js +1 -0
  7. package/dist/client/assets/architecture-WOLXFQ4H-D8_bqkQ5.js +1 -0
  8. package/dist/client/assets/architectureDiagram-47P4ROYG-CxM4SSCd.js +36 -0
  9. package/dist/client/assets/blockDiagram-E7TT5TSB-D3i_b0tF.js +140 -0
  10. package/dist/client/assets/c4Diagram-CRA5TL53-DRw_Kspi.js +38 -0
  11. package/dist/client/assets/channel-Dn-6RGIY.js +1 -0
  12. package/dist/client/assets/chunk-2BW5OAIV-D7Fh7q16.js +10 -0
  13. package/dist/client/assets/chunk-3YJQHVM4-Cv4f7fui.js +2 -0
  14. package/dist/client/assets/chunk-4EA7E6EY-DEvab5Cj.js +1 -0
  15. package/dist/client/assets/chunk-7TKQ45FW-DOfEinVY.js +1 -0
  16. package/dist/client/assets/chunk-AW2ZBBNX-DKuwSIkG.js +88 -0
  17. package/dist/client/assets/chunk-DBDB3WZW-B-ug1jBI.js +1 -0
  18. package/dist/client/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  19. package/dist/client/assets/chunk-E2ZNV5FY-D8jkrx68.js +72 -0
  20. package/dist/client/assets/chunk-EU5HNXII-DKsp15bo.js +213 -0
  21. package/dist/client/assets/chunk-FVRAUYC3-LeVSaWax.js +2 -0
  22. package/dist/client/assets/chunk-HJ2JQQFS-BFDyoyf7.js +1 -0
  23. package/dist/client/assets/chunk-HTAEGDNF-DE8nIoPm.js +1 -0
  24. package/dist/client/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  25. package/dist/client/assets/chunk-KQW6MTUR-D2nCtSiJ.js +1 -0
  26. package/dist/client/assets/chunk-NGNAAXSQ-DqoPQk1a.js +136 -0
  27. package/dist/client/assets/chunk-NTY3LDVX-755GZlxB.js +1 -0
  28. package/dist/client/assets/chunk-VPRB5NB3-mCQI2Mww.js +129 -0
  29. package/dist/client/assets/chunk-XC4XBNZT-BWS5hnB7.js +62 -0
  30. package/dist/client/assets/chunk-XXDRQBXY-BvKO0v-W.js +1 -0
  31. package/dist/client/assets/classDiagram-v2-K4WV4PDN-sdqcm9aU.js +217 -0
  32. package/dist/client/assets/components-D07CrDpq.js +1 -0
  33. package/dist/client/assets/core-Sdbb7b8B.js +1 -0
  34. package/dist/client/assets/cose-bilkent-JH36ORCC-COXSdE6a.js +1 -0
  35. package/dist/client/assets/cynefin-EF2NZ3EQ-rxH1tEn5.js +1 -0
  36. package/dist/client/assets/cynefinDiagram-3GCD6N5R-DTkD8Svy.js +62 -0
  37. package/dist/client/assets/cytoscape.esm-Yq6u8L66.js +321 -0
  38. package/dist/client/assets/dagre-W4DXFKR2-BkXRTcTP.js +4 -0
  39. package/dist/client/assets/data-import-button-BaZ1LdcD.js +6 -0
  40. package/dist/client/assets/detail-DyrsALYc.js +1 -0
  41. package/dist/client/assets/diagram-2UJZ2QOL-DEd9IdNf.js +200 -0
  42. package/dist/client/assets/diagram-OVF4WLC6-0v-Y_8KJ.js +24 -0
  43. package/dist/client/assets/diagram-PFPMY2P6-KEYpwiPG.js +30 -0
  44. package/dist/client/assets/diagram-UMYRVEAY-zuWMZT7b.js +24 -0
  45. package/dist/client/assets/diagram-YEKJPTXX-CAtxO1ke.js +41 -0
  46. package/dist/client/assets/diagram-ZIFT7M5P-BkBuOWfh.js +3 -0
  47. package/dist/client/assets/diff-highlight.worker-DSD3kK_J.js +120 -0
  48. package/dist/client/assets/dist-3wBnkw0J.js +1 -0
  49. package/dist/client/assets/dist-B9ml9sGs.js +41 -0
  50. package/dist/client/assets/dist-B_J_HbC0.js +1 -0
  51. package/dist/client/assets/ebnfDiagram-VR2GEFS7-CA9aV4g6.js +1 -0
  52. package/dist/client/assets/elk-IJKZMXRS-RvU9G3Pi.js +27 -0
  53. package/dist/client/assets/erDiagram-O2IAPWRE-Ci7scJQF.js +99 -0
  54. package/dist/client/assets/eventmodeling-K75KTNOO-DHQo3qm_.js +1 -0
  55. package/dist/client/assets/factory-config-scripts-DUGeIMaa.js +1 -0
  56. package/dist/client/assets/flowDiagram-OXPTDLAJ-C3caSGlt.js +1 -0
  57. package/dist/client/assets/ganttDiagram-R7TSEDQI-vYlNmsdY.js +292 -0
  58. package/dist/client/assets/gitGraph-VSP46ZUC-rAFoVncH.js +1 -0
  59. package/dist/client/assets/gitGraphDiagram-XJZIOB7I-D5BfHOcN.js +106 -0
  60. package/dist/client/assets/home-DRATUKtF.js +1 -0
  61. package/dist/client/assets/hooks-Cz8Xi41G.js +1 -0
  62. package/dist/client/assets/index-BAs5S14v.css +2 -0
  63. package/dist/client/assets/index-BJJHbKvj.js +82 -0
  64. package/dist/client/assets/info-OHQRW6UA-gLd3etLY.js +1 -0
  65. package/dist/client/assets/infoDiagram-5W2HQ5XZ-MjwVeLLO.js +2 -0
  66. package/dist/client/assets/ishikawaDiagram-K3B6WC7H-DCSCcZr5.js +70 -0
  67. package/dist/client/assets/journeyDiagram-COXZFDF6-dkIv1mnt.js +139 -0
  68. package/dist/client/assets/jsx-runtime-DKj5X9O4.js +1 -0
  69. package/dist/client/assets/kanban-definition-P3RFRI5V-9Ule86Z0.js +89 -0
  70. package/dist/client/assets/katex-CqLmZ2j0.js +257 -0
  71. package/dist/client/assets/lib-CjP4aRTn.js +1 -0
  72. package/dist/client/assets/line-CdoTFm_e.js +1 -0
  73. package/dist/client/assets/linear-BUnzfXgk.js +1 -0
  74. package/dist/client/assets/list-7HKvNl3b.js +1 -0
  75. package/dist/client/assets/list-bu987A4L.js +30 -0
  76. package/dist/client/assets/logs-CqDAN9kV.js +1 -0
  77. package/dist/client/assets/mermaid-diagram-j6NMiPfI.js +44 -0
  78. package/dist/client/assets/mermaid-parser.core-cMhM95A-.js +7 -0
  79. package/dist/client/assets/mindmap-definition-LZFPQGKD-B4STCb11.js +96 -0
  80. package/dist/client/assets/mobile-baseline-DngFFGw5.js +10 -0
  81. package/dist/client/assets/new-CE0ldXKi.js +1 -0
  82. package/dist/client/assets/new-LuA6H_7l.js +1 -0
  83. package/dist/client/assets/packet-JDAUHWVQ-QS8JM89I.js +1 -0
  84. package/dist/client/assets/page-header-B2NMHJMO.js +1 -0
  85. package/dist/client/assets/pegDiagram-BGZESJAR-iihDx98z.js +1 -0
  86. package/dist/client/assets/pie-XZMESJXO-CmwD9NEw.js +1 -0
  87. package/dist/client/assets/pieDiagram-CAPJLFHJ-pptCiSdZ.js +39 -0
  88. package/dist/client/assets/pr-inbox-item-C_lmZmTK.js +2 -0
  89. package/dist/client/assets/preload-helper-BLdHbfdN.js +1 -0
  90. package/dist/client/assets/project-repo-form-BYv-VEWF.js +1 -0
  91. package/dist/client/assets/provider-cli-warning-Dm5A2Q9_.js +1 -0
  92. package/dist/client/assets/quadrantDiagram-GDMTTRAM-vwLtkaLj.js +7 -0
  93. package/dist/client/assets/radar-ABXABTNO-DvCNdtQs.js +1 -0
  94. package/dist/client/assets/radio-group-CIOwQgJB.js +1 -0
  95. package/dist/client/assets/railroad-I3PHUGI6-bGESLDGJ.js +1 -0
  96. package/dist/client/assets/railroad-abnf-LNEFI6M7-CCmkN-sh.js +1 -0
  97. package/dist/client/assets/railroad-ebnf-DWYD2UWJ-CX1IEXFW.js +1 -0
  98. package/dist/client/assets/railroad-peg-JR7BVNR7-c0faYJjC.js +1 -0
  99. package/dist/client/assets/railroadDiagram-SM67HX2B-cpxi5fh_.js +1 -0
  100. package/dist/client/assets/redirect-BFuMLYjw.js +1 -0
  101. package/dist/client/assets/requirementDiagram-X7JNWC4A-Bmnu46sQ.js +84 -0
  102. package/dist/client/assets/reviews-CtG7yQVl.js +1 -0
  103. package/dist/client/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
  104. package/dist/client/assets/sankeyDiagram-UM26HJRW-C-iua12L.js +40 -0
  105. package/dist/client/assets/schemas-Cq4rE1N1.js +55 -0
  106. package/dist/client/assets/sequenceDiagram-ZO4K6R2Y-DpiBxc6g.js +169 -0
  107. package/dist/client/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  108. package/dist/client/assets/src-oBChb5qS.js +1 -0
  109. package/dist/client/assets/startup-script-form-BHsS3fuN.js +1 -0
  110. package/dist/client/assets/stateDiagram-v2-TBUQTH76-DbF2Up2_.js +291 -0
  111. package/dist/client/assets/swimlanes-N4OXWK64-mSqxJ_S3.js +1 -0
  112. package/dist/client/assets/swimlanesDiagram-K3J5GTZL-DZP68C_c.js +8 -0
  113. package/dist/client/assets/table-Dq5ReIoh.js +1 -0
  114. package/dist/client/assets/tabs-CmuIk7dI.js +1 -0
  115. package/dist/client/assets/terminal-instance-CKdAL-rO.js +16 -0
  116. package/dist/client/assets/timeline-definition-YOQAKGHF-DVfeMxWd.js +120 -0
  117. package/dist/client/assets/treeView-D4JQ5SDB-CJdcCvRA.js +1 -0
  118. package/dist/client/assets/treemap-SAJKECNS-DTBzxZDt.js +1 -0
  119. package/dist/client/assets/trpc-DE1PpYK2.js +1 -0
  120. package/dist/client/assets/use-auto-scroll-BoBYuP1c.js +1 -0
  121. package/dist/client/assets/use-download-server-log-eR8QXr94.js +1 -0
  122. package/dist/client/assets/use-project-header-navigation-CxCJPOIz.js +1 -0
  123. package/dist/client/assets/use-websocket-transport-GdeUVWh_.js +1 -0
  124. package/dist/client/assets/usecaseDiagram-VIAY4XPW-6qohtAb1.js +328 -0
  125. package/dist/client/assets/vennDiagram-BLWOH2XV-4qw4VNzK.js +34 -0
  126. package/dist/client/assets/wardley-7MLQ67FV-DV836ODM.js +1 -0
  127. package/dist/client/assets/wardleyDiagram-YMQ3BMBF-DuXXDidm.js +78 -0
  128. package/dist/client/assets/workspace-sidebar-status-TXd1K6xw.js +4 -0
  129. package/dist/client/assets/xychartDiagram-TAQBALBS-CvkwGxpL.js +7 -0
  130. package/dist/client/index.html +45 -38
  131. package/dist/prisma/generated/browser.d.ts +4 -1
  132. package/dist/prisma/generated/browser.d.ts.map +1 -1
  133. package/dist/prisma/generated/client.d.ts +4 -1
  134. package/dist/prisma/generated/client.d.ts.map +1 -1
  135. package/dist/prisma/generated/commonInputTypes.d.ts +37 -28
  136. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  137. package/dist/prisma/generated/internal/class.d.ts +10 -1
  138. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  139. package/dist/prisma/generated/internal/class.js +4 -4
  140. package/dist/prisma/generated/internal/class.js.map +1 -1
  141. package/dist/prisma/generated/internal/prismaNamespace.d.ts +330 -50
  142. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  143. package/dist/prisma/generated/internal/prismaNamespace.js +65 -13
  144. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  145. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +69 -13
  146. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  147. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +65 -13
  148. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  149. package/dist/prisma/generated/models/AgentSession.d.ts +291 -1
  150. package/dist/prisma/generated/models/AgentSession.d.ts.map +1 -1
  151. package/dist/prisma/generated/models/UserSettings.d.ts +315 -29
  152. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  153. package/dist/prisma/generated/models/Workspace.d.ts +715 -262
  154. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  155. package/dist/prisma/generated/models/WorkspacePR.d.ts +762 -155
  156. package/dist/prisma/generated/models/WorkspacePR.d.ts.map +1 -1
  157. package/dist/prisma/generated/models/WorkspacePRDedicatedSession.d.ts +469 -0
  158. package/dist/prisma/generated/models/WorkspacePRDedicatedSession.d.ts.map +1 -0
  159. package/dist/prisma/generated/models/WorkspacePRDedicatedSession.js +2 -0
  160. package/dist/prisma/generated/models/WorkspacePRDedicatedSession.js.map +1 -0
  161. package/dist/prisma/generated/models/WorkspacePRDiscovery.d.ts +493 -0
  162. package/dist/prisma/generated/models/WorkspacePRDiscovery.d.ts.map +1 -0
  163. package/dist/prisma/generated/models/WorkspacePRDiscovery.js +2 -0
  164. package/dist/prisma/generated/models/WorkspacePRDiscovery.js.map +1 -0
  165. package/dist/prisma/generated/models/WorkspacePREvent.d.ts +1180 -0
  166. package/dist/prisma/generated/models/WorkspacePREvent.d.ts.map +1 -0
  167. package/dist/prisma/generated/models/WorkspacePREvent.js +2 -0
  168. package/dist/prisma/generated/models/WorkspacePREvent.js.map +1 -0
  169. package/dist/prisma/generated/models/WorkspacePRMonitoring.d.ts +809 -0
  170. package/dist/prisma/generated/models/WorkspacePRMonitoring.d.ts.map +1 -0
  171. package/dist/prisma/generated/models/WorkspacePRMonitoring.js +2 -0
  172. package/dist/prisma/generated/models/WorkspacePRMonitoring.js.map +1 -0
  173. package/dist/prisma/generated/models.d.ts +4 -1
  174. package/dist/prisma/generated/models.d.ts.map +1 -1
  175. package/dist/prompts/adversarial-review/dispatch.md +93 -0
  176. package/dist/prompts/quick-actions/fetch-rebase.md +5 -9
  177. package/dist/prompts/quick-actions/rename-branch.md +4 -8
  178. package/dist/prompts/quick-actions/review.md +6 -5
  179. package/dist/prompts/quick-actions/screenshots.md +7 -20
  180. package/dist/prompts/quick-actions/simplify.md +4 -1
  181. package/dist/scripts/check-no-direct-process-env.mjs.map +1 -1
  182. package/dist/src/backend/app-context.d.ts +7 -3
  183. package/dist/src/backend/app-context.d.ts.map +1 -1
  184. package/dist/src/backend/app-context.js +14 -8
  185. package/dist/src/backend/app-context.js.map +1 -1
  186. package/dist/src/backend/db.d.ts.map +1 -1
  187. package/dist/src/backend/db.js +1 -1
  188. package/dist/src/backend/db.js.map +1 -1
  189. package/dist/src/backend/lib/request-trust.d.ts +1 -1
  190. package/dist/src/backend/lib/request-trust.d.ts.map +1 -1
  191. package/dist/src/backend/lib/request-trust.js +4 -1
  192. package/dist/src/backend/lib/request-trust.js.map +1 -1
  193. package/dist/src/backend/lib/request-trust.test.js +4 -0
  194. package/dist/src/backend/lib/request-trust.test.js.map +1 -1
  195. package/dist/src/backend/lib/workspace-derived-state.d.ts +5 -3
  196. package/dist/src/backend/lib/workspace-derived-state.d.ts.map +1 -1
  197. package/dist/src/backend/lib/workspace-derived-state.js +2 -7
  198. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  199. package/dist/src/backend/lib/workspace-derived-state.test.js +6 -21
  200. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  201. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  202. package/dist/src/backend/middleware/cors.middleware.js +3 -2
  203. package/dist/src/backend/middleware/cors.middleware.js.map +1 -1
  204. package/dist/src/backend/middleware/middleware.test.js +12 -0
  205. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  206. package/dist/src/backend/multiple-workspace-prs.migration.test.d.ts +2 -0
  207. package/dist/src/backend/multiple-workspace-prs.migration.test.d.ts.map +1 -0
  208. package/dist/src/backend/multiple-workspace-prs.migration.test.js +88 -0
  209. package/dist/src/backend/multiple-workspace-prs.migration.test.js.map +1 -0
  210. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.d.ts +9 -0
  211. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.d.ts.map +1 -0
  212. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.js +87 -0
  213. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.js.map +1 -0
  214. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.test.d.ts +2 -0
  215. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.test.d.ts.map +1 -0
  216. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.test.js +91 -0
  217. package/dist/src/backend/orchestration/adversarial-review-diff-line-index.test.js.map +1 -0
  218. package/dist/src/backend/orchestration/adversarial-review-fallback.test.d.ts +2 -0
  219. package/dist/src/backend/orchestration/adversarial-review-fallback.test.d.ts.map +1 -0
  220. package/dist/src/backend/orchestration/adversarial-review-fallback.test.js +179 -0
  221. package/dist/src/backend/orchestration/adversarial-review-fallback.test.js.map +1 -0
  222. package/dist/src/backend/orchestration/adversarial-review.orchestrator.d.ts +15 -0
  223. package/dist/src/backend/orchestration/adversarial-review.orchestrator.d.ts.map +1 -0
  224. package/dist/src/backend/orchestration/adversarial-review.orchestrator.js +264 -0
  225. package/dist/src/backend/orchestration/adversarial-review.orchestrator.js.map +1 -0
  226. package/dist/src/backend/orchestration/adversarial-review.orchestrator.test.d.ts +2 -0
  227. package/dist/src/backend/orchestration/adversarial-review.orchestrator.test.d.ts.map +1 -0
  228. package/dist/src/backend/orchestration/adversarial-review.orchestrator.test.js +215 -0
  229. package/dist/src/backend/orchestration/adversarial-review.orchestrator.test.js.map +1 -0
  230. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  231. package/dist/src/backend/orchestration/cli-health.service.js +31 -23
  232. package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
  233. package/dist/src/backend/orchestration/cli-health.service.test.js +40 -0
  234. package/dist/src/backend/orchestration/cli-health.service.test.js.map +1 -1
  235. package/dist/src/backend/orchestration/data-backup-pr-events.d.ts +417 -0
  236. package/dist/src/backend/orchestration/data-backup-pr-events.d.ts.map +1 -0
  237. package/dist/src/backend/orchestration/data-backup-pr-events.js +77 -0
  238. package/dist/src/backend/orchestration/data-backup-pr-events.js.map +1 -0
  239. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  240. package/dist/src/backend/orchestration/data-backup.service.js +125 -67
  241. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  242. package/dist/src/backend/orchestration/data-backup.service.test.js +159 -42
  243. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  244. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +4 -5
  245. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  246. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +34 -53
  247. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  248. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +41 -107
  249. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  250. package/dist/src/backend/orchestration/event-coalescer.integration.test.js +23 -5
  251. package/dist/src/backend/orchestration/event-coalescer.integration.test.js.map +1 -1
  252. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts +2 -0
  253. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts.map +1 -0
  254. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js +84 -0
  255. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js.map +1 -0
  256. package/dist/src/backend/orchestration/event-collector.linear.test.d.ts +2 -0
  257. package/dist/src/backend/orchestration/event-collector.linear.test.d.ts.map +1 -0
  258. package/dist/src/backend/orchestration/event-collector.linear.test.js +442 -0
  259. package/dist/src/backend/orchestration/event-collector.linear.test.js.map +1 -0
  260. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +1 -0
  261. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  262. package/dist/src/backend/orchestration/event-collector.orchestrator.js +143 -43
  263. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  264. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +26 -35
  265. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  266. package/dist/src/backend/orchestration/multiple-pr-attachment.integration.test.d.ts +2 -0
  267. package/dist/src/backend/orchestration/multiple-pr-attachment.integration.test.d.ts.map +1 -0
  268. package/dist/src/backend/orchestration/multiple-pr-attachment.integration.test.js +97 -0
  269. package/dist/src/backend/orchestration/multiple-pr-attachment.integration.test.js.map +1 -0
  270. package/dist/src/backend/orchestration/multiple-pr-backup.integration.test.d.ts +2 -0
  271. package/dist/src/backend/orchestration/multiple-pr-backup.integration.test.d.ts.map +1 -0
  272. package/dist/src/backend/orchestration/multiple-pr-backup.integration.test.js +532 -0
  273. package/dist/src/backend/orchestration/multiple-pr-backup.integration.test.js.map +1 -0
  274. package/dist/src/backend/orchestration/pr-attachment.integration.test.d.ts +2 -0
  275. package/dist/src/backend/orchestration/pr-attachment.integration.test.d.ts.map +1 -0
  276. package/dist/src/backend/orchestration/pr-attachment.integration.test.js +118 -0
  277. package/dist/src/backend/orchestration/pr-attachment.integration.test.js.map +1 -0
  278. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.d.ts +9 -0
  279. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.d.ts.map +1 -0
  280. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.js +165 -0
  281. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.js.map +1 -0
  282. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.test.d.ts +2 -0
  283. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.test.d.ts.map +1 -0
  284. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.test.js +278 -0
  285. package/dist/src/backend/orchestration/pr-dedicated-session.orchestrator.test.js.map +1 -0
  286. package/dist/src/backend/orchestration/pr-delivery-dependencies.d.ts +5 -0
  287. package/dist/src/backend/orchestration/pr-delivery-dependencies.d.ts.map +1 -0
  288. package/dist/src/backend/orchestration/pr-delivery-dependencies.js +45 -0
  289. package/dist/src/backend/orchestration/pr-delivery-dependencies.js.map +1 -0
  290. package/dist/src/backend/orchestration/pr-delivery-readiness.d.ts +3 -0
  291. package/dist/src/backend/orchestration/pr-delivery-readiness.d.ts.map +1 -0
  292. package/dist/src/backend/orchestration/pr-delivery-readiness.js +21 -0
  293. package/dist/src/backend/orchestration/pr-delivery-readiness.js.map +1 -0
  294. package/dist/src/backend/orchestration/pr-delivery-readiness.test.d.ts +2 -0
  295. package/dist/src/backend/orchestration/pr-delivery-readiness.test.d.ts.map +1 -0
  296. package/dist/src/backend/orchestration/pr-delivery-readiness.test.js +34 -0
  297. package/dist/src/backend/orchestration/pr-delivery-readiness.test.js.map +1 -0
  298. package/dist/src/backend/orchestration/pr-delivery-recipient.d.ts +14 -0
  299. package/dist/src/backend/orchestration/pr-delivery-recipient.d.ts.map +1 -0
  300. package/dist/src/backend/orchestration/pr-delivery-recipient.js +15 -0
  301. package/dist/src/backend/orchestration/pr-delivery-recipient.js.map +1 -0
  302. package/dist/src/backend/orchestration/pr-delivery-recovery.d.ts +3 -0
  303. package/dist/src/backend/orchestration/pr-delivery-recovery.d.ts.map +1 -0
  304. package/dist/src/backend/orchestration/pr-delivery-recovery.js +51 -0
  305. package/dist/src/backend/orchestration/pr-delivery-recovery.js.map +1 -0
  306. package/dist/src/backend/orchestration/pr-event-delivery-port.d.ts +5 -0
  307. package/dist/src/backend/orchestration/pr-event-delivery-port.d.ts.map +1 -0
  308. package/dist/src/backend/orchestration/pr-event-delivery-port.js +101 -0
  309. package/dist/src/backend/orchestration/pr-event-delivery-port.js.map +1 -0
  310. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.d.ts +10 -0
  311. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.d.ts.map +1 -0
  312. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.js +235 -0
  313. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.js.map +1 -0
  314. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.test.d.ts +2 -0
  315. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.test.d.ts.map +1 -0
  316. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.test.js +433 -0
  317. package/dist/src/backend/orchestration/pr-event-delivery.orchestrator.test.js.map +1 -0
  318. package/dist/src/backend/orchestration/pr-event-flow.integration.test.d.ts +2 -0
  319. package/dist/src/backend/orchestration/pr-event-flow.integration.test.d.ts.map +1 -0
  320. package/dist/src/backend/orchestration/pr-event-flow.integration.test.js +299 -0
  321. package/dist/src/backend/orchestration/pr-event-flow.integration.test.js.map +1 -0
  322. package/dist/src/backend/orchestration/pr-event-projection.d.ts +17 -0
  323. package/dist/src/backend/orchestration/pr-event-projection.d.ts.map +1 -0
  324. package/dist/src/backend/orchestration/pr-event-projection.js +107 -0
  325. package/dist/src/backend/orchestration/pr-event-projection.js.map +1 -0
  326. package/dist/src/backend/orchestration/pr-event-projection.test.d.ts +2 -0
  327. package/dist/src/backend/orchestration/pr-event-projection.test.d.ts.map +1 -0
  328. package/dist/src/backend/orchestration/pr-event-projection.test.js +61 -0
  329. package/dist/src/backend/orchestration/pr-event-projection.test.js.map +1 -0
  330. package/dist/src/backend/orchestration/pr-monitoring-backup.integration.test.d.ts +2 -0
  331. package/dist/src/backend/orchestration/pr-monitoring-backup.integration.test.d.ts.map +1 -0
  332. package/dist/src/backend/orchestration/pr-monitoring-backup.integration.test.js +115 -0
  333. package/dist/src/backend/orchestration/pr-monitoring-backup.integration.test.js.map +1 -0
  334. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.d.ts +6 -0
  335. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.d.ts.map +1 -0
  336. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.js +102 -0
  337. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.js.map +1 -0
  338. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.test.d.ts +2 -0
  339. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.test.d.ts.map +1 -0
  340. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.test.js +91 -0
  341. package/dist/src/backend/orchestration/pr-monitoring-cutover.orchestrator.test.js.map +1 -0
  342. package/dist/src/backend/orchestration/pr-monitoring-dependencies.d.ts +24 -0
  343. package/dist/src/backend/orchestration/pr-monitoring-dependencies.d.ts.map +1 -0
  344. package/dist/src/backend/orchestration/pr-monitoring-dependencies.js +51 -0
  345. package/dist/src/backend/orchestration/pr-monitoring-dependencies.js.map +1 -0
  346. package/dist/src/backend/orchestration/pr-monitoring-ports.d.ts +46 -0
  347. package/dist/src/backend/orchestration/pr-monitoring-ports.d.ts.map +1 -0
  348. package/dist/src/backend/orchestration/pr-monitoring-ports.js +2 -0
  349. package/dist/src/backend/orchestration/pr-monitoring-ports.js.map +1 -0
  350. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.d.ts +24 -0
  351. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.d.ts.map +1 -0
  352. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.js +76 -0
  353. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.js.map +1 -0
  354. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.test.d.ts +2 -0
  355. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.test.d.ts.map +1 -0
  356. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.test.js +196 -0
  357. package/dist/src/backend/orchestration/pr-monitoring.orchestrator.test.js.map +1 -0
  358. package/dist/src/backend/orchestration/pr-observation.orchestrator.d.ts +6 -0
  359. package/dist/src/backend/orchestration/pr-observation.orchestrator.d.ts.map +1 -0
  360. package/dist/src/backend/orchestration/pr-observation.orchestrator.js +74 -0
  361. package/dist/src/backend/orchestration/pr-observation.orchestrator.js.map +1 -0
  362. package/dist/src/backend/orchestration/pr-observation.orchestrator.test.d.ts +2 -0
  363. package/dist/src/backend/orchestration/pr-observation.orchestrator.test.d.ts.map +1 -0
  364. package/dist/src/backend/orchestration/pr-observation.orchestrator.test.js +57 -0
  365. package/dist/src/backend/orchestration/pr-observation.orchestrator.test.js.map +1 -0
  366. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts +3 -1
  367. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts.map +1 -1
  368. package/dist/src/backend/orchestration/ratchet-projection.worker.js +13 -5
  369. package/dist/src/backend/orchestration/ratchet-projection.worker.js.map +1 -1
  370. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js +39 -13
  371. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js.map +1 -1
  372. package/dist/src/backend/orchestration/reconciliation.service.test.js +7 -1
  373. package/dist/src/backend/orchestration/reconciliation.service.test.js.map +1 -1
  374. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  375. package/dist/src/backend/orchestration/scheduler.service.js +19 -19
  376. package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
  377. package/dist/src/backend/orchestration/scheduler.service.test.js +67 -44
  378. package/dist/src/backend/orchestration/scheduler.service.test.js.map +1 -1
  379. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
  380. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  381. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +25 -14
  382. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  383. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +71 -138
  384. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  385. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js +7 -3
  386. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js.map +1 -1
  387. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts +6 -0
  388. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts.map +1 -0
  389. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js +126 -0
  390. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js.map +1 -0
  391. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts +2 -0
  392. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts.map +1 -0
  393. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js +8 -0
  394. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js.map +1 -0
  395. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +0 -1
  396. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  397. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +43 -36
  398. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  399. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +6 -0
  400. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  401. package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts.map +1 -1
  402. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +1 -2
  403. package/dist/src/backend/orchestration/workspace-children.orchestrator.js.map +1 -1
  404. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js +3 -3
  405. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js.map +1 -1
  406. package/dist/src/backend/orchestration/workspace-init-pr-binding.test.d.ts +2 -0
  407. package/dist/src/backend/orchestration/workspace-init-pr-binding.test.d.ts.map +1 -0
  408. package/dist/src/backend/orchestration/workspace-init-pr-binding.test.js +97 -0
  409. package/dist/src/backend/orchestration/workspace-init-pr-binding.test.js.map +1 -0
  410. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +0 -2
  411. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts.map +1 -1
  412. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +5 -7
  413. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js.map +1 -1
  414. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts +2 -0
  415. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts.map +1 -0
  416. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js +52 -0
  417. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js.map +1 -0
  418. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  419. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +20 -4
  420. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  421. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.d.ts +1 -1
  422. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.d.ts.map +1 -1
  423. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +4 -163
  424. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  425. package/dist/src/backend/orchestration/workspace-init.test-harness.d.ts +187 -0
  426. package/dist/src/backend/orchestration/workspace-init.test-harness.d.ts.map +1 -0
  427. package/dist/src/backend/orchestration/workspace-init.test-harness.js +170 -0
  428. package/dist/src/backend/orchestration/workspace-init.test-harness.js.map +1 -0
  429. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts +2 -0
  430. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts.map +1 -0
  431. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js +176 -0
  432. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js.map +1 -0
  433. package/dist/src/backend/pr-delivery-modes.migration.test.d.ts +2 -0
  434. package/dist/src/backend/pr-delivery-modes.migration.test.d.ts.map +1 -0
  435. package/dist/src/backend/pr-delivery-modes.migration.test.js +58 -0
  436. package/dist/src/backend/pr-delivery-modes.migration.test.js.map +1 -0
  437. package/dist/src/backend/pr-event-ledger.migration.test.d.ts +2 -0
  438. package/dist/src/backend/pr-event-ledger.migration.test.d.ts.map +1 -0
  439. package/dist/src/backend/pr-event-ledger.migration.test.js +119 -0
  440. package/dist/src/backend/pr-event-ledger.migration.test.js.map +1 -0
  441. package/dist/src/backend/prompts/adversarial-review-dispatch.d.ts +10 -0
  442. package/dist/src/backend/prompts/adversarial-review-dispatch.d.ts.map +1 -0
  443. package/dist/src/backend/prompts/adversarial-review-dispatch.js +60 -0
  444. package/dist/src/backend/prompts/adversarial-review-dispatch.js.map +1 -0
  445. package/dist/src/backend/prompts/adversarial-review-dispatch.test.d.ts +2 -0
  446. package/dist/src/backend/prompts/adversarial-review-dispatch.test.d.ts.map +1 -0
  447. package/dist/src/backend/prompts/adversarial-review-dispatch.test.js +119 -0
  448. package/dist/src/backend/prompts/adversarial-review-dispatch.test.js.map +1 -0
  449. package/dist/src/backend/prompts/adversarial-review-findings.schema.d.ts +36 -0
  450. package/dist/src/backend/prompts/adversarial-review-findings.schema.d.ts.map +1 -0
  451. package/dist/src/backend/prompts/adversarial-review-findings.schema.js +34 -0
  452. package/dist/src/backend/prompts/adversarial-review-findings.schema.js.map +1 -0
  453. package/dist/src/backend/prompts/adversarial-review-findings.schema.test.d.ts +2 -0
  454. package/dist/src/backend/prompts/adversarial-review-findings.schema.test.d.ts.map +1 -0
  455. package/dist/src/backend/prompts/adversarial-review-findings.schema.test.js +99 -0
  456. package/dist/src/backend/prompts/adversarial-review-findings.schema.test.js.map +1 -0
  457. package/dist/src/backend/prompts/branch-rename.js +1 -1
  458. package/dist/src/backend/prompts/pr-event.d.ts +17 -0
  459. package/dist/src/backend/prompts/pr-event.d.ts.map +1 -0
  460. package/dist/src/backend/prompts/pr-event.js +85 -0
  461. package/dist/src/backend/prompts/pr-event.js.map +1 -0
  462. package/dist/src/backend/prompts/pr-event.test.d.ts +2 -0
  463. package/dist/src/backend/prompts/pr-event.test.d.ts.map +1 -0
  464. package/dist/src/backend/prompts/pr-event.test.js +150 -0
  465. package/dist/src/backend/prompts/pr-event.test.js.map +1 -0
  466. package/dist/src/backend/routers/websocket/chat.handler.test.js +1 -1
  467. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  468. package/dist/src/backend/routers/websocket/index.d.ts +2 -2
  469. package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
  470. package/dist/src/backend/routers/websocket/index.js +2 -2
  471. package/dist/src/backend/routers/websocket/index.js.map +1 -1
  472. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts.map +1 -1
  473. package/dist/src/backend/routers/websocket/upgrade-utils.js +5 -2
  474. package/dist/src/backend/routers/websocket/upgrade-utils.js.map +1 -1
  475. package/dist/src/backend/routers/websocket/upgrade-utils.test.js +33 -2
  476. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
  477. package/dist/src/backend/schemas/websocket/index.d.ts +1 -1
  478. package/dist/src/backend/schemas/websocket/index.d.ts.map +1 -1
  479. package/dist/src/backend/schemas/websocket/index.js +1 -1
  480. package/dist/src/backend/schemas/websocket/index.js.map +1 -1
  481. package/dist/src/backend/server.js +1 -1
  482. package/dist/src/backend/server.js.map +1 -1
  483. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  484. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +6 -1
  485. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  486. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +129 -2
  487. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
  488. package/dist/src/backend/services/auto-iteration/service/git-ops.d.ts.map +1 -1
  489. package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.js +88 -1
  490. package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.js.map +1 -1
  491. package/dist/src/backend/services/auto-iteration/service/git-ops.js +11 -25
  492. package/dist/src/backend/services/auto-iteration/service/git-ops.js.map +1 -1
  493. package/dist/src/backend/services/auto-iteration/service/prompts.d.ts.map +1 -1
  494. package/dist/src/backend/services/auto-iteration/service/prompts.js +14 -54
  495. package/dist/src/backend/services/auto-iteration/service/prompts.js.map +1 -1
  496. package/dist/src/backend/services/check-single-writer.test.js +51 -50
  497. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  498. package/dist/src/backend/services/config.service.d.ts +1 -14
  499. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  500. package/dist/src/backend/services/config.service.js +7 -38
  501. package/dist/src/backend/services/config.service.js.map +1 -1
  502. package/dist/src/backend/services/config.service.test.js +7 -13
  503. package/dist/src/backend/services/config.service.test.js.map +1 -1
  504. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts +0 -9
  505. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
  506. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +0 -46
  507. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js.map +1 -1
  508. package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts +0 -2
  509. package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts.map +1 -1
  510. package/dist/src/backend/services/decision-log/service/decision-log.service.js +0 -6
  511. package/dist/src/backend/services/decision-log/service/decision-log.service.js.map +1 -1
  512. package/dist/src/backend/services/decision-log/service/decision-log.service.test.js +0 -12
  513. package/dist/src/backend/services/decision-log/service/decision-log.service.test.js.map +1 -1
  514. package/dist/src/backend/services/env-schemas.d.ts +1 -6
  515. package/dist/src/backend/services/env-schemas.d.ts.map +1 -1
  516. package/dist/src/backend/services/env-schemas.js +1 -3
  517. package/dist/src/backend/services/env-schemas.js.map +1 -1
  518. package/dist/src/backend/services/env-schemas.test.js +0 -2
  519. package/dist/src/backend/services/env-schemas.test.js.map +1 -1
  520. package/dist/src/backend/services/github/service/bridges.d.ts +24 -0
  521. package/dist/src/backend/services/github/service/bridges.d.ts.map +1 -1
  522. package/dist/src/backend/services/github/service/github-cli/auth-check.d.ts +7 -0
  523. package/dist/src/backend/services/github/service/github-cli/auth-check.d.ts.map +1 -0
  524. package/dist/src/backend/services/github/service/github-cli/auth-check.js +24 -0
  525. package/dist/src/backend/services/github/service/github-cli/auth-check.js.map +1 -0
  526. package/dist/src/backend/services/github/service/github-cli/auth-check.test.d.ts +2 -0
  527. package/dist/src/backend/services/github/service/github-cli/auth-check.test.d.ts.map +1 -0
  528. package/dist/src/backend/services/github/service/github-cli/auth-check.test.js +125 -0
  529. package/dist/src/backend/services/github/service/github-cli/auth-check.test.js.map +1 -0
  530. package/dist/src/backend/services/github/service/github-cli/code-review.d.ts +27 -0
  531. package/dist/src/backend/services/github/service/github-cli/code-review.d.ts.map +1 -0
  532. package/dist/src/backend/services/github/service/github-cli/code-review.js +144 -0
  533. package/dist/src/backend/services/github/service/github-cli/code-review.js.map +1 -0
  534. package/dist/src/backend/services/github/service/github-cli/code-review.test.d.ts +2 -0
  535. package/dist/src/backend/services/github/service/github-cli/code-review.test.d.ts.map +1 -0
  536. package/dist/src/backend/services/github/service/github-cli/code-review.test.js +80 -0
  537. package/dist/src/backend/services/github/service/github-cli/code-review.test.js.map +1 -0
  538. package/dist/src/backend/services/github/service/github-cli/constants.d.ts +3 -0
  539. package/dist/src/backend/services/github/service/github-cli/constants.d.ts.map +1 -1
  540. package/dist/src/backend/services/github/service/github-cli/constants.js +4 -0
  541. package/dist/src/backend/services/github/service/github-cli/constants.js.map +1 -1
  542. package/dist/src/backend/services/github/service/github-cli/mappers.d.ts +4 -2
  543. package/dist/src/backend/services/github/service/github-cli/mappers.d.ts.map +1 -1
  544. package/dist/src/backend/services/github/service/github-cli/mappers.js +14 -8
  545. package/dist/src/backend/services/github/service/github-cli/mappers.js.map +1 -1
  546. package/dist/src/backend/services/github/service/github-cli/mappers.test.d.ts +2 -0
  547. package/dist/src/backend/services/github/service/github-cli/mappers.test.d.ts.map +1 -0
  548. package/dist/src/backend/services/github/service/github-cli/mappers.test.js +76 -0
  549. package/dist/src/backend/services/github/service/github-cli/mappers.test.js.map +1 -0
  550. package/dist/src/backend/services/github/service/github-cli/resolved-review-comments.d.ts +7 -0
  551. package/dist/src/backend/services/github/service/github-cli/resolved-review-comments.d.ts.map +1 -0
  552. package/dist/src/backend/services/github/service/github-cli/resolved-review-comments.js +21 -0
  553. package/dist/src/backend/services/github/service/github-cli/resolved-review-comments.js.map +1 -0
  554. package/dist/src/backend/services/github/service/github-cli/reviews.d.ts +7 -0
  555. package/dist/src/backend/services/github/service/github-cli/reviews.d.ts.map +1 -0
  556. package/dist/src/backend/services/github/service/github-cli/reviews.js +24 -0
  557. package/dist/src/backend/services/github/service/github-cli/reviews.js.map +1 -0
  558. package/dist/src/backend/services/github/service/github-cli/reviews.test.d.ts +2 -0
  559. package/dist/src/backend/services/github/service/github-cli/reviews.test.d.ts.map +1 -0
  560. package/dist/src/backend/services/github/service/github-cli/reviews.test.js +98 -0
  561. package/dist/src/backend/services/github/service/github-cli/reviews.test.js.map +1 -0
  562. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +18 -11
  563. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  564. package/dist/src/backend/services/github/service/github-cli/schemas.js +17 -11
  565. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  566. package/dist/src/backend/services/github/service/github-cli/types.d.ts +5 -0
  567. package/dist/src/backend/services/github/service/github-cli/types.d.ts.map +1 -1
  568. package/dist/src/backend/services/github/service/github-cli-full-details-buffer.test.d.ts +2 -0
  569. package/dist/src/backend/services/github/service/github-cli-full-details-buffer.test.d.ts.map +1 -0
  570. package/dist/src/backend/services/github/service/github-cli-full-details-buffer.test.js +130 -0
  571. package/dist/src/backend/services/github/service/github-cli-full-details-buffer.test.js.map +1 -0
  572. package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts +2 -0
  573. package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts.map +1 -0
  574. package/dist/src/backend/services/github/service/github-cli-health-cache.test.js +45 -0
  575. package/dist/src/backend/services/github/service/github-cli-health-cache.test.js.map +1 -0
  576. package/dist/src/backend/services/github/service/github-cli-pr-details.test.d.ts +2 -0
  577. package/dist/src/backend/services/github/service/github-cli-pr-details.test.d.ts.map +1 -0
  578. package/dist/src/backend/services/github/service/github-cli-pr-details.test.js +150 -0
  579. package/dist/src/backend/services/github/service/github-cli-pr-details.test.js.map +1 -0
  580. package/dist/src/backend/services/github/service/github-cli-review-authors.test.d.ts +2 -0
  581. package/dist/src/backend/services/github/service/github-cli-review-authors.test.d.ts.map +1 -0
  582. package/dist/src/backend/services/github/service/github-cli-review-authors.test.js +57 -0
  583. package/dist/src/backend/services/github/service/github-cli-review-authors.test.js.map +1 -0
  584. package/dist/src/backend/services/github/service/github-cli.service.d.ts +6 -3
  585. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  586. package/dist/src/backend/services/github/service/github-cli.service.js +54 -60
  587. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  588. package/dist/src/backend/services/github/service/github-cli.service.test.js +24 -116
  589. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  590. package/dist/src/backend/services/github/service/index.d.ts +5 -1
  591. package/dist/src/backend/services/github/service/index.d.ts.map +1 -1
  592. package/dist/src/backend/services/github/service/index.js +5 -1
  593. package/dist/src/backend/services/github/service/index.js.map +1 -1
  594. package/dist/src/backend/services/github/service/pr-actionable-review.d.ts +48 -0
  595. package/dist/src/backend/services/github/service/pr-actionable-review.d.ts.map +1 -0
  596. package/dist/src/backend/services/github/service/pr-actionable-review.js +144 -0
  597. package/dist/src/backend/services/github/service/pr-actionable-review.js.map +1 -0
  598. package/dist/src/backend/services/github/service/pr-actionable-review.test.d.ts +2 -0
  599. package/dist/src/backend/services/github/service/pr-actionable-review.test.d.ts.map +1 -0
  600. package/dist/src/backend/services/github/service/pr-actionable-review.test.js +377 -0
  601. package/dist/src/backend/services/github/service/pr-actionable-review.test.js.map +1 -0
  602. package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts +5 -1
  603. package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts.map +1 -1
  604. package/dist/src/backend/services/github/service/pr-fetch-coordinator.js +21 -3
  605. package/dist/src/backend/services/github/service/pr-fetch-coordinator.js.map +1 -1
  606. package/dist/src/backend/services/github/service/pr-observation.service.d.ts +19 -0
  607. package/dist/src/backend/services/github/service/pr-observation.service.d.ts.map +1 -0
  608. package/dist/src/backend/services/github/service/pr-observation.service.js +145 -0
  609. package/dist/src/backend/services/github/service/pr-observation.service.js.map +1 -0
  610. package/dist/src/backend/services/github/service/pr-observation.service.test.d.ts +2 -0
  611. package/dist/src/backend/services/github/service/pr-observation.service.test.d.ts.map +1 -0
  612. package/dist/src/backend/services/github/service/pr-observation.service.test.js +166 -0
  613. package/dist/src/backend/services/github/service/pr-observation.service.test.js.map +1 -0
  614. package/dist/src/backend/services/github/service/pr-snapshot-collection.service.test.d.ts +2 -0
  615. package/dist/src/backend/services/github/service/pr-snapshot-collection.service.test.d.ts.map +1 -0
  616. package/dist/src/backend/services/github/service/pr-snapshot-collection.service.test.js +291 -0
  617. package/dist/src/backend/services/github/service/pr-snapshot-collection.service.test.js.map +1 -0
  618. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +34 -15
  619. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
  620. package/dist/src/backend/services/github/service/pr-snapshot.service.js +173 -195
  621. package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
  622. package/dist/src/backend/services/github/service/pr-snapshot.service.test.js +100 -634
  623. package/dist/src/backend/services/github/service/pr-snapshot.service.test.js.map +1 -1
  624. package/dist/src/backend/services/linear/service/linear-client.service.d.ts +1 -1
  625. package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
  626. package/dist/src/backend/services/linear/service/linear-client.service.js +24 -9
  627. package/dist/src/backend/services/linear/service/linear-client.service.js.map +1 -1
  628. package/dist/src/backend/services/linear/service/linear-client.service.test.js +46 -5
  629. package/dist/src/backend/services/linear/service/linear-client.service.test.js.map +1 -1
  630. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts +1 -1
  631. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts.map +1 -1
  632. package/dist/src/backend/services/linear/service/linear-state-sync.service.js +2 -1
  633. package/dist/src/backend/services/linear/service/linear-state-sync.service.js.map +1 -1
  634. package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js +7 -3
  635. package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js.map +1 -1
  636. package/dist/src/backend/services/logger.service.d.ts +0 -4
  637. package/dist/src/backend/services/logger.service.d.ts.map +1 -1
  638. package/dist/src/backend/services/logger.service.js +0 -31
  639. package/dist/src/backend/services/logger.service.js.map +1 -1
  640. package/dist/src/backend/services/logger.service.test.js +0 -30
  641. package/dist/src/backend/services/logger.service.test.js.map +1 -1
  642. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +0 -6
  643. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -1
  644. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +0 -21
  645. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  646. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js +45 -38
  647. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js.map +1 -1
  648. package/dist/src/backend/services/ratchet/service/index.d.ts +0 -3
  649. package/dist/src/backend/services/ratchet/service/index.d.ts.map +1 -1
  650. package/dist/src/backend/services/ratchet/service/index.js +0 -1
  651. package/dist/src/backend/services/ratchet/service/index.js.map +1 -1
  652. package/dist/src/backend/services/ratchet/service/ratchet-observation-watcher.test.d.ts +2 -0
  653. package/dist/src/backend/services/ratchet/service/ratchet-observation-watcher.test.d.ts.map +1 -0
  654. package/dist/src/backend/services/ratchet/service/ratchet-observation-watcher.test.js +179 -0
  655. package/dist/src/backend/services/ratchet/service/ratchet-observation-watcher.test.js.map +1 -0
  656. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +80 -54
  657. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  658. package/dist/src/backend/services/ratchet/service/ratchet.service.js +156 -547
  659. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  660. package/dist/src/backend/services/rate-limit-backoff.test.js.map +1 -1
  661. package/dist/src/backend/services/registry.d.ts +3 -3
  662. package/dist/src/backend/services/registry.d.ts.map +1 -1
  663. package/dist/src/backend/services/registry.js +13 -3
  664. package/dist/src/backend/services/registry.js.map +1 -1
  665. package/dist/src/backend/services/resources.integration.test.js +27 -262
  666. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  667. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts +1 -0
  668. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  669. package/dist/src/backend/services/run-script/service/startup-script.service.js +3 -1
  670. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  671. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +12 -20
  672. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  673. package/dist/src/backend/services/session/resources/agent-session.accessor.js +30 -58
  674. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  675. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +15 -2
  676. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  677. package/dist/src/backend/services/session/resources/closed-session.accessor.d.ts +1 -0
  678. package/dist/src/backend/services/session/resources/closed-session.accessor.d.ts.map +1 -1
  679. package/dist/src/backend/services/session/resources/closed-session.accessor.js +7 -0
  680. package/dist/src/backend/services/session/resources/closed-session.accessor.js.map +1 -1
  681. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.d.ts +28 -0
  682. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.d.ts.map +1 -0
  683. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.js +131 -0
  684. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.js.map +1 -0
  685. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.test.d.ts +2 -0
  686. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.test.d.ts.map +1 -0
  687. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.test.js +217 -0
  688. package/dist/src/backend/services/session/resources/pr-dedicated-session.accessor.test.js.map +1 -0
  689. package/dist/src/backend/services/session/resources/provider-identity-rollover.integration.test.d.ts +2 -0
  690. package/dist/src/backend/services/session/resources/provider-identity-rollover.integration.test.d.ts.map +1 -0
  691. package/dist/src/backend/services/session/resources/provider-identity-rollover.integration.test.js +153 -0
  692. package/dist/src/backend/services/session/resources/provider-identity-rollover.integration.test.js.map +1 -0
  693. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts +1 -0
  694. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -1
  695. package/dist/src/backend/services/session/service/acp/acp-client-factory.js +17 -3
  696. package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -1
  697. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +44 -1
  698. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -1
  699. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  700. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +12 -9
  701. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  702. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +5 -0
  703. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  704. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +3 -1
  705. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
  706. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +10 -1
  707. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
  708. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts +3 -0
  709. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts.map +1 -1
  710. package/dist/src/backend/services/session/service/acp/acp-process-handle.js +3 -1
  711. package/dist/src/backend/services/session/service/acp/acp-process-handle.js.map +1 -1
  712. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js +13 -1
  713. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js.map +1 -1
  714. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +15 -0
  715. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
  716. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +1 -0
  717. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -1
  718. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +1 -0
  719. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -1
  720. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +1 -1
  721. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -1
  722. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +220 -0
  723. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -1
  724. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -1
  725. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +86 -20
  726. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -1
  727. package/dist/src/backend/services/session/service/acp/acp-session-creation-outcome.d.ts +10 -0
  728. package/dist/src/backend/services/session/service/acp/acp-session-creation-outcome.d.ts.map +1 -0
  729. package/dist/src/backend/services/session/service/acp/acp-session-creation-outcome.js +2 -0
  730. package/dist/src/backend/services/session/service/acp/acp-session-creation-outcome.js.map +1 -0
  731. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adversarial-review-permissions.test.d.ts +2 -0
  732. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adversarial-review-permissions.test.d.ts.map +1 -0
  733. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adversarial-review-permissions.test.js +104 -0
  734. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adversarial-review-permissions.test.js.map +1 -0
  735. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -1
  736. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +1 -3
  737. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -1
  738. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/protocol-permission-handler.d.ts.map +1 -1
  739. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/protocol-permission-handler.js +21 -3
  740. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/protocol-permission-handler.js.map +1 -1
  741. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/protocol-permission-handler.test.js +74 -0
  742. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/protocol-permission-handler.test.js.map +1 -1
  743. package/dist/src/backend/services/session/service/acp/index.d.ts +3 -3
  744. package/dist/src/backend/services/session/service/acp/index.d.ts.map +1 -1
  745. package/dist/src/backend/services/session/service/acp/index.js +2 -2
  746. package/dist/src/backend/services/session/service/acp/index.js.map +1 -1
  747. package/dist/src/backend/services/session/service/acp/types.d.ts +1 -1
  748. package/dist/src/backend/services/session/service/acp/types.d.ts.map +1 -1
  749. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js +1 -0
  750. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js.map +1 -1
  751. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -0
  752. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  753. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts.map +1 -1
  754. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +11 -1
  755. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js.map +1 -1
  756. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +25 -0
  757. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  758. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.d.ts.map +1 -1
  759. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.js +7 -0
  760. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.js.map +1 -1
  761. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.d.ts.map +1 -1
  762. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.js +6 -0
  763. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.js.map +1 -1
  764. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.test.d.ts +2 -0
  765. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.test.d.ts.map +1 -0
  766. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.test.js +52 -0
  767. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.test.js.map +1 -0
  768. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts.map +1 -1
  769. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +5 -0
  770. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
  771. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +62 -1
  772. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  773. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.d.ts.map +1 -1
  774. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js +5 -0
  775. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js.map +1 -1
  776. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.test.js +46 -2
  777. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.test.js.map +1 -1
  778. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +8 -0
  779. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  780. package/dist/src/backend/services/session/service/chat/chat-message-handlers.pr-events.test.d.ts +2 -0
  781. package/dist/src/backend/services/session/service/chat/chat-message-handlers.pr-events.test.d.ts.map +1 -0
  782. package/dist/src/backend/services/session/service/chat/chat-message-handlers.pr-events.test.js +389 -0
  783. package/dist/src/backend/services/session/service/chat/chat-message-handlers.pr-events.test.js.map +1 -0
  784. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +3 -0
  785. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  786. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +105 -15
  787. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  788. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +1 -0
  789. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  790. package/dist/src/backend/services/session/service/data/session-data.dedicated.test.d.ts +2 -0
  791. package/dist/src/backend/services/session/service/data/session-data.dedicated.test.d.ts.map +1 -0
  792. package/dist/src/backend/services/session/service/data/session-data.dedicated.test.js +66 -0
  793. package/dist/src/backend/services/session/service/data/session-data.dedicated.test.js.map +1 -0
  794. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +9 -9
  795. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  796. package/dist/src/backend/services/session/service/data/session-data.service.js +33 -5
  797. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  798. package/dist/src/backend/services/session/service/data/session-data.service.test.js +19 -31
  799. package/dist/src/backend/services/session/service/data/session-data.service.test.js.map +1 -1
  800. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +12 -3
  801. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  802. package/dist/src/backend/services/session/service/index.d.ts +8 -4
  803. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  804. package/dist/src/backend/services/session/service/index.js +7 -3
  805. package/dist/src/backend/services/session/service/index.js.map +1 -1
  806. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -0
  807. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  808. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +6 -1
  809. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  810. package/dist/src/backend/services/session/service/lifecycle/adversarial-review-startup.test.d.ts +2 -0
  811. package/dist/src/backend/services/session/service/lifecycle/adversarial-review-startup.test.d.ts.map +1 -0
  812. package/dist/src/backend/services/session/service/lifecycle/adversarial-review-startup.test.js +310 -0
  813. package/dist/src/backend/services/session/service/lifecycle/adversarial-review-startup.test.js.map +1 -0
  814. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.d.ts +7 -0
  815. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.d.ts.map +1 -0
  816. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.js +4 -0
  817. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.js.map +1 -0
  818. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.test.d.ts +2 -0
  819. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.test.d.ts.map +1 -0
  820. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.test.js +56 -0
  821. package/dist/src/backend/services/session/service/lifecycle/claude-model-catalog.service.test.js.map +1 -0
  822. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.d.ts +2 -0
  823. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.d.ts.map +1 -1
  824. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.js +2 -1
  825. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.js.map +1 -1
  826. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.test.js +5 -0
  827. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.test.js.map +1 -1
  828. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts +2 -8
  829. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts.map +1 -1
  830. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js +2 -23
  831. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js.map +1 -1
  832. package/dist/src/backend/services/session/service/lifecycle/model-catalog-cache.d.ts +10 -0
  833. package/dist/src/backend/services/session/service/lifecycle/model-catalog-cache.d.ts.map +1 -0
  834. package/dist/src/backend/services/session/service/lifecycle/model-catalog-cache.js +25 -0
  835. package/dist/src/backend/services/session/service/lifecycle/model-catalog-cache.js.map +1 -0
  836. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.d.ts +57 -0
  837. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.d.ts.map +1 -0
  838. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.js +133 -0
  839. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.js.map +1 -0
  840. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.test.d.ts +2 -0
  841. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.test.d.ts.map +1 -0
  842. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.test.js +224 -0
  843. package/dist/src/backend/services/session/service/lifecycle/session-background-delivery.service.test.js.map +1 -0
  844. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +1 -5
  845. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -1
  846. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +2 -63
  847. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -1
  848. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +27 -101
  849. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -1
  850. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +5 -3
  851. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -1
  852. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +20 -8
  853. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -1
  854. package/dist/src/backend/services/session/service/lifecycle/session-legacy-runtime-exit.test.d.ts +2 -0
  855. package/dist/src/backend/services/session/service/lifecycle/session-legacy-runtime-exit.test.d.ts.map +1 -0
  856. package/dist/src/backend/services/session/service/lifecycle/session-legacy-runtime-exit.test.js +231 -0
  857. package/dist/src/backend/services/session/service/lifecycle/session-legacy-runtime-exit.test.js.map +1 -0
  858. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -1
  859. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +14 -8
  860. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -1
  861. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +26 -5
  862. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -1
  863. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +1 -0
  864. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -1
  865. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +3 -0
  866. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -1
  867. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js.map +1 -1
  868. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +7 -6
  869. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -1
  870. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +16 -16
  871. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -1
  872. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts +1 -1
  873. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -1
  874. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +3 -3
  875. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js.map +1 -1
  876. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js +10 -0
  877. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -1
  878. package/dist/src/backend/services/session/service/lifecycle/session-permission-policy.d.ts +7 -0
  879. package/dist/src/backend/services/session/service/lifecycle/session-permission-policy.d.ts.map +1 -0
  880. package/dist/src/backend/services/session/service/lifecycle/session-permission-policy.js +98 -0
  881. package/dist/src/backend/services/session/service/lifecycle/session-permission-policy.js.map +1 -0
  882. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.d.ts +2 -0
  883. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.d.ts.map +1 -0
  884. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.js +115 -0
  885. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.js.map +1 -0
  886. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.test.d.ts +2 -0
  887. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.test.d.ts.map +1 -0
  888. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.test.js +137 -0
  889. package/dist/src/backend/services/session/service/lifecycle/session-pr-receipt.test.js.map +1 -0
  890. package/dist/src/backend/services/session/service/lifecycle/session-pr-resume-config.d.ts +4 -0
  891. package/dist/src/backend/services/session/service/lifecycle/session-pr-resume-config.d.ts.map +1 -0
  892. package/dist/src/backend/services/session/service/lifecycle/session-pr-resume-config.js +38 -0
  893. package/dist/src/backend/services/session/service/lifecycle/session-pr-resume-config.js.map +1 -0
  894. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.d.ts.map +1 -1
  895. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.js +10 -1
  896. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.js.map +1 -1
  897. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.test.d.ts +2 -0
  898. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.test.d.ts.map +1 -0
  899. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.test.js +191 -0
  900. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.test.js.map +1 -0
  901. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.d.ts +16 -0
  902. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.d.ts.map +1 -0
  903. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.js +86 -0
  904. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.js.map +1 -0
  905. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.test.d.ts +2 -0
  906. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.test.d.ts.map +1 -0
  907. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.test.js +166 -0
  908. package/dist/src/backend/services/session/service/lifecycle/session-provider-identity.service.test.js.map +1 -0
  909. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +6 -4
  910. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -1
  911. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +26 -7
  912. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -1
  913. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +57 -6
  914. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -1
  915. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +3 -2
  916. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -1
  917. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +2 -2
  918. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
  919. package/dist/src/backend/services/session/service/lifecycle/session-services.js +3 -2
  920. package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
  921. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +18 -6
  922. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -1
  923. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +231 -80
  924. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -1
  925. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +20 -12
  926. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js.map +1 -1
  927. package/dist/src/backend/services/session/service/lifecycle/session-startup.guards.test.d.ts +2 -0
  928. package/dist/src/backend/services/session/service/lifecycle/session-startup.guards.test.d.ts.map +1 -0
  929. package/dist/src/backend/services/session/service/lifecycle/session-startup.guards.test.js +193 -0
  930. package/dist/src/backend/services/session/service/lifecycle/session-startup.guards.test.js.map +1 -0
  931. package/dist/src/backend/services/session/service/lifecycle/session-startup.pr-events.test.d.ts +2 -0
  932. package/dist/src/backend/services/session/service/lifecycle/session-startup.pr-events.test.d.ts.map +1 -0
  933. package/dist/src/backend/services/session/service/lifecycle/session-startup.pr-events.test.js +258 -0
  934. package/dist/src/backend/services/session/service/lifecycle/session-startup.pr-events.test.js.map +1 -0
  935. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +5 -4
  936. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -1
  937. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +50 -11
  938. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -1
  939. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +177 -8
  940. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js.map +1 -1
  941. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +1 -1
  942. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -1
  943. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +5 -3
  944. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -1
  945. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js +21 -3
  946. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -1
  947. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts +7 -0
  948. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts.map +1 -0
  949. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js +9 -0
  950. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js.map +1 -0
  951. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +2 -2
  952. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  953. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +37 -55
  954. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  955. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +9 -9
  956. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  957. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +2 -17
  958. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -1
  959. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +1 -4
  960. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  961. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +0 -4
  962. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  963. package/dist/src/backend/services/session/service/lifecycle/session.permission.question-classification.test.d.ts +2 -0
  964. package/dist/src/backend/services/session/service/lifecycle/session.permission.question-classification.test.d.ts.map +1 -0
  965. package/dist/src/backend/services/session/service/lifecycle/session.permission.question-classification.test.js +96 -0
  966. package/dist/src/backend/services/session/service/lifecycle/session.permission.question-classification.test.js.map +1 -0
  967. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +1 -2
  968. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  969. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +25 -46
  970. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  971. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +62 -0
  972. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  973. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts +0 -33
  974. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  975. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +0 -40
  976. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  977. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +2 -170
  978. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js.map +1 -1
  979. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +1 -1
  980. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js.map +1 -1
  981. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +9 -13
  982. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  983. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +58 -8
  984. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  985. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +77 -4
  986. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  987. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +1 -1
  988. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  989. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  990. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +8 -293
  991. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  992. package/dist/src/backend/services/session/service/session-domain.service.d.ts +7 -2
  993. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  994. package/dist/src/backend/services/session/service/session-domain.service.js +55 -15
  995. package/dist/src/backend/services/session/service/session-domain.service.js.map +1 -1
  996. package/dist/src/backend/services/session/service/session-domain.service.test.js +0 -7
  997. package/dist/src/backend/services/session/service/session-domain.service.test.js.map +1 -1
  998. package/dist/src/backend/services/session/service/session-resume-fence.d.ts +8 -0
  999. package/dist/src/backend/services/session/service/session-resume-fence.d.ts.map +1 -0
  1000. package/dist/src/backend/services/session/service/session-resume-fence.js +19 -0
  1001. package/dist/src/backend/services/session/service/session-resume-fence.js.map +1 -0
  1002. package/dist/src/backend/services/session/service/store/session-queue.d.ts.map +1 -1
  1003. package/dist/src/backend/services/session/service/store/session-queue.js +7 -1
  1004. package/dist/src/backend/services/session/service/store/session-queue.js.map +1 -1
  1005. package/dist/src/backend/services/session/service/store/session-replay-builder.d.ts.map +1 -1
  1006. package/dist/src/backend/services/session/service/store/session-replay-builder.js +2 -3
  1007. package/dist/src/backend/services/session/service/store/session-replay-builder.js.map +1 -1
  1008. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js +21 -0
  1009. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js.map +1 -1
  1010. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts +1 -0
  1011. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
  1012. package/dist/src/backend/services/session/service/store/session-store-registry.js +3 -0
  1013. package/dist/src/backend/services/session/service/store/session-store-registry.js.map +1 -1
  1014. package/dist/src/backend/services/session/service/store/session-store.types.d.ts +3 -0
  1015. package/dist/src/backend/services/session/service/store/session-store.types.d.ts.map +1 -1
  1016. package/dist/src/backend/services/session/service/store/session-transcript.d.ts.map +1 -1
  1017. package/dist/src/backend/services/session/service/store/session-transcript.js +16 -0
  1018. package/dist/src/backend/services/session/service/store/session-transcript.js.map +1 -1
  1019. package/dist/src/backend/services/session/service/store/session-transcript.test.js +27 -0
  1020. package/dist/src/backend/services/session/service/store/session-transcript.test.js.map +1 -1
  1021. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts +1 -0
  1022. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -1
  1023. package/dist/src/backend/services/session/service/voice/voice-narration.service.js +69 -19
  1024. package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -1
  1025. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +196 -113
  1026. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -1
  1027. package/dist/src/backend/services/session/types.d.ts +15 -0
  1028. package/dist/src/backend/services/session/types.d.ts.map +1 -1
  1029. package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts +8 -2
  1030. package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts.map +1 -1
  1031. package/dist/src/backend/services/settings/resources/data-backup.accessor.js +8 -1
  1032. package/dist/src/backend/services/settings/resources/data-backup.accessor.js.map +1 -1
  1033. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +11 -1
  1034. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  1035. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +47 -4
  1036. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  1037. package/dist/src/backend/services/settings/resources/user-settings.accessor.test.js +31 -0
  1038. package/dist/src/backend/services/settings/resources/user-settings.accessor.test.js.map +1 -1
  1039. package/dist/src/backend/services/settings/service/index.d.ts +1 -0
  1040. package/dist/src/backend/services/settings/service/index.d.ts.map +1 -1
  1041. package/dist/src/backend/services/settings/service/index.js.map +1 -1
  1042. package/dist/src/backend/services/settings/service/user-settings.service.d.ts +11 -1
  1043. package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -1
  1044. package/dist/src/backend/services/settings/service/user-settings.service.js.map +1 -1
  1045. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +0 -1
  1046. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -1
  1047. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  1048. package/dist/src/backend/services/workspace/resources/project.accessor.js +3 -0
  1049. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  1050. package/dist/src/backend/services/workspace/resources/project.accessor.test.js +24 -2
  1051. package/dist/src/backend/services/workspace/resources/project.accessor.test.js.map +1 -1
  1052. package/dist/src/backend/services/workspace/resources/workspace-pr-aggregate.accessor.d.ts +61 -0
  1053. package/dist/src/backend/services/workspace/resources/workspace-pr-aggregate.accessor.d.ts.map +1 -0
  1054. package/dist/src/backend/services/workspace/resources/workspace-pr-aggregate.accessor.js +35 -0
  1055. package/dist/src/backend/services/workspace/resources/workspace-pr-aggregate.accessor.js.map +1 -0
  1056. package/dist/src/backend/services/workspace/resources/workspace-pr-collection.accessor.integration.test.d.ts +2 -0
  1057. package/dist/src/backend/services/workspace/resources/workspace-pr-collection.accessor.integration.test.d.ts.map +1 -0
  1058. package/dist/src/backend/services/workspace/resources/workspace-pr-collection.accessor.integration.test.js +246 -0
  1059. package/dist/src/backend/services/workspace/resources/workspace-pr-collection.accessor.integration.test.js.map +1 -0
  1060. package/dist/src/backend/services/workspace/resources/workspace-pr-delivery-modes.accessor.integration.test.d.ts +2 -0
  1061. package/dist/src/backend/services/workspace/resources/workspace-pr-delivery-modes.accessor.integration.test.d.ts.map +1 -0
  1062. package/dist/src/backend/services/workspace/resources/workspace-pr-delivery-modes.accessor.integration.test.js +581 -0
  1063. package/dist/src/backend/services/workspace/resources/workspace-pr-delivery-modes.accessor.integration.test.js.map +1 -0
  1064. package/dist/src/backend/services/workspace/resources/workspace-pr-discovery.accessor.d.ts +73 -0
  1065. package/dist/src/backend/services/workspace/resources/workspace-pr-discovery.accessor.d.ts.map +1 -0
  1066. package/dist/src/backend/services/workspace/resources/workspace-pr-discovery.accessor.js +74 -0
  1067. package/dist/src/backend/services/workspace/resources/workspace-pr-discovery.accessor.js.map +1 -0
  1068. package/dist/src/backend/services/workspace/resources/workspace-pr-event.accessor.d.ts +66 -0
  1069. package/dist/src/backend/services/workspace/resources/workspace-pr-event.accessor.d.ts.map +1 -0
  1070. package/dist/src/backend/services/workspace/resources/workspace-pr-event.accessor.js +269 -0
  1071. package/dist/src/backend/services/workspace/resources/workspace-pr-event.accessor.js.map +1 -0
  1072. package/dist/src/backend/services/workspace/resources/workspace-pr-lifecycle.accessor.integration.test.d.ts +2 -0
  1073. package/dist/src/backend/services/workspace/resources/workspace-pr-lifecycle.accessor.integration.test.d.ts.map +1 -0
  1074. package/dist/src/backend/services/workspace/resources/workspace-pr-lifecycle.accessor.integration.test.js +410 -0
  1075. package/dist/src/backend/services/workspace/resources/workspace-pr-lifecycle.accessor.integration.test.js.map +1 -0
  1076. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.d.ts +151 -0
  1077. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.d.ts.map +1 -0
  1078. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.integration.test.d.ts +2 -0
  1079. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.integration.test.d.ts.map +1 -0
  1080. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.integration.test.js +250 -0
  1081. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.integration.test.js.map +1 -0
  1082. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.js +275 -0
  1083. package/dist/src/backend/services/workspace/resources/workspace-pr-monitoring.accessor.js.map +1 -0
  1084. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts +203 -24
  1085. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts.map +1 -1
  1086. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js +273 -164
  1087. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js.map +1 -1
  1088. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.js +14 -339
  1089. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.js.map +1 -1
  1090. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts +52 -42
  1091. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts.map +1 -1
  1092. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js +34 -176
  1093. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js.map +1 -1
  1094. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js +82 -334
  1095. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js.map +1 -1
  1096. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +61 -35
  1097. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  1098. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +80 -80
  1099. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  1100. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +76 -288
  1101. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  1102. package/dist/src/backend/services/workspace/service/bridges.d.ts +1 -1
  1103. package/dist/src/backend/services/workspace/service/bridges.d.ts.map +1 -1
  1104. package/dist/src/backend/services/workspace/service/index.d.ts +2 -2
  1105. package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
  1106. package/dist/src/backend/services/workspace/service/index.js +2 -2
  1107. package/dist/src/backend/services/workspace/service/index.js.map +1 -1
  1108. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +2 -0
  1109. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
  1110. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +30 -0
  1111. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
  1112. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +113 -0
  1113. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
  1114. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +35 -10
  1115. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  1116. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +143 -61
  1117. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  1118. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +4 -2
  1119. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js.map +1 -1
  1120. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-monitoring.service.d.ts +167 -0
  1121. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-monitoring.service.d.ts.map +1 -0
  1122. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-monitoring.service.js +23 -0
  1123. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-monitoring.service.js.map +1 -0
  1124. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +106 -2
  1125. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -1
  1126. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.integration.test.d.ts +2 -0
  1127. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.integration.test.d.ts.map +1 -0
  1128. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.integration.test.js +83 -0
  1129. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.integration.test.js.map +1 -0
  1130. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +24 -6
  1131. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js.map +1 -1
  1132. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js +2 -0
  1133. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js.map +1 -1
  1134. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +78 -43
  1135. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -1
  1136. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +1 -1
  1137. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -1
  1138. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js.map +1 -1
  1139. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +0 -15
  1140. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js.map +1 -1
  1141. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +0 -2
  1142. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  1143. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts +219 -54
  1144. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -1
  1145. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +1 -1
  1146. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js.map +1 -1
  1147. package/dist/src/backend/services/workspace/service/query/workspace-query-git.service.test.d.ts +2 -0
  1148. package/dist/src/backend/services/workspace/service/query/workspace-query-git.service.test.d.ts.map +1 -0
  1149. package/dist/src/backend/services/workspace/service/query/workspace-query-git.service.test.js +51 -0
  1150. package/dist/src/backend/services/workspace/service/query/workspace-query-git.service.test.js.map +1 -0
  1151. package/dist/src/backend/services/workspace/service/query/workspace-query-pr-sync.test.d.ts +2 -0
  1152. package/dist/src/backend/services/workspace/service/query/workspace-query-pr-sync.test.d.ts.map +1 -0
  1153. package/dist/src/backend/services/workspace/service/query/workspace-query-pr-sync.test.js +25 -0
  1154. package/dist/src/backend/services/workspace/service/query/workspace-query-pr-sync.test.js.map +1 -0
  1155. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +25 -1
  1156. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  1157. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +17 -7
  1158. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  1159. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +91 -56
  1160. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  1161. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-pr-equality.test.d.ts +2 -0
  1162. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-pr-equality.test.d.ts.map +1 -0
  1163. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-pr-equality.test.js +41 -0
  1164. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-pr-equality.test.js.map +1 -0
  1165. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.pr-monitoring.test.d.ts +2 -0
  1166. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.pr-monitoring.test.d.ts.map +1 -0
  1167. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.pr-monitoring.test.js +80 -0
  1168. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.pr-monitoring.test.js.map +1 -0
  1169. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts +7 -4
  1170. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -1
  1171. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js +21 -11
  1172. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -1
  1173. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js +24 -42
  1174. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js.map +1 -1
  1175. package/dist/src/backend/services/workspace/service/state/flow-state.d.ts +1 -21
  1176. package/dist/src/backend/services/workspace/service/state/flow-state.d.ts.map +1 -1
  1177. package/dist/src/backend/services/workspace/service/state/flow-state.js +1 -107
  1178. package/dist/src/backend/services/workspace/service/state/flow-state.js.map +1 -1
  1179. package/dist/src/backend/services/workspace/service/state/pending-request-type.d.ts +1 -0
  1180. package/dist/src/backend/services/workspace/service/state/pending-request-type.d.ts.map +1 -1
  1181. package/dist/src/backend/services/workspace/service/state/pending-request-type.js +1 -1
  1182. package/dist/src/backend/services/workspace/service/state/pending-request-type.js.map +1 -1
  1183. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js +30 -2
  1184. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js.map +1 -1
  1185. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +2 -2
  1186. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
  1187. package/dist/src/backend/services/workspace/service/worktree/git-clone.case-sensitivity.test.d.ts +2 -0
  1188. package/dist/src/backend/services/workspace/service/worktree/git-clone.case-sensitivity.test.d.ts.map +1 -0
  1189. package/dist/src/backend/services/workspace/service/worktree/git-clone.case-sensitivity.test.js +98 -0
  1190. package/dist/src/backend/services/workspace/service/worktree/git-clone.case-sensitivity.test.js.map +1 -0
  1191. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts +16 -17
  1192. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts.map +1 -1
  1193. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js +94 -45
  1194. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js.map +1 -1
  1195. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.test.js +269 -0
  1196. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.test.js.map +1 -1
  1197. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -1
  1198. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js +12 -1
  1199. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -1
  1200. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +15 -0
  1201. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  1202. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +1 -1
  1203. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js.map +1 -1
  1204. package/dist/src/backend/services/workspace/types.d.ts +6 -1
  1205. package/dist/src/backend/services/workspace/types.d.ts.map +1 -1
  1206. package/dist/src/backend/services/workspace-git-state.service.js +1 -1
  1207. package/dist/src/backend/services/workspace-git-state.service.js.map +1 -1
  1208. package/dist/src/backend/testing/check-lint-suppressions-script.test.d.ts +2 -0
  1209. package/dist/src/backend/testing/check-lint-suppressions-script.test.d.ts.map +1 -0
  1210. package/dist/src/backend/testing/check-lint-suppressions-script.test.js +120 -0
  1211. package/dist/src/backend/testing/check-lint-suppressions-script.test.js.map +1 -0
  1212. package/dist/src/backend/testing/dependency-security-patches.test.d.ts +2 -0
  1213. package/dist/src/backend/testing/dependency-security-patches.test.d.ts.map +1 -0
  1214. package/dist/src/backend/testing/dependency-security-patches.test.js +60 -0
  1215. package/dist/src/backend/testing/dependency-security-patches.test.js.map +1 -0
  1216. package/dist/src/backend/testing/integration-db.d.ts.map +1 -1
  1217. package/dist/src/backend/testing/integration-db.js +1 -1
  1218. package/dist/src/backend/testing/integration-db.js.map +1 -1
  1219. package/dist/src/backend/testing/lint-migration-parity.test.d.ts +2 -0
  1220. package/dist/src/backend/testing/lint-migration-parity.test.d.ts.map +1 -0
  1221. package/dist/src/backend/testing/lint-migration-parity.test.js +71 -0
  1222. package/dist/src/backend/testing/lint-migration-parity.test.js.map +1 -0
  1223. package/dist/src/backend/testing/npm-publish-workflow.test.js +2 -1
  1224. package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -1
  1225. package/dist/src/backend/testing/oxlint-factory-rules.test.d.ts +2 -0
  1226. package/dist/src/backend/testing/oxlint-factory-rules.test.d.ts.map +1 -0
  1227. package/dist/src/backend/testing/oxlint-factory-rules.test.js +71 -0
  1228. package/dist/src/backend/testing/oxlint-factory-rules.test.js.map +1 -0
  1229. package/dist/src/backend/testing/pr-projection-fixture.d.ts +18 -0
  1230. package/dist/src/backend/testing/pr-projection-fixture.d.ts.map +1 -0
  1231. package/dist/src/backend/testing/pr-projection-fixture.js +11 -0
  1232. package/dist/src/backend/testing/pr-projection-fixture.js.map +1 -0
  1233. package/dist/src/backend/trpc/admin.router.test.js +37 -1
  1234. package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
  1235. package/dist/src/backend/trpc/admin.trpc.d.ts +1952 -5
  1236. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  1237. package/dist/src/backend/trpc/admin.trpc.js +2 -2
  1238. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  1239. package/dist/src/backend/trpc/adversarial-review.trpc.d.ts +26 -0
  1240. package/dist/src/backend/trpc/adversarial-review.trpc.d.ts.map +1 -0
  1241. package/dist/src/backend/trpc/adversarial-review.trpc.js +10 -0
  1242. package/dist/src/backend/trpc/adversarial-review.trpc.js.map +1 -0
  1243. package/dist/src/backend/trpc/github.router.test.js +0 -37
  1244. package/dist/src/backend/trpc/github.router.test.js.map +1 -1
  1245. package/dist/src/backend/trpc/github.trpc.d.ts +0 -29
  1246. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  1247. package/dist/src/backend/trpc/github.trpc.js +0 -56
  1248. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  1249. package/dist/src/backend/trpc/index.d.ts +2181 -235
  1250. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  1251. package/dist/src/backend/trpc/index.js +2 -0
  1252. package/dist/src/backend/trpc/index.js.map +1 -1
  1253. package/dist/src/backend/trpc/model-catalog.integration.test.js +1 -1
  1254. package/dist/src/backend/trpc/model-catalog.integration.test.js.map +1 -1
  1255. package/dist/src/backend/trpc/project.router.test.js +85 -10
  1256. package/dist/src/backend/trpc/project.router.test.js.map +1 -1
  1257. package/dist/src/backend/trpc/project.slash-command-precedence.test.d.ts +2 -0
  1258. package/dist/src/backend/trpc/project.slash-command-precedence.test.d.ts.map +1 -0
  1259. package/dist/src/backend/trpc/project.slash-command-precedence.test.js +69 -0
  1260. package/dist/src/backend/trpc/project.slash-command-precedence.test.js.map +1 -0
  1261. package/dist/src/backend/trpc/project.trpc.d.ts +9 -8
  1262. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  1263. package/dist/src/backend/trpc/project.trpc.js +10 -7
  1264. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  1265. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  1266. package/dist/src/backend/trpc/session.trpc.d.ts +1 -1
  1267. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  1268. package/dist/src/backend/trpc/trpc.js +1 -1
  1269. package/dist/src/backend/trpc/trpc.js.map +1 -1
  1270. package/dist/src/backend/trpc/user-settings.router.test.js +66 -10
  1271. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  1272. package/dist/src/backend/trpc/user-settings.trpc.d.ts +33 -3
  1273. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  1274. package/dist/src/backend/trpc/user-settings.trpc.js +18 -7
  1275. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  1276. package/dist/src/backend/trpc/voice.trpc.d.ts.map +1 -1
  1277. package/dist/src/backend/trpc/voice.trpc.js +6 -3
  1278. package/dist/src/backend/trpc/voice.trpc.js.map +1 -1
  1279. package/dist/src/backend/trpc/voice.trpc.test.js +27 -8
  1280. package/dist/src/backend/trpc/voice.trpc.test.js.map +1 -1
  1281. package/dist/src/backend/trpc/workspace/children.trpc.d.ts +22 -1
  1282. package/dist/src/backend/trpc/workspace/children.trpc.d.ts.map +1 -1
  1283. package/dist/src/backend/trpc/workspace/children.trpc.js +5 -1
  1284. package/dist/src/backend/trpc/workspace/children.trpc.js.map +1 -1
  1285. package/dist/src/backend/trpc/workspace/init.router.test.js +38 -1
  1286. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  1287. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +36 -18
  1288. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  1289. package/dist/src/backend/trpc/workspace/init.trpc.js +20 -14
  1290. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  1291. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +70 -35
  1292. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  1293. package/dist/src/backend/trpc/workspace-pr-actions.test.d.ts +2 -0
  1294. package/dist/src/backend/trpc/workspace-pr-actions.test.d.ts.map +1 -0
  1295. package/dist/src/backend/trpc/workspace-pr-actions.test.js +44 -0
  1296. package/dist/src/backend/trpc/workspace-pr-actions.test.js.map +1 -0
  1297. package/dist/src/backend/trpc/workspace.router.test.js +48 -5
  1298. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  1299. package/dist/src/backend/trpc/workspace.trpc.d.ts +268 -363
  1300. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  1301. package/dist/src/backend/trpc/workspace.trpc.js +67 -49
  1302. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  1303. package/dist/src/shared/acp-protocol/protocol/messages.d.ts +1 -1
  1304. package/dist/src/shared/acp-protocol/protocol/messages.d.ts.map +1 -1
  1305. package/dist/src/shared/acp-protocol/protocol/messages.js +1 -0
  1306. package/dist/src/shared/acp-protocol/protocol/messages.js.map +1 -1
  1307. package/dist/src/shared/acp-protocol/protocol/queued.d.ts +5 -0
  1308. package/dist/src/shared/acp-protocol/protocol/queued.d.ts.map +1 -1
  1309. package/dist/src/shared/acp-protocol/question-input.d.ts +9 -0
  1310. package/dist/src/shared/acp-protocol/question-input.d.ts.map +1 -0
  1311. package/dist/src/shared/acp-protocol/question-input.js +34 -0
  1312. package/dist/src/shared/acp-protocol/question-input.js.map +1 -0
  1313. package/dist/src/shared/adversarial-review.d.ts +4 -0
  1314. package/dist/src/shared/adversarial-review.d.ts.map +1 -0
  1315. package/dist/src/shared/adversarial-review.js +6 -0
  1316. package/dist/src/shared/adversarial-review.js.map +1 -0
  1317. package/dist/src/shared/appearance.d.ts +69 -0
  1318. package/dist/src/shared/appearance.d.ts.map +1 -0
  1319. package/dist/src/shared/appearance.js +151 -0
  1320. package/dist/src/shared/appearance.js.map +1 -0
  1321. package/dist/src/shared/chat-capabilities.d.ts +0 -16
  1322. package/dist/src/shared/chat-capabilities.d.ts.map +1 -1
  1323. package/dist/src/shared/chat-capabilities.js +0 -113
  1324. package/dist/src/shared/chat-capabilities.js.map +1 -1
  1325. package/dist/src/shared/core/index.d.ts +1 -1
  1326. package/dist/src/shared/core/index.d.ts.map +1 -1
  1327. package/dist/src/shared/core/index.js +1 -1
  1328. package/dist/src/shared/core/index.js.map +1 -1
  1329. package/dist/src/shared/core/workspace-sidebar-status.d.ts +4 -1
  1330. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
  1331. package/dist/src/shared/core/workspace-sidebar-status.js +1 -25
  1332. package/dist/src/shared/core/workspace-sidebar-status.js.map +1 -1
  1333. package/dist/src/shared/deepgram-voices.d.ts +7 -3
  1334. package/dist/src/shared/deepgram-voices.d.ts.map +1 -1
  1335. package/dist/src/shared/deepgram-voices.js +62 -45
  1336. package/dist/src/shared/deepgram-voices.js.map +1 -1
  1337. package/dist/src/shared/github-types.d.ts +4 -1
  1338. package/dist/src/shared/github-types.d.ts.map +1 -1
  1339. package/dist/src/shared/github-url.d.ts +6 -0
  1340. package/dist/src/shared/github-url.d.ts.map +1 -0
  1341. package/dist/src/shared/github-url.js +20 -0
  1342. package/dist/src/shared/github-url.js.map +1 -0
  1343. package/dist/src/shared/issue-start-prompt.d.ts.map +1 -1
  1344. package/dist/src/shared/issue-start-prompt.js +6 -160
  1345. package/dist/src/shared/issue-start-prompt.js.map +1 -1
  1346. package/dist/src/shared/kanban-column-projection.d.ts.map +1 -1
  1347. package/dist/src/shared/kanban-column-projection.js +6 -1
  1348. package/dist/src/shared/kanban-column-projection.js.map +1 -1
  1349. package/dist/src/shared/pending-request-types.d.ts +2 -7
  1350. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  1351. package/dist/src/shared/pending-request-types.js +1 -14
  1352. package/dist/src/shared/pending-request-types.js.map +1 -1
  1353. package/dist/src/shared/pr-monitoring.d.ts +67 -0
  1354. package/dist/src/shared/pr-monitoring.d.ts.map +1 -0
  1355. package/dist/src/shared/pr-monitoring.js +159 -0
  1356. package/dist/src/shared/pr-monitoring.js.map +1 -0
  1357. package/dist/src/shared/pr-monitoring.test-helpers.d.ts +3 -0
  1358. package/dist/src/shared/pr-monitoring.test-helpers.d.ts.map +1 -0
  1359. package/dist/src/shared/pr-monitoring.test-helpers.js +29 -0
  1360. package/dist/src/shared/pr-monitoring.test-helpers.js.map +1 -0
  1361. package/dist/src/shared/schemas/export-data-pr-validation.d.ts +39 -0
  1362. package/dist/src/shared/schemas/export-data-pr-validation.d.ts.map +1 -0
  1363. package/dist/src/shared/schemas/export-data-pr-validation.js +67 -0
  1364. package/dist/src/shared/schemas/export-data-pr-validation.js.map +1 -0
  1365. package/dist/src/shared/schemas/export-data.schema.d.ts +4056 -13
  1366. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  1367. package/dist/src/shared/schemas/export-data.schema.js +208 -9
  1368. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  1369. package/dist/src/shared/schemas/pr-event.schema.d.ts +898 -0
  1370. package/dist/src/shared/schemas/pr-event.schema.d.ts.map +1 -0
  1371. package/dist/src/shared/schemas/pr-event.schema.js +76 -0
  1372. package/dist/src/shared/schemas/pr-event.schema.js.map +1 -0
  1373. package/dist/src/shared/schemas/pr-monitoring-backup.schema.d.ts +531 -0
  1374. package/dist/src/shared/schemas/pr-monitoring-backup.schema.d.ts.map +1 -0
  1375. package/dist/src/shared/schemas/pr-monitoring-backup.schema.js +76 -0
  1376. package/dist/src/shared/schemas/pr-monitoring-backup.schema.js.map +1 -0
  1377. package/dist/src/shared/websocket/chat-message.schema.d.ts +1 -0
  1378. package/dist/src/shared/websocket/chat-message.schema.d.ts.map +1 -1
  1379. package/dist/src/shared/websocket/chat-message.schema.js +5 -1
  1380. package/dist/src/shared/websocket/chat-message.schema.js.map +1 -1
  1381. package/dist/src/shared/workspace-flow-state.d.ts +21 -0
  1382. package/dist/src/shared/workspace-flow-state.d.ts.map +1 -1
  1383. package/dist/src/shared/workspace-flow-state.js +116 -0
  1384. package/dist/src/shared/workspace-flow-state.js.map +1 -1
  1385. package/dist/src/shared/workspace-pr-summary.d.ts +35 -0
  1386. package/dist/src/shared/workspace-pr-summary.d.ts.map +1 -0
  1387. package/dist/src/shared/workspace-pr-summary.js +62 -0
  1388. package/dist/src/shared/workspace-pr-summary.js.map +1 -0
  1389. package/dist/src/shared/workspace-pr.d.ts +29 -0
  1390. package/dist/src/shared/workspace-pr.d.ts.map +1 -0
  1391. package/dist/src/shared/workspace-pr.js +16 -0
  1392. package/dist/src/shared/workspace-pr.js.map +1 -0
  1393. package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
  1394. package/dist/src/shared/workspace-sidebar-status.d.ts.map +1 -1
  1395. package/dist/src/shared/workspace-sidebar-status.js +1 -1
  1396. package/dist/src/shared/workspace-sidebar-status.js.map +1 -1
  1397. package/dist/src/shared/workspace-snapshot.d.ts +360 -35
  1398. package/dist/src/shared/workspace-snapshot.d.ts.map +1 -1
  1399. package/dist/src/shared/workspace-snapshot.js +22 -4
  1400. package/dist/src/shared/workspace-snapshot.js.map +1 -1
  1401. package/dist/src/shared/workspace-status-reason.d.ts +3 -1
  1402. package/dist/src/shared/workspace-status-reason.d.ts.map +1 -1
  1403. package/dist/src/shared/workspace-status-reason.js +29 -7
  1404. package/dist/src/shared/workspace-status-reason.js.map +1 -1
  1405. package/dist/src/test-utils/application-graph.d.ts +0 -6
  1406. package/dist/src/test-utils/application-graph.d.ts.map +1 -1
  1407. package/dist/src/test-utils/application-graph.js +21 -17
  1408. package/dist/src/test-utils/application-graph.js.map +1 -1
  1409. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  1410. package/package.json +99 -77
  1411. package/prisma/migrations/20260904150539_upgrade_deepgram_flux_tts/migration.sql +43 -0
  1412. package/prisma/migrations/20260916235822_add_adversarial_review_settings/migration.sql +42 -0
  1413. package/prisma/migrations/20261008120000_multiple_workspace_prs/migration.sql +49 -0
  1414. package/prisma/migrations/20261008130000_pr_event_ledger/migration.sql +43 -0
  1415. package/prisma/migrations/20261008140000_pr_monitoring_cutover/migration.sql +18 -0
  1416. package/prisma/migrations/20261008150000_pr_delivery_identity/migration.sql +3 -0
  1417. package/prisma/migrations/20261009120000_pr_delivery_modes/migration.sql +10 -0
  1418. package/prisma/migrations/20261011120000_add_appearance_settings/migration.sql +7 -0
  1419. package/prisma/schema.prisma +105 -97
  1420. package/prompts/adversarial-review/dispatch.md +93 -0
  1421. package/prompts/quick-actions/fetch-rebase.md +5 -9
  1422. package/prompts/quick-actions/rename-branch.md +4 -8
  1423. package/prompts/quick-actions/review.md +6 -5
  1424. package/prompts/quick-actions/screenshots.md +7 -20
  1425. package/prompts/quick-actions/simplify.md +4 -1
  1426. package/scripts/postinstall.mjs +62 -67
  1427. package/dist/client/assets/Archive.es-CGY-HOtI.js +0 -1
  1428. package/dist/client/assets/ArrowLeft.es-BkuVunBb.js +0 -1
  1429. package/dist/client/assets/abnfDiagram-VCTEODGH-B2jWIJ_F.js +0 -1
  1430. package/dist/client/assets/admin-page-DSQHBVdP.js +0 -1
  1431. package/dist/client/assets/alert-PePzkOCj.js +0 -1
  1432. package/dist/client/assets/alert-dialog-BgqiS2Mp.js +0 -1
  1433. package/dist/client/assets/arc-Pry-7G1_.js +0 -1
  1434. package/dist/client/assets/architecture-7GRP2DOG-iqZodW6v.js +0 -1
  1435. package/dist/client/assets/architectureDiagram-5GKGNRK7-CV8YjPRr.js +0 -36
  1436. package/dist/client/assets/badge-BESbZ2wy.js +0 -1
  1437. package/dist/client/assets/blockDiagram-I7D4REHJ-BdQWAITV.js +0 -129
  1438. package/dist/client/assets/c4Diagram-7LVT6UL2-Dp1ETdzU.js +0 -38
  1439. package/dist/client/assets/channel-CuF41sy9.js +0 -1
  1440. package/dist/client/assets/chunk-4HAMMTFA-BXRLulFZ.js +0 -62
  1441. package/dist/client/assets/chunk-75Z2AOVW-FUHgKXYa.js +0 -2
  1442. package/dist/client/assets/chunk-DU6HZSFF-nxkO_ute.js +0 -127
  1443. package/dist/client/assets/chunk-F27PBJKO-Dal8QxK3.js +0 -1
  1444. package/dist/client/assets/chunk-FOHPRMQF-CoA4358r.js +0 -161
  1445. package/dist/client/assets/chunk-GMAD6QVW-B_VbYl2S.js +0 -72
  1446. package/dist/client/assets/chunk-GVQU2GXP-DobNOfAy.js +0 -1
  1447. package/dist/client/assets/chunk-IMKFNOWR-D_P1eTAa.js +0 -231
  1448. package/dist/client/assets/chunk-L3NEJ4N5-CZpV3_Q0.js +0 -1
  1449. package/dist/client/assets/chunk-OSK3NFVY-e3uqzkQq.js +0 -10
  1450. package/dist/client/assets/chunk-P2QGCYS3-B1FUAlmg.js +0 -1
  1451. package/dist/client/assets/chunk-POPQ4Y6H-BKVSxG-w.js +0 -1
  1452. package/dist/client/assets/chunk-PWAF6VOD-DQe8ztwz.js +0 -1
  1453. package/dist/client/assets/chunk-SHT3W25Y-D8Ie2IK_.js +0 -168
  1454. package/dist/client/assets/chunk-SVP7TREG-_l4ZFWYL.js +0 -88
  1455. package/dist/client/assets/chunk-TICWLB2K-BfcOBlR4.js +0 -206
  1456. package/dist/client/assets/chunk-XXDRQBXY-DqAYeljN.js +0 -1
  1457. package/dist/client/assets/ci-status-ChifTKM1.js +0 -1
  1458. package/dist/client/assets/classDiagram-ZZMXUADV-CSnIdOhD.js +0 -1
  1459. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CSnIdOhD.js +0 -1
  1460. package/dist/client/assets/components-CYsyoHP0.js +0 -1
  1461. package/dist/client/assets/confirm-dialog-BAfboPjS.js +0 -1
  1462. package/dist/client/assets/core-DW1Rn28Z.js +0 -1
  1463. package/dist/client/assets/cose-bilkent-JH36ORCC-BbJNf1Rj.js +0 -1
  1464. package/dist/client/assets/cynefin-OW5HDTMX-B7JP5WcM.js +0 -1
  1465. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-B5jcLvUi.js +0 -62
  1466. package/dist/client/assets/cytoscape.esm-B-1iW2ft.js +0 -321
  1467. package/dist/client/assets/dagre-C-rnJpZF.js +0 -1
  1468. package/dist/client/assets/dagre-GXQ25YYZ-CFkt7lun.js +0 -4
  1469. package/dist/client/assets/data-import-button-D-ZWnQAg.js +0 -6
  1470. package/dist/client/assets/detail-C1zBkWd-.js +0 -1
  1471. package/dist/client/assets/diagram-S7CK7UJ4-DpT9R2w0.js +0 -30
  1472. package/dist/client/assets/diagram-UQ7AKVKN-DAy1Fpaf.js +0 -41
  1473. package/dist/client/assets/diagram-VSXAHHWV-Co-NFSf3.js +0 -3
  1474. package/dist/client/assets/diagram-VX7I27RA-CaIWof2e.js +0 -24
  1475. package/dist/client/assets/diagram-Z3DM3KII-BpcVyNtl.js +0 -24
  1476. package/dist/client/assets/diff-highlight.worker-C-7SSG_d.js +0 -55
  1477. package/dist/client/assets/dist-BiFeezwN.js +0 -1
  1478. package/dist/client/assets/dist-Dtgf0TOg.js +0 -41
  1479. package/dist/client/assets/dist-v5Q1xZ2K.js +0 -1
  1480. package/dist/client/assets/ebnfDiagram-PWID7BFC-CS26Rt0p.js +0 -1
  1481. package/dist/client/assets/en-US-SlQiGO_s.js +0 -1
  1482. package/dist/client/assets/erDiagram-RLTQ6QDP-DsdFXV4-.js +0 -99
  1483. package/dist/client/assets/eventmodeling-NTZA5JFV-C4d4RnR4.js +0 -1
  1484. package/dist/client/assets/factory-config-scripts-BoDNVi6q.js +0 -1
  1485. package/dist/client/assets/flowDiagram-HODETNUW-Df-T-03y.js +0 -1
  1486. package/dist/client/assets/ganttDiagram-EL5Y4UJY-D_b7Bn-J.js +0 -292
  1487. package/dist/client/assets/gitGraph-4MIJSDKK-De5ASUSY.js +0 -1
  1488. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BHMJvUNJ.js +0 -106
  1489. package/dist/client/assets/home-DjDt91tt.js +0 -1
  1490. package/dist/client/assets/hooks-BTcY6K1q.js +0 -1
  1491. package/dist/client/assets/index-CpFffknJ.css +0 -2
  1492. package/dist/client/assets/index-D34fUfAP.js +0 -10
  1493. package/dist/client/assets/info-A6RAGUB7-DNiM6MW6.js +0 -1
  1494. package/dist/client/assets/infoDiagram-27XIBGKW-4g58w-zo.js +0 -2
  1495. package/dist/client/assets/ishikawaDiagram-5VMMS53U-DO7_eJ6Q.js +0 -70
  1496. package/dist/client/assets/journeyDiagram-3NMN7TZE-6CJtdIGo.js +0 -139
  1497. package/dist/client/assets/jsx-runtime-DE3RlOCf.js +0 -1
  1498. package/dist/client/assets/kanban-definition-UXKFOSKX-D211MzXr.js +0 -89
  1499. package/dist/client/assets/katex-ZlcWpGUi.js +0 -257
  1500. package/dist/client/assets/label-CI3jpwv-.js +0 -1
  1501. package/dist/client/assets/lib-DyBYhPHb.js +0 -1
  1502. package/dist/client/assets/line-DotOMT4o.js +0 -1
  1503. package/dist/client/assets/linear-SzVmGSw4.js +0 -1
  1504. package/dist/client/assets/list-DozL_ZP-.js +0 -184
  1505. package/dist/client/assets/list-bUzF8ozJ.js +0 -1
  1506. package/dist/client/assets/logs-CjKXHkrB.js +0 -1
  1507. package/dist/client/assets/mermaid-diagram-CESNj6Ju.js +0 -44
  1508. package/dist/client/assets/mermaid-parser.core-DK0kgowR.js +0 -7
  1509. package/dist/client/assets/mindmap-definition-YA3MSWOX-DF5ewLZ5.js +0 -96
  1510. package/dist/client/assets/mobile-baseline-B0PakiKB.js +0 -10
  1511. package/dist/client/assets/new-C3e5S62x.js +0 -1
  1512. package/dist/client/assets/new-CCDeoRvw.js +0 -1
  1513. package/dist/client/assets/packet-AYTQ26CC-C4EHUAzU.js +0 -1
  1514. package/dist/client/assets/page-header-BCpV1oUO.js +0 -1
  1515. package/dist/client/assets/pegDiagram-XKGWAZYB-_WrA16pJ.js +0 -1
  1516. package/dist/client/assets/pie-WAS4IAKB-BkSTK6KM.js +0 -1
  1517. package/dist/client/assets/pieDiagram-E7YTZNPT-CUR0mgrL.js +0 -39
  1518. package/dist/client/assets/popover-D-6mugCQ.js +0 -1
  1519. package/dist/client/assets/pr-inbox-item-vOH1gfSf.js +0 -2
  1520. package/dist/client/assets/preload-helper-Czpn1I53.js +0 -1
  1521. package/dist/client/assets/project-repo-form-DjzRbY9O.js +0 -1
  1522. package/dist/client/assets/provider-cli-warning-LYUDO_5Y.js +0 -1
  1523. package/dist/client/assets/quadrantDiagram-AXDQQJYC-QXmh8FnA.js +0 -7
  1524. package/dist/client/assets/radar-RG4KPBEZ-ymOfNW7I.js +0 -1
  1525. package/dist/client/assets/radio-group-CcAx51bT.js +0 -1
  1526. package/dist/client/assets/railroad-74A4TZTK-CwWB40du.js +0 -1
  1527. package/dist/client/assets/railroad-abnf-HS5TGJTU-DGUx-UBP.js +0 -1
  1528. package/dist/client/assets/railroad-ebnf-LZEXJU2U-isA18bJo.js +0 -1
  1529. package/dist/client/assets/railroad-peg-WCYAUIDC-Qz11I2dz.js +0 -1
  1530. package/dist/client/assets/railroadDiagram-O6MQD6OU-O7DCuidl.js +0 -1
  1531. package/dist/client/assets/redirect-CNaRFL8d.js +0 -1
  1532. package/dist/client/assets/requirementDiagram-BXWQKSXE-BajIi2rw.js +0 -84
  1533. package/dist/client/assets/reviews-B04-ADI9.js +0 -1
  1534. package/dist/client/assets/rolldown-runtime-hePW80VL.js +0 -1
  1535. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CnR7slVB.js +0 -40
  1536. package/dist/client/assets/select-BgEObL9n.js +0 -1
  1537. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BUxl34n_.js +0 -162
  1538. package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
  1539. package/dist/client/assets/spinner-ASaPCL5c.js +0 -1
  1540. package/dist/client/assets/src-B6xuSHsQ.js +0 -1
  1541. package/dist/client/assets/startup-script-form-c7w0nnHp.js +0 -1
  1542. package/dist/client/assets/stateDiagram-D77RDMKH-aFuhfmKp.js +0 -1
  1543. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C3HBCmSp.js +0 -1
  1544. package/dist/client/assets/swimlanes-42K2YHIH-BccYx63r.js +0 -1
  1545. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DXqJPUvi.js +0 -8
  1546. package/dist/client/assets/table-wIG3osPW.js +0 -1
  1547. package/dist/client/assets/tabs-Cn3M4k-N.js +0 -1
  1548. package/dist/client/assets/terminal-instance-7W1Sdy6P.js +0 -16
  1549. package/dist/client/assets/textarea-BVHmIkCM.js +0 -1
  1550. package/dist/client/assets/timeline-definition-24CTP7MA-CM_waoCp.js +0 -120
  1551. package/dist/client/assets/tooltip-DCH0jP98.js +0 -1
  1552. package/dist/client/assets/treeView-Q6P3EWNA-CkV-8YWk.js +0 -1
  1553. package/dist/client/assets/treemap-WGGIJYW6-L1FedAzz.js +0 -1
  1554. package/dist/client/assets/trpc-X4t2_jd5.js +0 -1
  1555. package/dist/client/assets/use-auto-scroll-QQMmbsX-.js +0 -1
  1556. package/dist/client/assets/use-download-server-log-Bag_Et_8.js +0 -1
  1557. package/dist/client/assets/use-project-header-navigation-BXqLQ4G_.js +0 -1
  1558. package/dist/client/assets/use-websocket-channel-DW9rsEG5.js +0 -4
  1559. package/dist/client/assets/use-websocket-transport-BT1hhmkl.js +0 -50
  1560. package/dist/client/assets/vbnet-CrqJJ08J.js +0 -57
  1561. package/dist/client/assets/vennDiagram-4TSXK5OY-Djoofmfi.js +0 -34
  1562. package/dist/client/assets/wardley-WFR3VGLG-BU-g6L7U.js +0 -1
  1563. package/dist/client/assets/wardleyDiagram-VM6X3IG4-DZNgTneT.js +0 -78
  1564. package/dist/client/assets/workspace-CsQCO4D_.js +0 -18
  1565. package/dist/client/assets/xychartDiagram-S5SC5T6Z-WTubjsZj.js +0 -7
  1566. package/dist/prisma/generated/models/WorkspaceRatchet.d.ts +0 -625
  1567. package/dist/prisma/generated/models/WorkspaceRatchet.d.ts.map +0 -1
  1568. package/dist/prisma/generated/models/WorkspaceRatchet.js +0 -2
  1569. package/dist/prisma/generated/models/WorkspaceRatchet.js.map +0 -1
  1570. package/dist/prompts/ratchet/dispatch.md +0 -52
  1571. package/dist/prompts/workflows/bugfix.md +0 -86
  1572. package/dist/prompts/workflows/ci-fix.md +0 -52
  1573. package/dist/prompts/workflows/explore.md +0 -54
  1574. package/dist/prompts/workflows/feature.md +0 -80
  1575. package/dist/prompts/workflows/followup.md +0 -32
  1576. package/dist/prompts/workflows/pr-review-fix.md +0 -50
  1577. package/dist/src/backend/prompts/ratchet-dispatch.d.ts +0 -14
  1578. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +0 -1
  1579. package/dist/src/backend/prompts/ratchet-dispatch.js +0 -146
  1580. package/dist/src/backend/prompts/ratchet-dispatch.js.map +0 -1
  1581. package/dist/src/backend/prompts/ratchet-dispatch.test.d.ts +0 -2
  1582. package/dist/src/backend/prompts/ratchet-dispatch.test.d.ts.map +0 -1
  1583. package/dist/src/backend/prompts/ratchet-dispatch.test.js +0 -144
  1584. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +0 -1
  1585. package/dist/src/backend/prompts/workflows.d.ts +0 -14
  1586. package/dist/src/backend/prompts/workflows.d.ts.map +0 -1
  1587. package/dist/src/backend/prompts/workflows.js +0 -47
  1588. package/dist/src/backend/prompts/workflows.js.map +0 -1
  1589. package/dist/src/backend/prompts/workflows.test.d.ts +0 -2
  1590. package/dist/src/backend/prompts/workflows.test.d.ts.map +0 -1
  1591. package/dist/src/backend/prompts/workflows.test.js +0 -128
  1592. package/dist/src/backend/prompts/workflows.test.js.map +0 -1
  1593. package/dist/src/backend/services/ratchet/service/bridges.d.ts +0 -157
  1594. package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +0 -1
  1595. package/dist/src/backend/services/ratchet/service/bridges.js +0 -2
  1596. package/dist/src/backend/services/ratchet/service/bridges.js.map +0 -1
  1597. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts +0 -61
  1598. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +0 -1
  1599. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +0 -234
  1600. package/dist/src/backend/services/ratchet/service/fixer-session.service.js.map +0 -1
  1601. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.d.ts +0 -2
  1602. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.d.ts.map +0 -1
  1603. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +0 -336
  1604. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js.map +0 -1
  1605. package/dist/src/backend/services/ratchet/service/provider-selection.d.ts +0 -6
  1606. package/dist/src/backend/services/ratchet/service/provider-selection.d.ts.map +0 -1
  1607. package/dist/src/backend/services/ratchet/service/provider-selection.js +0 -6
  1608. package/dist/src/backend/services/ratchet/service/provider-selection.js.map +0 -1
  1609. package/dist/src/backend/services/ratchet/service/provider-selection.test.d.ts +0 -2
  1610. package/dist/src/backend/services/ratchet/service/provider-selection.test.d.ts.map +0 -1
  1611. package/dist/src/backend/services/ratchet/service/provider-selection.test.js +0 -23
  1612. package/dist/src/backend/services/ratchet/service/provider-selection.test.js.map +0 -1
  1613. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts +0 -13
  1614. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts.map +0 -1
  1615. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +0 -134
  1616. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js.map +0 -1
  1617. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +0 -61
  1618. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts.map +0 -1
  1619. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +0 -79
  1620. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js.map +0 -1
  1621. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.d.ts +0 -2
  1622. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.d.ts.map +0 -1
  1623. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.js +0 -11
  1624. package/dist/src/backend/services/ratchet/service/ratchet-domain-exports.test.js.map +0 -1
  1625. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts +0 -14
  1626. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts.map +0 -1
  1627. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +0 -226
  1628. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js.map +0 -1
  1629. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +0 -103
  1630. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +0 -1
  1631. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +0 -370
  1632. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +0 -1
  1633. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.d.ts +0 -2
  1634. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.d.ts.map +0 -1
  1635. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +0 -944
  1636. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +0 -1
  1637. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts +0 -15
  1638. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts.map +0 -1
  1639. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js +0 -18
  1640. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js.map +0 -1
  1641. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.d.ts +0 -2
  1642. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.d.ts.map +0 -1
  1643. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js +0 -76
  1644. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js.map +0 -1
  1645. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts +0 -10
  1646. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +0 -1
  1647. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js +0 -62
  1648. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +0 -1
  1649. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.d.ts +0 -2
  1650. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.d.ts.map +0 -1
  1651. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js +0 -116
  1652. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.test.js.map +0 -1
  1653. package/dist/src/backend/services/ratchet/service/ratchet.service.test.d.ts +0 -2
  1654. package/dist/src/backend/services/ratchet/service/ratchet.service.test.d.ts.map +0 -1
  1655. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +0 -3485
  1656. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +0 -1
  1657. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +0 -99
  1658. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts.map +0 -1
  1659. package/dist/src/backend/services/ratchet/service/ratchet.types.js +0 -2
  1660. package/dist/src/backend/services/ratchet/service/ratchet.types.js.map +0 -1
  1661. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +0 -20
  1662. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +0 -1
  1663. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +0 -35
  1664. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js.map +0 -1
  1665. package/prompts/ratchet/dispatch.md +0 -52
  1666. package/prompts/workflows/bugfix.md +0 -86
  1667. package/prompts/workflows/ci-fix.md +0 -52
  1668. package/prompts/workflows/explore.md +0 -54
  1669. package/prompts/workflows/feature.md +0 -80
  1670. package/prompts/workflows/followup.md +0 -32
  1671. package/prompts/workflows/pr-review-fix.md +0 -50
package/README.md CHANGED
@@ -21,19 +21,24 @@
21
21
  <img src="public/working.png" alt="Factory Factory workspace with parallel agents, code changes, and an integrated terminal" width="1000">
22
22
  </p>
23
23
 
24
- Factory Factory is a local workspace manager for AI coding agents. Every workspace gets its own git worktree and branch, so agents can work on separate tasks without stepping on each other. The UI brings chat, diffs, files, terminals, issues, and pull request status together in one place.
24
+ Factory Factory is a local workspace manager for AI coding agents. Every
25
+ workspace gets its own git worktree and branch, so agents can work on separate
26
+ tasks without stepping on each other. The UI brings chat, diffs, files,
27
+ terminals, issues, and pull request status together in one place.
25
28
 
26
29
  ## Quick start
27
30
 
28
31
  You will need:
29
32
 
30
- - Node.js 26.8.1+ for the CLI and development (pinned in `.node-version`); the desktop app uses Electron's bundled Node.js runtime
33
+ - Node.js 26.8.1+ for the CLI and development (pinned in `.node-version`); the
34
+ desktop app uses Electron's bundled Node.js runtime
31
35
  - macOS 13 (Ventura) or newer for the macOS desktop app
32
36
  - A local git repository
33
37
  - At least one agent provider:
34
38
  - Claude Code, authenticated with `claude login`
35
39
  - A ChatGPT/Codex account configured for Codex sessions
36
- - The authenticated [GitHub CLI](https://cli.github.com/) for GitHub issues and pull requests
40
+ - The authenticated [GitHub CLI](https://cli.github.com/) for GitHub issues and
41
+ pull requests
37
42
 
38
43
  Start Factory Factory without installing it:
39
44
 
@@ -41,25 +46,37 @@ Start Factory Factory without installing it:
41
46
  npx factory-factory@latest serve
42
47
  ```
43
48
 
44
- Factory Factory opens in your browser and stores its database in `~/factory-factory/` by default.
49
+ Factory Factory opens in your browser and stores its database in
50
+ `~/factory-factory/` by default.
45
51
 
46
- See [Settings](docs/admin-settings.md) for IDE commands, default chat models, and project configuration.
52
+ See [Settings](docs/admin-settings.md) for IDE commands, default chat models,
53
+ and project configuration.
47
54
 
48
55
  Then:
49
56
 
50
- 1. Add a project by selecting a local git repository.
57
+ 1. Add a project by selecting a local git repository. If the New Project page
58
+ cannot load your projects, it shows the error and a Retry button. Retry loads
59
+ the list again before showing onboarding or the Add Project form.
51
60
  2. Create a workspace, or start one from a GitHub or Linear issue.
52
61
  3. Choose Claude or Codex and start a session.
53
- 4. Review the agent's changes, use the integrated terminal when needed, and open a pull request.
62
+ 4. Review the agent's changes, use the integrated terminal when needed, and open
63
+ a pull request.
54
64
 
55
65
  ## What it does
56
66
 
57
- - **Parallel, isolated work:** Each task runs in a dedicated worktree and branch while your main checkout stays untouched.
58
- - **One workspace for the whole task:** Chat with agents, inspect files and diffs, run commands, and track PR state without switching tools.
59
- - **Claude and Codex sessions:** Factory Factory connects to both providers through the Agent Client Protocol (ACP), with resumable sessions and runtime model options.
60
- - **Issue-to-PR workflow:** Pull assigned work from GitHub or Linear, link it to a workspace, and follow it through to merge.
61
- - **Automatic PR progression:** Ratchet watches open pull requests and can dispatch follow-up agents for failing CI and actionable review feedback.
62
- - **Repeatable automation:** Quick actions, periodic tasks, and child workspaces help split up or repeat common workflows.
67
+ - **Parallel, isolated work:** Each task runs in a dedicated worktree and branch
68
+ while your main checkout stays untouched.
69
+ - **One workspace for the whole task:** Chat with agents, inspect files and
70
+ diffs, run commands, and track PR state without switching tools.
71
+ - **Claude and Codex sessions:** Factory Factory connects to both providers
72
+ through the Agent Client Protocol (ACP), with resumable sessions and runtime
73
+ model options.
74
+ - **Issue-to-PR workflow:** Pull assigned work from GitHub or Linear, link it to
75
+ a workspace, and follow it through to merge.
76
+ - **Automatic PR progression:** Ratchet watches open pull requests and can
77
+ dispatch follow-up agents for failing CI and actionable review feedback.
78
+ - **Repeatable automation:** Quick actions, periodic tasks, and child workspaces
79
+ help split up or repeat common workflows.
63
80
 
64
81
  The core model is intentionally small:
65
82
 
@@ -87,34 +104,60 @@ ff proxy --private # Share the app through a password-protected Cloudflare tunn
87
104
  ff db:studio # Inspect the local database with Prisma Studio
88
105
  ```
89
106
 
90
- `ff proxy` requires `cloudflared` on your `PATH`. Factory Factory automatically runs database migrations, finds an available port, and opens the browser when the server is ready.
107
+ `ff proxy` requires `cloudflared` on your `PATH`. Factory Factory automatically
108
+ runs database migrations, finds an available port, and opens the browser when
109
+ the server is ready.
91
110
 
92
111
  ### Hosting behind your own reverse proxy
93
112
 
94
- To serve Factory Factory from your own domain (e.g. `https://ff.example.com`) via nginx, Caddy, or another reverse proxy:
95
-
96
- - Set `CORS_ALLOWED_ORIGINS` to the exact public origin(s), comma-separated: `CORS_ALLOWED_ORIGINS=https://ff.example.com`. This gates both HTTP CORS and WebSocket upgrades; non-loopback origins must match exactly (scheme + host + non-default port, no trailing slash).
97
- - Keep `BACKEND_HOST` bound to `localhost`/`127.0.0.1` so only your proxy can reach the server.
98
-
99
- By default the server rejects WebSocket upgrades that carry client-address headers (`x-forwarded-for`, `cf-connecting-ip`, etc.), because it expects to sit behind an authenticated proxy that strips them. If your reverse proxy adds these headers, either strip them before forwarding, or set `TRUST_PROXY_HEADERS=true` to accept them. **Only enable `TRUST_PROXY_HEADERS` when the backend is reachable solely through your trusted proxy** (i.e. bound to loopback) — otherwise clients could spoof address headers. The remote-address trust check (loopback / `TRUSTED_LOCAL_CIDRS`) still applies.
113
+ To serve Factory Factory from your own domain (e.g. `https://ff.example.com`)
114
+ via nginx, Caddy, or another reverse proxy:
115
+
116
+ - Set `CORS_ALLOWED_ORIGINS` to the exact public origin(s), comma-separated:
117
+ `CORS_ALLOWED_ORIGINS=https://ff.example.com`. This gates both HTTP CORS and
118
+ WebSocket upgrades; non-loopback origins must match exactly (scheme + host +
119
+ non-default port, no trailing slash).
120
+ - Keep `BACKEND_HOST` bound to `localhost`/`127.0.0.1` so only your proxy can
121
+ reach the server.
122
+
123
+ By default the server rejects WebSocket upgrades that carry client-address
124
+ headers (`x-forwarded-for`, `cf-connecting-ip`, etc.), because it expects to sit
125
+ behind an authenticated proxy that strips them. If your reverse proxy adds these
126
+ headers, either strip them before forwarding, or set `TRUST_PROXY_HEADERS=true`
127
+ to accept them. **Only enable `TRUST_PROXY_HEADERS` when the backend is
128
+ reachable solely through your trusted proxy** (i.e. bound to loopback) —
129
+ otherwise clients could spoof address headers. The remote-address trust check
130
+ (loopback / `TRUSTED_LOCAL_CIDRS`) still applies.
131
+
132
+ For local testing from an origin that isn't in `CORS_ALLOWED_ORIGINS` (an
133
+ alternate dev frontend, curl/Postman, or a LAN device that also satisfies
134
+ `TRUSTED_LOCAL_CIDRS`), set `DISABLE_CORS_CHECKS=true` to skip Origin validation
135
+ entirely. **Local dev only** — never set this in a deployed or reverse-proxied
136
+ environment; it removes the app's only defense against a malicious webpage you
137
+ have open calling the local API on your behalf (workspace/project creation,
138
+ local command execution).
100
139
 
101
140
  ## Security
102
141
 
103
- > [!WARNING]
104
- > Factory Factory runs coding agents that can execute commands and modify files without manual confirmation. Workspaces isolate git branches; they are not containers or security sandboxes.
142
+ > [!WARNING] Factory Factory runs coding agents that can execute commands and
143
+ > modify files without manual confirmation. Workspaces isolate git branches;
144
+ > they are not containers or security sandboxes.
105
145
 
106
- Use Factory Factory only with repositories and agent instructions you trust. Review changes before merging, protect your GitHub and Linear credentials, and consider a VM or container when working with untrusted code.
146
+ Use Factory Factory only with repositories and agent instructions you trust.
147
+ Review changes before merging, protect your GitHub and Linear credentials, and
148
+ consider a VM or container when working with untrusted code.
107
149
 
108
150
  ## Development
109
151
 
110
- Use pnpm 12.3.4, pinned in `package.json`. Dependency build permissions live in
152
+ Use pnpm 12.4.2, pinned in `package.json`. Dependency build permissions live in
111
153
  `pnpm-workspace.yaml` under `allowBuilds`; review new build scripts with
112
154
  `pnpm approve-builds` when adding or updating dependencies.
113
155
 
114
- Development requires Git 2.32 or newer for lint-staged. Builds and typechecks use
115
- TypeScript 7 through the `@typescript/native` package alias. The `typescript`
116
- alias provides Microsoft's TypeScript 6 compatibility API for guardrail scripts
117
- and tools that parse source files; `tsc` runs version 7 and `tsc6` runs version 6.
156
+ Development requires Git 2.32 or newer for lint-staged. Builds and typechecks
157
+ use TypeScript 7 through the `@typescript/native` package alias. The
158
+ `typescript` alias provides Microsoft's TypeScript 6 compatibility API for
159
+ guardrail scripts and tools that parse source files; `tsc` runs version 7 and
160
+ `tsc6` runs version 6.
118
161
 
119
162
  ```bash
120
163
  git clone https://github.com/purplefish-ai/factory-factory.git
@@ -131,11 +174,15 @@ pnpm typecheck
131
174
  pnpm check
132
175
  ```
133
176
 
134
- See [CONTRIBUTING.md](CONTRIBUTING.md) for project structure, conventions, and the full contributor workflow.
177
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for project structure, conventions, and
178
+ the full contributor workflow.
135
179
 
136
180
  ## Acknowledgements
137
181
 
138
- Factory Factory was inspired by [Conductor](https://conductor.build), [VibeKanban](https://vibekanban.com), [Gastown](https://github.com/steveyegge/gastown), and [Multiclaude](https://github.com/dlorenc/multiclaude).
182
+ Factory Factory was inspired by [Conductor](https://conductor.build),
183
+ [VibeKanban](https://vibekanban.com),
184
+ [Gastown](https://github.com/steveyegge/gastown), and
185
+ [Multiclaude](https://github.com/dlorenc/multiclaude).
139
186
 
140
187
  ## License
141
188
 
@@ -0,0 +1 @@
1
+ import{m as e,t}from"./mermaid-parser.core-cMhM95A-.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-oBChb5qS.js";import"./chunk-VPRB5NB3-mCQI2Mww.js";import{n as i,r as a,t as o}from"./chunk-AW2ZBBNX-DKuwSIkG.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid-diagram-j6NMiPfI.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,t as n}from"./jsx-runtime-DKj5X9O4.js";import{a as r,g as i,m as a,r as o,s,t as c}from"./dist-3wBnkw0J.js";import{t as l}from"./lib-CjP4aRTn.js";import{n as u}from"./trpc-DE1PpYK2.js";import{b as d}from"./workspace-sidebar-status-TXd1K6xw.js";import{a as f,i as p,l as m,n as h,o as g,p as _,s as v,t as y,u as b}from"./appearance-CQMuJmnT.js";import{i as x,y as S}from"./core-Sdbb7b8B.js";import{p as C}from"./radio-group-CIOwQgJB.js";import{a as ee,c as w,i as te,l as ne,n as re,r as ie,s as ae,t as oe}from"./data-import-button-BaZ1LdcD.js";import{n as T,r as se,t as ce}from"./use-download-server-log-eR8QXr94.js";import{n as le,t as ue}from"./provider-cli-warning-Dm5A2Q9_.js";import{b as de}from"./use-websocket-transport-GdeUVWh_.js";import{C as fe,D as E,E as pe,k as D,n as me,t as he,u as ge}from"./dist-B9ml9sGs.js";import{$n as _e,Cr as ve,Dr as ye,Hn as be,Kn as O,Kt as xe,Or as Se,Qt as k,R as Ce,Rn as A,Sn as we,Sr as Te,Xt as j,Yt as M,a as Ee,d as N,en as P,er as De,f as F,gr as Oe,hr as ke,i as Ae,in as I,ir as je,kr as Me,m as L,nn as Ne,p as R,rn as Pe,rr as Fe,sr as Ie,tn as z,u as B,y as Le,zn as Re}from"./index-BJJHbKvj.js";import{i as V,n as H,r as ze,t as Be}from"./tabs-CmuIk7dI.js";import{i as Ve,n as He,r as Ue,t as We}from"./voice-vad-ChMQMgBS.js";import{a as Ge,i as U,n as Ke,o as qe,r as W,t as Je}from"./table-Dq5ReIoh.js";import{i as Ye,n as Xe,t as Ze}from"./formatters-D_bnXRun.js";import{t as Qe}from"./factory-config-scripts-DUGeIMaa.js";var G=e(t(),1),$e=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z`}))]]),et=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M203.57,51A107.9,107.9,0,0,0,20,128c0,44.72,27.6,82.25,72,97.94A36,36,0,0,0,140,192a12,12,0,0,1,12-12h46.21a35.79,35.79,0,0,0,35.1-28A108.6,108.6,0,0,0,236,127.09,107.23,107.23,0,0,0,203.57,51Zm6.34,95.67a11.91,11.91,0,0,1-11.7,9.3H152a36,36,0,0,0-36,36,12,12,0,0,1-16,11.3c-16.65-5.88-30.65-15.76-40.48-28.56A76,76,0,0,1,44,128a84,84,0,0,1,83.13-84H128a84.35,84.35,0,0,1,84,83.29A84.72,84.72,0,0,1,209.91,146.71ZM144,76a16,16,0,1,1-16-16A16,16,0,0,1,144,76Zm-44,24A16,16,0,1,1,84,84,16,16,0,0,1,100,100Zm0,56a16,16,0,1,1-16-16A16,16,0,0,1,100,156Zm88-56a16,16,0,1,1-16-16A16,16,0,0,1,188,100Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M224,127.17a96.48,96.48,0,0,1-2.39,22.18A24,24,0,0,1,198.21,168H152a24,24,0,0,0-24,24,24,24,0,0,1-32,22.61C58.73,201.44,32,169.81,32,128a96,96,0,0,1,95-96C179.84,31.47,223.55,74.35,224,127.17Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89ZM84,168a12,12,0,1,1,12-12A12,12,0,0,1,84,168Zm0-56a12,12,0,1,1,12-12A12,12,0,0,1,84,112Zm44-24a12,12,0,1,1,12-12A12,12,0,0,1,128,88Zm44,24a12,12,0,1,1,12-12A12,12,0,0,1,172,112Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M199.37,55.31A101.32,101.32,0,0,0,128,26h-1A102,102,0,0,0,26,128c0,42.09,26.07,77.44,68,92.26A30.21,30.21,0,0,0,104.11,222,30.06,30.06,0,0,0,134,192a18,18,0,0,1,18-18h46.21a29.82,29.82,0,0,0,29.25-23.31A102.71,102.71,0,0,0,230,127.11,101.25,101.25,0,0,0,199.37,55.31ZM215.76,148a17.89,17.89,0,0,1-17.55,14H152a30,30,0,0,0-30,30,18,18,0,0,1-24,17C61,195.86,38,164.85,38,128a90,90,0,0,1,89.07-90H128a90.34,90.34,0,0,1,90,89.22A90.46,90.46,0,0,1,215.76,148ZM138,76a10,10,0,1,1-10-10A10,10,0,0,1,138,76ZM94,100A10,10,0,1,1,84,90,10,10,0,0,1,94,100Zm0,56a10,10,0,1,1-10-10A10,10,0,0,1,94,156Zm88-56a10,10,0,1,1-10-10A10,10,0,0,1,182,100Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M198,56.74A99.31,99.31,0,0,0,128,28h-1A100,100,0,0,0,28,128c0,41.22,25.55,75.85,66.69,90.38a28.34,28.34,0,0,0,9.42,1.63A28,28,0,0,0,132,192a20,20,0,0,1,20-20h46.21a27.84,27.84,0,0,0,27.3-21.76,100.37,100.37,0,0,0,2.49-23.1A99.26,99.26,0,0,0,198,56.74Zm19.74,91.72A19.89,19.89,0,0,1,198.21,164H152a28,28,0,0,0-28,28,20,20,0,0,1-26.64,18.83C59.51,197.46,36,165.72,36,128a92,92,0,0,1,91.05-92H128a92,92,0,0,1,89.72,112.46ZM136,76a8,8,0,1,1-8-8A8,8,0,0,1,136,76ZM92,100a8,8,0,1,1-8-8A8,8,0,0,1,92,100Zm0,56a8,8,0,1,1-8-8A8,8,0,0,1,92,156Zm88-56a8,8,0,1,1-8-8A8,8,0,0,1,180,100Z`}))]]),tt=new Map([[`bold`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z`}))],[`duotone`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),G.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`fill`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z`}))],[`light`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z`}))],[`regular`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`thin`,G.createElement(G.Fragment,null,G.createElement(`path`,{d:`M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z`}))]]),nt=G.forwardRef((e,t)=>G.createElement(i,{ref:t,...e,weights:$e}));nt.displayName=`LinkIcon`;var rt=G.forwardRef((e,t)=>G.createElement(i,{ref:t,...e,weights:et}));rt.displayName=`PaletteIcon`;var it=G.forwardRef((e,t)=>G.createElement(i,{ref:t,...e,weights:tt}));it.displayName=`TrashIcon`;var K=n(),at=Object.defineProperty,q=(e,t)=>at(e,`name`,{value:t,configurable:!0}),ot=`Switch`,[st,ct]=pe(ot),[lt,ut]=st(ot);function dt(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=fe({prop:n,defaultProp:i??!1,onChange:c,caller:ot}),[m,h]=G.useState(null),[g,_]=G.useState(null),v=G.useRef(!1),[y,b]=G.useReducer(e=>e+1,0),x={checked:f,setChecked:p,disabled:a,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,userInteractionCount:y,onUserInteraction:b,required:l,defaultChecked:i,isFormControl:!m||!!o||!!m.closest(`form`),bubbleInput:g,setBubbleInput:_};return(0,K.jsx)(lt,{scope:t,...x,children:yt(d)?d(x):r})}q(dt,`SwitchProvider`);var ft=`SwitchTrigger`,pt=G.forwardRef(q(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:o,value:s,disabled:l,checked:u,required:d,setControl:f,setChecked:p,hasConsumerStoppedPropagationRef:m,onUserInteraction:h,isFormControl:g,bubbleInput:_}=ut(ft,e),v=a(r,f),y=G.useRef(u);return G.useEffect(()=>{let e=o?i?.ownerDocument.getElementById(o):i?.form;if(e instanceof HTMLFormElement){let t=q(()=>p(y.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,o,p]),(0,K.jsx)(c.button,{type:`button`,role:`switch`,"aria-checked":u,"aria-required":d,"data-state":bt(u),"data-disabled":l?``:void 0,disabled:l,value:s,...n,ref:v,onClick:E(t,e=>{h(),p(e=>!e),_&&g&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})},`SwitchTrigger`)),mt=G.forwardRef(q(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,K.jsx)(dt,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(pt,{...d,ref:t,__scopeSwitch:n}),e&&(0,K.jsx)(vt,{__scopeSwitch:n})]})})},`Switch`)),ht=`SwitchThumb`,gt=G.forwardRef(q(function(e,t){let{__scopeSwitch:n,...r}=e,i=ut(ht,n);return(0,K.jsx)(c.span,{"data-state":bt(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),_t=`SwitchBubbleInput`,vt=G.forwardRef(q(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:o,userInteractionCount:s,checked:l,defaultChecked:u,required:d,disabled:f,name:p,value:m,form:h,bubbleInput:g,setBubbleInput:_}=ut(_t,e),v=a(r,_),y=ge(i),b=G.useRef(!1),x=G.useRef(l),S=G.useRef(s);G.useEffect(()=>{let e=g;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=s!==S.current;S.current=s;let i=x.current!==l;x.current=l;let a=!(r&&o.current);if(i&&n){b.current=!r;let t=new Event(`click`,{bubbles:a});n.call(e,l),e.dispatchEvent(t),b.current=!1}},[g,l,o,s]);let C=G.useRef(l);return(0,K.jsx)(c.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:u??C.current,required:d,disabled:f,name:p,value:m,form:h,...n,tabIndex:-1,ref:v,onClick:E(t,e=>{b.current&&e.stopPropagation()}),style:{...n.style,...y,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function yt(e){return typeof e==`function`}q(yt,`isFunction`);function bt(e){return e?`checked`:`unchecked`}q(bt,`getState`);function J({className:e,size:t=`default`,...n}){return(0,K.jsx)(mt,{"data-slot":`switch`,"data-size":t,className:s(`peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80`,e),...n,children:(0,K.jsx)(gt,{"data-slot":`switch-thumb`,className:s(`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground`)})})}function xt(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),{data:n}=u.userSettings.getProviderOptions.useQuery(void 0,{staleTime:3e4}),r=u.useUtils(),[i,a]=(0,G.useState)(`sonnet`),[o,s]=(0,G.useState)(`default`),c=u.userSettings.update.useMutation({onSuccess:()=>{D.success(`Adversarial review settings updated`),r.userSettings.get.invalidate()},onError:(t,n)=>{let i=r.userSettings.get.getData()??e;n.reviewerClaudeModel!==void 0&&a(e=>e===n.reviewerClaudeModel?i?.reviewerClaudeModel??`sonnet`:e),n.reviewerCodexModel!==void 0&&s(e=>e===n.reviewerCodexModel?i?.reviewerCodexModel??`default`:e),D.error(`Failed to update adversarial review settings: ${t.message}`)}});if((0,G.useEffect)(()=>{a(e?.reviewerClaudeModel??`sonnet`),s(e?.reviewerCodexModel??`default`)},[e?.reviewerClaudeModel,e?.reviewerCodexModel]),t)return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Adversarial Review`}),(0,K.jsx)(F,{children:`Reviewer provider for the open PR`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]});let l=e?.reviewerSessionProvider??`CODEX`,d=e?.reviewerClaudeModel??`sonnet`,f=e?.reviewerCodexModel??`default`,p=e?.postReviewToGitHub??!0,m=(e,t)=>{let r=n?.[e]?.models??[];return r.some(e=>e.value===t)?r:[{value:t,label:t},...r]},h=(e,t)=>{e===`CLAUDE`?(a(t),c.mutate({reviewerClaudeModel:t})):(s(t),c.mutate({reviewerCodexModel:t}))};return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Fe,{className:`w-5 h-5`}),`Adversarial Review`]}),(0,K.jsx)(F,{children:`Review an open PR with a different provider/model than the one that built it — e.g. build with Claude, review with Codex.`})]}),(0,K.jsxs)(N,{className:`space-y-3`,children:[(0,K.jsx)(I,{htmlFor:`reviewer-provider`,children:`Reviewer provider`}),(0,K.jsxs)(M,{value:l,onValueChange:e=>{(e===`CLAUDE`||e===`CODEX`)&&c.mutate({reviewerSessionProvider:e})},disabled:c.isPending,children:[(0,K.jsx)(P,{id:`reviewer-provider`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`CLAUDE`,children:`Claude`}),(0,K.jsx)(k,{value:`CODEX`,children:`Codex`})]})]}),(0,K.jsx)(ue,{provider:l}),(0,K.jsxs)(`div`,{className:`grid gap-3 pt-1 sm:grid-cols-2`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`reviewer-claude-model`,children:`Claude reviewer model`}),(0,K.jsxs)(M,{value:i,onValueChange:e=>h(`CLAUDE`,e),disabled:c.isPending,children:[(0,K.jsx)(P,{id:`reviewer-claude-model`,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:m(`CLAUDE`,d).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))})]})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`reviewer-codex-model`,children:`Codex reviewer model`}),(0,K.jsxs)(M,{value:o,onValueChange:e=>h(`CODEX`,e),disabled:c.isPending,children:[(0,K.jsx)(P,{id:`reviewer-codex-model`,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:m(`CODEX`,f).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))})]})]})]}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 pt-1 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{htmlFor:`post-review-to-github`,children:`Post reviews to GitHub`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Post the review as a summary plus inline comments on the PR. Off runs the review in-app only.`})]}),(0,K.jsx)(J,{id:`post-review-to-github`,checked:p,onCheckedChange:e=>{c.mutate({postReviewToGitHub:e})},disabled:c.isPending})]})]})]})}var St={ok:`border-l-success`,warning:`border-l-warning`,error:`border-l-destructive`};function Ct({title:e,value:t,subtitle:n,status:r}){return(0,K.jsxs)(B,{className:`border-l-4 ${r?St[r]:`border-l-muted`}`,children:[(0,K.jsxs)(R,{className:`pb-2`,children:[(0,K.jsx)(F,{children:e}),(0,K.jsx)(L,{className:`text-2xl`,children:t})]}),n&&(0,K.jsx)(N,{className:`pt-0`,children:(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})})]})}function wt({apiUsage:e,onReset:t,isResetting:n}){return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{className:`flex flex-row items-center justify-between space-y-0 pb-4`,children:[(0,K.jsx)(L,{children:`API Usage`}),(0,K.jsx)(r,{variant:`link`,onClick:t,disabled:n,className:`h-auto p-0`,children:`Reset Stats`})]}),(0,K.jsx)(N,{children:(0,K.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-4 gap-4`,children:[(0,K.jsx)(Ct,{title:`Requests/min`,value:e?.requestsLastMinute||0,status:e?.isRateLimited?`warning`:`ok`}),(0,K.jsx)(Ct,{title:`Requests/hour`,value:e?.requestsLastHour||0}),(0,K.jsx)(Ct,{title:`Total Requests`,value:e?.totalRequests||0}),(0,K.jsx)(Ct,{title:`Queue Depth`,value:e?.queueDepth||0,status:e?.queueDepth&&e.queueDepth>10?`warning`:`ok`})]})})]})}var Tt=Object.defineProperty,Y=(e,t)=>Tt(e,`name`,{value:t,configurable:!0}),Et={Vertical:`vertical`,Horizontal:`horizontal`},Dt={LTR:`ltr`,RTL:`rtl`},Ot=[`PageUp`,`PageDown`],kt=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],At={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},X=`Slider`,[jt,Mt,Nt]=me(X),[Pt,Ft]=pe(X,[Nt]),[It,Z]=Pt(X),Lt=G.forwardRef(Y(function(e,t){let{name:n,min:r=0,max:i=100,step:o=1,orientation:s=Et.Horizontal,disabled:c=!1,minStepsBetweenThumbs:l=0,preserveThumbOrder:u=!1,defaultValue:d=[r],value:f,onValueChange:p=Y(()=>{},`onValueChange`),onValueCommit:m=Y(()=>{},`onValueCommit`),inverted:h=!1,form:g,..._}=e,v=G.useRef(new Set),y=G.useRef(0),b=G.useRef(!1),x=s===Et.Horizontal?Bt:Vt,[S,C]=G.useState(null),ee=a(t,C),[w=[],te]=fe({prop:f,defaultProp:d,onChange:Y(e=>{[...v.current][y.current]?.focus({preventScroll:!0,focusVisible:b.current}),b.current=!1,p(e)},`onChange`)}),ne=G.useRef(w),re=G.useRef(w);G.useEffect(()=>{let e=g?S?.ownerDocument.getElementById(g):S?.closest(`form`);if(e instanceof HTMLFormElement){let t=Y(()=>te(re.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[S,g,te]);function ie(e){T(e,on(w,e))}Y(ie,`handleSlideStart`);function ae(e){T(e,y.current)}Y(ae,`handleSlideMove`);function oe(){String(w)!==String(ne.current)&&m(w)}Y(oe,`handleSlideEnd`);function T(e,t,{commit:n}={commit:!1}){let a=dn(o),s=Q(Math.round((e-r)/o)*o+r,a),c=Pe(s,[r,i]);te((e=[])=>{let a=l*o,s=u?Pe(c,[e[t-1]===void 0?r:e[t-1]+a,e[t+1]===void 0?i:e[t+1]-a]):c,d=nn(e,s,t);if(ln(d,a)){y.current=u?t:d.indexOf(s);let r=String(d)!==String(e);return r&&n&&m(d),r?d:e}return e})}return Y(T,`updateValues`),(0,K.jsx)(It,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:i,valueIndexToChangeRef:y,thumbs:v.current,values:w,orientation:s,form:g,children:(0,K.jsx)(jt.Provider,{scope:e.__scopeSlider,children:(0,K.jsx)(jt.Slot,{scope:e.__scopeSlider,children:(0,K.jsx)(x,{"aria-disabled":c,"data-disabled":c?``:void 0,..._,ref:ee,onPointerDown:E(_.onPointerDown,()=>{c||(ne.current=w,b.current=!1)}),min:r,max:i,inverted:h,onSlideStart:c?void 0:ie,onSlideMove:c?void 0:ae,onSlideEnd:c?void 0:oe,onHomeKeyDown:()=>{c||(b.current=!0,T(r,0,{commit:!0}))},onEndKeyDown:()=>{c||(b.current=!0,T(i,w.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!c){b.current=!0;let n=Ot.includes(e.key)||e.shiftKey&&kt.includes(e.key)?10:1,i=y.current,a=w[i];T(fn(a,{min:r,step:o,direction:t,multiplier:n}),i,{commit:!0})}}})})})})},`Slider`)),[Rt,zt]=Pt(X,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Bt=G.forwardRef(Y(function(e,t){let{min:n,max:r,dir:i,inverted:o,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:u,...d}=e,[f,p]=G.useState(null),m=a(t,p),h=G.useRef(void 0),g=he(i),_=g===Dt.LTR,v=_&&!o||!_&&o;function y(e){let t=h.current||f.getBoundingClientRect(),i=un([0,t.width],v?[n,r]:[r,n]);return h.current=t,i(e-t.left)}return Y(y,`getValueFromPointer`),(0,K.jsx)(Rt,{scope:e.__scopeSlider,startEdge:v?`left`:`right`,endEdge:v?`right`:`left`,direction:v?1:-1,size:`width`,children:(0,K.jsx)(Ht,{dir:g,"data-orientation":`horizontal`,...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=y(e.clientX);s?.(t)},onSlideMove:e=>{let t=y(e.clientX);c?.(t)},onSlideEnd:()=>{h.current=void 0,l?.()},onStepKeyDown:e=>{let t=At[v?`from-left`:`from-right`].includes(e.key);u?.({event:e,direction:t?-1:1})}})})},`SliderHorizontal`)),Vt=G.forwardRef(Y(function(e,t){let{min:n,max:r,inverted:i,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,d=G.useRef(null),f=a(t,d),p=G.useRef(void 0),m=!i;function h(e){let t=p.current||d.current.getBoundingClientRect(),i=un([0,t.height],m?[r,n]:[n,r]);return p.current=t,i(e-t.top)}return Y(h,`getValueFromPointer`),(0,K.jsx)(Rt,{scope:e.__scopeSlider,startEdge:m?`bottom`:`top`,endEdge:m?`top`:`bottom`,size:`height`,direction:m?1:-1,children:(0,K.jsx)(Ht,{"data-orientation":`vertical`,...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=h(e.clientY);o?.(t)},onSlideMove:e=>{let t=h(e.clientY);s?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=At[m?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})},`SliderVertical`)),Ht=G.forwardRef(Y(function(e,t){let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:l,...u}=e,d=Z(X,n);return(0,K.jsx)(c.span,{...u,ref:t,onKeyDown:E(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Ot.concat(kt).includes(e.key)&&(l(e),e.preventDefault())}),onPointerDown:E(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),d.thumbs.has(t)?t.focus({preventScroll:!0,focusVisible:!1}):r(e)}),onPointerMove:E(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:E(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})},`SliderImpl`)),Ut=`SliderTrack`,Wt=G.forwardRef(Y(function(e,t){let{__scopeSlider:n,...r}=e,i=Z(Ut,n);return(0,K.jsx)(c.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})},`SliderTrack`)),Gt=`SliderRange`,Kt=G.forwardRef(Y(function(e,t){let{__scopeSlider:n,...r}=e,i=Z(Gt,n),o=zt(Gt,n),s=G.useRef(null),l=a(t,s),u=i.values.length,d=i.values.map(e=>rn(e,i.min,i.max)),f=u>1?Math.min(...d):0,p=100-Math.max(...d);return(0,K.jsx)(c.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:l,style:{...e.style,[o.startEdge]:f+`%`,[o.endEdge]:p+`%`}})},`SliderRange`)),[qt,Jt]=Pt(`SliderThumb`),Yt=`SliderThumbProvider`;function Xt(e){let{__scopeSlider:t,name:n,children:r,internal_do_not_use_render:i}=e,a=Z(Yt,t),o=Mt(t),[s,c]=G.useState(null),l=G.useMemo(()=>s?o().findIndex(e=>e.ref.current===s):-1,[o,s]),u=ge(s),d=!s||!!a.form||!!s.closest(`form`),f=a.values[l],p=n??(a.name?a.name+(a.values.length>1?`[]`:``):void 0),m=f===void 0?0:rn(f,a.min,a.max);G.useEffect(()=>{if(s)return a.thumbs.add(s),()=>{a.thumbs.delete(s)}},[s,a.thumbs]);let h={value:f,name:p,form:a.form,isFormControl:d,index:l,thumb:s,onThumbChange:c,percent:m,size:u};return(0,K.jsx)(qt,{scope:t,...h,children:pn(i)?i(h):r})}Y(Xt,`SliderThumbProvider`);var Zt=`SliderThumbTrigger`,Qt=G.forwardRef(Y(function(e,t){let{__scopeSlider:n,...r}=e,i=Z(Zt,n),o=zt(Zt,n),{index:s,value:l,percent:u,size:d,onThumbChange:f}=Jt(Zt,n),p=a(t,f),m=an(s,i.values.length),h=d?.[o.size],g=h?sn(h,u,o.direction):0;return(0,K.jsx)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[o.startEdge]:`calc(${u}% + ${g}px)`},children:(0,K.jsx)(jt.ItemSlot,{scope:n,children:(0,K.jsx)(c.span,{role:`slider`,"aria-label":e[`aria-label`]||m,"aria-valuemin":i.min,"aria-valuenow":l,"aria-valuemax":i.max,"aria-orientation":i.orientation,"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,tabIndex:i.disabled?void 0:0,...r,ref:p,style:l===void 0?{display:`none`}:e.style,onFocus:E(e.onFocus,()=>{i.valueIndexToChangeRef.current=s})})})})},`SliderThumbTrigger`)),$t=G.forwardRef(Y(function(e,t){let{__scopeSlider:n,name:r,...i}=e;return(0,K.jsx)(Xt,{__scopeSlider:n,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Qt,{...i,ref:t,__scopeSlider:n}),r?(0,K.jsx)(tn,{__scopeSlider:n},e):null]})})},`SliderThumb`)),en=`SliderBubbleInput`,tn=G.forwardRef(Y(function({__scopeSlider:e,...t},n){let{value:r,name:i,form:o}=Jt(en,e),s=G.useRef(null),l=a(s,n),u=Ne(r);return G.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(u!==r&&n){let t=new Event(`input`,{bubbles:!0});n.call(e,r),e.dispatchEvent(t)}},[u,r]),(0,K.jsx)(c.input,{style:{display:`none`},name:i,form:o,...t,ref:l,defaultValue:r})},`SliderBubbleInput`));function nn(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}Y(nn,`getNextSortedValues`);function rn(e,t,n){let r=100/(n-t)*(e-t);return Pe(r,[0,100])}Y(rn,`convertValueToPercentage`);function an(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}Y(an,`getLabel`);function on(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}Y(on,`getClosestValueIndex`);function sn(e,t,n){let r=e/2;return(r-un([0,50],[0,r])(t)*n)*n}Y(sn,`getThumbInBoundsOffset`);function cn(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}Y(cn,`getStepsBetweenValues`);function ln(e,t){if(t>0){let n=cn(e);return Math.min(...n)>=t}return!0}Y(ln,`hasMinStepsBetweenValues`);function un(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}Y(un,`linearScale`);function dn(e){if(!Number.isFinite(e))return 0;let t=e.toString();if(t.includes(`e`)){let[e,n]=t.split(`e`),r=e.split(`.`)[1]||``,i=Number(n);return Math.max(0,r.length-i)}let n=t.split(`.`)[1];return n?n.length:0}Y(dn,`getDecimalCount`);function Q(e,t){let n=10**t;return Math.round(e*n)/n}Y(Q,`roundValue`);function fn(e,{min:t,step:n,direction:r,multiplier:i}){let a=dn(n),o=(e-t)/n,s=Math.round(o),c=Q(s*n+t,a)===Q(e,a),l;return l=c?s+i*r:r>0?Math.ceil(o):Math.floor(o),Q(l*n+t,a)}Y(fn,`getNextStepValue`);function pn(e){return typeof e==`function`}Y(pn,`isFunction`);function mn({className:e,defaultValue:t,value:n,min:r=0,max:i=100,"aria-label":a,"aria-labelledby":o,"aria-valuetext":c,...l}){let u=n?.length??t?.length??1,d=G.useMemo(()=>Array.from({length:u},(e,t)=>`thumb-${t}`),[u]);return(0,K.jsxs)(Lt,{"data-slot":`slider`,defaultValue:t,value:n,min:r,max:i,className:s(`relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,e),...l,children:[(0,K.jsx)(Wt,{"data-slot":`slider-track`,className:s(`relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`),children:(0,K.jsx)(Kt,{"data-slot":`slider-range`,className:s(`absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`)})}),d.map(e=>(0,K.jsx)($t,{"data-slot":`slider-thumb`,"aria-label":a,"aria-labelledby":o,"aria-valuetext":u===1?c:void 0,className:`block size-4 shrink-0 rounded-full border border-primary bg-background shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`},e))]})}var $=`w-full sm:w-[280px]`,hn={dark:{background:`#0a0a0a`,foreground:`#fafafa`},light:{background:`#fafafa`,foreground:`#0a0a0a`}};function gn(e){let t=hn[e?`dark`:`light`],[n,r]=(0,G.useState)(t);return(0,G.useEffect)(()=>{let e,n=()=>{let e=Se()??t;r(t=>t.background===e.background&&t.foreground===e.foreground?t:e)},i=()=>{clearTimeout(e),e=setTimeout(n,0)};i();let a=new MutationObserver(i);return a.observe(document.documentElement,{attributes:!0,attributeFilter:[`style`,`class`,ye]}),()=>{clearTimeout(e),a.disconnect()}},[t]),n}var _n=[{value:`system`,label:`System`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}];function vn(){let{theme:e,setTheme:t}=Me();return(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{htmlFor:`appearance-mode`,children:`Mode`}),(0,K.jsxs)(M,{value:e??`system`,onValueChange:t,children:[(0,K.jsx)(P,{id:`appearance-mode`,className:$,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:_n.map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Every color scheme has a light and a dark variant.`})]})}function yn({value:e,disabled:t,onChange:n}){let r=y.find(t=>t.id===e);return(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{htmlFor:`appearance-color-scheme`,children:`Color scheme`}),(0,K.jsxs)(M,{value:e,onValueChange:e=>n(e),disabled:t,children:[(0,K.jsx)(P,{id:`appearance-color-scheme`,className:$,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:y.map(e=>(0,K.jsx)(k,{value:e.id,children:e.label},e.id))})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r?.description})]})}function bn({id:e,label:t,helpText:n,value:i,placeholderColor:a,disabled:o,onCommit:s}){let c=i??a,[l,u]=(0,G.useState)(c),d=(0,G.useRef)(!1);return(0,G.useEffect)(()=>{d.current||u(c)},[c]),(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{htmlFor:e,children:t}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{id:e,type:`color`,value:l,onChange:e=>{u(e.target.value),d.current=!0},onBlur:()=>{if(!d.current)return;d.current=!1;let e=l.toLowerCase();e!==i?.toLowerCase()&&s(e)},disabled:o,className:`h-9 w-12 cursor-pointer rounded-md border border-input bg-background p-1 disabled:cursor-not-allowed disabled:opacity-50`}),(0,K.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:i??`From color scheme`}),i&&(0,K.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>s(null),disabled:o,children:`Reset`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]})}function xn({value:e,disabled:t,onCommit:n}){let[i,a]=(0,G.useState)(e);return(0,G.useEffect)(()=>{a(e)},[e]),(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between ${$}`,children:[(0,K.jsx)(I,{id:`appearance-font-scale-label`,children:`Font size`}),(0,K.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:[i,`%`]})]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(mn,{id:`appearance-font-scale`,"aria-labelledby":`appearance-font-scale-label`,"aria-valuetext":`${i}%`,className:$,value:[i],onValueChange:([t])=>a(t??e),onValueCommit:([t])=>{t!==void 0&&t!==e&&n(t)},min:75,max:175,step:5,disabled:t}),(0,K.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>n(100),disabled:t||e===100,children:`Reset`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Scales all interface text and spacing, independent of browser zoom.`})]})}function Sn({id:e,label:t,helpText:n,options:r,value:i,disabled:a,onCommit:s}){let c=b(r,i),[l,u]=(0,G.useState)(c),[d,f]=(0,G.useState)(c===`custom`?i??``:``),[p,g]=(0,G.useState)(null);(0,G.useEffect)(()=>{u(c),c===`custom`&&f(i??``)},[c,i]);let _=e=>{if(u(e),g(null),e===`custom`)return;let t=r.find(t=>t.id===e);t&&t.value!==i&&s(t.value)},v=()=>{if(d.trim()===``)return;let e=m.safeParse(d);if(!e.success){g(e.error.issues[0]?.message??`Invalid font family`);return}g(null),e.data!==i&&s(e.data)},y=`${e}-custom`;return(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{htmlFor:e,children:t}),(0,K.jsxs)(M,{value:l,onValueChange:_,disabled:a,children:[(0,K.jsx)(P,{id:e,className:$,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[r.map(e=>(0,K.jsx)(k,{value:e.id,children:e.label},e.id)),(0,K.jsx)(k,{value:h,children:`Custom…`})]})]}),l===`custom`&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(o,{id:y,"aria-label":`${t} family`,value:d,onChange:e=>{f(e.target.value),g(null)},onBlur:v,onKeyDown:e=>{e.key===`Enter`&&v()},placeholder:`"Fira Code", monospace`,className:`${$} font-mono text-sm`,disabled:a,"aria-invalid":p?!0:void 0}),p&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:p}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Any font installed on this device, written as a CSS font-family list.`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]})}var Cn={appearanceColorScheme:p,appearanceBackgroundColor:null,appearanceForegroundColor:null,appearanceFontScale:100,appearanceFontSans:null,appearanceFontMono:null};function wn(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),n=u.useUtils(),{resolvedTheme:i}=Me(),a=i===`dark`,o=v(e),s=gn(a),[c,l]=(0,G.useState)(0),d=u.userSettings.update.useMutation({onSuccess:e=>{n.userSettings.get.setData(void 0,e),n.userSettings.get.invalidate()},onError:e=>{D.error(`Failed to update appearance: ${e.message}`),l(e=>e+1)}});if(t)return(0,K.jsxs)(B,{children:[(0,K.jsx)(R,{children:(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(rt,{className:`h-5 w-5`}),`Appearance`]})}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]});let p=d.isPending,m=e=>d.mutate(e);return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(rt,{className:`h-5 w-5`}),`Appearance`]}),(0,K.jsx)(F,{children:`Choose a color scheme, adjust text size, and pick the fonts used across the app.`})]}),(0,K.jsxs)(N,{className:`space-y-6`,children:[(0,K.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,K.jsx)(yn,{value:o.colorScheme,disabled:p,onChange:e=>m({appearanceColorScheme:e})}),(0,K.jsx)(vn,{})]}),(0,K.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,K.jsx)(bn,{id:`appearance-background-color`,label:`Background color`,helpText:`Replaces the color scheme’s page background in both light and dark mode.`,value:o.backgroundColor,placeholderColor:s.background,disabled:p,onCommit:e=>m({appearanceBackgroundColor:e})},`background-${c}`),(0,K.jsx)(bn,{id:`appearance-foreground-color`,label:`Text color`,helpText:`Replaces the primary text color; secondary text is blended from it.`,value:o.foregroundColor,placeholderColor:s.foreground,disabled:p,onCommit:e=>m({appearanceForegroundColor:e})},`foreground-${c}`)]}),(0,K.jsxs)(`div`,{className:`space-y-4 border-t pt-4`,children:[(0,K.jsx)(xn,{value:o.fontScale,disabled:p,onCommit:e=>m({appearanceFontScale:e})},`scale-${c}`),(0,K.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,K.jsx)(Sn,{id:`appearance-font-sans`,label:`Interface font`,helpText:`Used for navigation, chat, and settings.`,options:g,value:o.fontSans,disabled:p,onCommit:e=>m({appearanceFontSans:e})},`sans-${c}`),(0,K.jsx)(Sn,{id:`appearance-font-mono`,label:`Monospace font`,helpText:`Used for code, diffs, and terminals.`,options:f,value:o.fontMono,disabled:p,onCommit:e=>m({appearanceFontMono:e})},`mono-${c}`)]})]}),(0,K.jsx)(`div`,{className:`flex justify-end border-t pt-4`,children:(0,K.jsx)(r,{variant:`outline`,size:`sm`,onClick:()=>m(Cn),disabled:p||_(o),children:`Reset appearance`})})]})]})}function Tn(e,t=`(restart to detect)`){return e==null?t:String(e)}function En(e){if(e.port){let t=Number.parseInt(e.port,10);if(!Number.isNaN(t))return String(t)}return e.protocol===`http:`?`80`:e.protocol===`https:`?`443`:`(not available)`}function Dn(){let{data:e,isLoading:t}=u.admin.getServerInfo.useQuery(void 0,{retry:1,retryDelay:1e3,meta:{suppressErrors:!0}}),n=En(window.location),r=e?.backendPort??null;return t?(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`App Info`}),(0,K.jsx)(F,{children:`Repository and runtime details`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]}):(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`App Info`}),(0,K.jsx)(F,{children:`Repository and runtime details`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{children:`Repository`}),(0,K.jsxs)(`a`,{href:`https://github.com/purplefish-ai/factory-factory`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground transition-colors`,children:[`GitHub`,(0,K.jsx)(ve,{className:`h-3.5 w-3.5`})]})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{children:`Ports`}),(0,K.jsxs)(`div`,{className:`space-y-1 text-sm text-muted-foreground`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{children:`Frontend`}),(0,K.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5`,children:n})]}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`span`,{children:`Backend`}),(0,K.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5`,children:Tn(r)})]})]})]})]})]})}function On(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),{data:n}=u.userSettings.getProviderOptions.useQuery(void 0,{staleTime:3e4}),r=u.useUtils(),[i,a]=(0,G.useState)(`sonnet`),[o,s]=(0,G.useState)(`default`),c=(0,G.useRef)({}),l=u.userSettings.update.useMutation({scope:{id:`chat-provider-defaults`},onMutate:()=>r.userSettings.get.cancel(),onSuccess:async e=>{r.userSettings.get.setData(void 0,e),D.success(`Chat defaults updated`),await r.userSettings.get.invalidate()},onError:(t,n)=>{let i=r.userSettings.get.getData()??e;n.defaultClaudeModel!==void 0&&c.current.CLAUDE===n&&a(e=>e===n.defaultClaudeModel?i?.defaultClaudeModel??`sonnet`:e),n.defaultCodexModel!==void 0&&c.current.CODEX===n&&s(e=>e===n.defaultCodexModel?i?.defaultCodexModel??`default`:e),D.error(`Failed to update chat defaults: ${t.message}`)}});if((0,G.useEffect)(()=>{l.isPending||(a(e?.defaultClaudeModel??`sonnet`),s(e?.defaultCodexModel??`default`))},[e?.defaultClaudeModel,e?.defaultCodexModel,l.isPending]),t)return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Chat Defaults`}),(0,K.jsx)(F,{children:`Default provider for new chats`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]});let d=e?.defaultSessionProvider??`CLAUDE`,f=e?.defaultClaudeModel??`sonnet`,p=e?.defaultCodexModel??`default`,m=e?.defaultClaudeReasoningEffort??null,h=e?.defaultCodexReasoningEffort??null,g=e?.defaultWorkspacePermissions??`STRICT`,_=`__provider_default__`,v=(e,t)=>{let r=n?.[e]?.models??[];return r.some(e=>e.value===t)?r:[{value:t,label:e===`CLAUDE`?`Saved model — ${t} (not in current catalog)`:t},...r]},y=(e,t)=>{let r=n?.[e]?.efforts??[];return!t||r.some(e=>e.value===t)?r:[{value:t,label:t},...r]},b={CLAUDE:{fallbackValue:`sonnet`,buildPayload:e=>({defaultClaudeModel:e}),buildEffortPayload:e=>({defaultClaudeReasoningEffort:e})},CODEX:{fallbackValue:`default`,buildPayload:e=>({defaultCodexModel:e}),buildEffortPayload:e=>({defaultCodexReasoningEffort:e})}},x=(e,t)=>{let n=b[e],r=t.trim()||n.fallbackValue,i=n.buildPayload(r);c.current[e]=i,l.mutate(i)},S=(e,t)=>{let n=t===_?null:t;l.mutate(b[e].buildEffortPayload(n))};return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Chat Defaults`}),(0,K.jsx)(F,{children:`Default provider used when a workspace defers provider selection`})]}),(0,K.jsxs)(N,{className:`space-y-3`,children:[(0,K.jsx)(I,{htmlFor:`chat-default-provider`,children:`Default chat provider`}),(0,K.jsxs)(M,{value:d,onValueChange:e=>{(e===`CLAUDE`||e===`CODEX`)&&l.mutate({defaultSessionProvider:e})},disabled:l.isPending,children:[(0,K.jsx)(P,{id:`chat-default-provider`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`CLAUDE`,children:`Claude`}),(0,K.jsx)(k,{value:`CODEX`,children:`Codex`})]})]}),(0,K.jsx)(ue,{provider:d}),(0,K.jsxs)(`div`,{className:`grid gap-3 pt-1 sm:grid-cols-2`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`default-claude-model`,children:`Default Claude model`}),(0,K.jsxs)(M,{value:i,onValueChange:e=>{a(e),x(`CLAUDE`,e)},disabled:l.isPending,children:[(0,K.jsx)(P,{id:`default-claude-model`,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:v(`CLAUDE`,f).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))})]}),(0,K.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Claude aliases like `,(0,K.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`sonnet`}),` and`,` `,(0,K.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`opus`}),` are supported.`]})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`default-codex-model`,children:`Default Codex model`}),(0,K.jsxs)(M,{value:o,onValueChange:e=>{s(e),x(`CODEX`,e)},disabled:l.isPending,children:[(0,K.jsx)(P,{id:`default-codex-model`,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:v(`CODEX`,p).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Codex options are loaded from the CLI when available.`})]})]}),(0,K.jsxs)(`div`,{className:`grid gap-3 pt-1 sm:grid-cols-2`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`default-claude-effort`,children:`Default Claude effort`}),(0,K.jsxs)(M,{value:m??_,onValueChange:e=>S(`CLAUDE`,e),disabled:l.isPending,children:[(0,K.jsx)(P,{id:`default-claude-effort`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:_,children:`Provider default`}),y(`CLAUDE`,m).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))]})]})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`default-codex-effort`,children:`Default Codex effort`}),(0,K.jsxs)(M,{value:h??_,onValueChange:e=>S(`CODEX`,e),disabled:l.isPending,children:[(0,K.jsx)(P,{id:`default-codex-effort`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:_,children:`Provider default`}),y(`CODEX`,h).map(e=>(0,K.jsx)(k,{value:e.value,children:e.label},e.value))]})]})]})]}),(0,K.jsxs)(`div`,{className:`space-y-2 pt-1`,children:[(0,K.jsx)(I,{htmlFor:`workspace-permissions`,children:`Default permissions for new workspaces`}),(0,K.jsxs)(M,{value:g,onValueChange:e=>{(e===`STRICT`||e===`RELAXED`||e===`YOLO`)&&l.mutate({defaultWorkspacePermissions:e})},disabled:l.isPending,children:[(0,K.jsx)(P,{id:`workspace-permissions`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`STRICT`,children:`Strict`}),(0,K.jsx)(k,{value:`RELAXED`,children:`Relaxed`}),(0,K.jsx)(k,{value:`YOLO`,children:`YOLO`})]})]})]})]})]})}function kn(){let[e,t]=(0,G.useState)(!1),{refresh:n}=ne();return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(de,{className:`w-5 h-5`}),`CLI Authentication`]}),(0,K.jsx)(F,{children:`Check and manage authentication for Claude, Codex, and GitHub CLI`})]}),(0,K.jsxs)(N,{children:[(0,K.jsx)(w,{onOpenTerminal:()=>t(!0)}),(0,K.jsx)(ae,{open:e,onClose:()=>{t(!1),n()}})]})]})}function An(){let[e,t]=(0,G.useState)(!1),n=u.useUtils();return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Oe,{className:`w-5 h-5`}),`Data Backup`]}),(0,K.jsx)(F,{children:`Export and import database data for backup or migration purposes`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:gap-4`,children:[(0,K.jsxs)(r,{onClick:async()=>{t(!0);try{let e=await n.admin.exportData.fetch(),t=JSON.stringify(e,null,2);T({data:t,mimeType:`application/json`,fileName:`factory-factory-backup-${new Date().toISOString().split(`T`)[0]}.json`}),D.success(`Export completed`)}catch(e){D.error(`Export failed: ${e instanceof Error?e.message:`Unknown error`}`)}finally{t(!1)}},disabled:e,variant:`outline`,className:`w-full sm:w-auto`,children:[(0,K.jsx)(se,{className:`w-4 h-4 mr-2`}),e?`Exporting...`:`Export Data`]}),(0,K.jsx)(oe,{variant:`outline`,className:`w-full sm:w-auto`})]}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Export includes projects, workspaces, session metadata, and user preferences. Caches will be rebuilt automatically after import.`})]})]})}function jn(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),n=u.useUtils(),[i,a]=(0,G.useState)(!1),s=u.userSettings.update.useMutation({onSuccess:async()=>{D.success(`IDE settings updated`),await Promise.all([n.userSettings.get.invalidate(),n.workspace.getAvailableIdes.invalidate()]),a(!1)},onError:e=>{D.error(`Failed to update settings: ${e.message}`)}}),c=u.userSettings.testCustomCommand.useMutation({onSuccess:()=>{D.success(`Command executed successfully!`)},onError:e=>{D.error(`Command test failed: ${e.message}`)}}),[l,d]=(0,G.useState)(e?.customIdeCommand||``);(0,G.useEffect)(()=>{d(e?.customIdeCommand||``)},[e?.customIdeCommand]);let f=e=>{let t=e.trim();t&&s.mutate({preferredIde:`custom`,customIdeCommand:t})},p=e=>{e===`custom`?(a(!0),f(l)):(e===`cursor`||e===`vscode`)&&(a(!1),s.mutate({preferredIde:e}))},m=i?`custom`:e?.preferredIde??`cursor`;return t?(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`IDE Settings`}),(0,K.jsx)(F,{children:`Configure your preferred IDE for opening workspaces`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]}):(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`IDE Settings`}),(0,K.jsx)(F,{children:`Configure your preferred IDE for opening workspaces`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`ide-select`,children:`Preferred IDE`}),(0,K.jsxs)(M,{value:m,onValueChange:p,disabled:s.isPending,children:[(0,K.jsx)(P,{id:`ide-select`,children:(0,K.jsx)(z,{placeholder:`Select an IDE`})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`cursor`,children:`Cursor`}),(0,K.jsx)(k,{value:`vscode`,children:`VS Code`}),(0,K.jsx)(k,{value:`custom`,children:`Custom`})]})]})]}),m===`custom`&&(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`custom-command`,children:`Custom Command`}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,K.jsx)(o,{id:`custom-command`,value:l,onChange:e=>d(e.target.value),onBlur:()=>f(l),placeholder:`code-insiders {workspace}`,className:`font-mono text-sm flex-1`,disabled:s.isPending}),(0,K.jsx)(r,{variant:`outline`,onClick:()=>{if(!l.trim()){D.error(`Please enter a custom command first`);return}c.mutate({customCommand:l})},disabled:c.isPending||!l.trim(),children:c.isPending?`Testing...`:`Test`})]}),(0,K.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Use `,(0,K.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded`,children:`{workspace}`}),` as a placeholder for the workspace path. Example:`,` `,(0,K.jsxs)(`code`,{className:`bg-muted px-1 py-0.5 rounded`,children:[`code-insiders `,`{workspace}`]})]})]})]})]})}function Mn({projectId:e,linearConfig:t,onSave:n,isSaving:i}){let[a,s]=(0,G.useState)(``),[c,l]=(0,G.useState)(t?.viewerName??null),[d,f]=(0,G.useState)([]),[p,m]=(0,G.useState)(null),h=(0,G.useRef)(0),g=u.linear.validateKeyAndListTeams.useMutation(),_=()=>{h.current+=1,l(null),f([]),m(null)},v=e=>{s(e),_()},y=async()=>{_();let e=h.current;try{let t=await g.mutateAsync({apiKey:a});if(e!==h.current)return;t.valid?(l(t.viewerName??null),f(t.teams??[])):D.error(`Validation failed: ${t.error??`Unknown error`}`)}catch(t){e===h.current&&D.error(`Validation failed: ${t instanceof Error?t.message:`Unknown error`}`)}},b=async()=>{let e=d.find(e=>e.id===p);if(!(e&&c))return;let t=++h.current;try{await n({linear:{apiKey:a,teamId:e.id,teamName:`${e.name} (${e.key})`,viewerName:c}}),t===h.current&&v(``)}catch{}},x=c!==null,C=d.length>0,ee=t?.hasApiKey??!1,w=t?.teamName??null;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(I,{htmlFor:`api-key-${e}`,children:`API Key`}),x&&(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-green-600`,children:[(0,K.jsx)(S,{className:`w-3 h-3`}),`Connected as `,c]})]}),(0,K.jsx)(o,{id:`api-key-${e}`,type:`password`,value:a,onChange:e=>v(e.target.value),placeholder:ee?`••••••••••••••••••••`:`lin_api_...`,className:`font-mono text-sm w-[280px]`})]}),(0,K.jsx)(r,{variant:`outline`,onClick:y,disabled:g.isPending||!a,children:g.isPending?`Validating...`:`Validate`})]}),x&&C&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{children:`Team`}),(0,K.jsxs)(M,{value:p??``,onValueChange:e=>{h.current+=1,m(e)},children:[(0,K.jsx)(P,{className:`w-[220px]`,children:(0,K.jsx)(z,{placeholder:`Select a team`})}),(0,K.jsx)(j,{children:d.map(e=>(0,K.jsxs)(k,{value:e.id,children:[e.name,` (`,e.key,`)`]},e.id))})]})]}),(0,K.jsx)(r,{onClick:b,disabled:!p||i,className:`self-end`,children:i?`Saving...`:`Save`})]}),w&&!C&&(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground self-end pb-2`,children:[`Team: `,w]}),!x&&(0,K.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-2 basis-full`,children:[`Create a personal API key at`,` `,(0,K.jsx)(`a`,{href:`https://linear.app/settings/api`,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`linear.app/settings/api`})]})]})}function Nn({projectId:e,projectName:t,currentProvider:n,issueTrackerConfig:r}){let i=u.useUtils(),[a,o]=(0,G.useState)(null),s=(0,G.useRef)(0),c=(0,G.useRef)(0),l=a??n,d=u.project.update.useMutation(),f=u.project.update.useMutation({onSuccess:()=>{D.success(`Issue tracking settings saved`),i.project.list.invalidate()},onError:e=>D.error(`Failed to save: ${e.message}`)}),p=async()=>{if(c.current!==0)return;let e=s.current;await i.project.list.invalidate(),e===s.current&&c.current===0&&o(null)},m=async t=>{let n=++s.current;c.current+=1,o(t);try{let r=await d.mutateAsync({id:e,issueProvider:t});i.project.list.setQueriesData(void 0,{},e=>e?.map(e=>e.id===r.id?{...e,issueProvider:r.issueProvider}:e)),n===s.current&&D.success(`Issue tracking settings saved`)}catch(e){n===s.current&&(o(null),D.error(`Failed to save: ${e instanceof Error?e.message:`Unknown error`}`))}finally{--c.current,await p()}},h=async t=>{await f.mutateAsync({id:e,issueProvider:x.LINEAR,issueTrackerConfig:t})},g=l===x.LINEAR,_=!g||r?.linear!=null;return(0,K.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[(0,K.jsx)(`div`,{className:`border-b bg-muted/50 px-4 py-3`,children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`h3`,{className:`font-semibold text-sm`,children:t}),_&&(0,K.jsxs)(A,{variant:`default`,className:`bg-green-600 hover:bg-green-700`,children:[(0,K.jsx)(S,{className:`w-3 h-3 mr-1`}),g?`Linear`:`GitHub`]})]})}),(0,K.jsx)(`div`,{className:`p-4`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{children:`Issue Provider`}),(0,K.jsxs)(M,{value:l,onValueChange:m,disabled:d.isPending||f.isPending,children:[(0,K.jsx)(P,{className:`w-[180px]`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:x.GITHUB,children:`GitHub Issues`}),(0,K.jsx)(k,{value:x.LINEAR,children:`Linear Issues`})]})]})]}),g&&(0,K.jsx)(Mn,{projectId:e,linearConfig:r?.linear??null,onSave:h,isSaving:f.isPending})]})})]})}function Pn(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),n=u.useUtils(),r=u.userSettings.update.useMutation({onSuccess:()=>{n.userSettings.get.invalidate()},onError:e=>{D.error(`Failed to update settings: ${e.message}`)}});return t?(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Notification Settings`}),(0,K.jsx)(F,{children:`Configure notification behavior`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]}):(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Notification Settings`}),(0,K.jsx)(F,{children:`Configure notification behavior`})]}),(0,K.jsx)(N,{className:`space-y-4`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{htmlFor:`sound-toggle`,children:`Play completion sound`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Play a sound when a workspace finishes`})]}),(0,K.jsx)(J,{id:`sound-toggle`,checked:e?.playSoundOnComplete??!0,onCheckedChange:e=>{r.mutate({playSoundOnComplete:e})},disabled:r.isPending})]})})]})}var Fn=5;function In(e,t=Date.now()){let n=e.getTime()-t,r=Math.round(n/1e3);if(Math.abs(r)<=Fn)return`now`;let i=Ln(Math.abs(r));return r<0?`${i} overdue`:`in ${i}`}function Ln(e){if(e<60)return`${e}s`;let t=Math.round(e/60);if(t<60)return`${t}m`;let n=Math.round(t/60);return n<24?`${n}h`:`${Math.round(n/24)}d`}function Rn(e,t=localStorage){return Ae(t)||e[0]?.slug||``}function zn({projects:e}){let[t,n]=(0,G.useState)(()=>Rn(e)),r=e.find(e=>e.slug===t)??e[0];return(0,G.useEffect)(()=>{r&&r.slug!==t&&(n(r.slug),Ee(r.slug))},[r,t]),r?(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,K.jsxs)(M,{value:r.slug,onValueChange:e=>{n(e),Ee(e)},children:[(0,K.jsx)(P,{className:`w-auto max-w-xs`,children:(0,K.jsx)(z,{placeholder:`Select a project`})}),(0,K.jsx)(j,{children:e.map(e=>(0,K.jsx)(k,{value:e.slug,children:e.name},e.id))})]})}),(0,K.jsx)(Bn,{projectId:r.id})]}):(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No projects found.`})}function Bn({projectId:e}){let t=u.useUtils(),{data:n,isLoading:r}=u.periodicTask.list.useQuery({projectId:e},{refetchInterval:1e4}),i=u.periodicTask.delete.useMutation({onSuccess:()=>{D.success(`Periodic task deleted`),t.periodicTask.list.invalidate({projectId:e})},onError:e=>D.error(`Delete failed: ${e.message}`)}),a=u.periodicTask.toggleEnabled.useMutation({onSuccess:()=>{t.periodicTask.list.invalidate({projectId:e})},onError:e=>D.error(`Toggle failed: ${e.message}`)}),o=u.periodicTask.update.useMutation({onSuccess:()=>{D.success(`Periodic task updated`),t.periodicTask.list.invalidate({projectId:e})},onError:e=>D.error(`Update failed: ${e.message}`)});return r?(0,K.jsxs)(B,{children:[(0,K.jsx)(R,{children:(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Te,{className:`w-5 h-5`}),`Periodic Tasks`]})}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-20 w-full`})})]}):(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Te,{className:`w-5 h-5`}),`Periodic Tasks`]}),(0,K.jsx)(F,{children:`Recurring tasks that create workspaces on a schedule`})]}),(0,K.jsx)(N,{children:!n||n.length===0?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`No periodic tasks yet. Create one from the workspace launch dropdown.`}):(0,K.jsx)(`div`,{className:`space-y-3`,children:n.map(e=>(0,K.jsx)(Gn,{task:e,onToggle:t=>a.mutate({id:e.id,enabled:t}),onDelete:()=>i.mutate({id:e.id}),onUpdate:t=>o.mutate({id:e.id,...t}),isUpdating:o.isPending||a.isPending},e.id))})})]})}function Vn({status:e}){return(0,K.jsx)(A,{variant:{PR_CREATED:`default`,RUNNING:`secondary`}[e]??`destructive`,className:`text-[10px]`,children:{PR_CREATED:`PR Created`,RUNNING:`Running`,FAILED:`Failed`,SKIPPED:`Skipped`}[e]??e})}var Hn=new Set([`DAILY`,`WEEKLY`,`MONTHLY`]);function Un(e,t,n){return e!==t||!n?Intl.DateTimeFormat().resolvedOptions().timeZone:n}function Wn(e,t){let n=e.split(`:`).map(Number),r=n[0]??0,i=n[1]??0,a=new Date(Date.UTC(2e3,0,1,r,i,0,0)),o=a.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,timeZone:`UTC`}),s=new Intl.DateTimeFormat(`en-US`,{timeZone:t,timeZoneName:`short`}).formatToParts(a).find(e=>e.type===`timeZoneName`)?.value;return s?`${o} (${s})`:o}function Gn({task:e,onToggle:t,onDelete:n,onUpdate:i,isUpdating:a}){let[s,c]=(0,G.useState)(!1),[l,u]=(0,G.useState)(e.name),[d,f]=(0,G.useState)(e.prompt),[p,m]=(0,G.useState)(e.cadence),[h,g]=(0,G.useState)(e.scheduledTime??``),[_,v]=(0,G.useState)(!1),y=()=>{let t=Hn.has(p)&&!!h,n=t?h:null,r=t?Un(h,e.scheduledTime,e.timezone):null;i({name:l===e.name?void 0:l,prompt:d===e.prompt?void 0:d,cadence:p===e.cadence?void 0:p,scheduledTime:n===e.scheduledTime?void 0:n,timezone:r===e.timezone?void 0:r}),c(!1)},b={EVERY_MINUTE:`Every minute`,EVERY_FIVE_MINUTES:`Every 5 minutes`,DAILY:`Daily`,WEEKLY:`Weekly`,MONTHLY:`Monthly`}[e.cadence]??e.cadence,x=e.executions[0];return(0,K.jsxs)(`div`,{className:`rounded-md border p-3 space-y-2`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,K.jsx)(J,{checked:e.isEnabled,onCheckedChange:t,disabled:a,className:`shrink-0`}),(0,K.jsx)(`span`,{className:`font-medium text-sm truncate`,children:e.name}),(0,K.jsx)(A,{variant:`secondary`,className:`shrink-0 text-[10px]`,children:b})]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,K.jsx)(r,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,onClick:()=>{u(e.name),f(e.prompt),m(e.cadence),g(e.scheduledTime??``),c(!s)},children:(0,K.jsx)(Ie,{className:`h-3.5 w-3.5`})}),(0,K.jsx)(r,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-destructive hover:text-destructive`,onClick:n,children:(0,K.jsx)(it,{className:`h-3.5 w-3.5`})})]})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2`,children:e.prompt}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3 text-[10px] text-muted-foreground`,children:[e.lastRunAt&&(0,K.jsxs)(`span`,{children:[`Last run: `,new Date(e.lastRunAt).toLocaleString()]}),(0,K.jsxs)(`span`,{title:new Date(e.nextRunAt).toLocaleString(),children:[`Next run: `,In(new Date(e.nextRunAt))]}),Hn.has(e.cadence)&&e.scheduledTime&&e.timezone&&(0,K.jsxs)(`span`,{children:[`at `,Wn(e.scheduledTime,e.timezone)]}),x&&(0,K.jsx)(Vn,{status:x.status})]}),s&&(0,K.jsxs)(`div`,{className:`space-y-2 pt-2 border-t`,children:[(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(I,{className:`text-xs`,children:`Name`}),(0,K.jsx)(o,{className:`h-7 text-xs`,value:l,onChange:e=>u(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(I,{className:`text-xs`,children:`Prompt`}),(0,K.jsx)(we,{className:`text-xs min-h-[60px]`,value:d,onChange:e=>f(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(I,{className:`text-xs`,children:`Cadence`}),(0,K.jsxs)(M,{value:p,onValueChange:m,children:[(0,K.jsx)(P,{className:`h-7 text-xs`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`EVERY_MINUTE`,children:`Every minute (testing)`}),(0,K.jsx)(k,{value:`EVERY_FIVE_MINUTES`,children:`Every 5 minutes (testing)`}),(0,K.jsx)(k,{value:`DAILY`,children:`Daily`}),(0,K.jsx)(k,{value:`WEEKLY`,children:`Weekly`}),(0,K.jsx)(k,{value:`MONTHLY`,children:`Monthly`})]})]})]}),Hn.has(p)&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(I,{className:`text-xs`,children:`Run time (optional)`}),(0,K.jsx)(o,{type:`time`,className:`h-7 text-xs`,value:h,onChange:e=>g(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,K.jsx)(r,{variant:`ghost`,size:`sm`,className:`h-7 text-xs`,onClick:()=>c(!1),children:`Cancel`}),(0,K.jsx)(r,{size:`sm`,className:`h-7 text-xs`,onClick:y,disabled:a,children:`Save`})]})]}),e.executions.length>0&&(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,className:`text-[10px] text-muted-foreground hover:text-foreground underline`,onClick:()=>v(!_),children:[_?`Hide`:`Show`,` execution history (`,e.executions.length,`)`]}),_&&(0,K.jsx)(`div`,{className:`mt-2 space-y-1`,children:e.executions.map(e=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-muted-foreground`,children:[(0,K.jsx)(Vn,{status:e.status}),(0,K.jsx)(`span`,{children:new Date(e.startedAt).toLocaleString()}),e.prUrl&&(0,K.jsx)(`a`,{href:e.prUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-primary hover:underline`,children:`PR`})]},e.id))})]})]})}function Kn(e){switch(e.toUpperCase()){case`RUNNING`:return`default`;case`IDLE`:case`COMPLETED`:return`secondary`;case`FAILED`:return`destructive`;default:return`outline`}}function qn(e){let{process:t}=e;return(0,K.jsx)(W,{children:(0,K.jsxs)(`div`,{className:`flex flex-col`,children:[t.projectSlug?(0,K.jsx)(l,{to:`/projects/${t.projectSlug}/workspaces/${t.workspaceId}`,className:`font-medium hover:underline`,children:t.workspaceName}):(0,K.jsx)(`span`,{className:`font-medium`,children:t.workspaceName}),t.workspaceBranch&&(0,K.jsx)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:t.workspaceBranch})]})})}function Jn({process:e,isStopping:t,onStop:n}){return(0,K.jsxs)(`div`,{className:`rounded-md border bg-background p-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`div`,{className:`font-medium truncate`,children:e.workspaceName}),e.workspaceBranch&&(0,K.jsx)(`div`,{className:`text-xs text-muted-foreground font-mono truncate`,children:e.workspaceBranch}),(0,K.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground font-mono`,children:e.name||e.sessionId.slice(0,8)})]}),(0,K.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>n(e.sessionId),disabled:t||e.status===`COMPLETED`||e.status===`FAILED`,title:`Stop session`,children:(0,K.jsx)(De,{className:`w-4 h-4`})})]}),(0,K.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs`,children:[(0,K.jsx)(A,{variant:`outline`,children:e.workflow}),(0,K.jsx)(A,{variant:Kn(e.status),children:e.status})]}),(0,K.jsxs)(`div`,{className:`mt-2 grid grid-cols-2 gap-2 text-xs font-mono text-muted-foreground`,children:[(0,K.jsxs)(`span`,{children:[`CPU: `,Xe(e.cpuPercent)]}),(0,K.jsxs)(`span`,{children:[`Mem: `,Ze(e.memoryBytes)]}),(0,K.jsxs)(`span`,{children:[`Idle: `,Ye(e.idleTimeMs)]}),(0,K.jsxs)(`span`,{children:[`PID: `,e.pid??`-`]})]})]})}function Yn({process:e}){return(0,K.jsxs)(`div`,{className:`rounded-md border bg-background p-3`,children:[(0,K.jsx)(`div`,{className:`font-medium truncate`,children:e.workspaceName}),e.workspaceBranch&&(0,K.jsx)(`div`,{className:`text-xs text-muted-foreground font-mono truncate`,children:e.workspaceBranch}),(0,K.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground font-mono`,children:[(0,K.jsxs)(`span`,{children:[`Terminal: `,e.terminalId.slice(0,12)]}),(0,K.jsxs)(`span`,{children:[`PID: `,e.pid]}),(0,K.jsxs)(`span`,{children:[`Size: `,e.cols,`x`,e.rows]})]}),(0,K.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs font-mono text-muted-foreground`,children:[(0,K.jsxs)(`span`,{children:[`CPU: `,Xe(e.cpuPercent)]}),(0,K.jsxs)(`span`,{children:[`Mem: `,Ze(e.memoryBytes)]}),(0,K.jsxs)(`span`,{children:[`Created: `,new Date(e.createdAt).toLocaleTimeString()]})]})]})}function Xn(){return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[`Active Processes`,(0,K.jsx)(O,{className:`h-5 w-16 ml-2`})]}),(0,K.jsx)(F,{children:`Agent and Terminal processes currently running`})]}),(0,K.jsx)(N,{className:`space-y-6`,children:(0,K.jsxs)(`div`,{className:`space-y-3`,children:[(0,K.jsx)(O,{className:`h-5 w-48`}),(0,K.jsxs)(`div`,{className:`border rounded-md p-4 space-y-3`,children:[(0,K.jsx)(O,{className:`h-8 w-full`}),(0,K.jsx)(O,{className:`h-12 w-full`}),(0,K.jsx)(O,{className:`h-12 w-full`})]})]})})]})}function Zn({processes:e}){let t=C(),n=e?.agent&&e.agent.length>0,i=e?.terminal&&e.terminal.length>0,a=!(n||i),[o,s]=(0,G.useState)(new Set),{data:c}=u.session.getMaxSessionsPerWorkspace.useQuery(),l=u.useUtils(),d=u.admin.stopSession.useMutation(),f=(0,G.useCallback)(async e=>{s(t=>new Set(t).add(e));try{(await d.mutateAsync({sessionId:e})).wasRunning?D.success(`Session stopped`):D.info(`Session was already stopped`),l.admin.getActiveProcesses.invalidate()}catch(e){D.error(`Failed to stop session: ${e instanceof Error?e.message:String(e)}`)}finally{s(t=>{let n=new Set(t);return n.delete(e),n})}},[d,l]),p=e?.agent&&e.agent.length>0?Math.max(...Object.values(e.agent.reduce((e,t)=>(e[t.workspaceId]=(e[t.workspaceId]||0)+1,e),{}))):0;return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex flex-wrap items-center gap-2`,children:[`Active Processes`,e?.summary&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(A,{variant:`secondary`,className:`ml-2`,children:[e.summary.totalAgent,` Agent sessions`]}),c!==void 0&&p>0&&(0,K.jsxs)(A,{variant:p>=c*.8?`destructive`:`outline`,title:`Highest session count across all workspaces. Limit is ${c} per workspace.`,children:[`Max per workspace: `,p,`/`,c]})]})]}),(0,K.jsx)(F,{children:`Agent and Terminal processes currently running`})]}),(0,K.jsxs)(N,{className:`space-y-6`,children:[a&&(0,K.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No active processes`}),n&&(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`h4`,{className:`text-sm font-medium mb-2 flex items-center gap-2`,children:[(0,K.jsx)(je,{className:`w-4 h-4`}),`Agent Sessions (`,e.agent.length,`)`]}),t?(0,K.jsx)(`div`,{className:`space-y-2`,children:e.agent.map(e=>(0,K.jsx)(Jn,{process:e,isStopping:o.has(e.sessionId),onStop:f},e.sessionId))}):(0,K.jsx)(`div`,{className:`border rounded-md`,children:(0,K.jsxs)(Je,{children:[(0,K.jsx)(Ge,{children:(0,K.jsxs)(qe,{children:[(0,K.jsx)(U,{children:`Workspace`}),(0,K.jsx)(U,{children:`Session`}),(0,K.jsx)(U,{children:`Workflow`}),(0,K.jsx)(U,{children:`PID`}),(0,K.jsx)(U,{children:`Resources`}),(0,K.jsx)(U,{children:`Status`}),(0,K.jsx)(U,{children:`Actions`})]})}),(0,K.jsx)(Ke,{children:e.agent.map(e=>(0,K.jsxs)(qe,{children:[(0,K.jsx)(qn,{process:e}),(0,K.jsx)(W,{children:(0,K.jsxs)(`div`,{className:`flex flex-col`,children:[(0,K.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground`,children:e.name||e.sessionId.slice(0,8)}),(0,K.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.model})]})}),(0,K.jsx)(W,{children:(0,K.jsx)(A,{variant:`outline`,children:e.workflow})}),(0,K.jsx)(W,{className:`font-mono text-xs`,children:e.pid??`-`}),(0,K.jsx)(W,{children:(0,K.jsxs)(`div`,{className:`flex flex-col text-xs font-mono`,children:[(0,K.jsxs)(`span`,{children:[`CPU: `,Xe(e.cpuPercent)]}),(0,K.jsxs)(`span`,{children:[`Mem: `,Ze(e.memoryBytes)]}),(0,K.jsxs)(`span`,{className:`text-muted-foreground`,children:[`Idle: `,Ye(e.idleTimeMs)]})]})}),(0,K.jsx)(W,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,K.jsx)(A,{variant:Kn(e.status),children:e.status}),e.memoryStatus&&e.memoryStatus!==e.status.toLowerCase()&&(0,K.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,e.memoryStatus,`)`]})]})}),(0,K.jsx)(W,{children:(0,K.jsx)(r,{variant:`ghost`,size:`sm`,onClick:()=>f(e.sessionId),disabled:o.has(e.sessionId)||e.status===`COMPLETED`||e.status===`FAILED`,title:`Stop session`,children:(0,K.jsx)(De,{className:`w-4 h-4`})})})]},e.sessionId))})]})})]}),i&&(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`h4`,{className:`text-sm font-medium mb-2 flex items-center gap-2`,children:[(0,K.jsx)(de,{className:`w-4 h-4`}),`Terminal Processes (`,e.terminal.length,`)`]}),t?(0,K.jsx)(`div`,{className:`space-y-2`,children:e.terminal.map(e=>(0,K.jsx)(Yn,{process:e},e.terminalId))}):(0,K.jsx)(`div`,{className:`border rounded-md`,children:(0,K.jsxs)(Je,{children:[(0,K.jsx)(Ge,{children:(0,K.jsxs)(qe,{children:[(0,K.jsx)(U,{children:`Workspace`}),(0,K.jsx)(U,{children:`Terminal ID`}),(0,K.jsx)(U,{children:`PID`}),(0,K.jsx)(U,{children:`Resources`}),(0,K.jsx)(U,{children:`Size`}),(0,K.jsx)(U,{children:`Created`})]})}),(0,K.jsx)(Ke,{children:e.terminal.map(e=>(0,K.jsxs)(qe,{children:[(0,K.jsx)(qn,{process:e}),(0,K.jsx)(W,{children:(0,K.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground`,children:e.terminalId.slice(0,12)})}),(0,K.jsx)(W,{className:`font-mono text-xs`,children:e.pid}),(0,K.jsx)(W,{children:(0,K.jsxs)(`div`,{className:`flex flex-col text-xs font-mono`,children:[(0,K.jsxs)(`span`,{children:[`CPU: `,Xe(e.cpuPercent)]}),(0,K.jsxs)(`span`,{children:[`Mem: `,Ze(e.memoryBytes)]})]})}),(0,K.jsxs)(W,{className:`font-mono text-xs`,children:[e.cols,`x`,e.rows]}),(0,K.jsx)(W,{className:`text-xs text-muted-foreground`,children:new Date(e.createdAt).toLocaleTimeString()})]},e.terminalId))})]})})]})]})]})}function Qn({projectId:e,projectName:t}){let[n,i]=(0,G.useState)(!1),a=u.useUtils(),{data:o,isPending:s,isSuccess:c,isError:l,error:f,refetch:p}=u.workspace.getFactoryConfig.useQuery({projectId:e});(0,G.useEffect)(()=>{c||i(!1)},[c]);let m=u.project.saveFactoryConfig.useMutation({onSuccess:()=>{a.workspace.getFactoryConfig.invalidate({projectId:e}),i(!1)},onError:e=>{D.error(`Failed to save configuration: ${e.message}`)}}),h=u.workspace.refreshFactoryConfigs.useMutation({onSuccess:e=>{e.errors.length>0?D.warning(`Refreshed ${e.updatedCount} workspace(s), but ${e.errors.length} failed`):D.success(`Refreshed factory-factory.json for ${e.updatedCount} workspace(s)`)},onError:e=>{D.error(`Failed to refresh configurations: ${e.message}`)}});return(0,K.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[c&&(0,K.jsx)(xe,{open:n,onOpenChange:i,currentConfig:o?o.scripts:void 0,onSave:t=>{c&&m.mutate({projectId:e,config:t})},isPending:m.isPending,error:m.error}),(0,K.jsx)(`div`,{className:`border-b bg-muted/50 px-4 py-3`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,K.jsx)(`h3`,{className:`min-w-0 truncate font-semibold text-sm`,children:t}),c&&(o?(0,K.jsxs)(A,{variant:`default`,className:`bg-green-600 hover:bg-green-700`,children:[(0,K.jsx)(S,{className:`w-3 h-3 mr-1`}),`Configured`]}):(0,K.jsxs)(A,{variant:`secondary`,className:`bg-muted`,children:[(0,K.jsx)(Oe,{className:`w-3 h-3 mr-1`}),`Not configured`]})),(0,K.jsx)(r,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,"aria-label":`Edit factory configuration`,disabled:!c,onClick:()=>i(!0),children:(0,K.jsx)(Ie,{className:`w-3.5 h-3.5`})})]}),(0,K.jsxs)(r,{variant:`outline`,size:`sm`,onClick:()=>{h.mutate({projectId:e})},disabled:h.isPending,className:`w-full gap-2 sm:w-auto`,children:[(0,K.jsx)(d,{className:`w-4 h-4 ${h.isPending?`animate-spin`:``}`}),`Refresh Workspaces`]})]})}),(0,K.jsxs)(`div`,{className:`p-4`,children:[s&&(0,K.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:`Loading configuration...`}),l&&(0,K.jsxs)(`div`,{role:`alert`,className:`space-y-3`,children:[(0,K.jsxs)(`p`,{className:`text-sm text-destructive`,children:[`Failed to load configuration: `,f.message]}),(0,K.jsx)(r,{variant:`outline`,size:`sm`,onClick:()=>void p(),children:`Retry`})]}),c&&(o?(0,K.jsx)(`div`,{className:`space-y-4`,children:(0,K.jsx)(Qe,{factoryConfig:o,variant:`card`})}):(0,K.jsx)(`div`,{className:`space-y-3`,children:(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No factory-factory.json found in this repository. Click the edit button above to configure workspace setup and run scripts.`})}))]})]})}function $n({projects:e}){let[t,n]=(0,G.useState)(()=>Ae()||e[0]?.slug||``),r=e.find(e=>e.slug===t)??e[0];return r?(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,K.jsxs)(M,{value:r.slug,onValueChange:e=>{n(e),Ee(e)},children:[(0,K.jsx)(P,{className:`w-auto max-w-xs`,children:(0,K.jsx)(z,{placeholder:`Select a project`})}),(0,K.jsx)(j,{children:e.map(e=>(0,K.jsx)(k,{value:e.slug,children:e.name},e.id))})]})}),(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Oe,{className:`w-5 h-5`}),`Factory Configuration`]}),(0,K.jsx)(F,{children:`Configuration for workspace setup and run scripts (factory-factory.json)`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsx)(Qn,{projectId:r.id,projectName:r.name},r.id),(0,K.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-1 border-t pt-4`,children:[(0,K.jsxs)(`p`,{children:[(0,K.jsx)(`strong`,{children:`Port Allocation:`}),` Use`,` `,(0,K.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`{port}`}),` in run script for automatic port allocation`]}),(0,K.jsxs)(`p`,{children:[(0,K.jsx)(`strong`,{children:`Location:`}),` factory-factory.json in repository root`]})]})]})]}),(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(nt,{className:`w-5 h-5`}),`Issue Tracking`]}),(0,K.jsx)(F,{children:`Configure the issue provider (GitHub Issues or Linear)`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(Nn,{projectId:r.id,projectName:r.name,currentProvider:r.issueProvider,issueTrackerConfig:r.issueTrackerConfig},r.id)})]})]}):(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No projects found.`})}function er(){let{data:e,isLoading:t}=u.userSettings.get.useQuery(),n=u.useUtils(),i=u.userSettings.update.useMutation({onSuccess:()=>{D.success(`Settings updated`),n.userSettings.get.invalidate()},onError:e=>{D.error(`Failed to update settings: ${e.message}`)}}),a=u.admin.triggerRatchetCheck.useMutation({onSuccess:e=>{D.success(`PR check completed: ${e.checked} checked, ${e.stateChanges} state changes, ${e.actionsTriggered} updates queued`)},onError:e=>{D.error(`Failed to check PR updates: ${e.message}`)}});if(t)return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Ce,{enabled:!0,className:`w-5 h-5`,iconClassName:`w-3.5 h-3.5`}),`PR updates`]}),(0,K.jsx)(F,{children:`Queue CI, review and merge-conflict updates in the main conversation for its next turn`})]}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]});let o=e?.autoIterationPermissions??`YOLO`,s=e?.ratchetReviewTriggerMode??`CHANGES_REQUESTED`;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Ce,{enabled:!0,className:`w-5 h-5`,iconClassName:`w-3.5 h-3.5`}),`PR updates`]}),(0,K.jsx)(F,{children:`Queue CI, review and merge-conflict updates in the main conversation for its next turn`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`rounded-md border bg-muted/40 p-3 space-y-1.5`,children:[(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`When a workspace has an open pull request, Factory Factory can automatically:`}),(0,K.jsxs)(`ul`,{className:`text-sm text-muted-foreground list-disc list-inside space-y-0.5 ml-2`,children:[(0,K.jsx)(`li`,{children:`Queue failing CI checks for the next turn`}),(0,K.jsx)(`li`,{children:`Queue actionable code review feedback`})]})]}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{htmlFor:`ratchet-enabled`,children:`Default for new workspaces`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Enable PR updates for workspaces created from GitHub issues`})]}),(0,K.jsx)(J,{id:`ratchet-enabled`,checked:e?.ratchetEnabled??!1,onCheckedChange:e=>{i.mutate({ratchetEnabled:e})},disabled:i.isPending})]}),(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`ratchet-review-trigger`,children:`Review feedback trigger`}),(0,K.jsxs)(M,{value:s,onValueChange:e=>{(e===`CHANGES_REQUESTED`||e===`ALL_REVIEW_FEEDBACK`)&&i.mutate({ratchetReviewTriggerMode:e})},disabled:i.isPending,children:[(0,K.jsx)(P,{id:`ratchet-review-trigger`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`CHANGES_REQUESTED`,children:`Changes requested and unresolved threads`}),(0,K.jsx)(k,{value:`ALL_REVIEW_FEEDBACK`,children:`All review feedback`})]})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`All review feedback also lets top-level commented review summaries queue updates. Ordinary PR conversation comments do not queue updates.`})]}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{htmlFor:`ratchet-reply-to-pr-comments`,children:`Reply to PR comments`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Allow the main session to reply on review threads when it addresses feedback`})]}),(0,K.jsx)(J,{id:`ratchet-reply-to-pr-comments`,checked:e?.ratchetReplyToPrComments??!0,onCheckedChange:e=>{i.mutate({ratchetReplyToPrComments:e})},disabled:i.isPending})]}),(0,K.jsx)(`div`,{className:`border-t pt-4`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{children:`Manual Check`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Check monitored PRs and queue actionable updates`})]}),(0,K.jsx)(r,{variant:`outline`,size:`sm`,onClick:()=>a.mutate(),disabled:a.isPending,children:a.isPending?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(d,{className:`w-4 h-4 mr-2 animate-spin`}),`Checking...`]}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(d,{className:`w-4 h-4 mr-2`}),`Check All PRs Now`]})})]})})]})]}),(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(L,{children:`Auto-iteration`}),(0,K.jsx)(F,{children:`Permission defaults for auto-iteration sessions`})]}),(0,K.jsx)(N,{children:(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(I,{htmlFor:`auto-iteration-permissions`,children:`Auto-iteration permission defaults`}),(0,K.jsxs)(M,{value:o,onValueChange:e=>{(e===`STRICT`||e===`RELAXED`||e===`YOLO`)&&i.mutate({autoIterationPermissions:e})},disabled:i.isPending,children:[(0,K.jsx)(P,{id:`auto-iteration-permissions`,children:(0,K.jsx)(z,{})}),(0,K.jsxs)(j,{children:[(0,K.jsx)(k,{value:`STRICT`,children:`Strict`}),(0,K.jsx)(k,{value:`RELAXED`,children:`Relaxed`}),(0,K.jsx)(k,{value:`YOLO`,children:`YOLO`})]})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Controls permissions for separate auto-iteration sessions. PR updates inherit the main conversation’s settings.`})]})})]})]})}function tr(){let{download:e,isDownloading:t}=ce();return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(ke,{className:`w-5 h-5`}),`Server Logs`]}),(0,K.jsx)(F,{children:`View and search structured server log entries`})]}),(0,K.jsxs)(N,{className:`flex flex-col gap-2 sm:flex-row sm:gap-3`,children:[(0,K.jsx)(r,{variant:`outline`,className:`w-full sm:w-auto`,asChild:!0,children:(0,K.jsx)(l,{to:`/logs`,children:`View Logs`})}),(0,K.jsxs)(r,{variant:`outline`,onClick:e,disabled:t,className:`w-full sm:w-auto`,children:[(0,K.jsx)(se,{className:`w-4 h-4 mr-2`}),t?`Downloading...`:`Download Log File`]})]})]})}function nr({id:e,label:t,helpText:n,value:r,min:i,max:a,step:o,formatValue:s,disabled:c,onChange:l,onCommit:u}){return(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between w-[280px]`,children:[(0,K.jsx)(I,{htmlFor:e,children:t}),(0,K.jsxs)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:[s(r),` · `,Ve(r,i,a)]})]}),(0,K.jsx)(mn,{id:e,className:`w-[280px]`,value:[r],onValueChange:([e])=>l(e??r),onValueCommit:([e])=>u(e??r),min:i,max:a,step:o,disabled:c}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]})}function rr(e,t){return u.voice.validateApiKey.useMutation({onSuccess:(n,r)=>{n.valid?(t(r.apiKey),D.success(`Deepgram API key is valid`)):(r.apiKey===e&&t(null),D.error(`Validation failed: ${n.error??`Unknown error`}`))},onError:(n,r)=>{r.apiKey===e&&t(null),D.error(`Validation failed: ${n.message}`)}})}function ir({apiKey:e,onApiKeyChange:t,validated:n,hasStoredKey:i,validating:a,saving:s,onValidate:c,onSave:l}){return(0,K.jsxs)(`div`,{className:`flex flex-wrap items-end gap-2`,children:[(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(I,{htmlFor:`deepgram-api-key`,children:`Deepgram API Key`}),n&&(0,K.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-green-600`,children:[(0,K.jsx)(S,{className:`w-3 h-3`}),`Valid`]})]}),(0,K.jsx)(o,{id:`deepgram-api-key`,type:`password`,value:e,onChange:e=>t(e.target.value),placeholder:i?`••••••••••••••••••••`:`Enter your Deepgram API key`,className:`font-mono text-sm w-[280px]`})]}),(0,K.jsx)(r,{variant:`outline`,onClick:c,disabled:a||!e,children:a?`Validating...`:`Validate`}),n&&(0,K.jsx)(r,{onClick:l,disabled:s,children:s?`Saving...`:`Save`})]})}function ar({utteranceEndMs:e,bargeInSustainedMs:t,enabled:n,disabled:r,updateConfig:i}){let[a,o]=(0,G.useState)(We),[s,c]=(0,G.useState)(16);return(0,G.useEffect)(()=>{e!==void 0&&o(e)},[e]),(0,G.useEffect)(()=>{t!==void 0&&c(t)},[t]),(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(nr,{id:`voice-utterance-end`,label:`Stop-speaking sensitivity`,helpText:`How long a pause before voice mode decides you've finished talking.`,value:a,min:Ue,max:He,step:250,formatValue:e=>`${(e/1e3).toFixed(2)}s`,disabled:r,onChange:o,onCommit:t=>i.mutate({enabled:n,utteranceEndMs:t},{onError:()=>o(e??1e3)})}),(0,K.jsx)(nr,{id:`voice-barge-in`,label:`Barge-in sensitivity`,helpText:`How quickly voice mode notices you've started talking over its spoken reply and stops to listen.`,value:s,min:8,max:80,step:8,formatValue:e=>`${e}ms`,disabled:r,onChange:c,onCommit:e=>i.mutate({enabled:n,bargeInSustainedMs:e},{onError:()=>c(t??16)})})]})}function or(){let{data:e,isLoading:t}=u.voice.getConfig.useQuery(),n=u.useUtils(),[r,i]=(0,G.useState)(``),[a,o]=(0,G.useState)(null),s=a!==null&&a===r,[c,l]=(0,G.useState)(1);(0,G.useEffect)(()=>{e?.ttsSpeed!==void 0&&l(e.ttsSpeed)},[e?.ttsSpeed]);let d=rr(r,o),f=u.voice.updateConfig.useMutation({onSuccess:e=>{n.voice.getConfig.setData(void 0,e),n.voice.getConfig.invalidate()},onError:e=>D.error(`Failed to save: ${e.message}`)});if(t)return(0,K.jsxs)(B,{children:[(0,K.jsx)(R,{children:(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(le,{className:`w-5 h-5`}),`Voice Mode`]})}),(0,K.jsx)(N,{children:(0,K.jsx)(O,{className:`h-10 w-full`})})]});let p=e?.hasApiKey??!1,m=e?.enabled??!1,h=e?.ttsModel??`flux-haley-en`;return(0,K.jsxs)(B,{children:[(0,K.jsxs)(R,{children:[(0,K.jsxs)(L,{className:`flex items-center gap-2`,children:[(0,K.jsx)(le,{className:`w-5 h-5`}),`Voice Mode`]}),(0,K.jsx)(F,{children:`Talk to Claude/Codex sessions by voice using your own Deepgram API key for speech-to-text and text-to-speech.`})]}),(0,K.jsxs)(N,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,K.jsx)(I,{htmlFor:`voice-mode-enabled`,children:`Enable voice mode`}),(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:p?`Available in workspace chat`:`Requires a Deepgram API key below`})]}),(0,K.jsx)(J,{id:`voice-mode-enabled`,checked:m,onCheckedChange:e=>f.mutate({enabled:e}),disabled:f.isPending||!p})]}),(0,K.jsx)(ir,{apiKey:r,onApiKeyChange:e=>{i(e),o(null)},validated:s,hasStoredKey:p,validating:d.isPending,saving:f.isPending,onValidate:()=>{r&&d.mutate({apiKey:r})},onSave:()=>{r&&s&&f.mutate({enabled:m,apiKey:r},{onSuccess:()=>{i(``),o(null)}})}}),(0,K.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Create an API key at`,` `,(0,K.jsx)(`a`,{href:`https://console.deepgram.com/`,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`console.deepgram.com`})]}),(0,K.jsxs)(`div`,{className:`border-t pt-4 space-y-4`,children:[(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsx)(I,{htmlFor:`voice-model`,children:`Voice`}),(0,K.jsxs)(M,{value:h,onValueChange:e=>f.mutate({enabled:m,ttsModel:e}),disabled:f.isPending||!p,children:[(0,K.jsx)(P,{id:`voice-model`,className:`w-[280px]`,children:(0,K.jsx)(z,{})}),(0,K.jsx)(j,{children:re.map(e=>(0,K.jsxs)(k,{value:e.model,children:[e.name,e.description?` — ${e.description}`:``]},e.model))})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Deepgram Flux TTS English voices`})]}),(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between w-[280px]`,children:[(0,K.jsx)(I,{htmlFor:`voice-speed`,children:`Speed`}),(0,K.jsxs)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:[c.toFixed(2),`x`]})]}),(0,K.jsx)(mn,{id:`voice-speed`,className:`w-[280px]`,value:[c],onValueChange:([e])=>l(e??1),onValueCommit:([t])=>f.mutate({enabled:m,ttsSpeed:t??1},{onError:()=>l(e?.ttsSpeed??1)}),min:te,max:ie,step:ee,disabled:f.isPending||!p})]}),(0,K.jsx)(ar,{utteranceEndMs:e?.utteranceEndMs,bargeInSustainedMs:e?.bargeInSustainedMs,enabled:m,disabled:f.isPending||!p,updateConfig:f})]})]})]})}function sr(e){if(!e||e.length===0)return;let t=Ae();return t&&e.some(e=>e.slug===t)?t:e[0]?.slug}function cr(){be({title:`Settings`});let[e,t]=(0,G.useState)(`general`),{data:n,isLoading:r,refetch:i}=u.admin.getSystemStats.useQuery(void 0,{refetchInterval:5e3}),{data:a,isLoading:o}=u.admin.getActiveProcesses.useQuery(void 0,{refetchInterval:5e3}),{data:s}=u.project.list.useQuery(),c=u.admin.resetApiUsageStats.useMutation({onSuccess:()=>{i()}}),l=sr(s);return r?(0,K.jsx)(_e,{message:`Loading settings...`}):(0,K.jsxs)(`div`,{className:`h-full overflow-y-auto`,children:[l&&(0,K.jsx)(Re,{children:(0,K.jsx)(Le,{projectSlug:l})}),(0,K.jsx)(`div`,{className:`space-y-6 p-3 md:p-6`,children:(0,K.jsxs)(Be,{value:e,onValueChange:e=>t(e),children:[(0,K.jsxs)(ze,{className:`w-full sm:w-auto`,children:[(0,K.jsx)(V,{value:`general`,className:`flex-1 sm:flex-initial`,children:`General Settings`}),(0,K.jsx)(V,{value:`appearance`,className:`flex-1 sm:flex-initial`,children:`Appearance`}),(0,K.jsx)(V,{value:`project`,className:`flex-1 sm:flex-initial`,children:`Project Settings`}),(0,K.jsx)(V,{value:`periodic-tasks`,className:`flex-1 sm:flex-initial`,children:`Periodic Tasks`}),(0,K.jsx)(V,{value:`voice`,className:`flex-1 sm:flex-initial`,children:`Voice Mode`})]}),(0,K.jsxs)(H,{value:`general`,className:`space-y-6 mt-4`,children:[(0,K.jsx)(wt,{apiUsage:n?.apiUsage,onReset:()=>c.mutate(),isResetting:c.isPending}),o?(0,K.jsx)(Xn,{}):(0,K.jsx)(Zn,{processes:a}),(0,K.jsx)(B,{className:`bg-muted/50`,children:(0,K.jsx)(N,{className:`py-4`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-sm`,children:[(0,K.jsx)(`span`,{className:`font-medium`,children:`Environment:`}),(0,K.jsx)(A,{variant:`outline`,children:n?.environment||`unknown`})]})})}),(0,K.jsx)(Pn,{}),(0,K.jsx)(jn,{}),(0,K.jsx)(On,{}),(0,K.jsx)(kn,{}),(0,K.jsx)(er,{}),(0,K.jsx)(xt,{}),(0,K.jsx)(Dn,{}),(0,K.jsx)(An,{}),(0,K.jsx)(tr,{})]}),(0,K.jsx)(H,{value:`appearance`,className:`mt-4`,children:(0,K.jsx)(wn,{})}),(0,K.jsx)(H,{value:`project`,className:`mt-4`,children:s?(0,K.jsx)($n,{projects:s}):(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading projects...`})}),(0,K.jsx)(H,{value:`periodic-tasks`,className:`mt-4`,children:s?(0,K.jsx)(zn,{projects:s}):(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading projects...`})}),(0,K.jsx)(H,{value:`voice`,className:`mt-4`,children:(0,K.jsx)(or,{})})]})})]})}export{cr as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-DKj5X9O4.js";import{l as t,s as n}from"./dist-3wBnkw0J.js";var r=e(),i=t(`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current`}},defaultVariants:{variant:`default`}});function a({className:e,variant:t,...a}){return(0,r.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:n(i({variant:t}),e),...a})}function o({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`alert-description`,className:n(`col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed`,e),...t})}export{o as n,a as t};
@@ -0,0 +1 @@
1
+ import{d as e,f as t,h as n,n as r}from"./schemas-Cq4rE1N1.js";var i=[`factory`,`github`,`one`,`solarized`,`high-contrast`],a=`factory`,o=[{id:`factory`,label:`Factory`,description:`Neutral grays with the Factory yellow accent`},{id:`github`,label:`GitHub`,description:`Inspired by GitHub’s Primer light and dark themes`},{id:`one`,label:`One`,description:`Inspired by Atom One Light and One Dark`},{id:`solarized`,label:`Solarized`,description:`Ethan Schoonover’s Solarized light and dark`},{id:`high-contrast`,label:`High contrast`,description:`Pure black and white with strong borders for low vision`}],s=r(i);function c(e){let t=s.safeParse(e);return t.success?t.data:a}var l=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function u(e){let t=e.trim().toLowerCase();if(t.length===4){let[,e,n,r]=t;return`#${e}${e}${n}${n}${r}${r}`}return t}var d=n().trim().regex(l,`Color must be a hex value such as #1e1e1e`).transform(u);function f(e){let t=d.safeParse(e);return t.success?t.data:null}var p=e().int().min(75).max(175).multipleOf(5);function m(e){if(!Number.isFinite(e))return 100;let t=Math.round(e/5)*5;return Math.min(175,Math.max(75,t))}function h(e){return Math.max(8,Math.round(13*m(e)/100))}var g=`default`,_=`custom`,v=[{id:g,label:`Geist (default)`,value:null},{id:`inter`,label:`Inter`,value:`"Inter", ui-sans-serif, system-ui, sans-serif`},{id:`atkinson`,label:`Atkinson Hyperlegible`,value:`"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif`},{id:`monaco`,label:`Monaco`,value:`Monaco, ui-monospace, monospace`},{id:`system`,label:`System UI`,value:`ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif`}],y=[{id:g,label:`Geist Mono (default)`,value:null},{id:`plex-mono`,label:`IBM Plex Mono`,value:`"IBM Plex Mono", ui-monospace, monospace`},{id:`atkinson-mono`,label:`Atkinson Hyperlegible Mono`,value:`"Atkinson Hyperlegible Mono", ui-monospace, monospace`},{id:`monaco`,label:`Monaco`,value:`Monaco, ui-monospace, monospace`},{id:`system-mono`,label:`System monospace`,value:`ui-monospace, Menlo, Monaco, "Cascadia Code", Consolas, monospace`}],b=n().trim().min(1,`Font family cannot be empty`).max(200,`Font family must be at most 200 characters`).regex(/^[\p{L}\p{M}\p{N} ,"'._-]+$/u,`Font family may only contain letters, numbers, spaces, quotes, commas, periods and hyphens`);function x(e){return b.safeParse(e).success}function S(e,t){let n=e.find(e=>e.value===t);return n?n.id:_}var C=t({colorScheme:s,backgroundColor:d.nullable(),foregroundColor:d.nullable(),fontScale:p,fontSans:b.nullable(),fontMono:b.nullable()}),w={colorScheme:a,backgroundColor:null,foregroundColor:null,fontScale:100,fontSans:null,fontMono:null};function T(e){return e?{colorScheme:c(e.appearanceColorScheme),backgroundColor:f(e.appearanceBackgroundColor),foregroundColor:f(e.appearanceForegroundColor),fontScale:m(e.appearanceFontScale??100),fontSans:x(e.appearanceFontSans)?e.appearanceFontSans:null,fontMono:x(e.appearanceFontMono)?e.appearanceFontMono:null}:w}function E(e){return e.colorScheme===w.colorScheme&&e.backgroundColor===null&&e.foregroundColor===null&&e.fontScale===100&&e.fontSans===null&&e.fontMono===null}export{y as a,C as c,p as d,d as f,h,a as i,b as l,c as m,_ as n,v as o,E as p,w as r,T as s,o as t,S as u};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./path-fybaL0A-.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-B_J_HbC0.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,r,i,a,o){var c=e-n,l=t-r,u=(o?a:-a)/d(c*c+l*l),f=u*l,p=-u*c,m=e+f,h=t+p,g=n+f,_=r+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=i-a,w=m*_-g*h,T=(x<0?-1:1)*d(s(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(i/C-1),y11:D*(i/C-1)}}function x(){var s=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+s.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-r,_=T.apply(this,arguments)-r,v=l(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>c-1e-12)D.moveTo(h*u(g),h*a(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*u(_),m*a(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):d(m*m+h*h)),R=p(l(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=o(L/m*a(I)),W=o(L/h*a(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*u(A),K=h*a(A),q=m*u(N),J=m*a(N);if(R>1e-12){var Y=h*u(j),X=h*a(j),Z=m*u(M),Q=m*a(M),$;if(v<i){if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/a(f((ee*ne+te*re)/(d(ee*ee+te*te)*d(ne*ne+re*re)))/2),ae=d($[0]*$[0]+$[1]*$[1]);z=p(R,(m-ae)/(ie-1)),B=p(R,(h-ae)/(ie+1))}else z=B=0}}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,h,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,n(H.y11,H.x11),n(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,m,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,n(H.y11,H.x11),n(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+s.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-i/2;return[u(t)*e,a(t)*e]},k.innerRadius=function(t){return arguments.length?(s=typeof t==`function`?t:e(+t),k):s},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
@@ -0,0 +1 @@
1
+ import"./chunk-NGNAAXSQ-DqoPQk1a.js";import{M as e}from"./mermaid-parser.core-cMhM95A-.js";export{e as createArchitectureServices};