@makaio/framework 1.0.0-dev-1789160791094 → 1.0.0-dev-1789177276073
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/{2020-DvDj4r_K.mjs → 2020-CRfgqanb.mjs} +1 -1
- package/dist/{account-identity-BdGGjBuZ.mjs → account-identity-C-v4mHq3.mjs} +1 -1
- package/dist/{adapter-BLivHuUi.mjs → adapter-C4v_gNTI.mjs} +1 -1
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/artifact-DGxKwbHE.mjs +1 -0
- package/dist/{attempt-record-codec-BrungudT.mjs → attempt-record-codec-DaQ3WHUs.mjs} +1 -1
- package/dist/{auth-BIgwGHp-.mjs → auth-D9BQV8b_.mjs} +1 -1
- package/dist/authority-state-bootstrap-CV7HpB4v.mjs +1 -0
- package/dist/{automation-trigger-CQNQpzkA.mjs → automation-trigger-Bs-AAN1I.mjs} +1 -1
- package/dist/bus/index.d.mts +22 -19
- package/dist/bus/index.mjs +1 -1
- package/dist/bus-CyrTcF8F.mjs +9 -0
- package/dist/{caller-owned-adapter-stub-NiR7KT2N.mjs → caller-owned-adapter-stub-D8RZEdRn.mjs} +1 -1
- package/dist/{canonical-model-yXnm9QTn.mjs → canonical-model-RhhrFer9.mjs} +1 -1
- package/dist/{capabilities-CEwSeTB3.mjs → capabilities-cWI1WpCq.mjs} +1 -1
- package/dist/{client-BsY0rMlE.mjs → client-CgtNXGXg.mjs} +1 -1
- package/dist/clients/index.d.mts +1 -1
- package/dist/clients/index.mjs +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/clients/managed-install.mjs +1 -1
- package/dist/code-execution/worker-entry.d.mts +1 -1
- package/dist/code-execution/worker-entry.mjs +1 -1
- package/dist/{code-execution-xn9-x3VO.mjs → code-execution-BspFbEdT.mjs} +1 -1
- package/dist/{code-execution-BhUo84eg.mjs → code-execution-D3kZBdY4.mjs} +1 -1
- package/dist/{code-execution-ByLSAlEg2.mjs → code-execution-pUF4IO462.mjs} +1 -1
- package/dist/common-BnDruIuW.mjs +1 -0
- package/dist/{compression-odwEUBWb.mjs → compression-CPrVeC42.mjs} +1 -1
- package/dist/{config-namespace-CE3KasJn.mjs → config-namespace-BpvgI5UF.mjs} +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +3 -3
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/auth/index.d.mts +2 -2
- package/dist/contracts/auth/index.mjs +1 -1
- package/dist/contracts/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/automation-trigger/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.mjs +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.mjs +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/code-execution/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/common/index.mjs +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 +84 -72
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- 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 +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +2 -2
- 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/index.d.mts +2 -2
- package/dist/contracts/worker/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{contribution-Cdz5WTYk.d.mts → contribution-DDbHzCPF.d.mts} +2 -2
- package/dist/{definition-DQNFO-Qz.d.mts → definition-CuaBQyde.d.mts} +1 -1
- package/dist/{definition-o5Dfg5j-.mjs → definition-Dd7bDWpP.mjs} +1 -1
- package/dist/{detached-extension-handle-BNvRSUVO.mjs → detached-extension-handle-DN3aqLyq.mjs} +1 -1
- package/dist/{dist-DMIaE8sg.mjs → dist-onY7e-pd.mjs} +1 -1
- package/dist/{execution-attempt-owner-recovery-D4APLAvt.mjs → execution-attempt-owner-recovery-CE_rvHKE.mjs} +1 -1
- package/dist/{execution-target-Ba7b_UmX.mjs → execution-target-CDeIBu4b.mjs} +1 -1
- package/dist/{extension-D9D8tJQY.mjs → extension-CnNcY1hR.mjs} +1 -1
- package/dist/{extension-DYBu49NH.mjs → extension-D8uLQSDc.mjs} +1 -1
- package/dist/{filesystem-service-hdz3oYti.mjs → filesystem-service-ClZEAw7E.mjs} +1 -1
- package/dist/{framework-packages-DdCJ4JsE.mjs → framework-packages-CCIReKIe.mjs} +1 -1
- package/dist/git/index.mjs +1 -1
- package/dist/{globby-Begk3aIP.mjs → globby-CxGKRBGC.mjs} +1 -1
- package/dist/{handlers-CqL2TWbk.mjs → handlers-mjky_fP2.mjs} +1 -1
- package/dist/{harness-CYzkReGi.mjs → harness-DBxywOGi.mjs} +1 -1
- package/dist/{hook-responses-DVjMuGh9.d.mts → hook-responses-Dq16X3Cb.d.mts} +1 -1
- package/dist/{index-CU9xmTkP.d.mts → index-B4pPwpKk.d.mts} +1 -1
- package/dist/{index-CK5GEXLB2.d.mts → index-BL_oWicz2.d.mts} +24 -24
- package/dist/{index-Caai1zAG.d.mts → index-C1nSuiG0.d.mts} +1 -1
- package/dist/{index-BgKU1PuR2.d.mts → index-C87P0WpY2.d.mts} +1 -1
- package/dist/{index-DUdGqxHD.d.mts → index-CIzvBH8O.d.mts} +1 -1
- package/dist/{index-B7VWSBm72.d.mts → index-CdWxSwhQ2.d.mts} +4 -4
- package/dist/{index-CdPWA8co.d.mts → index-Cq-2TSMB.d.mts} +26 -26
- package/dist/{index-WhgPewY4.d.mts → index-D0xS-mYt.d.mts} +17 -17
- package/dist/{index-DnZksNTM.d.mts → index-DQKVQPUS.d.mts} +1 -1
- package/dist/{index-KmZLl8Ne.d.mts → index-DSybRh-P.d.mts} +13 -13
- package/dist/{index-Ddk-kjif.d.mts → index-DViNBePi.d.mts} +3 -3
- package/dist/{index-DUH2eTyC.d.mts → index-DWANFpTG.d.mts} +1 -1
- package/dist/{index-BZrlHkpM2.d.mts → index-De_oh9M-2.d.mts} +1 -1
- package/dist/{index-DS1mI9GP.d.mts → index-Dm3d490n.d.mts} +1 -1
- package/dist/{index-LRAmVQLj.d.mts → index-DtCVHx8-.d.mts} +1 -1
- package/dist/{index-DhW9WHFS.d.mts → index-Du4wUv9q.d.mts} +8 -8
- package/dist/{index-EJFdPYs32.d.mts → index-DyVXhEBC2.d.mts} +3 -3
- package/dist/{index-Bt9YxVg5.d.mts → index-FR0ukOzj.d.mts} +85 -85
- package/dist/{index-BUoIGZmF2.d.mts → index-GFf4oKBg2.d.mts} +39 -39
- package/dist/{index-BLhNHkiK.d.mts → index-T-aAKybB.d.mts} +8 -8
- package/dist/{index-BXair-QK.d.mts → index-U--ajOHy.d.mts} +1 -1
- package/dist/{index-DN2Odrnz.d.mts → index-a_peDAyG.d.mts} +361 -4
- package/dist/{index-D6_5slJp.d.mts → index-oxZt93RL.d.mts} +2 -2
- package/dist/{index-CTNGL-cq2.d.mts → index-zmDRR8gv2.d.mts} +1 -1
- package/dist/json-tree-Cmb_BzHr.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/kind-registration-BcNuwXPC.mjs +1 -0
- package/dist/{lib-D1-cvcTz.mjs → lib-BF5XBSfw.mjs} +1 -1
- package/dist/{lib-B1Mvm4hQ.mjs → lib-Dljw2Cqh.mjs} +1 -1
- package/dist/{load-extensions-bwisKaW0.mjs → load-extensions-BVgxTj_y.mjs} +1 -1
- package/dist/{load-extensions-D6SVKBPw.d.mts → load-extensions-DGstT4_p.d.mts} +1 -1
- package/dist/{materialization-DRr6CSXV.mjs → materialization-kP_vEXV3.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/model-BPKGygMv.mjs +1 -0
- package/dist/namespace-BPf6AbBO.mjs +1 -0
- package/dist/{namespace-TX9DlWiQ.d.mts → namespace-BjDxqCi5.d.mts} +6 -6
- package/dist/{namespace-CD9mJGhU.mjs → namespace-CMntzAPI.mjs} +1 -1
- package/dist/{namespace-CQPcYS-Q.d.mts → namespace-CPGTaFqO.d.mts} +2 -2
- package/dist/{namespace--mFdPlbu.d.mts → namespace-C_tttgJ8.d.mts} +18 -18
- package/dist/{namespace-DyWNxLt1.d.mts → namespace-f6Kz5cwX.d.mts} +6 -6
- package/dist/{native-session-supervisor-i3PeijHn.mjs → native-session-supervisor-DtuN1Dgs.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-DMldWEah.mjs → orchestrator-shared-CtPB6PAr.mjs} +1 -1
- package/dist/{ownership-memory-handler-LXaweX6V.mjs → ownership-memory-handler-xex7sLiX.mjs} +1 -1
- package/dist/{package-BFto8lbP.mjs → package-BSz4hbav.mjs} +1 -1
- package/dist/{package-tvzH3A0x.mjs → package-Bn4iwDm3.mjs} +1 -1
- package/dist/{package-CnR_tOsW.d.mts → package-DdymauE9.d.mts} +1 -1
- package/dist/package.json +1 -1
- package/dist/{profile-Cjq4QnUQ.mjs → profile-1fvMljlJ.mjs} +1 -1
- package/dist/{provider-context-CYUUoI6x.mjs → provider-context-D6GIZ5DC.mjs} +1 -1
- package/dist/{provider-context-BpabfMlj.mjs → provider-context-DFTB8rsU.mjs} +1 -1
- package/dist/{reaction-Cev6JNcb.mjs → reaction-C8WbJqLk.mjs} +1 -1
- package/dist/{resolved-XQTiHgrA.mjs → resolved-BAbiCSV4.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/code-execution/index.d.mts +2 -2
- package/dist/runtime-node/code-execution/index.mjs +1 -1
- package/dist/runtime-node/extension-discovery.d.mts +1 -1
- package/dist/runtime-node/extension-validation.d.mts +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +5 -5
- package/dist/runtime-node/index.mjs +2 -2
- 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-BVbkNHVQ.mjs → schema-Cz6-4_Dn.mjs} +1 -1
- package/dist/{schemas-Dt1YwXLN.d.mts → schemas-BOacpw3I.d.mts} +10 -10
- package/dist/{schemas-D9WJH6We.d.mts → schemas-CJKDu4Kt.d.mts} +1 -1
- package/dist/{schemas-CXCdmM5K.d.mts → schemas-CKVm28Oy.d.mts} +12 -1
- package/dist/{schemas-Fn-eeay32.d.mts → schemas-Ca5RILd-2.d.mts} +7 -7
- package/dist/{schemas-BGcAiQE0.d.mts → schemas-CeItAAQM.d.mts} +4 -4
- package/dist/{schemas-D9_OPuLB.mjs → schemas-ClkcU_N5.mjs} +1 -1
- package/dist/{schemas-pBrUJEN6.mjs → schemas-D-i0IAtA.mjs} +1 -1
- package/dist/{schemas-FkLOBJgq.d.mts → schemas-LiiyNNpr.d.mts} +4 -4
- package/dist/schemas-rlb0IQ-G.mjs +1 -0
- package/dist/{selection-D7V0wyHX.mjs → selection-DLN6l5iK.mjs} +1 -1
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +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 -2
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/code-execution/index.d.mts +1 -1
- package/dist/services/code-execution/index.mjs +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +4 -4
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/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/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +58 -58
- 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 +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +10 -10
- 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-CAKfa5o8.mjs → session-6UG5udTX.mjs} +1 -1
- package/dist/{session-BsQst2fC.mjs → session-BB0s7c2B.mjs} +1 -1
- package/dist/shared-Gb3kTtHs.mjs +1 -0
- package/dist/{skill-91kZNQnF.mjs → skill-B0jSQDvb.mjs} +1 -1
- package/dist/{src-BZdlyUxT.mjs → src-CbAw9kjJ.mjs} +1 -1
- package/dist/storage/drizzle/client.d.mts +1 -1
- package/dist/storage/drizzle/client.mjs +1 -1
- package/dist/storage/drizzle/index.d.mts +1 -1
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/{storage-namespace-BUSNKZLw.d.mts → storage-namespace-IvLOIP7j.d.mts} +10 -10
- package/dist/{tool-approval-service-BV3WxxX6.mjs → tool-approval-service-pbkGcAV8.mjs} +1 -1
- package/dist/{tools-CElCajoS.mjs → tools-Dj_ImUQ8.mjs} +1 -1
- package/dist/{transition-B8XDvfD7.d.mts → transition-B-YmSK-s.d.mts} +2 -2
- package/dist/{types-HFQQoeAz.d.mts → types-7QB81mzR.d.mts} +18 -18
- package/dist/{types-DafDuOcH2.d.mts → types-CjYcHDPo2.d.mts} +1 -1
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{version-DdGhNoY5.mjs → version-PuU2KG3I.mjs} +1 -1
- package/dist/{view-builder-ADC1ng2t.d.mts → view-builder-Du0WV-So.d.mts} +1 -1
- package/dist/{visibility-cMXbf9nY.mjs → visibility-DCcfB817.mjs} +1 -1
- package/dist/{worker-B0xwfo9-.mjs → worker-Cgql5Xsm.mjs} +1 -1
- package/dist/{worker-CrYtBGy1.mjs → worker-DWEma08Q.mjs} +1 -1
- package/dist/{workflow-mCL6Xv-J.mjs → workflow-DA2yJJK-.mjs} +1 -1
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
- package/dist/workflow-engine/index.d.mts +67 -67
- 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/conformance.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.mjs +1 -1
- package/dist/workflow-engine/testing/index.d.mts +1 -1
- 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-DH246j6E.mjs → workflow-transitions-t6jn_pR_.mjs} +1 -1
- package/dist/{workflow-worker-BDA-E_pm.mjs → workflow-worker-C3ZbuhyA.mjs} +1 -1
- package/package.json +1 -1
- package/dist/artifact-B-PQO_TB.mjs +0 -1
- package/dist/authority-state-bootstrap-DVFYemDL.mjs +0 -1
- package/dist/bus-DU_7GM0J.mjs +0 -9
- package/dist/common-Bta2ivrd.mjs +0 -1
- package/dist/kind-registration-CyMf-vey.mjs +0 -1
- package/dist/model-Dya0clsM.mjs +0 -1
- package/dist/namespace-D53UGrP6.mjs +0 -1
- package/dist/schemas-BhkprYU1.mjs +0 -1
- package/dist/shared-m6jgT2a3.mjs +0 -1
- /package/dist/{adapter-auth-runtime-46Y9WKcB.mjs → adapter-auth-runtime-B6yX_QfG.mjs} +0 -0
- /package/dist/{adapter-binding-CZTWlcp9.d.mts → adapter-binding-BxjUfkOn.d.mts} +0 -0
- /package/dist/{ajv-Dz-0DD7m.mjs → ajv-Cvnmw2yn.mjs} +0 -0
- /package/dist/{attach-error-D5BWfaBO.mjs → attach-error-wNJ8Q5uU.mjs} +0 -0
- /package/dist/{attempt-control-evidence-BKw1U3wL.mjs → attempt-control-evidence-7lwRG73Y.mjs} +0 -0
- /package/dist/{attempt-fixtures-B8FSy_vs.mjs → attempt-fixtures-DHdYmr3o.mjs} +0 -0
- /package/dist/{base-orchestrator-C5Z9Aowq.d.mts → base-orchestrator-CrXiMJzf.d.mts} +0 -0
- /package/dist/{bootstrap-start-client-D7t7d9ty.mjs → bootstrap-start-client-C1ZHbv6e.mjs} +0 -0
- /package/dist/{capability-BnQx1BWc.mjs → capability-DXHYfKK0.mjs} +0 -0
- /package/dist/{capability-service-DX3wLjdt.d.mts → capability-service-CQ1aw_p-.d.mts} +0 -0
- /package/dist/{client-BsXMxeCN.d.mts → client-ByjHcS78.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-uMFQoKZj.d.mts → client-binary-version-verifier-C4fEAUdo.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-DLziUQhw.mjs → client-binary-version-verifier-DcHCFmsI.mjs} +0 -0
- /package/dist/{clients-namespace-1hXA6qNd.d.mts → clients-namespace-D4BxF2Nw.d.mts} +0 -0
- /package/dist/{config-namespace-Bpq9WOY4.d.mts → config-namespace-B1zyOYwH.d.mts} +0 -0
- /package/dist/{create-static-mount-Cr24q94C.mjs → create-static-mount-Dgxgi4W3.mjs} +0 -0
- /package/dist/{cross-spawn-Bi05YtQQ.mjs → cross-spawn-BMCAyqrN.mjs} +0 -0
- /package/dist/{cursor-storage-88xtgVAd.mjs → cursor-storage-BvjxwBW6.mjs} +0 -0
- /package/dist/{definition-Ckt_WmJw.d.mts → definition-ClWxAKQ2.d.mts} +0 -0
- /package/dist/{definitions-CyFaNG_c.mjs → definitions-Do7bP-u7.mjs} +0 -0
- /package/dist/{descriptor-to-package-GVZk9ZGT.mjs → descriptor-to-package-Dw8dnl5E.mjs} +0 -0
- /package/dist/{drizzle-BrlzkYoe.mjs → drizzle-_w6sUR8p.mjs} +0 -0
- /package/dist/{esm-B3t30-13.mjs → esm-Ccx-3z8E.mjs} +0 -0
- /package/dist/{event-DFI0F1Ws.mjs → event-D5_UaIBZ.mjs} +0 -0
- /package/dist/{execution-attempt-repository-BoNwNybg.d.mts → execution-attempt-repository-BUah8hma.d.mts} +0 -0
- /package/dist/{execution-attempt-repository-CWbgCTwA.mjs → execution-attempt-repository-aabFKcXN.mjs} +0 -0
- /package/dist/{extension-context-BGNUn34r.d.mts → extension-context-BH31eOMv.d.mts} +0 -0
- /package/dist/{extension-discovery-Dx118u_N.d.mts → extension-discovery-CA2IhDRo.d.mts} +0 -0
- /package/dist/{extension-namespace-AaHKv6tQ.mjs → extension-namespace-Ct9L6SKr.mjs} +0 -0
- /package/dist/{extension-package-provenance-Dr7JXjLS.mjs → extension-package-provenance-C7oO5JAE.mjs} +0 -0
- /package/dist/{facet-De-2AP_o.mjs → facet-DE2NhSjl.mjs} +0 -0
- /package/dist/{filesystem-service-DtApanQk.d.mts → filesystem-service-CDYoiwWY.d.mts} +0 -0
- /package/dist/{handler-CFT7_osu.mjs → handler-Cc1MhaR4.mjs} +0 -0
- /package/dist/{host-CbaJg6D4.mjs → host-efiCv7-R.mjs} +0 -0
- /package/dist/{identity-B6RqbCn7.mjs → identity-DgTjgflr.mjs} +0 -0
- /package/dist/{index-DqS8eCAT.d.mts → index-B78CRVi9.d.mts} +0 -0
- /package/dist/{index-BNgNBDuW2.d.mts → index-B8v1-2-V2.d.mts} +0 -0
- /package/dist/{index-1AKlC3kZ.d.mts → index-BCU5oByg.d.mts} +0 -0
- /package/dist/{index-CIl66QhT.d.mts → index-BFS-2kcS.d.mts} +0 -0
- /package/dist/{index-Dv5aNxoa.d.mts → index-BGnQ0EyD.d.mts} +0 -0
- /package/dist/{index-qLkIGcgv2.d.mts → index-BPNfYEA22.d.mts} +0 -0
- /package/dist/{index-B4lidHiL.d.mts → index-BZoOYV-y.d.mts} +0 -0
- /package/dist/{index-C3n8beRR.d.mts → index-BbkcbY6d.d.mts} +0 -0
- /package/dist/{index-DSRxn5Zr2.d.mts → index-CVRT01082.d.mts} +0 -0
- /package/dist/{index-C0zo4Id_.d.mts → index-CjDQn6lw.d.mts} +0 -0
- /package/dist/{index-CUcEfh31.d.mts → index-D6liU_KS.d.mts} +0 -0
- /package/dist/{index-DLsopffG.d.mts → index-D6p17KPs.d.mts} +0 -0
- /package/dist/{index-DxxORQny.d.mts → index-D8ELwT5y.d.mts} +0 -0
- /package/dist/{index-5KVPGsig.d.mts → index-DAaQ--ki.d.mts} +0 -0
- /package/dist/{index-DK8lSIvY.d.mts → index-DM72_93s.d.mts} +0 -0
- /package/dist/{index-Dfv9hyZE.d.mts → index-DXQTkwLB.d.mts} +0 -0
- /package/dist/{index-DNN9jOVO.d.mts → index-DdVpWkaI.d.mts} +0 -0
- /package/dist/{index-C86rKLPD.d.mts → index-DfU8s_xP.d.mts} +0 -0
- /package/dist/{index-CrDp6vHG.d.mts → index-DiZ4LmyE.d.mts} +0 -0
- /package/dist/{index-CzKJC3Bt.d.mts → index-DjSUOMlr.d.mts} +0 -0
- /package/dist/{index-DO0QO0ux2.d.mts → index-DmX9W3xH2.d.mts} +0 -0
- /package/dist/{index-lLuIAmRB.d.mts → index-F7cVpFJ9.d.mts} +0 -0
- /package/dist/{index-D4FE3jHM2.d.mts → index-Htfr-K5U2.d.mts} +0 -0
- /package/dist/{index-tCFckLG6.d.mts → index-KdlZRuTp.d.mts} +0 -0
- /package/dist/{index-Bw7benCh.d.mts → index-gAyARaKS.d.mts} +0 -0
- /package/dist/{index-fpGFhEmI.d.mts → index-nkix3hP7.d.mts} +0 -0
- /package/dist/{index-DyBuGOvY.d.mts → index-tbjIqwa3.d.mts} +0 -0
- /package/dist/{json-value-DyMQrwGz.d.mts → json-value-Ymw2f8i_.d.mts} +0 -0
- /package/dist/{jsonl-transport-D4ch0vsf.mjs → jsonl-transport-Bg033Ng0.mjs} +0 -0
- /package/dist/{lib-BLdnqIFF.mjs → lib-BizqbepU.mjs} +0 -0
- /package/dist/{model-registry-CAqJYbXg.mjs → model-registry-CeDu27XL.mjs} +0 -0
- /package/dist/{model-registry-DVTFd0RF.mjs → model-registry-Cmregilq.mjs} +0 -0
- /package/dist/{modes-Dc9_sSbr.mjs → modes-DpHQos5B.mjs} +0 -0
- /package/dist/{namespace-CYYFqmtJ.d.mts → namespace-B5IFLQc-.d.mts} +0 -0
- /package/dist/{namespace-C-4xI2rm.d.mts → namespace-BCVKdu-U.d.mts} +0 -0
- /package/dist/{namespace-0TfAY2J7.mjs → namespace-BMdYJN_t.mjs} +0 -0
- /package/dist/{namespace-BZ7UQmW4.mjs → namespace-Bjr04AUK.mjs} +0 -0
- /package/dist/{namespace-BnNBM94X.mjs → namespace-Bo6-o_rW.mjs} +0 -0
- /package/dist/{namespace-E4ajXk0W.d.mts → namespace-C1pPZKtI.d.mts} +0 -0
- /package/dist/{namespace-CDoyzyV4.mjs → namespace-C9xmGXbW.mjs} +0 -0
- /package/dist/{namespace-Dwf7aOLt.d.mts → namespace-COHHDh2I.d.mts} +0 -0
- /package/dist/{namespace-CvCk6Y9i.d.mts → namespace-Cmu-5_P9.d.mts} +0 -0
- /package/dist/{namespace-DGi7tw_W.mjs → namespace-CnRQ8tCJ.mjs} +0 -0
- /package/dist/{namespace-DXrdGpbs.d.mts → namespace-CvK86QFk.d.mts} +0 -0
- /package/dist/{namespace-Bivbsfms.d.mts → namespace-DM5vykb7.d.mts} +0 -0
- /package/dist/{namespace-KYIbWPvl.mjs → namespace-J87EeVTm.mjs} +0 -0
- /package/dist/{namespace-CfNNUjVv.d.mts → namespace-UFcDEBJB.d.mts} +0 -0
- /package/dist/{namespace-l1Rcc4mp.d.mts → namespace-rJ3ycPMg.d.mts} +0 -0
- /package/dist/{namespace-XUB3XnBK.d.mts → namespace-s0e215xO.d.mts} +0 -0
- /package/dist/{orchestrator-shared-D2I9gyOl.d.mts → orchestrator-shared--srEeSaY.d.mts} +0 -0
- /package/dist/{out-og8659Ny.mjs → out-EjlaPopg.mjs} +0 -0
- /package/dist/{ownership-recovery-guard-BIB5uqgz.mjs → ownership-recovery-guard-C9h8K1jo.mjs} +0 -0
- /package/dist/{package-BecmlOXC.mjs → package-BCKYMTYG.mjs} +0 -0
- /package/dist/{package-D2zvQO7X.mjs → package-BwlW7N32.mjs} +0 -0
- /package/dist/{packages-Dj9Nul23.d.mts → packages-B98-WETs.d.mts} +0 -0
- /package/dist/{packages-DAw3Z011.mjs → packages-G3bMStlV.mjs} +0 -0
- /package/dist/{platform-BObC-WJA.mjs → platform-Cojuulx8.mjs} +0 -0
- /package/dist/{providers-BysYiNMO.mjs → providers-CahjB0Kh.mjs} +0 -0
- /package/dist/{providers-namespace-BA0JT--_.d.mts → providers-namespace-DRcl03bo.d.mts} +0 -0
- /package/dist/{quick-lru-bVGGo5bq.mjs → quick-lru-C1yB5RCQ.mjs} +0 -0
- /package/dist/{registry-Cu3eD3UY.mjs → registry-DNMjJ-Oj.mjs} +0 -0
- /package/dist/{repo-context-Dy6eE9cg.mjs → repo-context-cO-TLEGN.mjs} +0 -0
- /package/dist/{runtime-inputs-CIYLDuBM.d.mts → runtime-inputs-DBtVIy9h.d.mts} +0 -0
- /package/dist/{schema-B098Jz9p.d.mts → schema-BA1cHBbc.d.mts} +0 -0
- /package/dist/{schema-bfw9nz8B.mjs → schema-BnuyCklU.mjs} +0 -0
- /package/dist/{schema-introspection-BTS7FZT_.mjs → schema-introspection-_Yw9L_mB.mjs} +0 -0
- /package/dist/{schemas-BE-gfjGI.mjs → schemas-BNRFKQdz.mjs} +0 -0
- /package/dist/{schemas-A2hlgeNu.mjs → schemas-BmoFWBdh.mjs} +0 -0
- /package/dist/{schemas-DKy_XYjq.d.mts → schemas-CEJe8O6P.d.mts} +0 -0
- /package/dist/{schemas-DChhgfU0.d.mts → schemas-Cj6Gbqch.d.mts} +0 -0
- /package/dist/{schemas-D6JvwH-h.d.mts → schemas-Cq1d5tid.d.mts} +0 -0
- /package/dist/{schemas-BZyi7v9g.d.mts → schemas-CtzZDp29.d.mts} +0 -0
- /package/dist/{schemas-ADuQFkhH.d.mts → schemas-DJ2vMsgm.d.mts} +0 -0
- /package/dist/{schemas-DMxM4U1A.d.mts → schemas-D_-iXLQ9.d.mts} +0 -0
- /package/dist/{schemas-BEDq3Psz.mjs → schemas-DekYSXka.mjs} +0 -0
- /package/dist/{schemas-B3UNnzKG.mjs → schemas-Djjq4LLs.mjs} +0 -0
- /package/dist/{schemas-mLjTSUvJ.mjs → schemas-hTUdjOh7.mjs} +0 -0
- /package/dist/{semver-ByPlHR3P.mjs → semver-Cb5Um3tU.mjs} +0 -0
- /package/dist/{server-lifecycle-C5Vl58sN.mjs → server-lifecycle-BjbuCO-s.mjs} +0 -0
- /package/dist/{server-lifecycle-B8UabaW3.d.mts → server-lifecycle-DUKp1Fbf.d.mts} +0 -0
- /package/dist/{session-lineage-CoNs4WZy.d.mts → session-lineage-C3myyt5x.d.mts} +0 -0
- /package/dist/{shared-schemas-CKsgVsGX.mjs → shared-schemas-CnOyMY42.mjs} +0 -0
- /package/dist/{src-D9PYcdDS.mjs → src-Xn6SS74f.mjs} +0 -0
- /package/dist/{storage-namespace-DBuKMBth.mjs → storage-namespace-TBX8VgK3.mjs} +0 -0
- /package/dist/{storage-namespace-definition-Ct9ohqU0.mjs → storage-namespace-definition-BUpCw171.mjs} +0 -0
- /package/dist/{storage-namespace-definition-1uCuoHvM.d.mts → storage-namespace-definition-Cv0XiTXb.d.mts} +0 -0
- /package/dist/{supports-color-DG_rcVqJ.mjs → supports-color-CjiFmM1U.mjs} +0 -0
- /package/dist/{telemetry-Be3u4I7b.mjs → telemetry-DXMqxYcv.mjs} +0 -0
- /package/dist/{timeout-Bscg1B-y.mjs → timeout-CATUeNuL.mjs} +0 -0
- /package/dist/{tray-menu-service-BGwXKJYr.mjs → tray-menu-service-BRrnoqaY.mjs} +0 -0
- /package/dist/{types-nY8yr3th.d.mts → types-BRM1AZaP.d.mts} +0 -0
- /package/dist/{types-RWRXplnM.d.mts → types-BYEybzjX.d.mts} +0 -0
- /package/dist/{types-Bh2fQoxM.mjs → types-CsmvIK25.mjs} +0 -0
- /package/dist/{types-CbXf822E.d.mts → types-QRSc2AUU.d.mts} +0 -0
- /package/dist/{types-BlaguWul.d.mts → types-QsyX4H21.d.mts} +0 -0
- /package/dist/{types-KF8zuMhi.d.mts → types-hkExapGH.d.mts} +0 -0
- /package/dist/{ui-config-Bl2Wbkr-.mjs → ui-config-D1jxR-dU.mjs} +0 -0
- /package/dist/{variant-B5j5wR2p.mjs → variant-CmSVU3LE.mjs} +0 -0
- /package/dist/{window-registry-DWHz8TA5.mjs → window-registry-2MZdZPdA.mjs} +0 -0
- /package/dist/{window-registry-Dq5uOWpH.d.mts → window-registry-DeG37kt8.d.mts} +0 -0
- /package/dist/{zod-json-schema-DGWHUOK0.mjs → zod-json-schema-ZUmGtQhT.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./ajv-Dz-0DD7m.mjs";import{z as n}from"zod";import{execFile as r}from"node:child_process";import{isDeepStrictEqual as i}from"node:util";import{isAbsolute as a,relative as o,resolve as s}from"node:path";import{randomUUID as c}from"node:crypto";import{realpathSync as l}from"node:fs";import{localSubject as u}from"@makaio/framework/core";import{ArtifactSchemas as d,ArtifactSubjects as f,ExecutionAttemptInstructionSchema as p,ExecutionAttemptOutcomeSchema as m,ExecutionLinkListQuerySchema as h,ExecutionLinkSchema as g,ExecutionListQuerySchema as _,ExecutionStatusSchema as v,ExecutionsByArtifactRefsQuerySchema as y,GateInstanceListQuerySchema as b,JsonPatchOperationSchema as x,JsonValueSchema as S,SessionSubjects as C,SpanRecordSchema as ee,SubagentSubjects as w,WORKFLOW_CANCELLED_REASON as te,WorkLogFrameEntrySchema as ne,WorkerSubjects as re,WorkflowDefinitionSchema as ie,WorkflowError as ae,WorkflowErrorCode as oe,WorkflowExecutionSchema as T,WorkflowFinalizationClaimSchema as E,WorkflowFinalizerIdSchema as se,WorkflowFrameStateSchema as ce,WorkflowGateInstanceSchema as D,WorkflowListQuerySchema as le,WorkflowRunContextSchema as O,WorkflowRunResultSchema as ue,WorkflowSchemas as de,WorkflowSubjects as fe,WorkflowSubjects as k,createStepCancelSubject as pe,createWorkflowDelegateResultFinalizerNamespace as me,walkWorkflowDefinition as he}from"@makaio/framework/contracts";import{NoHandlerError as ge}from"@makaio/framework/bus";import{index as A,primaryKey as _e,uniqueIndex as ve}from"drizzle-orm/sqlite-core";import{index as j,primaryKey as ye,uniqueIndex as be}from"drizzle-orm/pg-core";import{defineDualTable as M}from"@makaio/framework/storage/drizzle";import{sql as xe}from"drizzle-orm";import{createStorageNamespaceDefinition as Se}from"@makaio/framework/storage";import{evaluateSync as N,resolveTemplate as P}from"@makaio/framework/expression";import*as Ce from"node:os";const we=M(`workflow_finalizations`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),finalizerId:e.text(`finalizer_id`).notNull(),transitionKey:e.text(`transition_key`).notNull(),claimToken:e.text(`claim_token`).notNull(),intent:e.jsonCol(`intent`).notNull(),state:e.textEnum(`state`,{enum:[`claimed`,`acknowledged`,`failed`]}).notNull(),claimedAt:e.epochMs(`claimed_at`).notNull(),settledAt:e.epochMs(`settled_at`),failure:e.text(`failure`),publishedAt:e.epochMs(`published_at`)}),{sqlite:e=>[ve(`uniq_workflow_finalizations_transition`).on(e.transitionKey),A(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)],postgres:e=>[be(`uniq_workflow_finalizations_transition`).on(e.transitionKey),j(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)]}),Te=we.sqlite;we.postgres;function Ee(e){return{scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``)}}const De=M(`workflow_definitions`,e=>({id:e.text(`id`).primaryKey(),name:e.text(`name`).notNull(),description:e.text(`description`),root:e.jsonCol(`root`).notNull(),inputSchema:e.jsonCol(`input_schema`),configSchema:e.jsonCol(`config_schema`),outputSchema:e.jsonCol(`output_schema`),state:e.jsonCol(`state`),artifact:e.jsonCol(`artifact`),triggers:e.jsonCol(`triggers`),...Ee(e),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull(),canvasLayout:e.jsonCol(`canvas_layout`),source:e.jsonCol(`source`),executableSource:e.jsonCol(`executable_source`),requirements:e.jsonCol(`requirements`),successFinalizerId:e.text(`success_finalizer_id`)}),{sqlite:e=>[ve(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),A(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)],postgres:e=>[be(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),j(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)]}),Oe=De.sqlite,F=M(`workflow_executions`,e=>({id:e.text(`id`).primaryKey(),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),inputs:e.jsonCol(`inputs`),error:e.text(`error`),reason:e.text(`reason`),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),externalSettlementFingerprint:e.text(`external_settlement_fingerprint`),externalRegistrationFrameId:e.text(`external_registration_frame_id`),triggerPayload:e.jsonCol(`trigger_payload`),artifactKind:e.text(`artifact_kind`),artifactId:e.text(`artifact_id`),...Ee(e)}),{sqlite:e=>[A(`idx_workflow_executions_status`).on(e.status),A(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),A(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),A(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)],postgres:e=>[j(`idx_workflow_executions_status`).on(e.status),j(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),j(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),j(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)]}),ke=F.sqlite,Ae=M(`workflow_execution_frames`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),parentFrameId:e.text(`parent_frame_id`),status:e.text(`status`).notNull().default(`pending`).$type(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),output:e.jsonCol(`output`),outputPresent:e.bool(`output_present`).notNull().default(!1),error:e.text(`error`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`)}),{sqlite:e=>[A(`idx_workflow_execution_frames_execution`).on(e.executionId),A(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)],postgres:e=>[j(`idx_workflow_execution_frames_execution`).on(e.executionId),j(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)]}),je=Ae.sqlite,Me=M(`workflow_gate_instances`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),schema:e.jsonCol(`schema`).notNull(),prompt:e.text(`prompt`),status:e.text(`status`).notNull().default(`waiting`).$type(),autoAction:e.textEnum(`auto_action`,{enum:[`approve`,`reject`]}).notNull().default(`reject`),timeoutMs:e.int4(`timeout_ms`),resumeData:e.jsonCol(`resume_data`),reason:e.text(`reason`),resumeDataPresent:e.bool(`resume_data_present`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`)}),{sqlite:e=>[A(`idx_workflow_gate_instances_execution`).on(e.executionId),A(`idx_workflow_gate_instances_frame`).on(e.frameId)],postgres:e=>[j(`idx_workflow_gate_instances_execution`).on(e.executionId),j(`idx_workflow_gate_instances_frame`).on(e.frameId)]}),Ne=Me.sqlite,Pe=M(`workflow_step_spans`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),stepId:e.text(`step_id`).notNull(),stepType:e.text(`step_type`).notNull(),status:e.text(`status`).$type().notNull(),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),toolCallCount:e.int4(`tool_call_count`),input:e.text(`input`),output:e.text(`output`)}),{sqlite:e=>[_e({columns:[e.executionId,e.frameId]}),A(`idx_workflow_step_spans_status`).on(e.status)],postgres:e=>[ye({columns:[e.executionId,e.frameId]}),j(`idx_workflow_step_spans_status`).on(e.status)]}),Fe=Pe.sqlite,Ie=M(`workflow_execution_links`,e=>({sourceExecutionId:e.text(`source_execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),targetExecutionId:e.text(`target_execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),linkType:e.text(`link_type`).$type().notNull(),metadata:e.jsonCol(`metadata`)}),{sqlite:e=>[_e({columns:[e.sourceExecutionId,e.targetExecutionId]}),A(`idx_workflow_execution_links_target`).on(e.targetExecutionId)],postgres:e=>[ye({columns:[e.sourceExecutionId,e.targetExecutionId]}),j(`idx_workflow_execution_links_target`).on(e.targetExecutionId)]}),Le=Ie.sqlite,Re=M(`workflow_run_contexts`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`).notNull(),sourceKind:e.text(`source_kind`).notNull(),sourcePath:e.text(`source_path`),sourceFilename:e.text(`source_filename`),sourceCode:e.text(`source_code`),definitionSnapshot:e.jsonCol(`definition_snapshot`),workerManifest:e.jsonCol(`worker_manifest`).notNull(),inputs:e.jsonCol(`inputs`),config:e.jsonCol(`config`).notNull().default(xe`'{}'`),triggerPayload:e.jsonCol(`trigger_payload`).notNull(),triggerMode:e.textEnum(`trigger_mode`,{enum:[`immediate`,`await-trigger`]}).notNull().default(`immediate`).$type(),artifactRef:e.jsonCol(`artifact_ref`),dispatchMetadata:e.jsonCol(`dispatch_metadata`),scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().default(`global`).$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``),cancelSubject:e.text(`cancel_subject`).notNull(),env:e.jsonCol(`env`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),suspensionStrategy:e.text(`suspension_strategy`).$type(),terminalAuthority:e.text(`terminal_authority`).$type(),materializationSpec:e.jsonCol(`materialization_spec`)}),{sqlite:e=>[A(`idx_run_contexts_workflow`).on(e.workflowId)],postgres:e=>[j(`idx_run_contexts_workflow`).on(e.workflowId)]}),ze=Re.sqlite,Be=M(`worklog_summaries`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),workflowName:e.text(`workflow_name`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),totalInputTokens:e.int4(`total_input_tokens`),totalOutputTokens:e.int4(`total_output_tokens`),totalEstimatedCost:e.float8(`total_estimated_cost`),error:e.text(`error`),failedNodeId:e.text(`failed_node_id`)}),{sqlite:e=>[A(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),A(`idx_worklog_summaries_status`).on(e.status)],postgres:e=>[j(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),j(`idx_worklog_summaries_status`).on(e.status)]}),Ve=Be.sqlite,He=M(`worklog_frame_entries`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),status:e.textEnum(`status`,{enum:[`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]}).notNull(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),error:e.text(`error`)}),{sqlite:e=>[A(`idx_worklog_frame_entries_execution`).on(e.executionId)],postgres:e=>[j(`idx_worklog_frame_entries_execution`).on(e.executionId)]}),Ue=He.sqlite,We=M(`worklog_artifact_writes`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),nodeId:e.text(`node_id`).notNull(),artifact:e.jsonCol(`artifact`).notNull(),revision:e.text(`revision`),writtenAt:e.epochMs(`written_at`).notNull()}),{sqlite:e=>[A(`idx_worklog_artifact_writes_execution`).on(e.executionId)],postgres:e=>[j(`idx_worklog_artifact_writes_execution`).on(e.executionId)]}),Ge=We.sqlite,Ke=M(`worklog_gate_events`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),status:e.textEnum(`status`,{enum:[`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]}).notNull().$type(),prompt:e.text(`prompt`),openedAt:e.epochMs(`opened_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`),resumeData:e.jsonCol(`resume_data`)}),{sqlite:e=>[A(`idx_worklog_gate_events_execution`).on(e.executionId),A(`idx_worklog_gate_events_status`).on(e.status)],postgres:e=>[j(`idx_worklog_gate_events_execution`).on(e.executionId),j(`idx_worklog_gate_events_status`).on(e.status)]}),qe=Ke.sqlite,Je=M(`workflow_execution_state`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull().default(0),value:e.jsonCol(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),Ye=Je.sqlite,Xe=M(`workflow_execution_state_events`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>F.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull(),patch:e.jsonCol(`patch`).notNull(),value:e.jsonCol(`value`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[_e({columns:[e.executionId,e.sequence]})],postgres:e=>[ye({columns:[e.executionId,e.sequence]})]}),Ze=Xe.sqlite,Qe=n.object({executionId:n.string().min(1),status:v.optional(),error:n.string().nullable().optional(),reason:n.string().nullable().optional(),completedAt:n.number().nullable().optional()}),$e=n.enum([`completed`,`failed`,`cancelled`]),et=ne.extend({status:n.literal(`running`),startedAt:n.number().int().nonnegative()}),tt=ne.extend({status:$e,startedAt:n.number().int().nonnegative(),completedAt:n.number().int().nonnegative(),durationMs:n.number().int().nonnegative()}),nt=Se(`workflow`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({workflow:ie.nullable()})},set:{request:n.object({workflow:ie}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:le,response:n.object({workflows:n.array(ie)})},getExecution:{request:n.object({executionId:n.string()}),response:n.object({execution:T.nullable()})},setExecution:{request:n.object({execution:T}),response:n.object({id:n.string()})},setExecutionStart:{request:n.object({execution:T,runContext:O,initialState:S.optional(),executionLinks:n.array(g).optional()}),response:n.object({id:n.string(),executionId:n.string()})},setExternalExecutionStart:u({request:n.object({execution:T.extend({status:n.literal(`running`)}),frame:et.optional()}),response:n.object({executionId:n.string(),frameId:n.string().optional()})}),settleExternalExecution:u({request:n.object({executionId:n.string().min(1),status:$e,error:n.string().min(1).optional(),reason:n.string().min(1).optional(),completedAt:n.number().int().nonnegative().optional(),frame:tt.optional()}),response:n.object({success:n.boolean()})}),updateExecution:{request:Qe,response:n.object({success:n.boolean()})},pauseRunningExecution:u({request:n.object({executionId:n.string().min(1)}),response:n.object({paused:n.boolean()})}),claimFinalization:u({request:n.object({claim:E}),response:n.object({claimed:n.boolean()})}),listClaimedFinalizations:u({request:n.object({finalizerId:se}),response:n.object({claims:n.array(E)})}),listUnpublishedFinalizations:u({request:n.object({finalizerId:se}),response:n.object({claims:n.array(E)})}),publishFinalization:u({request:n.object({claim:E}),response:n.object({})}),acknowledgeFinalization:u({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({acknowledged:n.boolean()})}),failFinalization:u({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),error:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({failed:n.boolean()})}),cancelPausedExecution:{request:n.object({executionId:n.string().min(1),completedAt:n.number(),reason:n.string().optional()}),response:n.object({cancelled:n.boolean(),gates:n.array(D.extend({status:n.literal(`cancelled`)}))})},listExecutions:{request:_,response:n.object({executions:n.array(T)})},listExecutionsByArtifactRefs:{request:y,response:n.object({executionsByRef:n.record(n.string(),n.array(T))})},setFrame:{request:n.object({executionId:n.string().min(1),frame:ce}),response:n.object({frameId:n.string()})},getFrame:{request:n.object({frameId:n.string().min(1)}),response:n.object({frame:ce.nullable()})},listFrames:{request:n.object({executionId:n.string().min(1)}),response:n.object({frames:n.array(ce)})},setGateInstance:{request:n.object({gate:D}),response:n.object({id:n.string()})},resolveWaitingGateInstance:{request:n.object({gate:D.extend({status:n.enum([`resumed`,`rejected`])})}),response:n.object({accepted:n.boolean()})},restorePausedGateResumeState:{request:n.object({execution:T.extend({status:n.literal(`paused`)}),gate:D.extend({status:n.literal(`waiting`)})}),response:n.object({executionId:n.string(),gateId:n.string()})},getGateInstance:{request:n.object({executionId:n.string().min(1),nodeId:n.string().min(1),frameId:n.string().min(1).optional()}),response:n.object({gate:D.nullable()})},listGateInstances:{request:b,response:n.object({gates:n.array(D)})},listPausedGateTimeouts:u({request:n.object({}),response:n.object({gates:n.array(D)})}),setSpan:{request:n.object({span:ee}),response:n.object({id:n.string()})},listSpans:{request:n.object({executionId:n.string()}),response:n.object({spans:n.array(ee)})},setExecutionLink:{request:n.object({link:g}),response:n.object({id:n.string()})},listExecutionLinks:{request:h,response:n.object({links:n.array(g)})},setRunContext:u({request:n.object({runContext:O,initialState:S.optional()}),response:n.object({executionId:n.string()})}),getRunContext:u({request:n.object({executionId:n.string().min(1)}),response:n.object({runContext:O.nullable()})}),initializeState:u({request:n.object({executionId:n.string().min(1),initialValue:S}),response:n.object({})}),getState:u({request:n.object({executionId:n.string().min(1)}),response:n.object({state:n.object({executionId:n.string().min(1),sequence:n.number().int().nonnegative(),value:S}).nullable()})}),patchState:u({request:n.object({executionId:n.string().min(1),expectedSequence:n.number().int().nonnegative(),nextValue:S}),response:n.object({executionId:n.string().min(1),sequence:n.number().int().positive(),patch:n.array(x),value:S})})},extensions:{drizzle:{workflowDefinitions:Oe,workflowExecutions:ke,workflowExecutionFrames:je,workflowGateInstances:Ne,workflowStepSpans:Fe,workflowExecutionLinks:Le,workflowRunContexts:ze,worklogSummaries:Ve,worklogFrameEntries:Ue,worklogArtifactWrites:Ge,worklogGateEvents:qe,workflowExecutionState:Ye,workflowExecutionStateEvents:Ze,workflowFinalizations:Te}}}),I=nt.subjects;var rt=e(t(),1);function it(e){let t=e.transport?.peer;if(t?.authenticated!==!0||t.kind!==`workflow-execution-attempt`)return null;let n=t.id,r=t.claims?.executionId;return typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0?null:{executionAttemptId:n,executionId:r}}function at(e,t){return e.origin.local?!0:it(e)?.executionId===t}function ot(e,t){let n=[];return st(n,``,e,t),n}function st(e,t,n,r){if(Array.isArray(n)&&Array.isArray(r)){lt(e,t,n,r);return}if(ut(n)&&ut(r)){ct(e,t,n,r);return}pt(n,r)||e.push({op:`replace`,path:t,value:r})}function ct(e,t,n,r){let i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])).sort();for(let a of i){let i=dt(n,a),o=dt(r,a),s=`${t}/${ft(a)}`;if(!i&&o){e.push({op:`add`,path:s,value:r[a]});continue}if(i&&!o){e.push({op:`remove`,path:s});continue}st(e,s,n[a],r[a])}}function lt(e,t,n,r){let i=Math.min(n.length,r.length);for(let a=0;a<i;a++)st(e,`${t}/${String(a)}`,n[a],r[a]);for(let i=n.length-1;i>=r.length;i--)e.push({op:`remove`,path:`${t}/${String(i)}`});for(let i=n.length;i<r.length;i++)e.push({op:`add`,path:`${t}/${String(i)}`,value:r[i]})}function ut(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function dt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ft(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function pt(e,t){return Object.is(e,t)}const mt={stepTimeoutMs:300*1e3,stepCooldownMs:500,busAuth:{kind:`none`},platformDefaults:{cwd:process.cwd()},cancelTimeoutMs:1e4},ht=new rt.default({allErrors:!0,strict:!1}),gt=new Map,_t=new Map;function vt(e){let t=e.$id;return typeof t==`string`?t:void 0}function yt(e,t,n){let r=vt(t);return r===void 0?`workflow:${e}:${n}`:`schema-id:${r}`}function bt(e,t){try{return JSON.stringify(xt(t))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function xt(e){if(Array.isArray(e))return e.map(xt);if(typeof e!=`object`||!e)return e;let t=e;return Object.fromEntries(Object.keys(t).sort().map(e=>[e,xt(t[e])]))}function St(e,t,n){let r=_t.get(t);if(r!==void 0&&r!==n)throw Error(`Workflow '${e}' state schema reuses JSON Schema $id '${t}' with different content`);return ht.getSchema(t)}function Ct(e){return e==null||e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`<root>`} ${e.message??`is invalid`}`).join(`; `)}function wt(e,t){let n=bt(e,t),r=yt(e,t,n),i=gt.get(r);if(i!==void 0)return i;let a=vt(t);if(a!==void 0){let t=St(e,a,n);if(t!==void 0)return gt.set(r,t),t}try{let e=ht.compile(t);return gt.set(r,e),a!==void 0&&_t.set(a,n),e}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function Tt(e,t,n){if(e.state===void 0)return;let r=wt(e.id,e.state.schema);if(r(t))return;let i=n===`initial`?`initial state`:`next state`;throw Error(`Workflow '${e.id}' ${i} does not match workflow state schema: ${Ct(r.errors)}`)}function Et(e){if(e.state===void 0)return;let t=e.state.initial===void 0?{}:e.state.initial;return Tt(e,t,`initial`),t}function Dt(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function Ot(e,t,n){let r=e?P(e,n):t,i=s(t),c=s(a(r)?r:s(t,r)),u,d;try{u=l(i),d=l(c)}catch{return null}let f=o(process.platform===`win32`?u.toLowerCase():u,process.platform===`win32`?d.toLowerCase():d);return f===``||!f.startsWith(`..`)&&!a(f)?d:null}function kt(e){return e instanceof Error&&(`code`in e||`killed`in e)}function At(e){let t=e[0];return t===void 0||t.trim()===``?null:t}function jt(e){let{command:t,cwd:n,env:i,timeoutMs:a,signal:o}=e,s=At(t);if(s===null)return Promise.reject(Error(`Shell step command is empty`));let c=t.slice(1);return new Promise((e,t)=>{let l=null,u=!1,d=r(s,c,{cwd:n,env:{...process.env,...i},timeout:0,maxBuffer:10*1024*1024,shell:!1},(n,r,i)=>{n?t(Object.assign(n,{stdout:r,stderr:i,aborted:u})):e({stdout:r,stderr:i})}),f=()=>{d.exitCode===null&&(d.kill(`SIGTERM`),l=setTimeout(()=>{d.exitCode===null&&d.kill(`SIGKILL`)},5e3))},p=setTimeout(()=>{f()},a);if(d.on(`close`,()=>{clearTimeout(p),l!==null&&clearTimeout(l)}),o){let e=()=>{u=!0,f()};o.aborted?e():(o.addEventListener(`abort`,e,{once:!0}),d.on(`close`,()=>o.removeEventListener(`abort`,e)))}})}async function Mt(e){let{step:t,workspaceRoot:n,expressionContext:r,signal:i}=e,a=Ot(t.cwd,n,r);if(a===null)return{status:`failed`,error:`Shell step cwd '${t.cwd}' is outside workspace root '${n}'`};let o=t.command.map(e=>P(e,r));if(At(o)===null)return{status:`failed`,error:`Shell step command is empty`};let s=Object.fromEntries(Object.entries(t.env??{}).map(([e,t])=>[e,P(t,r)])),c=t.timeoutMs??3e5;try{let{stdout:e}=await jt({command:o,cwd:a,env:s,timeoutMs:c,signal:i});return{status:`completed`,stdout:e}}catch(e){if(!kt(e))return{status:`failed`,error:String(e)};let t=e.aborted===!0,n=!t&&(e.killed===!0||e.signal!=null);return{status:`failed`,error:t?`Command cancelled`:n?`Command timed out after ${c}ms`:e.stderr?.trim()||e.stdout?.trim()||e.message}}}async function Nt(e,t,n){if(!(await e.request(I.updateExecution,{executionId:t.id,status:n.status,error:n.error,reason:n.reason,completedAt:n.completedAt})).success)throw Error(`Workflow execution not found: ${t.id}`)}function Pt(e,t){return e===t||t===`completed`&&e===`finalizing`}async function Ft(e,t,n){let r=e.durableLifecycleTransitions.get(t)??Promise.resolve(),i=Promise.withResolvers(),a=r.catch(()=>void 0).then(()=>i.promise);e.durableLifecycleTransitions.set(t,a),await r.catch(()=>void 0);try{return await n()}finally{i.resolve(),e.durableLifecycleTransitions.get(t)===a&&e.durableLifecycleTransitions.delete(t)}}async function L(e,t,n,r,i){let a,o,s=!0,c=await Ft(e,t,async()=>{let i=await n(),c=Promise.withResolvers(),l=e.lifecyclePublications.get(t)??Promise.resolve();return s=!e.publishingLifecycleExecutions.has(t),o=l.catch(()=>void 0).then(async()=>{await c.promise,e.publishingLifecycleExecutions.add(t);try{await r(i)}finally{e.publishingLifecycleExecutions.delete(t)}}),e.lifecyclePublications.set(t,o),a=c.resolve,i});if(o!==void 0){let n=o;n.then(()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)},()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)})}let l;try{l=i?.(c)}finally{a?.()}return await l,s&&o!==void 0&&await o,c}async function It(e,t,n){if(!(await e.bus.request(t.finalizeSubject,n)).accepted){let r=`Workflow success finalizer "${t.finalizerId}" rejected transition ${n.transitionKey}`,i=Date.now(),{failed:a}=await e.bus.request(I.failFinalization,{executionId:n.executionId,claimToken:n.claimToken,error:r,settledAt:i});return}}async function Lt(e){for(let t of e.successFinalizers?.values()??[]){let{claims:n}=await e.bus.request(I.listClaimedFinalizations,{finalizerId:t.finalizerId});for(let r of n)await It(e,t,r);let{claims:r}=await e.bus.request(I.listUnpublishedFinalizations,{finalizerId:t.finalizerId});for(let t of r)await e.bus.request(I.publishFinalization,{claim:t})}}async function Rt(e,t,n,r){let i=e.resolveSuccessFinalizerId?.(n),a=i===void 0?void 0:e.successFinalizers?.get(i);if(i!==void 0&&a===void 0){await R(e,t,n,`Workflow success finalizer "${i}" is unavailable`);return}if(a!==void 0){let r=Date.now(),i={executionId:n,workflowId:t.workflowId,finalizerId:a.finalizerId,transitionKey:`${n}:terminal`,claimToken:crypto.randomUUID(),intent:{status:`completed`,completedAt:r},claimedAt:r};await L(e,n,async()=>(await e.bus.request(I.getExecution,{executionId:n})).execution?.status!==`running`||!(await e.bus.request(I.claimFinalization,{claim:i})).claimed?!1:(t.status=`finalizing`,e.activeExecutions.delete(n),!0),async t=>{t&&await It(e,a,i)});return}let o=Date.now();await L(e,n,async()=>(await e.bus.request(I.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`completed`,t.completedAt=o,await Nt(e.bus,t,{status:t.status,completedAt:o}),e.activeExecutions.delete(n),!0):!1,async i=>{i&&await e.bus.emit(k.execution.completed,{executionId:n,workflowId:t.workflowId,totalDuration:o-r,completedAt:o})})}async function R(e,t,n,r,i){let a=Date.now();await L(e,n,async()=>(await e.bus.request(I.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`failed`,t.error=r,t.completedAt=a,await Nt(e.bus,t,{status:t.status,error:r,completedAt:a}),e.activeExecutions.delete(n),!0):!1,async o=>{if(o){try{await i?.()}catch(e){console.error(`[WorkflowFinalizer] Failed to run failure pre-emit hook:`,e)}await e.bus.emit(k.execution.failed,{executionId:n,workflowId:t.workflowId,error:r,completedAt:a})}})}function zt(e,t,n){let{activeRunnerSteps:r,bus:i}=e,a=`${t}:`;for(let[e,o]of r){if(!e.startsWith(a))continue;let r=e.slice(a.length);o.controller.abort(),i.emit(pe(o.cancelSubject),{executionId:t,stepId:r,reason:n}).catch(t=>{console.error(`[WorkflowFinalizer] Failed to emit cancellation for ${e}:`,t)})}}async function Bt(e,t,n){let r=await e.bus.request(I.getExecution,{executionId:t});if(r.execution==null)return;let i=r.execution.workflowId;if(i===void 0)throw Error(`Paused execution ${t} is missing stored workflowId`);let a=Date.now(),{cancelled:o,gates:s}=await e.bus.request(I.cancelPausedExecution,{executionId:t,completedAt:a,reason:n});if(o)return e.activeExecutions.delete(t),{workflowId:i,completedAt:a,gates:s}}async function Vt(e,t,n,r=`converge`){let{execution:i}=await e.bus.request(I.getExecution,{executionId:t});if(i?.status!==`running`&&i?.status!==`paused`)return;if(r===`request`&&await e.requestAttemptCancellation?.(t,n),i?.status!==`running`)return Bt(e,t,n);i.status=`cancelled`,i.reason=n,i.completedAt=Date.now();let a=e.activeExecutions.get(t);a!==void 0&&Object.assign(a.execution,i);try{for(let[n,r]of e.shellAbortControllers)n.startsWith(`${t}:`)&&(r.abort(),e.shellAbortControllers.delete(n));zt(e,t,n),await Nt(e.bus,i,{status:i.status,reason:n,completedAt:i.completedAt})}finally{e.activeExecutions.delete(t)}return{workflowId:i.workflowId,completedAt:i.completedAt,gates:[]}}async function Ht(e,t,n){return Wt(e,t,n,`converge`)}async function Ut(e,t,n){return Wt(e,t,n,`request`)}async function Wt(e,t,n,r){return await L(e,t,()=>Vt(e,t,n,r),async r=>{if(r!==void 0){for(let n of r.gates)await e.bus.emit(k.gate.resolved,{executionId:t,stepId:n.nodeId,stepType:`gate`,frameId:n.frameId,source:`cancelled`}).catch(e=>{console.error(`[WorkflowFinalizer] Failed to emit cancelled gate resolution for ${n.frameId}:`,e)});await e.bus.emit(k.execution.cancelled,{executionId:t,workflowId:r.workflowId,reason:n,completedAt:r.completedAt})}},i=>{if(i!==void 0&&r===`request`)return e.notifyAttemptCancellation?.(t,n)})!==void 0}async function Gt(e,t){if(t.pausedAtGateId===void 0||t.pausedAtFrameId===void 0)throw Error(`Paused runner result for '${t.executionId}' is missing gate identity`);return await L(e,t.executionId,async()=>{let{paused:n}=await e.bus.request(I.pauseRunningExecution,{executionId:t.executionId});if(!n){let{execution:n}=await e.bus.request(I.getExecution,{executionId:t.executionId});if(n?.status!==`paused`)return`refused`}let r=e.activeExecutions.get(t.executionId);return r!==void 0&&(r.execution.status=`paused`),e.activeExecutions.delete(t.executionId),n?`transitioned`:`replayed`},async n=>{n===`transitioned`&&await e.bus.emit(k.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId})})!==`refused`}function Kt(e,t){return t}function qt(e,t){return{...t}}function Jt(e){return e.reason instanceof Error?e.reason.message:typeof e.reason==`string`&&e.reason.length>0?e.reason:te}async function Yt(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return;let i=e.buildFinalizerDeps(),{execution:a}=await i.bus.request(I.getExecution,{executionId:t});a?.status===`running`&&(r.execution=a,await Ht(i,t,Jt(n))||console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${t}: execution not active`))}async function Xt(e,t){let n=e.activeExecutions.get(t.executionId);if(!n||n.execution.status!==`running`)return;let r=e.buildFinalizerDeps(),{execution:i}=await r.bus.request(I.getExecution,{executionId:t.executionId});if(i?.status===`running`){if(n.execution=i,t.status===`completed`){await Rt(r,n.execution,t.executionId,n.execution.startedAt);return}if(t.status===`cancelled`){await Ht(r,t.executionId,t.reason??te);return}if(t.status===`failed`){await R(r,n.execution,t.executionId,t.error);return}}}async function Zt(e,t,n,r){let i=t.state===`authority-recorded-only`?t:t.result;if(i.executionId!==n.executionId||i.workflowId!==n.workflowId)throw Error(`Runner completion does not match its invocation '${n.executionId}'`);if(t.state!==`uncommitted`||e.activeExecutions.get(n.executionId)!==r)return;let{result:a}=t;if(a.status===`paused`){await Gt(e.buildFinalizerDeps(),a);return}await Xt(e,a)}function Qt(e,t,n,r){e.activeExecutions.get(t)===n&&e.activeExecutions.delete(t),e.workflowAbortControllers.get(t)===r&&e.workflowAbortControllers.delete(t)}function $t(e,t){return{source:{kind:`path`,path:t.filePath},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,triggerMode:t.triggerMode,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope,busUrl:e.config.busUrl,busAuth:e.config.busAuth,env:e.config.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:`wait-in-process`,materializationSpec:t.materializationSpec}}function en(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,activeExecutions:a}=e,o=a.get(n),s=new AbortController;i.set(n,s);let c=$t(e,t),l=rn(e,n,s.signal);return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{await Zt(e,t,c,o)}).catch(async t=>{if(a.get(n)!==o){console.error(`[WorkflowExecutor] Superseded file runner task failed for ${n}:`,t);return}if(s.signal.aborted){await Yt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner cancellation for ${n}:`,e)});return}let r=a.get(n);if(r){let i=t instanceof Error?t.message:String(t);await R(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner boot failure for ${n}:`,e)})}}).finally(()=>Qt(e,n,o,s))}function tn(e,t){let{config:n}=e,r=t.definitionSnapshot??(t.source.kind===`definition`?t.workflow:void 0);return{source:t.source,...r===void 0?{}:{definition:r},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope,busUrl:n.busUrl,busAuth:n.busAuth,env:n.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:t.suspensionStrategy??`wait-in-process`,...t.terminalAuthority!==void 0&&{terminalAuthority:t.terminalAuthority},...t.materializationSpec===void 0?{}:{materializationSpec:t.materializationSpec}}}function nn(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,activeExecutions:a}=e,o=a.get(n),s=new AbortController;i.set(n,s);let c=tn(e,t),l={...rn(e,n,s.signal),...t.dispatchMetadata===void 0?{}:{dispatchMetadata:t.dispatchMetadata}};return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{await Zt(e,t,c,o)}).catch(async t=>{if(a.get(n)!==o){console.error(`[WorkflowExecutor] Superseded runner task failed for ${n}:`,t);return}if(s.signal.aborted){await Yt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${n}:`,e)});return}let r=a.get(n);if(r){let i=t instanceof Error?t.message:String(t);await R(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner boot failure for ${n}:`,e)})}}).finally(()=>Qt(e,n,o,s))}function rn(e,t,n){return{withAttemptCreation:r=>{let i=e.buildFinalizerDeps();return Ft(i,t,async()=>{n.throwIfAborted();let{execution:e}=await i.bus.request(I.getExecution,{executionId:t});if(n.throwIfAborted(),e?.status!==`running`)throw Error(`Execution '${t}' no longer permits attempt creation`);return r()})}}}function an(e,t,n={}){let r=on(e,n);return{executionId:e.executionId,workflowId:e.workflowId,workflow:t,...e.definitionSnapshot===void 0?{}:{definitionSnapshot:e.definitionSnapshot},source:e.source,coordinatorSessionId:e.coordinatorSessionId,sanitizedTriggerPayload:e.triggerPayload,boundInputs:e.inputs,boundConfig:e.config??{},...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},scope:e.scope,...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec},suspensionStrategy:e.suspensionStrategy,terminalAuthority:e.terminalAuthority??`worker`,...r===void 0?{}:{dispatchMetadata:r}}}function on(e,t){return t.resume===!0?{...e.dispatchMetadata,resume:!0}:e.dispatchMetadata}const sn=/(?:^|[_-])(authorization|token|cookie|password|set[_-]?cookie|api[_-]?key|secret|credential|private[_-]?key|api[_-]?secret)(?:$|[_-])/i;function cn(e){if(!e)return;let t={remainingBytes:65536},n={},r=Object.entries(e).slice(0,100);for(let[e,i]of r){if(t.remainingBytes<=0)break;let r=ln(e,i,0,t);r!==void 0&&(n[e]=r)}return Object.keys(n).length>0?n:void 0}function ln(e,t,n,r){if(!(r.remainingBytes<=0||n>6)&&(r.remainingBytes-=e.length,!(r.remainingBytes<=0))){if(sn.test(e))return r.remainingBytes-=10,`[REDACTED]`;if(t===null)return r.remainingBytes-=4,null;if(typeof t==`string`){let e=t.slice(0,2e3);return r.remainingBytes-=e.length,e}if(typeof t==`number`||typeof t==`boolean`)return r.remainingBytes-=String(t).length,t;if(Array.isArray(t)){let i=[];for(let a of t.slice(0,100)){if(r.remainingBytes<=0)break;let t=ln(e,a,n+1,r);t!==void 0&&i.push(t)}return i}if(typeof t==`object`){let e={},i=Object.entries(t).slice(0,100);for(let[t,a]of i){if(r.remainingBytes<=0)break;let i=ln(t,a,n+1,r);i!==void 0&&(e[t]=i)}return e}}}async function un(e){let{authority:t,executionId:n,instruction:r,dispatch:i}=e,a=()=>t.createAttempt(n,r),o=await(e.withAttemptCreation?.(a)??a()),s=t.waitForOutcome(o.executionAttemptId);if(s===void 0)throw Error(`No outcome waiter for attempt '${o.executionAttemptId}': waiter was not installed during attempt creation`);s.catch(()=>void 0);try{await i(o.executionAttemptId)}catch(e){return dn({authority:t,executionId:n,executionAttemptId:o.executionAttemptId,outcomePromise:s,dispatchError:e})}return s}async function dn(e){let{authority:t,executionId:n,executionAttemptId:r,outcomePromise:i,dispatchError:a}=e,o;try{o=await t.abandonPendingAttempt(r,n)}catch(e){throw t.discardWaiter(r),AggregateError([a,e],`Dispatch acknowledgement failed and pending attempt '${r}' could not be abandoned`,{cause:a})}switch(o.kind){case`abandoned`:case`already-abandoned`:throw t.discardWaiter(r),a;case`allocated`:case`provisioning`:case`already-settled`:return i;case`fenced`:t.settleOutcome(r,{kind:`fenced`});try{return await i}catch(e){throw AggregateError([a,e],`Dispatch acknowledgement failed after attempt '${r}' was fenced`,{cause:a})}}}const fn=`workflow`,pn=`1`,z=O.shape,mn=n.object({executionId:z.executionId,workflowId:z.workflowId,source:z.source,definitionSnapshot:z.definitionSnapshot,inputs:z.inputs,config:z.config,scope:z.scope,triggerPayload:z.triggerPayload,triggerMode:z.triggerMode,artifactRef:z.artifactRef,coordinatorSessionId:z.coordinatorSessionId,cancelSubject:z.cancelSubject,materializationSpec:z.materializationSpec,terminalAuthority:n.literal(`authority`)}).strict().superRefine((e,t)=>{let n=O.safeParse({...e,createdAt:0});if(!n.success)for(let e of n.error.issues)t.addIssue({code:`custom`,path:e.path,message:e.message});e.source.kind===`path`&&(e.source.path.includes(`\\`)||/^[A-Za-z]:/.test(e.source.path)||e.source.path.split(`/`).includes(`..`))&&t.addIssue({code:`custom`,path:[`source`,`path`],message:`Workflow source must stay within its executable root`}),e.source.kind===`definition`&&e.source.workflowId!==e.workflowId&&t.addIssue({code:`custom`,path:[`source`],message:`Workflow source identity does not match the invocation`}),e.definitionSnapshot!==void 0&&e.definitionSnapshot.id!==e.workflowId&&t.addIssue({code:`custom`,path:[`definitionSnapshot`],message:`Workflow definition identity does not match the invocation`})});function hn(e,t){if(t===void 0&&e.source.kind===`path`)throw Error(`Path-backed workflow instructions require a portable run context`);if(t!==void 0&&(t.executionId!==e.executionId||t.workflowId!==e.workflowId))throw Error(`Workflow run context does not belong to the dispatched execution`);let n=t??e,r=t===void 0?e.definition:t.definitionSnapshot;return mn.parse({executionId:n.executionId,workflowId:n.workflowId,source:n.source,...r===void 0?{}:{definitionSnapshot:r},inputs:n.inputs,...n.config===void 0?{}:{config:n.config},scope:n.scope,triggerPayload:n.triggerPayload,...n.triggerMode===void 0?{}:{triggerMode:n.triggerMode},...n.artifactRef===void 0?{}:{artifactRef:n.artifactRef},coordinatorSessionId:n.coordinatorSessionId,cancelSubject:n.cancelSubject,...n.materializationSpec===void 0?{}:{materializationSpec:n.materializationSpec},terminalAuthority:`authority`})}function gn(e){let t=hn(e.config,e.runContext),n=JSON.parse(JSON.stringify(t));return p.parse({id:e.id,revision:e.revision,workload:{kind:fn,version:`1`,input:n},...e.workspace===void 0?{}:{workspace:e.workspace},preservation:e.preservation})}function _n(e){if(e.workload.kind!==`workflow`||e.workload.version!==`1`)throw Error(`Instruction does not target the supported workflow workload adapter`);return mn.parse(e.workload.input)}const vn=m.transform((e,t)=>e.kind===`technical-failure`||e.kind===`cancelled`?e:(t.addIssue({code:`custom`,message:`Expected a runtime outcome, not an opaque workload result`}),n.NEVER)),yn=n.union([ue,vn]),bn={parse:e=>yn.parse(e),serialize:e=>JSON.stringify(e)};function xn(e){let t=m.parse(e.outcome);if(t.kind===`technical-failure`||t.kind===`cancelled`)return t;let n=_n(e.instruction),r=ue.parse(t.result);if(r.executionId!==n.executionId||r.workflowId!==n.workflowId)throw Error(`Workflow result identity does not match the frozen instruction`);return r}function Sn(e,t){let{outcome:n,acceptance:r}=e;if(`executionId`in n&&(n.executionId!==t.executionId||n.workflowId!==t.workflowId))throw Error(`Committed workflow result does not match its owner identity`);return r===`recorded-only`?{state:`authority-recorded-only`,executionId:t.executionId,workflowId:t.workflowId,acceptedOutcome:{...e,acceptance:r}}:{state:`authority-committed`,result:Cn(n,t),acceptedOutcome:{...e,acceptance:r}}}function Cn(e,t){if(`kind`in e)return e.kind===`cancelled`?{executionId:t.executionId,workflowId:t.workflowId,status:`cancelled`,...e.reason===void 0?{}:{reason:e.reason}}:{executionId:t.executionId,workflowId:t.workflowId,status:`failed`,error:`${e.stage}: ${e.message}`};if(e.executionId!==t.executionId||e.workflowId!==t.workflowId)throw Error(`Committed workflow result does not match its owner identity`);return ue.parse(e)}function wn(e){return e===void 0?!1:(e.customCapabilities??[]).length>0||e.persistentStorage!==void 0||e.maxRuntimeMs!==void 0||e.recoverableAllocation!==void 0||e.materializationModes!==void 0&&e.materializationModes.length>0}function Tn(e){let{bus:t,requirements:n,dispatchMetadata:r,authority:i}=e;if(wn(n))return{terminalAuthority:`authority`,run:async(e,a,o,s)=>{a.throwIfAborted();let l=e.source.kind===`path`?(await t.request(I.getRunContext,{executionId:e.executionId},{signal:a})).runContext:void 0;a.throwIfAborted();let u=gn({id:c(),revision:`1`,config:e,...l==null?{}:{runContext:l},preservation:{required:[]}});return Sn(await un({authority:i,executionId:e.executionId,instruction:u,withAttemptCreation:s?.withAttemptCreation,dispatch:i=>t.request(re.dispatch,{executionAttemptId:i,config:{...e,terminalAuthority:`authority`},requirements:n,...o===void 0?{}:{manifest:o},...r!==void 0||s?.dispatchMetadata!==void 0?{metadata:{...r,...s?.dispatchMetadata}}:{}},{signal:a})}),e)}}}function En(e,t){let n=(e.executionAttemptAuthority===void 0?void 0:Tn({bus:e.bus,requirements:t.workflow.requirements,dispatchMetadata:t.dispatchMetadata,authority:e.executionAttemptAuthority}))??e.workflowRunner;if(t.terminalAuthority!==void 0&&t.terminalAuthority!==(n?.terminalAuthority??`worker`))throw Error(`Selected workflow runner is incompatible with the persisted terminal authority`);return{runner:n}}function Dn(e,t,n=En(e,t)){return n.runner===void 0?e.runExecution(t.executionId):nn(e.buildRunnerTaskDeps(n.runner),{...t,terminalAuthority:t.terminalAuthority??n.runner.terminalAuthority})}function On(e,t,n){e.set(t,n),n.finally(()=>{e.get(t)===n&&e.delete(t)}).catch(e=>{console.error(`[WorkflowExecutor] Execution task failed for ${t}:`,e)})}async function kn(e,t,n,r){let i=Et(r);await e.request(I.setExecutionStart,{execution:t,runContext:n,initialState:i})}async function An(e,t){try{await e.emit(k.execution.started,{executionId:t.id,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,startedAt:t.startedAt,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef}})}catch(e){console.error(`[WorkflowExecutor] execution.started listener failed:`,e)}}async function jn(e,t){await e.request(C.close,{sessionId:t}).catch(e=>{console.error(`[WorkflowExecutor] Failed to close coordinator session "${t}" after launch failure:`,e)})}function Mn(e,t,n,r,i,a,o,s,c){let l={id:t,workflowId:n.id,coordinatorSessionId:r,status:`running`,inputs:i,config:a,startedAt:Date.now(),triggerPayload:o,...c.artifactRef===void 0?{}:{artifactRef:c.artifactRef},scope:s};return e.set(t,{execution:l,workflow:n,runContext:c,runtimeHandlers:new Map,runtimeLoopGates:new Map}),l}async function Nn(e,t,n,r,i){await e.request(I.setExecutionStart,{execution:t,runContext:n,...r===void 0?{}:{initialState:r},...i!==void 0&&i.length>0?{executionLinks:[...i]}:{}})}function Pn(e,t){return e.executableSource??{kind:`definition`,workflowId:t}}function Fn(e,t){return e.kind===`definition`||t!==void 0}function In(e,t,n){if(!(t.kind===`definition`||e!==void 0))throw new ae(oe.NOT_EXECUTABLE,`Workflow source execution '${n}' requires a workflow runner.`)}async function Ln(e,t,n){if(t.source.kind===`path`){if(n!==void 0)return n;for(let n of e.materializationSpecResolvers){let e=await n.resolve({executionId:t.executionId,workflowId:t.workflowId,sourcePath:t.source.path,workspaceRoot:t.workspaceRoot});if(e!==void 0)return e}throw Error(`[WorkflowExecutor] path-backed execution requires a resolved materializationSpec`)}}async function Rn(e,t,n){let r=await Ln(e,t,n);return{source:t.source.kind===`path`&&r!==void 0?{kind:`path`,path:r.sourcePath}:t.source,materializationSpec:r}}async function zn(e,t,n,r){return On(e,t,n),await r,t}async function Bn(e,t){let{workflow:n}=await e.request(I.get,{id:t});if(!n)throw Error(`Workflow not found: ${t}`);return n}async function Vn(e,t,n,r){let{sessionId:i}=await e.request(C.create,{parentSessionId:t,branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function Hn(e,t,n={}){let r=await Bn(e.bus,t);return Un(e,t,{...n,workflow:r})}async function Un(e,t,n){let{bus:r,activeExecutions:i,executionTasks:a}=e,{workflow:o,parentSessionId:s,triggerPayload:c,artifactRef:l,scopeOverride:u}=n,d=Dt(`wfx`),f=cn(c),p=Kt(o,n.input===void 0?{}:n.input),m=qt(o,n.config??{}),h=u??o.scope,g=await e.resolveExecutionWorkspaceRoot(s),_=n.executionSource??Pn(o,t),v=n.definitionSnapshot??o,y=En(e,{workflow:o});In(y.runner,_,t);let{source:b,materializationSpec:x}=await Rn(e,{executionId:d,workflowId:t,source:_,workspaceRoot:g},n.materializationSpec),S=await Vn(r,s,o.name,g),C=!1;try{let s=e.buildRunContext({executionId:d,workflowId:t,coordinatorSessionId:S,source:b,...v===void 0?{}:{definitionSnapshot:v},inputs:p,config:m,scope:h,triggerPayload:f??{},triggerMode:`immediate`,terminalAuthority:y.runner?.terminalAuthority,...l===void 0?{}:{artifactRef:l},...x===void 0?{}:{materializationSpec:x}}),c=Mn(i,d,o,S,p,m,f,h,s);await Nn(r,c,s,_.kind===`definition`?Et(o):void 0,n.executionLinks?.(d));let u=An(r,c),g=Dn(e,{executionId:d,workflowId:t,workflow:o,...Fn(_,n.definitionSnapshot)?{definitionSnapshot:v}:{},source:_,coordinatorSessionId:S,sanitizedTriggerPayload:f??{},boundInputs:p,boundConfig:m,scope:h,...l===void 0?{}:{artifactRef:l},suspensionStrategy:s.suspensionStrategy,...x===void 0?{}:{materializationSpec:x}},y);return C=!0,zn(a,d,g,u)}catch(e){throw C||(i.delete(d),a.delete(d),await jn(r,S)),e}}function Wn(e,t,n,r,i){e.set(t.id,{execution:t,workflow:{id:t.workflowId,name:n,scope:r,root:{id:`${t.workflowId}-root`,type:`sequence`,nodes:[]}},runContext:i,runtimeHandlers:new Map,runtimeLoopGates:new Map})}async function Gn(e,t,n,r){let{sessionId:i}=await e.request(C.create,{...t===void 0?{}:{parentSessionId:t},branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}function Kn(e){if(e===void 0)throw Error(`[WorkflowExecutor] startFileExecution called without a workflow runner`);return e}function qn(e){if(e===void 0)throw Error(`[WorkflowExecutor] path-backed execution requires a resolved materializationSpec`);return e}async function Jn(e,t,n={}){let{bus:r,activeExecutions:i,executionTasks:a}=e,{artifactRef:o,parentSessionId:s,triggerPayload:c,scopeOverride:l}=n,u=n.triggerMode??`immediate`,d=Dt(`wfx`),f=cn(c),p=n.input===void 0?{}:n.input,m=n.config??{},h=l??{type:`global`},g=await e.resolveExecutionWorkspaceRoot(s),_=Kn(e.workflowRunner),v=d,y=qn(await Ln(e,{executionId:d,workflowId:v,source:{kind:`path`,path:t},workspaceRoot:g},n.materializationSpec)),b=await Gn(r,s,t,g),x={id:d,workflowId:v,coordinatorSessionId:b,status:`running`,inputs:p,config:m,startedAt:Date.now(),triggerPayload:f,...o===void 0?{}:{artifactRef:o},scope:h},S=!1;try{let s=e.buildRunContext({executionId:d,workflowId:v,coordinatorSessionId:b,source:{kind:`path`,path:y.sourcePath},inputs:p,config:m,scope:h,triggerPayload:f??{},triggerMode:u,terminalAuthority:_.terminalAuthority,...o===void 0?{}:{artifactRef:o},materializationSpec:y});await Nn(r,x,s,void 0,n.executionLinks?.(d)),Wn(i,x,t,h,s);let c=An(r,x),l=en(e.buildRunnerTaskDeps(_),{executionId:d,workflowId:v,filePath:t,coordinatorSessionId:b,sanitizedTriggerPayload:f??{},triggerMode:u,boundInputs:p,boundConfig:m,...o===void 0?{}:{artifactRef:o},scope:h,materializationSpec:y});return S=!0,zn(a,d,l,c)}catch(e){throw S||(i.delete(d),a.delete(d),await jn(r,b)),e}}function Yn(e){let t={};for(let[n,r]of Object.entries(e))r.status===`completed`?t[n]={status:`completed`,output:r.output}:r.status===`skipped`&&(t[n]={status:`skipped`});return t}function B(e){let t={...e,input:e.inputs,steps:e.frames};return{...t,ctx:t}}function Xn(e,t){let n=process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`;return{repoPath:e??process.cwd(),makaioHome:t??process.env.MAKAIO_HOME??`${Ce.homedir()}/.makaio`,os:n,arch:process.arch}}function Zn(){return{context:Xn(),env:{}}}function Qn(e){return{...e,path:[...e.path]}}function $n(e){if(e===`station`||e===`delegate-agent`||e===`delegate-role`||e===`gate`)return e}function er(e,t){let n=$n(t.nodeType);if(n===void 0||t.status!==`running`&&t.status!==`completed`&&t.status!==`failed`&&t.status!==`skipped`)return;let r=t.startedAt!==void 0&&t.completedAt!==void 0?Math.max(0,t.completedAt-t.startedAt):void 0;return{executionId:e,frameId:t.frameId,stepId:t.nodeId,stepType:n,status:t.status,...t.startedAt===void 0?{}:{startedAt:t.startedAt},...t.completedAt===void 0?{}:{completedAt:t.completedAt},...r===void 0?{}:{durationMs:r},...t.output===void 0?{}:{output:JSON.stringify(t.output)}}}var tr=class e{executionId;workflowId;definition;execution;runtimeHandlers;bus;signal;frameRegistry;framePersistenceTasks=new Map;artifactBinding;constructor(e,t,n,r,i,a,o,s,c,l=Zn(),u={}){this.executionId=e,this.workflowId=t,this.definition=n,this.execution=r,this.runtimeHandlers=i,this.bus=a,this.signal=o,this.frameRegistry=s??new Map,this.artifactBinding=c,this.platformContext=l.context,this.env=l.env,this.suspensionStrategy=u.suspensionStrategy??`wait-in-process`,this.resumeFrames=u.resumeFrames,this.runtimeLoopGates=u.runtimeLoopGates??new Map}platformContext;env;suspensionStrategy;resumeFrames;runtimeLoopGates;withSignal(t){return new e(this.executionId,this.workflowId,this.definition,this.execution,this.runtimeHandlers,this.bus,t,this.frameRegistry,this.artifactBinding,{context:this.platformContext,env:this.env},{suspensionStrategy:this.suspensionStrategy,resumeFrames:this.resumeFrames,runtimeLoopGates:this.runtimeLoopGates})}buildExpressionContext(){return{inputs:this.execution.inputs,config:this.execution.config??{},trigger:this.execution.triggerPayload??{},frames:{},previousSteps:{}}}createFrame(e){let t=Dt(`frm`),n=[...e.path,t],r={frameId:t,nodeId:e.nodeId,nodeType:e.nodeType,path:n,parentFrameId:e.parentFrameId,status:`pending`,attempt:0,iteration:e.iteration,branchKey:e.branchKey};return this.frameRegistry.set(t,r),this.persistFrame(r).catch(()=>void 0),r}async persistFrame(e,t={}){let n=t.requireFrameStorage===!0||this.suspensionStrategy!==`wait-in-process`,r=Qn(e),i=er(this.executionId,r),a=(this.framePersistenceTasks.get(e.frameId)??Promise.resolve()).catch(()=>void 0).then(async()=>{n?await this.bus.request(I.setFrame,{executionId:this.executionId,frame:r}):await this.bus.requestOptional(I.setFrame,{executionId:this.executionId,frame:r}),i!==void 0&&await this.bus.requestOptional(I.setSpan,{span:i})}).catch(t=>{if(n)throw t;console.warn(`[RuntimeContext] Failed to persist frame ${e.frameId}:`,t)});this.framePersistenceTasks.set(e.frameId,a);try{await a}finally{this.framePersistenceTasks.get(e.frameId)===a&&this.framePersistenceTasks.delete(e.frameId)}}async updateFrame(e,t,n={}){let r=this.frameRegistry.get(e);if(!r)throw Error(`Frame not found: ${e}`);Object.assign(r,t),await this.persistFrame(r,n)}getFrame(e){return this.frameRegistry.get(e)}getFramesByNodeId(e){let t=[];for(let n of this.frameRegistry.values())n.nodeId===e&&t.push(n);return t.sort((e,t)=>(e.startedAt??0)-(t.startedAt??0))}async emitFrameStarted(e){try{await this.bus.emit(k.frame.started,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,parentFrameId:e.parentFrameId,startedAt:e.startedAt})}catch(t){console.error(`[RuntimeContext] frame.started observer failed for ${e.frameId}:`,t)}}async emitFrameCompleted(e,t){try{await this.bus.emit(k.frame.completed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,output:e.output,duration:t,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.completed observer failed for ${e.frameId}:`,t)}}async emitFrameFailed(e,t,n){try{await this.bus.emit(k.frame.failed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,error:t,duration:n,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.failed observer failed for ${e.frameId}:`,t)}}};function nr(e){return{kind:`workflow-execution`,id:e,displayName:`Workflow Engine`}}function rr(e,t,n){return{inputs:n.inputs,config:n.config??{},trigger:n.triggerPayload,scope:n.scope,env:n.env,execution:{id:t.id,workflowId:t.workflowId,scope:t.scope},workflow:{id:e.id,name:e.name,scope:e.scope}}}function ir(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ar(e){if(e!=null){if(ir(e)&&typeof e.kind==`string`&&typeof e.id==`string`)return{kind:e.kind,id:e.id};throw Error(`Artifact resolve expression must return an object with string kind and id fields.`)}}function or(e){if(e!==void 0){if(ir(e))return e;throw Error(`Artifact create expression must return an object.`)}}async function sr(e){let{bindingOptions:t,binding:n,existingArtifactRef:r,executionId:i,scope:a,initialData:o,bus:s}=e,c=null;if(r!==void 0){let e=await s.request(f.query,{kind:r.kind,ids:[r.id],currentOnly:!0});if(e.artifacts.length>0)c=e.artifacts[0];else return}else{if(o===void 0)throw Error(`Workflow artifact binding for '${n.kind}' requires an existing artifact reference or explicit initial data from its create expression.`);c=(await s.request(f.create,{kind:n.kind,schemaVersion:n.schemaVersion,scope:a??n.scope,data:o,relations:[],actor:nr(i)})).artifact}return{current:c,schemaVersion:n.schemaVersion,statusPath:t.statusPath,zodSchema:t.schema}}async function cr(e){let{definition:t,execution:n,runContext:r,zodSchema:i,bus:a}=e,o=t.artifact;if(o===void 0)return;let s=rr(t,n,r),c=r.artifactRef??(o.resolve===void 0?void 0:ar(N(o.resolve,s))),l=c===void 0&&o.create!==void 0?or(N(o.create,s)):void 0,u=await sr({bindingOptions:{kind:o.kind,schemaVersion:o.schemaVersion,scope:o.scope,...o.resolve===void 0?{}:{resolve:o.resolve},...o.create===void 0?{}:{create:o.create},...o.statusPath===void 0?{}:{statusPath:o.statusPath},...i===void 0?{}:{schema:i}},binding:o,existingArtifactRef:c,executionId:n.id,scope:o.scope,initialData:l,bus:a});if(u===void 0)throw Error(`Workflow artifact binding could not be resolved for the configured artifact reference.`);return u}const lr=new WeakMap;function ur(e,t){let n=(lr.get(e)??Promise.resolve()).catch(()=>void 0).then(t);return lr.set(e,n.then(()=>void 0,()=>void 0)),n}function dr(e,t){switch(t.operation){case`set`:return t.data;case`merge`:return{...e,...t.data};case`append`:{let n={...e};for(let[r,i]of Object.entries(t.data)){let t=e[r];Array.isArray(t)&&Array.isArray(i)?n[r]=[...t,...i]:n[r]=i}return n}}}function fr(e,t,n){let[r,...i]=t;if(i.length===0)return{...e,[r]:n};let a=e[r]!==null&&typeof e[r]==`object`&&!Array.isArray(e[r])?e[r]:{};return{...e,[r]:fr(a,i,n)}}function pr(e,t,n){return fr(e,mr(t).slice(1).split(`/`).map(e=>e.replace(/~1/g,`/`).replace(/~0/g,`~`)),n)}function mr(e){if(!e.startsWith(`/`)&&e.split(`.`).some(e=>e.length===0))throw Error(`Status path must contain nonempty dot-separated segments`);let t=e.startsWith(`/`)?e:`/${e.split(`.`).map(e=>e.replace(/~/g,`~0`).replace(/\//g,`~1`)).join(`/`)}`;return d.revise.request.shape.statusPath.unwrap().parse(t)}function hr(e,t,n){if(n===`set`||n===`functional`)return[];let r=[];for(let n of Object.keys(t))e[n]!==t[n]&&r.push(`/${n}`);return r}async function gr(e,t){if(typeof t==`function`)return{nextData:await t(Object.freeze({...e})),operationLabel:`functional`,changedPaths:[]};let n=dr(e,t),r=hr(e,n,t.operation);return{nextData:n,operationLabel:t.operation,changedPaths:r}}function _r(e){let{executionId:t,frameId:n,bindingState:r,bus:i}=e,a=Object.freeze({...r.current.data}),o=async e=>ur(r,async()=>{let a=r.statusPath===void 0?void 0:mr(r.statusPath),o=r.current,{nextData:s,operationLabel:c,changedPaths:l}=await gr(o.data,e);if(r.zodSchema!==void 0){let e=r.zodSchema.safeParse(s);if(!e.success)throw Error(`Artifact data validation failed: ${e.error.message}`)}let u=await i.request(f.revise,{...a!==void 0&&{statusPath:a},previous:{refClass:`artifact`,kind:o.kind,id:o.id,revision:o.revision},revision:{kind:o.kind,schemaVersion:r.schemaVersion,scope:o.scope,data:s,relations:o.relations,actor:nr(t)}});r.current=u.artifact;let d=u.artifact.revision;return i.emit(fe.artifact.updated,{executionId:t,frameId:n,artifactRef:{kind:u.artifact.kind,id:u.artifact.id},paths:l,operation:c,revision:d}).catch(e=>{console.error(`[ArtifactContext] Failed to emit artifact.updated event:`,e)}),d});return{data:a,updateArtifact:o,updateStatus:async e=>{if(r.statusPath===void 0)throw Error(`updateStatus() called but no statusPath is configured on the artifact binding. Set statusPath in the .artifact() builder call to use updateStatus().`);let t=r.statusPath;return o(n=>pr(n,t,e))}}}function vr(e,t){return{async get(){return(await t.request(k.state.get,{executionId:e})).value},async update(n){let r=await t.request(k.state.get,{executionId:e}),i=structuredClone(r.value),a=await n(i),o=a===void 0?i:a,s=ot(r.value,o);return(await t.request(k.state.patch,{executionId:e,expectedSequence:r.sequence,patch:s,nextValue:o})).value}}}function yr(e,t,n){let r=e.providerContext?.state===`resolved`?e.providerContext:void 0,i=e.providerConfigId??r?.providerConfigId;return{durationMs:t,...n===void 0?{}:{...n.inputTokens===void 0?{}:{inputTokens:n.inputTokens},...n.cachedInputTokens===void 0?{}:{cachedInputTokens:n.cachedInputTokens},...n.outputTokens===void 0?{}:{outputTokens:n.outputTokens},toolCallCount:n.toolCallCount},binding:{adapterName:e.adapterName,...i===void 0?{}:{providerConfigId:i},...r===void 0?{}:{providerDefinitionId:r.definitionId},...e.model===void 0?{}:{model:e.model},...r===void 0?{}:{auth:{mode:r.auth.mode,owner:r.auth.method.owner,methodId:r.auth.method.methodId}}}}}async function br(e,t,n){if(t.signal.aborted)return{status:`cancelled`};let r=await t.bus.requestOptional(k.resolveRole,{roleId:e.roleId});if(!r.handled)return{status:`failed`,error:e.unresolvedRoleError};let i=P(e.prompt,B(n)),a=e.completion===void 0?r.data:{...r.data,completion:e.completion};return xr({...e,task:i,resolvedConfig:a},t)}async function xr(e,t){if(t.signal.aborted)return{status:`cancelled`};let n=performance.now(),r=await t.bus.requestOptional(w.spawn,{parentSessionId:t.execution.coordinatorSessionId??t.executionId,depth:1,config:Or(e.task,e.resolvedConfig,e.outputSchema)});if(!r.handled)return{status:`failed`,error:e.unavailableRuntimeError};let i=await wr(e,t,r.data.subagentId,{attempts:5}),a=await kr(e,t,r.data.subagentId);if(a===`aborted`)return{status:`cancelled`};if(i||await wr(e,t,r.data.subagentId,{attempts:1}),!a.handled)return await V(e,t,r.data.subagentId,`Workflow execution '${t.executionId}' could not await ${e.cancellationLabel} '${e.nodeId}'`),{status:`failed`,error:e.unavailableAwaitError};if(t.signal.aborted||a.data.status===`cancelled`)return{status:`cancelled`};if(a.data.status===`completed`){let r=a.data.result??null;try{return{status:`completed`,output:await Sr({...e,toolObservations:a.data.toolObservations,usage:a.data.usage},t,r,Cr(n))}}catch(e){if(t.signal.aborted)return{status:`cancelled`};throw e}}return(a.data.status===`timeout`||a.data.status===`waiting_input`)&&await V(e,t,r.data.subagentId,`Workflow execution '${t.executionId}' abandoned non-terminal ${e.cancellationLabel} '${e.nodeId}'`),{status:`failed`,error:`${e.nodeLabel} '${e.nodeId}' subagent ${a.data.status}: ${a.data.error??`no result`}`}}async function Sr(e,t,n,r=0){if(e.resultFinalizerId===void 0)return n;if(e.frameId===void 0||e.delegateNodeType===void 0)throw Error(`Delegate result finalizer '${e.resultFinalizerId}' requires frame and delegate node identity`);let i={finalizerId:e.resultFinalizerId,executionId:t.executionId,workflowId:t.workflowId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.delegateNodeType,rawResult:n,toolObservations:[...e.toolObservations??[]],...e.resolvedConfig===void 0?{}:{economics:yr(e.resolvedConfig,r,e.usage)}},a=await t.bus.requestOptional(k.finalizeDelegateResult,i,{signal:t.signal});if(a.handled)return a.data.output;let{subjects:o}=me(e.resultFinalizerId),{finalizerId:s,...c}=i;return(await t.bus.request(o.finalize,c,{signal:t.signal})).output}function Cr(e){let t=performance.now()-e;return!Number.isFinite(t)||t<=0?0:Math.min(2**53-1,Math.round(t))}async function wr(e,t,n,r){if(e.frameId===void 0)return!0;try{let i=await Tr(t,n,r.attempts);return i===void 0?!1:(await t.bus.emit(k.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:i}),!0)}catch(t){return console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and subagent '${n}'`,t),!1}}async function Tr(e,t,n){for(let r=0;r<n;r+=1){if(e.signal?.aborted)return;let i=await Er(e,t);if(i===void 0||!i.handled)return;if(i.data.childSessionId!==void 0)return i.data.childSessionId;if(r<n-1&&!await Dr(e.signal,20))return}}async function Er(e,t){try{return await e.bus.requestOptional(w.getStatus,{subagentId:t},{timeout:25,signal:e.signal})}catch{return}}function Dr(e,t){return e.aborted?Promise.resolve(!1):new Promise(n=>{let r,i=t=>{r!==void 0&&(clearTimeout(r),r=void 0),e.removeEventListener(`abort`,a),n(t)},a=()=>i(!1);r=setTimeout(()=>i(!0),t),e.addEventListener(`abort`,a,{once:!0}),e.aborted&&i(!1)})}function Or(e,t,n){return{task:e,adapterName:t.adapterName,...t.providerConfigId===void 0?{}:{providerConfigId:t.providerConfigId},...t.model===void 0?{}:{model:t.model},...t.reasoningEffort===void 0?{}:{reasoningEffort:t.reasoningEffort},...t.harnessId===void 0?{}:{harnessId:t.harnessId},...t.systemPrompt===void 0?{}:{systemPrompt:t.systemPrompt},...t.contextMode===void 0?{}:{contextMode:t.contextMode},...t.providerContext===void 0?{}:{providerContext:t.providerContext},...t.adapterConfig===void 0?{}:{adapterConfig:t.adapterConfig},...t.tools===void 0?{}:{tools:t.tools},...t.disallowedTools===void 0?{}:{disallowedTools:t.disallowedTools},...t.allowedDirectories===void 0?{}:{allowedDirectories:t.allowedDirectories},...t.completion===void 0?{}:{completion:t.completion},...n===void 0?{}:{responseSchema:n}}}async function kr(e,t,n){if(t.signal.aborted)return await V(e,t,n),`aborted`;let r=t.bus.requestOptional(w.await,{subagentId:n,...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}},{timeout:0});if(t.signal.aborted)return await V(e,t,n),`aborted`;let i,a=new Promise(e=>{i=()=>e(`aborted`),t.signal.addEventListener(`abort`,i,{once:!0})});try{let i=await Promise.race([r,a]);return i===`aborted`&&await V(e,t,n),i}catch(r){throw await V(e,t,n,`Workflow execution '${t.executionId}' failed awaiting ${e.cancellationLabel} '${e.nodeId}'`),r}finally{i!==void 0&&t.signal.removeEventListener(`abort`,i)}}async function V(e,t,n,r){try{await t.bus.requestOptional(w.kill,{subagentId:n,reason:r??`Workflow execution '${t.executionId}' cancelled ${e.cancellationLabel} '${e.nodeId}'`})}catch(t){console.warn(`[workflow-engine] Best-effort subagent kill failed for '${n}' (${e.cancellationLabel} '${e.nodeId}')`,t)}}async function Ar(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=Yn(n.frames),a=t.runtimeHandlers.get(e.id);if(a===void 0)return jr(e,t,n,r);let o=t.artifactBinding!==void 0&&r!==void 0?_r({executionId:t.executionId,frameId:r,bindingState:t.artifactBinding,bus:t.bus}):void 0,s=t.definition.state===void 0?void 0:vr(t.executionId,t.bus);async function c(n){if(r===void 0){console.warn(`[station-node] updateProgress called without frameId for node '${e.id}'; skipping emit`);return}let i=de[`execution.progress`].parse({executionId:t.executionId,workflowId:t.workflowId,frameId:r,nodeId:e.id,progress:n,emittedAt:Date.now()});try{await t.bus.emit(k.execution.progress,i)}catch(t){console.error(`[station-node] execution.progress observer failed for ${e.id}:`,t)}}let l;try{l=await a({...t.platformContext,env:t.env,executionId:t.executionId,workflowId:t.workflowId,inputs:t.execution.inputs,config:t.execution.config??{},trigger:t.execution.triggerPayload??{},previousSteps:i,...n.item!==void 0&&{item:n.item},...n.index!==void 0&&{index:n.index},...n.previous!==void 0&&{previous:n.previous},signal:t.signal,...o!==void 0&&{artifact:o},...s!==void 0&&{state:s},bus:t.bus,updateProgress:c})}catch(e){return{status:`failed`,error:e instanceof Error?e.message:String(e)}}return{status:`completed`,output:l}}async function jr(e,t,n,r){if(e.role===void 0)return{status:`failed`,error:`No handler registered for station node '${e.id}'`};let i=e.outputSchema===void 0?void 0:{schema:e.outputSchema};return br({nodeId:e.id,nodeLabel:`Station node`,roleId:e.role,prompt:e.prompt,...i===void 0?{}:{outputSchema:i},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},...e.completion===void 0?{}:{completion:e.completion},unresolvedRoleError:`No runtime handler registered for station node '${e.id}', and role '${e.role}' could not be resolved`,unavailableRuntimeError:`Subagent runtime is not available for station node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await station node '${e.id}'`,cancellationLabel:`station`,...r===void 0?{}:{frameId:r}},t,n)}function Mr(e,t){return t===void 0?e:{...e,tools:[...t],disallowedTools:void 0}}function Nr(e,t){let n=Mr({...t,...e.completion===void 0?{}:{completion:e.completion}},e.allowedTools);return Fr(n)?{...n,contextMode:`fresh`}:n}function Pr(e,t){return Mr({...t,completion:e.completion??t.completion??`tool`},e.allowedTools)}function Fr(e){return e.completion===`turn`&&[e.harnessId,e.contextMode,e.adapterConfig,e.tools,e.disallowedTools,e.allowedDirectories].every(e=>e===void 0)}async function Ir(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(k.resolveAgent,{agentId:e.agentId});if(!i.handled)return{status:`failed`,error:`Agent '${e.agentId}' could not be resolved for delegate-agent node '${e.id}'`};if(t.signal.aborted)return{status:`cancelled`};let a=Rr(e,n);if(a.status===`failed`)return a;let o=e.outputSchema===void 0?void 0:{schema:e.outputSchema},s=Pr(e,i.data);return xr({nodeId:e.id,nodeLabel:`Delegate-agent node`,task:a.task,resolvedConfig:s,...o===void 0?{}:{outputSchema:o},unavailableRuntimeError:`Subagent runtime is not available for delegate-agent node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-agent node '${e.id}'`,cancellationLabel:`delegate-agent`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-agent`},t)}async function Lr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(k.resolveRole,{roleId:e.role});if(!i.handled)return{status:`failed`,error:`Role '${e.role}' could not be resolved for delegate-role node '${e.id}'`};let a=e.outputSchema===void 0?void 0:{schema:e.outputSchema},o=P(e.prompt,B(n)),s=Nr(e,i.data);return xr({nodeId:e.id,nodeLabel:`Delegate-role node`,task:o,resolvedConfig:s,...a===void 0?{}:{outputSchema:a},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},unavailableRuntimeError:`Subagent runtime is not available for delegate-role node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-role node '${e.id}'`,cancellationLabel:`delegate-role`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-role`},t)}function Rr(e,t){try{let n=B(t);return{status:`completed`,task:zr(e.inputExpression===void 0?n:N(e.inputExpression,n))}}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`delegate-agent node '${e.id}': input expression evaluation failed: ${n}`}}}function zr(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function Br(e,t,n,r){try{let i=N(n,B(r));return Array.isArray(i)?i:{status:`failed`,error:`${t} node '${e}': collection expression did not resolve to an array (got ${typeof i})`}}catch(n){return{status:`failed`,error:`${t} node '${e}': collection expression evaluation failed: ${n instanceof Error?n.message:String(n)}`}}}function Vr(e,t,n){for(let r of[...e.nodes].reverse()){let e=n.getFramesByNodeId(r.id);for(let n of e)if(n.parentFrameId===t&&n.status===`completed`)return n.output}}function Hr(e,t,n){return Vr(e.body,t,n)}function Ur(e){if(e.length===0)return;let t=new Map,n=new Map;for(let r of e){n.set(r.frameId,r);let e=t.get(r.nodeId)??[];e.push(r),t.set(r.nodeId,e)}return{byNodeId:t,byFrameId:n}}const Wr=new Set([`completed`,`skipped`,`waiting`]);function H(e,t,n){let r=e?.byNodeId.get(t)??[],i=n.statuses??Wr;return r.find(e=>e.parentFrameId===n.parentFrameId&&e.branchKey===n.branchKey&&e.iteration===n.iteration&&i.has(e.status))}function U(e,t,n){let r={...e.frames,[t]:n};return{...e,frames:r,previousSteps:Yn(r),output:n.status===`completed`?n.output:e.output}}function Gr(e,t){if(typeof AbortSignal.any==`function`)return AbortSignal.any([e,t]);let n=new AbortController,r=()=>n.abort();return e.addEventListener(`abort`,r,{once:!0}),t.addEventListener(`abort`,r,{once:!0}),n.signal}const Kr=new Set([`completed`,`running`]);function qr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function Jr(e,t,n,r,i,a,o=`all-settled`){if(t.signal.aborted)return{status:`cancelled`};let s=Object.entries(e.branches);if(s.length===0)return{status:`completed`,output:Zr({},o)};let c=new AbortController,l=new AbortController,u=t.suspensionStrategy!==`wait-in-process`,d=o===`fail-fast`?Gr(c.signal,l.signal):u?l.signal:void 0,f=d===void 0?t.signal:Gr(t.signal,d),p=f===t.signal?t:t.withSignal(f),m=s.map(([s,c])=>Yr(s,c,e,p,n,r,i,a,{outerSignal:t.signal,pauseSignal:o===`fail-fast`||u?l.signal:void 0}));if(o===`all-settled`){let e=await Promise.all(u?m.map(e=>e.then(e=>(e.status===`paused`&&l.abort(),e))):m),t=e.find(e=>e.status===`paused`);return t===void 0?{status:`completed`,output:Zr(Qr(s,e),o)}:t}let h=await Xr(s,m,c,l);return h.type===`cancelled`?{status:`cancelled`}:h.type===`paused`?h.outcome:h.type===`failed`?{status:`failed`,error:h.error}:{status:`completed`,output:Zr(Qr(s,h.outcomes),o)}}async function Yr(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l=H(r.resumeFrames,n.id,{parentFrameId:o,branchKey:e,statuses:Kr});if(l?.status===`completed`)return{status:`completed`,...l.output===void 0?{}:{output:l.output}};let u=l??r.createFrame({nodeId:n.id,nodeType:`parallel`,path:s,parentFrameId:o,branchKey:e});if(r.signal.aborted)return qr(u,c)||await $(u,r),{status:`cancelled`};l===void 0&&await X(u,r);let d;try{d=await a(t,r,i,u.frameId,u.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(u,r,t),{status:`failed`,error:t}}switch(d.status){case`completed`:{let e=Vr(t,u.frameId,r);return await Z(u,r,e),{status:`completed`,output:e}}case`skipped`:return await Z(u,r),{status:`completed`};case`cancelled`:return qr(u,c)||await $(u,r),{status:`cancelled`};case`paused`:return d;case`failed`:return await Q(u,r,d.error),{status:`failed`,error:d.error}}}async function Xr(e,t,n,r){let i,a,o=t.map(e=>e.then(e=>(e.status===`failed`&&i===void 0?(i=e.error,n.abort()):e.status===`paused`&&a===void 0&&(a=e,r.abort()),e),e=>{let t=e instanceof Error?e.message:String(e);return i===void 0&&(i=t,n.abort()),{status:`failed`,error:t}})),s=await Promise.all(o);return a===void 0?s.some(e=>e.status===`cancelled`)&&i===void 0?{type:`cancelled`}:i===void 0?{type:`completed`,outcomes:s}:{type:`failed`,error:i}:{type:`paused`,outcome:a}}function Zr(e,t){return{mode:t,branches:e}}function Qr(e,t){let n={};for(let r=0;r<e.length;r++){let[i]=e[r],a=t[r];n[i]=$r(a)}return n}function $r(e){switch(e.status){case`completed`:return{status:`fulfilled`,...e.output===void 0?{}:{value:e.output}};case`skipped`:return{status:`fulfilled`,value:null};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:e.pausedAtGateId,pausedAtFrameId:e.pausedAtFrameId};case`failed`:return{status:`rejected`,reason:e.error}}}const ei=new rt.default({allErrors:!0,strict:!1});function ti(e,t){if(t===void 0)return{status:`ok`};try{return{status:`ok`,validator:ei.compile(t)}}catch(t){return{status:`failed`,error:`Gate '${e}' has an invalid resumeSchema: ${t instanceof Error?t.message:String(t)}`}}}function ni(e,t){return e===void 0||e(t)?{valid:!0}:{valid:!1,error:ii(e.errors??[])}}function ri(e,t,n){let r=ti(e,t);return r.status===`failed`?{valid:!1,error:r.error}:ni(r.validator,n)}function ii(e){return e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`/`} ${e.message??`is invalid`}`).join(`; `)}function ai(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const oi={action:`approve`,source:`timeout`};function si(e){return e===void 0?{}:{reason:e}}async function ci(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=ai();o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),e.reject(`timed-out`))},r),a.push(e.promise)}try{let e=await Promise.race(a);return n.removeEventListener(`abort`,i),o!==void 0&&clearTimeout(o),{action:e.action,resumeData:e.resumeData,timedOut:!1,wasCancelled:!1,reason:e.reason}}catch(e){return o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i),e===`timed-out`?{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1}:{action:`reject`,resumeData:null,timedOut:!1,wasCancelled:!0}}}async function li(e,t,n,r,i,a){let o={required:e.suspensionStrategy!==`wait-in-process`};if(a.timedOut){let a=Date.now();if(r.autoAction===`approve`){let s=ni(i,oi);return s.valid?(await W(e,{...r,status:`resumed`,resumeData:oi,resolvedAt:a},o),await G(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:{resumeData:oi}}):(await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' auto-approve timeout resume data does not match resumeSchema: ${s.error}`})}return await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}if(a.wasCancelled||e.signal.aborted)return await W(e,{...r,status:`cancelled`,resolvedAt:Date.now()},o),await G(e,t.id,n,{source:`cancelled`}),{status:`cancelled`};let s=Date.now();await W(e,{...r,status:a.action===`reject`?`rejected`:`resumed`,resumeData:a.resumeData,...si(a.reason),resolvedAt:s},o);try{await e.bus.emit(k.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:a.resumeData}),await G(e,t.id,n,{action:a.action,source:`user`,...si(a.reason)})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return{status:`completed`,output:{resumeData:a.resumeData}}}async function ui(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=e.resumeSchema??{};if(t.suspensionStrategy!==`wait-in-process`){let n=await mi(t,e,r);if(n!==void 0)return n}let a=ti(e.id,e.resumeSchema);return a.status===`failed`?{status:`failed`,error:a.error}:di(t,e,n,r,i,a.validator)}async function di(e,t,n,r,i,a){let o=P(t.prompt,B(n)),s={executionId:e.executionId,nodeId:t.id,frameId:r,schema:i,prompt:o,status:`waiting`,autoAction:t.autoAction,timeoutMs:t.timeoutMs,createdAt:Date.now()},c=e.suspensionStrategy!==`wait-in-process`;if(await W(e,s,{required:c}),await e.updateFrame(r,{status:`waiting`},{requireFrameStorage:c}),c)return await fi(e,t,r,i,o,s.createdAt),{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:r};let l={value:!0},u=ai(),d=e.bus.on(k.gate.respond,async n=>{let{executionId:i,gateId:o,frameId:s,action:c,resumeData:d,reason:f}=n.payload;if(i!==e.executionId||o!==t.id||s!==void 0&&s!==r){try{await n.next()}catch(e){if(e instanceof ge)n.setResult({accepted:!1});else throw e}return}if(!l.value){n.setResult({accepted:!1});return}if(!ni(a,d).valid){n.setResult({accepted:!1});return}l.value=!1,n.setResult({accepted:!0}),u.resolve({action:c,resumeData:d,reason:f})});await fi(e,t,r,i,o,s.createdAt);let f=await ci(u,l,e.signal,t.timeoutMs);return d(),li(e,t,r,s,a,f)}async function fi(e,t,n,r,i,a){try{await e.bus.emit(k.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.title!==void 0&&{title:t.title},autoAction:t.autoAction,timeoutMs:t.timeoutMs,openedAt:a})}catch(e){console.error(`[GateNode] gate.suspended emit failed for '${t.id}':`,e)}}async function pi(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(I.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(I.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function mi(e,t,n){let r=await pi(e,t.id,n);if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData!==void 0){let i=ri(t.id,r.schema,r.resumeData);if(!i.valid)return{status:`failed`,error:`Gate '${t.id}' persisted resumeData is invalid: ${i.error}`};try{await e.bus.emit(k.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:r.resumeData})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return await G(e,t.id,n,{action:r.status===`rejected`?`reject`:`approve`,source:`user`,...si(r.reason)}),{status:`completed`,output:{resumeData:r.resumeData}}}if(r?.status===`waiting`){if(r.timeoutMs!==null&&Date.now()>=r.createdAt+r.timeoutMs){let i=ti(t.id,r.schema);return i.status===`failed`?{status:`failed`,error:i.error}:li(e,t,n,r,i.validator,{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1})}return{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}}if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData===void 0)return{status:`failed`,error:`Gate '${t.id}' has status '${r.status}' but resumeData is missing — cannot reconstruct output`};if(r!==null)return{status:`failed`,error:`Gate '${t.id}' cannot resume from status '${r.status}'`}}async function W(e,t,n={}){try{n.required===!0?await e.bus.request(I.setGateInstance,{gate:t}):await e.bus.requestOptional(I.setGateInstance,{gate:t})}catch(e){if(n.required===!0)throw e;console.warn(`[GateNode] Failed to upsert gate instance for '${t.nodeId}':`,e)}}async function G(e,t,n,r){try{await e.bus.emit(k.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[GateNode] gate.resolved emit failed for '${t}':`,e)}}function K(e){return{status:`fulfilled`,...e===void 0?{}:{value:e}}}const hi=new Set([`completed`,`running`]);function gi(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function _i(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Br(e.id,`iterate`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:xi([])};let c=await vi(s,e,t,n,r,i,a,e.concurrency!==void 0&&e.concurrency>0?e.concurrency:0);if(t.signal.aborted&&c.every(e=>e.status===`cancelled`))return{status:`cancelled`};let l=c.find(e=>e.status===`paused`);return l===void 0?{status:`completed`,output:xi(c)}:{status:`paused`,pausedAtGateId:l.pausedAtGateId,pausedAtFrameId:l.pausedAtFrameId}}async function vi(e,t,n,r,i,a,o,s){let c=new AbortController,l=n.suspensionStrategy!==`wait-in-process`,u=l?Gr(n.signal,c.signal):n.signal,d=u===n.signal?n:n.withSignal(u),f={outerSignal:n.signal,...l?{pauseSignal:c.signal}:{}};if(s===0){let n=e.map((e,n)=>bi(e,n,t,d,r,i,a,o,f));return Promise.all(l?n.map(e=>yi(e,c)):n)}let p=Array(e.length);for(let n=0;n<e.length;n+=s){if(d.signal.aborted){for(let t=n;t<e.length;t++)p[t]={status:`cancelled`};break}let u=Math.min(n+s,e.length),m=[];for(let s=n;s<u;s++)m.push(bi(e[s],s,t,d,r,i,a,o,f));let h=await Promise.all(l?m.map(e=>yi(e,c)):m);for(let e=0;e<h.length;e++)p[n+e]=h[e];if(h.some(e=>e.status===`paused`)){for(let t=u;t<e.length;t++)p[t]={status:`cancelled`};break}}return p}function yi(e,t){return e.then(e=>(e.status===`paused`&&t.abort(),e))}async function bi(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l={...i,item:e,index:t},u=H(r.resumeFrames,n.id,{parentFrameId:o,iteration:t,statuses:hi});if(u?.status===`completed`)return K(u.output);let d=u??r.createFrame({nodeId:n.id,nodeType:`iterate`,path:s,parentFrameId:o,iteration:t});if(r.signal.aborted)return gi(d,c)||await $(d,r),{status:`cancelled`};u===void 0&&await X(d,r);let f;try{f=await a(n.body,r,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,r,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Hr(n,d.frameId,r);return await Z(d,r,e),K(e)}case`skipped`:return await Z(d,r),K();case`cancelled`:return gi(d,c)||await $(d,r),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,r,f.error),{status:`rejected`,reason:f.error}}}function xi(e){return{items:e}}const Si=new Set([`completed`,`running`]);async function Ci(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Br(e.id,`iterate-chain`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:Ti([])};let c=[],l;for(let o=0;o<s.length;o++){if(t.signal.aborted)return{status:`cancelled`};let u=s[o],d=await wi(u,o,l,e,t,n,r,i,a);switch(c.push(d),d.status){case`fulfilled`:l=d.value;break;case`rejected`:return{status:`failed`,error:d.reason};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:d.pausedAtGateId,pausedAtFrameId:d.pausedAtFrameId}}}return{status:`completed`,output:Ti(c)}}async function wi(e,t,n,r,i,a,o,s,c){if(i.signal.aborted)return{status:`cancelled`};let l={...a,item:e,index:t,...n!==void 0&&{previous:n}},u=H(i.resumeFrames,r.id,{parentFrameId:s,iteration:t,statuses:Si});if(u?.status===`completed`)return K(u.output);let d=u??i.createFrame({nodeId:r.id,nodeType:`iterate-chain`,path:c,parentFrameId:s,iteration:t});if(i.signal.aborted)return await $(d,i),{status:`cancelled`};u===void 0&&await X(d,i);let f;try{f=await o(r.body,i,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,i,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Hr(r,d.frameId,i);return await Z(d,i,e),K(e)}case`skipped`:return await Z(d,i),K();case`cancelled`:return await $(d,i),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,i,f.error),{status:`rejected`,reason:f.error}}}function Ti(e){return{items:e}}async function Ei(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=new Promise((e,a)=>{o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),a(`timed-out`))},r)});a.push(e)}try{return{status:`resolved`,value:await Promise.race(a)}}catch(e){if(e===`timed-out`)return{status:`timed-out`};if(e===`cancelled`)return{status:`cancelled`};throw e}finally{o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i)}}const Di={action:`approve`,source:`timeout`};async function q(e,t,n){try{n?await e.bus.request(I.setGateInstance,{gate:t}):await e.bus.requestOptional(I.setGateInstance,{gate:t})}catch(e){if(n)throw e;console.warn(`[LoopNode] Failed to upsert escalation gate for '${t.nodeId}':`,e)}}async function Oi(e,t,n,r,i,a){try{await e.bus.emit(k.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.gate.escalation?.title!==void 0&&{title:t.gate.escalation.title},autoAction:t.gate.escalation?.autoAction??`reject`,timeoutMs:t.gate.escalation?.timeoutMs??null,openedAt:a})}catch(e){console.error(`[LoopNode] gate.suspended emit failed for '${t.id}':`,e)}}async function J(e,t,n,r){try{await e.bus.emit(k.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[LoopNode] gate.resolved emit failed for '${t}':`,e)}}function ki(e){let{node:t,ctx:n,parentFrameId:r,validator:i,pending:a,deferred:o}=e;return n.bus.on(k.gate.respond,async e=>{let{executionId:s,gateId:c,frameId:l,action:u,resumeData:d,reason:f}=e.payload;if(s!==n.executionId||c!==t.id||l!==void 0&&l!==r){try{await e.next()}catch(t){if(t instanceof ge)e.setResult({accepted:!1});else throw t}return}if(!a.value){e.setResult({accepted:!1});return}if(!ni(i,d).valid){e.setResult({accepted:!1});return}a.value=!1,e.setResult({accepted:!0}),o.resolve({action:u,resumeData:d,reason:f})})}async function Ai(e,t,n,r,i,a,o){let s=ti(e.id,e.gate.escalation?.resumeSchema);if(s.status===`failed`)return{status:`failed`,error:s.error};let c={value:!0},l=ai(),u=ki({node:e,ctx:t,parentFrameId:n,validator:s.validator,pending:c,deferred:l});await Oi(t,e,n,r.schema,r.prompt??``,r.createdAt);try{let s=await Ei(l,c,t.signal,r.timeoutMs);return s.status===`timed-out`?Ni(t,e,n,r,i,a,o,!1):s.status===`resolved`?ji(t,e.id,n,r,s.value,i,a,o):(await q(t,{...r,status:`cancelled`,resolvedAt:Date.now()},!1),await J(t,e.id,n,{source:`cancelled`}),{status:`cancelled`})}finally{u()}}async function ji(e,t,n,r,i,a,o,s){let c=Date.now(),l=i.action===`reject`?`rejected`:`resumed`;await q(e,{...r,status:l,resumeData:i.resumeData,...i.reason===void 0?{}:{reason:i.reason},resolvedAt:c},!1);try{await e.bus.emit(k.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t,resumeData:i.resumeData}),await J(e,t,n,{action:i.action,source:`user`,...i.reason===void 0?{}:{reason:i.reason}})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t}':`,e)}return{status:`completed`,output:Y(`escalate`,o,a,s,i.resumeData)}}async function Mi(e,t,n,r,i,a,o){let s=e.gate.escalation;if(s===void 0)return{status:`completed`,output:Y(`escalate`,a,i,o)};let c=P(s.prompt,B(n)),l=s.resumeSchema??{},u={executionId:t.executionId,nodeId:e.id,frameId:r,schema:l,prompt:c,status:`waiting`,autoAction:s.autoAction??`reject`,timeoutMs:s.timeoutMs??null,createdAt:Date.now()},d=t.suspensionStrategy!==`wait-in-process`;return await q(t,u,d),await t.updateFrame(r,{status:`waiting`},{requireFrameStorage:d}),d?(await Oi(t,e,r,l,c,u.createdAt),{status:`paused`,pausedAtGateId:e.id,pausedAtFrameId:r}):Ai(e,t,r,u,i,a,o)}async function Ni(e,t,n,r,i,a,o,s=!0){let c=Date.now();if(r.autoAction===`approve`){let l=ri(t.id,r.schema,Di);return l.valid?(await q(e,{...r,status:`resumed`,resumeData:Di,resolvedAt:c},s),await J(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:Y(`escalate`,a,i,o,Di)}):(await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate auto-approve timeout resume data does not match resumeSchema: ${l.error}`})}return await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}async function Pi(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(I.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(I.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function Fi(e,t,n,r,i,a){let o=await Pi(e,t.id,n);if(o!==null){if((o.status===`resumed`||o.status===`rejected`)&&o.resumeData!==void 0){let s=ri(t.id,o.schema,o.resumeData);if(!s.valid)return{status:`failed`,error:`Loop '${t.id}' escalation gate resumeData is invalid: ${s.error}`};try{await e.bus.emit(k.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:o.resumeData})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t.id}':`,e)}return await J(e,t.id,n,{action:o.status===`rejected`?`reject`:`approve`,source:`user`,...o.reason===void 0?{}:{reason:o.reason}}),{status:`completed`,output:Y(`escalate`,i,r,a,o.resumeData)}}return o.status===`waiting`?o.timeoutMs!==null&&Date.now()>=o.createdAt+o.timeoutMs?Ni(e,t,n,o,r,i,a):{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}:(o.status===`resumed`||o.status===`rejected`)&&o.resumeData===void 0?{status:`failed`,error:`Loop '${t.id}' escalation gate has status '${o.status}' but resumeData is missing`}:{status:`failed`,error:`Loop '${t.id}' escalation gate cannot resume from status '${o.status}'`}}}const Ii=new Set([`completed`,`running`]);async function Li(e,t,n,r,i,a,o){let s=H(n.resumeFrames,e.id,{parentFrameId:a,iteration:t,statuses:Ii});if(s?.status===`completed`)return{terminal:!1,output:s.output??null,replayed:!0,gateExpressionCtx:zi(e,n,r,s.frameId)};let c=s??n.createFrame({nodeId:e.id,nodeType:`loop`,path:o,parentFrameId:a,iteration:t});if(n.signal.aborted)return await $(c,n),{terminal:!0,outcome:{status:`cancelled`}};s===void 0&&await X(c,n);let l=await Bi(e,c,n,r,i);if(l!==void 0)return{terminal:!0,outcome:l};let u=Vr(e.body,c.frameId,n)??null;return await Z(c,n,u),{terminal:!1,output:u,replayed:!1,gateExpressionCtx:zi(e,n,r,c.frameId)}}function Ri(e,t,n,r){return H(n.resumeFrames,e.id,{parentFrameId:r,iteration:t,statuses:Ii})!==void 0}function zi(e,t,n,r){let i=n;for(let n of e.body.nodes){let e=t.getFramesByNodeId(n.id).find(e=>e.parentFrameId===r&&e.status===`completed`);e!==void 0&&(i=U(i,n.id,{status:`completed`,...e.output===void 0?{}:{output:e.output}}))}return i}async function Bi(e,t,n,r,i){let a;try{a=await i(e.body,n,r,t.frameId,t.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(t,n,r),{status:`failed`,error:r}}switch(a.status){case`failed`:return await Q(t,n,a.error),{status:`failed`,error:a.error};case`cancelled`:return await $(t,n),{status:`cancelled`};case`paused`:return a;case`skipped`:case`completed`:return}}function Vi(e,t,n,r,i){let a=null;if(e.gate.input!==void 0)try{let t=B(r);a=N(e.gate.input,t)}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`Loop node '${e.id}': gate input expression evaluation failed: ${n}`}}let o=e.gate.config??null,s=i(a,o,{executionId:n.executionId,nodeId:e.id,round:t+1,maxRounds:e.maxRounds});return s.kind===`loop`&&t+1>=e.maxRounds?{kind:`escalate`,reason:`max_rounds_reached`}:s}async function Hi(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=t.runtimeLoopGates.get(e.gate.handler);if(o===void 0)return{status:`failed`,error:`Loop node '${e.id}': no gate handler registered for '${e.gate.handler}'`};let s=[],c=0;for(;;){if(t.signal.aborted)return{status:`cancelled`};let l=await Li(e,c,t,n,r,i,a);if(l.terminal)return l.outcome;if(s.push(l.output),l.replayed){if(c++,Ri(e,c,t,i))continue;if(e.gate.escalation!==void 0&&t.suspensionStrategy!==`wait-in-process`){let n=await Fi(t,e,i,{kind:`escalate`,reason:`resumed_from_gate`},c,s);if(n!==void 0)return n}continue}let u=Vi(e,c,t,l.gateExpressionCtx,o);if(`status`in u)return u;if(u.kind===`pass`)return{status:`completed`,output:Y(`pass`,c+1,u,s)};if(u.kind===`escalate`)return e.gate.escalation===void 0?{status:`completed`,output:Y(`escalate`,c+1,u,s)}:Mi(e,t,n,i,u,c+1,s);c++}}function Y(e,t,n,r,i){return{outcome:e,rounds:t,lastGateOutcome:n,bodyOutputs:r,...i===void 0?{}:{resumeData:i}}}async function X(e,t){e.status=`running`,e.startedAt=Date.now(),await t.persistFrame(e),await t.emitFrameStarted(e)}async function Z(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`completed`,e.output=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameCompleted(e,i)}async function Q(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`failed`,e.error=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameFailed(e,n,i)}async function Ui(e,t){e.status=`skipped`,e.completedAt=Date.now(),await t.persistFrame(e)}async function $(e,t){e.status=`cancelled`,e.completedAt=Date.now(),await t.persistFrame(e)}function Wi(e,t){return!!N(e,B(t))}async function Gi(e,t,n,r,i,a=[]){if(t.signal.aborted)return{status:`cancelled`};switch(e.type){case`sequence`:return r(e,t,n,i,a);case`station`:return Ar(e,t,n,i);case`delegate-agent`:return Ir(e,t,n,i);case`delegate-role`:return Lr(e,t,n,i);case`parallel`:return Jr(e,t,n,r,i??``,a,e.mode??`all-settled`);case`gate`:return ui(e,t,n,i??``);case`iterate`:return _i(e,t,n,r,i??``,a);case`iterate-chain`:return Ci(e,t,n,r,i??``,a);case`loop`:return Hi(e,t,n,r,i??``,a);default:return{status:`failed`,error:`Unknown node type: ${String(e.type)}`}}}const Ki=new Set([`completed`,`skipped`,`waiting`,`running`]);function qi(e){return e.type===`parallel`||e.type===`iterate`||e.type===`iterate-chain`||e.type===`loop`}function Ji(e,t,n){return H(e.resumeFrames,t.id,{parentFrameId:n,...qi(t)?{statuses:Ki}:{}})}function Yi(e,t,n){if(n?.status===`completed`)return U(e,t.id,{status:`completed`,...n.output===void 0?{}:{output:n.output}});if(n?.status===`skipped`)return U(e,t.id,{status:`skipped`})}async function Xi(e,t,n,r,i,a,o){try{return{result:Wi(e,i)}}catch(e){let i=e instanceof Error?e.message:String(e);return await Q(r.createFrame({nodeId:n.id,nodeType:n.type,path:a,parentFrameId:o}),r,`'${t}' condition evaluation failed: ${i}`),{status:`failed`,error:`'${t}' condition evaluation failed for '${n.id}': ${i}`}}}async function Zi(e,t,n,r,i,a){let o=a??t.createFrame({nodeId:e.id,nodeType:e.type,path:r,parentFrameId:i});if(t.signal.aborted)return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};a===void 0&&await X(o,t);let s;try{s=await Gi(e,t,n,Qi,o.frameId,o.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(o,t,r),{updatedCtx:n,outcome:{status:`failed`,error:r}}}switch(s.status){case`completed`:return await Z(o,t,s.output),{updatedCtx:U(n,e.id,{status:`completed`,output:s.output})};case`skipped`:return await Ui(o,t),{updatedCtx:U(n,e.id,{status:`skipped`})};case`cancelled`:return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};case`paused`:return{updatedCtx:n,outcome:s};case`failed`:return await Q(o,t,s.error),{updatedCtx:n,outcome:{status:`failed`,error:s.error}}}}async function Qi(e,t,n,r,i=[]){let a=n;for(let n of e.nodes){if(t.signal.aborted)return{status:`cancelled`};let e=Ji(t,n,r),o=Yi(a,n,e);if(o!==void 0){a=o;continue}if(n.when!==void 0){let e=await Xi(n.when,`when`,n,t,a,i,r);if(`status`in e)return e;if(!e.result){await Ui(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=U(a,n.id,{status:`skipped`});continue}}if(n.skip!==void 0){let e=await Xi(n.skip,`skip`,n,t,a,i,r);if(`status`in e)return e;if(e.result){await Ui(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=U(a,n.id,{status:`skipped`});continue}}let s=e?.status===`waiting`&&n.type===`gate`||(e?.status===`running`||e?.status===`waiting`)&&qi(n)?e:void 0,{updatedCtx:c,outcome:l}=await Zi(n,t,a,i,r,s);if(a=c,l!==void 0)return l}return{status:`completed`}}function $i(e,t){let n=new Set;if(he(e.root,{enter(e){if(e.type!==`loop`)return;let r=e;t.has(r.gate.handler)||n.add(r.gate.handler)}}),n.size>0)throw Error(`Workflow '${e.id}' is missing loop gate handler(s): ${[...n].join(`, `)}`)}const ea=new Set;async function ta(e,t,n){if((await e.requestOptional(I.getRunContext,{executionId:t.executionId})).handled){await na(e,t.executionId,n);return}await e.request(k.bootstrapAuthorityState,{executionId:t.executionId,terminalAuthority:`authority`,definition:n})}async function na(e,t,n){return await ra(e,t,n)!==void 0}async function ra(e,t,n){let r=await e.request(I.getRunContext,{executionId:t});if(r.runContext===null)return;if(r.runContext.executionId!==t)throw Error(`Authority bootstrap identity mismatch for '${t}'`);let i=r.runContext.definitionSnapshot;if(i===void 0){await e.request(I.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`}});return}if(!ia(i,n))throw Error(`Authority bootstrap definition mismatch for '${t}'`);let a=i;return await e.request(I.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`,definitionSnapshot:a},initialState:Et(a)}),a}function ia(e,t){return i(JSON.parse(JSON.stringify(e)),JSON.parse(JSON.stringify(t)))}function aa(e,t){return e.on(k.bootstrapAuthorityState,async n=>{if(!at(n,n.payload.executionId))throw Error(`authority state bootstrap is execution-bound`);let r=await ra(e,n.payload.executionId,n.payload.definition);if(r!==void 0){t?.(n.payload.executionId,r);for(let t of ea)await t({bus:e,executionId:n.payload.executionId,definition:r,transport:n.transport})}n.setResult({persisted:r!==void 0})})}export{Ie as $,Xt as A,Mt as B,fn as C,k as Ct,_n as D,gn as E,Pt as F,it as G,mt as H,Lt as I,Oe as J,nt as K,Ut as L,Ht as M,R as N,un as O,Rt as P,Le as Q,Ft as R,bn as S,de as St,mn as T,ot as U,Tt as V,at as W,je as X,De as Y,Ae as Z,En as _,Ke as _t,ai as a,F as at,Sn as b,Te as bt,cr as c,ze as ct,kn as d,Pe as dt,Ye as et,Hn as f,Ge as ft,Dn as g,qe as gt,On as h,He as ht,Qi as i,ke as it,Gt as j,an as k,tr as l,Re as lt,Un as m,Ue as mt,aa as n,Ze as nt,ri as o,Ne as ot,Jn as p,We as pt,I as q,$i as r,Xe as rt,Ur as s,Me as st,ta as t,Je as tt,Xn as u,Fe as ut,yn as v,Ve as vt,pn as w,Cn as x,we as xt,xn as y,Be as yt,Dt as z};
|