factory-factory 0.4.6 → 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 (1386) 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-Ca82Rzl0.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 +4 -4
  174. package/dist/src/backend/app-context.js.map +1 -1
  175. package/dist/src/backend/app-context.test.js +6 -1
  176. package/dist/src/backend/app-context.test.js.map +1 -1
  177. package/dist/src/backend/clients/git.client.d.ts +0 -8
  178. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  179. package/dist/src/backend/clients/git.client.js +2 -72
  180. package/dist/src/backend/clients/git.client.js.map +1 -1
  181. package/dist/src/backend/clients/git.client.test.js +2 -178
  182. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  183. package/dist/src/backend/constants/http.d.ts.map +1 -1
  184. package/dist/src/backend/constants/websocket.d.ts.map +1 -1
  185. package/dist/src/backend/interceptors/auto-branch-rename.d.ts +1 -1
  186. package/dist/src/backend/interceptors/auto-branch-rename.d.ts.map +1 -1
  187. package/dist/src/backend/interceptors/auto-branch-rename.js +3 -3
  188. package/dist/src/backend/interceptors/branch-naming.interceptor.js +4 -4
  189. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +17 -19
  190. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -1
  191. package/dist/src/backend/interceptors/branch-rename.utils.d.ts +1 -1
  192. package/dist/src/backend/interceptors/branch-rename.utils.js +1 -1
  193. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +6 -6
  194. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js +7 -7
  195. package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js.map +1 -1
  196. package/dist/src/backend/interceptors/pr-detection.interceptor.js +3 -3
  197. package/dist/src/backend/interceptors/registry.d.ts.map +1 -1
  198. package/dist/src/backend/interceptors/registry.js +1 -1
  199. package/dist/src/backend/lib/application-error.d.ts.map +1 -1
  200. package/dist/src/backend/lib/application-error.js.map +1 -1
  201. package/dist/src/backend/lib/atomic-file.js.map +1 -1
  202. package/dist/src/backend/lib/constants.d.ts.map +1 -1
  203. package/dist/src/backend/lib/env.js.map +1 -1
  204. package/dist/src/backend/lib/file-helpers.d.ts +0 -1
  205. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  206. package/dist/src/backend/lib/file-helpers.js +0 -27
  207. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  208. package/dist/src/backend/lib/file-lock-mutex.d.ts.map +1 -1
  209. package/dist/src/backend/lib/file-lock-mutex.js +1 -1
  210. package/dist/src/backend/lib/file-lock-mutex.js.map +1 -1
  211. package/dist/src/backend/lib/file-preview.d.ts +6 -0
  212. package/dist/src/backend/lib/file-preview.d.ts.map +1 -0
  213. package/dist/src/backend/lib/file-preview.js +34 -0
  214. package/dist/src/backend/lib/file-preview.js.map +1 -0
  215. package/dist/src/backend/lib/git-status-parser.test.js +1 -1
  216. package/dist/src/backend/lib/request-trust.js.map +1 -1
  217. package/dist/src/backend/lib/shell.d.ts +0 -4
  218. package/dist/src/backend/lib/shell.d.ts.map +1 -1
  219. package/dist/src/backend/lib/shell.js +0 -25
  220. package/dist/src/backend/lib/shell.js.map +1 -1
  221. package/dist/src/backend/lib/topic-broadcaster.d.ts.map +1 -1
  222. package/dist/src/backend/lib/topic-broadcaster.js.map +1 -1
  223. package/dist/src/backend/lib/topic-broadcaster.test.js +1 -1
  224. package/dist/src/backend/lib/websocket-send.js +1 -1
  225. package/dist/src/backend/lib/websocket-send.test.js +1 -1
  226. package/dist/src/backend/lib/websocket-send.test.js.map +1 -1
  227. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  228. package/dist/src/backend/middleware/cors.middleware.d.ts +1 -1
  229. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  230. package/dist/src/backend/middleware/cors.middleware.js +1 -1
  231. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  232. package/dist/src/backend/middleware/request-logger.middleware.d.ts +1 -1
  233. package/dist/src/backend/middleware/request-logger.middleware.d.ts.map +1 -1
  234. package/dist/src/backend/migrate.js.map +1 -1
  235. package/dist/src/backend/orchestration/cli-health.service.d.ts +1 -1
  236. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  237. package/dist/src/backend/orchestration/cli-health.service.js +4 -4
  238. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  239. package/dist/src/backend/orchestration/data-backup.service.js +2 -2
  240. package/dist/src/backend/orchestration/data-backup.service.test.js +1 -1
  241. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +9 -9
  242. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +2 -2
  243. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +9 -9
  244. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  245. package/dist/src/backend/orchestration/event-coalescer.integration.test.js +1 -1
  246. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js +6 -6
  247. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +11 -11
  248. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  249. package/dist/src/backend/orchestration/event-collector.orchestrator.js +23 -133
  250. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  251. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +39 -121
  252. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  253. package/dist/src/backend/orchestration/health.service.d.ts.map +1 -1
  254. package/dist/src/backend/orchestration/health.service.js +1 -1
  255. package/dist/src/backend/orchestration/linear-config.helper.js +2 -2
  256. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts +24 -0
  257. package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts.map +1 -0
  258. package/dist/src/backend/orchestration/ratchet-projection.worker.js +128 -0
  259. package/dist/src/backend/orchestration/ratchet-projection.worker.js.map +1 -0
  260. package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts +2 -0
  261. package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts.map +1 -0
  262. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js +174 -0
  263. package/dist/src/backend/orchestration/ratchet-projection.worker.test.js.map +1 -0
  264. package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
  265. package/dist/src/backend/orchestration/reconciliation.service.js +5 -5
  266. package/dist/src/backend/orchestration/reconciliation.service.test.js +2 -2
  267. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  268. package/dist/src/backend/orchestration/scheduler.service.js +7 -7
  269. package/dist/src/backend/orchestration/scheduler.service.test.js +1 -1
  270. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +7 -6
  271. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  272. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +108 -80
  273. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  274. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +6 -6
  275. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  276. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts +2 -0
  277. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts.map +1 -0
  278. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js +206 -0
  279. package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js.map +1 -0
  280. package/dist/src/backend/orchestration/types.d.ts +1 -1
  281. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +4 -4
  282. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +3 -3
  283. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  284. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +2 -2
  285. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  286. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +5 -5
  287. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js +2 -2
  288. package/dist/src/backend/orchestration/workspace-init-github-username-cache.d.ts.map +1 -1
  289. package/dist/src/backend/orchestration/workspace-init-github-username-cache.js +1 -1
  290. package/dist/src/backend/orchestration/workspace-init-github-username-cache.js.map +1 -1
  291. package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts +1 -1
  292. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +3 -3
  293. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js +3 -3
  294. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js.map +1 -1
  295. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +1 -1
  296. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +3 -3
  297. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +9 -9
  298. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +5 -5
  299. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js +2 -2
  300. package/dist/src/backend/prompts/markdown-loader.d.ts.map +1 -1
  301. package/dist/src/backend/prompts/quick-actions.js +1 -1
  302. package/dist/src/backend/prompts/quick-actions.js.map +1 -1
  303. package/dist/src/backend/prompts/ratchet-dispatch.js +1 -1
  304. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  305. package/dist/src/backend/prompts/workflows.js +1 -1
  306. package/dist/src/backend/prompts/workflows.js.map +1 -1
  307. package/dist/src/backend/routers/health.router.d.ts +1 -1
  308. package/dist/src/backend/routers/health.router.js +2 -2
  309. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts +1 -1
  310. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts.map +1 -1
  311. package/dist/src/backend/routers/websocket/chat-connection-registry.js +3 -3
  312. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js +2 -2
  313. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js.map +1 -1
  314. package/dist/src/backend/routers/websocket/chat.handler.d.ts +2 -2
  315. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  316. package/dist/src/backend/routers/websocket/chat.handler.js +4 -20
  317. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  318. package/dist/src/backend/routers/websocket/chat.handler.test.js +4 -10
  319. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  320. package/dist/src/backend/routers/websocket/context-injection.test.js +8 -8
  321. package/dist/src/backend/routers/websocket/context-injection.test.js.map +1 -1
  322. package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.js +2 -2
  323. package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.js +1 -1
  324. package/dist/src/backend/routers/websocket/log-stream.handler.d.ts +2 -2
  325. package/dist/src/backend/routers/websocket/log-stream.handler.js +1 -1
  326. package/dist/src/backend/routers/websocket/message-utils.js +1 -1
  327. package/dist/src/backend/routers/websocket/message-utils.test.js +1 -1
  328. package/dist/src/backend/routers/websocket/push-channel.handler.d.ts +2 -2
  329. package/dist/src/backend/routers/websocket/push-channel.handler.js +1 -1
  330. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts +1 -1
  331. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +4 -4
  332. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  333. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +2 -2
  334. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts +2 -2
  335. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  336. package/dist/src/backend/routers/websocket/snapshots.handler.js +5 -5
  337. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  338. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +6 -6
  339. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  340. package/dist/src/backend/routers/websocket/terminal.handler.d.ts +2 -2
  341. package/dist/src/backend/routers/websocket/terminal.handler.js +5 -5
  342. package/dist/src/backend/routers/websocket/terminal.handler.test.js +4 -4
  343. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  344. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +1 -1
  345. package/dist/src/backend/routers/websocket/upgrade-utils.js +2 -2
  346. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
  347. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.d.ts +1 -1
  348. package/dist/src/backend/routers/websocket/voice.handler.d.ts +1 -1
  349. package/dist/src/backend/routers/websocket/voice.handler.js +1 -1
  350. package/dist/src/backend/routers/websocket/websocket.integration.test.js +4 -8
  351. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  352. package/dist/src/backend/server.d.ts.map +1 -1
  353. package/dist/src/backend/server.js +2 -2
  354. package/dist/src/backend/server.js.map +1 -1
  355. package/dist/src/backend/server.upgrade.test.js +10 -4
  356. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  357. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +1 -1
  358. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  359. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  360. package/dist/src/backend/services/auto-iteration/service/git-ops.js +1 -1
  361. package/dist/src/backend/services/auto-iteration/service/index.js +1 -1
  362. package/dist/src/backend/services/auto-iteration/service/insights.service.d.ts.map +1 -1
  363. package/dist/src/backend/services/auto-iteration/service/logbook.service.d.ts.map +1 -1
  364. package/dist/src/backend/services/check-service-accessor-boundaries.test.js +10 -14
  365. package/dist/src/backend/services/check-service-accessor-boundaries.test.js.map +1 -1
  366. package/dist/src/backend/services/check-single-writer.test.js +9 -12
  367. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  368. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  369. package/dist/src/backend/services/config.service.js +1 -1
  370. package/dist/src/backend/services/constants.d.ts +1 -0
  371. package/dist/src/backend/services/constants.d.ts.map +1 -1
  372. package/dist/src/backend/services/constants.js +1 -0
  373. package/dist/src/backend/services/constants.js.map +1 -1
  374. package/dist/src/backend/services/crypto.service.d.ts.map +1 -1
  375. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts +0 -2
  376. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
  377. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +1 -7
  378. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js.map +1 -1
  379. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.js +1 -1
  380. package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts.map +1 -1
  381. package/dist/src/backend/services/decision-log/service/decision-log.service.js +1 -1
  382. package/dist/src/backend/services/env-schemas.d.ts +53 -53
  383. package/dist/src/backend/services/github/service/github-cli/constants.d.ts.map +1 -1
  384. package/dist/src/backend/services/github/service/github-cli/errors.js +2 -2
  385. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +13 -36
  386. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  387. package/dist/src/backend/services/github/service/github-cli/schemas.js +0 -18
  388. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  389. package/dist/src/backend/services/github/service/github-cli/utils.js +1 -1
  390. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts +2 -0
  391. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts.map +1 -0
  392. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js +58 -0
  393. package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js.map +1 -0
  394. package/dist/src/backend/services/github/service/github-cli.service.d.ts +0 -2
  395. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  396. package/dist/src/backend/services/github/service/github-cli.service.js +4 -41
  397. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  398. package/dist/src/backend/services/github/service/github-cli.service.test.js +3 -13
  399. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  400. package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts.map +1 -1
  401. package/dist/src/backend/services/github/service/pr-fetch-coordinator.js +1 -1
  402. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +2 -2
  403. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
  404. package/dist/src/backend/services/github/service/pr-snapshot.service.js +2 -2
  405. package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
  406. package/dist/src/backend/services/job-runner.service.d.ts.map +1 -1
  407. package/dist/src/backend/services/job-runner.service.js +1 -1
  408. package/dist/src/backend/services/job-runner.service.js.map +1 -1
  409. package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
  410. package/dist/src/backend/services/linear/service/linear-client.service.js +1 -1
  411. package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts +2 -0
  412. package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts.map +1 -0
  413. package/dist/src/backend/services/linear/service/linear-client.transport.test.js +64 -0
  414. package/dist/src/backend/services/linear/service/linear-client.transport.test.js.map +1 -0
  415. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts.map +1 -1
  416. package/dist/src/backend/services/linear/service/linear-state-sync.service.js +1 -1
  417. package/dist/src/backend/services/logger.service.d.ts.map +1 -1
  418. package/dist/src/backend/services/logger.service.js +1 -1
  419. package/dist/src/backend/services/notification.service.d.ts.map +1 -1
  420. package/dist/src/backend/services/notification.service.js +2 -2
  421. package/dist/src/backend/services/notification.service.js.map +1 -1
  422. package/dist/src/backend/services/periodic-task/index.js +1 -1
  423. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +1 -1
  424. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  425. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +23 -23
  426. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
  427. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +4 -4
  428. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
  429. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -1
  430. package/dist/src/backend/services/port.service.test.js +1 -3
  431. package/dist/src/backend/services/port.service.test.js.map +1 -1
  432. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +1 -1
  433. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +3 -3
  434. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +2 -2
  435. package/dist/src/backend/services/ratchet/service/provider-selection.js +1 -1
  436. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +1 -1
  437. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +1 -1
  438. package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +1 -1
  439. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +5 -5
  440. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +1 -1
  441. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  442. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +2 -2
  443. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  444. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts.map +1 -1
  445. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js +2 -2
  446. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js +2 -2
  447. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +1 -1
  448. package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +1 -1
  449. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +3 -3
  450. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  451. package/dist/src/backend/services/ratchet/service/ratchet.service.js +7 -7
  452. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  453. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +3 -3
  454. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +1 -1
  455. package/dist/src/backend/services/rate-limit-backoff.d.ts.map +1 -1
  456. package/dist/src/backend/services/rate-limit-backoff.js +1 -1
  457. package/dist/src/backend/services/rate-limiter.service.d.ts.map +1 -1
  458. package/dist/src/backend/services/rate-limiter.service.js.map +1 -1
  459. package/dist/src/backend/services/registry.d.ts +24 -24
  460. package/dist/src/backend/services/registry.d.ts.map +1 -1
  461. package/dist/src/backend/services/resources.integration.test.js +1 -1
  462. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  463. package/dist/src/backend/services/run-script/service/factory-config.service.d.ts.map +1 -1
  464. package/dist/src/backend/services/run-script/service/factory-config.service.js.map +1 -1
  465. package/dist/src/backend/services/run-script/service/port-allocation.service.d.ts.map +1 -1
  466. package/dist/src/backend/services/run-script/service/port-allocation.service.js.map +1 -1
  467. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.d.ts.map +1 -1
  468. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.js +2 -2
  469. package/dist/src/backend/services/run-script/service/run-script-output-buffer.d.ts.map +1 -1
  470. package/dist/src/backend/services/run-script/service/run-script-output-buffer.js.map +1 -1
  471. package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts +1 -1
  472. package/dist/src/backend/services/run-script/service/run-script-process-utils.js +1 -1
  473. package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts.map +1 -1
  474. package/dist/src/backend/services/run-script/service/run-script-proxy.service.js +2 -2
  475. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js +1 -1
  476. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js.map +1 -1
  477. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts +2 -2
  478. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts.map +1 -1
  479. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js +2 -2
  480. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js.map +1 -1
  481. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  482. package/dist/src/backend/services/run-script/service/run-script.service.js +3 -3
  483. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  484. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  485. package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts +2 -0
  486. package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts.map +1 -0
  487. package/dist/src/backend/services/run-script/service/startup-script.integration.test.js +63 -0
  488. package/dist/src/backend/services/run-script/service/startup-script.integration.test.js.map +1 -0
  489. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  490. package/dist/src/backend/services/run-script/service/startup-script.service.js +38 -14
  491. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  492. package/dist/src/backend/services/run-script/service/startup-script.service.test.js +52 -2
  493. package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
  494. package/dist/src/backend/services/server-instance.service.d.ts +1 -1
  495. package/dist/src/backend/services/server-instance.service.d.ts.map +1 -1
  496. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +0 -1
  497. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  498. package/dist/src/backend/services/session/resources/agent-session.accessor.js +2 -10
  499. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  500. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +0 -10
  501. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  502. package/dist/src/backend/services/session/resources/closed-session.accessor.d.ts.map +1 -1
  503. package/dist/src/backend/services/session/resources/closed-session.accessor.js +1 -1
  504. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.d.ts.map +1 -1
  505. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.js +1 -1
  506. package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.test.js +1 -1
  507. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts +33 -0
  508. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -0
  509. package/dist/src/backend/services/session/service/acp/acp-client-factory.js +275 -0
  510. package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -0
  511. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts +2 -0
  512. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts.map +1 -0
  513. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +449 -0
  514. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -0
  515. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  516. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +18 -1
  517. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  518. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +171 -0
  519. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  520. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +2 -1
  521. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
  522. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +15 -5
  523. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
  524. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js +12 -10
  525. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js.map +1 -1
  526. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts +3 -0
  527. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts.map +1 -1
  528. package/dist/src/backend/services/session/service/acp/acp-process-handle.js +2 -0
  529. package/dist/src/backend/services/session/service/acp/acp-process-handle.js.map +1 -1
  530. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js +17 -0
  531. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js.map +1 -1
  532. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts +17 -0
  533. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts.map +1 -0
  534. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js +97 -0
  535. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js.map +1 -0
  536. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts +2 -0
  537. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts.map +1 -0
  538. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js +193 -0
  539. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js.map +1 -0
  540. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts +8 -0
  541. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts.map +1 -0
  542. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js +53 -0
  543. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js.map +1 -0
  544. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts +2 -0
  545. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts.map +1 -0
  546. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js +157 -0
  547. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js.map +1 -0
  548. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts +25 -0
  549. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts.map +1 -0
  550. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js +2 -0
  551. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js.map +1 -0
  552. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts +5 -0
  553. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts.map +1 -0
  554. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js +34 -0
  555. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js.map +1 -0
  556. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts +20 -0
  557. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts.map +1 -0
  558. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js +68 -0
  559. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js.map +1 -0
  560. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts +2 -0
  561. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts.map +1 -0
  562. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js +17 -0
  563. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js.map +1 -0
  564. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +28 -1
  565. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
  566. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts +5 -0
  567. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts.map +1 -0
  568. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js +30 -0
  569. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js.map +1 -0
  570. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts +2 -0
  571. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts.map +1 -0
  572. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js +310 -0
  573. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js.map +1 -0
  574. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts +2 -0
  575. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts.map +1 -0
  576. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js +148 -0
  577. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js.map +1 -0
  578. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts +2 -0
  579. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts.map +1 -0
  580. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js +401 -0
  581. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js.map +1 -0
  582. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +18 -68
  583. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  584. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts +2 -0
  585. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts.map +1 -0
  586. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js +59 -0
  587. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js.map +1 -0
  588. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +65 -993
  589. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  590. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js +2 -2
  591. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js.map +1 -1
  592. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts +2 -0
  593. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts.map +1 -0
  594. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js +185 -0
  595. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js.map +1 -0
  596. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts +2 -0
  597. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts.map +1 -0
  598. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js +57 -0
  599. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js.map +1 -0
  600. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts +2 -0
  601. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts.map +1 -0
  602. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js +391 -0
  603. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js.map +1 -0
  604. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts +26 -0
  605. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts.map +1 -0
  606. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js +92 -0
  607. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js.map +1 -0
  608. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +59 -0
  609. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -0
  610. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +142 -0
  611. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -0
  612. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts +21 -0
  613. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts.map +1 -0
  614. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +112 -0
  615. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -0
  616. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts +2 -0
  617. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts.map +1 -0
  618. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js +142 -0
  619. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js.map +1 -0
  620. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js +1 -1
  621. package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js.map +1 -1
  622. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts +2 -0
  623. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts.map +1 -0
  624. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +331 -0
  625. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -0
  626. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts +85 -0
  627. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -0
  628. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +634 -0
  629. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -0
  630. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts +2 -0
  631. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts.map +1 -0
  632. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js +99 -0
  633. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js.map +1 -0
  634. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts +2 -0
  635. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts.map +1 -0
  636. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js +517 -0
  637. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js.map +1 -0
  638. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts +10 -2
  639. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts.map +1 -1
  640. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js +7 -4
  641. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js.map +1 -1
  642. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js +20 -2
  643. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js.map +1 -1
  644. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js +24 -2
  645. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js.map +1 -1
  646. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts +9 -0
  647. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts.map +1 -0
  648. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js +96 -0
  649. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js.map +1 -0
  650. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts +2 -0
  651. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts.map +1 -0
  652. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js +171 -0
  653. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js.map +1 -0
  654. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js.map +1 -1
  655. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.js.map +1 -1
  656. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.js +1 -1
  657. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts +1 -1
  658. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts.map +1 -1
  659. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js +4 -0
  660. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js.map +1 -1
  661. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts +2 -0
  662. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts.map +1 -0
  663. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js +8 -0
  664. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js.map +1 -0
  665. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +1 -1
  666. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  667. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +39 -36
  668. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  669. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.d.ts +2 -0
  670. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.d.ts.map +1 -0
  671. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js +353 -0
  672. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js.map +1 -0
  673. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +34 -16
  674. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  675. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts +7 -0
  676. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -0
  677. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +98 -0
  678. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -0
  679. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts +2 -0
  680. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts.map +1 -0
  681. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js +148 -0
  682. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js.map +1 -0
  683. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
  684. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.d.ts.map +1 -1
  685. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.js.map +1 -1
  686. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.js.map +1 -1
  687. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js +10 -0
  688. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js.map +1 -1
  689. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts +80 -8
  690. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -1
  691. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js +46 -1
  692. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js.map +1 -1
  693. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js +36 -0
  694. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
  695. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
  696. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.d.ts.map +1 -1
  697. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js +1 -3
  698. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js.map +1 -1
  699. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts +2 -0
  700. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts.map +1 -0
  701. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js +31 -0
  702. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js.map +1 -0
  703. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-state-container.d.ts.map +1 -1
  704. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/shape-drift-reporter.d.ts.map +1 -1
  705. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts +2 -0
  706. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts.map +1 -0
  707. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js +181 -0
  708. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js.map +1 -0
  709. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +15 -1
  710. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
  711. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +197 -29
  712. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
  713. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js +348 -19
  714. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js.map +1 -1
  715. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts +8 -0
  716. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts.map +1 -0
  717. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js +9 -0
  718. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js.map +1 -0
  719. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
  720. package/dist/src/backend/services/session/service/acp/index.d.ts +2 -2
  721. package/dist/src/backend/services/session/service/acp/index.d.ts.map +1 -1
  722. package/dist/src/backend/services/session/service/acp/index.js +1 -0
  723. package/dist/src/backend/services/session/service/acp/index.js.map +1 -1
  724. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts +1 -1
  725. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts.map +1 -1
  726. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js +6 -6
  727. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.js.map +1 -1
  728. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.d.ts.map +1 -1
  729. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.js +1 -1
  730. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js +1 -1
  731. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js.map +1 -1
  732. package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.test.js.map +1 -1
  733. package/dist/src/backend/services/session/service/chat/chat-message-handlers/constants.js +1 -1
  734. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts +1 -1
  735. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  736. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +16 -8
  737. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  738. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts +2 -0
  739. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts.map +1 -0
  740. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js +195 -0
  741. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js.map +1 -0
  742. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +2 -27
  743. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  744. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.d.ts +1 -1
  745. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.js +2 -2
  746. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts +1 -1
  747. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +3 -3
  748. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +0 -6
  749. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  750. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.d.ts +1 -1
  751. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.js +3 -3
  752. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.d.ts +1 -1
  753. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.d.ts +1 -1
  754. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +4 -4
  755. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js.map +1 -1
  756. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js +1 -1
  757. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js.map +1 -1
  758. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.d.ts +1 -1
  759. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.js +2 -2
  760. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.d.ts +1 -1
  761. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +3 -3
  762. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js.map +1 -1
  763. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js +1 -1
  764. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js.map +1 -1
  765. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts +4 -2
  766. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts.map +1 -1
  767. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +5 -10
  768. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
  769. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +10 -15
  770. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  771. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.d.ts +1 -1
  772. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +2 -2
  773. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js.map +1 -1
  774. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +1 -3
  775. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  776. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.d.ts +1 -1
  777. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js +1 -1
  778. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/utils.js +1 -1
  779. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.d.ts.map +1 -1
  780. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js +3 -2
  781. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js.map +1 -1
  782. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +24 -8
  783. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  784. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts +3 -3
  785. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts.map +1 -1
  786. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +15 -16
  787. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  788. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +62 -120
  789. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  790. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +51 -220
  791. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  792. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.d.ts.map +1 -1
  793. package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +2 -2
  794. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +5 -7
  795. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  796. package/dist/src/backend/services/session/service/data/session-data.service.js +2 -8
  797. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  798. package/dist/src/backend/services/session/service/data/session-data.service.test.js +1 -7
  799. package/dist/src/backend/services/session/service/data/session-data.service.test.js.map +1 -1
  800. package/dist/src/backend/services/session/service/data/session-history-loader.service.d.ts.map +1 -1
  801. package/dist/src/backend/services/session/service/data/session-history-loader.service.js +3 -3
  802. package/dist/src/backend/services/session/service/data/session-history-loader.service.test.js +1 -1
  803. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.d.ts.map +1 -1
  804. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.js +4 -4
  805. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +2 -2
  806. package/dist/src/backend/services/session/service/index.d.ts +6 -6
  807. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  808. package/dist/src/backend/services/session/service/index.js +4 -3
  809. package/dist/src/backend/services/session/service/index.js.map +1 -1
  810. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts +47 -0
  811. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts.map +1 -0
  812. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js +59 -0
  813. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js.map +1 -0
  814. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts +2 -0
  815. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts.map +1 -0
  816. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js +82 -0
  817. package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js.map +1 -0
  818. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -2
  819. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  820. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +16 -7
  821. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  822. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.js.map +1 -1
  823. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js +47 -0
  824. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js.map +1 -1
  825. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js +2 -6
  826. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js.map +1 -1
  827. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +1 -1
  828. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
  829. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.d.ts.map +1 -1
  830. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.js +3 -3
  831. package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.test.js +2 -2
  832. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts +13 -0
  833. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts.map +1 -0
  834. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js +25 -0
  835. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js.map +1 -0
  836. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts +2 -0
  837. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts.map +1 -0
  838. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js +111 -0
  839. package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js.map +1 -0
  840. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.d.ts.map +1 -1
  841. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js +3 -0
  842. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js.map +1 -1
  843. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts +2 -0
  844. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts.map +1 -0
  845. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js +8 -0
  846. package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js.map +1 -0
  847. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +33 -0
  848. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -0
  849. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +120 -0
  850. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -0
  851. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts +2 -0
  852. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts.map +1 -0
  853. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +174 -0
  854. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -0
  855. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +25 -0
  856. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -0
  857. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +155 -0
  858. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -0
  859. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts +2 -2
  860. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts.map +1 -1
  861. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js +2 -2
  862. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js.map +1 -1
  863. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.test.js +2 -2
  864. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts +5 -0
  865. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -0
  866. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +38 -0
  867. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -0
  868. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts +2 -0
  869. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts.map +1 -0
  870. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +47 -0
  871. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -0
  872. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +35 -0
  873. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -0
  874. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +120 -0
  875. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -0
  876. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts +2 -0
  877. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts.map +1 -0
  878. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js +192 -0
  879. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js.map +1 -0
  880. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +115 -0
  881. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -0
  882. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +434 -0
  883. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -0
  884. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts +13 -0
  885. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts.map +1 -0
  886. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js +2 -0
  887. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js.map +1 -0
  888. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts +81 -0
  889. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -0
  890. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +242 -0
  891. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js.map +1 -0
  892. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts +2 -0
  893. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts.map +1 -0
  894. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js +528 -0
  895. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -0
  896. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts +2 -2
  897. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.js +1 -1
  898. package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.js +6 -6
  899. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +38 -0
  900. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -0
  901. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +189 -0
  902. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -0
  903. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts +2 -0
  904. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts.map +1 -0
  905. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +282 -0
  906. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -0
  907. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts +2 -0
  908. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts.map +1 -0
  909. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +105 -0
  910. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -0
  911. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +5 -17
  912. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
  913. package/dist/src/backend/services/session/service/lifecycle/session-services.js +14 -87
  914. package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
  915. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +64 -0
  916. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -0
  917. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +351 -0
  918. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -0
  919. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts +2 -0
  920. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts.map +1 -0
  921. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +702 -0
  922. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js.map +1 -0
  923. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +54 -0
  924. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -0
  925. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +265 -0
  926. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -0
  927. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts +2 -0
  928. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts.map +1 -0
  929. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +514 -0
  930. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js.map +1 -0
  931. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +62 -0
  932. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -0
  933. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +175 -0
  934. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -0
  935. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts +2 -0
  936. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts.map +1 -0
  937. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js +294 -0
  938. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -0
  939. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts +2 -0
  940. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts.map +1 -0
  941. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js +92 -0
  942. package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js.map +1 -0
  943. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts +2 -0
  944. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts.map +1 -0
  945. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js +41 -0
  946. package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js.map +1 -0
  947. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +6 -7
  948. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  949. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +23 -79
  950. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  951. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +10 -12
  952. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  953. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts +2 -0
  954. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts.map +1 -0
  955. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +431 -0
  956. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -0
  957. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +28 -120
  958. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  959. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +47 -1168
  960. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  961. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +2 -2
  962. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  963. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +6 -3
  964. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  965. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +21 -0
  966. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  967. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  968. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +2 -2
  969. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  970. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +2 -2
  971. package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.d.ts.map +1 -1
  972. package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.js +1 -1
  973. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +13 -8
  974. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js.map +1 -1
  975. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +1 -1
  976. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  977. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +2 -2
  978. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  979. package/dist/src/backend/services/session/service/lifecycle/session.retry.service.d.ts.map +1 -1
  980. package/dist/src/backend/services/session/service/lifecycle/session.retry.service.js +1 -1
  981. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +6 -9
  982. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  983. package/dist/src/backend/services/session/service/lifecycle/session.service.js +11 -14
  984. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  985. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +71 -55
  986. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  987. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.d.ts.map +1 -1
  988. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.js +2 -2
  989. package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.test.js +1 -1
  990. package/dist/src/backend/services/session/service/logging/session-file-logger.service.d.ts.map +1 -1
  991. package/dist/src/backend/services/session/service/logging/session-file-logger.service.js +2 -2
  992. package/dist/src/backend/services/session/service/logging/session-file-logger.service.js.map +1 -1
  993. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  994. package/dist/src/backend/services/session/service/session-domain.service.js +1 -1
  995. package/dist/src/backend/services/session/service/session-domain.service.test.js +2 -2
  996. package/dist/src/backend/services/session/service/session-event-bus.d.ts.map +1 -1
  997. package/dist/src/backend/services/session/service/store/session-lifecycle-transcript.d.ts +1 -1
  998. package/dist/src/backend/services/session/service/store/session-publisher.d.ts.map +1 -1
  999. package/dist/src/backend/services/session/service/store/session-publisher.js +2 -2
  1000. package/dist/src/backend/services/session/service/store/session-queue.js +1 -1
  1001. package/dist/src/backend/services/session/service/store/session-queue.test.js +1 -1
  1002. package/dist/src/backend/services/session/service/store/session-runtime-machine.d.ts.map +1 -1
  1003. package/dist/src/backend/services/session/service/store/session-runtime-machine.js.map +1 -1
  1004. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
  1005. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts +3 -0
  1006. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts.map +1 -0
  1007. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js +94 -0
  1008. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js.map +1 -0
  1009. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts +2 -0
  1010. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts.map +1 -0
  1011. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js +92 -0
  1012. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js.map +1 -0
  1013. package/dist/src/backend/services/session/service/store/session-transcript.js +2 -2
  1014. package/dist/src/backend/services/session/service/store/session-transcript.js.map +1 -1
  1015. package/dist/src/backend/services/session/service/store/slash-command-cache.service.d.ts.map +1 -1
  1016. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js +2 -2
  1017. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js +1 -1
  1018. package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.js.map +1 -1
  1019. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -1
  1020. package/dist/src/backend/services/session/service/voice/voice-narration.service.js +6 -6
  1021. package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -1
  1022. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +1 -1
  1023. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -1
  1024. package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts.map +1 -1
  1025. package/dist/src/backend/services/settings/resources/data-backup.accessor.js +1 -1
  1026. package/dist/src/backend/services/settings/resources/health.accessor.d.ts.map +1 -1
  1027. package/dist/src/backend/services/settings/resources/health.accessor.js +1 -1
  1028. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  1029. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +2 -2
  1030. package/dist/src/backend/services/settings/service/health.service.d.ts.map +1 -1
  1031. package/dist/src/backend/services/settings/service/health.service.js +1 -1
  1032. package/dist/src/backend/services/settings/service/settings-domain-exports.test.js +1 -1
  1033. package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -1
  1034. package/dist/src/backend/services/settings/service/user-settings.service.js +1 -1
  1035. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.d.ts.map +1 -1
  1036. package/dist/src/backend/services/terminal/resources/terminal-session.accessor.js +1 -1
  1037. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +7 -7
  1038. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -1
  1039. package/dist/src/backend/services/terminal/service/terminal-session.service.js +2 -2
  1040. package/dist/src/backend/services/terminal/service/terminal-session.service.test.js +1 -1
  1041. package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
  1042. package/dist/src/backend/services/terminal/service/terminal.service.js +2 -2
  1043. package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
  1044. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +3 -4
  1045. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  1046. package/dist/src/backend/services/workspace/resources/project.accessor.js +2 -15
  1047. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  1048. package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.d.ts.map +1 -1
  1049. package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.js +1 -1
  1050. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.d.ts.map +1 -1
  1051. package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.js +1 -1
  1052. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts +1 -1
  1053. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts.map +1 -1
  1054. package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js +1 -1
  1055. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts.map +1 -1
  1056. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js +2 -2
  1057. package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js.map +1 -1
  1058. package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.d.ts.map +1 -1
  1059. package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.js +1 -1
  1060. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +5 -6
  1061. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  1062. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +5 -15
  1063. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  1064. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +3 -8
  1065. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  1066. package/dist/src/backend/services/workspace/service/index.d.ts +9 -10
  1067. package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
  1068. package/dist/src/backend/services/workspace/service/index.js +5 -5
  1069. package/dist/src/backend/services/workspace/service/index.js.map +1 -1
  1070. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +1 -0
  1071. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
  1072. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +24 -9
  1073. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
  1074. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +140 -2
  1075. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
  1076. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +3 -3
  1077. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
  1078. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +6 -6
  1079. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
  1080. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +6 -6
  1081. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +119 -119
  1082. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  1083. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +3 -3
  1084. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts +1 -1
  1085. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  1086. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +2 -2
  1087. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  1088. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts +2 -2
  1089. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts.map +1 -1
  1090. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js +1 -1
  1091. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +5 -5
  1092. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -1
  1093. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +2 -2
  1094. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +2 -2
  1095. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +1 -1
  1096. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +1 -1
  1097. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +76 -76
  1098. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -1
  1099. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.js +1 -1
  1100. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +2 -2
  1101. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -1
  1102. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js +1 -1
  1103. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +2 -2
  1104. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.js.map +1 -1
  1105. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +16 -16
  1106. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  1107. package/dist/src/backend/services/workspace/service/query/project-management.service.js +1 -1
  1108. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts +118 -118
  1109. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -1
  1110. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +2 -2
  1111. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts +12 -12
  1112. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts.map +1 -1
  1113. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.js +1 -1
  1114. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.js +1 -1
  1115. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +7 -7
  1116. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  1117. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +10 -10
  1118. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +2 -2
  1119. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts +2 -2
  1120. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -1
  1121. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js +8 -5
  1122. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -1
  1123. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js +5 -5
  1124. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js.map +1 -1
  1125. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +1 -7
  1126. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
  1127. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts.map +1 -1
  1128. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js +4 -4
  1129. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts +1 -1
  1130. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -1
  1131. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js +18 -6
  1132. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -1
  1133. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +35 -2
  1134. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  1135. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts +2 -0
  1136. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts.map +1 -0
  1137. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js +47 -0
  1138. package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js.map +1 -0
  1139. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +1 -1
  1140. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts +1 -1
  1141. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  1142. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +3 -3
  1143. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
  1144. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +2 -2
  1145. package/dist/src/backend/services/workspace-depth-triggers.integration.test.js +1 -1
  1146. package/dist/src/backend/services/workspace-git-state.service.d.ts +8 -2
  1147. package/dist/src/backend/services/workspace-git-state.service.d.ts.map +1 -1
  1148. package/dist/src/backend/services/workspace-git-state.service.js +110 -8
  1149. package/dist/src/backend/services/workspace-git-state.service.js.map +1 -1
  1150. package/dist/src/backend/services/workspace-git-state.service.test.js +99 -3
  1151. package/dist/src/backend/services/workspace-git-state.service.test.js.map +1 -1
  1152. package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js.map +1 -1
  1153. package/dist/src/backend/testing/check-prisma-versions-script.test.js.map +1 -1
  1154. package/dist/src/backend/testing/integration-db.js +1 -1
  1155. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts +2 -0
  1156. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts.map +1 -0
  1157. package/dist/src/backend/testing/npm-publish-workflow.test.js +217 -0
  1158. package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -0
  1159. package/dist/src/backend/trpc/admin.trpc.d.ts +41 -41
  1160. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  1161. package/dist/src/backend/trpc/application-error-mapper.d.ts +1 -1
  1162. package/dist/src/backend/trpc/application-error-mapper.test.js +2 -2
  1163. package/dist/src/backend/trpc/application-error-mapper.test.js.map +1 -1
  1164. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts +4 -4
  1165. package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +9 -9
  1166. package/dist/src/backend/trpc/context-dependencies.test.js +9 -9
  1167. package/dist/src/backend/trpc/decision-log.trpc.d.ts +12 -12
  1168. package/dist/src/backend/trpc/github.trpc.d.ts +7 -7
  1169. package/dist/src/backend/trpc/github.trpc.js +1 -1
  1170. package/dist/src/backend/trpc/index.d.ts +565 -581
  1171. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  1172. package/dist/src/backend/trpc/linear.trpc.d.ts +3 -3
  1173. package/dist/src/backend/trpc/model-catalog.integration.test.d.ts +2 -0
  1174. package/dist/src/backend/trpc/model-catalog.integration.test.d.ts.map +1 -0
  1175. package/dist/src/backend/trpc/model-catalog.integration.test.js +91 -0
  1176. package/dist/src/backend/trpc/model-catalog.integration.test.js.map +1 -0
  1177. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +26 -26
  1178. package/dist/src/backend/trpc/pr-review.router.test.js +1 -12
  1179. package/dist/src/backend/trpc/pr-review.router.test.js.map +1 -1
  1180. package/dist/src/backend/trpc/pr-review.trpc.d.ts +4 -20
  1181. package/dist/src/backend/trpc/pr-review.trpc.d.ts.map +1 -1
  1182. package/dist/src/backend/trpc/pr-review.trpc.js +0 -14
  1183. package/dist/src/backend/trpc/pr-review.trpc.js.map +1 -1
  1184. package/dist/src/backend/trpc/project.router.test.js.map +1 -1
  1185. package/dist/src/backend/trpc/project.trpc.d.ts +68 -68
  1186. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  1187. package/dist/src/backend/trpc/project.trpc.js +3 -3
  1188. package/dist/src/backend/trpc/session.router.test.js +13 -37
  1189. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  1190. package/dist/src/backend/trpc/session.trpc.d.ts +174 -174
  1191. package/dist/src/backend/trpc/session.trpc.js +2 -2
  1192. package/dist/src/backend/trpc/trpc.d.ts +5 -5
  1193. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  1194. package/dist/src/backend/trpc/trpc.js +2 -2
  1195. package/dist/src/backend/trpc/trpc.test.js +1 -1
  1196. package/dist/src/backend/trpc/user-settings.router.test.js +11 -9
  1197. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  1198. package/dist/src/backend/trpc/user-settings.trpc.d.ts +19 -19
  1199. package/dist/src/backend/trpc/user-settings.trpc.js +4 -4
  1200. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  1201. package/dist/src/backend/trpc/voice.trpc.d.ts +3 -3
  1202. package/dist/src/backend/trpc/workspace/children.trpc.d.ts +7 -7
  1203. package/dist/src/backend/trpc/workspace/children.trpc.js +4 -4
  1204. package/dist/src/backend/trpc/workspace/composition.test.js +1 -1
  1205. package/dist/src/backend/trpc/workspace/composition.test.js.map +1 -1
  1206. package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts +2 -0
  1207. package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts.map +1 -0
  1208. package/dist/src/backend/trpc/workspace/files.preview.router.test.js +196 -0
  1209. package/dist/src/backend/trpc/workspace/files.preview.router.test.js.map +1 -0
  1210. package/dist/src/backend/trpc/workspace/files.trpc.d.ts +5 -5
  1211. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  1212. package/dist/src/backend/trpc/workspace/files.trpc.js +9 -23
  1213. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  1214. package/dist/src/backend/trpc/workspace/git.router.test.js +72 -1
  1215. package/dist/src/backend/trpc/workspace/git.router.test.js.map +1 -1
  1216. package/dist/src/backend/trpc/workspace/git.trpc.d.ts +7 -7
  1217. package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
  1218. package/dist/src/backend/trpc/workspace/git.trpc.js +34 -15
  1219. package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
  1220. package/dist/src/backend/trpc/workspace/ide.trpc.d.ts +4 -4
  1221. package/dist/src/backend/trpc/workspace/ide.trpc.js +2 -2
  1222. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +42 -42
  1223. package/dist/src/backend/trpc/workspace/init.trpc.js +3 -3
  1224. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +4 -4
  1225. package/dist/src/backend/trpc/workspace/run-script.trpc.js +1 -1
  1226. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +71 -71
  1227. package/dist/src/backend/trpc/workspace.router.test.js +42 -3
  1228. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  1229. package/dist/src/backend/trpc/workspace.trpc.d.ts +342 -342
  1230. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  1231. package/dist/src/backend/trpc/workspace.trpc.js +18 -7
  1232. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  1233. package/dist/src/cli/database-path.js.map +1 -1
  1234. package/dist/src/cli/index.js.map +1 -1
  1235. package/dist/src/cli/proxy.d.ts.map +1 -1
  1236. package/dist/src/cli/proxy.js.map +1 -1
  1237. package/dist/src/cli/runtime-utils.js.map +1 -1
  1238. package/dist/src/cli/runtime-utils.test.js +1 -3
  1239. package/dist/src/cli/runtime-utils.test.js.map +1 -1
  1240. package/dist/src/cli/serve-env.js.map +1 -1
  1241. package/dist/src/cli/serve-env.test.js +1 -5
  1242. package/dist/src/cli/serve-env.test.js.map +1 -1
  1243. package/dist/src/lib/chat-protocol.d.ts +72 -0
  1244. package/dist/src/lib/chat-protocol.d.ts.map +1 -0
  1245. package/dist/src/lib/chat-protocol.js +514 -0
  1246. package/dist/src/lib/chat-protocol.js.map +1 -0
  1247. package/dist/src/shared/acp-protocol/index.d.ts +1 -1
  1248. package/dist/src/shared/acp-protocol/index.js +1 -1
  1249. package/dist/src/shared/acp-protocol/protocol/guards.js +1 -1
  1250. package/dist/src/shared/acp-protocol/protocol/guards.js.map +1 -1
  1251. package/dist/src/shared/acp-protocol/protocol/index.d.ts +1 -1
  1252. package/dist/src/shared/acp-protocol/protocol/messages.d.ts +2 -2
  1253. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +7 -7
  1254. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
  1255. package/dist/src/shared/acp-protocol/session-update-translator.d.ts.map +1 -1
  1256. package/dist/src/shared/acp-protocol/session-update-translator.js.map +1 -1
  1257. package/dist/src/shared/acp-protocol/subagents.d.ts +92 -92
  1258. package/dist/src/shared/core/enums.d.ts +84 -84
  1259. package/dist/src/shared/core/enums.d.ts.map +1 -1
  1260. package/dist/src/shared/core/workspace-sidebar-status.d.ts +2 -2
  1261. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
  1262. package/dist/src/shared/kanban-column-projection.d.ts +2 -2
  1263. package/dist/src/shared/kanban-column-projection.js +1 -1
  1264. package/dist/src/shared/pending-request-types.d.ts +1 -1
  1265. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  1266. package/dist/src/shared/proxy-utils.d.ts +1 -1
  1267. package/dist/src/shared/proxy-utils.d.ts.map +1 -1
  1268. package/dist/src/shared/schemas/auto-iteration.schema.d.ts +10 -10
  1269. package/dist/src/shared/schemas/export-data.schema.d.ts +51 -51
  1270. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  1271. package/dist/src/shared/schemas/export-data.schema.js +4 -4
  1272. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  1273. package/dist/src/shared/session-runtime.d.ts +4 -4
  1274. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  1275. package/dist/src/shared/websocket/chat-message.schema.d.ts +2 -2
  1276. package/dist/src/shared/workspace-flow-state.d.ts +2 -2
  1277. package/dist/src/shared/workspace-flow-state.d.ts.map +1 -1
  1278. package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
  1279. package/dist/src/shared/workspace-sidebar-status.js +1 -1
  1280. package/dist/src/shared/workspace-snapshot.d.ts +433 -427
  1281. package/dist/src/shared/workspace-snapshot.d.ts.map +1 -1
  1282. package/dist/src/shared/workspace-snapshot.js +6 -4
  1283. package/dist/src/shared/workspace-snapshot.js.map +1 -1
  1284. package/dist/src/shared/workspace-status-reason.d.ts +5 -5
  1285. package/dist/src/shared/workspace-status-reason.d.ts.map +1 -1
  1286. package/dist/src/test-utils/application-graph.d.ts +3 -3
  1287. package/dist/src/test-utils/application-graph.d.ts.map +1 -1
  1288. package/dist/src/test-utils/application-graph.js +4 -3
  1289. package/dist/src/test-utils/application-graph.js.map +1 -1
  1290. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  1291. package/package.json +59 -70
  1292. package/scripts/postinstall.mjs +6 -2
  1293. package/dist/client/assets/abnfDiagram-N423BO3Z-BcUuFtOj.js +0 -1
  1294. package/dist/client/assets/arc-Cp8_E6ha.js +0 -1
  1295. package/dist/client/assets/architectureDiagram-T3A2C74G-C3_2J0tC.js +0 -36
  1296. package/dist/client/assets/blockDiagram-VBNYF7ZC-Dy0jc6lP.js +0 -132
  1297. package/dist/client/assets/c4Diagram-5PPSVZJV-97TkD6w-.js +0 -10
  1298. package/dist/client/assets/channel-DLBBfejH.js +0 -1
  1299. package/dist/client/assets/chunk-2GRJ4B5K-Dc0I7ume.js +0 -1
  1300. package/dist/client/assets/chunk-2Q5K7J3B-DbFPWZwu.js +0 -1
  1301. package/dist/client/assets/chunk-5RXB4S5H-Dci_7ZDD.js +0 -231
  1302. package/dist/client/assets/chunk-6Q2QTUOP-Be2f5Q2t.js +0 -88
  1303. package/dist/client/assets/chunk-GF5L2VYU-C4VRs6xS.js +0 -206
  1304. package/dist/client/assets/chunk-JWPE2WC7-DVlW0c7f.js +0 -1
  1305. package/dist/client/assets/chunk-KBJHAD2P-BKRpW89b.js +0 -1
  1306. package/dist/client/assets/chunk-RYQCIY6F-BwMw9oh9.js +0 -1
  1307. package/dist/client/assets/chunk-XXDRQBXY-py-FQquv.js +0 -1
  1308. package/dist/client/assets/classDiagram-JCYQIIEL-Ds5wVQR3.js +0 -1
  1309. package/dist/client/assets/classDiagram-v2-OCEON4UE-Ds5wVQR3.js +0 -1
  1310. package/dist/client/assets/cose-bilkent-JH36ORCC-BMCtQCZ8.js +0 -1
  1311. package/dist/client/assets/cynefin-VYW2F7L2-BTHAy6wD.js +0 -166
  1312. package/dist/client/assets/cynefinDiagram-MW4NZA55-pQCQD0Ih.js +0 -62
  1313. package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js +0 -321
  1314. package/dist/client/assets/dagre-VZM6K2ZE-CZcoEFVf.js +0 -4
  1315. package/dist/client/assets/defaultLocale-DX6XiGOO.js +0 -1
  1316. package/dist/client/assets/diagram-7IWD3JNH-DgQv_208.js +0 -30
  1317. package/dist/client/assets/diagram-B4RE2ZJO-DoFotcsB.js +0 -3
  1318. package/dist/client/assets/diagram-LBJQPF4R-C5zkL1ml.js +0 -24
  1319. package/dist/client/assets/diagram-Q27KOJAE-ERKqnoHP.js +0 -24
  1320. package/dist/client/assets/diagram-UB23O5K3-Dyt6sy3Z.js +0 -41
  1321. package/dist/client/assets/ebnfDiagram-BXEA7PRR-DqsFEAw2.js +0 -1
  1322. package/dist/client/assets/erDiagram-JOGREHBK-Dn8Aqkgn.js +0 -85
  1323. package/dist/client/assets/flowDiagram-UKHOOZJN-DcArGyH-.js +0 -156
  1324. package/dist/client/assets/ganttDiagram-PKOTCBZU-BuHaeolc.js +0 -292
  1325. package/dist/client/assets/gitGraphDiagram-DS77QQ5N-iKWWNsQK.js +0 -106
  1326. package/dist/client/assets/graph-DOmOIIwC.js +0 -1
  1327. package/dist/client/assets/index-CVVo6xHd.css +0 -1
  1328. package/dist/client/assets/index-DY0TryY7.js +0 -695
  1329. package/dist/client/assets/infoDiagram-6WML65LV-C7IulVvo.js +0 -2
  1330. package/dist/client/assets/init-Gi6I4Gst.js +0 -1
  1331. package/dist/client/assets/ishikawaDiagram-WSZJBQD7-DW4cB_Nk.js +0 -70
  1332. package/dist/client/assets/journeyDiagram-NVQOT4AX-Nzsiy4H7.js +0 -139
  1333. package/dist/client/assets/kanban-definition-27J2QSJJ-BUsK9dj9.js +0 -89
  1334. package/dist/client/assets/katex-HP8lGamR.js +0 -257
  1335. package/dist/client/assets/layout-D-LzfAck.js +0 -1
  1336. package/dist/client/assets/linear-CyoW-usj.js +0 -1
  1337. package/dist/client/assets/map-DxJ2ADlA.js +0 -1
  1338. package/dist/client/assets/mindmap-definition-FAOFIHXS-Bd9cSJjQ.js +0 -96
  1339. package/dist/client/assets/mobile-baseline-K78aE4nt.js +0 -10
  1340. package/dist/client/assets/ordinal-Cboi1Yqb.js +0 -1
  1341. package/dist/client/assets/pegDiagram-VL7TDLO6-BrmAKdiE.js +0 -1
  1342. package/dist/client/assets/pieDiagram-7S7Q4E2Y-Ce0k6LI1.js +0 -39
  1343. package/dist/client/assets/quadrantDiagram-CIZ2JOQS-_9HxOOGa.js +0 -7
  1344. package/dist/client/assets/railroadDiagram-AXF67PYL-ChdF1CBw.js +0 -1
  1345. package/dist/client/assets/requirementDiagram-LRYGKXZP-Bm2gdYTE.js +0 -84
  1346. package/dist/client/assets/sankeyDiagram-W5VNT64P-Kf7zUiC-.js +0 -40
  1347. package/dist/client/assets/sequenceDiagram-SI44F4Z6-DyPqsgh1.js +0 -162
  1348. package/dist/client/assets/sizeCapture-X5ZJPWSS-Cgn8Hxr2.js +0 -1
  1349. package/dist/client/assets/stateDiagram-OKZ733FA-CJxSzxmg.js +0 -1
  1350. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-BwUaUW2J.js +0 -1
  1351. package/dist/client/assets/swimlanes-SLNWSIFB-Ckb_izEZ.js +0 -2
  1352. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-D87lLmuW.js +0 -8
  1353. package/dist/client/assets/terminal-instance-DDGTF8rc.css +0 -1
  1354. package/dist/client/assets/terminal-instance-DWySt2_t.js +0 -16
  1355. package/dist/client/assets/timeline-definition-Z64GVDOM-BWx_NLrK.js +0 -120
  1356. package/dist/client/assets/vennDiagram-T6HMQDX7-BgN2-lO-.js +0 -34
  1357. package/dist/client/assets/wardleyDiagram-T6FBY63Y-C9iwoeki.js +0 -78
  1358. package/dist/client/assets/xychartDiagram-ELKLHX3M-B3AYy5ZN.js +0 -7
  1359. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts +0 -2
  1360. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts.map +0 -1
  1361. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +0 -1736
  1362. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +0 -1
  1363. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts +0 -2
  1364. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts.map +0 -1
  1365. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +0 -1520
  1366. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +0 -1
  1367. package/dist/src/backend/services/session/service/runtime/index.d.ts +0 -5
  1368. package/dist/src/backend/services/session/service/runtime/index.d.ts.map +0 -1
  1369. package/dist/src/backend/services/session/service/runtime/index.js +0 -2
  1370. package/dist/src/backend/services/session/service/runtime/index.js.map +0 -1
  1371. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts +0 -21
  1372. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts.map +0 -1
  1373. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js +0 -2
  1374. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js.map +0 -1
  1375. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts +0 -97
  1376. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts.map +0 -1
  1377. package/dist/src/backend/services/session/service/store/file-lock.service.js +0 -429
  1378. package/dist/src/backend/services/session/service/store/file-lock.service.js.map +0 -1
  1379. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts +0 -2
  1380. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts.map +0 -1
  1381. package/dist/src/backend/services/session/service/store/file-lock.service.test.js +0 -672
  1382. package/dist/src/backend/services/session/service/store/file-lock.service.test.js.map +0 -1
  1383. package/dist/src/shared/workspace-words.d.ts +0 -5
  1384. package/dist/src/shared/workspace-words.d.ts.map +0 -1
  1385. package/dist/src/shared/workspace-words.js +0 -146
  1386. package/dist/src/shared/workspace-words.js.map +0 -1
