factory-factory 0.4.6 → 0.4.7

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 (527) hide show
  1. package/dist/client/assets/{abnfDiagram-N423BO3Z-BcUuFtOj.js → abnfDiagram-N423BO3Z-BZQ2vUo6.js} +1 -1
  2. package/dist/client/assets/{arc-Cp8_E6ha.js → arc-XI8Jpfl3.js} +1 -1
  3. package/dist/client/assets/{architectureDiagram-T3A2C74G-C3_2J0tC.js → architectureDiagram-T3A2C74G-Dt7Y1pyP.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-VBNYF7ZC-Dy0jc6lP.js → blockDiagram-VBNYF7ZC-DldefwGh.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-5PPSVZJV-97TkD6w-.js → c4Diagram-5PPSVZJV-Ba08x7Ef.js} +1 -1
  6. package/dist/client/assets/channel-CRP5IiHm.js +1 -0
  7. package/dist/client/assets/{chunk-2GRJ4B5K-Dc0I7ume.js → chunk-2GRJ4B5K-B9S0F-4G.js} +1 -1
  8. package/dist/client/assets/{chunk-2Q5K7J3B-DbFPWZwu.js → chunk-2Q5K7J3B-CZXgC_Jx.js} +1 -1
  9. package/dist/client/assets/{chunk-5RXB4S5H-Dci_7ZDD.js → chunk-5RXB4S5H-3z0Q5lZX.js} +1 -1
  10. package/dist/client/assets/{chunk-5VM5RSS4-Ca82Rzl0.js → chunk-5VM5RSS4-D2hwZzSy.js} +1 -1
  11. package/dist/client/assets/{chunk-6Q2QTUOP-Be2f5Q2t.js → chunk-6Q2QTUOP-DhgyUVVB.js} +1 -1
  12. package/dist/client/assets/{chunk-GF5L2VYU-C4VRs6xS.js → chunk-GF5L2VYU-B9CpXn1z.js} +1 -1
  13. package/dist/client/assets/{chunk-JWPE2WC7-DVlW0c7f.js → chunk-JWPE2WC7-C3uO_aKI.js} +1 -1
  14. package/dist/client/assets/{chunk-KBJHAD2P-BKRpW89b.js → chunk-KBJHAD2P-BclkmYso.js} +1 -1
  15. package/dist/client/assets/{chunk-RYQCIY6F-BwMw9oh9.js → chunk-RYQCIY6F-D6aZFqMZ.js} +1 -1
  16. package/dist/client/assets/{chunk-XXDRQBXY-py-FQquv.js → chunk-XXDRQBXY-BQb7-SCi.js} +1 -1
  17. package/dist/client/assets/classDiagram-JCYQIIEL-CB4-8RDd.js +1 -0
  18. package/dist/client/assets/classDiagram-v2-OCEON4UE-CB4-8RDd.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-JH36ORCC-BMCtQCZ8.js → cose-bilkent-JH36ORCC-WLzzMmoC.js} +1 -1
  20. package/dist/client/assets/{cynefin-VYW2F7L2-BTHAy6wD.js → cynefin-VYW2F7L2-D2EF0q2Q.js} +1 -1
  21. package/dist/client/assets/{cynefinDiagram-MW4NZA55-pQCQD0Ih.js → cynefinDiagram-MW4NZA55-CwoCQCrP.js} +1 -1
  22. package/dist/client/assets/{dagre-VZM6K2ZE-CZcoEFVf.js → dagre-VZM6K2ZE-Cg4AkVGB.js} +1 -1
  23. package/dist/client/assets/{diagram-7IWD3JNH-DgQv_208.js → diagram-7IWD3JNH-D9lnDmSl.js} +1 -1
  24. package/dist/client/assets/{diagram-B4RE2ZJO-DoFotcsB.js → diagram-B4RE2ZJO-AhUFMusY.js} +1 -1
  25. package/dist/client/assets/{diagram-LBJQPF4R-C5zkL1ml.js → diagram-LBJQPF4R-C81JtkuS.js} +1 -1
  26. package/dist/client/assets/{diagram-Q27KOJAE-ERKqnoHP.js → diagram-Q27KOJAE-BOzaYlQ2.js} +1 -1
  27. package/dist/client/assets/{diagram-UB23O5K3-Dyt6sy3Z.js → diagram-UB23O5K3-uXHocDB0.js} +1 -1
  28. package/dist/client/assets/{ebnfDiagram-BXEA7PRR-DqsFEAw2.js → ebnfDiagram-BXEA7PRR-Du4yOTiI.js} +1 -1
  29. package/dist/client/assets/{erDiagram-JOGREHBK-Dn8Aqkgn.js → erDiagram-JOGREHBK-BxBwtYA0.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-UKHOOZJN-DcArGyH-.js → flowDiagram-UKHOOZJN-YQc_Us9R.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-PKOTCBZU-BuHaeolc.js → ganttDiagram-PKOTCBZU-CO08NXgj.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-DS77QQ5N-iKWWNsQK.js → gitGraphDiagram-DS77QQ5N-NRBrIkNv.js} +1 -1
  33. package/dist/client/assets/{index-DY0TryY7.js → index-CrLTUCBe.js} +83 -83
  34. package/dist/client/assets/{infoDiagram-6WML65LV-C7IulVvo.js → infoDiagram-6WML65LV-CcOh5qQM.js} +1 -1
  35. package/dist/client/assets/{ishikawaDiagram-WSZJBQD7-DW4cB_Nk.js → ishikawaDiagram-WSZJBQD7-Ci4gKk1n.js} +1 -1
  36. package/dist/client/assets/{journeyDiagram-NVQOT4AX-Nzsiy4H7.js → journeyDiagram-NVQOT4AX-CpW1inrw.js} +1 -1
  37. package/dist/client/assets/{kanban-definition-27J2QSJJ-BUsK9dj9.js → kanban-definition-27J2QSJJ-jez_FwZT.js} +1 -1
  38. package/dist/client/assets/{linear-CyoW-usj.js → linear-6SNETQpS.js} +1 -1
  39. package/dist/client/assets/{mindmap-definition-FAOFIHXS-Bd9cSJjQ.js → mindmap-definition-FAOFIHXS-SmrP71Hb.js} +1 -1
  40. package/dist/client/assets/{mobile-baseline-K78aE4nt.js → mobile-baseline-8VVGaFwv.js} +1 -1
  41. package/dist/client/assets/{pegDiagram-VL7TDLO6-BrmAKdiE.js → pegDiagram-VL7TDLO6-BdZpPP9I.js} +1 -1
  42. package/dist/client/assets/{pieDiagram-7S7Q4E2Y-Ce0k6LI1.js → pieDiagram-7S7Q4E2Y-JiNW5VtU.js} +1 -1
  43. package/dist/client/assets/{quadrantDiagram-CIZ2JOQS-_9HxOOGa.js → quadrantDiagram-CIZ2JOQS-C2VhzPor.js} +1 -1
  44. package/dist/client/assets/{railroadDiagram-AXF67PYL-ChdF1CBw.js → railroadDiagram-AXF67PYL-BdfHLYrf.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-LRYGKXZP-Bm2gdYTE.js → requirementDiagram-LRYGKXZP-BRxDcjdJ.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-W5VNT64P-Kf7zUiC-.js → sankeyDiagram-W5VNT64P-BvibpHKV.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-SI44F4Z6-DyPqsgh1.js → sequenceDiagram-SI44F4Z6-CstrIf8Q.js} +1 -1
  48. package/dist/client/assets/{sizeCapture-X5ZJPWSS-Cgn8Hxr2.js → sizeCapture-X5ZJPWSS-fplvtb2v.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-OKZ733FA-CJxSzxmg.js → stateDiagram-OKZ733FA-Cb0qJfhN.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-C_Uzjhvg.js +1 -0
  51. package/dist/client/assets/{swimlanes-SLNWSIFB-Ckb_izEZ.js → swimlanes-SLNWSIFB-BAqCm7Gx.js} +2 -2
  52. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-CO4t8Utk.js +8 -0
  53. package/dist/client/assets/{terminal-instance-DWySt2_t.js → terminal-instance-B0prRfF6.js} +1 -1
  54. package/dist/client/assets/{timeline-definition-Z64GVDOM-BWx_NLrK.js → timeline-definition-Z64GVDOM-BZbQ0pZK.js} +1 -1
  55. package/dist/client/assets/{vennDiagram-T6HMQDX7-BgN2-lO-.js → vennDiagram-T6HMQDX7-B3YQXfS4.js} +1 -1
  56. package/dist/client/assets/{wardleyDiagram-T6FBY63Y-C9iwoeki.js → wardleyDiagram-T6FBY63Y-Cufi2KwO.js} +1 -1
  57. package/dist/client/assets/{xychartDiagram-ELKLHX3M-B3AYy5ZN.js → xychartDiagram-ELKLHX3M-CHGxh5zQ.js} +1 -1
  58. package/dist/client/index.html +1 -1
  59. package/dist/src/backend/app-context.d.ts.map +1 -1
  60. package/dist/src/backend/app-context.js +2 -2
  61. package/dist/src/backend/app-context.js.map +1 -1
  62. package/dist/src/backend/app-context.test.js +6 -1
  63. package/dist/src/backend/app-context.test.js.map +1 -1
  64. package/dist/src/backend/clients/git.client.d.ts +0 -8
  65. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  66. package/dist/src/backend/clients/git.client.js +0 -70
  67. package/dist/src/backend/clients/git.client.js.map +1 -1
  68. package/dist/src/backend/clients/git.client.test.js +2 -178
  69. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  70. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +3 -2
  71. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -1
  72. package/dist/src/backend/lib/file-helpers.d.ts +0 -1
  73. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  74. package/dist/src/backend/lib/file-helpers.js +0 -27
  75. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  76. package/dist/src/backend/lib/shell.d.ts +0 -4
  77. package/dist/src/backend/lib/shell.d.ts.map +1 -1
  78. package/dist/src/backend/lib/shell.js +0 -25
  79. package/dist/src/backend/lib/shell.js.map +1 -1
  80. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  81. package/dist/src/backend/routers/websocket/chat.handler.js +1 -17
  82. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  83. package/dist/src/backend/routers/websocket/chat.handler.test.js +2 -8
  84. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  85. package/dist/src/backend/routers/websocket/websocket.integration.test.js +0 -4
  86. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  87. package/dist/src/backend/server.d.ts.map +1 -1
  88. package/dist/src/backend/server.js +2 -2
  89. package/dist/src/backend/server.js.map +1 -1
  90. package/dist/src/backend/server.upgrade.test.js +10 -4
  91. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  92. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts +0 -2
  93. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
  94. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +0 -6
  95. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js.map +1 -1
  96. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +0 -23
  97. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  98. package/dist/src/backend/services/github/service/github-cli/schemas.js +0 -18
  99. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  100. package/dist/src/backend/services/github/service/github-cli.service.d.ts +0 -2
  101. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  102. package/dist/src/backend/services/github/service/github-cli.service.js +0 -37
  103. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  104. package/dist/src/backend/services/github/service/github-cli.service.test.js +3 -13
  105. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  106. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +0 -1
  107. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  108. package/dist/src/backend/services/session/resources/agent-session.accessor.js +0 -8
  109. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  110. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +0 -10
  111. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  112. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts +33 -0
  113. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -0
  114. package/dist/src/backend/services/session/service/acp/acp-client-factory.js +274 -0
  115. package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -0
  116. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts +2 -0
  117. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts.map +1 -0
  118. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +454 -0
  119. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -0
  120. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  121. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +17 -0
  122. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  123. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +171 -0
  124. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  125. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +0 -1
  126. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
  127. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +0 -3
  128. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
  129. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js +0 -10
  130. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js.map +1 -1
  131. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js +17 -0
  132. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js.map +1 -1
  133. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts +17 -0
  134. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts.map +1 -0
  135. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js +96 -0
  136. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js.map +1 -0
  137. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts +2 -0
  138. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts.map +1 -0
  139. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js +140 -0
  140. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js.map +1 -0
  141. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts +8 -0
  142. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts.map +1 -0
  143. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js +81 -0
  144. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js.map +1 -0
  145. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts +2 -0
  146. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts.map +1 -0
  147. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js +208 -0
  148. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js.map +1 -0
  149. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts +25 -0
  150. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts.map +1 -0
  151. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js +2 -0
  152. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js.map +1 -0
  153. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts +5 -0
  154. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts.map +1 -0
  155. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js +39 -0
  156. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js.map +1 -0
  157. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts +20 -0
  158. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts.map +1 -0
  159. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js +68 -0
  160. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js.map +1 -0
  161. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts +2 -0
  162. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts.map +1 -0
  163. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js +17 -0
  164. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js.map +1 -0
  165. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +30 -1
  166. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
  167. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts +5 -0
  168. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts.map +1 -0
  169. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js +35 -0
  170. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js.map +1 -0
  171. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts +2 -0
  172. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts.map +1 -0
  173. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js +310 -0
  174. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js.map +1 -0
  175. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts +2 -0
  176. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts.map +1 -0
  177. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js +162 -0
  178. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js.map +1 -0
  179. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts +2 -0
  180. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts.map +1 -0
  181. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js +390 -0
  182. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js.map +1 -0
  183. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +18 -68
  184. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  185. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts +2 -0
  186. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts.map +1 -0
  187. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js +59 -0
  188. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js.map +1 -0
  189. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +65 -993
  190. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  191. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts +2 -0
  192. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts.map +1 -0
  193. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js +185 -0
  194. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js.map +1 -0
  195. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts +2 -0
  196. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts.map +1 -0
  197. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js +57 -0
  198. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js.map +1 -0
  199. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts +2 -0
  200. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts.map +1 -0
  201. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js +392 -0
  202. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js.map +1 -0
  203. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts +27 -0
  204. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts.map +1 -0
  205. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js +96 -0
  206. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js.map +1 -0
  207. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +59 -0
  208. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -0
  209. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +142 -0
  210. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -0
  211. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts +21 -0
  212. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts.map +1 -0
  213. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +112 -0
  214. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -0
  215. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts +2 -0
  216. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts.map +1 -0
  217. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js +142 -0
  218. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js.map +1 -0
  219. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts +2 -0
  220. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts.map +1 -0
  221. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +333 -0
  222. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -0
  223. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts +85 -0
  224. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -0
  225. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +633 -0
  226. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -0
  227. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts +2 -0
  228. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts.map +1 -0
  229. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js +99 -0
  230. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js.map +1 -0
  231. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts +2 -0
  232. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts.map +1 -0
  233. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js +490 -0
  234. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js.map +1 -0
  235. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts +9 -0
  236. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts.map +1 -0
  237. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js +96 -0
  238. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js.map +1 -0
  239. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts +2 -0
  240. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts.map +1 -0
  241. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js +171 -0
  242. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js.map +1 -0
  243. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +1 -1
  244. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  245. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +14 -6
  246. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  247. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.d.ts +2 -0
  248. 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
  249. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js +265 -0
  250. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js.map +1 -0
  251. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +32 -14
  252. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  253. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts +7 -0
  254. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -0
  255. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +98 -0
  256. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -0
  257. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts +2 -0
  258. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts.map +1 -0
  259. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js +148 -0
  260. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js.map +1 -0
  261. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js +10 -0
  262. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js.map +1 -1
  263. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts +72 -0
  264. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -1
  265. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js +46 -1
  266. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js.map +1 -1
  267. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js +39 -0
  268. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
  269. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +10 -1
  270. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
  271. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +149 -17
  272. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
  273. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js +348 -19
  274. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js.map +1 -1
  275. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts +8 -0
  276. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts.map +1 -0
  277. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js +9 -0
  278. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js.map +1 -0
  279. package/dist/src/backend/services/session/service/acp/index.d.ts +2 -2
  280. package/dist/src/backend/services/session/service/acp/index.d.ts.map +1 -1
  281. package/dist/src/backend/services/session/service/acp/index.js +1 -0
  282. package/dist/src/backend/services/session/service/acp/index.js.map +1 -1
  283. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  284. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +9 -1
  285. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  286. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts +2 -0
  287. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts.map +1 -0
  288. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js +195 -0
  289. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js.map +1 -0
  290. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -23
  291. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  292. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +0 -6
  293. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  294. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +1 -1
  295. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js.map +1 -1
  296. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js +1 -1
  297. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js.map +1 -1
  298. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +1 -1
  299. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js.map +1 -1
  300. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js +1 -1
  301. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js.map +1 -1
  302. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts +4 -2
  303. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts.map +1 -1
  304. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +2 -7
  305. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
  306. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +9 -11
  307. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  308. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +1 -1
  309. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js.map +1 -1
  310. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +1 -3
  311. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  312. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.d.ts.map +1 -1
  313. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js +3 -2
  314. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js.map +1 -1
  315. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +24 -8
  316. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  317. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +14 -15
  318. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  319. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +56 -114
  320. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  321. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +49 -218
  322. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  323. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +0 -2
  324. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  325. package/dist/src/backend/services/session/service/data/session-data.service.js +0 -6
  326. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  327. package/dist/src/backend/services/session/service/data/session-data.service.test.js +0 -6
  328. package/dist/src/backend/services/session/service/data/session-data.service.test.js.map +1 -1
  329. package/dist/src/backend/services/session/service/index.d.ts +3 -4
  330. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  331. package/dist/src/backend/services/session/service/index.js +2 -2
  332. package/dist/src/backend/services/session/service/index.js.map +1 -1
  333. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  334. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +9 -0
  335. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  336. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js +47 -0
  337. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js.map +1 -1
  338. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +33 -0
  339. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -0
  340. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +120 -0
  341. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -0
  342. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts +2 -0
  343. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts.map +1 -0
  344. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +174 -0
  345. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -0
  346. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +23 -0
  347. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -0
  348. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +150 -0
  349. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -0
  350. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts +5 -0
  351. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -0
  352. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +38 -0
  353. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -0
  354. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts +2 -0
  355. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts.map +1 -0
  356. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +52 -0
  357. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -0
  358. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +35 -0
  359. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -0
  360. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +120 -0
  361. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -0
  362. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts +2 -0
  363. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts.map +1 -0
  364. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js +192 -0
  365. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js.map +1 -0
  366. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +115 -0
  367. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -0
  368. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +434 -0
  369. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -0
  370. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts +13 -0
  371. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts.map +1 -0
  372. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js +2 -0
  373. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js.map +1 -0
  374. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts +81 -0
  375. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -0
  376. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +242 -0
  377. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js.map +1 -0
  378. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts +2 -0
  379. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts.map +1 -0
  380. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js +528 -0
  381. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -0
  382. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +39 -0
  383. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -0
  384. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +208 -0
  385. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -0
  386. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts +2 -0
  387. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts.map +1 -0
  388. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +274 -0
  389. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -0
  390. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts +2 -0
  391. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts.map +1 -0
  392. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +105 -0
  393. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -0
  394. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +5 -17
  395. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
  396. package/dist/src/backend/services/session/service/lifecycle/session-services.js +14 -87
  397. package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
  398. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +64 -0
  399. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -0
  400. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +352 -0
  401. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -0
  402. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts +2 -0
  403. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts.map +1 -0
  404. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +702 -0
  405. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js.map +1 -0
  406. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +54 -0
  407. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -0
  408. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +265 -0
  409. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -0
  410. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts +2 -0
  411. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts.map +1 -0
  412. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +514 -0
  413. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js.map +1 -0
  414. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +62 -0
  415. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -0
  416. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +175 -0
  417. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -0
  418. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts +2 -0
  419. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts.map +1 -0
  420. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js +294 -0
  421. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -0
  422. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts +2 -0
  423. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts.map +1 -0
  424. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +431 -0
  425. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -0
  426. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +24 -116
  427. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  428. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +47 -1168
  429. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  430. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +11 -6
  431. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js.map +1 -1
  432. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +3 -6
  433. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  434. package/dist/src/backend/services/session/service/lifecycle/session.service.js +9 -12
  435. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  436. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +44 -35
  437. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  438. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts +3 -0
  439. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts.map +1 -0
  440. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js +92 -0
  441. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js.map +1 -0
  442. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts +2 -0
  443. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts.map +1 -0
  444. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js +81 -0
  445. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js.map +1 -0
  446. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +0 -1
  447. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  448. package/dist/src/backend/services/workspace/resources/project.accessor.js +0 -13
  449. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  450. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +0 -1
  451. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  452. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +0 -10
  453. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  454. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +3 -8
  455. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  456. package/dist/src/backend/services/workspace/service/index.d.ts +9 -10
  457. package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
  458. package/dist/src/backend/services/workspace/service/index.js +5 -5
  459. package/dist/src/backend/services/workspace/service/index.js.map +1 -1
  460. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +4 -4
  461. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +1 -7
  462. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
  463. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +0 -1
  464. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  465. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts +2 -0
  466. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts.map +1 -0
  467. package/dist/src/backend/testing/npm-publish-workflow.test.js +205 -0
  468. package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -0
  469. package/dist/src/backend/trpc/index.d.ts +2 -18
  470. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  471. package/dist/src/backend/trpc/pr-review.router.test.js +1 -12
  472. package/dist/src/backend/trpc/pr-review.router.test.js.map +1 -1
  473. package/dist/src/backend/trpc/pr-review.trpc.d.ts +0 -16
  474. package/dist/src/backend/trpc/pr-review.trpc.d.ts.map +1 -1
  475. package/dist/src/backend/trpc/pr-review.trpc.js +0 -14
  476. package/dist/src/backend/trpc/pr-review.trpc.js.map +1 -1
  477. package/dist/src/backend/trpc/session.router.test.js +13 -37
  478. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  479. package/dist/src/backend/trpc/workspace.router.test.js +41 -2
  480. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  481. package/dist/src/backend/trpc/workspace.trpc.d.ts +4 -4
  482. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  483. package/dist/src/backend/trpc/workspace.trpc.js +12 -1
  484. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  485. package/dist/src/lib/chat-protocol.d.ts +72 -0
  486. package/dist/src/lib/chat-protocol.d.ts.map +1 -0
  487. package/dist/src/lib/chat-protocol.js +514 -0
  488. package/dist/src/lib/chat-protocol.js.map +1 -0
  489. package/dist/src/test-utils/application-graph.d.ts.map +1 -1
  490. package/dist/src/test-utils/application-graph.js +1 -0
  491. package/dist/src/test-utils/application-graph.js.map +1 -1
  492. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  493. package/package.json +6 -3
  494. package/scripts/postinstall.mjs +6 -2
  495. package/dist/client/assets/channel-DLBBfejH.js +0 -1
  496. package/dist/client/assets/classDiagram-JCYQIIEL-Ds5wVQR3.js +0 -1
  497. package/dist/client/assets/classDiagram-v2-OCEON4UE-Ds5wVQR3.js +0 -1
  498. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-BwUaUW2J.js +0 -1
  499. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-D87lLmuW.js +0 -8
  500. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts +0 -2
  501. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts.map +0 -1
  502. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +0 -1736
  503. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +0 -1
  504. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts +0 -2
  505. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts.map +0 -1
  506. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +0 -1520
  507. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +0 -1
  508. package/dist/src/backend/services/session/service/runtime/index.d.ts +0 -5
  509. package/dist/src/backend/services/session/service/runtime/index.d.ts.map +0 -1
  510. package/dist/src/backend/services/session/service/runtime/index.js +0 -2
  511. package/dist/src/backend/services/session/service/runtime/index.js.map +0 -1
  512. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts +0 -21
  513. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts.map +0 -1
  514. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js +0 -2
  515. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js.map +0 -1
  516. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts +0 -97
  517. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts.map +0 -1
  518. package/dist/src/backend/services/session/service/store/file-lock.service.js +0 -429
  519. package/dist/src/backend/services/session/service/store/file-lock.service.js.map +0 -1
  520. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts +0 -2
  521. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts.map +0 -1
  522. package/dist/src/backend/services/session/service/store/file-lock.service.test.js +0 -672
  523. package/dist/src/backend/services/session/service/store/file-lock.service.test.js.map +0 -1
  524. package/dist/src/shared/workspace-words.d.ts +0 -5
  525. package/dist/src/shared/workspace-words.d.ts.map +0 -1
  526. package/dist/src/shared/workspace-words.js +0 -146
  527. package/dist/src/shared/workspace-words.js.map +0 -1
@@ -0,0 +1,434 @@
1
+ import { vi } from 'vitest';
2
+ import { workspaceNotificationService } from '../../../../../backend/services/workspace/index.js';
3
+ import { EMPTY_CHAT_BAR_CAPABILITIES } from '../../../../../shared/chat-capabilities.js';
4
+ import { SessionStatus, WorkspaceStatus } from '../../../../../shared/core/index.js';
5
+ import { unsafeCoerce } from '../../../../../test-utils/unsafe-coerce.js';
6
+ import { SessionLifecycleService } from './session.lifecycle.service.js';
7
+ import { SessionRetryService } from './session.retry.service.js';
8
+ import { SessionContextService } from './session-context.service.js';
9
+ import { SessionLifecycleGate } from './session-lifecycle-gate.js';
10
+ import { SessionNotificationDeliveryService } from './session-notification-delivery.service.js';
11
+ import { SessionRuntimeExitCoordinator } from './session-runtime-exit.coordinator.js';
12
+ import { SessionStartupCoordinator } from './session-startup.coordinator.js';
13
+ import { SessionTerminationCoordinator, } from './session-termination.coordinator.js';
14
+ import { SessionWorkflowFinalizer } from './session-workflow-finalizer.js';
15
+ export function createDeferred() {
16
+ let resolve;
17
+ let reject;
18
+ const promise = new Promise((resolvePromise, rejectPromise) => {
19
+ resolve = resolvePromise;
20
+ reject = rejectPromise;
21
+ });
22
+ return { promise, resolve, reject };
23
+ }
24
+ export function createTerminationHarness(overrides = {}) {
25
+ const session = createLifecycleTestSession(overrides.session);
26
+ const repository = {
27
+ getSessionById: vi.fn(overrides.getSessionById ?? (async (sessionId) => ({ ...session, id: sessionId }))),
28
+ getSessionsByWorkspaceId: vi.fn(overrides.getSessionsByWorkspaceId ??
29
+ (async () => [
30
+ createLifecycleTestSession({ id: 'session-running', status: SessionStatus.RUNNING }),
31
+ createLifecycleTestSession({
32
+ id: 'session-runtime-only',
33
+ status: SessionStatus.COMPLETED,
34
+ }),
35
+ createLifecycleTestSession({ id: 'session-browse-only', status: SessionStatus.IDLE }),
36
+ createLifecycleTestSession({ id: 'session-idle', status: SessionStatus.IDLE }),
37
+ ])),
38
+ updateSessionIfStatus: vi.fn(async () => 0),
39
+ };
40
+ const retryService = new SessionRetryService();
41
+ const runtimeManager = {
42
+ getClient: vi.fn(() => undefined),
43
+ isSessionWorking: vi.fn(() => false),
44
+ isStopInProgress: vi.fn(() => false),
45
+ isSessionRunning: vi.fn((sessionId) => sessionId === 'session-runtime-only'),
46
+ hasClientCreationOperation: vi.fn(() => false),
47
+ isBrowseOnlySession: vi.fn((sessionId) => sessionId === 'session-browse-only'),
48
+ stopAndQuiesce: vi.fn(async () => undefined),
49
+ beginShutdown: vi.fn(() => []),
50
+ stopAllClients: vi.fn(async () => undefined),
51
+ };
52
+ const sessionDomainService = {
53
+ clearQueuedWork: vi.fn(),
54
+ getRuntimeSnapshot: vi.fn(() => ({
55
+ phase: 'idle',
56
+ processState: 'stopped',
57
+ activity: 'IDLE',
58
+ updatedAt: '2026-07-15T00:00:00.000Z',
59
+ })),
60
+ setRuntimeSnapshot: vi.fn(),
61
+ };
62
+ const sessionPermissionService = {
63
+ cancelPendingRequests: vi.fn(),
64
+ };
65
+ const acpEventProcessor = {
66
+ clearSessionState: vi.fn(),
67
+ clearStreamingState: vi.fn(),
68
+ clearReplaySuppression: vi.fn(),
69
+ finalizeOrphanedToolCalls: vi.fn(),
70
+ clearPendingToolCalls: vi.fn(),
71
+ getWorkspaceId: vi.fn(() => undefined),
72
+ };
73
+ const promptTurnCompletionService = {
74
+ clearSession: vi.fn(),
75
+ clearAll: vi.fn(),
76
+ };
77
+ const lifecycleEventService = {
78
+ record: vi.fn(async () => null),
79
+ };
80
+ const workflowFinalizer = {
81
+ finalizeDeliberateStop: vi.fn(async () => undefined),
82
+ clearInactiveSession: vi.fn(),
83
+ };
84
+ const workspaceBridge = {
85
+ markSessionIdle: vi.fn(),
86
+ };
87
+ const lifecycleGate = new SessionLifecycleGate({
88
+ isRuntimeStopInProgress: () => false,
89
+ });
90
+ const getRuntimeSnapshot = vi.fn(() => ({
91
+ phase: 'idle',
92
+ processState: 'stopped',
93
+ activity: 'IDLE',
94
+ updatedAt: '2026-07-15T00:00:00.000Z',
95
+ }));
96
+ const coordinator = new SessionTerminationCoordinator({
97
+ repository,
98
+ retryService,
99
+ runtimeManager,
100
+ sessionDomainService,
101
+ sessionPermissionService,
102
+ acpEventProcessor,
103
+ promptTurnCompletionService,
104
+ lifecycleEventService,
105
+ lifecycleGate,
106
+ workflowFinalizer,
107
+ getRuntimeSnapshot,
108
+ onBeforeStopSession: overrides.onBeforeStopSession,
109
+ });
110
+ coordinator.configure({ workspace: workspaceBridge });
111
+ return {
112
+ coordinator,
113
+ repository,
114
+ retryService,
115
+ runtimeManager,
116
+ sessionDomainService,
117
+ sessionPermissionService,
118
+ acpEventProcessor,
119
+ promptTurnCompletionService,
120
+ lifecycleEventService,
121
+ lifecycleGate,
122
+ workflowFinalizer,
123
+ workspaceBridge,
124
+ getRuntimeSnapshot,
125
+ session,
126
+ };
127
+ }
128
+ export function createLifecycleTestSession(overrides = {}) {
129
+ return {
130
+ id: 'session-1',
131
+ workspaceId: 'workspace-1',
132
+ name: null,
133
+ workflow: 'code',
134
+ model: 'claude-sonnet',
135
+ status: SessionStatus.IDLE,
136
+ provider: 'CLAUDE',
137
+ providerSessionId: null,
138
+ providerProjectPath: null,
139
+ providerProcessPid: 4242,
140
+ providerMetadata: null,
141
+ createdAt: new Date('2026-07-15T00:00:00.000Z'),
142
+ updatedAt: new Date('2026-07-15T00:00:00.000Z'),
143
+ ...overrides,
144
+ };
145
+ }
146
+ export function createLifecycleTestWorkspace(overrides = {}) {
147
+ return {
148
+ id: 'workspace-1',
149
+ name: 'Workspace',
150
+ description: null,
151
+ projectId: 'project-1',
152
+ status: WorkspaceStatus.READY,
153
+ worktreePath: '/tmp/workspace',
154
+ branchName: 'feature/test',
155
+ isAutoGeneratedBranch: false,
156
+ creationSource: 'MANUAL',
157
+ creationMetadata: null,
158
+ initErrorMessage: null,
159
+ initOutput: null,
160
+ initStartedAt: null,
161
+ initCompletedAt: null,
162
+ initScriptPid: null,
163
+ initRetryCount: 0,
164
+ githubIssueNumber: null,
165
+ githubIssueUrl: null,
166
+ linearIssueId: null,
167
+ linearIssueIdentifier: null,
168
+ linearIssueUrl: null,
169
+ defaultSessionProvider: 'WORKSPACE_DEFAULT',
170
+ ratchetSessionProvider: 'WORKSPACE_DEFAULT',
171
+ periodicTaskId: null,
172
+ parentWorkspaceId: null,
173
+ hasHadSessions: false,
174
+ createdAt: new Date('2026-07-15T00:00:00.000Z'),
175
+ updatedAt: new Date('2026-07-15T00:00:00.000Z'),
176
+ runScriptPort: null,
177
+ ...overrides,
178
+ };
179
+ }
180
+ export function createPendingWorkspaceNotification(overrides = {}) {
181
+ return {
182
+ id: 'notif-parent',
183
+ workspaceId: 'workspace-1',
184
+ sourceWorkspaceId: 'parent-workspace',
185
+ sourceWorkspaceName: 'Parent Workspace',
186
+ sourceProjectName: 'Parent Project',
187
+ message: 'Please check the failing test.',
188
+ direction: 'PARENT_TO_CHILD',
189
+ deliveredAt: null,
190
+ createdAt: new Date('2026-06-22T10:30:00.000Z'),
191
+ ...overrides,
192
+ };
193
+ }
194
+ export function createLifecycleHarness(overrides = {}) {
195
+ const session = createLifecycleTestSession({
196
+ provider: overrides.provider ?? 'CLAUDE',
197
+ providerSessionId: overrides.providerSessionId ?? null,
198
+ providerProcessPid: overrides.providerProcessPid === undefined ? 4242 : overrides.providerProcessPid,
199
+ ...overrides.session,
200
+ });
201
+ const workspace = createLifecycleTestWorkspace({
202
+ worktreePath: overrides.worktreePath === undefined ? '/tmp/workspace' : overrides.worktreePath,
203
+ ...overrides.workspace,
204
+ });
205
+ const handle = {
206
+ provider: session.provider,
207
+ providerSessionId: session.providerSessionId ?? 'provider-session-1',
208
+ configOptions: [],
209
+ isPromptInFlight: false,
210
+ getSubagentBrowseCapability: vi.fn(() => ({
211
+ version: 1,
212
+ list: true,
213
+ read: true,
214
+ notifications: true,
215
+ })),
216
+ };
217
+ const repository = {
218
+ getSessionById: vi.fn(overrides.getSessionById ?? (async () => session)),
219
+ getSessionsByWorkspaceId: vi.fn(overrides.getSessionsByWorkspaceId ??
220
+ (async () => [
221
+ createLifecycleTestSession({ id: 'session-running', status: SessionStatus.RUNNING }),
222
+ createLifecycleTestSession({
223
+ id: 'session-runtime-only',
224
+ status: SessionStatus.COMPLETED,
225
+ }),
226
+ createLifecycleTestSession({ id: 'session-browse-only', status: SessionStatus.IDLE }),
227
+ createLifecycleTestSession({ id: 'session-idle', status: SessionStatus.IDLE }),
228
+ ])),
229
+ getWorkspaceById: vi.fn(async () => workspace),
230
+ getProjectById: vi.fn(async () => null),
231
+ markWorkspaceHasHadSessions: vi.fn(async () => undefined),
232
+ updateSession: vi.fn(async () => session),
233
+ updateSessionIfStatus: vi.fn(async () => 0),
234
+ deleteSession: vi.fn(async () => session),
235
+ recoverStaleRunningSessions: vi.fn(async () => 0),
236
+ };
237
+ const runClientCreationOperation = async (_sessionId, _purpose, operation) => await operation({ isOnlyOperation: () => true });
238
+ const runtimeManager = {
239
+ isStopInProgress: vi.fn((_sessionId) => false),
240
+ isSessionRunning: vi.fn((sessionId) => sessionId === 'session-runtime-only'),
241
+ hasClientCreationOperation: vi.fn(() => false),
242
+ isBrowseOnlySession: vi.fn((sessionId) => sessionId === 'session-browse-only'),
243
+ isSessionWorking: vi.fn(() => false),
244
+ getClient: vi.fn(() => undefined),
245
+ getBrowseClient: vi.fn(() => undefined),
246
+ getPendingClient: vi.fn(() => undefined),
247
+ getSubagentBrowseCapability: vi.fn(() => null),
248
+ getOrCreateClient: vi.fn(overrides.getOrCreateClient ?? (async () => handle)),
249
+ runClientCreationOperation: vi.fn(runClientCreationOperation),
250
+ stopClient: vi.fn(async () => undefined),
251
+ stopAndQuiesce: vi.fn(async () => undefined),
252
+ beginShutdown: vi.fn(() => []),
253
+ stopAllClients: vi.fn(async () => undefined),
254
+ };
255
+ const sessionDomainService = {
256
+ appendClaudeEvent: vi.fn((_sessionId, _message) => 1),
257
+ emitDelta: vi.fn(),
258
+ hasQueuedMessage: vi.fn((_sessionId, _messageId) => false),
259
+ enqueue: vi.fn(overrides.enqueue ?? (() => ({ position: 0 }))),
260
+ removeQueuedMessage: vi.fn(() => true),
261
+ getTranscriptSnapshot: vi.fn(() => overrides.transcript ?? []),
262
+ getHistoryHydrationSource: vi.fn(() => overrides.historyHydrationSource ?? 'none'),
263
+ setRuntimeSnapshot: vi.fn(),
264
+ isHistoryHydrated: vi.fn(() => false),
265
+ getRuntimeSnapshot: vi.fn(() => ({
266
+ phase: 'idle',
267
+ processState: 'stopped',
268
+ activity: 'IDLE',
269
+ updatedAt: '2026-07-15T00:00:00.000Z',
270
+ })),
271
+ clearQueuedWork: vi.fn(),
272
+ clearSession: vi.fn(),
273
+ markProcessExit: vi.fn(),
274
+ markError: vi.fn(),
275
+ };
276
+ const sessionConfigService = {
277
+ applyConfiguredReasoningEffort: vi.fn(async () => undefined),
278
+ applyStartupModePreset: vi.fn(async () => undefined),
279
+ applyConfiguredPermissionPreset: vi.fn(async () => undefined),
280
+ persistAcpConfigSnapshot: vi.fn(async () => undefined),
281
+ buildAcpChatBarCapabilities: vi.fn(() => EMPTY_CHAT_BAR_CAPABILITIES),
282
+ };
283
+ const acpEventProcessor = {
284
+ createRuntimeEventHandler: vi.fn(() => ({})),
285
+ registerSessionContext: vi.fn(),
286
+ setReplaySuppression: vi.fn(),
287
+ clearSessionState: vi.fn(),
288
+ clearStreamingState: vi.fn(),
289
+ clearReplaySuppression: vi.fn(),
290
+ finalizeOrphanedToolCalls: vi.fn(),
291
+ clearPendingToolCalls: vi.fn(),
292
+ clearSessionContext: vi.fn(),
293
+ getWorkspaceId: vi.fn(() => undefined),
294
+ handleAcpLog: vi.fn(),
295
+ };
296
+ const lifecycleEventService = {
297
+ record: vi.fn(async () => null),
298
+ hydrate: vi.fn(async () => undefined),
299
+ };
300
+ const notificationService = {
301
+ cancelPendingRequests: vi.fn(),
302
+ };
303
+ const workspaceBridge = {
304
+ markSessionRunning: vi.fn(() => 0),
305
+ markSessionIdle: vi.fn(),
306
+ recordRatchetSessionEnd: vi.fn(async () => undefined),
307
+ resetPRDiscoveryBackoff: vi.fn(async () => true),
308
+ };
309
+ const messageQueueBridge = {
310
+ tryDispatchNextMessage: vi.fn(overrides.tryDispatchNextMessage ?? (async () => undefined)),
311
+ };
312
+ const sendSessionMessage = vi.fn(async () => undefined);
313
+ const lifecycleGate = new SessionLifecycleGate({
314
+ isRuntimeStopInProgress: (sessionId) => runtimeManager.isStopInProgress(sessionId),
315
+ });
316
+ const promptBuilder = {
317
+ shouldInjectBranchRename: vi.fn(() => false),
318
+ buildSystemPrompt: vi.fn(() => ({
319
+ workflowPrompt: undefined,
320
+ systemPrompt: 'system prompt',
321
+ injectedBranchRename: false,
322
+ })),
323
+ };
324
+ const contextService = new SessionContextService({
325
+ repository,
326
+ promptBuilder,
327
+ permissionPresetPort: {
328
+ getPermissionPreset: overrides.getPermissionPreset ??
329
+ ((workflow) => Promise.resolve(workflow === 'ratchet' ? 'YOLO' : 'STRICT')),
330
+ },
331
+ });
332
+ const acpEnvironment = {
333
+ getBackendPort: vi.fn(() => 4000),
334
+ getMcpServers: vi.fn(() => [
335
+ {
336
+ name: 'workspace-tools',
337
+ command: 'workspace-tools-server',
338
+ args: [],
339
+ env: {},
340
+ },
341
+ ]),
342
+ };
343
+ const promptTurnCompletionService = { clearSession: vi.fn(), clearAll: vi.fn() };
344
+ const retryService = {
345
+ run: vi.fn(async (operation) => await operation()),
346
+ };
347
+ const notificationDeliveryService = new SessionNotificationDeliveryService({
348
+ notificationPort: workspaceNotificationService,
349
+ queuePort: sessionDomainService,
350
+ transcriptPort: sessionDomainService,
351
+ deltaPort: sessionDomainService,
352
+ });
353
+ const workflowFinalizer = new SessionWorkflowFinalizer(unsafeCoerce({
354
+ repository,
355
+ workspaceLookup: { findById: async () => workspace },
356
+ sessionDomainService,
357
+ closedSessionPersistenceService: { persistClosedSession: vi.fn(async () => undefined) },
358
+ lifecycleEventService,
359
+ hydrateProviderHistory: async () => undefined,
360
+ runtimeManager,
361
+ countViewers: () => 0,
362
+ }));
363
+ const runtimeExitCoordinator = new SessionRuntimeExitCoordinator(unsafeCoerce({
364
+ repository,
365
+ sessionDomainService,
366
+ sessionPermissionService: notificationService,
367
+ acpEventProcessor,
368
+ promptTurnCompletionService,
369
+ lifecycleEventService,
370
+ lifecycleGate,
371
+ workflowFinalizer,
372
+ onSessionExit: vi.fn(),
373
+ }));
374
+ let service;
375
+ const terminationCoordinator = new SessionTerminationCoordinator(unsafeCoerce({
376
+ repository,
377
+ retryService,
378
+ runtimeManager,
379
+ sessionDomainService,
380
+ sessionPermissionService: notificationService,
381
+ acpEventProcessor,
382
+ promptTurnCompletionService,
383
+ lifecycleEventService,
384
+ lifecycleGate,
385
+ workflowFinalizer,
386
+ getRuntimeSnapshot: (sessionId) => service.getRuntimeSnapshot(sessionId),
387
+ }));
388
+ const startupCoordinator = new SessionStartupCoordinator(unsafeCoerce({
389
+ repository,
390
+ contextService,
391
+ acpEnvironment,
392
+ runtimeManager,
393
+ sessionDomainService,
394
+ sessionConfigService,
395
+ acpEventProcessor,
396
+ runtimeExitCoordinator,
397
+ lifecycleGate,
398
+ notificationDelivery: notificationDeliveryService,
399
+ sendSessionMessage,
400
+ stopSession: (sessionId, options) => service.stopSession(sessionId, unsafeCoerce(options)),
401
+ }));
402
+ service = new SessionLifecycleService({
403
+ startupCoordinator,
404
+ terminationCoordinator,
405
+ workflowFinalizer,
406
+ contextService,
407
+ runtimeManager,
408
+ sessionDomainService,
409
+ lifecycleGate,
410
+ });
411
+ service.configure({ workspace: workspaceBridge, messageQueue: messageQueueBridge });
412
+ return {
413
+ service,
414
+ repository,
415
+ runtimeManager,
416
+ sessionDomainService,
417
+ acpEventProcessor,
418
+ sessionConfigService,
419
+ lifecycleEventService,
420
+ contextService,
421
+ acpEnvironment,
422
+ lifecycleGate,
423
+ notificationDeliveryService,
424
+ notificationService,
425
+ workspaceBridge,
426
+ messageQueueBridge,
427
+ session,
428
+ workspace,
429
+ handle,
430
+ sendSessionMessage,
431
+ tryDispatchNextMessage: messageQueueBridge.tryDispatchNextMessage,
432
+ };
433
+ }
434
+ //# sourceMappingURL=session-lifecycle.test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lifecycle.test-helpers.js","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AcpClientOptions } from '../../../../../backend/services/session/service/acp/index.js';
2
+ export type SessionStartupLease = Readonly<{
3
+ sessionId: string;
4
+ generation: number;
5
+ }>;
6
+ export interface SessionAcpEnvironmentPort {
7
+ getBackendPort(): number;
8
+ getMcpServers(context: {
9
+ workspaceId: string;
10
+ parentWorkspaceId: string | null;
11
+ }): AcpClientOptions['mcpServers'];
12
+ }
13
+ //# sourceMappingURL=session-lifecycle.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lifecycle.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session-lifecycle.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,WAAW,yBAAyB;IACxC,cAAc,IAAI,MAAM,CAAC;IACzB,aAAa,CAAC,OAAO,EAAE;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;KAClC,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;CACpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-lifecycle.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lifecycle.types.js","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session-lifecycle.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ import type { AgentMessage, ChatMessage, QueuedMessage, SessionDeltaEvent } from '../../../../../shared/acp-protocol/index.js';
2
+ import { type WorkspaceNotificationDirection } from '../../../../../shared/workspace-notifications.js';
3
+ export type NotificationDispatchClaim = {
4
+ status: 'not_notification';
5
+ } | {
6
+ status: 'duplicate';
7
+ } | {
8
+ status: 'claimed';
9
+ notificationId: string;
10
+ release(): void;
11
+ };
12
+ export type PendingWorkspaceNotification = Readonly<{
13
+ id: string;
14
+ workspaceId: string;
15
+ sourceWorkspaceId: string;
16
+ sourceWorkspaceName: string;
17
+ sourceProjectName: string;
18
+ message: string;
19
+ direction: WorkspaceNotificationDirection;
20
+ deliveredAt: Date | null;
21
+ createdAt: Date;
22
+ }>;
23
+ export type NotificationPersistencePort = {
24
+ listPendingForDelivery(workspaceId: string): Promise<PendingWorkspaceNotification[]>;
25
+ findForDelivery(notificationId: string): Promise<{
26
+ deliveredAt: Date | null;
27
+ } | null>;
28
+ markDelivered(notificationIds: string[]): Promise<void>;
29
+ };
30
+ export type NotificationQueuePort = {
31
+ hasQueuedMessage(sessionId: string, messageId: string): boolean;
32
+ enqueue(sessionId: string, message: QueuedMessage): {
33
+ position: number;
34
+ } | {
35
+ error: string;
36
+ };
37
+ removeQueuedMessage(sessionId: string, messageId: string): boolean;
38
+ };
39
+ export type NotificationTranscriptPort = {
40
+ getTranscriptSnapshot(sessionId: string): ChatMessage[];
41
+ getHistoryHydrationSource(sessionId: string): 'jsonl' | 'acp_fallback' | 'none' | undefined;
42
+ appendClaudeEvent(sessionId: string, message: AgentMessage): number;
43
+ };
44
+ export type NotificationDeltaPort = {
45
+ emitDelta(sessionId: string, event: SessionDeltaEvent): void;
46
+ };
47
+ export type SessionNotificationDeliveryServiceDependencies = {
48
+ notificationPort: NotificationPersistencePort;
49
+ queuePort: NotificationQueuePort;
50
+ transcriptPort: NotificationTranscriptPort;
51
+ deltaPort: NotificationDeltaPort;
52
+ };
53
+ export declare class SessionNotificationDeliveryService {
54
+ private readonly notificationPort;
55
+ private readonly queuePort;
56
+ private readonly transcriptPort;
57
+ private readonly deltaPort;
58
+ private readonly dispatchClaims;
59
+ constructor(dependencies: SessionNotificationDeliveryServiceDependencies);
60
+ recoverPending(input: {
61
+ sessionId: string;
62
+ workspaceId: string;
63
+ assertAllowed(): void;
64
+ }): Promise<{
65
+ dispatchableCount: number;
66
+ }>;
67
+ claimForDispatch(sessionId: string, messageId: string): NotificationDispatchClaim;
68
+ isAlreadyDelivered(notificationId: string): Promise<boolean>;
69
+ acknowledgeSuccessfulDispatch(messageId: string): Promise<void>;
70
+ removeDuplicateFromQueue(sessionId: string, messageId: string): boolean;
71
+ resetSession(sessionId: string): void;
72
+ isNotificationMessage(messageId: string): boolean;
73
+ private emitWorkspaceUpdateCard;
74
+ private findCommittedNotificationMatch;
75
+ private markDeliveredIfTranscriptMatch;
76
+ private markDeliveredAfterTranscriptMatch;
77
+ private isNotificationCommittedToTranscript;
78
+ private getNotificationId;
79
+ private formatError;
80
+ }
81
+ //# sourceMappingURL=session-notification-delivery.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-notification-delivery.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session-notification-delivery.service.ts"],"names":[],"mappings":"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"}