@makaio/framework 1.0.0-dev-1789000242829 → 1.0.0-dev-1789056039016
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/adapters/claude/index.d.mts +60 -60
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/index.d.mts +2 -2
- 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/bootstrap-start-client-D7t7d9ty.mjs +1 -0
- package/dist/bus/index.mjs +1 -1
- package/dist/clients/index.d.mts +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/code-execution/worker-entry.d.mts +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- 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/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +5 -5
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +287 -61
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/shared/index.d.mts +2 -2
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/worker/index.d.mts +3 -3
- 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-BWanQHUz.d.mts} +2 -2
- package/dist/{definition-6d5JBi55.d.mts → definition-DSOXLpQj.d.mts} +1 -1
- package/dist/{detached-extension-handle-BJnk3WEh.mjs → detached-extension-handle-BNvRSUVO.mjs} +1 -1
- package/dist/{execution-attempt-repository-DSpz2kyW.d.mts → execution-attempt-repository-BoNwNybg.d.mts} +85 -3
- package/dist/{hook-responses-CpEfxEmG.d.mts → hook-responses-DVjMuGh9.d.mts} +1 -1
- package/dist/{index-CCNCo440.d.mts → index-B4KCyY6J.d.mts} +16 -16
- package/dist/{index-Bj2JCo9V.d.mts → index-BXair-QK.d.mts} +1 -1
- package/dist/{index-BfzuauBt2.d.mts → index-BgKU1PuR2.d.mts} +1 -1
- package/dist/{index-DvoitgXV.d.mts → index-C0jn5nKJ.d.mts} +11 -11
- package/dist/{index-CRM23ToM2.d.mts → index-CAURP-Tl2.d.mts} +3 -3
- package/dist/{index-BTluq4-E.d.mts → index-CKvliyuY.d.mts} +4847 -1730
- package/dist/{index-BlHq_Ksb.d.mts → index-CLmjrH8K.d.mts} +2 -2
- package/dist/{index-GTCM4lXx.d.mts → index-CO6ADD43.d.mts} +25 -25
- package/dist/{index-BM-FPWjs2.d.mts → index-CTNGL-cq2.d.mts} +1 -1
- package/dist/{index-CDhbUjUH.d.mts → index-CU9xmTkP.d.mts} +1 -1
- package/dist/{index-hm8NV4CJ2.d.mts → index-CVP9K9-a2.d.mts} +8 -8
- package/dist/{index-BfwHYuRf.d.mts → index-Caai1zAG.d.mts} +1 -1
- package/dist/{index-D7IZQNhD.d.mts → index-CgYGg-Ne2.d.mts} +2 -2
- 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-Dzozmb5u.d.mts → index-Ddk-kjif.d.mts} +3 -3
- package/dist/{index-DY_0TRvM.d.mts → index-DhW9WHFS.d.mts} +2 -2
- 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-BxJRljy-.d.mts → index-Dtc5UYJG.d.mts} +237 -102
- package/dist/{index-DR308wUB2.d.mts → index-H2NL2OwF2.d.mts} +119 -7
- package/dist/{index-CjMMvZch.d.mts → index-LRAmVQLj.d.mts} +278 -44
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/{lib-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/{namespace-btfJrUf6.d.mts → namespace-CYYFqmtJ.d.mts} +6 -6
- package/dist/{namespace-CfA0C0JR.d.mts → namespace-CfNNUjVv.d.mts} +2 -2
- package/dist/{namespace-BHb_9sh4.d.mts → namespace-DyWNxLt1.d.mts} +6 -6
- package/dist/{namespace-Dmbm2JzV.d.mts → namespace-l1Rcc4mp.d.mts} +2 -2
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/{package-BaTrCWZl.d.mts → package-CnR_tOsW.d.mts} +21 -3
- package/dist/package-tvzH3A0x.mjs +7 -0
- package/dist/package.json +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-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 +6 -6
- package/dist/runtime-node/index.mjs +21 -21
- 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 +2 -2
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
- package/dist/{schemas-DYIVJDlx.d.mts → schemas-BGcAiQE0.d.mts} +4 -4
- package/dist/{schemas-CQe4xCRn.d.mts → schemas-D6JvwH-h.d.mts} +2 -2
- package/dist/{schemas-Cz7H2f7S.d.mts → schemas-DChhgfU0.d.mts} +7 -7
- package/dist/{schemas-yXs929kr.d.mts → schemas-Dt1YwXLN.d.mts} +7 -7
- package/dist/{schemas-BkCqhK3X.d.mts → schemas-FkLOBJgq.d.mts} +4 -4
- package/dist/{schemas-GyKYcV-Z2.d.mts → schemas-Fn-eeay32.d.mts} +7 -7
- package/dist/{schemas-bcDK-fK3.d.mts → schemas-_NrySTmN.d.mts} +7 -7
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +3 -3
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/capability/index.d.mts +2 -2
- package/dist/services/code-execution/index.d.mts +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +2 -2
- package/dist/services/git/schemas.d.mts +1 -1
- package/dist/services/index.d.mts +57 -57
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/materialization/index.d.mts +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/namespace.d.mts +4 -4
- package/dist/services/settings/storage/clients-namespace.d.mts +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/providers-namespace.d.mts +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/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/{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/{storage-namespace-zRXWqAfO.d.mts → storage-namespace-BUSNKZLw.d.mts} +10 -10
- package/dist/{transition-bYkXnLY2.d.mts → transition-D2VKNtv6.d.mts} +2 -2
- package/dist/{types-Bnc-pdB12.d.mts → types-DafDuOcH2.d.mts} +1 -1
- package/dist/{types-BNKqcHfP.d.mts → types-DyXXIK4c.d.mts} +3 -3
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{view-builder-CA5qUx85.d.mts → view-builder-BFEvUe6n.d.mts} +1 -1
- package/dist/worker-L8vWpbYa.mjs +1 -0
- package/dist/{workflow-5yHn_Knq.mjs → workflow-DNks09Ip.mjs} +1 -1
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/index.d.mts +98 -60
- 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-worker-BDA-E_pm.mjs +2 -0
- package/package.json +1 -1
- package/dist/artifact-Cxm5ZX7L.mjs +0 -1
- package/dist/bootstrap-start-client-rW55mDI-.mjs +0 -1
- package/dist/package-BT94BLu4.mjs +0 -7
- package/dist/worker-Cx1JDOB9.mjs +0 -1
- package/dist/workflow-worker-BAO7pQpx.mjs +0 -2
- /package/dist/{adapter-binding-DhANVB-O.d.mts → adapter-binding-CTssGlH_.d.mts} +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-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/{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/{extension-context-Cpf_n5FH.d.mts → extension-context-BGNUn34r.d.mts} +0 -0
- /package/dist/{extension-discovery-B0ZL076T.d.mts → extension-discovery-Dx118u_N.d.mts} +0 -0
- /package/dist/{filesystem-service-BWoNtujU.d.mts → filesystem-service-DtApanQk.d.mts} +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-Bzxs2nVR.d.mts → index-BLhNHkiK.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-C8oBOTl_.d.mts → index-C86rKLPD.d.mts} +0 -0
- /package/dist/{index-BIlFSGnW.d.mts → index-CIl66QhT.d.mts} +0 -0
- /package/dist/{index-Dckvm0Ml2.d.mts → index-CK5GEXLB2.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-CilWtThn.d.mts → index-CrvTRZqh.d.mts} +0 -0
- /package/dist/{index-DCfYa3cF.d.mts → index-CzKJC3Bt.d.mts} +0 -0
- /package/dist/{index-BBkJsViX2.d.mts → index-D4FE3jHM2.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-C75h1xHF2.d.mts → index-DO0QO0ux2.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-CVh7ZP2I.d.mts → index-fpGFhEmI.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/{namespace-fEBskugJ.d.mts → namespace--mFdPlbu.d.mts} +0 -0
- /package/dist/{namespace-KTRWfIPy.d.mts → namespace-Bivbsfms.d.mts} +0 -0
- /package/dist/{namespace-BiEV44Mk.d.mts → namespace-C-4xI2rm.d.mts} +0 -0
- /package/dist/{namespace-B0_Sg-1m.d.mts → namespace-CQPcYS-Q.d.mts} +0 -0
- /package/dist/{namespace-BNNFD-ul.d.mts → namespace-CvCk6Y9i.d.mts} +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-CY-9Evdf.d.mts → namespace-TX9DlWiQ.d.mts} +0 -0
- /package/dist/{namespace-CjmNxtr1.d.mts → namespace-XUB3XnBK.d.mts} +0 -0
- /package/dist/{orchestrator-shared-Cwc6JKkV.d.mts → orchestrator-shared-D2I9gyOl.d.mts} +0 -0
- /package/dist/{packages-DTz_1dCa.d.mts → packages-Dj9Nul23.d.mts} +0 -0
- /package/dist/{providers-namespace-Bming6U8.d.mts → providers-namespace-BA0JT--_.d.mts} +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/{schemas-DqWwz4eR.d.mts → schemas-ADuQFkhH.d.mts} +0 -0
- /package/dist/{schemas-BLy33xay.d.mts → schemas-BZyi7v9g.d.mts} +0 -0
- /package/dist/{schemas-CSeLgroC.d.mts → schemas-D9WJH6We.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/{server-lifecycle-_m_x1_TC.d.mts → server-lifecycle-B8UabaW3.d.mts} +0 -0
- /package/dist/{session-lineage-CEyJWg_J.d.mts → session-lineage-CoNs4WZy.d.mts} +0 -0
- /package/dist/{src-DdaPoQOD.mjs → src-D9PYcdDS.mjs} +0 -0
- /package/dist/{storage-namespace-definition-CsaZPU3n.d.mts → storage-namespace-definition-1uCuoHvM.d.mts} +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/{window-registry-DQ7udUzI.d.mts → window-registry-Dq5uOWpH.d.mts} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../semver-ByPlHR3P.mjs";import{A as i,B as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,V as m,_ as h,a as g,c as _,d as v,h as y,i as b,j as x,k as S,m as C,n as w,o as T,r as E,s as D,t as ee,u as te,v as ne,z as re}from"../workflow-worker-BAO7pQpx.mjs";import{createNodeClientBinaryStrategyDependencies as ie}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as ae,RuntimeSubjects as O}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as oe,FilesystemDescriptorDiscovery as se,MergedDescriptorDiscovery as k}from"./extension-discovery.mjs";import{MAKAIO_CONFIG_FILE_ENV as ce,MAKAIO_HOME_ENV as le,buildConfiguredRuntimeOptions as A,createMakaioConfigDiscovery as ue,defineMakaioConfig as de,loadMakaioConfig as fe,parseMakaioConfig as pe,resolveMakaioConfigPath as me,resolveMakaioHome as he,shouldIncludeExtension as ge}from"./makaio-config.mjs";import{n as _e}from"../extension-package-provenance-Dr7JXjLS.mjs";import{t as j}from"../descriptor-to-package-GVZk9ZGT.mjs";import{a as ve,c as M,i as ye,l as N,n as be,o as xe,r as Se,s as Ce,t as we}from"../load-extensions-s4YmICgn.mjs";import{a as Te,c as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me}from"../bootstrap-start-client-rW55mDI-.mjs";import{captureWorkflowExecutionBusSecretCleanup as Ne}from"./workflow-execution-bus-access.mjs";import{a as Pe,c as Fe,i as Ie,n as Le,o as Re,r as ze,s as Be,t as Ve}from"../types-Bh2fQoxM.mjs";import{t as He}from"../code-execution-ByLSAlEg2.mjs";import{createRequire as Ue}from"node:module";import{z as P}from"zod";import{execFile as We}from"node:child_process";import{promisify as Ge}from"node:util";import{fileURLToPath as Ke,pathToFileURL as qe}from"node:url";import*as F from"node:fs/promises";import*as I from"node:path";import L from"node:path";import*as Je from"node:crypto";import{createHash as Ye}from"node:crypto";import*as R from"node:fs";import{existsSync as Xe,readFileSync as Ze,statSync as Qe}from"node:fs";import{isRecord as $e}from"@makaio/framework/utils";import{createBusNamespace as et}from"@makaio/framework/core";import{AIModelSchema as tt,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as nt,ConfigSchema as rt,ConfigSubjects as it,CredentialSubjects as at,FrameworkContractNamespaces as ot,FrameworkStorageNamespaces as st,SubjectTelemetrySubjects as ct,isDetachedDescriptor as lt,registerWorkerProvider as ut,safeParseExtensionDescriptor as dt,unregisterWorkerProvider as ft,versionSatisfies as pt}from"@makaio/framework/contracts";import{ChannelClosedError as mt,MakaioBus as ht,openChannel as gt,projectSubjectTelemetryFacts as _t}from"@makaio/framework/bus";import{DispatchingAuth as vt,E2EAuth as yt,HmacAuth as bt,WebSocketClientTransport as xt}from"@makaio/framework/node/transports";import{BootNamespace as St,ExtensionCoordinator as Ct,ExtensionNamespace as wt,KernelNamespace as Tt,createShutdownSequence as Et}from"@makaio/framework/kernel";import{BaseService as Dt}from"@makaio/framework/service-base";import{uniqueIndex as Ot}from"drizzle-orm/sqlite-core";import{uniqueIndex as kt}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as At,defineDialectSchema as jt,defineDualTable as Mt,findStorageEngine as Nt,getDatabaseDialect as Pt,getRawSqlExecutor as Ft,getStorageEngine as It,registerDrizzleHandlers as Lt,registerStorageEngine as Rt,resolveSchema as zt,resolveStorageEngine as Bt,resolveStorageEngineForUrl as Vt}from"@makaio/framework/storage/drizzle";import{and as Ht,eq as z,sql as B}from"drizzle-orm";import{parseStoredCredentialRef as Ut}from"@makaio/framework/contracts/config";import*as Wt from"node:os";import{ProviderStorageSubjects as Gt}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as Kt,createArtifactKindContributionProcessor as qt,createArtifactLifecycleHookContributionProcessor as Jt,createFacetNamespaceContributionProcessor as Yt,createModelRegistryPackage as Xt,createReactionContributionProcessor as Zt,createToolContributionProcessor as Qt,createTransitionContributionProcessor as $t,createWorkflowBlockContributionProcessor as en}from"@makaio/framework/services";import{CachedRegistryFetcher as tn,FallbackRegistryFetcher as nn,ModelRegistrySchema as rn,ProviderModelOverrideSchema as an,mergeModelMetadata as on}from"@makaio/framework/services/model-registry";import{createClientsCorePackage as sn}from"@makaio/framework/clients";import{createDatabaseClient as cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as ln,resolveAdapterRuntimeSnapshot as un,resolveBoundProviderAuth as dn,resolveConnectorCredentials as fn,resolveCredentialRef as pn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as mn}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as hn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as gn}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as _n,FileAdapterConfigRepository as vn,orderAfterAdapterSubsystem as yn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as bn,loadOrCreateMachineIdentity as xn,machineKeysExist as Sn,validateMachineKeys as Cn}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as wn}from"@makaio/framework/utils/workspace-root";import{Hono as Tn}from"hono";import{CliNamespace as En}from"@makaio/framework/kernel/cli";import{startBusServer as Dn}from"@makaio/framework/node/bus-server";import{WebSocketServer as On}from"ws";import{ConfigProvider as kn}from"@makaio/framework/providers";import{KernelSubjects as V}from"@makaio/framework/kernel/namespace";import{createAutomationTriggerContributionProcessor as An,selectAutomationCronSchedulerPackage as jn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Mn,createSurfaceBindingContributionProcessor as Nn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Pn,logImportRegistryPackage as Fn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as In,createWorkflowEnginePackage as Ln}from"@makaio/framework/workflow-engine/package";import{PreferenceValueSchema as Rn,PreferencesSubjects as zn}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as Bn}from"@makaio/framework/utils/workspace-packages";import{serveStatic as Vn}from"@hono/node-server/serve-static";var Hn=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function Un(e){let t=e.providerProtocol;if(t===void 0)throw new Hn;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function Wn(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function Gn(e,t){try{return t()}catch(t){try{Wn(e)}catch{}throw t}}function Kn(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function qn(e){let{$schema:t,...n}=e;return n}function Jn(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function Yn(e,t,n,r){let i=[];return Gn(i,()=>(i.push(e.on(gn.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:P.toJSONSchema(r.adapterConfigSchema)})})),i.push(e.on(mn.getConfigSchema,({payload:e,setResult:n})=>{let r=Kn(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:P.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&i.push(e.on(gn.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}t({hasSchema:!0,schema:qn(P.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null})})),i.push(e.on(Gt.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:Jn(t)});return}}n({provider:null})},{priority:-1})),i.push(e.on(Gt.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(Jn(t)));e({providers:n})},{priority:-1})),i.push(e.on(hn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await un(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof ln))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),i.push(e.on(hn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await un(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=Un(o),u=await dn(o.boundProviderAuth,t=>fn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{Wn(i)}))}function Xn(e=`sqlite`){let{migrations:t}=It(e);return t.resolveSourceChainDir?.()??L.resolve(import.meta.dirname,`..`,t.chainDirName)}var Zn=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function Qn(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??Xn(t),r=L.join(n,`meta`,`_journal.json`);if(!Xe(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(Ze(r,`utf-8`));if(t!==void 0){let e=It(t).migrations.journalDialect;if(i.dialect!==e)throw new Zn(t,e,i.dialect,r)}return i.entries.map(e=>{let t=Ze(L.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:Ye(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function $n(e){return e.replace(/--.*$/gm,``).trim()}async function er(e,t){try{await e.run(B.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function tr(e){let{migrations:t}=e.engine;if(await e.session.run(B.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await er(e.session,{migrationsTable:e.tableName}),t}}async function nr(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await tr(e);try{await e.session.run(B.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(B`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(B.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await er(e.session,{migrationsTable:e.tableName}),n}}async function rr(e,t){try{await e.session.run(B`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(B.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function ir(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(B`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(B.raw(`COMMIT`)),!0)}async function ar(e,t){await e.session.run(B.raw(`ROLLBACK`)),await tr(e),!await ir(e,t)&&await rr(e,t)}async function or(e,t){await tr(e);try{if(await ir(e,t))return;for(let[n,r]of t.sql.entries())if($n(r))try{await e.session.run(B.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await ar(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await rr(e,t)}catch(n){throw await er(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function sr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(B.raw(r.suspendStatement));try{await n()}finally{await e.session.run(B.raw(r.restoreStatement))}}async function cr(e,t,n){let r=Ft(e),i=It(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:B.identifier(a)},r=await nr(n);for(let e of t)r.has(e.hash)||(await sr(n,e,()=>or(n,e)),r.add(e.hash))})}async function lr(e,t={}){await cr(e,Qn({migrationsDir:t.migrationsDir,expectedDialect:Pt(e)})),await Bt(e).fts.provisionSearchIndex(e)}var ur=class{configPath;constructor(e){this.configPath=I.join(e,`config.json`)}async getConfig(){try{let e=await F.readFile(this.configPath,`utf-8`);return rt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return rt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),rt.parse({});throw e}}async saveConfig(e){let t=I.dirname(this.configPath);await F.mkdir(t,{recursive:!0}),await F.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await F.chmod(this.configPath,384)}};function dr(e){try{let t=wn(e);return[I.resolve(t,`framework/static/model-registry.yaml`),I.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return Qe(e).isFile()}catch{return!1}})}catch{return}}async function fr(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function pr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const hr=[`extension`,`static-fallback`];function gr(e){let t=[];function n(e){let t=new Tn,n=[...e].sort((e,t)=>hr.indexOf(e.phase)-hr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function _r(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function vr(e,t){return(n,r,i)=>{if(!_r(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}var yr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof vt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new On({noServer:!0});this.websocketServer=t;let n=vr(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n,this.busServer=await Dn({websocket:t,bus:e,auth:this.options.auth,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},br=class extends kn{keysDir;constructor(e,t){super(e),this.keysDir=I.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return Je.randomBytes(32).toString(`base64`)}async getMachineId(){return(await xn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function xr(e,t){return{extensions:e.discovery??new se(void 0,{extensionsDir:L.join(t,`extensions`),nodeModulesDir:L.join(t,`node_modules`)})}}function Sr(e){return Xe(L.join(e,`meta`,`_journal.json`))}function Cr(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=Xn}=t,i=It(e).migrations.chainDirName,a=[],o=L.resolve(n,`..`,i);if(Sr(o))return o;a.push(o);try{let t=r(e);if(Sr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Tr(e){return e===void 0||e.trim()===``?void 0:e}function Er(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function Dr(e,t,n){let r;try{r=await import(qe(Ue(I.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Nt(e.dialect)===void 0&&Rt(i)}async function Or(e){let t=Tr(e.database?.url),n=t??Tr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=Vt(n);if(i.kind===`missing-engine`&&(await Dr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=Vt(n)),i.kind!==`engine`){let e=At.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Er(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=I.resolve(Tr(e.dbPath)??Tr(process.env.MAKAIO_DATABASE_PATH)??I.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:qe(r).href}}async function kr(e){for(let t of e.database?.engines??[])Rt(t);let t=await Or(e);if(t.kind===`url`){let n=await cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Cr(t.dialect);return await lr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=I.dirname(n);await R.promises.mkdir(r,{recursive:!0});let i=await cn({url:t.url});try{await lr(i.db,{migrationsDir:e.migrationsDir});try{await R.promises.chmod(n,384)}catch(e){if(!wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Ar=P.object({npmName:P.string(),version:P.string(),source:P.enum([`new`,`upgraded`,`already-present`])}),jr=P.object({npmName:P.string(),reason:P.string()}),Mr=P.object({success:P.boolean(),packageName:P.string(),version:P.string().optional(),restartRequired:P.boolean(),error:P.string().optional(),installed:P.array(Ar).optional(),skipped:P.array(jr).optional(),warnings:P.array(P.string()).optional()}),Nr=P.object({success:P.boolean(),packageName:P.string(),error:P.string().optional(),restartRequired:P.boolean()}),Pr=P.object({name:P.string(),version:P.string(),description:P.string().optional(),hasDescriptor:P.boolean().default(!1),serverImportPath:P.string().min(1).optional()}),Fr=P.object({packageName:P.string(),latestVersion:P.string(),success:P.boolean(),error:P.string().optional()}),Ir=P.object({name:P.string(),displayName:P.string(),description:P.string(),icon:P.string().optional(),tags:P.array(P.string()).optional(),descriptorName:P.string().min(1).optional()}),Lr=P.object({$schema:P.string(),updatedAt:P.string(),adapters:P.array(Ir),extensions:P.array(Ir)}),Rr=P.object({name:P.string(),currentVersion:P.string(),latestVersion:P.string(),description:P.string().optional()}),zr=et(`packages`,{list:{request:P.object({}),response:P.object({packages:P.array(Pr)})},install:{request:P.object({packageName:P.string().optional(),packageNames:P.array(P.string()).min(1).optional(),source:P.enum([`npm`,`local`]).optional(),force:P.boolean().optional()}).refine(e=>e.packageName!==void 0||e.packageNames!==void 0,{message:`Expected packageName or packageNames`}),response:Mr},uninstall:{request:P.object({packageName:P.string()}),response:Nr},getLatestVersion:{request:P.object({packageName:P.string()}),response:Fr},getRegistry:{request:P.object({}),response:Lr},checkUpdates:{request:P.object({}),response:P.object({updates:P.array(Rr)})},installed:P.object({packageName:P.string(),version:P.string()}),uninstalled:P.object({packageName:P.string()})}),H=zr.subjects;async function Br(e,t,n){if(!I.isAbsolute(e))return;let r;try{r=await F.realpath(e)}catch{return}let i=Vr(t,n),a=[I.resolve(r,`src`,`${i}.ts`),I.resolve(r,`dist`,`${i}.mjs`)];for(let e of a){let t=await Hr(e);if(t!==void 0&&Ur(t,r))return t}}function Vr(e,t){return t===!0?e:t}async function Hr(e){try{return await F.realpath(e)}catch{return}}function Ur(e,t){let n=I.relative(t,e);return n.length>0&&!n.startsWith(`..`)&&!I.isAbsolute(n)}var Wr=class{extensionsDir;constructor(e){this.extensionsDir=I.resolve(e)}async install(e){try{let t=I.resolve(e.endsWith(`descriptor.json`)?I.dirname(e):e),n=await F.realpath(t),r=await this.readDescriptor(n);lt(r)||await this.validateEntrypoints(n,r.entrypoints);let i=this.linkPathFor(r.name);await F.mkdir(I.dirname(i),{recursive:!0});try{if((await F.lstat(i)).isSymbolicLink())await F.unlink(i);else throw Error(`${i} already exists and is not a symlink`)}catch(e){if(e.code!==`ENOENT`)throw e}let a=process.platform===`win32`?`junction`:`dir`;return await F.symlink(n,i,a),{success:!0,packageName:r.name,version:r.version,restartRequired:!0}}catch(e){return{success:!1,packageName:``,error:e instanceof Error?e.message:String(e),restartRequired:!1}}}async uninstall(e){try{let t=this.linkPathFor(e);if(await F.unlink(t),e.startsWith(`@`)){let e=I.dirname(t);(await F.readdir(e).catch(()=>null))?.length===0&&await F.rmdir(e).catch(()=>{})}return{success:!0,packageName:e,restartRequired:!0}}catch(t){return{success:!1,packageName:e,error:t instanceof Error?t.message:String(t),restartRequired:!1}}}async list(){try{await F.access(this.extensionsDir)}catch{return[]}let e=await F.readdir(this.extensionsDir),t=[];for(let n of e){let e=I.join(this.extensionsDir,n);if(n.startsWith(`@`)){let n=await F.readdir(e).catch(()=>[]);for(let r of n){let n=I.join(e,r),i=await this.readLocalEntry(n);i!==null&&t.push(i)}}else{let n=await this.readLocalEntry(e);n!==null&&t.push(n)}}return t}async readLocalEntry(e){try{if(!(await F.lstat(e)).isSymbolicLink())return null;let t=await F.readlink(e),n=await F.realpath(I.resolve(I.dirname(e),t)),r=I.join(n,`descriptor.json`),i=await F.readFile(r,`utf-8`),a=dt(JSON.parse(i));if(!a.success)return null;let o=a.data.entrypoints?.server,s=o===void 0?void 0:await Br(n,`server`,o);return{name:a.data.name,version:a.data.version,sourcePath:n,source:`local`,...s!==void 0&&{serverImportPath:s}}}catch{return null}}async readDescriptor(e){let t=I.join(e,`descriptor.json`),n=await F.readFile(t,`utf-8`).catch(()=>{throw Error(`descriptor.json not found at ${t}`)}),r=dt(JSON.parse(n));if(!r.success)throw Error(`Invalid descriptor.json: ${r.error.message}`);return r.data}async validateEntrypoints(e,t){await Promise.all(Object.entries(t).map(async([t,n])=>{if(n!==void 0&&await Br(e,t,n)===void 0){let e=Vr(t,n);throw Error(`${t} entrypoint "${e}" has no resolvable candidate: neither src/${e}.ts nor dist/${e}.mjs exists within the extension root`)}}))}linkPathFor(e){let t=I.resolve(this.extensionsDir,...e.split(`/`)),n=I.relative(this.extensionsDir,t);if(n===``||n.startsWith(`..`)||I.isAbsolute(n))throw Error(`Invalid extension name: ${e}`);return t}};const Gr=`nodeLinker: node-modules`,Kr=/^[A-Za-z]:[\\/]/;let qr=null;function U(){return qr||(qr=Promise.all([import(`../lib-BmXBuE-w.mjs`).then(e=>t(e.t(),1)),import(`../lib-DF6sgNx_.mjs`).then(e=>t(e.t(),1)),import(`../lib-R-c_q77C.mjs`).then(e=>t(e.default,1))]).then(([e,t,n])=>({Configuration:e.Configuration,Project:e.Project,Cache:e.Cache,StreamReport:e.StreamReport,structUtils:e.structUtils,ppath:t.ppath,npath:t.npath,xfs:t.xfs,getPluginConfiguration:n.getPluginConfiguration})),qr)}var Jr=class{makaioHome;constructor(e){this.makaioHome=e}async initialize(){try{let{npath:e,ppath:t,xfs:n}=await U(),r=e.toPortablePath(this.makaioHome),i=t.join(r,`package.json`);if(await n.mkdirpPromise(r),await this.ensureYarnRc(r,n,t),await n.existsPromise(i))return;await n.writeJsonPromise(i,{name:`makaio-packages`,version:`1.0.0`,private:!0,description:`Makaio installed packages`,dependencies:{}}),console.info(`[YarnPackageManager] Created package.json at %s`,i)}catch(e){throw Error(`Failed to initialize package.json`,{cause:e})}}async ensureYarnRc(e,t,n){let r=n.join(e,`.yarnrc.yml`),i=await t.existsPromise(r)?await t.readFilePromise(r,`utf8`):``,a=$r(i);i!==a&&(await t.writeFilePromise(r,a),console.info(`[YarnPackageManager] Wrote .yarnrc.yml at %s`,r))}async loadYarnState(){let{Configuration:e,Project:t,Cache:n,npath:r,getPluginConfiguration:i}=await U(),a=r.toPortablePath(this.makaioHome),o=await e.find(a,i()),{project:s}=await t.find(o,a);return{configuration:o,project:s,cache:await n.find(o)}}async runProjectInstall(e,t,n){let{StreamReport:r}=await U();if((await r.start({configuration:e,stdout:process.stdout},async e=>{await t.install({cache:n,report:e})})).hasErrors())throw Error(`Yarn install failed with errors`)}async parsePackageDescriptor(e){let{structUtils:t}=await U(),n=t.parseDescriptor(e);return n.range===`unknown`?t.makeDescriptor(n,`latest`):n}async installPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=await this.parsePackageDescriptor(e),o=t.stringifyIdent(a),s=r.topLevelWorkspace.manifest.dependencies.get(a.identHash);r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i);let c=r.storedResolutions.get(a.descriptorHash);if(!c)throw Error(`Package resolution not found after installation`);let l=r.storedPackages.get(c);if(!l)throw Error(`Package not found after installation`);let u=l.version??`unknown`;if(!(await this.readInstalledDescriptor(o)).hasDescriptor)throw s?r.topLevelWorkspace.manifest.dependencies.set(a.identHash,s):r.topLevelWorkspace.manifest.dependencies.delete(a.identHash),await this.runProjectInstall(n,r,i),Error(`Installed package ${o} does not contain a valid descriptor.json`);return console.info(`[YarnPackageManager] Installed %s@%s`,o,u),u}catch(t){throw Error(`Failed to install ${e}`,{cause:t})}}async uninstallPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=t.parseIdent(e);if(!r.topLevelWorkspace.manifest.dependencies.delete(a.identHash))throw Error(`Package ${e} not found in dependencies`);await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Uninstalled %s`,e)}catch(t){throw Error(`Failed to uninstall ${e}`,{cause:t})}}async listPackages(){try{let{xfs:e,npath:t,ppath:n,structUtils:r}=await U(),i=t.toPortablePath(this.makaioHome),a=n.join(i,`package.json`);if(!await e.existsPromise(a))return[];let{project:o}=await this.loadYarnState(),s=[];for(let[,e]of o.topLevelWorkspace.manifest.dependencies){let t=r.stringifyIdent(e),n=o.storedResolutions.get(e.descriptorHash),i=(n?o.storedPackages.get(n):void 0)?.version??r.parseRange(e.range).selector,a=await this.readInstalledDescriptor(t);a.hasDescriptor&&s.push({name:t,version:i,hasDescriptor:!0,...a.serverImportPath!==void 0&&{serverImportPath:a.serverImportPath}})}return s}catch(e){throw Error(`Failed to list packages`,{cause:e})}}async ensureFrameworkDependency(e){let t=Zr(e);try{let{structUtils:e}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=e.makeDescriptor(e.parseIdent(`@makaio/framework`),t);if(r.topLevelWorkspace.manifest.dependencies.get(a.identHash)?.range===t)return;r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Ensured @makaio/framework@%s`,t)}catch(e){throw Error(`Failed to ensure @makaio/framework@${t}`,{cause:e})}}async getLatestVersion(e){return this.resolvePackageVersion(e)}async readInstalledDescriptor(e){let t=await this.readInstalledExtensionDescriptor(e);if(t===null)return{hasDescriptor:!1};let n=await this.resolveInstalledServerEntrypoint(e,t);return{hasDescriptor:!0,...n!==void 0&&{serverImportPath:n}}}async resolveInstalledServerEntrypoint(e,t){let n=t.entrypoints?.server;if(n!==void 0)return Br(I.join(this.makaioHome,`node_modules`,...e.split(`/`)),`server`,n)}async readInstalledExtensionDescriptor(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`descriptor.json`),n;try{let e=await F.readFile(t,`utf-8`);n=JSON.parse(e)}catch(e){if(e instanceof SyntaxError||ei(e))return null;throw e}let r=dt(n);return r.success?r.data:null}async listInstalledExtensionDescriptors(){let e=I.join(this.makaioHome,`package.json`),t;try{let n=await F.readFile(e,`utf-8`);t=JSON.parse(n)}catch(e){if(ei(e))return[];throw e}let n=Object.keys(t.dependencies??{});return(await Promise.all(n.map(async e=>{let t=await this.readInstalledExtensionDescriptor(e);return t===null?null:{npmName:e,version:await this.readInstalledPackageVersion(e),descriptor:t}}))).filter(e=>e!==null)}async readInstalledPackageVersion(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`package.json`);try{let e=await F.readFile(t,`utf-8`),n=JSON.parse(e);return typeof n.version==`string`?n.version:`unknown`}catch{return`unknown`}}async readManifestSnapshot(){let e=I.join(this.makaioHome,`package.json`),t=await F.readFile(e,`utf-8`);return JSON.parse(t)}async writeManifestAndReinstall(e){let t=I.join(this.makaioHome,`package.json`);await F.writeFile(t,`${JSON.stringify(e,null,2)}\n`,`utf-8`);let{configuration:n,project:r,cache:i}=await this.loadYarnState();await this.runProjectInstall(n,r,i)}async resolvePackageVersion(e){try{let{StreamReport:t}=await U(),{configuration:n,project:r}=await this.loadYarnState(),i=await this.parsePackageDescriptor(e),a=`unknown`;return await t.start({configuration:n,stdout:process.stdout},async e=>{let t=n.makeResolver(),o=await t.getCandidates(i,{},{project:r,resolver:t,report:e});if(o.length>0){let e=o[0];a=e.reference.match(/^npm:(.+)$/)?.[1]??e.reference}}),a}catch(t){throw Error(`Failed to resolve version for ${e}`,{cause:t})}}};function Yr(e,t){return!t||t===`latest`?e:`${e}@${t}`}function Xr(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t===-1)return e;let n=e.indexOf(`@`,t+1);return n===-1?e:e.slice(0,n)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function Zr(e){return e.localPackagePath?`portal:${Qr(e.localPackagePath)}`:e.versionRange}function Qr(e){let t=(Kr.test(e)?e:I.resolve(e)).replace(/\\/g,`/`);return Kr.test(t)?`/${t}`:t}function $r(e){let t=e.split(/\r?\n/),n=!1,r=t.map(e=>/^\s*nodeLinker\s*:/.test(e)?(n=!0,Gr):e);if(!n){let t=e.trimEnd();return`${t}${t.length>0?`
|
|
1
|
+
import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../semver-ByPlHR3P.mjs";import{A as i,B as a,F as o,H as s,I as c,L as l,M as u,N as d,P as f,R as p,V as m,a as h,c as g,d as _,f as v,g as y,h as b,i as x,j as S,k as C,l as w,n as T,o as E,r as ee,s as te,t as ne,v as re,y as ie,z as ae}from"../workflow-worker-BDA-E_pm.mjs";import{createNodeClientBinaryStrategyDependencies as oe}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as se,RuntimeSubjects as D}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as ce,FilesystemDescriptorDiscovery as O,MergedDescriptorDiscovery as le}from"./extension-discovery.mjs";import{MAKAIO_CONFIG_FILE_ENV as k,MAKAIO_HOME_ENV as A,buildConfiguredRuntimeOptions as ue,createMakaioConfigDiscovery as de,defineMakaioConfig as fe,loadMakaioConfig as pe,parseMakaioConfig as me,resolveMakaioConfigPath as he,resolveMakaioHome as ge,shouldIncludeExtension as _e}from"./makaio-config.mjs";import{n as j}from"../extension-package-provenance-Dr7JXjLS.mjs";import{t as ve}from"../descriptor-to-package-GVZk9ZGT.mjs";import{a as M,c as ye,i as N,l as P,n as be,o as xe,r as Se,s as Ce,t as we}from"../load-extensions-bwisKaW0.mjs";import{a as Te,c as Ee,i as De,l as Oe,n as ke,r as Ae,s as je,t as Me}from"../bootstrap-start-client-D7t7d9ty.mjs";import{captureWorkflowExecutionBusSecretCleanup as Ne}from"./workflow-execution-bus-access.mjs";import{a as Pe,c as Fe,i as Ie,n as Le,o as Re,r as ze,s as Be,t as Ve}from"../types-Bh2fQoxM.mjs";import{t as He}from"../code-execution-ByLSAlEg2.mjs";import{createRequire as Ue}from"node:module";import{z as F}from"zod";import{execFile as We}from"node:child_process";import{promisify as Ge}from"node:util";import{fileURLToPath as Ke,pathToFileURL as qe}from"node:url";import*as I from"node:fs/promises";import*as L from"node:path";import R from"node:path";import*as Je from"node:crypto";import{createHash as Ye}from"node:crypto";import*as z from"node:fs";import{existsSync as Xe,readFileSync as Ze,statSync as Qe}from"node:fs";import{isRecord as $e}from"@makaio/framework/utils";import{createBusNamespace as et}from"@makaio/framework/core";import{AIModelSchema as tt,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as nt,ConfigSchema as rt,ConfigSubjects as it,CredentialSubjects as at,FrameworkContractNamespaces as ot,FrameworkStorageNamespaces as st,SubjectTelemetrySubjects as ct,isDetachedDescriptor as lt,registerWorkerProvider as ut,safeParseExtensionDescriptor as dt,unregisterWorkerProvider as ft,versionSatisfies as pt}from"@makaio/framework/contracts";import{ChannelClosedError as mt,MakaioBus as ht,openChannel as gt,projectSubjectTelemetryFacts as _t}from"@makaio/framework/bus";import{DispatchingAuth as vt,E2EAuth as yt,HmacAuth as bt,WebSocketClientTransport as xt}from"@makaio/framework/node/transports";import{BootNamespace as St,ExtensionCoordinator as Ct,ExtensionNamespace as wt,KernelNamespace as Tt,createShutdownSequence as Et}from"@makaio/framework/kernel";import{BaseService as Dt}from"@makaio/framework/service-base";import{uniqueIndex as Ot}from"drizzle-orm/sqlite-core";import{uniqueIndex as kt}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as At,defineDialectSchema as jt,defineDualTable as Mt,findStorageEngine as Nt,getDatabaseDialect as Pt,getRawSqlExecutor as Ft,getStorageEngine as It,registerDrizzleHandlers as Lt,registerStorageEngine as Rt,resolveSchema as zt,resolveStorageEngine as Bt,resolveStorageEngineForUrl as Vt}from"@makaio/framework/storage/drizzle";import{and as Ht,eq as B,sql as V}from"drizzle-orm";import{parseStoredCredentialRef as Ut}from"@makaio/framework/contracts/config";import*as Wt from"node:os";import{ProviderStorageSubjects as Gt}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as Kt,createArtifactKindContributionProcessor as qt,createArtifactLifecycleHookContributionProcessor as Jt,createFacetNamespaceContributionProcessor as Yt,createModelRegistryPackage as Xt,createReactionContributionProcessor as Zt,createToolContributionProcessor as Qt,createTransitionContributionProcessor as $t,createWorkflowBlockContributionProcessor as en}from"@makaio/framework/services";import{CachedRegistryFetcher as tn,FallbackRegistryFetcher as nn,ModelRegistrySchema as rn,ProviderModelOverrideSchema as an,mergeModelMetadata as on}from"@makaio/framework/services/model-registry";import{createClientsCorePackage as sn}from"@makaio/framework/clients";import{createDatabaseClient as cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as ln,resolveAdapterRuntimeSnapshot as un,resolveBoundProviderAuth as dn,resolveConnectorCredentials as fn,resolveCredentialRef as pn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as mn}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as hn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as gn}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as _n,FileAdapterConfigRepository as vn,orderAfterAdapterSubsystem as yn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as bn,loadOrCreateMachineIdentity as xn,machineKeysExist as Sn,validateMachineKeys as Cn}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as wn}from"@makaio/framework/utils/workspace-root";import{Hono as Tn}from"hono";import{CliNamespace as En}from"@makaio/framework/kernel/cli";import{startBusServer as Dn}from"@makaio/framework/node/bus-server";import{WebSocketServer as On}from"ws";import{ConfigProvider as kn}from"@makaio/framework/providers";import{KernelSubjects as H}from"@makaio/framework/kernel/namespace";import{createAutomationTriggerContributionProcessor as An,selectAutomationCronSchedulerPackage as jn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Mn,createSurfaceBindingContributionProcessor as Nn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Pn,logImportRegistryPackage as Fn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as In,createWorkflowEnginePackage as Ln}from"@makaio/framework/workflow-engine/package";import{PreferenceValueSchema as Rn,PreferencesSubjects as zn}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as Bn}from"@makaio/framework/utils/workspace-packages";import{serveStatic as Vn}from"@hono/node-server/serve-static";var Hn=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function Un(e){let t=e.providerProtocol;if(t===void 0)throw new Hn;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function Wn(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function Gn(e,t){try{return t()}catch(t){try{Wn(e)}catch{}throw t}}function Kn(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function qn(e){let{$schema:t,...n}=e;return n}function Jn(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function Yn(e,t,n,r){let i=[];return Gn(i,()=>(i.push(e.on(gn.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:F.toJSONSchema(r.adapterConfigSchema)})})),i.push(e.on(mn.getConfigSchema,({payload:e,setResult:n})=>{let r=Kn(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:F.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&i.push(e.on(gn.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}t({hasSchema:!0,schema:qn(F.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null})})),i.push(e.on(Gt.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:Jn(t)});return}}n({provider:null})},{priority:-1})),i.push(e.on(Gt.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(Jn(t)));e({providers:n})},{priority:-1})),i.push(e.on(hn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await un(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof ln))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),i.push(e.on(hn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await un(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=Un(o),u=await dn(o.boundProviderAuth,t=>fn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{Wn(i)}))}function Xn(e=`sqlite`){let{migrations:t}=It(e);return t.resolveSourceChainDir?.()??R.resolve(import.meta.dirname,`..`,t.chainDirName)}var Zn=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function Qn(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??Xn(t),r=R.join(n,`meta`,`_journal.json`);if(!Xe(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(Ze(r,`utf-8`));if(t!==void 0){let e=It(t).migrations.journalDialect;if(i.dialect!==e)throw new Zn(t,e,i.dialect,r)}return i.entries.map(e=>{let t=Ze(R.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:Ye(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function $n(e){return e.replace(/--.*$/gm,``).trim()}async function er(e,t){try{await e.run(V.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function tr(e){let{migrations:t}=e.engine;if(await e.session.run(V.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await er(e.session,{migrationsTable:e.tableName}),t}}async function nr(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await tr(e);try{await e.session.run(V.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(V`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(V.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await er(e.session,{migrationsTable:e.tableName}),n}}async function rr(e,t){try{await e.session.run(V`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(V.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function ir(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(V`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(V.raw(`COMMIT`)),!0)}async function ar(e,t){await e.session.run(V.raw(`ROLLBACK`)),await tr(e),!await ir(e,t)&&await rr(e,t)}async function or(e,t){await tr(e);try{if(await ir(e,t))return;for(let[n,r]of t.sql.entries())if($n(r))try{await e.session.run(V.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await ar(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await rr(e,t)}catch(n){throw await er(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function sr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(V.raw(r.suspendStatement));try{await n()}finally{await e.session.run(V.raw(r.restoreStatement))}}async function cr(e,t,n){let r=Ft(e),i=It(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:V.identifier(a)},r=await nr(n);for(let e of t)r.has(e.hash)||(await sr(n,e,()=>or(n,e)),r.add(e.hash))})}async function lr(e,t={}){await cr(e,Qn({migrationsDir:t.migrationsDir,expectedDialect:Pt(e)})),await Bt(e).fts.provisionSearchIndex(e)}var ur=class{configPath;constructor(e){this.configPath=L.join(e,`config.json`)}async getConfig(){try{let e=await I.readFile(this.configPath,`utf-8`);return rt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return rt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),rt.parse({});throw e}}async saveConfig(e){let t=L.dirname(this.configPath);await I.mkdir(t,{recursive:!0}),await I.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await I.chmod(this.configPath,384)}};function dr(e){try{let t=wn(e);return[L.resolve(t,`framework/static/model-registry.yaml`),L.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return Qe(e).isFile()}catch{return!1}})}catch{return}}async function fr(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function pr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const hr=[`extension`,`static-fallback`];function gr(e){let t=[];function n(e){let t=new Tn,n=[...e].sort((e,t)=>hr.indexOf(e.phase)-hr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function _r(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function vr(e,t){return(n,r,i)=>{if(!_r(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}var yr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof vt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new On({noServer:!0});this.websocketServer=t;let n=vr(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n,this.busServer=await Dn({websocket:t,bus:e,auth:this.options.auth,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},br=class extends kn{keysDir;constructor(e,t){super(e),this.keysDir=L.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return Je.randomBytes(32).toString(`base64`)}async getMachineId(){return(await xn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function xr(e,t){return{extensions:e.discovery??new O(void 0,{extensionsDir:R.join(t,`extensions`),nodeModulesDir:R.join(t,`node_modules`)})}}function Sr(e){return Xe(R.join(e,`meta`,`_journal.json`))}function Cr(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=Xn}=t,i=It(e).migrations.chainDirName,a=[],o=R.resolve(n,`..`,i);if(Sr(o))return o;a.push(o);try{let t=r(e);if(Sr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Tr(e){return e===void 0||e.trim()===``?void 0:e}function Er(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function Dr(e,t,n){let r;try{r=await import(qe(Ue(L.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Nt(e.dialect)===void 0&&Rt(i)}async function Or(e){let t=Tr(e.database?.url),n=t??Tr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=Vt(n);if(i.kind===`missing-engine`&&(await Dr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=Vt(n)),i.kind!==`engine`){let e=At.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Er(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=L.resolve(Tr(e.dbPath)??Tr(process.env.MAKAIO_DATABASE_PATH)??L.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:qe(r).href}}async function kr(e){for(let t of e.database?.engines??[])Rt(t);let t=await Or(e);if(t.kind===`url`){let n=await cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Cr(t.dialect);return await lr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=L.dirname(n);await z.promises.mkdir(r,{recursive:!0});let i=await cn({url:t.url});try{await lr(i.db,{migrationsDir:e.migrationsDir});try{await z.promises.chmod(n,384)}catch(e){if(!wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Ar=F.object({npmName:F.string(),version:F.string(),source:F.enum([`new`,`upgraded`,`already-present`])}),jr=F.object({npmName:F.string(),reason:F.string()}),Mr=F.object({success:F.boolean(),packageName:F.string(),version:F.string().optional(),restartRequired:F.boolean(),error:F.string().optional(),installed:F.array(Ar).optional(),skipped:F.array(jr).optional(),warnings:F.array(F.string()).optional()}),Nr=F.object({success:F.boolean(),packageName:F.string(),error:F.string().optional(),restartRequired:F.boolean()}),Pr=F.object({name:F.string(),version:F.string(),description:F.string().optional(),hasDescriptor:F.boolean().default(!1),serverImportPath:F.string().min(1).optional()}),Fr=F.object({packageName:F.string(),latestVersion:F.string(),success:F.boolean(),error:F.string().optional()}),Ir=F.object({name:F.string(),displayName:F.string(),description:F.string(),icon:F.string().optional(),tags:F.array(F.string()).optional(),descriptorName:F.string().min(1).optional()}),Lr=F.object({$schema:F.string(),updatedAt:F.string(),adapters:F.array(Ir),extensions:F.array(Ir)}),Rr=F.object({name:F.string(),currentVersion:F.string(),latestVersion:F.string(),description:F.string().optional()}),zr=et(`packages`,{list:{request:F.object({}),response:F.object({packages:F.array(Pr)})},install:{request:F.object({packageName:F.string().optional(),packageNames:F.array(F.string()).min(1).optional(),source:F.enum([`npm`,`local`]).optional(),force:F.boolean().optional()}).refine(e=>e.packageName!==void 0||e.packageNames!==void 0,{message:`Expected packageName or packageNames`}),response:Mr},uninstall:{request:F.object({packageName:F.string()}),response:Nr},getLatestVersion:{request:F.object({packageName:F.string()}),response:Fr},getRegistry:{request:F.object({}),response:Lr},checkUpdates:{request:F.object({}),response:F.object({updates:F.array(Rr)})},installed:F.object({packageName:F.string(),version:F.string()}),uninstalled:F.object({packageName:F.string()})}),U=zr.subjects;async function Br(e,t,n){if(!L.isAbsolute(e))return;let r;try{r=await I.realpath(e)}catch{return}let i=Vr(t,n),a=[L.resolve(r,`src`,`${i}.ts`),L.resolve(r,`dist`,`${i}.mjs`)];for(let e of a){let t=await Hr(e);if(t!==void 0&&Ur(t,r))return t}}function Vr(e,t){return t===!0?e:t}async function Hr(e){try{return await I.realpath(e)}catch{return}}function Ur(e,t){let n=L.relative(t,e);return n.length>0&&!n.startsWith(`..`)&&!L.isAbsolute(n)}var Wr=class{extensionsDir;constructor(e){this.extensionsDir=L.resolve(e)}async install(e){try{let t=L.resolve(e.endsWith(`descriptor.json`)?L.dirname(e):e),n=await I.realpath(t),r=await this.readDescriptor(n);lt(r)||await this.validateEntrypoints(n,r.entrypoints);let i=this.linkPathFor(r.name);await I.mkdir(L.dirname(i),{recursive:!0});try{if((await I.lstat(i)).isSymbolicLink())await I.unlink(i);else throw Error(`${i} already exists and is not a symlink`)}catch(e){if(e.code!==`ENOENT`)throw e}let a=process.platform===`win32`?`junction`:`dir`;return await I.symlink(n,i,a),{success:!0,packageName:r.name,version:r.version,restartRequired:!0}}catch(e){return{success:!1,packageName:``,error:e instanceof Error?e.message:String(e),restartRequired:!1}}}async uninstall(e){try{let t=this.linkPathFor(e);if(await I.unlink(t),e.startsWith(`@`)){let e=L.dirname(t);(await I.readdir(e).catch(()=>null))?.length===0&&await I.rmdir(e).catch(()=>{})}return{success:!0,packageName:e,restartRequired:!0}}catch(t){return{success:!1,packageName:e,error:t instanceof Error?t.message:String(t),restartRequired:!1}}}async list(){try{await I.access(this.extensionsDir)}catch{return[]}let e=await I.readdir(this.extensionsDir),t=[];for(let n of e){let e=L.join(this.extensionsDir,n);if(n.startsWith(`@`)){let n=await I.readdir(e).catch(()=>[]);for(let r of n){let n=L.join(e,r),i=await this.readLocalEntry(n);i!==null&&t.push(i)}}else{let n=await this.readLocalEntry(e);n!==null&&t.push(n)}}return t}async readLocalEntry(e){try{if(!(await I.lstat(e)).isSymbolicLink())return null;let t=await I.readlink(e),n=await I.realpath(L.resolve(L.dirname(e),t)),r=L.join(n,`descriptor.json`),i=await I.readFile(r,`utf-8`),a=dt(JSON.parse(i));if(!a.success)return null;let o=a.data.entrypoints?.server,s=o===void 0?void 0:await Br(n,`server`,o);return{name:a.data.name,version:a.data.version,sourcePath:n,source:`local`,...s!==void 0&&{serverImportPath:s}}}catch{return null}}async readDescriptor(e){let t=L.join(e,`descriptor.json`),n=await I.readFile(t,`utf-8`).catch(()=>{throw Error(`descriptor.json not found at ${t}`)}),r=dt(JSON.parse(n));if(!r.success)throw Error(`Invalid descriptor.json: ${r.error.message}`);return r.data}async validateEntrypoints(e,t){await Promise.all(Object.entries(t).map(async([t,n])=>{if(n!==void 0&&await Br(e,t,n)===void 0){let e=Vr(t,n);throw Error(`${t} entrypoint "${e}" has no resolvable candidate: neither src/${e}.ts nor dist/${e}.mjs exists within the extension root`)}}))}linkPathFor(e){let t=L.resolve(this.extensionsDir,...e.split(`/`)),n=L.relative(this.extensionsDir,t);if(n===``||n.startsWith(`..`)||L.isAbsolute(n))throw Error(`Invalid extension name: ${e}`);return t}};const Gr=`nodeLinker: node-modules`,Kr=/^[A-Za-z]:[\\/]/;let qr=null;function W(){return qr||(qr=Promise.all([import(`../lib-B1Mvm4hQ.mjs`).then(e=>t(e.t(),1)),import(`../lib-BLdnqIFF.mjs`).then(e=>t(e.t(),1)),import(`../lib-D1-cvcTz.mjs`).then(e=>t(e.default,1))]).then(([e,t,n])=>({Configuration:e.Configuration,Project:e.Project,Cache:e.Cache,StreamReport:e.StreamReport,structUtils:e.structUtils,ppath:t.ppath,npath:t.npath,xfs:t.xfs,getPluginConfiguration:n.getPluginConfiguration})),qr)}var Jr=class{makaioHome;constructor(e){this.makaioHome=e}async initialize(){try{let{npath:e,ppath:t,xfs:n}=await W(),r=e.toPortablePath(this.makaioHome),i=t.join(r,`package.json`);if(await n.mkdirpPromise(r),await this.ensureYarnRc(r,n,t),await n.existsPromise(i))return;await n.writeJsonPromise(i,{name:`makaio-packages`,version:`1.0.0`,private:!0,description:`Makaio installed packages`,dependencies:{}}),console.info(`[YarnPackageManager] Created package.json at %s`,i)}catch(e){throw Error(`Failed to initialize package.json`,{cause:e})}}async ensureYarnRc(e,t,n){let r=n.join(e,`.yarnrc.yml`),i=await t.existsPromise(r)?await t.readFilePromise(r,`utf8`):``,a=$r(i);i!==a&&(await t.writeFilePromise(r,a),console.info(`[YarnPackageManager] Wrote .yarnrc.yml at %s`,r))}async loadYarnState(){let{Configuration:e,Project:t,Cache:n,npath:r,getPluginConfiguration:i}=await W(),a=r.toPortablePath(this.makaioHome),o=await e.find(a,i()),{project:s}=await t.find(o,a);return{configuration:o,project:s,cache:await n.find(o)}}async runProjectInstall(e,t,n){let{StreamReport:r}=await W();if((await r.start({configuration:e,stdout:process.stdout},async e=>{await t.install({cache:n,report:e})})).hasErrors())throw Error(`Yarn install failed with errors`)}async parsePackageDescriptor(e){let{structUtils:t}=await W(),n=t.parseDescriptor(e);return n.range===`unknown`?t.makeDescriptor(n,`latest`):n}async installPackage(e){try{let{structUtils:t}=await W(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=await this.parsePackageDescriptor(e),o=t.stringifyIdent(a),s=r.topLevelWorkspace.manifest.dependencies.get(a.identHash);r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i);let c=r.storedResolutions.get(a.descriptorHash);if(!c)throw Error(`Package resolution not found after installation`);let l=r.storedPackages.get(c);if(!l)throw Error(`Package not found after installation`);let u=l.version??`unknown`;if(!(await this.readInstalledDescriptor(o)).hasDescriptor)throw s?r.topLevelWorkspace.manifest.dependencies.set(a.identHash,s):r.topLevelWorkspace.manifest.dependencies.delete(a.identHash),await this.runProjectInstall(n,r,i),Error(`Installed package ${o} does not contain a valid descriptor.json`);return console.info(`[YarnPackageManager] Installed %s@%s`,o,u),u}catch(t){throw Error(`Failed to install ${e}`,{cause:t})}}async uninstallPackage(e){try{let{structUtils:t}=await W(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=t.parseIdent(e);if(!r.topLevelWorkspace.manifest.dependencies.delete(a.identHash))throw Error(`Package ${e} not found in dependencies`);await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Uninstalled %s`,e)}catch(t){throw Error(`Failed to uninstall ${e}`,{cause:t})}}async listPackages(){try{let{xfs:e,npath:t,ppath:n,structUtils:r}=await W(),i=t.toPortablePath(this.makaioHome),a=n.join(i,`package.json`);if(!await e.existsPromise(a))return[];let{project:o}=await this.loadYarnState(),s=[];for(let[,e]of o.topLevelWorkspace.manifest.dependencies){let t=r.stringifyIdent(e),n=o.storedResolutions.get(e.descriptorHash),i=(n?o.storedPackages.get(n):void 0)?.version??r.parseRange(e.range).selector,a=await this.readInstalledDescriptor(t);a.hasDescriptor&&s.push({name:t,version:i,hasDescriptor:!0,...a.serverImportPath!==void 0&&{serverImportPath:a.serverImportPath}})}return s}catch(e){throw Error(`Failed to list packages`,{cause:e})}}async ensureFrameworkDependency(e){let t=Zr(e);try{let{structUtils:e}=await W(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=e.makeDescriptor(e.parseIdent(`@makaio/framework`),t);if(r.topLevelWorkspace.manifest.dependencies.get(a.identHash)?.range===t)return;r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Ensured @makaio/framework@%s`,t)}catch(e){throw Error(`Failed to ensure @makaio/framework@${t}`,{cause:e})}}async getLatestVersion(e){return this.resolvePackageVersion(e)}async readInstalledDescriptor(e){let t=await this.readInstalledExtensionDescriptor(e);if(t===null)return{hasDescriptor:!1};let n=await this.resolveInstalledServerEntrypoint(e,t);return{hasDescriptor:!0,...n!==void 0&&{serverImportPath:n}}}async resolveInstalledServerEntrypoint(e,t){let n=t.entrypoints?.server;if(n!==void 0)return Br(L.join(this.makaioHome,`node_modules`,...e.split(`/`)),`server`,n)}async readInstalledExtensionDescriptor(e){let t=L.join(this.makaioHome,`node_modules`,...e.split(`/`),`descriptor.json`),n;try{let e=await I.readFile(t,`utf-8`);n=JSON.parse(e)}catch(e){if(e instanceof SyntaxError||ei(e))return null;throw e}let r=dt(n);return r.success?r.data:null}async listInstalledExtensionDescriptors(){let e=L.join(this.makaioHome,`package.json`),t;try{let n=await I.readFile(e,`utf-8`);t=JSON.parse(n)}catch(e){if(ei(e))return[];throw e}let n=Object.keys(t.dependencies??{});return(await Promise.all(n.map(async e=>{let t=await this.readInstalledExtensionDescriptor(e);return t===null?null:{npmName:e,version:await this.readInstalledPackageVersion(e),descriptor:t}}))).filter(e=>e!==null)}async readInstalledPackageVersion(e){let t=L.join(this.makaioHome,`node_modules`,...e.split(`/`),`package.json`);try{let e=await I.readFile(t,`utf-8`),n=JSON.parse(e);return typeof n.version==`string`?n.version:`unknown`}catch{return`unknown`}}async readManifestSnapshot(){let e=L.join(this.makaioHome,`package.json`),t=await I.readFile(e,`utf-8`);return JSON.parse(t)}async writeManifestAndReinstall(e){let t=L.join(this.makaioHome,`package.json`);await I.writeFile(t,`${JSON.stringify(e,null,2)}\n`,`utf-8`);let{configuration:n,project:r,cache:i}=await this.loadYarnState();await this.runProjectInstall(n,r,i)}async resolvePackageVersion(e){try{let{StreamReport:t}=await W(),{configuration:n,project:r}=await this.loadYarnState(),i=await this.parsePackageDescriptor(e),a=`unknown`;return await t.start({configuration:n,stdout:process.stdout},async e=>{let t=n.makeResolver(),o=await t.getCandidates(i,{},{project:r,resolver:t,report:e});if(o.length>0){let e=o[0];a=e.reference.match(/^npm:(.+)$/)?.[1]??e.reference}}),a}catch(t){throw Error(`Failed to resolve version for ${e}`,{cause:t})}}};function Yr(e,t){return!t||t===`latest`?e:`${e}@${t}`}function Xr(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t===-1)return e;let n=e.indexOf(`@`,t+1);return n===-1?e:e.slice(0,n)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function Zr(e){return e.localPackagePath?`portal:${Qr(e.localPackagePath)}`:e.versionRange}function Qr(e){let t=(Kr.test(e)?e:L.resolve(e)).replace(/\\/g,`/`);return Kr.test(t)?`/${t}`:t}function $r(e){let t=e.split(/\r?\n/),n=!1,r=t.map(e=>/^\s*nodeLinker\s*:/.test(e)?(n=!0,Gr):e);if(!n){let t=e.trimEnd();return`${t}${t.length>0?`
|
|
2
2
|
`:``}${Gr}\n`}return`${r.join(`
|
|
3
|
-
`).trimEnd()}\n`}function ei(e){if(typeof e!=`object`||!e||!(`code`in e))return!1;let t=e.code;return t===`ENOENT`||t===`ENOTDIR`}function ti(e){if(e.startsWith(`git+`))return{kind:`git`,raw:e,resolved:e};let t=e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`);if(e.startsWith(`~`)&&!t)throw Error(`Unsupported home-relative path syntax: ${e}`);return e.startsWith(`.`)||
|
|
4
|
-
`)}`)}async enqueueDependencies(e,t,n){for(let r of n.dependencies??[]){let n=await this.names.resolveNpmPackageName(r.name);if(t.path.includes(n))throw Error(`Circular dependency detected: ${[...t.path,n].join(` -> `)}`);e.push({npmName:n,expectedDescriptorName:r.name,requiredRange:r.version,optional:r.optional===!0,path:[...t.path,n],root:!1})}}};function ri(e){return e.startsWith(`@`)?void 0:e}function ii(e){let t=Xr(e);if(t.length===e.length)return{npmName:t};let n=e.slice(t.length+1);return n===`latest`?{npmName:t}:{npmName:t,requiredRange:n}}function ai(e){return e instanceof Error?e.message:String(e)}var oi=class{registryClient;lookupMapPromise=null;constructor(e){this.registryClient=e}async resolveNpmPackageName(e){if(e.startsWith(`@`))return e;let t;try{t=await this.getLookupMap()}catch(t){throw Error(`Cannot resolve descriptor name "${e}": package registry is unavailable`,{cause:t})}return t.get(e)||`@makaio/${e}`}getLookupMap(){if(this.lookupMapPromise)return this.lookupMapPromise;let e=this.registryClient.getRegistry().then(e=>{let t=new Map;for(let n of[...e.adapters,...e.extensions])n.descriptorName&&t.set(n.descriptorName,n.name);return t}).catch(t=>{throw this.lookupMapPromise===e&&(this.lookupMapPromise=null),t});return this.lookupMapPromise=e,this.lookupMapPromise}},si=class{inner;portalMap;constructor(e,t){this.inner=e,this.portalMap=t}async installPackage(e){let t=Xr(e),n=this.portalMap.get(t);if(n!==void 0){let e=`${t}@portal:${Qr(n)}`;return this.inner.installPackage(e)}return this.inner.installPackage(e)}readInstalledExtensionDescriptor(e){return this.inner.readInstalledExtensionDescriptor(e)}listInstalledExtensionDescriptors(){return this.inner.listInstalledExtensionDescriptors()}readManifestSnapshot(){return this.inner.readManifestSnapshot()}writeManifestAndReinstall(e){return this.inner.writeManifestAndReinstall(e)}},ci=class{cache=null;inFlightFetch=null;registryUrl;cacheTtlMs;fetchTimeoutMs;fetchImpl;constructor(e={}){this.registryUrl=e.registryUrl??`https://raw.githubusercontent.com/makaio-ai/makaio/develop/registry/packages.json`,this.cacheTtlMs=e.cacheTtlMs??36e5,this.fetchTimeoutMs=e.fetchTimeoutMs??1e4,this.fetchImpl=e.fetchImpl??fetch}async getRegistry(){if(this.cache&&Date.now()-this.cache.timestamp<this.cacheTtlMs)return this.cache.data;this.inFlightFetch??=this.fetchAndCacheRegistry();try{return await this.inFlightFetch}finally{this.inFlightFetch=null}}async fetchAndCacheRegistry(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.fetchTimeoutMs);try{let t=await this.fetchImpl(this.registryUrl,{signal:e.signal});if(!t.ok)throw Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.json(),r=Lr.parse(n);return this.cache={data:r,timestamp:Date.now()},r}catch(e){let t=e instanceof Error?e:Error(String(e));throw Error(`Failed to fetch package registry`,{cause:t})}finally{clearTimeout(t)}}clearCache(){this.cache=null}},li=t(r(),1),ui=`1.0.0`;function di(){let e=ui;if(typeof e!=`string`||e.length===0)throw Error(`Package manager package metadata must include a string version.`);return`^${e}`}const fi=di();var pi=class extends Dt{yarnManager;registryService;localInstaller;dependencyResolver;frameworkPeerRange;frameworkPackagePath;constructor(e,t,n={}){super(e),this.yarnManager=n.yarnManager??new Jr(t),this.registryService=n.registryService??new ci,this.localInstaller=n.localInstaller??new Wr(I.join(t,`extensions`)),this.frameworkPeerRange=n.frameworkPeerRange??fi,this.frameworkPackagePath=n.frameworkPackagePath;let r=n.devPortalPackages?.size?new si(this.yarnManager,n.devPortalPackages):this.yarnManager;this.dependencyResolver=n.dependencyResolver??new ni(r,new oi(this.registryService))}async onInit(){await this.yarnManager.initialize(),console.info(`[PackageManagerService] Initialized`),this.registerPackageHandlers(),this.registerRegistryHandlers()}normalizePackageName(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}validatePackageNamePayload(e,t){return this.normalizePackageName(e)||(t(),null)}createInvalidPackageNameResult(e){return e?{success:!1,packageName:``,latestVersion:e.latestVersion,error:`Invalid packageName`}:{success:!1,packageName:``,error:`Invalid packageName`,restartRequired:!1}}async emitInstalled(e,t){try{await this.bus.emit(H.installed,{packageName:e,version:t})}catch(e){console.error(`[PackageManagerService] installed emit failed:`,e)}}async emitUninstalled(e){try{await this.bus.emit(H.uninstalled,{packageName:e})}catch(e){console.error(`[PackageManagerService] uninstalled emit failed:`,e)}}registerPackageHandlers(){this.registerListHandler(),this.registerInstallHandler(),this.registerUninstallHandler()}registerListHandler(){this.registerHandler(H.list,async e=>{try{let[t,n]=await Promise.all([this.yarnManager.listPackages(),this.localInstaller.list()]),r=[...t,...n.map(e=>({name:e.name,version:e.version,hasDescriptor:!0,...e.serverImportPath!==void 0&&{serverImportPath:e.serverImportPath}}))];e.setResult({packages:r})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] List failed:`,n),e.setResult({packages:[]})}})}async ensureFrameworkPeer(){try{await this.yarnManager.ensureFrameworkDependency({versionRange:this.frameworkPeerRange,...this.frameworkPackagePath?{localPackagePath:this.frameworkPackagePath}:{}})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to ensure @makaio/framework dependency ${this.frameworkPeerRange}: ${t}`,{cause:e})}}async installNpmPackages(e,t){let n=await this.yarnManager.readManifestSnapshot(),r;try{await this.ensureFrameworkPeer(),r=await this.dependencyResolver.resolve(e,{force:t,snapshot:null})}catch(e){try{await this.yarnManager.writeManifestAndReinstall(n)}catch(t){let n=e instanceof Error?e.message:String(e);throw AggregateError([e,t],`Package install failed and rollback failed: ${n}`)}throw e}for(let e of r.installed)e.source!==`already-present`&&await this.emitInstalled(e.npmName,e.version);let i=r.installed[0];return{success:!0,packageName:i?.npmName??e[0]??``,version:i?.version,restartRequired:!0,installed:[...r.installed],skipped:[...r.skipped],warnings:[...r.warnings]}}registerInstallHandler(){this.registerHandler(H.install,async e=>{let t=e.payload.packageNames??(e.payload.packageName===void 0?[]:[e.payload.packageName]),n=t.map(e=>this.normalizePackageName(e)).filter(e=>e!==null);if(n.length!==t.length||n.length===0){e.setResult(this.createInvalidPackageNameResult());return}let r;if(e.payload.source!==void 0)r={kind:e.payload.source};else{let t=n.map(e=>ti(e));r=t[0];let i=t.find(e=>e.kind!==r.kind);if(i){e.setResult({success:!1,packageName:``,error:`Cannot mix install sources: ${r.kind} and ${i.kind}`,restartRequired:!1});return}}if(r.kind===`git`){e.setResult({success:!1,packageName:n[0],error:`Git URL installs are not yet supported`,restartRequired:!1});return}if(r.kind===`local`){if(n.length>1){e.setResult({success:!1,packageName:``,error:`Local installs only support a single path`,restartRequired:!1});return}let t=await this.localInstaller.install(n[0]);t.success&&await this.emitInstalled(t.packageName,t.version??`unknown`),e.setResult(t);return}try{e.setResult(await this.installNpmPackages(n,e.payload.force))}catch(t){let r=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Install failed:`,r),e.setResult({success:!1,packageName:n[0]??``,error:r,restartRequired:!1})}})}registerUninstallHandler(){this.registerHandler(H.uninstall,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult())});if(t){if((await this.localInstaller.list()).find(e=>e.name===t)){let n=await this.localInstaller.uninstall(t);n.success&&await this.emitUninstalled(t),e.setResult(n);return}try{await this.yarnManager.uninstallPackage(t),await this.emitUninstalled(t),e.setResult({success:!0,packageName:t,restartRequired:!0})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Uninstall failed:`,r),e.setResult({success:!1,packageName:t,error:r,restartRequired:!1})}}})}registerRegistryHandlers(){this.registerHandler(H.getLatestVersion,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult({latestVersion:`unknown`}))});if(t)try{let n=await this.yarnManager.getLatestVersion(t);e.setResult({success:!0,packageName:t,latestVersion:n})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Version check failed:`,r),e.setResult({success:!1,packageName:t,latestVersion:`unknown`,error:r})}}),this.registerHandler(H.getRegistry,async e=>{try{let t=await this.registryService.getRegistry();e.setResult(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Registry fetch failed:`,n),e.setResult({$schema:`makaio/package-registry/v1`,updatedAt:new Date().toISOString(),adapters:[],extensions:[]})}}),this.registerHandler(H.checkUpdates,async e=>{try{let t=await this.checkForUpdates();e.setResult({updates:t})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Update check failed:`,n),e.setResult({updates:[]})}})}async checkForUpdates(){try{let e=await this.yarnManager.listPackages(),t=[];return await Promise.all(e.map(async e=>{try{let n=await this.yarnManager.getLatestVersion(e.name);li.valid(e.version)&&li.valid(n)&&li.gt(n,e.version)&&t.push({name:e.name,currentVersion:e.version,latestVersion:n,description:e.description})}catch(t){console.warn(`[PackageManagerService] Failed to check updates for %s:`,e.name,t)}})),console.info(`[PackageManagerService] Found %d package updates`,t.length),t}catch(e){throw Error(`Failed to check for updates`,{cause:e})}}};function mi(e={}){return{name:`makaio.package-manager`,displayName:`Package Manager`,version:`0.1.0`,critical:!0,namespaces:[zr],create:t=>new pi(t.bus,t.makaioHome,{registryService:e.registryService,dependencyResolver:e.dependencyResolver,frameworkPeerRange:e.frameworkPeerRange,frameworkPackagePath:e.frameworkPackagePath,devPortalPackages:e.devPortalPackages})}}function hi(e){return{filter:e=>!!e.http,async processActivated(t,n){e.add({owner:t,phase:`extension`,mount:e=>n.http.mount(e)})},async processStopped(t){e.remove(t)}}}const gi={resolve(e,t){return!e&&!t?null:e?t?e.updatedAt>t.updatedAt?e:t:e:t}};function _i(e){return{scope:e.scope,surface:e.surface??`any`,context:e.context??`any`,viewport:e.viewport??`any`}}function vi(e){return{scope:e.scope,surface:e.surface===`any`?void 0:e.surface,context:e.context===`any`?void 0:e.context,viewport:e.viewport===`any`?void 0:e.viewport}}function yi(e,t){return[`makaio:prefs`,e.scope,e.surface||`any`,e.context||`any`,e.viewport||`any`,t].join(`:`)}function bi(e){return typeof e==`object`&&!!e&&`value`in e&&`updatedAt`in e&&typeof e.value==`string`&&typeof e.updatedAt==`number`}function xi(e){try{let t=JSON.parse(e);return bi(t)?t:{value:JSON.stringify(t),updatedAt:0}}catch{return null}}const Si=Mt(`preferences`,e=>({scope:e.text(`scope`).notNull(),surface:e.text(`surface`).notNull().default(`any`),context:e.text(`context`).notNull().default(`any`),viewport:e.text(`viewport`).notNull().default(`any`),category:e.text(`category`).notNull(),value:e.text(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[Ot(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)],postgres:e=>[kt(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)]}),Ci=Si.sqlite,wi=Si.postgres,Ti=jt({preferences:Ci},{preferences:wi});function Ei(e,t,n){let r=[];return n!==void 0&&r.push(z(e.category,n)),t&&(t.scope!==void 0&&r.push(z(e.scope,t.scope)),t.surface!==void 0&&r.push(z(e.surface,t.surface)),t.context!==void 0&&r.push(z(e.context,t.context)),t.viewport!==void 0&&r.push(z(e.viewport,t.viewport))),r}async function Di(e,t,n){let{preferences:r}=zt(e,Ti),i=Ei(r,t,n);return(i.length>0?await e.select().from(r).where(Ht(...i)):await e.select().from(r)).map(e=>{let t;try{t=JSON.parse(e.value)}catch{t=null}let n=Rn.safeParse(t);return{key:vi(e),category:e.category,value:n.success?n.data:null,updatedAt:e.updatedAt}})}async function Oi(e,t,n){let{preferences:r}=zt(e,Ti),i=_i(t),[a]=await e.select().from(r).where(Ht(z(r.scope,i.scope),z(r.surface,i.surface),z(r.context,i.context),z(r.viewport,i.viewport),z(r.category,n))).limit(1);return a}var ki=class{db;conflictResolver;constructor(e){this.db=e.db,this.conflictResolver=e.conflictResolver??gi}async get(e,t){let n=await this.readFromDb(e,t),r=this.readFromLocalStorage(e,t),i=r?.updatedAt===0?r:null;!n&&r&&!i&&this.removeFromLocalStorage(e,t);let a=this.conflictResolver.resolve(i,n);if(!a)return null;let o;try{o=JSON.parse(a.value)}catch{return null}let s=Rn.safeParse(o);return s.success?(await this.syncResolvedPreference(e,t,a,r,n),s.data):null}async set(e,t,n){let r=Date.now(),i=JSON.stringify(n??null);this.writeToLocalStorage(e,t,{value:i,updatedAt:r}),await this.writeToDb(e,t,i,r)}async delete(e,t){this.removeFromLocalStorage(e,t),await this.deleteFromDb(e,t)}async list(e,t){return Di(this.db,e,t)}async writeToDb(e,t,n,r){let{preferences:i}=zt(this.db,Ti),a=_i(e);await this.db.insert(i).values({...a,category:t,value:n,updatedAt:r}).onConflictDoUpdate({target:[i.scope,i.surface,i.context,i.viewport,i.category],set:{value:n,updatedAt:r}})}readFromLocalStorage(e,t){let n=yi(e,t),r=globalThis.localStorage?.getItem(n);return r?xi(r):null}writeToLocalStorage(e,t,n){let r=yi(e,t);try{globalThis.localStorage?.setItem(r,JSON.stringify(n))}catch(e){console.warn(`[StorageCoordinator] localStorage write failed:`,e)}}removeFromLocalStorage(e,t){let n=yi(e,t);try{globalThis.localStorage?.removeItem(n)}catch(e){console.warn(`[StorageCoordinator] localStorage delete failed:`,e)}}async syncResolvedPreference(e,t,n,r,i){this.isSameStoredPreference(n,i)||await this.writeToDb(e,t,n.value,n.updatedAt),r&&!this.isSameStoredPreference(n,r)&&this.writeToLocalStorage(e,t,n)}isSameStoredPreference(e,t){return!e||!t?!1:e.value===t.value&&e.updatedAt===t.updatedAt}async readFromDb(e,t){let n=await Oi(this.db,e,t);return n?{value:n.value,updatedAt:n.updatedAt}:null}async deleteFromDb(e,t){let{preferences:n}=zt(this.db,Ti),r=_i(e);await this.db.delete(n).where(Ht(z(n.scope,r.scope),z(n.surface,r.surface),z(n.context,r.context),z(n.viewport,r.viewport),z(n.category,t)))}};function Ai(e,t,n){let r=new ki({db:t}),i=e.on(zn.get,async e=>{let{key:t,category:n}=e.payload,i=await r.get(t,n);e.setResult({value:i})}),a=e.on(zn.set,async e=>{let{key:t,category:n,value:i}=e.payload;await r.set(t,n,i),e.setResult({success:!0})}),o=e.on(zn.delete,async e=>{let{key:t,category:n}=e.payload;await r.delete(t,n),e.setResult({success:!0})}),s=e.on(zn.list,async e=>{let{key:t,category:n}=e.payload,i=await r.list(t,n);e.setResult({items:i})});return()=>{i(),a(),o(),s()}}const ji={name:`preferences-storage`,displayName:`Preferences Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:Lt(Ai)}};function Mi(e,t){let n=new Map;for(let[r,i]of e)t.has(r)&&n.set(r,i);return n}function Ni(...e){let t=new Map;for(let n of e)for(let[e,r]of n)t.set(e,{...t.get(e)??{},...r});return t}function Pi(e,t){let n=[e.on(it.get,async e=>{let n=await t.getConfig();e.setResult({config:n})}),e.on(it.update,async e=>{let n=rt.parse(e.payload.config),r=await t.prepareConfigForPersistence(n);await t.saveConfig(r),e.setResult({success:!0})})];return()=>{for(let e of n)e()}}var W=n((e=>{let t=Symbol.for(`yaml.alias`),n=Symbol.for(`yaml.document`),r=Symbol.for(`yaml.map`),i=Symbol.for(`yaml.pair`),a=Symbol.for(`yaml.scalar`),o=Symbol.for(`yaml.seq`),s=Symbol.for(`yaml.node.type`),c=e=>!!e&&typeof e==`object`&&e[s]===t,l=e=>!!e&&typeof e==`object`&&e[s]===n,u=e=>!!e&&typeof e==`object`&&e[s]===r,d=e=>!!e&&typeof e==`object`&&e[s]===i,f=e=>!!e&&typeof e==`object`&&e[s]===a,p=e=>!!e&&typeof e==`object`&&e[s]===o;function m(e){if(e&&typeof e==`object`)switch(e[s]){case r:case o:return!0}return!1}function h(e){if(e&&typeof e==`object`)switch(e[s]){case t:case r:case a:case o:return!0}return!1}e.ALIAS=t,e.DOC=n,e.MAP=r,e.NODE_TYPE=s,e.PAIR=i,e.SCALAR=a,e.SEQ=o,e.hasAnchor=e=>(f(e)||m(e))&&!!e.anchor,e.isAlias=c,e.isCollection=m,e.isDocument=l,e.isMap=u,e.isNode=h,e.isPair=d,e.isScalar=f,e.isSeq=p})),Fi=n((e=>{var t=W();let n=Symbol(`break visit`),r=Symbol(`skip children`),i=Symbol(`remove node`);function a(e,n){let r=l(n);t.isDocument(e)?o(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):o(null,e,r,Object.freeze([]))}a.BREAK=n,a.SKIP=r,a.REMOVE=i;function o(e,r,a,s){let c=u(e,r,a,s);if(t.isNode(c)||t.isPair(c))return d(e,s,c),o(e,c,a,s);if(typeof c!=`symbol`){if(t.isCollection(r)){s=Object.freeze(s.concat(r));for(let e=0;e<r.items.length;++e){let t=o(e,r.items[e],a,s);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){s=Object.freeze(s.concat(r));let e=o(`key`,r.key,a,s);if(e===n)return n;e===i&&(r.key=null);let t=o(`value`,r.value,a,s);if(t===n)return n;t===i&&(r.value=null)}}return c}async function s(e,n){let r=l(n);t.isDocument(e)?await c(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):await c(null,e,r,Object.freeze([]))}s.BREAK=n,s.SKIP=r,s.REMOVE=i;async function c(e,r,a,o){let s=await u(e,r,a,o);if(t.isNode(s)||t.isPair(s))return d(e,o,s),c(e,s,a,o);if(typeof s!=`symbol`){if(t.isCollection(r)){o=Object.freeze(o.concat(r));for(let e=0;e<r.items.length;++e){let t=await c(e,r.items[e],a,o);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){o=Object.freeze(o.concat(r));let e=await c(`key`,r.key,a,o);if(e===n)return n;e===i&&(r.key=null);let t=await c(`value`,r.value,a,o);if(t===n)return n;t===i&&(r.value=null)}}return s}function l(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function u(e,n,r,i){if(typeof r==`function`)return r(e,n,i);if(t.isMap(n))return r.Map?.(e,n,i);if(t.isSeq(n))return r.Seq?.(e,n,i);if(t.isPair(n))return r.Pair?.(e,n,i);if(t.isScalar(n))return r.Scalar?.(e,n,i);if(t.isAlias(n))return r.Alias?.(e,n,i)}function d(e,n,r){let i=n[n.length-1];if(t.isCollection(i))i.items[e]=r;else if(t.isPair(i))e===`key`?i.key=r:i.value=r;else if(t.isDocument(i))i.contents=r;else{let e=t.isAlias(i)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}e.visit=a,e.visitAsync=s})),Ii=n((e=>{var t=W(),n=Fi();let r={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},i=e=>e.replace(/[!,[\]{}]/g,e=>r[e]);var a=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+i(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],i=Object.entries(this.tags),a;if(e&&i.length>0&&t.isNode(e.contents)){let r={};n.visit(e.contents,(e,n)=>{t.isNode(n)&&n.tag&&(r[n.tag]=!0)}),a=Object.keys(r)}else a=[];for(let[t,n]of i)t===`!!`&&n===`tag:yaml.org,2002:`||(!e||a.some(e=>e.startsWith(n)))&&r.push(`%TAG ${t} ${n}`);return r.join(`
|
|
5
|
-
`)}};a.defaultYaml={explicit:!1,version:`1.2`},a.defaultTags={"!!":`tag:yaml.org,2002:`},e.Directives=a})),Li=n((e=>{var t=
|
|
3
|
+
`).trimEnd()}\n`}function ei(e){if(typeof e!=`object`||!e||!(`code`in e))return!1;let t=e.code;return t===`ENOENT`||t===`ENOTDIR`}function ti(e){if(e.startsWith(`git+`))return{kind:`git`,raw:e,resolved:e};let t=e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`);if(e.startsWith(`~`)&&!t)throw Error(`Unsupported home-relative path syntax: ${e}`);return e.startsWith(`.`)||L.isAbsolute(e)||L.win32.isAbsolute(e)||t?{kind:`local`,raw:e,resolved:t?L.resolve(Wt.homedir(),e===`~`?`.`:e.slice(2)):L.resolve(e)}:{kind:`npm`,raw:e,resolved:e}}var ni=class{packages;names;constructor(e,t){this.packages=e,this.names=t}async resolve(e,t={}){let n=t.snapshot!==null,r=n?t.snapshot===void 0?await this.packages.readManifestSnapshot():t.snapshot:null;try{return await this.runBfs(e,t.force===!0)}catch(e){if(n)try{await this.packages.writeManifestAndReinstall(r)}catch(t){throw AggregateError([e,t],`Dependency resolution failed and rollback failed: ${ai(e)}`)}throw e}}async runBfs(e,t){let n=await this.readInstalledIndex(),r=e.map(e=>{let t=ii(e),n=ri(t.npmName);return{npmName:t.npmName,...n?{expectedDescriptorName:n}:{},...t.requiredRange?{requiredRange:t.requiredRange}:{},optional:!1,path:[t.npmName],root:!0}}),i=new Set,a=[],o=[],s=[];for(;r.length>0;){let e=r.shift(),s=i.has(e.npmName),c=n.byNpmName.get(e.npmName);if(s){if(c&&this.assertDescriptorMatches(e,c.descriptor),c&&this.descriptorRangeSatisfied(c.descriptor,e.requiredRange))continue;if(!c)throw Error(`Package ${e.npmName} was resolved but is missing from the installed index`)}if(c&&this.assertDescriptorMatches(e,c.descriptor),c&&this.shouldUseCurrentDescriptor(c.descriptor,e)){a.push({npmName:e.npmName,version:c.version,source:`already-present`}),await this.enqueueDependencies(r,e,c.descriptor),i.add(e.npmName);continue}let l=Yr(e.npmName,e.requiredRange),u,d;try{u=await this.packages.installPackage(l);let r=await this.packages.readInstalledExtensionDescriptor(e.npmName);if(!r)throw Error(`Installed package ${e.npmName} does not contain a valid descriptor.json`);this.assertDescriptorMatches(e,r),this.assertDescriptorVersionSatisfies(e,r),await this.assertDependentsCompatible(e.npmName,r.version,n,t),d=r}catch(t){if(e.optional){o.push({npmName:e.npmName,reason:t instanceof Error?t.message:String(t)});continue}throw t}a.push({npmName:e.npmName,version:u,source:c?`upgraded`:`new`}),c={npmName:e.npmName,version:u,descriptor:d},n.byNpmName.set(e.npmName,c),await this.enqueueDependencies(r,e,d),i.add(e.npmName)}return{installed:a,skipped:o,warnings:s}}async readInstalledIndex(){let e=await this.packages.listInstalledExtensionDescriptors();return{byNpmName:new Map(e.map(e=>[e.npmName,e]))}}descriptorRangeSatisfied(e,t){return t===void 0||pt(e.version,t)}shouldUseCurrentDescriptor(e,t){return t.root&&t.requiredRange===void 0?!1:this.descriptorRangeSatisfied(e,t.requiredRange)}assertDescriptorMatches(e,t){if(!(e.expectedDescriptorName===void 0||t.name===e.expectedDescriptorName))throw Error(`Installed package ${e.npmName} declares descriptor name "${t.name}", expected "${e.expectedDescriptorName}"`)}assertDescriptorVersionSatisfies(e,t){if(!this.descriptorRangeSatisfied(t,e.requiredRange))throw Error(`Installed package ${e.npmName} descriptor version ${t.version} does not satisfy ${t.name} ${e.requiredRange}`)}async assertDependentsCompatible(e,t,n,r){if(r)return;let i=[];for(let r of n.byNpmName.values())for(let n of r.descriptor.dependencies??[])await this.names.resolveNpmPackageName(n.name)===e&&!pt(t,n.version)&&i.push(`${r.npmName} requires ${n.name} ${n.version}`);if(i.length>0)throw Error(`Cannot install ${e}; existing dependencies would be violated:\n${i.join(`
|
|
4
|
+
`)}`)}async enqueueDependencies(e,t,n){for(let r of n.dependencies??[]){let n=await this.names.resolveNpmPackageName(r.name);if(t.path.includes(n))throw Error(`Circular dependency detected: ${[...t.path,n].join(` -> `)}`);e.push({npmName:n,expectedDescriptorName:r.name,requiredRange:r.version,optional:r.optional===!0,path:[...t.path,n],root:!1})}}};function ri(e){return e.startsWith(`@`)?void 0:e}function ii(e){let t=Xr(e);if(t.length===e.length)return{npmName:t};let n=e.slice(t.length+1);return n===`latest`?{npmName:t}:{npmName:t,requiredRange:n}}function ai(e){return e instanceof Error?e.message:String(e)}var oi=class{registryClient;lookupMapPromise=null;constructor(e){this.registryClient=e}async resolveNpmPackageName(e){if(e.startsWith(`@`))return e;let t;try{t=await this.getLookupMap()}catch(t){throw Error(`Cannot resolve descriptor name "${e}": package registry is unavailable`,{cause:t})}return t.get(e)||`@makaio/${e}`}getLookupMap(){if(this.lookupMapPromise)return this.lookupMapPromise;let e=this.registryClient.getRegistry().then(e=>{let t=new Map;for(let n of[...e.adapters,...e.extensions])n.descriptorName&&t.set(n.descriptorName,n.name);return t}).catch(t=>{throw this.lookupMapPromise===e&&(this.lookupMapPromise=null),t});return this.lookupMapPromise=e,this.lookupMapPromise}},si=class{inner;portalMap;constructor(e,t){this.inner=e,this.portalMap=t}async installPackage(e){let t=Xr(e),n=this.portalMap.get(t);if(n!==void 0){let e=`${t}@portal:${Qr(n)}`;return this.inner.installPackage(e)}return this.inner.installPackage(e)}readInstalledExtensionDescriptor(e){return this.inner.readInstalledExtensionDescriptor(e)}listInstalledExtensionDescriptors(){return this.inner.listInstalledExtensionDescriptors()}readManifestSnapshot(){return this.inner.readManifestSnapshot()}writeManifestAndReinstall(e){return this.inner.writeManifestAndReinstall(e)}},ci=class{cache=null;inFlightFetch=null;registryUrl;cacheTtlMs;fetchTimeoutMs;fetchImpl;constructor(e={}){this.registryUrl=e.registryUrl??`https://raw.githubusercontent.com/makaio-ai/makaio/develop/registry/packages.json`,this.cacheTtlMs=e.cacheTtlMs??36e5,this.fetchTimeoutMs=e.fetchTimeoutMs??1e4,this.fetchImpl=e.fetchImpl??fetch}async getRegistry(){if(this.cache&&Date.now()-this.cache.timestamp<this.cacheTtlMs)return this.cache.data;this.inFlightFetch??=this.fetchAndCacheRegistry();try{return await this.inFlightFetch}finally{this.inFlightFetch=null}}async fetchAndCacheRegistry(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.fetchTimeoutMs);try{let t=await this.fetchImpl(this.registryUrl,{signal:e.signal});if(!t.ok)throw Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.json(),r=Lr.parse(n);return this.cache={data:r,timestamp:Date.now()},r}catch(e){let t=e instanceof Error?e:Error(String(e));throw Error(`Failed to fetch package registry`,{cause:t})}finally{clearTimeout(t)}}clearCache(){this.cache=null}},li=t(r(),1),ui=`1.0.0`;function di(){let e=ui;if(typeof e!=`string`||e.length===0)throw Error(`Package manager package metadata must include a string version.`);return`^${e}`}const fi=di();var pi=class extends Dt{yarnManager;registryService;localInstaller;dependencyResolver;frameworkPeerRange;frameworkPackagePath;constructor(e,t,n={}){super(e),this.yarnManager=n.yarnManager??new Jr(t),this.registryService=n.registryService??new ci,this.localInstaller=n.localInstaller??new Wr(L.join(t,`extensions`)),this.frameworkPeerRange=n.frameworkPeerRange??fi,this.frameworkPackagePath=n.frameworkPackagePath;let r=n.devPortalPackages?.size?new si(this.yarnManager,n.devPortalPackages):this.yarnManager;this.dependencyResolver=n.dependencyResolver??new ni(r,new oi(this.registryService))}async onInit(){await this.yarnManager.initialize(),console.info(`[PackageManagerService] Initialized`),this.registerPackageHandlers(),this.registerRegistryHandlers()}normalizePackageName(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}validatePackageNamePayload(e,t){return this.normalizePackageName(e)||(t(),null)}createInvalidPackageNameResult(e){return e?{success:!1,packageName:``,latestVersion:e.latestVersion,error:`Invalid packageName`}:{success:!1,packageName:``,error:`Invalid packageName`,restartRequired:!1}}async emitInstalled(e,t){try{await this.bus.emit(U.installed,{packageName:e,version:t})}catch(e){console.error(`[PackageManagerService] installed emit failed:`,e)}}async emitUninstalled(e){try{await this.bus.emit(U.uninstalled,{packageName:e})}catch(e){console.error(`[PackageManagerService] uninstalled emit failed:`,e)}}registerPackageHandlers(){this.registerListHandler(),this.registerInstallHandler(),this.registerUninstallHandler()}registerListHandler(){this.registerHandler(U.list,async e=>{try{let[t,n]=await Promise.all([this.yarnManager.listPackages(),this.localInstaller.list()]),r=[...t,...n.map(e=>({name:e.name,version:e.version,hasDescriptor:!0,...e.serverImportPath!==void 0&&{serverImportPath:e.serverImportPath}}))];e.setResult({packages:r})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] List failed:`,n),e.setResult({packages:[]})}})}async ensureFrameworkPeer(){try{await this.yarnManager.ensureFrameworkDependency({versionRange:this.frameworkPeerRange,...this.frameworkPackagePath?{localPackagePath:this.frameworkPackagePath}:{}})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to ensure @makaio/framework dependency ${this.frameworkPeerRange}: ${t}`,{cause:e})}}async installNpmPackages(e,t){let n=await this.yarnManager.readManifestSnapshot(),r;try{await this.ensureFrameworkPeer(),r=await this.dependencyResolver.resolve(e,{force:t,snapshot:null})}catch(e){try{await this.yarnManager.writeManifestAndReinstall(n)}catch(t){let n=e instanceof Error?e.message:String(e);throw AggregateError([e,t],`Package install failed and rollback failed: ${n}`)}throw e}for(let e of r.installed)e.source!==`already-present`&&await this.emitInstalled(e.npmName,e.version);let i=r.installed[0];return{success:!0,packageName:i?.npmName??e[0]??``,version:i?.version,restartRequired:!0,installed:[...r.installed],skipped:[...r.skipped],warnings:[...r.warnings]}}registerInstallHandler(){this.registerHandler(U.install,async e=>{let t=e.payload.packageNames??(e.payload.packageName===void 0?[]:[e.payload.packageName]),n=t.map(e=>this.normalizePackageName(e)).filter(e=>e!==null);if(n.length!==t.length||n.length===0){e.setResult(this.createInvalidPackageNameResult());return}let r;if(e.payload.source!==void 0)r={kind:e.payload.source};else{let t=n.map(e=>ti(e));r=t[0];let i=t.find(e=>e.kind!==r.kind);if(i){e.setResult({success:!1,packageName:``,error:`Cannot mix install sources: ${r.kind} and ${i.kind}`,restartRequired:!1});return}}if(r.kind===`git`){e.setResult({success:!1,packageName:n[0],error:`Git URL installs are not yet supported`,restartRequired:!1});return}if(r.kind===`local`){if(n.length>1){e.setResult({success:!1,packageName:``,error:`Local installs only support a single path`,restartRequired:!1});return}let t=await this.localInstaller.install(n[0]);t.success&&await this.emitInstalled(t.packageName,t.version??`unknown`),e.setResult(t);return}try{e.setResult(await this.installNpmPackages(n,e.payload.force))}catch(t){let r=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Install failed:`,r),e.setResult({success:!1,packageName:n[0]??``,error:r,restartRequired:!1})}})}registerUninstallHandler(){this.registerHandler(U.uninstall,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult())});if(t){if((await this.localInstaller.list()).find(e=>e.name===t)){let n=await this.localInstaller.uninstall(t);n.success&&await this.emitUninstalled(t),e.setResult(n);return}try{await this.yarnManager.uninstallPackage(t),await this.emitUninstalled(t),e.setResult({success:!0,packageName:t,restartRequired:!0})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Uninstall failed:`,r),e.setResult({success:!1,packageName:t,error:r,restartRequired:!1})}}})}registerRegistryHandlers(){this.registerHandler(U.getLatestVersion,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult({latestVersion:`unknown`}))});if(t)try{let n=await this.yarnManager.getLatestVersion(t);e.setResult({success:!0,packageName:t,latestVersion:n})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Version check failed:`,r),e.setResult({success:!1,packageName:t,latestVersion:`unknown`,error:r})}}),this.registerHandler(U.getRegistry,async e=>{try{let t=await this.registryService.getRegistry();e.setResult(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Registry fetch failed:`,n),e.setResult({$schema:`makaio/package-registry/v1`,updatedAt:new Date().toISOString(),adapters:[],extensions:[]})}}),this.registerHandler(U.checkUpdates,async e=>{try{let t=await this.checkForUpdates();e.setResult({updates:t})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Update check failed:`,n),e.setResult({updates:[]})}})}async checkForUpdates(){try{let e=await this.yarnManager.listPackages(),t=[];return await Promise.all(e.map(async e=>{try{let n=await this.yarnManager.getLatestVersion(e.name);li.valid(e.version)&&li.valid(n)&&li.gt(n,e.version)&&t.push({name:e.name,currentVersion:e.version,latestVersion:n,description:e.description})}catch(t){console.warn(`[PackageManagerService] Failed to check updates for %s:`,e.name,t)}})),console.info(`[PackageManagerService] Found %d package updates`,t.length),t}catch(e){throw Error(`Failed to check for updates`,{cause:e})}}};function mi(e={}){return{name:`makaio.package-manager`,displayName:`Package Manager`,version:`0.1.0`,critical:!0,namespaces:[zr],create:t=>new pi(t.bus,t.makaioHome,{registryService:e.registryService,dependencyResolver:e.dependencyResolver,frameworkPeerRange:e.frameworkPeerRange,frameworkPackagePath:e.frameworkPackagePath,devPortalPackages:e.devPortalPackages})}}function hi(e){return{filter:e=>!!e.http,async processActivated(t,n){e.add({owner:t,phase:`extension`,mount:e=>n.http.mount(e)})},async processStopped(t){e.remove(t)}}}const gi={resolve(e,t){return!e&&!t?null:e?t?e.updatedAt>t.updatedAt?e:t:e:t}};function _i(e){return{scope:e.scope,surface:e.surface??`any`,context:e.context??`any`,viewport:e.viewport??`any`}}function vi(e){return{scope:e.scope,surface:e.surface===`any`?void 0:e.surface,context:e.context===`any`?void 0:e.context,viewport:e.viewport===`any`?void 0:e.viewport}}function yi(e,t){return[`makaio:prefs`,e.scope,e.surface||`any`,e.context||`any`,e.viewport||`any`,t].join(`:`)}function bi(e){return typeof e==`object`&&!!e&&`value`in e&&`updatedAt`in e&&typeof e.value==`string`&&typeof e.updatedAt==`number`}function xi(e){try{let t=JSON.parse(e);return bi(t)?t:{value:JSON.stringify(t),updatedAt:0}}catch{return null}}const Si=Mt(`preferences`,e=>({scope:e.text(`scope`).notNull(),surface:e.text(`surface`).notNull().default(`any`),context:e.text(`context`).notNull().default(`any`),viewport:e.text(`viewport`).notNull().default(`any`),category:e.text(`category`).notNull(),value:e.text(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[Ot(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)],postgres:e=>[kt(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)]}),Ci=Si.sqlite,wi=Si.postgres,Ti=jt({preferences:Ci},{preferences:wi});function Ei(e,t,n){let r=[];return n!==void 0&&r.push(B(e.category,n)),t&&(t.scope!==void 0&&r.push(B(e.scope,t.scope)),t.surface!==void 0&&r.push(B(e.surface,t.surface)),t.context!==void 0&&r.push(B(e.context,t.context)),t.viewport!==void 0&&r.push(B(e.viewport,t.viewport))),r}async function Di(e,t,n){let{preferences:r}=zt(e,Ti),i=Ei(r,t,n);return(i.length>0?await e.select().from(r).where(Ht(...i)):await e.select().from(r)).map(e=>{let t;try{t=JSON.parse(e.value)}catch{t=null}let n=Rn.safeParse(t);return{key:vi(e),category:e.category,value:n.success?n.data:null,updatedAt:e.updatedAt}})}async function Oi(e,t,n){let{preferences:r}=zt(e,Ti),i=_i(t),[a]=await e.select().from(r).where(Ht(B(r.scope,i.scope),B(r.surface,i.surface),B(r.context,i.context),B(r.viewport,i.viewport),B(r.category,n))).limit(1);return a}var ki=class{db;conflictResolver;constructor(e){this.db=e.db,this.conflictResolver=e.conflictResolver??gi}async get(e,t){let n=await this.readFromDb(e,t),r=this.readFromLocalStorage(e,t),i=r?.updatedAt===0?r:null;!n&&r&&!i&&this.removeFromLocalStorage(e,t);let a=this.conflictResolver.resolve(i,n);if(!a)return null;let o;try{o=JSON.parse(a.value)}catch{return null}let s=Rn.safeParse(o);return s.success?(await this.syncResolvedPreference(e,t,a,r,n),s.data):null}async set(e,t,n){let r=Date.now(),i=JSON.stringify(n??null);this.writeToLocalStorage(e,t,{value:i,updatedAt:r}),await this.writeToDb(e,t,i,r)}async delete(e,t){this.removeFromLocalStorage(e,t),await this.deleteFromDb(e,t)}async list(e,t){return Di(this.db,e,t)}async writeToDb(e,t,n,r){let{preferences:i}=zt(this.db,Ti),a=_i(e);await this.db.insert(i).values({...a,category:t,value:n,updatedAt:r}).onConflictDoUpdate({target:[i.scope,i.surface,i.context,i.viewport,i.category],set:{value:n,updatedAt:r}})}readFromLocalStorage(e,t){let n=yi(e,t),r=globalThis.localStorage?.getItem(n);return r?xi(r):null}writeToLocalStorage(e,t,n){let r=yi(e,t);try{globalThis.localStorage?.setItem(r,JSON.stringify(n))}catch(e){console.warn(`[StorageCoordinator] localStorage write failed:`,e)}}removeFromLocalStorage(e,t){let n=yi(e,t);try{globalThis.localStorage?.removeItem(n)}catch(e){console.warn(`[StorageCoordinator] localStorage delete failed:`,e)}}async syncResolvedPreference(e,t,n,r,i){this.isSameStoredPreference(n,i)||await this.writeToDb(e,t,n.value,n.updatedAt),r&&!this.isSameStoredPreference(n,r)&&this.writeToLocalStorage(e,t,n)}isSameStoredPreference(e,t){return!e||!t?!1:e.value===t.value&&e.updatedAt===t.updatedAt}async readFromDb(e,t){let n=await Oi(this.db,e,t);return n?{value:n.value,updatedAt:n.updatedAt}:null}async deleteFromDb(e,t){let{preferences:n}=zt(this.db,Ti),r=_i(e);await this.db.delete(n).where(Ht(B(n.scope,r.scope),B(n.surface,r.surface),B(n.context,r.context),B(n.viewport,r.viewport),B(n.category,t)))}};function Ai(e,t,n){let r=new ki({db:t}),i=e.on(zn.get,async e=>{let{key:t,category:n}=e.payload,i=await r.get(t,n);e.setResult({value:i})}),a=e.on(zn.set,async e=>{let{key:t,category:n,value:i}=e.payload;await r.set(t,n,i),e.setResult({success:!0})}),o=e.on(zn.delete,async e=>{let{key:t,category:n}=e.payload;await r.delete(t,n),e.setResult({success:!0})}),s=e.on(zn.list,async e=>{let{key:t,category:n}=e.payload,i=await r.list(t,n);e.setResult({items:i})});return()=>{i(),a(),o(),s()}}const ji={name:`preferences-storage`,displayName:`Preferences Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:Lt(Ai)}};function Mi(e,t){let n=new Map;for(let[r,i]of e)t.has(r)&&n.set(r,i);return n}function Ni(...e){let t=new Map;for(let n of e)for(let[e,r]of n)t.set(e,{...t.get(e)??{},...r});return t}function Pi(e,t){let n=[e.on(it.get,async e=>{let n=await t.getConfig();e.setResult({config:n})}),e.on(it.update,async e=>{let n=rt.parse(e.payload.config),r=await t.prepareConfigForPersistence(n);await t.saveConfig(r),e.setResult({success:!0})})];return()=>{for(let e of n)e()}}var G=n((e=>{let t=Symbol.for(`yaml.alias`),n=Symbol.for(`yaml.document`),r=Symbol.for(`yaml.map`),i=Symbol.for(`yaml.pair`),a=Symbol.for(`yaml.scalar`),o=Symbol.for(`yaml.seq`),s=Symbol.for(`yaml.node.type`),c=e=>!!e&&typeof e==`object`&&e[s]===t,l=e=>!!e&&typeof e==`object`&&e[s]===n,u=e=>!!e&&typeof e==`object`&&e[s]===r,d=e=>!!e&&typeof e==`object`&&e[s]===i,f=e=>!!e&&typeof e==`object`&&e[s]===a,p=e=>!!e&&typeof e==`object`&&e[s]===o;function m(e){if(e&&typeof e==`object`)switch(e[s]){case r:case o:return!0}return!1}function h(e){if(e&&typeof e==`object`)switch(e[s]){case t:case r:case a:case o:return!0}return!1}e.ALIAS=t,e.DOC=n,e.MAP=r,e.NODE_TYPE=s,e.PAIR=i,e.SCALAR=a,e.SEQ=o,e.hasAnchor=e=>(f(e)||m(e))&&!!e.anchor,e.isAlias=c,e.isCollection=m,e.isDocument=l,e.isMap=u,e.isNode=h,e.isPair=d,e.isScalar=f,e.isSeq=p})),Fi=n((e=>{var t=G();let n=Symbol(`break visit`),r=Symbol(`skip children`),i=Symbol(`remove node`);function a(e,n){let r=l(n);t.isDocument(e)?o(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):o(null,e,r,Object.freeze([]))}a.BREAK=n,a.SKIP=r,a.REMOVE=i;function o(e,r,a,s){let c=u(e,r,a,s);if(t.isNode(c)||t.isPair(c))return d(e,s,c),o(e,c,a,s);if(typeof c!=`symbol`){if(t.isCollection(r)){s=Object.freeze(s.concat(r));for(let e=0;e<r.items.length;++e){let t=o(e,r.items[e],a,s);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){s=Object.freeze(s.concat(r));let e=o(`key`,r.key,a,s);if(e===n)return n;e===i&&(r.key=null);let t=o(`value`,r.value,a,s);if(t===n)return n;t===i&&(r.value=null)}}return c}async function s(e,n){let r=l(n);t.isDocument(e)?await c(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):await c(null,e,r,Object.freeze([]))}s.BREAK=n,s.SKIP=r,s.REMOVE=i;async function c(e,r,a,o){let s=await u(e,r,a,o);if(t.isNode(s)||t.isPair(s))return d(e,o,s),c(e,s,a,o);if(typeof s!=`symbol`){if(t.isCollection(r)){o=Object.freeze(o.concat(r));for(let e=0;e<r.items.length;++e){let t=await c(e,r.items[e],a,o);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){o=Object.freeze(o.concat(r));let e=await c(`key`,r.key,a,o);if(e===n)return n;e===i&&(r.key=null);let t=await c(`value`,r.value,a,o);if(t===n)return n;t===i&&(r.value=null)}}return s}function l(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function u(e,n,r,i){if(typeof r==`function`)return r(e,n,i);if(t.isMap(n))return r.Map?.(e,n,i);if(t.isSeq(n))return r.Seq?.(e,n,i);if(t.isPair(n))return r.Pair?.(e,n,i);if(t.isScalar(n))return r.Scalar?.(e,n,i);if(t.isAlias(n))return r.Alias?.(e,n,i)}function d(e,n,r){let i=n[n.length-1];if(t.isCollection(i))i.items[e]=r;else if(t.isPair(i))e===`key`?i.key=r:i.value=r;else if(t.isDocument(i))i.contents=r;else{let e=t.isAlias(i)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}e.visit=a,e.visitAsync=s})),Ii=n((e=>{var t=G(),n=Fi();let r={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},i=e=>e.replace(/[!,[\]{}]/g,e=>r[e]);var a=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+i(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],i=Object.entries(this.tags),a;if(e&&i.length>0&&t.isNode(e.contents)){let r={};n.visit(e.contents,(e,n)=>{t.isNode(n)&&n.tag&&(r[n.tag]=!0)}),a=Object.keys(r)}else a=[];for(let[t,n]of i)t===`!!`&&n===`tag:yaml.org,2002:`||(!e||a.some(e=>e.startsWith(n)))&&r.push(`%TAG ${t} ${n}`);return r.join(`
|
|
5
|
+
`)}};a.defaultYaml={explicit:!1,version:`1.2`},a.defaultTags={"!!":`tag:yaml.org,2002:`},e.Directives=a})),Li=n((e=>{var t=G(),n=Fi();function r(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function i(e){let t=new Set;return n.visit(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function a(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function o(e,n){let r=[],o=new Map,s=null;return{onAnchor:t=>{r.push(t),s??=i(e);let o=a(n,s);return s.add(o),o},setAnchors:()=>{for(let e of r){let n=o.get(e);if(typeof n==`object`&&n.anchor&&(t.isScalar(n.node)||t.isCollection(n.node)))n.node.anchor=n.anchor;else{let t=Error(`Failed to resolve repeated object (this should not happen)`);throw t.source=e,t}}},sourceObjects:o}}e.anchorIsValid=r,e.anchorNames=i,e.createNodeAnchors=o,e.findNewAnchor=a})),Ri=n((e=>{function t(e,n,r,i){if(i&&typeof i==`object`)if(Array.isArray(i))for(let n=0,r=i.length;n<r;++n){let r=i[n],a=t(e,i,String(n),r);a===void 0?delete i[n]:a!==r&&(i[n]=a)}else if(i instanceof Map)for(let n of Array.from(i.keys())){let r=i.get(n),a=t(e,i,n,r);a===void 0?i.delete(n):a!==r&&i.set(n,a)}else if(i instanceof Set)for(let n of Array.from(i)){let r=t(e,i,n,n);r===void 0?i.delete(n):r!==n&&(i.delete(n),i.add(r))}else for(let[n,r]of Object.entries(i)){let a=t(e,i,n,r);a===void 0?delete i[n]:a!==r&&(i[n]=a)}return e.call(n,r,i)}e.applyReviver=t})),K=n((e=>{var t=G();function n(e,r,i){if(Array.isArray(e))return e.map((e,t)=>n(e,String(t),i));if(e&&typeof e.toJSON==`function`){if(!i||!t.hasAnchor(e))return e.toJSON(r,i);let n={aliasCount:0,count:1,res:void 0};i.anchors.set(e,n),i.onCreate=e=>{n.res=e,delete i.onCreate};let a=e.toJSON(r,i);return i.onCreate&&i.onCreate(a),a}return typeof e==`bigint`&&!i?.keep?Number(e):e}e.toJS=n})),zi=n((e=>{var t=Ri(),n=G(),r=K();e.NodeBase=class{constructor(e){Object.defineProperty(this,n.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:i,maxAliasCount:a,onAnchor:o,reviver:s}={}){if(!n.isDocument(e))throw TypeError(`A document argument is required`);let c={anchors:new Map,doc:e,keep:!0,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof a==`number`?a:100},l=r.toJS(this,``,c);if(typeof o==`function`)for(let{count:e,res:t}of c.anchors.values())o(t,e);return typeof s==`function`?t.applyReviver(s,{"":l},``,l):l}}})),Bi=n((e=>{var t=Li(),n=Fi(),r=G(),i=zi(),a=K(),o=class extends i.NodeBase{constructor(e){super(r.ALIAS),this.source=e,Object.defineProperty(this,`tag`,{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let i;t?.aliasResolveCache?i=t.aliasResolveCache:(i=[],n.visit(e,{Node:(e,t)=>{(r.isAlias(t)||r.hasAnchor(t))&&i.push(t)}}),t&&(t.aliasResolveCache=i));let a;for(let e of i){if(e===this)break;e.anchor===this.source&&(a=e)}return a}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,o=this.resolve(r,t);if(!o){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}let c=n.get(o);if(c||=(a.toJS(o,null,t),n.get(o)),c?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(c.count+=1,c.aliasCount===0&&(c.aliasCount=s(r,o,n)),c.count*c.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`);return c.res}toString(e,n,r){let i=`*${this.source}`;if(e){if(t.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${i} `}return i}};function s(e,t,n){if(r.isAlias(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(r.isCollection(t)){let r=0;for(let i of t.items){let t=s(e,i,n);t>r&&(r=t)}return r}else if(r.isPair(t)){let r=s(e,t.key,n),i=s(e,t.value,n);return Math.max(r,i)}return 1}e.Alias=o})),q=n((e=>{var t=G(),n=zi(),r=K();let i=e=>!e||typeof e!=`function`&&typeof e!=`object`;var a=class extends n.NodeBase{constructor(e){super(t.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:r.toJS(this.value,e,t)}toString(){return String(this.value)}};a.BLOCK_FOLDED=`BLOCK_FOLDED`,a.BLOCK_LITERAL=`BLOCK_LITERAL`,a.PLAIN=`PLAIN`,a.QUOTE_DOUBLE=`QUOTE_DOUBLE`,a.QUOTE_SINGLE=`QUOTE_SINGLE`,e.Scalar=a,e.isScalarValue=i})),Vi=n((e=>{var t=Bi(),n=G(),r=q();function i(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function a(e,a,o){if(n.isDocument(e)&&(e=e.contents),n.isNode(e))return e;if(n.isPair(e)){let t=o.schema[n.MAP].createNode?.(o.schema,null,o);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:s,onAnchor:c,onTagObj:l,schema:u,sourceObjects:d}=o,f;if(s&&e&&typeof e==`object`){if(f=d.get(e),f)return f.anchor??=c(e),new t.Alias(f.anchor);f={anchor:null,node:null},d.set(e,f)}a?.startsWith(`!!`)&&(a=`tag:yaml.org,2002:`+a.slice(2));let p=i(e,a,u.tags);if(!p){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new r.Scalar(e);return f&&(f.node=t),t}p=e instanceof Map?u[n.MAP]:Symbol.iterator in Object(e)?u[n.SEQ]:u[n.MAP]}l&&(l(p),delete o.onTagObj);let m=p?.createNode?p.createNode(o.schema,e,o):typeof p?.nodeClass?.from==`function`?p.nodeClass.from(o.schema,e,o):new r.Scalar(e);return a?m.tag=a:p.default||(m.tag=p.tag),f&&(f.node=m),m}e.createNode=a})),Hi=n((e=>{var t=Vi(),n=G(),r=zi();function i(e,n,r){let i=r;for(let e=n.length-1;e>=0;--e){let t=n[e];if(typeof t==`number`&&Number.isInteger(t)&&t>=0){let e=[];e[t]=i,i=e}else i=new Map([[t,i]])}return t.createNode(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}let a=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done;e.Collection=class extends r.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,`schema`,{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>n.isNode(t)||n.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(a(e))this.add(t);else{let[r,...a]=e,o=this.get(r,!0);if(n.isCollection(o))o.addIn(a,t);else if(o===void 0&&this.schema)this.set(r,i(this.schema,a,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${a}`)}}deleteIn(e){let[t,...r]=e;if(r.length===0)return this.delete(t);let i=this.get(t,!0);if(n.isCollection(i))return i.deleteIn(r);throw Error(`Expected YAML collection at ${t}. Remaining path: ${r}`)}getIn(e,t){let[r,...i]=e,a=this.get(r,!0);return i.length===0?!t&&n.isScalar(a)?a.value:a:n.isCollection(a)?a.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!n.isPair(t))return!1;let r=t.value;return r==null||e&&n.isScalar(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[t,...r]=e;if(r.length===0)return this.has(t);let i=this.get(t,!0);return n.isCollection(i)?i.hasIn(r):!1}setIn(e,t){let[r,...a]=e;if(a.length===0)this.set(r,t);else{let e=this.get(r,!0);if(n.isCollection(e))e.setIn(a,t);else if(e===void 0&&this.schema)this.set(r,i(this.schema,a,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${a}`)}}},e.collectionFromPath=i,e.isEmptyPath=a})),Ui=n((e=>{let t=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function n(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}e.indentComment=n,e.lineComment=(e,t,r)=>e.endsWith(`
|
|
6
6
|
`)?n(r,t):r.includes(`
|
|
7
7
|
`)?`
|
|
8
8
|
`+n(r,t):(e.endsWith(` `)?``:` `)+r,e.stringifyComment=t})),Wi=n((e=>{let t=`block`,n=`quoted`;function r(e,r,a=`flow`,{indentAtStart:o,lineWidth:s=80,minContentWidth:c=20,onFold:l,onOverflow:u}={}){if(!s||s<0)return e;s<c&&(c=0);let d=Math.max(1+c,1+s-r.length);if(e.length<=d)return e;let f=[],p={},m=s-r.length;typeof o==`number`&&(o>s-Math.max(2,c)?f.push(0):m=s-o);let h,g,_=!1,v=-1,y=-1,b=-1;a===t&&(v=i(e,v,r.length),v!==-1&&(m=v+d));for(let o;o=e[v+=1];){if(a===n&&o===`\\`){switch(y=v,e[v+1]){case`x`:v+=3;break;case`u`:v+=5;break;case`U`:v+=9;break;default:v+=1}b=v}if(o===`
|
|
9
9
|
`)a===t&&(v=i(e,v,r.length)),m=v+r.length+d,h=void 0;else{if(o===` `&&g&&g!==` `&&g!==`
|
|
10
10
|
`&&g!==` `){let t=e[v+1];t&&t!==` `&&t!==`
|
|
11
11
|
`&&t!==` `&&(h=v)}if(v>=m)if(h)f.push(h),m=h+d,h=void 0;else if(a===n){for(;g===` `||g===` `;)g=o,o=e[v+=1],_=!0;let t=v>b+1?v-2:y-1;if(p[t])return e;f.push(t),p[t]=!0,m=t+d,h=void 0}else _=!0}g=o}if(_&&u&&u(),f.length===0)return e;l&&l();let x=e.slice(0,f[0]);for(let t=0;t<f.length;++t){let i=f[t],o=f[t+1]||e.length;i===0?x=`\n${r}${e.slice(0,o)}`:(a===n&&p[i]&&(x+=`${e[i]}\\`),x+=`\n${r}${e.slice(i+1,o)}`)}return x}function i(e,t,n){let r=t,i=t+1,a=e[i];for(;a===` `||a===` `;)if(t<i+n)a=e[++t];else{do a=e[++t];while(a&&a!==`
|
|
12
|
-
`);r=t,i=t+1,a=e[i]}return r}e.FOLD_BLOCK=t,e.FOLD_FLOW=`flow`,e.FOLD_QUOTED=n,e.foldFlowLines=r})),Gi=n((e=>{var t=
|
|
12
|
+
`);r=t,i=t+1,a=e[i]}return r}e.FOLD_BLOCK=t,e.FOLD_FLOW=`flow`,e.FOLD_QUOTED=n,e.foldFlowLines=r})),Gi=n((e=>{var t=q(),n=Wi();let r=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),i=e=>/^(%|---|\.\.\.)/m.test(e);function a(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;t<i;++t)if(e[t]===`
|
|
13
13
|
`){if(t-n>r)return!0;if(n=t+1,i-n<=r)return!1}return!0}function o(e,t){let a=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return a;let{implicitKey:o}=t,s=t.options.doubleQuotedMinMultiLineLength,c=t.indent||(i(e)?` `:``),l=``,u=0;for(let e=0,t=a[e];t;t=a[++e])if(t===` `&&a[e+1]===`\\`&&a[e+2]===`n`&&(l+=a.slice(u,e)+`\\ `,e+=1,u=e,t=`\\`),t===`\\`)switch(a[e+1]){case`u`:{l+=a.slice(u,e);let t=a.substr(e+2,4);switch(t){case`0000`:l+=`\\0`;break;case`0007`:l+=`\\a`;break;case`000b`:l+=`\\v`;break;case`001b`:l+=`\\e`;break;case`0085`:l+=`\\N`;break;case`00a0`:l+=`\\_`;break;case`2028`:l+=`\\L`;break;case`2029`:l+=`\\P`;break;default:t.substr(0,2)===`00`?l+=`\\x`+t.substr(2):l+=a.substr(e,6)}e+=5,u=e+1}break;case`n`:if(o||a[e+2]===`"`||a.length<s)e+=1;else{for(l+=a.slice(u,e)+`
|
|
14
14
|
|
|
15
15
|
`;a[e+2]===`\\`&&a[e+3]===`n`&&a[e+4]!==`"`;)l+=`
|
|
@@ -27,29 +27,29 @@ import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../se
|
|
|
27
27
|
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\n+/g,`$&${g}`),i=!1,a=r(u,!0);p!==`folded`&&o!==t.Scalar.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let c=n.foldFlowLines(`${T}${e}${b}`,g,n.FOLD_BLOCK,a);if(!i)return`>${E}\n${g}${c}`}return s=s.replace(/\n+/g,`$&${g}`),`|${E}\n${g}${T}${s}${b}`}function d(e,a,o,s){let{type:l,value:d}=e,{actualString:f,implicitKey:p,indent:m,indentStep:h,inFlow:g}=a;if(p&&d.includes(`
|
|
28
28
|
`)||g&&/[[\]{},]/.test(d))return c(d,a);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(d))return p||g||!d.includes(`
|
|
29
29
|
`)?c(d,a):u(e,a,o,s);if(!p&&!g&&l!==t.Scalar.PLAIN&&d.includes(`
|
|
30
|
-
`))return u(e,a,o,s);if(i(d)){if(m===``)return a.forceBlockIndent=!0,u(e,a,o,s);if(p&&m===h)return c(d,a)}let _=d.replace(/\n+/g,`$&\n${m}`);if(f){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(_),{compat:t,tags:n}=a.doc.schema;if(n.some(e)||t?.some(e))return c(d,a)}return p?_:n.foldFlowLines(_,m,n.FOLD_FLOW,r(a,!1))}function f(e,n,r,i){let{implicitKey:a,inFlow:l}=n,f=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:p}=e;p!==t.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(f.value)&&(p=t.Scalar.QUOTE_DOUBLE);let m=e=>{switch(e){case t.Scalar.BLOCK_FOLDED:case t.Scalar.BLOCK_LITERAL:return a||l?c(f.value,n):u(f,n,r,i);case t.Scalar.QUOTE_DOUBLE:return o(f.value,n);case t.Scalar.QUOTE_SINGLE:return s(f.value,n);case t.Scalar.PLAIN:return d(f,n,r,i);default:return null}},h=m(p);if(h===null){let{defaultKeyType:e,defaultStringType:t}=n.options,r=a&&e||t;if(h=m(r),h===null)throw Error(`Unsupported default string type ${r}`)}return h}e.stringifyString=f})),Ki=n((e=>{var t=Li(),n=
|
|
30
|
+
`))return u(e,a,o,s);if(i(d)){if(m===``)return a.forceBlockIndent=!0,u(e,a,o,s);if(p&&m===h)return c(d,a)}let _=d.replace(/\n+/g,`$&\n${m}`);if(f){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(_),{compat:t,tags:n}=a.doc.schema;if(n.some(e)||t?.some(e))return c(d,a)}return p?_:n.foldFlowLines(_,m,n.FOLD_FLOW,r(a,!1))}function f(e,n,r,i){let{implicitKey:a,inFlow:l}=n,f=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:p}=e;p!==t.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(f.value)&&(p=t.Scalar.QUOTE_DOUBLE);let m=e=>{switch(e){case t.Scalar.BLOCK_FOLDED:case t.Scalar.BLOCK_LITERAL:return a||l?c(f.value,n):u(f,n,r,i);case t.Scalar.QUOTE_DOUBLE:return o(f.value,n);case t.Scalar.QUOTE_SINGLE:return s(f.value,n);case t.Scalar.PLAIN:return d(f,n,r,i);default:return null}},h=m(p);if(h===null){let{defaultKeyType:e,defaultStringType:t}=n.options,r=a&&e||t;if(h=m(r),h===null)throw Error(`Unsupported default string type ${r}`)}return h}e.stringifyString=f})),Ki=n((e=>{var t=Li(),n=G(),r=Ui(),i=Gi();function a(e,t){let n=Object.assign({blockQuote:!0,commentString:r.stringifyComment,defaultKeyType:null,defaultStringType:`PLAIN`,directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:`false`,flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:`null`,simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:`true`,verifyAliasOrder:!0},e.schema.toStringOptions,t),i;switch(n.collectionStyle){case`block`:i=!1;break;case`flow`:i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?` `:``,indent:``,indentStep:typeof n.indent==`number`?` `.repeat(n.indent):` `,inFlow:i,options:n}}function o(e,t){if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}let r,i;if(n.isScalar(t)){i=t.value;let n=e.filter(e=>e.identify?.(i));if(n.length>1){let e=n.filter(e=>e.test);e.length>0&&(n=e)}r=n.find(e=>e.format===t.format)??n.find(e=>!e.format)}else i=t,r=e.find(e=>e.nodeClass&&i instanceof e.nodeClass);if(!r){let e=i?.constructor?.name??(i===null?`null`:typeof i);throw Error(`Tag not resolved for ${e} value`)}return r}function s(e,r,{anchors:i,doc:a}){if(!a.directives)return``;let o=[],s=(n.isScalar(e)||n.isCollection(e))&&e.anchor;s&&t.anchorIsValid(s)&&(i.add(s),o.push(`&${s}`));let c=e.tag??(r.default?null:r.tag);return c&&o.push(a.directives.tagString(c)),o.join(` `)}function c(e,t,r,a){if(n.isPair(e))return e.toString(t,r,a);if(n.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(`Cannot stringify circular structure without alias nodes`);t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let c,l=n.isNode(e)?e:t.doc.createNode(e,{onTagObj:e=>c=e});c??=o(t.doc.schema.tags,l);let u=s(l,c,t);u.length>0&&(t.indentAtStart=(t.indentAtStart??0)+u.length+1);let d=typeof c.stringify==`function`?c.stringify(l,t,r,a):n.isScalar(l)?i.stringifyString(l,t,r,a):l.toString(t,r,a);return u?n.isScalar(l)||d[0]===`{`||d[0]===`[`?`${u} ${d}`:`${u}\n${t.indent}${d}`:d}e.createStringifyContext=a,e.stringify=c})),qi=n((e=>{var t=G(),n=q(),r=Ki(),i=Ui();function a({key:e,value:a},o,s,c){let{allNullValues:l,doc:u,indent:d,indentStep:f,options:{commentString:p,indentSeq:m,simpleKeys:h}}=o,g=t.isNode(e)&&e.comment||null;if(h){if(g)throw Error(`With simple keys, key nodes cannot have comments`);if(t.isCollection(e)||!t.isNode(e)&&typeof e==`object`)throw Error(`With simple keys, collection cannot be used as a key value`)}let _=!h&&(!e||g&&a==null&&!o.inFlow||t.isCollection(e)||(t.isScalar(e)?e.type===n.Scalar.BLOCK_FOLDED||e.type===n.Scalar.BLOCK_LITERAL:typeof e==`object`));o=Object.assign({},o,{allNullValues:!1,implicitKey:!_&&(h||!l),indent:d+f});let v=!1,y=!1,b=r.stringify(e,o,()=>v=!0,()=>y=!0);if(!_&&!o.inFlow&&b.length>1024){if(h)throw Error(`With simple keys, single line scalar must not span more than 1024 characters`);_=!0}if(o.inFlow){if(l||a==null)return v&&s&&s(),b===``?`?`:_?`? ${b}`:b}else if(l&&!h||a==null&&_)return b=`? ${b}`,g&&!v?b+=i.lineComment(b,o.indent,p(g)):y&&c&&c(),b;v&&(g=null),_?(g&&(b+=i.lineComment(b,o.indent,p(g))),b=`? ${b}\n${d}:`):(b=`${b}:`,g&&(b+=i.lineComment(b,o.indent,p(g))));let x,S,C;t.isNode(a)?(x=!!a.spaceBefore,S=a.commentBefore,C=a.comment):(x=!1,S=null,C=null,a&&typeof a==`object`&&(a=u.createNode(a))),o.implicitKey=!1,!_&&!g&&t.isScalar(a)&&(o.indentAtStart=b.length+1),y=!1,!m&&f.length>=2&&!o.inFlow&&!_&&t.isSeq(a)&&!a.flow&&!a.tag&&!a.anchor&&(o.indent=o.indent.substring(2));let w=!1,T=r.stringify(a,o,()=>w=!0,()=>y=!0),E=` `;if(g||x||S){if(E=x?`
|
|
31
31
|
`:``,S){let e=p(S);E+=`\n${i.indentComment(e,o.indent)}`}T===``&&!o.inFlow?E===`
|
|
32
32
|
`&&C&&(E=`
|
|
33
33
|
|
|
34
34
|
`):E+=`\n${o.indent}`}else if(!_&&t.isCollection(a)){let e=T[0],t=T.indexOf(`
|
|
35
35
|
`),n=t!==-1,r=o.inFlow??a.flow??a.items.length===0;if(n||!r){let r=!1;if(n&&(e===`&`||e===`!`)){let n=T.indexOf(` `);e===`&`&&n!==-1&&n<t&&T[n+1]===`!`&&(n=T.indexOf(` `,n+1)),(n===-1||t<n)&&(r=!0)}r||(E=`\n${o.indent}`)}}else (T===``||T[0]===`
|
|
36
|
-
`)&&(E=``);return b+=E+T,o.inFlow?w&&s&&s():C&&!w?b+=i.lineComment(b,o.indent,p(C)):y&&c&&c(),b}e.stringifyPair=a})),Ji=n((t=>{var n=e(`process`);function r(e,...t){e===`debug`&&console.log(...t)}function i(e,t){(e===`debug`||e===`warn`)&&(typeof n.emitWarning==`function`?n.emitWarning(t):console.warn(t))}t.debug=r,t.warn=i})),Yi=n((e=>{var t=
|
|
36
|
+
`)&&(E=``);return b+=E+T,o.inFlow?w&&s&&s():C&&!w?b+=i.lineComment(b,o.indent,p(C)):y&&c&&c(),b}e.stringifyPair=a})),Ji=n((t=>{var n=e(`process`);function r(e,...t){e===`debug`&&console.log(...t)}function i(e,t){(e===`debug`||e===`warn`)&&(typeof n.emitWarning==`function`?n.emitWarning(t):console.warn(t))}t.debug=r,t.warn=i})),Yi=n((e=>{var t=G(),n=q();let r={identify:e=>e===`<<`||typeof e==`symbol`&&e.description===`<<`,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new n.Scalar(Symbol(`<<`)),{addToJSMap:a}),stringify:()=>`<<`},i=(e,i)=>(r.identify(i)||t.isScalar(i)&&(!i.type||i.type===n.Scalar.PLAIN)&&r.identify(i.value))&&e?.doc.schema.tags.some(e=>e.tag===r.tag&&e.default);function a(e,n,r){let i=s(e,r);if(t.isSeq(i))for(let t of i.items)o(e,n,t);else if(Array.isArray(i))for(let t of i)o(e,n,t);else o(e,n,i)}function o(e,n,r){let i=s(e,r);if(!t.isMap(i))throw Error(`Merge sources must be maps or map aliases`);let a=i.toJSON(null,e,Map);for(let[e,t]of a)n instanceof Map?n.has(e)||n.set(e,t):n instanceof Set?n.add(e):Object.prototype.hasOwnProperty.call(n,e)||Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0});return n}function s(e,n){return e&&t.isAlias(n)?n.resolve(e.doc,e):n}e.addMergeToJSMap=a,e.isMergeKey=i,e.merge=r})),Xi=n((e=>{var t=Ji(),n=Yi(),r=Ki(),i=G(),a=K();function o(e,t,{key:r,value:o}){if(i.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,o);else if(n.isMergeKey(e,r))n.addMergeToJSMap(e,t,o);else{let n=a.toJS(r,``,e);if(t instanceof Map)t.set(n,a.toJS(o,n,e));else if(t instanceof Set)t.add(n);else{let i=s(r,n,e),c=a.toJS(o,i,e);i in t?Object.defineProperty(t,i,{value:c,writable:!0,enumerable:!0,configurable:!0}):t[i]=c}}return t}function s(e,n,a){if(n===null)return``;if(typeof n!=`object`)return String(n);if(i.isNode(e)&&a?.doc){let n=r.createStringifyContext(a.doc,{});n.anchors=new Set;for(let e of a.anchors.keys())n.anchors.add(e.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=e.toString(n);if(!a.mapKeyWarned){let e=JSON.stringify(i);e.length>40&&(e=e.substring(0,36)+`..."`),t.warn(a.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),a.mapKeyWarned=!0}return i}return JSON.stringify(n)}e.addPairToJSMap=o})),J=n((e=>{var t=Vi(),n=qi(),r=Xi(),i=G();function a(e,n,r){return new o(t.createNode(e,void 0,r),t.createNode(n,void 0,r))}var o=class e{constructor(e,t=null){Object.defineProperty(this,i.NODE_TYPE,{value:i.PAIR}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return i.isNode(n)&&(n=n.clone(t)),i.isNode(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){let n=t?.mapAsMap?new Map:{};return r.addPairToJSMap(t,n,this)}toString(e,t,r){return e?.doc?n.stringifyPair(this,e,t,r):JSON.stringify(this)}};e.Pair=o,e.createPair=a})),Zi=n((e=>{var t=G(),n=Ki(),r=Ui();function i(e,t,n){return(t.inFlow??e.flow?o:a)(e,t,n)}function a({comment:e,items:i},a,{blockItemPrefix:o,flowChars:c,itemIndent:l,onChompKeep:u,onComment:d}){let{indent:f,options:{commentString:p}}=a,m=Object.assign({},a,{indent:l,type:null}),h=!1,g=[];for(let e=0;e<i.length;++e){let c=i[e],u=null;if(t.isNode(c))!h&&c.spaceBefore&&g.push(``),s(a,g,c.commentBefore,h),c.comment&&(u=c.comment);else if(t.isPair(c)){let e=t.isNode(c.key)?c.key:null;e&&(!h&&e.spaceBefore&&g.push(``),s(a,g,e.commentBefore,h))}h=!1;let d=n.stringify(c,m,()=>u=null,()=>h=!0);u&&(d+=r.lineComment(d,l,p(u))),h&&u&&(h=!1),g.push(o+d)}let _;if(g.length===0)_=c.start+c.end;else{_=g[0];for(let e=1;e<g.length;++e){let t=g[e];_+=t?`\n${f}${t}`:`
|
|
37
37
|
`}}return e?(_+=`
|
|
38
38
|
`+r.indentComment(p(e),f),d&&d()):h&&u&&u(),_}function o({items:e},i,{flowChars:a,itemIndent:o}){let{indent:c,indentStep:l,flowCollectionPadding:u,options:{commentString:d}}=i;o+=l;let f=Object.assign({},i,{indent:o,inFlow:!0,type:null}),p=!1,m=0,h=[];for(let a=0;a<e.length;++a){let c=e[a],l=null;if(t.isNode(c))c.spaceBefore&&h.push(``),s(i,h,c.commentBefore,!1),c.comment&&(l=c.comment);else if(t.isPair(c)){let e=t.isNode(c.key)?c.key:null;e&&(e.spaceBefore&&h.push(``),s(i,h,e.commentBefore,!1),e.comment&&(p=!0));let n=t.isNode(c.value)?c.value:null;n?(n.comment&&(l=n.comment),n.commentBefore&&(p=!0)):c.value==null&&e?.comment&&(l=e.comment)}l&&(p=!0);let u=n.stringify(c,f,()=>l=null);p||=h.length>m||u.includes(`
|
|
39
39
|
`),a<e.length-1?u+=`,`:i.options.trailingComma&&(i.options.lineWidth>0&&(p||=h.reduce((e,t)=>e+t.length+2,2)+(u.length+2)>i.options.lineWidth),p&&(u+=`,`)),l&&(u+=r.lineComment(u,o,d(l))),h.push(u),m=h.length}let{start:g,end:_}=a;if(h.length===0)return g+_;if(!p){let e=h.reduce((e,t)=>e+t.length+2,2);p=i.options.lineWidth>0&&e>i.options.lineWidth}if(p){let e=g;for(let t of h)e+=t?`\n${l}${c}${t}`:`
|
|
40
|
-
`;return`${e}\n${c}${_}`}else return`${g}${u}${h.join(` `)}${u}${_}`}function s({indent:e,options:{commentString:t}},n,i,a){if(i&&a&&(i=i.replace(/^\n+/,``)),i){let a=r.indentComment(t(i),e);n.push(a.trimStart())}}e.stringifyCollection=i})),
|
|
41
|
-
`:` `)}return i.stringifyString({comment:e,type:t,value:u},o,s,c)}}})),oa=n((e=>{var t=W(),n=q(),r=K(),i=X();function a(e,i){if(t.isSeq(e))for(let a=0;a<e.items.length;++a){let o=e.items[a];if(!t.isPair(o)){if(t.isMap(o)){o.items.length>1&&i(`Each pair must have its own sequence indicator`);let e=o.items[0]||new n.Pair(new r.Scalar(null));if(o.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${o.commentBefore}\n${e.key.commentBefore}`:o.commentBefore),o.comment){let t=e.value??e.key;t.comment=t.comment?`${o.comment}\n${t.comment}`:o.comment}o=e}e.items[a]=t.isPair(o)?o:new n.Pair(o)}}else i(`Expected a sequence for this tag`);return e}function o(e,t,r){let{replacer:a}=r,o=new i.YAMLSeq(e);o.tag=`tag:yaml.org,2002:pairs`;let s=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof a==`function`&&(e=a.call(t,String(s++),e));let i,c;if(Array.isArray(e))if(e.length===2)i=e[0],c=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)i=t[0],c=e[i];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else i=e;o.items.push(n.createPair(i,c,r))}return o}let s={collection:`seq`,default:!1,tag:`tag:yaml.org,2002:pairs`,resolve:a,createNode:o};e.createPairs=o,e.pairs=s,e.resolvePairs=a})),sa=n((e=>{var t=W(),n=G(),r=J(),i=X(),a=oa(),o=class e extends i.YAMLSeq{constructor(){super(),this.add=r.YAMLMap.prototype.add.bind(this),this.delete=r.YAMLMap.prototype.delete.bind(this),this.get=r.YAMLMap.prototype.get.bind(this),this.has=r.YAMLMap.prototype.has.bind(this),this.set=r.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(e,r){if(!r)return super.toJSON(e);let i=new Map;r?.onCreate&&r.onCreate(i);for(let e of this.items){let a,o;if(t.isPair(e)?(a=n.toJS(e.key,``,r),o=n.toJS(e.value,a,r)):a=n.toJS(e,``,r),i.has(a))throw Error(`Ordered maps must not include duplicate keys`);i.set(a,o)}return i}static from(e,t,n){let r=a.createPairs(e,t,n),i=new this;return i.items=r.items,i}};o.tag=`tag:yaml.org,2002:omap`;let s={collection:`seq`,identify:e=>e instanceof Map,nodeClass:o,default:!1,tag:`tag:yaml.org,2002:omap`,resolve(e,n){let r=a.resolvePairs(e,n),i=[];for(let{key:e}of r.items)t.isScalar(e)&&(i.includes(e.value)?n(`Ordered maps must not include duplicate keys: ${e.value}`):i.push(e.value));return Object.assign(new o,r)},createNode:(e,t,n)=>o.from(e,t,n)};e.YAMLOMap=o,e.omap=s})),ca=n((e=>{var t=K();function n({value:e,source:t},n){return t&&(e?r:i).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}let r={identify:e=>e===!0,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new t.Scalar(!0),stringify:n},i={identify:e=>e===!1,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new t.Scalar(!1),stringify:n};e.falseTag=i,e.trueTag=r})),la=n((e=>{var t=K(),n=Q();let r={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:n.stringifyNumber};e.float={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let n=new t.Scalar(parseFloat(e.replace(/_/g,``))),r=e.indexOf(`.`);if(r!==-1){let t=e.substring(r+1).replace(/_/g,``);t[t.length-1]===`0`&&(n.minFractionDigits=t.length)}return n},stringify:n.stringifyNumber},e.floatExp={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,``)),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():n.stringifyNumber(e)}},e.floatNaN=r})),ua=n((e=>{var t=Q();let n=e=>typeof e==`bigint`||Number.isInteger(e);function r(e,t,n,{intAsBigInt:r}){let i=e[0];if((i===`-`||i===`+`)&&(t+=1),e=e.substring(t).replace(/_/g,``),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let t=BigInt(e);return i===`-`?BigInt(-1)*t:t}let a=parseInt(e,n);return i===`-`?-1*a:a}function i(e,r,i){let{value:a}=e;if(n(a)){let e=a.toString(r);return a<0?`-`+i+e.substr(1):i+e}return t.stringifyNumber(e)}let a={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`BIN`,test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>r(e,2,2,n),stringify:e=>i(e,2,`0b`)},o={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>r(e,1,8,n),stringify:e=>i(e,8,`0`)},s={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>r(e,0,10,n),stringify:t.stringifyNumber},c={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>r(e,2,16,n),stringify:e=>i(e,16,`0x`)};e.int=s,e.intBin=a,e.intHex=c,e.intOct=o})),da=n((e=>{var t=W(),n=q(),r=J(),i=class e extends r.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(e){let i;i=t.isPair(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new n.Pair(e.key,null):new n.Pair(e,null),r.findPair(this.items,i.key)||this.items.push(i)}get(e,n){let i=r.findPair(this.items,e);return!n&&t.isPair(i)?t.isScalar(i.key)?i.key.value:i.key:i}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let i=r.findPair(this.items,e);i&&!t?this.items.splice(this.items.indexOf(i),1):!i&&t&&this.items.push(new n.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,r){let{replacer:i}=r,a=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof i==`function`&&(e=i.call(t,e,e)),a.items.push(n.createPair(e,null,r));return a}};i.tag=`tag:yaml.org,2002:set`;let a={collection:`map`,identify:e=>e instanceof Set,nodeClass:i,default:!1,tag:`tag:yaml.org,2002:set`,createNode:(e,t,n)=>i.from(e,t,n),resolve(e,n){if(t.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new i,e);n(`Set items must all have null values`)}else n(`Expected a mapping for this tag`);return e}};e.YAMLSet=i,e.set=a})),fa=n((e=>{var t=Q();function n(e,t){let n=e[0],r=n===`-`||n===`+`?e.substring(1):e,i=e=>t?BigInt(e):Number(e),a=r.replace(/_/g,``).split(`:`).reduce((e,t)=>e*i(60)+i(t),i(0));return n===`-`?i(-1)*a:a}function r(e){let{value:n}=e,r=e=>e;if(typeof n==`bigint`)r=e=>BigInt(e);else if(isNaN(n)||!isFinite(n))return t.stringifyNumber(e);let i=``;n<0&&(i=`-`,n*=r(-1));let a=r(60),o=[n%a];return n<60?o.unshift(0):(n=(n-o[0])/a,o.unshift(n%a),n>=60&&(n=(n-o[0])/a,o.unshift(n))),i+o.map(e=>String(e).padStart(2,`0`)).join(`:`).replace(/000000\d*$/,``)}let i={identify:e=>typeof e==`bigint`||Number.isInteger(e),default:!0,tag:`tag:yaml.org,2002:int`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>n(e,r),stringify:r},a={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>n(e,!1),stringify:r},o={identify:e=>e instanceof Date,default:!0,tag:`tag:yaml.org,2002:timestamp`,test:RegExp(`^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$`),resolve(e){let t=e.match(o.test);if(!t)throw Error(`!!timestamp expects a date, starting with yyyy-mm-dd`);let[,r,i,a,s,c,l]=t.map(Number),u=t[7]?Number((t[7]+`00`).substr(1,3)):0,d=Date.UTC(r,i-1,a,s||0,c||0,l||0,u),f=t[8];if(f&&f!==`Z`){let e=n(f,!1);Math.abs(e)<30&&(e*=60),d-=6e4*e}return new Date(d)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,``)??``};e.floatTime=a,e.intTime=i,e.timestamp=o})),pa=n((e=>{var t=Y(),n=$i(),r=Z(),i=Qi(),a=aa(),o=ca(),s=la(),c=ua(),l=Yi(),u=sa(),d=oa(),f=da(),p=fa();e.schema=[t.map,r.seq,i.string,n.nullTag,o.trueTag,o.falseTag,c.intBin,c.intOct,c.int,c.intHex,s.floatNaN,s.floatExp,s.float,a.binary,l.merge,u.omap,d.pairs,f.set,p.intTime,p.floatTime,p.timestamp]})),ma=n((e=>{var t=Y(),n=$i(),r=Z(),i=Qi(),a=ea(),o=ta(),s=na(),c=ra(),l=ia(),u=aa(),d=Yi(),f=sa(),p=oa(),m=pa(),h=da(),g=fa();let _=new Map([[`core`,c.schema],[`failsafe`,[t.map,r.seq,i.string]],[`json`,l.schema],[`yaml11`,m.schema],[`yaml-1.1`,m.schema]]),v={binary:u.binary,bool:a.boolTag,float:o.float,floatExp:o.floatExp,floatNaN:o.floatNaN,floatTime:g.floatTime,int:s.int,intHex:s.intHex,intOct:s.intOct,intTime:g.intTime,map:t.map,merge:d.merge,null:n.nullTag,omap:f.omap,pairs:p.pairs,seq:r.seq,set:h.set,timestamp:g.timestamp},y={"tag:yaml.org,2002:binary":u.binary,"tag:yaml.org,2002:merge":d.merge,"tag:yaml.org,2002:omap":f.omap,"tag:yaml.org,2002:pairs":p.pairs,"tag:yaml.org,2002:set":h.set,"tag:yaml.org,2002:timestamp":g.timestamp};function b(e,t,n){let r=_.get(t);if(r&&!e)return n&&!r.includes(d.merge)?r.concat(d.merge):r.slice();let i=r;if(!i)if(Array.isArray(e))i=[];else{let e=Array.from(_.keys()).filter(e=>e!==`yaml11`).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)i=i.concat(t);else typeof e==`function`&&(i=e(i.slice()));return n&&(i=i.concat(d.merge)),i.reduce((e,t)=>{let n=typeof t==`string`?v[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(v).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}e.coreKnownTags=y,e.getTags=b})),ha=n((e=>{var t=W(),n=Y(),r=Z(),i=Qi(),a=ma();let o=(e,t)=>e.key<t.key?-1:+(e.key>t.key);e.Schema=class e{constructor({compat:e,customTags:s,merge:c,resolveKnownTags:l,schema:u,sortMapEntries:d,toStringDefaults:f}){this.compat=Array.isArray(e)?a.getTags(e,`compat`):e?a.getTags(null,e):null,this.name=typeof u==`string`&&u||`core`,this.knownTags=l?a.coreKnownTags:{},this.tags=a.getTags(s,this.name,c),this.toStringOptions=f??null,Object.defineProperty(this,t.MAP,{value:n.map}),Object.defineProperty(this,t.SCALAR,{value:i.string}),Object.defineProperty(this,t.SEQ,{value:r.seq}),this.sortMapEntries=typeof d==`function`?d:d===!0?o:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}})),ga=n((e=>{var t=W(),n=Ki(),r=Ui();function i(e,i){let a=[],o=i.directives===!0;if(i.directives!==!1&&e.directives){let t=e.directives.toString(e);t?(a.push(t),o=!0):e.directives.docStart&&(o=!0)}o&&a.push(`---`);let s=n.createStringifyContext(e,i),{commentString:c}=s.options;if(e.commentBefore){a.length!==1&&a.unshift(``);let t=c(e.commentBefore);a.unshift(r.indentComment(t,``))}let l=!1,u=null;if(e.contents){if(t.isNode(e.contents)){if(e.contents.spaceBefore&&o&&a.push(``),e.contents.commentBefore){let t=c(e.contents.commentBefore);a.push(r.indentComment(t,``))}s.forceBlockIndent=!!e.comment,u=e.contents.comment}let i=u?void 0:()=>l=!0,d=n.stringify(e.contents,s,()=>u=null,i);u&&(d+=r.lineComment(d,``,c(u))),(d[0]===`|`||d[0]===`>`)&&a[a.length-1]===`---`?a[a.length-1]=`--- ${d}`:a.push(d)}else a.push(n.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let t=c(e.comment);t.includes(`
|
|
40
|
+
`;return`${e}\n${c}${_}`}else return`${g}${u}${h.join(` `)}${u}${_}`}function s({indent:e,options:{commentString:t}},n,i,a){if(i&&a&&(i=i.replace(/^\n+/,``)),i){let a=r.indentComment(t(i),e);n.push(a.trimStart())}}e.stringifyCollection=i})),Y=n((e=>{var t=Zi(),n=Xi(),r=Hi(),i=G(),a=J(),o=q();function s(e,t){let n=i.isScalar(t)?t.value:t;for(let r of e)if(i.isPair(r)&&(r.key===t||r.key===n||i.isScalar(r.key)&&r.key.value===n))return r}e.YAMLMap=class extends r.Collection{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(i.MAP,e),this.items=[]}static from(e,t,n){let{keepUndefined:r,replacer:i}=n,o=new this(e),s=(e,s)=>{if(typeof i==`function`)s=i.call(t,e,s);else if(Array.isArray(i)&&!i.includes(e))return;(s!==void 0||r)&&o.items.push(a.createPair(e,s,n))};if(t instanceof Map)for(let[e,n]of t)s(e,n);else if(t&&typeof t==`object`)for(let e of Object.keys(t))s(e,t[e]);return typeof e.sortMapEntries==`function`&&o.items.sort(e.sortMapEntries),o}add(e,t){let n;n=i.isPair(e)?e:!e||typeof e!=`object`||!(`key`in e)?new a.Pair(e,e?.value):new a.Pair(e.key,e.value);let r=s(this.items,n.key),c=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);i.isScalar(r.value)&&o.isScalarValue(n.value)?r.value.value=n.value:r.value=n.value}else if(c){let e=this.items.findIndex(e=>c(n,e)<0);e===-1?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=s(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=s(this.items,e)?.value;return(!t&&i.isScalar(n)?n.value:n)??void 0}has(e){return!!s(this.items,e)}set(e,t){this.add(new a.Pair(e,t),!0)}toJSON(e,t,r){let i=r?new r:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(i);for(let e of this.items)n.addPairToJSMap(t,i,e);return i}toString(e,n,r){if(!e)return JSON.stringify(this);for(let e of this.items)if(!i.isPair(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),t.stringifyCollection(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:r,onComment:n})}},e.findPair=s})),X=n((e=>{var t=G(),n=Y();e.map={collection:`map`,default:!0,nodeClass:n.YAMLMap,tag:`tag:yaml.org,2002:map`,resolve(e,n){return t.isMap(e)||n(`Expected a mapping for this tag`),e},createNode:(e,t,r)=>n.YAMLMap.from(e,t,r)}})),Z=n((e=>{var t=Vi(),n=Zi(),r=Hi(),i=G(),a=q(),o=K(),s=class extends r.Collection{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(i.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=c(e);return typeof t==`number`?this.items.splice(t,1).length>0:!1}get(e,t){let n=c(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&i.isScalar(r)?r.value:r}has(e){let t=c(e);return typeof t==`number`&&t<this.items.length}set(e,t){let n=c(e);if(typeof n!=`number`)throw Error(`Expected a valid index, not ${e}.`);let r=this.items[n];i.isScalar(r)&&a.isScalarValue(t)?r.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let r=0;for(let e of this.items)n.push(o.toJS(e,String(r++),t));return n}toString(e,t,r){return e?n.stringifyCollection(this,e,{blockItemPrefix:`- `,flowChars:{start:`[`,end:`]`},itemIndent:(e.indent||``)+` `,onChompKeep:r,onComment:t}):JSON.stringify(this)}static from(e,n,r){let{replacer:i}=r,a=new this(e);if(n&&Symbol.iterator in Object(n)){let e=0;for(let o of n){if(typeof i==`function`){let t=n instanceof Set?o:String(e++);o=i.call(n,t,o)}a.items.push(t.createNode(o,void 0,r))}}return a}};function c(e){let t=i.isScalar(e)?e.value:e;return t&&typeof t==`string`&&(t=Number(t)),typeof t==`number`&&Number.isInteger(t)&&t>=0?t:null}e.YAMLSeq=s})),Q=n((e=>{var t=G(),n=Z();e.seq={collection:`seq`,default:!0,nodeClass:n.YAMLSeq,tag:`tag:yaml.org,2002:seq`,resolve(e,n){return t.isSeq(e)||n(`Expected a sequence for this tag`),e},createNode:(e,t,r)=>n.YAMLSeq.from(e,t,r)}})),Qi=n((e=>{var t=Gi();e.string={identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify(e,n,r,i){return n=Object.assign({actualString:!0},n),t.stringifyString(e,n,r,i)}}})),$i=n((e=>{var t=q();let n={identify:e=>e==null,createNode:()=>new t.Scalar(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new t.Scalar(null),stringify:({source:e},t)=>typeof e==`string`&&n.test.test(e)?e:t.options.nullStr};e.nullTag=n})),ea=n((e=>{var t=q();let n={identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new t.Scalar(e[0]===`t`||e[0]===`T`),stringify({source:e,value:t},r){return e&&n.test.test(e)&&t===(e[0]===`t`||e[0]===`T`)?e:t?r.options.trueStr:r.options.falseStr}};e.boolTag=n})),$=n((e=>{function t({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r==`bigint`)return String(r);let i=typeof r==`number`?r:Number(r);if(!isFinite(i))return isNaN(i)?`.nan`:i<0?`-.inf`:`.inf`;let a=Object.is(r,-0)?`-0`:JSON.stringify(r);if(!e&&t&&(!n||n===`tag:yaml.org,2002:float`)&&/^-?\d/.test(a)&&!a.includes(`e`)){let e=a.indexOf(`.`);e<0&&(e=a.length,a+=`.`);let n=t-(a.length-e-1);for(;n-- >0;)a+=`0`}return a}e.stringifyNumber=t})),ta=n((e=>{var t=q(),n=$();let r={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:n.stringifyNumber};e.float={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let n=new t.Scalar(parseFloat(e)),r=e.indexOf(`.`);return r!==-1&&e[e.length-1]===`0`&&(n.minFractionDigits=e.length-r-1),n},stringify:n.stringifyNumber},e.floatExp={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():n.stringifyNumber(e)}},e.floatNaN=r})),na=n((e=>{var t=$();let n=e=>typeof e==`bigint`||Number.isInteger(e),r=(e,t,n,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),n);function i(e,r,i){let{value:a}=e;return n(a)&&a>=0?i+a.toString(r):t.stringifyNumber(e)}e.int={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>r(e,0,10,n),stringify:t.stringifyNumber},e.intHex={identify:e=>n(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>r(e,2,16,n),stringify:e=>i(e,16,`0x`)},e.intOct={identify:e=>n(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^0o[0-7]+$/,resolve:(e,t,n)=>r(e,2,8,n),stringify:e=>i(e,8,`0o`)}})),ra=n((e=>{var t=X(),n=$i(),r=Q(),i=Qi(),a=ea(),o=ta(),s=na();e.schema=[t.map,r.seq,i.string,n.nullTag,a.boolTag,s.intOct,s.int,s.intHex,o.floatNaN,o.floatExp,o.float]})),ia=n((e=>{var t=q(),n=X(),r=Q();function i(e){return typeof e==`bigint`||Number.isInteger(e)}let a=({value:e})=>JSON.stringify(e),o=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:a},{identify:e=>e==null,createNode:()=>new t.Scalar(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:a},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:a},{identify:i,default:!0,tag:`tag:yaml.org,2002:int`,test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>i(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:a}];e.schema=[n.map,r.seq].concat(o,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}})})),aa=n((t=>{var n=e(`buffer`),r=q(),i=Gi();t.binary={identify:e=>e instanceof Uint8Array,default:!1,tag:`tag:yaml.org,2002:binary`,resolve(e,t){if(typeof n.Buffer==`function`)return n.Buffer.from(e,`base64`);if(typeof atob==`function`){let t=atob(e.replace(/[\n\r]/g,``)),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n[e]=t.charCodeAt(e);return n}else return t(`This environment does not support reading binary tags; either Buffer or atob is required`),e},stringify({comment:e,type:t,value:a},o,s,c){if(!a)return``;let l=a,u;if(typeof n.Buffer==`function`)u=l instanceof n.Buffer?l.toString(`base64`):n.Buffer.from(l.buffer).toString(`base64`);else if(typeof btoa==`function`){let e=``;for(let t=0;t<l.length;++t)e+=String.fromCharCode(l[t]);u=btoa(e)}else throw Error(`This environment does not support writing binary tags; either Buffer or btoa is required`);if(t??=r.Scalar.BLOCK_LITERAL,t!==r.Scalar.QUOTE_DOUBLE){let e=Math.max(o.options.lineWidth-o.indent.length,o.options.minContentWidth),n=Math.ceil(u.length/e),i=Array(n);for(let t=0,r=0;t<n;++t,r+=e)i[t]=u.substr(r,e);u=i.join(t===r.Scalar.BLOCK_LITERAL?`
|
|
41
|
+
`:` `)}return i.stringifyString({comment:e,type:t,value:u},o,s,c)}}})),oa=n((e=>{var t=G(),n=J(),r=q(),i=Z();function a(e,i){if(t.isSeq(e))for(let a=0;a<e.items.length;++a){let o=e.items[a];if(!t.isPair(o)){if(t.isMap(o)){o.items.length>1&&i(`Each pair must have its own sequence indicator`);let e=o.items[0]||new n.Pair(new r.Scalar(null));if(o.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${o.commentBefore}\n${e.key.commentBefore}`:o.commentBefore),o.comment){let t=e.value??e.key;t.comment=t.comment?`${o.comment}\n${t.comment}`:o.comment}o=e}e.items[a]=t.isPair(o)?o:new n.Pair(o)}}else i(`Expected a sequence for this tag`);return e}function o(e,t,r){let{replacer:a}=r,o=new i.YAMLSeq(e);o.tag=`tag:yaml.org,2002:pairs`;let s=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof a==`function`&&(e=a.call(t,String(s++),e));let i,c;if(Array.isArray(e))if(e.length===2)i=e[0],c=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)i=t[0],c=e[i];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else i=e;o.items.push(n.createPair(i,c,r))}return o}let s={collection:`seq`,default:!1,tag:`tag:yaml.org,2002:pairs`,resolve:a,createNode:o};e.createPairs=o,e.pairs=s,e.resolvePairs=a})),sa=n((e=>{var t=G(),n=K(),r=Y(),i=Z(),a=oa(),o=class e extends i.YAMLSeq{constructor(){super(),this.add=r.YAMLMap.prototype.add.bind(this),this.delete=r.YAMLMap.prototype.delete.bind(this),this.get=r.YAMLMap.prototype.get.bind(this),this.has=r.YAMLMap.prototype.has.bind(this),this.set=r.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(e,r){if(!r)return super.toJSON(e);let i=new Map;r?.onCreate&&r.onCreate(i);for(let e of this.items){let a,o;if(t.isPair(e)?(a=n.toJS(e.key,``,r),o=n.toJS(e.value,a,r)):a=n.toJS(e,``,r),i.has(a))throw Error(`Ordered maps must not include duplicate keys`);i.set(a,o)}return i}static from(e,t,n){let r=a.createPairs(e,t,n),i=new this;return i.items=r.items,i}};o.tag=`tag:yaml.org,2002:omap`;let s={collection:`seq`,identify:e=>e instanceof Map,nodeClass:o,default:!1,tag:`tag:yaml.org,2002:omap`,resolve(e,n){let r=a.resolvePairs(e,n),i=[];for(let{key:e}of r.items)t.isScalar(e)&&(i.includes(e.value)?n(`Ordered maps must not include duplicate keys: ${e.value}`):i.push(e.value));return Object.assign(new o,r)},createNode:(e,t,n)=>o.from(e,t,n)};e.YAMLOMap=o,e.omap=s})),ca=n((e=>{var t=q();function n({value:e,source:t},n){return t&&(e?r:i).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}let r={identify:e=>e===!0,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new t.Scalar(!0),stringify:n},i={identify:e=>e===!1,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new t.Scalar(!1),stringify:n};e.falseTag=i,e.trueTag=r})),la=n((e=>{var t=q(),n=$();let r={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:n.stringifyNumber};e.float={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let n=new t.Scalar(parseFloat(e.replace(/_/g,``))),r=e.indexOf(`.`);if(r!==-1){let t=e.substring(r+1).replace(/_/g,``);t[t.length-1]===`0`&&(n.minFractionDigits=t.length)}return n},stringify:n.stringifyNumber},e.floatExp={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,``)),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():n.stringifyNumber(e)}},e.floatNaN=r})),ua=n((e=>{var t=$();let n=e=>typeof e==`bigint`||Number.isInteger(e);function r(e,t,n,{intAsBigInt:r}){let i=e[0];if((i===`-`||i===`+`)&&(t+=1),e=e.substring(t).replace(/_/g,``),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let t=BigInt(e);return i===`-`?BigInt(-1)*t:t}let a=parseInt(e,n);return i===`-`?-1*a:a}function i(e,r,i){let{value:a}=e;if(n(a)){let e=a.toString(r);return a<0?`-`+i+e.substr(1):i+e}return t.stringifyNumber(e)}let a={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`BIN`,test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>r(e,2,2,n),stringify:e=>i(e,2,`0b`)},o={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>r(e,1,8,n),stringify:e=>i(e,8,`0`)},s={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>r(e,0,10,n),stringify:t.stringifyNumber},c={identify:n,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>r(e,2,16,n),stringify:e=>i(e,16,`0x`)};e.int=s,e.intBin=a,e.intHex=c,e.intOct=o})),da=n((e=>{var t=G(),n=J(),r=Y(),i=class e extends r.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(e){let i;i=t.isPair(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new n.Pair(e.key,null):new n.Pair(e,null),r.findPair(this.items,i.key)||this.items.push(i)}get(e,n){let i=r.findPair(this.items,e);return!n&&t.isPair(i)?t.isScalar(i.key)?i.key.value:i.key:i}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let i=r.findPair(this.items,e);i&&!t?this.items.splice(this.items.indexOf(i),1):!i&&t&&this.items.push(new n.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,r){let{replacer:i}=r,a=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof i==`function`&&(e=i.call(t,e,e)),a.items.push(n.createPair(e,null,r));return a}};i.tag=`tag:yaml.org,2002:set`;let a={collection:`map`,identify:e=>e instanceof Set,nodeClass:i,default:!1,tag:`tag:yaml.org,2002:set`,createNode:(e,t,n)=>i.from(e,t,n),resolve(e,n){if(t.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new i,e);n(`Set items must all have null values`)}else n(`Expected a mapping for this tag`);return e}};e.YAMLSet=i,e.set=a})),fa=n((e=>{var t=$();function n(e,t){let n=e[0],r=n===`-`||n===`+`?e.substring(1):e,i=e=>t?BigInt(e):Number(e),a=r.replace(/_/g,``).split(`:`).reduce((e,t)=>e*i(60)+i(t),i(0));return n===`-`?i(-1)*a:a}function r(e){let{value:n}=e,r=e=>e;if(typeof n==`bigint`)r=e=>BigInt(e);else if(isNaN(n)||!isFinite(n))return t.stringifyNumber(e);let i=``;n<0&&(i=`-`,n*=r(-1));let a=r(60),o=[n%a];return n<60?o.unshift(0):(n=(n-o[0])/a,o.unshift(n%a),n>=60&&(n=(n-o[0])/a,o.unshift(n))),i+o.map(e=>String(e).padStart(2,`0`)).join(`:`).replace(/000000\d*$/,``)}let i={identify:e=>typeof e==`bigint`||Number.isInteger(e),default:!0,tag:`tag:yaml.org,2002:int`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>n(e,r),stringify:r},a={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>n(e,!1),stringify:r},o={identify:e=>e instanceof Date,default:!0,tag:`tag:yaml.org,2002:timestamp`,test:RegExp(`^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$`),resolve(e){let t=e.match(o.test);if(!t)throw Error(`!!timestamp expects a date, starting with yyyy-mm-dd`);let[,r,i,a,s,c,l]=t.map(Number),u=t[7]?Number((t[7]+`00`).substr(1,3)):0,d=Date.UTC(r,i-1,a,s||0,c||0,l||0,u),f=t[8];if(f&&f!==`Z`){let e=n(f,!1);Math.abs(e)<30&&(e*=60),d-=6e4*e}return new Date(d)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,``)??``};e.floatTime=a,e.intTime=i,e.timestamp=o})),pa=n((e=>{var t=X(),n=$i(),r=Q(),i=Qi(),a=aa(),o=ca(),s=la(),c=ua(),l=Yi(),u=sa(),d=oa(),f=da(),p=fa();e.schema=[t.map,r.seq,i.string,n.nullTag,o.trueTag,o.falseTag,c.intBin,c.intOct,c.int,c.intHex,s.floatNaN,s.floatExp,s.float,a.binary,l.merge,u.omap,d.pairs,f.set,p.intTime,p.floatTime,p.timestamp]})),ma=n((e=>{var t=X(),n=$i(),r=Q(),i=Qi(),a=ea(),o=ta(),s=na(),c=ra(),l=ia(),u=aa(),d=Yi(),f=sa(),p=oa(),m=pa(),h=da(),g=fa();let _=new Map([[`core`,c.schema],[`failsafe`,[t.map,r.seq,i.string]],[`json`,l.schema],[`yaml11`,m.schema],[`yaml-1.1`,m.schema]]),v={binary:u.binary,bool:a.boolTag,float:o.float,floatExp:o.floatExp,floatNaN:o.floatNaN,floatTime:g.floatTime,int:s.int,intHex:s.intHex,intOct:s.intOct,intTime:g.intTime,map:t.map,merge:d.merge,null:n.nullTag,omap:f.omap,pairs:p.pairs,seq:r.seq,set:h.set,timestamp:g.timestamp},y={"tag:yaml.org,2002:binary":u.binary,"tag:yaml.org,2002:merge":d.merge,"tag:yaml.org,2002:omap":f.omap,"tag:yaml.org,2002:pairs":p.pairs,"tag:yaml.org,2002:set":h.set,"tag:yaml.org,2002:timestamp":g.timestamp};function b(e,t,n){let r=_.get(t);if(r&&!e)return n&&!r.includes(d.merge)?r.concat(d.merge):r.slice();let i=r;if(!i)if(Array.isArray(e))i=[];else{let e=Array.from(_.keys()).filter(e=>e!==`yaml11`).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)i=i.concat(t);else typeof e==`function`&&(i=e(i.slice()));return n&&(i=i.concat(d.merge)),i.reduce((e,t)=>{let n=typeof t==`string`?v[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(v).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}e.coreKnownTags=y,e.getTags=b})),ha=n((e=>{var t=G(),n=X(),r=Q(),i=Qi(),a=ma();let o=(e,t)=>e.key<t.key?-1:+(e.key>t.key);e.Schema=class e{constructor({compat:e,customTags:s,merge:c,resolveKnownTags:l,schema:u,sortMapEntries:d,toStringDefaults:f}){this.compat=Array.isArray(e)?a.getTags(e,`compat`):e?a.getTags(null,e):null,this.name=typeof u==`string`&&u||`core`,this.knownTags=l?a.coreKnownTags:{},this.tags=a.getTags(s,this.name,c),this.toStringOptions=f??null,Object.defineProperty(this,t.MAP,{value:n.map}),Object.defineProperty(this,t.SCALAR,{value:i.string}),Object.defineProperty(this,t.SEQ,{value:r.seq}),this.sortMapEntries=typeof d==`function`?d:d===!0?o:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}})),ga=n((e=>{var t=G(),n=Ki(),r=Ui();function i(e,i){let a=[],o=i.directives===!0;if(i.directives!==!1&&e.directives){let t=e.directives.toString(e);t?(a.push(t),o=!0):e.directives.docStart&&(o=!0)}o&&a.push(`---`);let s=n.createStringifyContext(e,i),{commentString:c}=s.options;if(e.commentBefore){a.length!==1&&a.unshift(``);let t=c(e.commentBefore);a.unshift(r.indentComment(t,``))}let l=!1,u=null;if(e.contents){if(t.isNode(e.contents)){if(e.contents.spaceBefore&&o&&a.push(``),e.contents.commentBefore){let t=c(e.contents.commentBefore);a.push(r.indentComment(t,``))}s.forceBlockIndent=!!e.comment,u=e.contents.comment}let i=u?void 0:()=>l=!0,d=n.stringify(e.contents,s,()=>u=null,i);u&&(d+=r.lineComment(d,``,c(u))),(d[0]===`|`||d[0]===`>`)&&a[a.length-1]===`---`?a[a.length-1]=`--- ${d}`:a.push(d)}else a.push(n.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let t=c(e.comment);t.includes(`
|
|
42
42
|
`)?(a.push(`...`),a.push(r.indentComment(t,``))):a.push(`... ${t}`)}else a.push(`...`);else{let t=e.comment;t&&l&&(t=t.replace(/^\n+/,``)),t&&((!l||u)&&a[a.length-1]!==``&&a.push(``),a.push(r.indentComment(c(t),``)))}return a.join(`
|
|
43
43
|
`)+`
|
|
44
|
-
`}e.stringifyDocument=i})),_a=n((e=>{var t=Bi(),n=Hi(),r=
|
|
44
|
+
`}e.stringifyDocument=i})),_a=n((e=>{var t=Bi(),n=Hi(),r=G(),i=J(),a=K(),o=ha(),s=ga(),c=Li(),l=Ri(),u=Vi(),d=Ii(),f=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,r.NODE_TYPE,{value:r.DOC});let i=null;typeof t==`function`||Array.isArray(t)?i=t:n===void 0&&t&&(n=t,t=void 0);let a=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:`warn`,prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:`1.2`},n);this.options=a;let{version:o}=a;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new d.Directives({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,i,n)}clone(){let t=Object.create(e.prototype,{[r.NODE_TYPE]:{value:r.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=r.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){p(this.contents)&&this.contents.add(e)}addIn(e,t){p(this.contents)&&this.contents.addIn(e,t)}createAlias(e,n){if(!e.anchor){let t=c.anchorNames(this);e.anchor=!n||t.has(n)?c.findNewAnchor(n||`a`,t):n}return new t.Alias(e.anchor)}createNode(e,t,n){let i;if(typeof t==`function`)e=t.call({"":e},``,e),i=t;else if(Array.isArray(t)){let e=t.filter(e=>typeof e==`number`||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),i=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:a,anchorPrefix:o,flow:s,keepUndefined:l,onTagObj:d,tag:f}=n??{},{onAnchor:p,setAnchors:m,sourceObjects:h}=c.createNodeAnchors(this,o||`a`),g={aliasDuplicateObjects:a??!0,keepUndefined:l??!1,onAnchor:p,onTagObj:d,replacer:i,schema:this.schema,sourceObjects:h},_=u.createNode(e,f,g);return s&&r.isCollection(_)&&(_.flow=!0),m(),_}createPair(e,t,n={}){let r=this.createNode(e,null,n),a=this.createNode(t,null,n);return new i.Pair(r,a)}delete(e){return p(this.contents)?this.contents.delete(e):!1}deleteIn(e){return n.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):p(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return r.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return n.isEmptyPath(e)?!t&&r.isScalar(this.contents)?this.contents.value:this.contents:r.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return r.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return n.isEmptyPath(e)?this.contents!==void 0:r.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=n.collectionFromPath(this.schema,[e],t):p(this.contents)&&this.contents.set(e,t)}setIn(e,t){n.isEmptyPath(e)?this.contents=t:this.contents==null?this.contents=n.collectionFromPath(this.schema,Array.from(e),t):p(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e==`number`&&(e=String(e));let n;switch(e){case`1.1`:this.directives?this.directives.yaml.version=`1.1`:this.directives=new d.Directives({version:`1.1`}),n={resolveKnownTags:!1,schema:`yaml-1.1`};break;case`1.2`:case`next`:this.directives?this.directives.yaml.version=e:this.directives=new d.Directives({version:e}),n={resolveKnownTags:!0,schema:`core`};break;case null:this.directives&&delete this.directives,n=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new o.Schema(Object.assign(n,t));else throw Error(`With a null YAML version, the { schema: Schema } option is required`)}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:o}={}){let s={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r==`number`?r:100},c=a.toJS(this.contents,t??``,s);if(typeof i==`function`)for(let{count:e,res:t}of s.anchors.values())i(t,e);return typeof o==`function`?l.applyReviver(o,{"":c},``,c):c}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error(`Document with errors cannot be stringified`);if(`indent`in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return s.stringifyDocument(this,e)}};function p(e){if(r.isCollection(e))return!0;throw Error(`Expected a YAML collection as document contents`)}e.Document=f})),va=n((e=>{var t=class extends Error{constructor(e,t,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=t}},n=class extends t{constructor(e,t,n){super(`YAMLParseError`,e,t,n)}},r=class extends t{constructor(e,t,n){super(`YAMLWarning`,e,t,n)}};e.YAMLError=t,e.YAMLParseError=n,e.YAMLWarning=r,e.prettifyError=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(e=>t.linePos(e));let{line:r,col:i}=n.linePos[0];n.message+=` at line ${r}, column ${i}`;let a=i-1,o=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,``);if(a>=60&&o.length>80){let e=Math.min(a-39,o.length-79);o=`…`+o.substring(e),a-=e-1}if(o.length>80&&(o=o.substring(0,79)+`…`),r>1&&/^ *$/.test(o.substring(0,a))){let n=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);n.length>80&&(n=n.substring(0,79)+`…
|
|
45
45
|
`),o=n+o}if(/[^ ]/.test(o)){let e=1,t=n.linePos[1];t?.line===r&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-a)));let s=` `.repeat(a)+`^`.repeat(e);n.message+=`:\n\n${o}\n${s}\n`}}})),ya=n((e=>{function t(e,{flow:t,indicator:n,next:r,offset:i,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d=``,f=``,p=!1,m=!1,h=null,g=null,_=null,v=null,y=null,b=null,x=null;for(let i of e)switch(m&&=(i.type!==`space`&&i.type!==`newline`&&i.type!==`comma`&&a(i.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),!1),h&&=(l&&i.type!==`comment`&&i.type!==`newline`&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),null),i.type){case`space`:!t&&(n!==`doc-start`||r?.type!==`flow-collection`)&&i.source.includes(` `)&&(h=i),u=!0;break;case`comment`:{u||a(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let e=i.source.substring(1)||` `;d?d+=f+e:d=e,f=``,l=!1;break}case`newline`:l?d?d+=i.source:(!b||n!==`seq-item-ind`)&&(c=!0):f+=i.source,l=!0,p=!0,(g||_)&&(v=i),u=!0;break;case`anchor`:g&&a(i,`MULTIPLE_ANCHORS`,`A node can have at most one anchor`),i.source.endsWith(`:`)&&a(i.offset+i.source.length-1,`BAD_ALIAS`,`Anchor ending in : is ambiguous`,!0),g=i,x??=i.offset,l=!1,u=!1,m=!0;break;case`tag`:_&&a(i,`MULTIPLE_TAGS`,`A node can have at most one tag`),_=i,x??=i.offset,l=!1,u=!1,m=!0;break;case n:(g||_)&&a(i,`BAD_PROP_ORDER`,`Anchors and tags must be after the ${i.source} indicator`),b&&a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.source} in ${t??`collection`}`),b=i,l=n===`seq-item-ind`||n===`explicit-key-ind`,u=!1;break;case`comma`:if(t){y&&a(i,`UNEXPECTED_TOKEN`,`Unexpected , in ${t}`),y=i,l=!1,u=!1;break}default:a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.type} token`),l=!1,u=!1}let S=e[e.length-1],C=S?S.offset+S.source.length:i;return m&&r&&r.type!==`space`&&r.type!==`newline`&&r.type!==`comma`&&(r.type!==`scalar`||r.source!==``)&&a(r.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),h&&(l&&h.indent<=o||r?.type===`block-map`||r?.type===`block-seq`)&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),{comma:y,found:b,spaceBefore:c,comment:d,hasNewline:p,anchor:g,tag:_,newlineAfterProp:v,end:C,start:x??C}}e.resolveProps=t})),ba=n((e=>{function t(e){if(!e)return null;switch(e.type){case`alias`:case`scalar`:case`double-quoted-scalar`:case`single-quoted-scalar`:if(e.source.includes(`
|
|
46
|
-
`))return!0;if(e.end){for(let t of e.end)if(t.type===`newline`)return!0}return!1;case`flow-collection`:for(let n of e.items){for(let e of n.start)if(e.type===`newline`)return!0;if(n.sep){for(let e of n.sep)if(e.type===`newline`)return!0}if(t(n.key)||t(n.value))return!0}return!1;default:return!0}}e.containsNewline=t})),xa=n((e=>{var t=ba();function n(e,n,r){if(n?.type===`flow-collection`){let i=n.end[0];i.indent===e&&(i.source===`]`||i.source===`}`)&&t.containsNewline(n)&&r(i,`BAD_INDENT`,`Flow end indicator should be more indented than parent`,!0)}}e.flowIndentCheck=n})),Sa=n((e=>{var t=
|
|
46
|
+
`))return!0;if(e.end){for(let t of e.end)if(t.type===`newline`)return!0}return!1;case`flow-collection`:for(let n of e.items){for(let e of n.start)if(e.type===`newline`)return!0;if(n.sep){for(let e of n.sep)if(e.type===`newline`)return!0}if(t(n.key)||t(n.value))return!0}return!1;default:return!0}}e.containsNewline=t})),xa=n((e=>{var t=ba();function n(e,n,r){if(n?.type===`flow-collection`){let i=n.end[0];i.indent===e&&(i.source===`]`||i.source===`}`)&&t.containsNewline(n)&&r(i,`BAD_INDENT`,`Flow end indicator should be more indented than parent`,!0)}}e.flowIndentCheck=n})),Sa=n((e=>{var t=G();function n(e,n,r){let{uniqueKeys:i}=e.options;if(i===!1)return!1;let a=typeof i==`function`?i:(e,n)=>e===n||t.isScalar(e)&&t.isScalar(n)&&e.value===n.value;return n.some(e=>a(e.key,r))}e.mapIncludes=n})),Ca=n((e=>{var t=J(),n=Y(),r=ya(),i=ba(),a=xa(),o=Sa();let s=`All mapping items must start at the same column`;function c({composeNode:e,composeEmptyNode:c},l,u,d,f){let p=new(f?.nodeClass??n.YAMLMap)(l.schema);l.atRoot&&=!1;let m=u.offset,h=null;for(let n of u.items){let{start:f,key:g,sep:_,value:v}=n,y=r.resolveProps(f,{indicator:`explicit-key-ind`,next:g??_?.[0],offset:m,onError:d,parentIndent:u.indent,startOnNewline:!0}),b=!y.found;if(b){if(g&&(g.type===`block-seq`?d(m,`BLOCK_AS_IMPLICIT_KEY`,`A block sequence may not be used as an implicit map key`):`indent`in g&&g.indent!==u.indent&&d(m,`BAD_INDENT`,s)),!y.anchor&&!y.tag&&!_){h=y.end,y.comment&&(p.comment?p.comment+=`
|
|
47
47
|
`+y.comment:p.comment=y.comment);continue}(y.newlineAfterProp||i.containsNewline(g))&&d(g??f[f.length-1],`MULTILINE_IMPLICIT_KEY`,`Implicit keys need to be on a single line`)}else y.found?.indent!==u.indent&&d(m,`BAD_INDENT`,s);l.atKey=!0;let x=y.end,S=g?e(l,g,y,d):c(l,x,f,null,y,d);l.schema.compat&&a.flowIndentCheck(u.indent,g,d),l.atKey=!1,o.mapIncludes(l,p.items,S)&&d(x,`DUPLICATE_KEY`,`Map keys must be unique`);let C=r.resolveProps(_??[],{indicator:`map-value-ind`,next:v,offset:S.range[2],onError:d,parentIndent:u.indent,startOnNewline:!g||g.type===`block-scalar`});if(m=C.end,C.found){b&&(v?.type===`block-map`&&!C.hasNewline&&d(m,`BLOCK_AS_IMPLICIT_KEY`,`Nested mappings are not allowed in compact mappings`),l.options.strict&&y.start<C.found.offset-1024&&d(S.range,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit block mapping key`));let r=v?e(l,v,C,d):c(l,m,_,null,C,d);l.schema.compat&&a.flowIndentCheck(u.indent,v,d),m=r.range[2];let i=new t.Pair(S,r);l.options.keepSourceTokens&&(i.srcToken=n),p.items.push(i)}else{b&&d(S.range,`MISSING_CHAR`,`Implicit map keys need to be followed by map values`),C.comment&&(S.comment?S.comment+=`
|
|
48
|
-
`+C.comment:S.comment=C.comment);let e=new t.Pair(S);l.options.keepSourceTokens&&(e.srcToken=n),p.items.push(e)}}return h&&h<m&&d(h,`IMPOSSIBLE`,`Map comment with trailing content`),p.range=[u.offset,m,h??m],p}e.resolveBlockMap=c})),wa=n((e=>{var t=
|
|
48
|
+
`+C.comment:S.comment=C.comment);let e=new t.Pair(S);l.options.keepSourceTokens&&(e.srcToken=n),p.items.push(e)}}return h&&h<m&&d(h,`IMPOSSIBLE`,`Map comment with trailing content`),p.range=[u.offset,m,h??m],p}e.resolveBlockMap=c})),wa=n((e=>{var t=Z(),n=ya(),r=xa();function i({composeNode:e,composeEmptyNode:i},a,o,s,c){let l=new(c?.nodeClass??t.YAMLSeq)(a.schema);a.atRoot&&=!1,a.atKey&&=!1;let u=o.offset,d=null;for(let{start:t,value:c}of o.items){let f=n.resolveProps(t,{indicator:`seq-item-ind`,next:c,offset:u,onError:s,parentIndent:o.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||c)c?.type===`block-seq`?s(f.end,`BAD_INDENT`,`All sequence items must start at the same column`):s(u,`MISSING_CHAR`,`Sequence item without - indicator`);else{d=f.end,f.comment&&(l.comment=f.comment);continue}let p=c?e(a,c,f,s):i(a,f.end,t,null,f,s);a.schema.compat&&r.flowIndentCheck(o.indent,c,s),u=p.range[2],l.items.push(p)}return l.range=[o.offset,u,d??u],l}e.resolveBlockSeq=i})),Ta=n((e=>{function t(e,t,n,r){let i=``;if(e){let a=!1,o=``;for(let s of e){let{source:e,type:c}=s;switch(c){case`space`:a=!0;break;case`comment`:{n&&!a&&r(s,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let t=e.substring(1)||` `;i?i+=o+t:i=t,o=``;break}case`newline`:i&&(o+=e),a=!0;break;default:r(s,`UNEXPECTED_TOKEN`,`Unexpected ${c} at node end`)}t+=e.length}}return{comment:i,offset:t}}e.resolveEnd=t})),Ea=n((e=>{var t=G(),n=J(),r=Y(),i=Z(),a=Ta(),o=ya(),s=ba(),c=Sa();let l=`Block collections are not allowed within flow collections`,u=e=>e&&(e.type===`block-map`||e.type===`block-seq`);function d({composeNode:e,composeEmptyNode:d},f,p,m,h){let g=p.start.source===`{`,_=g?`flow map`:`flow sequence`,v=new(h?.nodeClass??(g?r.YAMLMap:i.YAMLSeq))(f.schema);v.flow=!0;let y=f.atRoot;y&&(f.atRoot=!1),f.atKey&&=!1;let b=p.offset+p.start.source.length;for(let i=0;i<p.items.length;++i){let a=p.items[i],{start:h,key:y,sep:x,value:S}=a,C=o.resolveProps(h,{flow:_,indicator:`explicit-key-ind`,next:y??x?.[0],offset:b,onError:m,parentIndent:p.indent,startOnNewline:!1});if(!C.found){if(!C.anchor&&!C.tag&&!x&&!S){i===0&&C.comma?m(C.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${_}`):i<p.items.length-1&&m(C.start,`UNEXPECTED_TOKEN`,`Unexpected empty item in ${_}`),C.comment&&(v.comment?v.comment+=`
|
|
49
49
|
`+C.comment:v.comment=C.comment),b=C.end;continue}!g&&f.options.strict&&s.containsNewline(y)&&m(y,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`)}if(i===0)C.comma&&m(C.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${_}`);else if(C.comma||m(C.start,`MISSING_CHAR`,`Missing , between ${_} items`),C.comment){let e=``;loop:for(let t of h)switch(t.type){case`comma`:case`space`:break;case`comment`:e=t.source.substring(1);break loop;default:break loop}if(e){let n=v.items[v.items.length-1];t.isPair(n)&&(n=n.value??n.key),n.comment?n.comment+=`
|
|
50
50
|
`+e:n.comment=e,C.comment=C.comment.substring(e.length+1)}}if(!g&&!x&&!C.found){let t=S?e(f,S,C,m):d(f,C.end,x,null,C,m);v.items.push(t),b=t.range[2],u(S)&&m(t.range,`BLOCK_IN_FLOW`,l)}else{f.atKey=!0;let t=C.end,i=y?e(f,y,C,m):d(f,t,h,null,C,m);u(y)&&m(i.range,`BLOCK_IN_FLOW`,l),f.atKey=!1;let s=o.resolveProps(x??[],{flow:_,indicator:`map-value-ind`,next:S,offset:i.range[2],onError:m,parentIndent:p.indent,startOnNewline:!1});if(s.found){if(!g&&!C.found&&f.options.strict){if(x)for(let e of x){if(e===s.found)break;if(e.type===`newline`){m(e,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`);break}}C.start<s.found.offset-1024&&m(s.found,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit flow sequence key`)}}else S&&(`source`in S&&S.source?.[0]===`:`?m(S,`MISSING_CHAR`,`Missing space after : in ${_}`):m(s.start,`MISSING_CHAR`,`Missing , or : between ${_} items`));let w=S?e(f,S,s,m):s.found?d(f,s.end,x,null,s,m):null;w?u(S)&&m(w.range,`BLOCK_IN_FLOW`,l):s.comment&&(i.comment?i.comment+=`
|
|
51
51
|
`+s.comment:i.comment=s.comment);let T=new n.Pair(i,w);if(f.options.keepSourceTokens&&(T.srcToken=a),g){let e=v;c.mapIncludes(f,e.items,i)&&m(t,`DUPLICATE_KEY`,`Map keys must be unique`),e.items.push(T)}else{let e=new r.YAMLMap(f.schema);e.flow=!0,e.items.push(T);let t=(w??i).range;e.range=[i.range[0],t[1],t[2]],v.items.push(e)}b=w?w.range[2]:s.end}}let x=g?`}`:`]`,[S,...C]=p.end,w=b;if(S?.source===x)w=S.offset+S.source.length;else{let e=_[0].toUpperCase()+_.substring(1),t=y?`${e} must end with a ${x}`:`${e} in block collection must be sufficiently indented and end with a ${x}`;m(b,y?`MISSING_CHAR`:`BAD_INDENT`,t),S&&S.source.length!==1&&C.unshift(S)}if(C.length>0){let e=a.resolveEnd(C,w,f.options.strict,m);e.comment&&(v.comment?v.comment+=`
|
|
52
|
-
`+e.comment:v.comment=e.comment),v.range=[p.offset,w,e.offset]}else v.range=[p.offset,w,w];return v}e.resolveFlowCollection=d})),
|
|
52
|
+
`+e.comment:v.comment=e.comment),v.range=[p.offset,w,e.offset]}else v.range=[p.offset,w,w];return v}e.resolveFlowCollection=d})),Da=n((e=>{var t=G(),n=q(),r=Y(),i=Z(),a=Ca(),o=wa(),s=Ea();function c(e,t,n,r,i,c){let l=n.type===`block-map`?a.resolveBlockMap(e,t,n,r,c):n.type===`block-seq`?o.resolveBlockSeq(e,t,n,r,c):s.resolveFlowCollection(e,t,n,r,c),u=l.constructor;return i===`!`||i===u.tagName?(l.tag=u.tagName,l):(i&&(l.tag=i),l)}function l(e,a,o,s,l){let u=s.tag,d=u?a.directives.tagName(u.source,e=>l(u,`TAG_RESOLVE_FAILED`,e)):null;if(o.type===`block-seq`){let{anchor:e,newlineAfterProp:t}=s,n=e&&u?e.offset>u.offset?e:u:e??u;n&&(!t||t.offset<n.offset)&&l(n,`MISSING_CHAR`,`Missing newline after block sequence props`)}let f=o.type===`block-map`?`map`:o.type===`block-seq`?`seq`:o.start.source===`{`?`map`:`seq`;if(!u||!d||d===`!`||d===r.YAMLMap.tagName&&f===`map`||d===i.YAMLSeq.tagName&&f===`seq`)return c(e,a,o,l,d);let p=a.schema.tags.find(e=>e.tag===d&&e.collection===f);if(!p){let t=a.schema.knownTags[d];if(t?.collection===f)a.schema.tags.push(Object.assign({},t,{default:!1})),p=t;else return t?l(u,`BAD_COLLECTION_TYPE`,`${t.tag} used for ${f} collection, but expects ${t.collection??`scalar`}`,!0):l(u,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${d}`,!0),c(e,a,o,l,d)}let m=c(e,a,o,l,d,p),h=p.resolve?.(m,e=>l(u,`TAG_RESOLVE_FAILED`,e),a.options)??m,g=t.isNode(h)?h:new n.Scalar(h);return g.range=m.range,g.tag=d,p?.format&&(g.format=p.format),g}e.composeCollection=l})),Oa=n((e=>{var t=q();function n(e,n,a){let o=n.offset,s=r(n,e.options.strict,a);if(!s)return{value:``,type:null,comment:``,range:[o,o,o]};let c=s.mode===`>`?t.Scalar.BLOCK_FOLDED:t.Scalar.BLOCK_LITERAL,l=n.source?i(n.source):[],u=l.length;for(let e=l.length-1;e>=0;--e){let t=l[e][1];if(t===``||t===`\r`)u=e;else break}if(u===0){let e=s.chomp===`+`&&l.length>0?`
|
|
53
53
|
`.repeat(Math.max(1,l.length-1)):``,t=o+s.length;return n.source&&(t+=n.source.length),{value:e,type:c,comment:s.comment,range:[o,t,t]}}let d=n.indent+s.indent,f=n.offset+s.length,p=0;for(let t=0;t<u;++t){let[n,r]=l[t];if(r===``||r===`\r`)s.indent===0&&n.length>d&&(d=n.length);else{n.length<d&&a(f+n.length,`MISSING_CHAR`,`Block scalars with more-indented leading empty lines must use an explicit indentation indicator`),s.indent===0&&(d=n.length),p=t,d===0&&!e.atRoot&&a(f,`BAD_INDENT`,`Block scalar values in collections must be indented`);break}f+=n.length+r.length+1}for(let e=l.length-1;e>=u;--e)l[e][0].length>d&&(u=e+1);let m=``,h=``,g=!1;for(let e=0;e<p;++e)m+=l[e][0].slice(d)+`
|
|
54
54
|
`;for(let e=p;e<u;++e){let[n,r]=l[e];f+=n.length+r.length+1;let i=r[r.length-1]===`\r`;if(i&&(r=r.slice(0,-1)),r&&n.length<d){let e=`Block scalar lines must not be less indented than their ${s.indent?`explicit indentation indicator`:`first line`}`;a(f-r.length-(i?2:1),`BAD_INDENT`,e),n=``}c===t.Scalar.BLOCK_LITERAL?(m+=h+n.slice(d)+r,h=`
|
|
55
55
|
`):n.length>d||r[0]===` `?(h===` `?h=`
|
|
@@ -64,7 +64,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
64
64
|
`+l[e][0].slice(d);m[m.length-1]!==`
|
|
65
65
|
`&&(m+=`
|
|
66
66
|
`);break;default:m+=`
|
|
67
|
-
`}let _=o+s.length+n.source.length;return{value:m,type:c,comment:s.comment,range:[o,_,_]}}function r({offset:e,props:t},n,r){if(t[0].type!==`block-scalar-header`)return r(t[0],`IMPOSSIBLE`,`Block scalar header not found`),null;let{source:i}=t[0],a=i[0],o=0,s=``,c=-1;for(let t=1;t<i.length;++t){let n=i[t];if(!s&&(n===`-`||n===`+`))s=n;else{let r=Number(n);!o&&r?o=r:c===-1&&(c=e+t)}}c!==-1&&r(c,`UNEXPECTED_TOKEN`,`Block scalar header includes extra characters: ${i}`);let l=!1,u=``,d=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case`space`:l=!0;case`newline`:d+=i.source.length;break;case`comment`:n&&!l&&r(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`),d+=i.source.length,u=i.source.substring(1);break;case`error`:r(i,`UNEXPECTED_TOKEN`,i.message),d+=i.source.length;break;default:{r(i,`UNEXPECTED_TOKEN`,`Unexpected token in block scalar header: ${i.type}`);let e=i.source;e&&typeof e==`string`&&(d+=e.length)}}}return{mode:a,indent:o,chomp:s,comment:u,length:d}}function i(e){let t=e.split(/\n( *)/),n=t[0],r=n.match(/^( *)/),i=[r?.[1]?[r[1],n.slice(r[1].length)]:[``,n]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}e.resolveBlockScalar=n})),
|
|
67
|
+
`}let _=o+s.length+n.source.length;return{value:m,type:c,comment:s.comment,range:[o,_,_]}}function r({offset:e,props:t},n,r){if(t[0].type!==`block-scalar-header`)return r(t[0],`IMPOSSIBLE`,`Block scalar header not found`),null;let{source:i}=t[0],a=i[0],o=0,s=``,c=-1;for(let t=1;t<i.length;++t){let n=i[t];if(!s&&(n===`-`||n===`+`))s=n;else{let r=Number(n);!o&&r?o=r:c===-1&&(c=e+t)}}c!==-1&&r(c,`UNEXPECTED_TOKEN`,`Block scalar header includes extra characters: ${i}`);let l=!1,u=``,d=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case`space`:l=!0;case`newline`:d+=i.source.length;break;case`comment`:n&&!l&&r(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`),d+=i.source.length,u=i.source.substring(1);break;case`error`:r(i,`UNEXPECTED_TOKEN`,i.message),d+=i.source.length;break;default:{r(i,`UNEXPECTED_TOKEN`,`Unexpected token in block scalar header: ${i.type}`);let e=i.source;e&&typeof e==`string`&&(d+=e.length)}}}return{mode:a,indent:o,chomp:s,comment:u,length:d}}function i(e){let t=e.split(/\n( *)/),n=t[0],r=n.match(/^( *)/),i=[r?.[1]?[r[1],n.slice(r[1].length)]:[``,n]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}e.resolveBlockScalar=n})),ka=n((e=>{var t=q(),n=Ta();function r(e,r,o){let{offset:c,type:l,source:u,end:d}=e,f,p,m=(e,t,n)=>o(c+e,t,n);switch(l){case`scalar`:f=t.Scalar.PLAIN,p=i(u,m);break;case`single-quoted-scalar`:f=t.Scalar.QUOTE_SINGLE,p=a(u,m);break;case`double-quoted-scalar`:f=t.Scalar.QUOTE_DOUBLE,p=s(u,m);break;default:return o(e,`UNEXPECTED_TOKEN`,`Expected a flow scalar value, but found: ${l}`),{value:``,type:null,comment:``,range:[c,c+u.length,c+u.length]}}let h=c+u.length,g=n.resolveEnd(d,h,r,o);return{value:p,type:f,comment:g.comment,range:[c,h,g.offset]}}function i(e,t){let n=``;switch(e[0]){case` `:n=`a tab character`;break;case`,`:n=`flow indicator character ,`;break;case`%`:n=`directive indicator character %`;break;case`|`:case`>`:n=`block scalar indicator ${e[0]}`;break;case`@`:case"`":n=`reserved character ${e[0]}`;break}return n&&t(0,`BAD_SCALAR_START`,`Plain value cannot start with ${n}`),o(e)}function a(e,t){return(e[e.length-1]!==`'`||e.length===1)&&t(e.length,`MISSING_CHAR`,`Missing closing 'quote`),o(e.slice(1,-1)).replace(/''/g,`'`)}function o(e){let t,n;try{t=RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
68
68
|
`,`sy`),n=RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
69
69
|
`,`sy`)}catch{t=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=t.exec(e);if(!r)return e;let i=r[1],a=` `,o=t.lastIndex;for(n.lastIndex=o;r=n.exec(e);)r[1]===``?a===`
|
|
70
70
|
`?i+=a:a=`
|
|
@@ -79,10 +79,10 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
79
79
|
`);)r===`
|
|
80
80
|
`&&(n+=`
|
|
81
81
|
`),t+=1,r=e[t+1];return n||=` `,{fold:n,offset:t}}let l={0:`\0`,a:`\x07`,b:`\b`,e:`\x1B`,f:`\f`,n:`
|
|
82
|
-
`,r:`\r`,t:` `,v:`\v`,N:`
`,_:`\xA0`,L:`\u2028`,P:`\u2029`," ":` `,'"':`"`,"/":`/`,"\\":`\\`," ":` `};function u(e,t,n,r){let i=e.substr(t,n),a=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{let i=e.substr(t-2,n+2);return r(t-2,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),i}}e.resolveFlowScalar=r})),
|
|
82
|
+
`,r:`\r`,t:` `,v:`\v`,N:`
`,_:`\xA0`,L:`\u2028`,P:`\u2029`," ":` `,'"':`"`,"/":`/`,"\\":`\\`," ":` `};function u(e,t,n,r){let i=e.substr(t,n),a=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{let i=e.substr(t-2,n+2);return r(t-2,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),i}}e.resolveFlowScalar=r})),Aa=n((e=>{var t=G(),n=q(),r=Oa(),i=ka();function a(e,a,c,l){let{value:u,type:d,comment:f,range:p}=a.type===`block-scalar`?r.resolveBlockScalar(e,a,l):i.resolveFlowScalar(a,e.options.strict,l),m=c?e.directives.tagName(c.source,e=>l(c,`TAG_RESOLVE_FAILED`,e)):null,h;h=e.options.stringKeys&&e.atKey?e.schema[t.SCALAR]:m?o(e.schema,u,m,c,l):a.type===`scalar`?s(e,u,a,l):e.schema[t.SCALAR];let g;try{let r=h.resolve(u,e=>l(c??a,`TAG_RESOLVE_FAILED`,e),e.options);g=t.isScalar(r)?r:new n.Scalar(r)}catch(e){let t=e instanceof Error?e.message:String(e);l(c??a,`TAG_RESOLVE_FAILED`,t),g=new n.Scalar(u)}return g.range=p,g.source=u,d&&(g.type=d),m&&(g.tag=m),h.format&&(g.format=h.format),f&&(g.comment=f),g}function o(e,n,r,i,a){if(r===`!`)return e[t.SCALAR];let o=[];for(let t of e.tags)if(!t.collection&&t.tag===r)if(t.default&&t.test)o.push(t);else return t;for(let e of o)if(e.test?.test(n))return e;let s=e.knownTags[r];return s&&!s.collection?(e.tags.push(Object.assign({},s,{default:!1,test:void 0})),s):(a(i,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${r}`,r!==`tag:yaml.org,2002:str`),e[t.SCALAR])}function s({atKey:e,directives:n,schema:r},i,a,o){let s=r.tags.find(t=>(t.default===!0||e&&t.default===`key`)&&t.test?.test(i))||r[t.SCALAR];if(r.compat){let e=r.compat.find(e=>e.default&&e.test?.test(i))??r[t.SCALAR];s.tag!==e.tag&&o(a,`TAG_RESOLVE_FAILED`,`Value may be parsed as either ${n.tagString(s.tag)} or ${n.tagString(e.tag)}`,!0)}return s}e.composeScalar=a})),ja=n((e=>{function t(e,t,n){if(t){n??=t.length;for(let r=n-1;r>=0;--r){let n=t[r];switch(n.type){case`space`:case`comment`:case`newline`:e-=n.source.length;continue}for(n=t[++r];n?.type===`space`;)e+=n.source.length,n=t[++r];break}}return e}e.emptyScalarPosition=t})),Ma=n((e=>{var t=Bi(),n=G(),r=Da(),i=Aa(),a=Ta(),o=ja();let s={composeNode:c,composeEmptyNode:l};function c(e,t,a,o){let c=e.atKey,{spaceBefore:d,comment:f,anchor:p,tag:m}=a,h,g=!0;switch(t.type){case`alias`:h=u(e,t,o),(p||m)&&o(t,`ALIAS_PROPS`,`An alias node must not specify any properties`);break;case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`block-scalar`:h=i.composeScalar(e,t,m,o),p&&(h.anchor=p.source.substring(1));break;case`block-map`:case`block-seq`:case`flow-collection`:try{h=r.composeCollection(s,e,t,a,o),p&&(h.anchor=p.source.substring(1))}catch(e){o(t,`RESOURCE_EXHAUSTION`,e instanceof Error?e.message:String(e))}break;default:o(t,`UNEXPECTED_TOKEN`,t.type===`error`?t.message:`Unsupported token (type: ${t.type})`),g=!1}return h??=l(e,t.offset,void 0,null,a,o),p&&h.anchor===``&&o(p,`BAD_ALIAS`,`Anchor cannot be an empty string`),c&&e.options.stringKeys&&(!n.isScalar(h)||typeof h.value!=`string`||h.tag&&h.tag!==`tag:yaml.org,2002:str`)&&o(m??t,`NON_STRING_KEY`,`With stringKeys, all keys must be strings`),d&&(h.spaceBefore=!0),f&&(t.type===`scalar`&&t.source===``?h.comment=f:h.commentBefore=f),e.options.keepSourceTokens&&g&&(h.srcToken=t),h}function l(e,t,n,r,{spaceBefore:a,comment:s,anchor:c,tag:l,end:u},d){let f={type:`scalar`,offset:o.emptyScalarPosition(t,n,r),indent:-1,source:``},p=i.composeScalar(e,f,l,d);return c&&(p.anchor=c.source.substring(1),p.anchor===``&&d(c,`BAD_ALIAS`,`Anchor cannot be an empty string`)),a&&(p.spaceBefore=!0),s&&(p.comment=s,p.range[2]=u),p}function u({options:e},{offset:n,source:r,end:i},o){let s=new t.Alias(r.substring(1));s.source===``&&o(n,`BAD_ALIAS`,`Alias cannot be an empty string`),s.source.endsWith(`:`)&&o(n+r.length-1,`BAD_ALIAS`,`Alias ending in : is ambiguous`,!0);let c=n+r.length,l=a.resolveEnd(i,c,e.strict,o);return s.range=[n,c,l.offset],l.comment&&(s.comment=l.comment),s}e.composeEmptyNode=l,e.composeNode=c})),Na=n((e=>{var t=_a(),n=Ma(),r=Ta(),i=ya();function a(e,a,{offset:o,start:s,value:c,end:l},u){let d=Object.assign({_directives:a},e),f=new t.Document(void 0,d),p={atKey:!1,atRoot:!0,directives:f.directives,options:f.options,schema:f.schema},m=i.resolveProps(s,{indicator:`doc-start`,next:c??l?.[0],offset:o,onError:u,parentIndent:0,startOnNewline:!0});m.found&&(f.directives.docStart=!0,c&&(c.type===`block-map`||c.type===`block-seq`)&&!m.hasNewline&&u(m.end,`MISSING_CHAR`,`Block collection cannot start on same line with directives-end marker`)),f.contents=c?n.composeNode(p,c,m,u):n.composeEmptyNode(p,m.end,s,null,m,u);let h=f.contents.range[2],g=r.resolveEnd(l,h,!1,u);return g.comment&&(f.comment=g.comment),f.range=[o,h,g.offset],f}e.composeDoc=a})),Pa=n((t=>{var n=e(`process`),r=Ii(),i=_a(),a=va(),o=G(),s=Na(),c=Ta();function l(e){if(typeof e==`number`)return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+(typeof n==`string`?n.length:1)]}function u(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;++i){let a=e[i];switch(a[0]){case`#`:t+=(t===``?``:r?`
|
|
83
83
|
|
|
84
84
|
`:`
|
|
85
|
-
`)+(a.substring(1)||` `),n=!0,r=!1;break;case`%`:e[i+1]?.[0]!==`#`&&(i+=1),n=!1;break;default:n||(r=!0),n=!1}}return{comment:t,afterEmptyLine:r}}t.Composer=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,r)=>{let i=l(e);r?this.warnings.push(new a.YAMLWarning(i,t,n)):this.errors.push(new a.YAMLParseError(i,t,n))},this.directives=new r.Directives({version:e.version||`1.2`}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:r}=u(this.prelude);if(n){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(r||e.directives.docStart||!i)e.commentBefore=n;else if(o.isCollection(i)&&!i.flow&&i.items.length>0){let e=i.items[0];o.isPair(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{let e=i.commentBefore;i.commentBefore=e?`${n}\n${e}`:n}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:u(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(n.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case`directive`:this.directives.add(e.source,(t,n,r)=>{let i=l(e);i[0]+=t,this.onError(i,`BAD_DIRECTIVE`,n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case`document`:{let t=s.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,`MISSING_CHAR`,`Missing directives-end/doc-start indicator line`),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case`byte-order-mark`:case`space`:break;case`comment`:case`newline`:this.prelude.push(e.source);break;case`error`:{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case`doc-end`:{if(!this.doc){this.errors.push(new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,`Unexpected doc-end without preceding document`));break}this.doc.directives.docEnd=!0;let t=c.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=Object.assign({_directives:this.directives},this.options),n=new i.Document(void 0,e);this.atDirectives&&this.onError(t,`MISSING_CHAR`,`Missing directives-end indicator line`),n.range=[0,t,t],this.decorate(n,!1),yield n}}}})),
|
|
85
|
+
`)+(a.substring(1)||` `),n=!0,r=!1;break;case`%`:e[i+1]?.[0]!==`#`&&(i+=1),n=!1;break;default:n||(r=!0),n=!1}}return{comment:t,afterEmptyLine:r}}t.Composer=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,r)=>{let i=l(e);r?this.warnings.push(new a.YAMLWarning(i,t,n)):this.errors.push(new a.YAMLParseError(i,t,n))},this.directives=new r.Directives({version:e.version||`1.2`}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:r}=u(this.prelude);if(n){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(r||e.directives.docStart||!i)e.commentBefore=n;else if(o.isCollection(i)&&!i.flow&&i.items.length>0){let e=i.items[0];o.isPair(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{let e=i.commentBefore;i.commentBefore=e?`${n}\n${e}`:n}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:u(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(n.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case`directive`:this.directives.add(e.source,(t,n,r)=>{let i=l(e);i[0]+=t,this.onError(i,`BAD_DIRECTIVE`,n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case`document`:{let t=s.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,`MISSING_CHAR`,`Missing directives-end/doc-start indicator line`),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case`byte-order-mark`:case`space`:break;case`comment`:case`newline`:this.prelude.push(e.source);break;case`error`:{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case`doc-end`:{if(!this.doc){this.errors.push(new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,`Unexpected doc-end without preceding document`));break}this.doc.directives.docEnd=!0;let t=c.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new a.YAMLParseError(l(e),`UNEXPECTED_TOKEN`,`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=Object.assign({_directives:this.directives},this.options),n=new i.Document(void 0,e);this.atDirectives&&this.onError(t,`MISSING_CHAR`,`Missing directives-end indicator line`),n.range=[0,t,t],this.decorate(n,!1),yield n}}}})),Fa=n((e=>{var t=Oa(),n=ka(),r=va(),i=Gi();function a(e,i=!0,a){if(e){let o=(e,t,n)=>{let i=typeof e==`number`?e:Array.isArray(e)?e[0]:e.offset;if(a)a(i,t,n);else throw new r.YAMLParseError([i,i+1],t,n)};switch(e.type){case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return n.resolveFlowScalar(e,i,o);case`block-scalar`:return t.resolveBlockScalar({options:{strict:i}},e,o)}}return null}function o(e,t){let{implicitKey:n=!1,indent:r,inFlow:a=!1,offset:o=-1,type:s=`PLAIN`}=t,c=i.stringifyString({type:s,value:e},{implicitKey:n,indent:r>0?` `.repeat(r):``,inFlow:a,options:{blockQuote:!0,lineWidth:-1}}),u=t.end??[{type:`newline`,offset:-1,indent:r,source:`
|
|
86
86
|
`}];switch(c[0]){case`|`:case`>`:{let e=c.indexOf(`
|
|
87
87
|
`),t=c.substring(0,e),n=c.substring(e+1)+`
|
|
88
88
|
`,i=[{type:`block-scalar-header`,offset:o,indent:r,source:t}];return l(i,u)||i.push({type:`newline`,offset:-1,indent:r,source:`
|
|
@@ -90,9 +90,9 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
90
90
|
`),r=t.substring(0,n),i=t.substring(n+1)+`
|
|
91
91
|
`;if(e.type===`block-scalar`){let t=e.props[0];if(t.type!==`block-scalar-header`)throw Error(`Invalid block scalar header`);t.source=r,e.source=i}else{let{offset:t}=e,n=`indent`in e?e.indent:-1,a=[{type:`block-scalar-header`,offset:t,indent:n,source:r}];l(a,`end`in e?e.end:void 0)||a.push({type:`newline`,offset:-1,indent:n,source:`
|
|
92
92
|
`});for(let t of Object.keys(e))t!==`type`&&t!==`offset`&&delete e[t];Object.assign(e,{type:`block-scalar`,indent:n,props:a,source:i})}}function l(e,t){if(t)for(let n of t)switch(n.type){case`space`:case`comment`:e.push(n);break;case`newline`:return e.push(n),!0}return!1}function u(e,t,n){switch(e.type){case`scalar`:case`double-quoted-scalar`:case`single-quoted-scalar`:e.type=n,e.source=t;break;case`block-scalar`:{let r=e.props.slice(1),i=t.length;e.props[0].type===`block-scalar-header`&&(i-=e.props[0].source.length);for(let e of r)e.offset+=i;delete e.props,Object.assign(e,{type:n,source:t,end:r});break}case`block-map`:case`block-seq`:{let r={type:`newline`,offset:e.offset+t.length,indent:e.indent,source:`
|
|
93
|
-
`};delete e.items,Object.assign(e,{type:n,source:t,end:[r]});break}default:{let r=`indent`in e?e.indent:-1,i=`end`in e&&Array.isArray(e.end)?e.end.filter(e=>e.type===`space`||e.type===`comment`||e.type===`newline`):[];for(let t of Object.keys(e))t!==`type`&&t!==`offset`&&delete e[t];Object.assign(e,{type:n,indent:r,source:t,end:i})}}}e.createScalarToken=o,e.resolveAsScalar=a,e.setScalarValue=s})),
|
|
93
|
+
`};delete e.items,Object.assign(e,{type:n,source:t,end:[r]});break}default:{let r=`indent`in e?e.indent:-1,i=`end`in e&&Array.isArray(e.end)?e.end.filter(e=>e.type===`space`||e.type===`comment`||e.type===`newline`):[];for(let t of Object.keys(e))t!==`type`&&t!==`offset`&&delete e[t];Object.assign(e,{type:n,indent:r,source:t,end:i})}}}e.createScalarToken=o,e.resolveAsScalar=a,e.setScalarValue=s})),Ia=n((e=>{let t=e=>`type`in e?n(e):r(e);function n(e){switch(e.type){case`block-scalar`:{let t=``;for(let r of e.props)t+=n(r);return t+e.source}case`block-map`:case`block-seq`:{let t=``;for(let n of e.items)t+=r(n);return t}case`flow-collection`:{let t=e.start.source;for(let n of e.items)t+=r(n);for(let n of e.end)t+=n.source;return t}case`document`:{let t=r(e);if(e.end)for(let n of e.end)t+=n.source;return t}default:{let t=e.source;if(`end`in e&&e.end)for(let n of e.end)t+=n.source;return t}}}function r({start:e,key:t,sep:r,value:i}){let a=``;for(let t of e)a+=t.source;if(t&&(a+=n(t)),r)for(let e of r)a+=e.source;return i&&(a+=n(i)),a}e.stringify=t})),La=n((e=>{let t=Symbol(`break visit`),n=Symbol(`skip children`),r=Symbol(`remove item`);function i(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),a(Object.freeze([]),e,t)}i.BREAK=t,i.SKIP=n,i.REMOVE=r,i.itemAtPath=(e,t)=>{let n=e;for(let[e,r]of t){let t=n?.[e];if(t&&`items`in t)n=t.items[r];else return}return n},i.parentCollection=(e,t)=>{let n=i.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],a=n?.[r];if(a&&`items`in a)return a;throw Error(`Parent collection not found`)};function a(e,n,i){let o=i(n,e);if(typeof o==`symbol`)return o;for(let s of[`key`,`value`]){let c=n[s];if(c&&`items`in c){for(let n=0;n<c.items.length;++n){let o=a(Object.freeze(e.concat([[s,n]])),c.items[n],i);if(typeof o==`number`)n=o-1;else if(o===t)return t;else o===r&&(c.items.splice(n,1),--n)}typeof o==`function`&&s===`key`&&(o=o(n,e))}}return typeof o==`function`?o(n,e):o}e.visit=i})),Ra=n((e=>{var t=Fa(),n=Ia(),r=La();let i=e=>!!e&&`items`in e,a=e=>!!e&&(e.type===`scalar`||e.type===`single-quoted-scalar`||e.type===`double-quoted-scalar`||e.type===`block-scalar`);function o(e){switch(e){case``:return`<BOM>`;case``:return`<DOC>`;case``:return`<FLOW_END>`;case``:return`<SCALAR>`;default:return JSON.stringify(e)}}function s(e){switch(e){case``:return`byte-order-mark`;case``:return`doc-mode`;case``:return`flow-error-end`;case``:return`scalar`;case`---`:return`doc-start`;case`...`:return`doc-end`;case``:case`
|
|
94
94
|
`:case`\r
|
|
95
|
-
`:return`newline`;case`-`:return`seq-item-ind`;case`?`:return`explicit-key-ind`;case`:`:return`map-value-ind`;case`{`:return`flow-map-start`;case`}`:return`flow-map-end`;case`[`:return`flow-seq-start`;case`]`:return`flow-seq-end`;case`,`:return`comma`}switch(e[0]){case` `:case` `:return`space`;case`#`:return`comment`;case`%`:return`directive-line`;case`*`:return`alias`;case`&`:return`anchor`;case`!`:return`tag`;case`'`:return`single-quoted-scalar`;case`"`:return`double-quoted-scalar`;case`|`:case`>`:return`block-scalar-header`}return null}e.createScalarToken=t.createScalarToken,e.resolveAsScalar=t.resolveAsScalar,e.setScalarValue=t.setScalarValue,e.stringify=n.stringify,e.visit=r.visit,e.BOM=``,e.DOCUMENT=``,e.FLOW_END=``,e.SCALAR=``,e.isCollection=i,e.isScalar=a,e.prettyToken=o,e.tokenType=s})),
|
|
95
|
+
`:return`newline`;case`-`:return`seq-item-ind`;case`?`:return`explicit-key-ind`;case`:`:return`map-value-ind`;case`{`:return`flow-map-start`;case`}`:return`flow-map-end`;case`[`:return`flow-seq-start`;case`]`:return`flow-seq-end`;case`,`:return`comma`}switch(e[0]){case` `:case` `:return`space`;case`#`:return`comment`;case`%`:return`directive-line`;case`*`:return`alias`;case`&`:return`anchor`;case`!`:return`tag`;case`'`:return`single-quoted-scalar`;case`"`:return`double-quoted-scalar`;case`|`:case`>`:return`block-scalar-header`}return null}e.createScalarToken=t.createScalarToken,e.resolveAsScalar=t.resolveAsScalar,e.setScalarValue=t.setScalarValue,e.stringify=n.stringify,e.visit=r.visit,e.BOM=``,e.DOCUMENT=``,e.FLOW_END=``,e.SCALAR=``,e.isCollection=i,e.isScalar=a,e.prettyToken=o,e.tokenType=s})),za=n((e=>{var t=Ra();function n(e){switch(e){case void 0:case` `:case`
|
|
96
96
|
`:case`\r`:case` `:return!0;default:return!1}}let r=new Set(`0123456789ABCDEFabcdef`),i=new Set(`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()`),a=new Set(`,[]{}`),o=new Set(` ,[]{}
|
|
97
97
|
\r `),s=e=>!e||o.has(e);e.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer=``,this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(typeof e!=`string`)throw TypeError(`source is not a string`);this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=this.next??`stream`;for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===` `||t===` `;)t=this.buffer[++e];return!t||t===`#`||t===`
|
|
98
98
|
`?!0:t===`\r`?this.buffer[e+1]===`
|
|
@@ -111,9 +111,9 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
111
111
|
`,t=this.buffer[i+1]):r=i),t===`#`||e&&a.has(t))break;if(o===`
|
|
112
112
|
`){let e=this.continueScalar(i+1);if(e===-1)break;i=Math.max(i,e-2)}}else{if(e&&a.has(o))break;r=i}return!o&&!this.atEnd?this.setNext(`plain-scalar`):(yield t.SCALAR,yield*this.pushToIndex(r+1,!0),e?`flow`:`doc`)}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield``),0)}*pushIndicators(){let e=0;loop:for(;;){switch(this.charAt(0)){case`!`:e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue loop;case`&`:e+=yield*this.pushUntil(s),e+=yield*this.pushSpaces(!0);continue loop;case`-`:case`?`:case`:`:{let t=this.flowLevel>0,r=this.charAt(1);if(n(r)||t&&a.has(r)){t?this.flowKey&&=!1:this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue loop}}}break loop}return e}*pushTag(){if(this.charAt(1)===`<`){let e=this.pos+2,t=this.buffer[e];for(;!n(t)&&t!==`>`;)t=this.buffer[++e];return yield*this.pushToIndex(t===`>`?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(i.has(t))t=this.buffer[++e];else if(t===`%`&&r.has(this.buffer[e+1])&&r.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
|
|
113
113
|
`?yield*this.pushCount(1):e===`\r`&&this.charAt(1)===`
|
|
114
|
-
`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===` `||e&&n===` `);let r=t-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=t),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}})),
|
|
114
|
+
`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===` `||e&&n===` `);let r=t-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=t),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}})),Ba=n((e=>{e.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t<n;){let r=t+n>>1;this.lineStarts[r]<e?t=r+1:n=r}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let r=this.lineStarts[t-1];return{line:t,col:e-r+1}}}}})),Va=n((t=>{var n=e(`process`),r=Ra(),i=za();function a(e,t){for(let n=0;n<e.length;++n)if(e[n].type===t)return!0;return!1}function o(e){for(let t=0;t<e.length;++t)switch(e[t].type){case`space`:case`comment`:case`newline`:break;default:return t}return-1}function s(e){switch(e?.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`flow-collection`:return!0;default:return!1}}function c(e){switch(e.type){case`document`:return e.start;case`block-map`:{let t=e.items[e.items.length-1];return t.sep??t.start}case`block-seq`:return e.items[e.items.length-1].start;default:return[]}}function l(e){if(e.length===0)return[];let t=e.length;loop:for(;--t>=0;)switch(e[t].type){case`doc-start`:case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:case`newline`:break loop}for(;e[++t]?.type===`space`;);return e.splice(t,e.length)}function u(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n<t.length;++n)e.push(t[n])}function d(e){if(e.start.type===`flow-seq-start`)for(let t of e.items)t.sep&&!t.value&&!a(t.start,`explicit-key-ind`)&&!a(t.sep,`map-value-ind`)&&(t.key&&(t.value=t.key),delete t.key,s(t.value)?t.value.end?u(t.value.end,t.sep):t.value.end=t.sep:u(t.start,t.sep),delete t.sep)}t.Parser=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source=``,this.type=``,this.lexer=new i.Lexer,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,n.env.LOG_TOKENS&&console.log(`|`,r.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=r.tokenType(e);if(!t){let t=`Not a YAML token: ${e}`;yield*this.pop({type:`error`,offset:this.offset,message:t,source:e}),this.offset+=e.length}else if(t===`scalar`)this.atNewLine=!1,this.atScalar=!0,this.type=`scalar`;else{switch(this.type=t,yield*this.step(),t){case`newline`:this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case`space`:this.atNewLine&&e[0]===` `&&(this.indent+=e.length);break;case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:this.atNewLine&&(this.indent+=e.length);break;case`doc-mode`:case`flow-error-end`:return;default:this.atNewLine=!1}this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type===`doc-end`&&e?.type!==`doc-end`){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:`doc-end`,offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case`document`:return yield*this.document(e);case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return yield*this.scalar(e);case`block-scalar`:return yield*this.blockScalar(e);case`block-map`:return yield*this.blockMap(e);case`block-seq`:return yield*this.blockSequence(e);case`flow-collection`:return yield*this.flowCollection(e);case`doc-end`:return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(!t)yield{type:`error`,offset:this.offset,source:``,message:`Tried to pop an empty stack`};else if(this.stack.length===0)yield t;else{let e=this.peek(1);switch(t.type===`block-scalar`?t.indent=`indent`in e?e.indent:0:t.type===`flow-collection`&&e.type===`document`&&(t.indent=0),t.type===`flow-collection`&&d(t),e.type){case`document`:e.value=t;break;case`block-scalar`:e.props.push(t);break;case`block-map`:{let n=e.items[e.items.length-1];if(n.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=t;else{Object.assign(n,{key:t,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case`block-seq`:{let n=e.items[e.items.length-1];n.value?e.items.push({start:[],value:t}):n.value=t;break}case`flow-collection`:{let n=e.items[e.items.length-1];!n||n.value?e.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((e.type===`document`||e.type===`block-map`||e.type===`block-seq`)&&(t.type===`block-map`||t.type===`block-seq`)){let n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&o(n.start)===-1&&(t.indent===0||n.start.every(e=>e.type!==`comment`||e.indent<t.indent))&&(e.type===`document`?e.end=n.start:e.items.push({start:n.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case`directive-line`:yield{type:`directive`,offset:this.offset,source:this.source};return;case`byte-order-mark`:case`space`:case`comment`:case`newline`:yield this.sourceToken;return;case`doc-mode`:case`doc-start`:{let e={type:`document`,offset:this.offset,start:[]};this.type===`doc-start`&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case`doc-start`:o(e.start)===-1?e.start.push(this.sourceToken):(yield*this.pop(),yield*this.step());return;case`anchor`:case`tag`:case`space`:case`comment`:case`newline`:e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type===`map-value-ind`){let t=l(c(this.peek(2))),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let r={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:t,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case`space`:case`comment`:case`newline`:e.props.push(this.sourceToken);return;case`scalar`:if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf(`
|
|
115
115
|
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
|
|
116
116
|
`,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(this.onKeyLine=!1,t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&this.type!==`seq-item-ind`,i=[];if(r&&t.sep&&!t.value){let n=[];for(let r=0;r<t.sep.length;++r){let i=t.sep[r];switch(i.type){case`newline`:n.push(r);break;case`space`:break;case`comment`:i.indent>e.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case`anchor`:case`tag`:r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`explicit-key-ind`:!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case`map-value-ind`:if(t.explicitKey)if(!t.sep)if(a(t.start,`newline`))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=l(t.start);this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(a(t.sep,`map-value-ind`))this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(s(t.key)&&!a(t.sep,`newline`)){let e=l(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):a(t.sep,`map-value-ind`)?this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if(r.type===`block-seq`){if(!t.explicitKey&&t.sep&&!a(t.sep,`newline`)){yield*this.pop({type:`error`,offset:this.offset,message:`Unexpected block-seq-ind on same line with key`,source:this.source});return}}else n&&e.items.push({start:i});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case`anchor`:case`tag`:if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case`seq-item-ind`:if(this.indent!==e.indent)break;t.value||a(t.start,`seq-item-ind`)?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type===`flow-error-end`){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===`flow-collection`)}else if(e.end.length===0){switch(this.type){case`comma`:case`explicit-key-ind`:!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case`map-value-ind`:!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case`space`:case`comment`:case`newline`:case`anchor`:case`tag`:!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case`flow-map-end`:case`flow-seq-end`:e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(t.type===`block-map`&&(this.type===`map-value-ind`&&t.indent===e.indent||this.type===`newline`&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type===`map-value-ind`&&t.type!==`flow-collection`){let n=l(c(t));d(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let i={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
|
|
117
117
|
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
|
|
118
|
-
`,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=l(c(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=l(c(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}}})),
|
|
119
|
-
`)}`)}};async function Ya(e){try{return await R.promises.readFile(e,`utf-8`)}catch(t){if(Xa(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${Ka(t)}`,{cause:t})}}function Xa(e){return Wa(e)||Ga(e)}var Za=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ha.parse)(await t.text());return rn.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},Qa=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await R.promises.readFile(this.cachePath,`utf-8`),t=$a(JSON.parse(e)),n=rn.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await R.promises.mkdir(I.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await R.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function $a(e){return $e(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const eo=P.object({name:P.string().optional(),models:P.array(tt)}),to=P.object({name:P.string().optional(),models:P.record(P.string(),an)}),no=P.object({$schema:P.literal(`makaio/model-registry/v2`).optional(),updatedAt:P.string().datetime().optional(),labs:P.record(P.string(),eo).optional(),providers:P.record(P.string(),to).optional()}),ro=P.object({name:P.string().optional(),models:P.array(P.record(P.string(),P.unknown()))}),io=P.object({name:P.string().optional(),models:P.record(P.string(),an)});var ao=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=oo();return await Promise.all([this.loadLabDirectory(I.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(I.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await qa(e),r=await Promise.all(n.map(async e=>({labId:I.basename(e,`.yaml`),lab:await ho(e,I.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)bo(t,e,n)}async loadProviderDirectory(e,t){let n=await qa(e),r=await Promise.all(n.map(async e=>({providerId:I.basename(e,`.yaml`),provider:await go(e)})));for(let{providerId:e,provider:n}of r)xo(t,e,n)}async loadFlatFiles(e){let t=await qa(this.userModelsDir);for(let n of t){let t=I.basename(n,`.yaml`),r=(0,Ha.parse)(await R.promises.readFile(n,`utf-8`));if(!$e(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){yo(e,no.parse(r));continue}if(Array.isArray(r.models)){bo(e,t,_o(r,t));continue}if($e(r.models)){xo(e,t,vo(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function oo(){return{labs:{},providers:{}}}function so(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:So(co(e.labs,t.labs)),providers:Co(fo(e.providers,t.providers))}}function co(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:lo(t.models,r.models)}}return n}function lo(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=uo(n[t],e)}return n}function uo(e,t){let n={...e,...t},r=on(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function fo(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:po(t.models,r.models)}}return n}function po(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:mo(t,r)}return n}function mo(e,t){let n={...e,...t},r=on(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function ho(e,t){return _o((0,Ha.parse)(await R.promises.readFile(e,`utf-8`)),t)}async function go(e){return vo((0,Ha.parse)(await R.promises.readFile(e,`utf-8`)))}function _o(e,t){let n=ro.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>tt.parse({...e,labId:t}))}}function vo(e){let t=io.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function yo(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=co(e.labs,t.labs)),t.providers!==void 0&&(e.providers=fo(e.providers,t.providers))}function bo(e,t,n){e.labs=co(e.labs,{[t]:n})}function xo(e,t,n){e.providers=fo(e.providers,{[t]:n})}function So(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function Co(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var wo=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=so(e,await new ao(this.userModelsDir).fetch());return rn.parse(t)}async validateDirectory(e){await qa(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await F.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Wa(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},To=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function Eo(e){return Do(e).root}function Do(e){let t=I.resolve(e);for(;;){let n=I.join(t,`package.json`);if(R.existsSync(n))try{let e=R.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:Bn(r)}}catch{}let r=I.dirname(t);if(r===t)throw new To(e);t=r}}const Oo=`MAKAIO_MODEL_REGISTRY_SOURCES`;function ko(e){let t=I.join(e.makaioHome,`models`),n=I.join(e.makaioHome,`cache`,`model-registry`);return new wo(t,new nn(Ao(e).map(e=>No(e,n))))}function Ao(e){let t=Mo(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return Io([...jo(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function jo(e){let t=e[Oo]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${Oo} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${Oo} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function Mo(e,t=process.cwd()){let n=I.resolve(e,`static/model-registry.yaml`),r=I.resolve(t,`static/model-registry.yaml`);try{return Io([r,I.resolve(Eo(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof To)return Io([r,n]);throw e}}function No(e,t){let n=Fo(e);return n?.protocol===`http:`||n?.protocol===`https:`?new tn(new Za(n.href),new Qa(I.join(t,`${Ro(n.href)}.json`),{trackFetchedAt:!0})):new Ja(Po(e,n))}function Po(e,t){if(t?.protocol===`file:`)return Ke(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return I.isAbsolute(e)?e:I.resolve(e)}function Fo(e){try{return new URL(e)}catch{return}}function Io(e){let t=new Set,n=[];for(let r of e){let e=Lo(r);t.has(e)||(t.add(e),n.push(r))}return n}function Lo(e){let t=Fo(e);return t?.protocol===`file:`?`file:${I.resolve(Ke(t))}`:t===void 0?`file:${I.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function Ro(e){return Ye(`sha256`).update(e).digest(`hex`).slice(0,16)}async function zo(e){let t=I.resolve(e.frameworkPackagePath);await Bo(t);let n=I.join(e.makaioHome,`node_modules`,`@makaio`),r=I.join(n,`framework`);await F.mkdir(n,{recursive:!0}),!await Vo(r,t)&&(await F.rm(r,{recursive:!0,force:!0}),await F.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Bo(e){let t=I.join(e,`package.json`),n=await F.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Vo(e,t){try{return(await F.lstat(e)).isSymbolicLink()?await F.realpath(e)===await F.realpath(t):!1}catch(e){if(Ho(e))return!1;throw e}}function Ho(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Uo(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=Vn({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function Wo(e){return`/extensions/${e}/browser`}function Go(e,t){return`extensions/${e}/browser/${qo(t)}`}function Ko(e,t){return`/${Go(e,t)}.js`}function qo(e){let t=e.replaceAll(L.win32.sep,L.posix.sep),n=L.posix.basename(t),r=L.posix.extname(n);return r?n.slice(0,-r.length):n}function Jo(e,t,n={}){let{createMount:r=Uo}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=Se(`browser`,n),o=N(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=I.dirname(o),c=Wo(e.name),l=Ko(e.name,a);return _e({...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}},e)})}function Yo(e,t={}){let{createMount:n=Uo,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!ve(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=Se(`browser`,s),l=N(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=I.dirname(l),d=Wo(e.name),f=Ko(e.name,c);i.push({...j(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function Xo(){let e=I.dirname(Ke(import.meta.url)),t=I.resolve(e,`..`,`package.json`),n=await F.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function Zo(e){let t={packages:[],automationCronSchedulerHostPolicies:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await Xo();try{if(n=await e.extensionOptions.extensions.discover(),n=Qo(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>ve(e,r));if(i.length>0)try{t=await M(i,{frameworkVersion:r})}catch(e){if(e instanceof we)throw e;console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=Jo(i,t.packages,a),s=Yo(i,a),c=await be(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function Qo(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function $o(e,t){let n=Bt(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=es(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=Qn({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await cr(e,o,t)}}function es(e,t){let n=Ye(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function ts(e,t){return new yt({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const ns=ct.fact.$meta.namespace,rs=ct.fact.subject;function is(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function as(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function os(e,t,n,r,i){let a=as(i),o=_t({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:ns,subject:rs,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function ss(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{is(e,i)&&os(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function cs(e,...t){return async n=>{let r=await e(n);if(r!==void 0)return r;for(let e of t){let t=await e?.(n);if(t!==void 0)return t}}}function ls(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function us(e,t,n,r){let i=r.makaioHome??he(),c=xr(r,i),m=x(),_=r.peerSigningKeyResolver,v=[];try{if(r.lanBind&&e.dispatchingAuth&&!_)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);let y=r.configProvider,b=y??new br(new ur(i),i),x=await b.getConfig({mode:`local`}),w=r.machineIdentity??await xn(I.join(i,`keys`)),E=y?await y.getMachineId():w.machineId;if(w.machineId!==E)throw Error(`[boot] Config provider machineId '${E}' does not match runtime machine identity '${w.machineId}'`);console.info(`[boot] Config resolved (mode=%s)`,x.mode);let D=ht;if(D.registerNamespaces(ot),D.registerNamespaces(st),D.registerNamespaces([St,En,wt,Tt,ae]),D.registerNamespaces(Kt),D.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=D.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});v.push(e)}if(r.upstreamTelemetry){let e=await ss(D,E,r.upstreamTelemetry);v.push(e.shutdown)}await D.emit(V.phase.busCreated,{machineId:E}),await e.connect(D,E),v.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:ee}=await kr({makaioHome:i,migrationsDir:r.centralMigrationsDir,database:r.database}),te=ee.db;console.info(`[boot] Database initialized`),v.push(()=>ee.close());let ie=[D.on(O.database,e=>{e.setResult({db:te})}),D.on(O.machineIdentity,e=>{e.setResult({identity:w})}),D.on(O.busPort,e=>{e.setResult({port:t})})],oe=!1,se=D.on(V.isReady,e=>{e.setResult({ready:oe,machineId:E})});v.push(()=>{oe=!1,se();for(let e of ie)e()}),await D.emit(V.phase.coreReady,{machineId:E}),console.info(`[boot] Core ready (machineId=%s)`,E);let k=I.dirname(Ke(import.meta.url)),ce=Pi(D,b);v.push(ce),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await zo({makaioHome:i,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let le=r.frameworkModuleResolver;if(le){try{await le.install()}catch(e){throw await Promise.resolve(le.uninstall()).catch(()=>void 0),e}v.push(()=>le.uninstall()),console.info(`[boot] Framework module resolver installed`)}let A={current:void 0},ue=ko({makaioHome:i,srcDir:k,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),de=process.env.USER??process.env.USERNAME??`unknown`;try{de=Wt.userInfo().username}catch{}let fe=r.frameworkVersion??await Xo(),{extensionLoadResult:pe,browserOnlyResult:me,extensionsWithCli:he,allExtensionPackages:ge}=await Zo({extensionOptions:c,skipExtensions:m,frameworkVersion:fe,createMount:r.createMount}),_e=d(process.platform,r.hostCapabilities),j=u({packages:ge,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:_e}),ve=ls(n,t),M=new Ct(D,{surface:r.surface??`headless`,db:te,extensionContextBase:{cwd:process.cwd(),platform:process.platform,homedir:Wt.homedir(),makaioHome:i,username:de,machineId:w.machineId,busUrl:ve,tryImport:p},runtimeEnvironment:_e,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadEnabled(e):void 0,runMigrations:e=>$o(te,e)}),ye=r.adapterConfigRepository??new vn({providerConfigsDir:I.join(i,`provider-configs`),adaptersDir:I.join(i,`adapters`)}),N=[ji,s,sn({definitions:j.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&N.push(mi({frameworkPeerRange:`^${fe}`,frameworkPackagePath:r.frameworkPackagePath,devPortalPackages:r.devPortalPackages}));let be={cwd:process.cwd()},xe=async e=>M.getExtensionService(In)?.resolveWorkspaceRoot(e),Se=cs(xe,r.piscinaWorkspaceRootResolver),Ce=cs(xe,r.workflowRunner?.mode===`piscina`?r.workflowRunner.resolveWorkspaceRoot:void 0,r.piscinaWorkspaceRootResolver),we=C({busUrl:ve,runtimeModuleDir:k,platformDefaults:be,workflowRunner:r.workflowRunner?.mode===`piscina`?{...r.workflowRunner,resolveWorkspaceRoot:Ce}:r.workflowRunner,makaioHome:i,bus:D,executionAttemptRepository:r.executionAttemptRepository,executionAttemptBootstrapTimeoutMs:r.executionAttemptBootstrapTimeoutMs,workflowMaterializationSpecResolvers:r.workflowMaterializationSpecResolvers}),{adapterSubsystemPackage:Te}=a({coordinator:M,configRepository:ye,platformDefaults:be});if(N.push(Te,...o(j),Ln(we),Xt(ue),Fn),process.platform===`darwin`){let{platformMacOSPackage:e}=await import(`../src-DdaPoQOD.mjs`);N.push(e)}let Ee=jn({hostPackages:[...r.automationCronSchedulerPackage?[r.automationCronSchedulerPackage]:[],...f(pe.automationCronSchedulerHostPolicies,{packages:ge,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:_e})],loadedPackages:[...N,...j]});Ee&&N.push(Ee);let De=[...N,...yn(j)],Oe=new Set(De.map(e=>e.name)),ke=Mi(Ni(pe.configDefaults,me.configDefaults,he.configDefaults,r.packageConfigDefaults??new Map),Oe);M.load(De,ke),M.registerContributionProcessor(Pn()),M.registerContributionProcessor(qt()),M.registerContributionProcessor(Jt()),M.registerContributionProcessor(Yt()),M.registerContributionProcessor(Nn()),M.registerContributionProcessor(Mn()),M.registerContributionProcessor(Qt()),M.registerContributionProcessor(en()),M.registerContributionProcessor($t()),M.registerContributionProcessor(Zt({forEachActiveExtension:e=>M.forEachActiveExtension(e)})),M.registerContributionProcessor(An({forEachActiveExtension:e=>M.forEachActiveExtension(e)})),r.routeGraphBuilder&&M.registerContributionProcessor(hi(r.routeGraphBuilder)),S(v,l(De,D,M)),v.push(()=>M.shutdown()),S(v,r.configureCoordinator?.({bus:D,coordinator:M,registerContributionProcessor:e=>{M.registerContributionProcessor(e)},getAdapterSubsystemService:()=>M.getExtensionService(_n)})),await M.startAll(),await D.emit(V.phase.servicesReady,{machineId:E});let Ae=M.list(),je=Ae.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,je.length),process.env.MAKAIO_DEBUG){let e=Ae.filter(e=>e.state===`failed`);for(let e of je)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}A.current=M.getExtensionService(_n);let Me=M.getExtensionService(In)?.executionAttemptAuthority;if(Me===void 0)console.info(`[boot] Piscina workflow provider not registered: no ExecutionAttemptAuthority configured`);else{let e=new ne({workerEntry:h({moduleDir:k,mode:I.basename(k)===`src`?`source`:`dist`}),manifest:{contributionRefs:[]},resolveWorkspaceRoot:Se}),t=new T({id:nt,displayName:`Local (Piscina)`,runner:e,bus:D,launchResolver:g(e=>Me.getInstruction(e))});try{await ut(D,t)}catch(t){throw await e.dispose().catch(()=>void 0),t}v.push(async()=>{try{await ft(D,t.id)}finally{await e.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,t.id)}v.push(Yn(D,()=>A.current?.getLoadedAdapters()??[],()=>A.current?.getAdapterInstances()??new Map,e=>M.getExtension(e)));let Ne=re({bus:D,currentMachineId:E,resolveLiveAdapterId:e=>A.current?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>A.current?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>A.current?.getLiveAdapterIdentities()??[]});if(v.push(Ne.cleanup),await D.broadcast(V.phase.coordinatorReady,{machineId:E}),r.lanBind&&e.dispatchingAuth&&_){let t=ts(w,_);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,E)}oe=!0,await D.emit(V.ready,{machineId:E}),console.info(`[boot] Runtime ready (machineId=%s)`,E);let Pe=Et([...v].reverse());return{port:t,host:n,machineId:E,bus:D,coordinator:M,trayEntries:M.trayEntries,windowRegistry:M.windowRegistry,shutdown:Pe}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[...v].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function ds(e){let t=new yr({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return us(t,n.port,n.address,{...e,hostCapabilities:i(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??ie()})}const fs=`MAKAIO_UPSTREAM_URL`,ps=`MAKAIO_UPSTREAM_SECRET`;function ms(e){return new xt({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new bt({secret:e.secret})})}function hs(e={}){let t=e.env??process.env,n=_s(t[ps]),r=gs(t[fs]);if(r===void 0){if(n!==void 0)throw Error(`${ps} requires ${fs}`);return}return{transport:(e.createTransport??ms)({url:r,...n===void 0?{}:{secret:n}})}}function gs(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function _s(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function vs(e){return{...await A(e),hostCapabilities:[`node`]}}const ys=Ge(We);var bs=class{async resolve(e){return pn(e,{resolveKeychain:this.resolveKeychain})}async resolveKeychain(e,t){try{let{stdout:n}=await ys(`security`,[`find-generic-password`,`-s`,e,`-a`,t,`-w`]);return n.trim()||null}catch{return null}}},xs=class{bus;fallbackProvider=new bs;channelPromise;constructor(e){this.bus=e}async resolve(e){let t=Ut(e);if(t){let{configId:e,key:n}=t;for(let t=0;t<2;t++)try{return(await(await this.getChannel()).request(at.get,{configId:e})).credentials?.[n]??null}catch(e){if(e instanceof mt&&(this.channelPromise=void 0,t===0))continue;throw e}}return e.startsWith(`stored:`)?(console.warn(`[StoredCredentialProvider] Unresolvable credential ref "${e}". Only the "stored:providerConfig:" format is supported. Re-save the credential using the current format.`),null):this.fallbackProvider.resolve(e)}getChannel(){return this.channelPromise??=this.openCredentialChannel().catch(e=>{throw this.channelPromise=void 0,e}),this.channelPromise}async openCredentialChannel(){let{token:e}=await this.bus.request(at.getChannelToken,{});return gt(this.bus.getContext(),`credentials`,{token:e,transports:[]})}};async function Ss(e){let{db:t}=await e.request(O.database,{});return t}const Cs=[`default`,`import`,`require`];var ws=class{frameworkDistPath=``;install(){}uninstall(){}},Ts=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=Ds(n);this.hooks=t({resolve(e,t,i){let a=Es(n,e,r);return a?{shortCircuit:!0,url:qe(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function Es(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=ks((n??Ds(e))[`./${r}`]);if(!a)return;let o=As(a);if(!o)return;let s=L.resolve(e,o);return js(s,e)?s:void 0}function Ds(e){let t=L.join(e,`..`,`package.json`);return Os(JSON.parse(Ze(t,`utf-8`)).exports)}function Os(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function ks(e){if(typeof e==`string`)return e;if(e)for(let t of Cs){let n=e[t];if(typeof n==`string`)return n}}function As(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function js(e,t){let n=L.relative(t,e);return n===``||!n.startsWith(`..`)&&!L.isAbsolute(n)}export{D as AttemptOutcomeDeliveryError,_ as AuthorityRequestDeliveryError,Me as BootstrapStartRefusedError,yr as BusServerTransportProvider,Ve as CODE_EXECUTION_DEFAULT_IDLE_TIMEOUT_MS,Le as CODE_EXECUTION_DEFAULT_MAX_ARGUMENT_BYTES,ze as CODE_EXECUTION_DEFAULT_MAX_CONCURRENCY,Ie as CODE_EXECUTION_DEFAULT_MAX_INVOCATIONS_PER_WORKER,Pe as CODE_EXECUTION_DEFAULT_MAX_PROGRAM_FILES,Re as CODE_EXECUTION_DEFAULT_MAX_QUEUED_INVOCATIONS,Be as CODE_EXECUTION_DEFAULT_MAX_RESULT_BYTES,Fe as CODE_EXECUTION_DEFAULT_MAX_SOURCE_BYTES,oe as ExplicitDescriptorDiscovery,ur as FileConfigStorage,Qa as FileRegistryCache,se as FilesystemDescriptorDiscovery,y as InProcessWorkflowRunner,ce as MAKAIO_CONFIG_FILE_ENV,le as MAKAIO_HOME_ENV,ps as MAKAIO_UPSTREAM_SECRET_ENV,fs as MAKAIO_UPSTREAM_URL_ENV,k as MergedDescriptorDiscovery,bs as NodeCredentialProvider,Ts as NodeFrameworkModuleResolver,ws as NoopFrameworkModuleResolver,Ae as OperationAdmissionRefusedError,te as OutcomeDeliveryError,He as PiscinaCodeExecutionProvider,De as RuntimeRegistrationRefusedError,O as RuntimeSubjects,xs as StoredCredentialProvider,ne as ThinWorkflowPiscinaRunner,To as WorkspaceRootNotFoundError,re as activateAdapterRuntimeIdentity,Te as admitWorkflowRunOperation,ss as attachUpstreamTelemetry,ds as bootMakaioRuntime,us as bootMakaioRuntimeCore,Oe as bootstrapWorkerRuntime,Jo as bridgeExtensionBrowserEntries,A as buildConfiguredRuntimeOptions,Go as buildExtensionBrowserRollupInputName,Ko as buildExtensionBrowserRuntimeEntrypoint,vs as buildNodeRuntimeOptions,Ne as captureWorkflowExecutionBusSecretCleanup,mr as createHonoRouteGraph,gr as createHttpRouteGraphBuilder,b as createIsolatedWorkflowRuntime,ee as createLocalGitWorkspacePreparation,ue as createMakaioConfigDiscovery,ie as createNodeClientBinaryStrategyDependencies,ms as createUpstreamTelemetryTransport,de as defineMakaioConfig,Se as entrypointStem,Eo as findWorkspaceRoot,Do as findWorkspaceRootInfo,Ss as getRuntimeDatabase,kr as initializeNodeDatabase,ke as installOperationDeliveryEndpoint,ye as isCliContributionLike,xe as isMakaioExtensionLike,c as isMissingOptionalRuntimePackage,Ce as isWithinDirectory,M as loadExtensions,fe as loadMakaioConfig,bn as loadOrCreateMachineIdentity,Sn as machineKeysExist,i as normalizeNodeHostCapabilities,pe as parseMakaioConfig,a as prepareAdapterRuntime,Xo as readFrameworkVersion,m as registerAdapterNameResolver,je as registerAndAdmitWorkflowRun,Yn as registerRuntimeHandlers,Ee as registerWorkerRuntime,Cr as resolveBundledMigrationsDir,N as resolveConventionEntrypoint,Es as resolveFrameworkSpecifier,pr as resolveListeningPort,me as resolveMakaioConfigPath,he as resolveMakaioHome,dr as resolveStaticModelRegistryPath,hs as resolveUpstreamTelemetryBootOptionsFromEnv,h as resolveWorkflowWorkerEntry,w as runHeadlessWorkflowWorker,lr as runMigrations,Wn as runRuntimeHandlerCleanups,E as runWorkloadInvocation,o as selectFrameworkCorePackages,ge as shouldIncludeExtension,v as submitAttemptOutcomeWithAck,p as tryImport,Cn as validateMachineKeys,fr as waitForServerListening};
|
|
118
|
+
`,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=l(c(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=l(c(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}}})),Ha=n((e=>{var t=Pa(),n=_a(),r=va(),i=Ji(),a=G(),o=Ba(),s=Va();function c(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new o.LineCounter||null,prettyErrors:t}}function l(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=Array.from(l.compose(o.parse(e)));if(a&&i)for(let t of u)t.errors.forEach(r.prettifyError(e,i)),t.warnings.forEach(r.prettifyError(e,i));return u.length>0?u:Object.assign([],{empty:!0},l.streamInfo())}function u(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=null;for(let t of l.compose(o.parse(e),!0,e.length))if(!u)u=t;else if(u.options.logLevel!==`silent`){u.errors.push(new r.YAMLParseError(t.range.slice(0,2),`MULTIPLE_DOCS`,`Source contains multiple documents; please use YAML.parseAllDocuments()`));break}return a&&i&&(u.errors.forEach(r.prettifyError(e,i)),u.warnings.forEach(r.prettifyError(e,i))),u}function d(e,t,n){let r;typeof t==`function`?r=t:n===void 0&&t&&typeof t==`object`&&(n=t);let a=u(e,n);if(!a)return null;if(a.warnings.forEach(e=>i.warn(a.options.logLevel,e)),a.errors.length>0){if(a.options.logLevel!==`silent`)throw a.errors[0];a.errors=[]}return a.toJS(Object.assign({reviver:r},n))}function f(e,t,r){let i=null;if(typeof t==`function`||Array.isArray(t)?i=t:r===void 0&&t&&(r=t),typeof r==`string`&&(r=r.length),typeof r==`number`){let e=Math.round(r);r=e<1?void 0:e>8?{indent:8}:{indent:e}}if(e===void 0){let{keepUndefined:e}=r??t??{};if(!e)return}return a.isDocument(e)&&!i?e.toString(r):new n.Document(e,i,r).toString(r)}e.parse=d,e.parseAllDocuments=l,e.parseDocument=u,e.stringify=f})),Ua=n((e=>{var t=Pa(),n=_a(),r=ha(),i=va(),a=Bi(),o=G(),s=J(),c=q(),l=Y(),u=Z();Ra();var d=za(),f=Ba(),p=Va(),m=Ha(),h=Fi();e.Composer=t.Composer,e.Document=n.Document,e.Schema=r.Schema,e.YAMLError=i.YAMLError,e.YAMLParseError=i.YAMLParseError,e.YAMLWarning=i.YAMLWarning,e.Alias=a.Alias,e.isAlias=o.isAlias,e.isCollection=o.isCollection,e.isDocument=o.isDocument,e.isMap=o.isMap,e.isNode=o.isNode,e.isPair=o.isPair,e.isScalar=o.isScalar,e.isSeq=o.isSeq,e.Pair=s.Pair,e.Scalar=c.Scalar,e.YAMLMap=l.YAMLMap,e.YAMLSeq=u.YAMLSeq,e.Lexer=d.Lexer,e.LineCounter=f.LineCounter,e.Parser=p.Parser,e.parse=m.parse,e.parseAllDocuments=m.parseAllDocuments,e.parseDocument=m.parseDocument,e.stringify=m.stringify,e.visit=h.visit,e.visitAsync=h.visitAsync}))();function Wa(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`}function Ga(e){return Wa(e)&&e.code===`ENOENT`}function Ka(e){return Wa(e)&&e.code===`ENOTDIR`}function qa(e){return e instanceof Error?e.message:String(e)}async function Ja(e){try{return(await z.promises.readdir(e)).filter(e=>e.endsWith(`.yaml`)).sort().map(t=>L.join(e,t))}catch(t){if(Ga(t))return[];throw Ka(t)?Error(`Invalid model registry directory ${e}: expected a directory.`,{cause:t}):t}}var Ya=class{seedPaths;constructor(e){this.seedPaths=Array.isArray(e)?e:[e]}async fetch(){for(let e of this.seedPaths){let t=await Xa(e);if(t!==void 0)try{return rn.parse((0,Ua.parse)(t))}catch(t){throw Error(`Invalid bundled model registry seed at ${e}: ${qa(t)}`,{cause:t})}}throw Error(`Bundled model registry seed not found. Tried:\n${this.seedPaths.map(e=>`- ${e}`).join(`
|
|
119
|
+
`)}`)}};async function Xa(e){try{return await z.promises.readFile(e,`utf-8`)}catch(t){if(Za(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${qa(t)}`,{cause:t})}}function Za(e){return Ga(e)||Ka(e)}var Qa=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ua.parse)(await t.text());return rn.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},$a=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await z.promises.readFile(this.cachePath,`utf-8`),t=eo(JSON.parse(e)),n=rn.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await z.promises.mkdir(L.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await z.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function eo(e){return $e(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const to=F.object({name:F.string().optional(),models:F.array(tt)}),no=F.object({name:F.string().optional(),models:F.record(F.string(),an)}),ro=F.object({$schema:F.literal(`makaio/model-registry/v2`).optional(),updatedAt:F.string().datetime().optional(),labs:F.record(F.string(),to).optional(),providers:F.record(F.string(),no).optional()}),io=F.object({name:F.string().optional(),models:F.array(F.record(F.string(),F.unknown()))}),ao=F.object({name:F.string().optional(),models:F.record(F.string(),an)});var oo=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=so();return await Promise.all([this.loadLabDirectory(L.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(L.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await Ja(e),r=await Promise.all(n.map(async e=>({labId:L.basename(e,`.yaml`),lab:await go(e,L.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)xo(t,e,n)}async loadProviderDirectory(e,t){let n=await Ja(e),r=await Promise.all(n.map(async e=>({providerId:L.basename(e,`.yaml`),provider:await _o(e)})));for(let{providerId:e,provider:n}of r)So(t,e,n)}async loadFlatFiles(e){let t=await Ja(this.userModelsDir);for(let n of t){let t=L.basename(n,`.yaml`),r=(0,Ua.parse)(await z.promises.readFile(n,`utf-8`));if(!$e(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){bo(e,ro.parse(r));continue}if(Array.isArray(r.models)){xo(e,t,vo(r,t));continue}if($e(r.models)){So(e,t,yo(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function so(){return{labs:{},providers:{}}}function co(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:Co(lo(e.labs,t.labs)),providers:wo(po(e.providers,t.providers))}}function lo(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:uo(t.models,r.models)}}return n}function uo(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=fo(n[t],e)}return n}function fo(e,t){let n={...e,...t},r=on(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function po(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:mo(t.models,r.models)}}return n}function mo(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:ho(t,r)}return n}function ho(e,t){let n={...e,...t},r=on(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function go(e,t){return vo((0,Ua.parse)(await z.promises.readFile(e,`utf-8`)),t)}async function _o(e){return yo((0,Ua.parse)(await z.promises.readFile(e,`utf-8`)))}function vo(e,t){let n=io.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>tt.parse({...e,labId:t}))}}function yo(e){let t=ao.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function bo(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=lo(e.labs,t.labs)),t.providers!==void 0&&(e.providers=po(e.providers,t.providers))}function xo(e,t,n){e.labs=lo(e.labs,{[t]:n})}function So(e,t,n){e.providers=po(e.providers,{[t]:n})}function Co(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function wo(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var To=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=co(e,await new oo(this.userModelsDir).fetch());return rn.parse(t)}async validateDirectory(e){await Ja(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await I.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Ga(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},Eo=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function Do(e){return Oo(e).root}function Oo(e){let t=L.resolve(e);for(;;){let n=L.join(t,`package.json`);if(z.existsSync(n))try{let e=z.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:Bn(r)}}catch{}let r=L.dirname(t);if(r===t)throw new Eo(e);t=r}}const ko=`MAKAIO_MODEL_REGISTRY_SOURCES`;function Ao(e){let t=L.join(e.makaioHome,`models`),n=L.join(e.makaioHome,`cache`,`model-registry`);return new To(t,new nn(jo(e).map(e=>Po(e,n))))}function jo(e){let t=No(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return Lo([...Mo(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function Mo(e){let t=e[ko]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${ko} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${ko} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function No(e,t=process.cwd()){let n=L.resolve(e,`static/model-registry.yaml`),r=L.resolve(t,`static/model-registry.yaml`);try{return Lo([r,L.resolve(Do(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof Eo)return Lo([r,n]);throw e}}function Po(e,t){let n=Io(e);return n?.protocol===`http:`||n?.protocol===`https:`?new tn(new Qa(n.href),new $a(L.join(t,`${zo(n.href)}.json`),{trackFetchedAt:!0})):new Ya(Fo(e,n))}function Fo(e,t){if(t?.protocol===`file:`)return Ke(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return L.isAbsolute(e)?e:L.resolve(e)}function Io(e){try{return new URL(e)}catch{return}}function Lo(e){let t=new Set,n=[];for(let r of e){let e=Ro(r);t.has(e)||(t.add(e),n.push(r))}return n}function Ro(e){let t=Io(e);return t?.protocol===`file:`?`file:${L.resolve(Ke(t))}`:t===void 0?`file:${L.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function zo(e){return Ye(`sha256`).update(e).digest(`hex`).slice(0,16)}async function Bo(e){let t=L.resolve(e.frameworkPackagePath);await Vo(t);let n=L.join(e.makaioHome,`node_modules`,`@makaio`),r=L.join(n,`framework`);await I.mkdir(n,{recursive:!0}),!await Ho(r,t)&&(await I.rm(r,{recursive:!0,force:!0}),await I.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Vo(e){let t=L.join(e,`package.json`),n=await I.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Ho(e,t){try{return(await I.lstat(e)).isSymbolicLink()?await I.realpath(e)===await I.realpath(t):!1}catch(e){if(Uo(e))return!1;throw e}}function Uo(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Wo(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=Vn({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function Go(e){return`/extensions/${e}/browser`}function Ko(e,t){return`extensions/${e}/browser/${Jo(t)}`}function qo(e,t){return`/${Ko(e,t)}.js`}function Jo(e){let t=e.replaceAll(R.win32.sep,R.posix.sep),n=R.posix.basename(t),r=R.posix.extname(n);return r?n.slice(0,-r.length):n}function Yo(e,t,n={}){let{createMount:r=Wo}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=Se(`browser`,n),o=P(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=L.dirname(o),c=Go(e.name),l=qo(e.name,a);return j({...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}},e)})}function Xo(e,t={}){let{createMount:n=Wo,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!M(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=Se(`browser`,s),l=P(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=L.dirname(l),d=Go(e.name),f=qo(e.name,c);i.push({...ve(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function Zo(){let e=L.dirname(Ke(import.meta.url)),t=L.resolve(e,`..`,`package.json`),n=await I.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function Qo(e){let t={packages:[],automationCronSchedulerHostPolicies:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await Zo();try{if(n=await e.extensionOptions.extensions.discover(),n=$o(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>M(e,r));if(i.length>0)try{t=await ye(i,{frameworkVersion:r})}catch(e){if(e instanceof we)throw e;console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=Yo(i,t.packages,a),s=Xo(i,a),c=await be(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function $o(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function es(e,t){let n=Bt(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=ts(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=Qn({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await cr(e,o,t)}}function ts(e,t){let n=Ye(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function ns(e,t){return new yt({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const rs=ct.fact.$meta.namespace,is=ct.fact.subject;function as(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function os(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function ss(e,t,n,r,i){let a=os(i),o=_t({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:rs,subject:is,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function cs(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{as(e,i)&&ss(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function ls(e,...t){return async n=>{let r=await e(n);if(r!==void 0)return r;for(let e of t){let t=await e?.(n);if(t!==void 0)return t}}}function us(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function ds(e,t,n,r){let s=r.makaioHome??ge(),p=xr(r,s),h=u(),g=r.peerSigningKeyResolver,_=[];try{if(r.lanBind&&e.dispatchingAuth&&!g)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);let u=r.configProvider,v=u??new br(new ur(s),s),y=await v.getConfig({mode:`local`}),x=r.machineIdentity??await xn(L.join(s,`keys`)),S=u?await u.getMachineId():x.machineId;if(x.machineId!==S)throw Error(`[boot] Config provider machineId '${S}' does not match runtime machine identity '${x.machineId}'`);console.info(`[boot] Config resolved (mode=%s)`,y.mode);let w=ht;if(w.registerNamespaces(ot),w.registerNamespaces(st),w.registerNamespaces([St,En,wt,Tt,se]),w.registerNamespaces(Kt),w.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=w.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});_.push(e)}if(r.upstreamTelemetry){let e=await cs(w,S,r.upstreamTelemetry);_.push(e.shutdown)}await w.emit(H.phase.busCreated,{machineId:S}),await e.connect(w,S),_.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:T}=await kr({makaioHome:s,migrationsDir:r.centralMigrationsDir,database:r.database}),ee=T.db;console.info(`[boot] Database initialized`),_.push(()=>T.close());let ne=[w.on(D.database,e=>{e.setResult({db:ee})}),w.on(D.machineIdentity,e=>{e.setResult({identity:x})}),w.on(D.busPort,e=>{e.setResult({port:t})})],oe=!1,ce=w.on(H.isReady,e=>{e.setResult({ready:oe,machineId:S})});_.push(()=>{oe=!1,ce();for(let e of ne)e()}),await w.emit(H.phase.coreReady,{machineId:S}),console.info(`[boot] Core ready (machineId=%s)`,S);let O=L.dirname(Ke(import.meta.url)),le=Pi(w,v);_.push(le),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await Bo({makaioHome:s,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let k=r.frameworkModuleResolver;if(k){try{await k.install()}catch(e){throw await Promise.resolve(k.uninstall()).catch(()=>void 0),e}_.push(()=>k.uninstall()),console.info(`[boot] Framework module resolver installed`)}let A={current:void 0},ue=Ao({makaioHome:s,srcDir:O,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),de=process.env.USER??process.env.USERNAME??`unknown`;try{de=Wt.userInfo().username}catch{}let fe=r.frameworkVersion??await Zo(),{extensionLoadResult:pe,browserOnlyResult:me,extensionsWithCli:he,allExtensionPackages:ge}=await Qo({extensionOptions:p,skipExtensions:h,frameworkVersion:fe,createMount:r.createMount}),_e=C(process.platform,r.hostCapabilities),j=f({packages:ge,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:_e}),ve=us(n,t),M=new Ct(w,{surface:r.surface??`headless`,db:ee,extensionContextBase:{cwd:process.cwd(),platform:process.platform,homedir:Wt.homedir(),makaioHome:s,username:de,machineId:x.machineId,busUrl:ve,tryImport:ae},runtimeEnvironment:_e,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadEnabled(e):void 0,runMigrations:e=>es(ee,e)}),ye=r.adapterConfigRepository??new vn({providerConfigsDir:L.join(s,`provider-configs`),adaptersDir:L.join(s,`adapters`)}),N=[ji,l,sn({definitions:j.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&N.push(mi({frameworkPeerRange:`^${fe}`,frameworkPackagePath:r.frameworkPackagePath,devPortalPackages:r.devPortalPackages}));let P={cwd:process.cwd()},be=async e=>M.getExtensionService(In)?.resolveWorkspaceRoot(e),xe=ls(be,r.piscinaWorkspaceRootResolver),Se=ls(be,r.workflowRunner?.mode===`piscina`?r.workflowRunner.resolveWorkspaceRoot:void 0,r.piscinaWorkspaceRootResolver),Ce=b({busUrl:ve,runtimeModuleDir:O,platformDefaults:P,workflowRunner:r.workflowRunner?.mode===`piscina`?{...r.workflowRunner,resolveWorkspaceRoot:Se}:r.workflowRunner,makaioHome:s,bus:w,executionAttemptRepository:r.executionAttemptRepository,executionAttemptBootstrapTimeoutMs:r.executionAttemptBootstrapTimeoutMs,workflowMaterializationSpecResolvers:r.workflowMaterializationSpecResolvers}),{adapterSubsystemPackage:we}=m({coordinator:M,configRepository:ye,platformDefaults:P});if(N.push(we,...c(j),Ln(Ce),Xt(ue),Fn),process.platform===`darwin`){let{platformMacOSPackage:e}=await import(`../src-D9PYcdDS.mjs`);N.push(e)}let Te=jn({hostPackages:[...r.automationCronSchedulerPackage?[r.automationCronSchedulerPackage]:[],...o(pe.automationCronSchedulerHostPolicies,{packages:ge,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:_e})],loadedPackages:[...N,...j]});Te&&N.push(Te);let Ee=[...N,...yn(j)],De=new Set(Ee.map(e=>e.name)),Oe=Mi(Ni(pe.configDefaults,me.configDefaults,he.configDefaults,r.packageConfigDefaults??new Map),De);M.load(Ee,Oe),M.registerContributionProcessor(Pn()),M.registerContributionProcessor(qt()),M.registerContributionProcessor(Jt()),M.registerContributionProcessor(Yt()),M.registerContributionProcessor(Nn()),M.registerContributionProcessor(Mn()),M.registerContributionProcessor(Qt()),M.registerContributionProcessor(en()),M.registerContributionProcessor($t()),M.registerContributionProcessor(Zt({forEachActiveExtension:e=>M.forEachActiveExtension(e)})),M.registerContributionProcessor(An({forEachActiveExtension:e=>M.forEachActiveExtension(e)})),r.routeGraphBuilder&&M.registerContributionProcessor(hi(r.routeGraphBuilder)),i(_,d(Ee,w,M)),_.push(()=>M.shutdown()),i(_,r.configureCoordinator?.({bus:w,coordinator:M,registerContributionProcessor:e=>{M.registerContributionProcessor(e)},getAdapterSubsystemService:()=>M.getExtensionService(_n)})),await M.startAll(),await w.emit(H.phase.servicesReady,{machineId:S});let ke=M.list(),Ae=ke.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,Ae.length),process.env.MAKAIO_DEBUG){let e=ke.filter(e=>e.state===`failed`);for(let e of Ae)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}A.current=M.getExtensionService(_n);let je=M.getExtensionService(In)?.executionAttemptAuthority;if(je===void 0)console.info(`[boot] Piscina workflow provider not registered: no ExecutionAttemptAuthority configured`);else{let e=new ie({workerEntry:re({moduleDir:O,mode:L.basename(O)===`src`?`source`:`dist`}),manifest:{contributionRefs:[]},resolveWorkspaceRoot:xe}),t=new te({id:nt,displayName:`Local (Piscina)`,runner:e,bus:w,launchResolver:E(e=>je.getInstruction(e))});try{await ut(w,t)}catch(t){throw await e.dispose().catch(()=>void 0),t}_.push(async()=>{try{await ft(w,t.id)}finally{await e.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,t.id)}_.push(Yn(w,()=>A.current?.getLoadedAdapters()??[],()=>A.current?.getAdapterInstances()??new Map,e=>M.getExtension(e)));let Me=a({bus:w,currentMachineId:S,resolveLiveAdapterId:e=>A.current?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>A.current?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>A.current?.getLiveAdapterIdentities()??[]});if(_.push(Me.cleanup),await w.broadcast(H.phase.coordinatorReady,{machineId:S}),r.lanBind&&e.dispatchingAuth&&g){let t=ns(x,g);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,S)}oe=!0,await w.emit(H.ready,{machineId:S}),console.info(`[boot] Runtime ready (machineId=%s)`,S);let Ne=Et([..._].reverse());return{port:t,host:n,machineId:S,bus:w,coordinator:M,trayEntries:M.trayEntries,windowRegistry:M.windowRegistry,shutdown:Ne}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[..._].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function fs(e){let t=new yr({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return ds(t,n.port,n.address,{...e,hostCapabilities:S(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??oe()})}const ps=`MAKAIO_UPSTREAM_URL`,ms=`MAKAIO_UPSTREAM_SECRET`;function hs(e){return new xt({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new bt({secret:e.secret})})}function gs(e={}){let t=e.env??process.env,n=vs(t[ms]),r=_s(t[ps]);if(r===void 0){if(n!==void 0)throw Error(`${ms} requires ${ps}`);return}return{transport:(e.createTransport??hs)({url:r,...n===void 0?{}:{secret:n}})}}function _s(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function vs(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function ys(e){return{...await ue(e),hostCapabilities:[`node`]}}const bs=Ge(We);var xs=class{async resolve(e){return pn(e,{resolveKeychain:this.resolveKeychain})}async resolveKeychain(e,t){try{let{stdout:n}=await bs(`security`,[`find-generic-password`,`-s`,e,`-a`,t,`-w`]);return n.trim()||null}catch{return null}}},Ss=class{bus;fallbackProvider=new xs;channelPromise;constructor(e){this.bus=e}async resolve(e){let t=Ut(e);if(t){let{configId:e,key:n}=t;for(let t=0;t<2;t++)try{return(await(await this.getChannel()).request(at.get,{configId:e})).credentials?.[n]??null}catch(e){if(e instanceof mt&&(this.channelPromise=void 0,t===0))continue;throw e}}return e.startsWith(`stored:`)?(console.warn(`[StoredCredentialProvider] Unresolvable credential ref "${e}". Only the "stored:providerConfig:" format is supported. Re-save the credential using the current format.`),null):this.fallbackProvider.resolve(e)}getChannel(){return this.channelPromise??=this.openCredentialChannel().catch(e=>{throw this.channelPromise=void 0,e}),this.channelPromise}async openCredentialChannel(){let{token:e}=await this.bus.request(at.getChannelToken,{});return gt(this.bus.getContext(),`credentials`,{token:e,transports:[]})}};async function Cs(e){let{db:t}=await e.request(D.database,{});return t}const ws=[`default`,`import`,`require`];var Ts=class{frameworkDistPath=``;install(){}uninstall(){}},Es=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=Os(n);this.hooks=t({resolve(e,t,i){let a=Ds(n,e,r);return a?{shortCircuit:!0,url:qe(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function Ds(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=As((n??Os(e))[`./${r}`]);if(!a)return;let o=js(a);if(!o)return;let s=R.resolve(e,o);return Ms(s,e)?s:void 0}function Os(e){let t=R.join(e,`..`,`package.json`);return ks(JSON.parse(Ze(t,`utf-8`)).exports)}function ks(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function As(e){if(typeof e==`string`)return e;if(e)for(let t of ws){let n=e[t];if(typeof n==`string`)return n}}function js(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function Ms(e,t){let n=R.relative(t,e);return n===``||!n.startsWith(`..`)&&!R.isAbsolute(n)}export{g as AttemptOutcomeDeliveryError,w as AuthorityRequestDeliveryError,Me as BootstrapStartRefusedError,yr as BusServerTransportProvider,Ve as CODE_EXECUTION_DEFAULT_IDLE_TIMEOUT_MS,Le as CODE_EXECUTION_DEFAULT_MAX_ARGUMENT_BYTES,ze as CODE_EXECUTION_DEFAULT_MAX_CONCURRENCY,Ie as CODE_EXECUTION_DEFAULT_MAX_INVOCATIONS_PER_WORKER,Pe as CODE_EXECUTION_DEFAULT_MAX_PROGRAM_FILES,Re as CODE_EXECUTION_DEFAULT_MAX_QUEUED_INVOCATIONS,Be as CODE_EXECUTION_DEFAULT_MAX_RESULT_BYTES,Fe as CODE_EXECUTION_DEFAULT_MAX_SOURCE_BYTES,ce as ExplicitDescriptorDiscovery,ur as FileConfigStorage,$a as FileRegistryCache,O as FilesystemDescriptorDiscovery,y as InProcessWorkflowRunner,k as MAKAIO_CONFIG_FILE_ENV,A as MAKAIO_HOME_ENV,ms as MAKAIO_UPSTREAM_SECRET_ENV,ps as MAKAIO_UPSTREAM_URL_ENV,le as MergedDescriptorDiscovery,xs as NodeCredentialProvider,Es as NodeFrameworkModuleResolver,Ts as NoopFrameworkModuleResolver,Ae as OperationAdmissionRefusedError,_ as OutcomeDeliveryError,He as PiscinaCodeExecutionProvider,De as RuntimeRegistrationRefusedError,D as RuntimeSubjects,Ss as StoredCredentialProvider,ie as ThinWorkflowPiscinaRunner,Eo as WorkspaceRootNotFoundError,a as activateAdapterRuntimeIdentity,Te as admitWorkflowRunOperation,cs as attachUpstreamTelemetry,fs as bootMakaioRuntime,ds as bootMakaioRuntimeCore,ke as bootstrapWorkerRuntime,Yo as bridgeExtensionBrowserEntries,ue as buildConfiguredRuntimeOptions,Ko as buildExtensionBrowserRollupInputName,qo as buildExtensionBrowserRuntimeEntrypoint,ys as buildNodeRuntimeOptions,Ne as captureWorkflowExecutionBusSecretCleanup,mr as createHonoRouteGraph,gr as createHttpRouteGraphBuilder,h as createIsolatedWorkflowRuntime,ne as createLocalGitWorkspacePreparation,de as createMakaioConfigDiscovery,oe as createNodeClientBinaryStrategyDependencies,hs as createUpstreamTelemetryTransport,fe as defineMakaioConfig,Se as entrypointStem,Do as findWorkspaceRoot,Oo as findWorkspaceRootInfo,Cs as getRuntimeDatabase,kr as initializeNodeDatabase,ee as installAttemptControlEndpoint,je as installOperationDeliveryEndpoint,N as isCliContributionLike,xe as isMakaioExtensionLike,p as isMissingOptionalRuntimePackage,Ce as isWithinDirectory,ye as loadExtensions,pe as loadMakaioConfig,bn as loadOrCreateMachineIdentity,Sn as machineKeysExist,S as normalizeNodeHostCapabilities,me as parseMakaioConfig,m as prepareAdapterRuntime,Zo as readFrameworkVersion,s as registerAdapterNameResolver,Ee as registerAndAdmitWorkflowRun,Yn as registerRuntimeHandlers,Oe as registerWorkerRuntime,Cr as resolveBundledMigrationsDir,P as resolveConventionEntrypoint,Ds as resolveFrameworkSpecifier,pr as resolveListeningPort,he as resolveMakaioConfigPath,ge as resolveMakaioHome,dr as resolveStaticModelRegistryPath,gs as resolveUpstreamTelemetryBootOptionsFromEnv,re as resolveWorkflowWorkerEntry,T as runHeadlessWorkflowWorker,lr as runMigrations,Wn as runRuntimeHandlerCleanups,x as runWorkloadInvocation,c as selectFrameworkCorePackages,_e as shouldIncludeExtension,v as submitAttemptOutcomeWithAck,ae as tryImport,Cn as validateMachineKeys,fr as waitForServerListening};
|