@makaio/framework 1.0.0-dev-1787670559522 → 1.0.0-dev-1788258714339
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/.makaio-build.json +2 -2
- package/dist/{account-identity-DGpXd8h_.mjs → account-identity-B3vLwm9O.mjs} +1 -1
- package/dist/adapter-Dz1fX5Wa.mjs +1 -0
- package/dist/adapter-subsystem/index.d.mts +118 -76
- package/dist/adapter-subsystem/index.mjs +1 -1
- package/dist/adapters/claude/index.d.mts +5 -5
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +73 -53
- package/dist/adapters/index.mjs +6 -6
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/adapters/stream-session/index.mjs +1 -1
- package/dist/{artifact-k3veR4Yx.mjs → artifact-Btbuib48.mjs} +1 -1
- package/dist/attach-error-Cb3GbeKe.mjs +1 -0
- package/dist/{auth-A1K_7q-8.mjs → auth-C6tVtaOX.mjs} +1 -1
- package/dist/{authority-state-bootstrap-YwtEImIB.mjs → authority-state-bootstrap-CLYus369.mjs} +1 -1
- package/dist/{automation-trigger-CuSdQwir.mjs → automation-trigger-ByjNlClm.mjs} +1 -1
- package/dist/bus/index.d.mts +22 -4
- package/dist/bus/index.mjs +1 -1
- package/dist/{bus-CqgrphNE.mjs → bus-D6NoBhIV.mjs} +1 -1
- package/dist/bus-UgFdHybD.mjs +1 -0
- package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +1 -0
- package/dist/{canonical-model-DJASlL4m.mjs → canonical-model-DXOvCaVg.mjs} +1 -1
- package/dist/capabilities-BUwuA7XX.mjs +1 -0
- package/dist/capability-j3NekkIu.mjs +1 -0
- package/dist/{client-BL5__WT0.mjs → client-BkznbdsO.mjs} +1 -1
- package/dist/clients/index.d.mts +1 -1
- package/dist/clients/index.mjs +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/clients/managed-install.mjs +1 -1
- package/dist/code-execution/worker-entry.d.mts +21 -0
- package/dist/code-execution/worker-entry.mjs +1 -0
- package/dist/code-execution-Ckmn8OZu.mjs +1 -0
- package/dist/code-execution-CweDSWco.mjs +1 -0
- package/dist/code-execution-DqkQjKa1.mjs +1 -0
- package/dist/{compression-BbttSqm8.mjs → compression-CtgeVLpP.mjs} +1 -1
- package/dist/{config-namespace-CyzeLWSg.mjs → config-namespace-CjWvw8ij.mjs} +1 -1
- package/dist/{context-resolution-ya9TXKg-.d.mts → context-resolution-CW4OtPrS.d.mts} +3 -3
- package/dist/contracts/adapter/index.d.mts +3 -3
- 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 +2 -2
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/auth/index.d.mts +2 -2
- package/dist/contracts/auth/index.mjs +1 -1
- package/dist/contracts/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/automation-trigger/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.mjs +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.mjs +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/code-execution/index.d.mts +2 -0
- package/dist/contracts/code-execution/index.mjs +1 -0
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +5 -5
- 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 +57 -47
- 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/provider/index.mjs +1 -1
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/reaction/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +3 -3
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +3 -3
- package/dist/contracts/shared/index.mjs +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/timeout/index.mjs +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/contracts/worker-node/index.d.mts +1 -1
- package/dist/contracts/worker-node/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{contribution-BB5bjx3f.d.mts → contribution-CUHLVLsT.d.mts} +2 -2
- package/dist/core/index.d.mts +25 -2
- package/dist/{definition-CDg-Jq1T.mjs → definition-BH4QLGLI.mjs} +1 -1
- package/dist/{definition-BYgHlmMw.d.mts → definition-DyGImhyi.d.mts} +1 -1
- package/dist/{detached-extension-handle-DKd17UB6.mjs → detached-extension-handle-D0aI0pJA.mjs} +1 -1
- package/dist/drizzle/0034_m_msha1388.sql +41 -0
- package/dist/drizzle/0035_m_mshgj6x7.sql +40 -0
- package/dist/drizzle/0036_m_msivwbgm.sql +1 -0
- package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +6 -0
- package/dist/drizzle/meta/_journal.json +28 -0
- package/dist/event-B8ELuk6k.mjs +1 -0
- package/dist/{execution-attempt-repository-DFyAnchJ.d.mts → execution-attempt-repository-BJ2W6wwx.d.mts} +1 -1
- package/dist/{execution-target-ByNwZh5-.mjs → execution-target-H0RWV7Py.mjs} +1 -1
- package/dist/{extension-DUmibvMk.mjs → extension-Bfkr2DBs.mjs} +1 -1
- package/dist/{extension-DMdmj9gi.mjs → extension-Cz39YNXy.mjs} +1 -1
- package/dist/{extension-discovery-Fhps4icD.d.mts → extension-discovery-Dhu3WplO.d.mts} +9 -1
- package/dist/{filesystem-service-FAtd9gWH.mjs → filesystem-service-CiUw0YN5.mjs} +1 -1
- package/dist/framework-packages-BHgul8Kl.mjs +1 -0
- package/dist/git/index.mjs +2 -2
- package/dist/{globby-BBLuT_vy.mjs → globby-QBDqstzq.mjs} +1 -1
- package/dist/handlers-BsHAFtye.mjs +57 -0
- package/dist/{harness-KxbWGL4I.mjs → harness-YQ2ewID9.mjs} +1 -1
- package/dist/{hook-responses-uCXAICTU.d.mts → hook-responses-9Ywsqzzq.d.mts} +1 -1
- package/dist/identity-OjRlG6dZ.mjs +1 -0
- package/dist/{index-Bl7KWFod.d.mts → index-4KJ6IDE7.d.mts} +7 -7
- package/dist/{index-CfiCJPP6.d.mts → index-B0VO0rAl.d.mts} +1 -1
- package/dist/{index-DI7-tIL3.d.mts → index-B0yMCJW8.d.mts} +39 -14
- package/dist/{index-BQprJNA_.d.mts → index-B9V3T4EQ.d.mts} +4 -4
- package/dist/{index-CqQYgsbB.d.mts → index-BNzUyVwV.d.mts} +513 -170
- package/dist/{index-CM75k-Ff.d.mts → index-BkbnC65b.d.mts} +189 -17
- package/dist/index-Bqk0pJBQ2.d.mts +138 -0
- package/dist/{index-CER64zYO.d.mts → index-BqlCDBfc.d.mts} +15 -15
- package/dist/{index-C-JzEkqs.d.mts → index-C146Eq_J.d.mts} +535 -1801
- package/dist/{index-e4Txan9i.d.mts → index-C3lu_fy5.d.mts} +76 -76
- package/dist/{index-C__EQfKa.d.mts → index-CIEycZrt.d.mts} +1 -1
- package/dist/{index-DxYDRoDE2.d.mts → index-CMekqu_D.d.mts} +28 -8
- package/dist/{index-nydhGvXa.d.mts → index-CPRQ4dWX.d.mts} +0 -23
- package/dist/{index-BSQ30wYP.d.mts → index-CPi0UpRh.d.mts} +1 -1
- package/dist/{index-BMVZs6pm.d.mts → index-CYjgoYeX.d.mts} +3 -3
- package/dist/{index-CSN_0sCo.d.mts → index-CmwAJ8-5.d.mts} +1 -1
- package/dist/index-Cny5RvjO.d.mts +800 -0
- package/dist/index-DHnSLGP4.d.mts +268 -0
- package/dist/{index-cPqSpWQC.d.mts → index-DJ2KgJDJ2.d.mts} +12 -12
- package/dist/index-DQ8o3JGi.d.mts +132 -0
- package/dist/index-DWBkiiXH.d.mts +18 -0
- package/dist/{index-B0xJgTi-.d.mts → index-DWkFkvRn2.d.mts} +7 -7
- package/dist/{index-1UcQWrZy.d.mts → index-DXqG0r3o.d.mts} +155 -155
- package/dist/index-Dg11JxKZ.d.mts +496 -0
- package/dist/{index-BtdK8HeH.d.mts → index-OG402CBI.d.mts} +43 -168
- package/dist/json-value-BBZ6uGwc.mjs +1 -0
- package/dist/json-value-DPqb-SJ8.d.mts +177 -0
- 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-CnOAtohU.mjs → lib-BpGvHZye.mjs} +2 -2
- package/dist/{lib-B_rJ6r0T.mjs → lib-Cm-uEoC1.mjs} +1 -1
- package/dist/{load-extensions-DUpaMQ7G.d.mts → load-extensions-BQoXaHhR.d.mts} +1 -1
- package/dist/{load-extensions-CW9uzNR5.mjs → load-extensions-DG5LvPyM.mjs} +1 -1
- package/dist/{materialization-CcpCDhXh.mjs → materialization-lVd9_-jr.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/model-DrzPt3ou.mjs +1 -0
- package/dist/{namespace-B7bntOB8.mjs → namespace-BL7lHlmg.mjs} +1 -1
- package/dist/{namespace-BgEiY7r1.d.mts → namespace-BNp7n_gu.d.mts} +3 -3
- package/dist/{namespace-DSlfFhB1.d.mts → namespace-BRuHzhPo.d.mts} +154 -2
- package/dist/{namespace-ChnRTUG4.d.mts → namespace-C06lJSuj.d.mts} +6 -6
- package/dist/{namespace-C6CVEGH8.d.mts → namespace-DknCutQZ.d.mts} +50 -0
- package/dist/namespace-sCPb79-7.mjs +1 -0
- package/dist/{native-session-supervisor-fZYPUk0-.mjs → native-session-supervisor-LKio8XZn.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/npm-package-name-DuTYVICk.mjs +1 -0
- package/dist/orchestrator-shared-BGlN-m-V.mjs +1 -0
- package/dist/{orchestrator-shared-B-KRW1Z0.d.mts → orchestrator-shared-CNHSImNY.d.mts} +9 -10
- package/dist/ownership-memory-handler-BpGdR_uG.mjs +1 -0
- package/dist/ownership-recovery-guard-DyW5vGBr.mjs +1 -0
- package/dist/{package-ypz4rKvn.mjs → package-B01gmu75.mjs} +1 -1
- package/dist/{package-Bf3hyuzs.d.mts → package-BNFTUFLB.d.mts} +2 -2
- package/dist/package-DttKA9wN.mjs +1 -0
- package/dist/{package-CddkNbZI.mjs → package-JtjbO-Oi.mjs} +1 -1
- package/dist/package.json +1 -1
- package/dist/{profile-BtznZlq3.mjs → profile-N5qGUpF0.mjs} +1 -1
- package/dist/{provider-context-Dh-VOOYF.mjs → provider-context-CG42JlP9.mjs} +1 -1
- package/dist/{provider-context-BrLZYnDW.mjs → provider-context-zTDSH2x9.mjs} +1 -1
- package/dist/{reaction-BS0k4eNN.mjs → reaction-D3TNwPK8.mjs} +1 -1
- package/dist/{registry-BO_bOoky.mjs → registry-Dk12tAfv.mjs} +1 -1
- package/dist/{resolved-DMByz1_2.mjs → resolved-sq8RXNDf.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/rules/schemas.mjs +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/code-execution/index.d.mts +3 -0
- package/dist/runtime-node/code-execution/index.mjs +1 -0
- package/dist/runtime-node/extension-discovery.d.mts +2 -2
- package/dist/runtime-node/extension-discovery.mjs +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 +6 -4
- package/dist/runtime-node/index.mjs +24 -24
- 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-DKTzriEY.d.mts → schema-B3Pf7JP7.d.mts} +250 -3
- package/dist/{schema-DBG7Jq5_.mjs → schema-Dq-7si8u.mjs} +1 -1
- package/dist/{schemas-DSkBOdx_.mjs → schemas-BfO5jkrL.mjs} +1 -1
- package/dist/{schemas-B7zo7Zcx.d.mts → schemas-C1mxTfd7.d.mts} +60 -4
- package/dist/schemas-C3kyQWGf.mjs +1 -0
- package/dist/{schemas-B3bfVYcL.d.mts → schemas-CF8QwRqt.d.mts} +2 -0
- package/dist/{schemas-DZH9lpxs.d.mts → schemas-OWvBn7AH.d.mts} +4 -4
- package/dist/{schemas-CsjN7cmM.mjs → schemas-QWDnauKX.mjs} +1 -1
- package/dist/schemas-TK29KWx-.mjs +1 -0
- package/dist/schemas-_2Syo_01.mjs +1 -0
- package/dist/scoped-bus-DoPmCJeM.mjs +1 -0
- package/dist/{selection-7Ku8DBnh.mjs → selection-DL3ric7K.mjs} +1 -1
- package/dist/services/adapter-runtime/index.d.mts +4 -4
- 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 +2 -2
- package/dist/services/adapter-runtime/schemas.mjs +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +3 -3
- 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/automation-trigger/index.mjs +1 -1
- package/dist/services/capability/index.d.mts +3 -2
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/code-execution/index.d.mts +2 -0
- package/dist/services/code-execution/index.mjs +1 -0
- 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 +1 -1
- 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/namespace.mjs +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/execution-target/schemas.mjs +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.d.mts +18 -0
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.d.mts +10 -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 +159 -59
- 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/materialization/index.d.mts +1 -1
- package/dist/services/materialization/index.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 +10 -10
- 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 +2 -2
- package/dist/services/session/storage/schema.mjs +1 -1
- package/dist/services/session/testing/index.d.mts +22 -1
- package/dist/services/session/testing/index.mjs +38 -14
- 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.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/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/services/workflow-transitions/index.d.mts +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/session-BOpTI79g.mjs +1 -0
- package/dist/session-CXOPk3yg.mjs +95 -0
- package/dist/{shared-BFVuCDPx.mjs → shared-B9AWRm9A.mjs} +1 -1
- package/dist/{skill-C1D51nhh.mjs → skill-DGNtc_ww.mjs} +1 -1
- package/dist/{src-xbmzokNe.mjs → src-BmSQ3rlz.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 +41 -2
- 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/tool-approval-service-BFDOFUGC.mjs +1 -0
- package/dist/{tools-DxwHox1a.mjs → tools-DWKWX3eV.mjs} +1 -1
- package/dist/{transition-C_Ka6b0-.d.mts → transition-DXmCUq6w.d.mts} +6 -6
- package/dist/{types-BNjPhj_a.d.mts → types-CtDGkyLx2.d.mts} +1 -1
- package/dist/types-Cwza95hS.mjs +1 -0
- package/dist/{types-CwvN4uN2.d.mts → types-DcxBYlPA.d.mts} +3018 -38
- package/dist/types-DnK6Wa_Y.d.mts +260 -0
- package/dist/{types-ClpEaoAm.d.mts → types-OKJCOjme.d.mts} +24 -4
- package/dist/ui-components/index.d.mts +4 -4
- package/dist/ui-kernel/index.d.mts +1 -1
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/utils/index.d.mts +22 -1
- package/dist/utils/index.mjs +2 -2
- package/dist/utils/project-manifest.mjs +1 -1
- package/dist/{version-BfNnVAGr.mjs → version-BYeVh1pI.mjs} +1 -1
- package/dist/{view-builder-KYsPqV-5.d.mts → view-builder-k82f5KFd.d.mts} +4 -4
- package/dist/{visibility-Dl1o2I01.mjs → visibility-DtDLRBdr.mjs} +1 -1
- package/dist/worker-node-CjuQb9hl.mjs +1 -0
- package/dist/{worker-node-DJ41Tr-F.mjs → worker-node-Dtf9ilsR.mjs} +1 -1
- package/dist/workflow-C4mck_NW.mjs +1 -0
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/index.d.mts +103 -103
- 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/provider-operation.d.mts +1 -1
- package/dist/workflow-engine/testing/index.d.mts +2 -2
- package/dist/workflow-engine/testing/index.mjs +1 -1
- package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
- package/dist/workflow-engine/testing/sqlite.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-DM0fN_eP.mjs → workflow-transitions-c_VQbyV0.mjs} +1 -1
- package/dist/workflow-worker-aNbdgqml.mjs +1 -0
- package/package.json +18 -1
- package/dist/adapter-BkdJaOOG.mjs +0 -1
- package/dist/agent-namespace-D51PODFf.mjs +0 -1
- package/dist/attach-error-BSlc7JfL.mjs +0 -1
- package/dist/bus-BIj0_aG6.mjs +0 -1
- package/dist/capabilities-Bqckjh7G.mjs +0 -1
- package/dist/capability-service-CJHNkjvm.mjs +0 -1
- package/dist/event-DR8U9Efx.mjs +0 -1
- package/dist/framework-packages-D_2hBZ-p.mjs +0 -1
- package/dist/handlers-2yd00VEq.mjs +0 -57
- package/dist/identity-DC3Pk0ps.mjs +0 -1
- package/dist/index-OsbtyMgx2.d.mts +0 -98
- package/dist/json-value-C1RGgS0a.d.mts +0 -72
- package/dist/json-value-D57aJhVn.mjs +0 -1
- package/dist/model-ZH3L1dPW.mjs +0 -1
- package/dist/namespace-CxrOLeeP.mjs +0 -1
- package/dist/orchestrator-shared-CTCZc6Vl.mjs +0 -1
- package/dist/ownership-memory-handler-Bblp93YC.mjs +0 -1
- package/dist/schemas-BqD8LlQw.mjs +0 -1
- package/dist/schemas-CvHFbzdy.mjs +0 -1
- package/dist/schemas-DplrlAyR.mjs +0 -1
- package/dist/scoped-bus-ClwTWqX8.mjs +0 -1
- package/dist/session-BMy2kRpX.mjs +0 -90
- package/dist/session-Cipx34j6.mjs +0 -1
- package/dist/tool-approval-service-BVgN9Q1r.mjs +0 -1
- package/dist/worker-node-BDOYPEpi.mjs +0 -1
- package/dist/workflow-Hzc5jlnV.mjs +0 -1
- package/dist/workflow-worker-DARC7UZl.mjs +0 -1
- /package/dist/{adapter-auth-runtime-D9Lnl7cc.mjs → adapter-auth-runtime-DHHppU4f.mjs} +0 -0
- /package/dist/{adapter-binding-B-FBoCys.d.mts → adapter-binding-CATvmGuz.d.mts} +0 -0
- /package/dist/{ajv-L5fKxaia.mjs → ajv-krzJXh1X.mjs} +0 -0
- /package/dist/{attempt-record-codec-DaFLKR5C.mjs → attempt-record-codec-BYfYkj4M.mjs} +0 -0
- /package/dist/{await-trigger-ph1S0zVI.mjs → await-trigger-Bkg2BQfg.mjs} +0 -0
- /package/dist/{base-orchestrator-D9u4NyiM.d.mts → base-orchestrator-B4YW6z_Q.d.mts} +0 -0
- /package/dist/{index-Ol9RBB0W2.d.mts → capability-service-BW1-teFU.d.mts} +0 -0
- /package/dist/{client-4ihewPUm.d.mts → client-BG0WX5Vz.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-DJajc_Ff.mjs → client-binary-version-verifier-0lCKZOTg.mjs} +0 -0
- /package/dist/{client-binary-version-verifier-jDDZ64Ah.d.mts → client-binary-version-verifier-lcv83Hq3.d.mts} +0 -0
- /package/dist/{clients-namespace-DFWuUawf.d.mts → clients-namespace-DLAjOTTb.d.mts} +0 -0
- /package/dist/{config-namespace-D1kyZj0B.d.mts → config-namespace-CH7sJZ4f.d.mts} +0 -0
- /package/dist/{create-static-mount-9tnGpIeK.mjs → create-static-mount-DxuixuLZ.mjs} +0 -0
- /package/dist/{cross-spawn-BIgueAqr.mjs → cross-spawn-CZygZJMH.mjs} +0 -0
- /package/dist/{cursor-storage-ROWfiTh1.mjs → cursor-storage-bsc9lZKk.mjs} +0 -0
- /package/dist/{definition-DB-kKc0d.d.mts → definition-BrgzUuFk.d.mts} +0 -0
- /package/dist/{definitions-CF6YmEhL.mjs → definitions-CRpdnHYM.mjs} +0 -0
- /package/dist/{descriptor-to-package-BecVCopf.mjs → descriptor-to-package-CcjdoWP4.mjs} +0 -0
- /package/dist/{drizzle-CPv3vdTE.mjs → drizzle-Bzc-OGVI.mjs} +0 -0
- /package/dist/{esm-CBFWM8u_.mjs → esm-i-S5TW72.mjs} +0 -0
- /package/dist/{extension-context-DzB7ydM3.d.mts → extension-context-QmFuHdq5.d.mts} +0 -0
- /package/dist/{extension-namespace-B554RmCp.mjs → extension-namespace-QoTTwKPt.mjs} +0 -0
- /package/dist/{extension-package-provenance-Dh_-Z-tE.mjs → extension-package-provenance-aYrZuS4W.mjs} +0 -0
- /package/dist/{facet-DVsW12iF.mjs → facet-BnMh7Jyc.mjs} +0 -0
- /package/dist/{filesystem-service-Cm2RHKBa.d.mts → filesystem-service-ZJ43SbBi.d.mts} +0 -0
- /package/dist/{handler-Bqlk-6BY.mjs → handler-DF1fVDpf.mjs} +0 -0
- /package/dist/{host-k5yoyKHg.mjs → host-B-_ntOMH.mjs} +0 -0
- /package/dist/{index--atUpi5l2.d.mts → index-8NdPPzUh2.d.mts} +0 -0
- /package/dist/{index-DwLRZscE.d.mts → index-8y4hT9WL.d.mts} +0 -0
- /package/dist/{index-C7HcDpHE.d.mts → index-B-3I98nw.d.mts} +0 -0
- /package/dist/{index-BcvqDfcN.d.mts → index-B2Y1Wvbh.d.mts} +0 -0
- /package/dist/{index-BRCrFirq.d.mts → index-B4svZC6L.d.mts} +0 -0
- /package/dist/{index-CQuRTeRa.d.mts → index-B5dP8rj6.d.mts} +0 -0
- /package/dist/{index-CRmE88hi.d.mts → index-BC-6qNeo.d.mts} +0 -0
- /package/dist/{index-CxSSdIZz.d.mts → index-BFWvT0NG.d.mts} +0 -0
- /package/dist/{index-DP3o_13U.d.mts → index-BM56936c.d.mts} +0 -0
- /package/dist/{index-BVcQcphK.d.mts → index-BMRB9yhF.d.mts} +0 -0
- /package/dist/{index-bIe_57cL.d.mts → index-BTEJfzjE.d.mts} +0 -0
- /package/dist/{index-DgOfgjx3.d.mts → index-BfV8U4XX.d.mts} +0 -0
- /package/dist/{index-DBadVauL.d.mts → index-BmevAPME2.d.mts} +0 -0
- /package/dist/{index-OADt3xlS.d.mts → index-BuMsrli0.d.mts} +0 -0
- /package/dist/{index-BJAB-BW_.d.mts → index-C4V8Pmi4.d.mts} +0 -0
- /package/dist/{index-aoxdnhJ42.d.mts → index-CL0Jo1b92.d.mts} +0 -0
- /package/dist/{index-CvW9_SzR.d.mts → index-CVpaGijY.d.mts} +0 -0
- /package/dist/{index-E4SET1AA.d.mts → index-CmbkCxj-.d.mts} +0 -0
- /package/dist/{index-BgGe9WZz.d.mts → index-CqdMbYmR.d.mts} +0 -0
- /package/dist/{index-BeENojSx2.d.mts → index-DgspOUa72.d.mts} +0 -0
- /package/dist/{index-42UdYStR.d.mts → index-Ek4y8M9J2.d.mts} +0 -0
- /package/dist/{index-Beo_Ik8-.d.mts → index-VzLAV0Yt.d.mts} +0 -0
- /package/dist/{index-BSbGB23v.d.mts → index-jxPncqWZ2.d.mts} +0 -0
- /package/dist/{index-Bqm0ahTQ.d.mts → index-kzIjbrS02.d.mts} +0 -0
- /package/dist/{index-BJMezANn.d.mts → index-l01zsChf.d.mts} +0 -0
- /package/dist/{index-CK3f0bAL.d.mts → index-pvX-BIpr2.d.mts} +0 -0
- /package/dist/{jsonl-transport-Bp_6pB2a.mjs → jsonl-transport-Cyyh5Wje.mjs} +0 -0
- /package/dist/{lib-Bwdd2m81.mjs → lib-BqV8hYtk.mjs} +0 -0
- /package/dist/{model-registry-yURX738J.mjs → model-registry-C9rFu3kV.mjs} +0 -0
- /package/dist/{model-registry-Y854mUml.mjs → model-registry-Cixxx2jv.mjs} +0 -0
- /package/dist/{modes-DmUsjHdV.mjs → modes-DwsJ3yVl.mjs} +0 -0
- /package/dist/{namespace-ByP1Iipi.d.mts → namespace-B0ftHlK3.d.mts} +0 -0
- /package/dist/{namespace-C1D77w7U.d.mts → namespace-BGRHcrmp.d.mts} +0 -0
- /package/dist/{namespace-Bi3CmYQy.d.mts → namespace-BUYDmd0r.d.mts} +0 -0
- /package/dist/{namespace-CkBbNFSU.mjs → namespace-BW3Bfu9h.mjs} +0 -0
- /package/dist/{namespace-DX1Ec15L.d.mts → namespace-BdAK0lD8.d.mts} +0 -0
- /package/dist/{namespace-Dgg0uoe6.d.mts → namespace-CPG6u60N.d.mts} +0 -0
- /package/dist/{namespace-BusZERU8.d.mts → namespace-CVFaZv8x.d.mts} +0 -0
- /package/dist/{namespace-yREpGJgG.d.mts → namespace-DBO1OzYB.d.mts} +0 -0
- /package/dist/{namespace-CrDlawqu.d.mts → namespace-DOezqDti.d.mts} +0 -0
- /package/dist/{namespace-CfIW0hpQ.mjs → namespace-DiwqpB-c.mjs} +0 -0
- /package/dist/{namespace-s2y_NFKf.d.mts → namespace-DqZweTbX.d.mts} +0 -0
- /package/dist/{namespace-CFjdyNXG.mjs → namespace-Du0accdE.mjs} +0 -0
- /package/dist/{namespace-BFqkUTJp.mjs → namespace-NXm_zvL1.mjs} +0 -0
- /package/dist/{namespace-B9FEGuEu.mjs → namespace-jVTsuZHX.mjs} +0 -0
- /package/dist/{namespace-DwZwGXgF.d.mts → namespace-l-HG1rLF.d.mts} +0 -0
- /package/dist/{namespace-DbNWsPFY.mjs → namespace-tjoxekmf.mjs} +0 -0
- /package/dist/{out-DrhwCgqM.mjs → out-8bOYN6EF.mjs} +0 -0
- /package/dist/{package-CBdvjyyZ.mjs → package-EGTn-Ng1.mjs} +0 -0
- /package/dist/{packages-FBv3fAOR.mjs → packages-Bp124-gx.mjs} +0 -0
- /package/dist/{packages-N3-2Kl-Y.d.mts → packages-CxPMEg8D.d.mts} +0 -0
- /package/dist/{platform-BrsMv_S3.mjs → platform-CxyYPrkf.mjs} +0 -0
- /package/dist/{provider-operation-DJ_TLZFf.d.mts → provider-operation-DbdyFwNm.d.mts} +0 -0
- /package/dist/{providers-CCcn4Ndp.mjs → providers-C-eekMxD.mjs} +0 -0
- /package/dist/{providers-namespace-DeJBh6MP.d.mts → providers-namespace-CfZKp-C0.d.mts} +0 -0
- /package/dist/{quick-lru-uwB0hP-y.mjs → quick-lru-CCEnf7y6.mjs} +0 -0
- /package/dist/{schema-jIapW8Kb.mjs → schema-C0opCPww.mjs} +0 -0
- /package/dist/{schema-introspection-C1wvklj9.mjs → schema-introspection-6-r_KEJQ.mjs} +0 -0
- /package/dist/{schemas-CeUI2i5j.d.mts → schemas-B50oWBuj.d.mts} +0 -0
- /package/dist/{schemas-CD0wOQxx.d.mts → schemas-B6Q-qdmn.d.mts} +0 -0
- /package/dist/{schemas-DgwEVUt-.mjs → schemas-B8hKbBwI.mjs} +0 -0
- /package/dist/{schemas-sMoRnBdZ.d.mts → schemas-BGvkTiCx.d.mts} +0 -0
- /package/dist/{schemas-BNdiVBWh.mjs → schemas-BivbWRkG.mjs} +0 -0
- /package/dist/{schemas-Cg-Kwp8c.d.mts → schemas-ChmQldVH.d.mts} +0 -0
- /package/dist/{schemas-VbB1FTxx.d.mts → schemas-D7ScxLrf.d.mts} +0 -0
- /package/dist/{schemas-DvMbcABQ.d.mts → schemas-Dd0po67F.d.mts} +0 -0
- /package/dist/{schemas-Cv3rR9Sz.d.mts → schemas-Pe892GgN.d.mts} +0 -0
- /package/dist/{schemas-qA279_j_.d.mts → schemas-bfZNpl0B.d.mts} +0 -0
- /package/dist/{schemas-mLpOfMoN.mjs → schemas-scyC2tFF.mjs} +0 -0
- /package/dist/{semver-DTXuyLcK.mjs → semver-BI7kTNsY.mjs} +0 -0
- /package/dist/{server-lifecycle-DKx_fWlq.mjs → server-lifecycle-B_OZnoe-.mjs} +0 -0
- /package/dist/{server-lifecycle-C_8iKgat.d.mts → server-lifecycle-L8zja8t8.d.mts} +0 -0
- /package/dist/{session-lineage-D5E142LU.d.mts → session-lineage-bUkd3fqx.d.mts} +0 -0
- /package/dist/{shared-schemas-aahW97QW.mjs → shared-schemas-CQ6blrEW.mjs} +0 -0
- /package/dist/{src-DHqsl5Pg.mjs → src-BacfeiI4.mjs} +0 -0
- /package/dist/{storage-namespace-Dz2jsssp.mjs → storage-namespace-BZce8kkW.mjs} +0 -0
- /package/dist/{storage-namespace-Tf3P5yJ5.d.mts → storage-namespace-YmE8XCCL.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-CDef0E20.mjs → storage-namespace-definition-Cca-zwXU.mjs} +0 -0
- /package/dist/{supports-color-i7OTnKcZ.mjs → supports-color-SV_FgSN2.mjs} +0 -0
- /package/dist/{telemetry-BvCBUjFg.mjs → telemetry-BqoC87F-.mjs} +0 -0
- /package/dist/{timeout-B0nYjLc8.mjs → timeout-DVlN2Zhy.mjs} +0 -0
- /package/dist/{tray-menu-service-Deo6yyP8.mjs → tray-menu-service-eVVxgPLc.mjs} +0 -0
- /package/dist/{types-xCdGghb2.d.mts → types-BlB23n4f.d.mts} +0 -0
- /package/dist/{types-CNS55jvt.d.mts → types-DdpSEmTO.d.mts} +0 -0
- /package/dist/{types-Ce6LL25v.d.mts → types-tyv0B605.d.mts} +0 -0
- /package/dist/{ui-config-BIyGzMNL.mjs → ui-config-B35GloSX.mjs} +0 -0
- /package/dist/{variant-B4uWdxW7.mjs → variant-Dwnge3J_.mjs} +0 -0
- /package/dist/{window-registry-CoBJq3u4.mjs → window-registry-CKiMJjId.mjs} +0 -0
- /package/dist/{window-registry-BLtVx3Iw.d.mts → window-registry-Pcf35cac.d.mts} +0 -0
- /package/dist/{zod-json-schema-BAGAFfCN.mjs → zod-json-schema-Dixc-B1T.mjs} +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./schema-jIapW8Kb.mjs";import{i as n,n as r,r as i}from"./namespace-B7bntOB8.mjs";import{TurnStorageSubjects as a}from"./services/turn/namespace.mjs";import{SessionStorageSubjects as o}from"./services/session/storage/namespace.mjs";import{n as s}from"./agent-namespace-D51PODFf.mjs";import{AdapterRuntimeSubjects as c}from"./services/adapter-runtime/namespace.mjs";import{r as l}from"./namespace-BFqkUTJp.mjs";import{ProviderStorageSubjects as u}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as d}from"./services/execution-target/namespace.mjs";import"./services/session/turns/namespace.mjs";import{MessageStorageSubjects as f}from"./services/session/messages/namespace.mjs";import{n as p}from"./identity-DC3Pk0ps.mjs";import{a as m,o as h}from"./provider-context-Dh-VOOYF.mjs";import{n as g,t as _}from"./attach-error-BSlc7JfL.mjs";import{ExtractedContextSchema as v}from"./services/compression/schemas.mjs";import{PreferencesSubjects as ee}from"./services/preferences/storage-namespace.mjs";import{AdapterSubjects as y,AgentResolutionSubjects as b,AgentSubjects as x,ProviderContextSchema as te,SessionOwnershipStorageSubjects as S,SessionSubjects as C,TurnInitiatorSchema as ne,TurnUsageSchema as re,resolveResumableAdapterSessionId as ie}from"@makaio/framework/contracts";import{defineDialectSchema as ae,getRawSqlExecutor as oe,getStorageEngine as se,resolveSchema as w}from"@makaio/framework/storage/drizzle";import{and as T,asc as E,desc as ce,eq as D,gt as le,inArray as ue,lt as de,sql as O}from"drizzle-orm";import{HookAbortError as fe}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as pe}from"@makaio/framework/services/adapter-runtime";import{resolveRuntimeProviderContext as me}from"@makaio/framework/services/provider-context";function he(e,t,n,i){return e.on(r.append,e=>{let{event:r}=e.payload,a=t.get(r.sessionId)??[];if(n.has(r.eventId)){e.setResult({success:!0});return}a.push(r),t.set(r.sessionId,a),n.set(r.eventId,i()),e.setResult({success:!0})})}function ge(e,t,n){return e.on(r.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 _e(e,t){return e.on(r.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 ve(e,t,n){return e.on(r.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 ye(e,t){return e.on(r.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 be(e){let t=new Map,n=new Map,r=1,i=[he(e,t,n,()=>r++),ge(e,t,n),_e(e,t),ve(e,t,n),ye(e,t)];return()=>i.forEach(e=>e())}const xe=n.postgres,Se=ae({sessionEvents:i},{sessionEvents:xe}),Ce=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function we(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))Ce.includes(e)||(n[e]=r);return n}function Te(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 Ee(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 De(e.payload)}}function De(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 Oe({bus:e,db:t,sessionEvents:n}){return e.on(r.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:Ee(r),payload:JSON.stringify(we(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function ke({bus:e,db:t,sessionEvents:n}){return e.on(r.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[D(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(de(n.id,e)):a.push(le(n.id,e)))}i?.types&&i.types.length>0&&a.push(ue(n.type,i.types));let s=i?.limit??100,c=o===`desc`?ce:E,l=await t.select().from(n).where(T(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(Te),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function Ae({bus:e,db:t,sessionEvents:n}){return e.on(r.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(T(D(n.sessionId,r),ue(n.eventId,i))).orderBy(E(n.timestamp))).map(Te);e.setResult({events:a})})}function je({bus:e,db:t,sessionEvents:n}){return e.on(r.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(D(n.sessionId,r))).length;await t.delete(n).where(D(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function Me({bus:e,db:t,sessionEvents:n}){return e.on(r.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(T(D(n.sessionId,e),ue(n.type,i))).orderBy(ce(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(Te))}e.setResult({eventsBySession:o})})}function Ne(e,t){let{sessionEvents:n}=w(t,Se),r={bus:e,db:t,sessionEvents:n},i=[Oe(r),ke(r),Ae(r),je(r),Me(r)];return()=>i.forEach(e=>e())}async function k(e,t,n){let i={sessionId:t.sessionId,eventId:t.eventId??crypto.randomUUID(),timestamp:t.timestamp??Date.now(),type:t.type,payload:t.payload},a=n?n(i):i;a&&await e.requestOptional(r.append,{event:a})}async function Pe(e,t){await k(e,{type:`turn.started`,sessionId:t.sessionId,eventId:`turn.started:${t.turnId}`,payload:t});try{await e.emit(C.turn.started,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit turn.started for turn ${t.turnId}:`,e)}}async function Fe(e,t){try{await e.emit(C.user_message.sent,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit user_message.sent for turn ${t.turnId}:`,e)}}function Ie(e,t){let n=[e.on(C.agent.added,async n=>{await Le(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(C.branch.created,async n=>{await Le(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function Le(e,t,n){try{await k(e,t,n)}catch(e){console.warn(`[session-lifecycle-events] Failed to persist subscription lifecycle event`,{type:t.type,sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}async function A(e,t){let{verdict:n}=t;if(n.kind===`native`)return;let r=crypto.randomUUID(),i=Date.now(),a={sessionId:t.sessionId,eventId:r,timestamp:i,intent:t.intent,...t.agentId!==void 0&&{agentId:t.agentId},...t.adapterId!==void 0&&{adapterId:t.adapterId},...t.turnId!==void 0&&{turnId:t.turnId}},o=n.kind===`degrade`?{...a,verdictKind:`degrade`,reason:n.reason}:{...a,verdictKind:`foreign`,foreignMachineId:n.machineId};try{await k(e,{type:`locality.degraded`,sessionId:t.sessionId,eventId:r,timestamp:i,payload:o})}catch(e){console.warn(`[session-lifecycle-events] Failed to persist locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}try{await e.emit(C.locality.degraded,o)}catch(e){console.warn(`[session-lifecycle-events] Failed to emit live locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}async function Re(e,t){let n=await j(e,t.sessionId);if(n===null)return{outcome:`not-found`};let r=await Be(e,n);if(r.kind===`unresolved`)return{outcome:`unresolved`,sessionId:n.sessionId};let i=r.session;if(i.status!==`closed`)return{outcome:`unchanged`,sessionId:i.sessionId};let a=await e.bus.requestOptional(o.update,{sessionId:i.sessionId,status:`active`,expectedStatus:[`closed`]});return!a.handled||!a.data.success?ze(e,i.sessionId):(await e.bus.emit(C.updated,{sessionId:i.sessionId,changedProperties:[`status`]}),{outcome:`reopened`,sessionId:i.sessionId})}async function ze(e,t){return await j(e,t)===null?{outcome:`not-found`}:{outcome:`unchanged`,sessionId:t}}async function j(e,t){let n=await e.bus.requestOptional(o.get,{sessionId:t});return n.handled?n.data.session:null}async function Be(e,t){if(t.branchKind!==`compress`)return{kind:`root`,session:t};if(t.rootSessionId!==void 0){let n=await j(e,t.rootSessionId);return n===null||n.branchKind===`compress`?{kind:`unresolved`}:{kind:`root`,session:n}}let n=t;for(let t=0;t<64;t+=1){if(n.parentSessionId===void 0)return{kind:`unresolved`};let t=await j(e,n.parentSessionId);if(t===null)return{kind:`unresolved`};if(t.branchKind!==`compress`)return{kind:`root`,session:t};n=t}return{kind:`unresolved`}}async function Ve(e,t,n){let r=await Ue(e,n.agentId);return r===He?null:r===null?`agent-gone`:r.status===`disposed`?`agent-disposed`:t===`machine-exclusive`?await We(e,n.adapterId)?null:`adapter-instance-gone`:null}const He=Symbol(`inconclusive`);async function Ue(e,t){try{let n=await e.requestOptional(s.get,{agentId:t});return n.handled?n.data.agent:He}catch{return He}}async function We(e,t){try{return(await e.requestOptional(y.listAgents,{adapterId:t})).handled}catch{return!1}}async function Ge(e){let{machineId:t}=e;if(t===void 0)return{outcome:`skipped`,reason:`machine-identity-unavailable`};let n=await e.bus.requestOptional(S.listClaims,{machineId:t});if(!n.handled)return{outcome:`reconciled`,machineId:t,claims:[]};let r=[];for(let t of n.data.claims){let n=await Ve(e.bus,e.topology,t);if(n===null){r.push({claim:t,verdict:`retained`});continue}let i=await e.bus.request(S.release,{agentId:t.agentId,claimToken:t.claimToken,disposition:`abandoned`});r.push({...Ke(t,i),reason:n})}return{outcome:`reconciled`,machineId:t,claims:r}}function Ke(e,t){switch(t.outcome){case`marked`:return{claim:t.claim,verdict:`abandoned`};case`not-owner`:return{claim:t.holder,verdict:`vanished`};case`released`:case`not-found`:return{claim:e,verdict:`vanished`}}}async function qe(e,t){let n=await e.bus.requestOptional(S.releaseAgentClaims,{agentId:t.agentId,...t.claimToken!==void 0&&{claimToken:t.claimToken},disposition:t.disposition});return n.handled?n.data:{releasedProviderSessionIds:[],markedClaims:[],claimTokenNotFound:t.claimToken!==void 0}}function M(){return crypto.randomUUID()}const Je={machineId:`keyless-designation`,adapterId:`keyless-designation`,adapterName:`keyless-designation`};async function Ye(e,t){let n=await e.requestOptional(S.claim,{...Je,providerSessionId:null,sessionId:t.sessionId,agentId:t.agentId,claimToken:M(),designateLead:{expectedLeadAgentId:t.expectedLeadAgentId,...t.clear===!0&&{clear:!0}}});return n.handled?n.data:void 0}function Xe(e,t){return t??e.machineId}async function Ze(e,t){let n=Xe(e,t.machineId),r=t.resumeProviderSessionId===null;if(n===void 0&&!r)return{outcome:`machine-identity-unavailable`};let i=n??Je.machineId,a={machineId:i,adapterId:t.adapterId,adapterName:t.adapterName,providerSessionId:t.resumeProviderSessionId,sessionId:t.sessionId,agentId:t.agentId,claimToken:M(),...t.role===`lead`&&{designateLead:{expectedLeadAgentId:t.expectedLeadAgentId??null}}},o=await e.bus.request(S.claim,a);switch(o.outcome){case`claimed`:case`idempotent`:return{outcome:`reserved`,reservation:{agentId:t.agentId,sessionId:t.sessionId,machineId:i,adapterId:t.adapterId,claim:o.claim,leadDesignated:o.leadDesignated,previousLeadAgentId:o.previousLeadAgentId}};case`already-claimed`:return{outcome:`occupied`,holder:o.holder};case`lead-conflict`:return{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId};case`agent-disposed`:return{outcome:`agent-disposed`};case`not-found`:return{outcome:`not-found`,missing:o.missing}}}function Qe(e,t){return e.confirmed?{kind:`confirmed`,providerSessionId:e.providerSessionId,claimToken:t}:{kind:`demote`,claimToken:t}}async function $e(e,t){let n=Xe(e,t.machineId);if(n===void 0)return{outcome:`machine-identity-unavailable`};let r=t.claimToken??M();for(let i=0;;i+=1){let{ownership:a}=await e.bus.request(S.read,{agentId:t.agentId});if(a===null)return{outcome:`not-found`};let o=await e.bus.request(S.settleMovement,{machineId:n,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,agentId:t.agentId,expectedRevision:a.revision,movement:Qe(t.movement,r)});if(o.outcome!==`currency-changed`||i>=1)return o}}function et(e){let{bus:t}=e,n=[t.on(C.ownership.reserveStart,async t=>{t.setResult(await Ze(e,t.payload))}),t.on(C.ownership.settleMovement,async t=>{t.setResult(await $e(e,t.payload))}),t.on(C.ownership.release,async t=>{t.setResult(await qe(e,t.payload))}),t.on(C.ownership.reconcile,async t=>{t.setResult(await Ge(e))}),t.on(C.ownership.continuation,async t=>{t.setResult(await Re(e,t.payload))})];return()=>{for(let e=n.length-1;e>=0;--e)n[e]?.()}}const N=new Map;function tt(e,t){let n=(N.get(e)??Promise.resolve()).then(t),r=n.then(()=>void 0,()=>void 0);return N.set(e,r),r.then(()=>{N.get(e)===r&&N.delete(e)}),n}function nt(e){return e.on(x.adapterSession.moved,async t=>{let{agentId:n,adapterId:r,adapterName:i,sessionId:a,adapterSessionId:o,confirmed:s}=t.payload;if(a===void 0||s!==(o!==void 0))return;let c=o===void 0?{confirmed:!1}:{confirmed:!0,providerSessionId:o};await tt(n,async()=>{await rt(e,{agentId:n,adapterId:r,adapterName:i,sessionId:a},c)})})}var P=class extends Error{outcome;constructor(e,t,n){super(`[session.ownership] movement for agent ${e} was not settled: ${t}`,n),this.name=`MovementNotSettledError`,this.outcome=t}};async function rt(e,t,n){let r;try{let i=await e.requestOptional(s.get,{agentId:t.agentId}),a=i.handled?i.data.agent:null;if(a===null)throw new P(t.agentId,`agent-row-unreadable`);if(a.adapterName!==t.adapterName||a.adapterId!==t.adapterId)throw new P(t.agentId,`adapter-mismatch`);let o=await e.requestOptional(C.ownership.settleMovement,{sessionId:t.sessionId,agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,movement:n});if(!o.handled)throw new P(t.agentId,`authority-unavailable`);if(o.data.outcome===`settled`||o.data.outcome===`idempotent`)return;r=o.data.outcome}catch(e){throw e instanceof P?e:new P(t.agentId,`settle-failed`,{cause:e})}throw new P(t.agentId,r)}const F=new Map;function I(e,t){let n=F.get(e);if(n!==void 0)return{joined:!0,settled:n.settled};let r=()=>void 0,i=new Promise(e=>{r=e}),a,o=(async()=>{await i;try{return await t()}finally{F.get(e)===a&&F.delete(e)}})();return a={settled:o},F.set(e,a),r(),{joined:!1,settled:o}}function it(e){return F.get(e)}function at(e,t){return t?.hasNewTransforms===!0||e.forkTransforms!==void 0}function ot(e,t){return e.adapterName!==void 0&&t!==e.adapterName}function st(e){if(e.resumeIdentity?.movedUnconfirmed===!0)return{kind:`degrade`,reason:`adapter-session-moved`};if(!(e.resumeIdentity?e.resumeIdentity.adapterSessionId:e.session.adapterSessionId))return{kind:`degrade`,reason:`no-adapter-session`}}function ct(e){let{session:t,sessionContext:n}=e;return e.adapterSupportsNative?ot(t,e.targetAdapterName)?{kind:`degrade`,reason:`adapter-mismatch`}:st(e)||(!t.machineId||!e.localMachineId?{kind:`degrade`,reason:`missing-machine-id`}:t.machineId===e.localMachineId?t.isImported&&t.isOrchestrated===!0?{kind:`degrade`,reason:`hybrid-imported-orchestrated`}:n?.hasCompression?{kind:`degrade`,reason:`compression-present`}:at(t,n)?{kind:`degrade`,reason:`transforms-present`}:n?.hasConnectorSwap?{kind:`degrade`,reason:`connector-swap`}:e.currentCwd&&e.targetCwd&&e.currentCwd!==e.targetCwd?{kind:`degrade`,reason:`cwd-mismatch`}:e.intent===`fork`&&t.forkPointMessageId&&e.midHistoryForkSupported!==!0?{kind:`degrade`,reason:`mid-history-unsupported`}:{kind:`native`}:{kind:`foreign`,machineId:t.machineId}):{kind:`degrade`,reason:`adapter-unsupported`}}const lt=Object.freeze({kind:`fresh-with-history`});function ut(e,t){return e.kind!==`native`||t===void 0?lt:{kind:`native-resume`,resumeAdapterSessionId:t}}function dt(e){return e.kind===`native-resume`?e.resumeAdapterSessionId:void 0}function ft(e){return e.kind===`fresh-with-history`}function pt(e){return{adapterSessionId:e.adapterSessionId??null,currentAdapterSessionId:e.currentAdapterSessionId??null,currentAdapterSessionIdState:e.currentAdapterSessionIdState??`inherited`}}function mt(e){return{adapterSessionId:ie(e)??void 0,movedUnconfirmed:e.currentAdapterSessionIdState===`moved`}}function L(e){return mt(pt(e))}function ht(e,t){return(t.currencyFence??0)>0?mt(pt(t)):e.leadAgentId===t.agentId||e.leadAgentId===void 0&&e.isImported===!0?L(e):mt(pt(t))}async function gt(e,t,n){let{adapterId:r}=await e.request(c.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function R(e,t){let{adapterName:n,adapterId:r,machineId:i,storedAdapterId:a}=t;if(r!==void 0)return i===void 0?void 0:{adapterId:r,machineId:i};let o=await gt(e,n,i).catch(e=>{console.debug(`[resolveOwnedAdapterInstance] no instance of ${n} resolvable for machine ${i??`<unscoped>`}:`,e)})??(i===void 0?a:void 0);if(o!==void 0)return i===void 0?{adapterId:o}:{adapterId:o,machineId:i}}async function _t(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(l.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(u.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function vt(e,t){let{executionTarget:n}=await e.request(d.resolve,t);return n}async function yt(e,t){let{instance:n}=t;return e.request(C.ownership.reserveStart,{sessionId:t.sessionId,agentId:t.agentId,adapterId:n.adapterId,adapterName:t.adapterName,role:t.role,resumeProviderSessionId:t.resumeProviderSessionId,...t.role===`lead`&&{expectedLeadAgentId:t.expectedLeadAgentId},...n.machineId!==void 0&&{machineId:n.machineId}})}var z=class extends Error{code;deferredAgentIds;constructor(e,t,n,r){super(t,{cause:n}),this.code=e,this.name=`SessionStartError`,r!==void 0&&(this.deferredAgentIds=r)}},bt=class{tokens=new Set;constructor(e=[]){for(let t of e)this.add(t)}add(e){e!=null&&this.tokens.add(e)}record(e){(e.outcome===`settled`||e.outcome===`idempotent`)&&this.add(e.claim?.claimToken)}toArray(){return[...this.tokens]}};async function xt(e,t,n,r){try{await e.requestOptional(C.ownership.release,{agentId:t,disposition:n,claimToken:r})}catch(e){console.debug(`[session.start] release for agent ${t} failed:`,e)}}async function St(e,t,n,r){for(let i of r.toArray())await xt(e,t,n,i)}async function Ct(e,t){if(!t.leadDesignated)return;let n=t.previousLeadAgentId,r=await Ye(e,{sessionId:t.sessionId,agentId:n??t.agentId,expectedLeadAgentId:t.agentId,...n===null&&{clear:!0}});r!==void 0&&r.outcome===`lead-conflict`&&console.debug(`[session.start] lead restore for session ${t.sessionId} abandoned: a newer designation stands`)}async function wt(e,t){if(t!==void 0)try{await Ct(e,t)}catch(e){console.debug(`[session.start] clearing the designation of agent ${t.agentId} failed:`,e)}}async function B(e,t,n){n!==void 0&&(n.claim!==null&&await xt(e,t,`released`,n.claim.claimToken),await wt(e,n)),await e.requestOptional(s.delete,{agentId:t})}async function V(e,t,n,r){await Et(e,t,`abandoned`,n,r)}async function Tt(e,t,n,r){await Et(e,t,`released`,n,r)}async function Et(e,t,n,r,i){await St(e,t,n,i),await wt(e,r.reservation),r.writesAgentStatus&&await Dt(e,t)}async function Dt(e,t){try{await e.requestOptional(s.updateStatus,{agentId:t,status:`dead`,expectedStatus:[`starting`]})}catch(e){console.debug(`[session.start] marking agent ${t} dead failed:`,e)}}function Ot(e){switch(e){case`settled`:case`idempotent`:return;case`already-claimed`:case`superseded`:case`not-owner`:return{code:`ownership-refused`,disposition:`abandoned`,stopConnector:!0,markDead:!0};case`agent-disposed`:case`not-found`:return{code:`agent-unavailable`,disposition:`released`,stopConnector:!0,markDead:!1};case`currency-changed`:case`machine-identity-unavailable`:return{code:`settlement-unresolved`,disposition:null,stopConnector:!1,markDead:!1}}}async function H(e,t,n){try{await e.requestOptional(y.stopAgent,{adapterId:t,agentId:n})}catch(e){console.debug(`[session.start] stopping agent ${n} failed:`,e)}}async function kt(e,t,n,r,i,a){a.record(r);let o=Ot(r.outcome);if(o!==void 0)throw o.disposition!==null&&await St(e,n,o.disposition,a),await wt(e,i.reservation),o.stopConnector&&await H(e,t,n),o.markDead&&i.writesAgentStatus&&await Dt(e,n),new z(o.code,`[session.start] settlement for agent ${n} was refused: ${r.outcome}`)}async function At(e,t){let n=await e.requestOptional(s.updateStatus,{agentId:t,status:`idle`,expectedStatus:[`starting`,`dead`]});return!n.handled||n.data.transitioned?`committed`:n.data.success?await jt(e,t)?`lost`:`no-op`:`lost`}async function jt(e,t){let n=await e.requestOptional(s.get,{agentId:t});if(!n.handled)return!1;let r=n.data.agent;return r===null||r.status===`disposed`}async function Mt(e,t,n){let r;try{r=await Nt(e,t,n)}catch(n){throw await Ft(e,t,n)}r!==void 0&&await kt(e,t.adapterId,t.agentId,r,t.policy,t.claimTokens);let i;try{await Pt(e,t,n),i=await At(e,t.agentId)}catch(n){throw await Ft(e,t,n)}if(i===`lost`)throw await V(e,t.agentId,t.policy,t.claimTokens),await H(e,t.adapterId,t.agentId),new z(`agent-unavailable`,`[session.start] agent ${t.agentId} was removed while its start was completing`)}async function Nt(e,t,n){let{agentId:r,adapterId:i}=t;if(n!==void 0)return e.request(C.ownership.settleMovement,{sessionId:t.sessionId,agentId:r,adapterId:i,adapterName:t.adapterName,movement:{confirmed:!0,providerSessionId:n},...t.settlementClaimToken!==void 0&&{claimToken:t.settlementClaimToken},...t.machineId!==void 0&&{machineId:t.machineId}})}async function Pt(e,t,n){let{agentId:r,providerConfigId:i}=t;if(!(n===void 0&&i===void 0)&&!(await e.request(s.updateRuntime,{agentId:r,...n!==void 0&&{adapterSessionId:n},...i!==void 0&&{providerConfigId:i}})).success)throw Error(`[session.start] recording the origin session of agent ${r} was refused`)}async function Ft(e,t,n){return It(e,{adapterId:t.adapterId,agentId:t.agentId,attemptKind:`start`,policy:t.policy,claimTokens:t.claimTokens},n)}async function It(e,t,n){let{adapterId:r,agentId:i,attemptKind:a,policy:o,claimTokens:s}=t;return await V(e,i,o,s),await H(e,r,i),await jt(e,i)?new z(`agent-unavailable`,`[session.start] agent ${i} was removed while its ${a} was completing`,n):new z(`settlement-unresolved`,`[session.start] completing the ${a} of agent ${i} did not resolve`,n)}async function Lt(e,t){return e.request(y.rehydrateAgent,{adapterId:t.adapterId,agentId:t.agentId,...t.cwd!==void 0&&{cwd:t.cwd},...t.model!==void 0&&{model:t.model},...t.resumeProviderSessionId!==null&&{resumeAdapterSessionId:t.resumeProviderSessionId},...t.callerOwnsAgentRow===!0&&{callerOwnsAgentRow:!0}})}const U={writesAgentStatus:!0},Rt={writesAgentStatus:!1};function zt(e,t){return t===void 0?new z(`start-failed`,`[session.start] recovery of agent ${e} produced no result`):t.kind===`lost`?new z(`agent-unavailable`,`[session.start] agent ${e} was removed or claimed by another runtime while it was recovered`):new z(t.outcome===`agent-disposed`||t.outcome===`not-found`?`agent-unavailable`:`start-failed`,`[session.start] recovery of agent ${e} was refused: ${t.message??t.outcome}`)}async function Bt(e,t){let{agent:n}=t;if(n.status===`disposed`)return{kind:`refused`,outcome:`agent-disposed`};let r=await Vt(e,n);if(r===`not-found`)return{kind:`refused`,outcome:`not-found`};if(r===`lost`)return{kind:`lost`};let i=await Ut(e,t,r);return i.kind===`settled`?i.outcome:Wt(e,t,i.reservation,r)}async function Vt(e,t){let n=Ht(t.status),r=await e.requestOptional(s.updateStatus,{agentId:t.agentId,status:`starting`,expectedStatus:[n]});return!r.handled||r.data.transitioned?{agentId:t.agentId,priorStatus:n}:r.data.success?`lost`:`not-found`}function Ht(e){return e===`idle`||e===`active`?e:`dead`}async function W(e,t){await e.requestOptional(s.updateStatus,{agentId:t.agentId,status:t.priorStatus,expectedStatus:[`starting`]})}async function Ut(e,t,n){let{agent:r,instance:i,resumeProviderSessionId:a,sessionId:o}=t,s;try{s=await yt(e,{sessionId:o,agentId:r.agentId,adapterName:r.adapterName,instance:i,role:`member`,resumeProviderSessionId:a})}catch(t){throw await W(e,n),t}return s.outcome===`reserved`?{kind:`reserved`,reservation:s.reservation}:(await W(e,n),s.outcome===`occupied`||s.outcome===`machine-identity-unavailable`?{kind:`settled`,outcome:{kind:`deferred`,reason:s.outcome}}:{kind:`settled`,outcome:{kind:`refused`,outcome:s.outcome}})}async function Wt(e,t,n,r){let{agent:i,resumeProviderSessionId:a}=t,{adapterId:o}=t.instance,s=i.agentId,c=M(),l=new bt([n.claim?.claimToken,c]),u;try{u=await Lt(e,{agentId:s,adapterId:o,resumeProviderSessionId:a,callerOwnsAgentRow:!0,...t.cwd!==void 0&&{cwd:t.cwd},...t.model!==void 0&&{model:t.model}})}catch(t){throw await V(e,s,U,l),await H(e,o,s),t}if(!u.success)return await Tt(e,s,Rt,l),await W(e,r),{kind:`refused`,outcome:`rehydrate-refused`,message:u.message};let d=u.adapterSessionId??a;i.adapterId=o;let f;try{d!==null&&(f=await Kt(e,t,d,c))}catch(t){throw await Jt(e,o,s,l,t)}f!==void 0&&await kt(e,o,s,f,U,l);try{return await Gt(e,s,o),await qt(e,t,l)}catch(t){throw await Jt(e,o,s,l,t)}}async function Gt(e,t,n){if(!(await e.request(s.updateRuntime,{agentId:t,adapterId:n})).success)throw Error(`[session.start] binding agent ${t} to adapter instance ${n} was refused`)}async function Kt(e,t,n,r){let{agent:i,sessionId:a}=t,{adapterId:o,machineId:s}=t.instance;return e.request(C.ownership.settleMovement,{sessionId:a,agentId:i.agentId,adapterId:o,adapterName:i.adapterName,movement:{confirmed:!0,providerSessionId:n},claimToken:r,...s!==void 0&&{machineId:s}})}async function qt(e,t,n){let{agent:r,resumeProviderSessionId:i}=t,{adapterId:a}=t.instance;return await At(e,r.agentId)===`lost`?(await V(e,r.agentId,U,n),await H(e,a,r.agentId),{kind:`lost`}):{kind:`rehydrated`,agent:r,native:i!==null}}async function Jt(e,t,n,r,i){return It(e,{adapterId:t,agentId:n,attemptKind:`rehydrate`,policy:U,claimTokens:r},i)}function Yt(e){if(e===null)return`drop`;switch(e.status){case`idle`:case`active`:return`use`;case`dead`:return`recover`;case`disposed`:return`drop`;case`starting`:return}}async function Xt(e,t){await e.requestOptional(s.updateStatus,{agentId:t,status:`idle`,expectedStatus:[`dead`]})}async function Zt(e,t,n){let r=await e.requestOptional(s.get,{agentId:t});return r.handled?r.data.agent:n}async function Qt(e,t){let n=t;for(let r=0;r<2;r+=1){let r=it(t.agentId);if(r!==void 0)await r.settled.catch(()=>void 0);else{let r=await e.requestOptional(s.updateStatus,{agentId:t.agentId,status:`dead`,expectedStatus:[`starting`]});if(!r.handled||r.data.transitioned)return{resolution:`recover`,row:await Zt(e,t.agentId,n??t),arbitrated:!0}}n=await Zt(e,t.agentId,n??t);let i=Yt(n);if(i!==void 0)return{resolution:i,row:n,arbitrated:!1}}throw new z(`start-unresolved`,`[session.start] agent ${t.agentId} is still starting after joining and arbitrating its start`)}async function $t(e,t){let n=new Set,r=new Set,i=new Set,a=new Map;for(let o of t.agents){if(o.status!==`starting`)continue;let{resolution:t,row:s,arbitrated:c}=await Qt(e,o);t===`drop`&&n.add(o.agentId),t===`recover`&&(r.add(o.agentId),c&&i.add(o.agentId)),s!==null&&a.set(o.agentId,s)}return(n.size>0||a.size>0)&&(t.agents=t.agents.filter(e=>!n.has(e.agentId)).map(e=>a.get(e.agentId)??e)),{droppedAgentIds:n,recoveringAgentIds:r,arbitratedAgentIds:i}}async function en(e,t){let{agent:n}=t;for(let r=0;r<=1;r+=1){let r,i=I(n.agentId,async()=>(r=await Bt(e,t),r.kind===`rehydrated`?`connected`:`no-connector`));if(!i.joined)return await i.settled,r;let a=await tn(e,n,i.settled);if(a!==`retry`)return a}throw new z(`start-unresolved`,`[session.start] recovery of agent ${n.agentId} did not resolve after joining and re-entering its start`)}async function tn(e,t,n){let r,i=await n.catch(e=>(r={error:e},`no-connector`));if(r!==void 0)throw new z(`start-failed`,`[session.start] recovery of agent ${t.agentId} was joined from another attempt, which failed`,r.error);let a=await Zt(e,t.agentId,t);if(a!==null&&Object.assign(t,a),i===`no-connector`)return`retry`;switch(Yt(a)){case`use`:return{kind:`joined`,agent:t};case`drop`:return{kind:`refused`,outcome:a===null?`not-found`:`agent-disposed`};case`recover`:return`retry`;case void 0:return`retry`}}async function nn(e,t,n){let r=await R(e,{adapterName:t.adapterName,storedAdapterId:t.adapterId,...n.machineId!==void 0&&{machineId:n.machineId}});if(r===void 0)return{deferred:!0};let i=await en(e,{agent:t,sessionId:t.sessionId,instance:r,resumeProviderSessionId:n.resumeProviderSessionId});return rn(t.agentId,i)}function rn(e,t){switch(t?.kind){case`rehydrated`:case`joined`:return{deferred:!1};case`deferred`:return{deferred:!0};default:throw zt(e,t)}}const an=e.postgres,G=ae({turns:t},{turns:an});async function on(e,t){let n=se(e.dialect);for(let r=1;;r++)try{await e.run(t());return}catch(e){if(r>=32||!n.capabilities.maxCounterAssignmentRaces||!n.errors.isUniqueViolationError(e,`uniq_turns_session_number`))throw e}}function sn(e){if(e)try{let t=JSON.parse(e),n=re.safeParse(t);return n.success?n.data:void 0}catch{return}}function cn(e){return e?JSON.stringify(e):null}function ln(e){if(e)try{let t=JSON.parse(e),n=ne.safeParse(t);return n.success?n.data:void 0}catch{return}}function K(e){let t=ln(e.initiator);return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:sn(e.usage),...t!==void 0&&{initiator:t}}}function un(e,t){let n=[dn(e,t),fn(e,t),pn(e,t),mn(e,t),hn(e,t),gn(e,t),_n(e,t),vn(e,t)];return()=>n.forEach(e=>e())}function dn(e,t){let n=oe(t),{turns:r}=w(t,G);return e.on(a.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=cn(o);await on(n,()=>O`
|
|
3
|
-
WITH next_num AS (
|
|
4
|
-
SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
|
|
5
|
-
FROM turns
|
|
6
|
-
WHERE session_id = ${i}
|
|
7
|
-
)
|
|
8
|
-
INSERT INTO turns (turn_id, session_id, turn_number, started_at, status, initiator)
|
|
9
|
-
SELECT ${c}, ${i}, n, ${s}, ${`active`}, ${l}
|
|
10
|
-
FROM next_num
|
|
11
|
-
`);let[u]=await t.select({turnNumber:r.turnNumber}).from(r).where(D(r.turnId,c)),d={turnId:c,sessionId:i,turnNumber:u.turnNumber,startedAt:s,status:`active`,...o!==void 0&&{initiator:o}};e.setResult({turn:d})})}function fn(e,t){let n=oe(t),{turns:r}=w(t,G);return e.on(a.ingestCompleted,async e=>{let{sessionId:i,turnAnchorId:a,startedAt:o,completedAt:s,status:c,error:l,usage:u,initiator:d}=e.payload,f=crypto.randomUUID(),p=cn(d),m=u===void 0?null:JSON.stringify(u);await on(n,()=>O`
|
|
12
|
-
WITH next_num AS (
|
|
13
|
-
SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
|
|
14
|
-
FROM turns
|
|
15
|
-
WHERE session_id = ${i}
|
|
16
|
-
)
|
|
17
|
-
INSERT INTO turns (turn_id, session_id, turn_number, started_at, completed_at, status, error, usage, initiator, turn_anchor_id)
|
|
18
|
-
SELECT ${f}, ${i}, n, ${o}, ${s}, ${c}, ${l??null}, ${m}, ${p}, ${a}
|
|
19
|
-
FROM next_num
|
|
20
|
-
WHERE true
|
|
21
|
-
ON CONFLICT(session_id, turn_anchor_id) DO UPDATE SET
|
|
22
|
-
completed_at = excluded.completed_at,
|
|
23
|
-
status = excluded.status,
|
|
24
|
-
error = excluded.error,
|
|
25
|
-
usage = excluded.usage
|
|
26
|
-
`);let[h]=await t.select().from(r).where(T(D(r.sessionId,i),D(r.turnAnchorId,a))).limit(1);e.setResult({turn:K(h),created:h.turnId===f})})}function pn(e,t){let{turns:n}=w(t,G);return e.on(a.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=Date.now(),l=a?T(D(n.turnId,r),D(n.status,a),O`${n.status} not in ('completed', 'error')`):T(D(n.turnId,r),O`${n.status} not in ('completed', 'error')`),u={completedAt:c,status:i,error:o??null,...s!==void 0&&{usage:s===null?null:JSON.stringify(s)}},[d]=await t.update(n).set(u).where(l).returning();if(d){e.setResult({turn:K(d),transitioned:!0});return}let[f]=await t.select().from(n).where(D(n.turnId,r)).limit(1);if(!f)throw Error(`Turn not found: ${r}`);if(a){e.setResult({turn:K(f),transitioned:!1});return}if(!(f.status===`completed`||f.status===`error`)||s===void 0){e.setResult({turn:K(f),transitioned:!1});return}let[p]=await t.update(n).set({usage:s===null?null:JSON.stringify(s)}).where(T(D(n.turnId,r),O`${n.status} in ('completed', 'error')`)).returning();e.setResult({turn:K(p??f),transitioned:!1})})}function mn(e,t){let{turns:n}=w(t,G);return e.on(a.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null,initiator:cn(r.initiator)};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function hn(e,t){let{turns:n}=w(t,G);return e.on(a.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(D(n.turnId,r)).limit(1);e.setResult({turn:i?K(i):null})})}function gn(e,t){let{turns:n}=w(t,G);return e.on(a.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(D(n.sessionId,r)).orderBy(E(n.turnNumber));a&&(o=t.select().from(n).where(T(D(n.sessionId,r),D(n.status,a))).orderBy(E(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(K)})})}function _n(e,t){let{turns:n}=w(t,G);return e.on(a.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(T(D(n.sessionId,r),D(n.status,`active`))).orderBy(ce(n.turnNumber)).limit(1);e.setResult({turn:i?K(i):null})})}function vn(e,t){let{turns:n}=w(t,G);return e.on(a.listActive,async e=>{let r=await t.select().from(n).where(D(n.status,`active`)).orderBy(E(n.startedAt));e.setResult({turns:r.map(K)})})}function yn(e){let t=new Map,n=new Map,r=new Map,i=bn(t,n,r),a=new Map,o=[xn(e,i,r),Sn(e,t,i,r,a),Cn(e,t,i),wn(e,i),Tn(e,t),En(e,t,n),Dn(e,t,n),On(e,t)];return()=>o.forEach(e=>e())}function bn(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function xn(e,t,n){return e.on(a.create,e=>{let{sessionId:r,turnId:i,initiator:a}=e.payload,o=Date.now(),s={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:o,status:`active`,...a!==void 0&&{initiator:a}};t(s),e.setResult({turn:s})})}function Sn(e,t,n,r,i){return e.on(a.ingestCompleted,e=>{let{sessionId:a,turnAnchorId:o,startedAt:s,completedAt:c,status:l,error:u,usage:d,initiator:f}=e.payload,p=i.get(a)??new Map,m=p.get(o);if(m!==void 0){let r=t.get(m);if(!r)throw Error(`Turn not found for anchor in session: ${a}`);let i={...r,completedAt:c,status:l,error:u??void 0,usage:d??void 0};n(i),e.setResult({turn:i,created:!1});return}let h={turnId:crypto.randomUUID(),sessionId:a,turnNumber:(r.get(a)??0)+1,startedAt:s,completedAt:c,status:l,error:u??void 0,usage:d??void 0,...f!==void 0&&{initiator:f}};n(h),p.set(o,h.turnId),i.set(a,p),e.setResult({turn:h,created:!0})})}function Cn(e,t,n){return e.on(a.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l=c.status===`completed`||c.status===`error`,u=s===null?void 0:s??c.usage,d=l?{...c,usage:u}:{...c,completedAt:Date.now(),status:i,error:o??void 0,usage:u};n(d),e.setResult({turn:d,transitioned:!l})})}function wn(e,t){return e.on(a.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function Tn(e,t){return e.on(a.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function En(e,t,n){return e.on(a.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function Dn(e,t,n){return e.on(a.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function On(e,t){return e.on(a.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function kn(e){return e===void 0?`lead-default`:e===`all`?`all`:`explicit`}function An(e){return kn(e)===`explicit`}function jn(e,t,n,r){if(!(n.agents.length>0||kn(r)===`lead-default`)){if(An(r)){let n=[...r];throw new z(`agent-unavailable`,`${e} session ${t} has no agents, so it cannot have the ${n.length===1?`agent`:`agents`} this send named: ${n.join(`, `)}`,void 0,n)}throw new z(`agent-unavailable`,`${e} session ${t} has no agents, so a send targeting all of them has none to reach`)}}function Mn(e,t,n){return n.size===0?[...t]:(e.agents=e.agents.filter(e=>!n.has(e.agentId)),t.filter(e=>!n.has(e.agentId)))}function Nn(e,t,n){let r=[...n];throw new z(`agent-unavailable`,`${e} session ${t} has no agent this runtime may drive: ${r.join(`, `)} ${r.length===1?`is`:`are`} held by another generation's provider session`,void 0,r)}function Pn(e,t){return{adapterId:t.adapterId,sessionId:t.sessionId,role:`lead`,...t.providerContext!==void 0&&{providerContext:t.providerContext},...t.sessionContext!==void 0&&{sessionContext:t.sessionContext},...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}}}function Fn(e){let t=Date.now(),{model:n,cwd:r,allowedDirectories:i,clientId:a,harnessId:o}=e.runtime;return{agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterName,sessionId:e.sessionId,role:e.role,status:`starting`,createdAt:t,lastActivityAt:t,...n!==void 0&&{model:n},...r!==void 0&&{cwd:r},...i!==void 0&&{allowedDirectories:i},...a!==void 0&&{clientId:a},...o!==void 0&&{harnessId:o},...e.providerConfigId!==void 0&&{providerConfigId:e.providerConfigId},...e.personaId!==void 0&&{personaId:e.personaId},...e.profileId!==void 0&&{profileId:e.profileId},...e.compressionMode!==void 0&&{compressionMode:e.compressionMode}}}function In(e,t){let n=p(t,e.adapterName)===e.adapterId;return{kind:`adapter`,adapterName:e.adapterName,...n&&{adapterId:e.adapterId,machineId:t},...e.model!==void 0&&{model:e.model},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.providerConfigId!==void 0&&{providerConfigId:e.providerConfigId}}}function Ln(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
27
|
-
`)}function Rn(e){return e}function zn(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(Rn)}async function Bn(e,t,n,r,i){let{session:a}=await e.request(C.get,{sessionId:t});if(a){if(a.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:a}}await e.request(C.create,{sessionId:t,originWindowId:r,...i!==void 0&&{machineId:i}});let{session:o}=await e.request(C.get,{sessionId:t});if(!o)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:o}}function Vn(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function Hn(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function Un(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}async function Wn(e,t){let{sessionId:n,limit:i}=t,a=[],o=!1,s=!1,c;do{let{events:t,nextCursor:l}=await e.request(r.getEvents,{sessionId:n,options:{limit:1e4,...c&&{after:c}}});for(let r of t){if(r.type===`squash`){o=!0,a.length=0;let e=r.payload,t={messageId:`squash-${r.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:r.timestamp};a.push(t)}else if(r.type===`message`){let t=r.payload,{message:n}=await e.request(f.get,{messageId:t.messageId});n&&a.push(n)}if(i&&a.length>=i){s=!0;break}}if(i&&a.length>=i)break;c=l??void 0}while(c);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:s,incomplete:!1}}const q=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function Gn(e,t,n){let r=e,i,a;for(let e of t){let t=q.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function Kn(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const qn={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Kn(e)}}};function Jn(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Yn={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Jn(e)}}};async function J(e,t){let n=[],r=[],i=[],a=!1,s=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(o.get,{sessionId:d});if(!n.session){c=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:o}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(o);let d=await Wn(e,{sessionId:o});if(d.hasSquashBoundary&&(a=!0,c||(r.length=0)),d.truncated&&(s=!0),c)i=d.messages;else for(let e of d.messages)if(r.push(e),u&&e.messageId===u)break}return u&&(r=await Xn(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:s,incomplete:c}}async function Xn(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return Qn(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=Qn(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await Gn(n,t.appliedPipeline)).messages),n}function Zn(e,t){let n=e;return t.stripReasoning&&(n=Kn(n)),t.stripToolOutputs&&(n=Jn(n)),n}function Qn(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=Zn(s,i),r.push(...s)}return r}function Y(e){return{role:e.role,blocks:e.blocks}}async function $n(e,t){return{messageHistory:(await J(e,t.sessionId)).messages.map(Y),isFirstTurn:!0}}async function er(e,t,n){if(ft(n))return $n(e,t)}function X(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function tr(e,t){let{sessionId:n,errorPrefix:r}=t;if(e.adapterId===void 0)return e.machineId===void 0?void 0:`${r}agent selection named machine ${e.machineId} without an adapter instance on it (sessionId=${n}); an instance resolved without one named is derived for the runtime that resolves it, so the named machine would be read by nothing`;if(e.machineId===void 0)return`${r}agent selection named adapter instance ${e.adapterId} without its machine (sessionId=${n}); an instance ID cannot be inverted, so its ownership acts have no namespace`}async function nr(e,t,n,r){let{adapterName:i}=await e.request(c.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}async function rr(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(x.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function ir(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await h(e,{adapterName:t.adapterName,providerConfigId:r.providerConfigId}):void 0,c=await e.request(x.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function ar(e,t,n){let r=[],i=new Set,a=new Set;for(let o of t){let t=await e.requestOptional(y.getAgent,{adapterId:o.adapterId,agentId:o.agentId});if(t.handled&&t.data.agent!==null){o.status===`dead`&&await Xt(e,o.agentId),r.push(o);continue}let s=await R(e,{adapterName:o.adapterName,storedAdapterId:o.adapterId,...n.machineId!==void 0&&{machineId:n.machineId}});if(s===void 0){a.add(o.agentId);continue}let c=await sr(e,o,n,s);if(c.kind===`deferred`){a.add(o.agentId);continue}r.push(c.agent),i.add(c.agent.agentId)}return{usable:r,recoveredAgentIds:i,deferredAgentIds:a}}async function or(e,t,n){let r=await J(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await Gn(r.messages,i)).messages:r.messages).map(Y),isFirstTurn:!0}}async function sr(e,t,n,r){let i=dt(n.plan);return cr(t,await en(e,{agent:t,sessionId:t.sessionId,instance:r,resumeProviderSessionId:i??null,...n.cwd!==void 0&&{cwd:n.cwd},...(n.model??t.model)!==void 0&&{model:n.model??t.model}}))}function cr(e,t){switch(t?.kind){case`rehydrated`:case`joined`:return{kind:`recovered`,agent:t.agent};case`deferred`:return{kind:`deferred`,reason:t.reason};default:throw zt(e.agentId,t)}}const Z=`[attach-handler] `;async function lr(e,t){let n=ur(t.selection,t.resolved),r=X(n.adapterName),i={adapterId:X(n.adapterId),machineId:X(n.machineId)};if(!r&&i.adapterId===void 0)throw Error(`${Z}adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);let a=tr(i,{sessionId:t.sessionId,errorPrefix:Z});if(a!==void 0)throw Error(a);if(i.adapterId!==void 0){let n=await nr(e,i.adapterId,r,Z),a=await R(e,{adapterName:n,adapterId:i.adapterId,...i.machineId!==void 0&&{machineId:i.machineId}});if(a===void 0)throw Error(`${Z}adapter instance resolution for ${i.adapterId} produced no machine (sessionId=${t.sessionId})`);return{adapterName:n,instance:a}}let o=r;return{adapterName:o,instance:{adapterId:await gt(e,o,t.localMachineId),...t.localMachineId!==void 0&&{machineId:t.localMachineId}}}}function ur(e,t){let n=e.kind===`adapter`;return{adapterName:n&&`adapterName`in e?e.adapterName:t?.adapterName,adapterId:n&&`adapterId`in e?e.adapterId:void 0,machineId:n&&`machineId`in e?e.machineId:void 0}}async function dr(e,t,n,r,i){let a=i?.state===`resolved`?i.providerConfigId:void 0;if(a!==void 0&&n!==void 0&&n!==a)throw Error(`[attach-handler] providerConfigId '${n}' does not match resolved provider context '${a}'`);let o=n??a??r?.providerConfigId;if(i!==void 0){if(i.state!==`resolved`&&o!==void 0)throw new m(`provider-context-unresolved`,t,o);return{providerConfigId:o,providerContext:i}}return{providerConfigId:o,providerContext:o===void 0?void 0:await h(e,{adapterName:t,providerConfigId:o})}}function fr(e){if(e instanceof fe)return e;if(e instanceof Error&&e.cause instanceof fe)return e.cause}async function pr(e,t){try{await e.emit(C.user_message.acknowledged,t)}catch(e){console.error(`[SessionRouting] Failed to emit user-message acknowledgement:`,e)}}async function mr(e,t,n,r){await e.emit(C.turn.assistantPersistenceSettled,{sessionId:t.sessionId,turnId:t.turnId,messageId:n,agentId:r})}async function Q(e){let{bus:t,turn:n,messageId:r,agentId:i,outcome:a,error:o,onTurnComplete:s,turnManager:c}=e;try{await mr(t,n,r,i)}catch(e){console.error(`[SessionRouting] Failed to emit terminal routing settlement:`,e)}await c.recordAgentCompletion(i,r,a,o,s,n.turnId)}async function hr(e,t,n,r,i,a,o,s,c,l,u,d){if(n.some(e=>!a.hasAdmittedPair(i,e.agentId)))throw Error(`Turn ${a.turnId} has no admitted fanout for message ${i}`);let f=n.map(async n=>{try{return d?.(),await e.request(x.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await pr(e,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId}),{agentId:n.agentId,kind:`dispatched`}}catch(t){if(fr(t)!==void 0)return await Q({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`cancelled`,error:t};let r=t instanceof Error?t.message:String(t);return await Q({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`error`,error:r,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`failed`,error:t}}});return await Promise.all(f)}async function gr(e,t,n){try{let{session:t}=await e.request(C.get,{sessionId:n});if(!t||t.status!==`active`)throw Error(`[attach-handler] Session is no longer active after agent startup: ${n}`)}catch(r){throw await $(e,t,n,`session closed during agent startup`),r}}async function _r(e,t,n,r,i,a,o,s,c){try{return await yr(e,t,n,i,a,o,s,c)}catch(t){throw console.error(`[attach-handler] Failed to set up initial-message turn, rolling back started agent`,{sessionId:i,agentId:a,adapterId:r.adapterId,error:t}),await $(e,r,i,`initial-message turn setup failure`),t}}async function vr(e,t,n,r,i,a,o,s,c,l){try{l?.()}catch(t){throw await $(e,r,i.sessionId,`initial-message admission rejection`),t}let u=await _r(e,t,n,r,i.sessionId,r.agentId,crypto.randomUUID(),a,s),d;try{d=await hr(e,i,[{agentId:r.agentId,adapterId:r.adapterId}],a,u.messageId,u.turn,void 0,t.completeTurn.bind(t),t,c,o,l)}catch(n){try{await t.retryTurnCompletion(u.turn.turnId)}catch(e){console.error(`[attach-handler] Failed to retry initial-message completion after routing failure`,{sessionId:i.sessionId,turnId:u.turn.turnId,error:e})}throw await $(e,r,i.sessionId,`initial-message routing failure`),n}let f=d[0];if(!f||f.kind===`dispatched`)return{messageId:u.messageId,turnId:u.turn.turnId};throw await $(e,r,i.sessionId,`initial-message routing failure`),f.error}async function $(e,t,n,r){try{await e.request(y.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after ${r}`,{sessionId:n,agentId:t.agentId,adapterId:t.adapterId,error:e})}}async function yr(e,t,n,r,i,a,o,s){let c=await t.createReservedTurn(n,[i],s),l=t.admitReservedMessage(c,a,[i]);try{if(!(await e.requestOptional(f.append,{message:{messageId:a,turnId:c.turnId,sessionId:r,role:`user`,contentText:Ln(o),blocks:zn(o),timestamp:Date.now()}})).handled)throw Error(`Message storage append handler is not registered`)}catch(e){console.warn(`[attach-handler] Failed to store initial user message`,{sessionId:r,messageId:a,error:e instanceof Error?e.message:String(e)});try{await l.rollback(`initial-message-persistence-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message persistence:`,e)}throw e}try{await br(e,r,c,a,o,s.source)}catch(e){try{await l.rollback(`initial-message-lifecycle-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message lifecycle:`,e)}throw e}return l.commit(),{messageId:a,turn:c}}async function br(e,t,n,r,i,a){await Pe(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,agentIds:[...n.agentIds],initiator:n.initiator,ingestionMarker:`live`}),await Fe(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,content:i,agentIds:[...n.agentIds],source:a})}async function xr(e,t,n){let r=await J(e,t);if(r.messages.length===0)return n;let i=r.messages.map(Y);return{...n,messageHistory:i,isFirstTurn:!0}}async function Sr(e,t){let{identity:n}=t;await e.requestOptional(s.set,{agentId:t.agentId,agent:Fn({agentId:t.agentId,adapterId:t.adapterId,adapterName:n.adapterName,sessionId:n.sessionId,role:n.role,runtime:t.runtime,...n.providerConfigId!==void 0&&{providerConfigId:n.providerConfigId},...n.personaId!==void 0&&{personaId:n.personaId},...n.profileId!==void 0&&{profileId:n.profileId},...n.compressionMode!==void 0&&{compressionMode:n.compressionMode}})})}async function Cr(e,t){let n=await Tr(e,t,t.resumeProviderSessionId);switch(n.outcome){case`reserved`:return{kind:`reserved`,reservation:n.reservation};case`lead-conflict`:return{kind:`conflict`,currentLeadAgentId:n.currentLeadAgentId};case`agent-disposed`:case`not-found`:return{kind:`refused`,outcome:n.outcome};case`occupied`:case`machine-identity-unavailable`:return wr(e,t)}}async function wr(e,t){let n={kind:`degrade`,reason:`agent-already-started`};if(t.role!==`lead`)return{...n,reservation:void 0};let r=await Tr(e,t,null);switch(r.outcome){case`reserved`:return{...n,reservation:r.reservation};case`lead-conflict`:return{kind:`conflict`,currentLeadAgentId:r.currentLeadAgentId};case`agent-disposed`:case`not-found`:return{kind:`refused`,outcome:r.outcome};case`occupied`:case`machine-identity-unavailable`:return{kind:`refused`,outcome:`not-found`}}}async function Tr(e,t,n){return yt(e,{sessionId:t.sessionId,agentId:t.agentId,adapterName:t.adapterName,instance:t.instance,resumeProviderSessionId:n,...t.role===`lead`?{role:t.role,expectedLeadAgentId:t.expectedLeadAgentId}:{role:t.role}})}function Er(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.adapterConfig!==void 0&&{adapterConfig:e.adapterConfig},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}function Dr(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:kr({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,env:e.env,mcpSessionContext:e.mcpSessionContext,adapterConfig:e.adapterConfig,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}function Or(e,t,n){let r=e??t;return{effectiveCwd:r,effectiveRuntimeOptions:r!==void 0&&n.cwd===void 0?{...n,cwd:r}:n}}function kr(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ar(e,t,n,r,i,a,o){return i?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:i,role:n,...r,...a!==void 0&&{harnessId:a}}:{adapterId:e,sessionId:t,role:n,...r,...a!==void 0&&{harnessId:a},...o!==void 0&&{sessionContext:o}}}async function jr(e,t){let{agentId:n,adapterId:r,sessionId:i,role:a,effectiveRuntimeOptions:o,resumeAdapterSessionId:s,harnessId:c,attachSessionContext:l}=t,u=Ar(r,i,a,o,s,c,l),d=await e.request(y.startAgent,{...u,agentId:n});if(!d.success)throw new _(`start-failed`,`[attach-handler] Failed to start agent: ${d.message}`,d.dispatch);return d}async function Mr(e,t){let{agentId:n,launch:r,identity:i}=t;try{await Sr(e,{agentId:n,adapterId:r.adapterId,identity:i,runtime:{...r.effectiveRuntimeOptions,...r.harnessId!==void 0&&{harnessId:r.harnessId}}})}catch(t){throw await B(e,n,void 0),new _(`start-failed`,`[attach-handler] persisting the agent row for ${n} failed`,`not-dispatched`,{cause:t})}let a=await Pr(e,t),o=a.reservation,s=a.kind===`reserved`&&o?.claim!=null;a.kind===`degrade`&&A(e,{sessionId:i.sessionId,intent:`resume`,verdict:{kind:`degrade`,reason:a.reason},adapterId:r.adapterId});let c;try{c=s?void 0:await Fr(e,t)}catch(t){throw await B(e,n,o),new _(`start-failed`,`[attach-handler] seeding the conversation for agent ${n} failed`,`not-dispatched`,{cause:t})}let l=new bt([o?.claim?.claimToken]),u=M();l.add(u);let d={sessionId:i.sessionId,agentId:n,adapterId:r.adapterId,adapterName:i.adapterName,claimTokens:l,settlementClaimToken:u,policy:{writesAgentStatus:!0,...o!==void 0&&{reservation:o}},...i.providerConfigId!==void 0&&{providerConfigId:i.providerConfigId},...t.instance.machineId!==void 0&&{machineId:t.instance.machineId}},f=await Ir(e,t,d,{...r,agentId:n,...s&&t.locality.resumeAdapterSessionId!==void 0?{resumeAdapterSessionId:t.locality.resumeAdapterSessionId}:{},...c!==void 0&&{attachSessionContext:c}});return await Mt(e,d,f.adapterSessionId),{startResult:f,sessionContext:c,dispatched:d}}async function Nr(e,t){let{dispatched:n}=t;await V(e,n.agentId,n.policy,n.claimTokens),await e.requestOptional(s.updateStatus,{agentId:n.agentId,status:`dead`,expectedStatus:[`idle`,`active`]})}async function Pr(e,t){let{agentId:n,identity:r}=t,i;try{i=await Cr(e,{sessionId:r.sessionId,agentId:n,instance:t.instance,adapterName:r.adapterName,role:r.role,resumeProviderSessionId:t.locality.resumeAdapterSessionId??null,expectedLeadAgentId:t.expectedLeadAgentId})}catch(t){throw await B(e,n,void 0),new _(`reservation-refused`,`[attach-handler] reserving the start of agent ${n} failed`,`not-dispatched`,{cause:t})}if(i.kind===`reserved`||i.kind===`degrade`)return i;throw await B(e,n,void 0),i.kind===`conflict`?new _(`lead-conflict`,`[attach-handler] session ${r.sessionId} is led by ${i.currentLeadAgentId??`no agent`}, not by ${n}`,`not-dispatched`):new _(`reservation-refused`,`[attach-handler] reservation for agent ${n} was refused: ${i.outcome}`,`not-dispatched`)}async function Fr(e,t){let n=t.locality.attachSessionContext??{nativeLocality:{kind:`degrade`,reason:`agent-already-started`}};return xr(e,t.identity.sessionId,n)}async function Ir(e,t,n,r){let{agentId:i}=t,a;try{a=await jr(e,r)}catch(t){throw t instanceof _&&t.dispatch===`not-dispatched`?await B(e,i,n.policy.reservation):await V(e,i,n.policy,n.claimTokens),t}return{...a,agentId:i}}var Lr=class{closeClaims=new Map;registerCloseMiddleware(e){return e.on(C.close,async e=>{let t=this.beginClose(e.payload.sessionId);try{await e.next()}finally{t()}},{priority:1e4})}assertAttachCommitAllowed(e){if((this.closeClaims.get(e)??0)>0)throw Error(`[attach-handler] Session close won before agent attach committed: ${e}`)}beginClose(e){this.closeClaims.set(e,(this.closeClaims.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.closeClaims.get(e)??1)-1;n===0?this.closeClaims.delete(e):this.closeClaims.set(e,n)}}};function Rr(e,t,n){let r=new Lr,i=e.on(C.agent.attach,async i=>{i.setResult(await Ur(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId)}))}),a=e.on(C.agent.attachResolved,async i=>{if(!i.origin.local)throw Error(`[attach-handler] session.agent.attachResolved requires a local-origin request`);let a=i.payload.assertInitialMessageAdmission;if(a!==void 0&&typeof a!=`function`)throw Error(`[attach-handler] assertInitialMessageAdmission must be a function`);i.setResult(await Ur(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId),assertInitialMessageAdmission:a,resolvedProviderContext:i.payload.agent.providerContext===void 0?void 0:te.parse(i.payload.agent.providerContext)}))}),o=r.registerCloseMiddleware(e);return()=>{i(),a(),o()}}async function zr(e,t){try{let n=await e();return n.handled?t(n.data):!1}catch{return!1}}async function Br(e,t){return zr(()=>e.requestOptional(y.getCapabilities,{adapterId:t}),e=>new Set(e.capabilities).has(`session:resume`))}async function Vr(e){let{bus:t,adapterName:n,session:r,effectiveCwd:i}=e,{adapterId:a,machineId:o}=e.instance,[s,c]=await Promise.all([t.request(C.get,{sessionId:r.sessionId}),Br(t,a)]),l=L(s.session??r),u=ct({intent:`resume`,session:r,localMachineId:o,adapterSupportsNative:c,targetAdapterName:n,currentCwd:r.targetWorkingDirectory,targetCwd:i,resumeIdentity:l});return u.kind===`native`?{resumeAdapterSessionId:l.adapterSessionId,attachSessionContext:void 0}:Hr(t,r,a,u)}function Hr(e,t,n,r){return A(e,{sessionId:t.sessionId,intent:`resume`,verdict:r,adapterId:n}),{resumeAdapterSessionId:void 0,attachSessionContext:{nativeLocality:r}}}async function Ur(e,t,n,r){let{sessionId:i,agent:a,initialMessage:o,responseSchema:s,source:c,extensionId:l,assertAttachCommitAllowed:u,assertInitialMessageAdmission:d,role:f,resolvedProviderContext:p}=r,m=Er(a),h=await Jr(e,i),g=await qr(e,i,o,a),{adapterName:_,instance:v}=await lr(e,{selection:a,resolved:g,sessionId:i,localMachineId:n}),{providerConfigId:ee,providerContext:y}=await dr(e,_,a.providerConfigId,g,p),{runtimeOptions:b,mergedModel:x,mergedCwd:te}=Dr(m,g,y),{effectiveCwd:S,effectiveRuntimeOptions:C}=Or(te,h.targetWorkingDirectory,b),ne=Yr(h,f),re=await Vr({bus:e,session:h,effectiveCwd:S,instance:v,adapterName:_});return Wr(e,t,{launch:{adapterId:v.adapterId,sessionId:i,role:ne,effectiveRuntimeOptions:C,harnessId:r.harnessId??g?.harnessId},identity:{adapterName:_,sessionId:i,role:ne,personaId:Kr(a),profileId:g?.profileId,harnessId:r.harnessId??g?.harnessId,providerConfigId:ee,compressionMode:g?.compressionMode,model:x,cwd:S},locality:re,expectedLeadAgentId:h.leadAgentId??null,instance:v,session:h,initialMessage:o,responseSchema:s,initiator:Un(c,l),assertAttachCommitAllowed:()=>u?.(),assertInitialMessageAdmission:d})}async function Wr(e,t,n){let r=crypto.randomUUID(),i;if(await I(r,async()=>(i=await Gr(e,t,r,n),`connected`)).settled,i===void 0)throw new g(`agent_attach`,Error(`[attach-handler] attach for agent ${r} produced no result`));return i}async function Gr(e,t,n,r){let i;try{i=r.initialMessage===void 0?void 0:await t.reserveTurn(r.session.sessionId)}catch(e){throw new g(`initial_message`,e)}try{let a;try{a=await Mr(e,{agentId:n,launch:r.launch,identity:r.identity,locality:r.locality,expectedLeadAgentId:r.expectedLeadAgentId,instance:r.instance})}catch(e){throw new g(`agent_attach`,e)}let{startResult:o}=a;try{await gr(e,o,r.session.sessionId)}catch(t){throw await Nr(e,a),new g(`agent_attach`,t)}let s;if(i===void 0||r.initialMessage===void 0)try{r.assertAttachCommitAllowed()}catch(t){throw await Nr(e,a),await $(e,o,r.session.sessionId,`session close won attach commit`),new g(`agent_attach`,t)}else s=await vr(e,t,i,o,r.session,r.initialMessage,r.responseSchema,r.initiator,a.sessionContext,()=>{r.assertAttachCommitAllowed(),r.assertInitialMessageAdmission?.()}).catch(async t=>{throw await Nr(e,a),new g(`initial_message`,t)});return{agentId:n,adapterSessionId:o.adapterSessionId,role:r.identity.role,...s&&{messageId:s.messageId,turnId:s.turnId}}}finally{i!==void 0&&t.releaseTurnReservation(i)}}function Kr(e){return e.kind===`persona`?e.personaId:void 0}async function qr(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?Ln(n):void 0;return e.request(b.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function Jr(e,t){let{session:n}=await e.request(C.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function Yr(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function Xr(e){return e.on(C.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(C.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(C.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(C.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}const Zr={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
|
|
28
|
-
`)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},Qr={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function $r(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
29
|
-
`);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
|
|
30
|
-
|
|
31
|
-
`)}\n</conversation>`}function ei(e){return{id:`llm-extract`,label:`LLM Extract`,description:`Extract structured context using a cheap LLM model (requires virtualModelId in options)`,category:`extraction`,async execute(t,n){let r={kind:`messages`,messages:t},i=n?.virtualModelId;if(typeof i!=`string`)return r;let a=(typeof n?.sessionId==`string`&&n.sessionId.length>0?n.sessionId:void 0)??t[0]?.sessionId;if(typeof a!=`string`||a.length===0)return r;try{let n=await e.request(b.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(pe.resolveId,{adapterName:n.adapterName}),o=$r(t),s=n.providerConfigId?await me(e,{adapterName:n.adapterName,providerConfigId:n.providerConfigId}):void 0,{text:c}=await e.request(y.infer,{adapterId:r,prompt:o,model:n.model,systemPrompt:`You are a context extraction assistant. Analyze the following conversation and extract structured information. Respond with ONLY valid JSON matching this exact schema — no markdown, no explanation, no code fences:
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
"resolved_items": ["string — completed work with resolution details"],
|
|
35
|
-
"known_bugs": [{ "issue": "string", "location": "string", "impact": "string" }],
|
|
36
|
-
"todos": [{ "issue": "string", "location": "string", "priority": "high|medium|low" }],
|
|
37
|
-
"key_decisions_and_rationale": ["string — decision with reasoning"],
|
|
38
|
-
"technical_details": {
|
|
39
|
-
"files": ["string — file paths mentioned"],
|
|
40
|
-
"schemas": {},
|
|
41
|
-
"apis": ["string — API endpoints or contracts"],
|
|
42
|
-
"config": {}
|
|
43
|
-
},
|
|
44
|
-
"constraints_and_requirements": ["string — constraints or non-negotiable requirements"],
|
|
45
|
-
"current_state": "string — one paragraph summary of where work stands now",
|
|
46
|
-
"roadmap": ["string — future work items in priority order"],
|
|
47
|
-
"data_flows": ["string — key data movement patterns"],
|
|
48
|
-
"component_interactions": { "ComponentName": "string — description of its role" },
|
|
49
|
-
"key_files": { "filepath": "string — what this file does" },
|
|
50
|
-
"helpful_hint": ["string — quick reference hints for resuming work"]
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
Rules:
|
|
54
|
-
- Omit array items you have no evidence for (prefer empty array over fabrication).
|
|
55
|
-
- current_state MUST be present; write "No summary available" if you cannot determine it.
|
|
56
|
-
- Extract only facts stated or clearly implied in the conversation. Do not invent.
|
|
57
|
-
- key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=v.parse(u),f=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:f}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let ti=!1,ni=!1;function ri(e){ti||(ti=!0,q.register(qn),q.register(Yn),q.register(Zr),q.register(Qr)),e&&!ni&&(ni=!0,q.register(ei(e)))}function ii(){ti=!1,ni=!1}function ai(e){return ri(e),e.on(C.compress,async t=>{let{sessionId:n,pipeline:i}=t.payload,{messages:a}=await e.request(f.getBySession,{sessionId:n,limit:1e4}),o=await Gn(a,i,{sessionId:n});if(!o.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${n})`);let s=a.map(e=>e.messageId),c=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),l=crypto.randomUUID();await e.request(r.append,{event:{sessionId:n,eventId:l,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(o.contextJson),tokensBefore:c,tokensAfter:o.tokenEstimate,compressedMessageIds:s}}}),await e.emit(C.compressed,{sessionId:n,eventId:l}),t.setResult({eventId:l,contextJson:o.contextJson,tokensBefore:c,tokensAfter:o.tokenEstimate})})}async function oi(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:o}=await e.request(f.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:o??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let o=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);o=i.slice(0,e+1)}let s=new Map;o.forEach((e,t)=>{s.set(e.messageId,t)});let c=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=s.get(e.fromMessageId),r=s.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=c)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==c+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);c=r}if(c!==o.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function si(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=q.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function ci(e,t){return e.on(C.fork,async n=>{let{sourceSessionId:r,fromMessageId:i,name:a,branchKind:o=`fork`,transforms:s,targetWorkingDirectory:c,metadata:l,existingSessionId:u}=n.payload,{session:d}=await e.request(C.get,{sessionId:r});if(!d)throw Error(`[fork-handler] Source session not found: ${r}`);if(i){let{message:t}=await e.request(f.get,{messageId:i});if(!t)throw Error(`[fork-handler] Fork point message not found: ${i} (sourceSessionId=${r})`);if(t.sessionId!==r)throw Error(`[fork-handler] Fork point message ${i} does not belong to session ${r}`)}s&&(await oi(e,r,s,i)||si(s));let{sessionId:p}=await e.request(C.create,{...u?{sessionId:u}:{},parentSessionId:r,forkPointMessageId:i,branchKind:o,forkTransforms:s,...t!==void 0&&{machineId:t},...a?{title:a}:{},...c?{targetWorkingDirectory:c}:{},...l?{metadata:l}:{}});await e.emit(C.branch.created,{sessionId:r,childSessionId:p,parentSessionId:r,kind:o,forkPointMessageId:i,transforms:s}),await e.emit(C.forked,{parentSessionId:r,childSessionId:p,forkPoint:i}),n.setResult({sessionId:p})})}function li(e){return e.on(C.merge,async t=>{let{parentSessionId:n,childSessionId:i,summary:a}=t.payload,o=`merge:${n}:${i}`,{session:s}=await e.request(C.get,{sessionId:n});if(!s)throw Error(`[merge-handler] Parent session not found: ${n}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${n}`);let{session:c}=await e.request(C.get,{sessionId:i});if(!c)throw Error(`[merge-handler] Child session not found: ${i}`);if(c.parentSessionId!==n)throw Error(`[merge-handler] Invalid parent-child relationship: session ${i} is not a child of ${n}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(C.merging,{parentSessionId:n,childSessionId:i});let l=a??`Child session ${i} merged.`;if(!(await e.request(C.close,{sessionId:i})).success)throw Error(`[merge-handler] Failed to close child session: ${i}`);let u=JSON.stringify({handoff:l});await e.request(r.append,{event:{sessionId:n,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:i,parentSessionId:n,resultJson:u}}}),await e.emit(C.branch.merged,{sessionId:n,childSessionId:i,parentSessionId:n,resultJson:u}),await e.emit(C.merged,{parentSessionId:n,childSessionId:i,handoff:l}),t.setResult({success:!0,handoff:l})})}const ui={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function di(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function fi(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function pi(e){try{let t=await e.request(ee.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return fi(t.value)?t.value:ui}catch{}return ui}function mi(e,t){return e??t.adapterName??``}function hi(e){let{targetWorkingDirectory:t}=e.forkSession;return{sourceSessionId:e.sourceSessionId,sourceAdapterSessionId:e.sourceAdapterSessionId,...e.forkPointAdapterMessageId!==void 0&&{forkPointMessageId:e.forkPointAdapterMessageId},...t!==void 0&&{targetWorkingDirectory:t}}}async function gi(e,t,n,r,i){A(e,{sessionId:t,intent:`fork`,verdict:i});let a=(await J(e,t)).messages.map(Y);return{...n,messageHistory:a,isFirstTurn:!0,hasNewTransforms:r.forkTransforms!==void 0,nativeLocality:i}}async function _i(e,t){let{message:n}=await e.request(f.get,{messageId:t});return n?.adapterMessageId??void 0}async function vi(e,t,n,r,i,s,c,l,u){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:d}=await e.request(a.getBySession,{sessionId:n,limit:2});if(!(i&&d.length<=1))return r;let f=t.parentSessionId;if(f===void 0)return r;let{session:p}=await e.request(o.get,{sessionId:f});if(p===null)return r;let m=l??t.targetWorkingDirectory,h=L(p),g=ct({intent:`fork`,session:{...p,forkPointMessageId:t.forkPointMessageId,forkTransforms:t.forkTransforms},localMachineId:s,adapterSupportsNative:c?.adapterSupportsNativeFork===!0,targetAdapterName:mi(u,p),currentCwd:p.targetWorkingDirectory,targetCwd:m,sessionContext:r,midHistoryForkSupported:c?.midHistoryForkSupported===!0,resumeIdentity:h}),_=h.adapterSessionId;if(g.kind===`native`&&_!==void 0){let i;if(t.forkPointMessageId!==void 0&&(i=await _i(e,t.forkPointMessageId),i===void 0))return gi(e,n,r,t,{kind:`degrade`,reason:`fork-point-unresolvable`});let a=hi({sourceSessionId:f,sourceAdapterSessionId:_,forkSession:t,forkPointAdapterMessageId:i});return{...r,nativeLocality:g,nativeFork:a,isFirstTurn:!0}}return gi(e,n,r,t,g)}async function yi(e,t,n){if(t.parentSessionId===void 0)return;let r=[...new Set(n.map(e=>e.adapterId))];if(r.length===0)return{adapterSupportsNativeFork:!1,midHistoryForkSupported:!1};let i=await Promise.all(r.map(async t=>{try{let n=await e.requestOptional(y.getCapabilities,{adapterId:t}),r=n.handled?new Set(n.data.capabilities):new Set;return{supportsNativeFork:r.has(`session:fork`),supportsMidHistoryFork:r.has(`session:forkAtMessage`)}}catch{return{supportsNativeFork:!1,supportsMidHistoryFork:!1}}}));return{adapterSupportsNativeFork:i.every(e=>e.supportsNativeFork),midHistoryForkSupported:i.every(e=>e.supportsMidHistoryFork)}}function bi(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function xi(e,t){let{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,responseSchema:u,turn:d}=t;await e.request(x.sendMessage,{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await pr(e,{sessionId:d.sessionId,turnId:d.turnId,turnNumber:d.turnNumber,messageId:o,agentId:n})}async function Si(e,t,n){return{messageHistory:(await J(e,t.sessionId)).messages.filter(e=>e.messageId!==n).map(Y),isFirstTurn:!0}}async function Ci(e,t,n,r){let{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,responseSchema:d,turn:f}=n;try{await e.request(x.sendMessage,{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,sessionContext:r,...d!==void 0&&{responseSchema:d}})}catch(n){if(fr(n))throw n;let o={kind:`degrade`,reason:`native-attempt-failed`};A(e,{sessionId:u,intent:r.nativeFork?`fork`:`resume`,verdict:o,agentId:i,adapterId:a,turnId:l});let s=await Si(e,t,c);return{...r,...s,nativeLocality:o,nativeFork:void 0}}return await pr(e,{sessionId:f.sessionId,turnId:f.turnId,turnNumber:f.turnNumber,messageId:c,agentId:i}),null}async function wi(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,responseSchema:l,turnManager:u}=e,{agentContext:d}=e,f={agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,responseSchema:l,turn:r};try{if(d?.nativeLocality?.kind===`native`){let e=await Ci(t,n,f,d);if(e===null)return;d=e}await xi(t,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:d,responseSchema:l,turn:r})}catch(e){if(fr(e)){await Q({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:u});return}let n=e instanceof Error?e.message:String(e);await Q({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`error`,error:n,onTurnComplete:s,turnManager:u})}}async function Ti(e,t,n){let r={kind:`degrade`,reason:`agent-already-started`};A(e,{sessionId:t.sessionId,intent:`fork`,verdict:r});let i=(await J(e,t.sessionId)).messages.map(Y);return{...n,messageHistory:i,nativeFork:void 0,nativeLocality:r}}async function Ei(e){let{bus:t,session:n,agents:r,message:i,messageId:a,turn:o,deliveryMode:s,onTurnComplete:c,turnManager:l,sessionContext:u,turnContextEnricher:d,isNewTurn:f,recoveryContext:p,recoveredAgentIds:m,swappedAgentIds:h,swappedAgentCwd:g,freshMessageHistory:_,responseSchema:v,localMachineId:ee}=e,y=await yi(t,n,r),b=await vi(t,n,n.sessionId,u,f,ee,y);b?.nativeFork&&(b=await Ti(t,n,b));let x=d?await d.enrichForDeliveryMode(b?.messageHistory,o.turnId,s):b?.messageHistory,te=b?{...b,messageHistory:x}:void 0,S=h?.size?await pi(t):ui,C=r.map(async e=>{let r=g?.get(e.agentId),u=r&&S.enabled?di(S.template,r.previousCwd,r.newCwd):void 0;await wi({bus:t,session:n,turn:o,message:i,messageId:a,deliveryMode:s,onTurnComplete:c,turnManager:l,agent:e,agentContext:bi({baseContext:te,recoveryContext:p,isRecovered:m?.has(e.agentId)??!1,isSwapped:h?.has(e.agentId)??!1,swapMeta:r,cwdMessage:u,freshMessageHistory:_}),responseSchema:v})});await Promise.all(C)}export{ht as $,Fn as A,$t as B,Wn as C,Vn as D,Bn as E,Nn as F,V as G,en as H,kn as I,yt as J,B as K,yn as L,In as M,jn as N,Ln as O,Mn as P,R as Q,un as R,q as S,Hn as T,Mt as U,Xt as V,bt as W,vt as X,gt as Y,_t as Z,X as _,Ie as _t,ai as a,ct as at,$n as b,Xr as c,nt as ct,or as d,Ye as dt,L as et,rr as f,M as ft,tr as g,Fe as gt,ar as h,Pe as ht,ci as i,dt as it,Pn as j,zn as k,Rr as l,tt as lt,sr as m,k as mt,vi as n,ut as nt,ri as o,it as ot,ir as p,Ve as pt,z as q,li as r,ft as rt,ii as s,I as st,Ei as t,lt as tt,hr as u,et as ut,nr as v,Ne as vt,Un as w,J as x,er as y,be as yt,nn as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{AdapterRuntimeSubjects as e}from"./services/adapter-runtime/namespace.mjs";import{AdapterSubjects as t}from"@makaio/framework/contracts";const n=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],r=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function i(e,t){return e>>>t|e<<32-t}function a(e){let t=new TextEncoder().encode(e),a=t.length*8,o=t.length+9+63>>6<<6>>>0,s=new Uint8Array(o);s.set(t),s[t.length]=128;let c=new DataView(s.buffer),l=Math.floor(a/4294967296),u=a>>>0;c.setUint32(o-8,l,!1),c.setUint32(o-4,u,!1);let d=[...r],f=new Uint32Array(64);for(let e=0;e<s.length;e+=64){for(let t=0;t<16;t+=1)f[t]=c.getUint32(e+t*4,!1);for(let e=16;e<64;e+=1){let t=i(f[e-15],7)^i(f[e-15],18)^f[e-15]>>>3,n=i(f[e-2],17)^i(f[e-2],19)^f[e-2]>>>10;f[e]=f[e-16]+t+f[e-7]+n>>>0}let[t,r,a,o,s,l,u,p]=d;for(let e=0;e<64;e+=1){let c=i(s,6)^i(s,11)^i(s,25),d=s&l^~s&u,m=p+c+d+n[e]+f[e]>>>0,h=(i(t,2)^i(t,13)^i(t,22))+(t&r^t&a^r&a)>>>0;p=u,u=l,l=s,s=o+m>>>0,o=a,a=r,r=t,t=m+h>>>0}d[0]=d[0]+t>>>0,d[1]=d[1]+r>>>0,d[2]=d[2]+a>>>0,d[3]=d[3]+o>>>0,d[4]=d[4]+s>>>0,d[5]=d[5]+l>>>0,d[6]=d[6]+u>>>0,d[7]=d[7]+p>>>0}return d.map(e=>e.toString(16).padStart(8,`0`)).join(``)}function o(e,t){let n=a(JSON.stringify([e,t]));return[n.slice(0,8),n.slice(8,12),`5${n.slice(13,16)}`,`a${n.slice(17,20)}`,n.slice(20,32)].join(`-`)}function s(e,t){let n=e.machineId??t;if(!n)throw Error(`resolveId requires machineId when no runtime default machine is configured for adapterName="${e.adapterName}"`);return o(n,e.adapterName)}var c=class{currentMachineId;adapterNamesById=new Map;localAdapterIds=new Set;constructor(e){this.currentMachineId=e}replaceKnownAdapterNames(e){for(let e of this.localAdapterIds)this.adapterNamesById.delete(e);if(this.localAdapterIds=new Set,this.currentMachineId)for(let t of e){let e=o(this.currentMachineId,t);this.adapterNamesById.set(e,t),this.localAdapterIds.add(e)}}resolveId(e){let t=s(e,this.currentMachineId);return this.rememberAdapterId(t,e.adapterName),t}rememberAdapterId(e,t){this.adapterNamesById.set(e,t)}resolveAdapterName(e){return this.adapterNamesById.get(e)}async resolveAdapterNameFromKnownNames(e,t){return this.resolveAdapterName(e)||(this.replaceKnownAdapterNames(await t()),this.resolveAdapterName(e))}clear(){this.adapterNamesById.clear(),this.localAdapterIds.clear()}};function l(n,r={}){let i=new c(r.currentMachineId);r.knownAdapterNames&&i.replaceKnownAdapterNames(r.knownAdapterNames);let a=[n.on(t.initialized,e=>{i.rememberAdapterId(e.payload.adapterId,e.payload.adapterName)}),n.on(e.resolveId,e=>{e.setResult({adapterId:i.resolveId(e.payload)})}),n.on(e.getMachineId,e=>{e.setResult({machineId:r.currentMachineId})}),n.on(e.resolveName,async e=>{let t=i.resolveAdapterName(e.payload.adapterId)??(r.listKnownAdapterNames?await i.resolveAdapterNameFromKnownNames(e.payload.adapterId,r.listKnownAdapterNames):void 0);if(!t)throw Error(`Adapter not found for adapterId="${e.payload.adapterId}"`);e.setResult({adapterName:t})})];return{registry:i,cleanup:()=>{for(let e of a)e()}}}export{s as i,o as n,l as r,c as t};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { o as ResolveIdRequest } from "./schemas-B7zo7Zcx.mjs";
|
|
2
|
-
import { IMakaioBus } from "@makaio/framework/bus";
|
|
3
|
-
|
|
4
|
-
//#region services/core/src/adapter-runtime/identity.d.ts
|
|
5
|
-
/**
|
|
6
|
-
* Build the deterministic runtime adapter id for a machine-local adapter.
|
|
7
|
-
* @param machineId - Runtime machine identifier.
|
|
8
|
-
* @param adapterName - Stable adapter driver name.
|
|
9
|
-
* @returns Deterministic UUID-shaped runtime adapter id.
|
|
10
|
-
*/
|
|
11
|
-
declare function buildDeterministicAdapterId(machineId: string, adapterName: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Resolve an adapter id request against the current runtime machine.
|
|
14
|
-
*
|
|
15
|
-
* **Derivation, not a lookup**, which is what makes the answer available before
|
|
16
|
-
* any instance has announced itself — and also the boundary of what it can
|
|
17
|
-
* answer: an instance registered under an id a host supplied itself is not
|
|
18
|
-
* reproduced by any derivation, so name-based resolution cannot reach one. The
|
|
19
|
-
* adapter loader registers instances under this same derivation, which is why
|
|
20
|
-
* every name-only caller reaches the intended instance today; a host that
|
|
21
|
-
* overrides the id owes itself the reconciliation, and it belongs here rather
|
|
22
|
-
* than in each caller.
|
|
23
|
-
* @param request - Forward lookup payload.
|
|
24
|
-
* @param currentMachineId - Runtime-default machine identifier.
|
|
25
|
-
* @returns Deterministic UUID-shaped runtime adapter id.
|
|
26
|
-
*/
|
|
27
|
-
declare function resolveDeterministicAdapterId(request: ResolveIdRequest, currentMachineId?: string): string;
|
|
28
|
-
/**
|
|
29
|
-
* Service-lifetime adapter identity index.
|
|
30
|
-
*/
|
|
31
|
-
declare class AdapterIdentityRegistry {
|
|
32
|
-
private readonly currentMachineId?;
|
|
33
|
-
private readonly adapterNamesById;
|
|
34
|
-
private localAdapterIds;
|
|
35
|
-
/**
|
|
36
|
-
* Create a new identity registry.
|
|
37
|
-
* @param currentMachineId - Runtime-default machine identifier.
|
|
38
|
-
*/
|
|
39
|
-
constructor(currentMachineId?: string | undefined);
|
|
40
|
-
/**
|
|
41
|
-
* Replace the set of locally known adapters while preserving remote ids
|
|
42
|
-
* already resolved during this service lifetime.
|
|
43
|
-
* @param adapterNames - Current local adapter names.
|
|
44
|
-
*/
|
|
45
|
-
replaceKnownAdapterNames(adapterNames: Iterable<string>): void;
|
|
46
|
-
/**
|
|
47
|
-
* Resolve and remember an adapter id.
|
|
48
|
-
* @param request - Forward lookup payload.
|
|
49
|
-
* @returns Deterministic runtime adapter id.
|
|
50
|
-
*/
|
|
51
|
-
resolveId(request: ResolveIdRequest): string;
|
|
52
|
-
/**
|
|
53
|
-
* Remember a resolved adapter id without re-deriving it.
|
|
54
|
-
* @param adapterId - Runtime adapter id.
|
|
55
|
-
* @param adapterName - Stable adapter driver name.
|
|
56
|
-
*/
|
|
57
|
-
rememberAdapterId(adapterId: string, adapterName: string): void;
|
|
58
|
-
/**
|
|
59
|
-
* Resolve a runtime adapter id back to its known adapter name.
|
|
60
|
-
* @param adapterId - Runtime adapter id.
|
|
61
|
-
* @returns Adapter name when known.
|
|
62
|
-
*/
|
|
63
|
-
resolveAdapterName(adapterId: string): string | undefined;
|
|
64
|
-
/**
|
|
65
|
-
* Hydrate local deterministic adapter names from the provided catalog and
|
|
66
|
-
* retry the reverse lookup.
|
|
67
|
-
* @param adapterId - Runtime adapter id to resolve.
|
|
68
|
-
* @param listKnownAdapterNames - Canonical name supplier.
|
|
69
|
-
* @returns Adapter name when known after hydration.
|
|
70
|
-
*/
|
|
71
|
-
resolveAdapterNameFromKnownNames(adapterId: string, listKnownAdapterNames: () => Promise<Iterable<string>>): Promise<string | undefined>;
|
|
72
|
-
/**
|
|
73
|
-
* Clear all remembered ids.
|
|
74
|
-
*/
|
|
75
|
-
clear(): void;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Registered adapter identity helpers for tests and lightweight hosts.
|
|
79
|
-
*/
|
|
80
|
-
interface RegisteredAdapterRuntimeIdentityHandlers {
|
|
81
|
-
/** Mutable identity registry backing the registered handlers. */
|
|
82
|
-
readonly registry: AdapterIdentityRegistry;
|
|
83
|
-
/** Cleanup function that unregisters the handlers. */
|
|
84
|
-
readonly cleanup: () => void;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Register runtime adapter identity handlers.
|
|
88
|
-
* @param bus - Bus instance used for registration.
|
|
89
|
-
* @param options - Runtime identity configuration.
|
|
90
|
-
* @returns Registry instance and cleanup function.
|
|
91
|
-
*/
|
|
92
|
-
declare function registerAdapterRuntimeIdentityHandlers(bus: IMakaioBus, options?: {
|
|
93
|
-
currentMachineId?: string;
|
|
94
|
-
knownAdapterNames?: Iterable<string>;
|
|
95
|
-
listKnownAdapterNames?: () => Promise<Iterable<string>>;
|
|
96
|
-
}): RegisteredAdapterRuntimeIdentityHandlers;
|
|
97
|
-
//#endregion
|
|
98
|
-
export { resolveDeterministicAdapterId as a, registerAdapterRuntimeIdentityHandlers as i, RegisteredAdapterRuntimeIdentityHandlers as n, buildDeterministicAdapterId as r, AdapterIdentityRegistry as t };
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region core/contracts/src/shared/json-value.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* JSON-safe value type shared by storage and runtime context contracts.
|
|
6
|
-
*
|
|
7
|
-
* Restricting persisted values to JSON keeps the storage contracts aligned
|
|
8
|
-
* with the actual serialization boundary instead of accepting runtime-only
|
|
9
|
-
* values such as functions, Maps, or `undefined`.
|
|
10
|
-
*
|
|
11
|
-
* The object branch intentionally stays broad (`object`) instead of requiring
|
|
12
|
-
* an index signature. The runtime Zod schema remains the source of truth for
|
|
13
|
-
* JSON validation, while the broader TypeScript type keeps regular DTOs and
|
|
14
|
-
* typed fixtures assignable without forcing every interface in the codebase to
|
|
15
|
-
* declare `[key: string]: ...`.
|
|
16
|
-
*/
|
|
17
|
-
type JsonValue = string | number | boolean | null | JsonValue[] | object;
|
|
18
|
-
/**
|
|
19
|
-
* Recursive JSON-safe value schema.
|
|
20
|
-
*
|
|
21
|
-
* Uses `z.lazy()` so arrays and objects can reference the same schema without
|
|
22
|
-
* widening the contract to arbitrary `unknown`.
|
|
23
|
-
*/
|
|
24
|
-
declare const JsonValueSchema: z.ZodType<JsonValue>;
|
|
25
|
-
/**
|
|
26
|
-
* JSON object helper for map-like persisted configuration records.
|
|
27
|
-
*
|
|
28
|
-
* The runtime validation stays strict, while the public TypeScript surface
|
|
29
|
-
* remains `Record<string, unknown>` so opaque config bags do not force callers
|
|
30
|
-
* to thread `JsonValue` through every intermediate type.
|
|
31
|
-
*/
|
|
32
|
-
declare const JsonObjectSchema: z.ZodType<Record<string, unknown>>;
|
|
33
|
-
/**
|
|
34
|
-
* Contract-friendly JSON object schema for opaque config bags.
|
|
35
|
-
*
|
|
36
|
-
* Uses the strict runtime validator above and only narrows the public Zod
|
|
37
|
-
* type. Keeping the underlying schema as `z.record()` is important for
|
|
38
|
-
* protocol exports: `z.custom()` validates correctly at runtime but cannot be
|
|
39
|
-
* represented as JSON Schema.
|
|
40
|
-
*/
|
|
41
|
-
declare const JsonObjectContractSchema: z.ZodType<Record<string, unknown>, Record<string, unknown>>;
|
|
42
|
-
/**
|
|
43
|
-
* Generic JSON-compatible parameter record.
|
|
44
|
-
*
|
|
45
|
-
* Use this schema when the field carries arbitrary JSON key-value pairs that
|
|
46
|
-
* are NOT a JSON Schema document — for example, binding parameter maps or
|
|
47
|
-
* opaque configuration payloads. The underlying validator rejects functions,
|
|
48
|
-
* `undefined`, and other non-serializable values.
|
|
49
|
-
*
|
|
50
|
-
* Distinct from {@link JsonSchemaRecordSchema}, which carries the narrower
|
|
51
|
-
* semantic of "a JSON Schema document" used for `inputSchema` / `outputSchema`
|
|
52
|
-
* / `configSchema` fields.
|
|
53
|
-
*/
|
|
54
|
-
declare const JsonRecordSchema: z.ZodType<Record<string, JsonValue>, Record<string, JsonValue>>;
|
|
55
|
-
/**
|
|
56
|
-
* Serializable JSON Schema record used for `inputSchema`, `outputSchema`, and
|
|
57
|
-
* `configSchema` fields on persisted workflow definitions and node primitives.
|
|
58
|
-
*
|
|
59
|
-
* A JSON Schema document is itself a JSON object, so this is a
|
|
60
|
-
* `Record<string, JsonValue>` — identical at runtime to {@link JsonObjectContractSchema}
|
|
61
|
-
* but carries a semantically narrower name to distinguish "a JSON Schema document"
|
|
62
|
-
* from "an arbitrary JSON payload".
|
|
63
|
-
*
|
|
64
|
-
* The underlying `z.record(z.string(), JsonValueSchema)` validator rejects
|
|
65
|
-
* functions, `undefined`, and other non-serializable values, keeping persisted
|
|
66
|
-
* workflow definitions purely JSON-safe.
|
|
67
|
-
*
|
|
68
|
-
* For non-schema JSON records (e.g. parameter maps), use {@link JsonRecordSchema}.
|
|
69
|
-
*/
|
|
70
|
-
declare const JsonSchemaRecordSchema: z.ZodType<Record<string, JsonValue>, Record<string, JsonValue>>;
|
|
71
|
-
//#endregion
|
|
72
|
-
export { JsonValue as a, JsonSchemaRecordSchema as i, JsonObjectSchema as n, JsonValueSchema as o, JsonRecordSchema as r, JsonObjectContractSchema as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{z as e}from"zod";const t=e.lazy(()=>e.union([e.string(),e.number().finite(),e.boolean(),e.null(),e.array(t),e.record(e.string(),t)])),n=e.record(e.string(),t),r=n,i=e.record(e.string(),t),a=i;export{t as a,a as i,n,i as r,r as t};
|
package/dist/model-ZH3L1dPW.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./visibility-Dl1o2I01.mjs";export{};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./schemas-BNdiVBWh.mjs";import{createBusNamespace as t}from"@makaio/framework/core";const n=t(`kernel:cli`,e),r=n.subjects;export{r as n,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./namespace-B7bntOB8.mjs";import"./ownership-memory-handler-Bblp93YC.mjs";import{MakaioBus as t}from"@makaio/framework/bus";import{AdapterSubjects as n,AgentSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";function a(){t.__resetHandlers?.()}function o(e=10){return new Promise(t=>setTimeout(t,e))}function s(e,t){let n=Date.now();return{agentId:e,adapterId:`adapter-${e}`,adapterName:`test-adapter`,sessionId:t?.sessionId??`test-session`,role:`member`,status:`idle`,createdAt:n,lastActivityAt:n,...t}}async function c(e,r=e){await t.emit(n.initialized,{adapterName:e,adapterId:r,capabilities:[]})}async function l(n){return(await t.request(e.getEvents,{sessionId:n})).events}function u(e,n,r){let i=[];return r.push(t.on(e,(e=>{let t=e.payload;i.push(n(t))}))),{received:i,clear:()=>{i.length=0}}}function d(e){return u(i.turn.started,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,messageId:e.messageId,agentIds:[...e.agentIds],initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function f(e){return u(i.turn.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,success:e.success,error:e.error,initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function p(e){return u(i.user_message.sent,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,content:e.content,agentIds:[...e.agentIds],origin:e.origin}),e)}function m(e){return u(i.user_message.acknowledged,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId}),e)}function h(e){return u(i.user_message.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId,outcome:e.outcome,error:e.error}),e)}const g=s;function _(e){let t=Date.now();return{sessionId:e.sessionId,createdAt:t,lastActivityAt:t,status:e.status??`active`,agents:e.agents??[],leadAgentId:e.leadAgentId,targetWorkingDirectory:e.targetWorkingDirectory}}function v(e){return t.on(i.create,t=>{let n=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`;e.set(n,_({sessionId:n,agents:[]})),t.setResult({sessionId:n})})}function y(e){return t.on(i.agent.added,t=>{let n=e.get(t.payload.sessionId);if(!n)return;let r=n.agents.length===0,i=t.payload.role??(r?`lead`:`member`);r&&(n.adapterSessionId=t.payload.adapterSessionId,n.adapterName=t.payload.adapterName,n.adapterId=t.payload.adapterId);let a=Date.now();n.agents.push({agentId:t.payload.agentId,adapterId:t.payload.adapterId,adapterName:t.payload.adapterName,sessionId:t.payload.sessionId,role:i,status:`idle`,createdAt:a,lastActivityAt:a}),i===`lead`&&(n.leadAgentId=t.payload.agentId),n.lastActivityAt=Date.now()})}function b(e){return t.on(i.get,t=>{t.setResult({session:e.get(t.payload.sessionId)??null})})}function x(e){return t.on(n.getAgent,t=>{for(let n of e.values()){let e=n.agents.find(e=>e.agentId===t.payload.agentId);if(e){t.setResult({agent:{agentId:e.agentId,sessionId:n.sessionId,adapterSessionId:``}});return}}t.setResult({agent:null})})}function S(){return t.on(n.rehydrateAgent,e=>{e.setResult({success:!0})})}function C(e=`/previous/cwd`){return t.on(r.cwd.change,t=>{t.setResult({success:!0,previousCwd:e})})}function w(){return t.on(r.model.change,e=>{e.setResult({success:!0,swapped:!1})})}function T(e){return t.on(n.startAgent,t=>{let{adapterId:n,initialMessage:r}=t.payload,i=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`,a=t.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,o=r?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,s=`adapter-session-${i}`;e?.({adapterId:n,sessionId:i,initialMessage:r}),t.setResult({success:!0,agentId:a,adapterId:n,adapterSessionId:s,sessionId:i,...o&&{messageId:o}}),j({sessionId:i,agentId:a,adapterId:n,adapterSessionId:s})})}function E(e){return t.on(n.startAgent,t=>{t.setResult({success:!1,dispatch:`not-dispatched`,message:e})})}function D(e){return t.on(r.sendMessage,t=>{let{agentId:n,adapterId:r,message:i,messageId:a,sessionContext:o,responseSchema:s}=t.payload,c=a??`msg-${crypto.randomUUID().slice(0,8)}`;e?.({agentId:n,adapterId:r,message:i,messageId:c,sessionContext:o,responseSchema:s}),t.setResult({messageId:c})})}function O(e,n){return t.on(r.sendMessage,t=>{if(e.has(t.payload.agentId))throw Error(n);t.setResult({messageId:t.payload.messageId??`generated-id`})})}async function k(e){await t.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId})}async function A(e){await t.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId,outcome:`error`,error:e.error})}function j(e){setImmediate(()=>{t.emit(i.agent.added,{sessionId:e.sessionId,agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterId,adapterSessionId:e.adapterSessionId,role:e.role})})}function M(e,r){let i=new Map,a=t.on(n.startAgent,t=>{r.payload=t.payload;let n=t.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,a=t.payload.initialMessage?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,o=`adapter-session-${e}`;i.set(n,{agentId:n,sessionId:e,adapterSessionId:o,adapterId:t.payload.adapterId}),t.setResult({success:!0,agentId:n,adapterId:t.payload.adapterId,adapterSessionId:o,sessionId:e,...a&&{messageId:a}}),j({sessionId:e,agentId:n,adapterId:t.payload.adapterId,adapterSessionId:o})}),o=t.on(n.getAgent,e=>{let t=i.get(e.payload.agentId);e.setResult({agent:t?{agentId:t.agentId,sessionId:t.sessionId,adapterSessionId:t.adapterSessionId}:null})});return()=>{a(),o()}}export{c as C,o as E,p as S,a as T,T as _,A as a,m as b,v as c,E as d,x as f,D as g,S as h,k as i,C as l,w as m,_ as n,y as o,b as p,j as r,M as s,g as t,O as u,f as v,l as w,h as x,d as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{n as t}from"./agent-namespace-D51PODFf.mjs";import{SessionOwnershipStorageSubjects as n,SessionStorageSetRequestSchema as r,SessionStorageUpdateSchema as i,SessionSubjects as a,resolveResumableAdapterSessionId as o}from"@makaio/framework/contracts";function s(){return{sessions:new Map,agents:new Map,claims:new Map}}function c(e,t){for(let[n,r]of e.claims)t(r)&&e.claims.delete(n)}function l(e,t){let n=e?.clientAccountId??null,r=t.clientAccountId??null;return!r||n===r?null:{previousClientAccountId:n,clientAccountId:r}}function u(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 d(e,t,n){let r=l(t,n);if(!r)return;let i=n.lastClientIdentityObservation;if(!i)return;let o={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(a.clientAccount.changed,o)).catch(e=>{console.error(`[SessionStorage] Failed to emit session.clientAccount.changed:`,e)})})}function f(e){switch(e){case`fork`:return`fork`;case`subagent`:return`subagent`;case`compress`:return`compress`;case`root`:return;default:return}}function ee(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 p(){let e=0;return()=>{let t=Date.now();return e=t>e?t:e+1,e}}function m(e){return e.activation===`live`?`active`:`discovered`}const te=p();function ne(e,t){return e===`imported`||t===`imported`?`imported`:e===`tracking`||t===`tracking`?`tracking`:e??t??`discovered`}function h(e,t,n){n!==void 0&&(e[t]=n)}function re(e){return e.status===`closed`||e.status===`archived`||e.status===`active`&&e.isImported===!0}function g(e,t,n){if(!re(e)){if(n===`live`){e.status===`discovered`&&(e.status=`active`);return}t===`discovered`&&(e.status=`discovered`)}}function _(e,t,n){let r=e.startedAt??n,i=f(e.kind);return{sessionId:t,createdAt:r,lastActivityAt:r,agents:[],status:m(e),branchKind:i,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:e.importStatus??`discovered`,forkPointMessageId:e.forkPointMessageId??void 0,metadata:e.metadata,lastClientIdentityObservation:e.lastClientIdentityObservation,isSidechain:e.isSidechain,machineId:e.machineId??void 0}}function v(e,t,n){let r=ne(e.importStatus,t.importStatus);g(e,r,t.activation),e.isImported=!0,e.importStatus=r,e.adapterName??=t.source,e.adapterSessionId??=t.externalSessionId,e.source??=t.source,e.discoveredAt??=n}function y(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),e.forkPointMessageId===void 0&&t.forkPointMessageId!==null&&(e.forkPointMessageId=t.forkPointMessageId),e.parentExternalSessionId===void 0&&t.parentAdapterSessionId!==null&&(e.parentExternalSessionId=t.parentAdapterSessionId);let n=f(t.kind);n!==void 0&&e.branchKind===void 0&&(e.branchKind=n),h(e,`adapterId`,t.adapterId),h(e,`clientId`,t.clientId),t.metadata!==void 0&&(e.metadata={...t.metadata,...e.metadata??{}}),h(e,`isSidechain`,t.isSidechain),h(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),t.machineId===null?e.machineId=void 0:t.machineId!==void 0&&(e.machineId??=t.machineId)}function b(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 x(e,t,n){let r=e.discoveredAt;v(e,t,n),y(e,t),b(e,t,r)}function S(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 ie(e,t,n){if(n){e.emit(a.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(a.updated,{sessionId:t.sessionId,changedProperties:[`source`,`targetWorkingDirectory`,`title`]}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))}function ae(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 C(e,t,n){return Array.from(e.values()).find(e=>e.adapterSessionId===n&&e.source===t)}function oe(e,t){let n=[];return t.cwd!==void 0&&(e.targetWorkingDirectory=t.cwd,n.push(`targetWorkingDirectory`)),t.logFilePath!==void 0&&(e.logFilePath=t.logFilePath,n.push(`logFilePath`)),t.machineId!==void 0&&(e.machineId=t.machineId??void 0,n.push(`machineId`)),n}function se(e,t,n){e.emit(a.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(a.import.completed,{sessionId:t.sessionId,adapterSessionId:t.adapterSessionId,source:r}).catch(e=>console.error(`[SessionStorage] Failed to emit session.import.completed:`,e))}function ce(t,n){return t.on(e.rebindObserved,e=>{let r=e.payload,i=C(n,r.source,r.externalSessionId);if(!i){e.setResult({outcome:`not-found`});return}let o=oe(i,r);e.setResult({outcome:`rebound`,sessionId:i.sessionId}),o.length>0&&t.emit(a.updated,{sessionId:i.sessionId,changedProperties:o}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))})}function le(t){let{bus:n,store:r,cloneSession:i,populateAgents:a}=t;return[n.on(e.importUpsert,e=>{let t=e.payload,i=C(r,t.source,t.externalSessionId),a=te(),o=i===void 0,s=i??_(t,crypto.randomUUID(),a);i?(x(i,t,a),i.parentExternalSessionId!==void 0&&i.parentSessionId===void 0&&S(r,i)):(r.set(s.sessionId,s),S(r,s)),ie(n,s,o),e.setResult({sessionId:s.sessionId,created:o})}),ce(n,r),n.on(e.getByLogFilePath,async e=>{let t=Array.from(r.values()).find(t=>t.logFilePath===e.payload.logFilePath);if(!t){e.setResult({session:null});return}let o=await a(n,t.sessionId);e.setResult({session:{...i(t),agents:o}})}),n.on(e.listImported,async e=>{let{source:t,importStatus:o}=e.payload,s=Array.from(r.values()).filter(e=>e.isImported===!0).filter(e=>t===void 0||e.source===t).filter(e=>o===void 0||e.importStatus===o).sort((e,t)=>t.createdAt-e.createdAt),c=await Promise.all(s.map(async e=>({...i(e),agents:await a(n,e.sessionId)})));e.setResult({sessions:c})}),n.on(e.countBySource,e=>{let t=Array.from(r.values()).filter(t=>t.isImported===!0&&t.source===e.payload.source);e.setResult(ae(t))}),n.on(e.updateImportStatus,e=>{let t=r.get(e.payload.sessionId),i=e.payload.importStatus;if(!t||t.importStatus===i){e.setResult({success:!1});return}t.importStatus=i,i===`imported`&&t.status===`discovered`&&(t.status=`active`),e.setResult({success:!0}),se(n,t,i)})]}function w(e,t){let n=t.expectIdentityOpenForLead;return n===void 0?!1:e.adapterName!==void 0||e.adapterId!==void 0?!0:(e.leadAgentId??null)!==n}async function T(e,n){let r=await e.requestOptional(t.listBySession,{sessionId:n});return r.handled?r.data.agents:[]}function E(e){return structuredClone(e)}function D(e,t,n){n!==void 0&&(e[t]=n)}function O(e,t,n){n!==void 0&&(e[t]=n??void 0)}function k(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 A(e,t){e.currentAdapterSessionId=t?.currentAdapterSessionId,e.currentAdapterSessionIdState=t?.currentAdapterSessionIdState??`inherited`,t!==null&&(e.leadAgentId=t.leadAgentId)}function j(e,t){D(e,`status`,t.status),D(e,`parentSessionId`,t.parentSessionId),D(e,`contextInheritance`,t.contextInheritance),D(e,`rootSessionId`,t.rootSessionId),D(e,`forkPointMessageId`,t.forkPointMessageId),D(e,`branchKind`,t.branchKind),D(e,`isOrchestrated`,t.isOrchestrated),D(e,`clientId`,t.clientId),D(e,`clientAccountId`,t.clientAccountId),D(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),D(e,`title`,t.title),D(e,`targetWorkingDirectory`,t.targetWorkingDirectory),D(e,`createdAt`,t.createdAt),D(e,`lastActivityAt`,t.lastActivityAt),D(e,`machineId`,t.machineId),t.identity!==void 0&&(e.adapterName=t.identity.adapterName,e.adapterId=t.identity.adapterId,D(e,`adapterSessionId`,t.identity.adapterSessionId)),O(e,`executionTargetId`,t.executionTargetId),O(e,`approvalPolicyOverride`,t.approvalPolicyOverride),O(e,`metadata`,t.metadata),t.spawningToolCallId===null?e.spawningToolCallId=void 0:t.spawningToolCallId!==void 0&&e.spawningToolCallId===void 0&&(e.spawningToolCallId=t.spawningToolCallId)}function M(t,n){return t.on(e.list,async e=>{let{status:r=`all`,limit:i,offset:a=0,includePreview:o=!1,executionTargetId:s}=e.payload,c=k(Array.from(n.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 e=>({...E(e),agents:await T(t,e.sessionId)}))),d=o?u.map(e=>({...e,preview:{messageCount:0,firstUserMessage:null}})):u;e.setResult({sessions:d,total:l})})}function N(t,n){return t.on(e.update,async e=>{let r=structuredClone(i.request.parse(e.payload)),a=n.get(r.sessionId);if(!a){e.setResult({success:!1,clientAccountChanged:!1});return}if(r.expectedStatus!==void 0&&!r.expectedStatus.includes(a.status)){e.setResult({success:!1,clientAccountChanged:!1});return}if(w(a,r)){e.setResult({success:!1,clientAccountChanged:!1});return}let o=E(a);u(o,{sessionId:a.sessionId,clientId:r.clientId??a.clientId,clientAccountId:r.clientAccountId??a.clientAccountId,lastClientIdentityObservation:r.lastClientIdentityObservation??a.lastClientIdentityObservation}),j(a,r),e.setResult({success:!0,clientAccountChanged:(o.clientAccountId??null)!==(a.clientAccountId??null)}),d(t,o,E(a))})}function P(t,n=s()){let i=n.sessions,a=[];return a.push(t.on(e.get,async e=>{let n=i.get(e.payload.sessionId);if(!n){e.setResult({session:null});return}let r=await T(t,e.payload.sessionId);e.setResult({session:{...E(n),agents:r}})})),a.push(t.on(e.set,async e=>{let{sessionId:n,session:a,ifAbsent:o}=r.parse(e.payload);if(o&&i.has(n)){e.setResult({success:!1,clientAccountChanged:!1});return}let s=structuredClone(a),c=i.get(n)??null,l=c?E(c):null;A(s,l),u(c,s),i.set(n,s),e.setResult({success:!0,clientAccountChanged:(l?.clientAccountId??null)!==(s.clientAccountId??null)}),d(t,l,E(s))})),a.push(t.on(e.delete,async e=>{let t=new Set;for(let[r,i]of n.agents)i.sessionId===e.payload.sessionId&&(t.add(r),n.agents.delete(r));c(n,n=>n.sessionId===e.payload.sessionId||t.has(n.agentId)),i.delete(e.payload.sessionId),e.setResult({success:!0}),await e.next()})),a.push(M(t,i)),a.push(t.on(e.getChildren,e=>{let{sessionId:t}=e.payload,n=Array.from(i.values()),r=n.filter(e=>e.parentSessionId===t),a=new Set(n.map(e=>e.parentSessionId).filter(e=>!!e)),o=r.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})})),a.push(t.on(e.getStatusCounts,e=>{e.payload;let t=Array.from(i.values()),n=t.filter(e=>e.status===`active`).length,r=t.filter(e=>e.status===`closed`).length,a=t.filter(e=>e.status===`archived`).length,o=t.filter(e=>e.status===`discovered`).length;e.setResult({all:n+r+a+o,active:n,closed:r,archived:a,discovered:o})})),a.push(N(t,i)),a.push(F(t,i)),a.push(...le({bus:t,store:i,populateAgents:T,cloneSession:E})),()=>a.forEach(e=>e())}function F(n,r){return n.on(e.getByAdapterSessionId,async e=>{let{adapterSessionId:i,source:a,adapterName:o}=e.payload,s=Array.from(r.values()).filter(e=>e.adapterSessionId!==void 0&&e.adapterSessionId===i&&(a===void 0||e.source===a)&&(o===void 0||e.adapterName===o)),c=s[0];if(s.length!==1||c===void 0){e.setResult({session:null});return}let l=await n.requestOptional(t.listBySession,{sessionId:c.sessionId}),u=l.handled?l.data.agents:[];e.setResult({session:{...E(c),agents:u}})})}function I(e){return structuredClone(e)}function L(e,t){let{adapterId:n,adapterSessionId:r,cwd:i,model:a,allowedDirectories:o,providerConfigId:s}=t;return n===void 0&&r===void 0&&i===void 0&&a===void 0&&o===void 0&&s===void 0?!1:(n!==void 0&&(e.adapterId=n),r!==void 0&&(e.adapterSessionId=r),i!==void 0&&(e.cwd=i),a!==void 0&&(e.model=a),o!==void 0&&(e.allowedDirectories=o),s===null?delete e.providerConfigId:s!==void 0&&(e.providerConfigId=s),!0)}function R(e){return{status:e.status,adapterSessionId:e.adapterSessionId,currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:e.currentAdapterSessionIdState,revision:e.revision,currencyFence:e.currencyFence}}function z(e,t,n){let r=e.get(t),i=r===void 0?void 0:R(r);e.set(t,{...structuredClone(n),status:i?.status===`disposed`?`disposed`:n.status,adapterSessionId:i===void 0?n.adapterSessionId:i.adapterSessionId,currentAdapterSessionId:i?.currentAdapterSessionId,currentAdapterSessionIdState:i?.currentAdapterSessionIdState??`inherited`,revision:i?.revision??0,currencyFence:i?.currencyFence??0})}function B(e,t,n){let r=e.get(t);return r===void 0?!1:n(r)}function V(e,t,n,r){let i=e.get(t);return i===void 0?{success:!1,transitioned:!1}:i.status===`disposed`||r!==void 0&&!r.includes(i.status)?{success:!0,transitioned:!1}:(i.status=n,i.lastActivityAt=Date.now(),{success:!0,transitioned:!0})}function H(e,t){return c(e,e=>e.agentId===t),e.agents.delete(t)}function U(e,n=s()){let r=n.agents,i=[];return i.push(e.on(t.get,e=>{let t=r.get(e.payload.agentId);e.setResult({agent:t===void 0?null:I(t)})})),i.push(e.on(t.set,e=>{z(r,e.payload.agentId,e.payload.agent),e.setResult({success:!0})})),i.push(e.on(t.delete,e=>{e.setResult({success:H(n,e.payload.agentId)})})),i.push(e.on(t.listByAdapter,e=>{let{adapterName:t,status:n}=e.payload,i=Array.from(r.values()).filter(e=>e.adapterName===t);n&&n!==`all`&&(i=i.filter(e=>e.status===n)),e.setResult({agents:i.map(I)})})),i.push(e.on(t.listBySession,e=>{let t=Array.from(r.values()).filter(t=>t.sessionId===e.payload.sessionId);e.setResult({agents:t.map(I)})})),i.push(e.on(t.updateStatus,e=>{let{agentId:t,status:n,expectedStatus:i}=e.payload;e.setResult(V(r,t,n,i))})),i.push(e.on(t.updateActivity,e=>{let t=B(r,e.payload.agentId,t=>(t.lastActivityAt=e.payload.lastActivityAt,!0));e.setResult({success:t})})),i.push(e.on(t.updateRuntime,e=>{let{adapterId:t,adapterSessionId:n,cwd:i,model:a,allowedDirectories:o,providerConfigId:s}=e.payload,c=B(r,e.payload.agentId,e=>L(e,{adapterId:t,adapterSessionId:n,cwd:i,model:a,allowedDirectories:o,providerConfigId:s})?(e.lastActivityAt=Date.now(),!0):!1);e.setResult({success:c})})),()=>i.forEach(e=>e())}function W(e,t,n,r){for(let i of e.values())if(i.machineId===t&&i.adapterId===n&&i.providerSessionId===r)return i}function G(e,t){for(let n of e.values())if(n.claimToken===t)return n}function ue(e,t){let n=0;for(let r of e.values())r.agentId===t&&r.fence>n&&(n=r.fence);return n}function K(e,t,n){let r=e.agents.get(t)?.currencyFence??0;return 1+Math.max(n,r,ue(e.claims,t))}function q(e,t){let n=e.currentAdapterSessionIdState??`inherited`;if(n!==`inherited`)return{currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:n};let r=e.adapterSessionId??null;return r===t?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`inherited`}:r===null?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`moved`}:{currentAdapterSessionId:r,currentAdapterSessionIdState:`confirmed`}}function de(e,t){if(t===`confirmed`!=(e!==null))throw Error(`Currency pairing invariant violated: confirmed ↔ id !== null (state="${t}", id=${e===null?`null`:`present`})`)}function J(e){return{adapterSessionId:e.adapterSessionId??null,currentAdapterSessionId:e.currentAdapterSessionId??null,currentAdapterSessionIdState:e.currentAdapterSessionIdState??`inherited`}}function Y(e,t,n){let r=e.sessions.get(t.sessionId);if(r===void 0)return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};let i=r.leadAgentId??null,a=t.designateLead;if(a===void 0)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};let o=a.clear===!0,s=o?null:n.agentId;if(!o&&n.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};if(!o&&i===n.agentId)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};if(i!==a.expectedLeadAgentId)return{kind:`conflict`,currentLeadAgentId:i};if(r.leadAgentId=s??void 0,!o){let e=q(n,r.adapterSessionId??null);r.currentAdapterSessionId=e.currentAdapterSessionId,r.currentAdapterSessionIdState=e.currentAdapterSessionIdState}return{kind:`ok`,leadDesignated:!0,previousLeadAgentId:i}}function X(e,t,n){if(!e.sessions.has(t.sessionId))return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};let r=e.agents.get(t.agentId);if(r===void 0||r.sessionId!==t.sessionId)return{kind:`refused`,result:{outcome:`not-found`,missing:`agent`}};if(r.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};let i=G(e.claims,t.claimToken);if(i!==void 0&&i.claimId!==n?.claimId)throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t.claimToken}" is already in use`);return{kind:`ok`,agent:r}}function Z(e,t,n){return{outcome:e,claim:t===null?null:structuredClone(t),leadDesignated:n.leadDesignated,previousLeadAgentId:n.previousLeadAgentId}}function fe(e,t){let n=X(e,t);if(n.kind===`refused`)return n.result;let r=Date.now(),i=crypto.randomUUID(),a={claimId:i,machineId:t.machineId,adapterId:t.adapterId,adapterName:t.adapterName,providerSessionId:t.providerSessionId,sessionId:t.sessionId,agentId:t.agentId,claimToken:t.claimToken,fence:K(e,t.agentId,0),status:`held`,claimedAt:r,updatedAt:r};e.claims.set(i,structuredClone(a));let o=Y(e,t,n.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.delete(i),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function pe(e,t,n){let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Date.now(),a={...n,claimToken:t.claimToken,fence:K(e,t.agentId,n.fence),agentId:t.agentId,sessionId:t.sessionId,adapterName:t.adapterName,status:`held`,claimedAt:i,updatedAt:i};e.claims.set(n.claimId,structuredClone(a));let o=Y(e,t,r.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.set(n.claimId,structuredClone(n)),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function me(e,t,n){if(n.status!==`held`)return{outcome:`already-claimed`,holder:structuredClone(n)};let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Y(e,t,r.agent);return i.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:i.currentLeadAgentId}:i.kind===`refused`?i.result:Z(`idempotent`,n,i)}function he(e,t){let n=e.agents.get(t.agentId);if(n===void 0||n.sessionId!==t.sessionId)return{outcome:`not-found`,missing:`agent`};if(n.status===`disposed`&&t.designateLead?.clear!==!0)return{outcome:`agent-disposed`};let r=Y(e,t,n);return r.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:r.currentLeadAgentId}:r.kind===`refused`?r.result:Z(`claimed`,null,r)}function ge(e,t){let{providerSessionId:n}=t;if(n===null)return he(e,t);let r={...t,providerSessionId:n},i=W(e.claims,r.machineId,r.adapterId,n);return i===void 0?fe(e,r):i.claimToken===r.claimToken?i.agentId===r.agentId&&i.sessionId===r.sessionId?me(e,r,i):{outcome:`already-claimed`,holder:structuredClone(i)}:r.supersedes?.claimToken===i.claimToken||e.agents.get(i.agentId)?.status===`disposed`?pe(e,r,i):{outcome:`already-claimed`,holder:structuredClone(i)}}function _e(e,t,n){let{agentId:r,claimToken:i,fence:a,expectedRevision:o,target:s}=n,c=t.revision??0,l=t.currencyFence??0;if(t.status===`disposed`)return{outcome:`agent-disposed`};let u=G(e.claims,i);if(u===void 0||u.agentId!==r||u.sessionId!==t.sessionId||u.status!==`held`||u.fence!==a)return{outcome:`not-owner`};if(a<l)return{outcome:`superseded`,currentFence:l};let d=J(t);if(d.currentAdapterSessionId===s.currentAdapterSessionId&&d.currentAdapterSessionIdState===s.currentAdapterSessionIdState&&l===a)return{outcome:`idempotent`,revision:c,currency:d,sessionSnapshotUpdated:!1};if(c!==o)return{outcome:`currency-changed`,revision:c,currency:d}}function Q(e,t,n){let r=_e(e,t,n);if(r!==void 0)return r;let{agentId:i,fence:a,expectedRevision:o,target:s}=n;de(s.currentAdapterSessionId,s.currentAdapterSessionIdState);let c=t.adapterSessionId??null;t.currentAdapterSessionId=s.currentAdapterSessionId??void 0,t.currentAdapterSessionIdState=s.currentAdapterSessionIdState,t.currencyFence=a,t.revision=o+1,t.lastActivityAt=Date.now();let l=e.sessions.get(t.sessionId),u=!1;if(l!==void 0&&l.leadAgentId===i){let e=q(t,l.adapterSessionId??null);l.currentAdapterSessionId=e.currentAdapterSessionId,l.currentAdapterSessionIdState=e.currentAdapterSessionIdState,u=!0}return{outcome:`settled`,revision:o+1,currency:{adapterSessionId:c,...s},sessionSnapshotUpdated:u}}function ve(e,t,n){let r=G(e.claims,t);if(!(r===void 0||r.claimId===n))throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t}" is already in use`)}function ye(e,t,n){let{machineId:r,adapterId:i,agentId:a}=t,o=W(e.claims,r,i,n),s,c;if(o!==void 0&&o.agentId===a&&o.status===`held`)s=o,c=()=>{};else if(o!==void 0&&e.agents.get(o.agentId)?.status!==`disposed`)return{outcome:`already-claimed`,holder:structuredClone(o)};else{let l=Date.now(),u=o?.claimId??crypto.randomUUID();ve(e,t.movement.claimToken,u),s={claimId:u,machineId:r,adapterId:i,adapterName:t.adapterName,providerSessionId:n,sessionId:t.sessionId,agentId:a,claimToken:t.movement.claimToken,fence:K(e,a,o?.fence??0),status:`held`,claimedAt:l,updatedAt:l},e.claims.set(u,structuredClone(s)),c=o===void 0?()=>{e.claims.delete(u)}:()=>{e.claims.set(u,structuredClone(o))}}let l=t.movement.kind===`confirmed`?Array.from(e.claims.values()).filter(e=>e.agentId===a&&e.status===`held`&&e.claimId!==s.claimId):[];for(let t of l)e.claims.delete(t.claimId);return{generation:s,releasedProviderSessionIds:l.map(e=>e.providerSessionId),rollback:()=>{for(let t of l)e.claims.set(t.claimId,structuredClone(t));c()}}}function be(e,t){if(e.kind===`confirmed`)return{providerSessionId:e.providerSessionId,currency:{currentAdapterSessionId:e.providerSessionId,currentAdapterSessionIdState:`confirmed`}};let n=o(J(t));return n===null?null:{providerSessionId:n,currency:{currentAdapterSessionId:null,currentAdapterSessionIdState:`moved`}}}function xe(e,t){return e.on(n.read,e=>{let{agentId:n}=e.payload,r=t.agents.get(n);if(r===void 0){e.setResult({ownership:null});return}let i=Array.from(t.claims.values()).filter(e=>e.agentId===n).sort((e,t)=>e.fence-t.fence||e.claimId.localeCompare(t.claimId));e.setResult({ownership:{agentId:n,sessionId:r.sessionId,currency:J(r),revision:r.revision??0,currencyFence:r.currencyFence??0,claims:i.map(e=>structuredClone(e))}})})}function Se(e,t){return e.on(n.settleCurrency,e=>{let n=t.agents.get(e.payload.agentId);if(n===void 0){e.setResult({outcome:`not-found`});return}e.setResult(Q(t,n,e.payload))})}function Ce(e,t){return e.on(n.settleMovement,e=>{let n=e.payload,r=t.agents.get(n.agentId);if(r===void 0||r.sessionId!==n.sessionId){e.setResult({outcome:`not-found`});return}if(r.status===`disposed`){e.setResult({outcome:`agent-disposed`});return}let i=be(n.movement,r);if(i===null){e.setResult({outcome:`idempotent`,revision:r.revision??0,currency:J(r),sessionSnapshotUpdated:!1,claim:null});return}let a=ye(t,n,i.providerSessionId);if(!(`generation`in a)){e.setResult(a);return}let o=Q(t,r,{agentId:n.agentId,claimToken:a.generation.claimToken,fence:a.generation.fence,expectedRevision:n.expectedRevision,target:i.currency});if(o.outcome!==`settled`){a.rollback(),e.setResult(o.outcome===`idempotent`?{...o,claim:structuredClone(a.generation)}:o);return}e.setResult({outcome:`settled`,revision:o.revision,currency:o.currency,sessionSnapshotUpdated:o.sessionSnapshotUpdated,releasedProviderSessionIds:a.releasedProviderSessionIds,claim:structuredClone(a.generation)})})}function $(e,t){return e.on(n.releaseAgentClaims,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=Array.from(t.claims.values()).filter(e=>e.agentId===n&&(r===void 0||e.claimToken===r));if(i===`released`){for(let e of a)t.claims.delete(e.claimId);e.setResult({releasedProviderSessionIds:a.map(e=>e.providerSessionId),markedClaims:[],claimTokenNotFound:r!==void 0&&a.length===0});return}let o=Date.now(),s=a.map(e=>{let n={...e,status:i,updatedAt:o};return t.claims.set(e.claimId,structuredClone(n)),n});e.setResult({releasedProviderSessionIds:[],markedClaims:s,claimTokenNotFound:r!==void 0&&a.length===0})})}function we(e,t){return e.on(n.release,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=G(t.claims,r);if(a===void 0){e.setResult({outcome:`not-found`});return}if(a.agentId!==n){e.setResult({outcome:`not-owner`,holder:structuredClone(a)});return}if(i===`released`){t.claims.delete(a.claimId),e.setResult({outcome:`released`});return}let o={...a,status:i,updatedAt:Date.now()};t.claims.set(a.claimId,structuredClone(o)),e.setResult({outcome:`marked`,claim:structuredClone(o)})})}function Te(e,t){return e.on(n.listClaims,e=>{let{machineId:n,adapterId:r,providerSessionId:i,statuses:a}=e.payload,o=Array.from(t.claims.values()).filter(e=>e.machineId===n&&(r===void 0||e.adapterId===r)&&(i===void 0||e.providerSessionId===i)&&(a===void 0||a.includes(e.status)));o.sort((e,t)=>e.claimedAt-t.claimedAt||e.claimId.localeCompare(t.claimId)),e.setResult({claims:o.map(e=>structuredClone(e))})})}function Ee(e,t=s()){let r=[xe(e,t),e.on(n.claim,e=>{e.setResult(ge(t,e.payload))}),Se(e,t),Ce(e,t),we(e,t),$(e,t),Te(e,t)];return()=>{for(let e=r.length-1;e>=0;--e)r[e]?.()}}export{m as a,ee as c,s as d,w as i,u as l,U as n,p as o,P as r,f as s,Ee as t,d as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./json-value-D57aJhVn.mjs";import{z as n}from"zod";const r=[`inline`,`summary`,`link`,`omit`],i=n.string().min(1),a=n.object({kinds:n.array(n.string().min(1)).optional(),hint:i.optional(),depth:n.number().int().min(1).max(20).optional(),nested:n.lazy(()=>o).optional()}),o=n.record(n.string().min(1),a),s=n.enum([`link`,`summary`,`full`]),c=n.object({artifactId:n.string().min(1).optional(),url:n.string().min(1).optional(),label:n.string().min(1)}),l=n.object({id:n.string().min(1),kind:n.string().min(1),revision:n.string().min(1),status:n.string().min(1).optional()}),u=n.object({breadcrumbs:n.array(c),related:n.array(c)}),d=n.object({dashboard:n.string().min(1).optional(),materialized:n.string().min(1).optional()}),f=n.object({type:n.literal(`summary`),title:n.string().min(1),text:n.string().min(1)}),p=n.object({type:n.literal(`properties`),title:n.string().min(1),rows:n.array(n.object({label:n.string().min(1),value:n.string()}))}),m=n.object({type:n.literal(`table`),title:n.string().min(1),columns:n.array(n.string().min(1)),rows:n.array(n.object({cells:n.array(n.string()),link:c.optional()}))}),h=n.object({type:n.literal(`relations`),title:n.string().min(1),groups:n.array(n.object({type:n.string().min(1),items:n.array(c)}))}),g=n.object({type:n.literal(`evidence`),title:n.string().min(1),items:n.array(n.object({kind:n.string().min(1),id:n.string().min(1),locator:n.string().min(1).optional()}))}),_=n.object({type:n.literal(`raw`),title:n.string().min(1),json:e}),v=n.object({type:n.literal(`code`),title:n.string().min(1),language:n.string().min(1),content:n.string()}),y=n.object({type:n.literal(`diagram`),title:n.string().min(1),notation:n.literal(`mermaid`),source:n.string().min(1)}),b=n.discriminatedUnion(`type`,[f,p,m,h,g,_,v,y]),ee=n.object({title:n.string().min(1),artifact:l,navigation:u,sections:n.array(b),links:d}),x=t,S=n.object({level:s,params:x.optional()}),C=n.object({kind:n.literal(`entry`),via:n.string().min(1).optional(),collection:n.string().min(1).optional()});function w(e){return(t,r)=>{t.via!==void 0==(t.collection!==void 0)&&r.addIssue({code:n.ZodIssueCode.custom,message:`Entry ${e} must have exactly one of via or collection`})}}const T=n.discriminatedUnion(`kind`,[n.object({kind:n.literal(`own-view`)}),n.object({kind:n.literal(`inline`),hostRelation:n.string().min(1),as:s.optional()}),C.extend({title:n.string().min(1).optional(),hostRelation:n.string().min(1).optional()}).superRefine(w(`affordance`))]),E=n.discriminatedUnion(`kind`,[n.object({kind:n.literal(`own-view`)}),n.object({kind:n.literal(`inline`),hostRelation:n.string().min(1)}),C.superRefine(w(`request`))]);function D(e){return e}const O=n.enum([`title`,`summary`]),k=n.discriminatedUnion(`kind`,[n.object({kind:n.literal(`label`),prefix:n.string().min(1).optional()}),n.object({kind:n.literal(`field`),name:n.string().min(1),fieldId:n.string().min(1).optional()}),n.object({kind:n.literal(`issue-type`),name:n.string().min(1),typeId:n.string().min(1).optional()}),n.object({kind:n.literal(`body-fragment`),slot:n.string().min(1)}),n.object({kind:n.literal(`comment`),template:n.string().min(1)})]),A=n.object({id:n.string().min(1),provider:n.string().min(1),namespace:n.string().min(1),target:k,appliesTo:n.array(n.enum([`workpiece`,`artifact`,`surface`])).min(1),valueMapping:n.record(n.string(),n.string()).optional(),description:n.string().min(1).optional(),params:t.optional()}),j=n.enum([`status`,`workflow`,`priority`]),M=n.object({path:n.string().min(1),semantic:j.optional(),fromLevel:s.optional(),viewRole:O.optional()}),N=n.object({mode:n.enum([`none`,`surface`,`comment`]),defaultRole:n.enum([`workpiece`,`artifact`]).optional(),semanticEvents:n.array(n.enum([`created`,`revised`,`status-changed`,`observation-added`])).optional(),projectedFields:n.array(M).optional(),affordances:n.array(T).optional()}).superRefine((e,t)=>{if(!e.projectedFields)return;let r=0,i=0;for(let t of e.projectedFields)t.viewRole===`title`&&r++,t.viewRole===`summary`&&i++;r>1&&t.addIssue({code:n.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: title`}),i>1&&t.addIssue({code:n.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: summary`})}),P=n.object({artifactId:n.string().min(1),provider:n.string().min(1),externalId:n.string().min(1),externalUrl:n.string().optional(),surfaceRole:n.enum([`workpiece`,`artifact`]),lastSyncedRevision:n.string().optional(),metadata:n.record(n.string(),n.unknown()).optional()}),F=n.object({kind:n.string().min(1),id:n.string().min(1),displayName:n.string().optional()}),I=n.object({level:n.string().min(1),ids:n.record(n.string().min(1),n.string().min(1)).optional()}).superRefine((e,t)=>{e.level!==`global`&&(!e.ids||Object.keys(e.ids).length===0)&&t.addIssue({code:n.ZodIssueCode.custom,path:[`ids`],message:`ids is required when scope level is not 'global'`})}),L=n.object({level:n.string().min(1),ids:n.record(n.string().min(1),n.string().min(1)).optional()}),R=n.object({refClass:n.literal(`artifact`).default(`artifact`),kind:n.string().min(1),id:n.string().min(1),revision:n.string().min(1)}),z=n.object({refClass:n.literal(`local`).default(`local`),artifact:R,localId:n.string().min(1)}),B=n.object({refClass:n.literal(`evidence`).default(`evidence`),kind:n.string().min(1),id:n.string().min(1),revision:n.string().min(1).optional(),locator:n.string().min(1).optional()}),V=n.discriminatedUnion(`refClass`,[R,z,B]);function te(e){return!e||typeof e!=`object`||Array.isArray(e)||`refClass`in e?e:`artifact`in e&&`localId`in e?{...e,refClass:`local`}:`locator`in e||!(`revision`in e)?{...e,refClass:`evidence`}:{...e,refClass:`artifact`}}const H=n.preprocess(te,V),U=n.discriminatedUnion(`refClass`,[R.extend({revision:n.string().min(1).optional()}),z,B]);function W(e){return!e||typeof e!=`object`||Array.isArray(e)||`refClass`in e?e:`artifact`in e&&`localId`in e?{...e,refClass:`local`}:`locator`in e?{...e,refClass:`evidence`}:{...e,refClass:`artifact`}}const G=n.preprocess(W,U),K=n.object({type:n.string().min(1),target:H}),q=n.enum([`assumed`,`inferred`,`stated`,`confirmed`,`verified`]),J=n.object({kind:n.string().min(1),actor:F,timestamp:n.number().int().nonnegative(),detail:n.string().optional(),evidenceRef:H.optional()}),Y=n.object({level:q,basis:n.array(J)}),X=n.object({id:n.string().min(1),kind:n.string().min(1),summary:n.string().min(1),detail:n.string().optional(),severity:n.enum([`info`,`warning`,`blocker`]).optional(),tags:n.array(n.string().min(1)).optional(),regarding:n.union([R,z]).optional(),evidence:n.union([R,B]).optional(),actor:F,timestamp:n.number().int().nonnegative()}),Z=n.object({markdown:n.string().optional(),summary:n.string().optional(),plaintext:n.string().optional()}),Q=n.object({kind:n.string().min(1),id:n.string().min(1),revision:n.string().min(1),scope:I,schemaVersion:n.string().min(1),data:t,relations:n.array(K),confidence:Y.optional(),representations:Z.optional(),actor:F,timestamp:n.number().int().nonnegative(),createdAt:n.number().int().nonnegative().optional()}),$=n.enum([`supersedes`,`manual`,`coexist`]),ne=n.object({kind:n.string().min(1),description:n.string().trim().min(1),schemaVersion:n.string().min(1),dataSchema:t,scopeSchema:t.optional(),observationSchema:t.optional(),discriminator:n.union([n.string().min(1),n.array(n.string().min(1))]).optional(),conflictPolicy:$,status:n.object({path:n.string().min(1),values:n.array(n.string().min(1)).optional()}).optional(),lifecycle:n.object({defaultRelevance:n.enum([`active`,`fading`,`retired`,`archived`]).optional(),decayPolicy:n.string().min(1).optional()}).optional(),indexedFields:n.array(n.string().min(1)).optional(),searchableFields:n.array(n.string().min(1)).optional(),projection:N.optional(),defaultContext:o.optional()}),re=n.object({type:n.string().min(1),symmetry:n.enum([`asymmetric`,`symmetric`]),implication:n.string().min(1).optional(),sourceKinds:n.array(n.string().min(1)).optional(),targetKinds:n.array(n.string().min(1)).optional(),targetRefClasses:n.array(n.enum([`artifact`,`local`,`evidence`])).optional()}),ie=n.object({kind:n.string().min(1).optional(),scope:L.optional(),ids:n.array(n.string().min(1)).optional(),currentOnly:n.boolean().optional(),search:n.string().optional(),relation:n.object({type:n.string().min(1).optional(),target:G.optional()}).optional(),confidence:n.object({maxLevel:q.optional(),minLevel:q.optional()}).optional(),indexed:n.record(n.string(),e).optional(),limit:n.number().int().min(1).optional()}),ae=n.object({base:R,target:R}),oe=n.object({base:Q,target:Q,changedPaths:n.array(n.string())});export{E as A,ee as B,N as C,A as D,O as E,y as F,b as G,p as H,g as I,m as J,f as K,l as L,S as M,D as N,k as O,v as P,o as Q,s as R,P as S,j as T,_ as U,u as V,h as W,a as X,r as Y,i as Z,q as _,ne as a,z as b,L as c,K as d,H as f,J as g,I as h,$ as i,x as j,T as k,R as l,Q as m,ae as n,X as o,Z as p,d as q,oe as r,ie as s,F as t,G as u,Y as v,M as w,re as x,B as y,c as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{z as e}from"zod";import{AdapterAuthConstantSchema as t,AuthEnvironmentVariableNameSchema as n,AuthMethodRefSchema as r}from"@makaio/framework/contracts/auth";const i=[`MAKAIO_GIT_TOKEN`,`MAKAIO_BUS_AUTH_SECRET`],a=t,o=e.object({machineId:e.string().trim().min(1),packageNames:e.array(e.string().trim().min(1)).min(1).refine(e=>new Set(e).size===e.length,{message:`Session runtime package names must be unique.`}).readonly()}).strict().readonly(),s=e.object({sessionId:e.string().trim().min(1),adapterName:e.string().trim().min(1),providerConfigId:e.string().trim().min(1),definitionId:e.string().trim().min(1),runtime:o,auth:e.object({mode:e.enum([`explicit`,`none`]),method:r}).strict().readonly()}).strict().superRefine((t,n)=>{t.auth.method.owner===`provider`&&t.auth.method.providerDefinitionId!==t.definitionId&&n.addIssue({code:e.ZodIssueCode.custom,message:`Provider-owned auth method must belong to the selected provider definition.`,path:[`auth`,`method`,`providerDefinitionId`]})}).readonly(),c=e.object({target:e.string().trim().min(1),values:e.record(e.string().trim().min(1),a).readonly()}).strict().readonly(),l=e.object({selector:s,scrubEnvVars:e.array(n).readonly(),processEnv:e.record(n,e.string()).readonly(),connectorDeliveries:e.array(c).readonly()}).strict().superRefine((t,n)=>{let r=new Set;for(let[i,a]of t.scrubEnvVars.entries())r.has(a)&&n.addIssue({code:e.ZodIssueCode.custom,message:`Duplicate scrub environment variable "${a}".`,path:[`scrubEnvVars`,i]}),r.add(a);for(let i of Object.keys(t.processEnv))r.has(i)||n.addIssue({code:e.ZodIssueCode.custom,message:`Every process-environment auth delivery must also belong to the scrub set.`,path:[`processEnv`,i]});let i=new Set;for(let[r,a]of t.connectorDeliveries.entries())i.has(a.target)&&n.addIssue({code:e.ZodIssueCode.custom,message:`Duplicate connector auth target "${a.target}".`,path:[`connectorDeliveries`,r,`target`]}),i.add(a.target)}).readonly(),u=e.object({busAuthSecret:e.string().optional(),gitToken:e.string().optional(),runtimeEnv:e.record(n,e.string()).optional(),sessionRuntime:o.optional(),adapterAuth:l.optional()}).strict(),d=e.enum([`simple`,`full`]),f=e.enum([`created`,`running`,`stopped`,`destroyed`]),p=e.object({sessionId:e.string(),adapter:e.string(),runtime:d.default(`simple`),image:e.string().optional()}).strict(),m=new Set([`git:`,`http:`,`https:`,`ssh:`]),h=/^git@[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?:[^\s?#]+$/;function g(e,t,n){let r=e.indexOf(`://`);if(e.length===0||e.trim()!==e||r<=0||e.includes(`?`)||e.includes(`#`))return!1;try{let i=new URL(e);if(!t.has(i.protocol)||i.hostname.length===0||i.password.length>0||i.search.length>0||i.hash.length>0)return!1;let a=(e.slice(r+3).split(`/`,1)[0]??``).includes(`@`);return n?!a||i.username.length>0:!a&&i.username.length===0}catch{return!1}}function _(e){if(h.test(e))return!0;try{let t=new URL(e).protocol;return g(e,m,t===`ssh:`)}catch{return!1}}const v=e.string().refine(_,{message:`Repository remote must use a supported credential-free Git URL.`}),y=p.extend({mode:e.literal(`container-local`),repoPath:e.string(),baseBranch:e.string(),worktreeBranch:e.string().optional()}).strict(),b=y,x=y.extend({executionId:e.string(),executionAttemptId:e.string()}).strict(),S=e.union([b,x]),C=p.extend({mode:e.literal(`container-isolated`),repoUrl:v,branch:e.string().optional()}).strict(),w=e.union([S,C]),T=e.object({descriptor:w,bootstrapConfig:u}).strict().superRefine((t,n)=>{let r=t.bootstrapConfig.adapterAuth?.selector;if(r===void 0)return;r.sessionId!==t.descriptor.sessionId&&n.addIssue({code:e.ZodIssueCode.custom,message:`Container auth selector session must match the Docker descriptor.`,path:[`bootstrapConfig`,`adapterAuth`,`selector`,`sessionId`]}),r.adapterName!==t.descriptor.adapter&&n.addIssue({code:e.ZodIssueCode.custom,message:`Container auth selector adapter must match the Docker descriptor.`,path:[`bootstrapConfig`,`adapterAuth`,`selector`,`adapterName`]});let i=t.bootstrapConfig.sessionRuntime;if(i===void 0){n.addIssue({code:e.ZodIssueCode.custom,message:`Container auth selector requires a session runtime binding.`,path:[`bootstrapConfig`,`sessionRuntime`]});return}r.runtime.machineId!==i.machineId&&n.addIssue({code:e.ZodIssueCode.custom,message:`Container auth selector machine must match the session runtime.`,path:[`bootstrapConfig`,`adapterAuth`,`selector`,`runtime`,`machineId`]}),(r.runtime.packageNames.length!==i.packageNames.length||r.runtime.packageNames.some((e,t)=>e!==i.packageNames[t]))&&n.addIssue({code:e.ZodIssueCode.custom,message:`Container auth selector packages must exactly match the session runtime selection.`,path:[`bootstrapConfig`,`adapterAuth`,`selector`,`runtime`,`packageNames`]})}).readonly(),E=e.object({containerId:e.string(),worktreePath:e.string().optional(),worktreeBranch:e.string().optional()}),D=e.object({containerId:e.string(),deleteBranch:e.boolean().default(!1)}),O=e.object({success:e.boolean()}),k=e.object({containerId:e.string()}),A=e.object({state:f,sessionId:e.string(),worktreePath:e.string().optional()}),j=e.object({containerId:e.string(),sessionId:e.string(),worktreePath:e.string().optional()}),M=e.object({containerId:e.string(),sessionId:e.string(),worktreePath:e.string().optional()}),N=e.object({containerId:e.string(),sessionId:e.string(),exitCode:e.number()}),P=e.object({containerId:e.string(),sessionId:e.string()}),F=e.object({id:e.string(),name:e.string(),description:e.string().optional(),scope:e.string(),enabled:e.boolean(),createdAt:e.number(),updatedAt:e.number()}),I=F.extend({type:e.literal(`local`)}),L=F.extend({type:e.literal(`container-local`),image:e.string().optional(),env:e.record(e.string(),e.string()).optional(),busUrl:e.string().optional()}),R=F.extend({type:e.literal(`container-isolated`),image:e.string().optional(),env:e.record(e.string(),e.string()).optional(),gitCredentialMode:e.enum([`token`,`ssh-agent`]).default(`token`),repoUrl:v.optional()}),z=e.discriminatedUnion(`type`,[I,L,R]),B=e.enum([`local`,`container-local`,`container-isolated`]),V=e.discriminatedUnion(`type`,[I.omit({createdAt:!0,updatedAt:!0}),L.omit({createdAt:!0,updatedAt:!0}),R.omit({createdAt:!0,updatedAt:!0})]),H=e.object({scope:e.string().optional(),type:B.optional()}),U=e.object({executionTargetId:e.string().optional()}),W={get:{request:e.object({id:e.string()}),response:e.object({executionTarget:z.nullable()})},set:{request:e.object({executionTarget:V}),response:e.object({id:e.string()})},delete:{request:e.object({id:e.string()}),response:e.object({deleted:e.boolean()})},list:{request:H,response:e.object({executionTargets:e.array(z)})},resolve:{request:U,response:e.object({executionTarget:z})},created:z,updated:z,deleted:e.object({id:e.string()})};export{k as A,o as C,v as D,N as E,D as M,O as N,w as O,d as S,f as T,j as _,U as a,S as b,B as c,l as d,s as f,a as g,c as h,H as i,A as j,E as k,I as l,T as m,L as n,z as o,u as p,V as r,W as s,R as t,i as u,P as v,M as w,x,C as y};
|