@@ -1,368 +1,59 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { configService } from '../../../../../backend/services/config.service.js';
3
- import { createLogger } from '../../../../../backend/services/logger.service.js';
4
- import { AcpBrowseSessionUnavailableError } from '../../../../../backend/services/session/service/acp/acp-runtime-manager.js';
5
- import { getChildWorkspaceMcpServerConfig } from '../../../../../backend/services/session/service/acp/child-workspace-mcp-server.js';
6
- import { acpTraceLogger } from '../../../../../backend/services/session/service/logging/acp-trace-logger.service.js';
7
- import { sessionEventBus } from '../../../../../backend/services/session/service/session-event-bus.js';
8
- import { userSettingsService } from '../../../../../backend/services/settings/index.js';
9
- import { workspaceDataService, workspaceNotificationService } from '../../../../../backend/services/workspace/index.js';
10
- import { SessionLifecycleEventKind, SessionLifecycleEventReason, SessionStatus, } from '../../../../../shared/core/index.js';
11
1
  import { createInitialSessionRuntimeState, } from '../../../../../shared/session-runtime.js';
12
- import { buildWorkspaceNotificationMessageText, WORKSPACE_NOTIFICATION_MESSAGE_ID_PREFIX, workspaceNotificationMessageId, } from '../../../../../shared/workspace-notifications.js';
13
- import { closedSessionPersistenceService } from './closed-session-persistence.service.js';
14
- import { toErrorMessage } from './session.error-message.js';
15
- import { maybeDiscoverPROnSessionEnd as maybeDiscoverPROnSessionEndHelper } from './session-pr-discovery.service.js';
16
2
  import { isStaleLoadingRuntime } from './session-runtime-state.helpers.js';
