factory-factory 0.4.5 → 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 (766) hide show
  1. package/dist/client/assets/{abnfDiagram-VRR7QNED-DygwVN25.js → abnfDiagram-N423BO3Z-BZQ2vUo6.js} +1 -1
  2. package/dist/client/assets/{arc-CcnMw5av.js → arc-XI8Jpfl3.js} +1 -1
  3. package/dist/client/assets/architectureDiagram-T3A2C74G-Dt7Y1pyP.js +36 -0
  4. package/dist/client/assets/{blockDiagram-677ZJIJ3-DQ77xvqH.js → blockDiagram-VBNYF7ZC-DldefwGh.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-LMCZKHZV-B-9QZJ1e.js → c4Diagram-5PPSVZJV-Ba08x7Ef.js} +1 -1
  6. package/dist/client/assets/channel-CRP5IiHm.js +1 -0
  7. package/dist/client/assets/{chunk-32BRIVSS-CV9UmSkI.js → chunk-2GRJ4B5K-B9S0F-4G.js} +1 -1
  8. package/dist/client/assets/{chunk-2Q5K7J3B-DhfBY-Wd.js → chunk-2Q5K7J3B-CZXgC_Jx.js} +1 -1
  9. package/dist/client/assets/{chunk-EX3LRPZG-Dj63JdET.js → chunk-5RXB4S5H-3z0Q5lZX.js} +1 -1
  10. package/dist/client/assets/{chunk-5VM5RSS4-BUNj3iDY.js → chunk-5VM5RSS4-D2hwZzSy.js} +1 -1
  11. package/dist/client/assets/{chunk-MOJQB5TN-PY5GLOxr.js → chunk-6Q2QTUOP-DhgyUVVB.js} +1 -1
  12. package/dist/client/assets/{chunk-V7JOEXUC--zp7Z0xS.js → chunk-GF5L2VYU-B9CpXn1z.js} +1 -1
  13. package/dist/client/assets/{chunk-JWPE2WC7-i6Ud3VAu.js → chunk-JWPE2WC7-C3uO_aKI.js} +1 -1
  14. package/dist/client/assets/{chunk-VR4S4FIN-JstmsazP.js → chunk-KBJHAD2P-BclkmYso.js} +1 -1
  15. package/dist/client/assets/{chunk-RYQCIY6F-pIEuQy1L.js → chunk-RYQCIY6F-D6aZFqMZ.js} +1 -1
  16. package/dist/client/assets/{chunk-XXDRQBXY-C66lsFmy.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-D3jSuAHn.js → cose-bilkent-JH36ORCC-WLzzMmoC.js} +1 -1
  20. package/dist/client/assets/{cynefin-VYW2F7L2-Dx3xfGS7.js → cynefin-VYW2F7L2-D2EF0q2Q.js} +1 -1
  21. package/dist/client/assets/{cynefinDiagram-TSTJHNR4-BcGYZcSJ.js → cynefinDiagram-MW4NZA55-CwoCQCrP.js} +1 -1
  22. package/dist/client/assets/{dagre-VKFMJZFB-CLZSDf9x.js → dagre-VZM6K2ZE-Cg4AkVGB.js} +1 -1
  23. package/dist/client/assets/{diagram-OA4YK3LP-C7WEtC2B.js → diagram-7IWD3JNH-D9lnDmSl.js} +1 -1
  24. package/dist/client/assets/{diagram-FQU43EPY-Nosv2FJf.js → diagram-B4RE2ZJO-AhUFMusY.js} +1 -1
  25. package/dist/client/assets/{diagram-NH7WQ7WH-BmRiUIAJ.js → diagram-LBJQPF4R-C81JtkuS.js} +1 -1
  26. package/dist/client/assets/{diagram-G47NLZAW-CPjqONaO.js → diagram-Q27KOJAE-BOzaYlQ2.js} +1 -1
  27. package/dist/client/assets/diagram-UB23O5K3-uXHocDB0.js +41 -0
  28. package/dist/client/assets/{ebnfDiagram-CCIWWBDH-D2Ye87k4.js → ebnfDiagram-BXEA7PRR-Du4yOTiI.js} +1 -1
  29. package/dist/client/assets/{erDiagram-Q63AITRT-CgZF8eG-.js → erDiagram-JOGREHBK-BxBwtYA0.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-23GEKE2U-bxoO3Eep.js → flowDiagram-UKHOOZJN-YQc_Us9R.js} +6 -6
  31. package/dist/client/assets/{ganttDiagram-NO4QXBWP-BAtqPw6P.js → ganttDiagram-PKOTCBZU-CO08NXgj.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-DYQqeJ8w.js → gitGraphDiagram-DS77QQ5N-NRBrIkNv.js} +1 -1
  33. package/dist/client/assets/index-CVVo6xHd.css +1 -0
  34. package/dist/client/assets/index-CrLTUCBe.js +695 -0
  35. package/dist/client/assets/{infoDiagram-FWYZ7A6U-CZQCerFQ.js → infoDiagram-6WML65LV-CcOh5qQM.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-Bc7wE25N.js → ishikawaDiagram-WSZJBQD7-Ci4gKk1n.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-5HDEW3XC-D5qqjKJz.js → journeyDiagram-NVQOT4AX-CpW1inrw.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-HUTT4EX6-42kkaHBo.js → kanban-definition-27J2QSJJ-jez_FwZT.js} +1 -1
  39. package/dist/client/assets/{linear-Dg3NQEM3.js → linear-6SNETQpS.js} +1 -1
  40. package/dist/client/assets/{mindmap-definition-LN4V7U3C-CRANKUcD.js → mindmap-definition-FAOFIHXS-SmrP71Hb.js} +1 -1
  41. package/dist/client/assets/{mobile-baseline-D6bQ8WTB.js → mobile-baseline-8VVGaFwv.js} +1 -1
  42. package/dist/client/assets/{pegDiagram-2B236MQR-qJQPOd8H.js → pegDiagram-VL7TDLO6-BdZpPP9I.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-ENE6RG2P-B5wB7Ccf.js → pieDiagram-7S7Q4E2Y-JiNW5VtU.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-CCZfXF8m.js → quadrantDiagram-CIZ2JOQS-C2VhzPor.js} +1 -1
  45. package/dist/client/assets/{railroadDiagram-RFXS5EU6-BuIrSJUW.js → railroadDiagram-AXF67PYL-BdfHLYrf.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-TGXJPOKE-DfIr0zZ3.js → requirementDiagram-LRYGKXZP-BRxDcjdJ.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-CJoUXRWq.js → sankeyDiagram-W5VNT64P-BvibpHKV.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-Cq1lOU1b.js → sequenceDiagram-SI44F4Z6-CstrIf8Q.js} +1 -1
  49. package/dist/client/assets/{sizeCapture-X5ZJPWSS-XHOsOkor.js → sizeCapture-X5ZJPWSS-fplvtb2v.js} +1 -1
  50. package/dist/client/assets/{stateDiagram-2N3HPSRC-BLVzzete.js → stateDiagram-OKZ733FA-Cb0qJfhN.js} +1 -1
  51. package/dist/client/assets/stateDiagram-v2-UEYNNEHI-C_Uzjhvg.js +1 -0
  52. package/dist/client/assets/{swimlanes-5IMT3BWC-C20mYIPR.js → swimlanes-SLNWSIFB-BAqCm7Gx.js} +2 -2
  53. package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-CO4t8Utk.js +8 -0
  54. package/dist/client/assets/{terminal-instance-Dw2gcPib.js → terminal-instance-B0prRfF6.js} +1 -1
  55. package/dist/client/assets/{timeline-definition-FHXFAJF6-DlceJAxJ.js → timeline-definition-Z64GVDOM-BZbQ0pZK.js} +1 -1
  56. package/dist/client/assets/{vennDiagram-L72KCM5P-CFl-Eo1Y.js → vennDiagram-T6HMQDX7-B3YQXfS4.js} +1 -1
  57. package/dist/client/assets/{wardleyDiagram-EHGQE667-eBpeLOoN.js → wardleyDiagram-T6FBY63Y-Cufi2KwO.js} +1 -1
  58. package/dist/client/assets/{xychartDiagram-FW5EYKEG-B8RBkKiX.js → xychartDiagram-ELKLHX3M-CHGxh5zQ.js} +4 -4
  59. package/dist/client/audio-worklets/pcm-capture-processor.js +67 -0
  60. package/dist/client/index.html +2 -2
  61. package/dist/client/sounds/voice-thinking-start.mp3 +0 -0
  62. package/dist/prisma/generated/commonInputTypes.d.ts +40 -0
  63. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  64. package/dist/prisma/generated/enums.d.ts +1 -0
  65. package/dist/prisma/generated/enums.d.ts.map +1 -1
  66. package/dist/prisma/generated/enums.js +2 -1
  67. package/dist/prisma/generated/enums.js.map +1 -1
  68. package/dist/prisma/generated/internal/class.js +4 -4
  69. package/dist/prisma/generated/internal/class.js.map +1 -1
  70. package/dist/prisma/generated/internal/prismaNamespace.d.ts +7 -1
  71. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  72. package/dist/prisma/generated/internal/prismaNamespace.js +6 -0
  73. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  74. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +6 -0
  75. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  76. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +6 -0
  77. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  78. package/dist/prisma/generated/models/UserSettings.d.ts +216 -1
  79. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  80. package/dist/src/backend/app-context.d.ts +4 -1
  81. package/dist/src/backend/app-context.d.ts.map +1 -1
  82. package/dist/src/backend/app-context.js +6 -3
  83. package/dist/src/backend/app-context.js.map +1 -1
  84. package/dist/src/backend/app-context.test.js +6 -1
  85. package/dist/src/backend/app-context.test.js.map +1 -1
  86. package/dist/src/backend/clients/git.client.d.ts +0 -8
  87. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  88. package/dist/src/backend/clients/git.client.js +0 -70
  89. package/dist/src/backend/clients/git.client.js.map +1 -1
  90. package/dist/src/backend/clients/git.client.test.js +2 -178
  91. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  92. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +3 -2
  93. package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -1
  94. package/dist/src/backend/lib/file-helpers.d.ts +0 -1
  95. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  96. package/dist/src/backend/lib/file-helpers.js +0 -27
  97. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  98. package/dist/src/backend/lib/shell.d.ts +0 -4
  99. package/dist/src/backend/lib/shell.d.ts.map +1 -1
  100. package/dist/src/backend/lib/shell.js +0 -25
  101. package/dist/src/backend/lib/shell.js.map +1 -1
  102. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  103. package/dist/src/backend/orchestration/data-backup.service.js +10 -0
  104. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  105. package/dist/src/backend/orchestration/data-backup.service.test.js +23 -0
  106. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  107. package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
  108. package/dist/src/backend/orchestration/reconciliation.service.js +4 -0
  109. package/dist/src/backend/orchestration/reconciliation.service.js.map +1 -1
  110. package/dist/src/backend/orchestration/reconciliation.service.test.js +39 -0
  111. package/dist/src/backend/orchestration/reconciliation.service.test.js.map +1 -1
  112. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  113. package/dist/src/backend/routers/websocket/chat.handler.js +1 -17
  114. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  115. package/dist/src/backend/routers/websocket/chat.handler.test.js +2 -8
  116. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  117. package/dist/src/backend/routers/websocket/index.d.ts +1 -0
  118. package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
  119. package/dist/src/backend/routers/websocket/index.js +1 -0
  120. package/dist/src/backend/routers/websocket/index.js.map +1 -1
  121. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.d.ts +11 -0
  122. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.d.ts.map +1 -0
  123. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.js +28 -0
  124. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.js.map +1 -0
  125. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.test.d.ts +2 -0
  126. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.test.d.ts.map +1 -0
  127. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.test.js +84 -0
  128. package/dist/src/backend/routers/websocket/voice-soft-stop.handler.test.js.map +1 -0
  129. package/dist/src/backend/routers/websocket/voice.handler.d.ts +3 -0
  130. package/dist/src/backend/routers/websocket/voice.handler.d.ts.map +1 -0
  131. package/dist/src/backend/routers/websocket/voice.handler.js +46 -0
  132. package/dist/src/backend/routers/websocket/voice.handler.js.map +1 -0
  133. package/dist/src/backend/routers/websocket/websocket.integration.test.js +0 -4
  134. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  135. package/dist/src/backend/server.d.ts.map +1 -1
  136. package/dist/src/backend/server.js +5 -3
  137. package/dist/src/backend/server.js.map +1 -1
  138. package/dist/src/backend/server.upgrade.test.js +26 -4
  139. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  140. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts +0 -2
  141. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
  142. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +0 -6
  143. package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js.map +1 -1
  144. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +0 -23
  145. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  146. package/dist/src/backend/services/github/service/github-cli/schemas.js +0 -18
  147. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  148. package/dist/src/backend/services/github/service/github-cli.service.d.ts +0 -2
  149. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  150. package/dist/src/backend/services/github/service/github-cli.service.js +0 -37
  151. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  152. package/dist/src/backend/services/github/service/github-cli.service.test.js +3 -13
  153. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  154. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +6 -0
  155. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  156. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +0 -1
  157. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  158. package/dist/src/backend/services/session/resources/agent-session.accessor.js +0 -8
  159. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  160. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +0 -10
  161. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  162. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts +33 -0
  163. package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -0
  164. package/dist/src/backend/services/session/service/acp/acp-client-factory.js +274 -0
  165. package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -0
  166. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts +2 -0
  167. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.d.ts.map +1 -0
  168. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +454 -0
  169. package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -0
  170. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts +1 -0
  171. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  172. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +47 -0
  173. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  174. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +228 -0
  175. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  176. package/dist/src/backend/services/session/service/acp/acp-event-translator.d.ts +1 -37
  177. package/dist/src/backend/services/session/service/acp/acp-event-translator.d.ts.map +1 -1
  178. package/dist/src/backend/services/session/service/acp/acp-event-translator.js +1 -334
  179. package/dist/src/backend/services/session/service/acp/acp-event-translator.js.map +1 -1
  180. package/dist/src/backend/services/session/service/acp/acp-event-translator.test.js +5 -484
  181. package/dist/src/backend/services/session/service/acp/acp-event-translator.test.js.map +1 -1
  182. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +0 -1
  183. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
  184. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +0 -3
  185. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
  186. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js +0 -10
  187. package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js.map +1 -1
  188. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts +2 -0
  189. package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts.map +1 -1
  190. package/dist/src/backend/services/session/service/acp/acp-process-handle.js +12 -0
  191. package/dist/src/backend/services/session/service/acp/acp-process-handle.js.map +1 -1
  192. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.d.ts +2 -0
  193. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.d.ts.map +1 -0
  194. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js +83 -0
  195. package/dist/src/backend/services/session/service/acp/acp-process-handle.test.js.map +1 -0
  196. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts +17 -0
  197. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts.map +1 -0
  198. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js +96 -0
  199. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js.map +1 -0
  200. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts +2 -0
  201. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.d.ts.map +1 -0
  202. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js +140 -0
  203. package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js.map +1 -0
  204. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts +8 -0
  205. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts.map +1 -0
  206. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js +81 -0
  207. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js.map +1 -0
  208. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts +2 -0
  209. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.d.ts.map +1 -0
  210. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js +208 -0
  211. package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js.map +1 -0
  212. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts +25 -0
  213. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.d.ts.map +1 -0
  214. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js +2 -0
  215. package/dist/src/backend/services/session/service/acp/acp-runtime-contracts.js.map +1 -0
  216. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts +5 -0
  217. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts.map +1 -0
  218. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js +39 -0
  219. package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js.map +1 -0
  220. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts +20 -0
  221. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts.map +1 -0
  222. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js +68 -0
  223. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js.map +1 -0
  224. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts +2 -0
  225. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.d.ts.map +1 -0
  226. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js +17 -0
  227. package/dist/src/backend/services/session/service/acp/acp-runtime-errors.test.js.map +1 -0
  228. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +36 -1
  229. package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
  230. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts +5 -0
  231. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts.map +1 -0
  232. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js +35 -0
  233. package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js.map +1 -0
  234. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts +2 -0
  235. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.d.ts.map +1 -0
  236. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js +310 -0
  237. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.browsing.test.js.map +1 -0
  238. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts +2 -0
  239. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.d.ts.map +1 -0
  240. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js +162 -0
  241. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js.map +1 -0
  242. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts +2 -0
  243. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.d.ts.map +1 -0
  244. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js +390 -0
  245. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js.map +1 -0
  246. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +24 -56
  247. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  248. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts +2 -0
  249. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.d.ts.map +1 -0
  250. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js +59 -0
  251. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js.map +1 -0
  252. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +69 -811
  253. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  254. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts +2 -0
  255. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.d.ts.map +1 -0
  256. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js +185 -0
  257. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.prompt.test.js.map +1 -0
  258. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts +2 -0
  259. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.d.ts.map +1 -0
  260. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js +57 -0
  261. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.task-status.test.js.map +1 -0
  262. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts +2 -0
  263. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.d.ts.map +1 -0
  264. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js +392 -0
  265. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js.map +1 -0
  266. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts +27 -0
  267. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts.map +1 -0
  268. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js +96 -0
  269. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js.map +1 -0
  270. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +59 -0
  271. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -0
  272. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +142 -0
  273. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -0
  274. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts +21 -0
  275. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts.map +1 -0
  276. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +112 -0
  277. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -0
  278. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts +2 -0
  279. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.d.ts.map +1 -0
  280. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js +142 -0
  281. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.test.js.map +1 -0
  282. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts +2 -0
  283. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.d.ts.map +1 -0
  284. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +333 -0
  285. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -0
  286. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts +85 -0
  287. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -0
  288. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +633 -0
  289. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -0
  290. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts +2 -0
  291. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.d.ts.map +1 -0
  292. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js +99 -0
  293. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.status.test.js.map +1 -0
  294. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts +2 -0
  295. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.d.ts.map +1 -0
  296. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js +490 -0
  297. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js.map +1 -0
  298. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts +1 -0
  299. package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts.map +1 -1
  300. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js +4 -17
  301. package/dist/src/backend/services/session/service/acp/acp-session-config-options.js.map +1 -1
  302. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.d.ts +2 -0
  303. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.d.ts.map +1 -0
  304. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js +121 -0
  305. package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js.map +1 -0
  306. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js +1 -1
  307. package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js.map +1 -1
  308. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts +9 -0
  309. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts.map +1 -0
  310. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js +96 -0
  311. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.js.map +1 -0
  312. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts +2 -0
  313. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.d.ts.map +1 -0
  314. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js +171 -0
  315. package/dist/src/backend/services/session/service/acp/acp-subagent-browser.test.js.map +1 -0
  316. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.d.ts +7 -0
  317. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.d.ts.map +1 -0
  318. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.js +160 -0
  319. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.js.map +1 -0
  320. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.test.d.ts +2 -0
  321. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.test.d.ts.map +1 -0
  322. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.test.js +260 -0
  323. package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.test.js.map +1 -0
  324. package/dist/src/backend/services/session/service/acp/claude-model-options.d.ts +5 -0
  325. package/dist/src/backend/services/session/service/acp/claude-model-options.d.ts.map +1 -0
  326. package/dist/src/backend/services/session/service/acp/claude-model-options.js +25 -0
  327. package/dist/src/backend/services/session/service/acp/claude-model-options.js.map +1 -0
  328. package/dist/src/backend/services/session/service/acp/claude-model-options.test.d.ts +2 -0
  329. package/dist/src/backend/services/session/service/acp/claude-model-options.test.d.ts.map +1 -0
  330. package/dist/src/backend/services/session/service/acp/claude-model-options.test.js +49 -0
  331. package/dist/src/backend/services/session/service/acp/claude-model-options.test.js.map +1 -0
  332. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adapter-state.d.ts +2 -0
  333. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/adapter-state.d.ts.map +1 -1
  334. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +3 -1
  335. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  336. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +78 -7
  337. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  338. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js +169 -0
  339. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js.map +1 -1
  340. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.d.ts +2 -0
  341. 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
  342. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js +265 -0
  343. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js.map +1 -0
  344. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +283 -14
  345. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  346. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts +7 -0
  347. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -0
  348. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +98 -0
  349. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -0
  350. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts +2 -0
  351. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.d.ts.map +1 -0
  352. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js +148 -0
  353. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.test.js.map +1 -0
  354. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.d.ts +38 -0
  355. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.d.ts.map +1 -0
  356. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.js +287 -0
  357. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.js.map +1 -0
  358. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.d.ts +2 -0
  359. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.d.ts.map +1 -0
  360. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.js +648 -0
  361. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.js.map +1 -0
  362. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.d.ts +12 -0
  363. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.d.ts.map +1 -0
  364. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.js +51 -0
  365. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.js.map +1 -0
  366. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.d.ts +2 -0
  367. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.d.ts.map +1 -0
  368. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js +95 -0
  369. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-mapper.test.js.map +1 -0
  370. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts +226 -19
  371. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -1
  372. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js +118 -4
  373. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.js.map +1 -1
  374. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js +125 -1
  375. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
  376. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +17 -1
  377. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
  378. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +231 -30
  379. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
  380. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js +689 -4
  381. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.test.js.map +1 -1
  382. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts +8 -0
  383. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.d.ts.map +1 -0
  384. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js +9 -0
  385. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/task-status-protocol.js.map +1 -0
  386. package/dist/src/backend/services/session/service/acp/index.d.ts +3 -2
  387. package/dist/src/backend/services/session/service/acp/index.d.ts.map +1 -1
  388. package/dist/src/backend/services/session/service/acp/index.js +2 -0
  389. package/dist/src/backend/services/session/service/acp/index.js.map +1 -1
  390. package/dist/src/backend/services/session/service/acp/types.d.ts +1 -0
  391. package/dist/src/backend/services/session/service/acp/types.d.ts.map +1 -1
  392. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts +3 -0
  393. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts.map +1 -1
  394. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js +44 -2
  395. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js.map +1 -1
  396. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.d.ts +2 -0
  397. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.d.ts.map +1 -0
  398. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.js +108 -0
  399. package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.js.map +1 -0
  400. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  401. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +9 -1
  402. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  403. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts +2 -0
  404. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.d.ts.map +1 -0
  405. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js +195 -0
  406. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.recovery.test.js.map +1 -0
  407. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -23
  408. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  409. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts.map +1 -1
  410. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +4 -0
  411. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js.map +1 -1
  412. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js +23 -5
  413. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.test.js.map +1 -1
  414. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +1 -1
  415. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js.map +1 -1
  416. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js +1 -1
  417. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js.map +1 -1
  418. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +1 -1
  419. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js.map +1 -1
  420. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js +1 -1
  421. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js.map +1 -1
  422. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts +4 -2
  423. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts.map +1 -1
  424. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +2 -7
  425. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
  426. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +9 -11
  427. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  428. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +1 -1
  429. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js.map +1 -1
  430. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +1 -3
  431. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  432. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.d.ts.map +1 -1
  433. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js +3 -2
  434. package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js.map +1 -1
  435. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +24 -8
  436. package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -1
  437. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts.map +1 -1
  438. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.js +1 -0
  439. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.js.map +1 -1
  440. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.test.js +17 -0
  441. package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.test.js.map +1 -1
  442. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +16 -15
  443. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  444. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +86 -115
  445. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  446. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +179 -219
  447. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  448. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +0 -2
  449. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  450. package/dist/src/backend/services/session/service/data/session-data.service.js +0 -6
  451. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  452. package/dist/src/backend/services/session/service/data/session-data.service.test.js +0 -6
  453. package/dist/src/backend/services/session/service/data/session-data.service.test.js.map +1 -1
  454. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +6 -0
  455. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  456. package/dist/src/backend/services/session/service/index.d.ts +6 -6
  457. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  458. package/dist/src/backend/services/session/service/index.js +4 -3
  459. package/dist/src/backend/services/session/service/index.js.map +1 -1
  460. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +1 -0
  461. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  462. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +45 -26
  463. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  464. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.d.ts +2 -0
  465. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.d.ts.map +1 -0
  466. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js +117 -0
  467. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.subagents.test.js.map +1 -0
  468. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +33 -0
  469. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -0
  470. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +120 -0
  471. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -0
  472. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts +2 -0
  473. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.d.ts.map +1 -0
  474. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +174 -0
  475. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -0
  476. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +23 -0
  477. package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -0
  478. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +150 -0
  479. package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -0
  480. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts +5 -0
  481. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -0
  482. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +38 -0
  483. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -0
  484. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts +2 -0
  485. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.d.ts.map +1 -0
  486. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +52 -0
  487. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -0
  488. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +35 -0
  489. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -0
  490. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +120 -0
  491. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -0
  492. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts +2 -0
  493. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.d.ts.map +1 -0
  494. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js +192 -0
  495. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.test.js.map +1 -0
  496. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +115 -0
  497. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -0
  498. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +434 -0
  499. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -0
  500. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts +13 -0
  501. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts.map +1 -0
  502. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js +2 -0
  503. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.js.map +1 -0
  504. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts +81 -0
  505. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -0
  506. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +242 -0
  507. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js.map +1 -0
  508. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts +2 -0
  509. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.d.ts.map +1 -0
  510. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js +528 -0
  511. package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -0
  512. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +39 -0
  513. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -0
  514. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +208 -0
  515. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -0
  516. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts +2 -0
  517. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.d.ts.map +1 -0
  518. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +274 -0
  519. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -0
  520. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts +2 -0
  521. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.d.ts.map +1 -0
  522. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +105 -0
  523. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -0
  524. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +5 -17
  525. package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
  526. package/dist/src/backend/services/session/service/lifecycle/session-services.js +14 -87
  527. package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
  528. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +64 -0
  529. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -0
  530. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +352 -0
  531. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -0
  532. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts +2 -0
  533. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.d.ts.map +1 -0
  534. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +702 -0
  535. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js.map +1 -0
  536. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +54 -0
  537. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -0
  538. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +265 -0
  539. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -0
  540. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts +2 -0
  541. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.d.ts.map +1 -0
  542. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +514 -0
  543. package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js.map +1 -0
  544. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +62 -0
  545. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -0
  546. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +175 -0
  547. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -0
  548. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts +2 -0
  549. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.d.ts.map +1 -0
  550. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js +294 -0
  551. package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -0
  552. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  553. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +8 -4
  554. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  555. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +58 -5
  556. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  557. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts +2 -0
  558. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.d.ts.map +1 -0
  559. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +431 -0
  560. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -0
  561. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +25 -113
  562. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  563. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +49 -1069
  564. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  565. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +11 -6
  566. package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js.map +1 -1
  567. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +3 -6
  568. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  569. package/dist/src/backend/services/session/service/lifecycle/session.service.js +9 -12
  570. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  571. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +88 -41
  572. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  573. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  574. package/dist/src/backend/services/session/service/session-domain.service.js +1 -0
  575. package/dist/src/backend/services/session/service/session-domain.service.js.map +1 -1
  576. package/dist/src/backend/services/session/service/store/session-store.types.d.ts +1 -1
  577. package/dist/src/backend/services/session/service/store/session-store.types.d.ts.map +1 -1
  578. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts +3 -0
  579. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts.map +1 -0
  580. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js +92 -0
  581. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js.map +1 -0
  582. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts +2 -0
  583. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.d.ts.map +1 -0
  584. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js +81 -0
  585. package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js.map +1 -0
  586. package/dist/src/backend/services/session/service/voice/voice-mode-instructions.d.ts +2 -0
  587. package/dist/src/backend/services/session/service/voice/voice-mode-instructions.d.ts.map +1 -0
  588. package/dist/src/backend/services/session/service/voice/voice-mode-instructions.js +5 -0
  589. package/dist/src/backend/services/session/service/voice/voice-mode-instructions.js.map +1 -0
  590. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts +28 -0
  591. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -0
  592. package/dist/src/backend/services/session/service/voice/voice-narration.service.js +431 -0
  593. package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -0
  594. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.d.ts +2 -0
  595. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.d.ts.map +1 -0
  596. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +536 -0
  597. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -0
  598. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +6 -0
  599. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  600. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +46 -17
  601. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  602. package/dist/src/backend/services/settings/service/user-settings.service.d.ts +6 -0
  603. package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -1
  604. package/dist/src/backend/services/settings/service/user-settings.service.js.map +1 -1
  605. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +0 -1
  606. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  607. package/dist/src/backend/services/workspace/resources/project.accessor.js +0 -13
  608. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  609. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +0 -1
  610. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  611. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +0 -10
  612. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  613. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +3 -8
  614. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  615. package/dist/src/backend/services/workspace/service/index.d.ts +9 -10
  616. package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
  617. package/dist/src/backend/services/workspace/service/index.js +5 -5
  618. package/dist/src/backend/services/workspace/service/index.js.map +1 -1
  619. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +12 -0
  620. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  621. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +4 -4
  622. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +1 -7
  623. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
  624. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +0 -1
  625. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  626. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  627. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +9 -12
  628. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
  629. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +5 -4
  630. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js.map +1 -1
  631. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts +2 -0
  632. package/dist/src/backend/testing/npm-publish-workflow.test.d.ts.map +1 -0
  633. package/dist/src/backend/testing/npm-publish-workflow.test.js +205 -0
  634. package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -0
  635. package/dist/src/backend/trpc/admin.trpc.d.ts +10 -0
  636. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  637. package/dist/src/backend/trpc/index.d.ts +633 -22
  638. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  639. package/dist/src/backend/trpc/index.js +2 -0
  640. package/dist/src/backend/trpc/index.js.map +1 -1
  641. package/dist/src/backend/trpc/pr-review.router.test.js +1 -12
  642. package/dist/src/backend/trpc/pr-review.router.test.js.map +1 -1
  643. package/dist/src/backend/trpc/pr-review.trpc.d.ts +0 -16
  644. package/dist/src/backend/trpc/pr-review.trpc.d.ts.map +1 -1
  645. package/dist/src/backend/trpc/pr-review.trpc.js +0 -14
  646. package/dist/src/backend/trpc/pr-review.trpc.js.map +1 -1
  647. package/dist/src/backend/trpc/session.router.test.js +170 -3
  648. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  649. package/dist/src/backend/trpc/session.trpc.d.ts +539 -0
  650. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  651. package/dist/src/backend/trpc/session.trpc.js +53 -0
  652. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  653. package/dist/src/backend/trpc/user-settings.router.test.js +117 -6
  654. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  655. package/dist/src/backend/trpc/user-settings.trpc.d.ts +16 -4
  656. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  657. package/dist/src/backend/trpc/user-settings.trpc.js +25 -2
  658. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  659. package/dist/src/backend/trpc/voice.trpc.d.ts +67 -0
  660. package/dist/src/backend/trpc/voice.trpc.d.ts.map +1 -0
  661. package/dist/src/backend/trpc/voice.trpc.js +156 -0
  662. package/dist/src/backend/trpc/voice.trpc.js.map +1 -0
  663. package/dist/src/backend/trpc/voice.trpc.test.d.ts +2 -0
  664. package/dist/src/backend/trpc/voice.trpc.test.d.ts.map +1 -0
  665. package/dist/src/backend/trpc/voice.trpc.test.js +259 -0
  666. package/dist/src/backend/trpc/voice.trpc.test.js.map +1 -0
  667. package/dist/src/backend/trpc/workspace.router.test.js +41 -2
  668. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  669. package/dist/src/backend/trpc/workspace.trpc.d.ts +4 -4
  670. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  671. package/dist/src/backend/trpc/workspace.trpc.js +12 -1
  672. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  673. package/dist/src/lib/chat-protocol.d.ts +72 -0
  674. package/dist/src/lib/chat-protocol.d.ts.map +1 -0
  675. package/dist/src/lib/chat-protocol.js +514 -0
  676. package/dist/src/lib/chat-protocol.js.map +1 -0
  677. package/dist/src/shared/acp-protocol/index.d.ts +2 -0
  678. package/dist/src/shared/acp-protocol/index.d.ts.map +1 -1
  679. package/dist/src/shared/acp-protocol/index.js +2 -0
  680. package/dist/src/shared/acp-protocol/index.js.map +1 -1
  681. package/dist/src/shared/acp-protocol/protocol/queued.d.ts +1 -0
  682. package/dist/src/shared/acp-protocol/protocol/queued.d.ts.map +1 -1
  683. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +7 -0
  684. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
  685. package/dist/src/shared/acp-protocol/protocol/websocket.js +1 -0
  686. package/dist/src/shared/acp-protocol/protocol/websocket.js.map +1 -1
  687. package/dist/src/shared/acp-protocol/session-update-translator.d.ts +39 -0
  688. package/dist/src/shared/acp-protocol/session-update-translator.d.ts.map +1 -0
  689. package/dist/src/shared/acp-protocol/session-update-translator.js +356 -0
  690. package/dist/src/shared/acp-protocol/session-update-translator.js.map +1 -0
  691. package/dist/src/shared/acp-protocol/subagents.d.ts +1175 -0
  692. package/dist/src/shared/acp-protocol/subagents.d.ts.map +1 -0
  693. package/dist/src/shared/acp-protocol/subagents.js +259 -0
  694. package/dist/src/shared/acp-protocol/subagents.js.map +1 -0
  695. package/dist/src/shared/core/enums.d.ts +1 -0
  696. package/dist/src/shared/core/enums.d.ts.map +1 -1
  697. package/dist/src/shared/core/enums.js +1 -0
  698. package/dist/src/shared/core/enums.js.map +1 -1
  699. package/dist/src/shared/deepgram-voices.d.ts +12 -0
  700. package/dist/src/shared/deepgram-voices.d.ts.map +1 -0
  701. package/dist/src/shared/deepgram-voices.js +51 -0
  702. package/dist/src/shared/deepgram-voices.js.map +1 -0
  703. package/dist/src/shared/schemas/export-data.schema.d.ts +10 -0
  704. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  705. package/dist/src/shared/schemas/export-data.schema.js +19 -0
  706. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  707. package/dist/src/shared/voice-vad.d.ts +11 -0
  708. package/dist/src/shared/voice-vad.d.ts.map +1 -0
  709. package/dist/src/shared/voice-vad.js +19 -0
  710. package/dist/src/shared/voice-vad.js.map +1 -0
  711. package/dist/src/shared/websocket/chat-message.schema.d.ts +1 -0
  712. package/dist/src/shared/websocket/chat-message.schema.d.ts.map +1 -1
  713. package/dist/src/shared/websocket/chat-message.schema.js +1 -0
  714. package/dist/src/shared/websocket/chat-message.schema.js.map +1 -1
  715. package/dist/src/shared/websocket/voice-message.schema.d.ts +25 -0
  716. package/dist/src/shared/websocket/voice-message.schema.d.ts.map +1 -0
  717. package/dist/src/shared/websocket/voice-message.schema.js +14 -0
  718. package/dist/src/shared/websocket/voice-message.schema.js.map +1 -0
  719. package/dist/src/shared/workspace-snapshot.d.ts +5 -5
  720. package/dist/src/test-utils/application-graph.d.ts.map +1 -1
  721. package/dist/src/test-utils/application-graph.js +8 -1
  722. package/dist/src/test-utils/application-graph.js.map +1 -1
  723. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  724. package/package.json +11 -8
  725. package/prisma/migrations/20260802152257_add_voice_mode_settings/migration.sql +34 -0
  726. package/prisma/migrations/20260802200414_add_voice_tts_model_and_speed/migration.sql +36 -0
  727. package/prisma/migrations/20260807222320_voice_vad_aggressiveness_settings/migration.sql +38 -0
  728. package/prisma/schema.prisma +9 -0
  729. package/scripts/postinstall.mjs +6 -2
  730. package/dist/client/assets/architectureDiagram-ZJ3FMSHR-BZgeaNrI.js +0 -36
  731. package/dist/client/assets/channel-zAL33ya-.js +0 -1
  732. package/dist/client/assets/classDiagram-OUVF2IWQ-Dksz7rAA.js +0 -1
  733. package/dist/client/assets/classDiagram-v2-EOCWNBFH-Dksz7rAA.js +0 -1
  734. package/dist/client/assets/diagram-WEI45ONY-up5rQ6My.js +0 -41
  735. package/dist/client/assets/index-BZQlu-dZ.js +0 -694
  736. package/dist/client/assets/index-CwfNzqG5.css +0 -1
  737. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-DA02HYvU.js +0 -1
  738. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CbfcpXpQ.js +0 -8
  739. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts +0 -2
  740. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.d.ts.map +0 -1
  741. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +0 -1438
  742. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +0 -1
  743. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts +0 -2
  744. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.d.ts.map +0 -1
  745. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +0 -1308
  746. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +0 -1
  747. package/dist/src/backend/services/session/service/runtime/index.d.ts +0 -5
  748. package/dist/src/backend/services/session/service/runtime/index.d.ts.map +0 -1
  749. package/dist/src/backend/services/session/service/runtime/index.js +0 -2
  750. package/dist/src/backend/services/session/service/runtime/index.js.map +0 -1
  751. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts +0 -21
  752. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.d.ts.map +0 -1
  753. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js +0 -2
  754. package/dist/src/backend/services/session/service/runtime/provider-runtime-manager.js.map +0 -1
  755. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts +0 -97
  756. package/dist/src/backend/services/session/service/store/file-lock.service.d.ts.map +0 -1
  757. package/dist/src/backend/services/session/service/store/file-lock.service.js +0 -429
  758. package/dist/src/backend/services/session/service/store/file-lock.service.js.map +0 -1
  759. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts +0 -2
  760. package/dist/src/backend/services/session/service/store/file-lock.service.test.d.ts.map +0 -1
  761. package/dist/src/backend/services/session/service/store/file-lock.service.test.js +0 -672
  762. package/dist/src/backend/services/session/service/store/file-lock.service.test.js.map +0 -1
  763. package/dist/src/shared/workspace-words.d.ts +0 -5
  764. package/dist/src/shared/workspace-words.d.ts.map +0 -1
  765. package/dist/src/shared/workspace-words.js +0 -146
  766. package/dist/src/shared/workspace-words.js.map +0 -1
