@makaio/framework 1.0.0-dev-1783705652236 → 1.0.0-dev-1783973359164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/account-identity-BYfeWLe-.mjs +1 -0
- package/dist/adapter-auth-runtime-a4O7cSNP.mjs +1 -0
- package/dist/adapter-binding-DDUyv1JK.d.mts +254 -0
- package/dist/{adapter-CA8rPIUz.mjs → adapter-nl_xz9dz.mjs} +1 -1
- package/dist/adapter-subsystem/index.d.mts +120 -5
- package/dist/adapter-subsystem/index.mjs +1 -1
- package/dist/adapters/acp-client/index.d.mts +10 -0
- package/dist/adapters/acp-client/index.mjs +2 -2
- package/dist/adapters/config/index.d.mts +176 -153
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +1021 -1005
- package/dist/adapters/index.mjs +6 -6
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/adapters/stream-session/index.d.mts +7 -5
- package/dist/adapters/stream-session/index.mjs +1 -1
- package/dist/auth-C3NOWqTU.mjs +1 -0
- package/dist/authority-state-bootstrap-CEuKScnL.mjs +1 -0
- package/dist/{base-orchestrator-J1WKAUkF.d.mts → base-orchestrator-BiShpVKL.d.mts} +6 -0
- package/dist/bus/index.d.mts +10 -10
- package/dist/bus/index.mjs +1 -1
- package/dist/{canonical-model-DV-Z8gsb.mjs → canonical-model-C31NaBJs.mjs} +1 -1
- package/dist/client-BkpLM8Fx.mjs +1 -0
- package/dist/client-binary-version-verifier-BK_vIjIo.mjs +2 -0
- package/dist/client-binary-version-verifier-BwrMTAh2.d.mts +179 -0
- package/dist/clients/index.d.mts +69 -85
- package/dist/clients/index.mjs +1 -2
- package/dist/clients/managed-install.d.mts +2 -0
- package/dist/clients/managed-install.mjs +1 -0
- package/dist/{clients-namespace-Bt_VTkEU.d.mts → clients-namespace-B96QIJOs.d.mts} +224 -21
- package/dist/compression-CZ_6fYq8.mjs +1 -0
- package/dist/config-namespace-DTA6EQL8.mjs +1 -0
- package/dist/{config-namespace-DqdFE6zk.d.mts → config-namespace-x0fuhEXe.d.mts} +73 -1
- package/dist/contracts/adapter/index.d.mts +3 -3
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/auth/index.d.mts +3 -0
- package/dist/contracts/auth/index.mjs +1 -0
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.mjs +1 -1
- package/dist/contracts/client/index.d.mts +3 -3
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +20 -93
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/facet/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +1161 -140
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +2 -2
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/provider/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +3 -3
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +2 -2
- package/dist/contracts/shared/index.mjs +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/timeout/index.mjs +1 -1
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +3 -3
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{definition-s9PIua2B.d.mts → definition-Bj9Vr16H.d.mts} +1 -1
- package/dist/{definition-Cllhr9mi.d.mts → definition-BsTlOz99.d.mts} +36 -4
- package/dist/{definition-CuJvtYeG.d.mts → definition-Cbl0k6Fc.d.mts} +31 -1
- package/dist/definition-K3m51lgO.mjs +1 -0
- package/dist/definitions-C1pgx0Nq.mjs +1 -0
- package/dist/{detached-extension-handle-Cx6-0eqg.mjs → detached-extension-handle-vDK194QV.mjs} +1 -1
- package/dist/drizzle/0026_m_mrgvi7fq.sql +16 -0
- package/dist/drizzle/0027_m_mrgw0uzg.sql +1 -0
- package/dist/drizzle/0028_m_mrgx04i1.sql +1 -0
- package/dist/drizzle/0029_terminal-authority.sql +1 -0
- package/dist/drizzle/meta/_journal.json +28 -0
- package/dist/execution-target-Bg2wpfML.mjs +1 -0
- package/dist/{extension-CJClssfp.mjs → extension-CjTu6mzW.mjs} +1 -1
- package/dist/extension-D4iKUUMG.mjs +1 -0
- package/dist/{filesystem-service-Bmyqo6po.mjs → filesystem-service-maY_P3yA.mjs} +1 -1
- package/dist/git/index.mjs +1 -1
- package/dist/{globby-D4SANVoq.mjs → globby-CisClzat.mjs} +1 -1
- package/dist/handlers-RGs3eC9X.mjs +57 -0
- package/dist/{harness-DkUpbsuY.mjs → harness-DflvHAGV.mjs} +1 -1
- package/dist/index-9dISOTLT.d.mts +174 -0
- package/dist/{index-B9d_8_V2.d.mts → index-9g0agW_p.d.mts} +55 -55
- package/dist/{index-DScUb-hF.d.mts → index-BDr2Ba122.d.mts} +34 -11
- package/dist/{index-BcvG3wPv.d.mts → index-BKZAAWo2.d.mts} +185 -45
- package/dist/{index-CaerrEDH.d.mts → index-Bbr5LEUc.d.mts} +2 -2
- package/dist/{index-C23g_M_J2.d.mts → index-BmsPH78f2.d.mts} +50 -5
- package/dist/index-ButbwvVY.d.mts +1175 -0
- package/dist/index-BxuiHVFi.d.mts +284 -0
- package/dist/{index-DnnKUwHm.d.mts → index-C2C1qH1Y.d.mts} +38 -32
- package/dist/{index-ntS1EXlf.d.mts → index-C6LZOiDv.d.mts} +150 -2
- package/dist/{index-C9FCWOhp.d.mts → index-COC9jCdc.d.mts} +124 -22
- package/dist/{index-Cx1Bm6WD.d.mts → index-CVs0Qxks.d.mts} +8 -8
- package/dist/index-CagRgpXI2.d.mts +84 -0
- package/dist/{index-DoEF9LAc.d.mts → index-CtjLeK1F.d.mts} +3 -3
- package/dist/{index-DZPNuWMc.d.mts → index-Cx8jGKOs.d.mts} +4 -4
- package/dist/{index-h5go5Dtd.d.mts → index-D75FnT0B.d.mts} +1 -1
- package/dist/{index-FFVwQMad.d.mts → index-DNkR5yTY.d.mts} +3401 -594
- package/dist/{index-wq7XeqyG.d.mts → index-DXBiCH2y.d.mts} +27 -1
- package/dist/{index-B2DjrVb8.d.mts → index-DpZbaS7y.d.mts} +1194 -87
- package/dist/{index-BvTd61i5.d.mts → index-T96ydgVk.d.mts} +260 -160
- package/dist/{index-DLNRgZPo2.d.mts → index-j2YlW_Fc.d.mts} +1 -1
- package/dist/{index-PIlYSC73.d.mts → index-x2gFj3BK.d.mts} +41 -28
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/cli/register.mjs +1 -1
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +5 -5
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/{lib-BOmKyjWD.mjs → lib-DIVnpS8e.mjs} +1 -1
- package/dist/{lib-DLZYp5z3.mjs → lib-DymjnkAP.mjs} +1 -1
- package/dist/{load-extensions-DNRIy4zC.d.mts → load-extensions-_EnedkUp.d.mts} +1 -1
- package/dist/{load-extensions-Cze1RHcG.mjs → load-extensions-nqL5WAKj.mjs} +1 -1
- package/dist/mcp-http-server/index.d.mts +27 -90
- package/dist/mcp-http-server/index.mjs +2 -2
- package/dist/model-uE5IyUFJ.mjs +1 -0
- package/dist/namespace-C05pkLbN.mjs +1 -0
- package/dist/{namespace-D9PLFmPQ.d.mts → namespace-CCZXyxSe.d.mts} +18 -18
- package/dist/namespace-D7pE2QWv.mjs +1 -0
- package/dist/{namespace-dFBD2ZmS.mjs → namespace-DwQtzlY-.mjs} +1 -1
- package/dist/namespace-HsI0Jbbr.mjs +1 -0
- package/dist/namespace-VmsT_tLJ.d.mts +3729 -0
- package/dist/namespace-Xp9-g_r-.mjs +1 -0
- package/dist/{native-session-supervisor-7ElwM6Is.mjs → native-session-supervisor-CdtVGWA9.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/node/transports/index.d.mts +36 -1
- package/dist/node/transports/index.mjs +2 -2
- package/dist/{orchestrator-shared-ChygCvR1.mjs → orchestrator-shared-DAkGOu9H.mjs} +1 -1
- package/dist/{orchestrator-shared-DFLb1otg.d.mts → orchestrator-shared-pxtyNu3W.d.mts} +13 -6
- package/dist/package-BYpWkSuQ.mjs +1 -0
- package/dist/package-CsFFT9iR.mjs +7 -0
- package/dist/{package-DmVZxufT.d.mts → package-DG9GSY8M.d.mts} +52 -1
- package/dist/package.json +1 -1
- package/dist/{profile-BMBXUqqh.mjs → profile-D2m94ZYD.mjs} +1 -1
- package/dist/provider-context-BYkMl--1.mjs +1 -0
- package/dist/provider-context-DOsjOjiR.mjs +1 -0
- package/dist/{providers-namespace-5GoTlHXz.d.mts → providers-namespace-O4de1tgO.d.mts} +161 -14
- package/dist/resolved-O2XXjTeu.mjs +1 -0
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/rules/schemas.d.mts +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/client-binary-strategy-dependencies.d.mts +34 -0
- package/dist/runtime-node/client-binary-strategy-dependencies.mjs +1 -0
- 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 +25 -84
- package/dist/runtime-node/index.mjs +24 -24
- package/dist/runtime-node/makaio-config.d.mts +1 -1
- package/dist/runtime-node/makaio-config.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +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/{schema-7aKBGB7S.mjs → schema-BI0aCHvV.mjs} +1 -1
- package/dist/schemas-C-J4W1ID.mjs +1 -0
- package/dist/{schemas-Br-rSxPE2.d.mts → schemas-CoJCTFod2.d.mts} +8 -8
- package/dist/schemas-K3Td_WdR.d.mts +3175 -0
- package/dist/schemas-n9Ff6_RX.mjs +1 -0
- package/dist/schemas-th_nuC5t.mjs +1 -0
- package/dist/selection-YRuVSdck.mjs +1 -0
- package/dist/service-base/index.d.mts +4 -3
- package/dist/service-base/index.mjs +1 -1
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +4 -3
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/capability/index.d.mts +1 -1
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +4 -4
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/definition/namespace.d.mts +1 -19
- package/dist/services/definition/schemas.d.mts +0 -9
- package/dist/services/definition/schemas.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +4 -4
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/namespace.mjs +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/execution-target/schemas.mjs +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.d.mts +6 -6
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +1591 -173
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/log-import.mjs +1 -1
- package/dist/services/log-import/namespace.mjs +1 -1
- package/dist/services/log-import/schemas.mjs +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +2 -2
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.d.mts +18 -0
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +10 -10
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.d.mts +2 -2
- package/dist/services/session/testing/index.mjs +10 -10
- package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.d.mts +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +18 -25
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +2 -2
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/session-CAjudDuJ.mjs +76 -0
- package/dist/{session-DBfQkgdy.mjs → session-lRd8HZNZ.mjs} +1 -1
- package/dist/{shared-BVW-3Dhy.mjs → shared-RP_KARKF.mjs} +1 -1
- package/dist/{skill-N-ttlp1i.mjs → skill-CpNjWFuE.mjs} +1 -1
- package/dist/{src-Ck2sbaDa.mjs → src-Bo2eA51B.mjs} +1 -1
- package/dist/storage/drizzle/client.d.mts +1 -1
- package/dist/storage/drizzle/client.mjs +1 -1
- package/dist/storage/drizzle/index.d.mts +9 -2
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/{tool-approval-service-DEiMKTv9.mjs → tool-approval-service-Dh0XI21f.mjs} +1 -1
- package/dist/tools/index.d.mts +1 -1
- package/dist/tools-PC_L6g2m.mjs +1 -0
- package/dist/{transition-OzGXyy3p.d.mts → transition-CwUIm1hJ.d.mts} +10 -2
- package/dist/{types-BWduCvRU.d.mts → types-B-xY9WW2.d.mts} +1 -1
- package/dist/{types-CBLPaQXe.d.mts → types-BaDYigzD.d.mts} +486 -25
- package/dist/{types-BrUOVfwe.d.mts → types-DvKaEOOn.d.mts} +252 -19
- package/dist/ui-hooks/index.d.mts +103 -14
- package/dist/ui-hooks/index.mjs +1 -1
- package/dist/ui-kernel/index.d.mts +3 -3
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/utils/keychain.mjs +1 -1
- package/dist/{version-DoV_pSzT.mjs → version-C1-VD-XL.mjs} +1 -1
- package/dist/workflow-DFJYGjq_.mjs +1 -0
- package/dist/workflow-engine/index.d.mts +663 -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/workflow-orchestrator.mjs +1 -1
- package/dist/workflow-worker-BEFjCccX.mjs +1 -0
- package/package.json +13 -8
- package/dist/account-identity-C7Kx_ieU.mjs +0 -1
- package/dist/cleanEnvForAdapter-BooAgM2R.mjs +0 -1
- package/dist/client-DaR4mzqn.mjs +0 -1
- package/dist/compression-C5JAWdgZ.mjs +0 -1
- package/dist/config-namespace-CY9leBnE.mjs +0 -1
- package/dist/credential-ref-YWQQENEo.mjs +0 -1
- package/dist/definition-C-GVz7uw.mjs +0 -1
- package/dist/execution-target-BR8bLkCR.mjs +0 -1
- package/dist/extension-BS_4BOeO.mjs +0 -1
- package/dist/handlers-B74FvKlA.mjs +0 -57
- package/dist/index-BcwOnvUh.d.mts +0 -749
- package/dist/index-D6aAzr32.d.mts +0 -997
- package/dist/index-DtwGhFFQ.d.mts +0 -40
- package/dist/loop-gate-handlers-o2B5FPdF.mjs +0 -1
- package/dist/namespace-B4cV_pk3.d.mts +0 -1317
- package/dist/namespace-BO3tODGC.mjs +0 -1
- package/dist/namespace-CVMZVqB5.mjs +0 -1
- package/dist/namespace-DBHwyhME.mjs +0 -1
- package/dist/namespace-DibbhCPP.mjs +0 -1
- package/dist/package-CF_Zm2v4.mjs +0 -1
- package/dist/package-Co_GO3UD.mjs +0 -7
- package/dist/provider-context-CqMgPOWF.mjs +0 -1
- package/dist/provider-context-DC_eq7es.mjs +0 -1
- package/dist/schemas-CVo8qAK-.mjs +0 -1
- package/dist/schemas-CuG17U3L.mjs +0 -1
- package/dist/session-CX6QDhi2.mjs +0 -76
- package/dist/tools-CGFZkB7F.mjs +0 -1
- package/dist/workflow-C3dgVwTY.mjs +0 -1
- package/dist/workflow-worker-dH70EbjE.mjs +0 -1
- /package/dist/{ajv-B5dPIck0.mjs → ajv-DfHhgdS5.mjs} +0 -0
- /package/dist/{await-trigger-DwVldnMt.mjs → await-trigger-DP-fTQc4.mjs} +0 -0
- /package/dist/{capability-service-XlymTzz1.mjs → capability-service-Dg2bU8qc.mjs} +0 -0
- /package/dist/{client-CebV_fZc.d.mts → client-DmJwprw1.d.mts} +0 -0
- /package/dist/{create-static-mount-DkK28kKW.mjs → create-static-mount-CBTXRtbN.mjs} +0 -0
- /package/dist/{cross-spawn-CDXy3BjE.mjs → cross-spawn-D9WWFl2a.mjs} +0 -0
- /package/dist/{cursor-storage-luQAg7E_.mjs → cursor-storage-Bw-7ROzx.mjs} +0 -0
- /package/dist/{descriptor-to-package-DdpjpT7n.mjs → descriptor-to-package-Rs-OjOQU.mjs} +0 -0
- /package/dist/{drizzle-DVTAl7Us.mjs → drizzle-DYfaDzlO.mjs} +0 -0
- /package/dist/{esm-CQG9Pc7n.mjs → esm-C_WW4-pP.mjs} +0 -0
- /package/dist/{event-DguYjV6D.mjs → event-DTM0-qWP.mjs} +0 -0
- /package/dist/{extension-discovery-CIZn5bkq.d.mts → extension-discovery-APMf1Tes.d.mts} +0 -0
- /package/dist/{extension-namespace-v3K0qVry.mjs → extension-namespace-vrh4ERXR.mjs} +0 -0
- /package/dist/{facet-BM4y4aQP.mjs → facet-DqPBpqkl.mjs} +0 -0
- /package/dist/{filesystem-service-Cwp0sWNc.d.mts → filesystem-service-Bx0bR2Lb.d.mts} +0 -0
- /package/dist/{handler-BFNvtv5t.mjs → handler-4pKQi3eo.mjs} +0 -0
- /package/dist/{host-vY07gek-.mjs → host-BfgdjlII.mjs} +0 -0
- /package/dist/{identity-DC3Pk0ps.mjs → identity-2qUT1NME.mjs} +0 -0
- /package/dist/{index-COI1tjAf.d.mts → index-BZ_DSGnE.d.mts} +0 -0
- /package/dist/{index-D7rWAEY0.d.mts → index-Bd52mmj9.d.mts} +0 -0
- /package/dist/{index-Dfi8Rorw.d.mts → index-BkAKfh4d.d.mts} +0 -0
- /package/dist/{index-CuHqL95P.d.mts → index-Bv9lm0Kf.d.mts} +0 -0
- /package/dist/{index-C4nStEdA.d.mts → index-C18Pn3zP.d.mts} +0 -0
- /package/dist/{index-Cr9lh21j.d.mts → index-CarbJsC92.d.mts} +0 -0
- /package/dist/{index-BjoOSg95.d.mts → index-Ctw617Tj.d.mts} +0 -0
- /package/dist/{index-DUD7wikz2.d.mts → index-D0eUQjTU2.d.mts} +0 -0
- /package/dist/{index-O08Q2ikz.d.mts → index-DHGW7dFf.d.mts} +0 -0
- /package/dist/{index-DEzdNQum.d.mts → index-DfVSWBBp.d.mts} +0 -0
- /package/dist/{index-WHUV7neB.d.mts → index-DlAfs3RD.d.mts} +0 -0
- /package/dist/{index-D3ahzHwb.d.mts → index-DnWZdG6C.d.mts} +0 -0
- /package/dist/{index-CpKikwK4.d.mts → index-DoLdETfR.d.mts} +0 -0
- /package/dist/{index-B92mToDo2.d.mts → index-DvaPrL6C.d.mts} +0 -0
- /package/dist/{index-D7Hkmrr3.d.mts → index-DwDBa2mb.d.mts} +0 -0
- /package/dist/{index-Y8rMeYYX.d.mts → index-FDyqQIt5.d.mts} +0 -0
- /package/dist/{index-BWIkf5oJ.d.mts → index-Lp0T_V1W.d.mts} +0 -0
- /package/dist/{index-OGIC4puQ.d.mts → index-Rhcr4YNA.d.mts} +0 -0
- /package/dist/{index-BvLXySoB2.d.mts → index-S-mAqWwq.d.mts} +0 -0
- /package/dist/{index-DOOrKin9.d.mts → index-_zsihEmk.d.mts} +0 -0
- /package/dist/{json-value-DtIkQN7g.d.mts → json-value-C8duSh9X.d.mts} +0 -0
- /package/dist/{jsonl-transport-CGPgD8iU.mjs → jsonl-transport-l5NPcQ_2.mjs} +0 -0
- /package/dist/{lib-ZKtnbCqH.mjs → lib-ClRTNIuz.mjs} +0 -0
- /package/dist/{materialization-CUYxZCfk.mjs → materialization-BwTORtBr.mjs} +0 -0
- /package/dist/{model-registry-C2VXobZj.mjs → model-registry-BneK5SGo.mjs} +0 -0
- /package/dist/{model-registry-rYICIwyR.mjs → model-registry-C8MInDtX.mjs} +0 -0
- /package/dist/{namespace-65uwTpbg.d.mts → namespace-3YVLQ_bM.d.mts} +0 -0
- /package/dist/{namespace-BGIeqwfU.d.mts → namespace-B0uZIZYT.d.mts} +0 -0
- /package/dist/{namespace-CQ8uza7o.d.mts → namespace-BcDHt-ww.d.mts} +0 -0
- /package/dist/{namespace-BigVYQyx.d.mts → namespace-BhVlHfoO.d.mts} +0 -0
- /package/dist/{namespace-j7vFsmYL.d.mts → namespace-Bl1UhLnK.d.mts} +0 -0
- /package/dist/{namespace-CfvtDD_U.d.mts → namespace-BoA6u44C.d.mts} +0 -0
- /package/dist/{namespace-Dk4OslmY.d.mts → namespace-BsEoWXV_.d.mts} +0 -0
- /package/dist/{namespace-DYSFDC2G.mjs → namespace-C238RqwB.mjs} +0 -0
- /package/dist/{namespace-BdO4e1Fm.mjs → namespace-CDO4rY11.mjs} +0 -0
- /package/dist/{namespace-CZK2ff3B.d.mts → namespace-CukqFYHf2.d.mts} +0 -0
- /package/dist/{namespace-wke7juzy.mjs → namespace-DDx4NVJm.mjs} +0 -0
- /package/dist/{namespace-D1_9WVCo.d.mts → namespace-Dar3O6iT.d.mts} +0 -0
- /package/dist/{namespace-DAj_riOn.d.mts → namespace-DoNigVgx.d.mts} +0 -0
- /package/dist/{namespace-D2s-4pyg.d.mts → namespace-Dvi66QS6.d.mts} +0 -0
- /package/dist/{namespace-D8P8Sxce2.d.mts → namespace-rO-C2Dgu2.d.mts} +0 -0
- /package/dist/{out-BoEZjBNz.mjs → out-BB6Kb4Xu.mjs} +0 -0
- /package/dist/{platform-DnbSvm2u.mjs → platform-CWhGFQFX.mjs} +0 -0
- /package/dist/{providers-Bd7BOZs0.mjs → providers-CUnrif24.mjs} +0 -0
- /package/dist/{quick-lru-6e7I1Bgf.mjs → quick-lru-BLaSzINB.mjs} +0 -0
- /package/dist/{registry-U_3aYSin.mjs → registry-TJjQgTgp.mjs} +0 -0
- /package/dist/{schema-B5vHi7Uu.d.mts → schema-aOwmHxaF.d.mts} +0 -0
- /package/dist/{schema-CHp6I33k.mjs → schema-cus0dJ81.mjs} +0 -0
- /package/dist/{schema-introspection-B7xODt4I.mjs → schema-introspection-BsWLmoFp.mjs} +0 -0
- /package/dist/{schemas-KlH1hB7u.d.mts → schemas-9QJf1FtS.d.mts} +0 -0
- /package/dist/{schemas-CJ2JvA7d.d.mts → schemas-BolSW7pQ.d.mts} +0 -0
- /package/dist/{schemas-D4zaFE2p.d.mts → schemas-CLsbsX1W.d.mts} +0 -0
- /package/dist/{schemas-XeIBqwvE.mjs → schemas-CMyv7l7-.mjs} +0 -0
- /package/dist/{schemas-CPI00yvh.mjs → schemas-CWxf_Yut.mjs} +0 -0
- /package/dist/{schemas-BemsLc_V.d.mts → schemas-D_9X_CRo.d.mts} +0 -0
- /package/dist/{schemas-DZGnr9Tl.mjs → schemas-DwfTUQIa.mjs} +0 -0
- /package/dist/{schemas-CoFCV42v.d.mts → schemas-OaBqeEUT.d.mts} +0 -0
- /package/dist/{schemas-B6tEKf9T.d.mts → schemas-XRhqOgVE.d.mts} +0 -0
- /package/dist/{schemas-DKncXGnb.d.mts → schemas-fRLDhefF.d.mts} +0 -0
- /package/dist/{schemas-DWfo0wp4.d.mts → schemas-jDRSOXJL.d.mts} +0 -0
- /package/dist/{schemas-lnE9YoG7.d.mts → schemas-qpo1Goit.d.mts} +0 -0
- /package/dist/{schemas-t6h9oSct.d.mts → schemas-qt5QTjVc.d.mts} +0 -0
- /package/dist/{semver-CIhHqMkw.mjs → semver-BccS1s9R.mjs} +0 -0
- /package/dist/{server-lifecycle-C5Z5PSMD.mjs → server-lifecycle-D-jxVr_0.mjs} +0 -0
- /package/dist/{server-lifecycle-_AA6EfzL.d.mts → server-lifecycle-r5Tkk8bU.d.mts} +0 -0
- /package/dist/{session-lineage-C1M7-O3C.d.mts → session-lineage-YShrn77v.d.mts} +0 -0
- /package/dist/{shared-schemas-BEVG96xW.mjs → shared-schemas-BNCPgGYP.mjs} +0 -0
- /package/dist/{src-_VODAJnf.mjs → src-Ci_WY9uw.mjs} +0 -0
- /package/dist/{storage-namespace-D5q9CrBp.mjs → storage-namespace-BzE2M4Hq.mjs} +0 -0
- /package/dist/{storage-namespace-Di1A3DMm.d.mts → storage-namespace-DWKFqEW-.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-CzXPW45M.mjs → storage-namespace-definition-4UYuij1r.mjs} +0 -0
- /package/dist/{storage-namespace-definition-BffdI5Bz.d.mts → storage-namespace-definition-BZJGSaX3.d.mts} +0 -0
- /package/dist/{supports-color-DcXkvGDF.mjs → supports-color-Dzp6WuF5.mjs} +0 -0
- /package/dist/{telemetry-Cvi4rxiE.mjs → telemetry-B42EMbZt.mjs} +0 -0
- /package/dist/{timeout-XsYIOKrc.mjs → timeout-CvONPl0l.mjs} +0 -0
- /package/dist/{tray-menu-service-B2AxiQqL.mjs → tray-menu-service-Bonl2KXf.mjs} +0 -0
- /package/dist/{types-Bo78h9e3.d.mts → types-BCW9kr4L.d.mts} +0 -0
- /package/dist/{types-DCvp_swt.d.mts → types-CrJ7KEZ0.d.mts} +0 -0
- /package/dist/{types-BNW5n6qm.d.mts → types-DWNoZ3Sd.d.mts} +0 -0
- /package/dist/{ui-config-9bDRwFZr.mjs → ui-config-B2L3Xgqo.mjs} +0 -0
- /package/dist/{variant-5huHjUTm.mjs → variant-ByI-RZua.mjs} +0 -0
- /package/dist/{window-registry-PkrFIwX2.mjs → window-registry-DsWnCc8z.mjs} +0 -0
- /package/dist/{window-registry-ofIUQnfo.d.mts → window-registry-WsWu-rcK.d.mts} +0 -0
package/dist/ui-hooks/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{createContext as t,lazy as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{jsx as u}from"react/jsx-runtime";import{PreferencesSubjects as d}from"@makaio/framework/services/preferences";import{UiSubjects as f,deriveBrowserTarget as p,deriveDefaultEnabled as m,deriveTrayLayout as h,findCategory as g,isOverlayMode as _,isWidgetLayout as v,onboardingStepRegistry as y,pageDefinitionRegistry as b,queryPageDefinitions as x,runCleanupsInReverse as S,subscribeToWidgetEvents as C,widgetRegistry as w}from"@makaio/framework/ui-kernel";import{ExtensionSubjects as ee}from"@makaio/framework/kernel";import{MakaioBus as T}from"@makaio/framework/bus";import{AdapterSubjects as te,AgentSelectionSchema as ne}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as re}from"@makaio/framework/services/adapter-runtime";import{AdapterSubsystemSubjects as E}from"@makaio/framework/services/adapter-subsystem";import{LogImportSubjects as ie}from"@makaio/framework/services/log-import/log-import";import{SettingsSubjects as D}from"@makaio/framework/services/settings/namespace";import{ExtensionConfigStorageSubjects as ae}from"@makaio/framework/services/settings/storage/extension-configs/namespace";import{buildProviderContext as O}from"@makaio/framework/services/provider-context";import{ClientStorageSubjects as oe,ProviderStorageSubjects as k}from"@makaio/framework/services/settings/storage";import{ClientSubjects as se}from"@makaio/framework/contracts/client";const A=t(null);function ce({bus:e,children:t}){return u(A.Provider,{value:e,children:t})}function j(){let e=i(A);if(!e)throw Error(`useBus must be used within a BusProvider`);return e}function le(){return i(A)}function ue({subject:e,request:t,skip:n=!1,refetchOn:i=[]}){let l=j(),[u,d]=c(),[f,p]=c(!n),[m,h]=c(),g=o(()=>{if(t===void 0)return{deserializable:!0};try{let e=JSON.stringify(t);return e===void 0?{deserializable:!1}:{serialized:e,deserializable:!0}}catch{return{deserializable:!1}}},[t]),_=g.deserializable?g.serialized:`non-serializable-request`,v=o(()=>{if(g.deserializable&&g.serialized!==void 0)return JSON.parse(g.serialized)},[_,g.deserializable,g.serialized]),y=s(i);y.current=i;let b=o(()=>i.map(de).join(`,`),[i]),x=s(b);x.current!==b&&(x.current=b);let S=x.current,C=s(0),w=r(async()=>{let t=++C.current;p(!0),h(void 0);try{if(!g.deserializable)throw Error(`useBusQuery request must be JSON-serializable.`);let n=await l.request(e,v);t===C.current&&d(n)}catch(e){t===C.current&&h(e instanceof Error?e:Error(String(e)))}finally{t===C.current&&p(!1)}},[l,e,_,v,g.deserializable]);return a(()=>{n||w()},[w,n]),a(()=>{if(n||y.current.length===0)return;let e=y.current.map(e=>l.on(e,(()=>void w())));return()=>{for(let t of e)t()}},[l,S,w,n]),{data:u,loading:f,error:m,refetch:w}}function de(e){return JSON.stringify({subject:String(e.subject),meta:e.$meta})}function fe(e,t){let n=j(),r=s(t);r.current=t,a(()=>n.on(e,(e=>r.current(e))),[n,e])}function pe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}const M=Object.freeze([]);function me(e={}){let{builtIns:t=M,scope:n,includeAny:i=!0}=e,s=j(),[u,d]=c(!1);a(()=>{w.registerAll(t)},[t]),a(()=>{let e=C(s);return d(!0),()=>{e(),d(!1)}},[s]);let f=r(e=>w.subscribe(e),[]),p=r(()=>w.getAll(),[]),m=l(f,p,p),h=o(()=>n?w.getByScope(n,i):m,[m,i,n]);return{builtInWidgets:t,loading:!u,widgets:u?h:void 0}}function he(e={}){let{scope:t,includeAny:n=!0}=e,i=r(e=>w.subscribe(e),[]),a=r(()=>w.getAll(),[]),s=l(i,a,a);return o(()=>t?w.getByScope(t,n):s,[s,n,t])}function ge(e){return e.contextId?`${e.scope}:${e.contextId}`:e.scope}function _e(e){let{paneId:t,widgetId:n,context:i,surface:l,defaultConfig:u}=e,f=j(),[p,m]=c(u),h=s(0),g=o(()=>ge(i),[i.contextId,i.scope]),_=o(()=>({category:`widget-config:${t}:${n}`,key:{scope:g,surface:l}}),[g,t,l,n]),v=o(()=>structuredClone(u),[u]);a(()=>{let e=++h.current,t=()=>h.current===e;return m(v),(async()=>{try{let{value:e}=await f.request(d.get,{category:_.category,key:_.key});if(!t())return;pe(e)&&m(t=>({...t,...e}))}catch{}})(),()=>{++h.current}},[f,v,_]);let y=r(async e=>{try{await f.request(d.set,{category:_.category,key:_.key,value:e})}catch{}},[f,_]);return{config:p,updateConfig:r(e=>{m(t=>{let n={...t,...e};return y(n),n})},[y])}}function ve(e){let t=j(),[n,i]=c(null),[o,s]=c(!0),[l,u]=c(null),f=r(async()=>{s(!0),u(null);try{let{value:n}=await t.request(d.get,{category:`widget-layout`,key:e});i(v(n)?n:null)}catch(e){u(e instanceof Error?e:Error(`Failed to load layout`)),i(null)}finally{s(!1)}},[t,e]);return a(()=>{f()},[f]),{layout:n,isLoading:o,error:l,refresh:f}}const N=`widget-layout`;function P(){let e=j();return{saveLayout:r(async(t,n)=>{await e.request(d.set,{category:N,key:t,value:n})},[e]),resetLayout:r(async t=>{await e.request(d.delete,{category:N,key:t})},[e])}}const ye=Object.freeze([]);function F(e=ye){let t=r(e=>w.subscribe(e),[]),n=r(()=>w.getAll(),[]),i=l(t,n,n);return o(()=>h(i,e),[i,e])}async function I(e){return import(e)}function L(e){return e.kind===`resolved`&&e.factory!==void 0}function be(e){return e.filter(e=>e.state===`active`&&e.browser?.entrypoint)}function R(){return{cleanups:[],errorMessage:null,shell:null,state:`empty`}}function xe(e){return e===`cancelled`}function z(e,t,n,r){return{cleanups:e,errorMessage:r,shell:n,state:t}}async function Se(e,t){let{bus:n,isCurrentRun:r,waitForRuntimeReady:i}=e,a=i(n);t.push(a.cleanup);let o=await a.ready;if(xe(o))return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};if(o===`timeout`)return{kind:`result`,result:z(t,`error`,null,`The Makaio runtime did not respond. The service may have failed to start — try restarting the application or check the logs for errors.`)};if(!r())return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};let{extensions:s}=await n.request(ee.list,{}),c=be(s);return c.length===0?{kind:`result`,result:z(t,`empty`,null,null)}:{browserExtensions:c,kind:`ok`}}function Ce(e){let t=e.browser.entrypoint,n;try{n=new URL(t,globalThis.location.origin)}catch{return console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has malformed entrypoint "${t}"`),null}return n.origin!==globalThis.location.origin||!n.pathname.startsWith(`/extensions/`)?(console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has unsafe entrypoint "${t}" (must stay under /extensions/)`),null):n.pathname}async function we(e,t,n,r){let{bus:i,getRegisteredFactory:a,importModule:o=I,isCurrentRun:s,registerExtensionUI:c,resolveFactory:l,unregisterFactory:u}=e,d=Ce(t);if(d===null)return{failed:!0,kind:`ok`,shell:r};let f=[()=>u(t.name)];try{let e=await o(d);if(!s())return S(f,`[ExtensionBrowserLoader] ${t.name}`),S(n,`[ExtensionBrowserLoader]`),{kind:`aborted`};let u=l(e.default,a(t.name));if(!L(u))return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" has invalid browser factory (${u.reason??`unknown resolution error`})`),{failed:!0,kind:`ok`,shell:r};let p=u.factory({bus:i});if(!p||typeof p!=`object`)return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" factory returned invalid contribution (expected object, got ${p===null?`null`:typeof p})`),{failed:!0,kind:`ok`,shell:r};p.destroy&&f.push(p.destroy),f.push(c(i,t.name,p));let m=r;return p.shell&&(m!==null&&console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" replaces the previously registered shell (shell contributions are last-wins)`),m=p.shell.component),n.push(...f),{failed:!1,kind:`ok`,shell:m}}catch(e){return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.error(`[ExtensionBrowserLoader] Failed to load extension "${t.name}":`,e),{failed:!0,kind:`ok`,shell:r}}}async function Te(e){let t=[];try{let n=await Se(e,t);if(n.kind===`aborted`)return R();if(n.kind===`result`)return n.result;let r=0,i=null;for(let a of n.browserExtensions){let n=await we(e,a,t,i);if(n.kind===`aborted`)return R();i=n.shell,n.failed&&(r+=1)}return e.isCurrentRun()?i===null?r>0?z(t,`error`,null,`One or more extensions failed to load before providing workspace chrome.`):z(t,`empty`,null,null):z(t,`ready`,i,null):(S(t,`[ExtensionBrowserLoader]`),R())}catch(e){return console.error(`[ExtensionBrowserLoader] Failed to query extensions:`,e),z(t,`error`,null,e instanceof Error?e.message:String(e))}}const B=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},V=(e=>e?B(e):B),Ee=e=>e;function De(t,n=Ee){let r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}const H=e=>{let t=V(e),n=e=>De(t,e);return Object.assign(n,t),n},U=(e=>e?H(e):H);function W(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}const G=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return G(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return G(t)(e)}}}},Oe=(e,t)=>(n,r,i)=>{let a={storage:W(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return G(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},K={length:0,clear:()=>{},getItem:()=>null,key:()=>null,removeItem:()=>{},setItem:()=>{}};function ke(e){let t=`__makaio_storage_probe__`,n=n=>{let r=null,i=!1;try{return r=n.getItem(t),i=r!==null,n.setItem(t,`1`),!0}catch{return!1}finally{try{i&&r!==null?n.setItem(t,r):n.removeItem(t)}catch(t){console.warn(`[createPersistedStore] Storage probe cleanup failed`,{type:e,error:t})}}};try{return e===`localStorage`?typeof localStorage>`u`?K:n(localStorage)?localStorage:K:typeof sessionStorage>`u`?K:n(sessionStorage)?sessionStorage:K}catch{return K}}function q(e,t){let{name:n,storage:r=`sessionStorage`,version:i,partialize:a,merge:o,extraPersistOptions:s}=t,c={name:n,storage:W(()=>ke(r)),...i===void 0?{}:{version:i},...a?{partialize:a}:{},...o?{merge:o}:{},...s};return U()(Oe(e,c))}const Ae={level:`root`,values:{}};function J(e){return{level:e.level,values:{...e.values}}}const Y=q(e=>({windowId:null,uiContext:J(Ae),activePaneId:null,setWindowId:t=>e(e=>e.windowId!==null&&e.windowId!==t?{}:{windowId:t}),setUiContext:t=>e({uiContext:J(t),activePaneId:null}),setActivePaneId:t=>e({activePaneId:t}),clearUiContext:()=>e({uiContext:J(Ae),activePaneId:null})}),{name:`makaio-window-context`,storage:`sessionStorage`,partialize:e=>({uiContext:e.uiContext})}),X=q(e=>({activePageId:null,internalRoute:null,openPage:(t,n)=>e({activePageId:t,internalRoute:n??null}),close:()=>e({activePageId:null,internalRoute:null}),navigate:t=>e(e=>({internalRoute:t,activePageId:e.activePageId}))}),{name:`makaio-page-overlay`,storage:`sessionStorage`});function je(e,t,n){return{collapsedByLevel:{...e.collapsedByLevel,[t]:n}}}const Me=q((e,t)=>({collapsedByLevel:{},isCollapsed:e=>t().collapsedByLevel[e]??!1,toggle:t=>e(e=>je(e,t,!(e.collapsedByLevel[t]??!1))),setCollapsed:(t,n)=>e(e=>je(e,t,n))}),{name:`makaio-sidebar`,storage:`localStorage`}),Ne={onboarding:{id:`onboarding`,name:`Welcome`,isPreset:!0},chat:{id:`chat`,name:`Chat`,isPreset:!0,quickPromptSuggestions:[`Help me understand this code`,`What are the key files in this project?`,`Explain the architecture`]},git:{id:`git`,name:`Git`,isPreset:!0,quickPromptSuggestions:[`Show recent commits`,`What changed in this branch?`,`Create a new branch`]},review:{id:`review`,name:`Code Review`,isPreset:!0,quickPromptSuggestions:[`Review this pull request`,`Show file differences`,`Add review comments`]},planning:{id:`planning`,name:`Planning`,isPreset:!0,quickPromptSuggestions:[`Break down this task`,`Create implementation plan`,`Estimate complexity`]},settings:{id:`settings`,name:`Settings`,isPreset:!0},dashboard:{id:`dashboard`,name:`Dashboard`,isPreset:!0,quickPromptSuggestions:[`Show recent projects`,`Open a workspace`,`Create a new project`]}},Pe={activeFocus:Ne.chat},Fe=q((e,t)=>({activeFocus:Pe.activeFocus,setActiveFocus:t=>{let n=Ne[t];if(!n){console.error(`[focusStore] Unknown focus preset id: ${t}`);return}e({activeFocus:n})},setActiveFocusContext:t=>{e({activeFocus:t})},setFocusContextLayout:n=>{let{activeFocus:r}=t();e({activeFocus:{...r,layout:n}})},getFocusContextLayout:()=>t().activeFocus.layout}),{name:`makaio-focus`,storage:`sessionStorage`});function Ie(){return{version:1,widgets:[]}}function Le(e,t){return e.widgets.some(e=>e.widgetId===t.widgetId)?e:{...e,widgets:[...e.widgets,t]}}function Re(e,t){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.filter(e=>e.widgetId!==t)}:e}function ze(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,size:n}:e)}:e}function Be(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,...n}:e)}:e}function Ve(){return Y(e=>e.uiContext.level)}const He=new Set([`http:`,`https:`]);function Ue(e){return e.on(f.navigate,e=>{let{url:t}=e.payload,n;try{n=new URL(t,window.location.href)}catch{throw Error(`[registerNavigationHandler] Invalid URL: ${t}`)}if(!He.has(n.protocol))throw Error(`[registerNavigationHandler] Unsafe URL protocol "${n.protocol}" in: ${t}`);let r=n.toString(),i=p(n.pathname+n.search+n.hash);window.open(r,i,`noopener,noreferrer`),e.setResult({action:`navigated`})},{priority:10})}function We(e,t){let n=e.filter(e=>e.group!==void 0),r=new Map;for(let e of n){let t=e.group;r.has(t)||r.set(t,[]),r.get(t).push(e)}let i=[],a=new Set,o=[...t].sort((e,t)=>e.order-t.order);for(let e of o){let t=r.get(e.id)??[];i.push({config:e,pages:t}),a.add(e.id)}for(let[e,t]of r)if(!a.has(e)){let n={id:e,label:e,order:999};i.push({config:n,pages:t})}return i}function Ge(e){let t=r(e=>b.subscribe(e),[]),n=r(()=>b.getAll(),[]);return x(l(t,n,n),e)}function Ke(e){let t=Ge(e),n=X(e=>e.openPage),i=X(e=>e.activePageId),a=Fe(e=>e.setActiveFocus),o=Fe(e=>e.activeFocus.id),s=r(e=>_(e.mode)?()=>n(e.id):()=>{e.focusContext&&a(e.focusContext)},[n,a]);return t.map(e=>{let t;return t=e.isActive?e.isActive():_(e.mode)?i===e.id:e.focusContext?o===e.focusContext:!1,{...e,execute:s(e),isActive:t}})}function qe(e,t){return e===void 0?!0:Array.isArray(e)?e.includes(t):e===t}function Je(e){let t=Y(e=>e.windowId),n=Ke(e);return t?n.filter(e=>qe(e.windowId,t)):n}function Ye(e,t=0){let i=r(t=>e===null?()=>void 0:b.subscribe(t),[e]),a=r(()=>{if(e!==null)return b.get(e)},[e]),s=l(i,a,a);return o(()=>{if(s)return{Component:n(s.component),definition:s}},[s,t])}function Xe(e){let t=[],n=e=>{t.push(y.register(e))};return n({id:`welcome`,title:`Welcome`,kaiState:`wave`,order:10,skippable:!1,component:e.WelcomeStep}),n({id:`clients`,title:`Clients`,kaiState:`neutral`,order:20,skippable:!0,component:e.ClientsStep}),n({id:`providers`,title:`Providers`,kaiState:`neutral`,order:25,skippable:!0,component:e.ProvidersStep}),n({id:`adapters`,title:`Tools`,kaiState:`neutral`,order:30,skippable:!0,component:e.AdaptersStep}),n({id:`preferences`,title:`Preferences`,kaiState:`smile`,order:35,skippable:!0,component:e.PreferencesStep}),n({id:`plugins`,title:`Plugins`,kaiState:`neutral`,order:40,skippable:!0,condition:e=>e.extensions.length>0,component:e.PluginsStep}),n({id:`done`,title:`All Set`,kaiState:`success`,order:50,skippable:!1,component:e.DoneStep}),()=>{for(let e of t)e()}}function Ze(e){try{return localStorage.getItem(e)===`true`}catch{return!1}}function Qe(e){try{localStorage.setItem(e,`true`)}catch{}}function $e(e){try{localStorage.removeItem(e)}catch{}}const et=`makaio-onboarding-skipped`;function tt(){return Ze(et)}function nt(){Qe(et)}function rt(){$e(et)}const it=`makaio-onboarding-completed`;function at(){return Ze(it)}function ot(){Qe(it)}function st(){$e(it)}function Z(e,t,n,r){let i=n.get(e)??{id:`onboarding-${e}`,config:void 0};return n.set(e,i),r.request(ae.setEnabled,{extensionName:e,scope:`default`,enabled:t}).then(t=>(n.set(e,{...i,id:t.id}),t))}function ct(e){let t=ne.safeParse(e);if(!t.success)return null;let n=t.data;if(n.kind===`model`){let e=Q(n.adapterName),t=Q(n.model),r=Q(n.providerConfigId)??Q(n.providerId);return!e||!t?null:{kind:`adapter`,adapterName:e,model:t,...r?{providerConfigId:r}:{}}}if(n.kind===`virtualModel`){let e=Q(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}switch(n.kind){case`adapter`:{let e=Q(n.adapterName);if(!e)return null;let t=Q(n.model),r=Q(n.providerConfigId);return{kind:`adapter`,adapterName:e,...t?{model:t}:{},...r?{providerConfigId:r}:{}}}case`persona`:{let e=Q(n.personaId);return e?{kind:`persona`,personaId:e}:null}case`profile`:{let e=Q(n.profileId);return e?{kind:`profile`,profileId:e}:null}case`virtual-model`:{let e=Q(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}default:return null}}function lt(e){return e.kind===`adapter`?typeof e.adapterName==`string`&&e.adapterName.trim().length>0&&typeof e.providerConfigId==`string`&&e.providerConfigId.trim().length>0&&typeof e.model==`string`&&e.model.trim().length>0:!0}function Q(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function ut(e,t){if(typeof e==`object`&&e&&`defaultSelection`in e){let n=e.defaultSelection;if(n==null)return t;let r=ct(n);return r===null?t:{...t,defaultSelection:r}}return t}const dt=q(e=>({defaultSelection:null,setDefaultSelection:t=>e({defaultSelection:t})}),{name:`makaio-app-context`,storage:`localStorage`,merge:ut});async function ft(){let[{configs:e},{configs:t},{providers:n}]=await Promise.all([T.request(E.listProviderConfigs,{enabled:!0}),T.request(E.listAdapterConfigs,{}),T.request(k.list,{})]),r=new Map(n.map(e=>[e.id,e])),i=new Map;for(let e of t){if(!e.enabled)continue;let t=e.displayName??e.name;for(let n of e.bindings){let e={adapterName:n.adapterName,displayLabel:t},r=i.get(n.providerConfigId);r?r.push(e):i.set(n.providerConfigId,[e])}}return e.map(e=>({providerConfigId:e.id,definitionId:e.definitionId,name:e.name,availableModels:r.get(e.definitionId)?.availableModels??[],isDefault:e.isDefault,enabled:e.enabled,modelFilterMode:e.modelFilterMode,modelVisibility:e.modelVisibility,hasCredentials:e.hasCredentials,boundAdapters:i.get(e.id)??[]}))}const pt=U((e,t)=>({providers:[],isLoading:!1,error:null,_fetchPromise:null,_hasFetched:!1,_fetchGeneration:0,fetchProviders:async()=>{let n=t();if(n._hasFetched&&!n.isLoading)return Promise.resolve();if(n._fetchPromise)return n._fetchPromise;let r=t()._fetchGeneration;e({isLoading:!0,error:null});let i=ft().then(e=>{t()._fetchGeneration===r&&(console.debug(`[providerStore] providers:`,e.map(e=>({providerConfigId:e.providerConfigId,definitionId:e.definitionId,name:e.name}))),t().setProviders(e))}).catch(e=>{if(t()._fetchGeneration!==r)return;let n=e instanceof Error?e:Error(String(e));t().setError(n)}).finally(()=>{e(e=>e._fetchPromise===i?{_fetchPromise:null}:{})});return e({_fetchPromise:i}),i},invalidate:()=>{e(e=>({_hasFetched:!1,_fetchPromise:null,_fetchGeneration:e._fetchGeneration+1,isLoading:!1}))},setProviders:t=>{e({providers:t,isLoading:!1,error:null,_hasFetched:!0})},setError:t=>{e({error:t,isLoading:!1})}}));async function mt(){let[{clients:e},{adapters:t}]=await Promise.all([T.request(oe.list,{}),T.request(D.adapter.list,{})]),n=e.filter(e=>e.enabled&&e.binary!==void 0).map(e=>({id:e.id,name:e.name,binary:e.binary.name,supportedVersions:e.binary.supportedVersions}));if(n.length===0)return null;let{results:r}=await T.request(se.scan,{targets:n.map(e=>({clientId:e.id,binaryName:e.binary,supportedVersions:e.supportedVersions}))}),i=new Map(r.map(e=>[e.clientId,e])),a=n.map(e=>{let t=i.get(e.id);return{id:e.id,name:e.name,binary:e.binary,found:t?.found??!1,version:t?.version,warningMessage:t?.warningMessage}}),o=new Map;for(let e of t){if(!e.clientId)continue;let t=o.get(e.clientId);t?t.push(e.adapterName):o.set(e.clientId,[e.adapterName])}return{scannedClients:a,adaptersByClientId:o}}function ht(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=n.get(e.id);if(t?.length)for(let n of t)r.push({adapterName:n,displayName:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage})}return r}function gt(e){let t=e.toLowerCase();return t.includes(`cli`)?0:t.includes(`sdk`)?1:2}function _t(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=(n.get(e.id)??[]).sort((e,t)=>{let n=gt(e),r=gt(t);return n===r?e.localeCompare(t):n-r});r.push({clientId:e.id,name:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage,adapterNames:t})}return r}async function vt(){let e=await mt();return e?ht(e):[]}async function yt(){let e=await mt();return e?_t(e):[]}async function bt(){let e=await mt();return e?{adapters:ht(e),clients:_t(e)}:{adapters:[],clients:[]}}function xt(e,t){return{...e,supportedProtocols:t==null?[]:Object.keys(t.endpoints??{})}}async function St(e,t={}){let[{configs:n},{providers:r}]=await Promise.all([e.request(E.listProviderConfigs,t),e.request(k.list,{})]),i=new Map(r.map(e=>[e.id,e]));return n.map(e=>xt(e,i.get(e.definitionId)))}async function Ct(e,t){let{config:n}=await e.request(E.getProviderConfig,{id:t});if(n===null)return null;let{context:r}=await e.request(E.buildProviderContext,{providerConfigId:t});if(r===null||r.definitionId!==n.definitionId)return null;let{provider:i}=await e.request(k.get,{id:r.definitionId}),a=r.credentialRefs;return{...xt(n,i),...a&&Object.keys(a).length>0?{credentialRefs:a}:{}}}let $=null;function wt(e){if($===null)$={creator:e,count:1};else if($.creator===e)$.count+=1;else throw Error(`useOnboardingFlow: only one host-owned create bridge may be registered at a time.`);return()=>Tt(e)}function Tt(e){if($?.creator===e){if($.count===1){$=null;return}--$.count}}function Et(e){return e}function Dt(e){try{ot()}catch(e){console.error(`[useOnboardingFlow] Failed to persist completion flag:`,e)}finally{e()}}async function Ot(e,t){let n=$?.creator??null;if(n){let r=await n(T,e);return await t(),r}let r=!!e.credentials&&Object.keys(e.credentials).length>0,i=!!e.credentialRefs&&Object.keys(e.credentialRefs).length>0;if(r&&!i)throw Error(`useOnboardingFlow: plaintext provider-config creation requires a host-owned create bridge.`);let{credentials:a,...o}=e,{config:s}=await T.request(E.createProviderConfig,o);return await t(),s.id}async function kt(e){let t=await T.requestOptional(E.getDefaultBinding,{adapterName:e});if(!t.handled||!t.data.binding)return;let{binding:n}=t.data;try{return await O(T,n.providerConfigId)}catch(e){console.warn(`[onboarding] buildProviderContext failed for ${n.providerConfigId}:`,e);return}}function At({context:e,onComplete:t,onSkip:n}){let{setDefaultSelection:i}=dt(),l=j(),[u]=c(()=>{let t=Et(y.getAll());return Object.freeze(t.filter(t=>t.condition===void 0||t.condition(e)))}),[d,f]=c(0),[p,h]=c(e.adapters),[_,v]=c(()=>new Set(e.adapters.filter(e=>e.enabled).map(e=>e.adapterName))),[b,x]=c(()=>new Map),[S,C]=c(()=>new Map),[w,ne]=c(null),[O,oe]=c(()=>e.extensions),[k,se]=c(()=>new Map),[A,ce]=c([]),[le,ue]=c(!1),[de,fe]=c(null),[pe,M]=c(()=>new Set),[me,he]=c([]),[ge,_e]=c([]),[ve,N]=c([]),P=s(new Map),ye=s(0),F=s(0),I=s(new Map);a(()=>{let e=++ye.current,t=()=>ye.current===e;(async()=>{try{let[e,n]=await Promise.all([T.request(ee.list,{}),T.request(ae.list,{})]);if(!t())return;let r=new Map;for(let e of n.extensionConfigs)e.scope===`default`&&!r.has(e.extensionName)&&r.set(e.extensionName,{id:e.id,enabled:e.enabled,config:e.config});let i=new Map,a=new Map;for(let t of e.extensions){let e=r.get(t.name);e!==void 0&&(i.set(t.name,e.enabled),a.set(t.name,{id:e.id,config:e.config}))}oe(e.extensions),se(i),P.current=a}catch(e){if(!t())return;console.error(`[useOnboardingFlow] Failed to load extension list:`,e)}})()},[]),a(()=>()=>{for(let e of I.current.values())e.abort();I.current.clear()},[]);let L=r(async()=>{let{adapters:e}=await T.request(D.adapter.list,{});h(e),v(new Set(e.filter(e=>e.enabled).map(e=>e.adapterName)))},[]),be=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!0})).success&&(await L(),pt.getState().invalidate())},[L]),R=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!1})).success&&(v(t=>{let n=new Set(t);return n.delete(e),n}),await L(),pt.getState().invalidate())},[L]),xe=r(async e=>{x(t=>new Map([...t,[e,{status:`pending`}]])),I.current.get(e)?.abort();let t=new AbortController;I.current.set(e,t);let n;try{n=(await T.request(re.resolveId,{adapterName:e},{signal:t.signal})).adapterId}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:`Could not resolve adapter "${e}": ${n instanceof Error?n.message:String(n)}`};return x(t=>new Map([...t,[e,r]])),r}if(t.signal.aborted)return{status:`pending`};let r=await kt(e);if(t.signal.aborted)return{status:`pending`};let i=Date.now(),a={adapterId:n,prompt:`Reply with the single word: OK`,...r&&{providerContext:r}};try{if(await T.request(te.infer,a,{timeout:3e4,signal:t.signal}),t.signal.aborted)return{status:`pending`};let n={status:`success`,durationMs:Date.now()-i};return x(t=>new Map([...t,[e,n]])),n}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:n instanceof Error?n.message:String(n)};return x(t=>new Map([...t,[e,r]])),r}finally{I.current.get(e)===t&&I.current.delete(e)}},[]),z=r((e,t)=>{C(n=>new Map([...n,[e,t]]))},[]),Se=r(e=>{ne(e)},[]),Ce=r(async()=>{let e=++F.current;ue(!0),fe(null);try{let{adapters:t,clients:n}=await bt();if(F.current!==e)return;ce(t),he(n);let r=new Set(n.filter(e=>e.found).map(e=>e.clientId));M(e=>e.size===0?r:new Set([...e].filter(e=>r.has(e))))}catch(t){if(F.current!==e)return;let n=t instanceof Error?t:Error(String(t));throw fe(n),n}finally{F.current===e&&ue(!1)}},[]),we=r((e,t)=>{se(n=>new Map([...n,[e,t]])),Z(e,t,P.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist plugin toggle for ${e}:`,t)})},[l]),Te=r(e=>M(t=>new Set([...t,e])),[]),B=r(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),V=r(async()=>{_e(await St(T))},[]),Ee=r(async e=>Ot(e,V),[V]),De=r(async e=>{await T.request(E.deleteProviderConfig,{id:e}),await V(),N(t=>t.filter(t=>t.providerConfigId!==e))},[V]),H=r(async e=>{let{bindings:t}=await T.request(E.listBindings,{adapterName:e});N(n=>[...n.filter(t=>t.adapterName!==e),...t])},[]),U=r(async(e,t)=>{await T.request(E.bind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),W=r(async(e,t)=>{await T.request(E.unbind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),G=r(async(e,t)=>{await T.request(E.setDefaultBinding,{adapterName:e,providerConfigId:t}),await H(e)},[H]),Oe=o(()=>({enableAdapter:be,disableAdapter:R,runHealthCheck:xe,setLogImportMode:z,setDefaultAgent:Se,refreshAdapterList:L,togglePlugin:we,scan:Ce,selectClient:Te,deselectClient:B,createProviderConfig:Ee,deleteProviderConfig:De,bindProvider:U,unbindProvider:W,setDefaultProvider:G,refreshProviderConfigs:V,refreshBindings:H}),[be,R,xe,z,Se,L,we,Ce,Te,B,Ee,De,U,W,G,V,H]),K=r(()=>{f(e=>Math.min(e+1,u.length-1))},[u.length]),ke=r(()=>{f(e=>Math.max(e-1,0))},[]),q=r(async e=>{w&&i(w);let t=Array.from(S.entries());if(await Promise.all(t.map(([e,t])=>T.request(ie.setMode,{adapterName:e,mode:t},{timeout:8e3}))),await Promise.all(Array.from(k.entries()).map(([e,t])=>Z(e,t,P.current,l))),e){for(let e of O)if(!k.has(e.name)){let t=m(g(e.name));Z(e.name,t,P.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist default extension state for ${e.name}:`,t)})}}},[l,S,w,i,O,k]),Ae=r(async()=>{try{await q(!1)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on skip:`,e)}finally{n()}},[q,n]),J=r(async()=>{try{await q(!0)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on complete:`,e)}finally{Dt(t)}},[q,t]),Y=o(()=>({adapters:p,enabledAdapterNames:_,healthCheckResults:b,logImportSelections:S,defaultAgentSelection:w,extensions:O,pluginEnabledStates:k,scanAdapters:A,isScanning:le,scanError:de,scanClients:me,selectedClientIds:pe,providerConfigs:ge,adapterProviderBindings:ve}),[p,_,b,S,w,O,k,A,le,de,me,pe,ge,ve]),X=u[d]??u[0];if(X===void 0)throw Error(`useOnboardingFlow: no active steps found. Call registerCoreOnboardingSteps() before mounting the onboarding flow.`);return{activeSteps:u,currentStepIndex:d,currentStep:X,flowState:Y,actions:Oe,goNext:K,goBack:ke,skip:Ae,complete:J}}const jt=Object.assign(At,{registerCreateProviderConfig:wt,unregisterCreateProviderConfig:Tt});export{A as BusContext,ce as BusProvider,Le as addWidgetToFocusLayout,mt as buildScanContext,st as clearOnboardingCompleted,rt as clearOnboardingSkipped,Ie as createEmptyFocusContextLayout,q as createPersistedStore,at as getOnboardingCompleted,tt as getOnboardingSkipped,Ct as getProviderConfigDetailView,We as groupPagesByNavigationGroup,lt as isPersistableProjectSelection,St as listProviderConfigSummaryViews,Te as loadExtensionBrowserContributions,K as noopStorage,ct as parsePersistedAgentSelection,Z as persistPluginEnabled,Xe as registerCoreOnboardingSteps,Ue as registerNavigationHandler,Re as removeWidgetFromFocusLayout,bt as scanOnboarding,vt as scanOnboardingAdapters,yt as scanOnboardingClients,ot as setOnboardingCompleted,nt as setOnboardingSkipped,Be as updateFocusContextWidgetPosition,ze as updateFocusContextWidgetSize,dt as useAppContext,j as useBus,fe as useBusEvent,ue as useBusQuery,Fe as useFocusStore,Ve as useNavigationLevel,jt as useOnboardingFlow,le as useOptionalBus,Ye as usePageComponent,Ge as usePageDefinitions,X as usePageOverlayStore,Ke as usePages,pt as useProviderStore,Me as useSidebarStore,F as useTrayLayout,_e as useWidgetConfig,ve as useWidgetLayout,P as useWidgetLayoutActions,he as useWidgetRegistry,me as useWidgets,Y as useWindowContext,Je as useWindowIdPages};
|
|
1
|
+
import e,{createContext as t,lazy as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{jsx as u}from"react/jsx-runtime";import{PreferencesSubjects as d}from"@makaio/framework/services/preferences";import{UiSubjects as f,deriveBrowserTarget as p,deriveDefaultEnabled as m,deriveTrayLayout as h,findCategory as g,isOverlayMode as _,isWidgetLayout as v,onboardingStepRegistry as y,pageDefinitionRegistry as b,queryPageDefinitions as x,runCleanupsInReverse as S,subscribeToWidgetEvents as C,widgetRegistry as w}from"@makaio/framework/ui-kernel";import{ExtensionSubjects as ee}from"@makaio/framework/kernel";import{MakaioBus as T}from"@makaio/framework/bus";import{AdapterSubjects as te,AgentSelectionSchema as ne}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as re}from"@makaio/framework/services/adapter-runtime";import{AdapterSubsystemSubjects as E}from"@makaio/framework/services/adapter-subsystem";import{LogImportSubjects as ie}from"@makaio/framework/services/log-import/log-import";import{SettingsSubjects as D}from"@makaio/framework/services/settings/namespace";import{ExtensionConfigStorageSubjects as ae}from"@makaio/framework/services/settings/storage/extension-configs/namespace";import{resolveRuntimeProviderContext as O}from"@makaio/framework/services/provider-context";import{ClientStorageSubjects as oe,ProviderStorageSubjects as k}from"@makaio/framework/services/settings/storage";import{ClientSubjects as se}from"@makaio/framework/contracts/client";import{AuthCredentialRefSchema as ce,ProviderConfigAuthSchema as le}from"@makaio/framework/contracts/auth";import{buildStoredCredentialRef as ue}from"@makaio/framework/contracts/config";const A=t(null);function de({bus:e,children:t}){return u(A.Provider,{value:e,children:t})}function j(){let e=i(A);if(!e)throw Error(`useBus must be used within a BusProvider`);return e}function fe(){return i(A)}function pe({subject:e,request:t,skip:n=!1,refetchOn:i=[]}){let l=j(),[u,d]=c(),[f,p]=c(!n),[m,h]=c(),g=o(()=>{if(t===void 0)return{deserializable:!0};try{let e=JSON.stringify(t);return e===void 0?{deserializable:!1}:{serialized:e,deserializable:!0}}catch{return{deserializable:!1}}},[t]),_=g.deserializable?g.serialized:`non-serializable-request`,v=o(()=>{if(g.deserializable&&g.serialized!==void 0)return JSON.parse(g.serialized)},[_,g.deserializable,g.serialized]),y=s(i);y.current=i;let b=o(()=>i.map(M).join(`,`),[i]),x=s(b);x.current!==b&&(x.current=b);let S=x.current,C=s(0),w=r(async()=>{let t=++C.current;p(!0),h(void 0);try{if(!g.deserializable)throw Error(`useBusQuery request must be JSON-serializable.`);let n=await l.request(e,v);t===C.current&&d(n)}catch(e){t===C.current&&h(e instanceof Error?e:Error(String(e)))}finally{t===C.current&&p(!1)}},[l,e,_,v,g.deserializable]);return a(()=>{n||w()},[w,n]),a(()=>{if(n||y.current.length===0)return;let e=y.current.map(e=>l.on(e,(()=>void w())));return()=>{for(let t of e)t()}},[l,S,w,n]),{data:u,loading:f,error:m,refetch:w}}function M(e){return JSON.stringify({subject:String(e.subject),meta:e.$meta})}function me(e,t){let n=j(),r=s(t);r.current=t,a(()=>n.on(e,(e=>r.current(e))),[n,e])}function he(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}const ge=Object.freeze([]);function _e(e={}){let{builtIns:t=ge,scope:n,includeAny:i=!0}=e,s=j(),[u,d]=c(!1);a(()=>{w.registerAll(t)},[t]),a(()=>{let e=C(s);return d(!0),()=>{e(),d(!1)}},[s]);let f=r(e=>w.subscribe(e),[]),p=r(()=>w.getAll(),[]),m=l(f,p,p),h=o(()=>n?w.getByScope(n,i):m,[m,i,n]);return{builtInWidgets:t,loading:!u,widgets:u?h:void 0}}function ve(e={}){let{scope:t,includeAny:n=!0}=e,i=r(e=>w.subscribe(e),[]),a=r(()=>w.getAll(),[]),s=l(i,a,a);return o(()=>t?w.getByScope(t,n):s,[s,n,t])}function ye(e){return e.contextId?`${e.scope}:${e.contextId}`:e.scope}function N(e){let{paneId:t,widgetId:n,context:i,surface:l,defaultConfig:u}=e,f=j(),[p,m]=c(u),h=s(0),g=o(()=>ye(i),[i.contextId,i.scope]),_=o(()=>({category:`widget-config:${t}:${n}`,key:{scope:g,surface:l}}),[g,t,l,n]),v=o(()=>structuredClone(u),[u]);a(()=>{let e=++h.current,t=()=>h.current===e;return m(v),(async()=>{try{let{value:e}=await f.request(d.get,{category:_.category,key:_.key});if(!t())return;he(e)&&m(t=>({...t,...e}))}catch{}})(),()=>{++h.current}},[f,v,_]);let y=r(async e=>{try{await f.request(d.set,{category:_.category,key:_.key,value:e})}catch{}},[f,_]);return{config:p,updateConfig:r(e=>{m(t=>{let n={...t,...e};return y(n),n})},[y])}}function P(e){let t=j(),[n,i]=c(null),[o,s]=c(!0),[l,u]=c(null),f=r(async()=>{s(!0),u(null);try{let{value:n}=await t.request(d.get,{category:`widget-layout`,key:e});i(v(n)?n:null)}catch(e){u(e instanceof Error?e:Error(`Failed to load layout`)),i(null)}finally{s(!1)}},[t,e]);return a(()=>{f()},[f]),{layout:n,isLoading:o,error:l,refresh:f}}const F=`widget-layout`;function I(){let e=j();return{saveLayout:r(async(t,n)=>{await e.request(d.set,{category:F,key:t,value:n})},[e]),resetLayout:r(async t=>{await e.request(d.delete,{category:F,key:t})},[e])}}const L=Object.freeze([]);function be(e=L){let t=r(e=>w.subscribe(e),[]),n=r(()=>w.getAll(),[]),i=l(t,n,n);return o(()=>h(i,e),[i,e])}async function xe(e){return import(e)}function Se(e){return e.kind===`resolved`&&e.factory!==void 0}function Ce(e){return e.filter(e=>e.state===`active`&&e.browser?.entrypoint)}function R(){return{cleanups:[],errorMessage:null,shell:null,state:`empty`}}function we(e){return e===`cancelled`}function z(e,t,n,r){return{cleanups:e,errorMessage:r,shell:n,state:t}}async function Te(e,t){let{bus:n,isCurrentRun:r,waitForRuntimeReady:i}=e,a=i(n);t.push(a.cleanup);let o=await a.ready;if(we(o))return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};if(o===`timeout`)return{kind:`result`,result:z(t,`error`,null,`The Makaio runtime did not respond. The service may have failed to start — try restarting the application or check the logs for errors.`)};if(!r())return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};let{extensions:s}=await n.request(ee.list,{}),c=Ce(s);return c.length===0?{kind:`result`,result:z(t,`empty`,null,null)}:{browserExtensions:c,kind:`ok`}}function Ee(e){let t=e.browser.entrypoint,n;try{n=new URL(t,globalThis.location.origin)}catch{return console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has malformed entrypoint "${t}"`),null}return n.origin!==globalThis.location.origin||!n.pathname.startsWith(`/extensions/`)?(console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has unsafe entrypoint "${t}" (must stay under /extensions/)`),null):n.pathname}async function B(e,t,n,r){let{bus:i,getRegisteredFactory:a,importModule:o=xe,isCurrentRun:s,registerExtensionUI:c,resolveFactory:l,unregisterFactory:u}=e,d=Ee(t);if(d===null)return{failed:!0,kind:`ok`,shell:r};let f=[()=>u(t.name)];try{let e=await o(d);if(!s())return S(f,`[ExtensionBrowserLoader] ${t.name}`),S(n,`[ExtensionBrowserLoader]`),{kind:`aborted`};let u=l(e.default,a(t.name));if(!Se(u))return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" has invalid browser factory (${u.reason??`unknown resolution error`})`),{failed:!0,kind:`ok`,shell:r};let p=u.factory({bus:i});if(!p||typeof p!=`object`)return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" factory returned invalid contribution (expected object, got ${p===null?`null`:typeof p})`),{failed:!0,kind:`ok`,shell:r};p.destroy&&f.push(p.destroy),f.push(c(i,t.name,p));let m=r;return p.shell&&(m!==null&&console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" replaces the previously registered shell (shell contributions are last-wins)`),m=p.shell.component),n.push(...f),{failed:!1,kind:`ok`,shell:m}}catch(e){return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.error(`[ExtensionBrowserLoader] Failed to load extension "${t.name}":`,e),{failed:!0,kind:`ok`,shell:r}}}async function De(e){let t=[];try{let n=await Te(e,t);if(n.kind===`aborted`)return R();if(n.kind===`result`)return n.result;let r=0,i=null;for(let a of n.browserExtensions){let n=await B(e,a,t,i);if(n.kind===`aborted`)return R();i=n.shell,n.failed&&(r+=1)}return e.isCurrentRun()?i===null?r>0?z(t,`error`,null,`One or more extensions failed to load before providing workspace chrome.`):z(t,`empty`,null,null):z(t,`ready`,i,null):(S(t,`[ExtensionBrowserLoader]`),R())}catch(e){return console.error(`[ExtensionBrowserLoader] Failed to query extensions:`,e),z(t,`error`,null,e instanceof Error?e.message:String(e))}}const V=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},H=(e=>e?V(e):V),Oe=e=>e;function U(t,n=Oe){let r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}const W=e=>{let t=H(e),n=e=>U(t,e);return Object.assign(n,t),n},ke=(e=>e?W(e):W);function Ae(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}const G=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return G(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return G(t)(e)}}}},K=(e,t)=>(n,r,i)=>{let a={storage:Ae(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return G(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},q={length:0,clear:()=>{},getItem:()=>null,key:()=>null,removeItem:()=>{},setItem:()=>{}};function je(e){let t=`__makaio_storage_probe__`,n=n=>{let r=null,i=!1;try{return r=n.getItem(t),i=r!==null,n.setItem(t,`1`),!0}catch{return!1}finally{try{i&&r!==null?n.setItem(t,r):n.removeItem(t)}catch(t){console.warn(`[createPersistedStore] Storage probe cleanup failed`,{type:e,error:t})}}};try{return e===`localStorage`?typeof localStorage>`u`?q:n(localStorage)?localStorage:q:typeof sessionStorage>`u`?q:n(sessionStorage)?sessionStorage:q}catch{return q}}function J(e,t){let{name:n,storage:r=`sessionStorage`,version:i,partialize:a,merge:o,extraPersistOptions:s}=t,c={name:n,storage:Ae(()=>je(r)),...i===void 0?{}:{version:i},...a?{partialize:a}:{},...o?{merge:o}:{},...s};return ke()(K(e,c))}const Y={level:`root`,values:{}};function Me(e){return{level:e.level,values:{...e.values}}}const Ne=J(e=>({windowId:null,uiContext:Me(Y),activePaneId:null,setWindowId:t=>e(e=>e.windowId!==null&&e.windowId!==t?{}:{windowId:t}),setUiContext:t=>e({uiContext:Me(t),activePaneId:null}),setActivePaneId:t=>e({activePaneId:t}),clearUiContext:()=>e({uiContext:Me(Y),activePaneId:null})}),{name:`makaio-window-context`,storage:`sessionStorage`,partialize:e=>({uiContext:e.uiContext})}),Pe=J(e=>({activePageId:null,internalRoute:null,openPage:(t,n)=>e({activePageId:t,internalRoute:n??null}),close:()=>e({activePageId:null,internalRoute:null}),navigate:t=>e(e=>({internalRoute:t,activePageId:e.activePageId}))}),{name:`makaio-page-overlay`,storage:`sessionStorage`});function Fe(e,t,n){return{collapsedByLevel:{...e.collapsedByLevel,[t]:n}}}const Ie=J((e,t)=>({collapsedByLevel:{},isCollapsed:e=>t().collapsedByLevel[e]??!1,toggle:t=>e(e=>Fe(e,t,!(e.collapsedByLevel[t]??!1))),setCollapsed:(t,n)=>e(e=>Fe(e,t,n))}),{name:`makaio-sidebar`,storage:`localStorage`}),Le={onboarding:{id:`onboarding`,name:`Welcome`,isPreset:!0},chat:{id:`chat`,name:`Chat`,isPreset:!0,quickPromptSuggestions:[`Help me understand this code`,`What are the key files in this project?`,`Explain the architecture`]},git:{id:`git`,name:`Git`,isPreset:!0,quickPromptSuggestions:[`Show recent commits`,`What changed in this branch?`,`Create a new branch`]},review:{id:`review`,name:`Code Review`,isPreset:!0,quickPromptSuggestions:[`Review this pull request`,`Show file differences`,`Add review comments`]},planning:{id:`planning`,name:`Planning`,isPreset:!0,quickPromptSuggestions:[`Break down this task`,`Create implementation plan`,`Estimate complexity`]},settings:{id:`settings`,name:`Settings`,isPreset:!0},dashboard:{id:`dashboard`,name:`Dashboard`,isPreset:!0,quickPromptSuggestions:[`Show recent projects`,`Open a workspace`,`Create a new project`]}},Re={activeFocus:Le.chat},ze=J((e,t)=>({activeFocus:Re.activeFocus,setActiveFocus:t=>{let n=Le[t];if(!n){console.error(`[focusStore] Unknown focus preset id: ${t}`);return}e({activeFocus:n})},setActiveFocusContext:t=>{e({activeFocus:t})},setFocusContextLayout:n=>{let{activeFocus:r}=t();e({activeFocus:{...r,layout:n}})},getFocusContextLayout:()=>t().activeFocus.layout}),{name:`makaio-focus`,storage:`sessionStorage`});function Be(){return{version:1,widgets:[]}}function Ve(e,t){return e.widgets.some(e=>e.widgetId===t.widgetId)?e:{...e,widgets:[...e.widgets,t]}}function He(e,t){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.filter(e=>e.widgetId!==t)}:e}function Ue(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,size:n}:e)}:e}function We(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,...n}:e)}:e}function Ge(){return Ne(e=>e.uiContext.level)}const Ke=new Set([`http:`,`https:`]);function qe(e){return e.on(f.navigate,e=>{let{url:t}=e.payload,n;try{n=new URL(t,window.location.href)}catch{throw Error(`[registerNavigationHandler] Invalid URL: ${t}`)}if(!Ke.has(n.protocol))throw Error(`[registerNavigationHandler] Unsafe URL protocol "${n.protocol}" in: ${t}`);let r=n.toString(),i=p(n.pathname+n.search+n.hash);window.open(r,i,`noopener,noreferrer`),e.setResult({action:`navigated`})},{priority:10})}function Je(e,t){let n=e.filter(e=>e.group!==void 0),r=new Map;for(let e of n){let t=e.group;r.has(t)||r.set(t,[]),r.get(t).push(e)}let i=[],a=new Set,o=[...t].sort((e,t)=>e.order-t.order);for(let e of o){let t=r.get(e.id)??[];i.push({config:e,pages:t}),a.add(e.id)}for(let[e,t]of r)if(!a.has(e)){let n={id:e,label:e,order:999};i.push({config:n,pages:t})}return i}function Ye(e){let t=r(e=>b.subscribe(e),[]),n=r(()=>b.getAll(),[]);return x(l(t,n,n),e)}function Xe(e){let t=Ye(e),n=Pe(e=>e.openPage),i=Pe(e=>e.activePageId),a=ze(e=>e.setActiveFocus),o=ze(e=>e.activeFocus.id),s=r(e=>_(e.mode)?()=>n(e.id):()=>{e.focusContext&&a(e.focusContext)},[n,a]);return t.map(e=>{let t;return t=e.isActive?e.isActive():_(e.mode)?i===e.id:e.focusContext?o===e.focusContext:!1,{...e,execute:s(e),isActive:t}})}function Ze(e,t){return e===void 0?!0:Array.isArray(e)?e.includes(t):e===t}function Qe(e){let t=Ne(e=>e.windowId),n=Xe(e);return t?n.filter(e=>Ze(e.windowId,t)):n}function $e(e,t=0){let i=r(t=>e===null?()=>void 0:b.subscribe(t),[e]),a=r(()=>{if(e!==null)return b.get(e)},[e]),s=l(i,a,a);return o(()=>{if(s)return{Component:n(s.component),definition:s}},[s,t])}function et(e){let t=[],n=e=>{t.push(y.register(e))};return n({id:`welcome`,title:`Welcome`,kaiState:`wave`,order:10,skippable:!1,component:e.WelcomeStep}),n({id:`clients`,title:`Clients`,kaiState:`neutral`,order:20,skippable:!0,component:e.ClientsStep}),n({id:`providers`,title:`Providers`,kaiState:`neutral`,order:25,skippable:!0,component:e.ProvidersStep}),n({id:`adapters`,title:`Tools`,kaiState:`neutral`,order:30,skippable:!0,component:e.AdaptersStep}),n({id:`preferences`,title:`Preferences`,kaiState:`smile`,order:35,skippable:!0,component:e.PreferencesStep}),n({id:`plugins`,title:`Plugins`,kaiState:`neutral`,order:40,skippable:!0,condition:e=>e.extensions.length>0,component:e.PluginsStep}),n({id:`done`,title:`All Set`,kaiState:`success`,order:50,skippable:!1,component:e.DoneStep}),()=>{for(let e of t)e()}}function tt(e){try{return localStorage.getItem(e)===`true`}catch{return!1}}function nt(e){try{localStorage.setItem(e,`true`)}catch{}}function rt(e){try{localStorage.removeItem(e)}catch{}}const it=`makaio-onboarding-skipped`;function at(){return tt(it)}function ot(){nt(it)}function st(){rt(it)}const ct=`makaio-onboarding-completed`;function lt(){return tt(ct)}function ut(){nt(ct)}function dt(){rt(ct)}function X(e,t,n,r){let i=n.get(e)??{id:`onboarding-${e}`,config:void 0};return n.set(e,i),r.request(ae.setEnabled,{extensionName:e,scope:`default`,enabled:t}).then(t=>(n.set(e,{...i,id:t.id}),t))}function ft(e){let t=ne.safeParse(e);if(!t.success)return null;let n=t.data;if(n.kind===`model`){let e=Z(n.adapterName),t=Z(n.model),r=Z(n.providerConfigId)??Z(n.providerId);return!e||!t?null:{kind:`adapter`,adapterName:e,model:t,...r?{providerConfigId:r}:{}}}if(n.kind===`virtualModel`){let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}switch(n.kind){case`adapter`:{let e=Z(n.adapterName);if(!e)return null;let t=Z(n.model),r=Z(n.providerConfigId);return{kind:`adapter`,adapterName:e,...t?{model:t}:{},...r?{providerConfigId:r}:{}}}case`persona`:{let e=Z(n.personaId);return e?{kind:`persona`,personaId:e}:null}case`profile`:{let e=Z(n.profileId);return e?{kind:`profile`,profileId:e}:null}case`virtual-model`:{let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}default:return null}}function pt(e){return e.kind===`adapter`?typeof e.adapterName==`string`&&e.adapterName.trim().length>0&&typeof e.providerConfigId==`string`&&e.providerConfigId.trim().length>0&&typeof e.model==`string`&&e.model.trim().length>0:!0}function Z(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function mt(e,t){if(typeof e==`object`&&e&&`defaultSelection`in e){let n=e.defaultSelection;if(n==null)return t;let r=ft(n);return r===null?t:{...t,defaultSelection:r}}return t}const ht=J(e=>({defaultSelection:null,setDefaultSelection:t=>e({defaultSelection:t})}),{name:`makaio-app-context`,storage:`localStorage`,merge:mt});async function gt(){let[{configs:e},{configs:t},{providers:n}]=await Promise.all([T.request(E.listProviderConfigs,{enabled:!0}),T.request(E.listAdapterConfigs,{}),T.request(k.list,{})]),r=new Map(n.map(e=>[e.id,e])),i=new Map;for(let e of t){if(!e.enabled)continue;let t=e.displayName??e.name;for(let n of e.bindings){let e={adapterName:n.adapterName,displayLabel:t},r=i.get(n.providerConfigId);r?r.push(e):i.set(n.providerConfigId,[e])}}return e.map(e=>({providerConfigId:e.id,definitionId:e.definitionId,name:e.name,availableModels:r.get(e.definitionId)?.availableModels??[],isDefault:e.isDefault,enabled:e.enabled,modelFilterMode:e.modelFilterMode,modelVisibility:e.modelVisibility,boundAdapters:i.get(e.id)??[]}))}const _t=ke((e,t)=>({providers:[],isLoading:!1,error:null,_fetchPromise:null,_hasFetched:!1,_fetchGeneration:0,fetchProviders:async()=>{let n=t();if(n._hasFetched&&!n.isLoading)return Promise.resolve();if(n._fetchPromise)return n._fetchPromise;let r=t()._fetchGeneration;e({isLoading:!0,error:null});let i=gt().then(e=>{t()._fetchGeneration===r&&(console.debug(`[providerStore] providers:`,e.map(e=>({providerConfigId:e.providerConfigId,definitionId:e.definitionId,name:e.name}))),t().setProviders(e))}).catch(e=>{if(t()._fetchGeneration!==r)return;let n=e instanceof Error?e:Error(String(e));t().setError(n)}).finally(()=>{e(e=>e._fetchPromise===i?{_fetchPromise:null}:{})});return e({_fetchPromise:i}),i},invalidate:()=>{e(e=>({_hasFetched:!1,_fetchPromise:null,_fetchGeneration:e._fetchGeneration+1,isLoading:!1}))},setProviders:t=>{e({providers:t,isLoading:!1,error:null,_hasFetched:!0})},setError:t=>{e({error:t,isLoading:!1})}}));async function Q(){let[{clients:e},{adapters:t}]=await Promise.all([T.request(oe.list,{}),T.request(D.adapter.list,{})]),n=e.filter(e=>e.enabled&&e.binary!==void 0).map(e=>({id:e.id,name:e.name,binary:e.binary.name,supportedVersions:e.binary.supportedVersions}));if(n.length===0)return null;let{results:r}=await T.request(se.scan,{targets:n.map(e=>({clientId:e.id,binaryName:e.binary,supportedVersions:e.supportedVersions}))}),i=new Map(r.map(e=>[e.clientId,e])),a=n.map(e=>{let t=i.get(e.id);return{id:e.id,name:e.name,binary:e.binary,found:t?.found??!1,version:t?.version,warningMessage:t?.warningMessage}}),o=new Map;for(let e of t){if(!e.clientId)continue;let t=o.get(e.clientId);t?t.push(e.adapterName):o.set(e.clientId,[e.adapterName])}return{scannedClients:a,adaptersByClientId:o}}function vt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=n.get(e.id);if(t?.length)for(let n of t)r.push({adapterName:n,displayName:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage})}return r}function yt(e){let t=e.toLowerCase();return t.includes(`cli`)?0:t.includes(`sdk`)?1:2}function bt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=(n.get(e.id)??[]).sort((e,t)=>{let n=yt(e),r=yt(t);return n===r?e.localeCompare(t):n-r});r.push({clientId:e.id,name:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage,adapterNames:t})}return r}async function xt(){let e=await Q();return e?vt(e):[]}async function St(){let e=await Q();return e?bt(e):[]}async function Ct(){let e=await Q();return e?{adapters:vt(e),clients:bt(e)}:{adapters:[],clients:[]}}function wt(e,t){return{...e,supportedProtocols:t==null?[]:Object.keys(t.endpoints??{})}}async function Tt(e,t={}){let[{configs:n},{providers:r}]=await Promise.all([e.request(E.listProviderConfigs,t),e.request(k.list,{})]),i=new Map(r.map(e=>[e.id,e]));return n.map(e=>wt(e,i.get(e.definitionId)))}async function Et(e,t){let{config:n}=await e.request(E.getProviderConfig,{id:t});if(n===null)return null;let{provider:r}=await e.request(k.get,{id:n.definitionId});return wt(n,r)}async function Dt(e,t){let{options:n}=await e.request(E.listCompatibleAuthOptions,{definitionId:t});return n}function Ot(e){return e.mode===`explicit`?Object.fromEntries(e.fields.map(({id:e})=>[e,{source:`stored`,value:``}])):{}}function kt(e,t={},n){if(e.mode===`explicit`){if(n)throw Error(`Explicit authentication cannot select a native account.`);let r=new Map(e.fields.map(e=>[e.id,e])),i=Object.keys(t).find(e=>!r.has(e));if(i)throw Error(`Authentication field "${i}" is not declared by method "${e.method.methodId}".`);let a={};for(let n of e.fields){let e=t[n.id];if(!e||e.source===`stored`&&e.value.length===0){if(n.required)throw Error(`Complete the required field: ${n.label}.`);continue}if(e.source===`environment`&&!n.sourceHints.some(t=>t.kind===`environment`&&t.variable===e.variable))throw Error(`Environment source "${e.variable}" is not declared for authentication field "${n.id}".`);a[n.id]=e}return{mode:e.mode,method:{...e.method},fields:a}}if(Object.keys(t).length>0)throw Error(`${e.mode} authentication cannot contain credential fields.`);if(e.mode===`inferred`)return{mode:e.mode,method:{...e.method},...n?{account:{...n}}:{}};if(n)throw Error(`No-auth authentication cannot select a native account.`);return{mode:e.mode,method:{...e.method}}}function At(e){return e.owner===`provider`?`provider:${e.providerDefinitionId}:${e.methodId}`:`client:${e.clientId}:${e.methodId}`}function jt(e,t){if(e.mode!==`explicit`)return{auth:le.parse(e.mode===`inferred`?{mode:e.mode,method:{...e.method},...e.account?{account:{...e.account}}:{}}:{mode:e.mode,method:{...e.method}}),storedCredentials:{}};let n={},r={};for(let[i,a]of Object.entries(e.fields)){if(a.source===`environment`){n[i]=ce.parse(`env:${a.variable}`);continue}if(!t)throw Error(`Stored authentication fields require the final provider-config ID.`);if(a.value.length===0)throw Error(`Stored authentication field "${i}" cannot be empty.`);n[i]=ue(t,i),r[i]=a.value}return{auth:le.parse({mode:e.mode,method:{...e.method},credentialRefs:n}),storedCredentials:r}}function Mt(e){return e.mode===`explicit`&&Object.values(e.fields).some(({source:e})=>e===`stored`)}let $=null;function Nt(e){if($===null)$={creator:e,count:1};else if($.creator===e)$.count+=1;else throw Error(`useOnboardingFlow: only one host-owned create bridge may be registered at a time.`);return()=>Pt(e)}function Pt(e){if($?.creator===e){if($.count===1){$=null;return}--$.count}}function Ft(e){return e}function It(e){try{ut()}catch(e){console.error(`[useOnboardingFlow] Failed to persist completion flag:`,e)}finally{e()}}async function Lt(e,t){let n=$?.creator??null;if(n){let r=await n(T,e);return await t(),r}if(Mt(e.auth))throw Error(`useOnboardingFlow: plaintext provider-config creation requires a host-owned create bridge.`);let{auth:r}=jt(e.auth),{auth:i,...a}=e,{config:o}=await T.request(E.createProviderConfig,{...a,auth:r});return await t(),o.id}async function Rt(e){let t=await T.requestOptional(E.getDefaultBinding,{adapterName:e});if(!t.handled||!t.data.binding)return;let{binding:n}=t.data;return O(T,{adapterName:n.adapterName,providerConfigId:n.providerConfigId})}function zt({context:e,onComplete:t,onSkip:n}){let{setDefaultSelection:i}=ht(),l=j(),[u]=c(()=>{let t=Ft(y.getAll());return Object.freeze(t.filter(t=>t.condition===void 0||t.condition(e)))}),[d,f]=c(0),[p,h]=c(e.adapters),[_,v]=c(()=>new Set(e.adapters.filter(e=>e.enabled).map(e=>e.adapterName))),[b,x]=c(()=>new Map),[S,C]=c(()=>new Map),[w,ne]=c(null),[O,oe]=c(()=>e.extensions),[k,se]=c(()=>new Map),[ce,le]=c([]),[ue,A]=c(!1),[de,fe]=c(null),[pe,M]=c(()=>new Set),[me,he]=c([]),[ge,_e]=c([]),[ve,ye]=c([]),N=s(new Map),P=s(0),F=s(0),I=s(new Map);a(()=>{let e=++P.current,t=()=>P.current===e;(async()=>{try{let[e,n]=await Promise.all([T.request(ee.list,{}),T.request(ae.list,{})]);if(!t())return;let r=new Map;for(let e of n.extensionConfigs)e.scope===`default`&&!r.has(e.extensionName)&&r.set(e.extensionName,{id:e.id,enabled:e.enabled,config:e.config});let i=new Map,a=new Map;for(let t of e.extensions){let e=r.get(t.name);e!==void 0&&(i.set(t.name,e.enabled),a.set(t.name,{id:e.id,config:e.config}))}oe(e.extensions),se(i),N.current=a}catch(e){if(!t())return;console.error(`[useOnboardingFlow] Failed to load extension list:`,e)}})()},[]),a(()=>()=>{for(let e of I.current.values())e.abort();I.current.clear()},[]);let L=r(async()=>{let{adapters:e}=await T.request(D.adapter.list,{});h(e),v(new Set(e.filter(e=>e.enabled).map(e=>e.adapterName)))},[]),be=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!0})).success&&(await L(),_t.getState().invalidate())},[L]),xe=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!1})).success&&(v(t=>{let n=new Set(t);return n.delete(e),n}),await L(),_t.getState().invalidate())},[L]),Se=r(async e=>{x(t=>new Map([...t,[e,{status:`pending`}]])),I.current.get(e)?.abort();let t=new AbortController;I.current.set(e,t);let n=()=>{I.current.get(e)===t&&I.current.delete(e)},r;try{r=(await T.request(re.resolveId,{adapterName:e},{signal:t.signal})).adapterId}catch(r){if(n(),t.signal.aborted)return{status:`pending`};let i={status:`error`,message:`Could not resolve adapter "${e}": ${r instanceof Error?r.message:String(r)}`};return x(t=>new Map([...t,[e,i]])),i}try{if(t.signal.aborted)return{status:`pending`};let n=await Rt(e);if(t.signal.aborted)return{status:`pending`};let i=Date.now(),a={adapterId:r,prompt:`Reply with the single word: OK`,...n&&{providerContext:n}};if(await T.request(te.infer,a,{timeout:3e4,signal:t.signal}),t.signal.aborted)return{status:`pending`};let o={status:`success`,durationMs:Date.now()-i};return x(t=>new Map([...t,[e,o]])),o}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:n instanceof Error?n.message:String(n)};return x(t=>new Map([...t,[e,r]])),r}finally{n()}},[]),Ce=r((e,t)=>{C(n=>new Map([...n,[e,t]]))},[]),R=r(e=>{ne(e)},[]),we=r(async()=>{let e=++F.current;A(!0),fe(null);try{let{adapters:t,clients:n}=await Ct();if(F.current!==e)return;le(t),he(n);let r=new Set(n.filter(e=>e.found).map(e=>e.clientId));M(e=>e.size===0?r:new Set([...e].filter(e=>r.has(e))))}catch(t){if(F.current!==e)return;let n=t instanceof Error?t:Error(String(t));throw fe(n),n}finally{F.current===e&&A(!1)}},[]),z=r((e,t)=>{se(n=>new Map([...n,[e,t]])),X(e,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist plugin toggle for ${e}:`,t)})},[l]),Te=r(e=>M(t=>new Set([...t,e])),[]),Ee=r(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),B=r(async()=>{_e(await Tt(T))},[]),De=r(async e=>Lt(e,B),[B]),V=r(async e=>{await T.request(E.deleteProviderConfig,{id:e}),await B(),ye(t=>t.filter(t=>t.providerConfigId!==e))},[B]),H=r(async e=>{let{bindings:t}=await T.request(E.listBindings,{adapterName:e});ye(n=>[...n.filter(t=>t.adapterName!==e),...t])},[]),Oe=r(async(e,t)=>{await T.request(E.bind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),U=r(async(e,t)=>{await T.request(E.unbind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),W=r(async(e,t)=>{await T.request(E.setDefaultBinding,{adapterName:e,providerConfigId:t}),await H(e)},[H]),ke=o(()=>({enableAdapter:be,disableAdapter:xe,runHealthCheck:Se,setLogImportMode:Ce,setDefaultAgent:R,refreshAdapterList:L,togglePlugin:z,scan:we,selectClient:Te,deselectClient:Ee,createProviderConfig:De,deleteProviderConfig:V,bindProvider:Oe,unbindProvider:U,setDefaultProvider:W,refreshProviderConfigs:B,refreshBindings:H}),[be,xe,Se,Ce,R,L,z,we,Te,Ee,De,V,Oe,U,W,B,H]),Ae=r(()=>{f(e=>Math.min(e+1,u.length-1))},[u.length]),G=r(()=>{f(e=>Math.max(e-1,0))},[]),K=r(async e=>{w&&i(w);let t=Array.from(S.entries());if(await Promise.all(t.map(([e,t])=>T.request(ie.setMode,{adapterName:e,mode:t},{timeout:8e3}))),await Promise.all(Array.from(k.entries()).map(([e,t])=>X(e,t,N.current,l))),e){for(let e of O)if(!k.has(e.name)){let t=m(g(e.name));X(e.name,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist default extension state for ${e.name}:`,t)})}}},[l,S,w,i,O,k]),q=r(async()=>{try{await K(!1)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on skip:`,e)}finally{n()}},[K,n]),je=r(async()=>{try{await K(!0)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on complete:`,e)}finally{It(t)}},[K,t]),J=o(()=>({adapters:p,enabledAdapterNames:_,healthCheckResults:b,logImportSelections:S,defaultAgentSelection:w,extensions:O,pluginEnabledStates:k,scanAdapters:ce,isScanning:ue,scanError:de,scanClients:me,selectedClientIds:pe,providerConfigs:ge,adapterProviderBindings:ve}),[p,_,b,S,w,O,k,ce,ue,de,me,pe,ge,ve]),Y=u[d]??u[0];if(Y===void 0)throw Error(`useOnboardingFlow: no active steps found. Call registerCoreOnboardingSteps() before mounting the onboarding flow.`);return{activeSteps:u,currentStepIndex:d,currentStep:Y,flowState:J,actions:ke,goNext:Ae,goBack:G,skip:q,complete:je}}const Bt=Object.assign(zt,{registerCreateProviderConfig:Nt,unregisterCreateProviderConfig:Pt});function Vt(e){let t=j(),[n,r]=c([]),[i,o]=c(!1),[s,l]=c(null);return a(()=>{let n=!0;return e?(o(!0),l(null),Dt(t,e).then(e=>{n&&r(e)}).catch(e=>{n&&(r([]),l(e instanceof Error?e:Error(String(e))))}).finally(()=>{n&&o(!1)}),()=>{n=!1}):(r([]),o(!1),l(null),()=>{n=!1})},[t,e]),{options:n,isLoading:i,error:s}}export{A as BusContext,de as BusProvider,Ve as addWidgetToFocusLayout,Mt as authDraftRequiresStorage,At as authMethodRefKey,kt as buildProviderConfigAuthDraft,Q as buildScanContext,dt as clearOnboardingCompleted,st as clearOnboardingSkipped,jt as compileProviderConfigAuthDraft,Be as createEmptyFocusContextLayout,Ot as createInitialAuthFieldDrafts,J as createPersistedStore,lt as getOnboardingCompleted,at as getOnboardingSkipped,Et as getProviderConfigDetailView,Je as groupPagesByNavigationGroup,pt as isPersistableProjectSelection,Dt as listCompatibleAuthOptions,Tt as listProviderConfigSummaryViews,De as loadExtensionBrowserContributions,q as noopStorage,ft as parsePersistedAgentSelection,X as persistPluginEnabled,et as registerCoreOnboardingSteps,qe as registerNavigationHandler,He as removeWidgetFromFocusLayout,Ct as scanOnboarding,xt as scanOnboardingAdapters,St as scanOnboardingClients,ut as setOnboardingCompleted,ot as setOnboardingSkipped,We as updateFocusContextWidgetPosition,Ue as updateFocusContextWidgetSize,ht as useAppContext,j as useBus,me as useBusEvent,pe as useBusQuery,Vt as useCompatibleAuthOptions,ze as useFocusStore,Ge as useNavigationLevel,Bt as useOnboardingFlow,fe as useOptionalBus,$e as usePageComponent,Ye as usePageDefinitions,Pe as usePageOverlayStore,Xe as usePages,_t as useProviderStore,Ie as useSidebarStore,be as useTrayLayout,N as useWidgetConfig,P as useWidgetLayout,I as useWidgetLayoutActions,ve as useWidgetRegistry,_e as useWidgets,Ne as useWindowContext,Qe as useWindowIdPages};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-
|
|
1
|
+
import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-D_9X_CRo.mjs";
|
|
2
2
|
import * as _$zod from "zod";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import * as _$_makaio_core0 from "@makaio/framework/core";
|
|
@@ -2518,8 +2518,8 @@ interface AdapterInfo {
|
|
|
2518
2518
|
}>;
|
|
2519
2519
|
/** Setup instructions in Markdown format. */
|
|
2520
2520
|
instructions?: string;
|
|
2521
|
-
/** Readiness signal describing required configuration work
|
|
2522
|
-
readiness
|
|
2521
|
+
/** Readiness signal describing required configuration work. */
|
|
2522
|
+
readiness: 'ready' | 'needs-setup';
|
|
2523
2523
|
/** Stable client identifier this adapter belongs to. */
|
|
2524
2524
|
clientId?: string;
|
|
2525
2525
|
/** Wire protocol this adapter speaks (for provider matching). */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-
|
|
1
|
+
import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-D_9X_CRo.mjs";
|
|
2
2
|
export { PageMetadata, PageSchemas, PageSurfaceConfig, SurfaceCapability, SurfaceCapabilitySchema, SurfaceDeclaration, SurfaceId, SurfaceIdSchema, isPageVisibleOnSurface };
|
package/dist/utils/keychain.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{execFile as e}from"node:child_process";import{promisify as t}from"node:util";const n=t(e);function r(e){let t=/^password: 0x([0-9A-Fa-f]+)/m.exec(e);if(t)return Buffer.from(t[1],`hex`).toString(`utf-8`);let n=/^password: "(.*)"/m.exec(e);if(n)return n[1];
|
|
1
|
+
import{execFile as e}from"node:child_process";import{promisify as t}from"node:util";const n=t(e);function r(e){let t=/^password: 0x([0-9A-Fa-f]+)/m.exec(e);if(t)return Buffer.from(t[1],`hex`).toString(`utf-8`);let n=/^password: "(.*)"/m.exec(e);if(n)return n[1];throw Error(`Unexpected macOS keychain output format`)}function i(e){if(e instanceof Error)return e.code}function a(e){return Error(`macOS keychain ${e} failed`)}async function o(e,t){let o=[`find-generic-password`,`-s`,e,`-g`];t&&o.push(`-a`,t);try{let{stderr:e}=await n(`/usr/bin/security`,o);return r(e)}catch(e){if(i(e)===44)return null;throw a(`read`)}}async function s(e,t,r){let i=Buffer.from(r,`utf-8`).toString(`hex`);try{await n(`/usr/bin/security`,[`add-generic-password`,`-U`,`-s`,e,`-a`,t,`-X`,i])}catch{throw a(`write`)}}async function c(e,t){let r=[`delete-generic-password`,`-s`,e];t&&r.push(`-a`,t);try{await n(`/usr/bin/security`,r)}catch(e){if(i(e)===44)return;throw a(`delete`)}}export{c as keychainDelete,o as keychainRead,s as keychainWrite};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-
|
|
1
|
+
import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-BccS1s9R.mjs";import{z as n}from"zod";var r=e(t(),1);const i=n.string().min(1).refine(e=>e.trim().length>0&&(0,r.validRange)(e)!==null,{message:`Must be a valid semver range (e.g. ">=1.0.0 <2.0.0", "^1.5.0")`});function a(e,t){return(0,r.satisfies)(e,t,{includePrerelease:!0})}function o(e){let t=(0,r.validRange)(e);return t===`*`||t===`>=0.0.0`||t===`>=0.0.0-0`}const s=n.string().min(1).refine(e=>(0,r.valid)(e)!==null&&!e.startsWith(`v`),{message:`Must be a valid semver version (e.g. "1.0.0")`});export{a as i,i as n,o as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,g as t,w as n}from"./artifact-CGjnoyCC.mjs";import{i as r,r as i,t as a}from"./json-value-DmU8ibo_.mjs";import{a as o}from"./visibility-Cb62p9bv.mjs";import"./model-uE5IyUFJ.mjs";import{t as s}from"./provider-context-DOsjOjiR.mjs";import{a as c,o as l}from"./schemas-th_nuC5t.mjs";import{z as u}from"zod";import{createBusNamespace as d,getFullSubjectForSubjectDefinition as f,observability as p}from"@makaio/framework/core";const m=u.enum([`wait-in-process`,`exit-and-redispatch`,`exit-and-resume`]),ee=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`path`),path:u.string().min(1)}).strict(),u.object({kind:u.literal(`source`),filename:u.string().min(1),source:u.string()}).strict()]),h=u.object({source:ee.optional(),requirements:u.object({isolation:u.enum([`local`,`container`,`remote`]).optional(),capabilities:u.array(u.string()).optional()}).catchall(r).optional(),providers:u.record(u.string(),r).optional()}).catchall(r),g=u.object({kind:u.string().min(1),id:u.string().min(1)});function te(e){return`${re(e.kind)}:${re(e.id)}`}function ne(e){let t=ie(e);if(t<1)throw Error(`Invalid artifact ref key: ${e}`);let n=ae(e.slice(t+1));if(n.length===0)throw Error(`Invalid artifact ref key (empty id): ${e}`);return{kind:ae(e.slice(0,t)),id:n}}function re(e){return e.replace(/\\/g,`\\\\`).replace(/:/g,`\\:`)}function ie(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r===`\\`){t=!0;continue}if(r===`:`)return n}return-1}function ae(e){let t=``,n=!1;for(let r of e){if(n){if(r!==`\\`&&r!==`:`)throw Error(`Invalid artifact ref key component: ${e}`);t+=r,n=!1;continue}if(r===`\\`){n=!0;continue}t+=r}if(n)throw Error(`Invalid artifact ref key component: ${e}`);return t}const oe=u.enum([`completed`,`failed`,`cancelled`]),se=u.object({status:oe,completedAt:u.number().int().nonnegative(),error:u.string().min(1).optional(),reason:u.string().min(1).optional()}).strict(),ce=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),finalizerId:u.string().min(1),transitionKey:u.string().min(1),claimToken:u.string().min(1),intent:se,claimedAt:u.number().int().nonnegative()}).strict(),le=u.object({accepted:u.boolean()}).strict(),ue=/^[a-z0-9]+(?:[._-][a-z0-9]+)*$/,_=u.string().regex(ue,`Workflow finalizer IDs must be lowercase dot, dash, or underscore separated names.`),v=u.string().regex(ue,`Workflow delegate result finalizer IDs must be lowercase dot, dash, or underscore separated names.`),de=u.object({toolName:u.string().min(1),outcome:u.enum([`success`,`failure`]).optional(),artifact:u.object({kind:u.string().min(1),id:u.string().min(1),revision:u.string().min(1)}).strict().optional()}).strict().superRefine((e,t)=>{e.artifact!==void 0&&e.outcome!==`success`&&t.addIssue({code:`custom`,path:[`artifact`],message:`requires an explicit successful outcome`})}),fe=u.object({durationMs:u.number().int().nonnegative(),inputTokens:u.number().int().nonnegative().optional(),outputTokens:u.number().int().nonnegative().optional(),cachedInputTokens:u.number().int().nonnegative().optional(),toolCallCount:u.number().int().nonnegative().optional(),binding:u.object({adapterName:u.string().min(1),providerConfigId:u.string().min(1).optional(),providerDefinitionId:u.string().min(1).optional(),model:u.string().min(1).optional(),auth:u.object({mode:u.enum([`explicit`,`inferred`,`none`]),owner:u.enum([`provider`,`client`]),methodId:u.string().min(1)}).strict().optional()}).strict()}).strict(),pe=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),nodeType:u.enum([`delegate-agent`,`delegate-role`]),rawResult:r,toolObservations:u.array(de),economics:fe.optional()}).strict(),me=u.object({output:r}).strict();function he(e){if(!_.safeParse(e).success)throw Error(`Invalid workflow finalizer ID: "${e}"`);let t=`workflow-finalizer:${e}`,n=d(t,{finalize:{request:ce,response:le}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}function ge(e){if(!v.safeParse(e).success)throw Error(`Invalid workflow delegate result finalizer ID: "${e}"`);let t=`workflow-delegate-finalizer:${e}`,n=d(t,{finalize:{request:pe,response:me}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}const y=u.union([u.string(),u.number(),u.boolean(),u.null()]),_e=u.union([y,u.object({$in:u.array(y)}).strict(),u.object({$ne:y}).strict(),u.object({$exists:u.boolean()}).strict(),u.object({$startsWith:u.string()}).strict(),u.object({$endsWith:u.string()}).strict()]),ve=u.record(u.string(),_e),ye=u.object({type:u.literal(`bus-event`),subject:u.string(),filter:ve.optional(),filterExpression:u.string().optional()}),be=u.object({type:u.literal(`extension`),extensionType:u.string().regex(/^[a-z0-9-]+:[a-z0-9._-]+$/),config:a.optional()}),xe=u.discriminatedUnion(`type`,[u.object({type:u.literal(`manual`)}),u.object({type:u.literal(`cron`),schedule:u.string(),timezone:u.string().optional()}),u.object({type:u.literal(`webhook`),event:u.string(),branch:u.string().optional(),repo:u.string().optional()}),be,ye]),b=u.discriminatedUnion(`type`,[u.object({type:u.literal(`global`)}).strict(),u.object({type:u.literal(`workspace`),id:u.string().min(1)}).strict(),u.object({type:u.literal(`session`),id:u.string().min(1)}).strict(),u.object({type:u.literal(`external`),kind:u.string().min(1),id:u.string().min(1)}).strict()]),x=u.string().min(1),S=u.object({kind:u.string().min(1),schemaVersion:u.string().min(1),scope:n,resolve:u.string().min(1).optional(),create:u.string().min(1).optional(),statusPath:u.string().min(1).optional()}),Se=u.object({kind:u.string().min(1),schemaVersion:u.string().min(1),scope:n,dataExpression:u.string().optional()}),Ce=u.object({file:u.string().min(1),line:u.number().int().positive().optional(),column:u.number().int().positive().optional()}),C=u.enum([`station`,`delegate-agent`,`delegate-role`,`parallel`,`gate`,`iterate`,`iterate-chain`,`loop`,`sequence`]),we=u.enum([`all-settled`,`fail-fast`]),w=u.object({id:u.string().min(1),when:x.optional(),skip:x.optional(),writes:u.array(Se).optional()}),T=u.lazy(()=>u.discriminatedUnion(`type`,[D,O,k,Te,Ee,De,Oe,Ae,E])),E=w.extend({type:u.literal(`sequence`),nodes:u.lazy(()=>u.array(T))}),D=w.extend({type:u.literal(`station`),prompt:u.string().min(1),role:u.string().min(1).optional(),outputSchema:i.optional(),timeoutMs:u.number().int().positive().optional(),completion:c.optional()}),O=w.extend({type:u.literal(`delegate-agent`),agentId:u.string().min(1),inputExpression:u.string().optional(),outputSchema:i.optional(),allowedTools:u.array(u.string()).optional(),completion:c.optional(),resultFinalizerId:v.optional()}),k=w.extend({type:u.literal(`delegate-role`),role:u.string().min(1),prompt:u.string().min(1),outputSchema:i.optional(),allowedTools:u.array(u.string()).optional(),resultFinalizerId:v.optional(),timeoutMs:u.number().int().positive().optional(),completion:c.optional()}),Te=w.extend({type:u.literal(`parallel`),mode:we.optional(),branches:u.record(u.string().min(1),u.lazy(()=>E))}),Ee=w.extend({type:u.literal(`gate`),prompt:u.string().min(1),title:u.string().optional(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().int().positive().nullable(),resumeSchema:i.optional()}),De=w.extend({type:u.literal(`iterate`),collection:u.string().min(1),body:u.lazy(()=>E),concurrency:u.number().int().nonnegative().optional()}),Oe=w.extend({type:u.literal(`iterate-chain`),collection:u.string().min(1),body:u.lazy(()=>E)}),ke=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`pass`)}).strict(),u.object({kind:u.literal(`loop`)}).strict(),u.object({kind:u.literal(`escalate`),reason:u.string().min(1)}).strict()]),Ae=w.extend({type:u.literal(`loop`),maxRounds:u.number().int().positive(),body:u.lazy(()=>E),gate:u.object({handler:u.string().min(1),input:u.string().min(1).optional(),config:r.optional(),escalation:u.object({title:u.string().optional(),prompt:u.string().min(1),resumeSchema:i.optional(),autoAction:u.enum([`approve`,`reject`]).default(`reject`),timeoutMs:u.number().int().positive().nullable().default(null)}).strict().optional()}).strict()}),je=u.object({factoryId:u.string().min(1),preview:u.array(u.lazy(()=>T)).optional(),sourceLocation:Ce.optional()}),Me=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`editor`)}).strict(),u.object({kind:u.literal(`extension`),extension:u.string().min(1),externalId:u.string().min(1).optional(),syncedAt:u.string().datetime().optional(),metadata:a.default({})}).strict()]),Ne=u.object({schema:i,initial:r.optional()}),A=u.object({id:u.string().min(1),name:u.string().optional(),description:u.string().optional(),inputSchema:i.optional(),configSchema:i.optional(),outputSchema:i.optional(),state:Ne.optional(),artifact:S.optional(),root:E,triggers:u.array(xe).optional(),scope:b.default({type:`global`}),canvasLayout:u.record(u.string(),r).optional(),source:Me.optional(),successFinalizerId:_.optional(),executionHints:h.optional()}),j=u.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),M=u.object({id:u.string(),workflowId:u.string(),coordinatorSessionId:u.string().optional(),status:j,inputs:r,config:a.optional(),startedAt:u.number(),completedAt:u.number().optional(),error:u.string().optional(),reason:u.string().optional(),triggerPayload:a.optional(),scope:b,artifactRef:g.optional()}),Pe=u.object({frameId:u.string(),nodeId:u.string(),nodeType:C,path:u.array(u.string()),parentFrameId:u.string().optional(),status:u.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:u.number().int().nonnegative().default(0),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().optional(),output:r.optional(),error:u.string().optional(),startedAt:u.number().optional(),completedAt:u.number().optional()}),N=u.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),Fe=u.object({executionId:u.string(),nodeId:u.string(),frameId:u.string(),schema:i,prompt:u.string().optional(),status:N,autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().int().positive().nullable(),resumeData:r.optional(),reason:u.string().optional(),createdAt:u.number(),resolvedAt:u.number().optional()}),P=u.object({adapterName:u.string().min(1),providerConfigId:u.string().min(1).optional(),model:u.string().optional(),reasoningEffort:o.optional(),harnessId:u.string().optional(),systemPrompt:u.string().optional(),contextMode:l.optional(),providerContext:s.optional(),adapterConfig:a.optional(),tools:u.array(u.string()).optional(),disallowedTools:u.array(u.string()).optional(),allowedDirectories:u.array(u.string()).optional(),completion:c.optional()}),Ie=P,Le=u.object({scope:b.optional()}),Re=u.object({startedAt:u.number(),id:u.string()}),ze=1,Be=500,Ve=50,He=u.object({workflowId:u.string().min(1).optional(),scope:b.optional(),status:j.optional(),artifactRef:g.optional(),limit:u.number().int().min(1).max(500).default(50),cursor:Re.optional()}).refine(e=>e.workflowId!==void 0||e.scope!==void 0||e.artifactRef!==void 0,{message:`Either workflowId, scope, or artifactRef is required.`}),Ue=200,We=100,Ge=10,Ke=u.object({refs:u.array(g).min(1).max(200),limitPerRef:u.number().int().min(1).max(100).default(10)}),qe=u.object({executionId:u.string().min(1).optional(),status:N.optional(),limit:u.number().int().min(1).max(500).default(50)}).refine(e=>e.executionId!==void 0||e.status!==void 0,{message:`Either executionId or status is required.`}),F=u.enum([`station`,`delegate-agent`,`delegate-role`,`gate`]),Je=u.enum([`station`]),Ye=u.object({input:u.number().int().nonnegative(),output:u.number().int().nonnegative(),cached:u.number().int().nonnegative().optional()}),Xe=u.object({duration:u.number().nonnegative(),tokenUsage:Ye.optional(),estimatedCost:u.number().nonnegative().optional(),toolCalls:u.number().int().nonnegative().optional()}),Ze=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`none`)}).strict(),u.object({kind:u.literal(`hmac`),secret:u.string().min(1)}).strict()]),Qe=u.object({cwd:u.string().min(1),env:u.record(u.string(),u.string()).optional()}),$e=u.object({executionId:u.string().min(1),stepId:u.string().min(1),reason:u.string().optional()});function et(e){let t=e.indexOf(`.`);if(t<=0||t===e.length-1)throw Error(`Invalid step cancel subject: ${e}`);return{subject:e.slice(t+1),$meta:{namespace:e.slice(0,t),isRequest:!1,payload:{},local:!1,channel:!1}}}const tt=u.object({executionId:u.string().min(1),reason:u.string().optional()});function nt(e){let t=e.indexOf(`.`);if(t<=0||t===e.length-1)throw Error(`Invalid workflow cancel subject: ${e}`);return{subject:e.slice(t+1),$meta:{namespace:e.slice(0,t),isRequest:!1,payload:{},local:!1,channel:!1}}}const rt=u.object({stepId:u.string().min(1),executionId:u.string().min(1),workflowId:u.string().min(1),coordinatorSessionId:u.string().min(1),stepType:Je,stepDefinition:D,resolvedInputs:a,busUrl:u.string().optional(),busAuth:Ze.default({kind:`none`}),platformDefaults:Qe,cancelSubject:u.string().min(1)}).superRefine((e,t)=>{e.stepType!==e.stepDefinition.type&&t.addIssue({code:`custom`,path:[`stepDefinition`,`type`],message:`stepDefinition.type must match stepType (${e.stepType})`})}),it=`Workflow cancelled`,at=u.object({status:u.enum([`completed`,`failed`]),output:r.optional(),error:u.string().optional(),telemetry:Xe}),ot=u.enum([`running`,`completed`,`failed`,`skipped`]),st=u.object({executionId:u.string().min(1),frameId:u.string().min(1),stepId:u.string().min(1),stepType:F,status:ot,startedAt:u.number().optional(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),inputTokens:u.number().int().nonnegative().optional(),outputTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative().optional(),toolCallCount:u.number().int().nonnegative().optional(),input:u.string().optional(),output:u.string().optional()}),ct=u.enum([`triggered-by`,`feedback-loop`,`rerun-of`]),I=u.object({sourceExecutionId:u.string().min(1),targetExecutionId:u.string().min(1),linkType:ct,metadata:u.record(u.string(),u.unknown()).optional()}),lt=u.object({sourceExecutionId:u.string().min(1).optional(),targetExecutionId:u.string().min(1).optional()}).refine(e=>e.sourceExecutionId!==void 0||e.targetExecutionId!==void 0,{message:`Either sourceExecutionId or targetExecutionId is required.`}),ut={RUN_CONTEXT_NOT_FOUND:`WORKFLOW_RUN_CONTEXT_NOT_FOUND`,SNAPSHOT_UNAVAILABLE:`WORKFLOW_SNAPSHOT_UNAVAILABLE`,SOURCE_MISMATCH:`WORKFLOW_SOURCE_MISMATCH`,NOT_EXECUTABLE:`WORKFLOW_NOT_EXECUTABLE`,HANDLER_UNAVAILABLE:`WORKFLOW_HANDLER_UNAVAILABLE`};var dt=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`WorkflowError`}};const L=u.string().refine(e=>e===``||e.startsWith(`/`),{message:`JSON Patch paths must be empty or start with "/".`}),ft=u.object({op:u.enum([`add`,`replace`,`test`]),path:L,value:r}).strict(),pt=u.object({op:u.literal(`remove`),path:L}).strict(),mt=u.object({op:u.enum([`move`,`copy`]),path:L,from:L}).strict(),R=u.discriminatedUnion(`op`,[ft,pt,mt]),ht=u.object({type:u.literal(`artifact-query`),query:t,select:u.enum([`latest`,`all`]),optional:u.boolean().optional()}),gt=u.object({type:u.literal(`bus-request`),subject:u.string().min(1),payload:u.record(u.string(),u.unknown()).optional(),optional:u.boolean().optional()}),_t=u.discriminatedUnion(`type`,[ht,gt]),vt=u.object({type:u.literal(`artifact`),kind:u.string().min(1),schemaVersion:u.string().min(1),scope:n,metadata:u.record(u.string(),u.unknown()).optional()}),yt=u.object({type:u.literal(`bus-event`),subject:u.string().min(1),payload:u.record(u.string(),u.unknown()).optional()}),bt=u.discriminatedUnion(`type`,[vt,yt]),xt=u.object({content:u.string(),metadata:u.record(u.string(),u.unknown()).optional()}),St=u.object({sources:u.record(u.string(),xt)}),Ct=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`none`)}).strict(),u.object({kind:u.literal(`hmac`),secret:u.string().min(1)}).strict()]),z=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`path`),path:u.string().min(1)}).strict(),u.object({kind:u.literal(`source`),filename:u.string().min(1),source:u.string()}).strict(),u.object({kind:u.literal(`definition`),workflowId:u.string().min(1)}).strict()]),wt=u.object({source:z,definition:A.optional(),executionId:u.string().min(1),workflowId:u.string().min(1),triggerPayload:a.default({}),inputs:r.default({}),config:a.optional(),artifactRef:g.optional(),scope:b.default({type:`global`}),busUrl:u.string().optional(),busAuth:Ct.default({kind:`none`}),context:u.object({repoPath:u.string().min(1),makaioHome:u.string().min(1),os:u.enum([`darwin`,`linux`,`win32`]),arch:u.string().min(1),worktree:u.string().optional()}),env:u.record(u.string(),u.string()).default({}),coordinatorSessionId:u.string().min(1),executionHints:h.optional(),cancelSubject:u.string().min(1),suspensionStrategy:m.default(`wait-in-process`),terminalAuthority:u.enum([`worker`,`authority`]).optional()}),B=u.object({executionId:u.string().min(1),workflowId:u.string().min(1)}),Tt=u.discriminatedUnion(`status`,[B.extend({status:u.literal(`completed`),artifact:e.optional()}).strict(),B.extend({status:u.literal(`failed`),error:u.string().min(1)}).strict(),B.extend({status:u.literal(`cancelled`),reason:u.string().min(1).optional()}).strict(),B.extend({status:u.literal(`paused`),pausedAtGateId:u.string().min(1),pausedAtFrameId:u.string().min(1)}).strict()]),Et=u.object({name:u.string().min(1),importPath:u.string().min(1)}),Dt=u.object({packages:u.array(Et).default([])}),Ot=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),source:z,definitionSnapshot:A.optional(),workerManifest:Dt.default({packages:[]}),inputs:r.default({}),config:a.optional(),scope:b.default({type:`global`}),triggerPayload:a.default({}),artifactRef:g.optional(),coordinatorSessionId:u.string().min(1),executionHints:h.optional(),dispatchMetadata:a.optional(),cancelSubject:u.string().min(1),context:u.object({repoPath:u.string().min(1),makaioHome:u.string().min(1),os:u.enum([`darwin`,`linux`,`win32`]),arch:u.string().min(1),worktree:u.string().optional()}),env:u.record(u.string(),u.string()).default({}),createdAt:u.number(),suspensionStrategy:m.default(`wait-in-process`),terminalAuthority:u.enum([`worker`,`authority`]).optional()}).superRefine((e,t)=>{e.source.kind===`definition`&&e.definitionSnapshot===void 0&&t.addIssue({code:u.ZodIssueCode.custom,path:[`definitionSnapshot`],message:`definitionSnapshot is required when source.kind is "definition"`})}),V=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),workflowName:u.string().optional(),status:u.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),startedAt:u.number(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),totalInputTokens:u.number().int().nonnegative().optional(),totalOutputTokens:u.number().int().nonnegative().optional(),totalEstimatedCost:u.number().nonnegative().optional(),error:u.string().optional(),failedNodeId:u.string().optional()}),kt=u.object({executionId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),nodeType:C,path:u.array(u.string()),status:u.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:u.number().int().nonnegative(),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().optional(),startedAt:u.number().optional(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),inputTokens:u.number().int().nonnegative().optional(),outputTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative().optional(),error:u.string().optional()}),At=u.object({executionId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),artifact:S,revision:u.string().min(1).optional(),writtenAt:u.number()}),jt=u.object({executionId:u.string().min(1),nodeId:u.string().min(1),frameId:u.string().min(1),status:u.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),prompt:u.string().optional(),openedAt:u.number(),resolvedAt:u.number().optional(),resumeData:r.optional()}),Mt=u.object({executionId:u.string().min(1),inputTokens:u.number().int().nonnegative(),outputTokens:u.number().int().nonnegative(),cachedTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative(),byModel:u.record(u.string(),u.object({inputTokens:u.number().int().nonnegative(),outputTokens:u.number().int().nonnegative(),estimatedCost:u.number().nonnegative()})).optional()}),Nt=u.object({total:u.number().int().nonnegative(),byStatus:u.object({pending:u.number().int().nonnegative(),running:u.number().int().nonnegative(),paused:u.number().int().nonnegative(),finalizing:u.number().int().nonnegative(),completed:u.number().int().nonnegative(),failed:u.number().int().nonnegative(),cancelled:u.number().int().nonnegative()}),totalDurationMs:u.number().nonnegative(),totalInputTokens:u.number().int().nonnegative(),totalOutputTokens:u.number().int().nonnegative(),totalEstimatedCost:u.number().nonnegative()}),Pt=u.object({executionId:u.string().min(1),frameId:u.string().min(1),factoryId:u.string().min(1),materializedNodeIds:u.array(u.string().min(1)),factoryInput:i.optional(),materializedAt:u.number()}),Ft=`wfx-ext-`,It=u.object({frameId:u.string().min(1).optional(),nodeId:u.string().min(1),nodeType:F,path:u.array(u.string().min(1)).optional(),attempt:u.number().int().nonnegative().default(0),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().min(1).optional(),startedAt:u.number().int().nonnegative().optional()}).strict(),Lt=u.object({frameId:u.string().min(1),nodeId:u.string().min(1),nodeType:F,path:u.array(u.string().min(1)),attempt:u.number().int().nonnegative().default(0),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().min(1).optional(),startedAt:u.number().int().nonnegative(),durationMs:u.number().int().nonnegative().optional()}).strict(),Rt=u.object({executionId:u.string().startsWith(Ft,{message:`executionId must use the wfx-ext- prefix`}).optional(),name:u.string().min(1),startedAt:u.number().int().nonnegative().optional(),scope:b.optional(),artifactRef:g.optional(),input:r.optional(),triggerPayload:a.optional(),frame:It.optional()}).superRefine((e,t)=>{e.executionId!==void 0&&e.startedAt===void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`startedAt is required when executionId is supplied`,path:[`startedAt`]})}),zt=u.object({executionId:u.string().min(1),status:u.enum([`completed`,`failed`,`cancelled`]),error:u.string().min(1).optional(),reason:u.string().min(1).optional(),completedAt:u.number().nonnegative().overwrite(e=>Math.trunc(e)).optional(),frame:Lt.optional()}).superRefine((e,t)=>{if(e.status===`failed`&&e.error===void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`status 'failed' requires a non-empty 'error' message`,path:[`error`]}),e.status===`cancelled`&&e.reason===void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`status 'cancelled' requires a non-empty 'reason' string`,path:[`reason`]}),e.status===`completed`&&e.error!==void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`status 'completed' must not carry an 'error'`,path:[`error`]}),e.status===`completed`&&e.reason!==void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`status 'completed' must not carry a 'reason'`,path:[`reason`]}),e.frame!==void 0&&e.completedAt===void 0&&t.addIssue({code:u.ZodIssueCode.custom,message:`completedAt is required when frame metadata is supplied`,path:[`completedAt`]}),e.frame!==void 0&&e.completedAt!==void 0){let n=e.completedAt-e.frame.startedAt;n<0&&t.addIssue({code:u.ZodIssueCode.custom,message:`completedAt must not precede frame.startedAt`,path:[`completedAt`]}),e.frame.durationMs!==void 0&&e.frame.durationMs!==n&&t.addIssue({code:u.ZodIssueCode.custom,message:`frame.durationMs must equal completedAt - frame.startedAt`,path:[`frame`,`durationMs`]})}}),Bt=u.object({message:u.string().min(1),details:u.string().min(1).optional(),kind:u.string().min(1).optional(),metadata:r.optional()}).strict(),H=u.object({executionId:u.string(),stepId:u.string(),stepType:u.enum([`station`,`delegate-agent`,`delegate-role`,`gate`])}),U=H.extend({stepType:u.literal(`gate`)}),Vt=u.discriminatedUnion(`source`,[U.extend({frameId:u.string(),action:u.enum([`approve`,`reject`]),source:u.literal(`user`),reason:u.string().optional()}),U.extend({frameId:u.string(),action:u.enum([`approve`,`reject`]),source:u.literal(`timeout`)}),U.extend({frameId:u.string(),source:u.literal(`cancelled`)})]),Ht=U.extend({workflowId:u.string(),workflowName:u.string(),title:u.string(),message:u.string(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().nullable(),openedAt:u.number()}),Ut={getDefinition:{request:u.object({id:u.string()}),response:u.object({workflow:A.nullable()})},setDefinition:{request:u.object({workflow:A}),response:u.object({id:u.string()})},deleteDefinition:{request:u.object({id:u.string()}),response:u.object({deleted:u.boolean()})},listDefinitions:{request:Le,response:u.object({workflows:u.array(A)})},"definition.created":A,"definition.updated":A,"definition.deleted":u.object({id:u.string()}),start:{request:u.object({workflowId:u.string(),input:r.optional(),config:r.optional(),artifactRef:g.optional(),scope:b.optional(),executionHints:h.optional(),parentSessionId:u.string().optional(),triggerPayload:a.optional()}),response:u.object({executionId:u.string()})},rerun:{request:u.object({executionId:u.string().min(1),mode:u.enum([`snapshot`,`current`]),input:r.optional(),config:r.optional(),artifactRef:g.optional(),scope:b.optional(),executionHints:h.optional(),parentSessionId:u.string().optional(),triggerPayload:a.optional(),reason:u.string().min(1).optional()}),response:u.object({executionId:u.string()})},cancel:{request:u.object({executionId:u.string(),reason:u.string().optional()}),response:u.object({cancelled:u.boolean()})},bootstrapAuthorityState:{request:u.object({executionId:u.string().min(1),terminalAuthority:u.literal(`authority`),definition:A}).strict(),response:u.object({persisted:u.boolean()})},acceptAuthorityRunnerResult:{request:u.object({executionId:u.string().min(1),result:Tt.refine(e=>e.status!==`paused`,{message:`Authority runner results must be terminal`})}).strict().superRefine((e,t)=>{e.result.executionId!==e.executionId&&t.addIssue({code:u.ZodIssueCode.custom,path:[`result`,`executionId`],message:`result.executionId must match executionId`})}),response:u.object({accepted:u.boolean(),status:j})},getExecution:{request:u.object({executionId:u.string()}),response:u.object({execution:M.nullable()})},listExecutions:{request:He,response:u.object({executions:u.array(M)})},listExecutionsByArtifactRefs:{request:Ke,response:u.object({executionsByRef:u.record(u.string(),u.array(M))})},listSpans:{request:u.object({executionId:u.string()}),response:u.object({spans:u.array(st)})},listGateInstances:{request:qe,response:u.object({gates:u.array(Fe)})},setExecutionLink:{request:u.object({link:I}),response:u.object({id:u.string()})},listExecutionLinks:{request:lt,response:u.object({links:u.array(I)})},listFrames:{request:u.object({executionId:u.string().min(1)}),response:u.object({frames:u.array(Pe)})},listTriggerTypes:{request:u.object({}),response:u.object({triggerTypes:u.array(u.object({type:u.string(),displayName:u.string(),icon:u.string(),category:u.string(),description:u.string().optional(),configJsonSchema:i,outputJsonSchema:i,source:u.string()}))})},runFile:{request:u.object({filePath:u.string().min(1),triggerPayload:a.optional(),scope:b.optional()}),response:u.object({executionId:u.string()})},registerExternalExecution:{request:Rt,response:u.object({executionId:u.string(),frameId:u.string().optional()})},completeExternalExecution:{request:zt,response:u.object({success:u.boolean()})},resolveRole:{request:u.object({roleId:u.string().min(1)}),response:P},resolveAgent:{request:u.object({agentId:u.string().min(1)}),response:Ie},getRunContext:{request:u.object({executionId:u.string().min(1)}),response:Ot},"execution.started":u.object({executionId:u.string(),workflowId:u.string(),coordinatorSessionId:u.string().optional(),startedAt:u.number().nonnegative().optional(),artifactRef:g.optional()}),"execution.completed":u.object({executionId:u.string(),workflowId:u.string(),totalDuration:u.number(),completedAt:u.number().nonnegative().optional(),transitionKey:u.string().min(1).optional()}),"execution.failed":u.object({executionId:u.string(),workflowId:u.string(),error:u.string(),failedStepId:u.string().optional(),completedAt:u.number().nonnegative().optional(),transitionKey:u.string().min(1).optional()}),"execution.cancelled":u.object({executionId:u.string(),workflowId:u.string(),reason:u.string().optional(),completedAt:u.number().nonnegative().optional(),transitionKey:u.string().min(1).optional()}),"execution.progress":u.object({executionId:u.string().min(1),workflowId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),progress:Bt,emittedAt:u.number().int().nonnegative()}),"execution.paused":p.schema(u.object({executionId:u.string(),workflowId:u.string(),pausedAtGateId:u.string().min(1),pausedAtFrameId:u.string().min(1)}),{traceAll:!0}),"step.beforeStart":H,"step.started":H.extend({sessionId:u.string().optional(),subagentId:u.string().optional()}),"step.completed":H.extend({result:r.optional(),duration:u.number()}),"step.failed":H.extend({error:u.string()}),"step.skipped":H.extend({reason:u.string().optional(),condition:u.string().optional()}),"gate.requested":Ht,"gate.awaitApproval":{request:Ht,response:u.object({action:u.enum([`approve`,`reject`]),source:u.enum([`user`,`timeout`]),reason:u.string().optional()})},"gate.respond":{request:u.object({executionId:u.string(),gateId:u.string(),action:u.enum([`approve`,`reject`]),frameId:u.string().optional(),resumeData:r,reason:u.string().optional()}),response:u.object({accepted:u.boolean()})},"gate.resolved":Vt,"frame.started":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),nodeType:C,path:u.array(u.string()),parentFrameId:u.string().optional(),startedAt:u.number().nonnegative().optional()}),"frame.completed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),output:r.optional(),duration:u.number().nonnegative().optional(),completedAt:u.number().nonnegative().optional()}),"frame.failed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),error:u.string(),duration:u.number().nonnegative().optional(),completedAt:u.number().nonnegative().optional()}),"frame.sessionLinked":u.object({executionId:p.attribute(u.string(),`makaio.execution.id`),frameId:p.attribute(u.string(),`makaio.frame.id`),sessionId:p.attribute(u.string(),`makaio.session.id`)}).strict(),"gate.suspended":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),schema:i,prompt:u.string().optional(),title:u.string().optional(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().nullable(),openedAt:u.number()}),"gate.resumed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),resumeData:r}),"dynamic.materialized":u.object({executionId:u.string(),frameId:u.string(),factoryId:u.string().min(1),materializedNodes:u.number().int().nonnegative()}),"artifact.updated":u.object({executionId:u.string(),frameId:u.string(),artifactRef:u.object({kind:u.string().min(1),id:u.string().min(1)}),paths:u.array(u.string()),operation:u.string().min(1),revision:u.string().min(1).optional()}),"worklog.get":{request:u.object({executionId:u.string().min(1)}),response:u.object({summary:V.nullable()})},"worklog.frame.get":{request:u.object({frameId:u.string().min(1)}),response:u.object({frame:kt.nullable()})},"worklog.list":{request:u.object({workflowId:u.string().min(1).optional(),status:j.optional(),limit:u.number().int().positive().optional(),offset:u.number().int().nonnegative().optional()}),response:u.object({items:u.array(V),total:u.number().int().nonnegative()})},"worklog.stats":{request:u.object({workflowId:u.string().min(1).optional(),since:u.number().int().nonnegative().optional(),until:u.number().int().nonnegative().optional()}),response:u.object({stats:Nt})},"worklog.changed":u.object({executionId:u.string().min(1)}),"state.get":{request:u.object({executionId:u.string().min(1)}),response:u.object({executionId:u.string().min(1),sequence:u.number().int().nonnegative(),value:r})},"state.patch":{request:u.object({executionId:u.string().min(1),expectedSequence:u.number().int().nonnegative(),patch:u.array(R),nextValue:r}),response:u.object({executionId:u.string().min(1),sequence:u.number().int().positive(),value:r})},"state.updated":u.object({executionId:u.string().min(1),sequence:u.number().int().positive(),patch:u.array(R),value:r,updatedAt:u.number().int().positive()})},Wt=d(`workflow`,Ut),Gt=Wt.subjects;function Kt(e,t){W(e,t,void 0,0,[],`root`,void 0,void 0)}function W(e,t,n,r,i,a,o,s){let c={parent:n,depth:r,ancestors:i,relationship:a,...o!==void 0&&{index:o},...s!==void 0&&{branchKey:s}};if(t.enter?.(e,c)===!1)return;let l=[...i,e.id],u=r+1;switch(e.type){case`sequence`:{let n=e;for(let r=0;r<n.nodes.length;r++)W(n.nodes[r],t,e,u,l,`sequence-child`,r,void 0);break}case`parallel`:{let n=e;for(let[r,i]of Object.entries(n.branches))W(i,t,e,u,l,`parallel-branch`,void 0,r);break}case`iterate`:W(e.body,t,e,u,l,`iterate-body`,void 0,void 0);break;case`iterate-chain`:W(e.body,t,e,u,l,`iterate-chain-body`,void 0,void 0);break;case`loop`:W(e.body,t,e,u,l,`loop-body`,void 0,void 0);break}t.leave?.(e,c)}function qt(e){switch(e){case`station`:case`delegate-agent`:case`delegate-role`:case`gate`:return`leaf`;case`parallel`:case`iterate`:case`iterate-chain`:case`loop`:return`control`;case`sequence`:return`structural`}}function Jt(e,t,n){return e===`parallel-branch`&&t!==void 0?[{kind:`branch`,key:t}]:e===`sequence-child`&&n!==void 0?[{kind:`index`,value:n}]:e===`iterate-body`||e===`iterate-chain-body`||e===`loop-body`?[{kind:`body`}]:[]}function Yt(e){return e.replace(/\\/g,`\\\\`).replace(/\//g,`\\/`)}function Xt(e){return e.map(e=>{switch(e.kind){case`node`:return`n:${Yt(e.id)}`;case`branch`:return`b:${Yt(e.key)}`;case`index`:return`i:${e.value}`;case`body`:return`body`}}).join(`/`)}function Zt(e){let t=[],n=[],r=new Map,i=[],a=[],o=[];return Kt(e.root,{enter(e,s){let c=Jt(s.relationship,s.branchKey,s.index),l={kind:`node`,id:e.id};i.push(...c,l),o.push(c.length+1);let u=[...i],d=Xt(u),f=a.at(-1);if(t.push({key:d,nodeId:e.id,type:e.type,role:qt(e.type),path:u,parentKey:f,...s.branchKey!==void 0&&{branchKey:s.branchKey}}),f!==void 0&&s.parent!==void 0)switch(s.parent.type){case`sequence`:{n.push({sourceKey:f,targetKey:d,kind:`contains`});let e=r.get(f);e!==void 0&&n.push({sourceKey:e,targetKey:d,kind:`sequence`}),r.set(f,d);break}case`parallel`:n.push({sourceKey:f,targetKey:d,kind:`branch`});break;case`iterate`:case`iterate-chain`:case`loop`:n.push({sourceKey:f,targetKey:d,kind:`body`});break;default:n.push({sourceKey:f,targetKey:d,kind:`contains`});break}a.push(d)},leave(){let e=o.pop()??0;i.splice(i.length-e,e),a.pop()}}),{nodes:t,edges:n}}function Qt(e){return{type:`bus-event`,subject:f(e.subject),...e.filter!==void 0&&{filter:e.filter},...e.filterExpression!==void 0&&{filterExpression:e.filterExpression}}}function $t(){return{type:`manual`}}function en(e){return{type:`cron`,schedule:e.schedule,...e.timezone!==void 0&&{timezone:e.timezone}}}function tn(e){return{type:`webhook`,event:e.event,...e.branch!==void 0&&{branch:e.branch},...e.repo!==void 0&&{repo:e.repo}}}function nn(e){return{type:`extension`,extensionType:e.extensionType,...e.config!==void 0&&{config:e.config}}}function G(e){return K(e.body.nodes,e.id)}function K(e,t){for(let n of e){if(n.type===`loop`)return`Nested loop '${n.id}' found inside loop '${t}' — V1 does not support nested loops`;if(n.type===`sequence`){let e=K(n.nodes,t);if(e)return e}if(n.type===`parallel`)for(let e of Object.values(n.branches)){let n=K(e.nodes,t);if(n)return n}if(n.type===`iterate`||n.type===`iterate-chain`){let e=n.body,r=K(e.nodes,t);if(r)return r}}}const q=new WeakMap,rn=new WeakMap;function J(e){let{$schema:t,...n}=u.toJSONSchema(e);return n}function Y(e,t,n){let r=q.get(e);if(r!==void 0&&t.set(e.id,r),e.type===`sequence`)for(let r of e.nodes)Y(r,t,n);else if(e.type===`parallel`)for(let r of Object.values(e.branches))Y(r,t,n);else if(e.type===`iterate`)Y(e.body,t,n);else if(e.type===`iterate-chain`)Y(e.body,t,n);else if(e.type===`loop`){if(n!==void 0){let t=rn.get(e);t!==void 0&&n.set(e.gate.handler,t)}Y(e.body,t,n)}}function an(e,t,n){let r={id:e,type:`station`,prompt:e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}};return q.set(r,t),r}function on(e,t,n){return{id:e,type:`delegate-agent`,agentId:t.agentId,...t.inputExpression!==void 0&&{inputExpression:t.inputExpression},...t.outputSchema!==void 0&&{outputSchema:t.outputSchema},...t.allowedTools!==void 0&&{allowedTools:t.allowedTools},...t.completion!==void 0&&{completion:t.completion},...t.resultFinalizerId!==void 0&&{resultFinalizerId:t.resultFinalizerId},...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}}}function sn(e,t,n){return{id:e,type:`delegate-role`,role:t,prompt:n?.prompt??e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip},...n?.outputSchema!==void 0&&{outputSchema:n.outputSchema},...n?.timeoutMs!==void 0&&{timeoutMs:n.timeoutMs},...n?.completion!==void 0&&{completion:n.completion},...n?.allowedTools!==void 0&&{allowedTools:n.allowedTools},...n?.resultFinalizerId!==void 0&&{resultFinalizerId:n.resultFinalizerId}}}function cn(e,t){return{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:J(t.resume)}}}function ln(e,t,n){let r=`${e}__item`,i={id:r,type:`station`,prompt:r},a={id:e,type:`iterate`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:[i]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}};return q.set(i,t),a}function un(e,t,n){return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function dn(e,t,n){let r={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:`${e}__body`,type:`sequence`,nodes:t},gate:X(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},i=G(r);if(i!==void 0)throw Error(i);return rn.set(r,n.gate.evaluate),r}function X(e){let t=e.gate.escalation;return{handler:e.gate.handler,...e.gate.input!==void 0&&{input:e.gate.input},...e.gate.config!==void 0&&{config:e.gate.config},...t!==void 0&&{escalation:{prompt:t.prompt,autoAction:t.autoAction??`reject`,timeoutMs:t.timeoutMs??null,...t.title!==void 0&&{title:t.title},...t.resumeSchema!==void 0&&{resumeSchema:t.resumeSchema}}}}}function Z(e,t){if(e.has(t))throw Error(`Duplicate step ID: ${t}`);e.add(t)}function Q(e,t){if(Z(e,t.id),t.type===`sequence`)for(let n of t.nodes)Q(e,n);else if(t.type===`parallel`)for(let n of Object.values(t.branches))Q(e,n);else (t.type===`iterate`||t.type===`iterate-chain`||t.type===`loop`)&&Q(e,t.body)}function fn(e,t,n,r,i){let a={};return t.forEach((t,o)=>{if(t.id.length===0)throw Error(`parallel branch at index ${o} has an empty ID`);let s=t.id,c=`${e}__${s}`;Q(n,t),Z(n,c),Y(t,r,i),a[s]={id:c,type:`sequence`,nodes:[t]}}),a}function pn(e,t,n,r,i){let a=`${e}__body`,o=`${e}__item`;Z(r,a),Z(r,o),i.set(o,t);let s={id:o,type:`station`,prompt:o};return{id:e,type:`iterate`,collection:n.collection,body:{id:a,type:`sequence`,nodes:[s]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function mn(e,t,n){return t.resume!==void 0&&(n[e]=t.resume),{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:J(t.resume)}}}function hn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),Y(e,i,a);return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:o,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function gn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),Y(e,i,a);let s={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:o,type:`sequence`,nodes:t},gate:X(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},c=G(s);if(c!==void 0)throw Error(c);return a.set(n.gate.handler,n.gate.evaluate),s}function _n(e,t){e.input=n=>(t.zodSchemas.input=n,t.definition.inputSchema=J(n),e),e.config=n=>(t.zodSchemas.config=n,t.definition.configSchema=J(n),e),e.output=n=>(t.zodSchemas.output=n,t.definition.outputSchema=J(n),e),e.artifact=n=>(n.schema!==void 0&&(t.zodSchemas.artifact=n.schema),t.definition.artifact={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,...n.resolve!==void 0&&{resolve:n.resolve},...n.create!==void 0&&{create:n.create},...n.statusPath!==void 0&&{statusPath:n.statusPath}},e),e.state=e=>(t.definition.state={schema:e.schema,...e.initial!==void 0&&{initial:e.initial}},$(t))}function vn(e,t){let{rootNodes:n,runtimeHandlers:r,runtimeLoopGates:i,registeredIds:a,zodGates:o}=t;e.station=(t,i,o)=>(Z(a,t),n.push({id:t,type:`station`,prompt:t,...o?.when!==void 0&&{when:o.when},...o?.skip!==void 0&&{skip:o.skip}}),r.set(t,i),e),e.delegateToAgent=(t,r,i)=>(Z(a,t),n.push(on(t,r,i)),e),e.delegateToRole=(t,r,i)=>(Z(a,t),n.push(sn(t,r,i)),e),e.parallel=(t,o,s)=>(Z(a,t),n.push({id:t,type:`parallel`,mode:o.mode??`all-settled`,branches:fn(t,s,a,r,i),...o.when!==void 0&&{when:o.when},...o.skip!==void 0&&{skip:o.skip}}),e),e.gate=(t,r)=>(Z(a,t),n.push(mn(t,r,o)),e),e.iterate=(t,i,o)=>(Z(a,t),n.push(pn(t,i,o,a,r)),e),e.iterateChain=(t,o,s)=>(Z(a,t),n.push(hn(t,o,s,a,r,i)),e),e.loop=(t,o,s)=>(Z(a,t),n.push(gn(t,o,s,a,r,i)),e),e.addNode=e=>yn(e,a,r,i,n)}function yn(e,t,n,r,i){Q(t,e),Y(e,n,r),i.push(e)}function $(e){let t={id:e.definition.id,definition:e.definition,runtimeHandlers:e.runtimeHandlers,runtimeFactories:e.runtimeFactories,runtimeLoopGates:e.runtimeLoopGates,source:void 0,get zodSchemas(){return e.zodSchemas},addTrigger(t){return e.triggers.push(t),$(e)}};return _n(t,e),vn(t,e),t}function bn(e,t){let n=[],r=new Map,i=new Map,a=new Set,o={},s={gates:o},c=new Map,l=t?.triggers?[...t.triggers]:[];return $({rootNodes:n,runtimeHandlers:r,runtimeFactories:c,runtimeLoopGates:i,registeredIds:a,zodGates:o,zodSchemas:s,definition:{id:e,...t?.name!==void 0&&{name:t.name},...t?.description!==void 0&&{description:t.description},...t?.successFinalizerId!==void 0&&{successFinalizerId:_.parse(t.successFinalizerId)},root:{id:`${e}__root`,type:`sequence`,nodes:n},triggers:l,scope:{type:`global`}},triggers:l})}function xn(e){if(e.workflows.length===0)throw Error(`defineWorkflowBundle: workflows must not be empty`);return{workflows:Object.freeze([...e.workflows])}}const Sn=u.enum([`artifact.created`,`artifact.revised`,`artifact.status.changed`]),Cn=u.record(u.string(),r),wn=u.object({type:u.string().min(1),input:u.record(u.string(),r).optional(),executionHints:h.optional()}),Tn=u.object({id:u.string().min(1),description:u.string().optional(),on:Sn,when:Cn.optional(),action:wn,enabled:u.boolean().default(!0)});export{xt as $,w as $t,It as A,j as At,Dt as B,O as Bt,Wt as C,g as Cn,We as Ct,zt as D,ee as Dn,ze as Dt,Gt as E,h as En,Be as Et,kt as F,S as Ft,z as G,Pe as Gt,Tt as H,je as Ht,jt as I,Se as It,yt as J,N as Jt,vt as K,Fe as Kt,Nt as L,x as Lt,At as M,be as Mt,Pt as N,qe as Nt,Ft as O,m as On,Re as Ot,V as P,ke as Pt,_t as Q,Ae as Qt,Mt as R,Me as Rt,Kt as S,he as Sn,Ge as St,Ut as T,te as Tn,Ve as Tt,Ct as U,M as Ut,Et as V,k as Vt,wt as W,b as Wt,St as X,De as Xt,gt as Y,Oe as Yt,bt as Z,Le as Zt,en as _,le as _n,Je as _t,xn as a,P as an,ct as at,tn as b,oe as bn,nt as bt,sn as c,Ne as cn,$e as ct,un as d,fe as dn,Ze as dt,T as en,R as et,dn as f,pe as fn,Qe as ft,Qt as g,ce as gn,tt as gt,G as h,de as hn,it as ht,Tn as i,Ie as in,I as it,Rt as j,Ke as jt,Lt as k,He as kt,cn as l,D as ln,rt as lt,J as m,v as mn,Ye as mt,Cn as n,we as nn,ut as nt,bn as o,E as on,st as ot,an as p,me as pn,Xe as pt,ht as q,Ee as qt,Sn as r,Te as rn,lt as rt,on as s,Ce as sn,ot as st,wn as t,C as tn,dt as tt,ln as u,xe as un,at as ut,nn as v,se as vn,F as vt,Bt as w,ne as wn,Ue as wt,Zt as x,ge as xn,ye as xt,$t as y,_ as yn,et as yt,Ot as z,A as zt};
|