17
- const logger = createLogger('session');
18
- class SessionStartupCancelledError extends Error {
19
- constructor() {
20
- super('Session is currently being stopped');
21
- this.name = 'SessionStartupCancelledError';
22
- }
23
- }
24
- function getPersistedStatusForExitCode(exitCode) {
25
- return exitCode === 0 ? SessionStatus.COMPLETED : SessionStatus.FAILED;
26
- }
27
- const SESSION_STOP_MESSAGES = {
28
- USER_STOP: 'Session stopped by you.',
29
- SESSION_CLOSED: 'Session closed by you.',
30
- WORKSPACE_ARCHIVED: 'Session stopped because the workspace was archived.',
31
- SYSTEM_STOP: 'Session stopped by the system.',
32
- };
33
- const SHUTDOWN_LIFECYCLE_RECORD_TIMEOUT_MS = 1000;
34
3
  export class SessionLifecycleService {
35
- repository;
36
- promptBuilder;
37
- runtimeManager;
38
- sessionDomainService;
39
- sessionPermissionService;
40
- sessionConfigService;
41
- acpEventProcessor;
42
- promptTurnCompletionService;
43
- retryService;
44
- lifecycleEventService;
45
- hydrateProviderHistory;
46
- sendSessionMessage;
47
- onBeforeStopSession;
48
- onSessionExit;
49
- stoppingSessions = new Set();
50
- shutdownSessions = new Set();
51
- stopGenerationCounter = 0;
52
- stopGenerations = new Map();
53
- startupGenerationReferences = new Map();
54
- clientCreationOperations = new Map();
55
- workspaceBridge = null;
56
- messageQueueBridge = null;
57
- autoIterationExitBridge = null;
58
- constructor(options) {
59
- this.repository = options.repository;
60
- this.promptBuilder = options.promptBuilder;
61
- this.runtimeManager = options.runtimeManager;
62
- this.sessionDomainService = options.sessionDomainService;
63
- this.sessionPermissionService = options.sessionPermissionService;
64
- this.sessionConfigService = options.sessionConfigService;
65
- this.acpEventProcessor = options.acpEventProcessor;
66
- this.promptTurnCompletionService = options.promptTurnCompletionService;
67
- this.retryService = options.retryService;
68
- this.lifecycleEventService = options.lifecycleEventService;
69
- this.hydrateProviderHistory =
70
- options.hydrateProviderHistory ?? (async () => undefined);
71
- this.sendSessionMessage = options.sendSessionMessage;
72
- this.onBeforeStopSession = options.onBeforeStopSession;
73
- this.onSessionExit = options.onSessionExit;
4
+ dependencies;
5
+ configured = false;
6
+ constructor(dependencies) {
7
+ this.dependencies = dependencies;
74
8
  }
75
9
  configure(bridges) {
76
- this.workspaceBridge = bridges.workspace;
77
- this.messageQueueBridge = bridges.messageQueue ?? null;
78
- this.autoIterationExitBridge = bridges.autoIterationExit ?? null;
10
+ this.configured = false;
11
+ this.dependencies.workflowFinalizer.configure({
12
+ workspace: bridges.workspace,
13
+ autoIterationExit: bridges.autoIterationExit,
14
+ });
15
+ this.dependencies.terminationCoordinator.configure({ workspace: bridges.workspace });
16
+ this.dependencies.startupCoordinator.configure({ messageQueue: bridges.messageQueue });
17
+ this.configured = true;
79
18
  }
80
19
  async startSession(sessionId, options) {
81
- await this.runStartupOperation(sessionId, async (stopGeneration) => {
82
- const session = await this.repository.getSessionById(sessionId);
83
- if (!session) {
84
- throw new Error(`Session not found: ${sessionId}`);
85
- }
86
- this.assertStartupAllowed(sessionId, stopGeneration);
87
- const existingClient = this.runtimeManager.getClient(sessionId);
88
- if (existingClient) {
89
- throw new Error('Session is already running');
90
- }
91
- const startupModePreset = options?.startupModePreset;
92
- const { handle, resolvedPreset, dispatchableNotificationCount } = await this.getOrCreateAcpSessionClient(sessionId, {}, session, stopGeneration);
93
- this.assertStartupAllowed(sessionId, stopGeneration);
94
- await this.applyStartupModePreset(sessionId, handle, startupModePreset, session.workflow);
95
- this.assertStartupAllowed(sessionId, stopGeneration);
96
- await this.applyConfiguredPermissionPreset(sessionId, session, handle, resolvedPreset);
97
- this.assertStartupAllowed(sessionId, stopGeneration);
98
- await this.dispatchQueuedNotificationsIfNeeded(sessionId, dispatchableNotificationCount);
99
- this.assertStartupAllowed(sessionId, stopGeneration);
100
- const initialPrompt = options?.initialPrompt ?? 'Continue with the task.';
101
- const shouldSendInitialPrompt = dispatchableNotificationCount === 0 ||
102
- (typeof options?.initialPrompt === 'string' && !options.initialPromptIsDefault);
103
- if (shouldSendInitialPrompt && initialPrompt) {
104
- await this.sendSessionMessage(sessionId, initialPrompt);
105
- }
106
- this.assertStartupAllowed(sessionId, stopGeneration);
107
- logger.info('Session started', { sessionId, provider: session.provider });
108
- });
20
+ this.assertConfigured();
21
+ await this.dependencies.startupCoordinator.startSession(sessionId, options);
109
22
  }
110
23
  async restartSession(sessionId, options) {
111
- const isRunning = this.runtimeManager.isSessionRunning(sessionId);
112
- const isStopInProgress = this.runtimeManager.isStopInProgress(sessionId);
113
- if (isStopInProgress) {
114
- throw new Error('Cannot restart: session is currently being stopped. Please try again shortly.');
115
- }
116
- if (isRunning) {
117
- try {
118
- await this.stopSession(sessionId, { cleanupTransientRatchetSession: false });
119
- }
120
- catch (error) {
121
- logger.warn('Error stopping session during restart; continuing with start', {
122
- sessionId,
123
- error: error instanceof Error ? error.message : String(error),
124
- });
125
- }
126
- }
127
- await this.startSession(sessionId, options ?? {
128
- initialPrompt: 'Continue with the task.',
129
- initialPromptIsDefault: true,
130
- });
131
- logger.info('Session restarted', { sessionId });
24
+ this.assertConfigured();
25
+ await this.dependencies.startupCoordinator.restartSession(sessionId, options);
132
26
  }
133
27
  async stopSession(sessionId, options) {
134
- if (this.stoppingSessions.has(sessionId)) {
135
- logger.debug('Session stop already in progress', { sessionId });
136
- return;
137
- }
138
- this.advanceStopGeneration(sessionId);
139
- this.stoppingSessions.add(sessionId);
140
- const stopInvocationId = randomUUID();
141
- try {
142
- await this.stopSessionWithBarrier(sessionId, stopInvocationId, options);
143
- }
144
- finally {
145
- this.stoppingSessions.delete(sessionId);
146
- this.stopGenerations.delete(sessionId);
147
- }
148
- }
149
- async stopSessionWithBarrier(sessionId, stopInvocationId, options) {
150
- this.promptTurnCompletionService.clearSession(sessionId);
151
- this.onBeforeStopSession?.(sessionId);
152
- this.sessionDomainService.clearQueuedWork(sessionId, { emitSnapshot: true });
153
- const session = await this.loadSessionForStop(sessionId);
154
- const workspaceId = session?.workspaceId ?? this.acpEventProcessor.getWorkspaceId(sessionId);
155
- const reason = options?.reason ?? 'SYSTEM_STOP';
156
- if (workspaceId && options?.recordLifecycleEvent !== false) {
157
- await this.lifecycleEventService.record({
158
- workspaceId,
159
- sessionId,
160
- kind: SessionLifecycleEventKind.SESSION_STOPPED,
161
- reason,
162
- message: SESSION_STOP_MESSAGES[reason],
163
- dedupeKey: `session-stop:${stopInvocationId}`,
164
- });
165
- }
166
- const current = this.getRuntimeSnapshot(sessionId);
167
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
168
- ...current,
169
- phase: 'stopping',
170
- activity: 'IDLE',
171
- updatedAt: new Date().toISOString(),
172
- });
173
- this.acpEventProcessor.clearStreamingState(sessionId);
174
- this.acpEventProcessor.clearReplaySuppression(sessionId);
175
- this.sessionPermissionService.cancelPendingRequests(sessionId);
176
- let stopClientFailed = false;
177
- try {
178
- await this.stopRuntimeAndPendingCreation(sessionId);
179
- }
180
- catch (error) {
181
- stopClientFailed = true;
182
- logger.warn('Error stopping ACP session runtime; continuing cleanup', {
183
- sessionId,
184
- error: error instanceof Error ? error.message : String(error),
185
- });
186
- }
187
- finally {
188
- this.finalizeOrphanedToolCalls(sessionId, 'session_stop');
189
- await this.updateStoppedSessionState(sessionId);
190
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
191
- phase: 'idle',
192
- processState: 'stopped',
193
- activity: 'IDLE',
194
- updatedAt: new Date().toISOString(),
195
- });
196
- this.markWorkspaceSessionIdleOnStop(workspaceId, sessionId);
197
- this.acpEventProcessor.clearSessionState(sessionId);
198
- if (!stopClientFailed) {
199
- const shouldCleanupTransientRatchetSession = options?.cleanupTransientRatchetSession ?? true;
200
- await this.cleanupTransientRatchetOnStop(session, sessionId, shouldCleanupTransientRatchetSession);
201
- }
202
- try {
203
- this.clearSessionStoreIfInactive(sessionId, 'manual_stop');
204
- logger.info('ACP session stopped', {
205
- sessionId,
206
- ...(stopClientFailed ? { runtimeStopFailed: true } : {}),
207
- });
208
- }
209
- finally {
210
- acpTraceLogger.closeSession(sessionId);
211
- }
212
- }
213
- }
214
- async stopRuntimeAndPendingCreation(sessionId) {
215
- await this.runtimeManager.stopClient(sessionId);
216
- const pendingCreations = this.clientCreationOperations.get(sessionId);
217
- if (!pendingCreations || pendingCreations.size === 0) {
218
- return;
219
- }
220
- await Promise.allSettled([...pendingCreations]);
221
- await this.runtimeManager.stopClient(sessionId);
28
+ this.assertConfigured();
29
+ await this.dependencies.terminationCoordinator.stopSession(sessionId, options);
222
30
  }