@@ -0,0 +1,648 @@
1
+ import { RequestError } from '@agentclientprotocol/sdk';
2
+ import { describe, expect, it, vi } from 'vitest';
3
+ import { SUBAGENTS_CHANGED_METHOD, } from '../../../../../../shared/acp-protocol/subagents.js';
4
+ import { CodexSubagentController } from './codex-subagent-controller.js';
5
+ function createSession(overrides = {}) {
6
+ return {
7
+ sessionId: 'parent-session-1',
8
+ threadId: 'parent-thread-1',
9
+ cwd: '/tmp/workspace',
10
+ defaults: {
11
+ model: 'gpt-5',
12
+ approvalPolicy: 'on-failure',
13
+ sandboxPolicy: { type: 'workspaceWrite' },
14
+ reasoningEffort: 'medium',
15
+ collaborationMode: 'default',
16
+ },
17
+ activeTurn: null,
18
+ toolCallsByItemId: new Map(),
19
+ syntheticallyCompletedToolItemIds: new Set(),
20
+ reasoningDeltaItemIds: new Set(),
21
+ planTextByItemId: new Map(),
22
+ planApprovalRequestedByTurnId: new Set(),
23
+ pendingPlanApprovalsByTurnId: new Map(),
24
+ pendingTurnCompletionsByTurnId: new Map(),
25
+ commandApprovalScopes: new Set(),
26
+ replayedTurnItemKeys: new Set(),
27
+ ...overrides,
28
+ };
29
+ }
30
+ function createProjectionSession(parent, threadId) {
31
+ return createSession({
32
+ sessionId: `subagent:${threadId}`,
33
+ threadId,
34
+ cwd: parent.cwd,
35
+ defaults: { ...parent.defaults },
36
+ });
37
+ }
38
+ describe('CodexSubagentController', () => {
39
+ it('emits one activity invalidation per child and isolates notification failures', async () => {
40
+ const parent = createSession();
41
+ const extNotification = vi.fn(() => Promise.reject(new Error('connection closed')));
42
+ const controller = new CodexSubagentController({
43
+ codex: { request: vi.fn() },
44
+ requireSession: () => parent,
45
+ createProjectionSession,
46
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
47
+ extNotification,
48
+ });
49
+ await expect(controller.recordActivity(parent.sessionId, ['child-thread-1', 'child-thread-2'], 'created')).resolves.toBeUndefined();
50
+ expect(extNotification).toHaveBeenCalledTimes(2);
51
+ expect(extNotification).toHaveBeenNthCalledWith(1, SUBAGENTS_CHANGED_METHOD, {
52
+ sessionId: parent.sessionId,
53
+ subagentId: 'child-thread-1',
54
+ change: 'created',
55
+ });
56
+ expect(extNotification).toHaveBeenNthCalledWith(2, SUBAGENTS_CHANGED_METHOD, {
57
+ sessionId: parent.sessionId,
58
+ subagentId: 'child-thread-2',
59
+ change: 'created',
60
+ });
61
+ });
62
+ it('lists only direct children and normalizes terminal summaries', async () => {
63
+ const parent = createSession();
64
+ const extNotification = vi.fn(() => Promise.resolve());
65
+ const longResult = ` ${'x'.repeat(260)} `;
66
+ const request = vi.fn((method) => {
67
+ if (method === 'thread/list') {
68
+ return Promise.resolve({
69
+ data: [
70
+ {
71
+ id: 'child-thread-1',
72
+ parentThreadId: 'parent-thread-1',
73
+ name: null,
74
+ agentNickname: 'security-reviewer',
75
+ preview: 'Audit the authentication flow',
76
+ createdAt: 1_786_147_200,
77
+ updatedAt: 1_786_150_800,
78
+ status: { type: 'idle' },
79
+ turns: [],
80
+ additiveField: true,
81
+ },
82
+ {
83
+ id: 'foreign-thread-1',
84
+ parentThreadId: 'another-parent',
85
+ name: 'foreign',
86
+ preview: 'Must not leak',
87
+ createdAt: 1_786_147_200,
88
+ updatedAt: 1_786_150_800,
89
+ status: { type: 'active', activeFlags: [] },
90
+ turns: [],
91
+ },
92
+ ],
93
+ nextCursor: 'next-list-page',
94
+ });
95
+ }
96
+ if (method === 'thread/read') {
97
+ return Promise.resolve({
98
+ thread: {
99
+ id: 'child-thread-1',
100
+ turns: [
101
+ {
102
+ id: 'child-turn-1',
103
+ status: 'failed',
104
+ startedAt: 1_786_150_700,
105
+ completedAt: 1_786_150_800,
106
+ items: [{ type: 'agentMessage', id: 'answer-1', text: longResult }],
107
+ },
108
+ ],
109
+ },
110
+ });
111
+ }
112
+ throw new Error(`unexpected method: ${method}`);
113
+ });
114
+ const controller = new CodexSubagentController({
115
+ codex: { request },
116
+ requireSession: (sessionId) => {
117
+ if (sessionId !== parent.sessionId) {
118
+ throw RequestError.invalidParams({ sessionId });
119
+ }
120
+ return parent;
121
+ },
122
+ createProjectionSession,
123
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
124
+ extNotification,
125
+ });
126
+ const result = await controller.list({
127
+ sessionId: 'parent-session-1',
128
+ cursor: null,
129
+ limit: 50,
130
+ });
131
+ expect(request).toHaveBeenCalledWith('thread/list', {
132
+ parentThreadId: 'parent-thread-1',
133
+ cursor: null,
134
+ limit: 50,
135
+ sortKey: 'created_at',
136
+ sortDirection: 'desc',
137
+ });
138
+ expect(result.subagents.map((item) => item.id)).toEqual(['child-thread-1']);
139
+ expect(result).toEqual({
140
+ subagents: [
141
+ {
142
+ id: 'child-thread-1',
143
+ name: 'security-reviewer',
144
+ status: 'failed',
145
+ createdAt: '2026-08-08T00:00:00.000Z',
146
+ updatedAt: '2026-08-08T01:00:00.000Z',
147
+ completedAt: '2026-08-08T01:00:00.000Z',
148
+ latestActivity: 'Audit the authentication flow',
149
+ resultPreview: 'x'.repeat(240),
150
+ },
151
+ ],
152
+ nextCursor: 'next-list-page',
153
+ });
154
+ await controller.handleThreadStatusChanged('child-thread-1', 'systemError');
155
+ expect(extNotification).toHaveBeenCalledWith(SUBAGENTS_CHANGED_METHOD, {
156
+ sessionId: 'parent-session-1',
157
+ subagentId: 'child-thread-1',
158
+ change: 'completed',
159
+ });
160
+ });
161
+ it('maps active provider wait flags to a non-terminal waiting status', async () => {
162
+ const parent = createSession();
163
+ const controller = new CodexSubagentController({
164
+ codex: {
165
+ request: vi.fn((method) => {
166
+ if (method === 'thread/list') {
167
+ return Promise.resolve({
168
+ data: [
169
+ {
170
+ id: 'waiting-child',
171
+ parentThreadId: parent.threadId,
172
+ name: 'Waiting for approval',
173
+ status: { type: 'active', activeFlags: ['waitingOnApproval'] },
174
+ turns: [],
175
+ },
176
+ ],
177
+ nextCursor: null,
178
+ });
179
+ }
180
+ throw new Error(`unexpected method: ${method}`);
181
+ }),
182
+ },
183
+ requireSession: () => parent,
184
+ createProjectionSession,
185
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
186
+ extNotification: vi.fn(() => Promise.resolve()),
187
+ });
188
+ await expect(controller.list({ sessionId: parent.sessionId, cursor: null, limit: 50 })).resolves.toMatchObject({
189
+ subagents: [{ id: 'waiting-child', status: 'waiting', completedAt: null }],
190
+ });
191
+ });
192
+ it('limits concurrent terminal summary reads to four', async () => {
193
+ const parent = createSession();
194
+ let activeReads = 0;
195
+ let maxActiveReads = 0;
196
+ const request = vi.fn(async (method, params) => {
197
+ if (method === 'thread/list') {
198
+ return Promise.resolve({
199
+ data: Array.from({ length: 6 }, (_, index) => ({
200
+ id: `child-thread-${index}`,
201
+ parentThreadId: parent.threadId,
202
+ name: null,
203
+ preview: `Child ${index}`,
204
+ createdAt: 1_786_147_200 + index,
205
+ updatedAt: 1_786_150_800 + index,
206
+ status: { type: 'idle' },
207
+ turns: [],
208
+ })),
209
+ nextCursor: null,
210
+ });
211
+ }
212
+ if (method === 'thread/read') {
213
+ activeReads += 1;
214
+ maxActiveReads = Math.max(maxActiveReads, activeReads);
215
+ await new Promise((resolve) => setTimeout(resolve, 5));
216
+ activeReads -= 1;
217
+ return Promise.resolve({
218
+ thread: {
219
+ id: params.threadId,
220
+ turns: [
221
+ {
222
+ id: `turn-${params.threadId}`,
223
+ status: 'completed',
224
+ completedAt: 1_786_150_800,
225
+ items: [],
226
+ },
227
+ ],
228
+ },
229
+ });
230
+ }
231
+ throw new Error(`unexpected method: ${method}`);
232
+ });
233
+ const controller = new CodexSubagentController({
234
+ codex: { request },
235
+ requireSession: () => parent,
236
+ createProjectionSession,
237
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
238
+ extNotification: vi.fn(() => Promise.resolve()),
239
+ });
240
+ await controller.list({ sessionId: parent.sessionId, cursor: null, limit: 50 });
241
+ expect(maxActiveReads).toBe(4);
242
+ });
243
+ it('keeps terminal summaries when one transcript enrichment fails', async () => {
244
+ const parent = createSession();
245
+ const request = vi.fn((method, params) => {
246
+ if (method === 'thread/list') {
247
+ return Promise.resolve({
248
+ data: [
249
+ {
250
+ id: 'missing-child',
251
+ parentThreadId: parent.threadId,
252
+ name: 'Missing transcript',
253
+ preview: 'Last known activity',
254
+ status: { type: 'idle' },
255
+ turns: [],
256
+ },
257
+ {
258
+ id: 'healthy-child',
259
+ parentThreadId: parent.threadId,
260
+ name: 'Healthy transcript',
261
+ preview: 'Finished normally',
262
+ status: { type: 'idle' },
263
+ turns: [],
264
+ },
265
+ ],
266
+ nextCursor: null,
267
+ });
268
+ }
269
+ if (method === 'thread/read' && params.threadId === 'missing-child') {
270
+ return Promise.reject(new Error('provider log expired'));
271
+ }
272
+ if (method === 'thread/read' && params.threadId === 'healthy-child') {
273
+ return Promise.resolve({
274
+ thread: {
275
+ id: 'healthy-child',
276
+ turns: [
277
+ {
278
+ id: 'healthy-turn',
279
+ status: 'completed',
280
+ completedAt: 1_786_150_800,
281
+ items: [{ type: 'agentMessage', id: 'answer', text: 'Healthy result' }],
282
+ },
283
+ ],
284
+ },
285
+ });
286
+ }
287
+ throw new Error(`unexpected request: ${method}`);
288
+ });
289
+ const controller = new CodexSubagentController({
290
+ codex: { request },
291
+ requireSession: () => parent,
292
+ createProjectionSession,
293
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
294
+ extNotification: vi.fn(() => Promise.resolve()),
295
+ });
296
+ await expect(controller.list({ sessionId: parent.sessionId, cursor: null, limit: 50 })).resolves.toMatchObject({
297
+ subagents: [
298
+ {
299
+ id: 'missing-child',
300
+ status: 'completed',
301
+ latestActivity: 'Last known activity',
302
+ completedAt: null,
303
+ resultPreview: null,
304
+ },
305
+ {
306
+ id: 'healthy-child',
307
+ status: 'completed',
308
+ resultPreview: 'Healthy result',
309
+ },
310
+ ],
311
+ });
312
+ });
313
+ it('does not enrich a summary from a mismatched thread response', async () => {
314
+ const parent = createSession();
315
+ const request = vi.fn((method) => {
316
+ if (method === 'thread/list') {
317
+ return Promise.resolve({
318
+ data: [
319
+ {
320
+ id: 'requested-child',
321
+ parentThreadId: parent.threadId,
322
+ name: 'Requested child',
323
+ preview: 'Last known activity',
324
+ status: { type: 'idle' },
325
+ turns: [],
326
+ },
327
+ ],
328
+ nextCursor: null,
329
+ });
330
+ }
331
+ if (method === 'thread/read') {
332
+ return Promise.resolve({
333
+ thread: {
334
+ id: 'different-child',
335
+ turns: [
336
+ {
337
+ id: 'foreign-turn',
338
+ status: 'completed',
339
+ items: [{ type: 'agentMessage', id: 'foreign-answer', text: 'Do not expose me' }],
340
+ },
341
+ ],
342
+ },
343
+ });
344
+ }
345
+ throw new Error(`unexpected request: ${method}`);
346
+ });
347
+ const controller = new CodexSubagentController({
348
+ codex: { request },
349
+ requireSession: () => parent,
350
+ createProjectionSession,
351
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
352
+ extNotification: vi.fn(() => Promise.resolve()),
353
+ });
354
+ await expect(controller.list({ sessionId: parent.sessionId, cursor: null, limit: 50 })).resolves.toMatchObject({
355
+ subagents: [{ id: 'requested-child', resultPreview: null, completedAt: null }],
356
+ });
357
+ });
358
+ it('normalizes an unknown terminal turn status and reports shape drift', async () => {
359
+ const parent = createSession();
360
+ const reportShapeDrift = vi.fn();
361
+ const controller = new CodexSubagentController({
362
+ codex: {
363
+ request: vi.fn(() => Promise.resolve({
364
+ data: [
365
+ {
366
+ id: 'future-status-child',
367
+ parentThreadId: parent.threadId,
368
+ status: { type: 'idle' },
369
+ turns: [
370
+ {
371
+ id: 'future-turn',
372
+ status: 'supersededByProvider',
373
+ items: [],
374
+ },
375
+ ],
376
+ },
377
+ ],
378
+ nextCursor: null,
379
+ })),
380
+ },
381
+ requireSession: () => parent,
382
+ createProjectionSession,
383
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
384
+ extNotification: vi.fn(() => Promise.resolve()),
385
+ reportShapeDrift,
386
+ });
387
+ await expect(controller.list({ sessionId: parent.sessionId, cursor: null, limit: 50 })).resolves.toMatchObject({
388
+ subagents: [{ id: 'future-status-child', status: 'completed' }],
389
+ });
390
+ expect(reportShapeDrift).toHaveBeenCalledWith('unknown_subagent_turn_status', {
391
+ status: 'supersededByProvider',
392
+ });
393
+ });
394
+ it('includes the live turn only on the newest page while paging completed turns', async () => {
395
+ const parent = createSession();
396
+ const projectedTurnPages = [];
397
+ const request = vi.fn((method, params) => {
398
+ if (method === 'thread/list') {
399
+ return Promise.resolve({
400
+ data: [
401
+ {
402
+ id: 'child-thread-1',
403
+ parentThreadId: parent.threadId,
404
+ preview: 'First child',
405
+ status: { type: 'active', activeFlags: [] },
406
+ turns: [],
407
+ },
408
+ {
409
+ id: 'child-thread-2',
410
+ parentThreadId: parent.threadId,
411
+ preview: 'Second child',
412
+ status: { type: 'active', activeFlags: [] },
413
+ turns: [],
414
+ },
415
+ {
416
+ id: 'foreign-thread-1',
417
+ parentThreadId: 'foreign-parent',
418
+ preview: 'Foreign child',
419
+ status: { type: 'active', activeFlags: [] },
420
+ turns: [],
421
+ },
422
+ ],
423
+ nextCursor: null,
424
+ });
425
+ }
426
+ if (method === 'thread/read' && params.threadId === 'child-thread-1') {
427
+ return Promise.resolve({
428
+ thread: {
429
+ id: 'child-thread-1',
430
+ turns: [
431
+ {
432
+ id: 'turn-1',
433
+ status: 'completed',
434
+ items: [{ type: 'agentMessage', id: 'agent-1', text: 'oldest' }],
435
+ },
436
+ {
437
+ id: 'turn-2',
438
+ status: 'failed',
439
+ items: [{ type: 'agentMessage', id: 'agent-2', text: 'middle' }],
440
+ },
441
+ {
442
+ id: 'turn-3',
443
+ status: 'completed',
444
+ items: [{ type: 'agentMessage', id: 'agent-3', text: 'newest' }],
445
+ },
446
+ {
447
+ id: 'turn-live',
448
+ status: 'inProgress',
449
+ items: [{ type: 'agentMessage', id: 'agent-live', text: 'working now' }],
450
+ },
451
+ ],
452
+ },
453
+ });
454
+ }
455
+ throw new Error(`unexpected request: ${method} ${String(params.threadId)}`);
456
+ });
457
+ const projectThreadTurns = vi.fn((_session, turns) => {
458
+ projectedTurnPages.push(turns.map((turn) => turn.id));
459
+ return Promise.resolve(turns.flatMap((turn) => turn.items
460
+ .filter((item) => item.type === 'agentMessage')
461
+ .map((item) => ({
462
+ sessionUpdate: 'agent_message_chunk',
463
+ content: { type: 'text', text: String(item.text) },
464
+ }))));
465
+ });
466
+ const controller = new CodexSubagentController({
467
+ codex: { request },
468
+ requireSession: () => parent,
469
+ createProjectionSession,
470
+ projectThreadTurns,
471
+ extNotification: vi.fn(() => Promise.resolve()),
472
+ });
473
+ const first = await controller.read({
474
+ sessionId: 'parent-session-1',
475
+ subagentId: 'child-thread-1',
476
+ cursor: null,
477
+ limit: 2,
478
+ });
479
+ expect(first.updates.at(-1)).toMatchObject({
480
+ sessionUpdate: 'agent_message_chunk',
481
+ content: { text: 'working now' },
482
+ });
483
+ expect(first.projectionBoundary).toBe('turn');
484
+ expect(first.nextCursor).toEqual(expect.any(String));
485
+ expect(projectedTurnPages[0]).toEqual(['turn-2', 'turn-3', 'turn-live']);
486
+ const second = await controller.read({
487
+ sessionId: 'parent-session-1',
488
+ subagentId: 'child-thread-1',
489
+ cursor: first.nextCursor,
490
+ limit: 2,
491
+ });
492
+ expect(second.updates).toEqual([
493
+ {
494
+ sessionUpdate: 'agent_message_chunk',
495
+ content: { type: 'text', text: 'oldest' },
496
+ },
497
+ ]);
498
+ expect(second.nextCursor).toBeNull();
499
+ expect(second.projectionBoundary).toBe('turn');
500
+ expect(projectedTurnPages[1]).toEqual(['turn-1']);
501
+ });
502
+ it('rejects a foreign thread before reading its transcript', async () => {
503
+ const parent = createSession();
504
+ const request = vi.fn((method) => {
505
+ if (method === 'thread/list') {
506
+ return Promise.resolve({
507
+ data: [
508
+ {
509
+ id: 'foreign-thread-1',
510
+ parentThreadId: 'another-parent',
511
+ preview: 'Must not leak',
512
+ status: { type: 'idle' },
513
+ turns: [],
514
+ },
515
+ ],
516
+ nextCursor: null,
517
+ });
518
+ }
519
+ throw new Error(`unexpected method: ${method}`);
520
+ });
521
+ const controller = new CodexSubagentController({
522
+ codex: { request },
523
+ requireSession: () => parent,
524
+ createProjectionSession,
525
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
526
+ extNotification: vi.fn(() => Promise.resolve()),
527
+ });
528
+ await expect(controller.read({
529
+ sessionId: parent.sessionId,
530
+ subagentId: 'foreign-thread-1',
531
+ cursor: null,
532
+ limit: 10,
533
+ })).rejects.toMatchObject({ code: -32_002 });
534
+ expect(request).not.toHaveBeenCalledWith('thread/read', expect.objectContaining({ threadId: 'foreign-thread-1' }));
535
+ });
536
+ it('rejects a mismatched transcript response before projection', async () => {
537
+ const parent = createSession();
538
+ const projectThreadTurns = vi.fn(() => Promise.resolve([]));
539
+ const request = vi.fn((method) => {
540
+ if (method === 'thread/list') {
541
+ return Promise.resolve({
542
+ data: [
543
+ {
544
+ id: 'requested-child',
545
+ parentThreadId: parent.threadId,
546
+ status: { type: 'active', activeFlags: [] },
547
+ turns: [],
548
+ },
549
+ ],
550
+ nextCursor: null,
551
+ });
552
+ }
553
+ if (method === 'thread/read') {
554
+ return Promise.resolve({
555
+ thread: {
556
+ id: 'different-child',
557
+ turns: [
558
+ {
559
+ id: 'foreign-turn',
560
+ status: 'completed',
561
+ items: [{ type: 'agentMessage', id: 'foreign-answer', text: 'Do not project me' }],
562
+ },
563
+ ],
564
+ },
565
+ });
566
+ }
567
+ throw new Error(`unexpected request: ${method}`);
568
+ });
569
+ const controller = new CodexSubagentController({
570
+ codex: { request },
571
+ requireSession: () => parent,
572
+ createProjectionSession,
573
+ projectThreadTurns,
574
+ extNotification: vi.fn(() => Promise.resolve()),
575
+ });
576
+ await expect(controller.read({
577
+ sessionId: parent.sessionId,
578
+ subagentId: 'requested-child',
579
+ cursor: null,
580
+ limit: 10,
581
+ })).rejects.toMatchObject({ code: -32_603 });
582
+ expect(projectThreadTurns).not.toHaveBeenCalled();
583
+ });
584
+ it('rejects a repeated ownership cursor without requesting the page again', async () => {
585
+ const parent = createSession();
586
+ let listCalls = 0;
587
+ const request = vi.fn((method) => {
588
+ if (method !== 'thread/list') {
589
+ throw new Error(`unexpected request: ${method}`);
590
+ }
591
+ listCalls += 1;
592
+ if (listCalls > 2) {
593
+ throw new Error('ownership pagination did not terminate');
594
+ }
595
+ return Promise.resolve({ data: [], nextCursor: 'repeated-cursor' });
596
+ });
597
+ const controller = new CodexSubagentController({
598
+ codex: { request },
599
+ requireSession: () => parent,
600
+ createProjectionSession,
601
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
602
+ extNotification: vi.fn(() => Promise.resolve()),
603
+ });
604
+ await expect(controller.read({
605
+ sessionId: parent.sessionId,
606
+ subagentId: 'missing-child',
607
+ cursor: null,
608
+ limit: 10,
609
+ })).rejects.toMatchObject({ code: -32_603 });
610
+ expect(listCalls).toBe(2);
611
+ });
612
+ it('classifies malformed provider thread responses as protocol errors', async () => {
613
+ const parent = createSession();
614
+ const request = vi.fn((method) => {
615
+ if (method === 'thread/list') {
616
+ return Promise.resolve({
617
+ data: [
618
+ {
619
+ id: 'child-thread-1',
620
+ parentThreadId: parent.threadId,
621
+ status: { type: 'active', activeFlags: [] },
622
+ turns: [],
623
+ },
624
+ ],
625
+ nextCursor: null,
626
+ });
627
+ }
628
+ if (method === 'thread/read') {
629
+ return Promise.resolve({ thread: { id: 'child-thread-1', turns: 'malformed' } });
630
+ }
631
+ throw new Error(`unexpected request: ${method}`);
632
+ });
633
+ const controller = new CodexSubagentController({
634
+ codex: { request },
635
+ requireSession: () => parent,
636
+ createProjectionSession,
637
+ projectThreadTurns: vi.fn(() => Promise.resolve([])),
638
+ extNotification: vi.fn(() => Promise.resolve()),
639
+ });
640
+ await expect(controller.read({
641
+ sessionId: parent.sessionId,
642
+ subagentId: 'child-thread-1',
643
+ cursor: null,
644
+ limit: 10,
645
+ })).rejects.toMatchObject({ code: -32_603 });
646
+ });
647
+ });
648
+ //# sourceMappingURL=codex-subagent-controller.test.js.map