@makaio/framework 1.0.0-dev-1788909333961 → 1.0.0-dev-1788936831433
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/artifact-DtmJR46g.mjs +1 -0
- package/dist/authority-state-bootstrap-DnwkMieA.mjs +1 -0
- package/dist/bus/index.d.mts +20 -20
- package/dist/bus/index.mjs +1 -1
- package/dist/clients/index.d.mts +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/code-execution/worker-entry.d.mts +1 -1
- package/dist/code-execution-B9wr0b972.mjs +1 -0
- package/dist/contracts/adapter/index.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +3 -3
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.d.mts +2 -2
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +4 -4
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +151 -150
- 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/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/worker/index.d.mts +2 -1
- 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/{execution-attempt-repository-CF3cWsPo.d.mts → execution-attempt-repository-CJVlPFMM.d.mts} +60 -6
- package/dist/{extension-BgUSK5rv.mjs → extension-C1CwxkCN.mjs} +1 -1
- package/dist/framework-packages-B3SQPHD7.mjs +1 -0
- package/dist/{index-tDCBp28C.d.mts → index-B6Lsx8QD2.d.mts} +346 -346
- package/dist/{index-BeplDh91.d.mts → index-BQoiFDct.d.mts} +2023 -468
- package/dist/{index-B7VO0gQV.d.mts → index-BV1Btpfc.d.mts} +3 -3
- package/dist/{index-BALk4zcu.d.mts → index-BwktKRHX.d.mts} +1 -1
- package/dist/{index-VAJBIJUb.d.mts → index-BypDPKtQ.d.mts} +62 -46
- package/dist/{index-CZuhTqsX2.d.mts → index-C83rKcaK2.d.mts} +12 -12
- package/dist/{index-DI-1HK7v2.d.mts → index-CKjFFP6W2.d.mts} +1 -1
- package/dist/{index-B4Wg4W7d.d.mts → index-C_R6ifn9.d.mts} +100 -100
- package/dist/{index-BtC1JP5D.d.mts → index-CcgI6r0K.d.mts} +1 -1
- package/dist/{index-DlKxbLC9.d.mts → index-CqSdF7rK.d.mts} +2 -2
- package/dist/{index-DFsJTTkS.d.mts → index-CuLDybz3.d.mts} +1 -1
- package/dist/{index-U0Fe0baO.d.mts → index-CzSoEyWu.d.mts} +10 -10
- package/dist/{index-D7j6v0-L.d.mts → index-D3RZEEE3.d.mts} +1 -1
- package/dist/{index-CpdRe5df.d.mts → index-DDUi5U4Q.d.mts} +778 -64
- package/dist/{index-b_LJnwCU2.d.mts → index-DOkenapA.d.mts} +8 -8
- package/dist/{index-BjcJH3I-.d.mts → index-DWU3yzQ-.d.mts} +1 -1
- package/dist/{index-OP6Aw5jN.d.mts → index-GNRWZONO.d.mts} +14 -16
- package/dist/{index-VCtdvtEk.d.mts → index-J7xYeLwB.d.mts} +337 -337
- package/dist/{index-BQv9mUzn.d.mts → index-SDXlgq07.d.mts} +36 -8
- package/dist/{index-uv_WSQtw2.d.mts → index-ZGtyv_3n2.d.mts} +161 -49
- package/dist/{index-BO_ikAR-.d.mts → index-glwUNat3.d.mts} +10 -10
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/{lib-Ql8RWYOd.mjs → lib-0MqNtDuH.mjs} +4 -4
- package/dist/{lib-B8hEa65D.mjs → lib-dlyJT26K.mjs} +1 -1
- package/dist/{load-extensions-un9Md47Z.d.mts → load-extensions-DM1PgW4a.d.mts} +1 -1
- package/dist/{materialization-CqOHTt92.mjs → materialization-CDemi12q.mjs} +1 -1
- package/dist/{namespace-BVQ8Y2Yi.d.mts → namespace-Cjh_Ogen.d.mts} +2 -2
- package/dist/{namespace-DELzAyzb.d.mts → namespace-JqvomFSV.d.mts} +152 -152
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/package-DKfzsJVl.mjs +7 -0
- package/dist/{package-DnlJ4I1i.d.mts → package-x2wRhcUt.d.mts} +71 -9
- package/dist/package.json +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-inputs-CMjGjK7W.d.mts +23 -0
- 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/index.d.mts +5 -5
- package/dist/runtime-node/index.mjs +24 -24
- package/dist/runtime-node/makaio-config.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/{schemas-B9yLU2jM.d.mts → schemas-B4gxLiTq.d.mts} +211 -79
- package/dist/schemas-BahXrOYa.mjs +1 -0
- package/dist/{schemas-mGJIRIZ5.d.mts → schemas-DYeS-mtz.d.mts} +152 -152
- package/dist/{schemas-BBatvMde.d.mts → schemas-DfSirQM5.d.mts} +2 -2
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- 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/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/capability/index.d.mts +2 -2
- package/dist/services/code-execution/index.d.mts +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/index.d.mts +118 -118
- 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/materialization/index.d.mts +1 -1
- package/dist/services/model-registry/index.d.mts +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/session/handlers/index.d.mts +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/session-events/namespace.d.mts +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/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/namespace.d.mts +2 -2
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/subagent/index.d.mts +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/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/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/storage/drizzle/client.d.mts +1 -1
- package/dist/storage/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/testing/drizzle-harness.d.mts +8 -0
- package/dist/testing/drizzle-harness.mjs +1 -1
- package/dist/{tools-BkSFBqUz.mjs → tools-2INrWlnS.mjs} +1 -1
- package/dist/{transition-BbfxZ4U1.d.mts → transition-DXfTmVSx.d.mts} +1 -1
- package/dist/{types-CXwFtEIF.d.mts → types-B4u8kNdt.d.mts} +327 -327
- package/dist/{types-CR415CdC2.d.mts → types-FNVbwd7z2.d.mts} +1 -1
- package/dist/ui-kernel/index.d.mts +1 -1
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{view-builder-CJtK5hgs.d.mts → view-builder-DU_WTiuk.d.mts} +1 -1
- package/dist/{worker-VBlgozIo.mjs → worker-Bn0x5MSH.mjs} +1 -1
- package/dist/workflow-B6C3Pf66.mjs +1 -0
- package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
- package/dist/workflow-engine/index.d.mts +44 -42
- 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 +2 -2
- 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 +3 -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 +13 -3
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-Cuo6s9uv.mjs → workflow-transitions-BbhM_zPm.mjs} +1 -1
- package/dist/workflow-worker-Db7EBUgh.mjs +2 -0
- package/package.json +1 -1
- package/dist/artifact-BjqkK0KX.mjs +0 -1
- package/dist/authority-state-bootstrap-8VGt4vD2.mjs +0 -1
- package/dist/code-execution-BsiB7ZeZ2.mjs +0 -1
- package/dist/framework-packages-CxWecyPW.mjs +0 -1
- package/dist/package-BwIbyojG.mjs +0 -7
- package/dist/schemas-0eCrrru1.mjs +0 -1
- package/dist/workflow-svpU9Cig.mjs +0 -1
- package/dist/workflow-worker-7AA-u1uC.mjs +0 -2
- /package/dist/{capability-service-CsWaOwvH.d.mts → capability-service-23Ot2J9A.d.mts} +0 -0
- /package/dist/{client-DP4ksY9q.d.mts → client-BwFqO0cG.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-BoXRTyae.d.mts → client-binary-version-verifier-DySlUy9m.d.mts} +0 -0
- /package/dist/{clients-namespace-BVDmj8uV.d.mts → clients-namespace-Dh0SNZcQ.d.mts} +0 -0
- /package/dist/{config-namespace-BMOKEuyf.d.mts → config-namespace-CZqPIAWt.d.mts} +0 -0
- /package/dist/{definition-ByVJ3n6o.d.mts → definition-D3HjoK-4.d.mts} +0 -0
- /package/dist/{extension-discovery-C0Nj5EVZ.d.mts → extension-discovery-CZkaPQBo.d.mts} +0 -0
- /package/dist/{filesystem-service-C6D7oABi.d.mts → filesystem-service-UYYyRL2y.d.mts} +0 -0
- /package/dist/{hook-responses-Cs8A07ZP.d.mts → hook-responses-chgDiS8D.d.mts} +0 -0
- /package/dist/{index-CNOqYviR.d.mts → index-6wmqw_ng.d.mts} +0 -0
- /package/dist/{index-BrRCVo9r.d.mts → index-B5kqAW7h.d.mts} +0 -0
- /package/dist/{index-DxaQ-ceV.d.mts → index-B6Kq1BtL.d.mts} +0 -0
- /package/dist/{index-BR7IiCib.d.mts → index-BCKhrNLC.d.mts} +0 -0
- /package/dist/{index-HRn0Kun0.d.mts → index-BU8uFswE.d.mts} +0 -0
- /package/dist/{index-fzrPfhS0.d.mts → index-BjELPYLF2.d.mts} +0 -0
- /package/dist/{index-B_VcKELo.d.mts → index-BrelUXBT.d.mts} +0 -0
- /package/dist/{index-BgY_UzH82.d.mts → index-BtPZcp4M2.d.mts} +0 -0
- /package/dist/{index-BGWkmG9i.d.mts → index-Bxs-oIo4.d.mts} +0 -0
- /package/dist/{index-BpWoCe22.d.mts → index-C-6g2xzN.d.mts} +0 -0
- /package/dist/{index-BHZlMm_I.d.mts → index-C6eJrtTA.d.mts} +0 -0
- /package/dist/{index-DrwT45ci2.d.mts → index-CBnCXp1R2.d.mts} +0 -0
- /package/dist/{index-Bpv8EpBa.d.mts → index-CDeN0mdC.d.mts} +0 -0
- /package/dist/{index-_Ngf4KAa.d.mts → index-CU_HMaeC.d.mts} +0 -0
- /package/dist/{index-CIV2G6uX2.d.mts → index-CYUhTE552.d.mts} +0 -0
- /package/dist/{index-CKvOECeR.d.mts → index-CuPq_ap8.d.mts} +0 -0
- /package/dist/{index-D6qlh6Td.d.mts → index-DB4Xggtt.d.mts} +0 -0
- /package/dist/{index-DZv9yNKF2.d.mts → index-DGlSbpgS2.d.mts} +0 -0
- /package/dist/{index-BnLp-7qH.d.mts → index-DNp9DP6W.d.mts} +0 -0
- /package/dist/{index-BbjxBrcp2.d.mts → index-DQbcfjIb2.d.mts} +0 -0
- /package/dist/{index-DOKPbF-y2.d.mts → index-DX_2kGSg.d.mts} +0 -0
- /package/dist/{index-IkeLI7uY.d.mts → index-DbYjMWlj.d.mts} +0 -0
- /package/dist/{index-CHuB40EK.d.mts → index-DcG3r0VL.d.mts} +0 -0
- /package/dist/{index-ByJ2NESC.d.mts → index-DlOp5nH0.d.mts} +0 -0
- /package/dist/{index-DLlTuugR.d.mts → index-LsZNB_gb.d.mts} +0 -0
- /package/dist/{index-CSEhxhIc.d.mts → index-SIP-fI28.d.mts} +0 -0
- /package/dist/{index-B7g7e7_f.d.mts → index-zvoiT54b.d.mts} +0 -0
- /package/dist/{kind-registration-T--B1wiI.mjs → kind-registration-DggkrLkv.mjs} +0 -0
- /package/dist/{namespace-CcHA54E1.d.mts → namespace-69c5HXtL.d.mts} +0 -0
- /package/dist/{namespace-DdcRYk7b.d.mts → namespace-B7fMkHmy.d.mts} +0 -0
- /package/dist/{namespace-DyeMWQKf.d.mts → namespace-BQ7eiQwr.d.mts} +0 -0
- /package/dist/{namespace-thsiHTFH.d.mts → namespace-BXkDQ9nn.d.mts} +0 -0
- /package/dist/{namespace-CQaL10rI.d.mts → namespace-BoOLmi67.d.mts} +0 -0
- /package/dist/{namespace-Ct2DKREI.d.mts → namespace-CBf5xG_A.d.mts} +0 -0
- /package/dist/{namespace-sTMm1voF.d.mts → namespace-CIF_1OWi.d.mts} +0 -0
- /package/dist/{namespace-nE7vRctI.d.mts → namespace-CUXZS_Ia.d.mts} +0 -0
- /package/dist/{namespace-Ciyw6FxO.d.mts → namespace-DAW4OY3-.d.mts} +0 -0
- /package/dist/{namespace-BocL2nn7.d.mts → namespace-DAbT1F_n.d.mts} +0 -0
- /package/dist/{namespace-BlH5BeSq.d.mts → namespace-DCmkW_25.d.mts} +0 -0
- /package/dist/{namespace-DtXYm32M.d.mts → namespace-De25c2ds.d.mts} +0 -0
- /package/dist/{orchestrator-shared-CYnIz5Zd.d.mts → orchestrator-shared-BRNZ6it3.d.mts} +0 -0
- /package/dist/{packages-DtsjAYuf.d.mts → packages-BSVxszLf.d.mts} +0 -0
- /package/dist/{providers-namespace-BxknJ03z.d.mts → providers-namespace-DcPil5uz.d.mts} +0 -0
- /package/dist/{schema-CJfSEZ8X.d.mts → schema-DIgKUfuF.d.mts} +0 -0
- /package/dist/{schemas-DQ5iRisA.d.mts → schemas-Bg2fBMPN.d.mts} +0 -0
- /package/dist/{schemas-0VbIjfrW.d.mts → schemas-CM3Ejp-n.d.mts} +0 -0
- /package/dist/{schemas-BfMFZ6J5.d.mts → schemas-COnD70WD.d.mts} +0 -0
- /package/dist/{schemas-CsRcSlvA2.d.mts → schemas-DTyZjKQf2.d.mts} +0 -0
- /package/dist/{schemas-KDl7p-wr.d.mts → schemas-Ge_bamoP.d.mts} +0 -0
- /package/dist/{schemas-Yp3PvwsM.d.mts → schemas-NwKrrrPF.d.mts} +0 -0
- /package/dist/{schemas-CmUWeOkr.d.mts → schemas-Vv0GtBaZ.d.mts} +0 -0
- /package/dist/{schemas-Djt6hIjz.d.mts → schemas-eA76OYo2.d.mts} +0 -0
- /package/dist/{schemas-DzDVjYjt.d.mts → schemas-qbaSxHDL.d.mts} +0 -0
- /package/dist/{server-lifecycle-Ck6_8o8v.d.mts → server-lifecycle-BPAN-b0i.d.mts} +0 -0
- /package/dist/{storage-namespace-CRdQoXZ9.d.mts → storage-namespace-C9oFExfb.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-NBw1Y8Pa.d.mts → storage-namespace-definition-D6soSjKE.d.mts} +0 -0
- /package/dist/{types-CXrp5ldz.d.mts → types-BOsf2SVm.d.mts} +0 -0
- /package/dist/{types-CUCFeisO.d.mts → types-BZnJ_4e2.d.mts} +0 -0
- /package/dist/{types-BFv-EK2G.d.mts → types-CWgYlxjU.d.mts} +0 -0
- /package/dist/{types-BcGXdeva.d.mts → types-DZvkUmHS.d.mts} +0 -0
- /package/dist/{window-registry-Chi2qJ5k.d.mts → window-registry-Bvjvpwhn.d.mts} +0 -0
package/dist/.makaio-build.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"fingerprint": "
|
|
4
|
-
"builtAt": "2026-09-
|
|
3
|
+
"fingerprint": "9570dc3b93e7becb86bd54957d97904d430a224ecea6b904456a28e1e61406c3",
|
|
4
|
+
"builtAt": "2026-09-09T06:54:55.966Z",
|
|
5
5
|
"declarations": true,
|
|
6
6
|
"declarationBackend": "tsc"
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,d as n,i as r,l as i,n as a,r as o,x as s,y as c}from"./schemas-BahXrOYa.mjs";import{a as l,c as u,d,f}from"./kind-registration-DggkrLkv.mjs";import{t as p}from"./zod-json-schema-B9TYYq3e.mjs";import{z as m}from"zod";import{createBusNamespace as h}from"@makaio/framework/core";function g(e){let{dataSchema:t,hooks:n,...r}=e,i={$schema:`https://json-schema.org/draft/2020-12/schema`,...p(t)};d(i);let a=l.parse({...r,dataSchema:i});if(a.kind!==e.kind)throw Error(`Artifact kind identifiers must not contain surrounding whitespace`);let o=m.fromJSONSchema(a.dataSchema),s=m.unknown().superRefine((e,t)=>{let n=o.safeParse(e);if(!n.success)for(let e of n.error.issues)t.addIssue({code:`custom`,path:e.path,message:e.message})}).pipe(t).superRefine((e,t)=>{try{f(e,a.titlePath)}catch(e){t.addIssue({code:`custom`,path:a.titlePath.split(`.`),message:e instanceof Error?e.message:`Artifact title must be a nonblank string`})}});return{...structuredClone(a),kind:e.kind,schemaVersion:e.schemaVersion,dataSchema:s,...n?{hooks:n}:{},toRegistration:()=>structuredClone(a)}}function _(e){return{hooks:[...e.hooks]}}const v=[`inline`,`summary`,`link`,`omit`],y=m.string().min(1),b=m.object({kinds:m.array(m.string().min(1)).optional(),hint:y.optional(),depth:m.number().int().min(1).max(20).optional(),nested:m.lazy(()=>x).optional()}),x=m.record(m.string().min(1),b);function S(e){return JSON.stringify([e.kind,e.id,e.revision])}const C=m.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),w=m.object({target:i,sourceRef:s,relationType:m.string().min(1),hint:y,status:m.enum([`resolved`,`unresolved`]),reason:C.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:m.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),T=m.object({rootRef:s,refs:m.array(w),resolved:m.array(n)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(S));n.has(S(e.rootRef))||t.addIssue({code:m.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,r)=>{n.has(S(e.sourceRef))||t.addIssue({code:m.ZodIssueCode.custom,path:[`refs`,r,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(S(e.target))||t.addIssue({code:m.ZodIssueCode.custom,path:[`refs`,r,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function E(e){let t=T.parse(e),n=new Map(t.resolved.map(e=>[j(e),e])),r=new Map;for(let e of t.refs){let t=j(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(j(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${j(t.rootRef)}'`);let a=D(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return A(a,e),e}}}function D(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:k(e,r,i,new Set([j(e)]))}}function O(e,t,n,r,i,a,o){let s=j(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:k(e,i,a,c)}}function k(e,t,n,r){return(t.get(j(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=j(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:O(e.target,a,e.relationType,e.hint,t,n,r)})}function A(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)A(n,t)}}function j(e){return JSON.stringify([e.kind,e.id,e.revision])}const M={"kind.register":{request:l,response:m.object({registered:m.boolean()})},"kind.list":{request:m.object({kind:m.string().min(1).optional()}),response:m.object({kinds:m.array(l)})},"relation-type.register":{request:c,response:m.object({registered:m.boolean()})},"relation-type.list":{request:m.object({type:m.string().min(1).optional()}),response:m.object({relationTypes:m.array(c)})},create:{request:n.omit({id:!0,revision:!0,timestamp:!0}).extend({id:s.shape.id.optional()}),response:m.object({artifact:n})},revise:{request:m.object({previous:s,statusPath:m.string().regex(/^(?:\/(?:[^~/]|~[01])*)+$/,`Expected a data-relative JSON Pointer`).optional(),revision:n.omit({id:!0,revision:!0,timestamp:!0})}),response:m.object({artifact:n})},resolve:{request:m.object({ref:s}),response:m.object({artifact:n.nullable()})},query:{request:e,response:m.object({artifacts:m.array(n)})},compare:{request:a,response:o},resolveContext:{request:m.object({ref:s,selectors:x.optional(),maxDepth:m.number().int().min(1).max(20).default(5)}),response:m.object({context:T})},created:m.object({artifact:n}),revised:m.object({previous:s,artifact:n}),"relation.added":m.object({artifact:s,relation:t}),"observation.added":m.object({artifact:s,observation:r}),"status.changed":m.object({artifact:s,path:m.string().min(1),previous:m.unknown().optional(),current:m.unknown().optional()}),"kind.changed":m.object({kind:m.string().min(1),schemaVersion:u})},N=h(`artifact`,M),P=N.subjects;export{w as a,v as c,x as d,_ as f,E as i,b as l,M as n,C as o,g as p,P as r,T as s,N as t,y as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./ajv-Dtk5hCZS.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{NoHandlerError as d}from"@makaio/framework/bus";import{ArtifactSchemas as f,ArtifactSubjects as p,ExecutionAttemptInstructionSchema as m,ExecutionAttemptOutcomeSchema as h,ExecutionLinkListQuerySchema as g,ExecutionLinkSchema as _,ExecutionListQuerySchema as v,ExecutionStatusSchema as y,ExecutionsByArtifactRefsQuerySchema as b,GateInstanceListQuerySchema as x,JsonPatchOperationSchema as S,JsonValueSchema as C,SessionSubjects as ee,SpanRecordSchema as te,SubagentSubjects as ne,WORKFLOW_CANCELLED_REASON as re,WorkLogFrameEntrySchema as ie,WorkerSubjects as ae,WorkflowDefinitionSchema as oe,WorkflowError as se,WorkflowErrorCode as ce,WorkflowExecutionSchema as w,WorkflowFinalizationClaimSchema as le,WorkflowFinalizerIdSchema as ue,WorkflowFrameStateSchema as de,WorkflowGateInstanceSchema as T,WorkflowListQuerySchema as fe,WorkflowRunContextSchema as E,WorkflowRunResultSchema as pe,WorkflowSchemas as me,WorkflowSubjects as he,WorkflowSubjects as D,createStepCancelSubject as ge,createWorkflowDelegateResultFinalizerNamespace as _e,walkWorkflowDefinition as ve}from"@makaio/framework/contracts";import{index as O,primaryKey as ye,uniqueIndex as be}from"drizzle-orm/sqlite-core";import{index as k,primaryKey as xe,uniqueIndex as Se}from"drizzle-orm/pg-core";import{defineDualTable as A}from"@makaio/framework/storage/drizzle";import{sql as Ce}from"drizzle-orm";import{createStorageNamespaceDefinition as we}from"@makaio/framework/storage";import{evaluateSync as j,resolveTemplate as M}from"@makaio/framework/expression";import*as Te from"node:os";const Ee=A(`workflow_finalizations`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.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=>[be(`uniq_workflow_finalizations_transition`).on(e.transitionKey),O(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)],postgres:e=>[Se(`uniq_workflow_finalizations_transition`).on(e.transitionKey),k(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)]}),De=Ee.sqlite;Ee.postgres;function Oe(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 ke=A(`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`),...Oe(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=>[be(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),O(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)],postgres:e=>[Se(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),k(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)]}),Ae=ke.sqlite,N=A(`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`),...Oe(e)}),{sqlite:e=>[O(`idx_workflow_executions_status`).on(e.status),O(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),O(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)],postgres:e=>[k(`idx_workflow_executions_status`).on(e.status),k(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),k(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)]}),je=N.sqlite,Me=A(`workflow_execution_frames`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[O(`idx_workflow_execution_frames_execution`).on(e.executionId),O(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)],postgres:e=>[k(`idx_workflow_execution_frames_execution`).on(e.executionId),k(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)]}),Ne=Me.sqlite,Pe=A(`workflow_gate_instances`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[O(`idx_workflow_gate_instances_execution`).on(e.executionId),O(`idx_workflow_gate_instances_frame`).on(e.frameId)],postgres:e=>[k(`idx_workflow_gate_instances_execution`).on(e.executionId),k(`idx_workflow_gate_instances_frame`).on(e.frameId)]}),Fe=Pe.sqlite,Ie=A(`workflow_step_spans`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[ye({columns:[e.executionId,e.frameId]}),O(`idx_workflow_step_spans_status`).on(e.status)],postgres:e=>[xe({columns:[e.executionId,e.frameId]}),k(`idx_workflow_step_spans_status`).on(e.status)]}),Le=Ie.sqlite,Re=A(`workflow_execution_links`,e=>({sourceExecutionId:e.text(`source_execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),targetExecutionId:e.text(`target_execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),linkType:e.text(`link_type`).$type().notNull(),metadata:e.jsonCol(`metadata`)}),{sqlite:e=>[ye({columns:[e.sourceExecutionId,e.targetExecutionId]}),O(`idx_workflow_execution_links_target`).on(e.targetExecutionId)],postgres:e=>[xe({columns:[e.sourceExecutionId,e.targetExecutionId]}),k(`idx_workflow_execution_links_target`).on(e.targetExecutionId)]}),ze=Re.sqlite,Be=A(`workflow_run_contexts`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.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(Ce`'{}'`),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=>[O(`idx_run_contexts_workflow`).on(e.workflowId)],postgres:e=>[k(`idx_run_contexts_workflow`).on(e.workflowId)]}),Ve=Be.sqlite,He=A(`worklog_summaries`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.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=>[O(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_worklog_summaries_status`).on(e.status)],postgres:e=>[k(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_worklog_summaries_status`).on(e.status)]}),Ue=He.sqlite,We=A(`worklog_frame_entries`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[O(`idx_worklog_frame_entries_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_frame_entries_execution`).on(e.executionId)]}),Ge=We.sqlite,Ke=A(`worklog_artifact_writes`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[O(`idx_worklog_artifact_writes_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_artifact_writes_execution`).on(e.executionId)]}),qe=Ke.sqlite,Je=A(`worklog_gate_events`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[O(`idx_worklog_gate_events_execution`).on(e.executionId),O(`idx_worklog_gate_events_status`).on(e.status)],postgres:e=>[k(`idx_worklog_gate_events_execution`).on(e.executionId),k(`idx_worklog_gate_events_status`).on(e.status)]}),Ye=Je.sqlite,Xe=A(`workflow_execution_state`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull().default(0),value:e.jsonCol(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),Ze=Xe.sqlite,Qe=A(`workflow_execution_state_events`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>N.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=>[ye({columns:[e.executionId,e.sequence]})],postgres:e=>[xe({columns:[e.executionId,e.sequence]})]}),$e=Qe.sqlite,et=n.object({executionId:n.string().min(1),status:y.optional(),error:n.string().nullable().optional(),reason:n.string().nullable().optional(),completedAt:n.number().nullable().optional()}),tt=n.enum([`completed`,`failed`,`cancelled`]),nt=ie.extend({status:n.literal(`running`),startedAt:n.number().int().nonnegative()}),rt=ie.extend({status:tt,startedAt:n.number().int().nonnegative(),completedAt:n.number().int().nonnegative(),durationMs:n.number().int().nonnegative()}),it=we(`workflow`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({workflow:oe.nullable()})},set:{request:n.object({workflow:oe}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:fe,response:n.object({workflows:n.array(oe)})},getExecution:{request:n.object({executionId:n.string()}),response:n.object({execution:w.nullable()})},setExecution:{request:n.object({execution:w}),response:n.object({id:n.string()})},setExecutionStart:{request:n.object({execution:w,runContext:E,initialState:C.optional(),executionLinks:n.array(_).optional()}),response:n.object({id:n.string(),executionId:n.string()})},setExternalExecutionStart:u({request:n.object({execution:w.extend({status:n.literal(`running`)}),frame:nt.optional()}),response:n.object({executionId:n.string(),frameId:n.string().optional()})}),settleExternalExecution:u({request:n.object({executionId:n.string().min(1),status:tt,error:n.string().min(1).optional(),reason:n.string().min(1).optional(),completedAt:n.number().int().nonnegative().optional(),frame:rt.optional()}),response:n.object({success:n.boolean()})}),updateExecution:{request:et,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:le}),response:n.object({claimed:n.boolean()})}),listClaimedFinalizations:u({request:n.object({finalizerId:ue}),response:n.object({claims:n.array(le)})}),listUnpublishedFinalizations:u({request:n.object({finalizerId:ue}),response:n.object({claims:n.array(le)})}),publishFinalization:u({request:n.object({claim:le}),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(T.extend({status:n.literal(`cancelled`)}))})},listExecutions:{request:v,response:n.object({executions:n.array(w)})},listExecutionsByArtifactRefs:{request:b,response:n.object({executionsByRef:n.record(n.string(),n.array(w))})},setFrame:{request:n.object({executionId:n.string().min(1),frame:de}),response:n.object({frameId:n.string()})},getFrame:{request:n.object({frameId:n.string().min(1)}),response:n.object({frame:de.nullable()})},listFrames:{request:n.object({executionId:n.string().min(1)}),response:n.object({frames:n.array(de)})},setGateInstance:{request:n.object({gate:T}),response:n.object({id:n.string()})},resolveWaitingGateInstance:{request:n.object({gate:T.extend({status:n.enum([`resumed`,`rejected`])})}),response:n.object({accepted:n.boolean()})},restorePausedGateResumeState:{request:n.object({execution:w.extend({status:n.literal(`paused`)}),gate:T.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:T.nullable()})},listGateInstances:{request:x,response:n.object({gates:n.array(T)})},listPausedGateTimeouts:u({request:n.object({}),response:n.object({gates:n.array(T)})}),setSpan:{request:n.object({span:te}),response:n.object({id:n.string()})},listSpans:{request:n.object({executionId:n.string()}),response:n.object({spans:n.array(te)})},setExecutionLink:{request:n.object({link:_}),response:n.object({id:n.string()})},listExecutionLinks:{request:g,response:n.object({links:n.array(_)})},setRunContext:u({request:n.object({runContext:E,initialState:C.optional()}),response:n.object({executionId:n.string()})}),getRunContext:u({request:n.object({executionId:n.string().min(1)}),response:n.object({runContext:E.nullable()})}),initializeState:u({request:n.object({executionId:n.string().min(1),initialValue:C}),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:C}).nullable()})}),patchState:u({request:n.object({executionId:n.string().min(1),expectedSequence:n.number().int().nonnegative(),nextValue:C}),response:n.object({executionId:n.string().min(1),sequence:n.number().int().positive(),patch:n.array(S),value:C})})},extensions:{drizzle:{workflowDefinitions:Ae,workflowExecutions:je,workflowExecutionFrames:Ne,workflowGateInstances:Fe,workflowStepSpans:Le,workflowExecutionLinks:ze,workflowRunContexts:Ve,worklogSummaries:Ue,worklogFrameEntries:Ge,worklogArtifactWrites:qe,worklogGateEvents:Ye,workflowExecutionState:Ze,workflowExecutionStateEvents:$e,workflowFinalizations:De}}}),P=it.subjects;var at=e(t(),1);function ot(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 st(e,t){return e.origin.local?!0:ot(e)?.executionId===t}function ct(e,t){let n=[];return lt(n,``,e,t),n}function lt(e,t,n,r){if(Array.isArray(n)&&Array.isArray(r)){dt(e,t,n,r);return}if(ft(n)&&ft(r)){ut(e,t,n,r);return}ht(n,r)||e.push({op:`replace`,path:t,value:r})}function ut(e,t,n,r){let i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])).sort();for(let a of i){let i=pt(n,a),o=pt(r,a),s=`${t}/${mt(a)}`;if(!i&&o){e.push({op:`add`,path:s,value:r[a]});continue}if(i&&!o){e.push({op:`remove`,path:s});continue}lt(e,s,n[a],r[a])}}function dt(e,t,n,r){let i=Math.min(n.length,r.length);for(let a=0;a<i;a++)lt(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 ft(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function pt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function mt(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function ht(e,t){return Object.is(e,t)}const gt={stepTimeoutMs:300*1e3,stepCooldownMs:500,busAuth:{kind:`none`},platformDefaults:{cwd:process.cwd()},cancelTimeoutMs:1e4},_t=new at.default({allErrors:!0,strict:!1}),vt=new Map,yt=new Map;function bt(e){let t=e.$id;return typeof t==`string`?t:void 0}function xt(e,t,n){let r=bt(t);return r===void 0?`workflow:${e}:${n}`:`schema-id:${r}`}function St(e,t){try{return JSON.stringify(Ct(t))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function Ct(e){if(Array.isArray(e))return e.map(Ct);if(typeof e!=`object`||!e)return e;let t=e;return Object.fromEntries(Object.keys(t).sort().map(e=>[e,Ct(t[e])]))}function wt(e,t,n){let r=yt.get(t);if(r!==void 0&&r!==n)throw Error(`Workflow '${e}' state schema reuses JSON Schema $id '${t}' with different content`);return _t.getSchema(t)}function Tt(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 Et(e,t){let n=St(e,t),r=xt(e,t,n),i=vt.get(r);if(i!==void 0)return i;let a=bt(t);if(a!==void 0){let t=wt(e,a,n);if(t!==void 0)return vt.set(r,t),t}try{let e=_t.compile(t);return vt.set(r,e),a!==void 0&&yt.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 Dt(e,t,n){if(e.state===void 0)return;let r=Et(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: ${Tt(r.errors)}`)}function Ot(e){if(e.state===void 0)return;let t=e.state.initial===void 0?{}:e.state.initial;return Dt(e,t,`initial`),t}function kt(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function At(e,t,n){let r=e?M(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 jt(e){return e instanceof Error&&(`code`in e||`killed`in e)}function Mt(e){let t=e[0];return t===void 0||t.trim()===``?null:t}function Nt(e){let{command:t,cwd:n,env:i,timeoutMs:a,signal:o}=e,s=Mt(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 Pt(e){let{step:t,workspaceRoot:n,expressionContext:r,signal:i}=e,a=At(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=>M(e,r));if(Mt(o)===null)return{status:`failed`,error:`Shell step command is empty`};let s=Object.fromEntries(Object.entries(t.env??{}).map(([e,t])=>[e,M(t,r)])),c=t.timeoutMs??3e5;try{let{stdout:e}=await Nt({command:o,cwd:a,env:s,timeoutMs:c,signal:i});return{status:`completed`,stdout:e}}catch(e){if(!jt(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 Ft(e,t,n){if(!(await e.request(P.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 It(e,t){return e===t||t===`completed`&&e===`finalizing`}async function Lt(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 F(e,t,n,r,i){let a,o,s=!0,c=await Lt(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 Rt(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(P.failFinalization,{executionId:n.executionId,claimToken:n.claimToken,error:r,settledAt:i});return}}async function zt(e){for(let t of e.successFinalizers?.values()??[]){let{claims:n}=await e.bus.request(P.listClaimedFinalizations,{finalizerId:t.finalizerId});for(let r of n)await Rt(e,t,r);let{claims:r}=await e.bus.request(P.listUnpublishedFinalizations,{finalizerId:t.finalizerId});for(let t of r)await e.bus.request(P.publishFinalization,{claim:t})}}async function Bt(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 I(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 F(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status!==`running`||!(await e.bus.request(P.claimFinalization,{claim:i})).claimed?!1:(t.status=`finalizing`,e.activeExecutions.delete(n),!0),async t=>{t&&await Rt(e,a,i)});return}let o=Date.now();await F(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`completed`,t.completedAt=o,await Ft(e.bus,t,{status:t.status,completedAt:o}),e.activeExecutions.delete(n),!0):!1,async i=>{i&&await e.bus.emit(D.execution.completed,{executionId:n,workflowId:t.workflowId,totalDuration:o-r,completedAt:o})})}async function I(e,t,n,r,i){let a=Date.now();await F(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`failed`,t.error=r,t.completedAt=a,await Ft(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(D.execution.failed,{executionId:n,workflowId:t.workflowId,error:r,completedAt:a})}})}function Vt(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(ge(o.cancelSubject),{executionId:t,stepId:r,reason:n}).catch(t=>{console.error(`[WorkflowFinalizer] Failed to emit cancellation for ${e}:`,t)})}}async function Ht(e,t,n){let r=await e.bus.request(P.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(P.cancelPausedExecution,{executionId:t,completedAt:a,reason:n});if(o)return e.activeExecutions.delete(t),{workflowId:i,completedAt:a,gates:s}}async function Ut(e,t,n,r=`converge`){let{execution:i}=await e.bus.request(P.getExecution,{executionId:t});if(i?.status!==`running`&&i?.status!==`paused`)return;if(r===`request`&&await e.requestAttemptCancellation?.(t,n),i?.status!==`running`)return Ht(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));Vt(e,t,n),await Ft(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 Wt(e,t,n){return Kt(e,t,n,`converge`)}async function Gt(e,t,n){return Kt(e,t,n,`request`)}async function Kt(e,t,n,r){return await F(e,t,()=>Ut(e,t,n,r),async r=>{if(r!==void 0){for(let n of r.gates)await e.bus.emit(D.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(D.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}function qt(e,t){return t}function Jt(e,t){return{...t}}function Yt(e){return e.reason instanceof Error?e.reason.message:typeof e.reason==`string`&&e.reason.length>0?e.reason:re}async function Xt(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(P.getExecution,{executionId:t});a?.status===`running`&&(r.execution=a,await Wt(i,t,Yt(n))||console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${t}: execution not active`))}async function Zt(e,t){if(t.pausedAtGateId===void 0||t.pausedAtFrameId===void 0)throw Error(`Paused runner result for '${t.executionId}' is missing gate identity`);let n=e.buildFinalizerDeps();await F(n,t.executionId,async()=>{let{paused:r}=await n.bus.request(P.pauseRunningExecution,{executionId:t.executionId});if(!r){let{execution:e}=await n.bus.request(P.getExecution,{executionId:t.executionId});if(e?.status!==`paused`)return!1}let i=e.activeExecutions.get(t.executionId);return i!==void 0&&(i.execution.status=`paused`),e.activeExecutions.delete(t.executionId),r},async e=>{e&&await n.bus.emit(D.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId})})}async function Qt(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(P.getExecution,{executionId:t.executionId});if(i?.status===`running`){if(n.execution=i,t.status===`completed`){await Bt(r,n.execution,t.executionId,n.execution.startedAt);return}if(t.status===`cancelled`){await Wt(r,t.executionId,t.reason??re);return}if(t.status===`failed`){await I(r,n.execution,t.executionId,t.error);return}}}async function $t(e,t){let{result:n}=t;if(t.state===`authority-committed`){let{execution:t}=await e.buildFinalizerDeps().bus.request(P.getExecution,{executionId:n.executionId}),r=t?.status===`cancelled`&&n.status===`failed`&&e.workflowAbortControllers.get(n.executionId)?.signal.aborted===!0;if(!t||t.workflowId!==n.workflowId||!It(t.status,n.status)&&!r)throw Error(`Authority-committed runner result was not durably converged for '${n.executionId}'`);e.activeExecutions.delete(n.executionId);return}if(n.status===`paused`){await Zt(e,n);return}await Qt(e,n)}function en(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 tn(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=en(e,t),l=an(e,n,s.signal);return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{await $t(e,t)}).catch(async t=>{if(s.signal.aborted){await Xt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await I(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function nn(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 rn(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=nn(e,t),l={...an(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 $t(e,t)}).catch(async t=>{if(s.signal.aborted){await Xt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await I(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function an(e,t,n){return{withAttemptCreation:r=>{let i=e.buildFinalizerDeps();return Lt(i,t,async()=>{n.throwIfAborted();let{execution:e}=await i.bus.request(P.getExecution,{executionId:t});if(n.throwIfAborted(),e?.status!==`running`)throw Error(`Execution '${t}' no longer permits attempt creation`);return r()})}}}function on(e,t,n={}){let r=sn(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 sn(e,t){return t.resume===!0?{...e.dispatchMetadata,resume:!0}:e.dispatchMetadata}const cn=/(?:^|[_-])(authorization|token|cookie|password|set[_-]?cookie|api[_-]?key|secret|credential|private[_-]?key|api[_-]?secret)(?:$|[_-])/i;function ln(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=un(e,i,0,t);r!==void 0&&(n[e]=r)}return Object.keys(n).length>0?n:void 0}function un(e,t,n,r){if(!(r.remainingBytes<=0||n>6)&&(r.remainingBytes-=e.length,!(r.remainingBytes<=0))){if(cn.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=un(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=un(t,a,n+1,r);i!==void 0&&(e[t]=i)}return e}}}async function dn(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 fn({authority:t,executionId:n,executionAttemptId:o.executionAttemptId,outcomePromise:s,dispatchError:e})}return s}async function fn(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 pn=`workflow`,mn=`1`,L=E.shape,hn=n.object({executionId:L.executionId,workflowId:L.workflowId,source:L.source,definitionSnapshot:L.definitionSnapshot,inputs:L.inputs,config:L.config,scope:L.scope,triggerPayload:L.triggerPayload,triggerMode:L.triggerMode,artifactRef:L.artifactRef,coordinatorSessionId:L.coordinatorSessionId,cancelSubject:L.cancelSubject,materializationSpec:L.materializationSpec,terminalAuthority:n.literal(`authority`)}).strict().superRefine((e,t)=>{let n=E.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 gn(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 hn.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 _n(e){let t=gn(e.config,e.runContext),n=JSON.parse(JSON.stringify(t));return m.parse({id:e.id,revision:e.revision,workload:{kind:pn,version:`1`,input:n},...e.workspace===void 0?{}:{workspace:e.workspace},preservation:e.preservation})}function vn(e){if(e.workload.kind!==`workflow`||e.workload.version!==`1`)throw Error(`Instruction does not target the supported workflow workload adapter`);return hn.parse(e.workload.input)}const yn=h.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)),bn=n.union([pe,yn]),xn={parse:e=>bn.parse(e),serialize:e=>JSON.stringify(e)};function Sn(e){let t=h.parse(e.outcome);if(t.kind===`technical-failure`||t.kind===`cancelled`)return t;let n=vn(e.instruction),r=pe.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 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 pe.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(P.getRunContext,{executionId:e.executionId},{signal:a})).runContext:void 0;a.throwIfAborted();let u=_n({id:c(),revision:`1`,config:e,...l==null?{}:{runContext:l},preservation:{required:[]}});return{state:`authority-committed`,result:Cn(await dn({authority:i,executionId:e.executionId,instruction:u,withAttemptCreation:s?.withAttemptCreation,dispatch:i=>t.request(ae.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).finally(()=>{e.executionTasks.delete(t.executionId)}):rn(e.buildRunnerTaskDeps(n.runner),{...t,terminalAuthority:t.terminalAuthority??n.runner.terminalAuthority})}async function On(e,t,n,r){let i=Ot(r);await e.request(P.setExecutionStart,{execution:t,runContext:n,initialState:i})}async function kn(e,t){try{await e.emit(D.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 An(e,t){await e.request(ee.close,{sessionId:t}).catch(e=>{console.error(`[WorkflowExecutor] Failed to close coordinator session "${t}" after launch failure:`,e)})}function jn(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 Mn(e,t,n,r,i){await e.request(P.setExecutionStart,{execution:t,runContext:n,...r===void 0?{}:{initialState:r},...i!==void 0&&i.length>0?{executionLinks:[...i]}:{}})}function Nn(e,t){return e.executableSource??{kind:`definition`,workflowId:t}}function Pn(e,t){return e.kind===`definition`||t!==void 0}function Fn(e,t,n){if(!(t.kind===`definition`||e!==void 0))throw new se(ce.NOT_EXECUTABLE,`Workflow source execution '${n}' requires a workflow runner.`)}async function In(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 Ln(e,t,n){let r=await In(e,t,n);return{source:t.source.kind===`path`&&r!==void 0?{kind:`path`,path:r.sourcePath}:t.source,materializationSpec:r}}async function Rn(e,t,n,r){return e.set(t,n),await r,t}async function zn(e,t){let{workflow:n}=await e.request(P.get,{id:t});if(!n)throw Error(`Workflow not found: ${t}`);return n}async function Bn(e,t,n,r){let{sessionId:i}=await e.request(ee.create,{parentSessionId:t,branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function Vn(e,t,n={}){let r=await zn(e.bus,t);return Hn(e,t,{...n,workflow:r})}async function Hn(e,t,n){let{bus:r,activeExecutions:i,executionTasks:a}=e,{workflow:o,parentSessionId:s,triggerPayload:c,artifactRef:l,scopeOverride:u}=n,d=kt(`wfx`),f=ln(c),p=qt(o,n.input===void 0?{}:n.input),m=Jt(o,n.config??{}),h=u??o.scope,g=await e.resolveExecutionWorkspaceRoot(s),_=n.executionSource??Nn(o,t),v=n.definitionSnapshot??o,y=En(e,{workflow:o});Fn(y.runner,_,t);let{source:b,materializationSpec:x}=await Ln(e,{executionId:d,workflowId:t,source:_,workspaceRoot:g},n.materializationSpec),S=await Bn(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=jn(i,d,o,S,p,m,f,h,s);await Mn(r,c,s,_.kind===`definition`?Ot(o):void 0,n.executionLinks?.(d));let u=kn(r,c),g=Dn(e,{executionId:d,workflowId:t,workflow:o,...Pn(_,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,Rn(a,d,g,u)}catch(e){throw C||(i.delete(d),a.delete(d),await An(r,S)),e}}function Un(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 Wn(e,t,n,r){let{sessionId:i}=await e.request(ee.create,{...t===void 0?{}:{parentSessionId:t},branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}function Gn(e){if(e===void 0)throw Error(`[WorkflowExecutor] startFileExecution called without a workflow runner`);return e}function Kn(e){if(e===void 0)throw Error(`[WorkflowExecutor] path-backed execution requires a resolved materializationSpec`);return e}async function qn(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=kt(`wfx`),f=ln(c),p=n.input===void 0?{}:n.input,m=n.config??{},h=l??{type:`global`},g=await e.resolveExecutionWorkspaceRoot(s),_=Gn(e.workflowRunner),v=d,y=Kn(await In(e,{executionId:d,workflowId:v,source:{kind:`path`,path:t},workspaceRoot:g},n.materializationSpec)),b=await Wn(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 Mn(r,x,s,void 0,n.executionLinks?.(d)),Un(i,x,t,h,s);let c=kn(r,x),l=tn(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,Rn(a,d,l,c)}catch(e){throw S||(i.delete(d),a.delete(d),await An(r,b)),e}}function Jn(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 R(e){let t={...e,input:e.inputs,steps:e.frames};return{...t,ctx:t}}function Yn(e,t){let n=process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`;return{repoPath:e??process.cwd(),makaioHome:t??process.env.MAKAIO_HOME??`${Te.homedir()}/.makaio`,os:n,arch:process.arch}}function Xn(){return{context:Yn(),env:{}}}function Zn(e){return{...e,path:[...e.path]}}function Qn(e){if(e===`station`||e===`delegate-agent`||e===`delegate-role`||e===`gate`)return e}function $n(e,t){let n=Qn(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 er=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=Xn(),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=kt(`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=Zn(e),i=$n(this.executionId,r),a=(this.framePersistenceTasks.get(e.frameId)??Promise.resolve()).catch(()=>void 0).then(async()=>{n?await this.bus.request(P.setFrame,{executionId:this.executionId,frame:r}):await this.bus.requestOptional(P.setFrame,{executionId:this.executionId,frame:r}),i!==void 0&&await this.bus.requestOptional(P.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(D.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(D.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(D.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 tr(e){return{kind:`workflow-execution`,id:e,displayName:`Workflow Engine`}}function nr(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 rr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ir(e){if(e!=null){if(rr(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 ar(e){if(e!==void 0){if(rr(e))return e;throw Error(`Artifact create expression must return an object.`)}}async function or(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(p.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(p.create,{kind:n.kind,schemaVersion:n.schemaVersion,scope:a??n.scope,data:o,relations:[],actor:tr(i)})).artifact}return{current:c,schemaVersion:n.schemaVersion,statusPath:t.statusPath,zodSchema:t.schema}}async function sr(e){let{definition:t,execution:n,runContext:r,zodSchema:i,bus:a}=e,o=t.artifact;if(o===void 0)return;let s=nr(t,n,r),c=r.artifactRef??(o.resolve===void 0?void 0:ir(j(o.resolve,s))),l=c===void 0&&o.create!==void 0?ar(j(o.create,s)):void 0,u=await or({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 cr=new WeakMap;function lr(e,t){let n=(cr.get(e)??Promise.resolve()).catch(()=>void 0).then(t);return cr.set(e,n.then(()=>void 0,()=>void 0)),n}function ur(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 dr(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]:dr(a,i,n)}}function fr(e,t,n){return dr(e,pr(t).slice(1).split(`/`).map(e=>e.replace(/~1/g,`/`).replace(/~0/g,`~`)),n)}function pr(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 f.revise.request.shape.statusPath.unwrap().parse(t)}function mr(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 hr(e,t){if(typeof t==`function`)return{nextData:await t(Object.freeze({...e})),operationLabel:`functional`,changedPaths:[]};let n=ur(e,t),r=mr(e,n,t.operation);return{nextData:n,operationLabel:t.operation,changedPaths:r}}function gr(e){let{executionId:t,frameId:n,bindingState:r,bus:i}=e,a=Object.freeze({...r.current.data}),o=async e=>lr(r,async()=>{let a=r.statusPath===void 0?void 0:pr(r.statusPath),o=r.current,{nextData:s,operationLabel:c,changedPaths:l}=await hr(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(p.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:tr(t)}});r.current=u.artifact;let d=u.artifact.revision;return i.emit(he.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=>fr(n,t,e))}}}function _r(e,t){return{async get(){return(await t.request(D.state.get,{executionId:e})).value},async update(n){let r=await t.request(D.state.get,{executionId:e}),i=structuredClone(r.value),a=await n(i),o=a===void 0?i:a,s=ct(r.value,o);return(await t.request(D.state.patch,{executionId:e,expectedSequence:r.sequence,patch:s,nextValue:o})).value}}}function vr(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 yr(e,t,n){if(t.signal.aborted)return{status:`cancelled`};let r=await t.bus.requestOptional(D.resolveRole,{roleId:e.roleId});if(!r.handled)return{status:`failed`,error:e.unresolvedRoleError};let i=M(e.prompt,R(n)),a=e.completion===void 0?r.data:{...r.data,completion:e.completion};return br({...e,task:i,resolvedConfig:a},t)}async function br(e,t){if(t.signal.aborted)return{status:`cancelled`};let n=performance.now(),r=await t.bus.requestOptional(ne.spawn,{parentSessionId:t.execution.coordinatorSessionId??t.executionId,depth:1,config:Dr(e.task,e.resolvedConfig,e.outputSchema)});if(!r.handled)return{status:`failed`,error:e.unavailableRuntimeError};let i=await Cr(e,t,r.data.subagentId,{attempts:5}),a=await Or(e,t,r.data.subagentId);if(a===`aborted`)return{status:`cancelled`};if(i||await Cr(e,t,r.data.subagentId,{attempts:1}),!a.handled)return await z(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 xr({...e,toolObservations:a.data.toolObservations,usage:a.data.usage},t,r,Sr(n))}}catch(e){if(t.signal.aborted)return{status:`cancelled`};throw e}}return(a.data.status===`timeout`||a.data.status===`waiting_input`)&&await z(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 xr(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:vr(e.resolvedConfig,r,e.usage)}},a=await t.bus.requestOptional(D.finalizeDelegateResult,i,{signal:t.signal});if(a.handled)return a.data.output;let{subjects:o}=_e(e.resultFinalizerId),{finalizerId:s,...c}=i;return(await t.bus.request(o.finalize,c,{signal:t.signal})).output}function Sr(e){let t=performance.now()-e;return!Number.isFinite(t)||t<=0?0:Math.min(2**53-1,Math.round(t))}async function Cr(e,t,n,r){if(e.frameId===void 0)return!0;try{let i=await wr(t,n,r.attempts);return i===void 0?!1:(await t.bus.emit(D.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 wr(e,t,n){for(let r=0;r<n;r+=1){if(e.signal?.aborted)return;let i=await Tr(e,t);if(i===void 0||!i.handled)return;if(i.data.childSessionId!==void 0)return i.data.childSessionId;if(r<n-1&&!await Er(e.signal,20))return}}async function Tr(e,t){try{return await e.bus.requestOptional(ne.getStatus,{subagentId:t},{timeout:25,signal:e.signal})}catch{return}}function Er(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 Dr(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 Or(e,t,n){if(t.signal.aborted)return await z(e,t,n),`aborted`;let r=t.bus.requestOptional(ne.await,{subagentId:n,...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}},{timeout:0});if(t.signal.aborted)return await z(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 z(e,t,n),i}catch(r){throw await z(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 z(e,t,n,r){try{await t.bus.requestOptional(ne.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 kr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=Jn(n.frames),a=t.runtimeHandlers.get(e.id);if(a===void 0)return Ar(e,t,n,r);let o=t.artifactBinding!==void 0&&r!==void 0?gr({executionId:t.executionId,frameId:r,bindingState:t.artifactBinding,bus:t.bus}):void 0,s=t.definition.state===void 0?void 0:_r(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=me[`execution.progress`].parse({executionId:t.executionId,workflowId:t.workflowId,frameId:r,nodeId:e.id,progress:n,emittedAt:Date.now()});try{await t.bus.emit(D.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 Ar(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 yr({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 jr(e,t){return t===void 0?e:{...e,tools:[...t],disallowedTools:void 0}}function Mr(e,t){let n=jr({...t,...e.completion===void 0?{}:{completion:e.completion}},e.allowedTools);return Pr(n)?{...n,contextMode:`fresh`}:n}function Nr(e,t){return jr({...t,completion:e.completion??t.completion??`tool`},e.allowedTools)}function Pr(e){return e.completion===`turn`&&[e.harnessId,e.contextMode,e.adapterConfig,e.tools,e.disallowedTools,e.allowedDirectories].every(e=>e===void 0)}async function Fr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.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=Lr(e,n);if(a.status===`failed`)return a;let o=e.outputSchema===void 0?void 0:{schema:e.outputSchema},s=Nr(e,i.data);return br({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 Ir(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.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=M(e.prompt,R(n)),s=Mr(e,i.data);return br({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 Lr(e,t){try{let n=R(t);return{status:`completed`,task:Rr(e.inputExpression===void 0?n:j(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 Rr(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function zr(e,t,n,r){try{let i=j(n,R(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 Br(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 Vr(e,t,n){return Br(e.body,t,n)}function Hr(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 Ur=new Set([`completed`,`skipped`,`waiting`]);function B(e,t,n){let r=e?.byNodeId.get(t)??[],i=n.statuses??Ur;return r.find(e=>e.parentFrameId===n.parentFrameId&&e.branchKey===n.branchKey&&e.iteration===n.iteration&&i.has(e.status))}function V(e,t,n){let r={...e.frames,[t]:n};return{...e,frames:r,previousSteps:Jn(r),output:n.status===`completed`?n.output:e.output}}function Wr(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 Gr=new Set([`completed`,`running`]);function Kr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function qr(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:Xr({},o)};let c=new AbortController,l=new AbortController,u=t.suspensionStrategy!==`wait-in-process`,d=o===`fail-fast`?Wr(c.signal,l.signal):u?l.signal:void 0,f=d===void 0?t.signal:Wr(t.signal,d),p=f===t.signal?t:t.withSignal(f),m=s.map(([s,c])=>Jr(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:Xr(Zr(s,e),o)}:t}let h=await Yr(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:Xr(Zr(s,h.outcomes),o)}}async function Jr(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l=B(r.resumeFrames,n.id,{parentFrameId:o,branchKey:e,statuses:Gr});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 Kr(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=Br(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 Kr(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 Yr(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 Xr(e,t){return{mode:t,branches:e}}function Zr(e,t){let n={};for(let r=0;r<e.length;r++){let[i]=e[r],a=t[r];n[i]=Qr(a)}return n}function Qr(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 $r=new at.default({allErrors:!0,strict:!1});function H(e,t){if(t===void 0)return{status:`ok`};try{return{status:`ok`,validator:$r.compile(t)}}catch(t){return{status:`failed`,error:`Gate '${e}' has an invalid resumeSchema: ${t instanceof Error?t.message:String(t)}`}}}function U(e,t){return e===void 0||e(t)?{valid:!0}:{valid:!1,error:ti(e.errors??[])}}function ei(e,t,n){let r=H(e,t);return r.status===`failed`?{valid:!1,error:r.error}:U(r.validator,n)}function ti(e){return e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`/`} ${e.message??`is invalid`}`).join(`; `)}function ni(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const ri={action:`approve`,source:`timeout`};function ii(e){return e===void 0?{}:{reason:e}}async function ai(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=ni();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 oi(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=U(i,ri);return s.valid?(await W(e,{...r,status:`resumed`,resumeData:ri,resolvedAt:a},o),await G(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:{resumeData:ri}}):(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,...ii(a.reason),resolvedAt:s},o);try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:a.resumeData}),await G(e,t.id,n,{action:a.action,source:`user`,...ii(a.reason)})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return{status:`completed`,output:{resumeData:a.resumeData}}}async function si(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=e.resumeSchema??{};if(t.suspensionStrategy!==`wait-in-process`){let n=await di(t,e,r);if(n!==void 0)return n}let a=H(e.id,e.resumeSchema);return a.status===`failed`?{status:`failed`,error:a.error}:ci(t,e,n,r,i,a.validator)}async function ci(e,t,n,r,i,a){let o=M(t.prompt,R(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 li(e,t,r,i,o,s.createdAt),{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:r};let l={value:!0},u=ni(),f=e.bus.on(D.gate.respond,async n=>{let{executionId:i,gateId:o,frameId:s,action:c,resumeData:f,reason:p}=n.payload;if(i!==e.executionId||o!==t.id||s!==void 0&&s!==r){try{await n.next()}catch(e){if(e instanceof d)n.setResult({accepted:!1});else throw e}return}if(!l.value){n.setResult({accepted:!1});return}if(!U(a,f).valid){n.setResult({accepted:!1});return}l.value=!1,n.setResult({accepted:!0}),u.resolve({action:c,resumeData:f,reason:p})});await li(e,t,r,i,o,s.createdAt);let p=await ai(u,l,e.signal,t.timeoutMs);return f(),oi(e,t,r,s,a,p)}async function li(e,t,n,r,i,a){try{await e.bus.emit(D.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 ui(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function di(e,t,n){let r=await ui(e,t.id,n);if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData!==void 0){let i=ei(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(D.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`,...ii(r.reason)}),{status:`completed`,output:{resumeData:r.resumeData}}}if(r?.status===`waiting`){if(r.timeoutMs!==null&&Date.now()>=r.createdAt+r.timeoutMs){let i=H(t.id,r.schema);return i.status===`failed`?{status:`failed`,error:i.error}:oi(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(P.setGateInstance,{gate:t}):await e.bus.requestOptional(P.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(D.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 fi=new Set([`completed`,`running`]);function pi(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function mi(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=zr(e.id,`iterate`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:vi([])};let c=await hi(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:vi(c)}:{status:`paused`,pausedAtGateId:l.pausedAtGateId,pausedAtFrameId:l.pausedAtFrameId}}async function hi(e,t,n,r,i,a,o,s){let c=new AbortController,l=n.suspensionStrategy!==`wait-in-process`,u=l?Wr(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)=>_i(e,n,t,d,r,i,a,o,f));return Promise.all(l?n.map(e=>gi(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(_i(e[s],s,t,d,r,i,a,o,f));let h=await Promise.all(l?m.map(e=>gi(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 gi(e,t){return e.then(e=>(e.status===`paused`&&t.abort(),e))}async function _i(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l={...i,item:e,index:t},u=B(r.resumeFrames,n.id,{parentFrameId:o,iteration:t,statuses:fi});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 pi(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=Vr(n,d.frameId,r);return await Z(d,r,e),K(e)}case`skipped`:return await Z(d,r),K();case`cancelled`:return pi(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 vi(e){return{items:e}}const yi=new Set([`completed`,`running`]);async function bi(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=zr(e.id,`iterate-chain`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:Si([])};let c=[],l;for(let o=0;o<s.length;o++){if(t.signal.aborted)return{status:`cancelled`};let u=s[o],d=await xi(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:Si(c)}}async function xi(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=B(i.resumeFrames,r.id,{parentFrameId:s,iteration:t,statuses:yi});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=Vr(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 Si(e){return{items: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=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 wi={action:`approve`,source:`timeout`};async function q(e,t,n){try{n?await e.bus.request(P.setGateInstance,{gate:t}):await e.bus.requestOptional(P.setGateInstance,{gate:t})}catch(e){if(n)throw e;console.warn(`[LoopNode] Failed to upsert escalation gate for '${t.nodeId}':`,e)}}async function Ti(e,t,n,r,i,a){try{await e.bus.emit(D.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(D.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 Ei(e){let{node:t,ctx:n,parentFrameId:r,validator:i,pending:a,deferred:o}=e;return n.bus.on(D.gate.respond,async e=>{let{executionId:s,gateId:c,frameId:l,action:u,resumeData:f,reason:p}=e.payload;if(s!==n.executionId||c!==t.id||l!==void 0&&l!==r){try{await e.next()}catch(t){if(t instanceof d)e.setResult({accepted:!1});else throw t}return}if(!a.value){e.setResult({accepted:!1});return}if(!U(i,f).valid){e.setResult({accepted:!1});return}a.value=!1,e.setResult({accepted:!0}),o.resolve({action:u,resumeData:f,reason:p})})}async function Di(e,t,n,r,i,a,o){let s=H(e.id,e.gate.escalation?.resumeSchema);if(s.status===`failed`)return{status:`failed`,error:s.error};let c={value:!0},l=ni(),u=Ei({node:e,ctx:t,parentFrameId:n,validator:s.validator,pending:c,deferred:l});await Ti(t,e,n,r.schema,r.prompt??``,r.createdAt);try{let s=await Ci(l,c,t.signal,r.timeoutMs);return s.status===`timed-out`?Ai(t,e,n,r,i,a,o,!1):s.status===`resolved`?Oi(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 Oi(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(D.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 ki(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=M(s.prompt,R(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 Ti(t,e,r,l,c,u.createdAt),{status:`paused`,pausedAtGateId:e.id,pausedAtFrameId:r}):Di(e,t,r,u,i,a,o)}async function Ai(e,t,n,r,i,a,o,s=!0){let c=Date.now();if(r.autoAction===`approve`){let l=ei(t.id,r.schema,wi);return l.valid?(await q(e,{...r,status:`resumed`,resumeData:wi,resolvedAt:c},s),await J(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:Y(`escalate`,a,i,o,wi)}):(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 ji(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function Mi(e,t,n,r,i,a){let o=await ji(e,t.id,n);if(o!==null){if((o.status===`resumed`||o.status===`rejected`)&&o.resumeData!==void 0){let s=ei(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(D.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?Ai(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 Ni=new Set([`completed`,`running`]);async function Pi(e,t,n,r,i,a,o){let s=B(n.resumeFrames,e.id,{parentFrameId:a,iteration:t,statuses:Ni});if(s?.status===`completed`)return{terminal:!1,output:s.output??null,replayed:!0,gateExpressionCtx:Ii(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 Li(e,c,n,r,i);if(l!==void 0)return{terminal:!0,outcome:l};let u=Br(e.body,c.frameId,n)??null;return await Z(c,n,u),{terminal:!1,output:u,replayed:!1,gateExpressionCtx:Ii(e,n,r,c.frameId)}}function Fi(e,t,n,r){return B(n.resumeFrames,e.id,{parentFrameId:r,iteration:t,statuses:Ni})!==void 0}function Ii(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=V(i,n.id,{status:`completed`,...e.output===void 0?{}:{output:e.output}}))}return i}async function Li(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 Ri(e,t,n,r,i){let a=null;if(e.gate.input!==void 0)try{let t=R(r);a=j(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 zi(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 Pi(e,c,t,n,r,i,a);if(l.terminal)return l.outcome;if(s.push(l.output),l.replayed){if(c++,Fi(e,c,t,i))continue;if(e.gate.escalation!==void 0&&t.suspensionStrategy!==`wait-in-process`){let n=await Mi(t,e,i,{kind:`escalate`,reason:`resumed_from_gate`},c,s);if(n!==void 0)return n}continue}let u=Ri(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)}:ki(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 Bi(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 Vi(e,t){return!!j(e,R(t))}async function Hi(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 kr(e,t,n,i);case`delegate-agent`:return Fr(e,t,n,i);case`delegate-role`:return Ir(e,t,n,i);case`parallel`:return qr(e,t,n,r,i??``,a,e.mode??`all-settled`);case`gate`:return si(e,t,n,i??``);case`iterate`:return mi(e,t,n,r,i??``,a);case`iterate-chain`:return bi(e,t,n,r,i??``,a);case`loop`:return zi(e,t,n,r,i??``,a);default:return{status:`failed`,error:`Unknown node type: ${String(e.type)}`}}}const Ui=new Set([`completed`,`skipped`,`waiting`,`running`]);function Wi(e){return e.type===`parallel`||e.type===`iterate`||e.type===`iterate-chain`||e.type===`loop`}function Gi(e,t,n){return B(e.resumeFrames,t.id,{parentFrameId:n,...Wi(t)?{statuses:Ui}:{}})}function Ki(e,t,n){if(n?.status===`completed`)return V(e,t.id,{status:`completed`,...n.output===void 0?{}:{output:n.output}});if(n?.status===`skipped`)return V(e,t.id,{status:`skipped`})}async function qi(e,t,n,r,i,a,o){try{return{result:Vi(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 Ji(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 Hi(e,t,n,Yi,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:V(n,e.id,{status:`completed`,output:s.output})};case`skipped`:return await Bi(o,t),{updatedCtx:V(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 Yi(e,t,n,r,i=[]){let a=n;for(let n of e.nodes){if(t.signal.aborted)return{status:`cancelled`};let e=Gi(t,n,r),o=Ki(a,n,e);if(o!==void 0){a=o;continue}if(n.when!==void 0){let e=await qi(n.when,`when`,n,t,a,i,r);if(`status`in e)return e;if(!e.result){await Bi(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=V(a,n.id,{status:`skipped`});continue}}if(n.skip!==void 0){let e=await qi(n.skip,`skip`,n,t,a,i,r);if(`status`in e)return e;if(e.result){await Bi(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=V(a,n.id,{status:`skipped`});continue}}let s=e?.status===`waiting`&&n.type===`gate`||(e?.status===`running`||e?.status===`waiting`)&&Wi(n)?e:void 0,{updatedCtx:c,outcome:l}=await Ji(n,t,a,i,r,s);if(a=c,l!==void 0)return l}return{status:`completed`}}function Xi(e,t){let n=new Set;if(ve(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 Zi=new Set;async function Qi(e,t,n){if((await e.requestOptional(P.getRunContext,{executionId:t.executionId})).handled){await $i(e,t.executionId,n);return}await e.request(D.bootstrapAuthorityState,{executionId:t.executionId,terminalAuthority:`authority`,definition:n})}async function $i(e,t,n){return await ea(e,t,n)!==void 0}async function ea(e,t,n){let r=await e.request(P.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(P.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`}});return}if(!ta(i,n))throw Error(`Authority bootstrap definition mismatch for '${t}'`);let a=i;return await e.request(P.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`,definitionSnapshot:a},initialState:Ot(a)}),a}function ta(e,t){return i(JSON.parse(JSON.stringify(e)),JSON.parse(JSON.stringify(t)))}function na(e,t){return e.on(D.bootstrapAuthorityState,async n=>{if(!st(n,n.payload.executionId))throw Error(`authority state bootstrap is execution-bound`);let r=await ea(e,n.payload.executionId,n.payload.definition);if(r!==void 0){t?.(n.payload.executionId,r);for(let t of Zi)await t({bus:e,executionId:n.payload.executionId,definition:r,transport:n.transport})}n.setResult({persisted:r!==void 0})})}export{$e as $,I as A,ct as B,hn as C,on as D,dn as E,Lt as F,Ae as G,ot as H,kt as I,Me as J,ke as K,Pt as L,It as M,zt as N,Qt as O,Gt as P,Xe as Q,Dt as R,mn as S,vn as T,it as U,st as V,P as W,Re as X,ze as Y,Ze as Z,bn as _,De as _t,ni as a,Ve as at,xn as b,D as bt,sr as c,Ie as ct,On as d,Ge as dt,Qe as et,Vn as f,We as ft,En as g,He as gt,Dn as h,Ue as ht,Yi as i,Pe as it,Bt as j,Wt as k,er as l,qe as lt,Hn as m,Je as mt,na as n,N as nt,ei as o,Be as ot,qn as p,Ye as pt,Ne as q,Xi as r,Fe as rt,Hr as s,Le as st,Qi as t,je as tt,Yn as u,Ke as ut,Sn as v,Ee as vt,_n as w,pn as x,Cn as y,me as yt,gt as z};
|
package/dist/bus/index.d.mts
CHANGED
|
@@ -3781,25 +3781,6 @@ declare const CanonicalModelSelectionSchema: z.ZodObject<{
|
|
|
3781
3781
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3782
3782
|
mcpSessionContext: z.ZodOptional<z.ZodObject<{
|
|
3783
3783
|
sessionId: z.ZodString;
|
|
3784
|
-
directTools: z.ZodArray<z.ZodObject<{
|
|
3785
|
-
fullName: z.ZodString;
|
|
3786
|
-
originalName: z.ZodString;
|
|
3787
|
-
serverName: z.ZodString;
|
|
3788
|
-
description: z.ZodOptional<z.ZodString>;
|
|
3789
|
-
inputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
3790
|
-
exposureMode: z.ZodEnum<{
|
|
3791
|
-
discovery: "discovery";
|
|
3792
|
-
direct: "direct";
|
|
3793
|
-
hidden: "hidden";
|
|
3794
|
-
}>;
|
|
3795
|
-
enabled: z.ZodBoolean;
|
|
3796
|
-
enabledBy: z.ZodOptional<z.ZodEnum<{
|
|
3797
|
-
discovery: "discovery";
|
|
3798
|
-
toolset: "toolset";
|
|
3799
|
-
}>>;
|
|
3800
|
-
enabledAt: z.ZodOptional<z.ZodNumber>;
|
|
3801
|
-
exposed: z.ZodBoolean;
|
|
3802
|
-
}, z.core.$strip>>;
|
|
3803
3784
|
servers: z.ZodArray<z.ZodObject<{
|
|
3804
3785
|
name: z.ZodString;
|
|
3805
3786
|
transport: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -3836,9 +3817,28 @@ declare const CanonicalModelSelectionSchema: z.ZodObject<{
|
|
|
3836
3817
|
type: z.ZodLiteral<"http">;
|
|
3837
3818
|
}, z.core.$strip>], "type">;
|
|
3838
3819
|
exposureMode: z.ZodEnum<{
|
|
3820
|
+
direct: "direct";
|
|
3839
3821
|
discovery: "discovery";
|
|
3822
|
+
}>;
|
|
3823
|
+
}, z.core.$strip>>;
|
|
3824
|
+
directTools: z.ZodArray<z.ZodObject<{
|
|
3825
|
+
fullName: z.ZodString;
|
|
3826
|
+
originalName: z.ZodString;
|
|
3827
|
+
serverName: z.ZodString;
|
|
3828
|
+
description: z.ZodOptional<z.ZodString>;
|
|
3829
|
+
inputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
3830
|
+
exposureMode: z.ZodEnum<{
|
|
3840
3831
|
direct: "direct";
|
|
3832
|
+
discovery: "discovery";
|
|
3833
|
+
hidden: "hidden";
|
|
3841
3834
|
}>;
|
|
3835
|
+
enabled: z.ZodBoolean;
|
|
3836
|
+
enabledBy: z.ZodOptional<z.ZodEnum<{
|
|
3837
|
+
discovery: "discovery";
|
|
3838
|
+
toolset: "toolset";
|
|
3839
|
+
}>>;
|
|
3840
|
+
enabledAt: z.ZodOptional<z.ZodNumber>;
|
|
3841
|
+
exposed: z.ZodBoolean;
|
|
3842
3842
|
}, z.core.$strip>>;
|
|
3843
3843
|
discoverableTools: z.ZodArray<z.ZodObject<{
|
|
3844
3844
|
fullName: z.ZodString;
|
|
@@ -3847,8 +3847,8 @@ declare const CanonicalModelSelectionSchema: z.ZodObject<{
|
|
|
3847
3847
|
description: z.ZodOptional<z.ZodString>;
|
|
3848
3848
|
inputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
3849
3849
|
exposureMode: z.ZodEnum<{
|
|
3850
|
-
discovery: "discovery";
|
|
3851
3850
|
direct: "direct";
|
|
3851
|
+
discovery: "discovery";
|
|
3852
3852
|
hidden: "hidden";
|
|
3853
3853
|
}>;
|
|
3854
3854
|
enabled: z.ZodBoolean;
|