223
31
  async stopWorkspaceSessions(workspaceId, options) {
224
- const sessions = await this.repository.getSessionsByWorkspaceId(workspaceId);
225
- const stopErrors = [];
226
- for (const session of sessions) {
227
- const stopOptions = this.getWorkspaceSessionStopOptions(session, options?.reason ?? 'SYSTEM_STOP');
228
- if (!stopOptions) {
229
- continue;
230
- }
231
- try {
232
- await this.stopSession(session.id, stopOptions);
233
- }
234
- catch (error) {
235
- logger.error('Failed to stop workspace session', {
236
- sessionId: session.id,
237
- workspaceId,
238
- error: error instanceof Error ? error.message : String(error),
239
- });
240
- stopErrors.push(error);
241
- }
242
- }
243
- if (stopErrors.length > 0) {
244
- throw new Error(`Failed to stop ${stopErrors.length} workspace session${stopErrors.length === 1 ? '' : 's'}`);
245
- }
246
- logger.info('Stopped all workspace sessions', { workspaceId, count: sessions.length });
247
- }
248
- getWorkspaceSessionStopOptions(session, reason) {
249
- const browseOnlyClient = this.runtimeManager.isBrowseOnlySession(session.id);
250
- const activeClient = this.runtimeManager.isSessionRunning(session.id);
251
- if (!(session.status === SessionStatus.RUNNING || activeClient || browseOnlyClient)) {
252
- return null;
253
- }
254
- return {
255
- reason,
256
- ...(browseOnlyClient && !activeClient ? { recordLifecycleEvent: false } : {}),
257
- };
32
+ this.assertConfigured();
33
+ await this.dependencies.terminationCoordinator.stopWorkspaceSessions(workspaceId, options);
258
34
  }
