factory-factory 0.4.7 → 0.4.9
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.
- package/README.md +72 -23
- package/dist/client/assets/Archive.es-moH8rDRO.js +1 -0
- package/dist/client/assets/ArrowLeft.es-CVl_zVBC.js +1 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DzuBdUSN.js +1 -0
- package/dist/client/assets/admin-page-CAsPxzW9.js +1 -0
- package/dist/client/assets/alert-2CAe526X.js +1 -0
- package/dist/client/assets/alert-dialog-8vhMuR-k.js +1 -0
- package/dist/client/assets/arc-Pry-7G1_.js +1 -0
- package/dist/client/assets/architecture-7GRP2DOG-Bcwjoi8B.js +1 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CeuoQvaW.js +36 -0
- package/dist/client/assets/array-BifhSqXX.js +1 -0
- package/dist/client/assets/badge-CoDH1rER.js +1 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-BY92gQgN.js +129 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-D5TNBYXh.js +38 -0
- package/dist/client/assets/channel-NEbtzeVB.js +1 -0
- package/dist/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist/client/assets/chunk-4HAMMTFA-DBbX-wzu.js +62 -0
- package/dist/client/assets/{chunk-5VM5RSS4-D2hwZzSy.js → chunk-5VM5RSS4-ZNzvKenW.js} +2 -2
- package/dist/client/assets/chunk-75Z2AOVW-962-yyBD.js +2 -0
- package/dist/client/assets/chunk-DU6HZSFF-CHHMX1CR.js +127 -0
- package/dist/client/assets/chunk-F27PBJKO-BOnYAGjZ.js +1 -0
- package/dist/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
- package/dist/client/assets/chunk-GMAD6QVW-DQF31PdR.js +72 -0
- package/dist/client/assets/chunk-GVQU2GXP-rruJzn36.js +1 -0
- package/dist/client/assets/chunk-IMKFNOWR-GIKO0MCA.js +231 -0
- package/dist/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist/client/assets/chunk-L3NEJ4N5-USlKRxmU.js +1 -0
- package/dist/client/assets/chunk-OSK3NFVY-DYQeYWNP.js +10 -0
- package/dist/client/assets/chunk-P2QGCYS3-SDkZ9hQX.js +1 -0
- package/dist/client/assets/chunk-POPQ4Y6H-bdnFdIMc.js +1 -0
- package/dist/client/assets/chunk-PWAF6VOD-DuKrEmQw.js +1 -0
- package/dist/client/assets/chunk-SHT3W25Y-BnWDS29f.js +168 -0
- package/dist/client/assets/chunk-SVP7TREG-BqyZjR36.js +88 -0
- package/dist/client/assets/chunk-TICWLB2K-ZCb3dlre.js +206 -0
- package/dist/client/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
- package/dist/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist/client/assets/ci-status-cs76P3se.js +1 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-zE_E4kYq.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-zE_E4kYq.js +1 -0
- package/dist/client/assets/components-CoS_rGt2.js +1 -0
- package/dist/client/assets/confirm-dialog-CfvO9f42.js +1 -0
- package/dist/client/assets/core-DW3tuXQ3.js +1 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-BbJNf1Rj.js +1 -0
- package/dist/client/assets/cynefin-OW5HDTMX-Ci2WypGa.js +1 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CGea7wa2.js +62 -0
- package/dist/client/assets/cytoscape.esm-B-1iW2ft.js +321 -0
- package/dist/client/assets/dagre-C-rnJpZF.js +1 -0
- package/dist/client/assets/dagre-GXQ25YYZ-CJcHs09G.js +4 -0
- package/dist/client/assets/data-import-button-cvKmYZJe.js +6 -0
- package/dist/client/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist/client/assets/detail-C3U9ED1b.js +1 -0
- package/dist/client/assets/diagram-S7CK7UJ4-Drsfjeco.js +30 -0
- package/dist/client/assets/diagram-UQ7AKVKN-0SrBP_3E.js +41 -0
- package/dist/client/assets/diagram-VSXAHHWV-DB2rqHgv.js +3 -0
- package/dist/client/assets/diagram-VX7I27RA-B2y3VQbR.js +24 -0
- package/dist/client/assets/diagram-Z3DM3KII-D63_zfy5.js +24 -0
- package/dist/client/assets/diff-highlight.worker-FEJq0yPv.js +60 -0
- package/dist/client/assets/dist-BO6Gz-vk.js +1 -0
- package/dist/client/assets/dist-DGw3MClt.js +41 -0
- package/dist/client/assets/dist-v5Q1xZ2K.js +1 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-8gEK-ifx.js +1 -0
- package/dist/client/assets/en-US-C-x19js7.js +1 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-B2CcHHg7.js +99 -0
- package/dist/client/assets/eventmodeling-NTZA5JFV-DqUwwD9w.js +1 -0
- package/dist/client/assets/factory-config-scripts-C2BfO5od.js +1 -0
- package/dist/client/assets/flowDiagram-HODETNUW-DCZkaOsj.js +1 -0
- package/dist/client/assets/formatters-D_bnXRun.js +1 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-B_Y3HJTL.js +292 -0
- package/dist/client/assets/gitGraph-4MIJSDKK-DBd1UxTm.js +1 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CrdKibnu.js +106 -0
- package/dist/client/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/client/assets/home-DRzNpm0E.js +1 -0
- package/dist/client/assets/hooks-3rxtNHRh.js +1 -0
- package/dist/client/assets/index-BJo4hZ8z.js +10 -0
- package/dist/client/assets/index-CpFffknJ.css +2 -0
- package/dist/client/assets/info-A6RAGUB7-CCMRmQ2H.js +1 -0
- package/dist/client/assets/infoDiagram-27XIBGKW-DO-IhKUM.js +2 -0
- package/dist/client/assets/init-C-OQMol4.js +1 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-KejlLQ1k.js +70 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DemWKqD6.js +139 -0
- package/dist/client/assets/jsx-runtime-BNakU3Ej.js +1 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-uRffHAE9.js +89 -0
- package/dist/client/assets/katex-ZlcWpGUi.js +257 -0
- package/dist/client/assets/label-ANA2Lfpk.js +1 -0
- package/dist/client/assets/lib-CHy_7XQu.js +1 -0
- package/dist/client/assets/line-CfCBYCoS.js +1 -0
- package/dist/client/assets/linear-SzVmGSw4.js +1 -0
- package/dist/client/assets/list-C3P6JbyU.js +30 -0
- package/dist/client/assets/list-oJCufmEX.js +1 -0
- package/dist/client/assets/logs-zb2la033.js +1 -0
- package/dist/client/assets/mermaid-diagram-kbWN558y.js +44 -0
- package/dist/client/assets/mermaid-parser.core-CpkwJ-8U.js +7 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-DYYi_9Si.js +96 -0
- package/dist/client/assets/mobile-baseline-BVS3GXLz.js +10 -0
- package/dist/client/assets/new-BiEmR60A.js +1 -0
- package/dist/client/assets/new-CcQm3ES8.js +1 -0
- package/dist/client/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dist/client/assets/packet-AYTQ26CC-kvNXQn-j.js +1 -0
- package/dist/client/assets/page-header-CpSh-j1O.js +1 -0
- package/dist/client/assets/path-fybaL0A-.js +1 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-CMAngYAK.js +1 -0
- package/dist/client/assets/pie-WAS4IAKB-DFNGAljQ.js +1 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-XGRy7b5E.js +39 -0
- package/dist/client/assets/popover-CIfFCO0U.js +1 -0
- package/dist/client/assets/pr-inbox-item-D9UcI0SS.js +2 -0
- package/dist/client/assets/preload-helper-BZ1Pz5am.js +1 -0
- package/dist/client/assets/project-repo-form-Dc8ha6XP.js +1 -0
- package/dist/client/assets/provider-cli-warning-CIAJ88Cy.js +1 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BFek-axl.js +7 -0
- package/dist/client/assets/radar-RG4KPBEZ-k-UBw86I.js +1 -0
- package/dist/client/assets/radio-group-BhmTXkIv.js +1 -0
- package/dist/client/assets/railroad-74A4TZTK-B6DuT-HY.js +1 -0
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DF-z1cVb.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-C6VgaalR.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DRMqhGU3.js +1 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CBzDTFh9.js +1 -0
- package/dist/client/assets/redirect-DexaYCz_.js +1 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-DSgpbBy3.js +84 -0
- package/dist/client/assets/reviews-DDO7Pvrz.js +1 -0
- package/dist/client/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BOWaOPXp.js +40 -0
- package/dist/client/assets/select-Cq3ddA2b.js +1 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-9wHsZFGh.js +162 -0
- package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
- package/dist/client/assets/spinner-BszfzCYe.js +1 -0
- package/dist/client/assets/src-B6xuSHsQ.js +1 -0
- package/dist/client/assets/startup-script-form-CHvwd1Nb.js +1 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-Blo9H6q_.js +1 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BzJ9AKXW.js +1 -0
- package/dist/client/assets/swimlanes-42K2YHIH-DI0BHdWG.js +1 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DSnxWZUW.js +8 -0
- package/dist/client/assets/table-CUvMM0aA.js +1 -0
- package/dist/client/assets/tabs-BBAQyvSA.js +1 -0
- package/dist/client/assets/terminal-instance-BEqkmyvv.js +16 -0
- package/dist/client/assets/terminal-instance-BrP-ENHg.css +1 -0
- package/dist/client/assets/textarea-DxWYClhS.js +1 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-C8fyxpVm.js +120 -0
- package/dist/client/assets/tooltip-DXcY1U7y.js +1 -0
- package/dist/client/assets/treeView-Q6P3EWNA-CzQAwJw-.js +1 -0
- package/dist/client/assets/treemap-WGGIJYW6-zWRSK6WR.js +1 -0
- package/dist/client/assets/trpc-CQO3zfei.js +1 -0
- package/dist/client/assets/use-auto-scroll-DNohsNoz.js +1 -0
- package/dist/client/assets/use-download-server-log-efKIcIwE.js +1 -0
- package/dist/client/assets/use-project-header-navigation-D5yIIgnb.js +1 -0
- package/dist/client/assets/use-websocket-channel-dNXOJZfW.js +4 -0
- package/dist/client/assets/use-websocket-transport-BuYcrZTd.js +55 -0
- package/dist/client/assets/vbnet-CwR9YcOY.js +57 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-ffnMpD5u.js +34 -0
- package/dist/client/assets/voice-vad-ChMQMgBS.js +1 -0
- package/dist/client/assets/wardley-WFR3VGLG-acbsrLnl.js +1 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BtqGCwsu.js +78 -0
- package/dist/client/assets/workspace-a6lf168c.js +18 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-Bfy9xcWF.js +7 -0
- package/dist/client/index.html +30 -10
- package/dist/prisma/generated/client.js.map +1 -1
- package/dist/prisma/generated/enums.d.ts +86 -86
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +4 -4
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +206 -206
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +2 -2
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +204 -204
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prompts/quick-actions/fetch-rebase.md +5 -9
- package/dist/prompts/quick-actions/rename-branch.md +4 -8
- package/dist/prompts/quick-actions/review.md +6 -5
- package/dist/prompts/quick-actions/screenshots.md +7 -20
- package/dist/prompts/quick-actions/simplify.md +4 -1
- package/dist/prompts/ratchet/dispatch.md +13 -46
- package/dist/scripts/check-fk-indexes.js.map +1 -1
- package/dist/scripts/check-no-direct-process-env.d.mts +1 -1
- package/dist/scripts/check-no-direct-process-env.d.mts.map +1 -1
- package/dist/scripts/check-no-direct-process-env.mjs.map +1 -1
- package/dist/src/backend/app-context.d.ts +2 -2
- package/dist/src/backend/app-context.d.ts.map +1 -1
- package/dist/src/backend/app-context.js +2 -2
- package/dist/src/backend/app-context.js.map +1 -1
- package/dist/src/backend/clients/git.client.d.ts.map +1 -1
- package/dist/src/backend/clients/git.client.js +2 -2
- package/dist/src/backend/clients/git.client.js.map +1 -1
- package/dist/src/backend/constants/http.d.ts.map +1 -1
- package/dist/src/backend/constants/websocket.d.ts.map +1 -1
- package/dist/src/backend/interceptors/auto-branch-rename.d.ts +1 -1
- package/dist/src/backend/interceptors/auto-branch-rename.d.ts.map +1 -1
- package/dist/src/backend/interceptors/auto-branch-rename.js +3 -3
- package/dist/src/backend/interceptors/branch-naming.interceptor.js +4 -4
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +14 -17
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -1
- package/dist/src/backend/interceptors/branch-rename.utils.d.ts +1 -1
- package/dist/src/backend/interceptors/branch-rename.utils.js +1 -1
- package/dist/src/backend/interceptors/conversation-rename.interceptor.js +6 -6
- package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js +7 -7
- package/dist/src/backend/interceptors/conversation-rename.interceptor.test.js.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.js +3 -3
- package/dist/src/backend/interceptors/registry.d.ts.map +1 -1
- package/dist/src/backend/interceptors/registry.js +1 -1
- package/dist/src/backend/lib/application-error.d.ts.map +1 -1
- package/dist/src/backend/lib/application-error.js.map +1 -1
- package/dist/src/backend/lib/atomic-file.js.map +1 -1
- package/dist/src/backend/lib/constants.d.ts.map +1 -1
- package/dist/src/backend/lib/env.js.map +1 -1
- package/dist/src/backend/lib/file-helpers.js.map +1 -1
- package/dist/src/backend/lib/file-lock-mutex.d.ts.map +1 -1
- package/dist/src/backend/lib/file-lock-mutex.js +1 -1
- package/dist/src/backend/lib/file-lock-mutex.js.map +1 -1
- package/dist/src/backend/lib/file-preview.d.ts +6 -0
- package/dist/src/backend/lib/file-preview.d.ts.map +1 -0
- package/dist/src/backend/lib/file-preview.js +34 -0
- package/dist/src/backend/lib/file-preview.js.map +1 -0
- package/dist/src/backend/lib/git-status-parser.test.js +1 -1
- package/dist/src/backend/lib/request-trust.js.map +1 -1
- package/dist/src/backend/lib/topic-broadcaster.d.ts.map +1 -1
- package/dist/src/backend/lib/topic-broadcaster.js.map +1 -1
- package/dist/src/backend/lib/topic-broadcaster.test.js +1 -1
- package/dist/src/backend/lib/websocket-send.js +1 -1
- package/dist/src/backend/lib/websocket-send.test.js +1 -1
- package/dist/src/backend/lib/websocket-send.test.js.map +1 -1
- package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
- package/dist/src/backend/middleware/cors.middleware.d.ts +1 -1
- package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
- package/dist/src/backend/middleware/cors.middleware.js +1 -1
- package/dist/src/backend/middleware/middleware.test.js.map +1 -1
- package/dist/src/backend/middleware/request-logger.middleware.d.ts +1 -1
- package/dist/src/backend/middleware/request-logger.middleware.d.ts.map +1 -1
- package/dist/src/backend/migrate.js.map +1 -1
- package/dist/src/backend/orchestration/cli-health.service.d.ts +1 -1
- package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/cli-health.service.js +35 -27
- package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
- package/dist/src/backend/orchestration/cli-health.service.test.js +40 -0
- package/dist/src/backend/orchestration/cli-health.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.js +2 -2
- package/dist/src/backend/orchestration/data-backup.service.test.js +38 -5
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +9 -9
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +2 -2
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +9 -9
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/event-coalescer.integration.test.js +1 -1
- package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js +6 -6
- package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts +2 -0
- package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js +83 -0
- package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js.map +1 -0
- package/dist/src/backend/orchestration/event-collector.linear.test.d.ts +2 -0
- package/dist/src/backend/orchestration/event-collector.linear.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/event-collector.linear.test.js +206 -0
- package/dist/src/backend/orchestration/event-collector.linear.test.js.map +1 -0
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +11 -11
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.js +63 -141
- package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +39 -121
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/health.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/health.service.js +1 -1
- package/dist/src/backend/orchestration/linear-config.helper.js +2 -2
- package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts +24 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.d.ts.map +1 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.js +128 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.js.map +1 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts +2 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.test.js +174 -0
- package/dist/src/backend/orchestration/ratchet-projection.worker.test.js.map +1 -0
- package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/reconciliation.service.js +5 -5
- package/dist/src/backend/orchestration/reconciliation.service.test.js +2 -2
- package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.js +7 -7
- package/dist/src/backend/orchestration/scheduler.service.test.js +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +8 -6
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +122 -78
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +61 -110
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts +2 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js +206 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.streaming.test.js.map +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts +6 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts.map +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js +117 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js.map +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts +2 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js +8 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js.map +1 -0
- package/dist/src/backend/orchestration/types.d.ts +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +4 -4
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +42 -36
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +6 -2
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-children.orchestrator.js +5 -6
- package/dist/src/backend/orchestration/workspace-children.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js +2 -2
- package/dist/src/backend/orchestration/workspace-init-github-username-cache.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init-github-username-cache.js +1 -1
- package/dist/src/backend/orchestration/workspace-init-github-username-cache.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init-issue-prompts.d.ts +1 -1
- package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +3 -3
- package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js +5 -5
- package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +1 -1
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +6 -6
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts +2 -0
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js +52 -0
- package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js.map +1 -0
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js +9 -9
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +5 -5
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js +2 -2
- package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts +2 -0
- package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts.map +1 -0
- package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js +175 -0
- package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js.map +1 -0
- package/dist/src/backend/prompts/branch-rename.js +1 -1
- package/dist/src/backend/prompts/markdown-loader.d.ts.map +1 -1
- package/dist/src/backend/prompts/quick-actions.js +1 -1
- package/dist/src/backend/prompts/quick-actions.js.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.js +12 -78
- package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.test.js +39 -27
- package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
- package/dist/src/backend/routers/health.router.d.ts +1 -1
- package/dist/src/backend/routers/health.router.js +2 -2
- package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts +1 -1
- package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/chat-connection-registry.js +3 -3
- package/dist/src/backend/routers/websocket/chat-connection-registry.test.js +2 -2
- package/dist/src/backend/routers/websocket/chat-connection-registry.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/chat.handler.d.ts +2 -2
- package/dist/src/backend/routers/websocket/chat.handler.js +3 -3
- package/dist/src/backend/routers/websocket/chat.handler.test.js +2 -2
- package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/context-injection.test.js +8 -8
- package/dist/src/backend/routers/websocket/context-injection.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.js +2 -2
- package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.js +1 -1
- package/dist/src/backend/routers/websocket/log-stream.handler.d.ts +2 -2
- package/dist/src/backend/routers/websocket/log-stream.handler.js +1 -1
- package/dist/src/backend/routers/websocket/message-utils.js +1 -1
- package/dist/src/backend/routers/websocket/message-utils.test.js +1 -1
- package/dist/src/backend/routers/websocket/push-channel.handler.d.ts +2 -2
- package/dist/src/backend/routers/websocket/push-channel.handler.js +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.js +4 -4
- package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +2 -2
- package/dist/src/backend/routers/websocket/snapshots.handler.d.ts +2 -2
- package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/snapshots.handler.js +5 -5
- package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/snapshots.handler.test.js +6 -6
- package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.d.ts +2 -2
- package/dist/src/backend/routers/websocket/terminal.handler.js +5 -5
- package/dist/src/backend/routers/websocket/terminal.handler.test.js +4 -4
- package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +1 -1
- package/dist/src/backend/routers/websocket/upgrade-utils.js +2 -2
- package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/voice-soft-stop.handler.d.ts +1 -1
- package/dist/src/backend/routers/websocket/voice.handler.d.ts +1 -1
- package/dist/src/backend/routers/websocket/voice.handler.js +1 -1
- package/dist/src/backend/routers/websocket/websocket.integration.test.js +4 -4
- package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +6 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +60 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/git-ops.js +1 -1
- package/dist/src/backend/services/auto-iteration/service/index.js +1 -1
- package/dist/src/backend/services/auto-iteration/service/insights.service.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/logbook.service.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/prompts.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/prompts.js +14 -54
- package/dist/src/backend/services/auto-iteration/service/prompts.js.map +1 -1
- package/dist/src/backend/services/check-service-accessor-boundaries.test.js +10 -14
- package/dist/src/backend/services/check-service-accessor-boundaries.test.js.map +1 -1
- package/dist/src/backend/services/check-single-writer.test.js +9 -12
- package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
- package/dist/src/backend/services/config.service.d.ts.map +1 -1
- package/dist/src/backend/services/config.service.js +1 -1
- package/dist/src/backend/services/constants.d.ts +1 -0
- package/dist/src/backend/services/constants.d.ts.map +1 -1
- package/dist/src/backend/services/constants.js +1 -0
- package/dist/src/backend/services/constants.js.map +1 -1
- package/dist/src/backend/services/crypto.service.d.ts.map +1 -1
- package/dist/src/backend/services/decision-log/resources/decision-log.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/decision-log/resources/decision-log.accessor.js +1 -1
- package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.js +1 -1
- package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts.map +1 -1
- package/dist/src/backend/services/decision-log/service/decision-log.service.js +1 -1
- package/dist/src/backend/services/env-schemas.d.ts +53 -53
- package/dist/src/backend/services/github/service/github-cli/constants.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/errors.js +2 -2
- package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +13 -13
- package/dist/src/backend/services/github/service/github-cli/utils.js +1 -1
- package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts +2 -0
- package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts.map +1 -0
- package/dist/src/backend/services/github/service/github-cli-health-cache.test.js +45 -0
- package/dist/src/backend/services/github/service/github-cli-health-cache.test.js.map +1 -0
- package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts +2 -0
- package/dist/src/backend/services/github/service/github-cli-review-pagination.test.d.ts.map +1 -0
- package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js +58 -0
- package/dist/src/backend/services/github/service/github-cli-review-pagination.test.js.map +1 -0
- package/dist/src/backend/services/github/service/github-cli.service.d.ts +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.js +29 -27
- package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.js +1 -1
- package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +2 -2
- package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/pr-snapshot.service.js +2 -2
- package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
- package/dist/src/backend/services/job-runner.service.d.ts.map +1 -1
- package/dist/src/backend/services/job-runner.service.js +1 -1
- package/dist/src/backend/services/job-runner.service.js.map +1 -1
- package/dist/src/backend/services/linear/service/linear-client.service.d.ts +1 -1
- package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
- package/dist/src/backend/services/linear/service/linear-client.service.js +25 -10
- package/dist/src/backend/services/linear/service/linear-client.service.js.map +1 -1
- package/dist/src/backend/services/linear/service/linear-client.service.test.js +46 -5
- package/dist/src/backend/services/linear/service/linear-client.service.test.js.map +1 -1
- package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts +2 -0
- package/dist/src/backend/services/linear/service/linear-client.transport.test.d.ts.map +1 -0
- package/dist/src/backend/services/linear/service/linear-client.transport.test.js +64 -0
- package/dist/src/backend/services/linear/service/linear-client.transport.test.js.map +1 -0
- package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts +1 -1
- package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts.map +1 -1
- package/dist/src/backend/services/linear/service/linear-state-sync.service.js +3 -2
- package/dist/src/backend/services/linear/service/linear-state-sync.service.js.map +1 -1
- package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js +7 -3
- package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js.map +1 -1
- package/dist/src/backend/services/logger.service.d.ts.map +1 -1
- package/dist/src/backend/services/logger.service.js +1 -1
- package/dist/src/backend/services/notification.service.d.ts.map +1 -1
- package/dist/src/backend/services/notification.service.js +2 -2
- package/dist/src/backend/services/notification.service.js.map +1 -1
- package/dist/src/backend/services/periodic-task/index.js +1 -1
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +1 -1
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +23 -23
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +4 -4
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -1
- package/dist/src/backend/services/port.service.test.js +1 -3
- package/dist/src/backend/services/port.service.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/fixer-session.service.js +4 -4
- package/dist/src/backend/services/ratchet/service/fixer-session.service.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +2 -2
- package/dist/src/backend/services/ratchet/service/provider-selection.js +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +5 -5
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +2 -2
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js +2 -2
- package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js +2 -2
- package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-workspace-check-coordinator.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +3 -3
- package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.js +7 -7
- package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +4 -4
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +1 -1
- package/dist/src/backend/services/rate-limit-backoff.d.ts.map +1 -1
- package/dist/src/backend/services/rate-limit-backoff.js +1 -1
- package/dist/src/backend/services/rate-limiter.service.d.ts.map +1 -1
- package/dist/src/backend/services/rate-limiter.service.js.map +1 -1
- package/dist/src/backend/services/registry.d.ts +24 -24
- package/dist/src/backend/services/registry.d.ts.map +1 -1
- package/dist/src/backend/services/resources.integration.test.js +1 -1
- package/dist/src/backend/services/resources.integration.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/factory-config.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/factory-config.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/port-allocation.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/port-allocation.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.js +2 -2
- package/dist/src/backend/services/run-script/service/run-script-output-buffer.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-output-buffer.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts +1 -1
- package/dist/src/backend/services/run-script/service/run-script-process-utils.js +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.js +2 -2
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts +2 -2
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js +2 -2
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.js +3 -3
- package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts +2 -0
- package/dist/src/backend/services/run-script/service/startup-script.integration.test.d.ts.map +1 -0
- package/dist/src/backend/services/run-script/service/startup-script.integration.test.js +63 -0
- package/dist/src/backend/services/run-script/service/startup-script.integration.test.js.map +1 -0
- package/dist/src/backend/services/run-script/service/startup-script.service.d.ts +1 -0
- package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.js +41 -15
- package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.test.js +52 -2
- package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
- package/dist/src/backend/services/server-instance.service.d.ts +1 -1
- package/dist/src/backend/services/server-instance.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.js +2 -2
- package/dist/src/backend/services/session/resources/closed-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/session/resources/closed-session.accessor.js +1 -1
- package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.js +1 -1
- package/dist/src/backend/services/session/resources/session-lifecycle-event.accessor.test.js +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-factory.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-factory.js +2 -1
- package/dist/src/backend/services/session/service/acp/acp-client-factory.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js +4 -9
- package/dist/src/backend/services/session/service/acp/acp-client-factory.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-handler.js +1 -1
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts +2 -0
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js +15 -2
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js +12 -0
- package/dist/src/backend/services/session/service/acp/acp-permission-bridge.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts +3 -0
- package/dist/src/backend/services/session/service/acp/acp-process-handle.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-process-handle.js +2 -0
- package/dist/src/backend/services/session/service/acp/acp-process-handle.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-prompt-controller.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js +2 -1
- package/dist/src/backend/services/session/service/acp/acp-prompt-controller.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js +53 -0
- package/dist/src/backend/services/session/service/acp/acp-prompt-controller.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js +4 -32
- package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js +10 -61
- package/dist/src/backend/services/session/service/acp/acp-runtime-config-controller.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js +8 -13
- package/dist/src/backend/services/session/service/acp/acp-runtime-error-handler.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-errors.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-errors.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts +0 -2
- package/dist/src/backend/services/session/service/acp/acp-runtime-events.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js +2 -7
- package/dist/src/backend/services/session/service/acp/acp-runtime-exit-handler.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js +6 -20
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.config.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js +15 -4
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.creation.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.facade.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js +2 -2
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.manual.integration.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js +4 -5
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.termination.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts +0 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js +0 -4
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-harness.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js +2 -2
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test-helpers.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-spawn.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js +8 -10
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.creation.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +3 -2
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js +28 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.termination.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts +10 -2
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.js +7 -4
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js +20 -2
- package/dist/src/backend/services/session/service/acp/acp-session-config-options.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js +24 -2
- package/dist/src/backend/services/session/service/acp/acp-session-negotiation.integration.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-subagent-browser.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/claude-model-catalog-loader.js +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js +4 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js +8 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-adapter-parsing.test.js.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +25 -30
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js +88 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.notification-ordering.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +2 -2
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +1 -3
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-subagent-controller.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.d.ts +16 -16
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js +1 -4
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js +1 -3
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js +31 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/retry-logic.test.js.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/session-state-container.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/shape-drift-reporter.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js +181 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.cancellation.test.js.map +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts +5 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js +48 -12
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/stream-event-handler.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/types.d.ts +0 -1
- package/dist/src/backend/services/session/service/acp/types.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.js +6 -6
- package/dist/src/backend/services/session/service/chat/chat-event-forwarder.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.js +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-processing.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/attachment-utils.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/constants.js +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +9 -9
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +1 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/queue-message.handler.js +3 -3
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/remove-queued-message.handler.js +3 -3
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/resume-queued-messages.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +4 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +3 -3
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +4 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +1 -5
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/utils.js +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts +3 -3
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/utils.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +7 -7
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/codex-session-history-loader.service.js +2 -2
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts +5 -5
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/session-data.service.js +2 -2
- package/dist/src/backend/services/session/service/data/session-data.service.test.js +1 -1
- package/dist/src/backend/services/session/service/data/session-history-loader.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/session-history-loader.service.js +3 -3
- package/dist/src/backend/services/session/service/data/session-history-loader.service.test.js +1 -1
- package/dist/src/backend/services/session/service/data/session-provider-resolver.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/session-provider-resolver.service.js +4 -4
- package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +3 -3
- package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/index.d.ts +5 -4
- package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/index.js +4 -3
- package/dist/src/backend/services/session/service/index.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts +47 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js +59 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js +82 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-config-snapshot.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +2 -2
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +7 -7
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.slash-commands.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js +2 -6
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.js +3 -3
- package/dist/src/backend/services/session/service/lifecycle/closed-session-persistence.service.test.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts +13 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js +25 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js +111 -0
- package/dist/src/backend/services/session/service/lifecycle/codex-model-catalog.service.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js +3 -0
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js +8 -0
- package/dist/src/backend/services/session/service/lifecycle/session-config-option-helpers.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +3 -7
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +3 -64
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +24 -100
- package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session-core-services.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-core-services.js +11 -6
- package/dist/src/backend/services/session/service/lifecycle/session-core-services.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-event.service.test.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +17 -11
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +27 -11
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +3 -0
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +6 -6
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +1 -12
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.types.d.ts +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-notification-delivery.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-provider-history-hydrator.js +6 -6
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +3 -4
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +11 -27
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +28 -16
- package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +1 -2
- package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +3 -3
- package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-services.js +3 -3
- package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts +4 -4
- package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +2 -4
- package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.test.js +4 -4
- package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts +3 -3
- package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-termination.coordinator.test.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts +4 -4
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-finalizer.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts +7 -0
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js +9 -0
- package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js +92 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config-validation.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js +41 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.cached-options.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts +6 -7
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +27 -84
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +18 -20
- package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +1 -3
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +4 -5
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +6 -3
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +21 -0
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts +0 -33
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +0 -40
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +2 -170
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt-turn-completion.service.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +5 -13
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -8
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +1 -4
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.retry.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.retry.service.js +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +3 -3
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.js +2 -2
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +27 -182
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.js +2 -2
- package/dist/src/backend/services/session/service/logging/acp-trace-logger.service.test.js +1 -1
- package/dist/src/backend/services/session/service/logging/session-file-logger.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/logging/session-file-logger.service.js +2 -2
- package/dist/src/backend/services/session/service/logging/session-file-logger.service.js.map +1 -1
- package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/session-domain.service.js +1 -1
- package/dist/src/backend/services/session/service/session-domain.service.test.js +2 -2
- package/dist/src/backend/services/session/service/session-event-bus.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/session-lifecycle-transcript.d.ts +1 -1
- package/dist/src/backend/services/session/service/store/session-publisher.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/session-publisher.js +2 -2
- package/dist/src/backend/services/session/service/store/session-queue.js +1 -1
- package/dist/src/backend/services/session/service/store/session-queue.test.js +1 -1
- package/dist/src/backend/services/session/service/store/session-runtime-machine.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/session-runtime-machine.js.map +1 -1
- package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/session-tool-call-recovery.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js +2 -0
- package/dist/src/backend/services/session/service/store/session-tool-call-recovery.js.map +1 -1
- package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js +11 -0
- package/dist/src/backend/services/session/service/store/session-tool-call-recovery.test.js.map +1 -1
- package/dist/src/backend/services/session/service/store/session-transcript.js +2 -2
- package/dist/src/backend/services/session/service/store/session-transcript.js.map +1 -1
- package/dist/src/backend/services/session/service/store/slash-command-cache.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/store/slash-command-cache.service.js +2 -2
- package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js +1 -1
- package/dist/src/backend/services/session/service/store/slash-command-disk-scanner.js.map +1 -1
- package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts +1 -0
- package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/voice/voice-narration.service.js +75 -25
- package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -1
- package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +197 -114
- package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -1
- package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/settings/resources/data-backup.accessor.js +1 -1
- package/dist/src/backend/services/settings/resources/health.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/settings/resources/health.accessor.js +1 -1
- package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/settings/resources/user-settings.accessor.js +2 -2
- package/dist/src/backend/services/settings/service/health.service.d.ts.map +1 -1
- package/dist/src/backend/services/settings/service/health.service.js +1 -1
- package/dist/src/backend/services/settings/service/settings-domain-exports.test.js +1 -1
- package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -1
- package/dist/src/backend/services/settings/service/user-settings.service.js +1 -1
- package/dist/src/backend/services/terminal/resources/terminal-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/terminal/resources/terminal-session.accessor.js +1 -1
- package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +7 -7
- package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -1
- package/dist/src/backend/services/terminal/service/terminal-session.service.js +2 -2
- package/dist/src/backend/services/terminal/service/terminal-session.service.test.js +1 -1
- package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
- package/dist/src/backend/services/terminal/service/terminal.service.js +2 -2
- package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +3 -3
- package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/project.accessor.js +5 -2
- package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/project.accessor.test.js +24 -2
- package/dist/src/backend/services/workspace/resources/project.accessor.test.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.js +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-notification.accessor.js +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js +2 -2
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.js +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +5 -5
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js +5 -5
- package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +3 -0
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +54 -9
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +253 -2
- package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +3 -3
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +6 -6
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +8 -8
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +115 -115
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +3 -3
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +2 -2
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts +2 -2
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +5 -5
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +2 -2
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +2 -2
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +76 -76
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.js +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +2 -2
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +2 -2
- package/dist/src/backend/services/workspace/service/pr-discovery-schedule.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +16 -16
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.js +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts +118 -118
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +2 -2
- package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts +12 -12
- package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-notification.service.js +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.js +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +7 -7
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +10 -10
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +2 -2
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts +2 -2
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js +8 -5
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js +5 -5
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js +4 -4
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js +30 -7
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +50 -1
- package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts +2 -0
- package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js +47 -0
- package/dist/src/backend/services/workspace/service/worktree/git-ops.symlink.integration.test.js.map +1 -0
- package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +3 -3
- package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +2 -2
- package/dist/src/backend/services/workspace-depth-triggers.integration.test.js +1 -1
- package/dist/src/backend/services/workspace-git-state.service.d.ts +8 -2
- package/dist/src/backend/services/workspace-git-state.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace-git-state.service.js +111 -9
- package/dist/src/backend/services/workspace-git-state.service.js.map +1 -1
- package/dist/src/backend/services/workspace-git-state.service.test.js +99 -3
- package/dist/src/backend/services/workspace-git-state.service.test.js.map +1 -1
- package/dist/src/backend/testing/check-prisma-generated-drift-script.test.js.map +1 -1
- package/dist/src/backend/testing/check-prisma-versions-script.test.js.map +1 -1
- package/dist/src/backend/testing/integration-db.js +1 -1
- package/dist/src/backend/testing/npm-publish-workflow.test.js +14 -2
- package/dist/src/backend/testing/npm-publish-workflow.test.js.map +1 -1
- package/dist/src/backend/trpc/admin.router.test.js +34 -1
- package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +41 -41
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.js +2 -2
- package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
- package/dist/src/backend/trpc/application-error-mapper.d.ts +1 -1
- package/dist/src/backend/trpc/application-error-mapper.test.js +2 -2
- package/dist/src/backend/trpc/application-error-mapper.test.js.map +1 -1
- package/dist/src/backend/trpc/auto-iteration.trpc.d.ts +4 -4
- package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +9 -9
- package/dist/src/backend/trpc/context-dependencies.test.js +9 -9
- package/dist/src/backend/trpc/decision-log.trpc.d.ts +12 -12
- package/dist/src/backend/trpc/github.trpc.d.ts +7 -7
- package/dist/src/backend/trpc/github.trpc.js +1 -1
- package/dist/src/backend/trpc/index.d.ts +562 -562
- package/dist/src/backend/trpc/linear.trpc.d.ts +3 -3
- package/dist/src/backend/trpc/model-catalog.integration.test.d.ts +2 -0
- package/dist/src/backend/trpc/model-catalog.integration.test.d.ts.map +1 -0
- package/dist/src/backend/trpc/model-catalog.integration.test.js +91 -0
- package/dist/src/backend/trpc/model-catalog.integration.test.js.map +1 -0
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts +26 -26
- package/dist/src/backend/trpc/pr-review.trpc.d.ts +4 -4
- package/dist/src/backend/trpc/project.router.test.js.map +1 -1
- package/dist/src/backend/trpc/project.trpc.d.ts +68 -68
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/project.trpc.js +3 -3
- package/dist/src/backend/trpc/session.trpc.d.ts +174 -174
- package/dist/src/backend/trpc/session.trpc.js +2 -2
- package/dist/src/backend/trpc/trpc.d.ts +5 -5
- package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/trpc.js +2 -2
- package/dist/src/backend/trpc/trpc.test.js +1 -1
- package/dist/src/backend/trpc/user-settings.router.test.js +11 -9
- package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
- package/dist/src/backend/trpc/user-settings.trpc.d.ts +19 -19
- package/dist/src/backend/trpc/user-settings.trpc.js +4 -4
- package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
- package/dist/src/backend/trpc/voice.trpc.d.ts +3 -3
- package/dist/src/backend/trpc/voice.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/voice.trpc.js +6 -3
- package/dist/src/backend/trpc/voice.trpc.js.map +1 -1
- package/dist/src/backend/trpc/voice.trpc.test.js +27 -8
- package/dist/src/backend/trpc/voice.trpc.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/children.trpc.d.ts +7 -7
- package/dist/src/backend/trpc/workspace/children.trpc.js +4 -4
- package/dist/src/backend/trpc/workspace/composition.test.js +1 -1
- package/dist/src/backend/trpc/workspace/composition.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts +2 -0
- package/dist/src/backend/trpc/workspace/files.preview.router.test.d.ts.map +1 -0
- package/dist/src/backend/trpc/workspace/files.preview.router.test.js +196 -0
- package/dist/src/backend/trpc/workspace/files.preview.router.test.js.map +1 -0
- package/dist/src/backend/trpc/workspace/files.trpc.d.ts +5 -5
- package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/files.trpc.js +9 -23
- package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/git.router.test.js +72 -1
- package/dist/src/backend/trpc/workspace/git.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/git.trpc.d.ts +7 -7
- package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/git.trpc.js +34 -15
- package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/ide.trpc.d.ts +4 -4
- package/dist/src/backend/trpc/workspace/ide.trpc.js +2 -2
- package/dist/src/backend/trpc/workspace/init.router.test.js +40 -1
- package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +42 -42
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.js +23 -17
- package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +4 -4
- package/dist/src/backend/trpc/workspace/run-script.trpc.js +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +71 -71
- package/dist/src/backend/trpc/workspace.router.test.js +2 -1
- package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +339 -339
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +22 -21
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/cli/database-path.js.map +1 -1
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/proxy.d.ts.map +1 -1
- package/dist/src/cli/proxy.js.map +1 -1
- package/dist/src/cli/runtime-utils.js.map +1 -1
- package/dist/src/cli/runtime-utils.test.js +1 -3
- package/dist/src/cli/runtime-utils.test.js.map +1 -1
- package/dist/src/cli/serve-env.js.map +1 -1
- package/dist/src/cli/serve-env.test.js +1 -5
- package/dist/src/cli/serve-env.test.js.map +1 -1
- package/dist/src/shared/acp-protocol/index.d.ts +1 -1
- package/dist/src/shared/acp-protocol/index.js +1 -1
- package/dist/src/shared/acp-protocol/protocol/guards.js +1 -1
- package/dist/src/shared/acp-protocol/protocol/guards.js.map +1 -1
- package/dist/src/shared/acp-protocol/protocol/index.d.ts +1 -1
- package/dist/src/shared/acp-protocol/protocol/messages.d.ts +2 -2
- package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +7 -7
- package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
- package/dist/src/shared/acp-protocol/session-update-translator.d.ts.map +1 -1
- package/dist/src/shared/acp-protocol/session-update-translator.js.map +1 -1
- package/dist/src/shared/acp-protocol/subagents.d.ts +92 -92
- package/dist/src/shared/core/enums.d.ts +84 -84
- package/dist/src/shared/core/enums.d.ts.map +1 -1
- package/dist/src/shared/core/workspace-sidebar-status.d.ts +2 -2
- package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
- package/dist/src/shared/deepgram-voices.d.ts +7 -3
- package/dist/src/shared/deepgram-voices.d.ts.map +1 -1
- package/dist/src/shared/deepgram-voices.js +62 -45
- package/dist/src/shared/deepgram-voices.js.map +1 -1
- package/dist/src/shared/issue-start-prompt.d.ts.map +1 -1
- package/dist/src/shared/issue-start-prompt.js +6 -160
- package/dist/src/shared/issue-start-prompt.js.map +1 -1
- package/dist/src/shared/kanban-column-projection.d.ts +2 -2
- package/dist/src/shared/kanban-column-projection.js +1 -1
- package/dist/src/shared/pending-request-types.d.ts +1 -1
- package/dist/src/shared/pending-request-types.d.ts.map +1 -1
- package/dist/src/shared/proxy-utils.d.ts +1 -1
- package/dist/src/shared/proxy-utils.d.ts.map +1 -1
- package/dist/src/shared/schemas/auto-iteration.schema.d.ts +10 -10
- package/dist/src/shared/schemas/export-data.schema.d.ts +55 -55
- package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.js +16 -8
- package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
- package/dist/src/shared/session-runtime.d.ts +4 -4
- package/dist/src/shared/session-runtime.d.ts.map +1 -1
- package/dist/src/shared/websocket/chat-message.schema.d.ts +2 -2
- package/dist/src/shared/workspace-flow-state.d.ts +2 -2
- package/dist/src/shared/workspace-flow-state.d.ts.map +1 -1
- package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
- package/dist/src/shared/workspace-sidebar-status.js +1 -1
- package/dist/src/shared/workspace-snapshot.d.ts +433 -427
- package/dist/src/shared/workspace-snapshot.d.ts.map +1 -1
- package/dist/src/shared/workspace-snapshot.js +6 -4
- package/dist/src/shared/workspace-snapshot.js.map +1 -1
- package/dist/src/shared/workspace-status-reason.d.ts +5 -5
- package/dist/src/shared/workspace-status-reason.d.ts.map +1 -1
- package/dist/src/test-utils/application-graph.d.ts +3 -3
- package/dist/src/test-utils/application-graph.d.ts.map +1 -1
- package/dist/src/test-utils/application-graph.js +3 -3
- package/dist/src/test-utils/application-graph.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +67 -75
- package/prisma/migrations/20260904150539_upgrade_deepgram_flux_tts/migration.sql +43 -0
- package/prisma/schema.prisma +1 -1
- package/prompts/quick-actions/fetch-rebase.md +5 -9
- package/prompts/quick-actions/rename-branch.md +4 -8
- package/prompts/quick-actions/review.md +6 -5
- package/prompts/quick-actions/screenshots.md +7 -20
- package/prompts/quick-actions/simplify.md +4 -1
- package/prompts/ratchet/dispatch.md +13 -46
- package/dist/client/assets/abnfDiagram-N423BO3Z-BZQ2vUo6.js +0 -1
- package/dist/client/assets/arc-XI8Jpfl3.js +0 -1
- package/dist/client/assets/architectureDiagram-T3A2C74G-Dt7Y1pyP.js +0 -36
- package/dist/client/assets/blockDiagram-VBNYF7ZC-DldefwGh.js +0 -132
- package/dist/client/assets/c4Diagram-5PPSVZJV-Ba08x7Ef.js +0 -10
- package/dist/client/assets/channel-CRP5IiHm.js +0 -1
- package/dist/client/assets/chunk-2GRJ4B5K-B9S0F-4G.js +0 -1
- package/dist/client/assets/chunk-2Q5K7J3B-CZXgC_Jx.js +0 -1
- package/dist/client/assets/chunk-5RXB4S5H-3z0Q5lZX.js +0 -231
- package/dist/client/assets/chunk-6Q2QTUOP-DhgyUVVB.js +0 -88
- package/dist/client/assets/chunk-GF5L2VYU-B9CpXn1z.js +0 -206
- package/dist/client/assets/chunk-JWPE2WC7-C3uO_aKI.js +0 -1
- package/dist/client/assets/chunk-KBJHAD2P-BclkmYso.js +0 -1
- package/dist/client/assets/chunk-RYQCIY6F-D6aZFqMZ.js +0 -1
- package/dist/client/assets/chunk-XXDRQBXY-BQb7-SCi.js +0 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-CB4-8RDd.js +0 -1
- package/dist/client/assets/classDiagram-v2-OCEON4UE-CB4-8RDd.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-WLzzMmoC.js +0 -1
- package/dist/client/assets/cynefin-VYW2F7L2-D2EF0q2Q.js +0 -166
- package/dist/client/assets/cynefinDiagram-MW4NZA55-CwoCQCrP.js +0 -62
- package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js +0 -321
- package/dist/client/assets/dagre-VZM6K2ZE-Cg4AkVGB.js +0 -4
- package/dist/client/assets/defaultLocale-DX6XiGOO.js +0 -1
- package/dist/client/assets/diagram-7IWD3JNH-D9lnDmSl.js +0 -30
- package/dist/client/assets/diagram-B4RE2ZJO-AhUFMusY.js +0 -3
- package/dist/client/assets/diagram-LBJQPF4R-C81JtkuS.js +0 -24
- package/dist/client/assets/diagram-Q27KOJAE-BOzaYlQ2.js +0 -24
- package/dist/client/assets/diagram-UB23O5K3-uXHocDB0.js +0 -41
- package/dist/client/assets/ebnfDiagram-BXEA7PRR-Du4yOTiI.js +0 -1
- package/dist/client/assets/erDiagram-JOGREHBK-BxBwtYA0.js +0 -85
- package/dist/client/assets/flowDiagram-UKHOOZJN-YQc_Us9R.js +0 -156
- package/dist/client/assets/ganttDiagram-PKOTCBZU-CO08NXgj.js +0 -292
- package/dist/client/assets/gitGraphDiagram-DS77QQ5N-NRBrIkNv.js +0 -106
- package/dist/client/assets/graph-DOmOIIwC.js +0 -1
- package/dist/client/assets/index-CVVo6xHd.css +0 -1
- package/dist/client/assets/index-CrLTUCBe.js +0 -695
- package/dist/client/assets/infoDiagram-6WML65LV-CcOh5qQM.js +0 -2
- package/dist/client/assets/init-Gi6I4Gst.js +0 -1
- package/dist/client/assets/ishikawaDiagram-WSZJBQD7-Ci4gKk1n.js +0 -70
- package/dist/client/assets/journeyDiagram-NVQOT4AX-CpW1inrw.js +0 -139
- package/dist/client/assets/kanban-definition-27J2QSJJ-jez_FwZT.js +0 -89
- package/dist/client/assets/katex-HP8lGamR.js +0 -257
- package/dist/client/assets/layout-D-LzfAck.js +0 -1
- package/dist/client/assets/linear-6SNETQpS.js +0 -1
- package/dist/client/assets/map-DxJ2ADlA.js +0 -1
- package/dist/client/assets/mindmap-definition-FAOFIHXS-SmrP71Hb.js +0 -96
- package/dist/client/assets/mobile-baseline-8VVGaFwv.js +0 -10
- package/dist/client/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/client/assets/pegDiagram-VL7TDLO6-BdZpPP9I.js +0 -1
- package/dist/client/assets/pieDiagram-7S7Q4E2Y-JiNW5VtU.js +0 -39
- package/dist/client/assets/quadrantDiagram-CIZ2JOQS-C2VhzPor.js +0 -7
- package/dist/client/assets/railroadDiagram-AXF67PYL-BdfHLYrf.js +0 -1
- package/dist/client/assets/requirementDiagram-LRYGKXZP-BRxDcjdJ.js +0 -84
- package/dist/client/assets/sankeyDiagram-W5VNT64P-BvibpHKV.js +0 -40
- package/dist/client/assets/sequenceDiagram-SI44F4Z6-CstrIf8Q.js +0 -162
- package/dist/client/assets/sizeCapture-X5ZJPWSS-fplvtb2v.js +0 -1
- package/dist/client/assets/stateDiagram-OKZ733FA-Cb0qJfhN.js +0 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-C_Uzjhvg.js +0 -1
- package/dist/client/assets/swimlanes-SLNWSIFB-BAqCm7Gx.js +0 -2
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-CO4t8Utk.js +0 -8
- package/dist/client/assets/terminal-instance-B0prRfF6.js +0 -16
- package/dist/client/assets/terminal-instance-DDGTF8rc.css +0 -1
- package/dist/client/assets/timeline-definition-Z64GVDOM-BZbQ0pZK.js +0 -120
- package/dist/client/assets/vennDiagram-T6HMQDX7-B3YQXfS4.js +0 -34
- package/dist/client/assets/wardleyDiagram-T6FBY63Y-Cufi2KwO.js +0 -78
- package/dist/client/assets/xychartDiagram-ELKLHX3M-CHGxh5zQ.js +0 -7
- package/dist/prompts/workflows/bugfix.md +0 -86
- package/dist/prompts/workflows/ci-fix.md +0 -52
- package/dist/prompts/workflows/explore.md +0 -54
- package/dist/prompts/workflows/feature.md +0 -80
- package/dist/prompts/workflows/followup.md +0 -32
- package/dist/prompts/workflows/pr-review-fix.md +0 -50
- package/dist/src/backend/prompts/workflows.d.ts +0 -14
- package/dist/src/backend/prompts/workflows.d.ts.map +0 -1
- package/dist/src/backend/prompts/workflows.js +0 -47
- package/dist/src/backend/prompts/workflows.js.map +0 -1
- package/dist/src/backend/prompts/workflows.test.d.ts +0 -2
- package/dist/src/backend/prompts/workflows.test.d.ts.map +0 -1
- package/dist/src/backend/prompts/workflows.test.js +0 -128
- package/dist/src/backend/prompts/workflows.test.js.map +0 -1
- package/prompts/workflows/bugfix.md +0 -86
- package/prompts/workflows/ci-fix.md +0 -52
- package/prompts/workflows/explore.md +0 -54
- package/prompts/workflows/feature.md +0 -80
- package/prompts/workflows/followup.md +0 -32
- package/prompts/workflows/pr-review-fix.md +0 -50
|
@@ -30,7 +30,11 @@ const FakeDeepgramSocket = vi.hoisted(() => {
|
|
|
30
30
|
if (event === 'open') {
|
|
31
31
|
this.readyState = FakeDeepgramSocket.OPEN;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
const handlers = this.listeners.get(event) ?? [];
|
|
34
|
+
if (event === 'error' && handlers.length === 0) {
|
|
35
|
+
throw args[0] instanceof Error ? args[0] : new Error('Unhandled error event');
|
|
36
|
+
}
|
|
37
|
+
for (const handler of handlers) {
|
|
34
38
|
handler(...args);
|
|
35
39
|
}
|
|
36
40
|
}
|
|
@@ -42,13 +46,17 @@ const FakeDeepgramSocket = vi.hoisted(() => {
|
|
|
42
46
|
this.sentMessages.push(data);
|
|
43
47
|
}
|
|
44
48
|
close() {
|
|
49
|
+
const wasConnecting = this.readyState === FakeDeepgramSocket.CONNECTING;
|
|
45
50
|
this.readyState = FakeDeepgramSocket.CLOSED;
|
|
51
|
+
if (wasConnecting) {
|
|
52
|
+
this.emit('error', new Error('WebSocket was closed before the connection was established'));
|
|
53
|
+
}
|
|
46
54
|
}
|
|
47
55
|
}
|
|
48
56
|
return FakeDeepgramSocket;
|
|
49
57
|
});
|
|
50
58
|
vi.mock('ws', () => ({ default: FakeDeepgramSocket }));
|
|
51
|
-
import { SESSION_OUTBOUND_EVENT, sessionEventBus, } from '
|
|
59
|
+
import { SESSION_OUTBOUND_EVENT, sessionEventBus, } from '../session-event-bus.js';
|
|
52
60
|
import { voiceNarrationService } from './voice-narration.service.js';
|
|
53
61
|
function createFakeClientWs(bufferedAmount = 0) {
|
|
54
62
|
return {
|
|
@@ -76,12 +84,19 @@ function emitThinking(sessionId, thinking) {
|
|
|
76
84
|
},
|
|
77
85
|
});
|
|
78
86
|
}
|
|
87
|
+
function emitFinalText(sessionId, text) {
|
|
88
|
+
emitDelta(sessionId, {
|
|
89
|
+
type: 'session_delta',
|
|
90
|
+
data: { type: 'assistant_text_delta', text },
|
|
91
|
+
});
|
|
92
|
+
}
|
|
79
93
|
function emitRuntimeUpdate(sessionId, activity) {
|
|
80
94
|
emitDelta(sessionId, {
|
|
81
95
|
type: 'session_delta',
|
|
82
96
|
data: { type: 'session_runtime_updated', sessionRuntime: { activity } },
|
|
83
97
|
});
|
|
84
98
|
}
|
|
99
|
+
const socketAt = (index) => FakeDeepgramSocket.instances[index];
|
|
85
100
|
const liveConnections = [];
|
|
86
101
|
function register(sessionId, ws) {
|
|
87
102
|
voiceNarrationService.registerConnection(sessionId, ws);
|
|
@@ -101,7 +116,7 @@ describe('voiceNarrationService', () => {
|
|
|
101
116
|
mockUserSettingsService.get.mockResolvedValue({
|
|
102
117
|
voiceModeEnabled: true,
|
|
103
118
|
deepgramApiKeyEncrypted: 'enc:dg_secret',
|
|
104
|
-
voiceTtsModel: '
|
|
119
|
+
voiceTtsModel: 'flux-haley-en',
|
|
105
120
|
voiceTtsSpeed: 1,
|
|
106
121
|
});
|
|
107
122
|
});
|
|
@@ -132,12 +147,9 @@ describe('voiceNarrationService', () => {
|
|
|
132
147
|
register('sess-reconnect', firstWs);
|
|
133
148
|
register('sess-reconnect', secondWs);
|
|
134
149
|
unregister('sess-reconnect', firstWs);
|
|
135
|
-
|
|
136
|
-
type: 'session_delta',
|
|
137
|
-
data: { type: 'assistant_text_delta', text: 'still connected. ' },
|
|
138
|
-
});
|
|
150
|
+
emitFinalText('sess-reconnect', 'still connected. ');
|
|
139
151
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
140
|
-
const ttsSocket =
|
|
152
|
+
const ttsSocket = socketAt(0);
|
|
141
153
|
ttsSocket.emit('open');
|
|
142
154
|
ttsSocket.emit('message', Buffer.from([9]), true);
|
|
143
155
|
expect(secondWs.send).toHaveBeenCalled();
|
|
@@ -147,10 +159,7 @@ describe('voiceNarrationService', () => {
|
|
|
147
159
|
it('resets accumulated text when a new turn starts (activity WORKING)', async () => {
|
|
148
160
|
const clientWs = createFakeClientWs();
|
|
149
161
|
register('sess-reset', clientWs);
|
|
150
|
-
|
|
151
|
-
type: 'session_delta',
|
|
152
|
-
data: { type: 'assistant_text_delta', text: 'stale answer' },
|
|
153
|
-
});
|
|
162
|
+
emitFinalText('sess-reset', 'stale answer');
|
|
154
163
|
emitRuntimeUpdate('sess-reset', 'WORKING');
|
|
155
164
|
emitRuntimeUpdate('sess-reset', 'IDLE');
|
|
156
165
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
@@ -164,10 +173,7 @@ describe('voiceNarrationService', () => {
|
|
|
164
173
|
});
|
|
165
174
|
const clientWs = createFakeClientWs();
|
|
166
175
|
register('sess-disabled', clientWs);
|
|
167
|
-
|
|
168
|
-
type: 'session_delta',
|
|
169
|
-
data: { type: 'assistant_text_delta', text: 'final answer' },
|
|
170
|
-
});
|
|
176
|
+
emitFinalText('sess-disabled', 'final answer');
|
|
171
177
|
emitRuntimeUpdate('sess-disabled', 'IDLE');
|
|
172
178
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
173
179
|
expect(FakeDeepgramSocket.instances).toHaveLength(0);
|
|
@@ -176,18 +182,12 @@ describe('voiceNarrationService', () => {
|
|
|
176
182
|
it('synthesizes and forwards audio for the final answer on turn-complete', async () => {
|
|
177
183
|
const clientWs = createFakeClientWs();
|
|
178
184
|
register('sess-speak', clientWs);
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
data: { type: 'assistant_text_delta', text: 'Hello ' },
|
|
182
|
-
});
|
|
183
|
-
emitDelta('sess-speak', {
|
|
184
|
-
type: 'session_delta',
|
|
185
|
-
data: { type: 'assistant_text_delta', text: 'world.' },
|
|
186
|
-
});
|
|
185
|
+
emitFinalText('sess-speak', 'Hello ');
|
|
186
|
+
emitFinalText('sess-speak', 'world.');
|
|
187
187
|
emitRuntimeUpdate('sess-speak', 'IDLE');
|
|
188
188
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
189
|
-
const ttsSocket =
|
|
190
|
-
expect(ttsSocket.url).
|
|
189
|
+
const ttsSocket = socketAt(0);
|
|
190
|
+
expect(ttsSocket.url).toBe('wss://api.deepgram.com/v2/speak?model=flux-haley-en&encoding=linear16&sample_rate=24000&speed=1');
|
|
191
191
|
expect(mockCryptoService.decrypt).toHaveBeenCalledWith('enc:dg_secret');
|
|
192
192
|
ttsSocket.emit('open');
|
|
193
193
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
@@ -203,7 +203,7 @@ describe('voiceNarrationService', () => {
|
|
|
203
203
|
type: 'audio_chunk',
|
|
204
204
|
data: audioBytes.toString('base64'),
|
|
205
205
|
});
|
|
206
|
-
ttsSocket.emit('message', Buffer.from(JSON.stringify({ type: '
|
|
206
|
+
ttsSocket.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
207
207
|
expect(JSON.parse(ttsSocket.sentMessages[2])).toEqual({ type: 'Close' });
|
|
208
208
|
unregister('sess-speak', clientWs);
|
|
209
209
|
});
|
|
@@ -220,19 +220,13 @@ describe('voiceNarrationService', () => {
|
|
|
220
220
|
it('cancelNarration clears the active narration and queued clauses, and clears client playback', async () => {
|
|
221
221
|
const clientWs = createFakeClientWs();
|
|
222
222
|
register('sess-cancel', clientWs);
|
|
223
|
-
|
|
224
|
-
type: 'session_delta',
|
|
225
|
-
data: {
|
|
226
|
-
type: 'assistant_text_delta',
|
|
227
|
-
text: 'Sentence one is here. Sentence two is here. ',
|
|
228
|
-
},
|
|
229
|
-
});
|
|
223
|
+
emitFinalText('sess-cancel', 'Sentence one is here. Sentence two is here. ');
|
|
230
224
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
231
|
-
const active =
|
|
225
|
+
const active = socketAt(0);
|
|
232
226
|
active.emit('open');
|
|
233
227
|
clientWs.send.mockClear();
|
|
234
228
|
voiceNarrationService.cancelNarration('sess-cancel');
|
|
235
|
-
expect(JSON.parse(active.sentMessages.at(-1))).toEqual({ type: '
|
|
229
|
+
expect(JSON.parse(active.sentMessages.at(-1))).toEqual({ type: 'Interrupt' });
|
|
236
230
|
expect(clientWs.send).toHaveBeenCalledWith(JSON.stringify({ type: 'clear_playback' }));
|
|
237
231
|
active.emit('close');
|
|
238
232
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
@@ -242,31 +236,22 @@ describe('voiceNarrationService', () => {
|
|
|
242
236
|
it('cancels in-flight narration and clears client playback when a new turn starts mid-speech', async () => {
|
|
243
237
|
const clientWs = createFakeClientWs();
|
|
244
238
|
register('sess-new-turn', clientWs);
|
|
245
|
-
|
|
246
|
-
type: 'session_delta',
|
|
247
|
-
data: { type: 'assistant_text_delta', text: 'Previous turn is still speaking. ' },
|
|
248
|
-
});
|
|
239
|
+
emitFinalText('sess-new-turn', 'Previous turn is still speaking. ');
|
|
249
240
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
250
|
-
const active =
|
|
241
|
+
const active = socketAt(0);
|
|
251
242
|
active.emit('open');
|
|
252
243
|
clientWs.send.mockClear();
|
|
253
244
|
emitRuntimeUpdate('sess-new-turn', 'WORKING');
|
|
254
|
-
expect(JSON.parse(active.sentMessages.at(-1))).toEqual({ type: '
|
|
245
|
+
expect(JSON.parse(active.sentMessages.at(-1))).toEqual({ type: 'Interrupt' });
|
|
255
246
|
expect(clientWs.send).toHaveBeenCalledWith(JSON.stringify({ type: 'clear_playback' }));
|
|
256
247
|
unregister('sess-new-turn', clientWs);
|
|
257
248
|
});
|
|
258
249
|
it('unregisterConnection cancels active narration and drains the queue', async () => {
|
|
259
250
|
const clientWs = createFakeClientWs();
|
|
260
251
|
register('sess-unregister', clientWs);
|
|
261
|
-
|
|
262
|
-
type: 'session_delta',
|
|
263
|
-
data: {
|
|
264
|
-
type: 'assistant_text_delta',
|
|
265
|
-
text: 'Sentence one is here. Sentence two is here. ',
|
|
266
|
-
},
|
|
267
|
-
});
|
|
252
|
+
emitFinalText('sess-unregister', 'Sentence one is here. Sentence two is here. ');
|
|
268
253
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
269
|
-
const active =
|
|
254
|
+
const active = socketAt(0);
|
|
270
255
|
active.emit('open');
|
|
271
256
|
unregister('sess-unregister', clientWs);
|
|
272
257
|
active.emit('close');
|
|
@@ -276,12 +261,9 @@ describe('voiceNarrationService', () => {
|
|
|
276
261
|
it('drops audio chunks once the client send buffer is backed up', async () => {
|
|
277
262
|
const clientWs = createFakeClientWs(2_000_000);
|
|
278
263
|
register('sess-backpressure', clientWs);
|
|
279
|
-
|
|
280
|
-
type: 'session_delta',
|
|
281
|
-
data: { type: 'assistant_text_delta', text: 'A long answer that gets spoken. ' },
|
|
282
|
-
});
|
|
264
|
+
emitFinalText('sess-backpressure', 'A long answer that gets spoken. ');
|
|
283
265
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
284
|
-
const socket =
|
|
266
|
+
const socket = socketAt(0);
|
|
285
267
|
socket.emit('open');
|
|
286
268
|
socket.emit('message', Buffer.from([1, 2, 3, 4]), true);
|
|
287
269
|
expect(clientWs.send).not.toHaveBeenCalled();
|
|
@@ -290,12 +272,9 @@ describe('voiceNarrationService', () => {
|
|
|
290
272
|
it('drops binary audio frames arriving for a narration already cancelled', async () => {
|
|
291
273
|
const clientWs = createFakeClientWs();
|
|
292
274
|
register('sess-cancelled-audio', clientWs);
|
|
293
|
-
|
|
294
|
-
type: 'session_delta',
|
|
295
|
-
data: { type: 'assistant_text_delta', text: 'Answer being spoken. ' },
|
|
296
|
-
});
|
|
275
|
+
emitFinalText('sess-cancelled-audio', 'Answer being spoken. ');
|
|
297
276
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
298
|
-
const socket =
|
|
277
|
+
const socket = socketAt(0);
|
|
299
278
|
socket.emit('open');
|
|
300
279
|
clientWs.send.mockClear();
|
|
301
280
|
voiceNarrationService.cancelNarration('sess-cancelled-audio');
|
|
@@ -308,15 +287,9 @@ describe('voiceNarrationService', () => {
|
|
|
308
287
|
it('strips bold, italic, and inline code before speaking a final-answer clause', async () => {
|
|
309
288
|
const clientWs = createFakeClientWs();
|
|
310
289
|
register('sess-markdown', clientWs);
|
|
311
|
-
|
|
312
|
-
type: 'session_delta',
|
|
313
|
-
data: {
|
|
314
|
-
type: 'assistant_text_delta',
|
|
315
|
-
text: 'This is **bold**, this is *italic*, and this is `code`. ',
|
|
316
|
-
},
|
|
317
|
-
});
|
|
290
|
+
emitFinalText('sess-markdown', 'This is **bold**, this is *italic*, and this is `code`. ');
|
|
318
291
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
319
|
-
const ttsSocket =
|
|
292
|
+
const ttsSocket = socketAt(0);
|
|
320
293
|
ttsSocket.emit('open');
|
|
321
294
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
322
295
|
type: 'Speak',
|
|
@@ -329,7 +302,7 @@ describe('voiceNarrationService', () => {
|
|
|
329
302
|
register('sess-markdown-2', clientWs);
|
|
330
303
|
emitThinking('sess-markdown-2', '# Plan\n- Check the [docs](https://example.com) first. ');
|
|
331
304
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
332
|
-
const ttsSocket =
|
|
305
|
+
const ttsSocket = socketAt(0);
|
|
333
306
|
ttsSocket.emit('open');
|
|
334
307
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
335
308
|
type: 'Speak',
|
|
@@ -340,12 +313,9 @@ describe('voiceNarrationService', () => {
|
|
|
340
313
|
it('does not treat spaced asterisks (e.g. multiplication) as italic markdown', async () => {
|
|
341
314
|
const clientWs = createFakeClientWs();
|
|
342
315
|
register('sess-math', clientWs);
|
|
343
|
-
|
|
344
|
-
type: 'session_delta',
|
|
345
|
-
data: { type: 'assistant_text_delta', text: 'The result is 1 * 2 * 3 = 6. ' },
|
|
346
|
-
});
|
|
316
|
+
emitFinalText('sess-math', 'The result is 1 * 2 * 3 = 6. ');
|
|
347
317
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
348
|
-
const ttsSocket =
|
|
318
|
+
const ttsSocket = socketAt(0);
|
|
349
319
|
ttsSocket.emit('open');
|
|
350
320
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
351
321
|
type: 'Speak',
|
|
@@ -360,7 +330,7 @@ describe('voiceNarrationService', () => {
|
|
|
360
330
|
register('sess-thinking-1', clientWs);
|
|
361
331
|
emitThinking('sess-thinking-1', 'Let me consider this problem carefully. ');
|
|
362
332
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
363
|
-
const ttsSocket =
|
|
333
|
+
const ttsSocket = socketAt(0);
|
|
364
334
|
ttsSocket.emit('open');
|
|
365
335
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
366
336
|
type: 'Speak',
|
|
@@ -376,8 +346,8 @@ describe('voiceNarrationService', () => {
|
|
|
376
346
|
emitThinking('sess-thinking-2', 'Second thought completed here too. ');
|
|
377
347
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
378
348
|
expect(FakeDeepgramSocket.instances).toHaveLength(1);
|
|
379
|
-
const first =
|
|
380
|
-
first.emit('message', Buffer.from(JSON.stringify({ type: '
|
|
349
|
+
const first = socketAt(0);
|
|
350
|
+
first.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
381
351
|
emitThinking('sess-thinking-2', 'Third thought completed here. ');
|
|
382
352
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
383
353
|
unregister('sess-thinking-2', clientWs);
|
|
@@ -387,21 +357,18 @@ describe('voiceNarrationService', () => {
|
|
|
387
357
|
register('sess-thinking-3', clientWs);
|
|
388
358
|
emitThinking('sess-thinking-3', 'Reasoning about the approach now. ');
|
|
389
359
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
390
|
-
const thinkingSocket =
|
|
360
|
+
const thinkingSocket = socketAt(0);
|
|
391
361
|
thinkingSocket.emit('open');
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
data: { type: 'assistant_text_delta', text: 'The answer is 42.' },
|
|
395
|
-
});
|
|
396
|
-
expect(thinkingSocket.sentMessages.some((m) => JSON.parse(m).type === 'Clear')).toBe(true);
|
|
362
|
+
emitFinalText('sess-thinking-3', 'The answer is 42.');
|
|
363
|
+
expect(thinkingSocket.sentMessages.some((m) => JSON.parse(m).type === 'Interrupt')).toBe(true);
|
|
397
364
|
expect(clientWs.send.mock.calls.some((call) => JSON.parse(call[0]).type === 'clear_playback')).toBe(true);
|
|
398
365
|
emitThinking('sess-thinking-3', 'This should never be spoken. ');
|
|
399
366
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
400
367
|
expect(FakeDeepgramSocket.instances).toHaveLength(1);
|
|
401
|
-
thinkingSocket.emit('message', Buffer.from(JSON.stringify({ type: '
|
|
368
|
+
thinkingSocket.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechInterrupted' })), false);
|
|
402
369
|
emitRuntimeUpdate('sess-thinking-3', 'IDLE');
|
|
403
370
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
404
|
-
const finalSocket =
|
|
371
|
+
const finalSocket = socketAt(1);
|
|
405
372
|
finalSocket.emit('open');
|
|
406
373
|
expect(JSON.parse(finalSocket.sentMessages[0])).toEqual({
|
|
407
374
|
type: 'Speak',
|
|
@@ -409,6 +376,76 @@ describe('voiceNarrationService', () => {
|
|
|
409
376
|
});
|
|
410
377
|
unregister('sess-thinking-3', clientWs);
|
|
411
378
|
});
|
|
379
|
+
it('settles a cancelled clause on a Warning ack, not just SpeechInterrupted, so later clauses are not stuck forever', async () => {
|
|
380
|
+
const clientWs = createFakeClientWs();
|
|
381
|
+
register('sess-thinking-warn', clientWs);
|
|
382
|
+
emitThinking('sess-thinking-warn', 'Reasoning about the approach now. ');
|
|
383
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
384
|
+
const thinkingSocket = socketAt(0);
|
|
385
|
+
thinkingSocket.emit('open');
|
|
386
|
+
emitFinalText('sess-thinking-warn', 'The final answer clause. Second final clause. ');
|
|
387
|
+
thinkingSocket.emit('message', Buffer.from(JSON.stringify({ type: 'Warning', code: 'NO_AUDIO_GENERATED' })), false);
|
|
388
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
389
|
+
const first = socketAt(1);
|
|
390
|
+
first.emit('open');
|
|
391
|
+
expect(JSON.parse(first.sentMessages[0]).text).toBe('The final answer clause.');
|
|
392
|
+
first.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
393
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 3);
|
|
394
|
+
const second = socketAt(2);
|
|
395
|
+
second.emit('open');
|
|
396
|
+
expect(JSON.parse(second.sentMessages[0]).text).toBe('Second final clause.');
|
|
397
|
+
unregister('sess-thinking-warn', clientWs);
|
|
398
|
+
});
|
|
399
|
+
it('settles an uncancelled clause that Deepgram declined to synthesize, so later clauses still speak', async () => {
|
|
400
|
+
const clientWs = createFakeClientWs();
|
|
401
|
+
register('sess-warn-no-audio', clientWs);
|
|
402
|
+
emitFinalText('sess-warn-no-audio', '🎉🎊✨🎈🎁🎀🥳. Real words follow after it. ');
|
|
403
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
404
|
+
const emojiSocket = socketAt(0);
|
|
405
|
+
emojiSocket.emit('open');
|
|
406
|
+
expect(JSON.parse(emojiSocket.sentMessages[0]).text).toBe('🎉🎊✨🎈🎁🎀🥳.');
|
|
407
|
+
emojiSocket.emit('message', Buffer.from(JSON.stringify({ type: 'Warning', code: 'NO_AUDIO_GENERATED' })), false);
|
|
408
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
409
|
+
const next = socketAt(1);
|
|
410
|
+
next.emit('open');
|
|
411
|
+
expect(JSON.parse(next.sentMessages[0]).text).toBe('Real words follow after it.');
|
|
412
|
+
unregister('sess-warn-no-audio', clientWs);
|
|
413
|
+
});
|
|
414
|
+
it('normalizes a legacy off-grid stored speed before opening the connection', async () => {
|
|
415
|
+
mockUserSettingsService.get.mockResolvedValue({
|
|
416
|
+
voiceModeEnabled: true,
|
|
417
|
+
deepgramApiKeyEncrypted: 'enc:dg_secret',
|
|
418
|
+
voiceTtsModel: 'flux-haley-en',
|
|
419
|
+
voiceTtsSpeed: 0.72,
|
|
420
|
+
});
|
|
421
|
+
const clientWs = createFakeClientWs();
|
|
422
|
+
register('sess-legacy-speed', clientWs);
|
|
423
|
+
emitFinalText('sess-legacy-speed', 'Speaks at a legacy speed. ');
|
|
424
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
425
|
+
expect(new URL(socketAt(0).url).searchParams.get('speed')).toBe('0.7');
|
|
426
|
+
unregister('sess-legacy-speed', clientWs);
|
|
427
|
+
});
|
|
428
|
+
it('keeps waiting for SpeechMetadata when a Warning arrives after audio has started, so speech is not clipped', async () => {
|
|
429
|
+
const clientWs = createFakeClientWs();
|
|
430
|
+
register('sess-warn-midstream', clientWs);
|
|
431
|
+
emitFinalText('sess-warn-midstream', 'Audio flows here. Then more words follow. ');
|
|
432
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
433
|
+
const socket = socketAt(0);
|
|
434
|
+
socket.emit('open');
|
|
435
|
+
socket.emit('message', Buffer.from(JSON.stringify({ type: 'Warning' })), false);
|
|
436
|
+
await new Promise((resolve) => setTimeout(resolve, 20));
|
|
437
|
+
expect(FakeDeepgramSocket.instances).toHaveLength(1);
|
|
438
|
+
socket.emit('message', Buffer.from([1, 2, 3, 4]), true);
|
|
439
|
+
socket.emit('message', Buffer.from(JSON.stringify({ type: 'Warning' })), false);
|
|
440
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
441
|
+
expect(FakeDeepgramSocket.instances).toHaveLength(1);
|
|
442
|
+
socket.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
443
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
444
|
+
const second = socketAt(1);
|
|
445
|
+
second.emit('open');
|
|
446
|
+
expect(JSON.parse(second.sentMessages[0]).text).toBe('Then more words follow.');
|
|
447
|
+
unregister('sess-warn-midstream', clientWs);
|
|
448
|
+
});
|
|
412
449
|
it('claims activeTts synchronously so a synchronous burst of thinking deltas cannot spawn duplicate sockets', async () => {
|
|
413
450
|
const clientWs = createFakeClientWs();
|
|
414
451
|
register('sess-burst', clientWs);
|
|
@@ -425,11 +462,8 @@ describe('voiceNarrationService', () => {
|
|
|
425
462
|
register('sess-thinking-connecting', clientWs);
|
|
426
463
|
emitThinking('sess-thinking-connecting', 'Reasoning about the approach now. ');
|
|
427
464
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
428
|
-
const thinkingSocket =
|
|
429
|
-
|
|
430
|
-
type: 'session_delta',
|
|
431
|
-
data: { type: 'assistant_text_delta', text: 'The answer is 42.' },
|
|
432
|
-
});
|
|
465
|
+
const thinkingSocket = socketAt(0);
|
|
466
|
+
emitFinalText('sess-thinking-connecting', 'The answer is 42.');
|
|
433
467
|
expect(thinkingSocket.sentMessages).toHaveLength(0);
|
|
434
468
|
thinkingSocket.emit('open');
|
|
435
469
|
expect(thinkingSocket.sentMessages).toHaveLength(0);
|
|
@@ -443,7 +477,7 @@ describe('voiceNarrationService', () => {
|
|
|
443
477
|
expect(FakeDeepgramSocket.instances).toHaveLength(0);
|
|
444
478
|
emitThinking('sess-thinking-short', 'Let me look at the file and explain what it does. ');
|
|
445
479
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
446
|
-
const ttsSocket =
|
|
480
|
+
const ttsSocket = socketAt(0);
|
|
447
481
|
ttsSocket.emit('open');
|
|
448
482
|
expect(JSON.parse(ttsSocket.sentMessages[0])).toEqual({
|
|
449
483
|
type: 'Speak',
|
|
@@ -461,7 +495,7 @@ describe('voiceNarrationService', () => {
|
|
|
461
495
|
mockUserSettingsService.get.mockResolvedValue({
|
|
462
496
|
voiceModeEnabled: true,
|
|
463
497
|
deepgramApiKeyEncrypted: 'enc:dg_secret',
|
|
464
|
-
voiceTtsModel: '
|
|
498
|
+
voiceTtsModel: 'flux-haley-en',
|
|
465
499
|
voiceTtsSpeed: 1,
|
|
466
500
|
});
|
|
467
501
|
emitThinking('sess-throws', 'This one should work fine now. ');
|
|
@@ -473,12 +507,9 @@ describe('voiceNarrationService', () => {
|
|
|
473
507
|
it('starts speaking the first sentence before the rest of a long answer has arrived', async () => {
|
|
474
508
|
const clientWs = createFakeClientWs();
|
|
475
509
|
register('sess-stream', clientWs);
|
|
476
|
-
|
|
477
|
-
type: 'session_delta',
|
|
478
|
-
data: { type: 'assistant_text_delta', text: 'This is the first sentence. ' },
|
|
479
|
-
});
|
|
510
|
+
emitFinalText('sess-stream', 'This is the first sentence. ');
|
|
480
511
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
481
|
-
const firstSocket =
|
|
512
|
+
const firstSocket = socketAt(0);
|
|
482
513
|
firstSocket.emit('open');
|
|
483
514
|
expect(JSON.parse(firstSocket.sentMessages[0])).toEqual({
|
|
484
515
|
type: 'Speak',
|
|
@@ -489,25 +520,19 @@ describe('voiceNarrationService', () => {
|
|
|
489
520
|
it('queues later clauses rather than dropping them, and speaks all of them in order', async () => {
|
|
490
521
|
const clientWs = createFakeClientWs();
|
|
491
522
|
register('sess-queue', clientWs);
|
|
492
|
-
|
|
493
|
-
type: 'session_delta',
|
|
494
|
-
data: {
|
|
495
|
-
type: 'assistant_text_delta',
|
|
496
|
-
text: 'Sentence one is here. Sentence two is here. Sentence three is here. ',
|
|
497
|
-
},
|
|
498
|
-
});
|
|
523
|
+
emitFinalText('sess-queue', 'Sentence one is here. Sentence two is here. Sentence three is here. ');
|
|
499
524
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
500
|
-
const first =
|
|
525
|
+
const first = socketAt(0);
|
|
501
526
|
first.emit('open');
|
|
502
527
|
expect(JSON.parse(first.sentMessages[0]).text).toBe('Sentence one is here.');
|
|
503
|
-
first.emit('message', Buffer.from(JSON.stringify({ type: '
|
|
528
|
+
first.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
504
529
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
505
|
-
const second =
|
|
530
|
+
const second = socketAt(1);
|
|
506
531
|
second.emit('open');
|
|
507
532
|
expect(JSON.parse(second.sentMessages[0]).text).toBe('Sentence two is here.');
|
|
508
|
-
second.emit('message', Buffer.from(JSON.stringify({ type: '
|
|
533
|
+
second.emit('message', Buffer.from(JSON.stringify({ type: 'SpeechMetadata' })), false);
|
|
509
534
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 3);
|
|
510
|
-
const third =
|
|
535
|
+
const third = socketAt(2);
|
|
511
536
|
third.emit('open');
|
|
512
537
|
expect(JSON.parse(third.sentMessages[0]).text).toBe('Sentence three is here.');
|
|
513
538
|
unregister('sess-queue', clientWs);
|
|
@@ -515,15 +540,12 @@ describe('voiceNarrationService', () => {
|
|
|
515
540
|
it('speaks a trailing fragment with no sentence-ending punctuation once the turn completes', async () => {
|
|
516
541
|
const clientWs = createFakeClientWs();
|
|
517
542
|
register('sess-trailing', clientWs);
|
|
518
|
-
|
|
519
|
-
type: 'session_delta',
|
|
520
|
-
data: { type: 'assistant_text_delta', text: 'no punctuation at the end' },
|
|
521
|
-
});
|
|
543
|
+
emitFinalText('sess-trailing', 'no punctuation at the end');
|
|
522
544
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
523
545
|
expect(FakeDeepgramSocket.instances).toHaveLength(0);
|
|
524
546
|
emitRuntimeUpdate('sess-trailing', 'IDLE');
|
|
525
547
|
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
526
|
-
const socket =
|
|
548
|
+
const socket = socketAt(0);
|
|
527
549
|
socket.emit('open');
|
|
528
550
|
expect(JSON.parse(socket.sentMessages[0])).toEqual({
|
|
529
551
|
type: 'Speak',
|
|
@@ -532,5 +554,66 @@ describe('voiceNarrationService', () => {
|
|
|
532
554
|
unregister('sess-trailing', clientWs);
|
|
533
555
|
});
|
|
534
556
|
});
|
|
557
|
+
describe('connection retry', () => {
|
|
558
|
+
it('retries a handshake failure that happens before open, and still speaks the clause', async () => {
|
|
559
|
+
const clientWs = createFakeClientWs();
|
|
560
|
+
register('sess-retry-ok', clientWs);
|
|
561
|
+
emitFinalText('sess-retry-ok', 'This clause should survive one bad handshake. ');
|
|
562
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
563
|
+
const first = socketAt(0);
|
|
564
|
+
first.emit('error', new Error('socket hang up'));
|
|
565
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 2);
|
|
566
|
+
const second = socketAt(1);
|
|
567
|
+
second.emit('open');
|
|
568
|
+
expect(JSON.parse(second.sentMessages[0])).toEqual({
|
|
569
|
+
type: 'Speak',
|
|
570
|
+
text: 'This clause should survive one bad handshake.',
|
|
571
|
+
});
|
|
572
|
+
unregister('sess-retry-ok', clientWs);
|
|
573
|
+
});
|
|
574
|
+
it('gives up after exhausting retries and still drains the next queued clause', async () => {
|
|
575
|
+
const clientWs = createFakeClientWs();
|
|
576
|
+
register('sess-retry-exhausted', clientWs);
|
|
577
|
+
emitFinalText('sess-retry-exhausted', 'This clause always fails to connect. Second clause speaks fine. ');
|
|
578
|
+
for (let i = 0; i < 3; i++) {
|
|
579
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === i + 1);
|
|
580
|
+
const socket = socketAt(i);
|
|
581
|
+
socket.emit('error', new Error('socket hang up'));
|
|
582
|
+
}
|
|
583
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 4);
|
|
584
|
+
const secondClause = socketAt(3);
|
|
585
|
+
secondClause.emit('open');
|
|
586
|
+
expect(JSON.parse(secondClause.sentMessages[0])).toEqual({
|
|
587
|
+
type: 'Speak',
|
|
588
|
+
text: 'Second clause speaks fine.',
|
|
589
|
+
});
|
|
590
|
+
unregister('sess-retry-exhausted', clientWs);
|
|
591
|
+
});
|
|
592
|
+
it('does not retry a failure that happens after the socket already opened', async () => {
|
|
593
|
+
const clientWs = createFakeClientWs();
|
|
594
|
+
register('sess-retry-post-open', clientWs);
|
|
595
|
+
emitFinalText('sess-retry-post-open', 'Opens fine then drops mid-stream. ');
|
|
596
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
597
|
+
const socket = socketAt(0);
|
|
598
|
+
socket.emit('open');
|
|
599
|
+
socket.emit('error', new Error('connection reset'));
|
|
600
|
+
await new Promise((resolve) => setTimeout(resolve, 400));
|
|
601
|
+
expect(FakeDeepgramSocket.instances).toHaveLength(1);
|
|
602
|
+
unregister('sess-retry-post-open', clientWs);
|
|
603
|
+
});
|
|
604
|
+
it('retries an unexpected-response rejection without an unhandled error event', async () => {
|
|
605
|
+
const clientWs = createFakeClientWs();
|
|
606
|
+
register('sess-retry-unexpected', clientWs);
|
|
607
|
+
emitFinalText('sess-retry-unexpected', 'Rejected with an HTTP status. ');
|
|
608
|
+
await vi.waitUntil(() => FakeDeepgramSocket.instances.length === 1);
|
|
609
|
+
const first = socketAt(0);
|
|
610
|
+
expect(() => first.emit('unexpected-response', {}, { statusCode: 400 })).not.toThrow();
|
|
611
|
+
expect(first.readyState).toBe(FakeDeepgramSocket.CLOSED);
|
|
612
|
+
const second = await vi.waitUntil(() => socketAt(1));
|
|
613
|
+
second.emit('open');
|
|
614
|
+
expect(JSON.parse(second.sentMessages[0]).text).toBe('Rejected with an HTTP status.');
|
|
615
|
+
unregister('sess-retry-unexpected', clientWs);
|
|
616
|
+
});
|
|
617
|
+
});
|
|
535
618
|
});
|
|
536
619
|
//# sourceMappingURL=voice-narration.service.test.js.map
|