@makaio/framework 1.0.0-dev-1781023871421 → 1.0.0-dev-1781081952714
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/{account-identity-DT5NOtFi.mjs → account-identity-CgzOqnVm.mjs} +1 -1
- package/dist/{adapter-C1eI-fGV.mjs → adapter-Dt2FDMs4.mjs} +1 -1
- package/dist/adapters/acp-client/index.d.mts +4 -4
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +24 -23
- package/dist/adapters/index.mjs +6 -13
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/ajv-BJsabpMb.mjs +8 -0
- package/dist/await-trigger-DREnXCEJ.mjs +1 -0
- package/dist/bus/index.d.mts +19 -19
- package/dist/{client-bx74gm4R.mjs → client-BBJf1mVA.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 +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +3 -3
- 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 +425 -425
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +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/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/create-static-mount-CFGo91CI.mjs +1 -0
- package/dist/cross-spawn-BL6EvJBv.mjs +1 -0
- package/dist/{cursor-storage-CtVJ3JzB.mjs → cursor-storage-C_WTAESV.mjs} +1 -1
- package/dist/{definition-CrgHIpTK.d.mts → definition-DqJOg6Lv.d.mts} +1 -1
- package/dist/descriptor-to-package-CY8oc2gl.mjs +1 -0
- package/dist/detached-extension-handle-CxEBQnSa.mjs +1 -0
- package/dist/drizzle/0000_charming_prowler.sql +443 -0
- package/dist/drizzle/0001_known_stephen_strange.sql +25 -0
- package/dist/drizzle/0002_woozy_gladiator.sql +1 -0
- package/dist/drizzle/0003_overjoyed_adam_destine.sql +1 -0
- package/dist/drizzle/0004_solid_goliath.sql +1 -0
- package/dist/drizzle/0005_round_calypso.sql +51 -0
- package/dist/drizzle/0006_free_tiger_shark.sql +4 -0
- package/dist/drizzle/0007_sparkling_terror.sql +2 -0
- package/dist/drizzle/0008_petite_deathstrike.sql +1 -0
- package/dist/drizzle/0009_lethal_malcolm_colcord.sql +6 -0
- package/dist/drizzle/0010_grey_chronomancer.sql +1 -0
- package/dist/drizzle/0011_solid_nomad.sql +1 -0
- package/dist/drizzle/meta/0000_snapshot.json +2813 -0
- package/dist/drizzle/meta/0001_snapshot.json +2820 -0
- package/dist/drizzle/meta/0002_snapshot.json +2827 -0
- package/dist/drizzle/meta/0003_snapshot.json +2834 -0
- package/dist/drizzle/meta/0004_snapshot.json +2842 -0
- package/dist/drizzle/meta/0005_snapshot.json +2849 -0
- package/dist/drizzle/meta/0006_snapshot.json +2865 -0
- package/dist/drizzle/meta/0007_snapshot.json +2879 -0
- package/dist/drizzle/meta/0008_snapshot.json +2886 -0
- package/dist/drizzle/meta/0009_snapshot.json +2901 -0
- package/dist/drizzle/meta/0010_snapshot.json +2908 -0
- package/dist/drizzle/meta/0011_snapshot.json +2915 -0
- package/dist/drizzle/meta/_journal.json +90 -0
- package/dist/esm-BdLRFEUy.mjs +3 -0
- package/dist/expression/index.d.mts +120 -0
- package/dist/expression/index.mjs +1431 -0
- package/dist/extension--5Q190u_.mjs +1 -0
- package/dist/{extension-CpIUgBKI.mjs → extension-DFIZ3FCJ.mjs} +1 -1
- package/dist/extension-discovery-CkV_VRdJ.d.mts +163 -0
- package/dist/fast-uri-BF2Xuiop.mjs +1 -0
- package/dist/{filesystem-service-B8rhBRgB.mjs → filesystem-service-DH9zlxyd.mjs} +1 -1
- package/dist/git/index.mjs +17 -17
- package/dist/globby-4SrlyIlj.mjs +1 -0
- package/dist/{handlers-CkTsQLra.mjs → handlers-Bev7-xjL.mjs} +1 -1
- package/dist/{index-472sOmsW.d.mts → index-BAhJKQLX.d.mts} +7 -7
- package/dist/{index-D9MwJ2Q8.d.mts → index-BCKRUuI2.d.mts} +2 -2
- package/dist/{index-mNec7V-9.d.mts → index-BYkOUd0x.d.mts} +12 -12
- package/dist/{index-8SZkg7s6.d.mts → index-Bibt5jAX.d.mts} +8 -8
- package/dist/{index-DBw-89vC2.d.mts → index-BmV60tMf.d.mts} +18 -18
- package/dist/{index-B_zQC98V.d.mts → index-BpniJgxu.d.mts} +4 -4
- package/dist/{index-soFznFCy2.d.mts → index-Bw_zL7Rs.d.mts} +1 -1
- package/dist/{index-CelJCBjk.d.mts → index-C3zfJg6s.d.mts} +13 -13
- package/dist/{index-Caig6TeF.d.mts → index-CNOTkyGw.d.mts} +379 -303
- package/dist/{index-Bh_Ne7LF.d.mts → index-CwKzQuIX.d.mts} +28 -28
- package/dist/{index-B3PK4FIn.d.mts → index-D6bw4qJp.d.mts} +112 -112
- package/dist/{index-Cm0dUkWL.d.mts → index-DETxgKS2.d.mts} +24 -24
- package/dist/{index-D90OmGmV.d.mts → index-Db0uJ_Cg2.d.mts} +3 -3
- package/dist/{index-Bvb2mMH6.d.mts → index-IekAD8Gp.d.mts} +44 -44
- package/dist/index-YDfOv0GT.d.mts +1133 -0
- package/dist/{index-L4GjJDKb.d.mts → index-fVgKVvta.d.mts} +3 -3
- package/dist/{index-DUaw0Dw8.d.mts → index-jlQ4IhR5.d.mts} +497 -497
- package/dist/jsonl-transport-BxNXizIm.mjs +3 -0
- package/dist/kernel/cli/index.d.mts +2 -95
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/register.d.mts +2 -0
- package/dist/kernel/cli/register.mjs +1 -0
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/lib-B9kVK_1_.mjs +4 -0
- package/dist/lib-DPruLs5D.mjs +155 -0
- package/dist/lib-aRogYLqg.mjs +5 -0
- package/dist/load-extensions-C-TqCwzL.mjs +1 -0
- package/dist/load-extensions-D9nbDIiW.d.mts +117 -0
- package/dist/mcp-http-server/index.d.mts +561 -0
- package/dist/mcp-http-server/index.mjs +4 -0
- package/dist/{namespace-EQniz-Aw.d.mts → namespace-B60mn8J-2.d.mts} +4 -4
- package/dist/{namespace-CxhsoFUP.d.mts → namespace-BBVtD1gu.d.mts} +14 -14
- package/dist/namespace-BXqetkc3.mjs +1 -0
- package/dist/{namespace-Dr8K0MCp.d.mts → namespace-BlS_i9KT.d.mts} +17 -17
- package/dist/{namespace-5QQqbF-B.d.mts → namespace-ByyuIFpL.d.mts} +91 -91
- package/dist/{namespace-DLovh2Ws.d.mts → namespace-CHMszppN.d.mts} +6 -6
- package/dist/{namespace-BM7Djng9.d.mts → namespace-CqUGzG53.d.mts} +2 -2
- package/dist/{namespace-DD8Oiqo7.d.mts → namespace-D1Iw_d1P.d.mts} +20 -20
- package/dist/{namespace-DgqkaOVu.d.mts → namespace-DBKWNrk7.d.mts} +22 -22
- package/dist/{namespace-CaaNnKcR.d.mts → namespace-Ds6HkJEU.d.mts} +138 -138
- package/dist/namespace-DzVf1hVH.d.mts +96 -0
- package/dist/{namespace-TyiTsLFv.d.mts → namespace-aBIAWxY3.d.mts} +46 -46
- package/dist/{namespace-DuXK5AYN.mjs → namespace-h0HIuqx0.mjs} +1 -1
- package/dist/{native-session-supervisor-B1TnaPUF.mjs → native-session-supervisor-DeKpxhWO.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-CIDiFJMD.mjs → orchestrator-shared-FnWrPS09.mjs} +1 -1
- package/dist/out-CvZYgczi.mjs +41 -0
- package/dist/package-1DS4bXg5.mjs +1 -0
- package/dist/package-BSnp1zOR.d.mts +372 -0
- package/dist/package.json +5 -0
- package/dist/primitive-runtime-DcYYWy_6.mjs +8 -0
- package/dist/{profile-6ynCD5k3.mjs → profile-D39-Zy_W.mjs} +1 -1
- package/dist/{provider-context-CK6B4X_8.mjs → provider-context-lfG0BpqX.mjs} +1 -1
- package/dist/quick-lru-B9nWXbXI.mjs +1 -0
- package/dist/rules/index.d.mts +27 -0
- package/dist/rules/index.mjs +1 -0
- package/dist/rules/schemas.d.mts +2 -0
- package/dist/rules/schemas.mjs +1 -0
- package/dist/runtime-bun/index.d.mts +385 -0
- package/dist/runtime-bun/index.mjs +1 -0
- package/dist/runtime-node/bus/runtime/namespace.d.mts +61 -0
- package/dist/runtime-node/bus/runtime/namespace.mjs +1 -0
- package/dist/runtime-node/bus/runtime/schemas.d.mts +54 -0
- package/dist/runtime-node/bus/runtime/schemas.mjs +1 -0
- package/dist/runtime-node/extension-discovery.d.mts +2 -0
- package/dist/runtime-node/extension-discovery.mjs +1 -0
- package/dist/runtime-node/extension-validation.d.mts +2 -0
- package/dist/runtime-node/extension-validation.mjs +1 -0
- package/dist/runtime-node/index.d.mts +745 -0
- package/dist/runtime-node/index.mjs +148 -0
- package/dist/runtime-node/makaio-config.d.mts +153 -0
- package/dist/runtime-node/makaio-config.mjs +1 -0
- package/dist/runtime-node/workflow-worker/index.d.mts +2 -0
- package/dist/runtime-node/workflow-worker/index.mjs +1 -0
- package/dist/runtime-node/workflow-worker/worker-entry.d.mts +39 -0
- package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -0
- package/dist/{schema-M5YTvSAG.d.mts → schema-CDL_pyyM.d.mts} +4 -4
- package/dist/{schema-e0wU_lcV.mjs → schema-DCJyzRHe.mjs} +1 -1
- package/dist/schema-introspection-CuRZPYEc.mjs +1 -0
- package/dist/{schemas-C46QfKzv.d.mts → schemas-B5ToLwIs.d.mts} +14 -14
- package/dist/schemas-C792eVAZ.d.mts +171 -0
- package/dist/{schemas-CaLhkkLn.mjs → schemas-CSUwpaNm.mjs} +1 -1
- package/dist/{schemas-DVF1A4DF.d.mts → schemas-Chyj6HuZ.d.mts} +9 -9
- package/dist/{schemas-DATniTHb.d.mts → schemas-DZUaRcYl.d.mts} +14 -14
- package/dist/{schemas-DiYVzG6e.d.mts → schemas-Exixg77V2.d.mts} +16 -16
- package/dist/{schemas-ClOOT1W6.d.mts → schemas-lqvZ6UpK.d.mts} +3 -3
- package/dist/{schemas-j7ivZ2HI.d.mts → schemas-on3_N5HP.d.mts} +138 -138
- package/dist/{schemas-wg_6PAdV.d.mts → schemas-t1VR6_b_.d.mts} +4 -4
- package/dist/semver-DhHJv6Dt.mjs +1 -0
- 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 +2 -2
- 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 +1 -1
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +7 -7
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +6 -6
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.d.mts +6 -6
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.d.mts +12 -12
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +159 -158
- 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 +3 -3
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/log-import.mjs +1 -1
- package/dist/services/log-import/namespace.d.mts +6 -6
- package/dist/services/log-import/namespace.mjs +1 -1
- package/dist/services/log-import/schemas.d.mts +3 -3
- package/dist/services/log-import/schemas.mjs +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +10 -10
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/turn/schemas.d.mts +10 -10
- package/dist/{session-BoldSdNZ2.mjs → session-BnfsJoZi.mjs} +1 -1
- package/dist/{session-DuVOYctZ.mjs → session-C1Cami7U.mjs} +1 -1
- package/dist/{session-lineage-CRsc9g1x.d.mts → session-lineage-CKg6mErA.d.mts} +1 -1
- package/dist/{skill-CQO4mDqK.mjs → skill-BNQnWVIG.mjs} +1 -1
- package/dist/src-Dvp41Cg2.mjs +1 -0
- package/dist/src-Z3vAZJfw.mjs +21 -0
- 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/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/storage-namespace-BXO3lDVy.mjs +1 -0
- package/dist/{storage-namespace-BXkoh5Sy.d.mts → storage-namespace-BXmMUd7a.d.mts} +20 -20
- package/dist/style.css +540 -540
- package/dist/supports-color-fVsgozsi.mjs +1 -0
- package/dist/tool-approval-service-BgNcJvKx.mjs +1 -0
- package/dist/tools-DC4KrqI1.mjs +1 -0
- package/dist/{types-CCdqjeuH.d.mts → types-B0BtvVAq.d.mts} +2 -81
- package/dist/{types-BCMUtBj1.d.mts → types-CmMesAgR.d.mts} +1 -1
- package/dist/{types-DZHvOc_Q.d.mts → types-D0fPFh-D.d.mts} +1 -1
- package/dist/{types-Dy3YTcTF.d.mts → types-DiGqpZOD.d.mts} +288 -288
- package/dist/ui-components/index.d.mts +1 -1
- package/dist/ui-components/index.mjs +2 -2
- package/dist/ui-hooks/index.d.mts +6 -6
- package/dist/ui-kernel/index.d.mts +7 -7
- package/dist/ui-kernel/pages/namespace.d.mts +8 -8
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/ui-views/index.mjs +2 -2
- package/dist/version-B4NO_fID.mjs +1 -0
- package/dist/workflow-engine/index.d.mts +6568 -0
- package/dist/workflow-engine/index.mjs +1 -0
- package/dist/workflow-engine/package.d.mts +2 -0
- package/dist/workflow-engine/package.mjs +1 -0
- package/dist/workflow-engine/workflow-orchestrator.d.mts +61 -0
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -0
- package/dist/workflow-worker-DvP753UN.mjs +1 -0
- package/package.json +65 -1
- package/dist/extension-C-4BHMRI.mjs +0 -1
- package/dist/globby-rtWVaFHv.mjs +0 -41
- package/dist/schema-introspection-Dn1jWQs1.mjs +0 -1
- package/dist/schemas-CVvwIfG4.mjs +0 -1
- package/dist/storage-namespace-DWsYLAXa.mjs +0 -1
- package/dist/tool-approval-service-BvZWhYZp.mjs +0 -1
- package/dist/tools-D-luYcDw.mjs +0 -1431
- package/dist/version-BeT3ASEe.mjs +0 -1
- /package/dist/{base-orchestrator-wyumsn3b.d.mts → base-orchestrator-M5mAB5-w.d.mts} +0 -0
- /package/dist/{capability-service-CJbmhfv9.mjs → capability-service-jjrFLM6r.mjs} +0 -0
- /package/dist/{cleanEnvForAdapter-KkYzQa1f.mjs → cleanEnvForAdapter-BlpmyXYk.mjs} +0 -0
- /package/dist/{clients-namespace-GmSJpBUV.d.mts → clients-namespace-SFk7OTop.d.mts} +0 -0
- /package/dist/{config-namespace-CPY9YsR8.d.mts → config-namespace-BzAvE2nY.d.mts} +0 -0
- /package/dist/{config-namespace-ncYg2ct_.mjs → config-namespace-DydHz9so.mjs} +0 -0
- /package/dist/{definition-BLCdXGzh.d.mts → definition-BSghHJpQ.d.mts} +0 -0
- /package/dist/{definition-pkJ6szUl.d.mts → definition-q6iLw11H.d.mts} +0 -0
- /package/dist/{drizzle-Eq8W1EbD.mjs → drizzle-DpjZFY_j.mjs} +0 -0
- /package/dist/{event-Ca2yUf5i.mjs → event-BEllCn16.mjs} +0 -0
- /package/dist/{execution-target-CRPTfZlc.mjs → execution-target-CQGYaaM2.mjs} +0 -0
- /package/dist/{extension-namespace-cMh_mMiL.mjs → extension-namespace-BBgYOttA.mjs} +0 -0
- /package/dist/{facet-BuwhrThl.mjs → facet-DMrryX_0.mjs} +0 -0
- /package/dist/{filesystem-service-p_iJVHd4.d.mts → filesystem-service-Ddngll0j.d.mts} +0 -0
- /package/dist/{harness-BRCMcvQN.mjs → harness-B8E_wRwa.mjs} +0 -0
- /package/dist/{host-Br9VuOyr.mjs → host-DbMiI5wQ.mjs} +0 -0
- /package/dist/{identity-Cz2IeEtm.mjs → identity-Bmx-8fPa.mjs} +0 -0
- /package/dist/{index-U-A8eyGT.d.mts → index-9IDJUJ4X.d.mts} +0 -0
- /package/dist/{index-CGmcS0Ma.d.mts → index-BBvcP-P0.d.mts} +0 -0
- /package/dist/{index-BGfWS6GE.d.mts → index-BKKNWqkP2.d.mts} +0 -0
- /package/dist/{index-DKia0MX1.d.mts → index-BMpRB6iE.d.mts} +0 -0
- /package/dist/{index-CHQ1SqT0.d.mts → index-BbCjtc3h.d.mts} +0 -0
- /package/dist/{index-BFg9BUpx.d.mts → index-BheaEhyI.d.mts} +0 -0
- /package/dist/{index-Cs0kZXIz2.d.mts → index-BnQSPC6c.d.mts} +0 -0
- /package/dist/{index-CCGVh9BF2.d.mts → index-BpXX9WZJ.d.mts} +0 -0
- /package/dist/{index-DMKnON5s.d.mts → index-Bsp0O_sI.d.mts} +0 -0
- /package/dist/{index-DANINzMu.d.mts → index-Buo9H8RK.d.mts} +0 -0
- /package/dist/{index-CLpjm52M.d.mts → index-BxFA1XcP.d.mts} +0 -0
- /package/dist/{index-ChunCFu4.d.mts → index-C33Tq1ei2.d.mts} +0 -0
- /package/dist/{index-DGBu6bHi2.d.mts → index-C6BhKRnH.d.mts} +0 -0
- /package/dist/{index-eemAKwsB.d.mts → index-CDU_s69P.d.mts} +0 -0
- /package/dist/{index-DKC62dY5.d.mts → index-CGJjA-hR2.d.mts} +0 -0
- /package/dist/{index-CokQYGVP.d.mts → index-Clut1ljB.d.mts} +0 -0
- /package/dist/{index-BVgfS-AJ.d.mts → index-Cz9JMjZK.d.mts} +0 -0
- /package/dist/{index-vtXJuwrz.d.mts → index-D0SUjZmU.d.mts} +0 -0
- /package/dist/{index-x_lVDp_J.d.mts → index-D6Iyvz9T.d.mts} +0 -0
- /package/dist/{index-D5d5HeWI2.d.mts → index-DOfq0qqv.d.mts} +0 -0
- /package/dist/{index-De3kPhlN.d.mts → index-DSV1aFgK.d.mts} +0 -0
- /package/dist/{index-B80L4YqA.d.mts → index-Dsq2zKvu.d.mts} +0 -0
- /package/dist/{materialization-CuUBu4XI.mjs → materialization-3QUnQLbC.mjs} +0 -0
- /package/dist/{model-registry-Scn_MC2d.mjs → model-registry-B0AIdj7O.mjs} +0 -0
- /package/dist/{model-registry-CfXytvzx.mjs → model-registry-j-rCKcik.mjs} +0 -0
- /package/dist/{namespace-CFLAmQfh.mjs → namespace-BbjCyZC9.mjs} +0 -0
- /package/dist/{namespace-BwzZJqTV.mjs → namespace-BgPoC46Q.mjs} +0 -0
- /package/dist/{namespace-Yna5-Pws.mjs → namespace-CDiM5Bcr.mjs} +0 -0
- /package/dist/{namespace-BoD94mrN.mjs → namespace-CUOGcGPG.mjs} +0 -0
- /package/dist/{namespace-LViZ-EQk.mjs → namespace-D6X67cUk.mjs} +0 -0
- /package/dist/{namespace-DkRgbZYn.mjs → namespace-ENv7H7Na.mjs} +0 -0
- /package/dist/{namespace-xcmbQlxh.mjs → namespace-FT8igkn4.mjs} +0 -0
- /package/dist/{namespace-CaoZ3S78.d.mts → namespace-XTGCaSXj.d.mts} +0 -0
- /package/dist/{namespace-CTm3nEvh.d.mts → namespace-nlsvvMtD.d.mts} +0 -0
- /package/dist/{namespace-IV1QK__V.d.mts → namespace-uuR0Fg5r.d.mts} +0 -0
- /package/dist/{orchestrator-shared-Dfa7FMyw.d.mts → orchestrator-shared-D91Wk7z-.d.mts} +0 -0
- /package/dist/{package-DKVlsMP3.mjs → package-OE9dMQsq.mjs} +0 -0
- /package/dist/{platform-DZ7z-wXD.mjs → platform-Dhv22LiX.mjs} +0 -0
- /package/dist/{providers-u8i15co9.mjs → providers-B1p0P-vB.mjs} +0 -0
- /package/dist/{providers-namespace-DSEpli4A.d.mts → providers-namespace-BqWYkydw.d.mts} +0 -0
- /package/dist/{schema-CoyE6mPt.mjs → schema-DOnJmAPw.mjs} +0 -0
- /package/dist/{schemas-Bd0OjRQf.d.mts → schemas-B77Gi8Xr.d.mts} +0 -0
- /package/dist/{schemas-jFe1AuI-.mjs → schemas-BCIuTWRl2.mjs} +0 -0
- /package/dist/{schemas-DE-GNmSD.mjs → schemas-BdAf5u58.mjs} +0 -0
- /package/dist/{schemas-CDBSjg7o.d.mts → schemas-Dyk7JuVl.d.mts} +0 -0
- /package/dist/{schemas-DaRSfYLf.d.mts → schemas-Kq33MTPY.d.mts} +0 -0
- /package/dist/{server-lifecycle-YoSGFGnU.d.mts → server-lifecycle-47mygK3E.d.mts} +0 -0
- /package/dist/{server-lifecycle-FXTPW39-.mjs → server-lifecycle-Cg47L59Q.mjs} +0 -0
- /package/dist/{shared-schemas-CPShiLNp.mjs → shared-schemas-CKe2uN4-.mjs} +0 -0
- /package/dist/{storage-namespace-definition-Bkx5rSto.d.mts → storage-namespace-definition-C3XbpiP8.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-CqSdsuCC.mjs → storage-namespace-definition-RvjfFysN.mjs} +0 -0
- /package/dist/{telemetry-CvdLBWuk.mjs → telemetry-O0394b7p.mjs} +0 -0
- /package/dist/{tray-menu-service-DuXq5k22.mjs → tray-menu-service-B5YPK_YF.mjs} +0 -0
- /package/dist/{types-C2Ob9zz_.d.mts → types-5Gw3iVpK.d.mts} +0 -0
- /package/dist/{types-dyP-bXXE.d.mts → types-BhXRffJ_.d.mts} +0 -0
- /package/dist/{types-MfJZ67e9.d.mts → types-D-bP8RRE.d.mts} +0 -0
- /package/dist/{variant-CT6XBP6T.mjs → variant-COVbYmMs.mjs} +0 -0
- /package/dist/{window-registry-CBcrGTv4.d.mts → window-registry-CfEi_Ji4.d.mts} +0 -0
- /package/dist/{window-registry-DW-dKRjQ.mjs → window-registry-XjOExitT.mjs} +0 -0
|
@@ -0,0 +1,1133 @@
|
|
|
1
|
+
import { r as ExtensionDiscovery } from "./extension-discovery-CkV_VRdJ.mjs";
|
|
2
|
+
import { RegistrableBusNamespaceDefinition } from "@makaio/framework/core";
|
|
3
|
+
import { BusTransport, IMakaioBus, SubjectTelemetryProjectorRegistry } from "@makaio/framework/bus";
|
|
4
|
+
import { ExtensionConfigProvider, IWorkerNodeProvider, IWorkflowRunner, IWorkflowRunner as IWorkflowRunner$1, NormalizedWorkerNodeCapabilities, StationHandler, StepRunnerBusAuth, StepRunnerPlatformDefaults, TrayManifest, WorkerContributionManifest, WorkerNodeCapabilities, WorkerNodeDispatch, WorkerNodeHandle, WorkerNodeProvisionRequest, WorkerNodeRequirements, WorkflowDefinition, WorkflowRunResult, WorkflowRunResult as WorkflowRunResult$1, WorkflowRunnerRunOptions, WorkflowWorkerConfig, WorkflowWorkerSource, WorkflowZodSchemas } from "@makaio/framework/contracts";
|
|
5
|
+
import { PostInstallHandler, StrategyDependencies } from "@makaio/framework/clients";
|
|
6
|
+
import { DispatchingAuth, TransportAuth } from "@makaio/framework/node/transports";
|
|
7
|
+
import { ContributionProcessor, ExtensionCoordinator, ExtensionRuntimeSurface, KernelExtensionContext, KernelMakaioExtension, RuntimeCapability, TransportProvider, WindowRegistry } from "@makaio/framework/kernel";
|
|
8
|
+
import { Hono } from "hono";
|
|
9
|
+
import { Server } from "node:http";
|
|
10
|
+
|
|
11
|
+
//#region runtimes/node/src/hono-route-graph.d.ts
|
|
12
|
+
/**
|
|
13
|
+
* Options for {@link createHonoRouteGraph}.
|
|
14
|
+
*
|
|
15
|
+
* Infrastructure routes handled by the stable facade rather than the
|
|
16
|
+
* rebuildable Hono app are configured here so that a full graph rebuild
|
|
17
|
+
* never accidentally removes them.
|
|
18
|
+
*/
|
|
19
|
+
interface HonoRouteGraphOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Health check callback. When provided, the facade intercepts
|
|
22
|
+
* `GET /health` and returns a JSON response with the callback's return
|
|
23
|
+
* value. When absent, `/health` falls through to the active Hono app.
|
|
24
|
+
* @returns Any JSON-serialisable health snapshot.
|
|
25
|
+
*/
|
|
26
|
+
health?: () => unknown;
|
|
27
|
+
}
|
|
28
|
+
/** Fetch facade for an atomically replaceable Hono route graph. */
|
|
29
|
+
interface HonoRouteGraph {
|
|
30
|
+
/**
|
|
31
|
+
* Stable fetch function passed to the owning HTTP server.
|
|
32
|
+
*
|
|
33
|
+
* Before {@link markReady} it returns 503 without invoking Hono so the
|
|
34
|
+
* mutable matcher is not built while boot is still registering routes.
|
|
35
|
+
*/
|
|
36
|
+
readonly fetch: Hono['fetch'];
|
|
37
|
+
/**
|
|
38
|
+
* Allow HTTP requests to reach the active Hono app.
|
|
39
|
+
*/
|
|
40
|
+
markReady(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Swap future requests to a fully constructed Hono app.
|
|
43
|
+
*
|
|
44
|
+
* Existing requests keep using the app captured at dispatch time; new
|
|
45
|
+
* requests observe the replacement immediately.
|
|
46
|
+
* @param nextApp - Fully registered Hono app to serve for future requests.
|
|
47
|
+
*/
|
|
48
|
+
replaceApp(nextApp: Hono): void;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a stable HTTP-server fetch facade over an immutable-at-runtime Hono app.
|
|
52
|
+
*
|
|
53
|
+
* Hono route tables are mutable only until their matcher has handled a request.
|
|
54
|
+
* Composition roots that bind the TCP server before runtime boot finishes must
|
|
55
|
+
* keep early requests away from `app.fetch()`, then expose the app once all
|
|
56
|
+
* boot-time routes are mounted. Dynamic route changes should build a fresh
|
|
57
|
+
* Hono app off-path and call {@link HonoRouteGraph.replaceApp}.
|
|
58
|
+
*
|
|
59
|
+
* Infrastructure routes (`GET /health`, `GET /bus`) are handled by the stable
|
|
60
|
+
* facade so they survive graph rebuilds and are never accidentally removed.
|
|
61
|
+
* The `/bus` upgrade path returns 426 to signal that the endpoint requires a
|
|
62
|
+
* WebSocket upgrade, replacing the former `registerBusHttpEndpoint` helper.
|
|
63
|
+
* @param initialApp - Initial Hono app used after boot readiness.
|
|
64
|
+
* @param options - Optional facade-level route configuration.
|
|
65
|
+
* @returns Stable fetch facade plus readiness/replacement controls.
|
|
66
|
+
*/
|
|
67
|
+
declare function createHonoRouteGraph(initialApp: Hono, options?: HonoRouteGraphOptions): HonoRouteGraph;
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region runtimes/node/src/http-route-contribution.d.ts
|
|
70
|
+
/** The ordered phase in which an HTTP route contribution is mounted. */
|
|
71
|
+
type HttpContributionPhase = 'extension' | 'static-fallback';
|
|
72
|
+
/**
|
|
73
|
+
* A single contribution to the HTTP route graph.
|
|
74
|
+
*
|
|
75
|
+
* Contributions declare their routing phase so the builder can mount them in
|
|
76
|
+
* the correct order regardless of registration order.
|
|
77
|
+
*/
|
|
78
|
+
interface HttpRouteContribution {
|
|
79
|
+
/** Stable identifier for the contributing owner; used to remove by owner. */
|
|
80
|
+
readonly owner: string;
|
|
81
|
+
/** Phase determines mount order: `extension` before `static-fallback`. */
|
|
82
|
+
readonly phase: HttpContributionPhase;
|
|
83
|
+
/**
|
|
84
|
+
* Mount routes onto the provided Hono app.
|
|
85
|
+
* @param app - Fresh Hono app being assembled by the builder.
|
|
86
|
+
*/
|
|
87
|
+
readonly mount: (app: Hono) => void;
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region runtimes/node/src/http-route-graph-builder.d.ts
|
|
91
|
+
/**
|
|
92
|
+
* Manages a mutable set of {@link HttpRouteContribution}s and keeps the owning
|
|
93
|
+
* {@link HonoRouteGraph} up to date whenever contributions change.
|
|
94
|
+
*/
|
|
95
|
+
interface HttpRouteGraphBuilder {
|
|
96
|
+
/**
|
|
97
|
+
* Add a contribution and trigger a rebuild of the route graph.
|
|
98
|
+
* @param contribution - The contribution to register.
|
|
99
|
+
*/
|
|
100
|
+
add(contribution: HttpRouteContribution): void;
|
|
101
|
+
/**
|
|
102
|
+
* Remove all contributions registered under the given owner and trigger a
|
|
103
|
+
* rebuild. A no-op when the owner is not registered.
|
|
104
|
+
* @param owner - The owner identifier to remove.
|
|
105
|
+
*/
|
|
106
|
+
remove(owner: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Assemble and return a fresh Hono app from the current contributions sorted
|
|
109
|
+
* by phase.
|
|
110
|
+
* @returns Newly constructed Hono app.
|
|
111
|
+
*/
|
|
112
|
+
build(): Hono;
|
|
113
|
+
/** Snapshot of the current contributions in registration order. */
|
|
114
|
+
readonly contributions: ReadonlyArray<HttpRouteContribution>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create an {@link HttpRouteGraphBuilder} backed by an optional route graph.
|
|
118
|
+
*
|
|
119
|
+
* When `routeGraph` is provided, every {@link HttpRouteGraphBuilder.add} and
|
|
120
|
+
* {@link HttpRouteGraphBuilder.remove} call triggers
|
|
121
|
+
* {@link HonoRouteGraph.replaceApp} with a freshly assembled Hono app.
|
|
122
|
+
*
|
|
123
|
+
* When `routeGraph` is `undefined` (e.g. the Vite dev-server mode where the
|
|
124
|
+
* route graph lives in the Vite plugin), contributions accumulate without
|
|
125
|
+
* triggering a rebuild.
|
|
126
|
+
* @param routeGraph - Route graph to update on change, or `undefined` to
|
|
127
|
+
* accumulate contributions without rebuilding.
|
|
128
|
+
* @returns Builder instance managing contributions and rebuilds.
|
|
129
|
+
*/
|
|
130
|
+
declare function createHttpRouteGraphBuilder(routeGraph: HonoRouteGraph | undefined): HttpRouteGraphBuilder;
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region runtimes/node/src/framework-module-resolver.d.ts
|
|
133
|
+
interface FrameworkModuleResolver {
|
|
134
|
+
readonly frameworkDistPath: string;
|
|
135
|
+
install(): void | Promise<void>;
|
|
136
|
+
uninstall(): void | Promise<void>;
|
|
137
|
+
}
|
|
138
|
+
/** Runtime package export value shapes used by `@makaio/framework`. */
|
|
139
|
+
type FrameworkPackageExportValue = string | FrameworkPackageExportConditions;
|
|
140
|
+
/** Runtime package exports map keyed by subpath (e.g. `./bus`). */
|
|
141
|
+
type FrameworkPackageExports = Readonly<Record<string, FrameworkPackageExportValue>>;
|
|
142
|
+
/** Conditional package export object. Runtime resolution ignores type-only conditions. */
|
|
143
|
+
interface FrameworkPackageExportConditions {
|
|
144
|
+
readonly default?: unknown;
|
|
145
|
+
readonly import?: unknown;
|
|
146
|
+
readonly require?: unknown;
|
|
147
|
+
readonly types?: unknown;
|
|
148
|
+
readonly [condition: string]: unknown;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* No-op resolver for dev mode or environments where workspace resolution
|
|
152
|
+
* already provides `@makaio/framework/*`.
|
|
153
|
+
*/
|
|
154
|
+
declare class NoopFrameworkModuleResolver implements FrameworkModuleResolver {
|
|
155
|
+
readonly frameworkDistPath = "";
|
|
156
|
+
install(): void;
|
|
157
|
+
uninstall(): void;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Node.js resolver for packaged hosts that ship an assembled `@makaio/framework`
|
|
161
|
+
* dist next to the app resources.
|
|
162
|
+
*
|
|
163
|
+
* Imports `registerHooks` from `node:module` lazily in {@link install} so this
|
|
164
|
+
* file can be loaded safely in Bun where that export does not exist.
|
|
165
|
+
*/
|
|
166
|
+
declare class NodeFrameworkModuleResolver implements FrameworkModuleResolver {
|
|
167
|
+
readonly frameworkDistPath: string;
|
|
168
|
+
private hooks;
|
|
169
|
+
private installPromise;
|
|
170
|
+
private installToken;
|
|
171
|
+
/**
|
|
172
|
+
* @param frameworkDistPath - Absolute path to the assembled framework dist.
|
|
173
|
+
*/
|
|
174
|
+
constructor(frameworkDistPath: string);
|
|
175
|
+
install(): Promise<void>;
|
|
176
|
+
private installWithToken;
|
|
177
|
+
uninstall(): void;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Resolves a `@makaio/framework/*` subpath specifier to a filesystem path
|
|
181
|
+
* within the configured dist directory.
|
|
182
|
+
* @param frameworkDistPath - Absolute path to the assembled framework dist.
|
|
183
|
+
* @param specifier - Full import specifier (e.g. `@makaio/framework/bus`).
|
|
184
|
+
* @param packageExports - Optional preloaded package exports map. When omitted,
|
|
185
|
+
* the map is read from the package.json next to `frameworkDistPath`.
|
|
186
|
+
* @returns Resolved filesystem path, or `undefined` if the specifier is not a framework subpath.
|
|
187
|
+
*/
|
|
188
|
+
declare function resolveFrameworkSpecifier(frameworkDistPath: string, specifier: string, packageExports?: FrameworkPackageExports): string | undefined;
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region runtimes/node/src/create-static-mount.d.ts
|
|
191
|
+
/**
|
|
192
|
+
* Options shared by {@link bridgeExtensionBrowserEntries} and
|
|
193
|
+
* {@link synthesizeBrowserOnlyPackages} for controlling static-file serving.
|
|
194
|
+
*/
|
|
195
|
+
interface BridgeBrowserOptions {
|
|
196
|
+
/**
|
|
197
|
+
* Factory for creating the static-serving mount callback.
|
|
198
|
+
*
|
|
199
|
+
* Injected for testability — production default uses `@hono/node-server/serve-static`
|
|
200
|
+
* synchronously and mounts the directory under `urlPrefix`.
|
|
201
|
+
* @param serveRoot - Absolute path to the directory containing the browser bundle.
|
|
202
|
+
* @param urlPrefix - URL prefix for the route (e.g., `/extensions/my-ext/browser`).
|
|
203
|
+
* @returns A mount callback compatible with {@link MakaioExtension.http.mount}.
|
|
204
|
+
*/
|
|
205
|
+
readonly createMount?: (serveRoot: string, urlPrefix: string) => (app: unknown) => void;
|
|
206
|
+
}
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region runtimes/node/src/boot-phase.d.ts
|
|
209
|
+
/** Shared helpers for runtime shutdown ordering. */
|
|
210
|
+
/**
|
|
211
|
+
* Async or sync shutdown callback collected during runtime boot.
|
|
212
|
+
*/
|
|
213
|
+
type ShutdownStep = () => Promise<void> | void;
|
|
214
|
+
//#endregion
|
|
215
|
+
//#region runtimes/node/src/boot-extension-selection.d.ts
|
|
216
|
+
/**
|
|
217
|
+
* Return host capability tokens for Node.js composition roots.
|
|
218
|
+
*
|
|
219
|
+
* This helper is intentionally called by Node surfaces before boot rather
|
|
220
|
+
* than from {@link buildRuntimeEnvironment}, so the platform token remains an
|
|
221
|
+
* explicit host policy and Bun/future runtimes do not inherit Node semantics.
|
|
222
|
+
* @param hostCapabilities - Host-declared capability facts.
|
|
223
|
+
* @returns Capability tokens with `'node'` present exactly once.
|
|
224
|
+
*/
|
|
225
|
+
declare function normalizeNodeHostCapabilities(hostCapabilities?: readonly HostCapabilityDeclaration[]): readonly HostCapabilityDeclaration[];
|
|
226
|
+
/** Host capability input accepted by Node runtime composition roots. */
|
|
227
|
+
type HostCapabilityDeclaration = string | RuntimeCapability;
|
|
228
|
+
type RuntimeOwnershipPackageView = Pick<KernelMakaioExtension, 'name' | 'displayName' | 'version' | 'runtimeOwnership'>;
|
|
229
|
+
/**
|
|
230
|
+
* Select framework core packages for the loaded descriptor-backed extensions.
|
|
231
|
+
*
|
|
232
|
+
* The framework session orchestrator is the default owner of
|
|
233
|
+
* `session.sendMessage`. It is omitted when a loaded extension declares
|
|
234
|
+
* `runtimeOwnership.sessionOrchestrator`, and boot fails if more than one
|
|
235
|
+
* loaded extension declares that ownership.
|
|
236
|
+
* @param loadedExtensionPackages - Descriptor-loaded executable extension packages.
|
|
237
|
+
* @returns Framework core packages for this boot.
|
|
238
|
+
*/
|
|
239
|
+
declare function selectFrameworkCorePackages(loadedExtensionPackages: ReadonlyArray<RuntimeOwnershipPackageView> | true): ReadonlyArray<KernelMakaioExtension>;
|
|
240
|
+
//#endregion
|
|
241
|
+
//#region runtimes/node/src/workflow-worker/worker-entry-resolver.d.ts
|
|
242
|
+
/** Worker entry build mode. */
|
|
243
|
+
type WorkflowWorkerEntryMode = 'source' | 'dist';
|
|
244
|
+
/**
|
|
245
|
+
* Options for resolving the workflow worker entrypoint file path.
|
|
246
|
+
*/
|
|
247
|
+
interface WorkflowWorkerEntryResolverOptions {
|
|
248
|
+
/** Absolute path to the package root directory. */
|
|
249
|
+
readonly packageRoot: string;
|
|
250
|
+
/** Whether to resolve the source TypeScript entry or the built distribution entry. */
|
|
251
|
+
readonly mode: WorkflowWorkerEntryMode;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Resolve the absolute file path to the workflow worker entrypoint.
|
|
255
|
+
*
|
|
256
|
+
* In `source` mode, returns the TypeScript source path used during development
|
|
257
|
+
* (requires a loader like `tsx` or `ts-node` for direct execution).
|
|
258
|
+
* In `dist` mode, returns the compiled ESM bundle path used in production.
|
|
259
|
+
* @param options - Resolution options with package root and mode.
|
|
260
|
+
* @returns Absolute path to the workflow worker entrypoint file.
|
|
261
|
+
*/
|
|
262
|
+
declare function resolveWorkflowWorkerEntry(options: WorkflowWorkerEntryResolverOptions): string;
|
|
263
|
+
//#endregion
|
|
264
|
+
//#region runtimes/node/src/boot-types.d.ts
|
|
265
|
+
/** Dev-mode map from npm package name to absolute workspace package directory. */
|
|
266
|
+
type DevPortalMap = ReadonlyMap<string, string>;
|
|
267
|
+
/**
|
|
268
|
+
* Public handle for the adapter subsystem service methods exposed during host
|
|
269
|
+
* coordinator wiring.
|
|
270
|
+
*/
|
|
271
|
+
interface AdapterSubsystemServiceHandle {
|
|
272
|
+
/**
|
|
273
|
+
* Process adapter contributions for one active extension package.
|
|
274
|
+
* @param packageName - Package that transitioned to active.
|
|
275
|
+
* @param pkg - Extension manifest.
|
|
276
|
+
* @param ctx - Per-extension context.
|
|
277
|
+
*/
|
|
278
|
+
processAdapterContributions(packageName: string, pkg: KernelMakaioExtension, ctx: KernelExtensionContext): Promise<void>;
|
|
279
|
+
/**
|
|
280
|
+
* Stop adapter contributions for one stopped extension package.
|
|
281
|
+
* @param packageName - Package that stopped or was disabled.
|
|
282
|
+
*/
|
|
283
|
+
stopAdapterContributions(packageName: string): Promise<void>;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Runtime boot configuration for the workflow-level runner.
|
|
287
|
+
*
|
|
288
|
+
* When omitted, the workflow engine uses its built-in runner default.
|
|
289
|
+
* Explicit `{ mode: 'in-process' }` installs the Node runtime's concrete
|
|
290
|
+
* in-process runner.
|
|
291
|
+
* Set `mode: 'piscina'` to dispatch each full workflow execution to a
|
|
292
|
+
* Piscina worker-thread pool running the workflow worker entry.
|
|
293
|
+
*/
|
|
294
|
+
type WorkflowRunnerBootOptions = {
|
|
295
|
+
/** Use the Node runtime's concrete in-process workflow runner. */readonly mode?: 'in-process';
|
|
296
|
+
} | {
|
|
297
|
+
/** Dispatch full workflow executions to a Piscina worker-thread pool. */readonly mode: 'piscina'; /** Contribution manifest loaded inside isolated workers. */
|
|
298
|
+
readonly manifest?: WorkerContributionManifest; /** Explicit worker entry path. Overrides workerEntryMode resolution. */
|
|
299
|
+
readonly workerEntry?: string; /** Source/dist worker entry mode used when workerEntry is omitted. */
|
|
300
|
+
readonly workerEntryMode?: WorkflowWorkerEntryMode; /** Maximum concurrent worker threads. */
|
|
301
|
+
readonly maxConcurrency?: number; /** Idle timeout before worker threads are reaped. */
|
|
302
|
+
readonly idleTimeoutMs?: number;
|
|
303
|
+
} | {
|
|
304
|
+
/**
|
|
305
|
+
* Delegate workflow executions to a product-owned WorkerNode dispatch seam.
|
|
306
|
+
*
|
|
307
|
+
* The dispatch function is supplied by the host composition root and
|
|
308
|
+
* typically wired to `workerPool.dispatch`. Framework code remains
|
|
309
|
+
* decoupled from any pool implementation details.
|
|
310
|
+
*/
|
|
311
|
+
readonly mode: 'worker-node';
|
|
312
|
+
/**
|
|
313
|
+
* WorkerNode dispatch function injected by the host composition root.
|
|
314
|
+
*
|
|
315
|
+
* Called once per workflow execution with the full worker config and
|
|
316
|
+
* manifest. Product hosts may wire this to `workerPool.dispatch`.
|
|
317
|
+
* When omitted, the Node runtime dispatches through the framework
|
|
318
|
+
* `worker-node.dispatch` bus subject and requires a bus instance.
|
|
319
|
+
*/
|
|
320
|
+
readonly dispatch?: WorkerNodeDispatch;
|
|
321
|
+
/**
|
|
322
|
+
* Contribution manifest forwarded to each dispatch call.
|
|
323
|
+
*
|
|
324
|
+
* When omitted, no explicit manifest is forwarded. Product hosts that
|
|
325
|
+
* resolve project-level manifests in the dispatch function can leave this
|
|
326
|
+
* empty so the dispatch layer can perform resolution.
|
|
327
|
+
*/
|
|
328
|
+
readonly manifest?: WorkerContributionManifest;
|
|
329
|
+
/**
|
|
330
|
+
* Optional resource requirements forwarded to pool dispatch.
|
|
331
|
+
*
|
|
332
|
+
* When provided, the pool uses these to select a compatible provider.
|
|
333
|
+
* Omit to accept any available pool with no constraints.
|
|
334
|
+
*/
|
|
335
|
+
readonly requirements?: WorkerNodeRequirements;
|
|
336
|
+
};
|
|
337
|
+
/**
|
|
338
|
+
* Bound address info passed to {@link BootMakaioRuntimeOptions.onTransportReady}.
|
|
339
|
+
*/
|
|
340
|
+
interface TransportReadyInfo {
|
|
341
|
+
/** Bound TCP port. */
|
|
342
|
+
port: number;
|
|
343
|
+
/** Bound host address (e.g. `'127.0.0.1'` or `'0.0.0.0'`). */
|
|
344
|
+
host: string;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Extension of {@link TransportProvider} that exposes an optional
|
|
348
|
+
* {@link DispatchingAuth} handle for E2E auth hot-swap.
|
|
349
|
+
*
|
|
350
|
+
* Both Node and Bun transport providers implement this interface so the core
|
|
351
|
+
* boot sequence can install E2E auth without depending on a concrete provider
|
|
352
|
+
* class.
|
|
353
|
+
*/
|
|
354
|
+
interface ServerTransportProvider extends TransportProvider {
|
|
355
|
+
/**
|
|
356
|
+
* The {@link DispatchingAuth} instance if the caller passed one.
|
|
357
|
+
*
|
|
358
|
+
* Exposed so boot can hot-swap E2E auth after machine identity becomes
|
|
359
|
+
* available. Returns `undefined` when auth was not provided or is not a
|
|
360
|
+
* {@link DispatchingAuth}.
|
|
361
|
+
*/
|
|
362
|
+
readonly dispatchingAuth?: DispatchingAuth;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Boot-time configuration for the optional projected upstream telemetry transport.
|
|
366
|
+
*/
|
|
367
|
+
interface UpstreamTelemetryBootOptions {
|
|
368
|
+
/**
|
|
369
|
+
* Inner transport connected to the upstream collector.
|
|
370
|
+
*
|
|
371
|
+
* Raw application messages are never sent to it directly — only sanitized
|
|
372
|
+
* `subject-telemetry.fact` events are forwarded by the projection layer.
|
|
373
|
+
*/
|
|
374
|
+
readonly transport: BusTransport;
|
|
375
|
+
/**
|
|
376
|
+
* Registry name for the projected transport.
|
|
377
|
+
*
|
|
378
|
+
* Defaults to `'upstream-telemetry'`. Must be unique within the bus
|
|
379
|
+
* transport registry.
|
|
380
|
+
*/
|
|
381
|
+
readonly name?: string;
|
|
382
|
+
/**
|
|
383
|
+
* Optional sidecar projector registry for namespace-owned attribute extraction.
|
|
384
|
+
*
|
|
385
|
+
* When provided, sidecar projectors registered for a message's namespace and
|
|
386
|
+
* subject take precedence over schema-driven attribute projection inside the
|
|
387
|
+
* projected transport.
|
|
388
|
+
*/
|
|
389
|
+
readonly projectorRegistry?: SubjectTelemetryProjectorRegistry;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Platform-agnostic boot options shared by all runtime platforms.
|
|
393
|
+
*
|
|
394
|
+
* The Node-specific {@link BootMakaioRuntimeOptions} adds `httpServer` on top
|
|
395
|
+
* of this base. Alternative platform boots (e.g. Bun) construct their own
|
|
396
|
+
* transport and pass it alongside these options to `bootMakaioRuntimeCore`.
|
|
397
|
+
*/
|
|
398
|
+
interface CoreBootOptions {
|
|
399
|
+
/**
|
|
400
|
+
* Optional route graph builder for dynamic HTTP route management.
|
|
401
|
+
*
|
|
402
|
+
* When provided, an {@link HttpContributionProcessor} is registered that
|
|
403
|
+
* adds/removes extension HTTP routes on enable/disable, triggering a
|
|
404
|
+
* Hono app rebuild via {@link HonoRouteGraph.replaceApp}. When absent
|
|
405
|
+
* (e.g. Vite dev mode), extension HTTP routes are not mounted by boot.
|
|
406
|
+
*/
|
|
407
|
+
routeGraphBuilder?: HttpRouteGraphBuilder;
|
|
408
|
+
/**
|
|
409
|
+
* Pre-built auth strategy (HMAC, DispatchingAuth, or undefined for dev).
|
|
410
|
+
*
|
|
411
|
+
* When `undefined` the bus server runs with no authentication — safe only
|
|
412
|
+
* in dev mode (loopback-only binding).
|
|
413
|
+
*/
|
|
414
|
+
auth?: TransportAuth;
|
|
415
|
+
/**
|
|
416
|
+
* Loopback transport registry name for in-process cross-client relay.
|
|
417
|
+
*
|
|
418
|
+
* Defaults to `'node'`.
|
|
419
|
+
*/
|
|
420
|
+
loopbackName?: string;
|
|
421
|
+
/**
|
|
422
|
+
* Enable E2E auth hot-swap after machine identity loads.
|
|
423
|
+
*
|
|
424
|
+
* When `true` and `auth` is a {@link DispatchingAuth}, the E2E strategy is
|
|
425
|
+
* installed into the dispatching auth instance after machine identity
|
|
426
|
+
* becomes available. Set this when binding on all interfaces (LAN mode).
|
|
427
|
+
*/
|
|
428
|
+
lanBind?: boolean;
|
|
429
|
+
/**
|
|
430
|
+
* Resolve a peer device's signing public key for E2E relay authentication.
|
|
431
|
+
*
|
|
432
|
+
* Required when `lanBind` is enabled — boot fails fast if missing. The
|
|
433
|
+
* resolver is invoked during E2E handshakes to verify the identity of a
|
|
434
|
+
* connecting peer. Returning `null` rejects the peer as unknown or revoked.
|
|
435
|
+
*
|
|
436
|
+
* Providing this at the composition root keeps the boot layer free of any
|
|
437
|
+
* host device-registry dependency.
|
|
438
|
+
* @param peerId - Device ID of the connecting peer.
|
|
439
|
+
* @returns CryptoKey for signature verification, or `null` for unknown/revoked peers.
|
|
440
|
+
*/
|
|
441
|
+
peerSigningKeyResolver?: (peerId: string) => Promise<CryptoKey | null>;
|
|
442
|
+
/**
|
|
443
|
+
* Hosted surface category for extension gating.
|
|
444
|
+
*
|
|
445
|
+
* Defaults to `'headless'`. Interactive surfaces like Vite dev server or
|
|
446
|
+
* Electron should pass `'interactive'` so UI-bound extensions can load.
|
|
447
|
+
*/
|
|
448
|
+
surface?: ExtensionRuntimeSurface;
|
|
449
|
+
/**
|
|
450
|
+
* Filesystem path to the framework central Drizzle migrations directory.
|
|
451
|
+
*
|
|
452
|
+
* Normal source builds omit this and use the package-local
|
|
453
|
+
* `@makaio/storage-migrations/drizzle` folder. Bundled hosts pass the copied
|
|
454
|
+
* runtime asset path explicitly because the original package directory may
|
|
455
|
+
* not exist in the deployed image.
|
|
456
|
+
*/
|
|
457
|
+
readonly centralMigrationsDir?: string;
|
|
458
|
+
/**
|
|
459
|
+
* Host launcher command embedded into client wiring installed from warning actions.
|
|
460
|
+
*
|
|
461
|
+
* Defaults to `'makaio'`. Prefer `makaio.config.*` when a user/workspace
|
|
462
|
+
* needs a different launcher identity.
|
|
463
|
+
*/
|
|
464
|
+
readonly launcherCommand?: string;
|
|
465
|
+
/**
|
|
466
|
+
* Enable the extension package-manager service.
|
|
467
|
+
*
|
|
468
|
+
* Defaults to `true` for interactive/dev hosts. Bundled cloud hosts can set
|
|
469
|
+
* this to `false` because their extension set is fixed at image build time
|
|
470
|
+
* and the Yarn package-management service is not part of the runtime surface.
|
|
471
|
+
*/
|
|
472
|
+
readonly enablePackageManager?: boolean;
|
|
473
|
+
/**
|
|
474
|
+
* Called when the bus WebSocket transport is attached and accepting
|
|
475
|
+
* connections, before service boot begins.
|
|
476
|
+
*
|
|
477
|
+
* This is the earliest safe moment for external clients to connect to
|
|
478
|
+
* the bus. Composition roots use this to announce the bound address
|
|
479
|
+
* (e.g. `MAKAIO_PORT=<n>` on stdout) or to unblock dependent processes.
|
|
480
|
+
* @param info - Bound host and port from the server.
|
|
481
|
+
*/
|
|
482
|
+
onTransportReady?: (info: TransportReadyInfo) => void;
|
|
483
|
+
/**
|
|
484
|
+
* Custom extension discovery strategy.
|
|
485
|
+
*
|
|
486
|
+
* When provided, replaces the default `FilesystemDescriptorDiscovery`
|
|
487
|
+
* instance. Use `ExplicitDescriptorDiscovery` to supply pre-scanned
|
|
488
|
+
* extension descriptors in tests or host-owned discovery flows.
|
|
489
|
+
*/
|
|
490
|
+
discovery?: ExtensionDiscovery;
|
|
491
|
+
/**
|
|
492
|
+
* Framework version used for extension `makaio.framework` range gating.
|
|
493
|
+
*
|
|
494
|
+
* When omitted, the version is read from `@makaio/runtime-node`'s
|
|
495
|
+
* `package.json` at boot time. Pass an explicit value in tests or host
|
|
496
|
+
* builds where the package.json may not be on disk.
|
|
497
|
+
*/
|
|
498
|
+
frameworkVersion?: string;
|
|
499
|
+
/**
|
|
500
|
+
* Capability facts declared by the host composition root.
|
|
501
|
+
*
|
|
502
|
+
* Passed to the coordinator as the host capability set, with object-form
|
|
503
|
+
* entries preserving concrete versions for versioned `requires` checks.
|
|
504
|
+
* Runtime tokens such as `'node'` must be included here by Node-based hosts;
|
|
505
|
+
* the boot layer no longer injects them automatically so that Bun and future
|
|
506
|
+
* platforms can declare their own tokens.
|
|
507
|
+
* @example
|
|
508
|
+
* ```ts
|
|
509
|
+
* ['node', 'workspace-host', { id: 'storage.drizzle', version: '1.2.0' }]
|
|
510
|
+
* ```
|
|
511
|
+
*/
|
|
512
|
+
readonly hostCapabilities?: readonly HostCapabilityDeclaration[];
|
|
513
|
+
/**
|
|
514
|
+
* Host-owned bus namespace definitions registered during the core bus boot
|
|
515
|
+
* phase before any handlers, services, or remote clients can use them.
|
|
516
|
+
*
|
|
517
|
+
* Use this for surface-specific contracts owned outside runtime-node, such as
|
|
518
|
+
* desktop UI namespaces, without making the generic runtime depend on those
|
|
519
|
+
* packages.
|
|
520
|
+
*/
|
|
521
|
+
readonly hostNamespaces?: readonly RegistrableBusNamespaceDefinition[];
|
|
522
|
+
/**
|
|
523
|
+
* Host-provided package config defaults keyed by package name.
|
|
524
|
+
*
|
|
525
|
+
* Merged with descriptor defaults before stored config is loaded. Prefer
|
|
526
|
+
* `makaio.config.*` for user/workspace runtime defaults; this seam remains
|
|
527
|
+
* for composition roots that need to inject process-local defaults.
|
|
528
|
+
*/
|
|
529
|
+
readonly packageConfigDefaults?: ReadonlyMap<string, Readonly<Record<string, unknown>>>;
|
|
530
|
+
/**
|
|
531
|
+
* Host-provided handlers for client binary post-install descriptors.
|
|
532
|
+
*
|
|
533
|
+
* Client packages declare declarative `postInstall.kind` values; composition
|
|
534
|
+
* roots provide the concrete handler map here so `@makaio/runtime-node` stays free
|
|
535
|
+
* of host-specific post-install logic.
|
|
536
|
+
*/
|
|
537
|
+
readonly clientBinaryPostInstallHandlers?: ReadonlyMap<string, PostInstallHandler>;
|
|
538
|
+
/**
|
|
539
|
+
* Workflow-level runner for dispatching full workflow executions.
|
|
540
|
+
*
|
|
541
|
+
* Omit to use the workflow engine's built-in default runner. Set to
|
|
542
|
+
* `{ mode: 'in-process' }` to install the Node runtime's concrete in-process
|
|
543
|
+
* runner, or `piscina` to dispatch each execution to a worker-thread pool
|
|
544
|
+
* that runs the workflow worker entry end-to-end.
|
|
545
|
+
*/
|
|
546
|
+
readonly workflowRunner?: WorkflowRunnerBootOptions;
|
|
547
|
+
/**
|
|
548
|
+
* Runtime data home for config, database, machine identity, and installed
|
|
549
|
+
* extensions. Defaults to the `MAKAIO_HOME` environment override when set,
|
|
550
|
+
* otherwise `~/.makaio`.
|
|
551
|
+
*/
|
|
552
|
+
readonly makaioHome?: string;
|
|
553
|
+
/**
|
|
554
|
+
* Host-provided fallback model-registry seed candidates.
|
|
555
|
+
*
|
|
556
|
+
* These are tried after the CDN cache source and before the runtime's
|
|
557
|
+
* boot-relative seed path. Desktop package surfaces use this to pass
|
|
558
|
+
* resource directories that are known only to the app shell, keeping
|
|
559
|
+
* runtime-node free of Electron/Electrobun globals while preserving CDN
|
|
560
|
+
* freshness whenever the network source is available.
|
|
561
|
+
*/
|
|
562
|
+
readonly modelRegistryFallbackSeedPaths?: readonly string[];
|
|
563
|
+
/**
|
|
564
|
+
* Optional runtime module resolver for `@makaio/framework/*` subpath imports.
|
|
565
|
+
*
|
|
566
|
+
* When provided, installed before extension loading so published extensions
|
|
567
|
+
* resolve framework imports to the packaged dist. Not needed in dev mode
|
|
568
|
+
* where workspace resolution handles framework imports.
|
|
569
|
+
*/
|
|
570
|
+
readonly frameworkModuleResolver?: FrameworkModuleResolver;
|
|
571
|
+
/**
|
|
572
|
+
* Host-provided `@makaio/framework` package root.
|
|
573
|
+
*
|
|
574
|
+
* Packaged hosts can pass the app-bundled framework package here so installed
|
|
575
|
+
* extensions and package-manager installs resolve framework imports to the
|
|
576
|
+
* same physical package instance as the host process.
|
|
577
|
+
*/
|
|
578
|
+
readonly frameworkPackagePath?: string;
|
|
579
|
+
/**
|
|
580
|
+
* Host-provided managed-binary I/O implementation.
|
|
581
|
+
*
|
|
582
|
+
* The shared boot core only wires the seam through. Concrete hosts supply
|
|
583
|
+
* their own filesystem, network, archive, and subprocess implementation so
|
|
584
|
+
* Node, Bun, and future runtimes do not inherit Node-shaped I/O implicitly.
|
|
585
|
+
*/
|
|
586
|
+
readonly clientBinaryStrategyDependencies?: StrategyDependencies;
|
|
587
|
+
/**
|
|
588
|
+
* Dev-mode workspace package map used to rewrite extension install specs to
|
|
589
|
+
* Yarn `portal:` ranges.
|
|
590
|
+
*
|
|
591
|
+
* When provided and non-empty, the package-manager service wraps its
|
|
592
|
+
* dependency resolver so that installs for known workspace packages link
|
|
593
|
+
* directly to local source directories instead of fetching from npm. This is
|
|
594
|
+
* the same `portal:` mechanism used for `frameworkPackagePath`, extended to
|
|
595
|
+
* the full set of extension packages available in the host workspace.
|
|
596
|
+
*
|
|
597
|
+
* Has no effect when `enablePackageManager` is `false`.
|
|
598
|
+
*/
|
|
599
|
+
readonly devPortalPackages?: DevPortalMap;
|
|
600
|
+
/**
|
|
601
|
+
* Optional provider for persisted extension configuration and enablement state.
|
|
602
|
+
*
|
|
603
|
+
* When present, the coordinator consults this provider during {@link ExtensionCoordinator.startAll}
|
|
604
|
+
* and `ExtensionCoordinator.enableExtension` to load stored configuration and
|
|
605
|
+
* skip packages that were previously disabled. When absent, all extensions
|
|
606
|
+
* start enabled with default (Zod-schema) configuration only.
|
|
607
|
+
*/
|
|
608
|
+
readonly extensionConfigProvider?: ExtensionConfigProvider;
|
|
609
|
+
/**
|
|
610
|
+
* Host-owned coordinator wiring invoked after framework processors are registered
|
|
611
|
+
* and before {@link ExtensionCoordinator.startAll}.
|
|
612
|
+
*
|
|
613
|
+
* Concrete hosts use this seam for contribution processors and bus services
|
|
614
|
+
* that must observe active extension contributions without importing
|
|
615
|
+
* host-owned packages into the framework boot layer.
|
|
616
|
+
* @param context - Coordinator setup context.
|
|
617
|
+
* @returns Optional cleanup callbacks collected into runtime shutdown.
|
|
618
|
+
*/
|
|
619
|
+
readonly configureCoordinator?: (context: BootCoordinatorSetupContext) => void | ShutdownStep | readonly ShutdownStep[];
|
|
620
|
+
/**
|
|
621
|
+
* Optional projected upstream telemetry transport.
|
|
622
|
+
*
|
|
623
|
+
* Boot wraps this transport with a projector that only sends
|
|
624
|
+
* `subject-telemetry.fact` events upstream. The raw transport is never
|
|
625
|
+
* registered directly on the bus.
|
|
626
|
+
*/
|
|
627
|
+
readonly upstreamTelemetry?: UpstreamTelemetryBootOptions;
|
|
628
|
+
/**
|
|
629
|
+
* Static mount factory for extension browser bundles.
|
|
630
|
+
*
|
|
631
|
+
* Node hosts default to `@hono/node-server/serve-static`; Bun hosts pass
|
|
632
|
+
* their Bun-native `hono/bun` implementation through this seam.
|
|
633
|
+
*
|
|
634
|
+
* When omitted, the platform-default factory is used (Node: `@hono/node-server/serve-static`).
|
|
635
|
+
*/
|
|
636
|
+
readonly createMount?: BridgeBrowserOptions['createMount'];
|
|
637
|
+
}
|
|
638
|
+
/** Context passed to host-owned coordinator setup. */
|
|
639
|
+
interface BootCoordinatorSetupContext {
|
|
640
|
+
/** Runtime bus. */
|
|
641
|
+
readonly bus: IMakaioBus;
|
|
642
|
+
/** Extension coordinator being configured before startup. */
|
|
643
|
+
readonly coordinator: ExtensionCoordinator;
|
|
644
|
+
/** Register an awaited contribution processor. */
|
|
645
|
+
readonly registerContributionProcessor: (processor: ContributionProcessor) => void;
|
|
646
|
+
/** Read the active adapter subsystem service when it exists. */
|
|
647
|
+
readonly getAdapterSubsystemService: () => AdapterSubsystemServiceHandle | undefined;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Options for `bootMakaioRuntime` (Node.js platform).
|
|
651
|
+
*
|
|
652
|
+
* Extends the platform-agnostic {@link CoreBootOptions} with the Node HTTP
|
|
653
|
+
* server required for transport attachment.
|
|
654
|
+
*/
|
|
655
|
+
interface BootMakaioRuntimeOptions extends CoreBootOptions {
|
|
656
|
+
/**
|
|
657
|
+
* HTTP server, already listening.
|
|
658
|
+
*
|
|
659
|
+
* The bus transport attaches its WebSocket upgrade handler to this server.
|
|
660
|
+
*/
|
|
661
|
+
httpServer: Server;
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Handle returned by `bootMakaioRuntime` on successful startup.
|
|
665
|
+
*/
|
|
666
|
+
interface MakaioRuntime {
|
|
667
|
+
/**
|
|
668
|
+
* Bound TCP port (read from httpServer).
|
|
669
|
+
*/
|
|
670
|
+
port: number;
|
|
671
|
+
/**
|
|
672
|
+
* Bound host address (e.g. `'127.0.0.1'` or `'0.0.0.0'`).
|
|
673
|
+
*/
|
|
674
|
+
host: string;
|
|
675
|
+
/**
|
|
676
|
+
* Machine identifier (UUID).
|
|
677
|
+
*/
|
|
678
|
+
machineId: string;
|
|
679
|
+
/**
|
|
680
|
+
* The booted bus instance.
|
|
681
|
+
*
|
|
682
|
+
* Exposed so host composition roots can pass the live bus to seams that
|
|
683
|
+
* need a direct reference after boot (e.g. in-process workflow runner,
|
|
684
|
+
* test harnesses, host-owned contribution processors).
|
|
685
|
+
*/
|
|
686
|
+
bus: IMakaioBus;
|
|
687
|
+
/**
|
|
688
|
+
* Tray manifest entries collected from all loaded packages.
|
|
689
|
+
*
|
|
690
|
+
* Each entry includes the owning `packageName` so the Electron shell can
|
|
691
|
+
* resolve the fully-qualified window registration ID
|
|
692
|
+
* (`{packageName}:{opensWindow}`) when building the tray menu.
|
|
693
|
+
*
|
|
694
|
+
* Populated during the extension coordinator's {@link ExtensionCoordinator.load}
|
|
695
|
+
* phase, before services start. Available immediately after `bootMakaioRuntime`
|
|
696
|
+
* resolves.
|
|
697
|
+
*/
|
|
698
|
+
trayEntries: ReadonlyArray<TrayManifest & {
|
|
699
|
+
readonly packageName: string;
|
|
700
|
+
}>;
|
|
701
|
+
/**
|
|
702
|
+
* Window registry populated from package manifests during the extension
|
|
703
|
+
* coordinator {@link ExtensionCoordinator.load} phase.
|
|
704
|
+
*
|
|
705
|
+
* The Electron shell passes this to `WindowManager` so window
|
|
706
|
+
* creation uses the registry that was actually populated during boot,
|
|
707
|
+
* rather than an independent empty instance.
|
|
708
|
+
*
|
|
709
|
+
* Available immediately after `bootMakaioRuntime` resolves.
|
|
710
|
+
*/
|
|
711
|
+
windowRegistry: WindowRegistry;
|
|
712
|
+
/**
|
|
713
|
+
* Extension coordinator that manages the lifecycle of all loaded packages.
|
|
714
|
+
*
|
|
715
|
+
* Exposed so integration tests and host composition roots can inspect the
|
|
716
|
+
* active service graph (e.g. via `getExtensionService`) after boot.
|
|
717
|
+
*/
|
|
718
|
+
readonly coordinator: ExtensionCoordinator;
|
|
719
|
+
/**
|
|
720
|
+
* Shut down all services in reverse startup order.
|
|
721
|
+
*/
|
|
722
|
+
shutdown(): Promise<void>;
|
|
723
|
+
}
|
|
724
|
+
//#endregion
|
|
725
|
+
//#region runtimes/node/src/workflow-worker/types.d.ts
|
|
726
|
+
/**
|
|
727
|
+
* Runtime-loaded workflow module shape consumed by the Node workflow runners.
|
|
728
|
+
*/
|
|
729
|
+
interface RuntimeLoadedWorkflow {
|
|
730
|
+
/** Serializable workflow definition. */
|
|
731
|
+
readonly definition: WorkflowDefinition;
|
|
732
|
+
/** Optional Zod schemas retained from workflow builder exports. */
|
|
733
|
+
readonly zodSchemas?: WorkflowZodSchemas;
|
|
734
|
+
/**
|
|
735
|
+
* Runtime station handler functions keyed by node ID.
|
|
736
|
+
* Used by the orchestrator to dispatch `station`-type nodes.
|
|
737
|
+
*/
|
|
738
|
+
readonly runtimeHandlers: ReadonlyMap<string, StationHandler>;
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* Configuration options for the thin Piscina-backed workflow runner.
|
|
742
|
+
*
|
|
743
|
+
* Controls the worker-thread pool that executes workflow orchestration in isolation
|
|
744
|
+
* while delegating agent/subagent execution to the host runtime.
|
|
745
|
+
*/
|
|
746
|
+
interface ThinWorkflowPiscinaRunnerOptions {
|
|
747
|
+
/** Absolute path to the workflow worker entrypoint file. */
|
|
748
|
+
readonly workerEntry: string;
|
|
749
|
+
/** Contribution manifest declaring which extension packages to load in workers. */
|
|
750
|
+
readonly manifest: WorkerContributionManifest;
|
|
751
|
+
/** Maximum concurrent worker threads. @defaultValue 4 */
|
|
752
|
+
readonly maxConcurrency?: number;
|
|
753
|
+
/** Idle timeout before threads are reaped (ms). @defaultValue 30000 */
|
|
754
|
+
readonly idleTimeoutMs?: number;
|
|
755
|
+
}
|
|
756
|
+
//#endregion
|
|
757
|
+
//#region runtimes/node/src/workflow-worker/worker-ready-message.d.ts
|
|
758
|
+
/** Message type posted by workflow workers once bus control routing is ready. */
|
|
759
|
+
declare const WORKFLOW_WORKER_READY_MESSAGE_TYPE: "makaio.workflow-worker.ready";
|
|
760
|
+
/** Piscina worker-to-pool message emitted after cancel routing is subscribed. */
|
|
761
|
+
interface WorkflowWorkerReadyMessage {
|
|
762
|
+
/** Stable message discriminator. */
|
|
763
|
+
readonly type: typeof WORKFLOW_WORKER_READY_MESSAGE_TYPE;
|
|
764
|
+
/** Workflow execution whose worker is ready. */
|
|
765
|
+
readonly executionId: string;
|
|
766
|
+
/** Dynamic workflow cancel subject observed by the worker. */
|
|
767
|
+
readonly cancelSubject: string;
|
|
768
|
+
/** Adapter identifiers loaded in the worker runtime before readiness. */
|
|
769
|
+
readonly adapters: readonly string[];
|
|
770
|
+
}
|
|
771
|
+
//#endregion
|
|
772
|
+
//#region runtimes/node/src/workflow-worker/thin-workflow-piscina-runner.d.ts
|
|
773
|
+
/** Result and readiness promises for one workflow worker dispatch. */
|
|
774
|
+
interface ThinWorkflowPiscinaRunWithReadiness {
|
|
775
|
+
/** Terminal workflow result returned by the worker. */
|
|
776
|
+
readonly result: Promise<WorkflowRunResult$1>;
|
|
777
|
+
/** Resolves when the worker bus is connected and cancellation routing is subscribed. */
|
|
778
|
+
readonly ready: Promise<WorkflowWorkerReadyMessage>;
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* Thin workflow runner that dispatches workflow orchestration to a Piscina
|
|
782
|
+
* worker-thread pool.
|
|
783
|
+
*
|
|
784
|
+
* Each workflow invocation is handed off to a pooled worker thread running the
|
|
785
|
+
* `workflow-worker/worker-entry.ts` entrypoint. The worker isolates DAG control
|
|
786
|
+
* flow and worker-local toolsets, while agent/subagent execution is delegated to
|
|
787
|
+
* the host runtime. The pool manages concurrency limits and idle thread reaping
|
|
788
|
+
* automatically.
|
|
789
|
+
*/
|
|
790
|
+
declare class ThinWorkflowPiscinaRunner implements IWorkflowRunner$1 {
|
|
791
|
+
private readonly options;
|
|
792
|
+
private readonly manifest;
|
|
793
|
+
private pool;
|
|
794
|
+
/**
|
|
795
|
+
* @param options - Piscina runner configuration including worker entry path
|
|
796
|
+
* and concurrency settings.
|
|
797
|
+
*/
|
|
798
|
+
constructor(options: ThinWorkflowPiscinaRunnerOptions);
|
|
799
|
+
/**
|
|
800
|
+
* Execute a complete workflow in a pooled worker thread.
|
|
801
|
+
*
|
|
802
|
+
* When `manifest` is provided it overrides the runner's construction-time
|
|
803
|
+
* default, so per-request contribution sets from the WorkerNode pool are
|
|
804
|
+
* applied correctly without requiring a new runner instance.
|
|
805
|
+
* @param config - Full workflow worker configuration with source, inputs, and bus info.
|
|
806
|
+
* @param signal - AbortSignal for cooperative cancellation.
|
|
807
|
+
* @param manifest - Optional per-call manifest override.
|
|
808
|
+
* @returns Execution result with terminal status and status-specific result fields.
|
|
809
|
+
*/
|
|
810
|
+
run(config: WorkflowWorkerConfig, signal: AbortSignal, manifest?: WorkerContributionManifest): Promise<WorkflowRunResult$1>;
|
|
811
|
+
/**
|
|
812
|
+
* Execute a workflow and expose the worker bus readiness signal separately.
|
|
813
|
+
*
|
|
814
|
+
* The terminal result remains the {@link IWorkflowRunner} contract. The ready
|
|
815
|
+
* promise is used by {@link PiscinaThinWorkflowProvider} so pool lifecycle
|
|
816
|
+
* `ready` is not emitted before the worker has connected its bus and subscribed
|
|
817
|
+
* to cancellation routing.
|
|
818
|
+
* @param config - Full workflow worker configuration with source, inputs, and bus info.
|
|
819
|
+
* @param signal - AbortSignal for cooperative cancellation.
|
|
820
|
+
* @param manifest - Optional per-call manifest override.
|
|
821
|
+
* @returns Terminal result and readiness promises for this worker run.
|
|
822
|
+
*/
|
|
823
|
+
runWithReadiness(config: WorkflowWorkerConfig, signal: AbortSignal, manifest?: WorkerContributionManifest): ThinWorkflowPiscinaRunWithReadiness;
|
|
824
|
+
/**
|
|
825
|
+
* Destroy the thread pool and release all worker threads.
|
|
826
|
+
*/
|
|
827
|
+
dispose(): Promise<void>;
|
|
828
|
+
}
|
|
829
|
+
//#endregion
|
|
830
|
+
//#region runtimes/node/src/workflow-worker/node-workflow-runner-factory.d.ts
|
|
831
|
+
/** Parameters for composing workflow engine runner package options. */
|
|
832
|
+
interface CreateNodeWorkflowRunnerPackageOptionsParams {
|
|
833
|
+
/** Runtime bus URL exposed to isolated workers. */
|
|
834
|
+
readonly busUrl: string;
|
|
835
|
+
/** Directory of the active runtime module (`src` in dev, `dist` in builds). */
|
|
836
|
+
readonly runtimeModuleDir: string;
|
|
837
|
+
/** Platform defaults forwarded to executor and worker configs. */
|
|
838
|
+
readonly platformDefaults: StepRunnerPlatformDefaults;
|
|
839
|
+
/** Optional boot-level workflow-level runner configuration. */
|
|
840
|
+
readonly workflowRunner?: WorkflowRunnerBootOptions;
|
|
841
|
+
/** Makaio data-home path forwarded to the executor config. */
|
|
842
|
+
readonly makaioHome?: string;
|
|
843
|
+
/**
|
|
844
|
+
* Host-owned bus instance forwarded to in-process runner construction.
|
|
845
|
+
*
|
|
846
|
+
* Required when `workflowRunner.mode` is `'in-process'` or omitted on an
|
|
847
|
+
* explicit runner object. Also used by WorkerNode mode when no explicit
|
|
848
|
+
* dispatch function is supplied. Ignored for Piscina mode.
|
|
849
|
+
*/
|
|
850
|
+
readonly bus?: IMakaioBus;
|
|
851
|
+
}
|
|
852
|
+
/** Workflow engine package options produced by Node runtime composition. */
|
|
853
|
+
interface NodeWorkflowRunnerPackageOptions {
|
|
854
|
+
/**
|
|
855
|
+
* Optional workflow-level runner for full-execution dispatch.
|
|
856
|
+
* When present, each new workflow execution is delegated to this runner
|
|
857
|
+
* instead of the in-process DAG scheduler.
|
|
858
|
+
*/
|
|
859
|
+
readonly workflowRunner?: IWorkflowRunner;
|
|
860
|
+
/** Executor config shared by in-process and isolated modes. */
|
|
861
|
+
readonly executorConfig: {
|
|
862
|
+
/** Runtime bus URL exposed to isolated workers. */readonly busUrl: string; /** Bus authentication forwarded to workflow worker configs. */
|
|
863
|
+
readonly busAuth: StepRunnerBusAuth; /** Platform defaults forwarded to executor and worker configs. */
|
|
864
|
+
readonly platformDefaults: StepRunnerPlatformDefaults; /** Makaio data-home path forwarded to workflow workers. */
|
|
865
|
+
readonly makaioHome?: string;
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Compose workflow engine options for workflow-level execution.
|
|
870
|
+
* @param params - Runtime module, bus, platform, and optional workflow runner.
|
|
871
|
+
* @returns Options suitable for `createWorkflowEnginePackage`.
|
|
872
|
+
*/
|
|
873
|
+
declare function createNodeWorkflowRunnerPackageOptions(params: CreateNodeWorkflowRunnerPackageOptionsParams): NodeWorkflowRunnerPackageOptions;
|
|
874
|
+
/** Internal parameters for creating a Node workflow-level runner. */
|
|
875
|
+
interface CreateNodeWorkflowRunnerParams {
|
|
876
|
+
/** Absolute path to the package root directory. */
|
|
877
|
+
readonly packageRoot: string;
|
|
878
|
+
/** Default worker entry mode (`'source'` in dev, `'dist'` in builds). */
|
|
879
|
+
readonly defaultWorkerEntryMode: WorkflowWorkerEntryMode;
|
|
880
|
+
/** Optional boot-level workflow runner configuration. */
|
|
881
|
+
readonly runner?: WorkflowRunnerBootOptions;
|
|
882
|
+
/**
|
|
883
|
+
* Host-owned bus instance forwarded to {@link InProcessWorkflowRunner}.
|
|
884
|
+
*
|
|
885
|
+
* Required when `runner` is present and its `mode` is `'in-process'` or
|
|
886
|
+
* omitted. Also required for `'worker-node'` mode when no explicit dispatch
|
|
887
|
+
* function is supplied. Ignored for Piscina mode.
|
|
888
|
+
*/
|
|
889
|
+
readonly bus?: IMakaioBus;
|
|
890
|
+
}
|
|
891
|
+
/**
|
|
892
|
+
* Create a workflow-level runner based on the Node runtime configuration.
|
|
893
|
+
*
|
|
894
|
+
* Returns `undefined` when no runner is configured, letting the workflow engine
|
|
895
|
+
* fall back to its built-in DAG scheduler. Explicit runner modes create the
|
|
896
|
+
* matching workflow-level execution strategy.
|
|
897
|
+
* @param params - Package root, entry mode, optional runner configuration, and optional bus.
|
|
898
|
+
* @returns A workflow runner instance, or `undefined` to use the engine default.
|
|
899
|
+
*/
|
|
900
|
+
declare function createNodeWorkflowRunner(params: CreateNodeWorkflowRunnerParams): IWorkflowRunner | undefined;
|
|
901
|
+
//#endregion
|
|
902
|
+
//#region runtimes/node/src/workflow-worker/worker-node-runner.d.ts
|
|
903
|
+
/**
|
|
904
|
+
* Construction options for {@link WorkerNodeRunner}.
|
|
905
|
+
*/
|
|
906
|
+
interface WorkerNodeRunnerOptions {
|
|
907
|
+
/**
|
|
908
|
+
* Dispatch seam injected by the host composition root.
|
|
909
|
+
*
|
|
910
|
+
* Product hosts wire this to `workerPool.dispatch` or another implementation.
|
|
911
|
+
* Framework code calls through this seam without coupling to any pool.
|
|
912
|
+
*/
|
|
913
|
+
readonly dispatch: WorkerNodeDispatch;
|
|
914
|
+
/**
|
|
915
|
+
* Extension contribution manifest forwarded to dispatched workers.
|
|
916
|
+
*
|
|
917
|
+
* Omit this when the receiving dispatch layer should resolve the manifest
|
|
918
|
+
* from the selected pool or execution scope.
|
|
919
|
+
*/
|
|
920
|
+
readonly manifest?: WorkerContributionManifest;
|
|
921
|
+
/**
|
|
922
|
+
* Optional resource requirements forwarded to the pool dispatch.
|
|
923
|
+
*
|
|
924
|
+
* When provided, the receiving pool uses these to select a compatible
|
|
925
|
+
* provider. Omit to accept any available pool.
|
|
926
|
+
*/
|
|
927
|
+
readonly requirements?: WorkerNodeRequirements;
|
|
928
|
+
}
|
|
929
|
+
/**
|
|
930
|
+
* Workflow runner that delegates full workflow execution to a WorkerNode
|
|
931
|
+
* dispatch seam supplied by the host composition root.
|
|
932
|
+
*
|
|
933
|
+
* This class implements the {@link IWorkflowRunner} contract while remaining
|
|
934
|
+
* product-agnostic. Concrete dispatch behavior (e.g. pool selection, provider
|
|
935
|
+
* matching, manifest resolution) lives in the product-owned composition root
|
|
936
|
+
* or `workerPool.dispatch` handler, not here.
|
|
937
|
+
*/
|
|
938
|
+
declare class WorkerNodeRunner implements IWorkflowRunner {
|
|
939
|
+
private readonly options;
|
|
940
|
+
/**
|
|
941
|
+
* @param options - Dispatch seam, optional manifest, and optional requirements.
|
|
942
|
+
*/
|
|
943
|
+
constructor(options: WorkerNodeRunnerOptions);
|
|
944
|
+
/**
|
|
945
|
+
* Execute a complete workflow by delegating to the injected dispatch seam.
|
|
946
|
+
*
|
|
947
|
+
* When `manifest` is supplied it takes precedence over the manifest baked into
|
|
948
|
+
* the runner at construction time, enabling per-call contribution sets.
|
|
949
|
+
* @param config - Full workflow worker configuration including source, inputs, and bus info.
|
|
950
|
+
* @param signal - AbortSignal for cooperative cancellation forwarded to the dispatch function.
|
|
951
|
+
* @param manifest - Optional per-call contribution manifest. Overrides the runner's default.
|
|
952
|
+
* @param options - Optional per-run controls forwarded to dispatch-capable providers.
|
|
953
|
+
* @returns The execution result with terminal status and status-specific result fields.
|
|
954
|
+
*/
|
|
955
|
+
run(config: WorkflowWorkerConfig, signal: AbortSignal, manifest?: WorkerContributionManifest, options?: WorkflowRunnerRunOptions): Promise<WorkflowRunResult>;
|
|
956
|
+
}
|
|
957
|
+
//#endregion
|
|
958
|
+
//#region runtimes/node/src/workflow-worker/piscina-thin-workflow-provider.d.ts
|
|
959
|
+
/**
|
|
960
|
+
* Construction options for {@link PiscinaThinWorkflowProvider}.
|
|
961
|
+
*/
|
|
962
|
+
interface PiscinaThinWorkflowProviderOptions {
|
|
963
|
+
/** Stable unique identifier for this provider instance. */
|
|
964
|
+
readonly id: string;
|
|
965
|
+
/** Human-readable label for display in UI and logs. */
|
|
966
|
+
readonly displayName: string;
|
|
967
|
+
/**
|
|
968
|
+
* Underlying workflow runner used to execute incoming provision requests.
|
|
969
|
+
*
|
|
970
|
+
* Typically a {@link ThinWorkflowPiscinaRunner} instance, but any
|
|
971
|
+
* {@link IWorkflowRunner} implementation is accepted so tests can supply
|
|
972
|
+
* lightweight fakes without spawning real worker threads.
|
|
973
|
+
*/
|
|
974
|
+
readonly runner: IWorkflowRunner;
|
|
975
|
+
/**
|
|
976
|
+
* Capabilities advertised when this provider is registered.
|
|
977
|
+
*
|
|
978
|
+
* Overrides are merged onto the built-in local, delegating workflow
|
|
979
|
+
* capability set. The Piscina runner shares the host process filesystem and
|
|
980
|
+
* delegates agent/subagent execution to the host runtime.
|
|
981
|
+
*/
|
|
982
|
+
readonly baseCapabilities?: Partial<WorkerNodeCapabilities>;
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Built-in thin workflow provider backed by the existing workflow-level Piscina runner.
|
|
986
|
+
*
|
|
987
|
+
* This provider wraps an {@link IWorkflowRunner} so it can be registered with
|
|
988
|
+
* the framework capability registry and participate in pool-driven dispatch.
|
|
989
|
+
* Each {@link provision} call starts the underlying runner and returns a
|
|
990
|
+
* {@link WorkerNodeHandle} that callers use to wait for the result or request
|
|
991
|
+
* cancellation. Pool-level dispatch owns WorkerNode lifecycle events because it
|
|
992
|
+
* also owns cancellation ordering and terminal state emission.
|
|
993
|
+
*/
|
|
994
|
+
declare class PiscinaThinWorkflowProvider implements IWorkerNodeProvider {
|
|
995
|
+
private readonly options;
|
|
996
|
+
/** Execution environment tag used for pool provider matching. */
|
|
997
|
+
readonly environment: "piscina";
|
|
998
|
+
/** Capabilities advertised to the pool dispatch selector. */
|
|
999
|
+
readonly baseCapabilities: NormalizedWorkerNodeCapabilities;
|
|
1000
|
+
/**
|
|
1001
|
+
* @param options - Provider identity, runner, and optional capability overrides.
|
|
1002
|
+
*/
|
|
1003
|
+
constructor(options: PiscinaThinWorkflowProviderOptions);
|
|
1004
|
+
/** @returns Unique identifier for this provider instance. */
|
|
1005
|
+
get id(): string;
|
|
1006
|
+
/** @returns Human-readable display name for this provider. */
|
|
1007
|
+
get displayName(): string;
|
|
1008
|
+
/**
|
|
1009
|
+
* Provision a new isolated execution node for the given workflow request.
|
|
1010
|
+
*
|
|
1011
|
+
* Starts the underlying runner and returns a handle that the caller holds
|
|
1012
|
+
* until the execution reaches a terminal state. Cancellation flows through
|
|
1013
|
+
* the handle's `cancel` / `terminate` methods, which abort the internal
|
|
1014
|
+
* `AbortController` wired to the runner's signal.
|
|
1015
|
+
* @param request - Full provision request containing worker config and manifest.
|
|
1016
|
+
* @returns A handle for the provisioned node with wait, cancel, and terminate operations.
|
|
1017
|
+
*/
|
|
1018
|
+
provision(request: WorkerNodeProvisionRequest): Promise<WorkerNodeHandle>;
|
|
1019
|
+
}
|
|
1020
|
+
//#endregion
|
|
1021
|
+
//#region runtimes/node/src/workflow-worker/in-process-workflow-runner.d.ts
|
|
1022
|
+
/**
|
|
1023
|
+
* Constructor options for {@link InProcessWorkflowRunner}.
|
|
1024
|
+
*/
|
|
1025
|
+
interface InProcessWorkflowRunnerOptions {
|
|
1026
|
+
/**
|
|
1027
|
+
* Bus instance shared with the host runtime.
|
|
1028
|
+
*
|
|
1029
|
+
* The runner does not boot its own bus or runtime services — it reuses the
|
|
1030
|
+
* caller-owned bus so workflow orchestration participates in the same event
|
|
1031
|
+
* fabric as all other framework services.
|
|
1032
|
+
*/
|
|
1033
|
+
readonly bus: IMakaioBus;
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* In-process implementation of {@link IWorkflowRunner}.
|
|
1037
|
+
*
|
|
1038
|
+
* Executes a full workflow inside the calling process using the shared host
|
|
1039
|
+
* bus. Unlike the Piscina and WorkerNode runners, this runner does not spawn
|
|
1040
|
+
* isolated processes or threads — the workflow orchestrator runs inline on the
|
|
1041
|
+
* caller's bus.
|
|
1042
|
+
*
|
|
1043
|
+
* Use this runner when the host process already owns a fully-booted bus and
|
|
1044
|
+
* the workflow's step types do not require process isolation (e.g. pure shell,
|
|
1045
|
+
* agent, and gate steps sourced from a serialized definition).
|
|
1046
|
+
*
|
|
1047
|
+
* The bus lifecycle is owned by the caller. This runner holds no disposable
|
|
1048
|
+
* resources of its own, so `dispose()` is intentionally omitted.
|
|
1049
|
+
*/
|
|
1050
|
+
declare class InProcessWorkflowRunner implements IWorkflowRunner {
|
|
1051
|
+
#private;
|
|
1052
|
+
/**
|
|
1053
|
+
* @param options - Options including the caller-owned bus instance.
|
|
1054
|
+
*/
|
|
1055
|
+
constructor(options: InProcessWorkflowRunnerOptions);
|
|
1056
|
+
/**
|
|
1057
|
+
* Execute a complete workflow in-process using the shared host bus.
|
|
1058
|
+
*
|
|
1059
|
+
* Steps:
|
|
1060
|
+
* 1. Load the workflow from the config source descriptor.
|
|
1061
|
+
* 2. Pass the loaded workflow, config, bus, and signal to the orchestrator.
|
|
1062
|
+
*
|
|
1063
|
+
* The `manifest` parameter is accepted for interface conformance but is
|
|
1064
|
+
* unused — in-process execution does not load worker-local contributions.
|
|
1065
|
+
* @param config - Workflow worker configuration to validate before execution.
|
|
1066
|
+
* @param signal - AbortSignal for cooperative cancellation.
|
|
1067
|
+
* @param _manifest - Ignored; in-process runners share the host contribution set.
|
|
1068
|
+
* @returns The terminal workflow run result.
|
|
1069
|
+
*/
|
|
1070
|
+
run(config: WorkflowWorkerConfig, signal: AbortSignal, _manifest?: WorkerContributionManifest): Promise<WorkflowRunResult>;
|
|
1071
|
+
}
|
|
1072
|
+
//#endregion
|
|
1073
|
+
//#region runtimes/node/src/workflow-worker/workflow-loader.d.ts
|
|
1074
|
+
/**
|
|
1075
|
+
* Resolve a {@link RuntimeLoadedWorkflow} from the parsed worker config.
|
|
1076
|
+
*
|
|
1077
|
+
* Routing rules:
|
|
1078
|
+
* - `source.kind === 'definition'` with a populated `config.definition`:
|
|
1079
|
+
* builds the {@link RuntimeLoadedWorkflow} in-place from the serialized definition.
|
|
1080
|
+
* Pipeline-primitive definitions are fully serializable, so `runtimeHandlers`
|
|
1081
|
+
* is always an empty Map for definition-sourced dispatch.
|
|
1082
|
+
* - All other source kinds delegate to the file-loader which handles `'path'`
|
|
1083
|
+
* and `'source'` variants.
|
|
1084
|
+
* @param config - Parsed and validated worker configuration.
|
|
1085
|
+
* @returns The loaded workflow ready for the orchestrator.
|
|
1086
|
+
* @throws When `source.kind === 'definition'` but `config.definition` is absent.
|
|
1087
|
+
*/
|
|
1088
|
+
declare function loadWorkflowFromConfig(config: WorkflowWorkerConfig): Promise<RuntimeLoadedWorkflow>;
|
|
1089
|
+
//#endregion
|
|
1090
|
+
//#region runtimes/node/src/workflow-worker/workflow-file-loader.d.ts
|
|
1091
|
+
/**
|
|
1092
|
+
* Load one or more workflow modules from the given source descriptor and
|
|
1093
|
+
* return a normalized array.
|
|
1094
|
+
*
|
|
1095
|
+
* Supports two source kinds:
|
|
1096
|
+
* - `'path'`: dynamically imports the file at `source.path` via a `file://` URL.
|
|
1097
|
+
* - `'source'`: writes inline ESM code to a temp file, imports it, then
|
|
1098
|
+
* removes the temp directory.
|
|
1099
|
+
*
|
|
1100
|
+
* Each module's default export may be either a single workflow object or a
|
|
1101
|
+
* bundle `{ workflows: [...] }`. Both are normalized to a flat
|
|
1102
|
+
* `RuntimeLoadedWorkflow[]`.
|
|
1103
|
+
* @param source - Workflow source descriptor (must not be `'definition'` kind).
|
|
1104
|
+
* @returns Array of loaded workflows with `definition` and `runtimeHandlers`.
|
|
1105
|
+
* @throws When the module shape is invalid or any workflow entry fails validation.
|
|
1106
|
+
*/
|
|
1107
|
+
declare function loadWorkflowModules(source: Exclude<WorkflowWorkerSource, {
|
|
1108
|
+
kind: 'definition';
|
|
1109
|
+
}>): Promise<RuntimeLoadedWorkflow[]>;
|
|
1110
|
+
/**
|
|
1111
|
+
* Load a single workflow module from the given source descriptor.
|
|
1112
|
+
*
|
|
1113
|
+
* A convenience wrapper around {@link loadWorkflowModules} for the common
|
|
1114
|
+
* single-workflow case. Throws if the source resolves to a bundle with more
|
|
1115
|
+
* than one workflow.
|
|
1116
|
+
*
|
|
1117
|
+
* Supports two source kinds:
|
|
1118
|
+
* - `'path'`: dynamically imports the file at `source.path` via a `file://` URL.
|
|
1119
|
+
* - `'source'`: writes inline ESM code to a temp file, imports it, then
|
|
1120
|
+
* removes the temp directory.
|
|
1121
|
+
*
|
|
1122
|
+
* `'definition'`-sourced workers bypass the file loader entirely — they are
|
|
1123
|
+
* handled by the workflow executor which has access to the registered
|
|
1124
|
+
* definition registry. Calling this function with `kind === 'definition'`
|
|
1125
|
+
* always throws.
|
|
1126
|
+
* @param source - Workflow source descriptor from `WorkflowWorkerConfig.source`.
|
|
1127
|
+
* @returns Loaded workflow with `definition` and `runtimeHandlers`.
|
|
1128
|
+
* @throws For `'definition'` kind, when the module shape is invalid, or when
|
|
1129
|
+
* the module exports a bundle containing more than one workflow.
|
|
1130
|
+
*/
|
|
1131
|
+
declare function loadWorkflowModule(source: WorkflowWorkerSource): Promise<RuntimeLoadedWorkflow>;
|
|
1132
|
+
//#endregion
|
|
1133
|
+
export { normalizeNodeHostCapabilities as A, HttpContributionPhase as B, TransportReadyInfo as C, WorkflowWorkerEntryResolverOptions as D, WorkflowWorkerEntryMode as E, NodeFrameworkModuleResolver as F, HonoRouteGraph as H, NoopFrameworkModuleResolver as I, resolveFrameworkSpecifier as L, ShutdownStep as M, BridgeBrowserOptions as N, resolveWorkflowWorkerEntry as O, FrameworkModuleResolver as P, HttpRouteGraphBuilder as R, ServerTransportProvider as S, WorkflowRunnerBootOptions as T, HonoRouteGraphOptions as U, HttpRouteContribution as V, createHonoRouteGraph as W, WorkflowRunResult$1 as _, InProcessWorkflowRunnerOptions as a, CoreBootOptions as b, WorkerNodeRunner as c, NodeWorkflowRunnerPackageOptions as d, createNodeWorkflowRunner as f, ThinWorkflowPiscinaRunnerOptions as g, IWorkflowRunner$1 as h, InProcessWorkflowRunner as i, selectFrameworkCorePackages as j, HostCapabilityDeclaration as k, WorkerNodeRunnerOptions as l, ThinWorkflowPiscinaRunner as m, loadWorkflowModules as n, PiscinaThinWorkflowProvider as o, createNodeWorkflowRunnerPackageOptions as p, loadWorkflowFromConfig as r, PiscinaThinWorkflowProviderOptions as s, loadWorkflowModule as t, CreateNodeWorkflowRunnerPackageOptionsParams as u, BootCoordinatorSetupContext as v, UpstreamTelemetryBootOptions as w, MakaioRuntime as x, BootMakaioRuntimeOptions as y, createHttpRouteGraphBuilder as z };
|