259
35
  async getOrCreateSessionClient(sessionId, options) {
260
- return await this.runStartupOperation(sessionId, async (stopGeneration) => {
261
- const session = await this.repository.getSessionById(sessionId);
262
- if (!session) {
263
- throw new Error(`Session not found: ${sessionId}`);
264
- }
265
- this.assertStartupAllowed(sessionId, stopGeneration);
266
- const hadClient = !!this.runtimeManager.getClient(sessionId);
267
- const { handle, resolvedPreset, dispatchableNotificationCount } = await this.getOrCreateAcpSessionClient(sessionId, options ?? {}, session, stopGeneration);
268
- this.assertStartupAllowed(sessionId, stopGeneration);
269
- if (!hadClient) {
270
- await this.applyConfiguredPermissionPreset(sessionId, session, handle, resolvedPreset);
271
- this.assertStartupAllowed(sessionId, stopGeneration);
272
- await this.dispatchQueuedNotificationsIfNeeded(sessionId, dispatchableNotificationCount);
273
- this.assertStartupAllowed(sessionId, stopGeneration);
274
- }
275
- return handle;
276
- });
36
+ this.assertConfigured();
37
+ return await this.dependencies.startupCoordinator.getOrCreateSessionClient(sessionId, options);
277
38
  }
278
39
  async getOrCreateSessionClientFromRecord(session, options) {
279
- return await this.runStartupOperation(session.id, async (stopGeneration) => {
280
- this.assertStartupAllowed(session.id, stopGeneration);
281
- const hadClient = !!this.runtimeManager.getClient(session.id);
282
- const { handle, resolvedPreset, dispatchableNotificationCount } = await this.getOrCreateAcpSessionClient(session.id, options ?? {}, session, stopGeneration);
283
- this.assertStartupAllowed(session.id, stopGeneration);
284
- if (!hadClient) {
285
- await this.applyConfiguredPermissionPreset(session.id, session, handle, resolvedPreset);
286
- this.assertStartupAllowed(session.id, stopGeneration);
287
- await this.dispatchQueuedNotificationsIfNeeded(session.id, dispatchableNotificationCount);
288
- this.assertStartupAllowed(session.id, stopGeneration);
289
- }
290
- return handle;
291
- });
40
+ this.assertConfigured();
41
+ return await this.dependencies.startupCoordinator.getOrCreateSessionClientFromRecord(session, options);
292
42
  }
