@makaio/framework 1.0.0-dev-1787670071418 → 1.0.0-dev-1787670559522
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 +0 -2
- package/dist/.makaio-build.json +2 -2
- package/dist/{account-identity-B3vLwm9O.mjs → account-identity-DGpXd8h_.mjs} +1 -1
- package/dist/adapter-BkdJaOOG.mjs +1 -0
- package/dist/adapter-subsystem/index.d.mts +76 -118
- 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 +53 -73
- 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/agent-namespace-D51PODFf.mjs +1 -0
- package/dist/{artifact-Btbuib48.mjs → artifact-k3veR4Yx.mjs} +1 -1
- package/dist/attach-error-BSlc7JfL.mjs +1 -0
- package/dist/{auth-C6tVtaOX.mjs → auth-A1K_7q-8.mjs} +1 -1
- package/dist/{authority-state-bootstrap-CLYus369.mjs → authority-state-bootstrap-YwtEImIB.mjs} +1 -1
- package/dist/{automation-trigger-ByjNlClm.mjs → automation-trigger-CuSdQwir.mjs} +1 -1
- package/dist/bus/index.d.mts +4 -22
- package/dist/bus/index.mjs +1 -1
- package/dist/bus-BIj0_aG6.mjs +1 -0
- package/dist/{bus-D6NoBhIV.mjs → bus-CqgrphNE.mjs} +1 -1
- package/dist/{canonical-model-DXOvCaVg.mjs → canonical-model-DJASlL4m.mjs} +1 -1
- package/dist/capabilities-Bqckjh7G.mjs +1 -0
- package/dist/capability-service-CJHNkjvm.mjs +1 -0
- package/dist/{client-BkznbdsO.mjs → client-BL5__WT0.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/{compression-CtgeVLpP.mjs → compression-BbttSqm8.mjs} +1 -1
- package/dist/{config-namespace-CjWvw8ij.mjs → config-namespace-CyzeLWSg.mjs} +1 -1
- package/dist/{context-resolution-841T7jBI.d.mts → context-resolution-ya9TXKg-.d.mts} +1 -1
- 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/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 +47 -57
- 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-CUHLVLsT.d.mts → contribution-BB5bjx3f.d.mts} +2 -2
- package/dist/core/index.d.mts +2 -25
- package/dist/{definition-DyGImhyi.d.mts → definition-BYgHlmMw.d.mts} +1 -1
- package/dist/{definition-BH4QLGLI.mjs → definition-CDg-Jq1T.mjs} +1 -1
- package/dist/{detached-extension-handle-D0aI0pJA.mjs → detached-extension-handle-DKd17UB6.mjs} +1 -1
- package/dist/drizzle/meta/_journal.json +0 -28
- package/dist/event-DR8U9Efx.mjs +1 -0
- package/dist/{execution-attempt-repository-BJ2W6wwx.d.mts → execution-attempt-repository-DFyAnchJ.d.mts} +1 -1
- package/dist/{execution-target-H0RWV7Py.mjs → execution-target-ByNwZh5-.mjs} +1 -1
- package/dist/{extension-Cz39YNXy.mjs → extension-DMdmj9gi.mjs} +1 -1
- package/dist/{extension-Bfkr2DBs.mjs → extension-DUmibvMk.mjs} +1 -1
- package/dist/{extension-discovery-Dhu3WplO.d.mts → extension-discovery-Fhps4icD.d.mts} +1 -9
- package/dist/{filesystem-service-CiUw0YN5.mjs → filesystem-service-FAtd9gWH.mjs} +1 -1
- package/dist/framework-packages-D_2hBZ-p.mjs +1 -0
- package/dist/git/index.mjs +2 -2
- package/dist/{globby-QBDqstzq.mjs → globby-BBLuT_vy.mjs} +1 -1
- package/dist/handlers-2yd00VEq.mjs +57 -0
- package/dist/{harness-YQ2ewID9.mjs → harness-KxbWGL4I.mjs} +1 -1
- package/dist/{hook-responses-9Ywsqzzq.d.mts → hook-responses-uCXAICTU.d.mts} +1 -1
- package/dist/identity-DC3Pk0ps.mjs +1 -0
- package/dist/{index-D-4jv_66.d.mts → index-1UcQWrZy.d.mts} +149 -149
- package/dist/{index-D8D-yibS2.d.mts → index-B0xJgTi-.d.mts} +4 -4
- package/dist/{index-CYjgoYeX.d.mts → index-BMVZs6pm.d.mts} +3 -3
- package/dist/{index-CPi0UpRh.d.mts → index-BSQ30wYP.d.mts} +1 -1
- package/dist/{index-DXtQRehh.d.mts → index-Bl7KWFod.d.mts} +1 -1
- package/dist/{index-D_4K3Tf_.d.mts → index-BtdK8HeH.d.mts} +168 -43
- package/dist/{index-C146Eq_J.d.mts → index-C-JzEkqs.d.mts} +1802 -536
- package/dist/{index-DI2lS7VT.d.mts → index-CER64zYO.d.mts} +15 -15
- package/dist/{index-BkbnC65b.d.mts → index-CM75k-Ff.d.mts} +17 -189
- package/dist/{index-CmwAJ8-5.d.mts → index-CSN_0sCo.d.mts} +1 -1
- package/dist/{index-CIEycZrt.d.mts → index-C__EQfKa.d.mts} +1 -1
- package/dist/{index-B0VO0rAl.d.mts → index-CfiCJPP6.d.mts} +1 -1
- package/dist/{index-BNzUyVwV.d.mts → index-CqQYgsbB.d.mts} +170 -513
- package/dist/{index-B0yMCJW8.d.mts → index-DI7-tIL3.d.mts} +14 -39
- package/dist/{index-CMekqu_D.d.mts → index-DxYDRoDE2.d.mts} +8 -28
- package/dist/index-OsbtyMgx2.d.mts +98 -0
- package/dist/{index-DJ2KgJDJ2.d.mts → index-cPqSpWQC.d.mts} +12 -12
- package/dist/{index-DNI6UF9h.d.mts → index-e4Txan9i.d.mts} +4 -4
- package/dist/{index-CPRQ4dWX.d.mts → index-nydhGvXa.d.mts} +23 -0
- package/dist/json-value-C1RGgS0a.d.mts +72 -0
- package/dist/json-value-D57aJhVn.mjs +1 -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-Cm-uEoC1.mjs → lib-B_rJ6r0T.mjs} +1 -1
- package/dist/{lib-BpGvHZye.mjs → lib-CnOAtohU.mjs} +2 -2
- package/dist/{load-extensions-DG5LvPyM.mjs → load-extensions-CW9uzNR5.mjs} +1 -1
- package/dist/{load-extensions-BQoXaHhR.d.mts → load-extensions-DUpaMQ7G.d.mts} +1 -1
- package/dist/{materialization-lVd9_-jr.mjs → materialization-CcpCDhXh.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/model-ZH3L1dPW.mjs +1 -0
- package/dist/{namespace-BL7lHlmg.mjs → namespace-B7bntOB8.mjs} +1 -1
- package/dist/{namespace-BNp7n_gu.d.mts → namespace-BgEiY7r1.d.mts} +3 -3
- package/dist/{namespace-DknCutQZ.d.mts → namespace-C6CVEGH8.d.mts} +0 -50
- package/dist/{namespace-C06lJSuj.d.mts → namespace-ChnRTUG4.d.mts} +6 -6
- package/dist/namespace-CxrOLeeP.mjs +1 -0
- package/dist/{namespace-BRuHzhPo.d.mts → namespace-DSlfFhB1.d.mts} +2 -154
- package/dist/{native-session-supervisor-LKio8XZn.mjs → native-session-supervisor-fZYPUk0-.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-CNHSImNY.d.mts → orchestrator-shared-B-KRW1Z0.d.mts} +10 -9
- package/dist/orchestrator-shared-CTCZc6Vl.mjs +1 -0
- package/dist/ownership-memory-handler-Bblp93YC.mjs +1 -0
- package/dist/{package-BNFTUFLB.d.mts → package-Bf3hyuzs.d.mts} +2 -2
- package/dist/{package-JtjbO-Oi.mjs → package-CddkNbZI.mjs} +1 -1
- package/dist/{package-B01gmu75.mjs → package-ypz4rKvn.mjs} +1 -1
- package/dist/package.json +1 -1
- package/dist/{profile-N5qGUpF0.mjs → profile-BtznZlq3.mjs} +1 -1
- package/dist/{provider-context-zTDSH2x9.mjs → provider-context-BrLZYnDW.mjs} +1 -1
- package/dist/{provider-context-CG42JlP9.mjs → provider-context-Dh-VOOYF.mjs} +1 -1
- package/dist/{reaction-D3TNwPK8.mjs → reaction-BS0k4eNN.mjs} +1 -1
- package/dist/{registry-Dk12tAfv.mjs → registry-BO_bOoky.mjs} +1 -1
- package/dist/{resolved-sq8RXNDf.mjs → resolved-DMByz1_2.mjs} +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/extension-discovery.d.mts +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 +4 -6
- 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-Dq-7si8u.mjs → schema-DBG7Jq5_.mjs} +1 -1
- package/dist/{schema-B3Pf7JP7.d.mts → schema-DKTzriEY.d.mts} +3 -250
- package/dist/{schemas-C1mxTfd7.d.mts → schemas-B7zo7Zcx.d.mts} +4 -60
- package/dist/schemas-BqD8LlQw.mjs +1 -0
- package/dist/{schemas-QWDnauKX.mjs → schemas-CsjN7cmM.mjs} +1 -1
- package/dist/schemas-CvHFbzdy.mjs +1 -0
- package/dist/{schemas-BfO5jkrL.mjs → schemas-DSkBOdx_.mjs} +1 -1
- package/dist/{schemas-OWvBn7AH.d.mts → schemas-DZH9lpxs.d.mts} +4 -4
- package/dist/schemas-DplrlAyR.mjs +1 -0
- package/dist/{schemas-Dd13TMgU.d.mts → schemas-DvMbcABQ.d.mts} +4 -4
- package/dist/scoped-bus-ClwTWqX8.mjs +1 -0
- package/dist/{selection-DL3ric7K.mjs → selection-7Ku8DBnh.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 +2 -3
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +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 +0 -18
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.d.mts +1 -10
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +61 -161
- 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 +1 -22
- package/dist/services/session/testing/index.mjs +14 -38
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +4 -4
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/workflow-transitions/index.d.mts +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/session-BMy2kRpX.mjs +90 -0
- package/dist/session-Cipx34j6.mjs +1 -0
- package/dist/{shared-B9AWRm9A.mjs → shared-BFVuCDPx.mjs} +1 -1
- package/dist/{skill-DGNtc_ww.mjs → skill-C1D51nhh.mjs} +1 -1
- package/dist/{src-BmSQ3rlz.mjs → src-xbmzokNe.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 +2 -41
- 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-BVgN9Q1r.mjs +1 -0
- package/dist/{tools-DWKWX3eV.mjs → tools-DxwHox1a.mjs} +1 -1
- package/dist/{transition-D3zUBTPc.d.mts → transition-C_Ka6b0-.d.mts} +6 -6
- package/dist/{types-CtDGkyLx2.d.mts → types-BNjPhj_a.d.mts} +1 -1
- package/dist/{types-OKJCOjme.d.mts → types-ClpEaoAm.d.mts} +4 -24
- package/dist/{types-DcxBYlPA.d.mts → types-CwvN4uN2.d.mts} +49 -3029
- 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 +1 -22
- package/dist/utils/index.mjs +2 -2
- package/dist/utils/project-manifest.mjs +1 -1
- package/dist/{version-BYeVh1pI.mjs → version-BfNnVAGr.mjs} +1 -1
- package/dist/{view-builder-B0j9p5C0.d.mts → view-builder-KYsPqV-5.d.mts} +4 -4
- package/dist/{visibility-DtDLRBdr.mjs → visibility-Dl1o2I01.mjs} +1 -1
- package/dist/worker-node-BDOYPEpi.mjs +1 -0
- package/dist/{worker-node-Dtf9ilsR.mjs → worker-node-DJ41Tr-F.mjs} +1 -1
- package/dist/workflow-Hzc5jlnV.mjs +1 -0
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/index.d.mts +95 -95
- 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-c_VQbyV0.mjs → workflow-transitions-DM0fN_eP.mjs} +1 -1
- package/dist/workflow-worker-DARC7UZl.mjs +1 -0
- package/package.json +1 -18
- package/dist/adapter-Dz1fX5Wa.mjs +0 -1
- package/dist/attach-error-Cb3GbeKe.mjs +0 -1
- package/dist/bus-UgFdHybD.mjs +0 -1
- package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +0 -1
- package/dist/capabilities-BUwuA7XX.mjs +0 -1
- package/dist/capability-j3NekkIu.mjs +0 -1
- package/dist/code-execution/worker-entry.d.mts +0 -21
- package/dist/code-execution/worker-entry.mjs +0 -1
- package/dist/code-execution-Ckmn8OZu.mjs +0 -1
- package/dist/code-execution-CweDSWco.mjs +0 -1
- package/dist/code-execution-DqkQjKa1.mjs +0 -1
- package/dist/contracts/code-execution/index.d.mts +0 -2
- package/dist/contracts/code-execution/index.mjs +0 -1
- package/dist/drizzle/0034_m_msha1388.sql +0 -41
- package/dist/drizzle/0035_m_mshgj6x7.sql +0 -40
- package/dist/drizzle/0036_m_msivwbgm.sql +0 -1
- package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +0 -6
- package/dist/event-B8ELuk6k.mjs +0 -1
- package/dist/framework-packages-BHgul8Kl.mjs +0 -1
- package/dist/handlers-BsHAFtye.mjs +0 -57
- package/dist/identity-OjRlG6dZ.mjs +0 -1
- package/dist/index-Bqk0pJBQ2.d.mts +0 -138
- package/dist/index-Cny5RvjO.d.mts +0 -800
- package/dist/index-DHnSLGP4.d.mts +0 -268
- package/dist/index-DQ8o3JGi.d.mts +0 -132
- package/dist/index-DWBkiiXH.d.mts +0 -18
- package/dist/index-Dg11JxKZ.d.mts +0 -496
- package/dist/json-value-BBZ6uGwc.mjs +0 -1
- package/dist/json-value-DPqb-SJ8.d.mts +0 -177
- package/dist/model-DrzPt3ou.mjs +0 -1
- package/dist/namespace-sCPb79-7.mjs +0 -1
- package/dist/npm-package-name-DuTYVICk.mjs +0 -1
- package/dist/orchestrator-shared-BGlN-m-V.mjs +0 -1
- package/dist/ownership-memory-handler-BpGdR_uG.mjs +0 -1
- package/dist/ownership-recovery-guard-DyW5vGBr.mjs +0 -1
- package/dist/package-DttKA9wN.mjs +0 -1
- package/dist/runtime-node/code-execution/index.d.mts +0 -3
- package/dist/runtime-node/code-execution/index.mjs +0 -1
- package/dist/schemas-C3kyQWGf.mjs +0 -1
- package/dist/schemas-TK29KWx-.mjs +0 -1
- package/dist/schemas-_2Syo_01.mjs +0 -1
- package/dist/scoped-bus-DoPmCJeM.mjs +0 -1
- package/dist/services/code-execution/index.d.mts +0 -2
- package/dist/services/code-execution/index.mjs +0 -1
- package/dist/session-BOpTI79g.mjs +0 -1
- package/dist/session-CXOPk3yg.mjs +0 -95
- package/dist/tool-approval-service-BFDOFUGC.mjs +0 -1
- package/dist/types-Cwza95hS.mjs +0 -1
- package/dist/types-DnK6Wa_Y.d.mts +0 -260
- package/dist/worker-node-CjuQb9hl.mjs +0 -1
- package/dist/workflow-C4mck_NW.mjs +0 -1
- package/dist/workflow-worker-aNbdgqml.mjs +0 -1
- /package/dist/{adapter-auth-runtime-DHHppU4f.mjs → adapter-auth-runtime-D9Lnl7cc.mjs} +0 -0
- /package/dist/{adapter-binding-CATvmGuz.d.mts → adapter-binding-B-FBoCys.d.mts} +0 -0
- /package/dist/{ajv-krzJXh1X.mjs → ajv-L5fKxaia.mjs} +0 -0
- /package/dist/{attempt-record-codec-BYfYkj4M.mjs → attempt-record-codec-DaFLKR5C.mjs} +0 -0
- /package/dist/{await-trigger-Bkg2BQfg.mjs → await-trigger-ph1S0zVI.mjs} +0 -0
- /package/dist/{base-orchestrator-B4YW6z_Q.d.mts → base-orchestrator-D9u4NyiM.d.mts} +0 -0
- /package/dist/{client-BG0WX5Vz.d.mts → client-4ihewPUm.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-0lCKZOTg.mjs → client-binary-version-verifier-DJajc_Ff.mjs} +0 -0
- /package/dist/{client-binary-version-verifier-lcv83Hq3.d.mts → client-binary-version-verifier-jDDZ64Ah.d.mts} +0 -0
- /package/dist/{clients-namespace-DLAjOTTb.d.mts → clients-namespace-DFWuUawf.d.mts} +0 -0
- /package/dist/{config-namespace-CH7sJZ4f.d.mts → config-namespace-D1kyZj0B.d.mts} +0 -0
- /package/dist/{create-static-mount-DxuixuLZ.mjs → create-static-mount-9tnGpIeK.mjs} +0 -0
- /package/dist/{cross-spawn-CZygZJMH.mjs → cross-spawn-BIgueAqr.mjs} +0 -0
- /package/dist/{cursor-storage-bsc9lZKk.mjs → cursor-storage-ROWfiTh1.mjs} +0 -0
- /package/dist/{definition-BrgzUuFk.d.mts → definition-DB-kKc0d.d.mts} +0 -0
- /package/dist/{definitions-CRpdnHYM.mjs → definitions-CF6YmEhL.mjs} +0 -0
- /package/dist/{descriptor-to-package-CcjdoWP4.mjs → descriptor-to-package-BecVCopf.mjs} +0 -0
- /package/dist/{drizzle-Bzc-OGVI.mjs → drizzle-CPv3vdTE.mjs} +0 -0
- /package/dist/{esm-i-S5TW72.mjs → esm-CBFWM8u_.mjs} +0 -0
- /package/dist/{extension-context-QmFuHdq5.d.mts → extension-context-DzB7ydM3.d.mts} +0 -0
- /package/dist/{extension-namespace-QoTTwKPt.mjs → extension-namespace-B554RmCp.mjs} +0 -0
- /package/dist/{extension-package-provenance-aYrZuS4W.mjs → extension-package-provenance-Dh_-Z-tE.mjs} +0 -0
- /package/dist/{facet-BnMh7Jyc.mjs → facet-DVsW12iF.mjs} +0 -0
- /package/dist/{filesystem-service-ZJ43SbBi.d.mts → filesystem-service-Cm2RHKBa.d.mts} +0 -0
- /package/dist/{handler-DF1fVDpf.mjs → handler-Bqlk-6BY.mjs} +0 -0
- /package/dist/{host-B-_ntOMH.mjs → host-k5yoyKHg.mjs} +0 -0
- /package/dist/{index-8NdPPzUh2.d.mts → index--atUpi5l2.d.mts} +0 -0
- /package/dist/{index-Ek4y8M9J2.d.mts → index-42UdYStR.d.mts} +0 -0
- /package/dist/{index-C4V8Pmi4.d.mts → index-BJAB-BW_.d.mts} +0 -0
- /package/dist/{index-l01zsChf.d.mts → index-BJMezANn.d.mts} +0 -0
- /package/dist/{index-D037TVsm.d.mts → index-BQprJNA_.d.mts} +0 -0
- /package/dist/{index-B4svZC6L.d.mts → index-BRCrFirq.d.mts} +0 -0
- /package/dist/{index-jxPncqWZ2.d.mts → index-BSbGB23v.d.mts} +0 -0
- /package/dist/{index-BMRB9yhF.d.mts → index-BVcQcphK.d.mts} +0 -0
- /package/dist/{index-B2Y1Wvbh.d.mts → index-BcvqDfcN.d.mts} +0 -0
- /package/dist/{index-DgspOUa72.d.mts → index-BeENojSx2.d.mts} +0 -0
- /package/dist/{index-VzLAV0Yt.d.mts → index-Beo_Ik8-.d.mts} +0 -0
- /package/dist/{index-CqdMbYmR.d.mts → index-BgGe9WZz.d.mts} +0 -0
- /package/dist/{index-kzIjbrS02.d.mts → index-Bqm0ahTQ.d.mts} +0 -0
- /package/dist/{index-B-3I98nw.d.mts → index-C7HcDpHE.d.mts} +0 -0
- /package/dist/{index-pvX-BIpr2.d.mts → index-CK3f0bAL.d.mts} +0 -0
- /package/dist/{index-B5dP8rj6.d.mts → index-CQuRTeRa.d.mts} +0 -0
- /package/dist/{index-BC-6qNeo.d.mts → index-CRmE88hi.d.mts} +0 -0
- /package/dist/{index-CVpaGijY.d.mts → index-CvW9_SzR.d.mts} +0 -0
- /package/dist/{index-BFWvT0NG.d.mts → index-CxSSdIZz.d.mts} +0 -0
- /package/dist/{index-BmevAPME2.d.mts → index-DBadVauL.d.mts} +0 -0
- /package/dist/{index-BM56936c.d.mts → index-DP3o_13U.d.mts} +0 -0
- /package/dist/{index-BfV8U4XX.d.mts → index-DgOfgjx3.d.mts} +0 -0
- /package/dist/{index-8y4hT9WL.d.mts → index-DwLRZscE.d.mts} +0 -0
- /package/dist/{index-CmbkCxj-.d.mts → index-E4SET1AA.d.mts} +0 -0
- /package/dist/{index-BuMsrli0.d.mts → index-OADt3xlS.d.mts} +0 -0
- /package/dist/{capability-service-BW1-teFU.d.mts → index-Ol9RBB0W2.d.mts} +0 -0
- /package/dist/{index-CL0Jo1b92.d.mts → index-aoxdnhJ42.d.mts} +0 -0
- /package/dist/{index-BTEJfzjE.d.mts → index-bIe_57cL.d.mts} +0 -0
- /package/dist/{jsonl-transport-Cyyh5Wje.mjs → jsonl-transport-Bp_6pB2a.mjs} +0 -0
- /package/dist/{lib-BqV8hYtk.mjs → lib-Bwdd2m81.mjs} +0 -0
- /package/dist/{model-registry-Cixxx2jv.mjs → model-registry-Y854mUml.mjs} +0 -0
- /package/dist/{model-registry-C9rFu3kV.mjs → model-registry-yURX738J.mjs} +0 -0
- /package/dist/{modes-DwsJ3yVl.mjs → modes-DmUsjHdV.mjs} +0 -0
- /package/dist/{namespace-jVTsuZHX.mjs → namespace-B9FEGuEu.mjs} +0 -0
- /package/dist/{namespace-NXm_zvL1.mjs → namespace-BFqkUTJp.mjs} +0 -0
- /package/dist/{namespace-BUYDmd0r.d.mts → namespace-Bi3CmYQy.d.mts} +0 -0
- /package/dist/{namespace-CVFaZv8x.d.mts → namespace-BusZERU8.d.mts} +0 -0
- /package/dist/{namespace-B0ftHlK3.d.mts → namespace-ByP1Iipi.d.mts} +0 -0
- /package/dist/{namespace-BGRHcrmp.d.mts → namespace-C1D77w7U.d.mts} +0 -0
- /package/dist/{namespace-Du0accdE.mjs → namespace-CFjdyNXG.mjs} +0 -0
- /package/dist/{namespace-DiwqpB-c.mjs → namespace-CfIW0hpQ.mjs} +0 -0
- /package/dist/{namespace-BW3Bfu9h.mjs → namespace-CkBbNFSU.mjs} +0 -0
- /package/dist/{namespace-DOezqDti.d.mts → namespace-CrDlawqu.d.mts} +0 -0
- /package/dist/{namespace-BdAK0lD8.d.mts → namespace-DX1Ec15L.d.mts} +0 -0
- /package/dist/{namespace-tjoxekmf.mjs → namespace-DbNWsPFY.mjs} +0 -0
- /package/dist/{namespace-CPG6u60N.d.mts → namespace-Dgg0uoe6.d.mts} +0 -0
- /package/dist/{namespace-l-HG1rLF.d.mts → namespace-DwZwGXgF.d.mts} +0 -0
- /package/dist/{namespace-DqZweTbX.d.mts → namespace-s2y_NFKf.d.mts} +0 -0
- /package/dist/{namespace-DBO1OzYB.d.mts → namespace-yREpGJgG.d.mts} +0 -0
- /package/dist/{out-8bOYN6EF.mjs → out-DrhwCgqM.mjs} +0 -0
- /package/dist/{package-EGTn-Ng1.mjs → package-CBdvjyyZ.mjs} +0 -0
- /package/dist/{packages-Bp124-gx.mjs → packages-FBv3fAOR.mjs} +0 -0
- /package/dist/{packages-CxPMEg8D.d.mts → packages-N3-2Kl-Y.d.mts} +0 -0
- /package/dist/{platform-CxyYPrkf.mjs → platform-BrsMv_S3.mjs} +0 -0
- /package/dist/{provider-operation-DbdyFwNm.d.mts → provider-operation-DJ_TLZFf.d.mts} +0 -0
- /package/dist/{providers-C-eekMxD.mjs → providers-CCcn4Ndp.mjs} +0 -0
- /package/dist/{providers-namespace-CfZKp-C0.d.mts → providers-namespace-DeJBh6MP.d.mts} +0 -0
- /package/dist/{quick-lru-CCEnf7y6.mjs → quick-lru-uwB0hP-y.mjs} +0 -0
- /package/dist/{schema-introspection-6-r_KEJQ.mjs → schema-introspection-C1wvklj9.mjs} +0 -0
- /package/dist/{schema-C0opCPww.mjs → schema-jIapW8Kb.mjs} +0 -0
- /package/dist/{schemas-BXc9qOpl.d.mts → schemas-B3bfVYcL.d.mts} +0 -0
- /package/dist/{schemas-BivbWRkG.mjs → schemas-BNdiVBWh.mjs} +0 -0
- /package/dist/{schemas-B6Q-qdmn.d.mts → schemas-CD0wOQxx.d.mts} +0 -0
- /package/dist/{schemas-B50oWBuj.d.mts → schemas-CeUI2i5j.d.mts} +0 -0
- /package/dist/{schemas-ChmQldVH.d.mts → schemas-Cg-Kwp8c.d.mts} +0 -0
- /package/dist/{schemas-Pe892GgN.d.mts → schemas-Cv3rR9Sz.d.mts} +0 -0
- /package/dist/{schemas-B8hKbBwI.mjs → schemas-DgwEVUt-.mjs} +0 -0
- /package/dist/{schemas-D7ScxLrf.d.mts → schemas-VbB1FTxx.d.mts} +0 -0
- /package/dist/{schemas-scyC2tFF.mjs → schemas-mLpOfMoN.mjs} +0 -0
- /package/dist/{schemas-bfZNpl0B.d.mts → schemas-qA279_j_.d.mts} +0 -0
- /package/dist/{schemas-BGvkTiCx.d.mts → schemas-sMoRnBdZ.d.mts} +0 -0
- /package/dist/{semver-BI7kTNsY.mjs → semver-DTXuyLcK.mjs} +0 -0
- /package/dist/{server-lifecycle-L8zja8t8.d.mts → server-lifecycle-C_8iKgat.d.mts} +0 -0
- /package/dist/{server-lifecycle-B_OZnoe-.mjs → server-lifecycle-DKx_fWlq.mjs} +0 -0
- /package/dist/{session-lineage-bUkd3fqx.d.mts → session-lineage-D5E142LU.d.mts} +0 -0
- /package/dist/{shared-schemas-CQ6blrEW.mjs → shared-schemas-aahW97QW.mjs} +0 -0
- /package/dist/{src-BacfeiI4.mjs → src-DHqsl5Pg.mjs} +0 -0
- /package/dist/{storage-namespace-BZce8kkW.mjs → storage-namespace-Dz2jsssp.mjs} +0 -0
- /package/dist/{storage-namespace-YmE8XCCL.d.mts → storage-namespace-Tf3P5yJ5.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-Cca-zwXU.mjs → storage-namespace-definition-CDef0E20.mjs} +0 -0
- /package/dist/{supports-color-SV_FgSN2.mjs → supports-color-i7OTnKcZ.mjs} +0 -0
- /package/dist/{telemetry-BqoC87F-.mjs → telemetry-BvCBUjFg.mjs} +0 -0
- /package/dist/{timeout-DVlN2Zhy.mjs → timeout-B0nYjLc8.mjs} +0 -0
- /package/dist/{tray-menu-service-eVVxgPLc.mjs → tray-menu-service-Deo6yyP8.mjs} +0 -0
- /package/dist/{types-DdpSEmTO.d.mts → types-CNS55jvt.d.mts} +0 -0
- /package/dist/{types-tyv0B605.d.mts → types-Ce6LL25v.d.mts} +0 -0
- /package/dist/{types-BlB23n4f.d.mts → types-xCdGghb2.d.mts} +0 -0
- /package/dist/{ui-config-B35GloSX.mjs → ui-config-BIyGzMNL.mjs} +0 -0
- /package/dist/{variant-Dwnge3J_.mjs → variant-B4uWdxW7.mjs} +0 -0
- /package/dist/{window-registry-Pcf35cac.d.mts → window-registry-BLtVx3Iw.d.mts} +0 -0
- /package/dist/{window-registry-CKiMJjId.mjs → window-registry-CoBJq3u4.mjs} +0 -0
- /package/dist/{zod-json-schema-Dixc-B1T.mjs → zod-json-schema-BAGAFfCN.mjs} +0 -0
package/dist/adapters/node.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-
|
|
1
|
+
import { _ as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-D9u4NyiM.mjs";
|
|
2
2
|
|
|
3
3
|
//#region adapters/core/src/log-importer/jsonl-parser.d.ts
|
|
4
4
|
/**
|
package/dist/adapters/node.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t}from"../chunk-DTipWd-i.mjs";import{i as n,r}from"../cursor-storage-
|
|
1
|
+
import{o as e,t}from"../chunk-DTipWd-i.mjs";import{i as n,r}from"../cursor-storage-ROWfiTh1.mjs";import{t as i}from"../globby-BBLuT_vy.mjs";import*as a from"node:fs/promises";import*as o from"node:path";import{MakaioBus as s}from"@makaio/framework/bus";import{AdapterSubjects as c,ClientSubjects as l,SessionStorageSubjects as u,SessionSubjects as d}from"@makaio/framework/contracts";const f=65536;async function p(e){let{filePath:t,startOffset:n=0}=e,r=[],i=[],o=n,s;try{s=await a.open(t,`r`);let e=await s.stat();if(n>=e.size)return{records:r,bytesRead:n,errors:i};let c=Buffer.alloc(f),l=``,u=n,d=0;for(n>0&&(d=await v(s,n));u<e.size;){let{bytesRead:e}=await s.read(c,0,f,u);if(e===0)break;l+=c.toString(`utf8`,0,e),u+=e;let t=l.split(`
|
|
2
2
|
`),n=t.pop();for(let e of t){if(d++,e.trim()===``){o+=Buffer.byteLength(e,`utf8`)+1;continue}let t=g(e,d);t.success?r.push(t.record):i.push(t.error),o+=Buffer.byteLength(e,`utf8`)+1}l=n??``}return{records:r,bytesRead:o,errors:i}}finally{s&&await s.close()}}async function m(e,t){let n=[],r;try{r=await a.open(e,`r`);let i=Buffer.alloc(f),o=``,s=0;for(;n.length<t;){let{bytesRead:e}=await r.read(i,0,f,s);if(e===0)break;o+=i.toString(`utf8`,0,e),s+=e;let a=o.split(`
|
|
3
3
|
`);o=a.pop()??``;for(let e of a){if(n.length>=t)break;let r=e.trim();if(r!==``)try{n.push(JSON.parse(r))}catch{}}}return n}finally{r&&await r.close()}}async function h(e,t){let n;try{n=await a.open(e,`r`);let r=Buffer.alloc(f),i=``,o=0;for(;;){let{bytesRead:e}=await n.read(r,0,f,o);if(e===0)break;i+=r.toString(`utf8`,0,e),o+=e;let a=i.split(`
|
|
4
4
|
`);i=a.pop()??``;for(let e of a){let n=e.trim();if(n!==``)try{if(t(JSON.parse(n)))return!0}catch{}}}return!1}finally{n&&await n.close()}}function g(e,t){try{return{success:!0,record:JSON.parse(e)}}catch(n){return{success:!1,error:{line:t,error:n instanceof Error?n.message:String(n),content:_(e)}}}}function _(e){return e.length<=200?e:e.slice(0,200)+`...`}async function v(e,t){let n=0,r=Buffer.alloc(f),i=0;for(;i<t;){let a=Math.min(f,t-i),{bytesRead:o}=await e.read(r,0,a,i);if(o===0)break;for(let e=0;e<o;e++)r[e]===10&&n++;i+=o}return n}var y=e(t(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1),b=class e extends Error{name=`TimeoutError`;constructor(t,n){super(t,n),Error.captureStackTrace?.(this,e)}};const x=e=>e.reason??new DOMException(`This operation was aborted.`,`AbortError`);function S(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout},signal:o}=t,s,c,l=new Promise((t,l)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(o?.aborted){l(x(o));return}if(o&&(c=()=>{l(x(o))},o.addEventListener(`abort`,c,{once:!0})),e.then(t,l),n===1/0)return;let u=new b;s=a.setTimeout.call(void 0,()=>{if(r){try{t(r())}catch(e){l(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?t():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${n} milliseconds`,l(u))},n)}).finally(()=>{l.clear(),c&&o&&o.removeEventListener(`abort`,c)});return l.clear=()=>{a.clearTimeout.call(void 0,s),s=void 0},l}function C(e,t,n){let r=0,i=e.length;for(;i>0;){let a=Math.trunc(i/2),o=r+a;n(e[o],t)<=0?(r=++o,i-=a+1):i=a}return r}var w=class{#e=[];#t=0;enqueue(e,t){let{priority:n=0,id:r}=t??{},{size:i}=this,a={priority:n,id:r,run:e};if(i===0){this.#e.length=0,this.#t=0,this.#e.push(a);return}if(this.#e.at(-1).priority>=n){this.#e.push(a);return}this.#n();let o=C(this.#e,a,(e,t)=>t.priority-e.priority);this.#e.splice(o,0,a)}setPriority(e,t){let n=this.#e.findIndex((t,n)=>n>=this.#t&&t.id===e);if(n===-1)throw ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[r]=this.#e.splice(n,1);this.enqueue(r.run,{priority:t,id:e})}remove(e){let t=this.#e.findIndex((t,n)=>n<this.#t?!1:typeof e==`string`?t.id===e:t.run===e);t!==-1&&this.#e.splice(t,1)}dequeue(){if(this.#t===this.#e.length)return;let e=this.#e[this.#t];return this.#t++,this.#t===this.#e.length?(this.#e.length=0,this.#t=0):this.#t>100&&this.#t>this.#e.length/2&&this.#n(),e?.run}filter(e){let t=[];for(let n=this.#t;n<this.#e.length;n++){let r=this.#e[n];r.priority===e.priority&&t.push(r.run)}return t}get size(){return this.#e.length-this.#t}#n(){this.#t!==0&&(this.#e.splice(0,this.#t),this.#t=0)}},T=class extends y.default{#e;#t;#n=0;#r;#i=!1;#a=!1;#o;#s=0;#c=0;#l;#u;#d;#f=[];#p=0;#m;#h;#g=0;#_;#v;#y=1n;#b=new Map;#x=new Set;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:w,strict:!1,...e},!(typeof e.intervalCap==`number`&&e.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??``}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??``}\` (${typeof e.interval})`);if(e.strict&&e.interval===0)throw TypeError("The `strict` option requires a non-zero `interval`");if(e.strict&&e.intervalCap===1/0)throw TypeError("The `strict` option requires a finite `intervalCap`");if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#t=e.intervalCap===1/0||e.interval===0,this.#r=e.intervalCap,this.#o=e.interval,this.#d=e.strict,this.#m=new e.queueClass,this.#h=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#v=e.autoStart===!1,this.#z()}#S(e){for(;this.#p<this.#f.length;){let t=this.#f[this.#p];if(t!==void 0&&e-t>=this.#o)this.#p++;else break}(this.#p>100&&this.#p>this.#f.length/2||this.#p===this.#f.length)&&(this.#f=this.#f.slice(this.#p),this.#p=0)}#C(e){this.#d?this.#f.push(e):this.#n++}#w(){this.#d?this.#f.length>this.#p&&this.#f.pop():this.#n>0&&this.#n--}#T(){return this.#f.length-this.#p}get#E(){return this.#t?!0:this.#d?this.#T()<this.#r:this.#n<this.#r}get#D(){return this.#g<this.#_}#O(){this.#g--,this.#g===0&&this.emit(`pendingZero`),this.#P(),this.emit(`next`)}#k(){this.#u=void 0,this.#I(),this.#F()}#A(e){if(this.#d){if(this.#S(e),this.#T()>=this.#r){let t=this.#f[this.#p],n=this.#o-(e-t);return this.#j(n),!0}return!1}if(this.#l===void 0){let t=this.#s-e;if(t<0){if(this.#c>0){let t=e-this.#c;if(t<this.#o)return this.#j(this.#o-t),!0}this.#n=this.#e?this.#g:0}else return this.#j(t),!0}return!1}#j(e){this.#u===void 0&&(this.#u=setTimeout(()=>{this.#k()},e))}#M(){this.#l&&=(clearInterval(this.#l),void 0)}#N(){this.#u&&=(clearTimeout(this.#u),void 0)}#P(){if(this.#m.size===0){if(this.#M(),this.emit(`empty`),this.#g===0){if(this.#N(),this.#d&&this.#p>0){let e=Date.now();this.#S(e)}this.emit(`idle`)}return!1}let e=!1;if(!this.#v){let t=Date.now(),n=!this.#A(t);if(this.#E&&this.#D){let r=this.#m.dequeue();this.#t||(this.#C(t),this.#B()),this.emit(`active`),r(),n&&this.#F(),e=!0}}return e}#F(){this.#t||this.#l!==void 0||this.#d||(this.#l=setInterval(()=>{this.#I()},this.#o),this.#s=Date.now()+this.#o)}#I(){this.#d||(this.#n===0&&this.#g===0&&this.#l&&this.#M(),this.#n=this.#e?this.#g:0),this.#L(),this.#B()}#L(){for(;this.#P(););}get concurrency(){return this.#_}set concurrency(e){if(!(typeof e==`number`&&e>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#_=e,this.#L()}setPriority(e,t){if(typeof t!=`number`||!Number.isFinite(t))throw TypeError(`Expected \`priority\` to be a finite number, got \`${t}\` (${typeof t})`);this.#m.setPriority(e,t)}async add(e,t={}){return t={timeout:this.timeout,...t,id:t.id??(this.#y++).toString()},new Promise((n,r)=>{let i=Symbol(`task-${t.id}`),a=()=>void 0,o=async()=>{a(),this.#g++,this.#b.set(i,{id:t.id,priority:t.priority??0,startTime:Date.now(),timeout:t.timeout});let o;try{try{t.signal?.throwIfAborted()}catch(e){throw this.#V(),this.#b.delete(i),e}this.#c=Date.now();let r=e({signal:t.signal});if(t.timeout&&(r=S(Promise.resolve(r),{milliseconds:t.timeout,message:`Task timed out after ${t.timeout}ms (queue has ${this.#g} running, ${this.#m.size} waiting)`})),t.signal){let{signal:e}=t;r=Promise.race([r,new Promise((t,n)=>{o=()=>{n(e.reason)},e.addEventListener(`abort`,o,{once:!0})})])}let a=await r;n(a),this.emit(`completed`,a)}catch(e){r(e),this.emit(`error`,e)}finally{o&&t.signal?.removeEventListener(`abort`,o),this.#b.delete(i),queueMicrotask(()=>{this.#O()})}};this.#m.enqueue(o,t);let s=()=>{if(this.#m instanceof w){this.#m.remove(o);return}this.#m.remove?.(t.id)};if(t.signal){let{signal:e}=t,n=()=>{a(),s(),r(e.reason),this.#P(),this.emit(`next`)};if(a=()=>{e.removeEventListener(`abort`,n),this.#x.delete(a)},e.aborted){n();return}e.addEventListener(`abort`,n,{once:!0}),this.#x.add(a)}this.emit(`add`),this.#P()})}async addAll(e,t){return Promise.all(e.map(async e=>this.add(e,t)))}start(){return this.#v?(this.#v=!1,this.#L(),this):this}pause(){this.#v=!0}clear(){for(let e of this.#x)e();this.#m=new this.#h,this.#M(),this.#H(),this.emit(`empty`),this.#g===0&&(this.#N(),this.emit(`idle`)),this.emit(`next`)}async onEmpty(){this.#m.size!==0&&await this.#R(`empty`)}async onSizeLessThan(e){this.#m.size<e||await this.#R([`next`,`active`],()=>this.#m.size<e)}async onIdle(){this.#g===0&&this.#m.size===0||await this.#R(`idle`)}async onPendingZero(){this.#g!==0&&await this.#R(`pendingZero`)}async onRateLimit(){this.isRateLimited||await this.#R(`rateLimit`)}async onRateLimitCleared(){this.isRateLimited&&await this.#R(`rateLimitCleared`)}onError(){return new Promise((e,t)=>{let n=e=>{this.off(`error`,n),t(e)};this.on(`error`,n)})}async#R(e,t){let n=Array.isArray(e)?e:[e];return new Promise(e=>{let r=()=>{if(!(t&&!t())){for(let e of n)this.off(e,r);e()}};for(let e of n)this.on(e,r)})}get size(){return this.#m.size}sizeBy(e){return this.#m.filter(e).length}get pending(){return this.#g}get isPaused(){return this.#v}#z(){this.#t||(this.on(`add`,()=>{this.#m.size>0&&this.#B()}),this.on(`next`,()=>{this.#B()}))}#B(){this.#t||this.#a||(this.#a=!0,queueMicrotask(()=>{this.#a=!1,this.#H()}))}#V(){this.#t||(this.#w(),this.#B())}#H(){let e=this.#i;if(this.#t||this.#m.size===0){e&&(this.#i=!1,this.emit(`rateLimitCleared`));return}let t;if(this.#d){let e=Date.now();this.#S(e),t=this.#T()}else t=this.#n;let n=t>=this.#r;n!==e&&(this.#i=n,this.emit(n?`rateLimit`:`rateLimitCleared`))}get isRateLimited(){return this.#i}get isSaturated(){return this.#g===this.#_&&this.#m.size>0||this.isRateLimited&&this.#m.size>0}get runningTasks(){return[...this.#b.values()].map(e=>({...e,timeoutRemaining:e.timeout?Math.max(0,e.startTime+e.timeout-Date.now()):void 0}))}},E=class{eventQueue;cursorQueue;onEventEmitted;constructor(e){this.onEventEmitted=e.onEventEmitted,this.eventQueue=new T({concurrency:1,interval:1e3,intervalCap:e.eventsPerSecond}),this.cursorQueue=new T({concurrency:1})}queueEvent(e){return this.eventQueue.add(async()=>{await s.emit(e.subject,e.payload),this.onEventEmitted()})}queueAfterEvents(e,t=[]){let n=Promise.all(t);return n.catch(()=>void 0),this.cursorQueue.add(async()=>{await n,await e()})}async drain(){await Promise.all([this.eventQueue.onIdle(),this.cursorQueue.onIdle()])}async onIdle(){await this.drain()}},D=class{options;emittery=new n;trackedFiles=new Map;pollTimer;isPolling=!1;isDisposed=!1;inFlightChecks=new Map;constructor(e){if(!o.isAbsolute(e.directory))throw Error(`Directory must be an absolute path: ${e.directory}`);this.options={directory:e.directory,pattern:e.pattern,pollIntervalMs:e.pollIntervalMs??1e4}}on(e,t){return this.emittery.on(e,t)}once(e,t){return this.emittery.once(e,t)}async start(){this.isDisposed||this.pollTimer===void 0&&(await this.poll(),this.pollTimer=setInterval(()=>{this.poll()},this.options.pollIntervalMs))}stop(){this.pollTimer!==void 0&&(clearInterval(this.pollTimer),this.pollTimer=void 0)}dispose(){this.isDisposed=!0,this.stop(),this.emittery.clearListeners(),this.trackedFiles.clear(),this.inFlightChecks.clear()}isRunning(){return this.pollTimer!==void 0}getTrackedFiles(){return this.trackedFiles}seedFromCursors(e){for(let t of e)this.trackedFiles.set(t.filePath,{size:t.bytesRead,mtimeMs:new Date(t.lastModified).getTime()})}async poll(){if(!this.isDisposed&&!this.isPolling){this.isPolling=!0;try{let e=await this.discoverFiles(),t=new Set(e);for(let e of this.trackedFiles.keys())if(!t.has(e)){if(this.isDisposed)return;this.trackedFiles.delete(e),await this.emittery.emit(`deleted`,{filePath:e})}for(let t of e)try{await this.runFileCheck(t)}catch(e){await this.emitWatcherError(e,t)}if(this.isDisposed)return;await this.emittery.emit(`polled`,{trackedFilePaths:new Set(this.trackedFiles.keys())})}catch(e){await this.emitWatcherError(e)}finally{this.isPolling=!1}}}async discoverFiles(){return i(this.options.pattern,{cwd:this.options.directory,absolute:!0,onlyFiles:!0})}async checkFile(e){if(this.isDisposed)return;let t=await a.stat(e);if(this.isDisposed)return;let n={size:t.size,mtimeMs:t.mtimeMs},r=this.trackedFiles.get(e);if(!r){if(this.trackedFiles.set(e,n),this.isDisposed){this.trackedFiles.delete(e);return}await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:`created`});return}if(n.mtimeMs!==r.mtimeMs){let i=n.size<r.size?`rotated`:`modified`;if(this.trackedFiles.set(e,n),this.isDisposed)return;await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:i})}}clearTrackedFile(e){return this.trackedFiles.delete(e)}clearAllTrackedFiles(){this.trackedFiles.clear()}triggerImmediatePoll(e){this.runFileCheck(e).catch(t=>{this.emitWatcherError(t,e)})}async runFileCheck(e){if(this.isDisposed)return;let t=this.inFlightChecks.get(e);if(t){await t;return}let n=(async()=>{try{await this.checkFile(e)}finally{this.inFlightChecks.delete(e)}})();this.inFlightChecks.set(e,n),await n}async emitWatcherError(e,t){let n=e instanceof Error?e:Error(String(e));try{await this.emittery.emit(`error`,{error:n,filePath:t})}catch(e){console.error(`[LogFileWatcher] Error listener failed:`,e instanceof Error?e.message:String(e))}}},O=class{watcher;constructor(e){this.watcher=new D(e)}isRunning(){return this.watcher.isRunning()}async start(){await this.watcher.start()}stop(){this.watcher.stop()}dispose(){this.watcher.dispose()}onChange(e){return this.watcher.on(`change`,e)}onError(e){return this.watcher.on(`error`,e)}onDeleted(e){return this.watcher.on(`deleted`,e)}onPolled(e){return this.watcher.on(`polled`,({trackedFilePaths:t})=>e(t))}getTrackedFileMtimeMs(e){return this.watcher.getTrackedFiles().get(e)?.mtimeMs}triggerImmediatePoll(e){this.watcher.triggerImmediatePoll(e)}seedFromCursors(e){this.watcher.seedFromCursors(e)}},k=class{filesProcessed=0;eventsEmitted=0;sessionsImported=new Set;sessionsSkipped=new Set;lastLoggedEventCount=0;lastLoggedSnapshot=``;reset(){this.filesProcessed=0,this.eventsEmitted=0,this.sessionsImported.clear(),this.sessionsSkipped.clear(),this.lastLoggedEventCount=0,this.lastLoggedSnapshot=``}recordFileProcessed(){this.filesProcessed++}recordEventEmitted(e){this.eventsEmitted++,!(this.eventsEmitted-this.lastLoggedEventCount<1e3)&&(console.info(`${e} Imported ${this.eventsEmitted} events (${this.sessionsImported.size} sessions)...`),this.lastLoggedEventCount=this.eventsEmitted)}recordSessionImported(e){this.sessionsImported.add(e)}recordSessionSkipped(e){this.sessionsSkipped.add(e)}hasActivity(){return this.eventsEmitted>0||this.filesProcessed>0}stoppedMessage(e){return`${e} Stopped - ${this.eventsEmitted} events from ${this.sessionsImported.size} sessions (${this.sessionsSkipped.size} skipped)`}logProgress(e){if(!this.hasActivity())return;let t=JSON.stringify({eventsEmitted:this.eventsEmitted,filesProcessed:this.filesProcessed,sessionsImported:this.sessionsImported.size,sessionsSkipped:this.sessionsSkipped.size});t!==this.lastLoggedSnapshot&&(this.lastLoggedSnapshot=t,console.info(`${e} Progress: ${this.eventsEmitted} events, ${this.sessionsImported.size} sessions, ${this.filesProcessed} files, ${this.sessionsSkipped.size} skipped`))}};function A(e){return async t=>{try{if(e!==void 0)try{let n=await s.requestOptional(l.runtime.isAdapterManaged,{adapterSessionId:t,clientId:e});if(n.handled&&n.data.managed)return!0}catch{}let n=await s.request(d.getByAdapterSessionId,{adapterSessionId:t});return n.session!==null&&!n.session.isImported}catch{return!1}}}var j=class{checkedSessions=new Map;inFlight=new Map;generations=new Map;async isSkipped(e,t,n){for(;;){let r=this.checkedSessions.get(e);if(r!==void 0)return r;let i=this.generations.get(e)??0,a=this.inFlight.get(e),o;if(a&&a.generation===i?o=a.promise:(o=t(e).then(t=>((this.generations.get(e)??0)===i&&(this.checkedSessions.set(e,t),t&&n(e)),t)).finally(()=>{let t=this.inFlight.get(e);t&&t.generation===i&&this.inFlight.delete(e)}),this.inFlight.set(e,{generation:i,promise:o})),await o,(this.generations.get(e)??0)===i){let t=this.checkedSessions.get(e);if(t!==void 0)return t;continue}}}invalidate(e){this.checkedSessions.delete(e),this.inFlight.delete(e),this.generations.set(e,(this.generations.get(e)??0)+1)}clear(){this.checkedSessions.clear(),this.inFlight.clear(),this.generations.clear()}};function M(e,t,n,r){return!n||!e||r===`rotated`?!1:new Date(e)>=t}function N(e,t,n){for(let r of n??[]){let n=r.line===void 0?``:` at line ${r.line}`;console.warn(`${e} Parse error in ${t}${n}: ${r.error}`)}}async function P(e,t,n,i){let{cursor:a}=await s.request(r.get,{filePath:e});return a&&a.bytesRead>0&&!a.sessionContext&&!t?(await s.request(r.delete,{filePath:e}).catch(()=>{}),i(n),`retry`):a}async function F(e,t,n,r,i,a){let o=await a.parseFile(e,0);N(i,e,o.errors);let s=a.validateRecords(o.records);s.length>0&&await a.handleFirstRead(e,s,o.bytesRead??0,t,n,0,r)}function I(e,t,n,r,i){let a=[];n&&(a.push(i(t.sessionEvent)),a.push(i(t.startedEvent)));let o=r(e,t);for(let e of o)a.push(i(e));return a}function L(e,t){let n=[];for(let r of e)n.push(t(r));return n}function R(e){return typeof e==`object`&&!!e&&`compactionDetected`in e&&e.compactionDetected===!0}function z(e,t,n){return{...e,state:n(t)}}var B=class{tasks=new Set;track(e){this.tasks.add(e),e.finally(()=>{this.tasks.delete(e)})}async drain(){for(;this.tasks.size>0;)await Promise.allSettled([...this.tasks])}},V=class{config;watcher;eventQueue;importer;managedSessionCache=new j;unsubscribeChange;unsubscribeError;unsubscribeDeleted;unsubscribeRuntimeStarted;stats=new k;watcherTasks=new B;progressTimer;constructor(e,t){this.importer=t;let n=e.directory??t.getLogDirectory();this.config={enabled:e.enabled,directory:e.directory,pollIntervalMs:e.pollIntervalMs??1e4,eventsPerSecond:e.eventsPerSecond??100,adapterId:e.adapterId,adapterName:e.adapterName,checkMakaioManaged:e.checkMakaioManaged,clientId:e.clientId,machineId:e.machineId},this.watcher=new O({directory:n,pattern:this.getLogFilePattern(),pollIntervalMs:this.config.pollIntervalMs}),this.eventQueue=new E({eventsPerSecond:this.config.eventsPerSecond,onEventEmitted:()=>{this.stats.recordEventEmitted(this.logPrefix)}})}shouldSkipFile(e){return!1}validateRecords(e){return e}getMaxRecords(){}buildCursorSessionContext(e){let{adapterSessionId:t,sessionEvent:n,startedEvent:r,state:i,...a}=e;return{...a,adapterSessionId:t,sessionEvent:n,startedEvent:r,state:this.importer.serializeState(i)}}usesJsonFormat(){let e=this.getLogFilePattern();return e.includes(`.json`)&&!e.includes(`.jsonl`)}isEnabled(){return this.config.enabled}isRunning(){return this.watcher.isRunning()}async start(){if(!this.config.enabled||this.isRunning())return;let e=this.config.directory??this.importer.getLogDirectory();console.info(`${this.logPrefix} Starting - watching ${e}`),this.stats.reset(),this.managedSessionCache.clear(),this.progressTimer=setInterval(()=>this.stats.logProgress(this.logPrefix),1e4),this.unsubscribeChange=this.watcher.onChange(e=>{this.trackFileChange(e)}),this.unsubscribeError=this.watcher.onError(({error:e,filePath:t})=>{console.warn(`${this.logPrefix} Error${t?` for ${t}`:``}: ${e.message}`)}),this.unsubscribeDeleted=this.watcher.onDeleted(({filePath:e})=>{this.watcherTasks.track(s.request(r.delete,{filePath:e}).then(()=>void 0).catch(()=>{}))}),this.unsubscribeRuntimeStarted=s.on(l.runtime.started,e=>{e.payload.source.layer===`adapter`&&e.payload.adapterSessionId!==void 0&&this.managedSessionCache.invalidate(e.payload.adapterSessionId)}),await this.watcher.start()}async stop(){this.progressTimer&&=(clearInterval(this.progressTimer),void 0),this.unsubscribeChange?.(),this.unsubscribeError?.(),this.unsubscribeDeleted?.(),this.unsubscribeRuntimeStarted?.(),this.unsubscribeChange=void 0,this.unsubscribeError=void 0,this.unsubscribeDeleted=void 0,this.unsubscribeRuntimeStarted=void 0,this.watcher.stop(),await this.watcherTasks.drain(),await this.eventQueue.drain(),this.stats.hasActivity()&&console.info(this.stats.stoppedMessage(this.logPrefix))}async dispose(){await this.stop(),this.watcher.dispose(),this.managedSessionCache.clear()}static createDefaultCheckMakaioManaged(e){return A(e)}async updateCursor(e,t,n,i){await s.request(r.set,{filePath:e,bytesRead:t,lastModified:n.toISOString(),sessionContext:i})}async handleFileChange(e){let{filePath:t,changeType:n,stat:i}=e;if(this.shouldSkipFile(t))return;let a=this.usesJsonFormat();n===`rotated`&&await s.request(r.delete,{filePath:t}).catch(()=>{});let o=await P(t,a,e,e=>this.trackFileChange(e));if(o===`retry`)return;let c=o?.sessionContext!==void 0,l=c?o?.bytesRead??0:0;if(M(o?.lastModified,i.mtime,a,n))return;let u=await this.parseFile(t,a?0:l,this.getMaxRecords());N(this.logPrefix,t,u.errors),this.stats.recordFileProcessed();let d=this.validateRecords(u.records),f=u.bytesRead??0;if(d.length===0){await this.maybeUpdateCursor(t,f,l,i.mtime,a,o?.sessionContext);return}c&&o?.sessionContext?await this.handleIncrementalRead(t,d,o.sessionContext,f,i.mtime,a,l):await this.handleFirstRead(t,d,f,i.mtime,a,l)}trackFileChange(e){let t=this.handleFileChange(e).catch(e=>{console.error(`${this.logPrefix} Error handling file change:`,e instanceof Error?e.message:String(e))});this.watcherTasks.track(t)}async handleFirstRead(e,t,n,r,i,a,o=!0){let s=this.importer.extractSessionContext(t);if(await this.isSessionSkipped(s.adapterSessionId)){await this.maybeUpdateCursor(e,n,a,r,i,this.buildCursorSessionContext(s));return}let c=I(t,s,o,(e,t)=>this.importer.processRecords(e,t),e=>this.queueEvent(e));this.trackImportedSession(s.adapterSessionId),await this.queueCursorUpdate(e,n,a,r,i,this.buildCursorSessionContext(s),c)}trackImportedSession(e){this.stats.recordSessionImported(e)}async handleIncrementalRead(e,t,n,i,a,o,c){if(await this.isSessionSkipped(n.adapterSessionId)){await this.maybeUpdateCursor(e,i,c,a,o,n);return}let l;try{l=this.importer.deserializeState(n.state)}catch(t){console.warn(`${this.logPrefix} Corrupted cursor state for ${e}, deleting cursor and re-importing.`,t instanceof Error?t.message:String(t)),await s.request(r.delete,{filePath:e}).catch(t=>{console.warn(`${this.logPrefix} Failed to delete corrupted cursor for ${e}.`,t instanceof Error?t.message:String(t))}),await F(e,a,o,!0,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let u={adapterSessionId:n.adapterSessionId,model:n.model,cwd:n.cwd,sessionEvent:n.sessionEvent,startedEvent:n.startedEvent,state:l},d=this.importer.processRecords(t,u);if(R(u.state)){await F(e,a,o,!1,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let f=L(d,e=>this.queueEvent(e)),p=z(n,u.state,e=>this.importer.serializeState(e));await this.queueCursorUpdate(e,i,c,a,o,p,f)}async maybeUpdateCursor(e,t,n,r,i,a){(t>n||i)&&await this.updateCursor(e,t,r,a)}async isSessionSkipped(e){return this.managedSessionCache.isSkipped(e,e=>this.importer.isMakaioManaged(e),e=>this.stats.recordSessionSkipped(e))}queueEvent(e){return this.eventQueue.queueEvent(e)}queueCursorUpdate(e,t,n,r,i,a,o=[]){return this.eventQueue.queueAfterEvents(()=>this.maybeUpdateCursor(e,t,n,r,i,a),o)}},H=class extends V{trackingFilePaths=new Set;trackingInactiveCount=new Map;lastSeenMtimeMs=new Map;unsubscribePolled;constructor(e,t){super(e,t)}clearTrackingState(e){this.trackingFilePaths.delete(e),this.trackingInactiveCount.delete(e),this.lastSeenMtimeMs.delete(e)}async persistImportedStatus(e){let{session:t}=await s.request(u.getByLogFilePath,{logFilePath:e});return!t||t.importStatus!==`tracking`||(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success?!0:(console.warn(`${this.logPrefix} Failed to persist imported status for ${e}`),!1)}async start(){!this.isEnabled()||this.isRunning()||(await super.start(),this.unsubscribePolled=this.watcher.onPolled(e=>{this.onPollCycle(e).catch(e=>{console.error(`${this.logPrefix} Error handling poll cycle:`,e instanceof Error?e.message:String(e))})}),await this.restorePersistedTrackingState())}async stop(){this.unsubscribePolled?.(),this.unsubscribePolled=void 0,await super.stop()}async dispose(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear(),await super.dispose()}async handleFileChange(e){let{filePath:t,changeType:n,stat:i}=e;if(this.shouldSkipFile(t))return;let{cursor:a}=await s.request(r.get,{filePath:t});if(!a){await this.discoverNewFile(e);return}n===`modified`&&await this.handleModifiedImportedFile(t,e,i.mtime)}async restorePersistedTrackingState(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear();try{let{sessions:e}=await s.request(u.listImported,{source:this.config.adapterName,importStatus:`tracking`});for(let t of e){if(t.source!==this.config.adapterName)continue;if(!t.logFilePath){(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success||console.warn(`${this.logPrefix} Failed to reset tracking status for session ${t.sessionId}`);continue}let e=this.watcher.getTrackedFileMtimeMs(t.logFilePath);if(e===void 0){(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success||console.warn(`${this.logPrefix} Failed to reset tracking status for ${t.logFilePath}`);continue}this.trackingFilePaths.add(t.logFilePath),this.trackingInactiveCount.set(t.logFilePath,0),this.lastSeenMtimeMs.set(t.logFilePath,e)}}catch(e){console.warn(`[DiscoveryOrchestrator] Failed to restore persisted tracking state:`,e instanceof Error?e.message:String(e))}}async discoverNewFile(e){let{filePath:t,stat:n}=e,r=await this.importer.extractDiscoveryMetadata(t);if(!(r.hasMessages??!1)){await this.updateCursor(t,0,n.mtime);return}if(await this.isSessionSkipped(r.adapterSessionId)){await this.updateCursor(t,0,n.mtime);return}let i=this.queueEvent({subject:c.session.discovered,payload:{adapterId:this.config.adapterId,adapterName:this.config.adapterName,adapterSessionId:r.adapterSessionId,model:r.model??null,cwd:r.cwd??null,title:r.title,parentAdapterSessionId:r.parentAdapterSessionId??null,forkPointMessageId:r.forkPointMessageId??null,kind:r.kind??`root`,startedAt:r.startedAt,logFilePath:t}});await this.eventQueue.queueAfterEvents(()=>this.updateCursor(t,0,n.mtime),[i])}async handleModifiedImportedFile(e,t,n){let{session:r}=await s.request(u.getByLogFilePath,{logFilePath:e});if(!r){await this.discoverNewFile(t);return}if(r.source===this.config.adapterName&&!(r.importStatus!==`imported`&&r.importStatus!==`tracking`)){if(await super.handleFileChange(t),r.importStatus===`imported`&&!(await s.request(u.updateImportStatus,{sessionId:r.sessionId,importStatus:`tracking`})).success){console.warn(`${this.logPrefix} Failed to persist tracking status for ${e}`);return}this.trackingFilePaths.add(e),this.lastSeenMtimeMs.set(e,n.getTime()),this.trackingInactiveCount.delete(e),this.watcher.triggerImmediatePoll(e)}}async onPollCycle(e){for(let t of[...this.trackingFilePaths]){if(!e.has(t)){await this.persistImportedStatus(t)&&this.clearTrackingState(t);continue}let n=this.watcher.getTrackedFileMtimeMs(t),r=this.lastSeenMtimeMs.get(t);if(!(n===void 0||r===void 0))try{if(n===r){let e=(this.trackingInactiveCount.get(t)??0)+1;e>=3?await this.persistImportedStatus(t)&&this.clearTrackingState(t):this.trackingInactiveCount.set(t,e)}else this.lastSeenMtimeMs.set(t,n),this.trackingInactiveCount.delete(t)}catch(e){console.warn(`${this.logPrefix} Failed to process tracked file ${t}:`,e instanceof Error?e.message:String(e))}}}};export{V as BaseLogOrchestrator,H as DiscoveryOrchestrator,p as parseJsonlFile,m as readFirstJsonlRecords,h as someJsonlRecord};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as e}from"zod";import{OnceAbortError as t}from"@makaio/framework/bus";import{AgentSubjects as n,McpSubjects as r,ToolSubjects as i}from"@makaio/framework/contracts";import{AIAgent as a,AgentCompleteEventSchema as o,AgentStartedEventSchema as s,BaseConnectorSession as c,ErrorEventSchema as l,ProceduralAgentConnector as u,ToolCompletedEventSchema as d,ToolStartedEventSchema as f,UserMessageQueue as p,extractMcpCallTarget as m,isMcpCallTool as h,markCompletedWithFinalResult as g,processQueueMessages as _,rejectQueuedHandles as v}from"@makaio/framework/adapters";const y=8e3;function b(e){if(e.length<=8e3)return e;let t=y,n=``;for(;;){let r=`\n...[truncated ${e.length-t} chars]`,i=y-r.length;if(i<0)return r.slice(0,y);if(i===t&&r===n)break;t=i,n=r}return`${e.slice(0,t)}${n}`}function x(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function S(e,t=`Adapter`){let n;try{n=JSON.parse(e.function.arguments)}catch{let n=e.function.arguments.length;throw console.error(`[${t}] Failed to parse tool arguments for "${e.function.name}" (argsLength=${n})`),Error(`Failed to parse tool arguments for "${e.function.name}"`)}if(!x(n)){let r=n===null?`null`:Array.isArray(n)?`array`:typeof n;throw console.error(`[${t}] Parsed tool arguments for "${e.function.name}" must be a JSON object (received ${r})`,n),Error(`Tool arguments for "${e.function.name}" must be a JSON object`)}return{toolName:e.function.name,args:n,toolCallId:e.id}}function C(e,t,n=`Adapter`){return{...S(e,n),agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId,sessionId:t.sessionId}}function w(e,t){t.updatedInput!==void 0&&(e.function.arguments=JSON.stringify(t.updatedInput))}function T(e,t){if(t===void 0||t.allowedTools===void 0&&t.disallowedTools===void 0)return e;let n=t.allowedTools===void 0?void 0:new Set(t.allowedTools),r=t.disallowedTools===void 0?void 0:new Set(t.disallowedTools);return e.filter(e=>!(r?.has(e.name)||n!==void 0&&!n.has(e.name)))}async function E(e,t,n,r){try{return T((await e.request(i.list,{adapterId:t,adapterName:n})).tools,r)}catch(e){return console.warn(`[${n}] Failed to fetch tools from bus:`,e),[]}}function D(e){return e.filter(e=>e.inputSchema!==void 0)}async function O(e,t,n,r){await n({eventType:`tool_started`,toolName:t.function.name,toolCallId:t.id});try{let a=JSON.parse(t.function.arguments),o=await e.request(i.execute,{toolName:t.function.name,input:a,adapterId:r.adapterId,adapterName:r.adapterName,contextOverrides:{...r,toolCallId:t.id}});return n({eventType:`tool_completed`,toolName:t.function.name,toolCallId:t.id,result:o.success?JSON.stringify(o.data):JSON.stringify(o.error),success:o.success}).then(()=>o)}catch(e){let r=e instanceof Error?{message:e.message,name:e.name}:{message:String(e),name:`UnknownError`};throw await n({eventType:`tool_completed`,toolName:t.function.name,toolCallId:t.id,result:JSON.stringify(r),success:!1}),e}}async function k(e,t,n,r,i){let a=[];for(let o of e){let e=S(o,i),s=await t.requestToolApproval({...e,reasoning:n.reasoning});if(s.action===`deny`){if(s.shouldAbort)throw Error(`Tool use denied by approval handler: ${o.function.name}`);let e=b(JSON.stringify({error:s.message}));a.push(r(o.id,e,!0));continue}w(o,s);let c=await O(t.bus,o,t.emitSdkEvent,n);if(c.success&&t.recordMcpCall&&h(e.toolName)){let n=m(s.updatedInput??e.args);n!==void 0&&t.recordMcpCall(n)}let l=c.success?typeof c.data==`string`?c.data:JSON.stringify(c.data??null):JSON.stringify({error:c.error.message,code:c.error.code});a.push(r(o.id,b(l),!c.success))}return a}const A=e.enum([`idle`,`turn_started`,`step_started`,`step_finished`,`turn_finished`]),j=e.object({adapterId:e.string(),agentId:e.string(),oldState:A,newState:A,timestamp:e.number()}),M=e.object({eventType:e.literal(`reasoning_delta`),content:e.string()}),N=e.object({eventType:e.literal(`reasoning_complete`),content:e.string()}),P=e.object({name:e.string(),arguments:e.string()}),F=e.object({id:e.string(),type:e.literal(`function`),function:P}),I=e.object({eventType:e.literal(`tool_calls`),toolCalls:e.array(F)}),L=e.object({id:e.string(),type:e.literal(`function`),function:P}),R=e.object({eventType:e.literal(`message_complete`),content:e.string().nullable(),reasoning:e.string().optional(),tool_calls:e.array(L).optional(),finish_reason:e.string().nullable()}),z=`stream_start_timeout`;var B=class extends c{static MAX_TOOL_CALL_ITERATIONS=8;lastAssistantMessage;currentModel;currentCwd;pendingAssistantHistoryCompactions=[];constructor(e){super(e),this.sessionId=crypto.randomUUID(),this.currentModel=e.model,this.currentCwd=e.cwd}async processQueue(e){if(this.closing){v(e);return}await _(e,{getCurrentTurn:()=>this.currentTurn,startNewTurn:(e,t)=>this.startNewTurn(e,t)})}async close(){this.closing=!0,await super.abort()}async startNewTurn(e,t){this.config.onTurnStart?.(e),this.sessionId=crypto.randomUUID(),e.adapterSessionId=this.sessionId,e.internalRetry||this.closePendingAssistantHistoryCompactions(this.getConversationHistoryLength()),this.buildMessages(e,t);let n=this.getConversationHistoryLength(),r;if(!e.isProcessed&&!e.internalRetry){let t,i={setEndIndex:e=>{t??=e}};this.pendingAssistantHistoryCompactions.push(i),e.addCompletionObserver(e=>{try{let i=e.outcome===`completed`?e.result?.message:void 0;if(i===void 0||r===void 0||i===r)return;let a=t??this.getConversationHistoryLength();this.replaceAssistantTurnHistory(n,a,i),this.lastAssistantMessage=i}finally{this.removePendingAssistantHistoryCompaction(i)}})}if(this.currentTurn=this.createTurn(e),this.lastAssistantMessage=void 0,e.markAcknowledged(),await this.config.emitSdkEvent({eventType:`agent_started`,model:this.currentModel}),this.completeHandleIfClosing(e))return!1;let i=this.currentTurn;queueMicrotask(async()=>{try{if(!i||(await this.runTurn(i,e),e.isProcessed||this.isTurnSuperseded(i)))return;r=this.lastAssistantMessage||``,await g(e,{outcome:`completed`,result:{message:r}},this.config.onTurnComplete)}catch(t){await this.handleTurnError(t,i,e)}finally{i&&(!i.isPaused()||e.deliveryMode!==`immediate`)&&(await i.markTurnFinished(),this.currentTurn===i&&(this.currentTurn=void 0))}})}async handleTurnError(e,t,n){if(t?.isPaused()&&n.deliveryMode===`immediate`)return;let r=e instanceof Error?e:Error(String(e));if(t?.isPaused()){n.isProcessed||await g(n,{outcome:`error`,error:r},this.config.onTurnComplete);return}console.error(`[${this.config.adapterName}] Turn error:`,e),n.isProcessed||await g(n,{outcome:`error`,error:r},this.config.onTurnComplete),this.config.handleError(r,!1)}async runTurn(e,t){this.isTurnSuperseded(e)||(await e.start(),await this.runTurnIteration(e,t))}createMessageCompletePromise(e,t){return this.bus.once(this.getSdkEventSubject(),{timeoutMs:3e5,filter:{"event.eventType":`message_complete`,agentId:this.config.agentId,adapterId:this.config.adapterId,adapterSessionId:t},signal:e})}async executeStreamingStep(e,t,n){let r=this.config.streamStartTimeoutMs??3e4,i=new AbortController,a=setTimeout(()=>{i.abort()},r);try{await this.executeApiCall(e,AbortSignal.any([t,i.signal]),n)}catch(e){throw!t.aborted&&i.signal.aborted?Error(z,{cause:e}):e}finally{clearTimeout(a)}}async runTurnIteration(e,n,r=0){if(this.isTurnSuperseded(e))return;let i=e.getAbortSignal(),a=0,o;for(;;){if(this.shouldAbortTurnProcessing(e,n))return;try{let t=n.adapterSessionId??this.sessionId;if(!t)throw Error(`adapterSessionId must be set before waiting for message_complete`);if(o=this.createMessageCompletePromise(i,t),await this.executeStreamingStep(e,i,t),this.shouldAbortTurnProcessing(e,n)){o.catch(()=>{});return}let{payload:a}=await o,s=a.event;if(s.eventType!==`message_complete`)throw Error(`Expected message_complete event, got ${s.eventType}`);if(this.shouldAbortTurnProcessing(e,n))return;await this.applyMessageComplete(s,n,r,e);return}catch(e){if(o?.catch(()=>{}),e instanceof Error&&e.message===z&&!i.aborted&&a===0){a++;continue}if(i.aborted||e.name===`AbortError`||e instanceof t)return;let n=this.classifyError(e);throw r===0&&await this.config.emitSdkEvent({eventType:`error`,message:n.message,code:e?.code,type:e?.type}),n}}}buildToolConstraints(){if(this.config.allowedDirectories!==void 0)return{allowedDirectories:this.config.allowedDirectories}}updateModel(e){this.currentModel=e}updateCwd(e){this.currentCwd=e}getCurrentTurn(){return this.currentTurn}isTurnSuperseded(e){return this.currentTurn!==e}shouldAbortTurnProcessing(e,t){return t.isProcessed||e.isPaused()||this.isTurnSuperseded(e)}closePendingAssistantHistoryCompactions(e){for(let t of this.pendingAssistantHistoryCompactions)t.setEndIndex(e)}removePendingAssistantHistoryCompaction(e){let t=this.pendingAssistantHistoryCompactions.indexOf(e);t>=0&&this.pendingAssistantHistoryCompactions.splice(t,1)}},V=class extends u{session;userMessageQueue=new p;mcpDirectTools=[];mcpSessionContextCache;hasPendingToolRefresh=!1;hasPendingLedgerInjection=!1;markToolRefreshPending(){this.hasPendingToolRefresh=!0}afterSessionCreated(e){}getSession(){return this.session}async ensureSession(){if(this.isTurnEventLifecycleClosed||(this.session||await this.initializeSession(),!this.session))throw Error(`[${this.config.adapterName}] Cannot initialize a closed connector`);return this.session}getSessionQueue(){return this.userMessageQueue}async initializeSession(){if(await this.fetchToolsViaBus(),this.isTurnEventLifecycleClosed)return;this.prepareMcpDirectTools(),this.session=this.createSession(),this.afterSessionCreated(this.session),this.wireSessionEvents(),this.mcpDirectTools.length>0&&this.session.updateTools?.(this.mcpDirectTools);let e=(this.pendingTurnNumber??this.currentTurnNumber)||1;this.config.toolLedger?.recordInjection(this.mcpDirectTools,e)}prepareMcpDirectTools(){let e=this.mcpSessionContextCache??this.config.mcpSessionContext;e&&(this.mcpDirectTools=e.directTools.map(e=>({name:e.fullName,description:e.description??``,toolsetName:e.serverName,inputSchema:e.inputSchema})))}async fetchToolsViaBus(){this.session||await this.fetchTools()}async refreshTools(){await this.resolveAndCacheMcpContext(),this.prepareMcpDirectTools(),this.hasPendingLedgerInjection=!0}async resolveAndCacheMcpContext(){let e=this.config.mcpSessionContext;if(!(!e||!(`sessionId`in e)))try{this.mcpSessionContextCache=await this.globalBus.request(r.session.resolve,{sessionId:e.sessionId,profileId:e.profileId,projectId:e.projectId})}catch(e){console.warn(`[${this.config.adapterName}] MCP session re-resolve failed; using previous tool snapshot.`,e)}}getWireSessionConfig(){return{onTurnStarted:async()=>{if(this.consumeTurnNumber(),this.hasPendingToolRefresh)try{await this.refreshTools()}catch(e){console.warn(`[${this.config.adapterName}] Tool refresh failed at turn start; continuing with stale tools.`,e)}finally{this.hasPendingToolRefresh=!1}this.hasPendingLedgerInjection&&=(this.config.toolLedger?.recordInjection(this.mcpDirectTools,this.currentTurnNumber),!1)},onTurnFinished:async e=>{if(this.hasPendingToolRefresh)try{await this.refreshTools()}catch(e){console.warn(`[${this.config.adapterName}] Tool refresh failed; continuing with stale tools.`,e)}finally{this.hasPendingToolRefresh=!1}await e()}}}resolveSystemPrompt(){if(this.systemPrompt!==void 0)return typeof this.systemPrompt==`string`?this.systemPrompt:this.systemPrompt.content}async sendMessage(e,t){let n=this.createMessageHandle(e,t);return await this.processUserMessages([n]),n}abort(){this.session?.abort()}async close(){let e=this.closeTurnEventLifecycle();v(this.userMessageQueue);let t=this.session;this.session=void 0;let n=t?.close();return await e,await n,{evidence:`detached`,detail:`The stream session was aborted; the provider request settlement is not awaited here.`}}async changeModelInPlace(e){return this.session?.updateModel(e),!0}async changeCwdInPlace(e){return this.session?.updateCwd(e),!0}async changeReasoningInPlace(e){return this.session?.updateReasoning?.(e),!0}async interrupt(){await this.session?.abort()}async getAdapterSessionId(){if(this.adapterSessionId||this.initAdapterSessionId(),!this.adapterSessionId)throw Error(`Adapter session ID is missing in getAdapterSessionId(); ensure initAdapterSessionId() ran during connector initialization.`);return this.adapterSessionId}initAdapterSessionId(){this.adapterSessionId??=crypto.randomUUID()}};function H(e){try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{}}catch{return{}}}var U=class extends a{toolBlockIndexMap=new Map;completedToolIds=new Set;toolCallArgsMap=new Map;resetPerTurnToolTracking(){this.toolBlockIndexMap.clear(),this.completedToolIds.clear(),this.toolCallArgsMap.clear()}wireEvents(e){this.wireSdkEvents(),this.wireSemanticEvents(e,this.getConnectorSubjects()),this.wireToolApprovalRpc(e)}wireSemanticEvents(e,t){this.wireMessageEvents(e,t),this.wireUsageEvents(e,t),this.wireToolEvents(e,t),this.wireReasoningEvents(e,t),this.wireLifecycleEvents(e,t)}wireMessageEvents(e,t){this.subscribeConnector(e,t.chunk,async e=>{let t=this.extractChunkText(e.payload);t&&await this.emitGlobal(n.message_delta,{text:t})}),this.subscribeConnector(e,t.messageComplete,async e=>{let{content:t}=e.payload;t&&(await this.emitStepStarted(`text`),await this.emitStepFinished(`text`,{type:`text`,content:t})),await this.emitGlobal(n.message,{content:t??``})})}wireUsageEvents(e,t){this.subscribeConnector(e,t.usage,async e=>{let t=this.extractUsagePayload(e.payload);await this.trackUsage(t),await this.emitUsageContextWindowUpdate(e.payload)})}wireToolEvents(e,t){this.subscribeConnector(e,t.toolCalls,async e=>{let{toolCalls:t}=e.payload;for(let e of t){if(this.completedToolIds.has(e.id)){console.warn(`[BaseStreamAgent] Ignoring late tool_calls for completed toolCallId ${e.id}`);continue}let t=H(e.function.arguments);this.toolCallArgsMap.set(e.id,t);let r=this.reserveToolCallBlockIndex(e);this.toolBlockIndexMap.set(e.id,r),await this.emitGlobal(n.step.started,{stepType:`tool_use`,blockIndex:r,blockData:{type:`tool_use`,toolName:e.function.name,toolCallId:e.id},content:{type:`tool_call`,toolCallId:e.id,name:e.function.name,args:t}}),this.afterToolCallStepEmitted(r),await this.emitGlobal(n.tool.use,{toolName:e.function.name,args:t,toolCallId:e.id})}}),this.subscribeConnector(e,t.toolStarted,async e=>{let{toolName:t,toolCallId:r}=e.payload;await this.emitGlobal(n.tool.started,{toolName:t,toolCallId:r})}),this.subscribeConnector(e,t.toolCompleted,async e=>{let{toolCallId:t,toolName:r,result:i,success:a}=e.payload;this.completedToolIds.add(t);let o=this.toolBlockIndexMap.get(t);o===void 0&&console.warn(`[BaseStreamAgent] toolCallId ${t} missing from toolBlockIndexMap; using fallback`);let s=o??this.getFallbackToolCompletedBlockIndex();this.toolBlockIndexMap.delete(t),await this.emitGlobal(n.step.finished,{stepType:`tool_use`,blockIndex:s,content:{type:`tool_output`,toolCallId:t,output:i,isError:!a}}),this.afterToolCompletedStepEmitted(s);let c=this.toolCallArgsMap.get(t);this.toolCallArgsMap.delete(t),c===void 0&&console.warn(`[BaseStreamAgent] toolCallId ${t} missing args for tool ${r}`),await this.emitGlobal(n.tool.completed,{toolName:r,args:c,result:{output:i},success:a,toolCallId:t})})}wireReasoningEvents(e,t){this.subscribeConnector(e,t.reasoningDelta,async e=>{let{content:t}=e.payload;await this.emitGlobal(n.reasoning_delta,{content:t})}),this.subscribeConnector(e,t.reasoningComplete,async e=>{let t=e.payload.content;if(t){let t=this.buildReasoningBlock(e.payload);await this.emitStepStarted(`reasoning`),await this.emitStepFinished(`reasoning`,t)}await this.emitGlobal(n.reasoning,{content:t??``})})}wireLifecycleEvents(e,t){this.subscribeConnector(e,t.agentStarted,async e=>{e.payload,this.resetPerTurnToolTracking(),await this.emitStart()}),this.subscribeConnector(e,t.agentComplete,async e=>{e.payload,this.resetPerTurnToolTracking()})}};export{o as AgentCompleteEventSchema,s as AgentStartedEventSchema,U as BaseStreamAgent,V as BaseStreamConnector,B as BaseStreamSession,l as ErrorEventSchema,y as MAX_TOOL_RESULT_CONTENT_CHARS,R as MessageCompleteEventSchema,L as MessageToolCallSchema,N as ReasoningCompleteEventSchema,M as ReasoningDeltaEventSchema,A as StreamSessionTurnStateSchema,P as ToolCallFunctionSchema,F as ToolCallSchema,I as ToolCallsEventSchema,d as ToolCompletedEventSchema,f as ToolStartedEventSchema,j as TurnStateChangedSchema,w as applyApprovedArgs,b as boundToolResultContent,O as executeTool,S as extractToolCallPayload,D as filterToolsWithSchema,k as handleToolCalls,E as loadToolsFromRegistry,C as toGlobalToolApproval};
|
|
1
|
+
import{z as e}from"zod";import{OnceAbortError as t}from"@makaio/framework/bus";import{AgentSubjects as n,McpSubjects as r,ToolSubjects as i}from"@makaio/framework/contracts";import{AIAgent as a,AgentCompleteEventSchema as o,AgentStartedEventSchema as s,BaseConnectorSession as c,ErrorEventSchema as l,ProceduralAgentConnector as u,ToolCompletedEventSchema as d,ToolStartedEventSchema as f,UserMessageQueue as p,extractMcpCallTarget as m,isMcpCallTool as h,markCompletedWithFinalResult as g,processQueueMessages as _,rejectQueuedHandles as v}from"@makaio/framework/adapters";const y=8e3;function b(e){if(e.length<=8e3)return e;let t=y,n=``;for(;;){let r=`\n...[truncated ${e.length-t} chars]`,i=y-r.length;if(i<0)return r.slice(0,y);if(i===t&&r===n)break;t=i,n=r}return`${e.slice(0,t)}${n}`}function x(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function S(e,t=`Adapter`){let n;try{n=JSON.parse(e.function.arguments)}catch{let n=e.function.arguments.length;throw console.error(`[${t}] Failed to parse tool arguments for "${e.function.name}" (argsLength=${n})`),Error(`Failed to parse tool arguments for "${e.function.name}"`)}if(!x(n)){let r=n===null?`null`:Array.isArray(n)?`array`:typeof n;throw console.error(`[${t}] Parsed tool arguments for "${e.function.name}" must be a JSON object (received ${r})`,n),Error(`Tool arguments for "${e.function.name}" must be a JSON object`)}return{toolName:e.function.name,args:n,toolCallId:e.id}}function C(e,t,n=`Adapter`){return{...S(e,n),agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId,sessionId:t.sessionId}}function w(e,t){t.updatedInput!==void 0&&(e.function.arguments=JSON.stringify(t.updatedInput))}function T(e,t){if(t===void 0||t.allowedTools===void 0&&t.disallowedTools===void 0)return e;let n=t.allowedTools===void 0?void 0:new Set(t.allowedTools),r=t.disallowedTools===void 0?void 0:new Set(t.disallowedTools);return e.filter(e=>!(r?.has(e.name)||n!==void 0&&!n.has(e.name)))}async function E(e,t,n,r){try{return T((await e.request(i.list,{adapterId:t,adapterName:n})).tools,r)}catch(e){return console.warn(`[${n}] Failed to fetch tools from bus:`,e),[]}}function D(e){return e.filter(e=>e.inputSchema!==void 0)}async function O(e,t,n,r){await n({eventType:`tool_started`,toolName:t.function.name,toolCallId:t.id});try{let a=JSON.parse(t.function.arguments),o=await e.request(i.execute,{toolName:t.function.name,input:a,adapterId:r.adapterId,adapterName:r.adapterName,contextOverrides:{...r,toolCallId:t.id}});return n({eventType:`tool_completed`,toolName:t.function.name,toolCallId:t.id,result:o.success?JSON.stringify(o.data):JSON.stringify(o.error),success:o.success}).then(()=>o)}catch(e){let r=e instanceof Error?{message:e.message,name:e.name}:{message:String(e),name:`UnknownError`};throw await n({eventType:`tool_completed`,toolName:t.function.name,toolCallId:t.id,result:JSON.stringify(r),success:!1}),e}}async function k(e,t,n,r,i){let a=[];for(let o of e){let e=S(o,i),s=await t.requestToolApproval({...e,reasoning:n.reasoning});if(s.action===`deny`){if(s.shouldAbort)throw Error(`Tool use denied by approval handler: ${o.function.name}`);let e=b(JSON.stringify({error:s.message}));a.push(r(o.id,e,!0));continue}w(o,s);let c=await O(t.bus,o,t.emitSdkEvent,n);if(c.success&&t.recordMcpCall&&h(e.toolName)){let n=m(s.updatedInput??e.args);n!==void 0&&t.recordMcpCall(n)}let l=c.success?typeof c.data==`string`?c.data:JSON.stringify(c.data??null):JSON.stringify({error:c.error.message,code:c.error.code});a.push(r(o.id,b(l),!c.success))}return a}const A=e.enum([`idle`,`turn_started`,`step_started`,`step_finished`,`turn_finished`]),j=e.object({adapterId:e.string(),agentId:e.string(),oldState:A,newState:A,timestamp:e.number()}),M=e.object({eventType:e.literal(`reasoning_delta`),content:e.string()}),N=e.object({eventType:e.literal(`reasoning_complete`),content:e.string()}),P=e.object({name:e.string(),arguments:e.string()}),F=e.object({id:e.string(),type:e.literal(`function`),function:P}),I=e.object({eventType:e.literal(`tool_calls`),toolCalls:e.array(F)}),L=e.object({id:e.string(),type:e.literal(`function`),function:P}),R=e.object({eventType:e.literal(`message_complete`),content:e.string().nullable(),reasoning:e.string().optional(),tool_calls:e.array(L).optional(),finish_reason:e.string().nullable()}),z=`stream_start_timeout`;var B=class extends c{static MAX_TOOL_CALL_ITERATIONS=8;lastAssistantMessage;currentModel;currentCwd;pendingAssistantHistoryCompactions=[];constructor(e){super(e),this.sessionId=crypto.randomUUID(),this.currentModel=e.model,this.currentCwd=e.cwd}async processQueue(e){if(this.closing){v(e);return}await _(e,{getCurrentTurn:()=>this.currentTurn,startNewTurn:(e,t)=>this.startNewTurn(e,t)})}async close(){this.closing=!0,await super.abort()}async startNewTurn(e,t){this.config.onTurnStart?.(e),this.sessionId=crypto.randomUUID(),e.adapterSessionId=this.sessionId,e.internalRetry||this.closePendingAssistantHistoryCompactions(this.getConversationHistoryLength()),this.buildMessages(e,t);let n=this.getConversationHistoryLength(),r;if(!e.isProcessed&&!e.internalRetry){let t,i={setEndIndex:e=>{t??=e}};this.pendingAssistantHistoryCompactions.push(i),e.addCompletionObserver(e=>{try{let i=e.outcome===`completed`?e.result?.message:void 0;if(i===void 0||r===void 0||i===r)return;let a=t??this.getConversationHistoryLength();this.replaceAssistantTurnHistory(n,a,i),this.lastAssistantMessage=i}finally{this.removePendingAssistantHistoryCompaction(i)}})}if(this.currentTurn=this.createTurn(e),this.lastAssistantMessage=void 0,e.markAcknowledged(),await this.config.emitSdkEvent({eventType:`agent_started`,model:this.currentModel}),this.completeHandleIfClosing(e))return!1;let i=this.currentTurn;queueMicrotask(async()=>{try{if(!i||(await this.runTurn(i,e),e.isProcessed||this.isTurnSuperseded(i)))return;r=this.lastAssistantMessage||``,await g(e,{outcome:`completed`,result:{message:r}},this.config.onTurnComplete)}catch(t){await this.handleTurnError(t,i,e)}finally{i&&(!i.isPaused()||e.deliveryMode!==`immediate`)&&(await i.markTurnFinished(),this.currentTurn===i&&(this.currentTurn=void 0))}})}async handleTurnError(e,t,n){if(t?.isPaused()&&n.deliveryMode===`immediate`)return;let r=e instanceof Error?e:Error(String(e));if(t?.isPaused()){n.isProcessed||await g(n,{outcome:`error`,error:r},this.config.onTurnComplete);return}console.error(`[${this.config.adapterName}] Turn error:`,e),n.isProcessed||await g(n,{outcome:`error`,error:r},this.config.onTurnComplete),this.config.handleError(r,!1)}async runTurn(e,t){this.isTurnSuperseded(e)||(await e.start(),await this.runTurnIteration(e,t))}createMessageCompletePromise(e,t){return this.bus.once(this.getSdkEventSubject(),{timeoutMs:3e5,filter:{"event.eventType":`message_complete`,agentId:this.config.agentId,adapterId:this.config.adapterId,adapterSessionId:t},signal:e})}async executeStreamingStep(e,t,n){let r=this.config.streamStartTimeoutMs??3e4,i=new AbortController,a=setTimeout(()=>{i.abort()},r);try{await this.executeApiCall(e,AbortSignal.any([t,i.signal]),n)}catch(e){throw!t.aborted&&i.signal.aborted?Error(z,{cause:e}):e}finally{clearTimeout(a)}}async runTurnIteration(e,n,r=0){if(this.isTurnSuperseded(e))return;let i=e.getAbortSignal(),a=0,o;for(;;){if(this.shouldAbortTurnProcessing(e,n))return;try{let t=n.adapterSessionId??this.sessionId;if(!t)throw Error(`adapterSessionId must be set before waiting for message_complete`);if(o=this.createMessageCompletePromise(i,t),await this.executeStreamingStep(e,i,t),this.shouldAbortTurnProcessing(e,n)){o.catch(()=>{});return}let{payload:a}=await o,s=a.event;if(s.eventType!==`message_complete`)throw Error(`Expected message_complete event, got ${s.eventType}`);if(this.shouldAbortTurnProcessing(e,n))return;await this.applyMessageComplete(s,n,r,e);return}catch(e){if(o?.catch(()=>{}),e instanceof Error&&e.message===z&&!i.aborted&&a===0){a++;continue}if(i.aborted||e.name===`AbortError`||e instanceof t)return;let n=this.classifyError(e);throw r===0&&await this.config.emitSdkEvent({eventType:`error`,message:n.message,code:e?.code,type:e?.type}),n}}}buildToolConstraints(){if(this.config.allowedDirectories!==void 0)return{allowedDirectories:this.config.allowedDirectories}}updateModel(e){this.currentModel=e}updateCwd(e){this.currentCwd=e}getCurrentTurn(){return this.currentTurn}isTurnSuperseded(e){return this.currentTurn!==e}shouldAbortTurnProcessing(e,t){return t.isProcessed||e.isPaused()||this.isTurnSuperseded(e)}closePendingAssistantHistoryCompactions(e){for(let t of this.pendingAssistantHistoryCompactions)t.setEndIndex(e)}removePendingAssistantHistoryCompaction(e){let t=this.pendingAssistantHistoryCompactions.indexOf(e);t>=0&&this.pendingAssistantHistoryCompactions.splice(t,1)}},V=class extends u{session;userMessageQueue=new p;mcpDirectTools=[];mcpSessionContextCache;hasPendingToolRefresh=!1;hasPendingLedgerInjection=!1;markToolRefreshPending(){this.hasPendingToolRefresh=!0}afterSessionCreated(e){}getSession(){return this.session}async ensureSession(){if(this.isTurnEventLifecycleClosed||(this.session||await this.initializeSession(),!this.session))throw Error(`[${this.config.adapterName}] Cannot initialize a closed connector`);return this.session}getSessionQueue(){return this.userMessageQueue}async initializeSession(){if(await this.fetchToolsViaBus(),this.isTurnEventLifecycleClosed)return;this.prepareMcpDirectTools(),this.session=this.createSession(),this.afterSessionCreated(this.session),this.wireSessionEvents(),this.mcpDirectTools.length>0&&this.session.updateTools?.(this.mcpDirectTools);let e=(this.pendingTurnNumber??this.currentTurnNumber)||1;this.config.toolLedger?.recordInjection(this.mcpDirectTools,e)}prepareMcpDirectTools(){let e=this.mcpSessionContextCache??this.config.mcpSessionContext;e&&(this.mcpDirectTools=e.directTools.map(e=>({name:e.fullName,description:e.description??``,toolsetName:e.serverName,inputSchema:e.inputSchema})))}async fetchToolsViaBus(){this.session||await this.fetchTools()}async refreshTools(){await this.resolveAndCacheMcpContext(),this.prepareMcpDirectTools(),this.hasPendingLedgerInjection=!0}async resolveAndCacheMcpContext(){let e=this.config.mcpSessionContext;if(!(!e||!(`sessionId`in e)))try{this.mcpSessionContextCache=await this.globalBus.request(r.session.resolve,{sessionId:e.sessionId,profileId:e.profileId,projectId:e.projectId})}catch(e){console.warn(`[${this.config.adapterName}] MCP session re-resolve failed; using previous tool snapshot.`,e)}}getWireSessionConfig(){return{onTurnStarted:async()=>{if(this.consumeTurnNumber(),this.hasPendingToolRefresh)try{await this.refreshTools()}catch(e){console.warn(`[${this.config.adapterName}] Tool refresh failed at turn start; continuing with stale tools.`,e)}finally{this.hasPendingToolRefresh=!1}this.hasPendingLedgerInjection&&=(this.config.toolLedger?.recordInjection(this.mcpDirectTools,this.currentTurnNumber),!1)},onTurnFinished:async e=>{if(this.hasPendingToolRefresh)try{await this.refreshTools()}catch(e){console.warn(`[${this.config.adapterName}] Tool refresh failed; continuing with stale tools.`,e)}finally{this.hasPendingToolRefresh=!1}await e()}}}resolveSystemPrompt(){if(this.systemPrompt!==void 0)return typeof this.systemPrompt==`string`?this.systemPrompt:this.systemPrompt.content}async sendMessage(e,t){let n=this.createMessageHandle(e,t);return await this.processUserMessages([n]),n}abort(){this.session?.abort()}async close(){let e=this.closeTurnEventLifecycle(),t=this.session;this.session=void 0;let n=t?.close();return await e,await n,{evidence:`detached`,detail:`The stream session was aborted; the provider request settlement is not awaited here.`}}async changeModelInPlace(e){return this.session?.updateModel(e),!0}async changeCwdInPlace(e){return this.session?.updateCwd(e),!0}async changeReasoningInPlace(e){return this.session?.updateReasoning?.(e),!0}async interrupt(){await this.session?.abort()}async getAdapterSessionId(){if(this.adapterSessionId||this.initAdapterSessionId(),!this.adapterSessionId)throw Error(`Adapter session ID is missing in getAdapterSessionId(); ensure initAdapterSessionId() ran during connector initialization.`);return this.adapterSessionId}initAdapterSessionId(){this.adapterSessionId??=crypto.randomUUID()}};function H(e){try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{}}catch{return{}}}var U=class extends a{toolBlockIndexMap=new Map;completedToolIds=new Set;toolCallArgsMap=new Map;resetPerTurnToolTracking(){this.toolBlockIndexMap.clear(),this.completedToolIds.clear(),this.toolCallArgsMap.clear()}wireEvents(e){this.wireSdkEvents(),this.wireSemanticEvents(e,this.getConnectorSubjects()),this.wireToolApprovalRpc(e)}wireSemanticEvents(e,t){this.wireMessageEvents(e,t),this.wireUsageEvents(e,t),this.wireToolEvents(e,t),this.wireReasoningEvents(e,t),this.wireLifecycleEvents(e,t)}wireMessageEvents(e,t){this.subscribeConnector(e,t.chunk,async e=>{let t=this.extractChunkText(e.payload);t&&await this.emitGlobal(n.message_delta,{text:t})}),this.subscribeConnector(e,t.messageComplete,async e=>{let{content:t}=e.payload;t&&(await this.emitStepStarted(`text`),await this.emitStepFinished(`text`,{type:`text`,content:t})),await this.emitGlobal(n.message,{content:t??``})})}wireUsageEvents(e,t){this.subscribeConnector(e,t.usage,async e=>{let t=this.extractUsagePayload(e.payload);await this.trackUsage(t),await this.emitUsageContextWindowUpdate(e.payload)})}wireToolEvents(e,t){this.subscribeConnector(e,t.toolCalls,async e=>{let{toolCalls:t}=e.payload;for(let e of t){if(this.completedToolIds.has(e.id)){console.warn(`[BaseStreamAgent] Ignoring late tool_calls for completed toolCallId ${e.id}`);continue}let t=H(e.function.arguments);this.toolCallArgsMap.set(e.id,t);let r=this.reserveToolCallBlockIndex(e);this.toolBlockIndexMap.set(e.id,r),await this.emitGlobal(n.step.started,{stepType:`tool_use`,blockIndex:r,blockData:{type:`tool_use`,toolName:e.function.name,toolCallId:e.id},content:{type:`tool_call`,toolCallId:e.id,name:e.function.name,args:t}}),this.afterToolCallStepEmitted(r),await this.emitGlobal(n.tool.use,{toolName:e.function.name,args:t,toolCallId:e.id})}}),this.subscribeConnector(e,t.toolStarted,async e=>{let{toolName:t,toolCallId:r}=e.payload;await this.emitGlobal(n.tool.started,{toolName:t,toolCallId:r})}),this.subscribeConnector(e,t.toolCompleted,async e=>{let{toolCallId:t,toolName:r,result:i,success:a}=e.payload;this.completedToolIds.add(t);let o=this.toolBlockIndexMap.get(t);o===void 0&&console.warn(`[BaseStreamAgent] toolCallId ${t} missing from toolBlockIndexMap; using fallback`);let s=o??this.getFallbackToolCompletedBlockIndex();this.toolBlockIndexMap.delete(t),await this.emitGlobal(n.step.finished,{stepType:`tool_use`,blockIndex:s,content:{type:`tool_output`,toolCallId:t,output:i,isError:!a}}),this.afterToolCompletedStepEmitted(s);let c=this.toolCallArgsMap.get(t);this.toolCallArgsMap.delete(t),c===void 0&&console.warn(`[BaseStreamAgent] toolCallId ${t} missing args for tool ${r}`),await this.emitGlobal(n.tool.completed,{toolName:r,args:c,result:{output:i},success:a,toolCallId:t})})}wireReasoningEvents(e,t){this.subscribeConnector(e,t.reasoningDelta,async e=>{let{content:t}=e.payload;await this.emitGlobal(n.reasoning_delta,{content:t})}),this.subscribeConnector(e,t.reasoningComplete,async e=>{let t=e.payload.content;if(t){let t=this.buildReasoningBlock(e.payload);await this.emitStepStarted(`reasoning`),await this.emitStepFinished(`reasoning`,t)}await this.emitGlobal(n.reasoning,{content:t??``})})}wireLifecycleEvents(e,t){this.subscribeConnector(e,t.agentStarted,async e=>{e.payload,this.resetPerTurnToolTracking(),await this.emitStart()}),this.subscribeConnector(e,t.agentComplete,async e=>{e.payload,this.resetPerTurnToolTracking()})}};export{o as AgentCompleteEventSchema,s as AgentStartedEventSchema,U as BaseStreamAgent,V as BaseStreamConnector,B as BaseStreamSession,l as ErrorEventSchema,y as MAX_TOOL_RESULT_CONTENT_CHARS,R as MessageCompleteEventSchema,L as MessageToolCallSchema,N as ReasoningCompleteEventSchema,M as ReasoningDeltaEventSchema,A as StreamSessionTurnStateSchema,P as ToolCallFunctionSchema,F as ToolCallSchema,I as ToolCallsEventSchema,d as ToolCompletedEventSchema,f as ToolStartedEventSchema,j as TurnStateChangedSchema,w as applyApprovedArgs,b as boundToolResultContent,O as executeTool,S as extractToolCallPayload,D as filterToolsWithSchema,k as handleToolCalls,E as loadToolsFromRegistry,C as toGlobalToolApproval};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{agents as e}from"./services/session/storage/schema.mjs";import{z as t}from"zod";import{AgentStatusSchema as n,MakaioSessionAgentSchema as r}from"@makaio/framework/contracts";import{createStorageNamespaceDefinition as i}from"@makaio/framework/storage";const a=i(`agent`,{schemas:{get:{request:t.object({agentId:t.string()}),response:t.object({agent:r.nullable()})},set:{request:t.object({agentId:t.string(),agent:r}),response:t.object({success:t.boolean()})},delete:{request:t.object({agentId:t.string()}),response:t.object({success:t.boolean()})},listByAdapter:{request:t.object({adapterName:t.string(),status:t.enum([...n.options,`all`]).optional()}),response:t.object({agents:t.array(r)})},listBySession:{request:t.object({sessionId:t.string()}),response:t.object({agents:t.array(r)})},updateStatus:{request:t.object({agentId:t.string(),status:n,expectedStatus:t.array(n).nonempty().optional()}),response:t.object({success:t.boolean(),transitioned:t.boolean()})},updateActivity:{request:t.object({agentId:t.string(),lastActivityAt:t.number()}),response:t.object({success:t.boolean()})},updateRuntime:{request:t.object({agentId:t.string(),adapterId:t.string().optional(),adapterSessionId:t.string().optional(),cwd:t.string().optional(),model:t.string().optional(),allowedDirectories:t.array(t.string()).optional(),providerConfigId:t.string().nullable().optional()}).refine(e=>e.adapterId!==void 0||e.adapterSessionId!==void 0||e.cwd!==void 0||e.model!==void 0||e.allowedDirectories!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (adapterId, adapterSessionId, cwd, model, allowedDirectories, or providerConfigId) must be provided`}),response:t.object({success:t.boolean()})}},extensions:{drizzle:{agents:e}}}),o=a.subjects;export{o as n,a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as e,Z as t,a as n,d as r,f as i,l as a,m as o,n as s,o as c,r as l,s as u,x as d}from"./schemas-
|
|
1
|
+
import{Q as e,Z as t,a as n,d as r,f as i,l as a,m as o,n as s,o as c,r as l,s as u,x as d}from"./schemas-BqD8LlQw.mjs";import{t as f}from"./zod-json-schema-BAGAFfCN.mjs";import{z as p}from"zod";import{createBusNamespace as m}from"@makaio/framework/core";function h(e){return{...e,toRegistration:()=>({kind:e.kind,description:e.description,schemaVersion:e.schemaVersion,dataSchema:f(e.dataSchema),...e.scopeSchema?{scopeSchema:f(e.scopeSchema)}:{},...e.observationSchema?{observationSchema:f(e.observationSchema)}:{},...e.discriminator===void 0?{}:{discriminator:typeof e.discriminator==`string`?e.discriminator:Array.from(e.discriminator)},conflictPolicy:e.conflictPolicy,...e.status?{status:{...e.status,...e.status.values?{values:[...e.status.values]}:{}}}:{},...e.lifecycle?{lifecycle:e.lifecycle}:{},...e.indexedFields?{indexedFields:[...e.indexedFields]}:{},...e.searchableFields?{searchableFields:[...e.searchableFields]}:{},...e.projection?{projection:{...e.projection,...e.projection.semanticEvents?{semanticEvents:[...e.projection.semanticEvents]}:{},...e.projection.projectedFields?{projectedFields:e.projection.projectedFields.map(e=>({...e}))}:{},...e.projection.affordances?{affordances:e.projection.affordances.map(e=>structuredClone(e))}:{}}}:{},...e.defaultContext?{defaultContext:structuredClone(e.defaultContext)}:{}})}}function g(e){return{hooks:[...e.hooks]}}function _(e){return JSON.stringify([e.kind,e.id,e.revision])}const v=p.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),y=p.object({target:i,sourceRef:a,relationType:p.string().min(1),hint:t,status:p.enum([`resolved`,`unresolved`]),reason:v.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:p.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:p.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:p.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),b=p.object({rootRef:a,refs:p.array(y),resolved:p.array(o)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(_));n.has(_(e.rootRef))||t.addIssue({code:p.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,r)=>{n.has(_(e.sourceRef))||t.addIssue({code:p.ZodIssueCode.custom,path:[`refs`,r,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(_(e.target))||t.addIssue({code:p.ZodIssueCode.custom,path:[`refs`,r,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function x(e){let t=b.parse(e),n=new Map(t.resolved.map(e=>[E(e),e])),r=new Map;for(let e of t.refs){let t=E(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(E(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${E(t.rootRef)}'`);let a=S(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return T(a,e),e}}}function S(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:w(e,r,i,new Set([E(e)]))}}function C(e,t,n,r,i,a,o){let s=E(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:w(e,i,a,c)}}function w(e,t,n,r){return(t.get(E(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=E(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:C(e.target,a,e.relationType,e.hint,t,n,r)})}function T(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)T(n,t)}}function E(e){return JSON.stringify([e.kind,e.id,e.revision])}const D={"kind.register":{request:n,response:p.object({registered:p.boolean()})},"kind.list":{request:p.object({kind:p.string().min(1).optional()}),response:p.object({kinds:p.array(n)})},"relation-type.register":{request:d,response:p.object({registered:p.boolean()})},"relation-type.list":{request:p.object({type:p.string().min(1).optional()}),response:p.object({relationTypes:p.array(d)})},create:{request:o.omit({id:!0,revision:!0,timestamp:!0}),response:p.object({artifact:o})},revise:{request:p.object({previous:a,revision:o.omit({id:!0,revision:!0,timestamp:!0})}),response:p.object({artifact:o})},resolve:{request:p.object({ref:a}),response:p.object({artifact:o.nullable()})},query:{request:u,response:p.object({artifacts:p.array(o)})},compare:{request:s,response:l},resolveContext:{request:p.object({ref:a,selectors:e.optional(),maxDepth:p.number().int().min(1).max(20).default(5)}),response:p.object({context:b})},created:p.object({artifact:o}),revised:p.object({previous:a,artifact:o}),"relation.added":p.object({artifact:a,relation:r}),"observation.added":p.object({artifact:a,observation:c}),"status.changed":p.object({artifact:a,path:p.string().min(1),previous:p.unknown().optional(),current:p.unknown().optional()}),"kind.changed":p.object({kind:p.string().min(1),schemaVersion:p.string().min(1)})},O=m(`artifact`,D),k=O.subjects;export{y as a,g as c,x as i,h as l,D as n,v as o,k as r,b as s,O as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=class extends Error{code;dispatch;constructor(e,t,n,r){super(t,r),this.code=e,this.dispatch=n,this.name=`AttachStartError`}},t=class extends Error{stage;constructor(e,t){super(t instanceof Error?t.message:String(t),{cause:t}),this.stage=e,this.name=`SessionAgentAttachError`}};function n(e){let n=e,r=new Set;for(;n instanceof Error&&!r.has(n);){if(n instanceof t)return n;r.add(n),n=n.cause}}export{t as n,n as r,e as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,r as t}from"./definitions-
|
|
1
|
+
import{i as e,r as t}from"./definitions-CF6YmEhL.mjs";import{n}from"./selection-7Ku8DBnh.mjs";import"./resolved-DMByz1_2.mjs";import{z as r}from"zod";const i=r.union([r.string(),r.number().finite(),r.boolean(),r.null()]);function a(e){return Object.keys(e).length>0}const o=r.string().trim().min(1),s=r.record(e,t).refine(a,{message:`Process-environment delivery fields must not be empty.`}),c=r.record(e,o).refine(a,{message:`Connector delivery fields must not be empty.`}),l=r.object({kind:r.literal(`process-env`),fields:s}).strict(),u=r.object({kind:r.literal(`connector`),target:r.string().trim().min(1),fields:c,constants:r.record(o,i).optional()}).strict(),d=r.object({kind:r.literal(`native-client`),clientId:r.string().trim().min(1)}).strict(),f=r.object({kind:r.literal(`none`)}).strict(),p=r.discriminatedUnion(`kind`,[l,u,d,f]),m=r.tuple([p]).rest(p),h=r.object({method:n,deliveries:m}).strict().superRefine((e,t)=>{e.deliveries.some(({kind:e})=>e===`none`)&&e.deliveries.length!==1&&t.addIssue({code:r.ZodIssueCode.custom,message:`A none delivery must be the only delivery in its binding.`,path:[`deliveries`]});for(let[n,i]of e.deliveries.entries())i.kind===`native-client`&&(e.method.owner!==`client`||e.method.clientId!==i.clientId)&&t.addIssue({code:r.ZodIssueCode.custom,message:`Native-client delivery must target the client that owns the bound auth method.`,path:[`deliveries`,n,`clientId`]})});function g(e){return JSON.stringify(e.owner===`provider`?[e.owner,e.providerDefinitionId,e.methodId]:[e.owner,e.clientId,e.methodId])}const _=r.object({bindings:r.array(h).min(1),scrubEnvVars:r.array(t)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,a]of e.bindings.entries()){let e=g(a.method);n.has(e)?t.addIssue({code:r.ZodIssueCode.custom,message:`Adapter auth bindings must reference unique methods.`,path:[`bindings`,i,`method`]}):n.add(e)}let i=new Set;for(let[n,a]of e.scrubEnvVars.entries())i.has(a)?t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate scrub environment variable "${a}".`,path:[`scrubEnvVars`,n]}):i.add(a)}).brand();function v(e){return _.parse(e)}var y=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`AdapterAuthBindingValidationError`}};function b(e,t){if(e.method.methodId!==t.id)throw new y(`method-mismatch`,`Adapter authentication binding method "${e.method.methodId}" does not match definition "${t.id}".`);if(x(e,t),t.mode!==`explicit`)return;let n=new Set(t.fields.map(e=>e.id)),r=new Set,i=new Set,a=new Set;for(let t of e.deliveries){if(t.kind===`process-env`){for(let[e,a]of Object.entries(t.fields))S(n,e),r.add(e),C(i,a,`process-target-collision`,`process environment`);continue}if(t.kind!==`connector`)continue;C(a,t.target,`connector-target-collision`,`connector operation`);let e=new Set;for(let[i,a]of Object.entries(t.fields))S(n,i),r.add(i),C(e,a,`connector-value-target-collision`,`connector operation "${t.target}" value`);for(let n of Object.keys(t.constants??{}))C(e,n,`connector-value-target-collision`,`connector operation "${t.target}" value`)}for(let e of t.fields)if(e.required&&!r.has(e.id))throw new y(`required-field-undelivered`,`Required authentication field "${e.id}" has no adapter delivery.`)}function x(e,t){if(t.mode===`explicit`){if(e.deliveries.some(({kind:e})=>e!==`process-env`&&e!==`connector`))throw new y(`delivery-mode-mismatch`,`Explicit authentication requires process-environment or connector deliveries.`);return}if(t.mode===`inferred`){let t=e.deliveries[0];if(e.deliveries.length!==1||t?.kind!==`native-client`)throw new y(`delivery-mode-mismatch`,`Inferred authentication requires exactly one native-client delivery.`);if(e.method.owner!==`client`||e.method.clientId!==t.clientId)throw new y(`native-client-mismatch`,`Native-client delivery must target the client that owns the bound auth method.`);return}if(e.deliveries.length!==1||e.deliveries[0]?.kind!==`none`)throw new y(`delivery-mode-mismatch`,`No-authentication methods require exactly one none delivery.`)}function S(e,t){if(!e.has(t))throw new y(`unknown-field`,`Adapter authentication delivery references unknown field "${t}".`)}function C(e,t,n,r){if(e.has(t))throw new y(n,`Adapter authentication has duplicate ${r} target "${t}".`);e.add(t)}export{_ as a,f as c,p as i,l,h as n,u as o,i as r,d as s,b as t,v as u};
|