factory-factory 0.4.7 → 0.4.8

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 (1132) hide show
  1. package/README.md +13 -1
  2. package/dist/client/assets/Archive.es-CGY-HOtI.js +1 -0
  3. package/dist/client/assets/ArrowLeft.es-BkuVunBb.js +1 -0
  4. package/dist/client/assets/abnfDiagram-VCTEODGH-B2jWIJ_F.js +1 -0
  5. package/dist/client/assets/admin-page-DSQHBVdP.js +1 -0
  6. package/dist/client/assets/alert-PePzkOCj.js +1 -0
  7. package/dist/client/assets/alert-dialog-BgqiS2Mp.js +1 -0
  8. package/dist/client/assets/arc-Pry-7G1_.js +1 -0
  9. package/dist/client/assets/architecture-7GRP2DOG-iqZodW6v.js +1 -0
  10. package/dist/client/assets/architectureDiagram-5GKGNRK7-CV8YjPRr.js +36 -0
  11. package/dist/client/assets/array-BifhSqXX.js +1 -0
  12. package/dist/client/assets/badge-BESbZ2wy.js +1 -0
  13. package/dist/client/assets/blockDiagram-I7D4REHJ-BdQWAITV.js +129 -0
  14. package/dist/client/assets/c4Diagram-7LVT6UL2-Dp1ETdzU.js +38 -0
  15. package/dist/client/assets/channel-CuF41sy9.js +1 -0
  16. package/dist/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  17. package/dist/client/assets/chunk-4HAMMTFA-BXRLulFZ.js +62 -0
  18. package/dist/client/assets/{chunk-5VM5RSS4-D2hwZzSy.js → chunk-5VM5RSS4-ZNzvKenW.js} +2 -2
  19. package/dist/client/assets/chunk-75Z2AOVW-FUHgKXYa.js +2 -0
  20. package/dist/client/assets/chunk-DU6HZSFF-nxkO_ute.js +127 -0
  21. package/dist/client/assets/chunk-F27PBJKO-Dal8QxK3.js +1 -0
  22. package/dist/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  23. package/dist/client/assets/chunk-GMAD6QVW-B_VbYl2S.js +72 -0
  24. package/dist/client/assets/chunk-GVQU2GXP-DobNOfAy.js +1 -0
  25. package/dist/client/assets/chunk-IMKFNOWR-D_P1eTAa.js +231 -0
  26. package/dist/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  27. package/dist/client/assets/chunk-L3NEJ4N5-CZpV3_Q0.js +1 -0
  28. package/dist/client/assets/chunk-OSK3NFVY-e3uqzkQq.js +10 -0
  29. package/dist/client/assets/chunk-P2QGCYS3-B1FUAlmg.js +1 -0
  30. package/dist/client/assets/chunk-POPQ4Y6H-BKVSxG-w.js +1 -0
  31. package/dist/client/assets/chunk-PWAF6VOD-DQe8ztwz.js +1 -0
  32. package/dist/client/assets/chunk-SHT3W25Y-D8Ie2IK_.js +168 -0
  33. package/dist/client/assets/chunk-SVP7TREG-_l4ZFWYL.js +88 -0
  34. package/dist/client/assets/chunk-TICWLB2K-BfcOBlR4.js +206 -0
  35. package/dist/client/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
  36. package/dist/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  37. package/dist/client/assets/ci-status-ChifTKM1.js +1 -0
  38. package/dist/client/assets/classDiagram-ZZMXUADV-CSnIdOhD.js +1 -0
  39. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CSnIdOhD.js +1 -0
  40. package/dist/client/assets/components-CYsyoHP0.js +1 -0
  41. package/dist/client/assets/confirm-dialog-BAfboPjS.js +1 -0
  42. package/dist/client/assets/core-DW1Rn28Z.js +1 -0
  43. package/dist/client/assets/cose-bilkent-JH36ORCC-BbJNf1Rj.js +1 -0
  44. package/dist/client/assets/cynefin-OW5HDTMX-B7JP5WcM.js +1 -0
  45. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-B5jcLvUi.js +62 -0
  46. package/dist/client/assets/cytoscape.esm-B-1iW2ft.js +321 -0
  47. package/dist/client/assets/dagre-C-rnJpZF.js +1 -0
  48. package/dist/client/assets/dagre-GXQ25YYZ-CFkt7lun.js +4 -0
  49. package/dist/client/assets/data-import-button-D-ZWnQAg.js +6 -0
  50. package/dist/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  51. package/dist/client/assets/detail-C1zBkWd-.js +1 -0
  52. package/dist/client/assets/diagram-S7CK7UJ4-DpT9R2w0.js +30 -0
  53. package/dist/client/assets/diagram-UQ7AKVKN-DAy1Fpaf.js +41 -0
  54. package/dist/client/assets/diagram-VSXAHHWV-Co-NFSf3.js +3 -0
  55. package/dist/client/assets/diagram-VX7I27RA-CaIWof2e.js +24 -0
  56. package/dist/client/assets/diagram-Z3DM3KII-BpcVyNtl.js +24 -0
  57. package/dist/client/assets/diff-highlight.worker-C-7SSG_d.js +55 -0
  58. package/dist/client/assets/dist-BiFeezwN.js +1 -0
  59. package/dist/client/assets/dist-Dtgf0TOg.js +41 -0
  60. package/dist/client/assets/dist-v5Q1xZ2K.js +1 -0
  61. package/dist/client/assets/ebnfDiagram-PWID7BFC-CS26Rt0p.js +1 -0
  62. package/dist/client/assets/en-US-SlQiGO_s.js +1 -0
  63. package/dist/client/assets/erDiagram-RLTQ6QDP-DsdFXV4-.js +99 -0
  64. package/dist/client/assets/eventmodeling-NTZA5JFV-C4d4RnR4.js +1 -0
  65. package/dist/client/assets/factory-config-scripts-BoDNVi6q.js +1 -0
  66. package/dist/client/assets/flowDiagram-HODETNUW-Df-T-03y.js +1 -0
  67. package/dist/client/assets/formatters-D_bnXRun.js +1 -0
  68. package/dist/client/assets/ganttDiagram-EL5Y4UJY-D_b7Bn-J.js +292 -0
  69. package/dist/client/assets/gitGraph-4MIJSDKK-De5ASUSY.js +1 -0
  70. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BHMJvUNJ.js +106 -0
  71. package/dist/client/assets/graphlib-DS17s2tU.js +1 -0
  72. package/dist/client/assets/home-DjDt91tt.js +1 -0
  73. package/dist/client/assets/hooks-BTcY6K1q.js +1 -0
  74. package/dist/client/assets/index-CpFffknJ.css +2 -0
  75. package/dist/client/assets/index-D34fUfAP.js +10 -0
  76. package/dist/client/assets/info-A6RAGUB7-DNiM6MW6.js +1 -0
  77. package/dist/client/assets/infoDiagram-27XIBGKW-4g58w-zo.js +2 -0
  78. package/dist/client/assets/init-C-OQMol4.js +1 -0
  79. package/dist/client/assets/ishikawaDiagram-5VMMS53U-DO7_eJ6Q.js +70 -0
  80. package/dist/client/assets/journeyDiagram-3NMN7TZE-6CJtdIGo.js +139 -0
  81. package/dist/client/assets/jsx-runtime-DE3RlOCf.js +1 -0
  82. package/dist/client/assets/kanban-definition-UXKFOSKX-D211MzXr.js +89 -0
  83. package/dist/client/assets/katex-ZlcWpGUi.js +257 -0
  84. package/dist/client/assets/label-CI3jpwv-.js +1 -0
  85. package/dist/client/assets/lib-DyBYhPHb.js +1 -0
  86. package/dist/client/assets/line-DotOMT4o.js +1 -0
  87. package/dist/client/assets/linear-SzVmGSw4.js +1 -0
  88. package/dist/client/assets/list-DozL_ZP-.js +184 -0
  89. package/dist/client/assets/list-bUzF8ozJ.js +1 -0
  90. package/dist/client/assets/logs-CjKXHkrB.js +1 -0
  91. package/dist/client/assets/mermaid-diagram-CESNj6Ju.js +44 -0
  92. package/dist/client/assets/mermaid-parser.core-DK0kgowR.js +7 -0
  93. package/dist/client/assets/mindmap-definition-YA3MSWOX-DF5ewLZ5.js +96 -0
  94. package/dist/client/assets/mobile-baseline-B0PakiKB.js +10 -0
  95. package/dist/client/assets/new-C3e5S62x.js +1 -0
  96. package/dist/client/assets/new-CCDeoRvw.js +1 -0
  97. package/dist/client/assets/ordinal-BDEzSJ7C.js +1 -0
  98. package/dist/client/assets/packet-AYTQ26CC-C4EHUAzU.js +1 -0
  99. package/dist/client/assets/page-header-BCpV1oUO.js +1 -0
  100. package/dist/client/assets/path-fybaL0A-.js +1 -0
  101. package/dist/client/assets/pegDiagram-XKGWAZYB-_WrA16pJ.js +1 -0
  102. package/dist/client/assets/pie-WAS4IAKB-BkSTK6KM.js +1 -0
  103. package/dist/client/assets/pieDiagram-E7YTZNPT-CUR0mgrL.js +39 -0
  104. package/dist/client/assets/popover-D-6mugCQ.js +1 -0
  105. package/dist/client/assets/pr-inbox-item-vOH1gfSf.js +2 -0
  106. package/dist/client/assets/preload-helper-Czpn1I53.js +1 -0
  107. package/dist/client/assets/project-repo-form-DjzRbY9O.js +1 -0
  108. package/dist/client/assets/provider-cli-warning-LYUDO_5Y.js +1 -0
  109. package/dist/client/assets/quadrantDiagram-AXDQQJYC-QXmh8FnA.js +7 -0
  110. package/dist/client/assets/radar-RG4KPBEZ-ymOfNW7I.js +1 -0
  111. package/dist/client/assets/radio-group-CcAx51bT.js +1 -0
  112. package/dist/client/assets/railroad-74A4TZTK-CwWB40du.js +1 -0
  113. package/dist/client/assets/railroad-abnf-HS5TGJTU-DGUx-UBP.js +1 -0
  114. package/dist/client/assets/railroad-ebnf-LZEXJU2U-isA18bJo.js +1 -0
  115. package/dist/client/assets/railroad-peg-WCYAUIDC-Qz11I2dz.js +1 -0
  116. package/dist/client/assets/railroadDiagram-O6MQD6OU-O7DCuidl.js +1 -0
  117. package/dist/client/assets/redirect-CNaRFL8d.js +1 -0
  118. package/dist/client/assets/requirementDiagram-BXWQKSXE-BajIi2rw.js +84 -0
  119. package/dist/client/assets/reviews-B04-ADI9.js +1 -0
  120. package/dist/client/assets/rolldown-runtime-hePW80VL.js +1 -0
  121. package/dist/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
  122. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CnR7slVB.js +40 -0
  123. package/dist/client/assets/select-BgEObL9n.js +1 -0
  124. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BUxl34n_.js +162 -0
  125. package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  126. package/dist/client/assets/spinner-ASaPCL5c.js +1 -0
  127. package/dist/client/assets/src-B6xuSHsQ.js +1 -0
  128. package/dist/client/assets/startup-script-form-c7w0nnHp.js +1 -0
  129. package/dist/client/assets/stateDiagram-D77RDMKH-aFuhfmKp.js +1 -0
  130. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C3HBCmSp.js +1 -0
  131. package/dist/client/assets/swimlanes-42K2YHIH-BccYx63r.js +1 -0
  132. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DXqJPUvi.js +8 -0
  133. package/dist/client/assets/table-wIG3osPW.js +1 -0
  134. package/dist/client/assets/tabs-Cn3M4k-N.js +1 -0
  135. package/dist/client/assets/terminal-instance-7W1Sdy6P.js +16 -0
  136. package/dist/client/assets/terminal-instance-BrP-ENHg.css +1 -0
  137. package/dist/client/assets/textarea-BVHmIkCM.js +1 -0
  138. package/dist/client/assets/timeline-definition-24CTP7MA-CM_waoCp.js +120 -0
  139. package/dist/client/assets/tooltip-DCH0jP98.js +1 -0
  140. package/dist/client/assets/treeView-Q6P3EWNA-CkV-8YWk.js +1 -0
  141. package/dist/client/assets/treemap-WGGIJYW6-L1FedAzz.js +1 -0
  142. package/dist/client/assets/trpc-X4t2_jd5.js +1 -0
  143. package/dist/client/assets/use-auto-scroll-QQMmbsX-.js +1 -0
  144. package/dist/client/assets/use-download-server-log-Bag_Et_8.js +1 -0
  145. package/dist/client/assets/use-project-header-navigation-BXqLQ4G_.js +1 -0
  146. package/dist/client/assets/use-websocket-channel-DW9rsEG5.js +4 -0
  147. package/dist/client/assets/use-websocket-transport-BT1hhmkl.js +50 -0
  148. package/dist/client/assets/vbnet-CrqJJ08J.js +57 -0
  149. package/dist/client/assets/vennDiagram-4TSXK5OY-Djoofmfi.js +34 -0
  150. package/dist/client/assets/voice-vad-ChMQMgBS.js +1 -0
  151. package/dist/client/assets/wardley-WFR3VGLG-BU-g6L7U.js +1 -0
  152. package/dist/client/assets/wardleyDiagram-VM6X3IG4-DZNgTneT.js +78 -0
  153. package/dist/client/assets/workspace-CsQCO4D_.js +18 -0
  154. package/dist/client/assets/xychartDiagram-S5SC5T6Z-WTubjsZj.js +7 -0
  155. package/dist/client/index.html +29 -2
  156. package/dist/prisma/generated/client.js.map +1 -1
  157. package/dist/prisma/generated/enums.d.ts +86 -86
  158. package/dist/prisma/generated/enums.d.ts.map +1 -1
  159. package/dist/prisma/generated/internal/class.js +3 -3
  160. package/dist/prisma/generated/internal/class.js.map +1 -1
  161. package/dist/prisma/generated/internal/prismaNamespace.d.ts +206 -206
  162. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  163. package/dist/prisma/generated/internal/prismaNamespace.js +2 -2
  164. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  165. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +204 -204
  166. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  167. package/dist/scripts/check-fk-indexes.js.map +1 -1
  168. package/dist/scripts/check-no-direct-process-env.d.mts +1 -1
  169. package/dist/scripts/check-no-direct-process-env.d.mts.map +1 -1
  170. package/dist/scripts/check-no-direct-process-env.mjs.map +1 -1
  171. package/dist/src/backend/app-context.d.ts +2 -2
  172. package/dist/src/backend/app-context.d.ts.map +1 -1
  173. package/dist/src/backend/app-context.js +2 -2
  174. package/dist/src/backend/app-context.js.map +1 -1
  175. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  176. package/dist/src/backend/clients/git.client.js +2 -2
  177. package/dist/src/backend/clients/git.client.js.map +1 -1
  178. package/dist/src/backend/constants/http.d.ts.map +1 -1
  179. package/dist/src/backend/constants/websocket.d.ts.map +1 -1
  180. package/dist/src/backend/interceptors/auto-branch-rename.d.ts +1 -1
  181. package/dist/src/backend/interceptors/auto-branch-rename.d.ts.map +1 -1
  182. package/dist/src/backend/interceptors/auto-branch-rename.js +3 -3
  183. package/dist/src/backend/interceptors/branch-naming.interceptor.js +4 -4
  184. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +14 -17
  185. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -1
  186. package/dist/src/backend/interceptors/branch-rename.utils.d.ts +1 -1
  187. package/dist/src/backend/interceptors/branch-rename.utils.js +1 -1
  188. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +6 -6
  189. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js +7 -7
  190. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js.map +1 -1
  191. package/dist/src/backend/interceptors/pr-detection.interceptor.js +3 -3
  192. package/dist/src/backend/interceptors/registry.d.ts.map +1 -1
  193. package/dist/src/backend/interceptors/registry.js +1 -1
  194. package/dist/src/backend/lib/application-error.d.ts.map +1 -1
  195. package/dist/src/backend/lib/application-error.js.map +1 -1
  196. package/dist/src/backend/lib/atomic-file.js.map +1 -1
  197. package/dist/src/backend/lib/constants.d.ts.map +1 -1
  198. package/dist/src/backend/lib/env.js.map +1 -1
  199. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  200. package/dist/src/backend/lib/file-lock-mutex.d.ts.map +1 -1
  201. package/dist/src/backend/lib/file-lock-mutex.js +1 -1
  202. package/dist/src/backend/lib/file-lock-mutex.js.map +1 -1
  203. package/dist/src/backend/lib/file-preview.d.ts +6 -0
  204. package/dist/src/backend/lib/file-preview.d.ts.map +1 -0
  205. package/dist/src/backend/lib/file-preview.js +34 -0
  206. package/dist/src/backend/lib/file-preview.js.map +1 -0
  207. package/dist/src/backend/lib/git-status-parser.test.js +1 -1
  208. package/dist/src/backend/lib/request-trust.js.map +1 -1
  209. package/dist/src/backend/lib/topic-broadcaster.d.ts.map +1 -1
  210. package/dist/src/backend/lib/topic-broadcaster.js.map +1 -1
  211. package/dist/src/backend/lib/topic-broadcaster.test.js +1 -1
  212. package/dist/src/backend/lib/websocket-send.js +1 -1
  213. package/dist/src/backend/lib/websocket-send.test.js +1 -1
  214. package/dist/src/backend/lib/websocket-send.test.js.map +1 -1
  215. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  216. package/dist/src/backend/middleware/cors.middleware.d.ts +1 -1
  217. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  218. package/dist/src/backend/middleware/cors.middleware.js +1 -1
  219. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  220. package/dist/src/backend/middleware/request-logger.middleware.d.ts +1 -1
  221. package/dist/src/backend/middleware/request-logger.middleware.d.ts.map +1 -1
  222. package/dist/src/backend/migrate.js.map +1 -1
  223. package/dist/src/backend/orchestration/cli-health.service.d.ts +1 -1
  224. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  225. package/dist/src/backend/orchestration/cli-health.service.js +4 -4
  226. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  227. package/dist/src/backend/orchestration/data-backup.service.js +2 -2
  228. package/dist/src/backend/orchestration/data-backup.service.test.js +1 -1
  229. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +9 -9
  230. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +2 -2
  231. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +9 -9
  232. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  233. package/dist/src/backend/orchestration/event-coalescer.integration.test.js +1 -1
  234. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js +6 -6
  235. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +11 -11
  236. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  237. package/dist/src/backend/orchestration/event-collector.orchestrator.js +23 -133
  238. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  239. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +39 -121
  240. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  241. package/dist/src/backend/orchestration/health.service.d.ts.map +1 -1
  242. package/dist/src/backend/orchestration/health.service.js +1 -1
  243. package/dist/src/backend/orchestration/linear-config.helper.js +2 -2
  244. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts +24 -0
  245. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts.map +1 -0
  246. package/dist/src/backend/orchestration/ratchet-projection.worker.js +128 -0
  247. package/dist/src/backend/orchestration/ratchet-projection.worker.js.map +1 -0
  248. package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts +2 -0
  249. package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts.map +1 -0
  250. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js +174 -0
  251. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js.map +1 -0
  252. package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
  253. package/dist/src/backend/orchestration/reconciliation.service.js +5 -5
  254. package/dist/src/backend/orchestration/reconciliation.service.test.js +2 -2
  255. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  256. package/dist/src/backend/orchestration/scheduler.service.js +7 -7
  257. package/dist/src/backend/orchestration/scheduler.service.test.js +1 -1
  258. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +7 -6
  259. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  260. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +108 -80
  261. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  262. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +6 -6
  263. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  264. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts +2 -0
  265. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts.map +1 -0
  266. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js +206 -0
  267. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js.map +1 -0
  268. package/dist/src/backend/orchestration/types.d.ts +1 -1
  269. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +4 -4
  270. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +3 -3
  271. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  272. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +2 -2
  273. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  274. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +5 -5
  275. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js +2 -2
  276. package/dist/src/backend/orchestration/workspace-init-github-username-cache.d.ts.map +1 -1
  277. package/dist/src/backend/orchestration/workspace-init-github-username-cache.js +1 -1
  278. package/dist/src/backend/orchestration/workspace-init-github-username-cache.js.map +1 -1
  279. package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts +1 -1
  280. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +3 -3
  281. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js +3 -3
  282. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js.map +1 -1
  283. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +1 -1
  284. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +3 -3
  285. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +9 -9
  286. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +5 -5
  287. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js +2 -2
  288. package/dist/src/backend/prompts/markdown-loader.d.ts.map +1 -1
  289. package/dist/src/backend/prompts/quick-actions.js +1 -1
  290. package/dist/src/backend/prompts/quick-actions.js.map +1 -1
  291. package/dist/src/backend/prompts/ratchet-dispatch.js +1 -1
  292. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  293. package/dist/src/backend/prompts/workflows.js +1 -1
  294. package/dist/src/backend/prompts/workflows.js.map +1 -1
  295. package/dist/src/backend/routers/health.router.d.ts +1 -1
  296. package/dist/src/backend/routers/health.router.js +2 -2
  297. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts +1 -1
  298. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts.map +1 -1
  299. package/dist/src/backend/routers/websocket/chat-connection-registry.js +3 -3
  300. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js +2 -2
  301. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js.map +1 -1
  302. package/dist/src/backend/routers/websocket/chat.handler.d.ts +2 -2
  303. package/dist/src/backend/routers/websocket/chat.handler.js +3 -3
  304. package/dist/src/backend/routers/websocket/chat.handler.test.js +2 -2
  305. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  306. package/dist/src/backend/routers/websocket/context-injection.test.js +8 -8
  307. package/dist/src/backend/routers/websocket/context-injection.test.js.map +1 -1
  308. package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.js +2 -2
  309. package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.js +1 -1
  310. package/dist/src/backend/routers/websocket/log-stream.handler.d.ts +2 -2
  311. package/dist/src/backend/routers/websocket/log-stream.handler.js +1 -1
  312. package/dist/src/backend/routers/websocket/message-utils.js +1 -1
  313. package/dist/src/backend/routers/websocket/message-utils.test.js +1 -1
  314. package/dist/src/backend/routers/websocket/push-channel.handler.d.ts +2 -2
  315. package/dist/src/backend/routers/websocket/push-channel.handler.js +1 -1
  316. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts +1 -1
  317. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +4 -4
  318. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  319. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +2 -2
  320. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts +2 -2
  321. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  322. package/dist/src/backend/routers/websocket/snapshots.handler.js +5 -5
  323. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  324. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +6 -6
  325. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  326. package/dist/src/backend/routers/websocket/terminal.handler.d.ts +2 -2
  327. package/dist/src/backend/routers/websocket/terminal.handler.js +5 -5
  328. package/dist/src/backend/routers/websocket/terminal.handler.test.js +4 -4
  329. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  330. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +1 -1
  331. package/dist/src/backend/routers/websocket/upgrade-utils.js +2 -2
  332. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
  333. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.d.ts +1 -1
  334. package/dist/src/backend/routers/websocket/voice.handler.d.ts +1 -1
  335. package/dist/src/backend/routers/websocket/voice.handler.js +1 -1
  336. package/dist/src/backend/routers/websocket/websocket.integration.test.js +4 -4
  337. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  338. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  339. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +1 -1
  340. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  341. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  342. package/dist/src/backend/services/auto-iteration/service/git-ops.js +1 -1
  343. package/dist/src/backend/services/auto-iteration/service/index.js +1 -1
  344. package/dist/src/backend/services/auto-iteration/service/insights.service.d.ts.map +1 -1
  345. package/dist/src/backend/services/auto-iteration/service/logbook.service.d.ts.map +1 -1
  346. package/dist/src/backend/services/check-service-accessor-boundaries.test.js +10 -14
  347. package/dist/src/backend/services/check-service-accessor-boundaries.test.js.map +1 -1
  348. package/dist/src/backend/services/check-single-writer.test.js +9 -12
  349. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  350. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  351. package/dist/src/backend/services/config.service.js +1 -1
  352. package/dist/src/backend/services/constants.d.ts +1 -0
  353. package/dist/src/backend/services/constants.d.ts.map +1 -1
  354. package/dist/src/backend/services/constants.js +1 -0
  355. package/dist/src/backend/services/constants.js.map +1 -1
  356. package/dist/src/backend/services/crypto.service.d.ts.map +1 -1
  357. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
  358. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +1 -1
  359. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.js +1 -1
  360. package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts.map +1 -1
  361. package/dist/src/backend/services/decision-log/service/decision-log.service.js +1 -1
  362. package/dist/src/backend/services/env-schemas.d.ts +53 -53
  363. package/dist/src/backend/services/github/service/github-cli/constants.d.ts.map +1 -1
  364. package/dist/src/backend/services/github/service/github-cli/errors.js +2 -2
  365. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +13 -13
  366. package/dist/src/backend/services/github/service/github-cli/utils.js +1 -1
  367. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts +2 -0
  368. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts.map +1 -0
  369. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js +58 -0
  370. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js.map +1 -0
  371. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  372. package/dist/src/backend/services/github/service/github-cli.service.js +4 -4
  373. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  374. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  375. package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts.map +1 -1
  376. package/dist/src/backend/services/github/service/pr-fetch-coordinator.js +1 -1
  377. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +2 -2
  378. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
  379. package/dist/src/backend/services/github/service/pr-snapshot.service.js +2 -2
  380. package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
  381. package/dist/src/backend/services/job-runner.service.d.ts.map +1 -1
  382. package/dist/src/backend/services/job-runner.service.js +1 -1
  383. package/dist/src/backend/services/job-runner.service.js.map +1 -1
  384. package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
  385. package/dist/src/backend/services/linear/service/linear-client.service.js +1 -1
  386. package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts +2 -0
  387. package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts.map +1 -0
  388. package/dist/src/backend/services/linear/service/linear-client.transport.test.js +64 -0
  389. package/dist/src/backend/services/linear/service/linear-client.transport.test.js.map +1 -0
  390. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts.map +1 -1
  391. package/dist/src/backend/services/linear/service/linear-state-sync.service.js +1 -1
  392. package/dist/src/backend/services/logger.service.d.ts.map +1 -1
  393. package/dist/src/backend/services/logger.service.js +1 -1
  394. package/dist/src/backend/services/notification.service.d.ts.map +1 -1
  395. package/dist/src/backend/services/notification.service.js +2 -2
  396. package/dist/src/backend/services/notification.service.js.map +1 -1
  397. package/dist/src/backend/services/periodic-task/index.js +1 -1
  398. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +1 -1
  399. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  400. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +23 -23
  401. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
  402. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +4 -4
  403. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
  404. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -1
  405. package/dist/src/backend/services/port.service.test.js +1 -3
  406. package/dist/src/backend/services/port.service.test.js.map +1 -1
  407. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +1 -1
  408. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +3 -3
  409. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +2 -2
  410. package/dist/src/backend/services/ratchet/service/provider-selection.js +1 -1
  411. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +1 -1
  412. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +1 -1
  413. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +1 -1
  414. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +5 -5
  415. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +1 -1
  416. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  417. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +2 -2
  418. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  419. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts.map +1 -1
  420. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js +2 -2
  421. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js +2 -2
  422. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +1 -1
  423. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +1 -1
  424. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +3 -3
  425. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  426. package/dist/src/backend/services/ratchet/service/ratchet.service.js +7 -7
  427. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  428. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +3 -3
  429. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +1 -1
  430. package/dist/src/backend/services/rate-limit-backoff.d.ts.map +1 -1
  431. package/dist/src/backend/services/rate-limit-backoff.js +1 -1
  432. package/dist/src/backend/services/rate-limiter.service.d.ts.map +1 -1
  433. package/dist/src/backend/services/rate-limiter.service.js.map +1 -1
  434. package/dist/src/backend/services/registry.d.ts +24 -24
  435. package/dist/src/backend/services/registry.d.ts.map +1 -1
  436. package/dist/src/backend/services/resources.integration.test.js +1 -1
  437. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  438. package/dist/src/backend/services/run-script/service/factory-config.service.d.ts.map +1 -1
  439. package/dist/src/backend/services/run-script/service/factory-config.service.js.map +1 -1
  440. package/dist/src/backend/services/run-script/service/port-allocation.service.d.ts.map +1 -1
  441. package/dist/src/backend/services/run-script/service/port-allocation.service.js.map +1 -1
  442. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.d.ts.map +1 -1
  443. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.js +2 -2
  444. package/dist/src/backend/services/run-script/service/run-script-output-buffer.d.ts.map +1 -1
  445. package/dist/src/backend/services/run-script/service/run-script-output-buffer.js.map +1 -1
  446. package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts +1 -1
  447. package/dist/src/backend/services/run-script/service/run-script-process-utils.js +1 -1
  448. package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts.map +1 -1
  449. package/dist/src/backend/services/run-script/service/run-script-proxy.service.js +2 -2
  450. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js +1 -1
  451. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js.map +1 -1
  452. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts +2 -2
  453. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts.map +1 -1
  454. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js +2 -2
  455. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js.map +1 -1
  456. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  457. package/dist/src/backend/services/run-script/service/run-script.service.js +3 -3
  458. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  459. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  460. package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts +2 -0
  461. package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts.map +1 -0
  462. package/dist/src/backend/services/run-script/service/startup-script.integration.test.js +63 -0
  463. package/dist/src/backend/services/run-script/service/startup-script.integration.test.js.map +1 -0
  464. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  465. package/dist/src/backend/services/run-script/service/startup-script.service.js +38 -14
  466. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  467. package/dist/src/backend/services/run-script/service/startup-script.service.test.js +52 -2
  468. package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
  469. package/dist/src/backend/services/server-instance.service.d.ts +1 -1
  470. package/dist/src/backend/services/server-instance.service.d.ts.map +1 -1
  471. package/dist/src/backend/services/session/resources/agent-session.accessor.js +2 -2
  472. package/dist/src/backend/services/session/resources/closed-session.accessor.d.ts.map +1 -1
  473. package/dist/src/backend/services/session/resources/closed-session.accessor.js +1 -1
  474. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.d.ts.map +1 -1
  475. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.js +1 -1
  476. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.test.js +1 -1
  477. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -1
  478. package/dist/src/backend/services/session/service/acp/acp-client-factory.js +2 -1
  479. package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -1
  480. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +4 -9
  481. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -1
  482. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  483. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +1 -1
  484. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +2 -0
  485. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
  486. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +15 -2
  487. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
  488. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js +12 -0
  489. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js.map +1 -1
  490. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts +3 -0
  491. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts.map +1 -1
  492. package/dist/src/backend/services/session/service/acp/acp-process-handle.js +2 -0
  493. package/dist/src/backend/services/session/service/acp/acp-process-handle.js.map +1 -1
  494. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts.map +1 -1
  495. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js +2 -1
  496. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js.map +1 -1
  497. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js +53 -0
  498. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js.map +1 -1
  499. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts.map +1 -1
  500. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js +4 -32
  501. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js.map +1 -1
  502. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js +10 -61
  503. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js.map +1 -1
  504. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts.map +1 -1
  505. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js +8 -13
  506. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js.map +1 -1
  507. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts.map +1 -1
  508. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js.map +1 -1
  509. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +0 -2
  510. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
  511. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts.map +1 -1
  512. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js +2 -7
  513. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js.map +1 -1
  514. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js +6 -20
  515. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js.map +1 -1
  516. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js +15 -4
  517. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js.map +1 -1
  518. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  519. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js.map +1 -1
  520. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js +2 -2
  521. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js.map +1 -1
  522. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js +4 -5
  523. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js.map +1 -1
  524. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts +0 -1
  525. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts.map +1 -1
  526. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js +0 -4
  527. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js.map +1 -1
  528. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +1 -1
  529. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -1
  530. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +2 -2
  531. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -1
  532. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts.map +1 -1
  533. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -1
  534. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js +1 -1
  535. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js.map +1 -1
  536. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +8 -10
  537. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -1
  538. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -1
  539. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +2 -1
  540. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -1
  541. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js +28 -1
  542. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js.map +1 -1
  543. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts +10 -2
  544. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts.map +1 -1
  545. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js +7 -4
  546. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js.map +1 -1
  547. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js +20 -2
  548. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js.map +1 -1
  549. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js +24 -2
  550. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js.map +1 -1
  551. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts.map +1 -1
  552. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js.map +1 -1
  553. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.js.map +1 -1
  554. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.js +1 -1
  555. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts +1 -1
  556. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts.map +1 -1
  557. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js +4 -0
  558. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js.map +1 -1
  559. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts +2 -0
  560. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts.map +1 -0
  561. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js +8 -0
  562. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js.map +1 -0
  563. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  564. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +25 -30
  565. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  566. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js +88 -0
  567. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js.map +1 -1
  568. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +2 -2
  569. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  570. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -1
  571. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
  572. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.d.ts.map +1 -1
  573. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.js.map +1 -1
  574. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.js.map +1 -1
  575. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts +16 -16
  576. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js +1 -4
  577. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
  578. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
  579. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.d.ts.map +1 -1
  580. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js +1 -3
  581. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js.map +1 -1
  582. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts +2 -0
  583. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts.map +1 -0
  584. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js +31 -0
  585. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js.map +1 -0
  586. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-state-container.d.ts.map +1 -1
  587. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/shape-drift-reporter.d.ts.map +1 -1
  588. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts +2 -0
  589. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts.map +1 -0
  590. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js +181 -0
  591. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js.map +1 -0
  592. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +5 -0
  593. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
  594. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +48 -12
  595. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
  596. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
  597. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts +1 -1
  598. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts.map +1 -1
  599. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js +6 -6
  600. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.js.map +1 -1
  601. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.d.ts.map +1 -1
  602. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.js +1 -1
  603. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js +1 -1
  604. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js.map +1 -1
  605. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.test.js.map +1 -1
  606. package/dist/src/backend/services/session/service/chat/chat-message-handlers/constants.js +1 -1
  607. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts +1 -1
  608. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +9 -9
  609. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -4
  610. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  611. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.d.ts +1 -1
  612. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.js +2 -2
  613. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts +1 -1
  614. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +3 -3
  615. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.d.ts +1 -1
  616. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.js +3 -3
  617. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.d.ts +1 -1
  618. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.d.ts +1 -1
  619. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +4 -4
  620. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.d.ts +1 -1
  621. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.js +2 -2
  622. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.d.ts +1 -1
  623. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +3 -3
  624. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts +1 -1
  625. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +4 -4
  626. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +1 -4
  627. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  628. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.d.ts +1 -1
  629. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +2 -2
  630. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.d.ts +1 -1
  631. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js +1 -1
  632. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/utils.js +1 -1
  633. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +1 -1
  634. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts +3 -3
  635. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts.map +1 -1
  636. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +1 -1
  637. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  638. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +7 -7
  639. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  640. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +2 -2
  641. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  642. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.d.ts.map +1 -1
  643. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +2 -2
  644. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +5 -5
  645. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  646. package/dist/src/backend/services/session/service/data/session-data.service.js +2 -2
  647. package/dist/src/backend/services/session/service/data/session-data.service.test.js +1 -1
  648. package/dist/src/backend/services/session/service/data/session-history-loader.service.d.ts.map +1 -1
  649. package/dist/src/backend/services/session/service/data/session-history-loader.service.js +3 -3
  650. package/dist/src/backend/services/session/service/data/session-history-loader.service.test.js +1 -1
  651. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.d.ts.map +1 -1
  652. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.js +4 -4
  653. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +2 -2
  654. package/dist/src/backend/services/session/service/index.d.ts +4 -3
  655. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  656. package/dist/src/backend/services/session/service/index.js +3 -2
  657. package/dist/src/backend/services/session/service/index.js.map +1 -1
  658. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts +47 -0
  659. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts.map +1 -0
  660. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js +59 -0
  661. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js.map +1 -0
  662. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts +2 -0
  663. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts.map +1 -0
  664. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js +82 -0
  665. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js.map +1 -0
  666. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -2
  667. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  668. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +7 -7
  669. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.js.map +1 -1
  670. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js +2 -6
  671. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js.map +1 -1
  672. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +1 -1
  673. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
  674. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.d.ts.map +1 -1
  675. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.js +3 -3
  676. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.test.js +2 -2
  677. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts +13 -0
  678. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts.map +1 -0
  679. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js +25 -0
  680. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js.map +1 -0
  681. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts +2 -0
  682. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts.map +1 -0
  683. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js +111 -0
  684. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js.map +1 -0
  685. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.d.ts.map +1 -1
  686. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js +3 -0
  687. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js.map +1 -1
  688. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts +2 -0
  689. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts.map +1 -0
  690. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js +8 -0
  691. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js.map +1 -0
  692. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +2 -2
  693. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -1
  694. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +1 -1
  695. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -1
  696. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +1 -1
  697. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -1
  698. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +2 -0
  699. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -1
  700. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +11 -6
  701. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -1
  702. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts +2 -2
  703. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts.map +1 -1
  704. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js +2 -2
  705. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js.map +1 -1
  706. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.test.js +2 -2
  707. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +4 -4
  708. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +2 -7
  709. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -1
  710. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -1
  711. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -1
  712. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +5 -5
  713. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -1
  714. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +1 -1
  715. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -1
  716. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts +1 -1
  717. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -1
  718. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +1 -1
  719. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -1
  720. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts +2 -2
  721. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.js +1 -1
  722. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.js +6 -6
  723. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +2 -3
  724. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -1
  725. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +3 -22
  726. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -1
  727. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +19 -11
  728. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -1
  729. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +1 -1
  730. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +3 -3
  731. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
  732. package/dist/src/backend/services/session/service/lifecycle/session-services.js +3 -3
  733. package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
  734. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +4 -4
  735. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -1
  736. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +2 -3
  737. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -1
  738. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +4 -4
  739. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +3 -3
  740. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -1
  741. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +2 -2
  742. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -1
  743. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +2 -2
  744. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +4 -4
  745. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -1
  746. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +1 -1
  747. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -1
  748. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -1
  749. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts +2 -0
  750. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts.map +1 -0
  751. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js +92 -0
  752. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js.map +1 -0
  753. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts +2 -0
  754. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts.map +1 -0
  755. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js +41 -0
  756. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js.map +1 -0
  757. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +6 -7
  758. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  759. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +23 -79
  760. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  761. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +10 -12
  762. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  763. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +1 -1
  764. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +4 -4
  765. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  766. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  767. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +2 -2
  768. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  769. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +6 -3
  770. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  771. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +21 -0
  772. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  773. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  774. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +2 -2
  775. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  776. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +2 -2
  777. package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.d.ts.map +1 -1
  778. package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.js +1 -1
  779. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +2 -2
  780. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +1 -1
  781. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  782. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +2 -2
  783. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  784. package/dist/src/backend/services/session/service/lifecycle/session.retry.service.d.ts.map +1 -1
  785. package/dist/src/backend/services/session/service/lifecycle/session.retry.service.js +1 -1
  786. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +3 -3
  787. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  788. package/dist/src/backend/services/session/service/lifecycle/session.service.js +2 -2
  789. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +27 -20
  790. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  791. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.d.ts.map +1 -1
  792. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.js +2 -2
  793. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.test.js +1 -1
  794. package/dist/src/backend/services/session/service/logging/session-file-logger.service.d.ts.map +1 -1
  795. package/dist/src/backend/services/session/service/logging/session-file-logger.service.js +2 -2
  796. package/dist/src/backend/services/session/service/logging/session-file-logger.service.js.map +1 -1
  797. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  798. package/dist/src/backend/services/session/service/session-domain.service.js +1 -1
  799. package/dist/src/backend/services/session/service/session-domain.service.test.js +2 -2
  800. package/dist/src/backend/services/session/service/session-event-bus.d.ts.map +1 -1
  801. package/dist/src/backend/services/session/service/store/session-lifecycle-transcript.d.ts +1 -1
  802. package/dist/src/backend/services/session/service/store/session-publisher.d.ts.map +1 -1
  803. package/dist/src/backend/services/session/service/store/session-publisher.js +2 -2
  804. package/dist/src/backend/services/session/service/store/session-queue.js +1 -1
  805. package/dist/src/backend/services/session/service/store/session-queue.test.js +1 -1
  806. package/dist/src/backend/services/session/service/store/session-runtime-machine.d.ts.map +1 -1
  807. package/dist/src/backend/services/session/service/store/session-runtime-machine.js.map +1 -1
  808. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
  809. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts.map +1 -1
  810. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js +2 -0
  811. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js.map +1 -1
  812. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js +11 -0
  813. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js.map +1 -1
  814. package/dist/src/backend/services/session/service/store/session-transcript.js +2 -2
  815. package/dist/src/backend/services/session/service/store/session-transcript.js.map +1 -1
  816. package/dist/src/backend/services/session/service/store/slash-command-cache.service.d.ts.map +1 -1
  817. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js +2 -2
  818. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js +1 -1
  819. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.js.map +1 -1
  820. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -1
  821. package/dist/src/backend/services/session/service/voice/voice-narration.service.js +6 -6
  822. package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -1
  823. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +1 -1
  824. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -1
  825. package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts.map +1 -1
  826. package/dist/src/backend/services/settings/resources/data-backup.accessor.js +1 -1
  827. package/dist/src/backend/services/settings/resources/health.accessor.d.ts.map +1 -1
  828. package/dist/src/backend/services/settings/resources/health.accessor.js +1 -1
  829. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  830. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +2 -2
  831. package/dist/src/backend/services/settings/service/health.service.d.ts.map +1 -1
  832. package/dist/src/backend/services/settings/service/health.service.js +1 -1
  833. package/dist/src/backend/services/settings/service/settings-domain-exports.test.js +1 -1
  834. package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -1
  835. package/dist/src/backend/services/settings/service/user-settings.service.js +1 -1
  836. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.d.ts.map +1 -1
  837. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.js +1 -1
  838. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +7 -7
  839. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -1
  840. package/dist/src/backend/services/terminal/service/terminal-session.service.js +2 -2
  841. package/dist/src/backend/services/terminal/service/terminal-session.service.test.js +1 -1
  842. package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
  843. package/dist/src/backend/services/terminal/service/terminal.service.js +2 -2
  844. package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
  845. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +3 -3
  846. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  847. package/dist/src/backend/services/workspace/resources/project.accessor.js +2 -2
  848. package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.d.ts.map +1 -1
  849. package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.js +1 -1
  850. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.d.ts.map +1 -1
  851. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.js +1 -1
  852. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts +1 -1
  853. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts.map +1 -1
  854. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js +1 -1
  855. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts.map +1 -1
  856. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js +2 -2
  857. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js.map +1 -1
  858. package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.d.ts.map +1 -1
  859. package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.js +1 -1
  860. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +5 -5
  861. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  862. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +5 -5
  863. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  864. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +1 -0
  865. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
  866. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +24 -9
  867. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
  868. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +140 -2
  869. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
  870. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +3 -3
  871. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
  872. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +6 -6
  873. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
  874. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +6 -6
  875. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +115 -115
  876. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  877. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +3 -3
  878. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts +1 -1
  879. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  880. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +2 -2
  881. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  882. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts +2 -2
  883. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts.map +1 -1
  884. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js +1 -1
  885. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +5 -5
  886. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -1
  887. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +2 -2
  888. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +2 -2
  889. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +1 -1
  890. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +1 -1
  891. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +76 -76
  892. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -1
  893. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.js +1 -1
  894. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +2 -2
  895. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -1
  896. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js +1 -1
  897. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +2 -2
  898. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.js.map +1 -1
  899. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +16 -16
  900. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  901. package/dist/src/backend/services/workspace/service/query/project-management.service.js +1 -1
  902. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts +118 -118
  903. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -1
  904. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +2 -2
  905. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts +12 -12
  906. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts.map +1 -1
  907. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.js +1 -1
  908. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.js +1 -1
  909. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +7 -7
  910. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  911. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +10 -10
  912. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +2 -2
  913. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts +2 -2
  914. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -1
  915. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js +8 -5
  916. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -1
  917. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js +5 -5
  918. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js.map +1 -1
  919. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts.map +1 -1
  920. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js +4 -4
  921. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts +1 -1
  922. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -1
  923. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js +18 -6
  924. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -1
  925. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +35 -1
  926. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  927. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts +2 -0
  928. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts.map +1 -0
  929. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js +47 -0
  930. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js.map +1 -0
  931. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +1 -1
  932. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts +1 -1
  933. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  934. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +3 -3
  935. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
  936. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +2 -2
  937. package/dist/src/backend/services/workspace-depth-triggers.integration.test.js +1 -1
  938. package/dist/src/backend/services/workspace-git-state.service.d.ts +8 -2
  939. package/dist/src/backend/services/workspace-git-state.service.d.ts.map +1 -1
  940. package/dist/src/backend/services/workspace-git-state.service.js +110 -8
  941. package/dist/src/backend/services/workspace-git-state.service.js.map +1 -1
  942. package/dist/src/backend/services/workspace-git-state.service.test.js +99 -3
  943. package/dist/src/backend/services/workspace-git-state.service.test.js.map +1 -1
  944. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js.map +1 -1
  945. package/dist/src/backend/testing/check-prisma-versions-script.test.js.map +1 -1
  946. package/dist/src/backend/testing/integration-db.js +1 -1
  947. package/dist/src/backend/testing/npm-publish-workflow.test.js +14 -2
  948. package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -1
  949. package/dist/src/backend/trpc/admin.trpc.d.ts +41 -41
  950. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  951. package/dist/src/backend/trpc/application-error-mapper.d.ts +1 -1
  952. package/dist/src/backend/trpc/application-error-mapper.test.js +2 -2
  953. package/dist/src/backend/trpc/application-error-mapper.test.js.map +1 -1
  954. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts +4 -4
  955. package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +9 -9
  956. package/dist/src/backend/trpc/context-dependencies.test.js +9 -9
  957. package/dist/src/backend/trpc/decision-log.trpc.d.ts +12 -12
  958. package/dist/src/backend/trpc/github.trpc.d.ts +7 -7
  959. package/dist/src/backend/trpc/github.trpc.js +1 -1
  960. package/dist/src/backend/trpc/index.d.ts +562 -562
  961. package/dist/src/backend/trpc/linear.trpc.d.ts +3 -3
  962. package/dist/src/backend/trpc/model-catalog.integration.test.d.ts +2 -0
  963. package/dist/src/backend/trpc/model-catalog.integration.test.d.ts.map +1 -0
  964. package/dist/src/backend/trpc/model-catalog.integration.test.js +91 -0
  965. package/dist/src/backend/trpc/model-catalog.integration.test.js.map +1 -0
  966. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +26 -26
  967. package/dist/src/backend/trpc/pr-review.trpc.d.ts +4 -4
  968. package/dist/src/backend/trpc/project.router.test.js.map +1 -1
  969. package/dist/src/backend/trpc/project.trpc.d.ts +68 -68
  970. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  971. package/dist/src/backend/trpc/project.trpc.js +3 -3
  972. package/dist/src/backend/trpc/session.trpc.d.ts +174 -174
  973. package/dist/src/backend/trpc/session.trpc.js +2 -2
  974. package/dist/src/backend/trpc/trpc.d.ts +5 -5
  975. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  976. package/dist/src/backend/trpc/trpc.js +2 -2
  977. package/dist/src/backend/trpc/trpc.test.js +1 -1
  978. package/dist/src/backend/trpc/user-settings.router.test.js +11 -9
  979. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  980. package/dist/src/backend/trpc/user-settings.trpc.d.ts +19 -19
  981. package/dist/src/backend/trpc/user-settings.trpc.js +4 -4
  982. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  983. package/dist/src/backend/trpc/voice.trpc.d.ts +3 -3
  984. package/dist/src/backend/trpc/workspace/children.trpc.d.ts +7 -7
  985. package/dist/src/backend/trpc/workspace/children.trpc.js +4 -4
  986. package/dist/src/backend/trpc/workspace/composition.test.js +1 -1
  987. package/dist/src/backend/trpc/workspace/composition.test.js.map +1 -1
  988. package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts +2 -0
  989. package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts.map +1 -0
  990. package/dist/src/backend/trpc/workspace/files.preview.router.test.js +196 -0
  991. package/dist/src/backend/trpc/workspace/files.preview.router.test.js.map +1 -0
  992. package/dist/src/backend/trpc/workspace/files.trpc.d.ts +5 -5
  993. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  994. package/dist/src/backend/trpc/workspace/files.trpc.js +9 -23
  995. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  996. package/dist/src/backend/trpc/workspace/git.router.test.js +72 -1
  997. package/dist/src/backend/trpc/workspace/git.router.test.js.map +1 -1
  998. package/dist/src/backend/trpc/workspace/git.trpc.d.ts +7 -7
  999. package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
  1000. package/dist/src/backend/trpc/workspace/git.trpc.js +34 -15
  1001. package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
  1002. package/dist/src/backend/trpc/workspace/ide.trpc.d.ts +4 -4
  1003. package/dist/src/backend/trpc/workspace/ide.trpc.js +2 -2
  1004. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +42 -42
  1005. package/dist/src/backend/trpc/workspace/init.trpc.js +3 -3
  1006. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +4 -4
  1007. package/dist/src/backend/trpc/workspace/run-script.trpc.js +1 -1
  1008. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +71 -71
  1009. package/dist/src/backend/trpc/workspace.router.test.js +1 -1
  1010. package/dist/src/backend/trpc/workspace.trpc.d.ts +339 -339
  1011. package/dist/src/backend/trpc/workspace.trpc.js +6 -6
  1012. package/dist/src/cli/database-path.js.map +1 -1
  1013. package/dist/src/cli/index.js.map +1 -1
  1014. package/dist/src/cli/proxy.d.ts.map +1 -1
  1015. package/dist/src/cli/proxy.js.map +1 -1
  1016. package/dist/src/cli/runtime-utils.js.map +1 -1
  1017. package/dist/src/cli/runtime-utils.test.js +1 -3
  1018. package/dist/src/cli/runtime-utils.test.js.map +1 -1
  1019. package/dist/src/cli/serve-env.js.map +1 -1
  1020. package/dist/src/cli/serve-env.test.js +1 -5
  1021. package/dist/src/cli/serve-env.test.js.map +1 -1
  1022. package/dist/src/shared/acp-protocol/index.d.ts +1 -1
  1023. package/dist/src/shared/acp-protocol/index.js +1 -1
  1024. package/dist/src/shared/acp-protocol/protocol/guards.js +1 -1
  1025. package/dist/src/shared/acp-protocol/protocol/guards.js.map +1 -1
  1026. package/dist/src/shared/acp-protocol/protocol/index.d.ts +1 -1
  1027. package/dist/src/shared/acp-protocol/protocol/messages.d.ts +2 -2
  1028. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +7 -7
  1029. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
  1030. package/dist/src/shared/acp-protocol/session-update-translator.d.ts.map +1 -1
  1031. package/dist/src/shared/acp-protocol/session-update-translator.js.map +1 -1
  1032. package/dist/src/shared/acp-protocol/subagents.d.ts +92 -92
  1033. package/dist/src/shared/core/enums.d.ts +84 -84
  1034. package/dist/src/shared/core/enums.d.ts.map +1 -1
  1035. package/dist/src/shared/core/workspace-sidebar-status.d.ts +2 -2
  1036. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
  1037. package/dist/src/shared/kanban-column-projection.d.ts +2 -2
  1038. package/dist/src/shared/kanban-column-projection.js +1 -1
  1039. package/dist/src/shared/pending-request-types.d.ts +1 -1
  1040. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  1041. package/dist/src/shared/proxy-utils.d.ts +1 -1
  1042. package/dist/src/shared/proxy-utils.d.ts.map +1 -1
  1043. package/dist/src/shared/schemas/auto-iteration.schema.d.ts +10 -10
  1044. package/dist/src/shared/schemas/export-data.schema.d.ts +51 -51
  1045. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  1046. package/dist/src/shared/schemas/export-data.schema.js +4 -4
  1047. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  1048. package/dist/src/shared/session-runtime.d.ts +4 -4
  1049. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  1050. package/dist/src/shared/websocket/chat-message.schema.d.ts +2 -2
  1051. package/dist/src/shared/workspace-flow-state.d.ts +2 -2
  1052. package/dist/src/shared/workspace-flow-state.d.ts.map +1 -1
  1053. package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
  1054. package/dist/src/shared/workspace-sidebar-status.js +1 -1
  1055. package/dist/src/shared/workspace-snapshot.d.ts +433 -427
  1056. package/dist/src/shared/workspace-snapshot.d.ts.map +1 -1
  1057. package/dist/src/shared/workspace-snapshot.js +6 -4
  1058. package/dist/src/shared/workspace-snapshot.js.map +1 -1
  1059. package/dist/src/shared/workspace-status-reason.d.ts +5 -5
  1060. package/dist/src/shared/workspace-status-reason.d.ts.map +1 -1
  1061. package/dist/src/test-utils/application-graph.d.ts +3 -3
  1062. package/dist/src/test-utils/application-graph.d.ts.map +1 -1
  1063. package/dist/src/test-utils/application-graph.js +3 -3
  1064. package/dist/src/test-utils/application-graph.js.map +1 -1
  1065. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  1066. package/package.json +55 -69
  1067. package/dist/client/assets/abnfDiagram-N423BO3Z-BZQ2vUo6.js +0 -1
  1068. package/dist/client/assets/arc-XI8Jpfl3.js +0 -1
  1069. package/dist/client/assets/architectureDiagram-T3A2C74G-Dt7Y1pyP.js +0 -36
  1070. package/dist/client/assets/blockDiagram-VBNYF7ZC-DldefwGh.js +0 -132
  1071. package/dist/client/assets/c4Diagram-5PPSVZJV-Ba08x7Ef.js +0 -10
  1072. package/dist/client/assets/channel-CRP5IiHm.js +0 -1
  1073. package/dist/client/assets/chunk-2GRJ4B5K-B9S0F-4G.js +0 -1
  1074. package/dist/client/assets/chunk-2Q5K7J3B-CZXgC_Jx.js +0 -1
  1075. package/dist/client/assets/chunk-5RXB4S5H-3z0Q5lZX.js +0 -231
  1076. package/dist/client/assets/chunk-6Q2QTUOP-DhgyUVVB.js +0 -88
  1077. package/dist/client/assets/chunk-GF5L2VYU-B9CpXn1z.js +0 -206
  1078. package/dist/client/assets/chunk-JWPE2WC7-C3uO_aKI.js +0 -1
  1079. package/dist/client/assets/chunk-KBJHAD2P-BclkmYso.js +0 -1
  1080. package/dist/client/assets/chunk-RYQCIY6F-D6aZFqMZ.js +0 -1
  1081. package/dist/client/assets/chunk-XXDRQBXY-BQb7-SCi.js +0 -1
  1082. package/dist/client/assets/classDiagram-JCYQIIEL-CB4-8RDd.js +0 -1
  1083. package/dist/client/assets/classDiagram-v2-OCEON4UE-CB4-8RDd.js +0 -1
  1084. package/dist/client/assets/cose-bilkent-JH36ORCC-WLzzMmoC.js +0 -1
  1085. package/dist/client/assets/cynefin-VYW2F7L2-D2EF0q2Q.js +0 -166
  1086. package/dist/client/assets/cynefinDiagram-MW4NZA55-CwoCQCrP.js +0 -62
  1087. package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js +0 -321
  1088. package/dist/client/assets/dagre-VZM6K2ZE-Cg4AkVGB.js +0 -4
  1089. package/dist/client/assets/defaultLocale-DX6XiGOO.js +0 -1
  1090. package/dist/client/assets/diagram-7IWD3JNH-D9lnDmSl.js +0 -30
  1091. package/dist/client/assets/diagram-B4RE2ZJO-AhUFMusY.js +0 -3
  1092. package/dist/client/assets/diagram-LBJQPF4R-C81JtkuS.js +0 -24
  1093. package/dist/client/assets/diagram-Q27KOJAE-BOzaYlQ2.js +0 -24
  1094. package/dist/client/assets/diagram-UB23O5K3-uXHocDB0.js +0 -41
  1095. package/dist/client/assets/ebnfDiagram-BXEA7PRR-Du4yOTiI.js +0 -1
  1096. package/dist/client/assets/erDiagram-JOGREHBK-BxBwtYA0.js +0 -85
  1097. package/dist/client/assets/flowDiagram-UKHOOZJN-YQc_Us9R.js +0 -156
  1098. package/dist/client/assets/ganttDiagram-PKOTCBZU-CO08NXgj.js +0 -292
  1099. package/dist/client/assets/gitGraphDiagram-DS77QQ5N-NRBrIkNv.js +0 -106
  1100. package/dist/client/assets/graph-DOmOIIwC.js +0 -1
  1101. package/dist/client/assets/index-CVVo6xHd.css +0 -1
  1102. package/dist/client/assets/index-CrLTUCBe.js +0 -695
  1103. package/dist/client/assets/infoDiagram-6WML65LV-CcOh5qQM.js +0 -2
  1104. package/dist/client/assets/init-Gi6I4Gst.js +0 -1
  1105. package/dist/client/assets/ishikawaDiagram-WSZJBQD7-Ci4gKk1n.js +0 -70
  1106. package/dist/client/assets/journeyDiagram-NVQOT4AX-CpW1inrw.js +0 -139
  1107. package/dist/client/assets/kanban-definition-27J2QSJJ-jez_FwZT.js +0 -89
  1108. package/dist/client/assets/katex-HP8lGamR.js +0 -257
  1109. package/dist/client/assets/layout-D-LzfAck.js +0 -1
  1110. package/dist/client/assets/linear-6SNETQpS.js +0 -1
  1111. package/dist/client/assets/map-DxJ2ADlA.js +0 -1
  1112. package/dist/client/assets/mindmap-definition-FAOFIHXS-SmrP71Hb.js +0 -96
  1113. package/dist/client/assets/mobile-baseline-8VVGaFwv.js +0 -10
  1114. package/dist/client/assets/ordinal-Cboi1Yqb.js +0 -1
  1115. package/dist/client/assets/pegDiagram-VL7TDLO6-BdZpPP9I.js +0 -1
  1116. package/dist/client/assets/pieDiagram-7S7Q4E2Y-JiNW5VtU.js +0 -39
  1117. package/dist/client/assets/quadrantDiagram-CIZ2JOQS-C2VhzPor.js +0 -7
  1118. package/dist/client/assets/railroadDiagram-AXF67PYL-BdfHLYrf.js +0 -1
  1119. package/dist/client/assets/requirementDiagram-LRYGKXZP-BRxDcjdJ.js +0 -84
  1120. package/dist/client/assets/sankeyDiagram-W5VNT64P-BvibpHKV.js +0 -40
  1121. package/dist/client/assets/sequenceDiagram-SI44F4Z6-CstrIf8Q.js +0 -162
  1122. package/dist/client/assets/sizeCapture-X5ZJPWSS-fplvtb2v.js +0 -1
  1123. package/dist/client/assets/stateDiagram-OKZ733FA-Cb0qJfhN.js +0 -1
  1124. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-C_Uzjhvg.js +0 -1
  1125. package/dist/client/assets/swimlanes-SLNWSIFB-BAqCm7Gx.js +0 -2
  1126. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-CO4t8Utk.js +0 -8
  1127. package/dist/client/assets/terminal-instance-B0prRfF6.js +0 -16
  1128. package/dist/client/assets/terminal-instance-DDGTF8rc.css +0 -1
  1129. package/dist/client/assets/timeline-definition-Z64GVDOM-BZbQ0pZK.js +0 -120
  1130. package/dist/client/assets/vennDiagram-T6HMQDX7-B3YQXfS4.js +0 -34
  1131. package/dist/client/assets/wardleyDiagram-T6FBY63Y-Cufi2KwO.js +0 -78
  1132. package/dist/client/assets/xychartDiagram-ELKLHX3M-CHGxh5zQ.js +0 -7
