@makaio/framework 1.0.0-dev-1781368534585 → 1.0.0-dev-1781397017668
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/dist/.makaio-build.json +2 -2
- package/dist/{account-identity-CgzOqnVm.mjs → account-identity-D-9gunfD.mjs} +1 -1
- package/dist/adapter-D_p5kKxi.mjs +1 -0
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/bus/index.d.mts +22 -21
- package/dist/bus/index.mjs +1 -1
- package/dist/canonical-model-BNb0IFWC.mjs +1 -0
- package/dist/{client-BBJf1mVA.mjs → client-D24ebgGH.mjs} +1 -1
- package/dist/compression-vRUOO-28.mjs +1 -0
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.d.mts +2 -0
- package/dist/contracts/canonical-model/index.mjs +1 -0
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +7 -7
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/facet/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +1387 -1829
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/{definition-DqJOg6Lv.d.mts → definition-CPc6oKaF.d.mts} +1 -1
- package/dist/{detached-extension-handle-Diiwgm13.mjs → detached-extension-handle-BYxNmLfv.mjs} +1 -1
- package/dist/{extension-ZBN4BGre.mjs → extension-CTkoi8MV.mjs} +1 -1
- package/dist/{extension-DfNcE0zm.mjs → extension-DEUfzXcg.mjs} +1 -1
- package/dist/{filesystem-service-BjfrUmGS.mjs → filesystem-service-T8JOIWeP.mjs} +1 -1
- package/dist/git/index.mjs +1 -1
- package/dist/{globby-BIH65cbN.mjs → globby-Bos1vjKj.mjs} +1 -1
- package/dist/{handlers-BAB4fQNH.mjs → handlers-CTrL8wmC.mjs} +2 -2
- package/dist/{harness-B8E_wRwa.mjs → harness-HEpELa_v.mjs} +1 -1
- package/dist/{index-Bw_zL7Rs.d.mts → index-6QvT0ljq.d.mts} +1 -1
- package/dist/{index-BT5tNA3Y.d.mts → index-B3mq3Qjf.d.mts} +1 -1
- package/dist/{index-7EPRy0nT.d.mts → index-B92SK0rO.d.mts} +4 -4
- package/dist/index-B99Prx5a.d.mts +859 -0
- package/dist/{index-BZPdJ-cc.d.mts → index-BLqtL-_a.d.mts} +8 -8
- package/dist/{index-BheaEhyI.d.mts → index-BM_y78ZA2.d.mts} +6 -6
- package/dist/{index-BYkOUd0x.d.mts → index-BQ8H7cvY.d.mts} +1 -1
- package/dist/{index-D--1C5cq.d.mts → index-BSFmBEDL.d.mts} +10 -10
- package/dist/{index-BfUq8fO52.d.mts → index-C0TEY7RE.d.mts} +3 -3
- package/dist/{index-D0KbxzzL.d.mts → index-C24PcW2r.d.mts} +8 -8
- package/dist/{index-Buo9H8RK.d.mts → index-CEdOq5Om.d.mts} +1 -1
- package/dist/{index-ClJybiRp.d.mts → index-CszoKxxO.d.mts} +380 -377
- package/dist/{index-BFuke0jw.d.mts → index-DBgv39-Q.d.mts} +38 -38
- package/dist/{index-DVhdhnCz.d.mts → index-DfNIhEm_.d.mts} +20 -20
- package/dist/{index-dAjtejnc.d.mts → index-DvETyI0_.d.mts} +1 -1
- package/dist/{index-DfyXMHbr.d.mts → index-GuspCNLR.d.mts} +4 -4
- package/dist/{index-DdZ9PDEE.d.mts → index-NyKdb8kT.d.mts} +12 -12
- package/dist/{index-V-TYYJbM.d.mts → index-QvciMc7_.d.mts} +502 -275
- package/dist/{index-zvz6W1SY.d.mts → index-WKF5BHsw.d.mts} +16 -16
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/cli/register.mjs +1 -1
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/{lib-Cq5R6Tx9.mjs → lib-DkLlhp9Z.mjs} +1 -1
- package/dist/{lib-nlcl5kRW.mjs → lib-jOuIcSs9.mjs} +1 -1
- package/dist/{load-extensions-D9nbDIiW.d.mts → load-extensions-CQqw0Smr.d.mts} +1 -1
- package/dist/{load-extensions-wELQ4BBN.mjs → load-extensions-D-DyzN4j.mjs} +1 -1
- package/dist/mcp-http-server/index.d.mts +73 -4
- package/dist/mcp-http-server/index.mjs +4 -4
- package/dist/{namespace-BxxBhcV_.d.mts → namespace-B1Bldc48.d.mts} +108 -0
- package/dist/{namespace-Cq8ScJGp.d.mts → namespace-BAJTZXWc.d.mts} +22 -22
- package/dist/{namespace-Dfq6MDN9.mjs → namespace-BxrHvS5c.mjs} +1 -1
- package/dist/{namespace-Do0AUzwu.d.mts → namespace-CEqkI6Zu.d.mts} +6 -6
- package/dist/namespace-CH_NWUKW.mjs +1 -0
- package/dist/{namespace-Bx40zNgT.d.mts → namespace-CN2TfSCY.d.mts} +2 -2
- package/dist/{namespace-Dg8SmyyE.d.mts → namespace-C_kaVySz.d.mts} +4 -4
- package/dist/{namespace-CWqZfW61.d.mts → namespace-D_ZXa76m.d.mts} +32 -32
- package/dist/{namespace-BybC0T6L.d.mts → namespace-DbvQ4HYc.d.mts} +166 -156
- package/dist/{namespace-DC1VWMKj2.d.mts → namespace-Dr1wDUZA2.d.mts} +2 -2
- package/dist/{native-session-supervisor-DeKpxhWO.mjs → native-session-supervisor-DbrqcFq9.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-BKFXaKPL.mjs → orchestrator-shared-yFP8e7d5.mjs} +1 -1
- package/dist/{package-DzN_jdqd.mjs → package-Bn665ylV.mjs} +1 -1
- package/dist/package.json +1 -1
- package/dist/primitive-runtime-C2yw4-F8.mjs +1 -0
- package/dist/{profile-D39-Zy_W.mjs → profile-r4G32bCH.mjs} +1 -1
- package/dist/{provider-context-wp4VSJFI.mjs → provider-context-Ds6GNYnE.mjs} +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/extension-discovery.d.mts +1 -1
- package/dist/runtime-node/extension-validation.d.mts +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +3 -3
- package/dist/runtime-node/index.mjs +24 -26
- package/dist/runtime-node/makaio-config.d.mts +1 -1
- package/dist/runtime-node/makaio-config.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
- package/dist/{schema-C3TgjrsV.mjs → schema-atatXwNg.mjs} +1 -1
- package/dist/{schema-C-yfxlRI.d.mts → schema-msWs4YhT.d.mts} +1 -1
- package/dist/{schemas-CW0h1h6l.d.mts → schemas-CN9hprME.d.mts} +3 -3
- package/dist/{schemas-BFO5Ovdp.d.mts → schemas-CRS7tkFP.d.mts} +4 -4
- package/dist/{schemas-CJYNpT6v.d.mts → schemas-Cae5dubB.d.mts} +6 -6
- package/dist/schemas-CiMm2zrE.mjs +1 -0
- package/dist/{schemas-t1VR6_b_.d.mts → schemas-DMl7IKG-.d.mts} +3 -3
- package/dist/{schemas-BFYzBjpp2.d.mts → schemas-DRZJK6hW2.d.mts} +9 -9
- package/dist/{schemas-CTgHFHmK.d.mts → schemas-DZfBym73.d.mts} +7 -7
- package/dist/{schemas-Dk1d5uZE.d.mts → schemas-xoTn8JZb.d.mts} +166 -156
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/capability/index.d.mts +1 -1
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +4 -4
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.d.mts +3 -3
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +152 -147
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/log-import.mjs +1 -1
- package/dist/services/log-import/namespace.mjs +1 -1
- package/dist/services/log-import/schemas.mjs +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +6 -6
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/{session-P4nX60Xx.mjs → session-Me3XO-l9.mjs} +2 -2
- package/dist/session-bKk-XeaY.mjs +1 -0
- package/dist/{session-lineage-BoyuhtiV.d.mts → session-lineage-DFkJgYt5.d.mts} +1 -1
- package/dist/{skill-BNQnWVIG.mjs → skill-B_VlGon5.mjs} +1 -1
- package/dist/{src-CBG3IHUl.mjs → src-6n-8M8EU.mjs} +1 -1
- package/dist/storage/drizzle/client.d.mts +1 -1
- package/dist/storage/drizzle/client.mjs +1 -1
- package/dist/storage/drizzle/index.d.mts +1 -1
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/{storage-namespace-n4KCNecF.d.mts → storage-namespace-gey7EUhM.d.mts} +10 -10
- package/dist/{tool-approval-service-DNHV5x0M.mjs → tool-approval-service-C2xXBtdJ.mjs} +1 -1
- package/dist/{tools-CQImrHAp.mjs → tools-DEUzCPBB.mjs} +1 -1
- package/dist/{types-8pL9-Me7.d.mts → types-4LKM7ZfA.d.mts} +320 -201
- package/dist/{types-D0fPFh-D.d.mts → types-BB8iIAjZ.d.mts} +1 -1
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{version-B4NO_fID.mjs → version-SYP_DX4M.mjs} +1 -1
- package/dist/workflow-engine/index.d.mts +31 -31
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.d.mts +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-worker-CK9Sqj7D.mjs → workflow-worker-CjuRYLmJ.mjs} +1 -1
- package/package.json +5 -1
- package/dist/adapter-UpcpZDOv.mjs +0 -1
- package/dist/namespace-BXqetkc3.mjs +0 -1
- package/dist/primitive-runtime-CNC_bSac.mjs +0 -1
- package/dist/schemas-CuKayWhA.mjs +0 -1
- package/dist/session-BwX5_k47.mjs +0 -1
- /package/dist/{ajv-BA2z5ztb.mjs → ajv-Cx19PP7Q.mjs} +0 -0
- /package/dist/{await-trigger-DREnXCEJ.mjs → await-trigger-uKEHY8E4.mjs} +0 -0
- /package/dist/{base-orchestrator-M5mAB5-w.d.mts → base-orchestrator-BRq4MXa7.d.mts} +0 -0
- /package/dist/{capability-service-jjrFLM6r.mjs → capability-service-CHl8rrwb.mjs} +0 -0
- /package/dist/{cleanEnvForAdapter-vZfPGi0X.mjs → cleanEnvForAdapter-D32WnVuy.mjs} +0 -0
- /package/dist/{client-BJVDImPV.d.mts → client-D2ZftNb6.d.mts} +0 -0
- /package/dist/{clients-namespace-SFk7OTop.d.mts → clients-namespace-CeAB0t06.d.mts} +0 -0
- /package/dist/{config-namespace-DydHz9so.mjs → config-namespace-DW5KHKPW.mjs} +0 -0
- /package/dist/{config-namespace-BzAvE2nY.d.mts → config-namespace-DloU-hNB.d.mts} +0 -0
- /package/dist/{create-static-mount-BB1MIQ9J.mjs → create-static-mount-Bi0VpYS8.mjs} +0 -0
- /package/dist/{cross-spawn-BL6EvJBv.mjs → cross-spawn-C58yEvsS.mjs} +0 -0
- /package/dist/{cursor-storage-CmKjSvKY.mjs → cursor-storage-CpuT5POU.mjs} +0 -0
- /package/dist/{definition-BSghHJpQ.d.mts → definition-BdxbXbrq.d.mts} +0 -0
- /package/dist/{definition-q6iLw11H.d.mts → definition-BwLJnqEo.d.mts} +0 -0
- /package/dist/{descriptor-to-package-CY8oc2gl.mjs → descriptor-to-package-D-FNxohm.mjs} +0 -0
- /package/dist/{drizzle-wjquQK2m.mjs → drizzle-D7dkDEB5.mjs} +0 -0
- /package/dist/{esm-CQVFKEW5.mjs → esm-CP2zvvlx.mjs} +0 -0
- /package/dist/{event-BEllCn16.mjs → event-DaXakaHo.mjs} +0 -0
- /package/dist/{execution-target-CQGYaaM2.mjs → execution-target-Da6Vjvba.mjs} +0 -0
- /package/dist/{extension-discovery-CkV_VRdJ.d.mts → extension-discovery-Bv5FDtrM.d.mts} +0 -0
- /package/dist/{extension-namespace-BBgYOttA.mjs → extension-namespace-O3sKdnY9.mjs} +0 -0
- /package/dist/{facet-DMrryX_0.mjs → facet-Q_vgXb23.mjs} +0 -0
- /package/dist/{filesystem-service-Ddngll0j.d.mts → filesystem-service-89fN-2Dd.d.mts} +0 -0
- /package/dist/{handler-DqpiV9eA.mjs → handler-BIA3ld4C.mjs} +0 -0
- /package/dist/{host-DbMiI5wQ.mjs → host-DFqmG2qO.mjs} +0 -0
- /package/dist/{identity-Bmx-8fPa.mjs → identity-CA5MzB19.mjs} +0 -0
- /package/dist/{index-Dsq2zKvu.d.mts → index-BE-yMFTz.d.mts} +0 -0
- /package/dist/{index-CDU_s69P.d.mts → index-BUilJdHr.d.mts} +0 -0
- /package/dist/{index-C33Tq1ei2.d.mts → index-BVhnqzDC2.d.mts} +0 -0
- /package/dist/{index-Cz9JMjZK.d.mts → index-BeNVLvtk2.d.mts} +0 -0
- /package/dist/{index-D0SUjZmU.d.mts → index-BplsE3qw.d.mts} +0 -0
- /package/dist/{index-C6BhKRnH.d.mts → index-BtL_9HBk.d.mts} +0 -0
- /package/dist/{index-Bsp0O_sI.d.mts → index-CBTp2XuF.d.mts} +0 -0
- /package/dist/{index-BMpRB6iE.d.mts → index-CYZqADXY2.d.mts} +0 -0
- /package/dist/{index-DSV1aFgK.d.mts → index-CfpfkKih.d.mts} +0 -0
- /package/dist/{index-BxFA1XcP.d.mts → index-CkPIPbx9.d.mts} +0 -0
- /package/dist/{index-DOfq0qqv.d.mts → index-D0RWuwl5.d.mts} +0 -0
- /package/dist/{index-CGJjA-hR2.d.mts → index-DHHKwLww.d.mts} +0 -0
- /package/dist/{index-zgm2j9V92.d.mts → index-DJSffYTW2.d.mts} +0 -0
- /package/dist/{index-BCKRUuI2.d.mts → index-DLPjliGd.d.mts} +0 -0
- /package/dist/{index-BpXX9WZJ.d.mts → index-DNmENr9M.d.mts} +0 -0
- /package/dist/{index-9IDJUJ4X.d.mts → index-DVgKfgh1.d.mts} +0 -0
- /package/dist/{index-D6Iyvz9T.d.mts → index-DWqSqcpW.d.mts} +0 -0
- /package/dist/{index-BBvcP-P0.d.mts → index-DdCyeZ59.d.mts} +0 -0
- /package/dist/{index-Drz_a7kW.d.mts → index-cFuQpzIm.d.mts} +0 -0
- /package/dist/{index-BnQSPC6c.d.mts → index-kOSSuOcK.d.mts} +0 -0
- /package/dist/{index-BbCjtc3h.d.mts → index-orAkFukT.d.mts} +0 -0
- /package/dist/{jsonl-transport-C21tpVfe.mjs → jsonl-transport-Bb8ltqOe.mjs} +0 -0
- /package/dist/{lib-CNOQJtgs.mjs → lib-BmcGxHXH.mjs} +0 -0
- /package/dist/{materialization-3QUnQLbC.mjs → materialization-DsPIGQP1.mjs} +0 -0
- /package/dist/{model-registry-B0AIdj7O.mjs → model-registry-DLeMw3l8.mjs} +0 -0
- /package/dist/{model-registry-j-rCKcik.mjs → model-registry-DQDclqdw.mjs} +0 -0
- /package/dist/{namespace--s0d86h-.d.mts → namespace-2G7A4Sza.d.mts} +0 -0
- /package/dist/{namespace-BbjCyZC9.mjs → namespace-CN-Llu7H.mjs} +0 -0
- /package/dist/{namespace-aJJfBJU5.d.mts → namespace-DKnJL0Ja.d.mts} +0 -0
- /package/dist/{namespace-XTGCaSXj.d.mts → namespace-DMhz3yvr.d.mts} +0 -0
- /package/dist/{namespace-DzVf1hVH.d.mts → namespace-DcUwOJ4f.d.mts} +0 -0
- /package/dist/{namespace-BgPoC46Q.mjs → namespace-DrpHLJAy.mjs} +0 -0
- /package/dist/{namespace-ENv7H7Na.mjs → namespace-FJsnoEQy.mjs} +0 -0
- /package/dist/{namespace-D6X67cUk.mjs → namespace-UUw-S7ia.mjs} +0 -0
- /package/dist/{namespace-uuR0Fg5r.d.mts → namespace-nQS4XwnT.d.mts} +0 -0
- /package/dist/{namespace-nlsvvMtD.d.mts → namespace-q5dD3acO.d.mts} +0 -0
- /package/dist/{namespace-FT8igkn4.mjs → namespace-uGUGfpGQ.mjs} +0 -0
- /package/dist/{namespace-CUOGcGPG.mjs → namespace-zWB-ULrX.mjs} +0 -0
- /package/dist/{orchestrator-shared-D91Wk7z-.d.mts → orchestrator-shared-CbS4ueeq.d.mts} +0 -0
- /package/dist/{out-C1JFb2Bp.mjs → out-BUHr98Xe.mjs} +0 -0
- /package/dist/{package--RZnpN2J.d.mts → package-BEbo1-6S.d.mts} +0 -0
- /package/dist/{package-BzJvtM5O.mjs → package-YQeRE8bV.mjs} +0 -0
- /package/dist/{platform-Dhv22LiX.mjs → platform-CsO-MRJP.mjs} +0 -0
- /package/dist/{providers-B1p0P-vB.mjs → providers-FEZT2bQG.mjs} +0 -0
- /package/dist/{providers-namespace-BqWYkydw.d.mts → providers-namespace-DMUyEbmp.d.mts} +0 -0
- /package/dist/{quick-lru-B9nWXbXI.mjs → quick-lru-C7AXdpbU.mjs} +0 -0
- /package/dist/{registry-RG-bkw3c.mjs → registry-udUhXSIC.mjs} +0 -0
- /package/dist/{schema-CzhOc7TV.mjs → schema-Ba64XQjo.mjs} +0 -0
- /package/dist/{schema-introspection-CuRZPYEc.mjs → schema-introspection-D5FaI5B_.mjs} +0 -0
- /package/dist/{schemas-BCIuTWRl2.mjs → schemas-5kegIs9D.mjs} +0 -0
- /package/dist/{schemas-B77Gi8Xr.d.mts → schemas-9Ifo5zSf.d.mts} +0 -0
- /package/dist/{schemas-BdAf5u58.mjs → schemas-9QC3nvYP.mjs} +0 -0
- /package/dist/{schemas-Dyk7JuVl.d.mts → schemas-BSAKbVyd.d.mts} +0 -0
- /package/dist/{schemas-Kq33MTPY.d.mts → schemas-BxI5Yq8d.d.mts} +0 -0
- /package/dist/{schemas-hSrzflwZ.mjs → schemas-DAYPhB5K.mjs} +0 -0
- /package/dist/{schemas-C792eVAZ.d.mts → schemas-DznsZ0bq.d.mts} +0 -0
- /package/dist/{semver-DhHJv6Dt.mjs → semver-ClOD8k8c.mjs} +0 -0
- /package/dist/{server-lifecycle-47mygK3E.d.mts → server-lifecycle-5iHxcgBO.d.mts} +0 -0
- /package/dist/{server-lifecycle-Cg47L59Q.mjs → server-lifecycle-CFQaPTf7.mjs} +0 -0
- /package/dist/{shared-schemas-DYL7a-No.mjs → shared-schemas-jG3EtHZT.mjs} +0 -0
- /package/dist/{src-DedDL9iv.mjs → src-CRDOZl7K.mjs} +0 -0
- /package/dist/{storage-namespace-BXO3lDVy.mjs → storage-namespace-C1JVmZF1.mjs} +0 -0
- /package/dist/{storage-namespace-definition-C3XbpiP8.d.mts → storage-namespace-definition-BPYSLTfN.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-RvjfFysN.mjs → storage-namespace-definition-Df8S3E3r.mjs} +0 -0
- /package/dist/{supports-color-fVsgozsi.mjs → supports-color-AnssSSH9.mjs} +0 -0
- /package/dist/{telemetry-O0394b7p.mjs → telemetry-DdbvlZ8s.mjs} +0 -0
- /package/dist/{tray-menu-service-B5YPK_YF.mjs → tray-menu-service-am356993.mjs} +0 -0
- /package/dist/{types-D-bP8RRE.d.mts → types-Bj7cOrBQ.d.mts} +0 -0
- /package/dist/{types-D6jnDjP2.d.mts → types-D-GeeSdd.d.mts} +0 -0
- /package/dist/{types-5Gw3iVpK.d.mts → types-DhlQpVEb.d.mts} +0 -0
- /package/dist/{types-B0BtvVAq.d.mts → types-xLd-e0wf.d.mts} +0 -0
- /package/dist/{variant-COVbYmMs.mjs → variant-BdNN5edM.mjs} +0 -0
- /package/dist/{window-registry-CfEi_Ji4.d.mts → window-registry-CA6AC8n7.d.mts} +0 -0
- /package/dist/{window-registry-XjOExitT.mjs → window-registry-LRjWPwr4.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,n as t,r as n,t as r}from"../../tools-
|
|
1
|
+
import{B as e,n as t,r as n,t as r}from"../../tools-DEUzCPBB.mjs";export{r as FILE_ACCESS_RULES_KEY,e as ToolRegistry,n as createToolContributionProcessor,t as extractToolFilePath};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as TrayMenuService } from "../../index-
|
|
2
|
-
import { a as TrayMenuGroupSchema, c as TrayMenuListEntry, d as TrayMenuSchemas, f as TrayMenuSectionSchema, i as TrayMenuGroupEntrySchema, l as TrayMenuListEntrySchema, n as TrayMenuEntrySchema, o as TrayMenuItemClicked, r as TrayMenuGroup, s as TrayMenuItemClickedSchema, t as TrayMenuEntry, u as TrayMenuMetadataSchema } from "../../schemas-
|
|
3
|
-
import { n as TrayMenuSubjects, t as TrayMenuNamespace } from "../../namespace-
|
|
1
|
+
import { t as TrayMenuService } from "../../index-CYZqADXY2.mjs";
|
|
2
|
+
import { a as TrayMenuGroupSchema, c as TrayMenuListEntry, d as TrayMenuSchemas, f as TrayMenuSectionSchema, i as TrayMenuGroupEntrySchema, l as TrayMenuListEntrySchema, n as TrayMenuEntrySchema, o as TrayMenuItemClicked, r as TrayMenuGroup, s as TrayMenuItemClickedSchema, t as TrayMenuEntry, u as TrayMenuMetadataSchema } from "../../schemas-CN9hprME.mjs";
|
|
3
|
+
import { n as TrayMenuSubjects, t as TrayMenuNamespace } from "../../namespace-CN2TfSCY.mjs";
|
|
4
4
|
export { TrayMenuEntry, TrayMenuEntrySchema, TrayMenuGroup, TrayMenuGroupEntrySchema, TrayMenuGroupSchema, TrayMenuItemClicked, TrayMenuItemClickedSchema, TrayMenuListEntry, TrayMenuListEntrySchema, TrayMenuMetadataSchema, TrayMenuNamespace, TrayMenuSchemas, TrayMenuSectionSchema, TrayMenuService, TrayMenuSubjects };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{TrayMenuEntrySchema as e,TrayMenuGroupEntrySchema as t,TrayMenuGroupSchema as n,TrayMenuItemClickedSchema as r,TrayMenuListEntrySchema as i,TrayMenuMetadataSchema as a,TrayMenuSchemas as o,TrayMenuSectionSchema as s}from"./schemas.mjs";import{TrayMenuNamespace as c,TrayMenuSubjects as l}from"./namespace.mjs";import{t as u}from"../../tray-menu-service-
|
|
1
|
+
import{TrayMenuEntrySchema as e,TrayMenuGroupEntrySchema as t,TrayMenuGroupSchema as n,TrayMenuItemClickedSchema as r,TrayMenuListEntrySchema as i,TrayMenuMetadataSchema as a,TrayMenuSchemas as o,TrayMenuSectionSchema as s}from"./schemas.mjs";import{TrayMenuNamespace as c,TrayMenuSubjects as l}from"./namespace.mjs";import{t as u}from"../../tray-menu-service-am356993.mjs";export{e as TrayMenuEntrySchema,t as TrayMenuGroupEntrySchema,n as TrayMenuGroupSchema,r as TrayMenuItemClickedSchema,i as TrayMenuListEntrySchema,a as TrayMenuMetadataSchema,c as TrayMenuNamespace,o as TrayMenuSchemas,s as TrayMenuSectionSchema,u as TrayMenuService,l as TrayMenuSubjects};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TrayMenuSubjects, t as TrayMenuNamespace } from "../../namespace-
|
|
1
|
+
import { n as TrayMenuSubjects, t as TrayMenuNamespace } from "../../namespace-CN2TfSCY.mjs";
|
|
2
2
|
export { TrayMenuNamespace, TrayMenuSubjects };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TrayMenuGroupSchema, c as TrayMenuListEntry, d as TrayMenuSchemas, f as TrayMenuSectionSchema, i as TrayMenuGroupEntrySchema, l as TrayMenuListEntrySchema, n as TrayMenuEntrySchema, o as TrayMenuItemClicked, r as TrayMenuGroup, s as TrayMenuItemClickedSchema, t as TrayMenuEntry, u as TrayMenuMetadataSchema } from "../../schemas-
|
|
1
|
+
import { a as TrayMenuGroupSchema, c as TrayMenuListEntry, d as TrayMenuSchemas, f as TrayMenuSectionSchema, i as TrayMenuGroupEntrySchema, l as TrayMenuListEntrySchema, n as TrayMenuEntrySchema, o as TrayMenuItemClicked, r as TrayMenuGroup, s as TrayMenuItemClickedSchema, t as TrayMenuEntry, u as TrayMenuMetadataSchema } from "../../schemas-CN9hprME.mjs";
|
|
2
2
|
export { TrayMenuEntry, TrayMenuEntrySchema, TrayMenuGroup, TrayMenuGroupEntrySchema, TrayMenuGroupSchema, TrayMenuItemClicked, TrayMenuItemClickedSchema, TrayMenuListEntry, TrayMenuListEntrySchema, TrayMenuMetadataSchema, TrayMenuSchemas, TrayMenuSectionSchema };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TurnStorageSubjects, t as TurnStorageNamespace } from "../../namespace
|
|
1
|
+
import { n as TurnStorageSubjects, t as TurnStorageNamespace } from "../../namespace-2G7A4Sza.mjs";
|
|
2
2
|
export { TurnStorageNamespace, TurnStorageSubjects };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TurnStorageSubjects, t as TurnStorageNamespace } from "../../namespace
|
|
1
|
+
import { n as TurnStorageSubjects, t as TurnStorageNamespace } from "../../namespace-2G7A4Sza.mjs";
|
|
2
2
|
export { TurnStorageNamespace, TurnStorageSubjects };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{TurnStorageSubjects as e}from"./services/turn/namespace.mjs";import{agents as t,agentsDual as n,sessions as r,sessionsDual as i}from"./services/session/storage/schema.mjs";import"./schema-C3TgjrsV.mjs";import{a,i as o,n as s,o as c,r as l}from"./namespace-Dfq6MDN9.mjs";import{SessionStorageSubjects as u}from"./services/session/storage/namespace.mjs";import{D as d,F as f,T as p,_ as m,d as h,f as g,g as _,h as v,k as y,m as b,p as x,u as ee,v as te,y as S}from"./handlers-BAB4fQNH.mjs";import{r as ne,t as re}from"./provider-context-wp4VSJFI.mjs";import{AdapterRuntimeSubjects as ie}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as C}from"./services/session/messages/namespace.mjs";import{n as w}from"./namespace-D6X67cUk.mjs";import{z as T}from"zod";import{createHash as ae}from"node:crypto";import{MakaioBus as oe,NoHandlerError as se,TimeoutError as ce}from"@makaio/framework/bus";import{AdapterSubjects as E,AgentSubjects as D,CanonicalModelSubjects as le,CompressionModeSchema as ue,ForkTransformsSchema as de,MessageRoutingSchema as fe,SessionContextSchema as pe,SessionDiscoveredSchema as me,SessionStorageSetRequestSchema as he,SessionStorageUpdateSchema as ge,SessionSubjects as O,compareMessageCursorAsc as _e,compareMessageCursorDesc as ve,isCanonicalModelParseError as ye,messageToCursor as k,parseCanonicalModel as be}from"@makaio/framework/contracts";import{BaseService as xe}from"@makaio/framework/service-base";import{createStorageNamespaceDefinition as Se}from"@makaio/framework/storage";import{blob as Ce,index as we,integer as Te,primaryKey as Ee,sqliteTable as De,text as A,uniqueIndex as Oe}from"drizzle-orm/sqlite-core";import{index as ke,primaryKey as Ae}from"drizzle-orm/pg-core";import{defineDialectSchema as j,defineDualTable as je,didAffectRows as M,getRawSqlExecutor as Me,getStorageEngine as Ne,resolveSchema as N,resolveStorageEngine as P}from"@makaio/framework/storage/drizzle";import{and as F,asc as I,count as L,desc as R,eq as z,gt as Pe,gte as Fe,inArray as B,isNull as V,lt as Ie,lte as Le,or as Re,sql as H}from"drizzle-orm";import{ClientIdentityObservationSchema as ze}from"@makaio/framework/contracts/client";import{ImportCursorStorageSubjects as Be}from"@makaio/framework/adapters";function Ve(e){return e.on(O.agent.added,async t=>{let n=await e.requestOptional(u.get,{sessionId:t.payload.sessionId}),r=n.handled?n.data.session:void 0;r&&(r.adapterSessionId||(r.adapterSessionId=t.payload.adapterSessionId,r.adapterName=t.payload.adapterName,r.adapterId=t.payload.adapterId),(t.payload.role??(r.leadAgentId?`member`:`lead`))===`lead`&&(r.leadAgentId=t.payload.agentId),r.lastActivityAt=Date.now(),await e.request(u.set,{sessionId:t.payload.sessionId,session:r}))})}function He(e){return e.on(O.agent.removed,async t=>{let n=await e.requestOptional(u.get,{sessionId:t.payload.sessionId}),r=n.handled?n.data.session:void 0;r&&(await e.requestOptional(f.updateStatus,{agentId:t.payload.agentId,status:`disposed`}),r.leadAgentId===t.payload.agentId&&(r.leadAgentId=void 0),r.lastActivityAt=Date.now(),await e.request(u.set,{sessionId:t.payload.sessionId,session:r}))})}function Ue(e){return[Ke(e),qe(e),Je(e),We(e),Ye(e),Xe(e),Ze(e),Qe(e),$e(e),nt(e),Ve(e.bus),He(e.bus)]}function We(e){let{bus:t}=e;return t.on(O.turn.await,async e=>{let{sessionId:n,turnId:r,timeoutMs:i}=e.payload,a=new AbortController,o=t.once(O.turn.completed,{timeoutMs:i,filter:{sessionId:n,turnId:r},signal:a.signal});o.catch(()=>void 0);let s=await Ge(t,n,r);if(s!==void 0){a.abort(),e.setResult({completion:s});return}try{let t=await o;e.setResult({completion:t.payload})}catch(e){throw e instanceof Error&&e.name===`OnceTimeoutError`?new ce(`session.turn.await`,i):e}})}async function Ge(t,n,r){let i=await t.requestOptional(e.get,{turnId:r}),a=i.handled?i.data.turn:null;if(!(a?.sessionId!==n||a.status!==`completed`&&a.status!==`error`))return{sessionId:n,turnId:r,turnNumber:a.turnNumber,success:a.status===`completed`,...a.error!==void 0&&{error:a.error},...a.initiator!==void 0&&{initiator:a.initiator}}}function Ke(e){let{bus:t}=e;return t.on(O.create,async e=>{let{sessionId:n,parentSessionId:r,contextInheritance:i,forkPointMessageId:a,branchKind:o,forkTransforms:s,title:c,targetWorkingDirectory:l,executionTargetId:d,spawningToolCallId:f,originWindowId:p}=e.payload,m=n??crypto.randomUUID(),h=Date.now(),g={sessionId:m,createdAt:h,lastActivityAt:h,agents:[],status:`active`,title:c,parentSessionId:r,contextInheritance:i,forkPointMessageId:a,branchKind:o,forkTransforms:s,targetWorkingDirectory:l,executionTargetId:d,spawningToolCallId:f},_=await t.requestOptional(u.set,{sessionId:m,session:g,ifAbsent:!0});if(_.handled&&!_.data.success){e.setResult({sessionId:m});return}await t.emit(O.created,{sessionId:m,createdAt:g.createdAt,parentSessionId:r??null,branchKind:o??null,originWindowId:p??`server`}),e.setResult({sessionId:m})})}function qe(e){let{bus:t}=e;return t.on(O.get,async e=>{let n=await t.requestOptional(u.get,{sessionId:e.payload.sessionId}),r=n.handled?n.data.session:null;e.setResult({session:r})})}function Je(e){let{bus:t}=e;return t.on(O.list,async e=>{let{status:n,limit:r,offset:i,includePreview:a,executionTargetId:o}=e.payload,s=await t.requestOptional(u.list,{status:n??`all`,limit:r,offset:i,includePreview:a,executionTargetId:o}),c=s.handled?s.data.sessions:[],l=s.handled?s.data.total:0;e.setResult({sessions:c,total:l})})}function Ye(e){let{bus:t}=e;return t.on(O.close,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1});return}if(i.status===`closed`){e.setResult({success:!0});return}if(i.status!==`active`){e.setResult({success:!1});return}i.status=`closed`,i.lastActivityAt=Date.now(),await t.requestOptional(u.set,{sessionId:n,session:i}),await t.emit(O.closed,{sessionId:n}),e.setResult({success:!0})})}function Xe(e){let{bus:t}=e;return t.on(O.restartAgents,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(f.listBySession,{sessionId:n}),i=r.handled?r.data.agents:[],a=[];for(let e of i)try{let n=await p(t,e,{cwd:e.cwd,model:e.model});await t.requestOptional(f.updateRuntime,{agentId:n.agentId,adapterId:n.adapterId}),a.push({agentId:n.agentId,adapterId:n.adapterId,success:!0})}catch(t){let n=t instanceof Error?t.cause:void 0,r=n instanceof Error?n.message:t instanceof Error?t.message:String(t);a.push({agentId:e.agentId,adapterId:e.adapterId,success:!1,error:r})}e.setResult({sessionId:n,results:a})})}function Ze(e){let{bus:t}=e;return t.on(O.update,async e=>{let{sessionId:n,executionTargetId:r,approvalPolicyOverride:i,title:a}=e.payload,o=await t.requestOptional(u.update,{sessionId:n,executionTargetId:r,approvalPolicyOverride:i,title:a}),s=o.handled?o.data.success:!1;if(s){let e=[];r!==void 0&&e.push(`executionTargetId`),i!==void 0&&e.push(`approvalPolicyOverride`),a!==void 0&&e.push(`title`),e.length>0&&await t.emit(O.updated,{sessionId:n,changedProperties:e})}e.setResult({success:s})})}function Qe(e){let{bus:t}=e;return t.on(O.archive,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1});return}if(i.status===`archived`){e.setResult({success:!0});return}if(i.status!==`closed`){e.setResult({success:!1});return}i.status=`archived`,i.lastActivityAt=Date.now(),await t.requestOptional(u.set,{sessionId:n,session:i}),await t.emit(O.archived,{sessionId:n}),e.setResult({success:!0})})}function $e(e){let{bus:t}=e;return t.on(O.purge,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1,error:`Session not found`});return}if(i.status!==`archived`){e.setResult({success:!1,error:`Cannot purge session unless archived. Call close then archive first.`});return}let a=await t.requestOptional(u.list,{status:`all`}),o=a.handled?a.data.sessions:[];for(let e of o)e.parentSessionId===n&&await t.requestOptional(u.set,{sessionId:e.sessionId,session:{...e,parentSessionId:void 0}});let c=await t.requestOptional(s.getEvents,{sessionId:n,options:{limit:1}}),l=c.handled?c.data.totalCount:0;await t.requestOptional(s.deleteBySession,{sessionId:n}),await t.requestOptional(u.delete,{sessionId:n}),await t.emit(O.purged,{sessionId:n}),e.setResult({success:!0,eventsDeleted:l})})}function et(e,t){let n=ae(`sha256`).update(`${e}\u0000${t}`).digest(`hex`);return`${n.slice(0,8)}-${n.slice(8,12)}-8${n.slice(13,16)}-9${n.slice(17,20)}-${n.slice(20,32)}`}async function tt(e,t,n,r){let i=await e.requestOptional(u.getByAdapterSessionId,{adapterSessionId:r,adapterName:n});if(i.handled&&i.data.session!==null){let e=i.data.session;if(e.adapterName===n)return{sessionId:e.sessionId,created:!1}}let a=await e.requestOptional(u.get,{sessionId:t}),o=a.handled?a.data.session:null;if(o!==null&&o.adapterName===n&&o.adapterSessionId===r)return{sessionId:o.sessionId,created:!1};throw Error(`session.registerExternal: session ID "${t}" already exists but does not carry adapter identity (${n}, ${r}); refusing to mis-attribute it`)}function nt(e){let{bus:t}=e;return t.on(O.registerExternal,async e=>{let{adapterName:n,adapterSessionId:r,lastClientIdentityObservation:i,sessionId:a,parentSessionId:o,contextInheritance:s,forkPointMessageId:c,branchKind:l,forkTransforms:d,title:f,targetWorkingDirectory:p,executionTargetId:m,spawningToolCallId:h,originWindowId:g}=e.payload,_=await t.requestOptional(u.getByAdapterSessionId,{adapterSessionId:r,adapterName:n});if(_.handled&&_.data.session!==null){let t=_.data.session;if(t.adapterName===n){e.setResult({sessionId:t.sessionId,created:!1});return}}let v=a??et(n,r),y=Date.now(),b={sessionId:v,createdAt:y,lastActivityAt:y,agents:[],status:`active`,adapterName:n,adapterSessionId:r,lastClientIdentityObservation:i,title:f,parentSessionId:o,contextInheritance:s,forkPointMessageId:c,branchKind:l,forkTransforms:d,targetWorkingDirectory:p,executionTargetId:m,spawningToolCallId:h},x=await t.requestOptional(u.set,{sessionId:v,session:b,ifAbsent:!0});if(x.handled&&!x.data.success){let i=await tt(t,v,n,r);e.setResult(i);return}await t.emit(O.created,{sessionId:v,createdAt:b.createdAt,parentSessionId:o??null,branchKind:l??null,originWindowId:g??`server`}),e.setResult({sessionId:v,created:!0})})}var rt=class extends xe{constructor(e=oe){super(e)}async onInit(){for(let e of Ue({bus:this.bus}))this.addCleanup(e);await this.reconcileOrphanedTurns()}async reconcileOrphanedTurns(){let t=await this.bus.requestOptional(e.listActive,{});if(!t.handled)return;let{turns:n}=t.data;for(let t of n)try{let{transitioned:n}=await this.bus.request(e.complete,{turnId:t.turnId,status:`error`,expectedStatus:`active`,error:`process-restart`});n&&await this.bus.emit(O.turn.completed,{sessionId:t.sessionId,turnId:t.turnId,turnNumber:t.turnNumber,success:!1,error:`process-restart`})}catch(e){console.error(`[MakaioSessionService] Failed to reconcile orphaned turn ${t.turnId}:`,e)}}};function it(e){return Error(`No adapter found for adapterName="${e}". Ensure adapter-runtime identity handlers are registered; adapter startup verifies live availability.`)}var at=class{bus;registry=new Map;cleanup;constructor(e){this.bus=e,this.cleanup=this.bus.on(E.initialized,e=>{this.registry.set(e.payload.adapterName,e.payload.adapterId)})}resolve(e){let t=this.registry.get(e);if(!t)throw it(e);return t}async resolveAvailable(e){try{let{adapterId:t}=await this.bus.request(ie.resolveId,{adapterName:e});return this.registry.set(e,t),t}catch{let t=this.registry.get(e);if(t)return t;throw it(e)}}destroy(){this.cleanup?.(),this.cleanup=void 0,this.registry.clear()}};function ot(e,t,n,r){return e.on(s.append,e=>{let{event:i}=e.payload,a=t.get(i.sessionId)??[];if(n.has(i.eventId)){e.setResult({success:!0});return}a.push(i),t.set(i.sessionId,a),n.set(i.eventId,r()),e.setResult({success:!0})})}function st(e,t,n){return e.on(s.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function ct(e,t){return e.on(s.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function lt(e,t,n){return e.on(s.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function ut(e,t){return e.on(s.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function dt(e){let t=new Map,n=new Map,r=1,i=[ot(e,t,n,()=>r++),st(e,t,n),ct(e,t),lt(e,t,n),ut(e,t)];return()=>i.forEach(e=>e())}const ft=o.postgres,pt=j({sessionEvents:l},{sessionEvents:ft}),mt=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function ht(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))mt.includes(e)||(n[e]=r);return n}function gt(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function _t(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
2
|
-
`)}case`agent.added`:case`user_message.acknowledged`:case`user_message.completed`:case`turn.started`:case`turn.completed`:case`message`:case`branch.created`:case`branch.merged`:case`squash`:return null;default:return vt(e.payload)}}function vt(e){let t=e.contentText;if(typeof t==`string`&&t.length>0)return t;let n=e.summary;return typeof n==`string`&&n.length>0?n:null}function yt({bus:e,db:t,sessionEvents:n}){return e.on(s.append,async e=>{let{event:r}=e.payload,i=`payload`in r&&`agentId`in r.payload?r.payload.agentId:null,a=`payload`in r&&`adapterId`in r.payload?r.payload.adapterId:null,o=`payload`in r&&`turnId`in r.payload?r.payload.turnId:null,s=`payload`in r&&`messageId`in r.payload?r.payload.messageId:null,c=r.type===`message`?s:null,l=r.type===`message`?null:s,u={sessionId:r.sessionId,eventId:r.eventId,timestamp:r.timestamp,type:r.type,agentId:i,adapterId:a,messageId:c,originatingMessageId:l,turnId:o,contentText:_t(r),payload:JSON.stringify(ht(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function bt({bus:e,db:t,sessionEvents:n}){return e.on(s.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[z(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(Ie(n.id,e)):a.push(Pe(n.id,e)))}i?.types&&i.types.length>0&&a.push(B(n.type,i.types));let s=i?.limit??100,c=o===`desc`?R:I,l=await t.select().from(n).where(F(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(gt),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function xt({bus:e,db:t,sessionEvents:n}){return e.on(s.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(F(z(n.sessionId,r),B(n.eventId,i))).orderBy(I(n.timestamp))).map(gt);e.setResult({events:a})})}function St({bus:e,db:t,sessionEvents:n}){return e.on(s.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(z(n.sessionId,r))).length;await t.delete(n).where(z(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function Ct({bus:e,db:t,sessionEvents:n}){return e.on(s.getEventsBySessions,async e=>{let{sessionIds:r,types:i,limitPerSession:a=50}=e.payload;if(r.length===0||i.length===0){e.setResult({eventsBySession:{}});return}let o={};for(let e of r){let r=await t.select().from(n).where(F(z(n.sessionId,e),B(n.type,i))).orderBy(R(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(gt))}e.setResult({eventsBySession:o})})}function wt(e,t){let{sessionEvents:n}=N(t,pt),r={bus:e,db:t,sessionEvents:n},i=[yt(r),bt(r),xt(r),St(r),Ct(r)];return()=>i.forEach(e=>e())}async function Tt(e,t){e.emit(C.stored,{message:structuredClone(t)});try{await e.request(s.append,{event:{sessionId:t.sessionId,eventId:crypto.randomUUID(),timestamp:t.timestamp,type:`message`,payload:{messageId:t.messageId,turnId:t.turnId,role:t.role}}})}catch(e){console.error(`[MessageStorage] Failed to emit session event for message:`,e)}}function U(e){return{messageId:e.messageId,turnId:e.turnId,sessionId:e.sessionId,role:e.role,contentText:e.contentText,blocks:JSON.parse(e.blocks),agentId:e.agentId??void 0,adapterSessionId:e.adapterSessionId??void 0,adapterMessageId:e.adapterMessageId??void 0,timestamp:e.timestamp,editOf:e.editOf??void 0,origin:e.origin??void 0}}function Et(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.append,async e=>{let{message:i,emitEvent:a}=e.payload,o=i.messageId??crypto.randomUUID(),s={...i,messageId:o,blocks:i.blocks??[]};await n.insert(r).values({messageId:o,turnId:s.turnId,sessionId:s.sessionId,role:s.role,contentText:s.contentText,blocks:JSON.stringify(s.blocks),agentId:s.agentId??null,adapterSessionId:s.adapterSessionId??null,adapterMessageId:s.adapterMessageId??null,timestamp:s.timestamp,editOf:s.editOf??null,origin:s.origin??null}),e.setResult({message:s}),(a??!0)&&await Tt(t,s)})}function Dt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getBySession,async e=>{let{sessionId:t,limit:i,after:a,includeAfter:o=!1,order:s=`asc`}=e.payload,c=s===`desc`?R:I,l=n.select().from(r).where(z(r.sessionId,t)).orderBy(c(r.timestamp),c(r.messageId));if(a){let e=s===`desc`?Re(Ie(r.timestamp,a.timestamp),F(z(r.timestamp,a.timestamp),o?Le(r.messageId,a.messageId):Ie(r.messageId,a.messageId))):Re(Pe(r.timestamp,a.timestamp),F(z(r.timestamp,a.timestamp),o?Fe(r.messageId,a.messageId):Pe(r.messageId,a.messageId)));l=n.select().from(r).where(F(z(r.sessionId,t),e)).orderBy(c(r.timestamp),c(r.messageId))}let u=i??100,d=await l.limit(u+1),f=d.length>u,p=f?d.slice(0,u):d,m=f&&p.length>0?k(p[p.length-1]):null;e.setResult({messages:p.map(U),nextCursor:m})})}function Ot(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getByTurn,async e=>{let{turnId:t}=e.payload,i=await n.select().from(r).where(z(r.turnId,t)).orderBy(I(r.timestamp));e.setResult({messages:i.map(U)})})}function kt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.get,async e=>{let{messageId:t}=e.payload,[i]=await n.select().from(r).where(z(r.messageId,t)).limit(1);e.setResult({message:i?U(i):null})})}function At(e){let{bus:t,db:n}=e,{messages:r}=N(n,c),i=P(n).fts;return t.on(C.search,async e=>{let{query:t,sessionId:a,limit:o}=e.payload,s=o??50;if(!t.trim()){e.setResult({messages:[],total:0});return}let{rows:c,total:l}=await i.searchMessages(n,r,{query:t,sessionId:a,limit:s});e.setResult({messages:c.map(U),total:l})})}function jt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c),i=P(n).fts;return t.on(C.ftsSearch,async e=>{let{query:t,sessionId:a,limit:o=20}=e.payload;if(!t.trim()){e.setResult({results:[],total:0});return}let{results:s,total:c}=await i.searchMessageExcerpts(n,r,{query:t,sessionId:a,limit:o});e.setResult({results:s,total:c})})}function Mt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getByAdapterMessageId,async e=>{let{adapterMessageId:t}=e.payload,[i]=await n.select().from(r).where(z(r.adapterMessageId,t)).limit(1);e.setResult({message:i?U(i):null})})}function Nt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.upsertByAdapterMessageId,async e=>{let{adapterMessageId:i,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u,adapterSessionId:d,timestamp:f,origin:p}=e.payload,[m]=await n.select({messageId:r.messageId}).from(r).where(z(r.adapterMessageId,i)).limit(1);if(m){e.setResult({messageId:m.messageId,created:!1});return}let h=crypto.randomUUID();await n.insert(r).values({messageId:h,turnId:o,sessionId:a,role:s,contentText:c,blocks:JSON.stringify(l),agentId:u??null,adapterSessionId:d??null,adapterMessageId:i,timestamp:f,editOf:null,origin:p??null}),e.setResult({messageId:h,created:!0}),await Tt(t,{messageId:h,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u??void 0,adapterSessionId:d??void 0,adapterMessageId:i,timestamp:f,editOf:void 0,origin:p??void 0})})}function Pt(e,t){let n={bus:e,db:t},r=[Et(n),Dt(n),Ot(n),kt(n),At(n),jt(n),Nt(n),Mt(n)];return()=>r.forEach(e=>e())}function Ft(e,t){return _e(k(e),k(t))}function It(e,t){return ve(k(e),k(t))}function Lt(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=Rt(t,n,r,i),o=[zt(e,t,a),Bt(e,t,n),Vt(e,t,r),Ht(e,t),Ut(e,t),Wt(e,i,a),Gt(e,t,n,r,i)];return()=>o.forEach(e=>e())}function Rt(e,t,n,r){return i=>{e.set(i.messageId,i);let a=t.get(i.sessionId)??[];if(a.push(i.messageId),t.set(i.sessionId,a),i.turnId){let e=n.get(i.turnId)??[];e.push(i.messageId),n.set(i.turnId,e)}i.adapterMessageId&&r.set(i.adapterMessageId,i.messageId)}}function zt(e,t,n){return e.on(C.append,async t=>{let{message:r,emitEvent:i}=t.payload,a=r.messageId??crypto.randomUUID(),o={...r,messageId:a,blocks:r.blocks??[]};n(o),t.setResult({message:o}),(i??!0)&&await Tt(e,o)})}function Bt(e,t,n){return e.on(C.getBySession,async e=>{let{sessionId:r,limit:i,after:a,includeAfter:o=!1,order:s=`asc`}=e.payload,c=n.get(r)??[],l=s===`desc`?It:Ft,u=c.map(e=>t.get(e)).filter(e=>!!e).sort(l);a&&(u=u.filter(e=>{let t=s===`desc`?ve(k(e),a):_e(k(e),a);return o?t>=0:t>0}));let d=i??100,f=u.length>d,p=f?u.slice(0,d):u,m=f&&p.length>0?k(p[p.length-1]):null;e.setResult({messages:p,nextCursor:m})})}function Vt(e,t,n){return e.on(C.getByTurn,async e=>{let{turnId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).sort(Ft);e.setResult({messages:i})})}function Ht(e,t){return e.on(C.get,async e=>{e.setResult({message:t.get(e.payload.messageId)??null})})}function Ut(e,t){return e.on(C.search,async e=>{let{query:n,sessionId:r,limit:i}=e.payload,a=i??50,o=n.trim().toLowerCase(),s=[...t.values()].filter(e=>r?e.sessionId===r:!0),c=o.length===0?[]:s.filter(e=>e.contentText.toLowerCase().includes(o));c.sort(Ft),e.setResult({messages:c.slice(0,a),total:c.length})})}function Wt(e,t,n){return e.on(C.upsertByAdapterMessageId,async r=>{let{adapterMessageId:i,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u,adapterSessionId:d,timestamp:f,origin:p}=r.payload,m=t.get(i);if(m){r.setResult({messageId:m,created:!1});return}let h=crypto.randomUUID(),g={messageId:h,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u??void 0,adapterSessionId:d??void 0,adapterMessageId:i,timestamp:f,editOf:void 0,origin:p??void 0};n(g),r.setResult({messageId:h,created:!0}),await Tt(e,g)})}function Gt(e,t,n,r,i){return e.on(u.delete,e=>{let{sessionId:a}=e.payload,o=n.get(a)??[];for(let e of o){let n=t.get(e);if(n){if(t.delete(e),n.turnId){let t=(r.get(n.turnId)??[]).filter(t=>t!==e);t.length===0?r.delete(n.turnId):r.set(n.turnId,t)}n.adapterMessageId&&i.delete(n.adapterMessageId)}}n.delete(a)})}const Kt=je(`message_routing`,e=>({messageId:e.text(`message_id`).notNull().references(a,{onDelete:`cascade`}),agentId:e.text(`agent_id`).notNull(),status:e.textEnum(`status`,{enum:[`sent`,`acknowledged`,`completed`]}).notNull(),timestamp:e.epochMs(`timestamp`).notNull(),error:e.text(`error`)}),{sqlite:e=>[Ee({columns:[e.messageId,e.agentId,e.status]}),we(`idx_routing_agent`).on(e.agentId,e.timestamp)],postgres:e=>[Ae({columns:[e.messageId,e.agentId,e.status]}),ke(`idx_routing_agent`).on(e.agentId,e.timestamp)]}),qt=Kt.sqlite,Jt=Se(`messageRouting`,{schemas:{record:{request:fe,response:T.object({success:T.boolean()})},getByMessage:{request:T.object({messageId:T.string()}),response:T.object({routing:T.array(fe)})},getCompleted:{request:T.object({messageId:T.string()}),response:T.object({agentIds:T.array(T.string())})},isComplete:{request:T.object({messageId:T.string(),targetAgentIds:T.array(T.string())}),response:T.object({complete:T.boolean(),pending:T.array(T.string())})}},extensions:{drizzle:{messageRouting:qt}}}),W=Jt.subjects,Yt=Kt.postgres,Xt=j({messageRouting:qt},{messageRouting:Yt});function Zt(e){return{messageId:e.messageId,agentId:e.agentId,status:e.status,timestamp:e.timestamp,error:e.error??void 0}}function Qt(e,t){let{messageRouting:n}=N(t,Xt),r=[];return r.push(e.on(W.record,async e=>{let{messageId:r,agentId:i,status:a,timestamp:o,error:s}=e.payload;await t.insert(n).values({messageId:r,agentId:i,status:a,timestamp:o,error:s??null}).onConflictDoUpdate({target:[n.messageId,n.agentId,n.status],set:{timestamp:o,error:s??null}}),e.setResult({success:!0})})),r.push(e.on(W.getByMessage,async e=>{let{messageId:r}=e.payload,i=await t.select().from(n).where(z(n.messageId,r));e.setResult({routing:i.map(Zt)})})),r.push(e.on(W.getCompleted,async e=>{let{messageId:r}=e.payload,i=await t.select().from(n).where(F(z(n.messageId,r),z(n.status,`completed`)));e.setResult({agentIds:i.map(e=>e.agentId)})})),r.push(e.on(W.isComplete,async e=>{let{messageId:r,targetAgentIds:i}=e.payload,a=await t.select().from(n).where(F(z(n.messageId,r),z(n.status,`completed`))),o=new Set(a.map(e=>e.agentId)),s=i.filter(e=>!o.has(e));e.setResult({complete:s.length===0,pending:s})})),()=>r.forEach(e=>e())}var $t=class{byAgent=new Map;add(e){let t=this.byAgent.get(e.agentId);t?(t.inputTokens+=e.inputTokens,t.outputTokens+=e.outputTokens):this.byAgent.set(e.agentId,{inputTokens:e.inputTokens,outputTokens:e.outputTokens})}snapshot(){if(this.byAgent.size===0)return;let e=0,t=0,n={};for(let[r,i]of this.byAgent)e+=i.inputTokens,t+=i.outputTokens,n[r]={...i};return{total:{inputTokens:e,outputTokens:t},byAgent:n}}flush(){let e=this.snapshot();return this.byAgent.clear(),e}clear(){this.byAgent.clear()}},en=class{bus;activeTurns=new Map;usageAccumulators=new Map;completingSessions=new Set;bufferedUsageDuringCompletion=new Map;syntheticTurnCounters=new Map;cleanups=[];constructor(e){this.bus=e}async createTurn(t,n,r,i){let a=await this.bus.requestOptional(e.create,{sessionId:t,...i!==void 0&&{turnId:i},...r!==void 0&&{initiator:r}}),o,s;if(a.handled)o=a.data.turn.turnId,s=a.data.turn.turnNumber;else{o=i??crypto.randomUUID();let e=(this.syntheticTurnCounters.get(t)??0)+1;this.syntheticTurnCounters.set(t,e),s=e}let c=new S({sessionId:t,agentIds:n,turnId:o,turnNumber:s,initiator:r});return this.activeTurns.set(t,c),this.usageAccumulators.set(t,new $t),c}registerCompletionHandlers(e){this.cleanups.push(this.bus.on(D.usage,e=>{let{agentId:t,turnId:n,inputTokens:r,outputTokens:i}=e.payload;if(!n){console.warn(`[SessionTurnManager] Dropping usage event without turnId (agentId=${t}).`);return}let a=this.findActiveTurnByTurnId(n);if(!a){console.warn(`[SessionTurnManager] Dropping usage for inactive turn ${n} (agentId=${t}).`);return}if(!a.hasAgent(t)){console.warn(`[SessionTurnManager] Dropping usage for turn ${n}: agent ${t} is not part of the turn.`);return}if(this.completingSessions.has(a.sessionId)){this.bufferUsageDuringCompletion(a.sessionId,{agentId:t,inputTokens:r,outputTokens:i});return}this.usageAccumulators.get(a.sessionId)?.add({agentId:t,inputTokens:r,outputTokens:i})})),this.cleanups.push(this.bus.on(D.complete,async t=>{let{agentId:n,outcome:r,error:i}=t.payload,a=r!==`error`;await this.handleAgentCompletion(n,a,a?void 0:i,e)}))}async completeTurn(t,n){if(this.completingSessions.has(t.sessionId))return;this.completingSessions.add(t.sessionId);let r=this.usageAccumulators.get(t.sessionId),i=r?.snapshot();try{await this.bus.requestOptional(e.complete,{turnId:t.turnId,status:n.success?`completed`:`error`,error:n.errors.length>0?n.errors.join(`; `):void 0,...i!==void 0&&{usage:i}});let a=this.bufferedUsageDuringCompletion.get(t.sessionId)??[];if(a.length>0){for(let e of a)r?.add(e);this.bufferedUsageDuringCompletion.delete(t.sessionId);let i=r?.snapshot();await this.bus.requestOptional(e.complete,{turnId:t.turnId,status:n.success?`completed`:`error`,error:n.errors.length>0?n.errors.join(`; `):void 0,...i!==void 0&&{usage:i}})}}catch(e){throw this.completingSessions.delete(t.sessionId),console.error(`[SessionTurnManager] Failed to persist completion for turn ${t.turnId}:`,e),e}r?.clear(),this.activeTurns.delete(t.sessionId),this.usageAccumulators.delete(t.sessionId),this.completingSessions.delete(t.sessionId),await this.bus.emit(O.turn.completed,{sessionId:t.sessionId,turnId:t.turnId,turnNumber:t.turnNumber,success:n.success,error:n.errors.length>0?n.errors.join(`; `):void 0,initiator:t.initiator})}getActiveTurn(e){return this.activeTurns.get(e)}getActiveTurnsMap(){return this.activeTurns}findActiveTurnByTurnId(e){for(let t of this.activeTurns.values())if(t.turnId===e)return t}destroy(){for(let e of this.cleanups)e();this.cleanups.length=0,this.activeTurns.clear(),this.usageAccumulators.clear(),this.completingSessions.clear(),this.bufferedUsageDuringCompletion.clear(),this.syntheticTurnCounters.clear()}async handleAgentCompletion(e,t,n,r){let i=b(this.activeTurns,e);if(!i)return;let a=t?i.markAgentCompleted(e):i.markAgentErrored(e,n??`Unknown error`);for(let r of i.messageIds)await this.bus.emit(O.user_message.completed,{sessionId:i.sessionId,turnId:i.turnId,turnNumber:i.turnNumber,messageId:r,agentId:e,outcome:t?`completed`:`error`,error:n});a.turnComplete&&await r(i,a.result)}bufferUsageDuringCompletion(e,t){let n=this.bufferedUsageDuringCompletion.get(e)??[];n.push(t),this.bufferedUsageDuringCompletion.set(e,n)}},tn=class{bus;turnManager;adapterRegistry;cleanups=[];constructor(e=oe,t){this.bus=e,this.turnManager=new en(e),this.adapterRegistry=new at(e),this.registerSendMessageHandler(),this.turnManager.registerCompletionHandlers(this.completeTurn.bind(this))}registerSendMessageHandler(){this.cleanups.push(this.bus.on(O.sendMessage,async e=>{let{sessionId:t,message:n,agentIds:r,deliveryMode:i,agent:a,source:o,origin:s}=e.payload,c=x(o,e.payload.extensionId),l=e.payload.sessionContext?pe.parse(e.payload.sessionContext):void 0,{sessionId:u,session:p}=await v(this.bus,t,l,e.payload.originWindowId);if(p.agents.length===0){let e=await this.resolveInitialAdapterSelection(a,u,n,l),t=await this.resolveAdapterName(e,u),r=h(e.adapterId)??await this.adapterRegistry.resolveAvailable(t),i=e.providerConfigId===void 0?void 0:await ne(this.bus,e.providerConfigId);i!==void 0&&await re(this.bus,i);let o=await this.bus.request(E.startAgent,{adapterId:r,sessionId:u,role:`lead`,...i!==void 0&&{providerContext:i},...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...l!==void 0&&{sessionContext:l}});if(!o.success)throw Error(`[SessionOrchestrator.sendMessage] Failed to start agent (sessionId=${u}, adapterName=${t}): ${o.message}`);let s=Date.now();p.agents.push({agentId:o.agentId,adapterId:o.adapterId,adapterName:t,sessionId:u,role:`lead`,status:`idle`,...e.providerConfigId!==void 0&&{providerConfigId:e.providerConfigId},createdAt:s,lastActivityAt:s}),p.leadAgentId=o.agentId,e.providerConfigId!==void 0&&await this.bus.requestOptional(f.updateRuntime,{agentId:o.agentId,providerConfigId:e.providerConfigId})}let g=_(p,r);if(g.length===0)throw Error(`[SessionOrchestrator.sendMessage] No valid target agents found (sessionId=${u})`);let y=new Set;for(let e of g){let t=await this.bus.requestOptional(E.getAgent,{agentId:e.agentId,adapterId:e.adapterId});t.handled&&t.data.agent===null&&y.add(e.agentId)}let b;if(y.size>0){b=await d(this.bus,p);for(let e of g)y.has(e.agentId)&&await this.bus.requestOptional(E.rehydrateAgent,{agentId:e.agentId,adapterId:e.adapterId})}let S=this.turnManager.getActiveTurn(u),ie=!S;S||=await this.turnManager.createTurn(u,g.map(e=>e.agentId),c,e.payload.turnId);let w=crypto.randomUUID();S.addMessage(w);let T=te(n);this.bus.requestOptional(C.append,{message:{messageId:w,turnId:S.turnId,sessionId:u,role:`user`,contentText:m(n),blocks:T,timestamp:Date.now(),...s!==void 0&&{origin:s}}}).catch(e=>{console.warn(`[SessionOrchestrator] Failed to store user message`,{sessionId:u,messageId:w,error:e instanceof Error?e.message:String(e)})});for(let e of g)this.bus.requestOptional(W.record,{messageId:w,agentId:e.agentId,status:`sent`,timestamp:Date.now()}).catch(t=>{console.warn(`[SessionOrchestrator] Failed to record message routing`,{sessionId:u,messageId:w,agentId:e.agentId,error:t instanceof Error?t.message:String(t)})});ie&&await this.bus.emit(O.turn.started,{sessionId:u,turnId:S.turnId,turnNumber:S.turnNumber,messageId:w,agentIds:[...S.agentIds],initiator:S.initiator}),await this.bus.emit(O.user_message.sent,{sessionId:u,turnId:S.turnId,turnNumber:S.turnNumber,messageId:w,content:n,agentIds:g.map(e=>e.agentId),...o!==void 0&&{source:o},...s!==void 0&&{origin:s}});let ae=b?{...l,...b}:l;await ee(this.bus,p,g,n,w,S,i,this.completeTurn.bind(this),ae,e.payload.responseSchema),e.setResult({messageId:w,turnId:S.turnId,sessionId:u})}))}async completeTurn(e,t){await this.turnManager.completeTurn(e,t)}destroy(){for(let e of this.cleanups)e();this.cleanups.length=0,this.turnManager.destroy(),this.adapterRegistry.destroy()}async resolveAdapterName(e,t){let n=h(e.adapterName),r=h(e.adapterId);if(!n&&!r)throw Error(`[SessionOrchestrator.sendMessage] adapterName or adapterId required when session has no agents (sessionId=${t})`);return r?g(this.bus,r,n,`[SessionOrchestrator.sendMessage] (sessionId=${t}) `):n}async resolveInitialAdapterSelection(e,t,n,r){if(!e)throw Error(`[SessionOrchestrator.sendMessage] agent selection required when session has no agents (sessionId=${t})`);if(e.kind===`adapter`)return e;if(e.kind===`canonical-model`)return await this.resolveCanonicalModelSelection(e,t,n,r);throw Error(`[SessionOrchestrator.sendMessage] agent with kind: 'adapter' or 'canonical-model' required when session has no agents (sessionId=${t})`)}async resolveCanonicalModelSelection(e,t,n,r){let i=be(e.model);if(ye(i))throw Error(`[SessionOrchestrator.sendMessage] Invalid canonical model "${e.model}" (sessionId=${t}): ${i.message}`);if(i.kind===`virtual`)throw Error(`[SessionOrchestrator.sendMessage] Virtual canonical models require a host resolver (sessionId=${t})`);let a=await this.bus.request(le.resolve,{parsed:i,context:{sessionId:t,promptText:m(n),...r===void 0?{}:{sessionContext:r}}});return{...e,...a,kind:`adapter`,providerConfigId:e.providerConfigId??a.providerConfigId}}},nn=class{bus;constructor(e){this.bus=e}async getTurnSoFarContext(e){try{let{messages:t}=await this.bus.request(C.getByTurn,{turnId:e});return this.convertSessionMessagesToMessages(t)}catch(e){return e instanceof se||console.warn(`[TurnContextEnricher] Failed to load turn-so-far context:`,e),[]}}async enrichForDeliveryMode(e,t,n){if(n!==`immediate`)return e;let r=await this.getTurnSoFarContext(t);return r.length===0?e:[...e??[],...r]}convertSessionMessagesToMessages(e){return e.map(e=>({role:e.role,blocks:e.blocks}))}};function rn(e){let{bus:t}=e;return t.on(O.getStatusCounts,async e=>{e.payload;let{all:n,active:r,closed:i,archived:a,discovered:o}=await t.request(u.getStatusCounts,{});e.setResult({all:n,active:r,closed:i,archived:a,discovered:o})})}function an(e){let{bus:t}=e;return t.on(O.resume,async e=>{let{sessionId:n}=e.payload,{session:r}=await t.request(u.get,{sessionId:n});if(!r||r.status!==`closed`){e.setResult({success:!1});return}r.status=`active`,r.lastActivityAt=Date.now(),await t.request(u.set,{sessionId:n,session:r}),await t.emit(O.resumed,{sessionId:n}),e.setResult({success:!0})})}function on(e){return e.on(w.listActions,e=>{let t=y.getAll().map(e=>({id:e.id,label:e.label,description:e.description,category:e.category}));e.setResult({actions:t})})}const sn=[{actionId:`strip-reasoning`},{actionId:`strip-tool-outputs`}];function cn(e){return{...e.cwd!==void 0&&{cwd:e.cwd},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools}}}var ln=class{bus;agentToSession=new Map;agentContext=new Map;agentBlocks=new Map;cleanups=[];constructor(e=oe){this.bus=e,this.registerHandlers()}registerHandlers(){this.registerMappingHandlers(),this.registerTurnTrackingHandlers(),this.registerBlockAccumulationHandlers()}registerMappingHandlers(){this.cleanups.push(this.bus.on(O.agent.added,e=>{this.agentToSession.set(e.payload.agentId,e.payload.sessionId)})),this.cleanups.push(this.bus.on(O.closed,e=>{for(let[t,n]of this.agentToSession)n===e.payload.sessionId&&(this.agentToSession.delete(t),this.agentContext.delete(t),this.agentBlocks.delete(t))}))}registerTurnTrackingHandlers(){this.cleanups.push(this.bus.on(O.turn.started,e=>{let{sessionId:t,turnId:n,agentIds:r}=e.payload;for(let e of r){let r=this.agentContext.get(e);this.agentContext.set(e,{...r,sessionId:t,turnId:n}),this.agentBlocks.set(e,[])}})),this.cleanups.push(this.bus.on(O.user_message.acknowledged,e=>{let t=this.agentContext.get(e.payload.agentId);this.agentContext.set(e.payload.agentId,{...t,sessionId:e.payload.sessionId,turnId:e.payload.turnId}),this.agentBlocks.has(e.payload.agentId)||this.agentBlocks.set(e.payload.agentId,[])}))}registerBlockAccumulationHandlers(){this.cleanups.push(this.bus.on(D.message,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`text`,content:e.payload.content})})),this.cleanups.push(this.bus.on(D.reasoning,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`reasoning`,content:e.payload.content})})),this.cleanups.push(this.bus.on(D.tool.use,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`tool_call`,toolCallId:e.payload.toolCallId,name:e.payload.toolName,args:e.payload.args??{}})})),this.cleanups.push(this.bus.on(D.tool.completed,e=>{let t=this.agentBlocks.get(e.payload.agentId);if(t){let n=e.payload.result,r=typeof n==`string`?n:JSON.stringify(n);t.push({type:`tool_output`,toolCallId:e.payload.toolCallId,output:r,isError:e.payload.success===!1})}})),this.cleanups.push(this.bus.on(D.complete,async e=>{if(e.payload._import){this.agentBlocks.delete(e.payload.agentId);return}let{agentId:t,adapterSessionId:n,outcome:r,error:i,message:a,structuredOutputValidation:o}=e.payload;await this.storeAssistantMessage(t,r===`error`?void 0:n,r===`error`?i:void 0,o===void 0?void 0:{content:a})}))}async storeAssistantMessage(e,t,n,r){let i=this.agentContext.get(e);if(!i?.turnId)return;let a=r===void 0?this.agentBlocks.get(e)??[]:r.content===void 0?[]:[{type:`text`,content:r.content}];if(a.length===0&&!n){this.agentBlocks.delete(e);return}let o=a.filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
1
|
+
import{TurnStorageSubjects as e}from"./services/turn/namespace.mjs";import{agents as t,agentsDual as n,sessions as r,sessionsDual as i}from"./services/session/storage/schema.mjs";import"./schema-atatXwNg.mjs";import{a,i as o,n as s,o as c,r as l}from"./namespace-BxrHvS5c.mjs";import{SessionStorageSubjects as u}from"./services/session/storage/namespace.mjs";import{D as d,F as f,T as p,_ as m,d as h,f as g,g as _,h as v,k as y,m as b,p as x,u as ee,v as te,y as S}from"./handlers-CTrL8wmC.mjs";import{r as ne,t as re}from"./provider-context-Ds6GNYnE.mjs";import{AdapterRuntimeSubjects as ie}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as C}from"./services/session/messages/namespace.mjs";import{n as w}from"./namespace-UUw-S7ia.mjs";import{z as T}from"zod";import{createHash as ae}from"node:crypto";import{MakaioBus as oe,NoHandlerError as se,TimeoutError as ce}from"@makaio/framework/bus";import{AdapterSubjects as E,AgentSubjects as D,CanonicalModelSubjects as le,CompressionModeSchema as ue,ForkTransformsSchema as de,MessageRoutingSchema as fe,SessionContextSchema as pe,SessionDiscoveredSchema as me,SessionStorageSetRequestSchema as he,SessionStorageUpdateSchema as ge,SessionSubjects as O,compareMessageCursorAsc as _e,compareMessageCursorDesc as ve,isCanonicalModelParseError as ye,messageToCursor as k,parseCanonicalModel as be}from"@makaio/framework/contracts";import{BaseService as xe}from"@makaio/framework/service-base";import{createStorageNamespaceDefinition as Se}from"@makaio/framework/storage";import{blob as Ce,index as we,integer as Te,primaryKey as Ee,sqliteTable as De,text as A,uniqueIndex as Oe}from"drizzle-orm/sqlite-core";import{index as ke,primaryKey as Ae}from"drizzle-orm/pg-core";import{defineDialectSchema as j,defineDualTable as je,didAffectRows as M,getRawSqlExecutor as Me,getStorageEngine as Ne,resolveSchema as N,resolveStorageEngine as P}from"@makaio/framework/storage/drizzle";import{and as F,asc as I,count as L,desc as R,eq as z,gt as Pe,gte as Fe,inArray as B,isNull as V,lt as Ie,lte as Le,or as Re,sql as H}from"drizzle-orm";import{ClientIdentityObservationSchema as ze}from"@makaio/framework/contracts/client";import{ImportCursorStorageSubjects as Be}from"@makaio/framework/adapters";function Ve(e){return e.on(O.agent.added,async t=>{let n=await e.requestOptional(u.get,{sessionId:t.payload.sessionId}),r=n.handled?n.data.session:void 0;r&&(r.adapterSessionId||(r.adapterSessionId=t.payload.adapterSessionId,r.adapterName=t.payload.adapterName,r.adapterId=t.payload.adapterId),(t.payload.role??(r.leadAgentId?`member`:`lead`))===`lead`&&(r.leadAgentId=t.payload.agentId),r.lastActivityAt=Date.now(),await e.request(u.set,{sessionId:t.payload.sessionId,session:r}))})}function He(e){return e.on(O.agent.removed,async t=>{let n=await e.requestOptional(u.get,{sessionId:t.payload.sessionId}),r=n.handled?n.data.session:void 0;r&&(await e.requestOptional(f.updateStatus,{agentId:t.payload.agentId,status:`disposed`}),r.leadAgentId===t.payload.agentId&&(r.leadAgentId=void 0),r.lastActivityAt=Date.now(),await e.request(u.set,{sessionId:t.payload.sessionId,session:r}))})}function Ue(e){return[Ke(e),qe(e),Je(e),We(e),Ye(e),Xe(e),Ze(e),Qe(e),$e(e),nt(e),Ve(e.bus),He(e.bus)]}function We(e){let{bus:t}=e;return t.on(O.turn.await,async e=>{let{sessionId:n,turnId:r,timeoutMs:i}=e.payload,a=new AbortController,o=t.once(O.turn.completed,{timeoutMs:i,filter:{sessionId:n,turnId:r},signal:a.signal});o.catch(()=>void 0);let s=await Ge(t,n,r);if(s!==void 0){a.abort(),e.setResult({completion:s});return}try{let t=await o;e.setResult({completion:t.payload})}catch(e){throw e instanceof Error&&e.name===`OnceTimeoutError`?new ce(`session.turn.await`,i):e}})}async function Ge(t,n,r){let i=await t.requestOptional(e.get,{turnId:r}),a=i.handled?i.data.turn:null;if(!(a?.sessionId!==n||a.status!==`completed`&&a.status!==`error`))return{sessionId:n,turnId:r,turnNumber:a.turnNumber,success:a.status===`completed`,...a.error!==void 0&&{error:a.error},...a.initiator!==void 0&&{initiator:a.initiator}}}function Ke(e){let{bus:t}=e;return t.on(O.create,async e=>{let{sessionId:n,parentSessionId:r,contextInheritance:i,forkPointMessageId:a,branchKind:o,forkTransforms:s,title:c,targetWorkingDirectory:l,executionTargetId:d,spawningToolCallId:f,originWindowId:p}=e.payload,m=n??crypto.randomUUID(),h=Date.now(),g={sessionId:m,createdAt:h,lastActivityAt:h,agents:[],status:`active`,title:c,parentSessionId:r,contextInheritance:i,forkPointMessageId:a,branchKind:o,forkTransforms:s,targetWorkingDirectory:l,executionTargetId:d,spawningToolCallId:f},_=await t.requestOptional(u.set,{sessionId:m,session:g,ifAbsent:!0});if(_.handled&&!_.data.success){e.setResult({sessionId:m});return}await t.emit(O.created,{sessionId:m,createdAt:g.createdAt,parentSessionId:r??null,branchKind:o??null,originWindowId:p??`server`}),e.setResult({sessionId:m})})}function qe(e){let{bus:t}=e;return t.on(O.get,async e=>{let n=await t.requestOptional(u.get,{sessionId:e.payload.sessionId}),r=n.handled?n.data.session:null;e.setResult({session:r})})}function Je(e){let{bus:t}=e;return t.on(O.list,async e=>{let{status:n,limit:r,offset:i,includePreview:a,executionTargetId:o}=e.payload,s=await t.requestOptional(u.list,{status:n??`all`,limit:r,offset:i,includePreview:a,executionTargetId:o}),c=s.handled?s.data.sessions:[],l=s.handled?s.data.total:0;e.setResult({sessions:c,total:l})})}function Ye(e){let{bus:t}=e;return t.on(O.close,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1});return}if(i.status===`closed`){e.setResult({success:!0});return}if(i.status!==`active`){e.setResult({success:!1});return}i.status=`closed`,i.lastActivityAt=Date.now(),await t.requestOptional(u.set,{sessionId:n,session:i}),await t.emit(O.closed,{sessionId:n}),e.setResult({success:!0})})}function Xe(e){let{bus:t}=e;return t.on(O.restartAgents,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(f.listBySession,{sessionId:n}),i=r.handled?r.data.agents:[],a=[];for(let e of i)try{let n=await p(t,e,{cwd:e.cwd,model:e.model});await t.requestOptional(f.updateRuntime,{agentId:n.agentId,adapterId:n.adapterId}),a.push({agentId:n.agentId,adapterId:n.adapterId,success:!0})}catch(t){let n=t instanceof Error?t.cause:void 0,r=n instanceof Error?n.message:t instanceof Error?t.message:String(t);a.push({agentId:e.agentId,adapterId:e.adapterId,success:!1,error:r})}e.setResult({sessionId:n,results:a})})}function Ze(e){let{bus:t}=e;return t.on(O.update,async e=>{let{sessionId:n,executionTargetId:r,approvalPolicyOverride:i,title:a}=e.payload,o=await t.requestOptional(u.update,{sessionId:n,executionTargetId:r,approvalPolicyOverride:i,title:a}),s=o.handled?o.data.success:!1;if(s){let e=[];r!==void 0&&e.push(`executionTargetId`),i!==void 0&&e.push(`approvalPolicyOverride`),a!==void 0&&e.push(`title`),e.length>0&&await t.emit(O.updated,{sessionId:n,changedProperties:e})}e.setResult({success:s})})}function Qe(e){let{bus:t}=e;return t.on(O.archive,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1});return}if(i.status===`archived`){e.setResult({success:!0});return}if(i.status!==`closed`){e.setResult({success:!1});return}i.status=`archived`,i.lastActivityAt=Date.now(),await t.requestOptional(u.set,{sessionId:n,session:i}),await t.emit(O.archived,{sessionId:n}),e.setResult({success:!0})})}function $e(e){let{bus:t}=e;return t.on(O.purge,async e=>{let{sessionId:n}=e.payload,r=await t.requestOptional(u.get,{sessionId:n}),i=r.handled?r.data.session:null;if(!i){e.setResult({success:!1,error:`Session not found`});return}if(i.status!==`archived`){e.setResult({success:!1,error:`Cannot purge session unless archived. Call close then archive first.`});return}let a=await t.requestOptional(u.list,{status:`all`}),o=a.handled?a.data.sessions:[];for(let e of o)e.parentSessionId===n&&await t.requestOptional(u.set,{sessionId:e.sessionId,session:{...e,parentSessionId:void 0}});let c=await t.requestOptional(s.getEvents,{sessionId:n,options:{limit:1}}),l=c.handled?c.data.totalCount:0;await t.requestOptional(s.deleteBySession,{sessionId:n}),await t.requestOptional(u.delete,{sessionId:n}),await t.emit(O.purged,{sessionId:n}),e.setResult({success:!0,eventsDeleted:l})})}function et(e,t){let n=ae(`sha256`).update(`${e}\u0000${t}`).digest(`hex`);return`${n.slice(0,8)}-${n.slice(8,12)}-8${n.slice(13,16)}-9${n.slice(17,20)}-${n.slice(20,32)}`}async function tt(e,t,n,r){let i=await e.requestOptional(u.getByAdapterSessionId,{adapterSessionId:r,adapterName:n});if(i.handled&&i.data.session!==null){let e=i.data.session;if(e.adapterName===n)return{sessionId:e.sessionId,created:!1}}let a=await e.requestOptional(u.get,{sessionId:t}),o=a.handled?a.data.session:null;if(o!==null&&o.adapterName===n&&o.adapterSessionId===r)return{sessionId:o.sessionId,created:!1};throw Error(`session.registerExternal: session ID "${t}" already exists but does not carry adapter identity (${n}, ${r}); refusing to mis-attribute it`)}function nt(e){let{bus:t}=e;return t.on(O.registerExternal,async e=>{let{adapterName:n,adapterSessionId:r,lastClientIdentityObservation:i,sessionId:a,parentSessionId:o,contextInheritance:s,forkPointMessageId:c,branchKind:l,forkTransforms:d,title:f,targetWorkingDirectory:p,executionTargetId:m,spawningToolCallId:h,originWindowId:g}=e.payload,_=await t.requestOptional(u.getByAdapterSessionId,{adapterSessionId:r,adapterName:n});if(_.handled&&_.data.session!==null){let t=_.data.session;if(t.adapterName===n){e.setResult({sessionId:t.sessionId,created:!1});return}}let v=a??et(n,r),y=Date.now(),b={sessionId:v,createdAt:y,lastActivityAt:y,agents:[],status:`active`,adapterName:n,adapterSessionId:r,lastClientIdentityObservation:i,title:f,parentSessionId:o,contextInheritance:s,forkPointMessageId:c,branchKind:l,forkTransforms:d,targetWorkingDirectory:p,executionTargetId:m,spawningToolCallId:h},x=await t.requestOptional(u.set,{sessionId:v,session:b,ifAbsent:!0});if(x.handled&&!x.data.success){let i=await tt(t,v,n,r);e.setResult(i);return}await t.emit(O.created,{sessionId:v,createdAt:b.createdAt,parentSessionId:o??null,branchKind:l??null,originWindowId:g??`server`}),e.setResult({sessionId:v,created:!0})})}var rt=class extends xe{constructor(e=oe){super(e)}async onInit(){for(let e of Ue({bus:this.bus}))this.addCleanup(e);await this.reconcileOrphanedTurns()}async reconcileOrphanedTurns(){let t=await this.bus.requestOptional(e.listActive,{});if(!t.handled)return;let{turns:n}=t.data;for(let t of n)try{let{transitioned:n}=await this.bus.request(e.complete,{turnId:t.turnId,status:`error`,expectedStatus:`active`,error:`process-restart`});n&&await this.bus.emit(O.turn.completed,{sessionId:t.sessionId,turnId:t.turnId,turnNumber:t.turnNumber,success:!1,error:`process-restart`})}catch(e){console.error(`[MakaioSessionService] Failed to reconcile orphaned turn ${t.turnId}:`,e)}}};function it(e){return Error(`No adapter found for adapterName="${e}". Ensure adapter-runtime identity handlers are registered; adapter startup verifies live availability.`)}var at=class{bus;registry=new Map;cleanup;constructor(e){this.bus=e,this.cleanup=this.bus.on(E.initialized,e=>{this.registry.set(e.payload.adapterName,e.payload.adapterId)})}resolve(e){let t=this.registry.get(e);if(!t)throw it(e);return t}async resolveAvailable(e){try{let{adapterId:t}=await this.bus.request(ie.resolveId,{adapterName:e});return this.registry.set(e,t),t}catch{let t=this.registry.get(e);if(t)return t;throw it(e)}}destroy(){this.cleanup?.(),this.cleanup=void 0,this.registry.clear()}};function ot(e,t,n,r){return e.on(s.append,e=>{let{event:i}=e.payload,a=t.get(i.sessionId)??[];if(n.has(i.eventId)){e.setResult({success:!0});return}a.push(i),t.set(i.sessionId,a),n.set(i.eventId,r()),e.setResult({success:!0})})}function st(e,t,n){return e.on(s.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function ct(e,t){return e.on(s.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function lt(e,t,n){return e.on(s.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function ut(e,t){return e.on(s.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function dt(e){let t=new Map,n=new Map,r=1,i=[ot(e,t,n,()=>r++),st(e,t,n),ct(e,t),lt(e,t,n),ut(e,t)];return()=>i.forEach(e=>e())}const ft=o.postgres,pt=j({sessionEvents:l},{sessionEvents:ft}),mt=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function ht(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))mt.includes(e)||(n[e]=r);return n}function gt(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function _t(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
2
|
+
`)}case`agent.added`:case`user_message.acknowledged`:case`user_message.completed`:case`turn.started`:case`turn.completed`:case`message`:case`branch.created`:case`branch.merged`:case`squash`:return null;default:return vt(e.payload)}}function vt(e){let t=e.contentText;if(typeof t==`string`&&t.length>0)return t;let n=e.summary;return typeof n==`string`&&n.length>0?n:null}function yt({bus:e,db:t,sessionEvents:n}){return e.on(s.append,async e=>{let{event:r}=e.payload,i=`payload`in r&&`agentId`in r.payload?r.payload.agentId:null,a=`payload`in r&&`adapterId`in r.payload?r.payload.adapterId:null,o=`payload`in r&&`turnId`in r.payload?r.payload.turnId:null,s=`payload`in r&&`messageId`in r.payload?r.payload.messageId:null,c=r.type===`message`?s:null,l=r.type===`message`?null:s,u={sessionId:r.sessionId,eventId:r.eventId,timestamp:r.timestamp,type:r.type,agentId:i,adapterId:a,messageId:c,originatingMessageId:l,turnId:o,contentText:_t(r),payload:JSON.stringify(ht(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function bt({bus:e,db:t,sessionEvents:n}){return e.on(s.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[z(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(Ie(n.id,e)):a.push(Pe(n.id,e)))}i?.types&&i.types.length>0&&a.push(B(n.type,i.types));let s=i?.limit??100,c=o===`desc`?R:I,l=await t.select().from(n).where(F(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(gt),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function xt({bus:e,db:t,sessionEvents:n}){return e.on(s.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(F(z(n.sessionId,r),B(n.eventId,i))).orderBy(I(n.timestamp))).map(gt);e.setResult({events:a})})}function St({bus:e,db:t,sessionEvents:n}){return e.on(s.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(z(n.sessionId,r))).length;await t.delete(n).where(z(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function Ct({bus:e,db:t,sessionEvents:n}){return e.on(s.getEventsBySessions,async e=>{let{sessionIds:r,types:i,limitPerSession:a=50}=e.payload;if(r.length===0||i.length===0){e.setResult({eventsBySession:{}});return}let o={};for(let e of r){let r=await t.select().from(n).where(F(z(n.sessionId,e),B(n.type,i))).orderBy(R(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(gt))}e.setResult({eventsBySession:o})})}function wt(e,t){let{sessionEvents:n}=N(t,pt),r={bus:e,db:t,sessionEvents:n},i=[yt(r),bt(r),xt(r),St(r),Ct(r)];return()=>i.forEach(e=>e())}async function Tt(e,t){e.emit(C.stored,{message:structuredClone(t)});try{await e.request(s.append,{event:{sessionId:t.sessionId,eventId:crypto.randomUUID(),timestamp:t.timestamp,type:`message`,payload:{messageId:t.messageId,turnId:t.turnId,role:t.role}}})}catch(e){console.error(`[MessageStorage] Failed to emit session event for message:`,e)}}function U(e){return{messageId:e.messageId,turnId:e.turnId,sessionId:e.sessionId,role:e.role,contentText:e.contentText,blocks:JSON.parse(e.blocks),agentId:e.agentId??void 0,adapterSessionId:e.adapterSessionId??void 0,adapterMessageId:e.adapterMessageId??void 0,timestamp:e.timestamp,editOf:e.editOf??void 0,origin:e.origin??void 0}}function Et(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.append,async e=>{let{message:i,emitEvent:a}=e.payload,o=i.messageId??crypto.randomUUID(),s={...i,messageId:o,blocks:i.blocks??[]};await n.insert(r).values({messageId:o,turnId:s.turnId,sessionId:s.sessionId,role:s.role,contentText:s.contentText,blocks:JSON.stringify(s.blocks),agentId:s.agentId??null,adapterSessionId:s.adapterSessionId??null,adapterMessageId:s.adapterMessageId??null,timestamp:s.timestamp,editOf:s.editOf??null,origin:s.origin??null}),e.setResult({message:s}),(a??!0)&&await Tt(t,s)})}function Dt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getBySession,async e=>{let{sessionId:t,limit:i,after:a,includeAfter:o=!1,order:s=`asc`}=e.payload,c=s===`desc`?R:I,l=n.select().from(r).where(z(r.sessionId,t)).orderBy(c(r.timestamp),c(r.messageId));if(a){let e=s===`desc`?Re(Ie(r.timestamp,a.timestamp),F(z(r.timestamp,a.timestamp),o?Le(r.messageId,a.messageId):Ie(r.messageId,a.messageId))):Re(Pe(r.timestamp,a.timestamp),F(z(r.timestamp,a.timestamp),o?Fe(r.messageId,a.messageId):Pe(r.messageId,a.messageId)));l=n.select().from(r).where(F(z(r.sessionId,t),e)).orderBy(c(r.timestamp),c(r.messageId))}let u=i??100,d=await l.limit(u+1),f=d.length>u,p=f?d.slice(0,u):d,m=f&&p.length>0?k(p[p.length-1]):null;e.setResult({messages:p.map(U),nextCursor:m})})}function Ot(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getByTurn,async e=>{let{turnId:t}=e.payload,i=await n.select().from(r).where(z(r.turnId,t)).orderBy(I(r.timestamp));e.setResult({messages:i.map(U)})})}function kt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.get,async e=>{let{messageId:t}=e.payload,[i]=await n.select().from(r).where(z(r.messageId,t)).limit(1);e.setResult({message:i?U(i):null})})}function At(e){let{bus:t,db:n}=e,{messages:r}=N(n,c),i=P(n).fts;return t.on(C.search,async e=>{let{query:t,sessionId:a,limit:o}=e.payload,s=o??50;if(!t.trim()){e.setResult({messages:[],total:0});return}let{rows:c,total:l}=await i.searchMessages(n,r,{query:t,sessionId:a,limit:s});e.setResult({messages:c.map(U),total:l})})}function jt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c),i=P(n).fts;return t.on(C.ftsSearch,async e=>{let{query:t,sessionId:a,limit:o=20}=e.payload;if(!t.trim()){e.setResult({results:[],total:0});return}let{results:s,total:c}=await i.searchMessageExcerpts(n,r,{query:t,sessionId:a,limit:o});e.setResult({results:s,total:c})})}function Mt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.getByAdapterMessageId,async e=>{let{adapterMessageId:t}=e.payload,[i]=await n.select().from(r).where(z(r.adapterMessageId,t)).limit(1);e.setResult({message:i?U(i):null})})}function Nt(e){let{bus:t,db:n}=e,{messages:r}=N(n,c);return t.on(C.upsertByAdapterMessageId,async e=>{let{adapterMessageId:i,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u,adapterSessionId:d,timestamp:f,origin:p}=e.payload,[m]=await n.select({messageId:r.messageId}).from(r).where(z(r.adapterMessageId,i)).limit(1);if(m){e.setResult({messageId:m.messageId,created:!1});return}let h=crypto.randomUUID();await n.insert(r).values({messageId:h,turnId:o,sessionId:a,role:s,contentText:c,blocks:JSON.stringify(l),agentId:u??null,adapterSessionId:d??null,adapterMessageId:i,timestamp:f,editOf:null,origin:p??null}),e.setResult({messageId:h,created:!0}),await Tt(t,{messageId:h,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u??void 0,adapterSessionId:d??void 0,adapterMessageId:i,timestamp:f,editOf:void 0,origin:p??void 0})})}function Pt(e,t){let n={bus:e,db:t},r=[Et(n),Dt(n),Ot(n),kt(n),At(n),jt(n),Nt(n),Mt(n)];return()=>r.forEach(e=>e())}function Ft(e,t){return _e(k(e),k(t))}function It(e,t){return ve(k(e),k(t))}function Lt(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=Rt(t,n,r,i),o=[zt(e,t,a),Bt(e,t,n),Vt(e,t,r),Ht(e,t),Ut(e,t),Wt(e,i,a),Gt(e,t,n,r,i)];return()=>o.forEach(e=>e())}function Rt(e,t,n,r){return i=>{e.set(i.messageId,i);let a=t.get(i.sessionId)??[];if(a.push(i.messageId),t.set(i.sessionId,a),i.turnId){let e=n.get(i.turnId)??[];e.push(i.messageId),n.set(i.turnId,e)}i.adapterMessageId&&r.set(i.adapterMessageId,i.messageId)}}function zt(e,t,n){return e.on(C.append,async t=>{let{message:r,emitEvent:i}=t.payload,a=r.messageId??crypto.randomUUID(),o={...r,messageId:a,blocks:r.blocks??[]};n(o),t.setResult({message:o}),(i??!0)&&await Tt(e,o)})}function Bt(e,t,n){return e.on(C.getBySession,async e=>{let{sessionId:r,limit:i,after:a,includeAfter:o=!1,order:s=`asc`}=e.payload,c=n.get(r)??[],l=s===`desc`?It:Ft,u=c.map(e=>t.get(e)).filter(e=>!!e).sort(l);a&&(u=u.filter(e=>{let t=s===`desc`?ve(k(e),a):_e(k(e),a);return o?t>=0:t>0}));let d=i??100,f=u.length>d,p=f?u.slice(0,d):u,m=f&&p.length>0?k(p[p.length-1]):null;e.setResult({messages:p,nextCursor:m})})}function Vt(e,t,n){return e.on(C.getByTurn,async e=>{let{turnId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).sort(Ft);e.setResult({messages:i})})}function Ht(e,t){return e.on(C.get,async e=>{e.setResult({message:t.get(e.payload.messageId)??null})})}function Ut(e,t){return e.on(C.search,async e=>{let{query:n,sessionId:r,limit:i}=e.payload,a=i??50,o=n.trim().toLowerCase(),s=[...t.values()].filter(e=>r?e.sessionId===r:!0),c=o.length===0?[]:s.filter(e=>e.contentText.toLowerCase().includes(o));c.sort(Ft),e.setResult({messages:c.slice(0,a),total:c.length})})}function Wt(e,t,n){return e.on(C.upsertByAdapterMessageId,async r=>{let{adapterMessageId:i,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u,adapterSessionId:d,timestamp:f,origin:p}=r.payload,m=t.get(i);if(m){r.setResult({messageId:m,created:!1});return}let h=crypto.randomUUID(),g={messageId:h,sessionId:a,turnId:o,role:s,contentText:c,blocks:l,agentId:u??void 0,adapterSessionId:d??void 0,adapterMessageId:i,timestamp:f,editOf:void 0,origin:p??void 0};n(g),r.setResult({messageId:h,created:!0}),await Tt(e,g)})}function Gt(e,t,n,r,i){return e.on(u.delete,e=>{let{sessionId:a}=e.payload,o=n.get(a)??[];for(let e of o){let n=t.get(e);if(n){if(t.delete(e),n.turnId){let t=(r.get(n.turnId)??[]).filter(t=>t!==e);t.length===0?r.delete(n.turnId):r.set(n.turnId,t)}n.adapterMessageId&&i.delete(n.adapterMessageId)}}n.delete(a)})}const Kt=je(`message_routing`,e=>({messageId:e.text(`message_id`).notNull().references(a,{onDelete:`cascade`}),agentId:e.text(`agent_id`).notNull(),status:e.textEnum(`status`,{enum:[`sent`,`acknowledged`,`completed`]}).notNull(),timestamp:e.epochMs(`timestamp`).notNull(),error:e.text(`error`)}),{sqlite:e=>[Ee({columns:[e.messageId,e.agentId,e.status]}),we(`idx_routing_agent`).on(e.agentId,e.timestamp)],postgres:e=>[Ae({columns:[e.messageId,e.agentId,e.status]}),ke(`idx_routing_agent`).on(e.agentId,e.timestamp)]}),qt=Kt.sqlite,Jt=Se(`messageRouting`,{schemas:{record:{request:fe,response:T.object({success:T.boolean()})},getByMessage:{request:T.object({messageId:T.string()}),response:T.object({routing:T.array(fe)})},getCompleted:{request:T.object({messageId:T.string()}),response:T.object({agentIds:T.array(T.string())})},isComplete:{request:T.object({messageId:T.string(),targetAgentIds:T.array(T.string())}),response:T.object({complete:T.boolean(),pending:T.array(T.string())})}},extensions:{drizzle:{messageRouting:qt}}}),W=Jt.subjects,Yt=Kt.postgres,Xt=j({messageRouting:qt},{messageRouting:Yt});function Zt(e){return{messageId:e.messageId,agentId:e.agentId,status:e.status,timestamp:e.timestamp,error:e.error??void 0}}function Qt(e,t){let{messageRouting:n}=N(t,Xt),r=[];return r.push(e.on(W.record,async e=>{let{messageId:r,agentId:i,status:a,timestamp:o,error:s}=e.payload;await t.insert(n).values({messageId:r,agentId:i,status:a,timestamp:o,error:s??null}).onConflictDoUpdate({target:[n.messageId,n.agentId,n.status],set:{timestamp:o,error:s??null}}),e.setResult({success:!0})})),r.push(e.on(W.getByMessage,async e=>{let{messageId:r}=e.payload,i=await t.select().from(n).where(z(n.messageId,r));e.setResult({routing:i.map(Zt)})})),r.push(e.on(W.getCompleted,async e=>{let{messageId:r}=e.payload,i=await t.select().from(n).where(F(z(n.messageId,r),z(n.status,`completed`)));e.setResult({agentIds:i.map(e=>e.agentId)})})),r.push(e.on(W.isComplete,async e=>{let{messageId:r,targetAgentIds:i}=e.payload,a=await t.select().from(n).where(F(z(n.messageId,r),z(n.status,`completed`))),o=new Set(a.map(e=>e.agentId)),s=i.filter(e=>!o.has(e));e.setResult({complete:s.length===0,pending:s})})),()=>r.forEach(e=>e())}var $t=class{byAgent=new Map;add(e){let t=this.byAgent.get(e.agentId);t?(t.inputTokens+=e.inputTokens,t.outputTokens+=e.outputTokens):this.byAgent.set(e.agentId,{inputTokens:e.inputTokens,outputTokens:e.outputTokens})}snapshot(){if(this.byAgent.size===0)return;let e=0,t=0,n={};for(let[r,i]of this.byAgent)e+=i.inputTokens,t+=i.outputTokens,n[r]={...i};return{total:{inputTokens:e,outputTokens:t},byAgent:n}}flush(){let e=this.snapshot();return this.byAgent.clear(),e}clear(){this.byAgent.clear()}},en=class{bus;activeTurns=new Map;usageAccumulators=new Map;completingSessions=new Set;bufferedUsageDuringCompletion=new Map;syntheticTurnCounters=new Map;cleanups=[];constructor(e){this.bus=e}async createTurn(t,n,r,i){let a=await this.bus.requestOptional(e.create,{sessionId:t,...i!==void 0&&{turnId:i},...r!==void 0&&{initiator:r}}),o,s;if(a.handled)o=a.data.turn.turnId,s=a.data.turn.turnNumber;else{o=i??crypto.randomUUID();let e=(this.syntheticTurnCounters.get(t)??0)+1;this.syntheticTurnCounters.set(t,e),s=e}let c=new S({sessionId:t,agentIds:n,turnId:o,turnNumber:s,initiator:r});return this.activeTurns.set(t,c),this.usageAccumulators.set(t,new $t),c}registerCompletionHandlers(e){this.cleanups.push(this.bus.on(D.usage,e=>{let{agentId:t,turnId:n,inputTokens:r,outputTokens:i}=e.payload;if(!n){console.warn(`[SessionTurnManager] Dropping usage event without turnId (agentId=${t}).`);return}let a=this.findActiveTurnByTurnId(n);if(!a){console.warn(`[SessionTurnManager] Dropping usage for inactive turn ${n} (agentId=${t}).`);return}if(!a.hasAgent(t)){console.warn(`[SessionTurnManager] Dropping usage for turn ${n}: agent ${t} is not part of the turn.`);return}if(this.completingSessions.has(a.sessionId)){this.bufferUsageDuringCompletion(a.sessionId,{agentId:t,inputTokens:r,outputTokens:i});return}this.usageAccumulators.get(a.sessionId)?.add({agentId:t,inputTokens:r,outputTokens:i})})),this.cleanups.push(this.bus.on(D.complete,async t=>{let{agentId:n,outcome:r,error:i}=t.payload,a=r!==`error`;await this.handleAgentCompletion(n,a,a?void 0:i,e)}))}async completeTurn(t,n){if(this.completingSessions.has(t.sessionId))return;this.completingSessions.add(t.sessionId);let r=this.usageAccumulators.get(t.sessionId),i=r?.snapshot();try{await this.bus.requestOptional(e.complete,{turnId:t.turnId,status:n.success?`completed`:`error`,error:n.errors.length>0?n.errors.join(`; `):void 0,...i!==void 0&&{usage:i}});let a=this.bufferedUsageDuringCompletion.get(t.sessionId)??[];if(a.length>0){for(let e of a)r?.add(e);this.bufferedUsageDuringCompletion.delete(t.sessionId);let o=r?.snapshot();i=o,await this.bus.requestOptional(e.complete,{turnId:t.turnId,status:n.success?`completed`:`error`,error:n.errors.length>0?n.errors.join(`; `):void 0,...o!==void 0&&{usage:o}})}}catch(e){throw this.completingSessions.delete(t.sessionId),console.error(`[SessionTurnManager] Failed to persist completion for turn ${t.turnId}:`,e),e}r?.clear(),this.activeTurns.delete(t.sessionId),this.usageAccumulators.delete(t.sessionId),this.completingSessions.delete(t.sessionId),await this.bus.emit(O.turn.completed,{sessionId:t.sessionId,turnId:t.turnId,turnNumber:t.turnNumber,success:n.success,error:n.errors.length>0?n.errors.join(`; `):void 0,...i!==void 0&&{usage:i},initiator:t.initiator})}getActiveTurn(e){return this.activeTurns.get(e)}getActiveTurnsMap(){return this.activeTurns}findActiveTurnByTurnId(e){for(let t of this.activeTurns.values())if(t.turnId===e)return t}destroy(){for(let e of this.cleanups)e();this.cleanups.length=0,this.activeTurns.clear(),this.usageAccumulators.clear(),this.completingSessions.clear(),this.bufferedUsageDuringCompletion.clear(),this.syntheticTurnCounters.clear()}async handleAgentCompletion(e,t,n,r){let i=b(this.activeTurns,e);if(!i)return;let a=t?i.markAgentCompleted(e):i.markAgentErrored(e,n??`Unknown error`);for(let r of i.messageIds)await this.bus.emit(O.user_message.completed,{sessionId:i.sessionId,turnId:i.turnId,turnNumber:i.turnNumber,messageId:r,agentId:e,outcome:t?`completed`:`error`,error:n});a.turnComplete&&await r(i,a.result)}bufferUsageDuringCompletion(e,t){let n=this.bufferedUsageDuringCompletion.get(e)??[];n.push(t),this.bufferedUsageDuringCompletion.set(e,n)}},tn=class{bus;turnManager;adapterRegistry;cleanups=[];constructor(e=oe,t){this.bus=e,this.turnManager=new en(e),this.adapterRegistry=new at(e),this.registerSendMessageHandler(),this.turnManager.registerCompletionHandlers(this.completeTurn.bind(this))}registerSendMessageHandler(){this.cleanups.push(this.bus.on(O.sendMessage,async e=>{let{sessionId:t,message:n,agentIds:r,deliveryMode:i,agent:a,source:o,origin:s}=e.payload,c=x(o,e.payload.extensionId),l=e.payload.sessionContext?pe.parse(e.payload.sessionContext):void 0,{sessionId:u,session:p}=await v(this.bus,t,l,e.payload.originWindowId);if(p.agents.length===0){let e=await this.resolveInitialAdapterSelection(a,u,n,l),t=await this.resolveAdapterName(e,u),r=h(e.adapterId)??await this.adapterRegistry.resolveAvailable(t),i=e.providerConfigId===void 0?void 0:await ne(this.bus,e.providerConfigId);i!==void 0&&await re(this.bus,i);let o=await this.bus.request(E.startAgent,{adapterId:r,sessionId:u,role:`lead`,...i!==void 0&&{providerContext:i},...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.adapterConfig!==void 0&&{adapterConfig:e.adapterConfig},...l!==void 0&&{sessionContext:l}});if(!o.success)throw Error(`[SessionOrchestrator.sendMessage] Failed to start agent (sessionId=${u}, adapterName=${t}): ${o.message}`);let s=Date.now();p.agents.push({agentId:o.agentId,adapterId:o.adapterId,adapterName:t,sessionId:u,role:`lead`,status:`idle`,...e.providerConfigId!==void 0&&{providerConfigId:e.providerConfigId},createdAt:s,lastActivityAt:s}),p.leadAgentId=o.agentId,e.providerConfigId!==void 0&&await this.bus.requestOptional(f.updateRuntime,{agentId:o.agentId,providerConfigId:e.providerConfigId})}let g=_(p,r);if(g.length===0)throw Error(`[SessionOrchestrator.sendMessage] No valid target agents found (sessionId=${u})`);let y=new Set;for(let e of g){let t=await this.bus.requestOptional(E.getAgent,{agentId:e.agentId,adapterId:e.adapterId});t.handled&&t.data.agent===null&&y.add(e.agentId)}let b;if(y.size>0){b=await d(this.bus,p);for(let e of g)y.has(e.agentId)&&await this.bus.requestOptional(E.rehydrateAgent,{agentId:e.agentId,adapterId:e.adapterId})}let S=this.turnManager.getActiveTurn(u),ie=!S;S||=await this.turnManager.createTurn(u,g.map(e=>e.agentId),c,e.payload.turnId);let w=crypto.randomUUID();S.addMessage(w);let T=te(n);this.bus.requestOptional(C.append,{message:{messageId:w,turnId:S.turnId,sessionId:u,role:`user`,contentText:m(n),blocks:T,timestamp:Date.now(),...s!==void 0&&{origin:s}}}).catch(e=>{console.warn(`[SessionOrchestrator] Failed to store user message`,{sessionId:u,messageId:w,error:e instanceof Error?e.message:String(e)})});for(let e of g)this.bus.requestOptional(W.record,{messageId:w,agentId:e.agentId,status:`sent`,timestamp:Date.now()}).catch(t=>{console.warn(`[SessionOrchestrator] Failed to record message routing`,{sessionId:u,messageId:w,agentId:e.agentId,error:t instanceof Error?t.message:String(t)})});ie&&await this.bus.emit(O.turn.started,{sessionId:u,turnId:S.turnId,turnNumber:S.turnNumber,messageId:w,agentIds:[...S.agentIds],initiator:S.initiator}),await this.bus.emit(O.user_message.sent,{sessionId:u,turnId:S.turnId,turnNumber:S.turnNumber,messageId:w,content:n,agentIds:g.map(e=>e.agentId),...o!==void 0&&{source:o},...s!==void 0&&{origin:s}});let ae=b?{...l,...b}:l;await ee(this.bus,p,g,n,w,S,i,this.completeTurn.bind(this),ae,e.payload.responseSchema),e.setResult({messageId:w,turnId:S.turnId,sessionId:u})}))}async completeTurn(e,t){await this.turnManager.completeTurn(e,t)}destroy(){for(let e of this.cleanups)e();this.cleanups.length=0,this.turnManager.destroy(),this.adapterRegistry.destroy()}async resolveAdapterName(e,t){let n=h(e.adapterName),r=h(e.adapterId);if(!n&&!r)throw Error(`[SessionOrchestrator.sendMessage] adapterName or adapterId required when session has no agents (sessionId=${t})`);return r?g(this.bus,r,n,`[SessionOrchestrator.sendMessage] (sessionId=${t}) `):n}async resolveInitialAdapterSelection(e,t,n,r){if(!e)throw Error(`[SessionOrchestrator.sendMessage] agent selection required when session has no agents (sessionId=${t})`);if(e.kind===`adapter`)return e;if(e.kind===`canonical-model`)return await this.resolveCanonicalModelSelection(e,t,n,r);throw Error(`[SessionOrchestrator.sendMessage] agent with kind: 'adapter' or 'canonical-model' required when session has no agents (sessionId=${t})`)}async resolveCanonicalModelSelection(e,t,n,r){let i=be(e.model);if(ye(i))throw Error(`[SessionOrchestrator.sendMessage] Invalid canonical model "${e.model}" (sessionId=${t}): ${i.message}`);if(i.kind===`virtual`)throw Error(`[SessionOrchestrator.sendMessage] Virtual canonical models require a host resolver (sessionId=${t})`);let a=await this.bus.request(le.resolve,{parsed:i,context:{sessionId:t,promptText:m(n),...r===void 0?{}:{sessionContext:r}}});return{...e,...a,kind:`adapter`,providerConfigId:e.providerConfigId??a.providerConfigId}}},nn=class{bus;constructor(e){this.bus=e}async getTurnSoFarContext(e){try{let{messages:t}=await this.bus.request(C.getByTurn,{turnId:e});return this.convertSessionMessagesToMessages(t)}catch(e){return e instanceof se||console.warn(`[TurnContextEnricher] Failed to load turn-so-far context:`,e),[]}}async enrichForDeliveryMode(e,t,n){if(n!==`immediate`)return e;let r=await this.getTurnSoFarContext(t);return r.length===0?e:[...e??[],...r]}convertSessionMessagesToMessages(e){return e.map(e=>({role:e.role,blocks:e.blocks}))}};function rn(e){let{bus:t}=e;return t.on(O.getStatusCounts,async e=>{e.payload;let{all:n,active:r,closed:i,archived:a,discovered:o}=await t.request(u.getStatusCounts,{});e.setResult({all:n,active:r,closed:i,archived:a,discovered:o})})}function an(e){let{bus:t}=e;return t.on(O.resume,async e=>{let{sessionId:n}=e.payload,{session:r}=await t.request(u.get,{sessionId:n});if(!r||r.status!==`closed`){e.setResult({success:!1});return}r.status=`active`,r.lastActivityAt=Date.now(),await t.request(u.set,{sessionId:n,session:r}),await t.emit(O.resumed,{sessionId:n}),e.setResult({success:!0})})}function on(e){return e.on(w.listActions,e=>{let t=y.getAll().map(e=>({id:e.id,label:e.label,description:e.description,category:e.category}));e.setResult({actions:t})})}const sn=[{actionId:`strip-reasoning`},{actionId:`strip-tool-outputs`}];function cn(e){return{...e.cwd!==void 0&&{cwd:e.cwd},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools}}}var ln=class{bus;agentToSession=new Map;agentContext=new Map;agentBlocks=new Map;cleanups=[];constructor(e=oe){this.bus=e,this.registerHandlers()}registerHandlers(){this.registerMappingHandlers(),this.registerTurnTrackingHandlers(),this.registerBlockAccumulationHandlers()}registerMappingHandlers(){this.cleanups.push(this.bus.on(O.agent.added,e=>{this.agentToSession.set(e.payload.agentId,e.payload.sessionId)})),this.cleanups.push(this.bus.on(O.closed,e=>{for(let[t,n]of this.agentToSession)n===e.payload.sessionId&&(this.agentToSession.delete(t),this.agentContext.delete(t),this.agentBlocks.delete(t))}))}registerTurnTrackingHandlers(){this.cleanups.push(this.bus.on(O.turn.started,e=>{let{sessionId:t,turnId:n,agentIds:r}=e.payload;for(let e of r){let r=this.agentContext.get(e);this.agentContext.set(e,{...r,sessionId:t,turnId:n}),this.agentBlocks.set(e,[])}})),this.cleanups.push(this.bus.on(O.user_message.acknowledged,e=>{let t=this.agentContext.get(e.payload.agentId);this.agentContext.set(e.payload.agentId,{...t,sessionId:e.payload.sessionId,turnId:e.payload.turnId}),this.agentBlocks.has(e.payload.agentId)||this.agentBlocks.set(e.payload.agentId,[])}))}registerBlockAccumulationHandlers(){this.cleanups.push(this.bus.on(D.message,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`text`,content:e.payload.content})})),this.cleanups.push(this.bus.on(D.reasoning,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`reasoning`,content:e.payload.content})})),this.cleanups.push(this.bus.on(D.tool.use,e=>{let t=this.agentBlocks.get(e.payload.agentId);t&&t.push({type:`tool_call`,toolCallId:e.payload.toolCallId,name:e.payload.toolName,args:e.payload.args??{}})})),this.cleanups.push(this.bus.on(D.tool.completed,e=>{let t=this.agentBlocks.get(e.payload.agentId);if(t){let n=e.payload.result,r=typeof n==`string`?n:JSON.stringify(n);t.push({type:`tool_output`,toolCallId:e.payload.toolCallId,output:r,isError:e.payload.success===!1})}})),this.cleanups.push(this.bus.on(D.complete,async e=>{if(e.payload._import){this.agentBlocks.delete(e.payload.agentId);return}let{agentId:t,adapterSessionId:n,outcome:r,error:i,message:a,structuredOutputValidation:o}=e.payload;await this.storeAssistantMessage(t,r===`error`?void 0:n,r===`error`?i:void 0,o===void 0?void 0:{content:a})}))}async storeAssistantMessage(e,t,n,r){let i=this.agentContext.get(e);if(!i?.turnId)return;let a=r===void 0?this.agentBlocks.get(e)??[]:r.content===void 0?[]:[{type:`text`,content:r.content}];if(a.length===0&&!n){this.agentBlocks.delete(e);return}let o=a.filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
3
3
|
`),s=crypto.randomUUID();try{if(!(await this.bus.requestOptional(C.append,{message:{messageId:s,turnId:i.turnId,sessionId:i.sessionId,role:`assistant`,contentText:o||(n?`[Error: ${n}]`:``),blocks:a,agentId:e,adapterSessionId:t,timestamp:Date.now()}})).handled){this.agentBlocks.delete(e);return}let r=await this.bus.requestOptional(C.getByTurn,{turnId:i.turnId});if(r.handled){let t=r.data.messages.find(e=>e.role===`user`);t&&await this.bus.requestOptional(W.record,{messageId:t.messageId,agentId:e,status:`completed`,timestamp:Date.now(),error:n})}}catch(e){console.error(`[SessionBridge] Failed to store assistant message:`,e)}this.agentBlocks.delete(e)}destroy(){for(let e of this.cleanups)e();this.cleanups.length=0,this.agentToSession.clear(),this.agentContext.clear(),this.agentBlocks.clear()}},un=class{bus;_sessionId;_extensionId;_turnId;_parentSessionId;contextTracker;contextContributions=new Map;constructor(e,t,n,r,i,a){this.bus=e,this._sessionId=t,this._extensionId=n,this._turnId=r,this._parentSessionId=i,this.contextTracker=a}get sessionId(){return this._sessionId}get turnId(){return this._turnId}get parentSessionId(){return this._parentSessionId}get extensionId(){return this._extensionId}async sendToAgent(e,t){await this.bus.request(O.sendMessage,{sessionId:this._sessionId,agentIds:[e],message:t,source:`extension`,extensionId:this._extensionId})}contributeContext(e,t){this.contextContributions.set(e,t)}getContributions(){return Object.fromEntries(this.contextContributions)}async fork(e){return(await this.bus.request(O.fork,{sourceSessionId:this._sessionId,name:e.reason})).sessionId}async merge(e,t){await this.bus.request(O.merge,{parentSessionId:this._sessionId,childSessionId:e,summary:t,source:`extension`,extensionId:this._extensionId})}async abandon(e){await this.bus.request(O.abandon,{parentSessionId:this._sessionId,childSessionId:e,source:`extension`,extensionId:this._extensionId})}async requestCompression(e){await this.bus.emit(O.compressionRequested,{sessionId:this._sessionId,reason:e,source:`extension`,extensionId:this._extensionId})}async getContextWindowState(){if(this.contextTracker){let e=this.contextTracker.getSessionState(this._sessionId);if(e)return{currentTokens:e.currentTokens,maxTokens:e.maxTokens,percentage:e.percentage,level:e.level}}let{session:e}=await this.bus.request(O.get,{sessionId:this._sessionId});return!e||e.agents.length===0?{currentTokens:0,maxTokens:1,percentage:0,level:`ok`}:{currentTokens:0,maxTokens:2e5,percentage:0,level:`ok`}}async getChildSessions(){return(await this.bus.request(O.getChildren,{sessionId:this._sessionId})).children.map(e=>e.sessionId)}};function dn(e,t,n,r,i,a){return new un(e,t,n,r,i,a)}function fn(e,t){let n=e?.clientAccountId??null,r=t.clientAccountId??null;return!r||n===r?null:{previousClientAccountId:n,clientAccountId:r}}function G(e,t){let n=t.lastClientIdentityObservation;if(t.clientAccountId!==void 0&&!n)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without lastClientIdentityObservation`);if(t.clientAccountId!==void 0&&t.clientId===void 0)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without clientId`);if(n&&t.clientId!==void 0&&t.clientId!==n.clientId)throw Error(`Session "${t.sessionId}" cannot persist clientId "${t.clientId}" because lastClientIdentityObservation belongs to "${n.clientId}"`)}function K(e,t,n){let r=fn(t,n);if(!r)return;let i=n.lastClientIdentityObservation;if(!i)return;let a={sessionId:n.sessionId,clientId:i.clientId,previousClientAccountId:r.previousClientAccountId,clientAccountId:r.clientAccountId,source:i.source,observedAt:i.observedAt,lastClientIdentityObservation:structuredClone(i)};queueMicrotask(()=>{Promise.resolve().then(()=>e.emit(O.clientAccount.changed,a)).catch(e=>{console.error(`[SessionStorage] Failed to emit session.clientAccount.changed:`,e)})})}function pn(e){switch(e){case`fork`:return`fork`;case`subagent`:return`subagent`;case`compress`:return`compress`;case`root`:return;default:return}}function mn(e){switch(e.kind){case`root`:return{kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:return{kind:`fork`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:e.forkPointMessageId};case`subagent`:return{kind:`subagent`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};case`compress`:return{kind:`compress`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};default:return e.kind}}function hn(){let e=0;return()=>{let t=Date.now();return e=t>e?t:e+1,e}}const gn=hn();function _n(e,t,n){n!==void 0&&(e[t]=n)}function vn(e,t,n){let r=e.startedAt??n;return{sessionId:t,createdAt:r,lastActivityAt:r,agents:[],status:`discovered`,branchKind:pn(e.kind),adapterName:e.source,adapterSessionId:e.externalSessionId,adapterId:e.adapterId,clientId:e.clientId,isOrchestrated:!1,isImported:!0,title:e.title??void 0,targetWorkingDirectory:e.cwd??void 0,source:e.source,parentExternalSessionId:e.parentAdapterSessionId??void 0,logFilePath:e.logFilePath??void 0,discoveredAt:n,importStatus:`discovered`,forkPointMessageId:e.forkPointMessageId??void 0}}function yn(e,t,n){let r=e.importStatus??`discovered`;r===`discovered`&&(e.status=`discovered`),e.isImported=!0,e.importStatus=r,e.adapterName??=t.source,e.adapterSessionId??=t.externalSessionId,e.source??=t.source,e.discoveredAt??=n}function bn(e,t){t.logFilePath!==void 0&&t.logFilePath!==null&&(e.logFilePath??=t.logFilePath),t.cwd!==null&&(e.targetWorkingDirectory=t.cwd),t.title!==void 0&&t.title!==null&&(e.title=t.title),t.forkPointMessageId!==null&&(e.forkPointMessageId=t.forkPointMessageId),t.parentAdapterSessionId!==null&&(e.parentExternalSessionId=t.parentAdapterSessionId);let n=pn(t.kind);n!==void 0&&(e.branchKind=n),_n(e,`adapterId`,t.adapterId),_n(e,`clientId`,t.clientId)}function xn(e,t,n){t.startedAt!==void 0&&((n===void 0||e.createdAt===n)&&(e.createdAt=t.startedAt),(n===void 0||e.lastActivityAt===n)&&(e.lastActivityAt=t.startedAt))}function Sn(e,t,n){let r=e.discoveredAt;yn(e,t,n),bn(e,t),xn(e,t,r)}function Cn(e,t){if(t.parentExternalSessionId===void 0)return;let n=t.source??t.adapterName,r=Array.from(e.values()).find(e=>e.adapterSessionId===t.parentExternalSessionId&&(e.source??e.adapterName)===n);r&&(t.parentSessionId=r.sessionId,t.rootSessionId=r.rootSessionId??r.sessionId)}function wn(e,t,n){if(n){e.emit(O.created,{sessionId:t.sessionId,parentSessionId:t.parentSessionId??null,branchKind:t.branchKind??null,createdAt:t.createdAt}).catch(e=>console.error(`[SessionStorage] Failed to emit session.created:`,e));return}e.emit(O.updated,{sessionId:t.sessionId,changedProperties:[`source`,`targetWorkingDirectory`,`title`]}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))}function Tn(e){let t=0,n=0,r=0;for(let i of e)i.importStatus===`imported`&&(t+=1),i.importStatus===`tracking`&&(n+=1),i.importStatus===`discovered`&&(r+=1);return{total:e.length,imported:t,tracking:n,discovered:r}}function En(e,t,n){e.emit(O.importStatusChanged,{sessionId:t.sessionId,importStatus:n}).catch(e=>console.error(`[SessionStorage] Failed to emit session.importStatusChanged:`,e));let r=t.source??t.adapterName;n!==`imported`||t.adapterSessionId===void 0||r===void 0||e.emit(O.import.completed,{sessionId:t.sessionId,adapterSessionId:t.adapterSessionId,source:r}).catch(e=>console.error(`[SessionStorage] Failed to emit session.import.completed:`,e))}function Dn(e){let{bus:t,store:n,cloneSession:r,populateAgents:i}=e;return[t.on(u.importUpsert,e=>{let r=e.payload,i=Array.from(n.values()).find(e=>e.adapterSessionId===r.externalSessionId&&e.source===r.source),a=gn(),o=i===void 0,s=i??vn(r,crypto.randomUUID(),a);i?(Sn(i,r,a),i.parentExternalSessionId!==void 0&&i.parentSessionId===void 0&&Cn(n,i)):(n.set(s.sessionId,s),Cn(n,s)),wn(t,s,o),e.setResult({sessionId:s.sessionId,created:o})}),t.on(u.getByLogFilePath,async e=>{let a=Array.from(n.values()).find(t=>t.logFilePath===e.payload.logFilePath);if(!a){e.setResult({session:null});return}let o=await i(t,a.sessionId);e.setResult({session:{...r(a),agents:o}})}),t.on(u.listImported,async e=>{let{source:a,importStatus:o}=e.payload,s=Array.from(n.values()).filter(e=>e.isImported===!0).filter(e=>a===void 0||e.source===a).filter(e=>o===void 0||e.importStatus===o).sort((e,t)=>t.createdAt-e.createdAt),c=await Promise.all(s.map(async e=>({...r(e),agents:await i(t,e.sessionId)})));e.setResult({sessions:c})}),t.on(u.countBySource,e=>{let t=Array.from(n.values()).filter(t=>t.isImported===!0&&t.source===e.payload.source);e.setResult(Tn(t))}),t.on(u.updateImportStatus,e=>{let r=n.get(e.payload.sessionId),i=e.payload.importStatus;if(!r||r.importStatus===i){e.setResult({success:!1});return}r.importStatus=i,i===`imported`&&r.status===`discovered`&&(r.status=`active`),e.setResult({success:!0}),En(t,r,i)})]}async function On(e,t){let n=await e.requestOptional(f.listBySession,{sessionId:t});return n.handled?n.data.agents:[]}function q(e){return structuredClone(e)}function J(e,t,n){n!==void 0&&(e[t]=n)}function kn(e,t,n){n!==void 0&&(e[t]=n??void 0)}function An(e,t){let n=e;return t.status!==`all`&&(n=n.filter(e=>e.status===t.status)),t.executionTargetId!==void 0&&(n=n.filter(e=>e.executionTargetId===t.executionTargetId)),n}function jn(e,t){J(e,`status`,t.status),J(e,`parentSessionId`,t.parentSessionId),J(e,`contextInheritance`,t.contextInheritance),J(e,`rootSessionId`,t.rootSessionId),J(e,`forkPointMessageId`,t.forkPointMessageId),J(e,`branchKind`,t.branchKind),J(e,`isOrchestrated`,t.isOrchestrated),J(e,`clientId`,t.clientId),J(e,`clientAccountId`,t.clientAccountId),J(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),J(e,`title`,t.title),J(e,`targetWorkingDirectory`,t.targetWorkingDirectory),J(e,`createdAt`,t.createdAt),J(e,`lastActivityAt`,t.lastActivityAt),kn(e,`executionTargetId`,t.executionTargetId),kn(e,`approvalPolicyOverride`,t.approvalPolicyOverride),t.spawningToolCallId===null?e.spawningToolCallId=void 0:t.spawningToolCallId!==void 0&&e.spawningToolCallId===void 0&&(e.spawningToolCallId=t.spawningToolCallId)}function Mn(e,t){return e.on(u.list,async n=>{let{status:r=`all`,limit:i,offset:a=0,includePreview:o=!1,executionTargetId:s}=n.payload,c=An(Array.from(t.values()),{status:r,executionTargetId:s});c.sort((e,t)=>t.lastActivityAt-e.lastActivityAt);let l=c.length;i!==void 0&&(c=c.slice(a,a+i));let u=await Promise.all(c.map(async t=>({...q(t),agents:await On(e,t.sessionId)}))),d=o?u.map(e=>({...e,preview:{messageCount:0,firstUserMessage:null}})):u;n.setResult({sessions:d,total:l})})}function Nn(e,t){return e.on(u.update,async n=>{let r=structuredClone(ge.request.parse(n.payload)),i=t.get(r.sessionId);if(!i){n.setResult({success:!1,clientAccountChanged:!1});return}let a=q(i);G(a,{sessionId:i.sessionId,clientId:r.clientId??i.clientId,clientAccountId:r.clientAccountId??i.clientAccountId,lastClientIdentityObservation:r.lastClientIdentityObservation??i.lastClientIdentityObservation}),jn(i,r),n.setResult({success:!0,clientAccountChanged:(a.clientAccountId??null)!==(i.clientAccountId??null)}),K(e,a,q(i))})}function Pn(e){let t=new Map,n=[];return n.push(e.on(u.get,async n=>{let r=t.get(n.payload.sessionId);if(!r){n.setResult({session:null});return}let i=await On(e,n.payload.sessionId);n.setResult({session:{...q(r),agents:i}})})),n.push(e.on(u.set,async n=>{let{sessionId:r,session:i,ifAbsent:a}=he.parse(n.payload);if(a&&t.has(r)){n.setResult({success:!1,clientAccountChanged:!1});return}let o=structuredClone(i),s=t.get(r)??null,c=s?q(s):null;G(s,o),t.set(r,o),n.setResult({success:!0,clientAccountChanged:(c?.clientAccountId??null)!==(o.clientAccountId??null)}),K(e,c,q(o))})),n.push(e.on(u.delete,async e=>{t.delete(e.payload.sessionId),e.setResult({success:!0}),await e.next()})),n.push(Mn(e,t)),n.push(e.on(u.getChildren,e=>{let{sessionId:n}=e.payload,r=Array.from(t.values()),i=r.filter(e=>e.parentSessionId===n),a=new Set(r.map(e=>e.parentSessionId).filter(e=>!!e)),o=i.map(e=>({sessionId:e.sessionId,title:e.title??null,forkPointMessageId:e.forkPointMessageId??null,branchKind:e.branchKind??null,messageCount:0,hasChildren:a.has(e.sessionId),spawningToolCallId:e.spawningToolCallId}));e.setResult({children:o})})),n.push(e.on(u.getStatusCounts,e=>{e.payload;let n=Array.from(t.values()),r=n.filter(e=>e.status===`active`).length,i=n.filter(e=>e.status===`closed`).length,a=n.filter(e=>e.status===`archived`).length,o=n.filter(e=>e.status===`discovered`).length;e.setResult({all:r+i+a+o,active:r,closed:i,archived:a,discovered:o})})),n.push(Nn(e,t)),n.push(Fn(e,t)),n.push(...Dn({bus:e,store:t,populateAgents:On,cloneSession:q})),()=>n.forEach(e=>e())}function Fn(e,t){return e.on(u.getByAdapterSessionId,async n=>{let{adapterSessionId:r,source:i,adapterName:a}=n.payload,o=Array.from(t.values()).filter(e=>e.adapterSessionId!==void 0&&e.adapterSessionId===r&&(i===void 0||e.source===i)&&(a===void 0||e.adapterName===a)),s=o[0];if(o.length!==1||s===void 0){n.setResult({session:null});return}let c=await e.requestOptional(f.listBySession,{sessionId:s.sessionId}),l=c.handled?c.data.agents:[];n.setResult({session:{...q(s),agents:l}})})}const In=i.postgres,Ln=n.postgres,Y=j({sessions:r,agents:t},{sessions:In,agents:Ln});function Rn(e,t){let n=e?.clientId??null,r=e?.clientAccountId??null,i=e?.lastClientIdentityObservation??null;return F(n===null?V(t.clientId):z(t.clientId,n),r===null?V(t.clientAccountId):z(t.clientAccountId,r),i===null?V(t.lastClientIdentityObservation):z(t.lastClientIdentityObservation,i))}function zn(e){return{agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterName,sessionId:e.sessionId,role:e.role,status:e.status,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,model:e.model??void 0,adapterSessionId:e.adapterSessionId??void 0,cwd:e.cwd??void 0,allowedDirectories:e.allowedDirectories??void 0,providerConfigId:e.providerConfigId??void 0,personaId:e.personaId??void 0,profileId:e.profileId??void 0,harnessId:e.harnessId??void 0,clientId:e.clientId??void 0,compressionMode:e.compressionMode?ue.parse(e.compressionMode):void 0}}function Bn(e){return{agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterName,sessionId:e.sessionId,role:e.role,status:e.status,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,model:e.model??null,adapterSessionId:e.adapterSessionId??null,cwd:e.cwd??null,allowedDirectories:e.allowedDirectories??null,providerConfigId:e.providerConfigId??null,personaId:e.personaId??null,profileId:e.profileId??null,harnessId:e.harnessId??null,clientId:e.clientId??null,compressionMode:e.compressionMode??null}}function Vn(e){let t;for(let n=e.length-1;n>=0;--n)try{e[n]?.()}catch(e){t??=e}if(t)throw t}function Hn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.get,async e=>{let[t]=await n.select().from(r).where(z(r.agentId,e.payload.agentId)).limit(1);e.setResult({agent:t?zn(t):null})})}function Un(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.set,async e=>{let{agent:t}=e.payload,i=Bn(t),a=await n.insert(r).values(i).onConflictDoUpdate({target:r.agentId,set:i});e.setResult({success:M(a)})})}function Wn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.delete,async e=>{let t=await n.delete(r).where(z(r.agentId,e.payload.agentId));e.setResult({success:M(t)})})}function Gn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.listByAdapter,async e=>{let{adapterName:t,status:i}=e.payload,a=[z(r.adapterName,t)];i&&i!==`all`&&a.push(z(r.status,i));let o=a.length>1?F(...a):a[0],s=await n.select().from(r).where(o);e.setResult({agents:s.map(zn)})})}function Kn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.listBySession,async e=>{let{sessionId:t}=e.payload,i=await n.select().from(r).where(z(r.sessionId,t));e.setResult({agents:i.map(zn)})})}function qn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.updateStatus,async e=>{let{agentId:t,status:i}=e.payload,a=Date.now(),o=await n.update(r).set({status:i,lastActivityAt:a}).where(z(r.agentId,t));e.setResult({success:M(o)})})}function Jn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.updateActivity,async e=>{let{agentId:t,lastActivityAt:i}=e.payload,a=await n.update(r).set({lastActivityAt:i}).where(z(r.agentId,t));e.setResult({success:M(a)})})}function Yn(e){let{bus:t,db:n}=e,{agents:r}=N(n,Y);return t.on(f.updateRuntime,async e=>{let{agentId:t,adapterId:i,cwd:a,model:o,allowedDirectories:s,providerConfigId:c}=e.payload,l={lastActivityAt:Date.now()};i!==void 0&&(l.adapterId=i),a!==void 0&&(l.cwd=a),o!==void 0&&(l.model=o),s!==void 0&&(l.allowedDirectories=s),c!==void 0&&(l.providerConfigId=c);let u=await n.update(r).set(l).where(z(r.agentId,t));e.setResult({success:M(u)})})}function Xn(e,t){let n={bus:e,db:t},r=[Hn(n),Un(n),Wn(n),Gn(n),Kn(n),qn(n),Jn(n),Yn(n)];return()=>Vn(r)}function X(e){return e??void 0}function Zn(e){if(e)try{let t=JSON.parse(e),n=ze.safeParse(t);return n.success?n.data:void 0}catch{return}}function Qn(e){if(e)try{let t=JSON.parse(e),n=de.safeParse(t);return n.success?n.data:void 0}catch{return}}function Z(e,t){let n=Qn(e.forkTransforms),r=Zn(e.lastClientIdentityObservation);return{sessionId:e.sessionId,createdAt:e.createdAt,lastActivityAt:e.lastActivityAt,status:e.status,leadAgentId:X(e.leadAgentId),parentSessionId:X(e.parentSessionId),contextInheritance:X(e.contextInheritance),rootSessionId:X(e.rootSessionId),forkPointMessageId:X(e.forkPointMessageId),branchKind:X(e.branchKind),adapterName:X(e.adapterName),adapterSessionId:X(e.adapterSessionId),adapterId:X(e.adapterId),clientId:X(e.clientId),clientAccountId:X(e.clientAccountId),lastClientIdentityObservation:r,isOrchestrated:X(e.isOrchestrated),isImported:X(e.isImported),title:X(e.title),summary:X(e.summary),summaryUpdatedAt:X(e.summaryUpdatedAt),forkTransforms:n,targetWorkingDirectory:X(e.targetWorkingDirectory),executionTargetId:X(e.executionTargetId),agents:t.map(zn),approvalPolicyOverride:X(e.approvalPolicyOverride),spawningToolCallId:X(e.spawningToolCallId),source:X(e.source),parentExternalSessionId:X(e.parentExternalSessionId),logFilePath:X(e.logFilePath),discoveredAt:X(e.discoveredAt),importStatus:X(e.importStatus)}}function $n(e){let t=new Map;for(let n of e){let e=t.get(n.sessionId)??[];e.push(n),t.set(n.sessionId,e)}return t}async function er(e,t,n){if(!n||t.length===0)return{};let{messages:r}=N(e,c),i=e.select({sessionId:r.sessionId,minTimestamp:H`MIN(${r.timestamp})`.as(`min_timestamp`)}).from(r).where(F(z(r.role,`user`),B(r.sessionId,t))).groupBy(r.sessionId).as(`first_user_message_by_session`),a=await e.select({sessionId:r.sessionId,preview:r.contentText}).from(r).innerJoin(i,F(z(r.sessionId,i.sessionId),z(r.timestamp,i.minTimestamp))).where(z(r.role,`user`)),o=new Map;for(let e of a)o.has(e.sessionId)||o.set(e.sessionId,e.preview);let s=await e.select({sessionId:r.sessionId,count:L()}).from(r).where(B(r.sessionId,t)).groupBy(r.sessionId),l=new Map;for(let e of s)l.set(e.sessionId,e.count);return{previewBySession:o,countBySession:l}}function tr(e,t){return{sessionId:e.sessionId,clientId:t.clientId??e.clientId,clientAccountId:t.clientAccountId??e.clientAccountId,lastClientIdentityObservation:t.lastClientIdentityObservation??e.lastClientIdentityObservation}}function nr(e){return e.clientId!==void 0||e.clientAccountId!==void 0||e.lastClientIdentityObservation!==void 0}function rr(e){let{bus:t,db:n}=e,{sessions:r,agents:i}=N(n,Y);return t.on(u.getByAdapterSessionId,async e=>{let{adapterSessionId:t,source:a,adapterName:o}=e.payload,s=[z(r.adapterSessionId,t)];a!==void 0&&s.push(z(r.source,a)),o!==void 0&&s.push(z(r.adapterName,o));let c=await n.select().from(r).where(F(...s)).limit(2),l=c[0];if(c.length!==1||l===void 0){e.setResult({session:null});return}let u=await n.select().from(i).where(z(i.sessionId,l.sessionId));e.setResult({session:Z(l,u)})})}function ir(e){let{bus:t,db:n}=e,{sessions:r}=N(n,Y),{messages:i}=N(n,c);return t.on(u.getChildren,async e=>{let{sessionId:t}=e.payload,a=await n.select().from(r).where(z(r.parentSessionId,t));if(a.length===0){e.setResult({children:[]});return}let o=a.map(e=>e.sessionId),s=await n.select({sessionId:i.sessionId,count:L()}).from(i).where(B(i.sessionId,o)).groupBy(i.sessionId),c=new Map;for(let e of s)c.set(e.sessionId,e.count);let l=await n.select({parentSessionId:r.parentSessionId,count:L()}).from(r).where(B(r.parentSessionId,o)).groupBy(r.parentSessionId),u=new Set;for(let e of l)e.parentSessionId&&u.add(e.parentSessionId);let d=a.map(e=>e.forkPointMessageId).filter(e=>e!==null),f=new Map;if(d.length>0){let e=await n.select({messageId:i.messageId,adapterMessageId:i.adapterMessageId}).from(i).where(F(z(i.sessionId,t),B(i.adapterMessageId,d)));for(let t of e)t.adapterMessageId&&f.set(t.adapterMessageId,t.messageId)}let p=a.map(e=>{let t=e.forkPointMessageId,n=t?f.get(t)??t:null;return{sessionId:e.sessionId,title:e.title??null,forkPointMessageId:n,branchKind:e.branchKind??null,messageCount:c.get(e.sessionId)??0,hasChildren:u.has(e.sessionId),spawningToolCallId:e.spawningToolCallId??void 0}});e.setResult({children:p})})}const ar=hn();function or(e,t,n){return t===void 0?H`${e}`:H`
|
|
4
4
|
CASE
|
|
5
5
|
WHEN ${n.discoveredAt} IS NULL OR ${e} = ${n.discoveredAt} THEN ${t}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,F as t,H as n,I as ee,P as r,V as i,W as a,at as o,it as s,j as c,rt as l,tt as te,y as u}from"./schemas-CiMm2zrE.mjs";import"./compression-vRUOO-28.mjs";import{t as d}from"./schemas-DAYPhB5K.mjs";import{i as f}from"./account-identity-D-9gunfD.mjs";import{CompressSessionLineageSchema as p,ForkSessionLineageSchema as m,RootSessionLineageSchema as h,SubagentSessionLineageSchema as g}from"./contracts/adapter/schemas/session-lineage.mjs";import{t as _}from"./storage-namespace-definition-Df8S3E3r.mjs";import{z as v}from"zod";import{createBusNamespace as y}from"@makaio/framework/core";const b=y(`session`,u),x=b.subjects;function S(e){return c.includes(e.type)}const C=`ui-warnings`,w=`connector-swap-warning-suppressed`,T=1440*60*1e3,E={cancel:`cancel`,edit:`edit`,continue:`continue`},D=`CONNECTOR_SWAP_CANCELLED`;var O=class extends Error{code=D;constructor(){super(`Connector swap cancelled by user`),this.name=`ConnectorSwapCancelledError`}};function k(e){return e instanceof O||e instanceof Error&&`code`in e&&e.code===`CONNECTOR_SWAP_CANCELLED`}const A={branch:{label:`branch`,staysInView:!0,navigatesToChild:!1,canMergeBack:!0},subagent:{label:`subagent`,staysInView:!0,navigatesToChild:!1,canMergeBack:!0},fork:{label:`fork`,staysInView:!1,navigatesToChild:!0,canMergeBack:!1},compress:{label:`compress`,staysInView:!1,navigatesToChild:!0,canMergeBack:!1},rewrite:{label:`rewrite`,staysInView:!1,navigatesToChild:!0,canMergeBack:!1},coordinator:{label:`coordinator`,staysInView:!0,navigatesToChild:!1,canMergeBack:!1},aside:{label:`aside`,staysInView:!0,navigatesToChild:!1,canMergeBack:!1}};function j(e){return e!=null&&A[e].staysInView}function M(e){return e==null||A[e].navigatesToChild}function N(e){return e!=null&&A[e].canMergeBack}function P(e){return A[e]}const F=v.object({timestamp:v.number(),messageId:v.string()}),I=_(`message`,{schemas:{append:{request:v.object({message:a.omit({messageId:!0}).extend({messageId:v.string().optional()}),emitEvent:v.boolean().optional()}),response:v.object({message:a})},getBySession:{request:v.object({sessionId:v.string(),limit:v.number().int().min(1).optional(),after:F.optional(),includeAfter:v.boolean().optional(),order:v.enum([`asc`,`desc`]).optional()}),response:v.object({messages:v.array(a),nextCursor:F.nullable()})},getByTurn:{request:v.object({turnId:v.string()}),response:v.object({messages:v.array(a)})},get:{request:v.object({messageId:v.string()}),response:v.object({message:a.nullable()})},getByAdapterMessageId:{request:v.object({adapterMessageId:v.string()}),response:v.object({message:a.nullable()})},search:{request:v.object({query:v.string(),sessionId:v.string().optional(),limit:v.number().int().min(1).optional()}),response:v.object({messages:v.array(a),total:v.number()})},ftsSearch:{request:v.object({query:v.string(),sessionId:v.string().optional(),limit:v.number().int().min(1).optional().default(20)}),response:v.object({results:v.array(v.object({messageId:v.string(),sessionId:v.string(),score:v.number(),excerpt:v.string()})),total:v.number()})},upsertByAdapterMessageId:{request:v.object({sessionId:v.string(),turnId:v.string().nullable(),adapterMessageId:v.string(),role:v.enum([`user`,`assistant`]),contentText:v.string(),blocks:v.array(i),agentId:v.string().optional(),adapterSessionId:v.string().optional(),timestamp:v.number(),origin:n.optional()}),response:v.object({messageId:v.string(),created:v.boolean()})},stored:v.object({message:a})}}),L=I.subjects;function R(e,t){return e.timestamp===t.timestamp?e.messageId.localeCompare(t.messageId):e.timestamp-t.timestamp}function z(e,t){return R(t,e)}function B(e){return{timestamp:e.timestamp,messageId:e.messageId}}function V(e){return`${e.timestamp}:${e.messageId}`}const H=v.object({after:v.string().optional(),limit:v.number().int().min(1).optional(),types:v.array(v.string()).optional(),includeReasoning:v.boolean().optional(),order:v.enum([`asc`,`desc`]).optional()}),U=v.object({events:v.array(e),nextCursor:v.string().nullable(),totalCount:v.number().optional()}),W=_(`sessionEvent`,{schemas:{append:{request:v.object({event:e}),response:v.object({success:v.boolean()})},getEvents:{request:v.object({sessionId:v.string(),options:H.optional()}),response:U},getByIds:{request:v.object({sessionId:v.string(),eventIds:v.array(v.string())}),response:v.object({events:v.array(e)})},deleteBySession:{request:v.object({sessionId:v.string()}),response:v.object({success:v.boolean(),deletedCount:v.number().optional()})},getEventsBySessions:{request:v.object({sessionIds:v.array(v.string()),types:v.array(v.string()),limitPerSession:v.number().int().min(1).optional()}),response:v.object({eventsBySession:v.record(v.string(),v.array(e))})}}}),G=W.subjects,K=r.extend({preview:t});function q(e,t){e.clientAccountId!==void 0&&e.lastClientIdentityObservation===void 0&&t.addIssue({code:v.ZodIssueCode.custom,path:[`lastClientIdentityObservation`],message:`lastClientIdentityObservation is required when clientAccountId is provided`}),e.clientAccountId!==void 0&&e.clientId===void 0&&t.addIssue({code:v.ZodIssueCode.custom,path:[`clientId`],message:`clientId is required when clientAccountId is provided`})}const J=r.superRefine((e,t)=>{q(e,t)}),Y=v.object({sessionId:v.string(),session:J,ifAbsent:v.boolean().optional()}).superRefine((e,t)=>{e.sessionId!==e.session.sessionId&&t.addIssue({code:v.ZodIssueCode.custom,path:[`session`,`sessionId`],message:`session.sessionId must match the top-level sessionId`})}),X={request:v.object({sessionId:v.string(),status:v.enum([`active`,`closed`,`archived`,`discovered`]).optional(),parentSessionId:v.string().optional(),contextInheritance:o.optional(),rootSessionId:v.string().optional(),forkPointMessageId:v.string().optional(),branchKind:l.optional(),isOrchestrated:v.boolean().optional(),clientId:v.string().optional(),clientAccountId:v.string().optional(),lastClientIdentityObservation:f.optional(),executionTargetId:v.string().nullable().optional(),approvalPolicyOverride:d.nullable().optional(),title:v.string().optional(),targetWorkingDirectory:v.string().optional(),createdAt:v.number().finite().optional(),lastActivityAt:v.number().finite().optional(),spawningToolCallId:v.string().nullable().optional()}),response:v.object({success:v.boolean(),clientAccountChanged:v.boolean().optional()})},Z=v.object({externalSessionId:v.string(),source:v.string(),clientId:v.string().optional(),adapterId:v.string().optional(),cwd:v.string().nullable(),logFilePath:v.string().nullable().optional(),startedAt:v.number().finite().optional(),title:v.string().nullable().optional()}),Q=v.discriminatedUnion(`kind`,[Z.merge(h),Z.merge(m),Z.merge(g),Z.merge(p)]),$=_(`session`,{schemas:{get:{request:v.object({sessionId:v.string()}),response:v.object({session:r.nullable()})},set:{request:Y,response:v.object({success:v.boolean(),clientAccountChanged:v.boolean().optional()})},delete:{request:v.object({sessionId:v.string()}),response:v.object({success:v.boolean()})},list:{request:v.object({status:v.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),limit:v.number().int().min(1).optional(),offset:v.number().int().min(0).optional(),includePreview:v.boolean().optional(),executionTargetId:v.string().optional()}),response:v.object({sessions:v.array(ee),total:v.number()})},getChildren:{request:v.object({sessionId:v.string()}),response:v.object({children:v.array(te)})},search:{request:v.object({query:v.string(),limit:v.number().int().min(1).optional(),status:v.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),isImported:v.boolean().optional()}),response:v.object({sessions:v.array(K),total:v.number()})},update:X,getByAdapterSessionId:{request:v.object({adapterSessionId:v.string(),source:v.string().optional(),adapterName:v.string().optional()}),response:v.object({session:r.nullable()})},getStatusCounts:{request:v.object({}),response:v.object({all:v.number(),active:v.number(),closed:v.number(),archived:v.number(),discovered:v.number()})},importUpsert:{request:Q,response:v.object({sessionId:v.string(),created:v.boolean()})},getByLogFilePath:{request:v.object({logFilePath:v.string()}),response:v.object({session:r.nullable()})},listImported:{request:v.object({source:v.string().optional(),importStatus:s.optional()}),response:v.object({sessions:v.array(r)})},countBySource:{request:v.object({source:v.string()}),response:v.object({total:v.number(),imported:v.number(),discovered:v.number(),tracking:v.number()})},updateImportStatus:{request:v.object({sessionId:v.string(),importStatus:s}),response:v.object({success:v.boolean()})}}}),ne=$.subjects;export{w as C,b as D,S as E,x as O,E as S,C as T,N as _,X as a,O as b,R as c,B as d,F as f,j as g,P as h,ne as i,z as l,L as m,Y as n,W as o,I as p,J as r,G as s,$ as t,V as u,M as v,T as w,k as x,D as y};
|
|
@@ -14,8 +14,8 @@ declare const COMPRESS_SESSION_LINEAGE_KIND: "compress";
|
|
|
14
14
|
/** Discriminates the relationship of a session to its parent. */
|
|
15
15
|
declare const SessionLineageKindSchema: z.ZodEnum<{
|
|
16
16
|
fork: "fork";
|
|
17
|
-
subagent: "subagent";
|
|
18
17
|
root: "root";
|
|
18
|
+
subagent: "subagent";
|
|
19
19
|
compress: "compress";
|
|
20
20
|
}>;
|
|
21
21
|
type SessionLineageKind = z.infer<typeof SessionLineageKindSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./storage-namespace-definition-
|
|
1
|
+
import{t as e}from"./storage-namespace-definition-Df8S3E3r.mjs";import{z as t}from"zod";import{createBusNamespace as n}from"@makaio/framework/core";const r=t.enum([`global`,`project`,`session`]),i=t.enum([`filesystem`,`database`]),a=t.enum([`manual`,`auto`]),o=t.enum([`model`,`user`,`auto`,`reinjection`]),s=t.enum([`cwd_changed`,`session_end`,`user`,`replaced`]),c=t.object({maxTurns:t.number().int().positive().optional()}),l=t.object({name:t.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64),description:t.string().min(1).max(1024),license:t.string().optional(),compatibility:t.string().min(1).max(500).optional(),metadata:t.record(t.string(),t.string()).optional(),allowedTools:t.string().optional()}),u=t.object({category:t.string().optional(),tags:t.array(t.string()).optional(),adapters:t.array(t.string()).nullable().optional(),activationMode:a.default(`manual`),reinjection:c.optional(),enabled:t.boolean().default(!0)}),d=l.merge(u).extend({id:t.string(),source:i,scope:r,projectId:t.string().optional(),sessionId:t.string().optional(),location:t.string().optional(),baseDir:t.string().optional(),content:t.string(),createdAt:t.number(),updatedAt:t.number()}),f=t.object({name:l.shape.name,description:l.shape.description,compatibility:l.shape.compatibility,category:u.shape.category,tags:u.shape.tags,adapters:u.shape.adapters,activationMode:u.shape.activationMode,source:i,scope:r,location:t.string().optional(),baseDir:t.string().optional()}).strict(),p=t.object({license:l.shape.license,compatibility:l.shape.compatibility,allowedTools:l.shape.allowedTools,metadata:l.shape.metadata}).strict(),m=t.object({name:t.string(),description:t.string(),compatibility:t.string().optional()}),h=t.object({name:t.string(),content:t.string(),license:t.string().optional(),compatibility:t.string().optional(),allowedTools:t.string().optional(),metadata:t.record(t.string(),t.string()).optional()}),g=t.object({name:t.string(),content:t.string(),metadata:p.optional(),baseDir:t.string().optional(),resources:t.array(t.string()).optional(),trigger:o,activatedAt:t.number(),activatedAtTurn:t.number().int().positive().optional(),lastInjectedAtTurn:t.number().int().positive().optional(),reinjection:c.optional()}),_=l.merge(u).extend({id:t.string(),scope:r,projectId:t.string().optional(),sessionId:t.string().optional(),content:t.string(),source:t.literal(`database`).default(`database`)}).strict(),v=t.object({sessionId:t.string().optional(),projectId:t.string().optional(),adapterId:t.string().optional(),category:t.string().optional(),tags:t.array(t.string()).optional(),enabledOnly:t.boolean().optional()}),y={"catalog.built":t.object({sessionId:t.string(),agentId:t.string(),cwd:t.string(),adapterId:t.string().optional(),skillNames:t.array(t.string()),timestamp:t.number()}),activated:t.object({sessionId:t.string(),agentId:t.string(),cwd:t.string(),adapterId:t.string().optional(),skillName:t.string(),trigger:o,turnNumber:t.number().int().positive().optional(),timestamp:t.number()}),deactivated:t.object({sessionId:t.string(),agentId:t.string(),skillName:t.string(),reason:s,timestamp:t.number()}),getCatalog:{request:t.object({sessionId:t.string(),agentId:t.string(),cwd:t.string().optional(),projectId:t.string().optional(),adapterId:t.string().optional()}),response:t.object({entries:t.array(f),cwd:t.string()})},activate:{request:t.object({sessionId:t.string(),agentId:t.string(),skillName:t.string(),trigger:o,cwd:t.string().optional(),projectId:t.string().optional(),adapterId:t.string().optional(),turnNumber:t.number().int().positive().optional()}),response:t.object({name:t.string(),content:t.string(),metadata:p.optional(),baseDir:t.string().optional(),resources:t.array(t.string()).optional(),alreadyActive:t.boolean().default(!1)})},getActiveSkills:{request:t.object({sessionId:t.string(),agentId:t.string(),cwd:t.string().optional(),projectId:t.string().optional(),adapterId:t.string().optional()}),response:t.object({skills:t.array(g),cwd:t.string().optional()})}},b=n(`skill`,y),x=b.subjects,S=e(`skill`,{schemas:{get:{request:t.object({id:t.string()}),response:t.object({skill:d.nullable()})},set:{request:t.object({skill:_}),response:t.object({id:t.string()})},delete:{request:t.object({id:t.string()}),response:t.object({deleted:t.boolean()})},list:{request:v,response:t.object({skills:t.array(d)})},getEffective:{request:v,response:t.object({skills:t.array(d)})}}}),C=S.subjects;function w(e){if(e.scope===`global`){if(e.projectId||e.sessionId)throw Error(`Global scope skills must not have projectId or sessionId`);return}if(e.scope===`project`){if(!e.projectId)throw Error(`Project scope skills require projectId`);if(e.sessionId)throw Error(`Project scope skills must not have sessionId`);return}if(!e.sessionId)throw Error(`Session scope skills require sessionId`)}export{h as S,c as _,x as a,r as b,a as c,m as d,s as f,d as g,_ as h,b as i,o as l,v as m,C as n,p as o,l as p,w as r,g as s,S as t,f as u,u as v,i as x,y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsonl-transport-
|
|
1
|
+
import{t as e}from"./jsonl-transport-Bb8ltqOe.mjs";import{CorrelationTracker as t,DEFAULT_REQUEST_TIMEOUT_MS as n,handleCorrelationResponse as r,trackMessageCorrelation as i}from"@makaio/framework/bus";var a=class{name;spawnOptions;jsonl=null;handlers=new Set;correlations=new t;handshakeComplete=!1;terminalError=null;localSubscriptions=new Map;readyResolve=null;readyReject=null;onNewReadySession=void 0;onConnected=void 0;onDisconnected=void 0;ready;constructor(e){this.name=e.name??`stdio-server`,this.spawnOptions=e.spawn,this.ready=this.createReadyPromise()}async connect(){if(this.jsonl!==null)throw Error(`StdioServerTransport: already connected`);this.readyResolve===null&&this.readyReject===null&&(this.ready=this.createReadyPromise()),this.handshakeComplete=!1,this.terminalError=null;let t=e(this.spawnOptions);this.jsonl=t,t.onMessage(e=>{this.jsonl===t&&this.handleInbound(e)}),t.onError(e=>{this.jsonl===t&&this.terminateSession(e,!0)}),t.process.once(`exit`,e=>{this.jsonl===t&&this.terminateSession(Error(`Child process exited (code ${e??`signal`}) before subscribe-sync handshake completed`),!1)}),this.localSubscriptions.size>0&&this.sendSubscribeMessage()}async send(e,t){if(this.jsonl===null)throw Error(`StdioServerTransport: not connected`);return this.jsonl.send(e),i(e,this.correlations,t??n)}onReceive(e){return this.handlers.add(e),()=>{this.handlers.delete(e)}}async disconnect(){let e=this.jsonl;this.jsonl=null,this.handshakeComplete=!1,this.terminalError=null,this.readyResolve?.(),this.readyResolve=null,this.readyReject=null,this.correlations.cleanup(),e?.close()}async subscribe(e,t,n=[]){this.localSubscriptions.set(e,{priorities:n,filter:t}),this.jsonl!==null&&this.sendSubscribeMessage(e,t,n)}async unsubscribe(e){let t=this.localSubscriptions.delete(e);this.jsonl!==null&&t&&this.jsonl.send({type:`unsubscribe`,subjects:{[e]:[]}})}isReady(){return this.jsonl!==null&&this.terminalError===null&&this.handshakeComplete&&this.jsonl.process.exitCode===null}cancelRequest(e,t){this.correlations.cancel(e,t)}createReadyPromise(){let e=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t});return this.onNewReadySession?.(e),e}terminateSession(e,t){let n=this.jsonl;this.jsonl=null,this.handshakeComplete=!1,this.terminalError=e,this.readyReject?.(e),this.readyResolve=null,this.readyReject=null,this.correlations.cleanup(),t&&n?.close(),this.onDisconnected?.()}async handleInbound(e){if(typeof e!=`object`||!e||typeof e.type!=`string`)return;let t=e;if(t.type!==`heartbeat`){if(t.type===`subscribe-sync-complete`){this.handshakeComplete=!0,this.readyResolve?.(),this.readyResolve=null,this.readyReject=null,this.jsonl?.send({type:`subscribe-sync-complete`}),this.onConnected?.();return}if(!r(t,this.correlations))for(let e of this.handlers)try{await e(t,{transportName:this.name})}catch{}}}sendSubscribeMessage(e,t,n=[]){if(this.jsonl===null)return;if(e!==void 0){this.jsonl.send({type:`subscribe`,subjects:{[e]:n},...t===void 0?{}:{filters:{[e]:t}}});return}let r={},i={},a=!1;for(let[e,t]of this.localSubscriptions)r[e]=t.priorities,t.filter!==void 0&&(i[e]=t.filter,a=!0);this.jsonl.send({type:`subscribe`,subjects:r,...a?{filters:i}:{}})}};export{a as StdioServerTransport};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as createDatabaseClient, n as DatabaseClientConfig, r as PostgresClientOptions, t as DatabaseClient } from "../../client-
|
|
1
|
+
import { i as createDatabaseClient, n as DatabaseClientConfig, r as PostgresClientOptions, t as DatabaseClient } from "../../client-D2ZftNb6.mjs";
|
|
2
2
|
export { DatabaseClient, DatabaseClientConfig, PostgresClientOptions, createDatabaseClient };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,h as t,n}from"../../registry-
|
|
1
|
+
import{a as e,h as t,n}from"../../registry-udUhXSIC.mjs";async function r(r={}){if(r.url!==void 0){let n=e(r.url);if(n.kind===`missing-engine`)throw Error(t(n.dialect,n.packageName));if(n.kind===`engine`)return n.engine.createClient(r)}return n(`sqlite`).createClient(r)}export{r as createDatabaseClient};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as DATABASE_DIALECT, c as getDatabaseDialect, n as DatabaseClientConfig, o as MakaioDatabase, s as StorageDialect, t as DatabaseClient } from "../../client-
|
|
1
|
+
import { a as DATABASE_DIALECT, c as getDatabaseDialect, n as DatabaseClientConfig, o as MakaioDatabase, s as StorageDialect, t as DatabaseClient } from "../../client-D2ZftNb6.mjs";
|
|
2
2
|
import { IMakaioBus } from "@makaio/framework/bus";
|
|
3
3
|
import { ExtensionContext } from "@makaio/framework/contracts";
|
|
4
4
|
import { StorageNamespace, StorageNamespaceConfig, StorageNamespaceExtensions, createStorageNamespace } from "@makaio/framework/storage";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,x,y as S}from"../../registry-
|
|
1
|
+
import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,x,y as S}from"../../registry-udUhXSIC.mjs";import{autoPk as C,bool as w,epochMs as T,float8 as E,jsonCol as D}from"./columns/sqlite.mjs";import{autoPk as O,bool as k,epochMs as A,float8 as j,jsonCol as M}from"./columns/postgres.mjs";import{createStorageNamespace as N}from"@makaio/framework/storage";import{integer as P,sqliteTable as F,text as I}from"drizzle-orm/sqlite-core";import{bigint as L,integer as R,pgTable as z,text as B}from"drizzle-orm/pg-core";import{getTableColumns as V}from"drizzle-orm";const H=[{dialect:`postgres`,enginePackageName:`@makaio/storage-pg`,chainDirName:`drizzle-postgres`,drizzleConfigSpecifier:`drizzle.config.ts`,normalizeScriptSpecifier:`scripts/normalize-migrations.ts`}];function U(e){return H.find(t=>t.dialect===e)}async function W(e,t){let n=G.get(e)??Promise.resolve(),r=()=>{},i=new Promise(e=>{r=e}),a=n.catch(()=>void 0).then(()=>i);G.set(e,a),await n.catch(()=>void 0);try{return await e.transaction(t)}finally{r(),G.get(e)===a&&G.delete(e)}}const G=new WeakMap;function K(e){return(t,n,r)=>e(t,n,r)}function q(e,t){return{sqlite:e,postgres:t}}function J(t,n){return n[e(t)]}function Y(e,t){let n=(e,t)=>({sqlite:e,postgres:t,notNull:()=>n(e.notNull(),t.notNull()),default:r=>n(e.default(r),t.default(r)),primaryKey:()=>n(e.primaryKey(),t.primaryKey()),unique:r=>n(e.unique(r),t.unique(r)),$type:()=>n(e,t),references:(r,i)=>n(e.references(()=>r().sqlite,i),t.references(()=>r().postgres,i))});return n(e,t)}const X={text:e=>Y(I(e),B(e)),textEnum:(e,t)=>Y(I(e,t),B(e,t)),epochMs:e=>Y(T(e),A(e)),bool:e=>Y(w(e),k(e)),jsonCol:e=>Y(D(e),M(e)),autoPk:e=>Y(C(e),O(e)),float8:e=>Y(E(e),j(e)),int4:e=>Y(P(e),R(e)),int8:e=>Y(P(e),L(e,{mode:`number`}))};function Z(e,t,n){let r=t(X),i={},a={};for(let[e,t]of Object.entries(r))i[e]=t.sqlite,a[e]=t.postgres;let o=F(e,i,n?.sqlite),s=z(e,a,n?.postgres),c=V(o),l=V(s);return{sqlite:o,postgres:s,columnPair(e){return{sqlite:c[e],postgres:l[e]}}}}export{t as DATABASE_DIALECT,H as NON_BASELINE_GENERATION_LEGS,f as STORAGE_ENGINE_URL_HINTS,i as affectedRowCount,b as brandDatabase,d as buildFirstUserMessagePreviewQuery,N as createStorageNamespace,q as defineDialectSchema,Z as defineDualTable,l as describeMissingStorageEngine,x as didAffectRows,W as executeTransaction,U as findGenerationLegForDialect,v as findStorageEngine,e as getDatabaseDialect,S as getRawSqlExecutor,p as getStorageEngine,n as importRuntimeModule,y as isSqliteDuplicateObjectError,o as isSqliteUniqueViolationError,c as quoteSqlIdentifier,s as readErrorCode,K as registerDrizzleHandlers,g as registerStorageEngine,J as resolveSchema,u as resolveStorageEngine,r as resolveStorageEngineForUrl,a as sanitizeFtsQuery,h as someInCauseChain,_ as sqliteFtsSearchStrategy,m as sqliteStorageEngine};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as DrizzleCrudConfig, i as CrudLifecycleConfig, n as createDrizzleListHandler, o as DrizzleListConfig, r as createDrizzleCrudHandlers, t as buildScopePredicates } from "../../../index-
|
|
1
|
+
import { a as DrizzleCrudConfig, i as CrudLifecycleConfig, n as createDrizzleListHandler, o as DrizzleListConfig, r as createDrizzleCrudHandlers, t as buildScopePredicates } from "../../../index-cFuQpzIm.mjs";
|
|
2
2
|
export { CrudLifecycleConfig, DrizzleCrudConfig, DrizzleListConfig, buildScopePredicates, createDrizzleCrudHandlers, createDrizzleListHandler };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"../../../drizzle-
|
|
1
|
+
import{n as e,r as t,t as n}from"../../../drizzle-D7dkDEB5.mjs";export{n as buildScopePredicates,t as createDrizzleCrudHandlers,e as createDrizzleListHandler};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as DrizzleCrudConfig, i as CrudLifecycleConfig, n as createDrizzleListHandler, o as DrizzleListConfig, r as createDrizzleCrudHandlers, t as buildScopePredicates } from "../../index-
|
|
1
|
+
import { a as DrizzleCrudConfig, i as CrudLifecycleConfig, n as createDrizzleListHandler, o as DrizzleListConfig, r as createDrizzleCrudHandlers, t as buildScopePredicates } from "../../index-cFuQpzIm.mjs";
|
|
2
2
|
|
|
3
3
|
//#region storage/handlers/src/utils.d.ts
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"../../drizzle-
|
|
1
|
+
import{n as e,r as t,t as n}from"../../drizzle-D7dkDEB5.mjs";function r(e,t){let n={...e};for(let e of t)n[e]===null&&(n[e]=void 0);return n}function i(e,t){let n={...e};for(let e of t)n[e]===void 0&&(n[e]=null);return n}export{n as buildScopePredicates,t as createDrizzleCrudHandlers,e as createDrizzleListHandler,r as nullToUndefined,i as undefinedToNull};
|
|
@@ -17,9 +17,9 @@ declare const PreferencesNamespace: _$_makaio_core0.BusNamespaceDefinition<"pref
|
|
|
17
17
|
scope: _$zod.ZodString;
|
|
18
18
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
19
19
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
20
|
-
mobile: "mobile";
|
|
21
20
|
desktop: "desktop";
|
|
22
21
|
tablet: "tablet";
|
|
22
|
+
mobile: "mobile";
|
|
23
23
|
}>>;
|
|
24
24
|
}, _$zod_v4_core0.$strip>;
|
|
25
25
|
category: _$zod.ZodString;
|
|
@@ -38,9 +38,9 @@ declare const PreferencesNamespace: _$_makaio_core0.BusNamespaceDefinition<"pref
|
|
|
38
38
|
scope: _$zod.ZodString;
|
|
39
39
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
40
40
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
41
|
-
mobile: "mobile";
|
|
42
41
|
desktop: "desktop";
|
|
43
42
|
tablet: "tablet";
|
|
43
|
+
mobile: "mobile";
|
|
44
44
|
}>>;
|
|
45
45
|
}, _$zod_v4_core0.$strip>;
|
|
46
46
|
category: _$zod.ZodString;
|
|
@@ -60,9 +60,9 @@ declare const PreferencesNamespace: _$_makaio_core0.BusNamespaceDefinition<"pref
|
|
|
60
60
|
scope: _$zod.ZodString;
|
|
61
61
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
62
62
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
63
|
-
mobile: "mobile";
|
|
64
63
|
desktop: "desktop";
|
|
65
64
|
tablet: "tablet";
|
|
65
|
+
mobile: "mobile";
|
|
66
66
|
}>>;
|
|
67
67
|
}, _$zod_v4_core0.$strip>;
|
|
68
68
|
category: _$zod.ZodString;
|
|
@@ -81,9 +81,9 @@ declare const PreferencesNamespace: _$_makaio_core0.BusNamespaceDefinition<"pref
|
|
|
81
81
|
scope: _$zod.ZodOptional<_$zod.ZodString>;
|
|
82
82
|
context: _$zod.ZodOptional<_$zod.ZodOptional<_$zod.ZodString>>;
|
|
83
83
|
viewport: _$zod.ZodOptional<_$zod.ZodOptional<_$zod.ZodEnum<{
|
|
84
|
-
mobile: "mobile";
|
|
85
84
|
desktop: "desktop";
|
|
86
85
|
tablet: "tablet";
|
|
86
|
+
mobile: "mobile";
|
|
87
87
|
}>>>;
|
|
88
88
|
}, _$zod_v4_core0.$strip>>;
|
|
89
89
|
category: _$zod.ZodOptional<_$zod.ZodString>;
|
|
@@ -98,9 +98,9 @@ declare const PreferencesNamespace: _$_makaio_core0.BusNamespaceDefinition<"pref
|
|
|
98
98
|
scope: _$zod.ZodString;
|
|
99
99
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
100
100
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
101
|
-
mobile: "mobile";
|
|
102
101
|
desktop: "desktop";
|
|
103
102
|
tablet: "tablet";
|
|
103
|
+
mobile: "mobile";
|
|
104
104
|
}>>;
|
|
105
105
|
}, _$zod_v4_core0.$strip>;
|
|
106
106
|
category: _$zod.ZodString;
|
|
@@ -124,9 +124,9 @@ declare const PreferencesSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.F
|
|
|
124
124
|
scope: _$zod.ZodString;
|
|
125
125
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
126
126
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
127
|
-
mobile: "mobile";
|
|
128
127
|
desktop: "desktop";
|
|
129
128
|
tablet: "tablet";
|
|
129
|
+
mobile: "mobile";
|
|
130
130
|
}>>;
|
|
131
131
|
}, _$zod_v4_core0.$strip>;
|
|
132
132
|
category: _$zod.ZodString;
|
|
@@ -145,9 +145,9 @@ declare const PreferencesSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.F
|
|
|
145
145
|
scope: _$zod.ZodString;
|
|
146
146
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
147
147
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
148
|
-
mobile: "mobile";
|
|
149
148
|
desktop: "desktop";
|
|
150
149
|
tablet: "tablet";
|
|
150
|
+
mobile: "mobile";
|
|
151
151
|
}>>;
|
|
152
152
|
}, _$zod_v4_core0.$strip>;
|
|
153
153
|
category: _$zod.ZodString;
|
|
@@ -167,9 +167,9 @@ declare const PreferencesSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.F
|
|
|
167
167
|
scope: _$zod.ZodString;
|
|
168
168
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
169
169
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
170
|
-
mobile: "mobile";
|
|
171
170
|
desktop: "desktop";
|
|
172
171
|
tablet: "tablet";
|
|
172
|
+
mobile: "mobile";
|
|
173
173
|
}>>;
|
|
174
174
|
}, _$zod_v4_core0.$strip>;
|
|
175
175
|
category: _$zod.ZodString;
|
|
@@ -188,9 +188,9 @@ declare const PreferencesSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.F
|
|
|
188
188
|
scope: _$zod.ZodOptional<_$zod.ZodString>;
|
|
189
189
|
context: _$zod.ZodOptional<_$zod.ZodOptional<_$zod.ZodString>>;
|
|
190
190
|
viewport: _$zod.ZodOptional<_$zod.ZodOptional<_$zod.ZodEnum<{
|
|
191
|
-
mobile: "mobile";
|
|
192
191
|
desktop: "desktop";
|
|
193
192
|
tablet: "tablet";
|
|
193
|
+
mobile: "mobile";
|
|
194
194
|
}>>>;
|
|
195
195
|
}, _$zod_v4_core0.$strip>>;
|
|
196
196
|
category: _$zod.ZodOptional<_$zod.ZodString>;
|
|
@@ -205,9 +205,9 @@ declare const PreferencesSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.F
|
|
|
205
205
|
scope: _$zod.ZodString;
|
|
206
206
|
context: _$zod.ZodOptional<_$zod.ZodString>;
|
|
207
207
|
viewport: _$zod.ZodOptional<_$zod.ZodEnum<{
|
|
208
|
-
mobile: "mobile";
|
|
209
208
|
desktop: "desktop";
|
|
210
209
|
tablet: "tablet";
|
|
210
|
+
mobile: "mobile";
|
|
211
211
|
}>>;
|
|
212
212
|
}, _$zod_v4_core0.$strip>;
|
|
213
213
|
category: _$zod.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{F as t}from"./handlers-
|
|
1
|
+
import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{F as t}from"./handlers-CTrL8wmC.mjs";import"./session-Me3XO-l9.mjs";import{AgentSubjects as n,ApprovalSubjects as r,HarnessSubjects as i,computeMetaTags as a}from"@makaio/framework/contracts";import{BaseService as o}from"@makaio/framework/service-base";import{extractToolFilePath as s}from"@makaio/framework/tools";const c={"full-access":0,"always-ask":1,reject:2};function l(){return`apr_${crypto.randomUUID()}`}function u(e){switch(e){case`allow`:return`full-access`;case`deny`:return`reject`;case`ask`:return`always-ask`}}function d(e){if(!e?.length)return`neutral`;let t=a(e);return t.includes(`destructive`)?`destructive`:t.includes(`read-only`)?`safe`:`neutral`}function f(e,t){if(e)return t&&e.toolApprovalOverrides?.[t]!==void 0?e.toolApprovalOverrides[t]:e.approvalPolicy}function p(e,t,n,r){let i=r[t];if(!i?.length)return e;let a=e;for(let e of i){let t=n[e];t&&c[t]>c[a]&&(a=t)}return a}function m(e,t,n){return n.handled?n.data.allowedDirectories??void 0:t?[]:void 0}function h(e,t,n){if(!n||!e?.cwd)return{};let r;return(e.personaId||e.profileId)&&t&&(r=m(e.personaId,e.profileId,t)),{cwd:e.cwd,...r&&{allowedDirectories:r}}}function g(e,t,n){if(!(!e&&!t))return!n||!n.handled?{policy:`always-ask`}:{policy:u(n.data.action),...n.data.personaName&&{personaName:n.data.personaName},...n.data.profileName&&{profileName:n.data.profileName}}}function _(e,t){let n=t.harness?.toolCapabilityMap&&e.toolName?t.harness.toolCapabilityMap[e.toolName]:void 0;return{requestId:l(),toolCallId:e.toolCallId,toolName:e.toolName,args:e.args,agentId:e.agentId,sessionId:e.sessionId,adapterName:t.resolvedAdapterName,...t.personaName&&{personaName:t.personaName},...t.profileName&&{profileName:t.profileName},capabilities:n,riskLevel:d(n),reasoning:e.reasoning,createdAt:Date.now()}}var v=class extends o{logger=console;options;constructor(e,t={}){super(e),this.options=t}async onInit(){this.registerHandler(n.toolApprove,async e=>{let t=await this.getAgentMetadata(e.payload.agentId,e.payload.sessionId),n=(t?.personaId||t?.profileId)&&e.payload.toolName?await this.fetchRawEnrichedPolicy(t?.personaId,t?.profileId,e.payload.toolName):void 0,r=h(t,n,this.options.fileAccessRuleProvider),i=await this.checkFileAccessDenyReason(e.payload,r);if(i){e.setResult({action:`deny`,message:i,shouldAbort:!1});return}let a=await this.resolveSessionOverride(e.payload.sessionId);if(a===`full-access`){e.setResult({action:`allow`});return}if(a===`reject`){e.setResult({action:`deny`,message:`Tool use rejected by session approval policy override`,shouldAbort:!1});return}let o=await this.resolvePolicyWithContext({adapterName:e.payload.adapterName,toolName:e.payload.toolName},t,n);switch(a===`always-ask`?`always-ask`:o.policy){case`full-access`:e.setResult({action:`allow`});return;case`reject`:e.setResult({action:`deny`,message:`Tool use rejected by approval policy`,shouldAbort:!1});return;case`always-ask`:await this.dispatchAlwaysAskApproval(e.payload,e.setResult.bind(e),o);return}})}async dispatchAlwaysAskApproval(e,t,i){let a=_(e,i),o=new AbortController,s=this.bus.on(n.session.closed,()=>{o.abort()},{filter:{agentId:a.agentId,adapterSessionId:e.adapterSessionId}});try{let e=await this.bus.requestOptional(r.request,a,{timeout:0,signal:o.signal});e.handled&&e.data.action===`allow`?t({action:`allow`,...e.data.updatedInput&&{updatedInput:e.data.updatedInput}}):t({action:`deny`,message:e.handled&&e.data.action===`deny`?e.data.message??`User denied tool execution`:`No approval handler available`,shouldAbort:!1})}catch{t({action:`deny`,message:o.signal.aborted?`Approval cancelled — agent session closed`:`Tool approval request failed`,shouldAbort:!1})}finally{s()}}async checkFileAccessDenyReason(e,t){if(!this.options.fileAccessRuleProvider||!t.cwd)return;let n=s(e.toolName,e.args,t.cwd);if(n)try{return(await this.options.fileAccessRuleProvider(t.cwd,t.allowedDirectories)).isDenied(n)?`Access denied: '${n}' is restricted by .makaioignore rules`:void 0}catch{return`Access denied: file access rules could not be evaluated`}}async fetchRawEnrichedPolicy(e,t,n){try{return await this.bus.requestOptional(r.resolveEnrichedPolicy,{toolName:n,personaId:e,profileId:t})}catch(r){return this.logger.error(`[ToolApprovalService] approval.resolveEnrichedPolicy failed; falling back to fail-closed`,{toolName:n,personaId:e,profileId:t,error:r}),{handled:!1}}}async resolvePolicyWithContext(e,t,n){let r=t?.adapterName??e.adapterName,i=g(t?.personaId,t?.profileId,n),a=await this.resolveHarnessPolicy(r,t?.harnessId,t?.clientId),o=f(a,e.toolName),s=i?.policy??o??`always-ask`,c=s;return a?.capabilityOverrides&&a.toolCapabilityMap&&e.toolName&&(c=p(s,e.toolName,a.capabilityOverrides,a.toolCapabilityMap)),{policy:c,harness:a,agent:t,resolvedAdapterName:r,...i?.personaName&&{personaName:i.personaName},...i?.profileName&&{profileName:i.profileName}}}async getAgentMetadata(e,n){try{if(n){let{agents:r}=await this.bus.request(t.listBySession,{sessionId:n});return r.find(t=>t.agentId===e)??null}let r=await this.bus.requestOptional(t.get,{agentId:e});return r.handled?r.data.agent:null}catch{return null}}async resolveSessionOverride(t){if(t)try{let n=await this.bus.requestOptional(e.get,{sessionId:t});return n.handled?n.data.session?.approvalPolicyOverride??void 0:void 0}catch{return}}async resolveHarnessPolicy(e,t,n){try{let r=await this.bus.request(i.resolve,{adapterName:e,...t&&{profileHarnessId:t},...n&&{clientId:n}});return{approvalPolicy:r.approvalPolicy,capabilityOverrides:r.capabilityOverrides,toolCapabilityMap:r.toolCapabilityMap,toolApprovalOverrides:r.toolApprovalOverrides}}catch{return}}};export{v as t};
|