293
43
  async ensureSubagentBrowseSession(sessionId) {
294
- if (this.runtimeManager.getSubagentBrowseCapability(sessionId)) {
295
- return true;
296
- }
297
- const pendingClient = this.runtimeManager.getPendingClient(sessionId);
298
- if (pendingClient) {
299
- try {
300
- await pendingClient;
301
- }
302
- catch (error) {
303
- if (error instanceof AcpBrowseSessionUnavailableError) {
304
- return false;
305
- }
306
- throw error;
307
- }
308
- return await this.resolveSubagentBrowseSupport(sessionId);
309
- }
310
- return await this.runStartupOperation(sessionId, async (stopGeneration) => {
311
- const session = await this.repository.getSessionById(sessionId);
312
- if (!(session?.provider === 'CODEX' && session.providerSessionId)) {
313
- return false;
314
- }
315
- this.assertStartupAllowed(sessionId, stopGeneration);
316
- const workspace = await this.repository.getWorkspaceById(session.workspaceId);
317
- if (!workspace?.worktreePath ||
318
- workspace.status === 'ARCHIVING' ||
319
- workspace.status === 'ARCHIVED') {
320
- return false;
321
- }
322
- this.assertStartupAllowed(sessionId, stopGeneration);
323
- try {
324
- await this.createAcpClient(sessionId, { purpose: 'browse' }, session, undefined, stopGeneration);
325
- }
326
- catch (error) {
327
- if (error instanceof AcpBrowseSessionUnavailableError) {
328
- return false;
329
- }
330
- throw error;
331
- }
332
- return await this.resolveSubagentBrowseSupport(sessionId);
333
- }).catch((error) => {
334
- if (error instanceof SessionStartupCancelledError) {
335
- return false;
336
- }
337
- throw error;
338
- });
339
- }
340
- async resolveSubagentBrowseSupport(sessionId) {
341
- if (this.runtimeManager.getSubagentBrowseCapability(sessionId) !== null) {
342
- return true;
343
- }
344
- if (!this.runtimeManager.isBrowseOnlySession(sessionId)) {
345
- return false;
346
- }
347
- this.advanceStopGeneration(sessionId);
348
- try {
349
- await this.runtimeManager.stopClient(sessionId);
350
- }
351
- finally {
352
- this.acpEventProcessor.clearSessionState(sessionId);
353
- }
354
- return false;
44
+ this.assertConfigured();
45
+ return await this.dependencies.startupCoordinator.ensureSubagentBrowseSession(sessionId);
355
46
  }
356
47
  getSessionClient(sessionId) {
357
- return this.runtimeManager.getClient(sessionId);
48
+ return this.dependencies.runtimeManager.getClient(sessionId);
358
49
  }