package/README.md CHANGED
@@ -27,7 +27,8 @@ Factory Factory is a local workspace manager for AI coding agents. Every workspa
27
27
 
28
28
  You will need:
29
29
 
30
- - Node.js 22.22+ or 24+
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
31
+ - macOS 13 (Ventura) or newer for the macOS desktop app
31
32
  - A local git repository
32
33
  - At least one agent provider:
33
34
  - Claude Code, authenticated with `claude login`
@@ -42,6 +43,8 @@ npx factory-factory@latest serve
42
43
 
43
44
  Factory Factory opens in your browser and stores its database in `~/factory-factory/` by default.
44
45
 
46
+ See [Settings](docs/admin-settings.md) for IDE commands, default chat models, and project configuration.
47
+
45
48
  Then:
46
49
 
47
50
  1. Add a project by selecting a local git repository.
@@ -104,6 +107,15 @@ Use Factory Factory only with repositories and agent instructions you trust. Rev
104
107
 
105
108
  ## Development
106
109
 
110
+ Use pnpm 12.3.4, pinned in `package.json`. Dependency build permissions live in
111
+ `pnpm-workspace.yaml` under `allowBuilds`; review new build scripts with
112
+ `pnpm approve-builds` when adding or updating dependencies.
113
+
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.
118
+
107
119
  ```bash
108
120
  git clone https://github.com/purplefish-ai/factory-factory.git
109
121
  cd factory-factory
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./jsx-runtime-DE3RlOCf.js";import{h as n}from"./dist-BiFeezwN.js";var r=e(t(),1),i=new Map([[`bold`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,44H32A20,20,0,0,0,12,64V88a20,20,0,0,0,16,19.6V192a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V107.6A20,20,0,0,0,244,88V64A20,20,0,0,0,224,44ZM36,68H220V84H36ZM52,188V108H204v80Zm112-52a12,12,0,0,1-12,12H104a12,12,0,0,1,0-24h48A12,12,0,0,1,164,136Z`}))],[`duotone`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M216,96v96a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V96Z`,opacity:`0.2`}),r.createElement(`path`,{d:`M224,48H32A16,16,0,0,0,16,64V88a16,16,0,0,0,16,16v88a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V104a16,16,0,0,0,16-16V64A16,16,0,0,0,224,48ZM208,192H48V104H208ZM224,88H32V64H224V88ZM96,136a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,136Z`}))],[`fill`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,48H32A16,16,0,0,0,16,64V88a16,16,0,0,0,16,16v88a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V104a16,16,0,0,0,16-16V64A16,16,0,0,0,224,48Zm-72,96H104a8,8,0,0,1,0-16h48a8,8,0,0,1,0,16Zm72-56H32V64H224V88Z`}))],[`light`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,50H32A14,14,0,0,0,18,64V88a14,14,0,0,0,14,14h2v90a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V102h2a14,14,0,0,0,14-14V64A14,14,0,0,0,224,50ZM210,192a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V102H210ZM226,88a2,2,0,0,1-2,2H32a2,2,0,0,1-2-2V64a2,2,0,0,1,2-2H224a2,2,0,0,1,2,2ZM98,136a6,6,0,0,1,6-6h48a6,6,0,0,1,0,12H104A6,6,0,0,1,98,136Z`}))],[`regular`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,48H32A16,16,0,0,0,16,64V88a16,16,0,0,0,16,16v88a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V104a16,16,0,0,0,16-16V64A16,16,0,0,0,224,48ZM208,192H48V104H208ZM224,88H32V64H224V88ZM96,136a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,136Z`}))],[`thin`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,52H32A12,12,0,0,0,20,64V88a12,12,0,0,0,12,12h4v92a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V100h4a12,12,0,0,0,12-12V64A12,12,0,0,0,224,52ZM212,192a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V100H212ZM228,88a4,4,0,0,1-4,4H32a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H224a4,4,0,0,1,4,4ZM100,136a4,4,0,0,1,4-4h48a4,4,0,0,1,0,8H104A4,4,0,0,1,100,136Z`}))]]),a=r.forwardRef((e,t)=>r.createElement(n,{ref:t,...e,weights:i}));a.displayName=`ArchiveIcon`;export{a as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./jsx-runtime-DE3RlOCf.js";import{h as n}from"./dist-BiFeezwN.js";var r=e(t(),1),i=new Map([[`bold`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),r.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,r.createElement(r.Fragment,null,r.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),a=r.forwardRef((e,t)=>r.createElement(n,{ref:t,...e,weights:i}));a.displayName=`ArrowLeftIcon`;export{a as t};
@@ -0,0 +1 @@
1
+ import{m as e,t}from"./mermaid-parser.core-DK0kgowR.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-DU6HZSFF-nxkO_ute.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-_l4ZFWYL.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid-diagram-CESNj6Ju.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{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-DE3RlOCf.js";import{h as r,i,o as a,p as o,r as s,t as c}from"./dist-BiFeezwN.js";import{t as l}from"./lib-DyBYhPHb.js";import{C as u,E as d,O as f,p,t as m}from"./workspace-CsQCO4D_.js";import{n as h}from"./trpc-X4t2_jd5.js";import{$t as g,_n as _,dn as v}from"./vbnet-CrqJJ08J.js";import{l as y}from"./use-websocket-channel-DW9rsEG5.js";import{p as b}from"./en-US-SlQiGO_s.js";import{c as x,i as S,l as C,n as w,o as T,s as E,t as D}from"./select-BgEObL9n.js";import{r as O,v as k}from"./core-DW1Rn28Z.js";import{p as ee}from"./radio-group-CcAx51bT.js";import{i as te,n as A,o as ne,r as re,s as ie,t as ae}from"./data-import-button-D-ZWnQAg.js";import{n as oe,r as se,t as ce}from"./use-download-server-log-Bag_Et_8.js";import{n as le,t as ue}from"./textarea-BVHmIkCM.js";import{n as de,t as fe}from"./provider-cli-warning-LYUDO_5Y.js";import{O as pe}from"./use-websocket-transport-BT1hhmkl.js";import{C as me,E as j,b as he,n as ge,t as _e,u as ve,w as M}from"./dist-Dtgf0TOg.js";import{t as N}from"./badge-BESbZ2wy.js";import{t as P}from"./label-CI3jpwv-.js";import{A as ye,O as be,T as xe,_ as F,a as Se,g as I,h as L,i as Ce,k as R,m as z,v as B}from"./index-D34fUfAP.js";import{i as V,n as we,r as Te,t as Ee}from"./tabs-Cn3M4k-N.js";import{i as De,n as Oe,r as ke,t as Ae}from"./voice-vad-ChMQMgBS.js";import{a as je,i as H,n as Me,o as Ne,r as U,t as Pe}from"./table-wIG3osPW.js";import{i as Fe,n as W,t as G}from"./formatters-D_bnXRun.js";import{t as Ie}from"./factory-config-scripts-BoDNVi6q.js";var K=e(t(),1),Le=new Map([[`bold`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`}),K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`}))]]),Re=new Map([[`bold`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`,K.createElement(K.Fragment,null,K.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`}))]]),ze=K.forwardRef((e,t)=>K.createElement(r,{ref:t,...e,weights:Le}));ze.displayName=`LinkIcon`;var Be=K.forwardRef((e,t)=>K.createElement(r,{ref:t,...e,weights:Re}));Be.displayName=`TrashIcon`;var q=n(),Ve={ok:`border-l-success`,warning:`border-l-warning`,error:`border-l-destructive`};function He({title:e,value:t,subtitle:n,status:r}){return(0,q.jsxs)(z,{className:`border-l-4 ${r?Ve[r]:`border-l-muted`}`,children:[(0,q.jsxs)(F,{className:`pb-2`,children:[(0,q.jsx)(I,{children:e}),(0,q.jsx)(B,{className:`text-2xl`,children:t})]}),n&&(0,q.jsx)(L,{className:`pt-0`,children:(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})})]})}function Ue({apiUsage:e,onReset:t,isResetting:n}){return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{className:`flex flex-row items-center justify-between space-y-0 pb-4`,children:[(0,q.jsx)(B,{children:`API Usage`}),(0,q.jsx)(i,{variant:`link`,onClick:t,disabled:n,className:`h-auto p-0`,children:`Reset Stats`})]}),(0,q.jsx)(L,{children:(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-4 gap-4`,children:[(0,q.jsx)(He,{title:`Requests/min`,value:e?.requestsLastMinute||0,status:e?.isRateLimited?`warning`:`ok`}),(0,q.jsx)(He,{title:`Requests/hour`,value:e?.requestsLastHour||0}),(0,q.jsx)(He,{title:`Total Requests`,value:e?.totalRequests||0}),(0,q.jsx)(He,{title:`Queue Depth`,value:e?.queueDepth||0,status:e?.queueDepth&&e.queueDepth>10?`warning`:`ok`})]})})]})}function We(e,t=`(restart to detect)`){return e==null?t:String(e)}function Ge(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 Ke(){let{data:e,isLoading:t}=h.admin.getServerInfo.useQuery(void 0,{retry:1,retryDelay:1e3,meta:{suppressErrors:!0}}),n=Ge(window.location),r=e?.backendPort??null;return t?(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`App Info`}),(0,q.jsx)(I,{children:`Repository and runtime details`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]}):(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`App Info`}),(0,q.jsx)(I,{children:`Repository and runtime details`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{children:`Repository`}),(0,q.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,q.jsx)(_,{className:`h-3.5 w-3.5`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{children:`Ports`}),(0,q.jsxs)(`div`,{className:`space-y-1 text-sm text-muted-foreground`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`span`,{children:`Frontend`}),(0,q.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5`,children:n})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`span`,{children:`Backend`}),(0,q.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5`,children:We(r)})]})]})]})]})]})}function qe(){let{data:e,isLoading:t}=h.userSettings.get.useQuery(),{data:n}=h.userSettings.getProviderOptions.useQuery(void 0,{staleTime:3e4}),r=h.useUtils(),[i,a]=(0,K.useState)(`sonnet`),[o,s]=(0,K.useState)(`default`),c=h.userSettings.update.useMutation({onSuccess:()=>{j.success(`Chat defaults updated`),r.userSettings.get.invalidate()},onError:(t,n)=>{let i=r.userSettings.get.getData()??e;n.defaultClaudeModel!==void 0&&a(e=>e===n.defaultClaudeModel?i?.defaultClaudeModel??`sonnet`:e),n.defaultCodexModel!==void 0&&s(e=>e===n.defaultCodexModel?i?.defaultCodexModel??`default`:e),j.error(`Failed to update chat defaults: ${t.message}`)}});if((0,K.useEffect)(()=>{a(e?.defaultClaudeModel??`sonnet`),s(e?.defaultCodexModel??`default`)},[e?.defaultClaudeModel,e?.defaultCodexModel]),t)return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`Chat Defaults`}),(0,q.jsx)(I,{children:`Default provider for new chats`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]});let l=e?.defaultSessionProvider??`CLAUDE`,u=e?.defaultClaudeModel??`sonnet`,d=e?.defaultCodexModel??`default`,f=e?.defaultClaudeReasoningEffort??null,p=e?.defaultCodexReasoningEffort??null,m=e?.defaultWorkspacePermissions??`STRICT`,g=`__provider_default__`,_=(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]},v=(e,t)=>{let r=n?.[e]?.efforts??[];return!t||r.some(e=>e.value===t)?r:[{value:t,label:t},...r]},y={CLAUDE:{fallbackValue:`sonnet`,currentValue:u,localValue:i,setLocalValue:a,buildPayload:e=>({defaultClaudeModel:e}),buildEffortPayload:e=>({defaultClaudeReasoningEffort:e})},CODEX:{fallbackValue:`default`,currentValue:d,localValue:o,setLocalValue:s,buildPayload:e=>({defaultCodexModel:e}),buildEffortPayload:e=>({defaultCodexReasoningEffort:e})}},b=(e,t)=>{let n=y[e],r=t.trim()||n.fallbackValue;if(r===n.currentValue){n.localValue!==n.currentValue&&n.setLocalValue(n.currentValue);return}c.mutate(n.buildPayload(r))},x=(e,t)=>{let n=t===g?null:t;c.mutate(y[e].buildEffortPayload(n))};return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`Chat Defaults`}),(0,q.jsx)(I,{children:`Default provider used when a workspace defers provider selection`})]}),(0,q.jsxs)(L,{className:`space-y-3`,children:[(0,q.jsx)(P,{htmlFor:`chat-default-provider`,children:`Default chat provider`}),(0,q.jsxs)(D,{value:l,onValueChange:e=>{(e===`CLAUDE`||e===`CODEX`)&&c.mutate({defaultSessionProvider:e})},disabled:c.isPending,children:[(0,q.jsx)(T,{id:`chat-default-provider`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`CLAUDE`,children:`Claude`}),(0,q.jsx)(S,{value:`CODEX`,children:`Codex`})]})]}),(0,q.jsx)(fe,{provider:l}),(0,q.jsxs)(`div`,{className:`grid gap-3 pt-1 sm:grid-cols-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`default-claude-model`,children:`Default Claude model`}),(0,q.jsxs)(D,{value:i,onValueChange:e=>{a(e),b(`CLAUDE`,e)},disabled:c.isPending,children:[(0,q.jsx)(T,{id:`default-claude-model`,children:(0,q.jsx)(E,{})}),(0,q.jsx)(w,{children:_(`CLAUDE`,u).map(e=>(0,q.jsx)(S,{value:e.value,children:e.label},e.value))})]}),(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Claude aliases like `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`sonnet`}),` and`,` `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`opus`}),` are supported.`]})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`default-codex-model`,children:`Default Codex model`}),(0,q.jsxs)(D,{value:o,onValueChange:e=>{s(e),b(`CODEX`,e)},disabled:c.isPending,children:[(0,q.jsx)(T,{id:`default-codex-model`,children:(0,q.jsx)(E,{})}),(0,q.jsx)(w,{children:_(`CODEX`,d).map(e=>(0,q.jsx)(S,{value:e.value,children:e.label},e.value))})]}),(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Codex options are loaded from the CLI when available.`})]})]}),(0,q.jsxs)(`div`,{className:`grid gap-3 pt-1 sm:grid-cols-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`default-claude-effort`,children:`Default Claude effort`}),(0,q.jsxs)(D,{value:f??g,onValueChange:e=>x(`CLAUDE`,e),disabled:c.isPending,children:[(0,q.jsx)(T,{id:`default-claude-effort`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:g,children:`Provider default`}),v(`CLAUDE`,f).map(e=>(0,q.jsx)(S,{value:e.value,children:e.label},e.value))]})]})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`default-codex-effort`,children:`Default Codex effort`}),(0,q.jsxs)(D,{value:p??g,onValueChange:e=>x(`CODEX`,e),disabled:c.isPending,children:[(0,q.jsx)(T,{id:`default-codex-effort`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:g,children:`Provider default`}),v(`CODEX`,p).map(e=>(0,q.jsx)(S,{value:e.value,children:e.label},e.value))]})]})]})]}),(0,q.jsxs)(`div`,{className:`space-y-2 pt-1`,children:[(0,q.jsx)(P,{htmlFor:`workspace-permissions`,children:`Default permissions for new workspaces`}),(0,q.jsxs)(D,{value:m,onValueChange:e=>{(e===`STRICT`||e===`RELAXED`||e===`YOLO`)&&c.mutate({defaultWorkspacePermissions:e})},disabled:c.isPending,children:[(0,q.jsx)(T,{id:`workspace-permissions`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`STRICT`,children:`Strict`}),(0,q.jsx)(S,{value:`RELAXED`,children:`Relaxed`}),(0,q.jsx)(S,{value:`YOLO`,children:`YOLO`})]})]})]})]})]})}function Je(){let[e,t]=(0,K.useState)(!1),{refetch:n}=h.admin.checkCLIHealth.useQuery({forceRefresh:!1},{enabled:!1});return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(pe,{className:`w-5 h-5`}),`CLI Authentication`]}),(0,q.jsx)(I,{children:`Check and manage authentication for Claude, Codex, and GitHub CLI`})]}),(0,q.jsxs)(L,{children:[(0,q.jsx)(ie,{onOpenTerminal:()=>t(!0)}),(0,q.jsx)(ne,{open:e,onClose:()=>{t(!1),n()}})]})]})}function Ye(){let[e,t]=(0,K.useState)(!1),n=h.useUtils();return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(le,{className:`w-5 h-5`}),`Data Backup`]}),(0,q.jsx)(I,{children:`Export and import database data for backup or migration purposes`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:gap-4`,children:[(0,q.jsxs)(i,{onClick:async()=>{t(!0);try{let e=await n.admin.exportData.fetch(),t=JSON.stringify(e,null,2);oe({data:t,mimeType:`application/json`,fileName:`factory-factory-backup-${new Date().toISOString().split(`T`)[0]}.json`}),j.success(`Export completed`)}catch(e){j.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,q.jsx)(se,{className:`w-4 h-4 mr-2`}),e?`Exporting...`:`Export Data`]}),(0,q.jsx)(ae,{variant:`outline`,className:`w-full sm:w-auto`})]}),(0,q.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 Xe(){let{data:e,isLoading:t}=h.userSettings.get.useQuery(),n=h.useUtils(),[r,a]=(0,K.useState)(!1),o=h.userSettings.update.useMutation({onSuccess:async()=>{j.success(`IDE settings updated`),await Promise.all([n.userSettings.get.invalidate(),n.workspace.getAvailableIdes.invalidate()]),a(!1)},onError:e=>{j.error(`Failed to update settings: ${e.message}`)}}),c=h.userSettings.testCustomCommand.useMutation({onSuccess:()=>{j.success(`Command executed successfully!`)},onError:e=>{j.error(`Command test failed: ${e.message}`)}}),[l,u]=(0,K.useState)(e?.customIdeCommand||``);(0,K.useEffect)(()=>{u(e?.customIdeCommand||``)},[e?.customIdeCommand]);let d=e=>{let t=e.trim();t&&o.mutate({preferredIde:`custom`,customIdeCommand:t})},f=e=>{e===`custom`?(a(!0),d(l)):(e===`cursor`||e===`vscode`)&&(a(!1),o.mutate({preferredIde:e}))},p=r?`custom`:e?.preferredIde??`cursor`;return t?(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`IDE Settings`}),(0,q.jsx)(I,{children:`Configure your preferred IDE for opening workspaces`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]}):(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`IDE Settings`}),(0,q.jsx)(I,{children:`Configure your preferred IDE for opening workspaces`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`ide-select`,children:`Preferred IDE`}),(0,q.jsxs)(D,{value:p,onValueChange:f,disabled:o.isPending,children:[(0,q.jsx)(T,{id:`ide-select`,children:(0,q.jsx)(E,{placeholder:`Select an IDE`})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`cursor`,children:`Cursor`}),(0,q.jsx)(S,{value:`vscode`,children:`VS Code`}),(0,q.jsx)(S,{value:`custom`,children:`Custom`})]})]})]}),p===`custom`&&(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`custom-command`,children:`Custom Command`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,q.jsx)(s,{id:`custom-command`,value:l,onChange:e=>u(e.target.value),onBlur:()=>d(l),placeholder:`code-insiders {workspace}`,className:`font-mono text-sm flex-1`,disabled:o.isPending}),(0,q.jsx)(i,{variant:`outline`,onClick:()=>{if(!l.trim()){j.error(`Please enter a custom command first`);return}c.mutate({customCommand:l})},disabled:c.isPending||!l.trim(),children:c.isPending?`Testing...`:`Test`})]}),(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Use `,(0,q.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded`,children:`{workspace}`}),` as a placeholder for the workspace path. Example:`,` `,(0,q.jsxs)(`code`,{className:`bg-muted px-1 py-0.5 rounded`,children:[`code-insiders `,`{workspace}`]})]})]})]})]})}function Ze({projectId:e,linearConfig:t,onSave:n,isSaving:r}){let[a,o]=(0,K.useState)(``),[c,l]=(0,K.useState)(t?.viewerName??null),[u,d]=(0,K.useState)([]),[f,p]=(0,K.useState)(null),m=h.linear.validateKeyAndListTeams.useMutation({onError:e=>j.error(`Validation failed: ${e.message}`)}),g=async()=>{try{let e=await m.mutateAsync({apiKey:a});e.valid?(l(e.viewerName??null),d(e.teams??[])):j.error(`Validation failed: ${e.error??`Unknown error`}`)}catch{}},_=()=>{let e=u.find(e=>e.id===f);e&&c&&(n({linear:{apiKey:a,teamId:e.id,teamName:`${e.name} (${e.key})`,viewerName:c}}),o(``),l(null),d([]),p(null))},v=c!==null,y=u.length>0,b=t?.hasApiKey??!1,x=t?.teamName??null;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(P,{htmlFor:`api-key-${e}`,children:`API Key`}),v&&(0,q.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-green-600`,children:[(0,q.jsx)(k,{className:`w-3 h-3`}),`Connected as `,c]})]}),(0,q.jsx)(s,{id:`api-key-${e}`,type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:b?`••••••••••••••••••••`:`lin_api_...`,className:`font-mono text-sm w-[280px]`})]}),(0,q.jsx)(i,{variant:`outline`,onClick:g,disabled:m.isPending||!a,children:m.isPending?`Validating...`:`Validate`})]}),v&&y&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(P,{children:`Team`}),(0,q.jsxs)(D,{value:f??``,onValueChange:p,children:[(0,q.jsx)(T,{className:`w-[220px]`,children:(0,q.jsx)(E,{placeholder:`Select a team`})}),(0,q.jsx)(w,{children:u.map(e=>(0,q.jsxs)(S,{value:e.id,children:[e.name,` (`,e.key,`)`]},e.id))})]})]}),(0,q.jsx)(i,{onClick:_,disabled:!f||r,className:`self-end`,children:r?`Saving...`:`Save`})]}),x&&!y&&(0,q.jsxs)(`p`,{className:`text-sm text-muted-foreground self-end pb-2`,children:[`Team: `,x]}),!v&&(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-2 basis-full`,children:[`Create a personal API key at`,` `,(0,q.jsx)(`a`,{href:`https://linear.app/settings/api`,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`linear.app/settings/api`})]})]})}function Qe({projectId:e,projectName:t,currentProvider:n,issueTrackerConfig:r}){let i=h.useUtils(),[a,o]=(0,K.useState)(n),s=h.project.update.useMutation({onSuccess:()=>{j.success(`Issue tracking settings saved`),i.project.list.invalidate()},onError:e=>j.error(`Failed to save: ${e.message}`)}),c=t=>{o(t),s.mutate({id:e,issueProvider:t})},l=t=>{s.mutate({id:e,issueProvider:O.LINEAR,issueTrackerConfig:t})},u=a===O.LINEAR,d=!u||r?.linear!=null;return(0,q.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[(0,q.jsx)(`div`,{className:`border-b bg-muted/50 px-4 py-3`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`h3`,{className:`font-semibold text-sm`,children:t}),d&&(0,q.jsxs)(N,{variant:`default`,className:`bg-green-600 hover:bg-green-700`,children:[(0,q.jsx)(k,{className:`w-3 h-3 mr-1`}),u?`Linear`:`GitHub`]})]})}),(0,q.jsx)(`div`,{className:`p-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(P,{children:`Issue Provider`}),(0,q.jsxs)(D,{value:a,onValueChange:c,disabled:s.isPending,children:[(0,q.jsx)(T,{className:`w-[180px]`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:O.GITHUB,children:`GitHub Issues`}),(0,q.jsx)(S,{value:O.LINEAR,children:`Linear Issues`})]})]})]}),u&&(0,q.jsx)(Ze,{projectId:e,linearConfig:r?.linear??null,onSave:l,isSaving:s.isPending})]})})]})}var $e=Object.defineProperty,J=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),et=`Switch`,[tt,nt]=me(et),[rt,it]=tt(et);function at(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]=he({prop:n,defaultProp:i??!1,onChange:c,caller:et}),[m,h]=K.useState(null),[g,_]=K.useState(null),v=K.useRef(!1),[y,b]=K.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,q.jsx)(rt,{scope:t,...x,children:pt(d)?d(x):r})}J(at,`SwitchProvider`);var ot=`SwitchTrigger`,st=K.forwardRef(J(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:a,value:s,disabled:l,checked:u,required:d,setControl:f,setChecked:p,hasConsumerStoppedPropagationRef:m,onUserInteraction:h,isFormControl:g,bubbleInput:_}=it(ot,e),v=o(r,f),y=K.useRef(u);return K.useEffect(()=>{let e=a?i?.ownerDocument.getElementById(a):i?.form;if(e instanceof HTMLFormElement){let t=J(()=>p(y.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,a,p]),(0,q.jsx)(c.button,{type:`button`,role:`switch`,"aria-checked":u,"aria-required":d,"data-state":mt(u),"data-disabled":l?``:void 0,disabled:l,value:s,...n,ref:v,onClick:M(t,e=>{h(),p(e=>!e),_&&g&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})},`SwitchTrigger`)),ct=K.forwardRef(J(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,q.jsx)(at,{__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,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(st,{...d,ref:t,__scopeSwitch:n}),e&&(0,q.jsx)(ft,{__scopeSwitch:n})]})})},`Switch`)),lt=`SwitchThumb`,ut=K.forwardRef(J(function(e,t){let{__scopeSwitch:n,...r}=e,i=it(lt,n);return(0,q.jsx)(c.span,{"data-state":mt(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),dt=`SwitchBubbleInput`,ft=K.forwardRef(J(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:s,checked:l,defaultChecked:u,required:d,disabled:f,name:p,value:m,form:h,bubbleInput:g,setBubbleInput:_}=it(dt,e),v=o(r,_),y=ve(i),b=K.useRef(!1),x=K.useRef(l),S=K.useRef(s);K.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 o=!(r&&a.current);if(i&&n){b.current=!r;let t=new Event(`click`,{bubbles:o});n.call(e,l),e.dispatchEvent(t),b.current=!1}},[g,l,a,s]);let C=K.useRef(l);return(0,q.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:M(t,e=>{b.current&&e.stopPropagation()}),style:{...n.style,...y,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function pt(e){return typeof e==`function`}J(pt,`isFunction`);function mt(e){return e?`checked`:`unchecked`}J(mt,`getState`);function Y({className:e,size:t=`default`,...n}){return(0,q.jsx)(ct,{"data-slot":`switch`,"data-size":t,className:a(`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,q.jsx)(ut,{"data-slot":`switch-thumb`,className:a(`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 ht(){let{data:e,isLoading:t}=h.userSettings.get.useQuery(),n=h.useUtils(),r=h.userSettings.update.useMutation({onSuccess:()=>{n.userSettings.get.invalidate()},onError:e=>{j.error(`Failed to update settings: ${e.message}`)}});return t?(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`Notification Settings`}),(0,q.jsx)(I,{children:`Configure notification behavior`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]}):(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(B,{children:`Notification Settings`}),(0,q.jsx)(I,{children:`Configure notification behavior`})]}),(0,q.jsx)(L,{className:`space-y-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,q.jsx)(P,{htmlFor:`sound-toggle`,children:`Play completion sound`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Play a sound when a workspace finishes`})]}),(0,q.jsx)(Y,{id:`sound-toggle`,checked:e?.playSoundOnComplete??!0,onCheckedChange:e=>{r.mutate({playSoundOnComplete:e})},disabled:r.isPending})]})})]})}var gt=5;function _t(e,t=Date.now()){let n=e.getTime()-t,r=Math.round(n/1e3);if(Math.abs(r)<=gt)return`now`;let i=vt(Math.abs(r));return r<0?`${i} overdue`:`in ${i}`}function vt(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 yt(e,t=localStorage){return Ce(t)||e[0]?.slug||``}function bt({projects:e}){let[t,n]=(0,K.useState)(()=>yt(e)),r=e.find(e=>e.slug===t)??e[0];return(0,K.useEffect)(()=>{r&&r.slug!==t&&(n(r.slug),Se(r.slug))},[r,t]),r?(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,q.jsxs)(D,{value:r.slug,onValueChange:e=>{n(e),Se(e)},children:[(0,q.jsx)(T,{className:`w-auto max-w-xs`,children:(0,q.jsx)(E,{placeholder:`Select a project`})}),(0,q.jsx)(w,{children:e.map(e=>(0,q.jsx)(S,{value:e.slug,children:e.name},e.id))})]})}),(0,q.jsx)(xt,{projectId:r.id})]}):(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No projects found.`})}function xt({projectId:e}){let t=h.useUtils(),{data:n,isLoading:r}=h.periodicTask.list.useQuery({projectId:e},{refetchInterval:1e4}),i=h.periodicTask.delete.useMutation({onSuccess:()=>{j.success(`Periodic task deleted`),t.periodicTask.list.invalidate({projectId:e})},onError:e=>j.error(`Delete failed: ${e.message}`)}),a=h.periodicTask.toggleEnabled.useMutation({onSuccess:()=>{t.periodicTask.list.invalidate({projectId:e})},onError:e=>j.error(`Toggle failed: ${e.message}`)}),o=h.periodicTask.update.useMutation({onSuccess:()=>{j.success(`Periodic task updated`),t.periodicTask.list.invalidate({projectId:e})},onError:e=>j.error(`Update failed: ${e.message}`)});return r?(0,q.jsxs)(z,{children:[(0,q.jsx)(F,{children:(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(b,{className:`w-5 h-5`}),`Periodic Tasks`]})}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-20 w-full`})})]}):(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(b,{className:`w-5 h-5`}),`Periodic Tasks`]}),(0,q.jsx)(I,{children:`Recurring tasks that create workspaces on a schedule`})]}),(0,q.jsx)(L,{children:!n||n.length===0?(0,q.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,q.jsx)(`div`,{className:`space-y-3`,children:n.map(e=>(0,q.jsx)(Et,{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 St({status:e}){return(0,q.jsx)(N,{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 Ct=new Set([`DAILY`,`WEEKLY`,`MONTHLY`]);function wt(e,t,n){return e!==t||!n?Intl.DateTimeFormat().resolvedOptions().timeZone:n}function Tt(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 Et({task:e,onToggle:t,onDelete:n,onUpdate:r,isUpdating:a}){let[o,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(e.name),[d,p]=(0,K.useState)(e.prompt),[m,h]=(0,K.useState)(e.cadence),[g,_]=(0,K.useState)(e.scheduledTime??``),[v,y]=(0,K.useState)(!1),b=()=>{let t=Ct.has(m)&&!!g,n=t?g:null,i=t?wt(g,e.scheduledTime,e.timezone):null;r({name:l===e.name?void 0:l,prompt:d===e.prompt?void 0:d,cadence:m===e.cadence?void 0:m,scheduledTime:n===e.scheduledTime?void 0:n,timezone:i===e.timezone?void 0:i}),c(!1)},x={EVERY_MINUTE:`Every minute`,EVERY_FIVE_MINUTES:`Every 5 minutes`,DAILY:`Daily`,WEEKLY:`Weekly`,MONTHLY:`Monthly`}[e.cadence]??e.cadence,C=e.executions[0];return(0,q.jsxs)(`div`,{className:`rounded-md border p-3 space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,q.jsx)(Y,{checked:e.isEnabled,onCheckedChange:t,disabled:a,className:`shrink-0`}),(0,q.jsx)(`span`,{className:`font-medium text-sm truncate`,children:e.name}),(0,q.jsx)(N,{variant:`secondary`,className:`shrink-0 text-[10px]`,children:x})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,q.jsx)(i,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,onClick:()=>{u(e.name),p(e.prompt),h(e.cadence),_(e.scheduledTime??``),c(!o)},children:(0,q.jsx)(f,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(i,{variant:`ghost`,size:`icon`,className:`h-7 w-7 text-destructive hover:text-destructive`,onClick:n,children:(0,q.jsx)(Be,{className:`h-3.5 w-3.5`})})]})]}),(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground line-clamp-2`,children:e.prompt}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 text-[10px] text-muted-foreground`,children:[e.lastRunAt&&(0,q.jsxs)(`span`,{children:[`Last run: `,new Date(e.lastRunAt).toLocaleString()]}),(0,q.jsxs)(`span`,{title:new Date(e.nextRunAt).toLocaleString(),children:[`Next run: `,_t(new Date(e.nextRunAt))]}),Ct.has(e.cadence)&&e.scheduledTime&&e.timezone&&(0,q.jsxs)(`span`,{children:[`at `,Tt(e.scheduledTime,e.timezone)]}),C&&(0,q.jsx)(St,{status:C.status})]}),o&&(0,q.jsxs)(`div`,{className:`space-y-2 pt-2 border-t`,children:[(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(P,{className:`text-xs`,children:`Name`}),(0,q.jsx)(s,{className:`h-7 text-xs`,value:l,onChange:e=>u(e.target.value)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(P,{className:`text-xs`,children:`Prompt`}),(0,q.jsx)(ue,{className:`text-xs min-h-[60px]`,value:d,onChange:e=>p(e.target.value)})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(P,{className:`text-xs`,children:`Cadence`}),(0,q.jsxs)(D,{value:m,onValueChange:h,children:[(0,q.jsx)(T,{className:`h-7 text-xs`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`EVERY_MINUTE`,children:`Every minute (testing)`}),(0,q.jsx)(S,{value:`EVERY_FIVE_MINUTES`,children:`Every 5 minutes (testing)`}),(0,q.jsx)(S,{value:`DAILY`,children:`Daily`}),(0,q.jsx)(S,{value:`WEEKLY`,children:`Weekly`}),(0,q.jsx)(S,{value:`MONTHLY`,children:`Monthly`})]})]})]}),Ct.has(m)&&(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(P,{className:`text-xs`,children:`Run time (optional)`}),(0,q.jsx)(s,{type:`time`,className:`h-7 text-xs`,value:g,onChange:e=>_(e.target.value)})]}),(0,q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,q.jsx)(i,{variant:`ghost`,size:`sm`,className:`h-7 text-xs`,onClick:()=>c(!1),children:`Cancel`}),(0,q.jsx)(i,{size:`sm`,className:`h-7 text-xs`,onClick:b,disabled:a,children:`Save`})]})]}),e.executions.length>0&&(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`text-[10px] text-muted-foreground hover:text-foreground underline`,onClick:()=>y(!v),children:[v?`Hide`:`Show`,` execution history (`,e.executions.length,`)`]}),v&&(0,q.jsx)(`div`,{className:`mt-2 space-y-1`,children:e.executions.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-muted-foreground`,children:[(0,q.jsx)(St,{status:e.status}),(0,q.jsx)(`span`,{children:new Date(e.startedAt).toLocaleString()}),e.prUrl&&(0,q.jsx)(`a`,{href:e.prUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-primary hover:underline`,children:`PR`})]},e.id))})]})]})}function Dt(e){switch(e.toUpperCase()){case`RUNNING`:return`default`;case`IDLE`:case`COMPLETED`:return`secondary`;case`FAILED`:return`destructive`;default:return`outline`}}function Ot(e){let{process:t}=e;return(0,q.jsx)(U,{children:(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[t.projectSlug?(0,q.jsx)(l,{to:`/projects/${t.projectSlug}/workspaces/${t.workspaceId}`,className:`font-medium hover:underline`,children:t.workspaceName}):(0,q.jsx)(`span`,{className:`font-medium`,children:t.workspaceName}),t.workspaceBranch&&(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:t.workspaceBranch})]})})}function kt({process:e,isStopping:t,onStop:n}){return(0,q.jsxs)(`div`,{className:`rounded-md border bg-background p-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`font-medium truncate`,children:e.workspaceName}),e.workspaceBranch&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground font-mono truncate`,children:e.workspaceBranch}),(0,q.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground font-mono`,children:e.name||e.sessionId.slice(0,8)})]}),(0,q.jsx)(i,{variant:`ghost`,size:`sm`,onClick:()=>n(e.sessionId),disabled:t||e.status===`COMPLETED`||e.status===`FAILED`,title:`Stop session`,children:(0,q.jsx)(g,{className:`w-4 h-4`})})]}),(0,q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs`,children:[(0,q.jsx)(N,{variant:`outline`,children:e.workflow}),(0,q.jsx)(N,{variant:Dt(e.status),children:e.status})]}),(0,q.jsxs)(`div`,{className:`mt-2 grid grid-cols-2 gap-2 text-xs font-mono text-muted-foreground`,children:[(0,q.jsxs)(`span`,{children:[`CPU: `,W(e.cpuPercent)]}),(0,q.jsxs)(`span`,{children:[`Mem: `,G(e.memoryBytes)]}),(0,q.jsxs)(`span`,{children:[`Idle: `,Fe(e.idleTimeMs)]}),(0,q.jsxs)(`span`,{children:[`PID: `,e.pid??`-`]})]})]})}function At({process:e}){return(0,q.jsxs)(`div`,{className:`rounded-md border bg-background p-3`,children:[(0,q.jsx)(`div`,{className:`font-medium truncate`,children:e.workspaceName}),e.workspaceBranch&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground font-mono truncate`,children:e.workspaceBranch}),(0,q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground font-mono`,children:[(0,q.jsxs)(`span`,{children:[`Terminal: `,e.terminalId.slice(0,12)]}),(0,q.jsxs)(`span`,{children:[`PID: `,e.pid]}),(0,q.jsxs)(`span`,{children:[`Size: `,e.cols,`x`,e.rows]})]}),(0,q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs font-mono text-muted-foreground`,children:[(0,q.jsxs)(`span`,{children:[`CPU: `,W(e.cpuPercent)]}),(0,q.jsxs)(`span`,{children:[`Mem: `,G(e.memoryBytes)]}),(0,q.jsxs)(`span`,{children:[`Created: `,new Date(e.createdAt).toLocaleTimeString()]})]})]})}function jt(){return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[`Active Processes`,(0,q.jsx)(R,{className:`h-5 w-16 ml-2`})]}),(0,q.jsx)(I,{children:`Agent and Terminal processes currently running`})]}),(0,q.jsx)(L,{className:`space-y-6`,children:(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(R,{className:`h-5 w-48`}),(0,q.jsxs)(`div`,{className:`border rounded-md p-4 space-y-3`,children:[(0,q.jsx)(R,{className:`h-8 w-full`}),(0,q.jsx)(R,{className:`h-12 w-full`}),(0,q.jsx)(R,{className:`h-12 w-full`})]})]})})]})}function Mt({processes:e}){let t=ee(),n=e?.agent&&e.agent.length>0,r=e?.terminal&&e.terminal.length>0,a=!(n||r),[o,s]=(0,K.useState)(new Set),{data:c}=h.session.getMaxSessionsPerWorkspace.useQuery(),l=h.useUtils(),u=h.admin.stopSession.useMutation(),f=(0,K.useCallback)(async e=>{s(t=>new Set(t).add(e));try{(await u.mutateAsync({sessionId:e})).wasRunning?j.success(`Session stopped`):j.info(`Session was already stopped`),l.admin.getActiveProcesses.invalidate()}catch(e){j.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})}},[u,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,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex flex-wrap items-center gap-2`,children:[`Active Processes`,e?.summary&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(N,{variant:`secondary`,className:`ml-2`,children:[e.summary.totalAgent,` Agent sessions`]}),c!==void 0&&p>0&&(0,q.jsxs)(N,{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,q.jsx)(I,{children:`Agent and Terminal processes currently running`})]}),(0,q.jsxs)(L,{className:`space-y-6`,children:[a&&(0,q.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No active processes`}),n&&(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`h4`,{className:`text-sm font-medium mb-2 flex items-center gap-2`,children:[(0,q.jsx)(d,{className:`w-4 h-4`}),`Agent Sessions (`,e.agent.length,`)`]}),t?(0,q.jsx)(`div`,{className:`space-y-2`,children:e.agent.map(e=>(0,q.jsx)(kt,{process:e,isStopping:o.has(e.sessionId),onStop:f},e.sessionId))}):(0,q.jsx)(`div`,{className:`border rounded-md`,children:(0,q.jsxs)(Pe,{children:[(0,q.jsx)(je,{children:(0,q.jsxs)(Ne,{children:[(0,q.jsx)(H,{children:`Workspace`}),(0,q.jsx)(H,{children:`Session`}),(0,q.jsx)(H,{children:`Workflow`}),(0,q.jsx)(H,{children:`PID`}),(0,q.jsx)(H,{children:`Resources`}),(0,q.jsx)(H,{children:`Status`}),(0,q.jsx)(H,{children:`Actions`})]})}),(0,q.jsx)(Me,{children:e.agent.map(e=>(0,q.jsxs)(Ne,{children:[(0,q.jsx)(Ot,{process:e}),(0,q.jsx)(U,{children:(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground`,children:e.name||e.sessionId.slice(0,8)}),(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.model})]})}),(0,q.jsx)(U,{children:(0,q.jsx)(N,{variant:`outline`,children:e.workflow})}),(0,q.jsx)(U,{className:`font-mono text-xs`,children:e.pid??`-`}),(0,q.jsx)(U,{children:(0,q.jsxs)(`div`,{className:`flex flex-col text-xs font-mono`,children:[(0,q.jsxs)(`span`,{children:[`CPU: `,W(e.cpuPercent)]}),(0,q.jsxs)(`span`,{children:[`Mem: `,G(e.memoryBytes)]}),(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[`Idle: `,Fe(e.idleTimeMs)]})]})}),(0,q.jsx)(U,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(N,{variant:Dt(e.status),children:e.status}),e.memoryStatus&&e.memoryStatus!==e.status.toLowerCase()&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,e.memoryStatus,`)`]})]})}),(0,q.jsx)(U,{children:(0,q.jsx)(i,{variant:`ghost`,size:`sm`,onClick:()=>f(e.sessionId),disabled:o.has(e.sessionId)||e.status===`COMPLETED`||e.status===`FAILED`,title:`Stop session`,children:(0,q.jsx)(g,{className:`w-4 h-4`})})})]},e.sessionId))})]})})]}),r&&(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`h4`,{className:`text-sm font-medium mb-2 flex items-center gap-2`,children:[(0,q.jsx)(pe,{className:`w-4 h-4`}),`Terminal Processes (`,e.terminal.length,`)`]}),t?(0,q.jsx)(`div`,{className:`space-y-2`,children:e.terminal.map(e=>(0,q.jsx)(At,{process:e},e.terminalId))}):(0,q.jsx)(`div`,{className:`border rounded-md`,children:(0,q.jsxs)(Pe,{children:[(0,q.jsx)(je,{children:(0,q.jsxs)(Ne,{children:[(0,q.jsx)(H,{children:`Workspace`}),(0,q.jsx)(H,{children:`Terminal ID`}),(0,q.jsx)(H,{children:`PID`}),(0,q.jsx)(H,{children:`Resources`}),(0,q.jsx)(H,{children:`Size`}),(0,q.jsx)(H,{children:`Created`})]})}),(0,q.jsx)(Me,{children:e.terminal.map(e=>(0,q.jsxs)(Ne,{children:[(0,q.jsx)(Ot,{process:e}),(0,q.jsx)(U,{children:(0,q.jsx)(`span`,{className:`text-xs font-mono text-muted-foreground`,children:e.terminalId.slice(0,12)})}),(0,q.jsx)(U,{className:`font-mono text-xs`,children:e.pid}),(0,q.jsx)(U,{children:(0,q.jsxs)(`div`,{className:`flex flex-col text-xs font-mono`,children:[(0,q.jsxs)(`span`,{children:[`CPU: `,W(e.cpuPercent)]}),(0,q.jsxs)(`span`,{children:[`Mem: `,G(e.memoryBytes)]})]})}),(0,q.jsxs)(U,{className:`font-mono text-xs`,children:[e.cols,`x`,e.rows]}),(0,q.jsx)(U,{className:`text-xs text-muted-foreground`,children:new Date(e.createdAt).toLocaleTimeString()})]},e.terminalId))})]})})]})]})]})}function Nt({projectId:e,projectName:t}){let[n,r]=(0,K.useState)(!1),a=h.useUtils(),{data:o,isPending:s,isSuccess:c,isError:l,error:d,refetch:p}=h.workspace.getFactoryConfig.useQuery({projectId:e});(0,K.useEffect)(()=>{c||r(!1)},[c]);let m=h.project.saveFactoryConfig.useMutation({onSuccess:()=>{a.workspace.getFactoryConfig.invalidate({projectId:e}),r(!1)},onError:e=>{j.error(`Failed to save configuration: ${e.message}`)}}),g=h.workspace.refreshFactoryConfigs.useMutation({onSuccess:e=>{e.errors.length>0?j.warning(`Refreshed ${e.updatedCount} workspace(s), but ${e.errors.length} failed`):j.success(`Refreshed factory-factory.json for ${e.updatedCount} workspace(s)`)},onError:e=>{j.error(`Failed to refresh configurations: ${e.message}`)}});return(0,q.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[c&&(0,q.jsx)(u,{open:n,onOpenChange:r,currentConfig:o?o.scripts:void 0,onSave:t=>{c&&m.mutate({projectId:e,config:t})},isPending:m.isPending,error:m.error}),(0,q.jsx)(`div`,{className:`border-b bg-muted/50 px-4 py-3`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,q.jsx)(`h3`,{className:`min-w-0 truncate font-semibold text-sm`,children:t}),c&&(o?(0,q.jsxs)(N,{variant:`default`,className:`bg-green-600 hover:bg-green-700`,children:[(0,q.jsx)(k,{className:`w-3 h-3 mr-1`}),`Configured`]}):(0,q.jsxs)(N,{variant:`secondary`,className:`bg-muted`,children:[(0,q.jsx)(le,{className:`w-3 h-3 mr-1`}),`Not configured`]})),(0,q.jsx)(i,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,"aria-label":`Edit factory configuration`,disabled:!c,onClick:()=>r(!0),children:(0,q.jsx)(f,{className:`w-3.5 h-3.5`})})]}),(0,q.jsxs)(i,{variant:`outline`,size:`sm`,onClick:()=>{g.mutate({projectId:e})},disabled:g.isPending,className:`w-full gap-2 sm:w-auto`,children:[(0,q.jsx)(y,{className:`w-4 h-4 ${g.isPending?`animate-spin`:``}`}),`Refresh Workspaces`]})]})}),(0,q.jsxs)(`div`,{className:`p-4`,children:[s&&(0,q.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:`Loading configuration...`}),l&&(0,q.jsxs)(`div`,{role:`alert`,className:`space-y-3`,children:[(0,q.jsxs)(`p`,{className:`text-sm text-destructive`,children:[`Failed to load configuration: `,d.message]}),(0,q.jsx)(i,{variant:`outline`,size:`sm`,onClick:()=>void p(),children:`Retry`})]}),c&&(o?(0,q.jsx)(`div`,{className:`space-y-4`,children:(0,q.jsx)(Ie,{factoryConfig:o,variant:`card`})}):(0,q.jsx)(`div`,{className:`space-y-3`,children:(0,q.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 Pt({projects:e}){let[t,n]=(0,K.useState)(()=>Ce()||e[0]?.slug||``),r=e.find(e=>e.slug===t)??e[0];return r?(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,q.jsxs)(D,{value:r.slug,onValueChange:e=>{n(e),Se(e)},children:[(0,q.jsx)(T,{className:`w-auto max-w-xs`,children:(0,q.jsx)(E,{placeholder:`Select a project`})}),(0,q.jsx)(w,{children:e.map(e=>(0,q.jsx)(S,{value:e.slug,children:e.name},e.id))})]})}),(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(le,{className:`w-5 h-5`}),`Factory Configuration`]}),(0,q.jsx)(I,{children:`Configuration for workspace setup and run scripts (factory-factory.json)`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsx)(Nt,{projectId:r.id,projectName:r.name},r.id),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-1 border-t pt-4`,children:[(0,q.jsxs)(`p`,{children:[(0,q.jsx)(`strong`,{children:`Port Allocation:`}),` Use`,` `,(0,q.jsx)(`code`,{className:`bg-muted px-1 rounded`,children:`{port}`}),` in run script for automatic port allocation`]}),(0,q.jsxs)(`p`,{children:[(0,q.jsx)(`strong`,{children:`Location:`}),` factory-factory.json in repository root`]})]})]})]}),(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ze,{className:`w-5 h-5`}),`Issue Tracking`]}),(0,q.jsx)(I,{children:`Configure the issue provider (GitHub Issues or Linear)`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(Qe,{projectId:r.id,projectName:r.name,currentProvider:r.issueProvider,issueTrackerConfig:r.issueTrackerConfig},r.id)})]})]}):(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No projects found.`})}function Ft(){let{data:e,isLoading:t}=h.userSettings.get.useQuery(),n=h.useUtils(),r=h.userSettings.update.useMutation({onSuccess:()=>{j.success(`Ratchet settings updated`),n.userSettings.get.invalidate()},onError:e=>{j.error(`Failed to update settings: ${e.message}`)}}),a=h.admin.triggerRatchetCheck.useMutation({onSuccess:e=>{j.success(`Ratchet check completed: ${e.checked} checked, ${e.stateChanges} state changes, ${e.actionsTriggered} actions triggered`)},onError:e=>{j.error(`Failed to trigger ratchet check: ${e.message}`)}});if(t)return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(p,{enabled:!0,className:`w-5 h-5`,iconClassName:`w-3.5 h-3.5`}),`Ratchet Pull Requests`]}),(0,q.jsx)(I,{children:`Automatically dispatch agents to fix CI failures and address code review comments`})]}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]});let o=e?.ratchetPermissions??`YOLO`,s=e?.ratchetReviewTriggerMode??`CHANGES_REQUESTED`;return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(p,{enabled:!0,className:`w-5 h-5`,iconClassName:`w-3.5 h-3.5`}),`Ratchet Pull Requests`]}),(0,q.jsx)(I,{children:`Automatically dispatch agents to fix CI failures and address code review comments`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`rounded-md border bg-muted/40 p-3 space-y-1.5`,children:[(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`When a workspace has an open pull request, Factory Factory can automatically:`}),(0,q.jsxs)(`ul`,{className:`text-sm text-muted-foreground list-disc list-inside space-y-0.5 ml-2`,children:[(0,q.jsx)(`li`,{children:`Fix failing CI checks`}),(0,q.jsx)(`li`,{children:`Address code review comments`})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,q.jsx)(P,{htmlFor:`ratchet-enabled`,children:`Default for new workspaces`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Enable Ratchet for workspaces created from GitHub issues`})]}),(0,q.jsx)(Y,{id:`ratchet-enabled`,checked:e?.ratchetEnabled??!1,onCheckedChange:e=>{r.mutate({ratchetEnabled:e})},disabled:r.isPending})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`ratchet-review-trigger`,children:`Review feedback trigger`}),(0,q.jsxs)(D,{value:s,onValueChange:e=>{(e===`CHANGES_REQUESTED`||e===`ALL_REVIEW_FEEDBACK`)&&r.mutate({ratchetReviewTriggerMode:e})},disabled:r.isPending,children:[(0,q.jsx)(T,{id:`ratchet-review-trigger`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`CHANGES_REQUESTED`,children:`Changes requested and unresolved threads`}),(0,q.jsx)(S,{value:`ALL_REVIEW_FEEDBACK`,children:`All review feedback`})]})]}),(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`All review feedback also lets top-level commented review summaries start sessions. Ordinary PR conversation comments never trigger Ratchet.`})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(P,{htmlFor:`ratchet-permissions`,children:`Ratchet permission defaults`}),(0,q.jsxs)(D,{value:o,onValueChange:e=>{(e===`STRICT`||e===`RELAXED`||e===`YOLO`)&&r.mutate({ratchetPermissions:e})},disabled:r.isPending,children:[(0,q.jsx)(T,{id:`ratchet-permissions`,children:(0,q.jsx)(E,{})}),(0,q.jsxs)(w,{children:[(0,q.jsx)(S,{value:`STRICT`,children:`Strict`}),(0,q.jsx)(S,{value:`RELAXED`,children:`Relaxed`}),(0,q.jsx)(S,{value:`YOLO`,children:`YOLO`})]})]}),(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Controls the default execution mode used when Ratchet starts a fixer session.`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,q.jsx)(P,{htmlFor:`ratchet-reply-to-pr-comments`,children:`Reply to PR comments`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`When enabled, Ratchet replies on review threads and posts a re-review PR comment`})]}),(0,q.jsx)(Y,{id:`ratchet-reply-to-pr-comments`,checked:e?.ratchetReplyToPrComments??!0,onCheckedChange:e=>{r.mutate({ratchetReplyToPrComments:e})},disabled:r.isPending})]}),(0,q.jsx)(`div`,{className:`border-t pt-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,q.jsx)(P,{children:`Manual Check`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Check all workspaces with PRs and dispatch agents if needed`})]}),(0,q.jsx)(i,{variant:`outline`,size:`sm`,onClick:()=>a.mutate(),disabled:a.isPending,children:a.isPending?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(y,{className:`w-4 h-4 mr-2 animate-spin`}),`Checking...`]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(y,{className:`w-4 h-4 mr-2`}),`Check All PRs Now`]})})]})})]})]})}function It(){let{download:e,isDownloading:t}=ce();return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(v,{className:`w-5 h-5`}),`Server Logs`]}),(0,q.jsx)(I,{children:`View and search structured server log entries`})]}),(0,q.jsxs)(L,{className:`flex flex-col gap-2 sm:flex-row sm:gap-3`,children:[(0,q.jsx)(i,{variant:`outline`,className:`w-full sm:w-auto`,asChild:!0,children:(0,q.jsx)(l,{to:`/logs`,children:`View Logs`})}),(0,q.jsxs)(i,{variant:`outline`,onClick:e,disabled:t,className:`w-full sm:w-auto`,children:[(0,q.jsx)(se,{className:`w-4 h-4 mr-2`}),t?`Downloading...`:`Download Log File`]})]})]})}var Lt=Object.defineProperty,X=(e,t)=>Lt(e,`name`,{value:t,configurable:!0}),Rt=[`PageUp`,`PageDown`],zt=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Bt={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},Z=`Slider`,[Vt,Ht,Ut]=ge(Z),[Wt,Gt]=me(Z,[Ut]),[Kt,Q]=Wt(Z),qt=K.forwardRef(X(function(e,t){let{name:n,min:r=0,max:i=100,step:a=1,orientation:s=`horizontal`,disabled:c=!1,minStepsBetweenThumbs:l=0,defaultValue:u=[r],value:d,onValueChange:f=X(()=>{},`onValueChange`),onValueCommit:p=X(()=>{},`onValueCommit`),inverted:m=!1,form:h,...g}=e,_=K.useRef(new Set),v=K.useRef(0),y=K.useRef(!1),b=s===`horizontal`?Xt:Zt,[x,S]=K.useState(null),w=o(t,S),[T=[],E]=he({prop:d,defaultProp:u,onChange:X(e=>{[..._.current][v.current]?.focus({preventScroll:!0,focusVisible:y.current}),y.current=!1,f(e)},`onChange`)}),D=K.useRef(T),O=K.useRef(T);K.useEffect(()=>{let e=h?x?.ownerDocument.getElementById(h):x?.closest(`form`);if(e instanceof HTMLFormElement){let t=X(()=>E(O.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[x,h,E]);function k(e){A(e,gn(T,e))}X(k,`handleSlideStart`);function ee(e){A(e,v.current)}X(ee,`handleSlideMove`);function te(){String(T)!==String(D.current)&&p(T)}X(te,`handleSlideEnd`);function A(e,t,{commit:n}={commit:!1}){let o=xn(a),s=$(Math.round((e-r)/a)*a+r,o),c=C(s,[r,i]);E((e=[])=>{let r=pn(e,c,t);if(yn(r,l*a)){v.current=r.indexOf(c);let t=String(r)!==String(e);return t&&n&&p(r),t?r:e}return e})}return X(A,`updateValues`),(0,q.jsx)(Kt,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:i,valueIndexToChangeRef:v,thumbs:_.current,values:T,orientation:s,form:h,children:(0,q.jsx)(Vt.Provider,{scope:e.__scopeSlider,children:(0,q.jsx)(Vt.Slot,{scope:e.__scopeSlider,children:(0,q.jsx)(b,{"aria-disabled":c,"data-disabled":c?``:void 0,...g,ref:w,onPointerDown:M(g.onPointerDown,()=>{c||(D.current=T,y.current=!1)}),min:r,max:i,inverted:m,onSlideStart:c?void 0:k,onSlideMove:c?void 0:ee,onSlideEnd:c?void 0:te,onHomeKeyDown:()=>{c||(y.current=!0,A(r,0,{commit:!0}))},onEndKeyDown:()=>{c||(y.current=!0,A(i,T.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!c){y.current=!0;let n=Rt.includes(e.key)||e.shiftKey&&zt.includes(e.key)?10:1,i=v.current,o=T[i];A(Sn(o,{min:r,step:a,direction:t,multiplier:n}),i,{commit:!0})}}})})})})},`Slider`)),[Jt,Yt]=Wt(Z,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Xt=K.forwardRef(X(function(e,t){let{min:n,max:r,dir:i,inverted:a,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:u,...d}=e,[f,p]=K.useState(null),m=o(t,p),h=K.useRef(void 0),g=_e(i),_=g===`ltr`,v=_&&!a||!_&&a;function y(e){let t=h.current||f.getBoundingClientRect(),i=bn([0,t.width],v?[n,r]:[r,n]);return h.current=t,i(e-t.left)}return X(y,`getValueFromPointer`),(0,q.jsx)(Jt,{scope:e.__scopeSlider,startEdge:v?`left`:`right`,endEdge:v?`right`:`left`,direction:v?1:-1,size:`width`,children:(0,q.jsx)(Qt,{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=Bt[v?`from-left`:`from-right`].includes(e.key);u?.({event:e,direction:t?-1:1})}})})},`SliderHorizontal`)),Zt=K.forwardRef(X(function(e,t){let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,d=K.useRef(null),f=o(t,d),p=K.useRef(void 0),m=!i;function h(e){let t=p.current||d.current.getBoundingClientRect(),i=bn([0,t.height],m?[r,n]:[n,r]);return p.current=t,i(e-t.top)}return X(h,`getValueFromPointer`),(0,q.jsx)(Jt,{scope:e.__scopeSlider,startEdge:m?`bottom`:`top`,endEdge:m?`top`:`bottom`,size:`height`,direction:m?1:-1,children:(0,q.jsx)(Qt,{"data-orientation":`vertical`,...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=h(e.clientY);a?.(t)},onSlideMove:e=>{let t=h(e.clientY);s?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=Bt[m?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})},`SliderVertical`)),Qt=K.forwardRef(X(function(e,t){let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:l,...u}=e,d=Q(Z,n);return(0,q.jsx)(c.span,{...u,ref:t,onKeyDown:M(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Rt.concat(zt).includes(e.key)&&(l(e),e.preventDefault())}),onPointerDown:M(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:M(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:M(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})},`SliderImpl`)),$t=`SliderTrack`,en=K.forwardRef(X(function(e,t){let{__scopeSlider:n,...r}=e,i=Q($t,n);return(0,q.jsx)(c.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})},`SliderTrack`)),tn=`SliderRange`,nn=K.forwardRef(X(function(e,t){let{__scopeSlider:n,...r}=e,i=Q(tn,n),a=Yt(tn,n),s=K.useRef(null),l=o(t,s),u=i.values.length,d=i.values.map(e=>mn(e,i.min,i.max)),f=u>1?Math.min(...d):0,p=100-Math.max(...d);return(0,q.jsx)(c.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:l,style:{...e.style,[a.startEdge]:f+`%`,[a.endEdge]:p+`%`}})},`SliderRange`)),[rn,an]=Wt(`SliderThumb`),on=`SliderThumbProvider`;function sn(e){let{__scopeSlider:t,name:n,children:r,internal_do_not_use_render:i}=e,a=Q(on,t),o=Ht(t),[s,c]=K.useState(null),l=K.useMemo(()=>s?o().findIndex(e=>e.ref.current===s):-1,[o,s]),u=ve(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:mn(f,a.min,a.max);K.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,q.jsx)(rn,{scope:t,...h,children:Cn(i)?i(h):r})}X(sn,`SliderThumbProvider`);var cn=`SliderThumbTrigger`,ln=K.forwardRef(X(function(e,t){let{__scopeSlider:n,...r}=e,i=Q(cn,n),a=Yt(cn,n),{index:s,value:l,percent:u,size:d,onThumbChange:f}=an(cn,n),p=o(t,f),m=hn(s,i.values.length),h=d?.[a.size],g=h?_n(h,u,a.direction):0;return(0,q.jsx)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[a.startEdge]:`calc(${u}% + ${g}px)`},children:(0,q.jsx)(Vt.ItemSlot,{scope:n,children:(0,q.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:M(e.onFocus,()=>{i.valueIndexToChangeRef.current=s})})})})},`SliderThumbTrigger`)),un=K.forwardRef(X(function(e,t){let{__scopeSlider:n,name:r,...i}=e;return(0,q.jsx)(sn,{__scopeSlider:n,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ln,{...i,ref:t,__scopeSlider:n}),r?(0,q.jsx)(fn,{__scopeSlider:n},e):null]})})},`SliderThumb`)),dn=`SliderBubbleInput`,fn=K.forwardRef(X(function({__scopeSlider:e,...t},n){let{value:r,name:i,form:a}=an(dn,e),s=K.useRef(null),l=o(s,n),u=x(r);return K.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,q.jsx)(c.input,{style:{display:`none`},name:i,form:a,...t,ref:l,defaultValue:r})},`SliderBubbleInput`));function pn(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}X(pn,`getNextSortedValues`);function mn(e,t,n){let r=100/(n-t)*(e-t);return C(r,[0,100])}X(mn,`convertValueToPercentage`);function hn(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}X(hn,`getLabel`);function gn(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)}X(gn,`getClosestValueIndex`);function _n(e,t,n){let r=e/2;return(r-bn([0,50],[0,r])(t)*n)*n}X(_n,`getThumbInBoundsOffset`);function vn(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}X(vn,`getStepsBetweenValues`);function yn(e,t){if(t>0){let n=vn(e);return Math.min(...n)>=t}return!0}X(yn,`hasMinStepsBetweenValues`);function bn(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])}}X(bn,`linearScale`);function xn(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}X(xn,`getDecimalCount`);function $(e,t){let n=10**t;return Math.round(e*n)/n}X($,`roundValue`);function Sn(e,{min:t,step:n,direction:r,multiplier:i}){let a=xn(n),o=(e-t)/n,s=Math.round(o),c=$(s*n+t,a)===$(e,a),l;return l=c?s+i*r:r>0?Math.ceil(o):Math.floor(o),$(l*n+t,a)}X(Sn,`getNextStepValue`);function Cn(e){return typeof e==`function`}X(Cn,`isFunction`);function wn({className:e,defaultValue:t,value:n,min:r=0,max:i=100,...o}){let s=n?.length??t?.length??1,c=K.useMemo(()=>Array.from({length:s},(e,t)=>`thumb-${t}`),[s]);return(0,q.jsxs)(qt,{"data-slot":`slider`,defaultValue:t,value:n,min:r,max:i,className:a(`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),...o,children:[(0,q.jsx)(en,{"data-slot":`slider-track`,className:a(`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,q.jsx)(nn,{"data-slot":`slider-range`,className:a(`absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`)})}),c.map(e=>(0,q.jsx)(un,{"data-slot":`slider-thumb`,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))]})}function Tn({id:e,label:t,helpText:n,value:r,min:i,max:a,step:o,formatValue:s,disabled:c,onChange:l,onCommit:u}){return(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between w-[280px]`,children:[(0,q.jsx)(P,{htmlFor:e,children:t}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:[s(r),` · `,De(r,i,a)]})]}),(0,q.jsx)(wn,{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,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]})}function En(e,t){return h.voice.validateApiKey.useMutation({onSuccess:(n,r)=>{n.valid?(t(r.apiKey),j.success(`Deepgram API key is valid`)):(r.apiKey===e&&t(null),j.error(`Validation failed: ${n.error??`Unknown error`}`))},onError:(n,r)=>{r.apiKey===e&&t(null),j.error(`Validation failed: ${n.message}`)}})}function Dn({apiKey:e,onApiKeyChange:t,validated:n,hasStoredKey:r,validating:a,saving:o,onValidate:c,onSave:l}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-end gap-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(P,{htmlFor:`deepgram-api-key`,children:`Deepgram API Key`}),n&&(0,q.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-green-600`,children:[(0,q.jsx)(k,{className:`w-3 h-3`}),`Valid`]})]}),(0,q.jsx)(s,{id:`deepgram-api-key`,type:`password`,value:e,onChange:e=>t(e.target.value),placeholder:r?`••••••••••••••••••••`:`Enter your Deepgram API key`,className:`font-mono text-sm w-[280px]`})]}),(0,q.jsx)(i,{variant:`outline`,onClick:c,disabled:a||!e,children:a?`Validating...`:`Validate`}),n&&(0,q.jsx)(i,{onClick:l,disabled:o,children:o?`Saving...`:`Save`})]})}function On({utteranceEndMs:e,bargeInSustainedMs:t,enabled:n,disabled:r,updateConfig:i}){let[a,o]=(0,K.useState)(Ae),[s,c]=(0,K.useState)(16);return(0,K.useEffect)(()=>{e!==void 0&&o(e)},[e]),(0,K.useEffect)(()=>{t!==void 0&&c(t)},[t]),(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Tn,{id:`voice-utterance-end`,label:`Stop-speaking sensitivity`,helpText:`How long a pause before voice mode decides you've finished talking.`,value:a,min:ke,max:Oe,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,q.jsx)(Tn,{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 kn(){let{data:e,isLoading:t}=h.voice.getConfig.useQuery(),n=h.useUtils(),[r,i]=(0,K.useState)(``),[a,o]=(0,K.useState)(null),s=a!==null&&a===r,[c,l]=(0,K.useState)(1);(0,K.useEffect)(()=>{e?.ttsSpeed!==void 0&&l(e.ttsSpeed)},[e?.ttsSpeed]);let u=En(r,o),d=h.voice.updateConfig.useMutation({onSuccess:e=>{n.voice.getConfig.setData(void 0,e),n.voice.getConfig.invalidate()},onError:e=>j.error(`Failed to save: ${e.message}`)});if(t)return(0,q.jsxs)(z,{children:[(0,q.jsx)(F,{children:(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(de,{className:`w-5 h-5`}),`Voice Mode`]})}),(0,q.jsx)(L,{children:(0,q.jsx)(R,{className:`h-10 w-full`})})]});let f=e?.hasApiKey??!1,p=e?.enabled??!1,m=e?.ttsModel??`aura-2-thalia-en`;return(0,q.jsxs)(z,{children:[(0,q.jsxs)(F,{children:[(0,q.jsxs)(B,{className:`flex items-center gap-2`,children:[(0,q.jsx)(de,{className:`w-5 h-5`}),`Voice Mode`]}),(0,q.jsx)(I,{children:`Talk to Claude/Codex sessions by voice using your own Deepgram API key for speech-to-text and text-to-speech.`})]}),(0,q.jsxs)(L,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,q.jsx)(P,{htmlFor:`voice-mode-enabled`,children:`Enable voice mode`}),(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:f?`Available in workspace chat`:`Requires a Deepgram API key below`})]}),(0,q.jsx)(Y,{id:`voice-mode-enabled`,checked:p,onCheckedChange:e=>d.mutate({enabled:e}),disabled:d.isPending||!f})]}),(0,q.jsx)(Dn,{apiKey:r,onApiKeyChange:e=>{i(e),o(null)},validated:s,hasStoredKey:f,validating:u.isPending,saving:d.isPending,onValidate:()=>{r&&u.mutate({apiKey:r})},onSave:()=>{r&&s&&d.mutate({enabled:p,apiKey:r},{onSuccess:()=>{i(``),o(null)}})}}),(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Create an API key at`,` `,(0,q.jsx)(`a`,{href:`https://console.deepgram.com/`,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`console.deepgram.com`})]}),(0,q.jsxs)(`div`,{className:`border-t pt-4 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(P,{htmlFor:`voice-model`,children:`Voice`}),(0,q.jsxs)(D,{value:m,onValueChange:e=>d.mutate({enabled:p,ttsModel:e}),disabled:d.isPending||!f,children:[(0,q.jsx)(T,{id:`voice-model`,className:`w-[280px]`,children:(0,q.jsx)(E,{})}),(0,q.jsx)(w,{children:A.map(e=>(0,q.jsxs)(S,{value:e.model,children:[e.name,e.description?` — ${e.description}`:``]},e.model))})]}),(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Deepgram Aura-2 English voices`})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between w-[280px]`,children:[(0,q.jsx)(P,{htmlFor:`voice-speed`,children:`Speed`}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground font-mono`,children:[c.toFixed(1),`x`]})]}),(0,q.jsx)(wn,{id:`voice-speed`,className:`w-[280px]`,value:[c],onValueChange:([e])=>l(e??1),onValueCommit:([t])=>d.mutate({enabled:p,ttsSpeed:t??1},{onError:()=>l(e?.ttsSpeed??1)}),min:te,max:re,step:.1,disabled:d.isPending||!f})]}),(0,q.jsx)(On,{utteranceEndMs:e?.utteranceEndMs,bargeInSustainedMs:e?.bargeInSustainedMs,enabled:p,disabled:d.isPending||!f,updateConfig:d})]})]})]})}function An(e){if(!e||e.length===0)return;let t=Ce();return t&&e.some(e=>e.slug===t)?t:e[0]?.slug}function jn(){be({title:`Settings`});let[e,t]=(0,K.useState)(`general`),{data:n,isLoading:r,refetch:i}=h.admin.getSystemStats.useQuery(void 0,{refetchInterval:5e3}),{data:a,isLoading:o}=h.admin.getActiveProcesses.useQuery(void 0,{refetchInterval:5e3}),{data:s}=h.project.list.useQuery(),c=h.admin.resetApiUsageStats.useMutation({onSuccess:()=>{i()}}),l=An(s);return r?(0,q.jsx)(ye,{message:`Loading settings...`}):(0,q.jsxs)(`div`,{className:`h-full overflow-y-auto`,children:[l&&(0,q.jsx)(xe,{children:(0,q.jsx)(m,{projectSlug:l})}),(0,q.jsx)(`div`,{className:`space-y-6 p-3 md:p-6`,children:(0,q.jsxs)(Ee,{value:e,onValueChange:e=>t(e),children:[(0,q.jsxs)(Te,{className:`w-full sm:w-auto`,children:[(0,q.jsx)(V,{value:`general`,className:`flex-1 sm:flex-initial`,children:`General Settings`}),(0,q.jsx)(V,{value:`project`,className:`flex-1 sm:flex-initial`,children:`Project Settings`}),(0,q.jsx)(V,{value:`periodic-tasks`,className:`flex-1 sm:flex-initial`,children:`Periodic Tasks`}),(0,q.jsx)(V,{value:`voice`,className:`flex-1 sm:flex-initial`,children:`Voice Mode`})]}),(0,q.jsxs)(we,{value:`general`,className:`space-y-6 mt-4`,children:[(0,q.jsx)(Ue,{apiUsage:n?.apiUsage,onReset:()=>c.mutate(),isResetting:c.isPending}),o?(0,q.jsx)(jt,{}):(0,q.jsx)(Mt,{processes:a}),(0,q.jsx)(z,{className:`bg-muted/50`,children:(0,q.jsx)(L,{className:`py-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-sm`,children:[(0,q.jsx)(`span`,{className:`font-medium`,children:`Environment:`}),(0,q.jsx)(N,{variant:`outline`,children:n?.environment||`unknown`})]})})}),(0,q.jsx)(ht,{}),(0,q.jsx)(Xe,{}),(0,q.jsx)(qe,{}),(0,q.jsx)(Je,{}),(0,q.jsx)(Ft,{}),(0,q.jsx)(Ke,{}),(0,q.jsx)(Ye,{}),(0,q.jsx)(It,{})]}),(0,q.jsx)(we,{value:`project`,className:`mt-4`,children:s?(0,q.jsx)(Pt,{projects:s}):(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading projects...`})}),(0,q.jsx)(we,{value:`periodic-tasks`,className:`mt-4`,children:s?(0,q.jsx)(bt,{projects:s}):(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading projects...`})}),(0,q.jsx)(we,{value:`voice`,className:`mt-4`,children:(0,q.jsx)(kn,{})})]})})]})}export{jn as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-DE3RlOCf.js";import{c as t,o as n}from"./dist-BiFeezwN.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{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-DE3RlOCf.js";import{i as r,o as i,p as a}from"./dist-BiFeezwN.js";import{S as o,_ as s,b as c,g as l,h as u,m as d,v as f,x as p,y as m}from"./radio-group-CcAx51bT.js";import{C as h,w as g}from"./dist-Dtgf0TOg.js";var _=e(t(),1),v=n(),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),[x,S]=h(`AlertDialog`,[o]),C=o(),w=b(e=>{let{__scopeAlertDialog:t,...n}=e,r=C(t);return(0,v.jsx)(d,{...r,...n,modal:!0})},`AlertDialog`);_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=C(n);return(0,v.jsx)(p,{...i,...r,ref:t})},`AlertDialogTrigger`));var T=b(e=>{let{__scopeAlertDialog:t,...n}=e,r=C(t);return(0,v.jsx)(m,{...r,...n})},`AlertDialogPortal`),E=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=C(n);return(0,v.jsx)(f,{...i,...r,ref:t})},`AlertDialogOverlay`)),[D,O]=x(`AlertDialogContent`),k=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,children:r,...i}=e,o=C(n),s=_.useRef(null),c=a(t,s),u=_.useRef(null);return(0,v.jsx)(D,{scope:n,cancelRef:u,children:(0,v.jsx)(l,{role:`alertdialog`,...o,...i,ref:c,onOpenAutoFocus:g(i.onOpenAutoFocus,e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})},`AlertDialogContent`)),A=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=C(n);return(0,v.jsx)(c,{...i,...r,ref:t})},`AlertDialogTitle`)),j=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=C(n);return(0,v.jsx)(s,{...i,...r,ref:t})},`AlertDialogDescription`)),M=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=C(n);return(0,v.jsx)(u,{...i,...r,ref:t})},`AlertDialogAction`)),N=`AlertDialogCancel`,P=_.forwardRef(b(function(e,t){let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=O(N,n),o=C(n),s=a(t,i);return(0,v.jsx)(u,{...o,...r,ref:s})},`AlertDialogCancel`)),F=w,I=T,L=E,R=k,z=M,B=P,V=A,H=j;function U({...e}){return(0,v.jsx)(F,{"data-slot":`alert-dialog`,...e})}function W({...e}){return(0,v.jsx)(I,{"data-slot":`alert-dialog-portal`,...e})}function G({className:e,...t}){return(0,v.jsx)(L,{"data-slot":`alert-dialog-overlay`,className:i(`fixed inset-0 z-50 bg-black/50 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function K({className:e,size:t=`default`,...n}){return(0,v.jsxs)(W,{children:[(0,v.jsx)(G,{}),(0,v.jsx)(R,{"data-slot":`alert-dialog-content`,"data-size":t,className:i(`group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-sm duration-200 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg`,e),...n})]})}function q({className:e,...t}){return(0,v.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:i(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function J({className:e,...t}){return(0,v.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:i(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function Y({className:e,...t}){return(0,v.jsx)(V,{"data-slot":`alert-dialog-title`,className:i(`text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function X({className:e,...t}){return(0,v.jsx)(H,{"data-slot":`alert-dialog-description`,className:i(`text-sm text-muted-foreground`,e),...t})}function Z({className:e,variant:t=`default`,size:n=`default`,...i}){return(0,v.jsx)(r,{variant:t,size:n,className:e,asChild:!0,children:(0,v.jsx)(z,{"data-slot":`alert-dialog-action`,...i})})}function Q({className:e,variant:t=`outline`,size:n=`default`,...i}){return(0,v.jsx)(r,{variant:t,size:n,className:e,asChild:!0,children:(0,v.jsx)(B,{"data-slot":`alert-dialog-cancel`,...i})})}export{X as a,Y as c,K as i,Z as n,J as o,Q as r,q as s,U as t};
@@ -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-v5Q1xZ2K.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-FOHPRMQF-CoA4358r.js";import{M as e}from"./mermaid-parser.core-DK0kgowR.js";export{e as createArchitectureServices};