@makaio/framework 1.0.0-dev-1788978977154 → 1.0.0-dev-1789034250920
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/{2020-CpDjcHDh.mjs → 2020-DvDj4r_K.mjs} +1 -1
- package/dist/{account-identity-D00LLclm.mjs → account-identity-CNdiLYaM.mjs} +1 -1
- package/dist/{adapter-D92pfm_b.mjs → adapter-BdMny6vw.mjs} +1 -1
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.d.mts +1 -1
- package/dist/artifact--nbPrvm5.mjs +1 -0
- package/dist/attempt-control-evidence-BKw1U3wL.mjs +1 -0
- package/dist/{auth-CB4an9bh.mjs → auth-BIgwGHp-.mjs} +1 -1
- package/dist/{authority-state-bootstrap-B8jG1zI1.mjs → authority-state-bootstrap-DVFYemDL.mjs} +1 -1
- package/dist/{automation-trigger-xNDX0Am_.mjs → automation-trigger-CQNQpzkA.mjs} +1 -1
- package/dist/bus/index.mjs +8 -1
- package/dist/{caller-owned-adapter-stub-oM1G1KvC.mjs → caller-owned-adapter-stub-NiR7KT2N.mjs} +1 -1
- package/dist/{canonical-model-D7Cg0l2R.mjs → canonical-model-BMnzRhG_.mjs} +1 -1
- package/dist/{capabilities-D2ggcMem.mjs → capabilities-CEwSeTB3.mjs} +1 -1
- package/dist/{client-CpUVfDxa.mjs → client-C0HcPzvw.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-CMqsHnGg.mjs → code-execution-BhUo84eg.mjs} +1 -1
- package/dist/{compression-Civ-rf-O.mjs → compression-DvPXSBWS.mjs} +1 -1
- package/dist/{config-namespace-CQnsvr77.mjs → config-namespace-CE3KasJn.mjs} +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +3 -3
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/auth/index.d.mts +2 -2
- package/dist/contracts/auth/index.mjs +1 -1
- package/dist/contracts/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/automation-trigger/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.mjs +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.mjs +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/code-execution/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/common/index.mjs +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +5 -5
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/facet/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +303 -77
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/provider/index.mjs +1 -1
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/reaction/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +2 -2
- package/dist/contracts/shared/index.mjs +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/timeout/index.mjs +1 -1
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/contracts/worker/index.d.mts +2 -2
- package/dist/contracts/worker/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{contribution-BfEEQ8YZ.d.mts → contribution-CejwVIb3.d.mts} +2 -2
- package/dist/{definition-6d5JBi55.d.mts → definition-DSOXLpQj.d.mts} +1 -1
- package/dist/{definition-Dqw0YJdi.mjs → definition-o5Dfg5j-.mjs} +1 -1
- package/dist/{detached-extension-handle-BJnk3WEh.mjs → detached-extension-handle-BNvRSUVO.mjs} +1 -1
- package/dist/{dist-DeI9zYMP.mjs → dist-DMIaE8sg.mjs} +1 -1
- package/dist/{execution-attempt-repository-DSpz2kyW.d.mts → execution-attempt-repository-BoNwNybg.d.mts} +85 -3
- package/dist/{execution-target-_oVNW6Zm.mjs → execution-target-Ba7b_UmX.mjs} +1 -1
- package/dist/{extension-CAi7bbyv.mjs → extension-D9D8tJQY.mjs} +1 -1
- package/dist/{extension-CrghVa93.mjs → extension-GQEL-NCV.mjs} +1 -1
- package/dist/{extension-context-Cpf_n5FH.d.mts → extension-context-SrQpa_kp.d.mts} +3 -3
- package/dist/{framework-packages-BOPhhtK7.mjs → framework-packages-DdCJ4JsE.mjs} +1 -1
- package/dist/{handlers-YPTyZDhF.mjs → handlers-CqL2TWbk.mjs} +1 -1
- package/dist/{harness-Ds1I4smU.mjs → harness-CYzkReGi.mjs} +1 -1
- package/dist/{hook-responses-CpEfxEmG.d.mts → hook-responses-E1gipXIp.d.mts} +1 -1
- package/dist/{index-CQ8MVY5G.d.mts → index-0_Ao0hwU.d.mts} +160 -25
- package/dist/{index-C75h1xHF2.d.mts → index-6BDbhx3A2.d.mts} +1 -1
- package/dist/{index-2ww5IWeo.d.mts → index-B94tZHiU.d.mts} +4929 -1769
- package/dist/{index-Dzozmb5u.d.mts → index-BFchykav.d.mts} +3 -3
- package/dist/{index-Dckvm0Ml2.d.mts → index-BN0qpem12.d.mts} +16 -16
- package/dist/{index-CVh7ZP2I.d.mts → index-BN2_TMtX.d.mts} +6 -6
- package/dist/{index-CilWtThn.d.mts → index-BPrpnLRQ.d.mts} +4 -4
- package/dist/{index-BfwHYuRf.d.mts → index-BTwMms1p.d.mts} +1 -1
- package/dist/{index-Bj2JCo9V.d.mts → index-BXair-QK.d.mts} +1 -1
- package/dist/{index-OQeNNbiX2.d.mts → index-BncQwKi-2.d.mts} +39 -39
- package/dist/{index-BlHq_Ksb.d.mts → index-CLmjrH8K.d.mts} +2 -2
- package/dist/{index-BM-FPWjs2.d.mts → index-CTNGL-cq2.d.mts} +1 -1
- package/dist/{index-D_oDoazF.d.mts → index-CgYGg-Ne2.d.mts} +1 -1
- package/dist/{index-DY_0TRvM.d.mts → index-Cp9olTr7.d.mts} +8 -8
- package/dist/{index-CWuPfOzU.d.mts → index-D1rYHYPO.d.mts} +16 -16
- package/dist/{index-VLZJ3Scz.d.mts → index-DKq33gti.d.mts} +27 -27
- package/dist/{index-Bn6sN1op.d.mts → index-DUH2eTyC.d.mts} +1 -1
- package/dist/{index-C742b1FV.d.mts → index-DUdGqxHD.d.mts} +1 -1
- package/dist/{index-BfzuauBt2.d.mts → index-DWlmiprx2.d.mts} +1 -1
- package/dist/{index-6kg8YFYt.d.mts → index-DnZksNTM.d.mts} +1 -1
- package/dist/{index-B3G-Hzwn.d.mts → index-Dp3UZQv_.d.mts} +1 -1
- package/dist/{index-CjMMvZch.d.mts → index-DxUstDMY.d.mts} +1 -1
- package/dist/{index-CWq-9Mpk.d.mts → index-MKNhvbfG.d.mts} +4 -4
- package/dist/{index-CDhbUjUH.d.mts → index-OLGGmjgd.d.mts} +1 -1
- package/dist/{index-Bzxs2nVR.d.mts → index-yapYXeah.d.mts} +8 -8
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/cli/register.mjs +1 -1
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/kind-registration-BanX_UAF.mjs +1 -0
- package/dist/{lib-BmXBuE-w.mjs → lib-B1Mvm4hQ.mjs} +1 -1
- package/dist/{lib-R-c_q77C.mjs → lib-D1-cvcTz.mjs} +1 -1
- package/dist/{load-extensions-Bu10B5B1.d.mts → load-extensions-D6SVKBPw.d.mts} +1 -1
- package/dist/{load-extensions-s4YmICgn.mjs → load-extensions-bwisKaW0.mjs} +1 -1
- package/dist/{materialization-BwC7pVg2.mjs → materialization--bg6ZwQd.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/model-Dya0clsM.mjs +1 -0
- package/dist/{namespace-CY-9Evdf.d.mts → namespace-BYBMtQUy.d.mts} +4 -4
- package/dist/{namespace-CnRcpgJ8.mjs → namespace-CD9mJGhU.mjs} +1 -1
- package/dist/{namespace-btfJrUf6.d.mts → namespace-CYYFqmtJ.d.mts} +6 -6
- package/dist/{namespace-fEBskugJ.d.mts → namespace-CZJQrexB.d.mts} +18 -18
- package/dist/{namespace-B0_Sg-1m.d.mts → namespace-CjFT0wBT.d.mts} +2 -2
- package/dist/namespace-D53UGrP6.mjs +1 -0
- package/dist/{native-session-supervisor-B0rziwHI.mjs → native-session-supervisor-i3PeijHn.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/{orchestrator-shared-CmS8iU9_.mjs → orchestrator-shared-DMldWEah.mjs} +1 -1
- package/dist/{ownership-memory-handler-DMirNILL.mjs → ownership-memory-handler-LXaweX6V.mjs} +1 -1
- package/dist/{package-Co36_pRw.mjs → package-BFto8lbP.mjs} +1 -1
- package/dist/{package-DQgqWIcX.d.mts → package-CnR_tOsW.d.mts} +20 -2
- package/dist/package-tvzH3A0x.mjs +7 -0
- package/dist/package.json +1 -1
- package/dist/packages-DAw3Z011.mjs +1 -0
- package/dist/{profile-C9RV7ao-.mjs → profile-Cjq4QnUQ.mjs} +1 -1
- package/dist/{provider-context-BPITm0cn.mjs → provider-context-BpabfMlj.mjs} +1 -1
- package/dist/{provider-context-CyGvwXPz.mjs → provider-context-CYUUoI6x.mjs} +1 -1
- package/dist/{resolved-M6PyrgFr.mjs → resolved-XQTiHgrA.mjs} +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/code-execution/index.d.mts +2 -2
- package/dist/runtime-node/extension-discovery.d.mts +1 -1
- package/dist/runtime-node/extension-validation.d.mts +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +5 -5
- package/dist/runtime-node/index.mjs +2 -2
- package/dist/runtime-node/makaio-config.d.mts +1 -1
- package/dist/runtime-node/workflow-execution-bus-access.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
- package/dist/{schema-DrHrto2J.mjs → schema-BVbkNHVQ.mjs} +1 -1
- package/dist/{schemas-C_kxk6gr.d.mts → schemas-Ct0tTtkV.d.mts} +10 -10
- package/dist/{schemas-Cz7H2f7S.d.mts → schemas-DChhgfU0.d.mts} +7 -7
- package/dist/{schemas-CSeLgroC.d.mts → schemas-DNUfTOJ0.d.mts} +1 -1
- package/dist/{schemas-DRho446W.mjs → schemas-NKlV5jqJ.mjs} +1 -1
- package/dist/{schemas-DyZNwquY.mjs → schemas-QEr2LI43.mjs} +1 -1
- package/dist/{schemas-uWyTgMWm.d.mts → schemas-mTWvDwx9.d.mts} +11 -2
- package/dist/{schemas-CQKfd2Xd.mjs → schemas-pHboaOxJ.mjs} +1 -1
- package/dist/{selection-BDs7K53w.mjs → selection-D7V0wyHX.mjs} +1 -1
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +3 -3
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/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 +4 -4
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/namespace.mjs +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/execution-target/schemas.mjs +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/harness/index.d.mts +3 -3
- package/dist/services/index.d.mts +56 -56
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/materialization/index.d.mts +1 -1
- package/dist/services/materialization/index.mjs +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +10 -10
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/workflow-transitions/index.d.mts +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/{session-Cn8z1hxD.mjs → session-CAKfa5o8.mjs} +1 -1
- package/dist/{session-9C42TPQq.mjs → session-CODDwsGa.mjs} +1 -1
- package/dist/{session-lineage-CEyJWg_J.d.mts → session-lineage-9_qwkjUq.d.mts} +1 -1
- package/dist/{shared-DqvfJVYk.mjs → shared-CkCrHz66.mjs} +1 -1
- package/dist/{skill-BmRp8GhW.mjs → skill-91kZNQnF.mjs} +1 -1
- package/dist/{src-CmLn6zYj.mjs → src-BZdlyUxT.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/{tool-approval-service-DchkAdAr.mjs → tool-approval-service-BV3WxxX6.mjs} +1 -1
- package/dist/{tools-r50UBPJ9.mjs → tools-CElCajoS.mjs} +1 -1
- package/dist/{transition-h6UZHLGq.d.mts → transition-DNi6L7i2.d.mts} +2 -2
- package/dist/{types-Bnc-pdB12.d.mts → types-BeAxyCuU2.d.mts} +1 -1
- package/dist/{types-Bcsp_FCp.d.mts → types-DXobLxrf.d.mts} +18 -18
- package/dist/ui-kernel/index.d.mts +1 -1
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{version-sDSWOMn_.mjs → version-DdGhNoY5.mjs} +1 -1
- package/dist/{view-builder-BMmmF-Mf.d.mts → view-builder-B5gP9RnN.d.mts} +2 -2
- package/dist/{visibility-syKffo3e.mjs → visibility-cMXbf9nY.mjs} +1 -1
- package/dist/{worker-DRQGyWAS.mjs → worker-B0xwfo9-.mjs} +1 -1
- package/dist/worker-Cmme3rMM.mjs +1 -0
- package/dist/{workflow-D-yrAZW8.mjs → workflow-DNks09Ip.mjs} +1 -1
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/index.d.mts +42 -4
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.d.mts +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/provider-operation.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.mjs +2 -2
- 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 +50 -33
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-D5RvMSnf.mjs → workflow-transitions-DH246j6E.mjs} +1 -1
- package/package.json +1 -1
- package/dist/artifact-_pN73_7c.mjs +0 -1
- package/dist/kind-registration-DggkrLkv.mjs +0 -1
- package/dist/model-Cn1IFEP8.mjs +0 -1
- package/dist/namespace-DFc1nkal.mjs +0 -1
- package/dist/package-BDaNGoBY.mjs +0 -7
- package/dist/packages-COqPg5TI.mjs +0 -1
- package/dist/worker-DzbPk2YI.mjs +0 -1
- package/dist/{adapter-binding-DhANVB-O.d.mts → adapter-binding-CTssGlH_.d.mts} +0 -0
- package/dist/{ajv-IlnfOGAj.mjs → ajv-Dz-0DD7m.mjs} +0 -0
- package/dist/{attach-error-DOlUtquX.mjs → attach-error-D5BWfaBO.mjs} +0 -0
- package/dist/{attempt-fixtures-CMx-2OlG.mjs → attempt-fixtures-B8FSy_vs.mjs} +0 -0
- package/dist/{attempt-record-codec-D2Gb_epJ.mjs → attempt-record-codec-BrungudT.mjs} +0 -0
- package/dist/{base-orchestrator-tAgnJAKu.d.mts → base-orchestrator-C5Z9Aowq.d.mts} +0 -0
- package/dist/{capability-BQHyskJB.mjs → capability-BnQx1BWc.mjs} +0 -0
- package/dist/{capability-service-Cpkonrc0.d.mts → capability-service-DX3wLjdt.d.mts} +0 -0
- package/dist/{client-At2zn3yg.d.mts → client-BsXMxeCN.d.mts} +0 -0
- package/dist/{client-binary-version-verifier-EOj8xXqm.d.mts → client-binary-version-verifier-uMFQoKZj.d.mts} +0 -0
- package/dist/{clients-namespace-CVRwXq8f.d.mts → clients-namespace-1hXA6qNd.d.mts} +0 -0
- package/dist/{common-CylczUIW.mjs → common-Bta2ivrd.mjs} +0 -0
- package/dist/{config-namespace-D7GbrasR.d.mts → config-namespace-Bpq9WOY4.d.mts} +0 -0
- package/dist/{create-static-mount-BIH26VH8.mjs → create-static-mount-Cr24q94C.mjs} +0 -0
- package/dist/{definition-VK1rERAp.d.mts → definition-Ckt_WmJw.d.mts} +0 -0
- package/dist/{definitions-2T95Q-y6.mjs → definitions-CyFaNG_c.mjs} +0 -0
- package/dist/{extension-discovery-B0ZL076T.d.mts → extension-discovery-Dx118u_N.d.mts} +0 -0
- package/dist/{extension-namespace-CWfV3IiR.mjs → extension-namespace-AaHKv6tQ.mjs} +0 -0
- package/dist/{facet-6tnSbjXc.mjs → facet-De-2AP_o.mjs} +0 -0
- package/dist/{filesystem-service-BWoNtujU.d.mts → filesystem-service-DtApanQk.d.mts} +0 -0
- package/dist/{host-D7v3YlDG.mjs → host-CbaJg6D4.mjs} +0 -0
- package/dist/{identity-CxMRRAXx.mjs → identity-B6RqbCn7.mjs} +0 -0
- package/dist/{index-Bk0Xjk-B.d.mts → index-1AKlC3kZ.d.mts} +0 -0
- package/dist/{index-CDA33y5A.d.mts → index-5KVPGsig.d.mts} +0 -0
- package/dist/{index-8a41yDOl.d.mts → index-B4lidHiL.d.mts} +0 -0
- package/dist/{index-CVBlYxKV2.d.mts → index-B7VWSBm72.d.mts} +0 -0
- package/dist/{index-h7_ddTvG2.d.mts → index-BeLI73yw2.d.mts} +0 -0
- package/dist/{index-DzHc6hsJ.d.mts → index-Bw7benCh.d.mts} +0 -0
- package/dist/{index-DXSVC0bM.d.mts → index-C0zo4Id_.d.mts} +0 -0
- package/dist/{index-BL1F1xYB.d.mts → index-C3n8beRR.d.mts} +0 -0
- package/dist/{index-BBkJsViX2.d.mts → index-C4DMSFLE2.d.mts} +6 -6
- /package/dist/{index-C8oBOTl_.d.mts → index-C86rKLPD.d.mts} +0 -0
- /package/dist/{index-BIlFSGnW.d.mts → index-CIl66QhT.d.mts} +0 -0
- /package/dist/{index-D4XNkbM4.d.mts → index-CUcEfh31.d.mts} +0 -0
- /package/dist/{index-DwY1Mt9a.d.mts → index-CrDp6vHG.d.mts} +0 -0
- /package/dist/{index-DCfYa3cF.d.mts → index-CzKJC3Bt.d.mts} +0 -0
- /package/dist/{index-Ccaqmi0J.d.mts → index-DK8lSIvY.d.mts} +0 -0
- /package/dist/{index-Du-eXjEN.d.mts → index-DLsopffG.d.mts} +0 -0
- /package/dist/{index-BcPO9w0j.d.mts → index-DNN9jOVO.d.mts} +0 -0
- /package/dist/{index-krTCFThl2.d.mts → index-DSRxn5Zr2.d.mts} +0 -0
- /package/dist/{index-CSJOBx3H.d.mts → index-Dfv9hyZE.d.mts} +0 -0
- /package/dist/{index-BpsurXEW.d.mts → index-DqS8eCAT.d.mts} +0 -0
- /package/dist/{index-CjazerMN.d.mts → index-Dv5aNxoa.d.mts} +0 -0
- /package/dist/{index-CWeWBh-_.d.mts → index-DxxORQny.d.mts} +0 -0
- /package/dist/{index-BTHdi23O.d.mts → index-DyBuGOvY.d.mts} +0 -0
- /package/dist/{index-DwKPj8jD.d.mts → index-lLuIAmRB.d.mts} +0 -0
- /package/dist/{index-Bn1JTbn_2.d.mts → index-qLkIGcgv2.d.mts} +0 -0
- /package/dist/{index-DCHdW5g-.d.mts → index-tCFckLG6.d.mts} +0 -0
- /package/dist/{json-value-BKUDMT7k.d.mts → json-value-Bjl8jzom.d.mts} +0 -0
- /package/dist/{jsonl-transport-3yp3clGp.mjs → jsonl-transport-D4ch0vsf.mjs} +0 -0
- /package/dist/{lib-DF6sgNx_.mjs → lib-BLdnqIFF.mjs} +0 -0
- /package/dist/{model-registry-BTjKBCCw.mjs → model-registry-DVTFd0RF.mjs} +0 -0
- /package/dist/{modes-Bo9Vv5c9.mjs → modes-Dc9_sSbr.mjs} +0 -0
- /package/dist/{namespace-BHb_9sh4.d.mts → namespace-BHkEHrUG.d.mts} +0 -0
- /package/dist/{namespace-DX3QsYpv.mjs → namespace-BZ7UQmW4.mjs} +0 -0
- /package/dist/{namespace-KTRWfIPy.d.mts → namespace-Bivbsfms.d.mts} +0 -0
- /package/dist/{namespace-Dyxpur8_.mjs → namespace-BnNBM94X.mjs} +0 -0
- /package/dist/{namespace-BiEV44Mk.d.mts → namespace-C-4xI2rm.d.mts} +0 -0
- /package/dist/{namespace-B1sjokHd.d.mts → namespace-CfNNUjVv.d.mts} +0 -0
- /package/dist/{namespace-BNNFD-ul.d.mts → namespace-CvCk6Y9i.d.mts} +0 -0
- /package/dist/{namespace-DORNUF0_.mjs → namespace-DGi7tw_W.mjs} +0 -0
- /package/dist/{namespace-BgaVgd00.d.mts → namespace-DXrdGpbs.d.mts} +0 -0
- /package/dist/{namespace-B3MnuAqp.d.mts → namespace-Dwf7aOLt.d.mts} +0 -0
- /package/dist/{namespace-Czr38fiF.d.mts → namespace-E4ajXk0W.d.mts} +0 -0
- /package/dist/{namespace-BCSJz417.mjs → namespace-KYIbWPvl.mjs} +0 -0
- /package/dist/{namespace-CjmNxtr1.d.mts → namespace-XUB3XnBK.d.mts} +0 -0
- /package/dist/{namespace-Cy62a3YP.d.mts → namespace-l1Rcc4mp.d.mts} +0 -0
- /package/dist/{orchestrator-shared-Cwc6JKkV.d.mts → orchestrator-shared-D2I9gyOl.d.mts} +0 -0
- /package/dist/{ownership-recovery-guard-CYA5CsiO.mjs → ownership-recovery-guard-BIB5uqgz.mjs} +0 -0
- /package/dist/{packages-DTz_1dCa.d.mts → packages-Dj9Nul23.d.mts} +0 -0
- /package/dist/{platform-BdLHWgVc.mjs → platform-BObC-WJA.mjs} +0 -0
- /package/dist/{providers-DGTA-lki.mjs → providers-BysYiNMO.mjs} +0 -0
- /package/dist/{providers-namespace-Bming6U8.d.mts → providers-namespace-BA0JT--_.d.mts} +0 -0
- /package/dist/{reaction-aQJGWUWl.mjs → reaction-Cev6JNcb.mjs} +0 -0
- /package/dist/{runtime-inputs-DeOea-ab.d.mts → runtime-inputs-CIYLDuBM.d.mts} +0 -0
- /package/dist/{schema-DFCBjTB7.d.mts → schema-B098Jz9p.d.mts} +0 -0
- /package/dist/{schema-mXXJcaQT.mjs → schema-bfw9nz8B.mjs} +0 -0
- /package/dist/{schema-introspection-BsWP1vGC.mjs → schema-introspection-BTS7FZT_.mjs} +0 -0
- /package/dist/{schemas-HffXbw8C.mjs → schemas-A2hlgeNu.mjs} +0 -0
- /package/dist/{schemas-DqWwz4eR.d.mts → schemas-ADuQFkhH.d.mts} +0 -0
- /package/dist/{schemas-NYUz8K9Q.mjs → schemas-B3UNnzKG.mjs} +0 -0
- /package/dist/{schemas-7fHmNUQc.mjs → schemas-BEDq3Psz.mjs} +0 -0
- /package/dist/{schemas-BLy33xay.d.mts → schemas-BZyi7v9g.d.mts} +0 -0
- /package/dist/{schemas-DYIVJDlx.d.mts → schemas-COQUToGQ.d.mts} +0 -0
- /package/dist/{schemas-DGKWi7mk.d.mts → schemas-D6JvwH-h.d.mts} +0 -0
- /package/dist/{schemas-DwqibWUL.d.mts → schemas-DKy_XYjq.d.mts} +0 -0
- /package/dist/{schemas-DTBWnWjN.d.mts → schemas-DMxM4U1A.d.mts} +0 -0
- /package/dist/{schemas-GyKYcV-Z2.d.mts → schemas-DNvDh0eE2.d.mts} +0 -0
- /package/dist/{schemas-BkCqhK3X.d.mts → schemas-DYtUc2WA.d.mts} +0 -0
- /package/dist/{schemas-MIYusvwn.mjs → schemas-mLjTSUvJ.mjs} +0 -0
- /package/dist/{semver-_h8-BJ8k.mjs → semver-ByPlHR3P.mjs} +0 -0
- /package/dist/{server-lifecycle-_m_x1_TC.d.mts → server-lifecycle-B8UabaW3.d.mts} +0 -0
- /package/dist/{shared-schemas-CaL1iEk6.mjs → shared-schemas-CKsgVsGX.mjs} +0 -0
- /package/dist/{src-DdaPoQOD.mjs → src-D9PYcdDS.mjs} +0 -0
- /package/dist/{storage-namespace-zRXWqAfO.d.mts → storage-namespace-DITavhRL.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-CsaZPU3n.d.mts → storage-namespace-definition-1uCuoHvM.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-4UYuij1r.mjs → storage-namespace-definition-Ct9ohqU0.mjs} +0 -0
- /package/dist/{telemetry-BLYrkonr.mjs → telemetry-Be3u4I7b.mjs} +0 -0
- /package/dist/{timeout-d0dzIY3V.mjs → timeout-Bscg1B-y.mjs} +0 -0
- /package/dist/{types-CccTiXH2.d.mts → types-BlaguWul.d.mts} +0 -0
- /package/dist/{types-nor1SQLZ.d.mts → types-CbXf822E.d.mts} +0 -0
- /package/dist/{types-DjxvRcX6.d.mts → types-KF8zuMhi.d.mts} +0 -0
- /package/dist/{types-Dswhi1L9.d.mts → types-RWRXplnM.d.mts} +0 -0
- /package/dist/{types-DXGVwrQn.d.mts → types-nY8yr3th.d.mts} +0 -0
- /package/dist/{ui-config-CsH94fwa.mjs → ui-config-Bl2Wbkr-.mjs} +0 -0
- /package/dist/{variant-BZ9UcJBi.mjs → variant-B5j5wR2p.mjs} +0 -0
- /package/dist/{window-registry-DQkv5wM9.mjs → window-registry-DWHz8TA5.mjs} +0 -0
- /package/dist/{window-registry-DQ7udUzI.d.mts → window-registry-Dq5uOWpH.d.mts} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $i as
|
|
2
|
-
import { _ as StationNodeBlockRun, a as TransitionActionInvocation, b as WorkflowStepBlock, c as TransitionConditionSchema, d as TransitionEventTypeSchema, f as TransitionRuleDefinition, g as RegisteredStepBlock, h as DelegateRoleNodeBlockRun, i as TransitionActionHandler, l as TransitionEvaluationContext, m as DelegateAgentNodeBlockRun, n as ExtensionTransitionRulesContribution, o as TransitionActionInvocationSchema, p as TransitionRuleDefinitionSchema, r as TransitionActionFactory, s as TransitionCondition, t as ExtensionTransitionActionsContribution, u as TransitionEventType, v as WorkflowBlockCollection, x as WorkflowStepBlockRun, y as WorkflowBlockMetadata } from "../../transition-
|
|
1
|
+
import { $a as WorkflowParallelMode, $i as ExecutionListQuery, $n as ProjectedNode, $r as StepCancelPayloadSchema, $t as WorkerContributionManifestSchema, Aa as WorkflowExecutionScopeSchema, Ai as WorkflowDelegateResultFinalizationResponseSchema, Ar as ContextBundleSchema, At as WorkLogDynamicNodeMaterialization, Ba as WorkflowIterateChainNodeSchema, Bi as WorkflowFinalizerIdSchema, Br as WorkflowErrorCode, Bt as WorkLogUsageSummary, C as WorkflowStateAuthoringDefinition, Ca as WorkflowDelegateRoleNode, Ci as WorkflowDelegateEconomics, Cr as ArtifactQuerySource, Ct as CronTriggerPayload, D as validateNoNestedLoops, Da as WorkflowExecution, Di as WorkflowDelegateResultFinalizationRequest, Dr as BusRequestSource, Dt as WorkflowTriggerDef, E as LoopGateHandler, Ea as WorkflowDynamicRegionSchema, Ei as WorkflowDelegateResultFinalizationGatewayRequestSchema, Er as BusEventPublishTargetSchema, Et as ExtractTriggerPayload, Fa as WorkflowGateNode, Fi as WorkflowFinalizationClaimSchema, Fr as ResolvedContextEntry, Ft as WorkLogFrameEntrySchema, Ga as WorkflowLoopNode, Gi as EXECUTIONS_BY_ARTIFACT_REFS_DEFAULT_LIMIT_PER_REF, Gr as ExecutionLinkType, Gt as ExternalExecutionFrameCompletion, Ha as WorkflowIterateNodeSchema, Hi as WorkflowTerminalStatusSchema, Hr as ExecutionLinkListQuery, Ht as CompleteExternalExecutionRequest, Ia as WorkflowGateNodeSchema, Ii as WorkflowFinalizationDeliveryResultSchema, Ir as ResolvedContextEntrySchema, It as WorkLogGateEvent, Ja as WorkflowNodeBase, Ji as EXECUTION_LIST_DEFAULT_LIMIT, Jr as SpanRecordSchema, Jt as ExternalExecutionFrameStartSchema, Ka as WorkflowLoopNodeSchema, Ki as EXECUTIONS_BY_ARTIFACT_REFS_MAX_LIMIT_PER_REF, Kr as ExecutionLinkTypeSchema, Kt as ExternalExecutionFrameCompletionSchema, La as WorkflowGateStatus, Li as WorkflowFinalizationIntent, Lr as JsonPatchOperation, Lt as WorkLogGateEventSchema, Ma as WorkflowFrameStateSchema, Mi as WorkflowDelegateToolObservation, Mr as ContextPublishTargetSchema, Mt as WorkLogExecutionSummary, Na as WorkflowGateInstance, Ni as WorkflowDelegateToolObservationSchema, Nr as ContextSource, Nt as WorkLogExecutionSummarySchema, Oa as WorkflowExecutionSchema, Oi as WorkflowDelegateResultFinalizationRequestSchema, Or as BusRequestSourceSchema, Ot as WorkLogArtifactWrite, Pa as WorkflowGateInstanceSchema, Pi as WorkflowFinalizationClaim, Pr as ContextSourceSchema, Pt as WorkLogFrameEntry, Qa as WorkflowNodeTypeSchema, Qi as ExecutionListCursorSchema, Qn as ProjectedEdgeKind, Qr as StepCancelPayload, Qt as WorkerContributionManifest, Ra as WorkflowGateStatusSchema, Ri as WorkflowFinalizationIntentSchema, Rr as JsonPatchOperationSchema, Rt as WorkLogStats, S as WorkflowBuilder, Sa as WorkflowDelegateAgentNodeSchema, Si as createWorkflowCancelSubject, Sr as ArtifactPublishTargetSchema, St as CronAutomationTriggerParamsSchema, T as LoopGateContext, Ta as WorkflowDynamicRegion, Ti as WorkflowDelegateResultFinalizationGatewayRequest, Tr as BusEventPublishTarget, Tt as DEFAULT_CRON_TIMEZONE, Ua as WorkflowListQuery, Ui as createWorkflowDelegateResultFinalizerNamespace, Ur as ExecutionLinkListQuerySchema, Ut as CompleteExternalExecutionRequestSchema, Va as WorkflowIterateNode, Vi as WorkflowTerminalStatus, Vr as ExecutionLink, Vt as WorkLogUsageSummarySchema, Wa as WorkflowListQuerySchema, Wi as createWorkflowFinalizerNamespace, Wr as ExecutionLinkSchema, Wt as EXTERNAL_EXECUTION_ID_PREFIX, Xa as WorkflowNodeSchema, Xi as EXECUTION_LIST_MIN_LIMIT, Xr as SpanStatusSchema, Xt as RegisterExternalExecutionRequestSchema, Ya as WorkflowNodeBaseSchema, Yi as EXECUTION_LIST_MAX_LIMIT, Yr as SpanStatus, Yt as RegisterExternalExecutionRequest, Za as WorkflowNodeType, Zi as ExecutionListCursor, Zn as ProjectedEdge, Zr as IStepRunner, Zt as IWorkflowRunner, _ as LoopGateRegistration, _a as WorkflowDefinition, _i as WorkflowRunnerStepType, _r as WorkflowProgressUpdate, _t as WorkflowStateContext, a as delegateToRole, aa as GateInstanceListQuery, ai as StepRunnerBusAuth, an as WorkflowRunResultSchema, ao as WorkflowResolvedRole, ar as WalkContext, b as ParallelMode, ba as WorkflowDefinitionSchema, bi as WorkflowStepTypeSchema, br as WorkflowSubjects, bt as BusEventWorkflowTrigger, c as iterateChain, ca as LoopGateOutcomeSchema, ci as StepRunnerPlatformDefaultsSchema, cn as WorkflowTriggerMode, co as WorkflowSequenceNodeSchema, cr as walkWorkflowDefinition, ct as ArtifactUpdateOperation, d as AgentConfig, da as WorkflowArtifactWriteDeclaration, di as TokenUsage, dn as WorkflowWorkerBusAuthSchema, do as WorkflowStateDefinition, dr as WorkflowRunContextSource, dt as PreviousStepOutput, ea as ExecutionListQuerySchema, ei as StepCancelSubject, en as WorkerRuntimeContext, eo as WorkflowParallelModeSchema, er as ProjectedNodeRole, f as ArtifactBindingOptions, fa as WorkflowArtifactWriteDeclarationSchema, fi as TokenUsageSchema, fn as WorkflowWorkerConfig, fo as WorkflowStateDefinitionSchema, fr as WorkflowArtifactRef, ft as StationHandler, g as IterateOptions, ga as WorkflowConditionSchema, gi as WorkflowCancelSubject, gr as WorkflowNamespace, gt as WorkflowContextBase, h as GateOptions, ha as WorkflowCondition, hi as WorkflowCancelPayloadSchema, hn as WorkflowWorkerSourceSchema, hr as serializeArtifactRef, ht as WorkflowContext, i as delegateToAgent, ia as ExecutionsByArtifactRefsQuerySchema, ii as StepRunResultSchema, in as WorkflowRunResult, io as WorkflowResolvedAgentSchema, ir as projectWorkflowGraph, ja as WorkflowFrameState, ji as WorkflowDelegateResultFinalizerIdSchema, jr as ContextPublishTarget, jt as WorkLogDynamicNodeMaterializationSchema, ka as WorkflowExecutionScope, ki as WorkflowDelegateResultFinalizationResponse, kr as ContextBundle, kt as WorkLogArtifactWriteSchema, l as loop, la as WorkflowArtifactBinding, li as StepTelemetry, ln as WorkflowTriggerModeSchema, lo as WorkflowSourceLocation, lr as WorkflowRunContext, lt as ArtifactUpdater, m as DefineWorkflowOptions, ma as WorkflowAutomationTriggerBindingSchema, mi as WorkflowCancelPayload, mn as WorkflowWorkerSource, mo as WorkflowStationNodeSchema, mr as parseArtifactRef, mt as StepContext, n as defineWorkflowBundle, na as ExecutionStatusSchema, ni as StepRunConfigSchema, nn as WorkflowAttemptOutcome, no as WorkflowParallelNodeSchema, nr as WorkflowDefinitionPath, o as gate, oa as GateInstanceListQuerySchema, oi as StepRunnerBusAuthSchema, on as WorkflowRunnerCompletion, oo as WorkflowResolvedRoleSchema, or as WalkRelationship, ot as ArtifactContext, p as BuiltWorkflow, pa as WorkflowAutomationTriggerBinding, pi as WORKFLOW_CANCELLED_REASON, pn as WorkflowWorkerConfigSchema, po as WorkflowStationNode, pr as WorkflowArtifactRefSchema, pt as StationStepContext, qa as WorkflowNode, qi as EXECUTIONS_BY_ARTIFACT_REFS_MAX_REFS, qr as SpanRecord, qt as ExternalExecutionFrameStart, r as defineWorkflow, ra as ExecutionsByArtifactRefsQuery, ri as StepRunResult, rn as WorkflowAttemptTechnicalFailure, ro as WorkflowResolvedAgent, rr as WorkflowDefinitionPathSegment, s as iterate, sa as LoopGateOutcome, si as StepRunnerPlatformDefaults, sn as WorkflowRunnerRunOptions, so as WorkflowSequenceNode, sr as WorkflowNodeVisitor, st as ArtifactPatch, t as WorkflowBundle, ta as ExecutionStatus, ti as StepRunConfig, tn as WorkflowAttemptCancellation, to as WorkflowParallelNode, tr as ProjectedWorkflowGraph, u as station, ua as WorkflowArtifactBindingSchema, ui as StepTelemetrySchema, un as WorkflowWorkerBusAuth, uo as WorkflowSourceLocationSchema, ur as WorkflowRunContextSchema, ut as IterateHandler, v as LoopOptions, va as WorkflowDefinitionProvenance, vi as WorkflowRunnerStepTypeSchema, vr as WorkflowProgressUpdateSchema, vt as AutomationWorkflowTrigger, w as WorkflowZodSchemas, wa as WorkflowDelegateRoleNodeSchema, wi as WorkflowDelegateEconomicsSchema, wr as ArtifactQuerySourceSchema, wt as CronWorkflowTrigger, x as ParallelOptions, xa as WorkflowDelegateAgentNode, xi as createStepCancelSubject, xr as ArtifactPublishTarget, xt as CRON_AUTOMATION_TRIGGER_KIND, y as NodeOptions, ya as WorkflowDefinitionProvenanceSchema, yi as WorkflowStepType, yr as WorkflowSchemas, yt as BUS_EVENT_AUTOMATION_TRIGGER_KIND, za as WorkflowIterateChainNode, zi as WorkflowFinalizerId, zr as WorkflowError, zt as WorkLogStatsSchema } from "../../index-0_Ao0hwU.mjs";
|
|
2
|
+
import { _ as StationNodeBlockRun, a as TransitionActionInvocation, b as WorkflowStepBlock, c as TransitionConditionSchema, d as TransitionEventTypeSchema, f as TransitionRuleDefinition, g as RegisteredStepBlock, h as DelegateRoleNodeBlockRun, i as TransitionActionHandler, l as TransitionEvaluationContext, m as DelegateAgentNodeBlockRun, n as ExtensionTransitionRulesContribution, o as TransitionActionInvocationSchema, p as TransitionRuleDefinitionSchema, r as TransitionActionFactory, s as TransitionCondition, t as ExtensionTransitionActionsContribution, u as TransitionEventType, v as WorkflowBlockCollection, x as WorkflowStepBlockRun, y as WorkflowBlockMetadata } from "../../transition-DNi6L7i2.mjs";
|
|
3
3
|
export { AgentConfig, ArtifactBindingOptions, ArtifactContext, ArtifactPatch, ArtifactPublishTarget, ArtifactPublishTargetSchema, ArtifactQuerySource, ArtifactQuerySourceSchema, ArtifactUpdateOperation, ArtifactUpdater, AutomationWorkflowTrigger, BUS_EVENT_AUTOMATION_TRIGGER_KIND, BuiltWorkflow, BusEventPublishTarget, BusEventPublishTargetSchema, BusEventWorkflowTrigger, BusRequestSource, BusRequestSourceSchema, CRON_AUTOMATION_TRIGGER_KIND, CompleteExternalExecutionRequest, CompleteExternalExecutionRequestSchema, ContextBundle, ContextBundleSchema, ContextPublishTarget, ContextPublishTargetSchema, ContextSource, ContextSourceSchema, CronAutomationTriggerParamsSchema, CronTriggerPayload, CronWorkflowTrigger, DEFAULT_CRON_TIMEZONE, DefineWorkflowOptions, DelegateAgentNodeBlockRun, DelegateRoleNodeBlockRun, EXECUTIONS_BY_ARTIFACT_REFS_DEFAULT_LIMIT_PER_REF, EXECUTIONS_BY_ARTIFACT_REFS_MAX_LIMIT_PER_REF, EXECUTIONS_BY_ARTIFACT_REFS_MAX_REFS, EXECUTION_LIST_DEFAULT_LIMIT, EXECUTION_LIST_MAX_LIMIT, EXECUTION_LIST_MIN_LIMIT, EXTERNAL_EXECUTION_ID_PREFIX, ExecutionLink, ExecutionLinkListQuery, ExecutionLinkListQuerySchema, ExecutionLinkSchema, ExecutionLinkType, ExecutionLinkTypeSchema, ExecutionListCursor, ExecutionListCursorSchema, ExecutionListQuery, ExecutionListQuerySchema, ExecutionStatus, ExecutionStatusSchema, ExecutionsByArtifactRefsQuery, ExecutionsByArtifactRefsQuerySchema, ExtensionTransitionActionsContribution, ExtensionTransitionRulesContribution, ExternalExecutionFrameCompletion, ExternalExecutionFrameCompletionSchema, ExternalExecutionFrameStart, ExternalExecutionFrameStartSchema, ExtractTriggerPayload, GateInstanceListQuery, GateInstanceListQuerySchema, GateOptions, IStepRunner, IWorkflowRunner, IterateHandler, IterateOptions, JsonPatchOperation, JsonPatchOperationSchema, LoopGateContext, LoopGateHandler, LoopGateOutcome, LoopGateOutcomeSchema, LoopGateRegistration, LoopOptions, NodeOptions, ParallelMode, ParallelOptions, PreviousStepOutput, ProjectedEdge, ProjectedEdgeKind, ProjectedNode, ProjectedNodeRole, ProjectedWorkflowGraph, RegisterExternalExecutionRequest, RegisterExternalExecutionRequestSchema, RegisteredStepBlock, ResolvedContextEntry, ResolvedContextEntrySchema, SpanRecord, SpanRecordSchema, SpanStatus, SpanStatusSchema, StationHandler, StationNodeBlockRun, StationStepContext, StepCancelPayload, StepCancelPayloadSchema, StepCancelSubject, StepContext, StepRunConfig, StepRunConfigSchema, StepRunResult, StepRunResultSchema, StepRunnerBusAuth, StepRunnerBusAuthSchema, StepRunnerPlatformDefaults, StepRunnerPlatformDefaultsSchema, StepTelemetry, StepTelemetrySchema, TokenUsage, TokenUsageSchema, TransitionActionFactory, TransitionActionHandler, TransitionActionInvocation, TransitionActionInvocationSchema, TransitionCondition, TransitionConditionSchema, TransitionEvaluationContext, TransitionEventType, TransitionEventTypeSchema, TransitionRuleDefinition, TransitionRuleDefinitionSchema, WORKFLOW_CANCELLED_REASON, WalkContext, WalkRelationship, WorkLogArtifactWrite, WorkLogArtifactWriteSchema, WorkLogDynamicNodeMaterialization, WorkLogDynamicNodeMaterializationSchema, WorkLogExecutionSummary, WorkLogExecutionSummarySchema, WorkLogFrameEntry, WorkLogFrameEntrySchema, WorkLogGateEvent, WorkLogGateEventSchema, WorkLogStats, WorkLogStatsSchema, WorkLogUsageSummary, WorkLogUsageSummarySchema, WorkerContributionManifest, WorkerContributionManifestSchema, WorkerRuntimeContext, WorkflowArtifactBinding, WorkflowArtifactBindingSchema, WorkflowArtifactRef, WorkflowArtifactRefSchema, WorkflowArtifactWriteDeclaration, WorkflowArtifactWriteDeclarationSchema, WorkflowAttemptCancellation, WorkflowAttemptOutcome, WorkflowAttemptTechnicalFailure, WorkflowAutomationTriggerBinding, WorkflowAutomationTriggerBindingSchema, WorkflowBlockCollection, WorkflowBlockMetadata, WorkflowBuilder, WorkflowBundle, WorkflowCancelPayload, WorkflowCancelPayloadSchema, WorkflowCancelSubject, WorkflowCondition, WorkflowConditionSchema, WorkflowContext, WorkflowContextBase, WorkflowDefinition, WorkflowDefinitionPath, WorkflowDefinitionPathSegment, WorkflowDefinitionProvenance, WorkflowDefinitionProvenanceSchema, WorkflowDefinitionSchema, WorkflowDelegateAgentNode, WorkflowDelegateAgentNodeSchema, WorkflowDelegateEconomics, WorkflowDelegateEconomicsSchema, WorkflowDelegateResultFinalizationGatewayRequest, WorkflowDelegateResultFinalizationGatewayRequestSchema, WorkflowDelegateResultFinalizationRequest, WorkflowDelegateResultFinalizationRequestSchema, WorkflowDelegateResultFinalizationResponse, WorkflowDelegateResultFinalizationResponseSchema, WorkflowDelegateResultFinalizerIdSchema, WorkflowDelegateRoleNode, WorkflowDelegateRoleNodeSchema, WorkflowDelegateToolObservation, WorkflowDelegateToolObservationSchema, WorkflowDynamicRegion, WorkflowDynamicRegionSchema, WorkflowError, WorkflowErrorCode, WorkflowErrorCode as WorkflowErrorCodeType, WorkflowExecution, WorkflowExecutionSchema, WorkflowExecutionScope, WorkflowExecutionScopeSchema, WorkflowFinalizationClaim, WorkflowFinalizationClaimSchema, WorkflowFinalizationDeliveryResultSchema, WorkflowFinalizationIntent, WorkflowFinalizationIntentSchema, WorkflowFinalizerId, WorkflowFinalizerIdSchema, WorkflowFrameState, WorkflowFrameStateSchema, WorkflowGateInstance, WorkflowGateInstanceSchema, WorkflowGateNode, WorkflowGateNodeSchema, WorkflowGateStatus, WorkflowGateStatusSchema, WorkflowIterateChainNode, WorkflowIterateChainNodeSchema, WorkflowIterateNode, WorkflowIterateNodeSchema, WorkflowListQuery, WorkflowListQuerySchema, WorkflowLoopNode, WorkflowLoopNodeSchema, WorkflowNamespace, WorkflowNode, WorkflowNodeBase, WorkflowNodeBaseSchema, WorkflowNodeSchema, WorkflowNodeType, WorkflowNodeTypeSchema, WorkflowNodeVisitor, WorkflowParallelMode, WorkflowParallelModeSchema, WorkflowParallelNode, WorkflowParallelNodeSchema, WorkflowProgressUpdate, WorkflowProgressUpdateSchema, WorkflowResolvedAgent, WorkflowResolvedAgentSchema, WorkflowResolvedRole, WorkflowResolvedRoleSchema, WorkflowRunContext, WorkflowRunContextSchema, WorkflowRunContextSource, WorkflowRunResult, WorkflowRunResultSchema, WorkflowRunnerCompletion, WorkflowRunnerRunOptions, WorkflowRunnerStepType, WorkflowRunnerStepTypeSchema, WorkflowSchemas, WorkflowSequenceNode, WorkflowSequenceNodeSchema, WorkflowSourceLocation, WorkflowSourceLocationSchema, WorkflowStateAuthoringDefinition, WorkflowStateContext, WorkflowStateDefinition, WorkflowStateDefinitionSchema, WorkflowStationNode, WorkflowStationNodeSchema, WorkflowStepBlock, WorkflowStepBlockRun, WorkflowStepType, WorkflowStepTypeSchema, WorkflowSubjects, WorkflowTerminalStatus, WorkflowTerminalStatusSchema, WorkflowTriggerDef, WorkflowTriggerMode, WorkflowTriggerModeSchema, WorkflowWorkerBusAuth, WorkflowWorkerBusAuthSchema, WorkflowWorkerConfig, WorkflowWorkerConfigSchema, WorkflowWorkerSource, WorkflowWorkerSourceSchema, WorkflowZodSchemas, createStepCancelSubject, createWorkflowCancelSubject, createWorkflowDelegateResultFinalizerNamespace, createWorkflowFinalizerNamespace, defineWorkflow, defineWorkflowBundle, delegateToAgent, delegateToRole, gate, iterate, iterateChain, loop, parseArtifactRef, projectWorkflowGraph, serializeArtifactRef, station, validateNoNestedLoops, walkWorkflowDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Cn as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,G as h,Gt as g,H as _,Ht as v,I as y,It as b,J as x,Jt as S,K as C,Kt as w,L as T,Lt as E,M as D,Mt as O,N as k,Nt as A,O as j,Ot as M,P as N,Pt as P,Q as F,Qt as I,R as L,Rt as R,S as z,Sn as B,St as V,T as H,Tn as U,Tt as W,U as G,Ut as K,V as q,Vt as J,W as Y,Wt as X,X as Z,Xt as Q,Y as $,Yt as ee,Z as te,Zt as ne,_ as re,_n as ie,_t as ae,a as oe,an as se,at as ce,b as le,bn as ue,bt as de,c as fe,cn as pe,ct as me,d as he,dn as ge,dt as _e,en as ve,et as ye,f as be,fn as xe,ft as Se,g as Ce,gn as we,gt as Te,h as Ee,hn as De,ht as Oe,i as ke,in as Ae,it as je,j as Me,jt as Ne,k as Pe,kt as Fe,l as Ie,ln as Le,lt as Re,m as ze,mn as Be,mt as Ve,n as He,nn as Ue,nt as We,o as Ge,on as Ke,ot as qe,p as Je,pn as Ye,pt as Xe,q as Ze,qt as Qe,r as $e,rn as et,rt as tt,s as nt,sn as rt,st as it,t as at,tn as ot,tt as st,u as ct,un as lt,ut,v as dt,vn as ft,vt as pt,w as mt,wn as ht,wt as gt,x as _t,xn as vt,xt as yt,y as bt,yn as xt,yt as St,z as Ct,zt as wt}from"../../workflow-
|
|
1
|
+
import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Cn as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,G as h,Gt as g,H as _,Ht as v,I as y,It as b,J as x,Jt as S,K as C,Kt as w,L as T,Lt as E,M as D,Mt as O,N as k,Nt as A,O as j,Ot as M,P as N,Pt as P,Q as F,Qt as I,R as L,Rt as R,S as z,Sn as B,St as V,T as H,Tn as U,Tt as W,U as G,Ut as K,V as q,Vt as J,W as Y,Wt as X,X as Z,Xt as Q,Y as $,Yt as ee,Z as te,Zt as ne,_ as re,_n as ie,_t as ae,a as oe,an as se,at as ce,b as le,bn as ue,bt as de,c as fe,cn as pe,ct as me,d as he,dn as ge,dt as _e,en as ve,et as ye,f as be,fn as xe,ft as Se,g as Ce,gn as we,gt as Te,h as Ee,hn as De,ht as Oe,i as ke,in as Ae,it as je,j as Me,jt as Ne,k as Pe,kt as Fe,l as Ie,ln as Le,lt as Re,m as ze,mn as Be,mt as Ve,n as He,nn as Ue,nt as We,o as Ge,on as Ke,ot as qe,p as Je,pn as Ye,pt as Xe,q as Ze,qt as Qe,r as $e,rn as et,rt as tt,s as nt,sn as rt,st as it,t as at,tn as ot,tt as st,u as ct,un as lt,ut,v as dt,vn as ft,vt as pt,w as mt,wn as ht,wt as gt,x as _t,xn as vt,xt as yt,y as bt,yn as xt,yt as St,z as Ct,zt as wt}from"../../workflow-DNks09Ip.mjs";export{Ze as ArtifactPublishTargetSchema,x as ArtifactQuerySourceSchema,Ee as AutomationWorkflowTrigger,Ce as BUS_EVENT_AUTOMATION_TRIGGER_KIND,$ as BusEventPublishTargetSchema,re as BusEventWorkflowTrigger,Z as BusRequestSourceSchema,dt as CRON_AUTOMATION_TRIGGER_KIND,j as CompleteExternalExecutionRequestSchema,te as ContextBundleSchema,F as ContextPublishTargetSchema,e as ContextSourceSchema,bt as CronAutomationTriggerParamsSchema,le as CronWorkflowTrigger,_t as DEFAULT_CRON_TIMEZONE,V as EXECUTIONS_BY_ARTIFACT_REFS_DEFAULT_LIMIT_PER_REF,c as EXECUTIONS_BY_ARTIFACT_REFS_MAX_LIMIT_PER_REF,gt as EXECUTIONS_BY_ARTIFACT_REFS_MAX_REFS,W as EXECUTION_LIST_DEFAULT_LIMIT,f as EXECUTION_LIST_MAX_LIMIT,u as EXECUTION_LIST_MIN_LIMIT,Pe as EXTERNAL_EXECUTION_ID_PREFIX,je as ExecutionLinkListQuerySchema,ce as ExecutionLinkSchema,qe as ExecutionLinkTypeSchema,M as ExecutionListCursorSchema,Fe as ExecutionListQuerySchema,r as ExecutionStatusSchema,Ne as ExecutionsByArtifactRefsQuerySchema,n as ExternalExecutionFrameCompletionSchema,Me as ExternalExecutionFrameStartSchema,O as GateInstanceListQuerySchema,st as JsonPatchOperationSchema,A as LoopGateOutcomeSchema,D as RegisterExternalExecutionRequestSchema,ye as ResolvedContextEntrySchema,it as SpanRecordSchema,me as SpanStatusSchema,Re as StepCancelPayloadSchema,ut as StepRunConfigSchema,_e as StepRunResultSchema,Se as StepRunnerBusAuthSchema,Xe as StepRunnerPlatformDefaultsSchema,Ve as StepTelemetrySchema,Oe as TokenUsageSchema,at as TransitionActionInvocationSchema,He as TransitionConditionSchema,$e as TransitionEventTypeSchema,ke as TransitionRuleDefinitionSchema,Te as WORKFLOW_CANCELLED_REASON,k as WorkLogArtifactWriteSchema,N as WorkLogDynamicNodeMaterializationSchema,p as WorkLogExecutionSummarySchema,y as WorkLogFrameEntrySchema,T as WorkLogGateEventSchema,L as WorkLogStatsSchema,Ct as WorkLogUsageSummarySchema,q as WorkerContributionManifestSchema,P as WorkflowArtifactBindingSchema,s as WorkflowArtifactRefSchema,m as WorkflowArtifactWriteDeclarationSchema,b as WorkflowAutomationTriggerBindingSchema,ae as WorkflowCancelPayloadSchema,E as WorkflowConditionSchema,R as WorkflowDefinitionProvenanceSchema,wt as WorkflowDefinitionSchema,a as WorkflowDelegateAgentNodeSchema,lt as WorkflowDelegateEconomicsSchema,ge as WorkflowDelegateResultFinalizationGatewayRequestSchema,xe as WorkflowDelegateResultFinalizationRequestSchema,Ye as WorkflowDelegateResultFinalizationResponseSchema,Be as WorkflowDelegateResultFinalizerIdSchema,J as WorkflowDelegateRoleNodeSchema,De as WorkflowDelegateToolObservationSchema,v as WorkflowDynamicRegionSchema,We as WorkflowError,tt as WorkflowErrorCode,K as WorkflowExecutionSchema,X as WorkflowExecutionScopeSchema,we as WorkflowFinalizationClaimSchema,ie as WorkflowFinalizationDeliveryResultSchema,ft as WorkflowFinalizationIntentSchema,xt as WorkflowFinalizerIdSchema,g as WorkflowFrameStateSchema,w as WorkflowGateInstanceSchema,Qe as WorkflowGateNodeSchema,S as WorkflowGateStatusSchema,ee as WorkflowIterateChainNodeSchema,Q as WorkflowIterateNodeSchema,ne as WorkflowListQuerySchema,I as WorkflowLoopNodeSchema,mt as WorkflowNamespace,t as WorkflowNodeBaseSchema,ve as WorkflowNodeSchema,ot as WorkflowNodeTypeSchema,Ue as WorkflowParallelModeSchema,et as WorkflowParallelNodeSchema,H as WorkflowProgressUpdateSchema,Ae as WorkflowResolvedAgentSchema,se as WorkflowResolvedRoleSchema,i as WorkflowRunContextSchema,_ as WorkflowRunResultSchema,pt as WorkflowRunnerStepTypeSchema,d as WorkflowSchemas,Ke as WorkflowSequenceNodeSchema,rt as WorkflowSourceLocationSchema,pe as WorkflowStateDefinitionSchema,Le as WorkflowStationNodeSchema,St as WorkflowStepTypeSchema,l as WorkflowSubjects,ue as WorkflowTerminalStatusSchema,G as WorkflowTriggerModeSchema,Y as WorkflowWorkerBusAuthSchema,h as WorkflowWorkerConfigSchema,C as WorkflowWorkerSourceSchema,de as createStepCancelSubject,yt as createWorkflowCancelSubject,vt as createWorkflowDelegateResultFinalizerNamespace,B as createWorkflowFinalizerNamespace,Ge as defineWorkflow,oe as defineWorkflowBundle,nt as delegateToAgent,fe as delegateToRole,Ie as gate,ct as iterate,he as iterateChain,be as loop,ht as parseArtifactRef,z as projectWorkflowGraph,U as serializeArtifactRef,Je as station,ze as validateNoNestedLoops,o as walkWorkflowDefinition};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as AutomationTriggerType } from "./definition-
|
|
2
|
-
import { n as NodeExtensionContext, t as ExtensionContext } from "./extension-context-
|
|
1
|
+
import { l as AutomationTriggerType } from "./definition-DSOXLpQj.mjs";
|
|
2
|
+
import { n as NodeExtensionContext, t as ExtensionContext } from "./extension-context-SrQpa_kp.mjs";
|
|
3
3
|
|
|
4
4
|
//#region core/contracts/src/automation-trigger/contribution.d.ts
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./json-value-DM-EjTC1.mjs";import{i as t,t as n}from"./visibility-
|
|
1
|
+
import{n as e}from"./json-value-DM-EjTC1.mjs";import{i as t,t as n}from"./visibility-cMXbf9nY.mjs";import{f as r}from"./definitions-CyFaNG_c.mjs";import{z as i}from"zod";const a=i.enum([`anthropic`,`openai`]),o=i.object({anthropic:i.string().url(),openai:i.string().url()}).partial().refine(e=>Object.keys(e).length>0,{message:`At least one protocol endpoint must be specified`}),s=e,c=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),endpoints:o.optional(),defaultModel:i.string().optional(),fastModel:i.string().optional(),primaryTestModel:i.string().optional(),secondaryTestModel:i.string().optional(),availableModels:i.array(t).default([]),defaultModelFilterMode:n.optional(),authMethods:r,capabilities:s.optional()}).strict();export{c as i,a as n,s as r,o as t};
|
package/dist/{detached-extension-handle-BJnk3WEh.mjs → detached-extension-handle-BNvRSUVO.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./descriptor-to-package-GVZk9ZGT.mjs";import{t}from"./jsonl-transport-
|
|
1
|
+
import{t as e}from"./descriptor-to-package-GVZk9ZGT.mjs";import{t}from"./jsonl-transport-D4ch0vsf.mjs";import{z as n}from"zod";import{createBusNamespace as r}from"@makaio/framework/core";const i={idle:[`starting`],starting:[`running`,`crashed`,`stopping`],running:[`stopping`,`crashed`],stopping:[`stopped`],stopped:[`starting`],crashed:[`starting`,`stopped`]};function a(e,t){if(!i[e].includes(t))throw Error(`Invalid state transition: ${e} → ${t}`)}function o(e){return new Promise(t=>{if(e.exitCode!==null||e.signalCode!==null){t(!0);return}e.once(`exit`,()=>t(!0))})}function s(e){let{spawn:n,healthTimeoutMs:r=3e4,shutdownTimeoutMs:i=5e3,restartPolicy:s=`none`,onReady:c,onExit:l,onStateChange:u}=e,d=`idle`,f;function p(e){a(d,e),d=e,u?.(d)}function m(e){let t=f;if(f=void 0,t?.close(),d===`stopping`){p(`stopped`),l?.(e);return}if(d===`running`){if(e!==0){p(`crashed`),l?.(e),(s===`on-crash`||s===`always`)&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)});return}p(`stopping`),p(`stopped`),l?.(e),s===`always`&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)})}}async function h(){p(`starting`);let e=t(n);f=e;let i=e.process;await new Promise((t,a)=>{let o=!1;function s(e){o||(o=!0,clearTimeout(u),d(),i.off(`exit`,h),e())}let u=setTimeout(()=>{s(()=>{e.close(),f=void 0;try{p(`crashed`)}catch{}a(Error(`Process health timeout after ${r}ms: ${n.processName??n.command}`))})},r),d=e.onMessage(()=>{s(()=>{try{p(`running`)}catch(e){a(e);return}c?.(),i.once(`exit`,m),t()})});function h(e){s(()=>{f=void 0;try{p(`crashed`)}catch{}l?.(e),a(Error(`Process exited with code ${String(e)} before signaling readiness`))})}i.once(`exit`,h)})}async function g(){if(d===`stopped`||d===`idle`)return;if(d===`crashed`){f?.close(),f=void 0,p(`stopped`);return}if(d!==`stopping`&&p(`stopping`),!f){d===`stopping`&&p(`stopped`);return}let e=f,t=e.process;if(t.exitCode!==null){e.close(),f===e&&(f=void 0),d===`stopping`&&p(`stopped`);return}t.kill(`SIGTERM`);let n;await Promise.race([o(t).then(()=>(clearTimeout(n),!0)),new Promise(e=>{n=setTimeout(()=>e(!1),i)})])||(t.kill(`SIGKILL`),await o(t)),d===`stopping`&&p(`stopped`),e.close(),f===e&&(f=void 0)}return{get transport(){return f},get state(){return d},start:h,stop:g}}const c=n.object({dataDir:n.string().optional(),machineId:n.string().optional(),makaioHome:n.string().optional(),platform:n.string().optional(),username:n.string().optional()}),l={init:{request:n.object({config:n.unknown().optional(),context:c.optional()}),response:n.object({ready:n.boolean()})},ready:n.object({ready:n.boolean(),config:n.unknown().optional(),context:c.optional()}).passthrough(),destroy:{request:n.object({reason:n.string().optional()}),response:n.object({stopped:n.boolean()})},stopped:n.object({stopped:n.boolean()}).passthrough()};function u(e,t){return e.bus.registerNamespace(r(`extension.${t}`,l)).subjects}function d(e,t){let n;return()=>(n??=u(e,t),n)}function f(e){return{dataDir:e.dataDir,machineId:e.machineId,makaioHome:e.makaioHome,platform:e.platform,username:e.username}}var p=class{descriptor;ctx;extensionPath;getLifecycleSubjects;transport=null;unregister=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{StdioServerTransport:e}=await import(`./src-BZdlyUxT.mjs`),{transport:t}=this.descriptor,n=this.getLifecycleSubjects(),r=new e({name:this.descriptor.name,spawn:{command:t.command,args:t.args,cwd:this.extensionPath,env:t.env,processName:this.descriptor.name}}),i=null;try{let e=this.ctx.bus.registerTransport(r);i=e.unregister,await r.connect(),await r.ready,await e.ready,this.transport=r,this.unregister=i,await this.ctx.bus.request(n.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:t.healthTimeoutMs})}catch(e){throw i?.(),await r.disconnect(),this.transport=null,this.unregister=null,e}}async destroy(){if(this.transport!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before disconnect:`,e instanceof Error?e.message:e)}}this.unregister?.(),this.unregister=null,await this.transport?.disconnect(),this.transport=null}},m=class{descriptor;ctx;extensionPath;getLifecycleSubjects;lifecycle=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{transport:e}=this.descriptor;if(!this.ctx.busUrl)throw Error(`[extensions] ${this.descriptor.name}: bus-websocket transport requires NodeExtensionContext.busUrl`);let t=this.getLifecycleSubjects();this.lifecycle=s({spawn:{command:e.command,args:e.args,cwd:this.extensionPath,env:{...e.env,MAKAIO_BUS_TRANSPORT:`websocket`,MAKAIO_BUS_URL:this.ctx.busUrl,MAKAIO_EXTENSION_NAME:this.descriptor.name},processName:this.descriptor.name},healthTimeoutMs:e.healthTimeoutMs,shutdownTimeoutMs:e.shutdownTimeoutMs,restartPolicy:`restartPolicy`in e?e.restartPolicy:void 0});try{await this.lifecycle.start(),await this.ctx.bus.request(t.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:e.healthTimeoutMs})}catch(e){throw await this.lifecycle.stop(),this.lifecycle=null,e}}async destroy(){if(this.lifecycle!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before process stop:`,e instanceof Error?e.message:e)}await this.lifecycle.stop(),this.lifecycle=null}}},h=class{descriptor;ctx;extensionPath;bridge=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n}async init(){let{startMcpClientBridge:e}=await import(`@makaio/framework/mcp-http-server`),{transport:t}=this.descriptor;this.bridge=await e({command:t.command,args:t.args,env:t.env,cwd:this.extensionPath,extensionName:this.descriptor.name,bus:this.ctx.bus})}async destroy(){this.bridge!==null&&(await this.bridge.close(),this.bridge=null)}};function g(t,n){return{...e(t),create(e){return t.transport.type===`bus-stdio`?new p(t,e,n):t.transport.type===`mcp-stdio`?new h(t,e,n):new m(t,e,n)}}}export{g as createDetachedExtensionPackage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./chunk-DTipWd-i.mjs";import{t,v as n}from"./ajv-
|
|
1
|
+
import{t as e}from"./chunk-DTipWd-i.mjs";import{t,v as n}from"./ajv-Dz-0DD7m.mjs";var r=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:E,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:y,int32:{type:`number`,validate:S},int64:{type:`number`,validate:C},float:{type:`number`,validate:w},double:{type:`number`,validate:w},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}let r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}let s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}let d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}let h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}let v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}let b=-(2**31),x=2**31-1;function S(e){return Number.isInteger(e)&&e<=x&&e>=b}function C(e){return Number.isInteger(e)}function w(){return!0}let T=/[^\\]\\Z/;function E(e){if(T.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),i=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;let r=t(),i=n(),a=i.operators,o={formatMaximum:{okStr:`<=`,ok:a.LTE,fail:a.GT},formatMinimum:{okStr:`>=`,ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:`<`,ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:`>`,ok:a.GT,fail:a.LTE}};e.formatLimitDefinition={keyword:Object.keys(o),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,i.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,i._)`{comparison: ${o[e].okStr}, limit: ${t}}`},code(e){let{gen:t,data:n,schemaCode:a,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new r.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let n=t.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),r=t.const(`fmt`,(0,i._)`${n}[${d.schemaCode}]`);e.fail$data((0,i.or)((0,i._)`typeof ${r} != "object"`,(0,i._)`${r} instanceof RegExp`,(0,i._)`typeof ${r}.compare != "function"`,m(r)))}function p(){let n=d.schema,r=u.formats[n];if(!r||r===!0)return;if(typeof r!=`object`||r instanceof RegExp||typeof r.compare!=`function`)throw Error(`"${s}": format "${n}" does not define "compare" function`);let a=t.scopeValue(`formats`,{key:n,ref:r,code:l.code.formats?(0,i._)`${l.code.formats}${(0,i.getProperty)(n)}`:void 0});e.fail$data(m(a))}function m(e){return(0,i._)`${e}.compare(${n}, ${a}) ${o[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),a=e(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});let a=r(),o=i(),s=n(),c=new s.Name(`fullFormats`),l=new s.Name(`fastFormats`),u=(e,t={keywords:!0})=>{if(Array.isArray(t))return d(e,t,a.fullFormats,c),e;let[n,r]=t.mode===`fast`?[a.fastFormats,l]:[a.fullFormats,c];return d(e,t.formats||a.formatNames,n,r),t.keywords&&(0,o.default)(e),e};u.get=(e,t=`full`)=>{let n=(t===`fast`?a.fastFormats:a.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function d(e,t,n,r){var i;(i=e.opts.code).formats??(i.formats=(0,s._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=u,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=u}));export{a as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AttemptOutcomeControlObservation, AttemptOutcomeControlObservation as AttemptOutcomeControlObservation$1, BoundedRecoveryEvidence, ExecutionAttemptCancellationIntent, ExecutionAttemptCancellationIntent as ExecutionAttemptCancellationIntent$1, ExecutionAttemptInstruction, ExecutionAttemptOperationKind, ExecutionAttemptOperationReportRequest, ExecutionAttemptOperationReportResponse, ExecutionAttemptPreparationResult, ExecutionAttemptWorkspaceBinding, ProviderAllocationRef, WorkerAllocationLifetime } from "@makaio/framework/contracts";
|
|
1
|
+
import { AttemptOutcomeControlObservation, AttemptOutcomeControlObservation as AttemptOutcomeControlObservation$1, BoundedRecoveryEvidence, ExecutionAttemptCancellationIntent, ExecutionAttemptCancellationIntent as ExecutionAttemptCancellationIntent$1, ExecutionAttemptControlReceipt, ExecutionAttemptControlRefusalReason, ExecutionAttemptControlReport, ExecutionAttemptInstruction, ExecutionAttemptOperationKind, ExecutionAttemptOperationReportRequest, ExecutionAttemptOperationReportResponse, ExecutionAttemptPreparationResult, ExecutionAttemptWorkspaceBinding, ProviderAllocationRef, WorkerAllocationLifetime } from "@makaio/framework/contracts";
|
|
2
2
|
|
|
3
3
|
//#region subsystems/workflow-engine/src/execution-attempt-owner-recovery.d.ts
|
|
4
4
|
/** A durable owner's replayable demand for one immutable assignment. */
|
|
@@ -111,6 +111,88 @@ declare function replayEnsuredAttempt(input: EnsureExecutionAttemptInput, boundA
|
|
|
111
111
|
*/
|
|
112
112
|
declare function readAttemptSettlementSnapshot<TOutcome>(input: ReadAttemptSettlementInput, snapshot: AttemptSettlementSnapshot, codec: OutcomeCodec<TOutcome>): AttemptSettlementRead<TOutcome>;
|
|
113
113
|
//#endregion
|
|
114
|
+
//#region subsystems/workflow-engine/src/attempt-control-evidence.d.ts
|
|
115
|
+
/** Separate immutable runtime facts for one accepted Cancel and addressed generation. */
|
|
116
|
+
interface AttemptControlEvidence {
|
|
117
|
+
readonly controlRevision: number;
|
|
118
|
+
readonly runtimeGeneration: number;
|
|
119
|
+
readonly receipt: ExecutionAttemptControlReceipt | null;
|
|
120
|
+
readonly report: ExecutionAttemptControlReport | null;
|
|
121
|
+
}
|
|
122
|
+
/** Coherent recovery read; historical evidence never proves the current generation stopped. */
|
|
123
|
+
interface AttemptCancellationControlState {
|
|
124
|
+
readonly control: AttemptControlState;
|
|
125
|
+
readonly cancellation: ExecutionAttemptCancellationIntent | null;
|
|
126
|
+
readonly evidence: readonly AttemptControlEvidence[];
|
|
127
|
+
}
|
|
128
|
+
/** Exact Attempt and owner scope, without requiring the owner's current-attempt pointer. */
|
|
129
|
+
type ReadAttemptCancellationControlInput = GetInstructionInput;
|
|
130
|
+
/** Store the actual runtime receipt, with owner identity supplied by the trusted caller. */
|
|
131
|
+
interface RecordAttemptControlReceiptInput extends ExecutionAttemptControlReceipt {
|
|
132
|
+
readonly executionId: string;
|
|
133
|
+
}
|
|
134
|
+
/** Store one final runtime conclusion, independently of receipt and terminal outcome. */
|
|
135
|
+
interface ReportAttemptControlInput extends ExecutionAttemptControlReport {
|
|
136
|
+
readonly executionId: string;
|
|
137
|
+
}
|
|
138
|
+
/** Exact duplicates preserve the first payload; refusals are not stop evidence. */
|
|
139
|
+
type AttemptControlEvidenceDecision = {
|
|
140
|
+
readonly kind: 'accepted' | 'duplicate';
|
|
141
|
+
} | {
|
|
142
|
+
readonly kind: ExecutionAttemptControlRefusalReason;
|
|
143
|
+
};
|
|
144
|
+
/** Required atomic operations belonging to the existing Attempt authority. */
|
|
145
|
+
interface AttemptControlEvidenceRepository {
|
|
146
|
+
/**
|
|
147
|
+
* Read intent, runtime correlation and all stored facts in one coherent snapshot.
|
|
148
|
+
* @param input - Exact trusted owner and Attempt identity.
|
|
149
|
+
* @returns Snapshot, or null when the Attempt does not belong to that owner.
|
|
150
|
+
*/
|
|
151
|
+
readAttemptCancellationControl(input: ReadAttemptCancellationControlInput): Promise<AttemptCancellationControlState | null>;
|
|
152
|
+
/**
|
|
153
|
+
* Persist an actual delivery receipt without replacing a separately accepted report.
|
|
154
|
+
* @param input - Runtime receipt plus trusted owner.
|
|
155
|
+
* @returns Durable correlation/replay decision.
|
|
156
|
+
*/
|
|
157
|
+
recordAttemptControlReceipt(input: RecordAttemptControlReceiptInput): Promise<AttemptControlEvidenceDecision>;
|
|
158
|
+
/**
|
|
159
|
+
* Persist a final scoped report without requiring a prior delivery ACK or current owner pointer.
|
|
160
|
+
* @param input - Runtime observation plus trusted owner.
|
|
161
|
+
* @returns Durable correlation/replay decision.
|
|
162
|
+
*/
|
|
163
|
+
reportAttemptControl(input: ReportAttemptControlInput): Promise<AttemptControlEvidenceDecision>;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Detach the complete receipt before any asynchronous storage work.
|
|
167
|
+
* @param input - Runtime receipt and trusted owner.
|
|
168
|
+
* @returns Parsed snapshot.
|
|
169
|
+
*/
|
|
170
|
+
declare function snapshotAttemptControlReceipt(input: RecordAttemptControlReceiptInput): RecordAttemptControlReceiptInput;
|
|
171
|
+
/**
|
|
172
|
+
* Detach the complete final report before any asynchronous storage work.
|
|
173
|
+
* @param input - Runtime observation and trusted owner.
|
|
174
|
+
* @returns Parsed snapshot.
|
|
175
|
+
*/
|
|
176
|
+
declare function snapshotAttemptControlReport(input: ReportAttemptControlInput): ReportAttemptControlInput;
|
|
177
|
+
/**
|
|
178
|
+
* Accept a genuine receipt independently of operation occupancy and final reports.
|
|
179
|
+
* @param attempt - Attempt row, or null when absent.
|
|
180
|
+
* @param cancellation - Winning Cancel receipt.
|
|
181
|
+
* @param stored - Previously persisted receipt for the candidate correlation.
|
|
182
|
+
* @param input - Snapshotted received fact with trusted owner.
|
|
183
|
+
* @returns Mutation decision; the repository owns the atomic write.
|
|
184
|
+
*/
|
|
185
|
+
declare function evaluateAttemptControlReceipt(attempt: ExecutionAttemptRecord | null, cancellation: ExecutionAttemptCancellationIntent | null, stored: ExecutionAttemptControlReceipt | null, input: RecordAttemptControlReceiptInput): AttemptControlEvidenceDecision;
|
|
186
|
+
/**
|
|
187
|
+
* Accept one final report, including negative findings and first reports after settlement.
|
|
188
|
+
* @param attempt - Coherent attempt row including retained terminal operation and Preparation receipts.
|
|
189
|
+
* @param cancellation - Winning Cancel receipt from the same transaction.
|
|
190
|
+
* @param stored - Original final report for the candidate revision and generation.
|
|
191
|
+
* @param input - Snapshotted runtime report with trusted owner.
|
|
192
|
+
* @returns Mutation decision without altering admission, outcome, provider or Job state.
|
|
193
|
+
*/
|
|
194
|
+
declare function evaluateAttemptControlReport(attempt: ExecutionAttemptRecord | null, cancellation: ExecutionAttemptCancellationIntent | null, stored: ExecutionAttemptControlReport | null, input: ReportAttemptControlInput): AttemptControlEvidenceDecision;
|
|
195
|
+
//#endregion
|
|
114
196
|
//#region subsystems/workflow-engine/src/execution-attempt-cancellation.d.ts
|
|
115
197
|
/** Owner-scoped cancellation of attempts that exist when the request commits. */
|
|
116
198
|
interface RequestExecutionCancellationInput {
|
|
@@ -2078,7 +2160,7 @@ type RuntimeReadinessDecision = {
|
|
|
2078
2160
|
* value no reload of the attempt ever yields.
|
|
2079
2161
|
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
2080
2162
|
*/
|
|
2081
|
-
interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepository<TOutcome
|
|
2163
|
+
interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepository<TOutcome>, AttemptControlEvidenceRepository {
|
|
2082
2164
|
/**
|
|
2083
2165
|
* Atomically accept an owner's exact-attempt Cancel and close its operation start gate.
|
|
2084
2166
|
* Pending and historical attempts remain eligible for monotone cleanup; this grants no
|
|
@@ -2669,4 +2751,4 @@ interface ExecutionAttemptRecoveryOperations {
|
|
|
2669
2751
|
listOpenProviderOperations(input: ListOpenProviderOperationsInput): Promise<readonly OpenProviderOperationRecord[]>;
|
|
2670
2752
|
}
|
|
2671
2753
|
//#endregion
|
|
2672
|
-
export { InitialProviderOperationClaimContextSource as $, OperationReportDecision as A, evaluateRuntimeReadiness as At, RecordProvisioningAbsentInput as B, snapshotRequestExecutionCancellationInput as Bt, ExecutionAttemptStatus as C, RuntimeOutcomeFenceMismatchError as Ct, MarkRuntimeReadyInput as D, evaluateOperationCompletion as Dt, InfrastructureFailureDecision as E, evaluateOperationAdmission as Et, ReadBootstrapStartStateInput as F, RequestAttemptCancellationInput as Ft, RuntimeRegistrationDecision as G,
|
|
2754
|
+
export { InitialProviderOperationClaimContextSource as $, AttemptSettlementSnapshot as $t, OperationReportDecision as A, evaluateRuntimeReadiness as At, RecordProvisioningAbsentInput as B, snapshotRequestExecutionCancellationInput as Bt, ExecutionAttemptStatus as C, RuntimeOutcomeFenceMismatchError as Ct, MarkRuntimeReadyInput as D, evaluateOperationCompletion as Dt, InfrastructureFailureDecision as E, evaluateOperationAdmission as Et, ReadBootstrapStartStateInput as F, RequestAttemptCancellationInput as Ft, RuntimeRegistrationDecision as G, ReadAttemptCancellationControlInput as Gt, RegisterRuntimeInput as H, AttemptControlEvidence as Ht, RecordAllocationInput as I, RequestExecutionCancellationInput as It, sameAllocationRef as J, evaluateAttemptControlReceipt as Jt, decodeDurableOutcome as K, RecordAttemptControlReceiptInput as Kt, RecordAllocationTerminatedInput as L, evaluateAttemptCancellation as Lt, PendingAttemptAbandonmentDecision as M, AttemptOutcomeControlObservation$1 as Mt, PreparationReceipt as N, ExecutionAttemptCancellationDecision as Nt, OperationAdmissionDecision as O, evaluatePreparationReport as Ot, ProvisioningClaimDecision as P, ExecutionAttemptCancellationIntent$1 as Pt, InitialProviderOperationClaimContext as Q, AttemptSettlementRead as Qt, RecordInfrastructureFailureInput as R, snapshotAttemptOutcomeControl as Rt, ExecutionAttemptSettlementKind as S, RuntimeOutcomeFence as St, GetInstructionInput as T, evaluateAttemptReachability as Tt, ReportOperationInput as U, AttemptControlEvidenceDecision as Ut, RecoverableAttemptRecord as V, AttemptCancellationControlState as Vt, RuntimeReadinessDecision as W, AttemptControlEvidenceRepository as Wt, CompleteProviderOperationInput as X, snapshotAttemptControlReceipt as Xt, sameDurableOutcome as Y, evaluateAttemptControlReport as Yt, HandoffProviderOperationInput as Z, snapshotAttemptControlReport as Zt, EXECUTION_ATTEMPT_STATUSES as _, isProviderOperationResolved as _t, AllocationRefEvolutionDecision as a, replayEnsuredAttempt as an, ProviderOperationClaimDecision as at, ExecutionAttemptRecoveryOperations as b, AttemptReachability as bt, AttemptExecutionState as c, snapshotReadAttemptSettlementInput as cn, ProviderOperationLeaseRenewal as ct, BootstrapStartState as d, ProviderOperationOwnershipRecord as dt, EnsureExecutionAttemptDecision as en, ListOpenProviderOperationsInput as et, CompleteOperationInput as f, ProvisionerIncarnationLossDecision as ft, EXECUTION_ATTEMPT_SETTLEMENT_KINDS as g, TakeOverProviderOperationInput as gt, DurableOutcome as h, RenewProviderOperationClaimInput as ht, AllocationRefEvolution as i, readAttemptSettlementSnapshot as in, ProviderOperationClaim as it, OutcomeCodec as j, evaluateRuntimeRegistration as jt, OperationCompletionDecision as k, evaluateProvisionerIncarnationLoss as kt, AttemptOperationStartGate as l, ProviderOperationMutationDecision as lt, DuplicateExecutionAttemptError as m, RecordProviderOperationUncertaintyInput as mt, AdmitOperationInput as n, EnsureExecutionAttemptPersistenceInput as nn, PROVIDER_OPERATION_OBLIGATIONS as nt, AllocationTerminationDecision as o, snapshotEnsureExecutionAttemptInput as on, ProviderOperationCompletionDecision as ot, DiscoveredAllocationDecision as p, ProvisioningAbsenceDecision as pt, durableOutcome as q, ReportAttemptControlInput as qt, AllocationRecordingDecision as r, ReadAttemptSettlementInput as rn, ProcessBoundProvisionerLossProof as rt, AttemptControlState as s, snapshotEnsureExecutionAttemptPersistenceInput as sn, ProviderOperationLeasePolicy as st, ATTEMPT_OPERATION_START_GATES as t, EnsureExecutionAttemptInput as tn, OpenProviderOperationRecord as tt, BeginProvisioningInput as u, ProviderOperationObligation as ut, ExecutionAttemptCreate as v, ExecutionAttemptOutcomeCommit as vt, ExecutionOwnerId as w, assertRuntimeOutcomeFence as wt, ExecutionAttemptRepository as x, AttemptReachabilityDecision as xt, ExecutionAttemptRecord as y, ExecutionAttemptOutcomeDecision as yt, RecordProvisionerIncarnationLostInput as z, snapshotRequestAttemptCancellationInput as zt };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-
|
|
1
|
+
import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-B3UNnzKG.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./window-registry-DQkv5wM9.mjs";import{n as t}from"./namespace-DFc1nkal.mjs";import{n}from"./extension-namespace-CWfV3IiR.mjs";import{t as r}from"./schema-introspection-BsWP1vGC.mjs";import{z as i}from"zod";import a from"node:path";import{getErrorString as o}from"@makaio/framework/utils";import{createBusNamespace as s}from"@makaio/framework/core";import{ProviderDefinitionSchema as c,primaryMigrationsPath as l,versionSatisfies as u}from"@makaio/framework/contracts";import{ToastSubjects as d}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as f,getExtensionWarningActionLabel as p}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as m}from"@makaio/framework/services/tray-menu";const h=i.object({name:i.string(),displayName:i.string()}),g=s(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":h,"service.ready":h.extend({durationMs:i.number().int().nonnegative()}),"service.failed":h.extend({errorMessage:i.string()}),"service.skipped":h.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),_=g.subjects;var v=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}};function y(e){return{name:e.name,displayName:e.displayName}}var b=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(_.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){let t=y(e);this.state.currentService=t.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(_.service.starting,t).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${t.name}":`,e)})}ready(e){let t=y(e);this.state.completedCount+=1;let n=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(_.service.ready,{...t,durationMs:n}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${t.name}":`,e)}),this.emitProgress()}failed(e,t){let n=y(e);this.state.completedCount+=1,this.state.failedServices.push(n.name),this.bus.emit(_.service.failed,{...n,errorMessage:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${n.name}":`,e)}),this.emitProgress()}skipped(e,t){let n=y(e);this.state.completedCount+=1,this.state.skippedServices.push(n.name),this.bus.emit(_.service.skipped,{...n,reason:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${n.name}":`,e)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(_.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(_.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function x(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const S=`action`;function C(e,t){return`${e}:${t}`}function ee(e,t,n){return e.on(d.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=C(i,a),s=t.get(o);s&&w(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function w(e,t,n,r){switch(t.kind){case`configure-integration`:await ne(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:te(t)}}function te(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function ne(e,t,n,r){let i=x(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function T(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:r(e.schema)}))}))}async function E(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function D(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function O(e){let r=[];return r.push(e.bus.on(n.list,t=>{t.setResult({extensions:e.list()})})),r.push(e.bus.on(n.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?D(n):null})})),r.push(e.bus.on(n.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),r.push(e.bus.on(n.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:c.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),r.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:T(e.cliContributions)})})),r.push(e.bus.on(t.execute,async t=>{t.setResult(await E(t.payload,e.cliContributions,e.bus))})),r.push(e.bus.on(n.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),r}async function re(e){for(let[t,n]of e.entries)n.state===`active`&&await A(e,t,n)}function ie(e){if(e&&k(e))return[{id:S,label:p(e)}]}function k(e){return e.kind===`configure-integration`}function ae(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function A(e,t,n){ae(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=ie(a.action);try{await e.bus.emit(d.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&k(a.action)&&e.warningActionMap.set(C(o,S),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function oe(e){return Object.freeze({extensionName:e})}function se(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function j(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return se(t,n.pkg.configSchema,n.configDefaults,r)}function M(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function N(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,hashTriggers:!!e.hashTriggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function P(e,t,r){let i=t.state;t.state=r,e.emit(n.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:r,...t.error===void 0?{}:{error:t.error},contributes:N(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function F(e,t,n,r,i){return i===`activated`?(await I(e,t,n,r),[]):L(e,n)}async function I(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=M(t,r,j(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function L(e,t){let n=[];for(let r of[...e].reverse())if(r.processStopped)try{await r.processStopped(t)}catch(e){n.push(e)}return n}async function R(e,t,r){let i=e.entries.get(t);if(!i)return!1;let a=i.enabled,o=r!==a;o&&await e.persistEnabled?.(t,r);let s;try{s=r?await z(e,t,i):await B(e,t,i)}catch(n){if(o&&e.persistEnabled)try{await e.persistEnabled(t,a)}catch(e){throw AggregateError([n,e],`Extension "${t}" transition and preference rollback both failed`)}throw n}return i.enabled===a&&!s?(o&&await e.persistEnabled?.(t,a),!1):(e.bus.emit(n.enabledChanged,{name:t,enabled:r}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),s)}async function z(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),P(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,P(e.bus,n,`initializing`);let s=j(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=M(e,n,s),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),P(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=M(e,n,s);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await V(t,a,i,n),r instanceof v?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),P(e.bus,n,`failed`),!1):(n.error=r.reason,P(e.bus,n,`skipped`),!1):(n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),P(e.bus,n,`failed`),!1)}}try{await F(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await V(t,n.service,i,n),n.service=void 0,n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),P(e.bus,n,`failed`),!1}return P(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function B(e,t,r){if(r.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return r.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${r.error}`),!1;r.enabled=!1,r.error=void 0;let a=[];try{a.push(...await F(e.contributionProcessors,e,t,r,`stopped`))}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Contribution processor error during disable of "${t}":`,e)}if(r.service)try{await r.service.destroy?.()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{r.service=void 0}if(r.storageCleanup)try{r.storageCleanup()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{r.storageCleanup=void 0}if(a.length>0){let e=a.map(e=>o(e)).join(`; `);r.error=o(AggregateError(a,`Extension "${t}" disabled with ${a.length} teardown failure(s): ${e}`))}P(e.bus,r,`stopped`),r.warnings=[];try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return a.length===0}async function V(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function H(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function U(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>W(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function W(e,t,n){if(!K(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:G(n,e.id,e.version):!1}})}function G(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&u(r,n)}function K(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function ce(e){let t=le(e);return ue(e,t,new Map(e.map(e=>[e.name,e]))),pe(t,fe(e,t))}function le(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function ue(e,t,n){for(let r of e)de(r,t,n)}function de(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!u(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function fe(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function pe(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function me(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a,o;if(typeof i==`string`)a=q(n,r.pkg,i);else{let e={};for(let[t,a]of Object.entries(i))a!==void 0&&(e[t]=q(n,r.pkg,a));let t=l(e);if(t===void 0)continue;a=t,o=e}t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a,...o?{migrationsPathByDialect:o}:{}})}t.length!==0&&await e.runMigrations(t)}function q(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let r=e.entries.get(t);if(!r?.service||r.state!==`active`)return;let{checkHealth:i}=r.service;if(!i)return;let a;try{let e=await i.call(r.service),n=f.array().safeParse(e);n.success?a=n.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,n.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}r.warnings=a;try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function he(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function ge(e){let t=[...e.loadOrder].reverse(),n=[],r=[];for(let i of t){let t=e.entries.get(i);if(!t)continue;let a=!1;if(t.state===`active`){let r=await F(e.contributionProcessors,e.contextHost,i,t,`stopped`);r.length>0&&(a=!0,n.push(...r))}if(t.service)try{await t.service.destroy?.()}catch(e){a=!0,n.push(e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){a=!0,n.push(e)}finally{t.storageCleanup=void 0}a&&r.push(i),t.state===`active`&&P(e.contextHost.bus,t,`stopped`)}if(n.length>0)throw AggregateError(n,`Extensions failed to shut down cleanly: ${r.join(`, `)}`)}async function _e(e,t){if(!t.tray)return;let n=ve(t);await e.request(m.register,{entry:n})}function ve(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ye(e,t,n){if(!n.enabled){P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),P(e.bus,n,`initializing`);let i=j(e.contextHost,t,n);if(Se(e,t,n,i)){if(!n.pkg.create){await be(e,t,n);return}await xe(e,t,n,i)}}async function be(e,t,n){try{await F(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function xe(e,t,n,r){let i;try{let a=M(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await F(e.contributionProcessors,e.contextHost,t,n,`activated`),P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof v))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function Se(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=M(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),P(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await _e(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var Ce=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;shutdownRequested=!1;shutdownPromise;lifecycleTail=Promise.resolve();rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(ee(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.load() called after shutdown(). The coordinator is terminal.`);if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=H(U(e,this.surface,this.runtimeEnvironment));this.loadOrder=ce(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:oe(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),he({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...O({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.startAll() called after shutdown(). The coordinator is terminal.`);if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0,await this.enqueueLifecycle(()=>this.startAllInLifecycleLane())}async startAllInLifecycleLane(){let e=new b(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await me({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ye({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await re({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}shutdown(){if(this.shutdownPromise)return this.shutdownPromise;this.shutdownRequested=!0;let e=this.enqueueLifecycle(()=>this.shutdownInLifecycleLane());return this.shutdownPromise=e,this.shutdownController.abort(),e}async shutdownInLifecycleLane(){let e=[],t;for(let t of this.rpcCleanups)try{t()}catch(t){e.push(t)}this.rpcCleanups=[],this.warningActionMap.clear();try{await ge({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}catch(n){n instanceof AggregateError?(t=n.message,e.push(...n.errors)):e.push(n)}if(e.length>0){let n=t===void 0?``:`; ${t}`;throw AggregateError(e,`Extension coordinator shutdown failed with ${e.length} error(s)${n}`)}}list(){return[...this.entries.values()].map(e=>D(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}getLoadedProviderDefinitionIds(){let e=new Set;for(let t of this.entries.values())if(t.enabled&&!(t.state===`failed`||t.state===`skipped`||t.state===`stopped`))for(let n of t.pkg.providers??[])e.add(n.id);return e}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=M(t,r,j(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=M(r,n,j(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return this.shutdownRequested?!1:await this.enqueueLifecycle(()=>R({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>A({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t))}enqueueLifecycle(e){let t=this.lifecycleTail.then(()=>e(),()=>e());return this.lifecycleTail=t.then(()=>void 0,()=>void 0),t}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{g as a,v as i,H as n,_ as o,U as r,Ce as t};
|
|
1
|
+
import{n as e}from"./window-registry-DWHz8TA5.mjs";import{n as t}from"./namespace-D53UGrP6.mjs";import{n}from"./extension-namespace-AaHKv6tQ.mjs";import{t as r}from"./schema-introspection-BTS7FZT_.mjs";import{z as i}from"zod";import a from"node:path";import{getErrorString as o}from"@makaio/framework/utils";import{createBusNamespace as s}from"@makaio/framework/core";import{ProviderDefinitionSchema as c,primaryMigrationsPath as l,versionSatisfies as u}from"@makaio/framework/contracts";import{ToastSubjects as d}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as f,getExtensionWarningActionLabel as p}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as m}from"@makaio/framework/services/tray-menu";const h=i.object({name:i.string(),displayName:i.string()}),g=s(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":h,"service.ready":h.extend({durationMs:i.number().int().nonnegative()}),"service.failed":h.extend({errorMessage:i.string()}),"service.skipped":h.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),_=g.subjects;var v=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}};function y(e){return{name:e.name,displayName:e.displayName}}var b=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(_.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){let t=y(e);this.state.currentService=t.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(_.service.starting,t).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${t.name}":`,e)})}ready(e){let t=y(e);this.state.completedCount+=1;let n=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(_.service.ready,{...t,durationMs:n}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${t.name}":`,e)}),this.emitProgress()}failed(e,t){let n=y(e);this.state.completedCount+=1,this.state.failedServices.push(n.name),this.bus.emit(_.service.failed,{...n,errorMessage:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${n.name}":`,e)}),this.emitProgress()}skipped(e,t){let n=y(e);this.state.completedCount+=1,this.state.skippedServices.push(n.name),this.bus.emit(_.service.skipped,{...n,reason:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${n.name}":`,e)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(_.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(_.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function x(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const S=`action`;function C(e,t){return`${e}:${t}`}function ee(e,t,n){return e.on(d.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=C(i,a),s=t.get(o);s&&w(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function w(e,t,n,r){switch(t.kind){case`configure-integration`:await ne(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:te(t)}}function te(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function ne(e,t,n,r){let i=x(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function T(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:r(e.schema)}))}))}async function E(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function D(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function O(e){let r=[];return r.push(e.bus.on(n.list,t=>{t.setResult({extensions:e.list()})})),r.push(e.bus.on(n.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?D(n):null})})),r.push(e.bus.on(n.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),r.push(e.bus.on(n.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:c.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),r.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:T(e.cliContributions)})})),r.push(e.bus.on(t.execute,async t=>{t.setResult(await E(t.payload,e.cliContributions,e.bus))})),r.push(e.bus.on(n.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),r}async function re(e){for(let[t,n]of e.entries)n.state===`active`&&await A(e,t,n)}function ie(e){if(e&&k(e))return[{id:S,label:p(e)}]}function k(e){return e.kind===`configure-integration`}function ae(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function A(e,t,n){ae(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=ie(a.action);try{await e.bus.emit(d.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&k(a.action)&&e.warningActionMap.set(C(o,S),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function oe(e){return Object.freeze({extensionName:e})}function se(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function j(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return se(t,n.pkg.configSchema,n.configDefaults,r)}function M(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function N(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,hashTriggers:!!e.hashTriggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function P(e,t,r){let i=t.state;t.state=r,e.emit(n.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:r,...t.error===void 0?{}:{error:t.error},contributes:N(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function F(e,t,n,r,i){return i===`activated`?(await I(e,t,n,r),[]):L(e,n)}async function I(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=M(t,r,j(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function L(e,t){let n=[];for(let r of[...e].reverse())if(r.processStopped)try{await r.processStopped(t)}catch(e){n.push(e)}return n}async function R(e,t,r){let i=e.entries.get(t);if(!i)return!1;let a=i.enabled,o=r!==a;o&&await e.persistEnabled?.(t,r);let s;try{s=r?await z(e,t,i):await B(e,t,i)}catch(n){if(o&&e.persistEnabled)try{await e.persistEnabled(t,a)}catch(e){throw AggregateError([n,e],`Extension "${t}" transition and preference rollback both failed`)}throw n}return i.enabled===a&&!s?(o&&await e.persistEnabled?.(t,a),!1):(e.bus.emit(n.enabledChanged,{name:t,enabled:r}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),s)}async function z(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),P(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,P(e.bus,n,`initializing`);let s=j(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=M(e,n,s),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),P(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=M(e,n,s);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await V(t,a,i,n),r instanceof v?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),P(e.bus,n,`failed`),!1):(n.error=r.reason,P(e.bus,n,`skipped`),!1):(n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),P(e.bus,n,`failed`),!1)}}try{await F(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await V(t,n.service,i,n),n.service=void 0,n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),P(e.bus,n,`failed`),!1}return P(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function B(e,t,r){if(r.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return r.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${r.error}`),!1;r.enabled=!1,r.error=void 0;let a=[];try{a.push(...await F(e.contributionProcessors,e,t,r,`stopped`))}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Contribution processor error during disable of "${t}":`,e)}if(r.service)try{await r.service.destroy?.()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{r.service=void 0}if(r.storageCleanup)try{r.storageCleanup()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{r.storageCleanup=void 0}if(a.length>0){let e=a.map(e=>o(e)).join(`; `);r.error=o(AggregateError(a,`Extension "${t}" disabled with ${a.length} teardown failure(s): ${e}`))}P(e.bus,r,`stopped`),r.warnings=[];try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return a.length===0}async function V(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function H(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function U(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>W(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function W(e,t,n){if(!K(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:G(n,e.id,e.version):!1}})}function G(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&u(r,n)}function K(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function ce(e){let t=le(e);return ue(e,t,new Map(e.map(e=>[e.name,e]))),pe(t,fe(e,t))}function le(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function ue(e,t,n){for(let r of e)de(r,t,n)}function de(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!u(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function fe(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function pe(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function me(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a,o;if(typeof i==`string`)a=q(n,r.pkg,i);else{let e={};for(let[t,a]of Object.entries(i))a!==void 0&&(e[t]=q(n,r.pkg,a));let t=l(e);if(t===void 0)continue;a=t,o=e}t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a,...o?{migrationsPathByDialect:o}:{}})}t.length!==0&&await e.runMigrations(t)}function q(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let r=e.entries.get(t);if(!r?.service||r.state!==`active`)return;let{checkHealth:i}=r.service;if(!i)return;let a;try{let e=await i.call(r.service),n=f.array().safeParse(e);n.success?a=n.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,n.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}r.warnings=a;try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function he(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function ge(e){let t=[...e.loadOrder].reverse(),n=[],r=[];for(let i of t){let t=e.entries.get(i);if(!t)continue;let a=!1;if(t.state===`active`){let r=await F(e.contributionProcessors,e.contextHost,i,t,`stopped`);r.length>0&&(a=!0,n.push(...r))}if(t.service)try{await t.service.destroy?.()}catch(e){a=!0,n.push(e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){a=!0,n.push(e)}finally{t.storageCleanup=void 0}a&&r.push(i),t.state===`active`&&P(e.contextHost.bus,t,`stopped`)}if(n.length>0)throw AggregateError(n,`Extensions failed to shut down cleanly: ${r.join(`, `)}`)}async function _e(e,t){if(!t.tray)return;let n=ve(t);await e.request(m.register,{entry:n})}function ve(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ye(e,t,n){if(!n.enabled){P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),P(e.bus,n,`initializing`);let i=j(e.contextHost,t,n);if(Se(e,t,n,i)){if(!n.pkg.create){await be(e,t,n);return}await xe(e,t,n,i)}}async function be(e,t,n){try{await F(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function xe(e,t,n,r){let i;try{let a=M(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await F(e.contributionProcessors,e.contextHost,t,n,`activated`),P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof v))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function Se(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=M(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),P(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await _e(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var Ce=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;shutdownRequested=!1;shutdownPromise;lifecycleTail=Promise.resolve();rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(ee(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.load() called after shutdown(). The coordinator is terminal.`);if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=H(U(e,this.surface,this.runtimeEnvironment));this.loadOrder=ce(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:oe(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),he({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...O({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.startAll() called after shutdown(). The coordinator is terminal.`);if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0,await this.enqueueLifecycle(()=>this.startAllInLifecycleLane())}async startAllInLifecycleLane(){let e=new b(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await me({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ye({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await re({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}shutdown(){if(this.shutdownPromise)return this.shutdownPromise;this.shutdownRequested=!0;let e=this.enqueueLifecycle(()=>this.shutdownInLifecycleLane());return this.shutdownPromise=e,this.shutdownController.abort(),e}async shutdownInLifecycleLane(){let e=[],t;for(let t of this.rpcCleanups)try{t()}catch(t){e.push(t)}this.rpcCleanups=[],this.warningActionMap.clear();try{await ge({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}catch(n){n instanceof AggregateError?(t=n.message,e.push(...n.errors)):e.push(n)}if(e.length>0){let n=t===void 0?``:`; ${t}`;throw AggregateError(e,`Extension coordinator shutdown failed with ${e.length} error(s)${n}`)}}list(){return[...this.entries.values()].map(e=>D(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}getLoadedProviderDefinitionIds(){let e=new Set;for(let t of this.entries.values())if(t.enabled&&!(t.state===`failed`||t.state===`skipped`||t.state===`stopped`))for(let n of t.pkg.providers??[])e.add(n.id);return e}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=M(t,r,j(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=M(r,n,j(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return this.shutdownRequested?!1:await this.enqueueLifecycle(()=>R({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>A({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t))}enqueueLifecycle(e){let t=this.lifecycleTail.then(()=>e(),()=>e());return this.lifecycleTail=t.then(()=>void 0,()=>void 0),t}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{g as a,v as i,H as n,_ as o,U as r,Ce as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./kind-registration-DggkrLkv.mjs";import{n as t}from"./definition-Dqw0YJdi.mjs";import{n,t as r}from"./version-sDSWOMn_.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const W=i.union([i.literal(!0),i.string().min(1).refine(U,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
|
|
1
|
+
import{l as e}from"./kind-registration-BanX_UAF.mjs";import{n as t}from"./definition-o5Dfg5j-.mjs";import{n,t as r}from"./version-DdGhNoY5.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const W=i.union([i.literal(!0),i.string().min(1).refine(U,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
|
|
@@ -63,8 +63,8 @@ declare const ExtensionWarningActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject
|
|
|
63
63
|
* - `'degraded'` — the extension is operating in a degraded fallback mode.
|
|
64
64
|
*/
|
|
65
65
|
declare const ExtensionWarningSeveritySchema: z.ZodEnum<{
|
|
66
|
-
info: "info";
|
|
67
66
|
degraded: "degraded";
|
|
67
|
+
info: "info";
|
|
68
68
|
recommended: "recommended";
|
|
69
69
|
}>;
|
|
70
70
|
/**
|
|
@@ -75,8 +75,8 @@ declare const ExtensionWarningSeveritySchema: z.ZodEnum<{
|
|
|
75
75
|
*/
|
|
76
76
|
declare const ExtensionWarningSchema: z.ZodObject<{
|
|
77
77
|
severity: z.ZodEnum<{
|
|
78
|
-
info: "info";
|
|
79
78
|
degraded: "degraded";
|
|
79
|
+
info: "info";
|
|
80
80
|
recommended: "recommended";
|
|
81
81
|
}>;
|
|
82
82
|
title: z.ZodString;
|
|
@@ -122,8 +122,8 @@ declare const ExtensionWarningEntrySchema: z.ZodObject<{
|
|
|
122
122
|
extensionName: z.ZodString;
|
|
123
123
|
warnings: z.ZodArray<z.ZodObject<{
|
|
124
124
|
severity: z.ZodEnum<{
|
|
125
|
-
info: "info";
|
|
126
125
|
degraded: "degraded";
|
|
126
|
+
info: "info";
|
|
127
127
|
recommended: "recommended";
|
|
128
128
|
}>;
|
|
129
129
|
title: z.ZodString;
|