359
50
  getRuntimeSnapshot(sessionId) {
360
51
  const fallback = createInitialSessionRuntimeState();
361
- const persisted = this.sessionDomainService.getRuntimeSnapshot(sessionId);
52
+ const persisted = this.dependencies.sessionDomainService.getRuntimeSnapshot(sessionId);
362
53
  const base = persisted ?? fallback;
363
- const acpClient = this.runtimeManager.getClient(sessionId);
54
+ const acpClient = this.dependencies.runtimeManager.getClient(sessionId);
364
55
  if (acpClient) {
365
- const isWorking = this.runtimeManager.isSessionWorking(sessionId);
56
+ const isWorking = this.dependencies.runtimeManager.isSessionWorking(sessionId);
366
57
  return {
367
58
  phase: isWorking ? 'running' : 'idle',
368
59
  processState: 'alive',
@@ -370,7 +61,7 @@ export class SessionLifecycleService {
370
61
  updatedAt: base.updatedAt,
371
62
  };
372
63
  }
373
- if (this.runtimeManager.isStopInProgress(sessionId)) {
64
+ if (this.dependencies.runtimeManager.isStopInProgress(sessionId)) {
374
65
  return {
375
66
  ...base,
376
67
  phase: 'stopping',
@@ -389,844 +80,32 @@ export class SessionLifecycleService {
389
80
  return base;
390
81
  }
391
82
  isSessionStopping(sessionId) {
392
- return this.stoppingSessions.has(sessionId) || this.runtimeManager.isStopInProgress(sessionId);
83
+ return this.dependencies.lifecycleGate.isSessionStopping(sessionId);
393
84
  }
394
85
  getStopGeneration(sessionId) {
395
- return this.stopGenerations.get(sessionId) ?? this.advanceStopGeneration(sessionId);
396
- }
397
- async runStartupOperation(sessionId, operation) {
398
- const stopGeneration = this.getStopGeneration(sessionId);
399
- this.startupGenerationReferences.set(stopGeneration, (this.startupGenerationReferences.get(stopGeneration) ?? 0) + 1);
400
- let succeeded = false;
401
- try {
402
- const result = await operation(stopGeneration);
403
- succeeded = true;
404
- return result;
405
- }
406
- finally {
407
- this.releaseStartupGeneration(sessionId, stopGeneration, succeeded);
408
- }
409
- }
410
- releaseStartupGeneration(sessionId, stopGeneration, succeeded) {
411
- const referenceCount = this.startupGenerationReferences.get(stopGeneration);
412
- if (referenceCount === undefined) {
413
- return;
414
- }
415
- if (referenceCount > 1) {
416
- this.startupGenerationReferences.set(stopGeneration, referenceCount - 1);
417
- return;
418
- }
419
- this.startupGenerationReferences.delete(stopGeneration);
420
- if (!(succeeded ||
421
- this.isSessionStopping(sessionId) ||
422
- this.runtimeManager.getClient(sessionId)) &&
423
- this.isStopGenerationCurrent(sessionId, stopGeneration)) {
424
- this.stopGenerations.delete(sessionId);
425
- }
86
+ return this.dependencies.lifecycleGate.getGeneration(sessionId);
426
87
  }
427
88
  isStopGenerationCurrent(sessionId, stopGeneration) {
428
- return this.stopGenerations.get(sessionId) === stopGeneration;
429
- }
430
- advanceStopGeneration(sessionId) {
431
- this.stopGenerationCounter += 1;
432
- this.stopGenerations.set(sessionId, this.stopGenerationCounter);
433
- return this.stopGenerationCounter;
89
+ return this.dependencies.lifecycleGate.isGenerationCurrent(sessionId, stopGeneration);
434
90
  }
435
- assertStartupAllowed(sessionId, stopGeneration) {
436
- if (this.isSessionStopping(sessionId) ||
437
- !this.isStopGenerationCurrent(sessionId, stopGeneration)) {
438
- throw new SessionStartupCancelledError();
439
- }
440
- }
441
- async getSessionOptions(sessionId) {
442
- const sessionContext = await this.loadSessionContext(sessionId);
443
- if (!sessionContext) {
444
- return null;
445
- }
446
- return {
447
- workingDir: sessionContext.workingDir,
448
- resumeProviderSessionId: sessionContext.resumeProviderSessionId,
449
- systemPrompt: sessionContext.systemPrompt,
450
- model: sessionContext.model,
451
- workspaceStatus: sessionContext.workspaceStatus,
452
- };
91
+ getSessionOptions(sessionId) {
92
+ return this.dependencies.contextService.getOptions(sessionId);
453
93
  }
454
94
  async stopAllClients(timeoutMs = 5000) {
455
- this.promptTurnCompletionService.clearAll();
456
- const shutdownSessionIds = this.runtimeManager.beginShutdown();
457
- const activeShutdownSessionIds = shutdownSessionIds.filter((sessionId) => !this.runtimeManager.isBrowseOnlySession(sessionId));
458
- for (const sessionId of activeShutdownSessionIds) {
459
- this.shutdownSessions.add(sessionId);
460
- }
461
- await this.recordShutdownLifecycleEvents(activeShutdownSessionIds);
462
- try {
463
- await this.runtimeManager.stopAllClients(timeoutMs);
464
- }
465
- catch (error) {
466
- logger.error('Failed to stop ACP clients during shutdown', {
467
- error: error instanceof Error ? error.message : String(error),
468
- });
469
- throw error;
470
- }
95
+ this.assertConfigured();
96
+ await this.dependencies.terminationCoordinator.stopAllClients(timeoutMs);
471
97
  }
472
- async recordShutdownLifecycleEvent(sessionId) {
473
- const session = await this.loadSessionForStop(sessionId);
474
- const workspaceId = session?.workspaceId ?? this.acpEventProcessor.getWorkspaceId(sessionId);
475
- if (!workspaceId) {
476
- logger.warn('Skipped shutdown lifecycle event without workspace owner', { sessionId });
477
- return;
478
- }
479
- await this.lifecycleEventService.record({
480
- workspaceId,
481
- sessionId,
482
- kind: SessionLifecycleEventKind.SESSION_STOPPED,
483
- reason: SessionLifecycleEventReason.SYSTEM_STOP,
484
- message: SESSION_STOP_MESSAGES.SYSTEM_STOP,
485
- dedupeKey: `session-stop:${randomUUID()}`,
486
- });
98
+ persistClosedSession(sessionId) {
99
+ this.assertConfigured();
100
+ return this.dependencies.workflowFinalizer.persistClosedSession(sessionId);
487
101
  }
488
- async recordShutdownLifecycleEvents(sessionIds) {
489
- const resultsPromise = Promise.allSettled(sessionIds.map((sessionId) => this.recordShutdownLifecycleEvent(sessionId)));
490
- let timeout;
491
- const results = await Promise.race([
492
- resultsPromise,
493
- new Promise((resolve) => {
494
- timeout = setTimeout(() => resolve(null), SHUTDOWN_LIFECYCLE_RECORD_TIMEOUT_MS);
495
- }),
496
- ]);
497
- if (timeout) {
498
- clearTimeout(timeout);
499
- }
500
- if (results === null) {
501
- logger.warn('Timed out recording shutdown lifecycle events; continuing shutdown', {
502
- timeoutMs: SHUTDOWN_LIFECYCLE_RECORD_TIMEOUT_MS,
503
- });
504
- return;
505
- }
506
- for (const [index, result] of results.entries()) {
507
- if (result.status === 'rejected') {
508
- logger.warn('Failed recording shutdown lifecycle event; continuing shutdown', {
509
- sessionId: sessionIds[index],
510
- error: result.reason instanceof Error ? result.reason.message : String(result.reason),
511
- });
512
- }
513
- }
514
- }
515
- setupAcpEventHandler(sessionId, options) {
516
- const runtimeEventHandler = this.acpEventProcessor.createRuntimeEventHandler(sessionId);
517
- const runtimeIncarnationId = randomUUID();
518
- const providerSessionIdHandler = options?.persistProviderSessionId === false
519
- ? {}
520
- : {
521
- onSessionId: async (sid, providerSessionId) => {
522
- try {
523
- await this.repository.updateSession(sid, { providerSessionId });
524
- acpTraceLogger.log(sid, 'runtime_metadata', {
525
- type: 'provider_session_id',
526
- providerSessionId,
527
- });
528
- logger.debug('Updated session with ACP providerSessionId', {
529
- sessionId: sid,
530
- providerSessionId,
531
- });
532
- }
533
- catch (error) {
534
- logger.warn('Failed to update session with ACP providerSessionId', {
535
- sessionId: sid,
536
- providerSessionId,
537
- error: error instanceof Error ? error.message : String(error),
538
- });
539
- }
540
- },
541
- };
542
- return {
543
- ...runtimeEventHandler,
544
- ...providerSessionIdHandler,
545
- onExit: async (sid, exitCode) => {
546
- this.stopGenerations.delete(sid);
547
- if (this.runtimeManager.isBrowseOnlySession(sid)) {
548
- this.acpEventProcessor.clearSessionState(sid);
549
- acpTraceLogger.closeSession(sid);
550
- return;
551
- }
552
- const wasDeliberateStop = this.stoppingSessions.has(sid) ||
553
- this.shutdownSessions.has(sid) ||
554
- this.runtimeManager.isStopInProgress(sid);
555
- this.prepareAcpRuntimeExit(sid, exitCode);
556
- await this.handleAcpRuntimeExit(sid, exitCode, wasDeliberateStop, runtimeIncarnationId);
557
- },
558
- onError: (sid, error) => {
559
- acpTraceLogger.log(sid, 'runtime_error', {
560
- message: error.message,
561
- stack: error.stack,
562
- });
563
- if (!this.runtimeManager.isBrowseOnlySession(sid)) {
564
- this.sessionDomainService.markError(sid, error.message);
565
- }
566
- logger.error('ACP client error', {
567
- sessionId: sid,
568
- error: error.message,
569
- stack: error.stack,
570
- });
571
- },
572
- onAcpLog: (sid, payload) => {
573
- this.acpEventProcessor.handleAcpLog(sid, payload);
574
- },
575
- };
576
- }
577
- prepareAcpRuntimeExit(sessionId, exitCode) {
578
- this.promptTurnCompletionService.clearSession(sessionId);
579
- this.onSessionExit?.(sessionId);
580
- this.finalizeOrphanedToolCalls(sessionId, 'runtime_exit');
581
- this.acpEventProcessor.clearSessionState(sessionId);
582
- this.sessionPermissionService.cancelPendingRequests(sessionId);
583
- acpTraceLogger.log(sessionId, 'runtime_exit', { exitCode });
584
- }
585
- async handleAcpRuntimeExit(sessionId, exitCode, wasDeliberateStop, runtimeIncarnationId) {
586
- try {
587
- this.sessionDomainService.markProcessExit(sessionId, exitCode);
588
- const session = await this.repository.getSessionById(sessionId);
589
- if (!session) {
590
- logger.warn('Failed to find ACP session on exit', { sessionId });
591
- return;
592
- }
593
- const persistedStatus = getPersistedStatusForExitCode(exitCode);
594
- try {
595
- await this.repository.updateSession(sessionId, { status: persistedStatus });
596
- logger.debug('Updated ACP session status on exit', {
597
- sessionId,
598
- exitCode,
599
- status: persistedStatus,
600
- });
601
- }
602
- catch (error) {
603
- logger.warn('Failed to update ACP session status on exit', {
604
- sessionId,
605
- error: error instanceof Error ? error.message : String(error),
606
- });
607
- }
608
- await this.recordUnexpectedExitIfNeeded(session, sessionId, exitCode, wasDeliberateStop, runtimeIncarnationId);
609
- await this.recordRatchetSessionEndOnExit(session.workspaceId, sessionId, exitCode);
610
- void this.maybeDiscoverPROnSessionEnd(session.workspaceId);
611
- await this.cleanupExitedWorkflow(session, sessionId, wasDeliberateStop);
612
- }
613
- catch (error) {
614
- logger.warn('Failed to process ACP session exit', {
615
- sessionId,
616
- error: error instanceof Error ? error.message : String(error),
617
- });
618
- }
619
- finally {
620
- try {
621
- this.clearSessionStoreIfInactive(sessionId, 'runtime_exit');
622
- }
623
- finally {
624
- acpTraceLogger.closeSession(sessionId);
625
- }
626
- }
102
+ recoverStaleRunningSessions() {
103
+ this.assertConfigured();
104
+ return this.dependencies.workflowFinalizer.recoverStaleRunningSessions();
627
105
  }
628
- async recordUnexpectedExitIfNeeded(session, sessionId, exitCode, wasDeliberateStop, runtimeIncarnationId) {
629
- if (wasDeliberateStop) {
630
- return;
631
- }
632
- await this.lifecycleEventService.record({
633
- workspaceId: session.workspaceId,
634
- sessionId,
635
- kind: SessionLifecycleEventKind.SESSION_STOPPED,
636
- reason: SessionLifecycleEventReason.UNEXPECTED_EXIT,
637
- message: exitCode === null
638
- ? 'Session stopped: agent process exited unexpectedly.'
639
- : `Session stopped: agent process exited unexpectedly (code ${exitCode}).`,
640
- dedupeKey: `process-exit:${runtimeIncarnationId}:${exitCode ?? 'signal'}`,
641
- });
642
- }
643
- async cleanupExitedWorkflow(session, sessionId, wasDeliberateStop) {
644
- if (session.workflow === 'ratchet') {
645
- await this.persistRatchetTranscript(sessionId);
646
- await this.repository.deleteSession(sessionId);
647
- this.sessionDomainService.clearSession(sessionId);
648
- logger.debug('Deleted transient ratchet ACP session', { sessionId });
649
- }
650
- if (session.workflow === 'auto-iteration' &&
651
- this.autoIterationExitBridge &&
652
- !wasDeliberateStop) {
653
- this.autoIterationExitBridge.onAutoIterationSessionExit(session.workspaceId, sessionId);
654
- }
655
- }
656
- async createAcpClient(sessionId, options, session, permissionPreset, stopGeneration = this.getStopGeneration(sessionId)) {
657
- const sessionContext = await this.loadSessionContext(sessionId, session);
658
- if (!sessionContext) {
659
- throw new Error(`Session context not ready: ${sessionId}`);
660
- }
661
- this.assertStartupAllowed(sessionId, stopGeneration);
662
- const browseOnly = options?.purpose === 'browse';
663
- if (!browseOnly) {
664
- await this.repository.markWorkspaceHasHadSessions(sessionContext.workspaceId);
665
- this.assertStartupAllowed(sessionId, stopGeneration);
666
- }
667
- this.acpEventProcessor.registerSessionContext(sessionId, {
668
- workspaceId: sessionContext.workspaceId,
669
- workingDir: sessionContext.workingDir,
670
- provider: session?.provider ?? 'CLAUDE',
671
- });
672
- const handlers = this.setupAcpEventHandler(sessionId, {
673
- persistProviderSessionId: !browseOnly,
674
- });
675
- const shouldSuppressReplay = this.shouldSuppressReplayDuringAcpResume(sessionId, session);
676
- this.acpEventProcessor.setReplaySuppression(sessionId, shouldSuppressReplay);
677
- const apiPort = String(configService.getBackendPort());
678
- const mcpServerConfig = getChildWorkspaceMcpServerConfig({
679
- workspaceId: sessionContext.workspaceId,
680
- parentWorkspaceId: sessionContext.parentWorkspaceId ?? null,
681
- apiBaseUrl: `http://localhost:${apiPort}`,
682
- });
683
- const clientOptions = {
684
- provider: session?.provider ?? 'CLAUDE',
685
- purpose: options?.purpose,
686
- workingDir: sessionContext.workingDir,
687
- model: options?.model ?? sessionContext.model,
688
- systemPrompt: sessionContext.systemPrompt,
689
- permissionPreset,
690
- sessionId,
691
- resumeProviderSessionId: session?.providerSessionId ?? undefined,
692
- mcpServers: [mcpServerConfig],
693
- };
694
- let handle;
695
- this.assertStartupAllowed(sessionId, stopGeneration);
696
- const creationPromise = this.runtimeManager.getOrCreateClient(sessionId, clientOptions, handlers, {
697
- workspaceId: sessionContext.workspaceId,
698
- workingDir: sessionContext.workingDir,
699
- });
700
- const sessionCreations = this.clientCreationOperations.get(sessionId) ?? new Set();
701
- sessionCreations.add(creationPromise);
702
- this.clientCreationOperations.set(sessionId, sessionCreations);
703
- try {
704
- handle = await creationPromise;
705
- this.assertStartupAllowed(sessionId, stopGeneration);
706
- if (browseOnly) {
707
- return { handle, dispatchableNotificationCount: 0 };
708
- }
709
- await this.sessionConfigService.applyConfiguredReasoningEffort(sessionId, handle, {
710
- persistSnapshot: false,
711
- emitUpdates: false,
712
- });
713
- }
714
- catch (error) {
715
- this.clearAcpSessionStateAfterFailedCreation(sessionId, sessionCreations);
716
- throw error;
717
- }
718
- finally {
719
- sessionCreations.delete(creationPromise);
720
- if (sessionCreations.size === 0) {
721
- this.clientCreationOperations.delete(sessionId);
722
- }
723
- }
724
- this.assertStartupAllowed(sessionId, stopGeneration);
725
- await this.persistAcpConfigSnapshot(sessionId, {
726
- provider: handle.provider,
727
- providerSessionId: handle.providerSessionId,
728
- configOptions: handle.configOptions,
729
- existingMetadata: session?.providerMetadata ?? undefined,
730
- });
731
- if (handle.configOptions.length > 0) {
732
- this.sessionDomainService.emitDelta(sessionId, {
733
- type: 'config_options_update',
734
- configOptions: handle.configOptions,
735
- });
736
- }
737
- this.sessionDomainService.emitDelta(sessionId, {
738
- type: 'chat_capabilities',
739
- capabilities: this.buildAcpChatBarCapabilities(handle),
740
- });
741
- this.assertStartupAllowed(sessionId, stopGeneration);
742
- const dispatchableNotificationCount = await this.deliverPendingChildNotifications(sessionId, sessionContext.workspaceId, stopGeneration);
743
- return { handle, dispatchableNotificationCount };
744
- }
745
- clearAcpSessionStateAfterFailedCreation(sessionId, sessionCreations) {
746
- if (sessionCreations.size === 1) {
747
- this.acpEventProcessor.clearSessionState(sessionId);
748
- }
749
- }
750
- shouldSuppressReplayDuringAcpResume(sessionId, session) {
751
- if (!session?.providerSessionId) {
752
- return false;
753
- }
754
- if (!this.sessionDomainService.isHistoryHydrated(sessionId)) {
755
- return false;
756
- }
757
- return this.sessionDomainService.getTranscriptSnapshot(sessionId).length > 0;
758
- }
759
- async applyStartupModePreset(sessionId, handle, startupModePreset, workflow) {
760
- await this.sessionConfigService.applyStartupModePreset(sessionId, handle, startupModePreset, workflow, {
761
- persistSnapshot: this.persistAcpConfigSnapshot.bind(this),
762
- });
763
- }
764
- async applyConfiguredPermissionPreset(sessionId, session, handle, permissionPreset) {
765
- await this.sessionConfigService.applyConfiguredPermissionPreset(sessionId, session, handle, permissionPreset);
766
- }
767
- finalizeOrphanedToolCalls(sessionId, reason) {
768
- try {
769
- this.acpEventProcessor.finalizeOrphanedToolCalls(sessionId, reason);
770
- }
771
- catch (error) {
772
- logger.warn('Failed finalizing orphaned ACP tool calls', {
773
- sessionId,
774
- reason,
775
- error: error instanceof Error ? error.message : String(error),
776
- });
777
- this.acpEventProcessor.clearPendingToolCalls(sessionId);
778
- }
779
- }
780
- markWorkspaceSessionIdleOnStop(workspaceId, sessionId) {
781
- if (!(workspaceId && this.workspaceBridge)) {
782
- return;
783
- }
784
- try {
785
- this.workspaceBridge.markSessionIdle(workspaceId, sessionId);
786
- }
787
- catch (error) {
788
- logger.warn('Failed to mark workspace session idle during stop', {
789
- sessionId,
790
- workspaceId,
791
- error: error instanceof Error ? error.message : String(error),
792
- });
793
- }
794
- }
795
- async loadSessionForStop(sessionId) {
796
- try {
797
- return await this.retryService.run(() => this.repository.getSessionById(sessionId), {
798
- attempts: 2,
799
- operationName: 'loadSessionForStop',
800
- context: { sessionId },
801
- });
802
- }
803
- catch (error) {
804
- logger.warn('Failed to load session before stop; continuing with process shutdown', {
805
- sessionId,
806
- error: error instanceof Error ? error.message : String(error),
807
- });
808
- return null;
809
- }
810
- }
811
- async updateStoppedSessionState(sessionId) {
812
- try {
813
- await this.retryService.run(() => this.repository.updateSessionIfStatus(sessionId, {
814
- status: SessionStatus.IDLE,
815
- }, [SessionStatus.RUNNING]), {
816
- attempts: 2,
817
- operationName: 'updateStoppedSessionState',
818
- context: { sessionId },
819
- });
820
- }
821
- catch (error) {
822
- logger.warn('Failed to update session state during stop; continuing cleanup', {
823
- sessionId,
824
- error: error instanceof Error ? error.message : String(error),
825
- });
826
- }
827
- }
828
- async cleanupTransientRatchetOnStop(session, sessionId, shouldCleanupTransientRatchetSession) {
829
- if (session?.workflow !== 'ratchet') {
830
- return;
831
- }
832
- try {
833
- await this.recordRatchetSessionEnd(session.workspaceId, sessionId, 'COMPLETED');
834
- }
835
- catch (error) {
836
- logger.warn('Failed settling ratchet dispatch record during stop', {
837
- sessionId,
838
- workspaceId: session.workspaceId,
839
- error: error instanceof Error ? error.message : String(error),
840
- });
841
- }
842
- if (!shouldCleanupTransientRatchetSession) {
843
- return;
844
- }
845
- try {
846
- await this.persistRatchetTranscript(sessionId);
847
- await this.repository.deleteSession(sessionId);
848
- this.sessionDomainService.clearSession(sessionId);
849
- logger.debug('Deleted transient ratchet session after stop', { sessionId });
850
- }
851
- catch (error) {
852
- logger.warn('Failed persisting or deleting transient ratchet session during stop', {
853
- sessionId,
854
- error: error instanceof Error ? error.message : String(error),
855
- });
856
- }
857
- }
858
- async recordRatchetSessionEnd(workspaceId, sessionId, outcome) {
859
- if (!this.workspaceBridge) {
860
- return;
861
- }
862
- await this.workspaceBridge.recordRatchetSessionEnd(workspaceId, sessionId, outcome);
863
- }
864
- async recordRatchetSessionEndOnExit(workspaceId, sessionId, exitCode) {
865
- const outcome = exitCode === 0 || this.runtimeManager.isStopInProgress(sessionId) ? 'COMPLETED' : 'DIED';
866
- await this.recordRatchetSessionEnd(workspaceId, sessionId, outcome);
867
- }
868
- async maybeDiscoverPROnSessionEnd(workspaceId) {
869
- if (!this.workspaceBridge) {
870
- return;
871
- }
872
- await maybeDiscoverPROnSessionEndHelper(workspaceId, logger, this.workspaceBridge);
873
- }
874
- clearSessionStoreIfInactive(sessionId, reason) {
875
- if (this.runtimeManager.isSessionRunning(sessionId) ||
876
- sessionEventBus.countViewers(sessionId) > 0) {
877
- return;
878
- }
879
- this.sessionDomainService.clearSession(sessionId, { preserveRejections: true });
880
- logger.debug('Cleared inactive in-memory session state', { sessionId, reason });
881
- }
882
- async persistClosedSession(sessionId) {
883
- const session = await this.repository.getSessionById(sessionId);
884
- if (!session) {
885
- logger.warn('Cannot persist closed session: session not found', { sessionId });
886
- return;
887
- }
888
- const workspace = await workspaceDataService.findById(session.workspaceId);
889
- if (!workspace?.worktreePath) {
890
- logger.warn('Cannot persist closed session: no worktree path', {
891
- sessionId,
892
- workspaceId: session.workspaceId,
893
- });
894
- return;
895
- }
896
- await this.hydrateProviderHistory(sessionId, {
897
- ...session,
898
- workspace: { worktreePath: workspace.worktreePath },
899
- });
900
- await this.lifecycleEventService.hydrate(sessionId);
901
- const transcript = this.sessionDomainService.getTranscriptSnapshot(sessionId);
902
- await closedSessionPersistenceService.persistClosedSession({
903
- sessionId,
904
- workspaceId: session.workspaceId,
905
- worktreePath: workspace.worktreePath,
906
- name: session.name,
907
- workflow: session.workflow,
908
- provider: session.provider,
909
- model: session.model,
910
- startedAt: session.createdAt,
911
- messages: transcript,
912
- });
913
- }
914
- async persistRatchetTranscript(sessionId) {
915
- await this.persistClosedSession(sessionId);
916
- }
917
- async getOrCreateAcpSessionClient(sessionId, options, session, stopGeneration) {
918
- this.assertStartupAllowed(sessionId, stopGeneration);
919
- const existingAcp = this.runtimeManager.getClient(sessionId);
920
- if (existingAcp) {
921
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
922
- phase: existingAcp.isPromptInFlight ? 'running' : 'idle',
923
- processState: 'alive',
924
- activity: existingAcp.isPromptInFlight ? 'WORKING' : 'IDLE',
925
- updatedAt: new Date().toISOString(),
926
- });
927
- return { handle: existingAcp, dispatchableNotificationCount: 0 };
928
- }
929
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
930
- phase: 'starting',
931
- processState: 'alive',
932
- activity: 'IDLE',
933
- updatedAt: new Date().toISOString(),
934
- });
935
- const resolvedPreset = await this.resolvePermissionPreset(session);
936
- this.assertStartupAllowed(sessionId, stopGeneration);
937
- let handle;
938
- let dispatchableNotificationCount = 0;
939
- try {
940
- const created = await this.createAcpClient(sessionId, options, session, resolvedPreset, stopGeneration);
941
- handle = created.handle;
942
- dispatchableNotificationCount = created.dispatchableNotificationCount;
943
- }
944
- catch (error) {
945
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
946
- phase: 'error',
947
- processState: 'stopped',
948
- activity: 'IDLE',
949
- errorMessage: `Failed to start agent: ${toErrorMessage(error)}`,
950
- updatedAt: new Date().toISOString(),
951
- });
952
- throw error;
953
- }
954
- this.assertStartupAllowed(sessionId, stopGeneration);
955
- await this.repository.updateSession(sessionId, {
956
- status: SessionStatus.RUNNING,
957
- });
958
- this.sessionDomainService.setRuntimeSnapshot(sessionId, {
959
- phase: handle.isPromptInFlight ? 'running' : 'idle',
960
- processState: 'alive',
961
- activity: handle.isPromptInFlight ? 'WORKING' : 'IDLE',
962
- updatedAt: new Date().toISOString(),
963
- });
964
- return { handle, resolvedPreset, dispatchableNotificationCount };
965
- }
966
- async dispatchQueuedNotificationsIfNeeded(sessionId, dispatchableNotificationCount) {
967
- if (dispatchableNotificationCount === 0 || !this.messageQueueBridge) {
968
- return;
969
- }
970
- try {
971
- await this.messageQueueBridge.tryDispatchNextMessage(sessionId);
972
- }
973
- catch (error) {
974
- logger.warn('Failed to dispatch queued workspace notifications', {
975
- sessionId,
976
- error: error instanceof Error ? error.message : String(error),
977
- });
978
- }
979
- }
980
- async persistAcpConfigSnapshot(sessionId, params) {
981
- await this.sessionConfigService.persistAcpConfigSnapshot(sessionId, params);
982
- }
983
- buildAcpChatBarCapabilities(handle) {
984
- return this.sessionConfigService.buildAcpChatBarCapabilities(handle);
985
- }
986
- async loadSessionContext(sessionId, preloadedSession) {
987
- const session = preloadedSession ?? (await this.repository.getSessionById(sessionId));
988
- if (!session) {
989
- logger.warn('Session not found when getting options', { sessionId });
990
- return null;
991
- }
992
- const workspace = await this.repository.getWorkspaceById(session.workspaceId);
993
- if (!workspace?.worktreePath) {
994
- logger.warn('Workspace or worktree not found', {
995
- sessionId,
996
- workspaceId: session.workspaceId,
997
- });
998
- return null;
999
- }
1000
- const shouldInjectBranchRename = this.promptBuilder.shouldInjectBranchRename({
1001
- branchName: workspace.branchName,
1002
- isAutoGeneratedBranch: workspace.isAutoGeneratedBranch,
1003
- hasHadSessions: workspace.hasHadSessions,
1004
- });
1005
- const project = shouldInjectBranchRename
1006
- ? await this.repository.getProjectById(workspace.projectId)
1007
- : null;
1008
- if (shouldInjectBranchRename && !project) {
1009
- logger.warn('Project not found when building branch rename instruction', {
1010
- sessionId,
1011
- projectId: workspace.projectId,
1012
- });
1013
- }
1014
- const parentCtx = await this.resolveParentWorkspaceContext(workspace);
1015
- const { workflowPrompt, systemPrompt, injectedBranchRename } = this.promptBuilder.buildSystemPrompt({
1016
- workflow: session.workflow,
1017
- workspace: {
1018
- branchName: workspace.branchName,
1019
- isAutoGeneratedBranch: workspace.isAutoGeneratedBranch,
1020
- hasHadSessions: workspace.hasHadSessions,
1021
- name: workspace.name,
1022
- description: workspace.description ?? undefined,
1023
- runScriptPort: workspace.runScriptPort,
1024
- parentWorkspaceId: workspace.parentWorkspaceId,
1025
- parentWorkspaceName: parentCtx.parentWorkspaceName,
1026
- parentProjectName: parentCtx.parentProjectName,
1027
- reportBackOn: parentCtx.reportBackOn,
1028
- },
1029
- project,
1030
- });
1031
- logger.info('Loaded workflow prompt for session options', {
1032
- sessionId,
1033
- workflow: session.workflow,
1034
- hasPrompt: !!workflowPrompt,
1035
- promptLength: workflowPrompt?.length ?? 0,
1036
- });
1037
- if (injectedBranchRename) {
1038
- logger.info('Injected branch rename instruction', {
1039
- sessionId,
1040
- branchName: workspace.branchName,
1041
- branchPrefix: project?.githubOwner,
1042
- });
1043
- }
1044
- return {
1045
- workingDir: workspace.worktreePath,
1046
- resumeProviderSessionId: session.providerSessionId ?? undefined,
1047
- systemPrompt,
1048
- model: session.model,
1049
- workspaceId: workspace.id,
1050
- workspaceStatus: workspace.status,
1051
- parentWorkspaceId: workspace.parentWorkspaceId,
1052
- };
1053
- }
1054
- async deliverPendingChildNotifications(sessionId, workspaceId, stopGeneration = this.getStopGeneration(sessionId)) {
1055
- try {
1056
- const pending = await workspaceNotificationService.listPendingForDelivery(workspaceId);
1057
- this.assertStartupAllowed(sessionId, stopGeneration);
1058
- if (pending.length === 0) {
1059
- return 0;
1060
- }
1061
- if (!this.messageQueueBridge) {
1062
- logger.warn('Cannot deliver pending workspace notifications: message queue bridge missing', {
1063
- sessionId,
1064
- workspaceId,
1065
- count: pending.length,
1066
- });
1067
- return 0;
1068
- }
1069
- let enqueuedCount = 0;
1070
- let dispatchableCount = 0;
1071
- const consumedContentMatchIds = new Set();
1072
- for (const notification of pending) {
1073
- this.assertStartupAllowed(sessionId, stopGeneration);
1074
- const timestamp = notification.createdAt.toISOString();
1075
- const messageId = workspaceNotificationMessageId(notification.id);
1076
- if (this.sessionDomainService.hasQueuedMessage(sessionId, messageId)) {
1077
- dispatchableCount += 1;
1078
- continue;
1079
- }
1080
- let claudeMessage;
1081
- if (notification.direction === 'PARENT_TO_CHILD') {
1082
- claudeMessage = {
1083
- type: 'parent_workspace_update',
1084
- parentWorkspaceId: notification.sourceWorkspaceId,
1085
- parentWorkspaceName: notification.sourceWorkspaceName,
1086
- parentProjectName: notification.sourceProjectName,
1087
- text: notification.message,
1088
- timestamp,
1089
- };
1090
- }
1091
- else {
1092
- claudeMessage = {
1093
- type: 'child_workspace_update',
1094
- childWorkspaceId: notification.sourceWorkspaceId,
1095
- childWorkspaceName: notification.sourceWorkspaceName,
1096
- childProjectName: notification.sourceProjectName,
1097
- text: notification.message,
1098
- timestamp,
1099
- };
1100
- }
1101
- const enqueueText = buildWorkspaceNotificationMessageText(notification);
1102
- const alreadyDelivered = await this.markDeliveredIfTranscriptMatch(sessionId, workspaceId, notification.id, messageId, enqueueText, consumedContentMatchIds);
1103
- this.assertStartupAllowed(sessionId, stopGeneration);
1104
- if (alreadyDelivered) {
1105
- continue;
1106
- }
1107
- if (this.sessionDomainService.hasQueuedMessage(sessionId, messageId)) {
1108
- dispatchableCount += 1;
1109
- continue;
1110
- }
1111
- const enqueueResult = this.sessionDomainService.enqueue(sessionId, {
1112
- id: messageId,
1113
- text: enqueueText,
1114
- timestamp,
1115
- settings: {
1116
- selectedModel: null,
1117
- reasoningEffort: null,
1118
- thinkingEnabled: false,
1119
- planModeEnabled: false,
1120
- },
1121
- });
1122
- if ('error' in enqueueResult) {
1123
- logger.warn('Failed to enqueue pending workspace notification', {
1124
- sessionId,
1125
- workspaceId,
1126
- notificationId: notification.id,
1127
- error: enqueueResult.error,
1128
- });
1129
- continue;
1130
- }
1131
- enqueuedCount += 1;
1132
- dispatchableCount += 1;
1133
- const order = this.sessionDomainService.appendClaudeEvent(sessionId, claudeMessage);
1134
- this.sessionDomainService.emitDelta(sessionId, {
1135
- type: 'agent_message',
1136
- data: claudeMessage,
1137
- order,
1138
- });
1139
- }
1140
- logger.info('Queued pending workspace notifications', {
1141
- sessionId,
1142
- workspaceId,
1143
- count: enqueuedCount,
1144
- dispatchableCount,
1145
- });
1146
- return dispatchableCount;
1147
- }
1148
- catch (error) {
1149
- logger.warn('Failed to deliver pending workspace notifications', {
1150
- sessionId,
1151
- workspaceId,
1152
- error: error instanceof Error ? error.message : String(error),
1153
- });
1154
- return 0;
1155
- }
1156
- }
1157
- findCommittedQueuedWorkspaceNotificationMessage(sessionId, messageId, messageText, consumedContentMatchIds) {
1158
- const userEntries = this.sessionDomainService
1159
- .getTranscriptSnapshot(sessionId)
1160
- .filter((entry) => entry.source === 'user');
1161
- const exactIdMatch = userEntries.find((entry) => entry.id === messageId);
1162
- if (exactIdMatch) {
1163
- return { id: exactIdMatch.id, matchedByContent: false };
1164
- }
1165
- if (this.sessionDomainService.getHistoryHydrationSource(sessionId) !== 'jsonl') {
1166
- return undefined;
1167
- }
1168
- const contentMatch = userEntries.find((entry) => !entry.id.startsWith(WORKSPACE_NOTIFICATION_MESSAGE_ID_PREFIX) &&
1169
- entry.text === messageText &&
1170
- !consumedContentMatchIds.has(entry.id));
1171
- if (contentMatch) {
1172
- return { id: contentMatch.id, matchedByContent: true };
1173
- }
1174
- return undefined;
1175
- }
1176
- async markDeliveredIfTranscriptMatch(sessionId, workspaceId, notificationId, messageId, messageText, consumedContentMatchIds) {
1177
- const committedMessage = this.findCommittedQueuedWorkspaceNotificationMessage(sessionId, messageId, messageText, consumedContentMatchIds);
1178
- if (!committedMessage) {
1179
- return false;
1180
- }
1181
- if (committedMessage.matchedByContent) {
1182
- consumedContentMatchIds.add(committedMessage.id);
1183
- }
1184
- await this.markDeliveredAfterTranscriptMatch(sessionId, workspaceId, notificationId);
1185
- return true;
1186
- }
1187
- async markDeliveredAfterTranscriptMatch(sessionId, workspaceId, notificationId) {
1188
- try {
1189
- await workspaceNotificationService.markDelivered([notificationId]);
1190
- }
1191
- catch (error) {
1192
- logger.warn('Failed to mark already-transcripted workspace notification delivered', {
1193
- sessionId,
1194
- workspaceId,
1195
- notificationId,
1196
- error: error instanceof Error ? error.message : String(error),
1197
- });
1198
- }
1199
- }
1200
- async resolveParentWorkspaceContext(workspace) {
1201
- if (!workspace.parentWorkspaceId) {
1202
- return {};
1203
- }
1204
- let parentWorkspaceName;
1205
- let parentProjectName;
1206
- const parentWorkspace = await this.repository.getWorkspaceById(workspace.parentWorkspaceId);
1207
- if (parentWorkspace) {
1208
- parentWorkspaceName = parentWorkspace.name;
1209
- const parentProject = await this.repository.getProjectById(parentWorkspace.projectId);
1210
- parentProjectName = parentProject?.name;
1211
- }
1212
- const metadata = workspace.creationMetadata;
1213
- const reportBackOn = typeof metadata?.reportBackOn === 'string' ? metadata.reportBackOn : undefined;
1214
- return { parentWorkspaceName, parentProjectName, reportBackOn };
1215
- }
1216
- async resolvePermissionPreset(session) {
1217
- const fallback = session?.workflow === 'ratchet' ? 'YOLO' : 'STRICT';
1218
- try {
1219
- const settings = await userSettingsService.get();
1220
- return session?.workflow === 'ratchet'
1221
- ? settings.ratchetPermissions
1222
- : settings.defaultWorkspacePermissions;
1223
- }
1224
- catch (error) {
1225
- logger.warn('Failed loading user permission preset; using default', {
1226
- workflow: session?.workflow,
1227
- error: error instanceof Error ? error.message : String(error),
1228
- });
1229
- return fallback;
106
+ assertConfigured() {
107
+ if (!this.configured) {
108
+ throw new Error('SessionLifecycleService not configured: lifecycle bridges missing');
1230
109
  }
1231
110
  }
1232
111
  }