@makaio/framework 1.0.0-dev-1789609124644 → 1.0.0-dev-1790066089222
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/{adapter-C4v_gNTI.mjs → adapter-DSRgsh2d.mjs} +1 -1
- package/dist/adapter-subsystem/index.d.mts +15 -7
- package/dist/adapter-subsystem/index.mjs +1 -1
- package/dist/adapters/claude/index.mjs +3 -3
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/node.d.mts +1 -1
- package/dist/{attempt-record-codec-DaQ3WHUs.mjs → attempt-record-codec-DXpdMgyI.mjs} +1 -1
- package/dist/bus/index.d.mts +120 -8
- package/dist/bus/index.mjs +1 -1
- package/dist/bus-ceMF9rsq.mjs +9 -0
- package/dist/client-DWSwtFyI.mjs +1 -0
- package/dist/clients/index.d.mts +179 -12
- package/dist/clients/index.mjs +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/code-execution/worker-entry.d.mts +1 -1
- package/dist/code-execution/worker-entry.mjs +1 -1
- package/dist/{code-execution-pUF4IO462.mjs → code-execution-DWSux6k1.mjs} +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +2 -2
- package/dist/contracts/auth/index.d.mts +2 -2
- package/dist/contracts/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +3 -3
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +2 -47
- package/dist/contracts/context-projection/index.d.mts +232 -0
- package/dist/contracts/context-projection/index.mjs +1 -0
- package/dist/contracts/extension/index.d.mts +6 -6
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +43 -43
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +3 -3
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +2 -2
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/worker/index.d.mts +2 -2
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/{contribution-DDbHzCPF.d.mts → contribution-1GL7Rjaq.d.mts} +2 -2
- package/dist/credential-ref-w4ZYpYW0.d.mts +49 -0
- package/dist/{definition-CuaBQyde.d.mts → definition-DeIGoROj.d.mts} +1 -1
- package/dist/{descriptor-to-package-Dw8dnl5E.mjs → descriptor-to-package-BPIArq6N.mjs} +1 -1
- package/dist/{detached-extension-handle-DN3aqLyq.mjs → detached-extension-handle-W5_yfCyE.mjs} +1 -1
- package/dist/drizzle/0040_session_generation.sql +1 -0
- package/dist/drizzle/0041_session_principal_owner.sql +1 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/{execution-attempt-owner-recovery-CE_rvHKE.mjs → execution-attempt-owner-recovery-BZOEVYFH.mjs} +1 -1
- package/dist/extension-C6ANjR33.mjs +1 -0
- package/dist/{extension-context-BH31eOMv.d.mts → extension-context-pQ7Uio_s.d.mts} +44 -1
- package/dist/{extension-discovery-CA2IhDRo.d.mts → extension-discovery-Rup-gANp.d.mts} +114 -15
- package/dist/extension-kOwzAMud.mjs +1 -0
- package/dist/extension-namespace-CeRpt6C8.mjs +1 -0
- package/dist/{framework-packages-Bg4edkkM.mjs → framework-packages-U4Xhouxe.mjs} +1 -1
- package/dist/{hook-responses-Dq16X3Cb.d.mts → hook-responses-B882RcQc.d.mts} +48 -5
- package/dist/{index-Dm3d490n.d.mts → index-B2bxgKiK.d.mts} +1 -1
- package/dist/{index-7CVumCjj.d.mts → index-BTpkpHIS.d.mts} +65 -9
- package/dist/{index-Bh57xARQ.d.mts → index-BUv9gfRT.d.mts} +3 -3
- package/dist/{index-C6e9cwAl2.d.mts → index-BjQtqMxP2.d.mts} +4 -4
- package/dist/{index-B-u0Tu8X.d.mts → index-Bqi44ODz.d.mts} +37 -37
- package/dist/{index-CIzvBH8O.d.mts → index-C8two8wz.d.mts} +1 -1
- package/dist/{index-oxZt93RL.d.mts → index-CESqYf8a.d.mts} +2 -2
- package/dist/{index-C87P0WpY2.d.mts → index-CmCLAMNs.d.mts} +1 -1
- package/dist/index-CyEE1RI5.d.mts +869 -0
- package/dist/{index-De_oh9M-2.d.mts → index-D6Uq1btG.d.mts} +87 -10
- package/dist/{index-CRZ1jrxp.d.mts → index-DDSt0uS2.d.mts} +160 -12
- package/dist/{index-B6WkHnCQ.d.mts → index-DRxgmrad.d.mts} +1 -1
- package/dist/{index-U--ajOHy.d.mts → index-DUYjTfHD.d.mts} +1 -1
- package/dist/{index-HJkz7i4E.d.mts → index-DdJKsdya.d.mts} +188 -10
- package/dist/{index-B4pPwpKk.d.mts → index-DfREUyAk.d.mts} +1 -1
- package/dist/{index-ClKwF6LE.d.mts → index-Di-R1gmo.d.mts} +2 -2
- package/dist/{index-DWANFpTG.d.mts → index-Jdju2W3y.d.mts} +1 -1
- package/dist/{index-DQKVQPUS.d.mts → index-L6mssyeZ.d.mts} +1 -1
- package/dist/{index-B8v1-2-V2.d.mts → index-anIxF_eT.d.mts} +1 -1
- package/dist/{index-iVisrVdC2.d.mts → index-bYBnDBl32.d.mts} +539 -4
- package/dist/{index-Bg3WVL8n.d.mts → index-gNdH1F6r.d.mts} +531 -26
- package/dist/{index-zmDRR8gv2.d.mts → index-m5ZQFglW2.d.mts} +1 -1
- package/dist/{index-mTaFX2HH2.d.mts → index-uk8icWON2.d.mts} +419 -19
- package/dist/kernel/cli/index.d.mts +2 -2
- package/dist/kernel/cli/register.d.mts +1 -1
- package/dist/kernel/extension/index.d.mts +3 -2
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +6 -6
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.d.mts +1 -1
- package/dist/kernel/observability/index.d.mts +2 -2
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.d.mts +1 -1
- package/dist/kernel/window/index.d.mts +1 -1
- package/dist/{lib-BF5XBSfw.mjs → lib-BdyGVjpO.mjs} +1 -1
- package/dist/{lib-Dljw2Cqh.mjs → lib-DxP3tPm9.mjs} +1 -1
- package/dist/load-extensions-BGfSWW_R.mjs +1 -0
- package/dist/{load-extensions-DGstT4_p.d.mts → load-extensions-Be_lOjm_.d.mts} +27 -14
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/{namespace-BMdYJN_t.mjs → namespace-CqJhR19O.mjs} +1 -1
- package/dist/{namespace-Cmu-5_P9.d.mts → namespace-DudchWPb.d.mts} +457 -0
- package/dist/{namespace-BEbQb19g.d.mts → namespace-Eir1wQ_r.d.mts} +2 -2
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/transports/index.d.mts +102 -4
- package/dist/node/transports/index.mjs +2 -2
- package/dist/{orchestrator-shared-CtPB6PAr.mjs → orchestrator-shared-CF-jPH91.mjs} +1 -1
- package/dist/ownership-memory-handler-C-y9zQf8.mjs +1 -0
- package/dist/package-AlsbnlSt.mjs +159 -0
- package/dist/{package-CDj3F-L3.d.mts → package-CwyC-Krg.d.mts} +1 -1
- package/dist/{package-DYScYC0D.mjs → package-kkPGlxMm.mjs} +1 -1
- package/dist/package.json +1 -1
- package/dist/{registry-DNMjJ-Oj.mjs → registry-DtaRGU8i.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.d.mts +2 -2
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/boot-config.d.mts +45 -0
- package/dist/runtime-node/boot-config.mjs +1 -0
- package/dist/runtime-node/code-execution/index.d.mts +2 -2
- package/dist/runtime-node/code-execution/index.mjs +1 -1
- package/dist/runtime-node/extension-discovery.d.mts +2 -2
- package/dist/runtime-node/extension-discovery.mjs +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 +345 -27
- package/dist/runtime-node/index.mjs +21 -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 +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
- package/dist/{schema-BA1cHBbc.d.mts → schema-FY0EakKe.d.mts} +56 -0
- package/dist/schemas-CkxAK13D.mjs +1 -0
- package/dist/{schemas-CaYEFzK_.d.mts → schemas-FgVQek-j.d.mts} +2 -2
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +3 -3
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/automation-trigger/index.d.mts +19 -0
- package/dist/services/capability/index.d.mts +2 -2
- package/dist/services/code-execution/index.d.mts +1 -1
- package/dist/services/codebase/index.d.mts +2 -2
- package/dist/services/codebase/namespace.d.mts +1 -1
- package/dist/services/codebase/schemas.d.mts +1 -1
- package/dist/services/compression/index.d.mts +2 -2
- package/dist/services/compression/namespace.d.mts +1 -1
- package/dist/services/compression/schemas.d.mts +1 -1
- package/dist/services/context-projection/index.d.mts +94 -0
- package/dist/services/context-projection/index.mjs +1 -0
- package/dist/services/context-rules/index.d.mts +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/index.d.mts +45 -40
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/materialization/index.d.mts +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/storage/schema.mjs +1 -1
- package/dist/services/session/testing/index.mjs +4 -2
- 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-editor/index.d.mts +1 -1
- package/dist/services/settings/index.d.mts +3 -3
- package/dist/services/settings/namespace.d.mts +232 -3
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/workflow-transitions/index.d.mts +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/session-BNiMZnfF.mjs +1 -0
- package/dist/session-CMbztxNO.mjs +95 -0
- package/dist/src-BZdw54VU.mjs +1 -0
- package/dist/{src-CbAw9kjJ.mjs → src-C0sw_Vs_.mjs} +1 -1
- package/dist/{src-Xn6SS74f.mjs → src-CqQSqLQI.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 +1 -1
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/{tool-approval-service-pbkGcAV8.mjs → tool-approval-service-CRo3fZRF.mjs} +1 -1
- package/dist/{tools-C5Gy0IQG.mjs → tools-CKaxi3Mb.mjs} +1 -1
- package/dist/{transition-D-Lgbp1j.d.mts → transition-DMv8cgEd.d.mts} +2 -2
- package/dist/{types-CjYcHDPo2.d.mts → types-7L3BrU9m2.d.mts} +1 -1
- package/dist/{types-DhbllltK.d.mts → types-DNYO_Rxj.d.mts} +12 -3
- package/dist/ui-hooks/index.d.mts +17 -24
- package/dist/ui-hooks/index.mjs +1 -1
- package/dist/ui-kernel/index.d.mts +11 -2
- package/dist/ui-kernel/index.mjs +1 -1
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/ui-views/index.mjs +1 -1
- package/dist/utils/index.d.mts +31 -1
- package/dist/utils/index.mjs +2 -2
- package/dist/{view-builder-CHUTXJDl.d.mts → view-builder-DJGz9I-u.d.mts} +2 -2
- package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
- package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
- package/dist/workflow-engine/index.d.mts +2 -2
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.d.mts +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/provider-operation.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.mjs +1 -1
- package/dist/workflow-engine/testing/index.d.mts +1 -1
- package/dist/workflow-engine/testing/index.mjs +1 -1
- package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
- package/dist/workflow-engine/testing/sqlite.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-C0sg3kar.mjs → workflow-transitions-t0ORS1F5.mjs} +1 -1
- package/dist/workflow-worker-DXCXb3g-.mjs +3 -0
- package/package.json +9 -1
- package/dist/bus-BQ64i3DN.mjs +0 -9
- package/dist/client-Bg3_IdaF.mjs +0 -1
- package/dist/extension-CfrTp3rC.mjs +0 -1
- package/dist/extension-CnNcY1hR.mjs +0 -1
- package/dist/extension-namespace-Ct9L6SKr.mjs +0 -1
- package/dist/index-D_j_T3nS.d.mts +0 -435
- package/dist/load-extensions-BVgxTj_y.mjs +0 -1
- package/dist/ownership-memory-handler-xex7sLiX.mjs +0 -1
- package/dist/schemas-ClkcU_N5.mjs +0 -1
- package/dist/session-6UG5udTX.mjs +0 -95
- package/dist/session-BB0s7c2B.mjs +0 -1
- package/dist/workflow-worker-ChrMIcKm.mjs +0 -2
- /package/dist/{adapter-binding-BxjUfkOn.d.mts → adapter-binding-CaYBrIkL.d.mts} +0 -0
- /package/dist/{attempt-control-evidence-7lwRG73Y.mjs → attempt-control-evidence-CHBnJoqN.mjs} +0 -0
- /package/dist/{attempt-fixtures-DHdYmr3o.mjs → attempt-fixtures-D3IsP0KH.mjs} +0 -0
- /package/dist/{authority-state-bootstrap-CvuWPywM.mjs → authority-state-bootstrap-4F5Wc_6l.mjs} +0 -0
- /package/dist/{base-orchestrator-CrXiMJzf.d.mts → base-orchestrator-1ofFsqUz.d.mts} +0 -0
- /package/dist/{bootstrap-start-client-C1ZHbv6e.mjs → bootstrap-start-client-9nOdeDYl.mjs} +0 -0
- /package/dist/{capability-service-CQ1aw_p-.d.mts → capability-service-CUN0MIS7.d.mts} +0 -0
- /package/dist/{client-ByjHcS78.d.mts → client-BY3sBW2L.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-C4fEAUdo.d.mts → client-binary-version-verifier-BeO4Eptw.d.mts} +0 -0
- /package/dist/{clients-namespace-D4BxF2Nw.d.mts → clients-namespace-D92YsbKI.d.mts} +0 -0
- /package/dist/{config-namespace-B1zyOYwH.d.mts → config-namespace-OEckUfVE.d.mts} +0 -0
- /package/dist/{create-static-mount-Dgxgi4W3.mjs → create-static-mount-4B-mNtx1.mjs} +0 -0
- /package/dist/{cross-spawn-BMCAyqrN.mjs → cross-spawn-DGqEuNyT.mjs} +0 -0
- /package/dist/{definition-ClWxAKQ2.d.mts → definition-DLJg-P4G.d.mts} +0 -0
- /package/dist/{esm-Ccx-3z8E.mjs → esm-DwiWcwH0.mjs} +0 -0
- /package/dist/{execution-attempt-repository-aabFKcXN.mjs → execution-attempt-repository-CY289HlC.mjs} +0 -0
- /package/dist/{execution-attempt-repository-BUah8hma.d.mts → execution-attempt-repository-DOb5V4N2.d.mts} +0 -0
- /package/dist/{extension-package-provenance-C7oO5JAE.mjs → extension-package-provenance-ClpN3GHp.mjs} +0 -0
- /package/dist/{filesystem-service-CDYoiwWY.d.mts → filesystem-service-BmavE-uO.d.mts} +0 -0
- /package/dist/{index-BbkcbY6d.d.mts → index--gbsE1W0.d.mts} +0 -0
- /package/dist/{index-DdVpWkaI.d.mts → index-B36rL4gp.d.mts} +0 -0
- /package/dist/{index-DM72_93s.d.mts → index-BD1SbHpP.d.mts} +0 -0
- /package/dist/{index-KdlZRuTp.d.mts → index-BDcK7jqJ2.d.mts} +0 -0
- /package/dist/{index-DAaQ--ki.d.mts → index-BQYGOXY5.d.mts} +0 -0
- /package/dist/{index-gAyARaKS.d.mts → index-BneZFJ7x.d.mts} +0 -0
- /package/dist/{index-D8ELwT5y.d.mts → index-BujgCaKt.d.mts} +0 -0
- /package/dist/{index-DfU8s_xP.d.mts → index-C2StVLk4.d.mts} +0 -0
- /package/dist/{index-BGnQ0EyD.d.mts → index-CCTzitBA.d.mts} +0 -0
- /package/dist/{index-CVRT01082.d.mts → index-Cj_V1aRL.d.mts} +0 -0
- /package/dist/{index-nkix3hP7.d.mts → index-CpN2C9jq.d.mts} +0 -0
- /package/dist/{index-D6p17KPs.d.mts → index-CsRPJ9FV.d.mts} +0 -0
- /package/dist/{index-BPNfYEA22.d.mts → index-CvdvuhTL2.d.mts} +0 -0
- /package/dist/{index-DmX9W3xH2.d.mts → index-D3peNmHN2.d.mts} +0 -0
- /package/dist/{index-DiZ4LmyE.d.mts → index-D7smT-YD.d.mts} +0 -0
- /package/dist/{index-B78CRVi9.d.mts → index-DEx4ZFkz.d.mts} +0 -0
- /package/dist/{index-CjDQn6lw.d.mts → index-DGoJayJg.d.mts} +0 -0
- /package/dist/{index-F7cVpFJ9.d.mts → index-DTvYp2GT.d.mts} +0 -0
- /package/dist/{index-Htfr-K5U2.d.mts → index-DqliLe_D2.d.mts} +0 -0
- /package/dist/{index-BCU5oByg.d.mts → index-DubyRZD9.d.mts} +0 -0
- /package/dist/{index-DjSUOMlr.d.mts → index-DwOpaQAE.d.mts} +0 -0
- /package/dist/{index-BZoOYV-y.d.mts → index-DxkSkszz.d.mts} +0 -0
- /package/dist/{index-tbjIqwa3.d.mts → index-TBJ1kIGA.d.mts} +0 -0
- /package/dist/{index-DXQTkwLB.d.mts → index-YOXWpZAS.d.mts} +0 -0
- /package/dist/{index-CXpgL3gz2.d.mts → index-aIJ7A4DC2.d.mts} +0 -0
- /package/dist/{index-D6liU_KS.d.mts → index-fxh7TB0q.d.mts} +0 -0
- /package/dist/{index-xsaaa85T.d.mts → index-qczb9Yx3.d.mts} +0 -0
- /package/dist/{index-C_kOkO3E.d.mts → index-zqo2mX_Z.d.mts} +0 -0
- /package/dist/{json-value-Ymw2f8i_.d.mts → json-value-Bjl8jzom.d.mts} +0 -0
- /package/dist/{jsonl-transport-Bg033Ng0.mjs → jsonl-transport-Ct1RWs0h.mjs} +0 -0
- /package/dist/{lib-BizqbepU.mjs → lib-DomKag_k.mjs} +0 -0
- /package/dist/{namespace-rJ3ycPMg.d.mts → namespace-Bhx72V7S.d.mts} +0 -0
- /package/dist/{namespace-BCVKdu-U.d.mts → namespace-CxEQv9iZ.d.mts} +0 -0
- /package/dist/{namespace-COHHDh2I.d.mts → namespace-D09uQ231.d.mts} +0 -0
- /package/dist/{namespace-UFcDEBJB.d.mts → namespace-D5DkpaaN.d.mts} +0 -0
- /package/dist/{namespace-CvK86QFk.d.mts → namespace-DHLwz4o3.d.mts} +0 -0
- /package/dist/{namespace-B5IFLQc-.d.mts → namespace-DHbrNQYD.d.mts} +0 -0
- /package/dist/{namespace-s0e215xO.d.mts → namespace-DyD06b5-.d.mts} +0 -0
- /package/dist/{namespace-C1pPZKtI.d.mts → namespace-Dz5_Hrz7.d.mts} +0 -0
- /package/dist/{namespace-Phxf0Lep.d.mts → namespace-Lkv2nyzb.d.mts} +0 -0
- /package/dist/{namespace-DM5vykb7.d.mts → namespace-hlhPqSsw.d.mts} +0 -0
- /package/dist/{namespace-DlOQmhgX.d.mts → namespace-x-gk5SmK.d.mts} +0 -0
- /package/dist/{namespace-f6Kz5cwX.d.mts → namespace-zusFEJPh.d.mts} +0 -0
- /package/dist/{orchestrator-shared--srEeSaY.d.mts → orchestrator-shared-ChU5qRSe.d.mts} +0 -0
- /package/dist/{packages-B98-WETs.d.mts → packages-D2s51nGU.d.mts} +0 -0
- /package/dist/{providers-namespace-DRcl03bo.d.mts → providers-namespace-BLVt8OyP.d.mts} +0 -0
- /package/dist/{runtime-inputs-DBtVIy9h.d.mts → runtime-inputs-BU_kBrP7.d.mts} +0 -0
- /package/dist/{schemas-CEJe8O6P.d.mts → schemas-3KTmPuZg.d.mts} +0 -0
- /package/dist/{schemas-D_-iXLQ9.d.mts → schemas-B-5_Dp4_.d.mts} +0 -0
- /package/dist/{schemas-CeItAAQM.d.mts → schemas-BLxdGZkr.d.mts} +0 -0
- /package/dist/{schemas-Cj6Gbqch.d.mts → schemas-BegArpU_.d.mts} +0 -0
- /package/dist/{schemas-Ca5RILd-2.d.mts → schemas-BzB6z9oX2.d.mts} +0 -0
- /package/dist/{schemas-CtzZDp29.d.mts → schemas-CBBzvIh0.d.mts} +0 -0
- /package/dist/{schemas-Cq1d5tid.d.mts → schemas-CD3Mq-jC.d.mts} +0 -0
- /package/dist/{schemas-LiiyNNpr.d.mts → schemas-Cl7fPlRv.d.mts} +0 -0
- /package/dist/{schemas-DJ2vMsgm.d.mts → schemas-CqawCYTY.d.mts} +0 -0
- /package/dist/{schemas-2_D4iVbb.d.mts → schemas-DEg6R9ph.d.mts} +0 -0
- /package/dist/{schemas-JjyFxrC0.d.mts → schemas-rMUsvzeJ.d.mts} +0 -0
- /package/dist/{server-lifecycle-DUKp1Fbf.d.mts → server-lifecycle-CTJvpdeL.d.mts} +0 -0
- /package/dist/{session-lineage-C3myyt5x.d.mts → session-lineage-BuGN3RZs.d.mts} +0 -0
- /package/dist/{storage-namespace-IvLOIP7j.d.mts → storage-namespace-B5r_ScUz.d.mts} +0 -0
- /package/dist/{storage-namespace-definition-Cv0XiTXb.d.mts → storage-namespace-definition-DiYr8UNl.d.mts} +0 -0
- /package/dist/{types-hkExapGH.d.mts → types-BSx8YYlc.d.mts} +0 -0
- /package/dist/{types-BYEybzjX.d.mts → types-CpEoQapk.d.mts} +0 -0
- /package/dist/{types-QRSc2AUU.d.mts → types-Cuhnt15L.d.mts} +0 -0
- /package/dist/{types-QsyX4H21.d.mts → types-DEGuc-fn.d.mts} +0 -0
- /package/dist/{types-BRM1AZaP.d.mts → types-DciLiPMd.d.mts} +0 -0
- /package/dist/{types-CsmvIK25.mjs → types-wwuw7RkB.mjs} +0 -0
- /package/dist/{window-registry-DeG37kt8.d.mts → window-registry-C3W2wtlX.d.mts} +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { sr as AnyArtifactKindDefinition, vr as ArtifactLifecycleHookEvent, yr as ArtifactLifecycleHookRegistration$1 } from "./index-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
1
|
+
import { sr as AnyArtifactKindDefinition, vr as ArtifactLifecycleHookEvent, yr as ArtifactLifecycleHookRegistration$1 } from "./index-Di-R1gmo.mjs";
|
|
2
|
+
import { l as JsonValue$1 } from "./json-value-Bjl8jzom.mjs";
|
|
3
|
+
import { s as AdapterProviderAuth$1 } from "./adapter-binding-CaYBrIkL.mjs";
|
|
4
|
+
import { a as ExtensionService$1, n as ExtensionContext$1, r as NodeExtensionContext$1 } from "./extension-context-pQ7Uio_s.mjs";
|
|
5
|
+
import { t as ExtensionAutomationTriggersContribution } from "./contribution-1GL7Rjaq.mjs";
|
|
6
|
+
import { n as ExtensionTransitionRulesContribution, t as ExtensionTransitionActionsContribution, v as WorkflowBlockCollection$1 } from "./transition-DMv8cgEd.mjs";
|
|
7
|
+
import { k as ClientDefinition$1, m as ExtensionClientHookResponsesContribution, rt as VersionRange, tt as VersionLiteral$1 } from "./hook-responses-B882RcQc.mjs";
|
|
8
|
+
import { c as ProviderDefinitionInput$1, r as ProtocolId$1 } from "./definition-DLJg-P4G.mjs";
|
|
9
|
+
import { t as RequiredTimeoutConfig } from "./index-BD1SbHpP.mjs";
|
|
10
|
+
import { Qt as SESSION_EVENT_TYPES, bn as SessionMessage$1, i as MakaioSessionEvent$1 } from "./types-DNYO_Rxj.mjs";
|
|
11
|
+
import { D as EntityUIConfig$1, I as FormFieldProps } from "./index-D6Uq1btG.mjs";
|
|
12
|
+
import { l as FacetNamespaceDefinition } from "./index-BDcK7jqJ2.mjs";
|
|
13
|
+
import { t as ExtensionReactionsContribution } from "./index-CmCLAMNs.mjs";
|
|
14
|
+
import { G as SurfaceBindingDefinition, p as ExtensionArtifactViewBuildersContribution } from "./view-builder-DJGz9I-u.mjs";
|
|
14
15
|
import { z } from "zod";
|
|
15
16
|
import { MakaioBusLike, PayloadFilter, RegistrableBusNamespaceDefinition, SubjectSchema } from "@makaio/framework/core";
|
|
16
17
|
import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
|
|
@@ -1173,6 +1174,27 @@ interface ExtensionManifest {
|
|
|
1173
1174
|
* whether a capability exists at all before prompting the user to configure it.
|
|
1174
1175
|
*/
|
|
1175
1176
|
readonly provides?: readonly CapabilityToken[];
|
|
1177
|
+
/**
|
|
1178
|
+
* When `true`, the runtime cannot function without this extension.
|
|
1179
|
+
*
|
|
1180
|
+
* A critical extension aborts startup when it fails to initialize, refuses a
|
|
1181
|
+
* disable request, and starts anyway when the enablement store records it as
|
|
1182
|
+
* disabled. Optional extensions default to isolated failure so one extension
|
|
1183
|
+
* cannot prevent the runtime from booting.
|
|
1184
|
+
*
|
|
1185
|
+
* The executable package that declares the flag is the only authority for
|
|
1186
|
+
* it. A descriptor whose `entrypoints.server` exports the packages therefore
|
|
1187
|
+
* must not declare `critical` at all — a server entrypoint can export several
|
|
1188
|
+
* packages (`example`, `example.child`), each with its own criticality, so a
|
|
1189
|
+
* single descriptor-level flag cannot describe them and the runtime never
|
|
1190
|
+
* reads one. `ExtensionDescriptorSchema` rejects that combination.
|
|
1191
|
+
*
|
|
1192
|
+
* A descriptor with no server entrypoint — detached, CLI-only, browser-only —
|
|
1193
|
+
* has no exported package to declare anything: the runtime synthesizes its
|
|
1194
|
+
* single package straight from the descriptor, so the descriptor field *is*
|
|
1195
|
+
* the package field and pre-load surfaces can read it directly.
|
|
1196
|
+
*/
|
|
1197
|
+
readonly critical?: boolean;
|
|
1176
1198
|
/** Windows this extension can open, keyed by {@link WindowManifest.id}. */
|
|
1177
1199
|
readonly windows?: readonly WindowManifest[];
|
|
1178
1200
|
/** System tray entry for this extension. */
|
|
@@ -1228,6 +1250,7 @@ declare const ExtensionManifestSchema: z.ZodObject<{
|
|
|
1228
1250
|
version: z.ZodOptional<z.ZodString>;
|
|
1229
1251
|
}, z.core.$strip>], "type">>>>;
|
|
1230
1252
|
provides: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<CapabilityToken, unknown, z.core.$ZodTypeInternals<CapabilityToken, unknown>>>>>;
|
|
1253
|
+
critical: z.ZodOptional<z.ZodBoolean>;
|
|
1231
1254
|
windows: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
1232
1255
|
id: z.ZodString;
|
|
1233
1256
|
style: z.ZodEnum<{
|
|
@@ -1379,6 +1402,39 @@ declare const ExtensionManifestSchema: z.ZodObject<{
|
|
|
1379
1402
|
}, z.core.$strict>>;
|
|
1380
1403
|
}, z.core.$strip>;
|
|
1381
1404
|
//#endregion
|
|
1405
|
+
//#region core/contracts/src/extension/normalize-extension-export.d.ts
|
|
1406
|
+
/**
|
|
1407
|
+
* Minimal structural check for a value that looks like an {@link ExtensionManifest}-shaped
|
|
1408
|
+
* executable export.
|
|
1409
|
+
*
|
|
1410
|
+
* Only checks the identity fields every executable extension package must carry
|
|
1411
|
+
* (`name`, `displayName`, `version`) — the remaining {@link ExtensionManifest}
|
|
1412
|
+
* fields are optional and not required to treat a value as extension-shaped.
|
|
1413
|
+
* @typeParam T - Concrete executable package shape to narrow `value` to.
|
|
1414
|
+
* @param value - Candidate value, typically a server entry's default export or
|
|
1415
|
+
* one element of it.
|
|
1416
|
+
* @returns Whether `value` carries the minimal extension package identity shape.
|
|
1417
|
+
*/
|
|
1418
|
+
declare function isExtensionManifestLike$1<T extends ExtensionManifest = ExtensionManifest>(value: unknown): value is T;
|
|
1419
|
+
/**
|
|
1420
|
+
* Normalize a server entry default export into a validated list of executable packages
|
|
1421
|
+
* anchored to one descriptor's identity.
|
|
1422
|
+
*
|
|
1423
|
+
* Single-package exports must match the descriptor name exactly. Array exports
|
|
1424
|
+
* must keep every package under the descriptor's namespace, using the
|
|
1425
|
+
* descriptor name exactly or a dot-prefixed child name such as
|
|
1426
|
+
* `example-extension.settings`, must include a package named exactly
|
|
1427
|
+
* `descriptorName`, and must not repeat a package name.
|
|
1428
|
+
* @typeParam T - Concrete executable package shape to narrow the result to.
|
|
1429
|
+
* @param value - Default export from the server entrypoint.
|
|
1430
|
+
* @param descriptorName - Descriptor package name every entry must be anchored to.
|
|
1431
|
+
* @param onInvalid - Called with a human-readable reason whenever `value` fails
|
|
1432
|
+
* validation, before this function returns `undefined`. Callers prefix this
|
|
1433
|
+
* with their own diagnostic label and log it.
|
|
1434
|
+
* @returns Normalized package list, or `undefined` when invalid.
|
|
1435
|
+
*/
|
|
1436
|
+
declare function normalizeExtensionManifestExport$1<T extends ExtensionManifest = ExtensionManifest>(value: unknown, descriptorName: string, onInvalid: (reason: string) => void): T[] | undefined;
|
|
1437
|
+
//#endregion
|
|
1382
1438
|
//#region core/contracts/src/extension/adapter-definition.d.ts
|
|
1383
1439
|
/**
|
|
1384
1440
|
* Adapter-side declaration of a supported provider.
|
|
@@ -1684,6 +1740,20 @@ interface ExtensionRuntimeOwnership {
|
|
|
1684
1740
|
/** Owns the `session.sendMessage` orchestration handlers for this runtime. */
|
|
1685
1741
|
readonly sessionOrchestrator?: boolean;
|
|
1686
1742
|
}
|
|
1743
|
+
/**
|
|
1744
|
+
* Check whether one runtime ownership field is claimed.
|
|
1745
|
+
*
|
|
1746
|
+
* A field is claimed only when it is strictly `true` — `false`, `undefined`,
|
|
1747
|
+
* and an absent `ownership` object all mean "not claimed". This is the one
|
|
1748
|
+
* place that encodes the field-level `=== true` rule; the boot-time
|
|
1749
|
+
* single-owner selector (`findRuntimeOwners` in `@makaio/runtime-node`) calls
|
|
1750
|
+
* through this helper instead of re-testing the field itself, so the rule
|
|
1751
|
+
* cannot drift between call sites.
|
|
1752
|
+
* @param ownership - Runtime ownership declaration to inspect, or `undefined`.
|
|
1753
|
+
* @param field - Ownership field to check.
|
|
1754
|
+
* @returns `true` when `ownership[field]` is strictly `true`.
|
|
1755
|
+
*/
|
|
1756
|
+
declare function isRuntimeOwnershipFieldClaimed$1<K extends keyof ExtensionRuntimeOwnership>(ownership: ExtensionRuntimeOwnership | undefined, field: K): boolean;
|
|
1687
1757
|
//#endregion
|
|
1688
1758
|
//#region core/contracts/src/extension/contributions/session-event-action-types.d.ts
|
|
1689
1759
|
/** Keyboard modifier flags for an action shortcut. */
|
|
@@ -2712,6 +2782,31 @@ type MakaioWebUiActions = Record<string, MakaioWebUiAction<unknown, unknown[]>>;
|
|
|
2712
2782
|
* @typeParam TActions - The server-side action record shape.
|
|
2713
2783
|
*/
|
|
2714
2784
|
type PromisifiedActions<TActions extends MakaioWebUiActions> = { [K in keyof TActions]: TActions[K] extends ((...args: infer Args) => Promise<infer Result>) ? (...args: Args) => Promise<Result> : never };
|
|
2785
|
+
/**
|
|
2786
|
+
* Operator configuration provenance passed to custom config components.
|
|
2787
|
+
*
|
|
2788
|
+
* When an operator configuration source owns specific extension config keys,
|
|
2789
|
+
* this object surfaces the ownership metadata so the component can render
|
|
2790
|
+
* locked fields appropriately. Any `onChange` values for keys in `keys` are
|
|
2791
|
+
* accepted by the hook layer, but the stored record is never updated for those
|
|
2792
|
+
* keys — `setValues` strips operator-owned keys before persisting.
|
|
2793
|
+
*/
|
|
2794
|
+
interface ExtensionOperatorConfigProvenance {
|
|
2795
|
+
/**
|
|
2796
|
+
* Human-readable label identifying the operator configuration source.
|
|
2797
|
+
*
|
|
2798
|
+
* This is an opaque string supplied by the operator file loader — it may be
|
|
2799
|
+
* a file path, a Vault secret path, or any other label. Do not assume it
|
|
2800
|
+
* represents a file path.
|
|
2801
|
+
*/
|
|
2802
|
+
readonly source: string;
|
|
2803
|
+
/**
|
|
2804
|
+
* Set of config keys owned by the operator configuration source.
|
|
2805
|
+
*
|
|
2806
|
+
* Fields for these keys should be rendered as read-only in the component.
|
|
2807
|
+
*/
|
|
2808
|
+
readonly keys: ReadonlySet<string>;
|
|
2809
|
+
}
|
|
2715
2810
|
/**
|
|
2716
2811
|
* Props passed to a WebUI component.
|
|
2717
2812
|
*
|
|
@@ -2762,6 +2857,12 @@ interface ExtensionConfigComponentProps<TConfig = unknown> {
|
|
|
2762
2857
|
config: TConfig;
|
|
2763
2858
|
/**
|
|
2764
2859
|
* Called when configuration values change.
|
|
2860
|
+
*
|
|
2861
|
+
* Values for operator-owned keys (see {@link operatorConfig}) are accepted
|
|
2862
|
+
* by the underlying hook but are never written to the stored layer — the hook
|
|
2863
|
+
* strips those keys before persisting so the stored fallback is preserved.
|
|
2864
|
+
* The component should render owned-key fields as read-only to communicate
|
|
2865
|
+
* this to the user.
|
|
2765
2866
|
* @param config - Updated configuration.
|
|
2766
2867
|
*/
|
|
2767
2868
|
onChange: (config: TConfig) => void;
|
|
@@ -2771,6 +2872,14 @@ interface ExtensionConfigComponentProps<TConfig = unknown> {
|
|
|
2771
2872
|
isSaving: boolean;
|
|
2772
2873
|
/** Validation errors keyed by field name. */
|
|
2773
2874
|
errors?: Record<string, string>;
|
|
2875
|
+
/**
|
|
2876
|
+
* Operator configuration provenance, when an operator source owns some keys.
|
|
2877
|
+
*
|
|
2878
|
+
* `undefined` when no operator configuration is active for this extension.
|
|
2879
|
+
* When present, the component should render the fields for owned keys as
|
|
2880
|
+
* read-only and surface the source to the user.
|
|
2881
|
+
*/
|
|
2882
|
+
operatorConfig?: ExtensionOperatorConfigProvenance;
|
|
2774
2883
|
}
|
|
2775
2884
|
/**
|
|
2776
2885
|
* Async loader for registering custom form field types.
|
|
@@ -2781,6 +2890,35 @@ interface ExtensionConfigComponentProps<TConfig = unknown> {
|
|
|
2781
2890
|
type ExtensionFieldTypeLoader = () => Promise<{
|
|
2782
2891
|
default: ComponentType<FormFieldProps>;
|
|
2783
2892
|
}>;
|
|
2893
|
+
/**
|
|
2894
|
+
* Registration metadata paired with a field type's loader.
|
|
2895
|
+
*
|
|
2896
|
+
* Field types that render more than one focusable control (e.g. a grouped
|
|
2897
|
+
* capability picker) have no single element a `<label htmlFor>` could
|
|
2898
|
+
* target. Declaring `composite: true` here tells the host's field registry —
|
|
2899
|
+
* and through it the host-owned form layout/shell — to name the rendered
|
|
2900
|
+
* group through `aria-labelledby` on a wrapping element instead of
|
|
2901
|
+
* associating a label with a single control.
|
|
2902
|
+
*/
|
|
2903
|
+
interface ExtensionFieldTypeRegistration {
|
|
2904
|
+
/** Lazy loader for the field type's component. */
|
|
2905
|
+
loader: ExtensionFieldTypeLoader;
|
|
2906
|
+
/**
|
|
2907
|
+
* Whether the field type renders more than one focusable control.
|
|
2908
|
+
* Defaults to `false` — most field types render exactly one control.
|
|
2909
|
+
*/
|
|
2910
|
+
composite?: boolean;
|
|
2911
|
+
}
|
|
2912
|
+
/**
|
|
2913
|
+
* A single `fieldTypes` contribution entry.
|
|
2914
|
+
*
|
|
2915
|
+
* Accepts either a bare {@link ExtensionFieldTypeLoader} — the common case,
|
|
2916
|
+
* for field types that render exactly one control — or an
|
|
2917
|
+
* {@link ExtensionFieldTypeRegistration} object for field types that must
|
|
2918
|
+
* declare `composite: true`. Registration code should branch on
|
|
2919
|
+
* `typeof entry === 'function'` to distinguish the two shapes.
|
|
2920
|
+
*/
|
|
2921
|
+
type ExtensionFieldTypeEntry = ExtensionFieldTypeLoader | ExtensionFieldTypeRegistration;
|
|
2784
2922
|
/**
|
|
2785
2923
|
* Async loader for a custom extension configuration component.
|
|
2786
2924
|
*
|
|
@@ -2926,22 +3064,34 @@ interface ExtensionUiContribution {
|
|
|
2926
3064
|
* Tool call formatter declarations.
|
|
2927
3065
|
*
|
|
2928
3066
|
* Formatters customize how specific tool calls are rendered in the chat
|
|
2929
|
-
* UI. Registered with
|
|
3067
|
+
* UI. Registered with the host's tool-call formatter registry on extension
|
|
3068
|
+
* load.
|
|
2930
3069
|
*/
|
|
2931
3070
|
readonly toolFormatters?: readonly ToolCallFormatterDeclaration[];
|
|
2932
3071
|
/**
|
|
2933
3072
|
* Custom field type loaders for schema-driven forms.
|
|
2934
3073
|
*
|
|
2935
3074
|
* Maps field type identifiers to lazy-loaded React components that accept
|
|
2936
|
-
* `FormFieldProps`. Registered with
|
|
2937
|
-
*
|
|
3075
|
+
* `FormFieldProps`. Registered with the host's field registry on extension
|
|
3076
|
+
* load. Each entry is either a bare loader — for field types that render
|
|
3077
|
+
* exactly one control, the common case — or an
|
|
3078
|
+
* {@link ExtensionFieldTypeRegistration} object declaring `composite: true`
|
|
3079
|
+
* for field types that render more than one focusable control (see
|
|
3080
|
+
* {@link ExtensionFieldTypeEntry}).
|
|
3081
|
+
* @example Single-control field type
|
|
2938
3082
|
* ```typescript
|
|
2939
3083
|
* fieldTypes: {
|
|
2940
3084
|
* 'image-upload': () => import('./ui/ImageUploadField.js'),
|
|
2941
3085
|
* }
|
|
2942
3086
|
* ```
|
|
3087
|
+
* @example Composite field type
|
|
3088
|
+
* ```typescript
|
|
3089
|
+
* fieldTypes: {
|
|
3090
|
+
* 'grid-field': { loader: () => import('./ui/GridField.js'), composite: true },
|
|
3091
|
+
* }
|
|
3092
|
+
* ```
|
|
2943
3093
|
*/
|
|
2944
|
-
readonly fieldTypes?: Record<string,
|
|
3094
|
+
readonly fieldTypes?: Record<string, ExtensionFieldTypeEntry>;
|
|
2945
3095
|
/**
|
|
2946
3096
|
* Fully custom configuration component loader.
|
|
2947
3097
|
*
|
|
@@ -3257,14 +3407,6 @@ interface MakaioExtension$1<THostContext extends ExtensionContext$1 = NodeExtens
|
|
|
3257
3407
|
* services before package startup begins.
|
|
3258
3408
|
*/
|
|
3259
3409
|
readonly runtimeBoot?: ExtensionRuntimeBootContribution<THostContext>;
|
|
3260
|
-
/**
|
|
3261
|
-
* When true, startup fails if this extension fails to initialize.
|
|
3262
|
-
*
|
|
3263
|
-
* Optional extensions default to isolated failure so one extension cannot
|
|
3264
|
-
* prevent the runtime from booting. Framework and host core extensions set
|
|
3265
|
-
* this to true when the runtime cannot safely continue without them.
|
|
3266
|
-
*/
|
|
3267
|
-
readonly critical?: boolean;
|
|
3268
3410
|
/**
|
|
3269
3411
|
* Executable CLI contribution registered under `makaio <name>`.
|
|
3270
3412
|
*
|
|
@@ -3766,6 +3908,8 @@ declare function isDetachedDescriptor$1(descriptor: ExtensionDescriptor$1): desc
|
|
|
3766
3908
|
* - `execution === 'detached'` requires `transport`; `entrypoints` is optional.
|
|
3767
3909
|
* - All other modes (including the default embedded mode) require `entrypoints`.
|
|
3768
3910
|
* - `prebundleDependencies` requires a `browser` entrypoint.
|
|
3911
|
+
* - `critical` is forbidden alongside a `server` entrypoint, whose exported
|
|
3912
|
+
* packages own that flag (see {@link ExtensionManifest.critical}).
|
|
3769
3913
|
*
|
|
3770
3914
|
* Note: `satisfies z.ZodType<ExtensionDescriptor>` is intentionally omitted
|
|
3771
3915
|
* because `superRefine` wraps the schema in `ZodEffects`, which is incompatible
|
|
@@ -3794,6 +3938,7 @@ declare const ExtensionDescriptorSchema: z.ZodObject<{
|
|
|
3794
3938
|
version: z.ZodOptional<z.ZodString>;
|
|
3795
3939
|
}, z.core.$strip>], "type">>>>;
|
|
3796
3940
|
provides: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodType<_$_makaio_contracts0.CapabilityToken, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.CapabilityToken, unknown>>>>>;
|
|
3941
|
+
critical: z.ZodOptional<z.ZodBoolean>;
|
|
3797
3942
|
windows: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
3798
3943
|
id: z.ZodString;
|
|
3799
3944
|
style: z.ZodEnum<{
|
|
@@ -4070,6 +4215,366 @@ interface ExtensionConfigProvider$1 {
|
|
|
4070
4215
|
* @returns `false` to skip the package at boot, `true` or `undefined` to start normally.
|
|
4071
4216
|
*/
|
|
4072
4217
|
loadEnabled(name: string): boolean | undefined;
|
|
4218
|
+
/**
|
|
4219
|
+
* Write a changed enabled state to persistent storage.
|
|
4220
|
+
*
|
|
4221
|
+
* Optional — a provider that has no durable backing store may omit this.
|
|
4222
|
+
* When present the coordinator calls it on every operator `setEnabled`
|
|
4223
|
+
* request to durably record the preference; the seam is persist-only — it
|
|
4224
|
+
* never applies the change to the running process, only on the next boot.
|
|
4225
|
+
* @param name - Extension package name.
|
|
4226
|
+
* @param enabled - Desired enabled state to persist.
|
|
4227
|
+
*/
|
|
4228
|
+
persistEnabled?(name: string, enabled: boolean): Promise<void>;
|
|
4229
|
+
}
|
|
4230
|
+
//#endregion
|
|
4231
|
+
//#region core/contracts/src/extension/extension-name-path-segment.d.ts
|
|
4232
|
+
/**
|
|
4233
|
+
* Extension name path-segment codec.
|
|
4234
|
+
*
|
|
4235
|
+
* Encodes an extension name into a single filesystem path segment safe for use
|
|
4236
|
+
* as a directory name (for per-extension data directories) or as an
|
|
4237
|
+
* operator-config file stem. Both uses share one rule so a name valid for one
|
|
4238
|
+
* is valid for both.
|
|
4239
|
+
* @packageDocumentation
|
|
4240
|
+
*/
|
|
4241
|
+
/**
|
|
4242
|
+
* Characters an encoded path segment reproduces verbatim.
|
|
4243
|
+
*
|
|
4244
|
+
* Deliberately narrow: lowercase letters, digits, and the three punctuation
|
|
4245
|
+
* marks that already appear in ordinary extension names. Everything else is
|
|
4246
|
+
* percent-escaped, which keeps path separators, drive-letter colons, and shell
|
|
4247
|
+
* metacharacters out of the segment entirely — and, deliberately, keeps every
|
|
4248
|
+
* uppercase `A`–`Z` out of it too. An uppercase byte is escaped exactly like
|
|
4249
|
+
* any other byte outside this set, so a canonical segment never contains a
|
|
4250
|
+
* literal uppercase letter; see the case-folding property in
|
|
4251
|
+
* {@link encodeExtensionNameAsPathSegment} for why that closes the
|
|
4252
|
+
* case-insensitive-filesystem hazard rather than merely working around it.
|
|
4253
|
+
*
|
|
4254
|
+
* Exported so every consumer — the data-dir resolver, the operator-config loader,
|
|
4255
|
+
* and any tool that creates either — shares one definition of the rule instead of
|
|
4256
|
+
* restating it.
|
|
4257
|
+
*
|
|
4258
|
+
* Position-independent, with two exceptions the encoder applies on top of it: a
|
|
4259
|
+
* `.` in first position is escaped, so no segment names a hidden file or
|
|
4260
|
+
* directory, and a `.` in last position is escaped, so no segment is one a
|
|
4261
|
+
* Windows path component resolver silently shortens. See
|
|
4262
|
+
* {@link encodeExtensionNameAsPathSegment}.
|
|
4263
|
+
*/
|
|
4264
|
+
declare const EXTENSION_NAME_PATH_SEGMENT_UNRESERVED: RegExp;
|
|
4265
|
+
/**
|
|
4266
|
+
* Suffix every operator-config file carries; JSON is the only accepted format.
|
|
4267
|
+
*
|
|
4268
|
+
* Exported because a file name is its stem followed by this suffix, and both
|
|
4269
|
+
* halves belong to one contract: the length bound below bounds the whole name,
|
|
4270
|
+
* and a loader that strips a suffix before decoding must strip exactly this one.
|
|
4271
|
+
*/
|
|
4272
|
+
declare const EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX$1 = ".json";
|
|
4273
|
+
/**
|
|
4274
|
+
* Longest operator-config file name, in UTF-8 bytes, including the suffix.
|
|
4275
|
+
*
|
|
4276
|
+
* 255 bytes is the per-component limit of every filesystem a Makaio home is
|
|
4277
|
+
* likely to live on — ext4, XFS, btrfs, APFS, and NTFS all stop there or lower.
|
|
4278
|
+
* Percent-encoding expands one non-ASCII character to as many as twelve ASCII
|
|
4279
|
+
* ones, so a name well inside any manifest rule can still produce a segment that
|
|
4280
|
+
* no filesystem accepts; without this bound such a name would be reported as
|
|
4281
|
+
* addressable and then fail at `open` with `ENAMETOOLONG`.
|
|
4282
|
+
*
|
|
4283
|
+
* The bound is on the encoded form rather than on the manifest name, because the
|
|
4284
|
+
* encoded form is what has to fit on disk.
|
|
4285
|
+
*
|
|
4286
|
+
* The bound reserves room for the {@link EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX}
|
|
4287
|
+
* even when encoding a data directory name. This is intentional: a name that
|
|
4288
|
+
* encodes within the limit is valid for both uses, so there is one addressability
|
|
4289
|
+
* rule for the whole codec.
|
|
4290
|
+
*/
|
|
4291
|
+
declare const MAX_OPERATOR_CONFIG_FILE_NAME_BYTES = 255;
|
|
4292
|
+
/**
|
|
4293
|
+
* Directory segment under the Makaio home that holds all per-extension data
|
|
4294
|
+
* directories.
|
|
4295
|
+
*
|
|
4296
|
+
* The full path for an extension's data directory is
|
|
4297
|
+
* `$MAKAIO_HOME/EXTENSION_DATA_DIR_SEGMENT/<encoded>`, where `<encoded>` is
|
|
4298
|
+
* the percent-encoded path segment produced by
|
|
4299
|
+
* {@link encodeExtensionNameAsPathSegment}. Exporting this constant here keeps
|
|
4300
|
+
* the resolver ({@link encodeExtensionNameAsPathSegment}) and every consumer of
|
|
4301
|
+
* the layout in agreement on which subdirectory stores extension data, instead
|
|
4302
|
+
* of each one hardcoding the literal.
|
|
4303
|
+
*/
|
|
4304
|
+
declare const EXTENSION_DATA_DIR_SEGMENT$1 = "data";
|
|
4305
|
+
/**
|
|
4306
|
+
* Encode an extension name as a single filesystem path segment.
|
|
4307
|
+
*
|
|
4308
|
+
* The rule is percent-encoding over UTF-8: every byte outside
|
|
4309
|
+
* {@link EXTENSION_NAME_PATH_SEGMENT_UNRESERVED} becomes `%` followed by two
|
|
4310
|
+
* uppercase hex digits. That was chosen over a substitution scheme such as a
|
|
4311
|
+
* doubled separator because it is the encoding operators already recognise from
|
|
4312
|
+
* URLs, and because it cannot collide — no unreserved character can stand for an
|
|
4313
|
+
* escaped one.
|
|
4314
|
+
*
|
|
4315
|
+
* Four properties matter and all four hold:
|
|
4316
|
+
*
|
|
4317
|
+
* - **Defined for every addressable name**, including scoped and non-ASCII
|
|
4318
|
+
* ones. The names it is not defined for are the ones no path segment can stand
|
|
4319
|
+
* for (see `isAddressableExtensionName`) and the ones whose encoded form would
|
|
4320
|
+
* not fit a filesystem component (see {@link MAX_OPERATOR_CONFIG_FILE_NAME_BYTES}).
|
|
4321
|
+
* - **A single path segment.** `@acme/weather-tools` becomes
|
|
4322
|
+
* `%40acme%2Fweather-tools`, never a nested directory.
|
|
4323
|
+
* - **Identity on the common case.** `gateway` stays `gateway`, and so does any
|
|
4324
|
+
* name built from lowercase letters, digits, `.`, `_`, and `-` — which is also
|
|
4325
|
+
* the package-name convention every extension name in this codebase already
|
|
4326
|
+
* follows — so the usual segment is the extension name typed out unchanged.
|
|
4327
|
+
* An uppercase letter changes shape: `Gateway` becomes `%47ateway`, not
|
|
4328
|
+
* `Gateway`. That is the point, not an accident; see case 4 below.
|
|
4329
|
+
* - **Injective.** Two different addressable names never produce one segment,
|
|
4330
|
+
* and — because no canonical segment can contain a literal uppercase letter —
|
|
4331
|
+
* no two *distinct* canonical segments can ever be folded onto each other by a
|
|
4332
|
+
* case-insensitive comparison either. A segment names exactly one extension on
|
|
4333
|
+
* every host, including one whose default filesystem ignores case.
|
|
4334
|
+
*
|
|
4335
|
+
* A leading `.` is escaped for a reason that is not about path syntax: it is
|
|
4336
|
+
* unreserved everywhere else in the segment, but a segment that begins with it
|
|
4337
|
+
* would produce a path hidden from the operator who has to inspect it, and
|
|
4338
|
+
* would be indistinguishable from the editor and platform bookkeeping a
|
|
4339
|
+
* Makaio home collects. Escaping it as `%2E` means a canonical segment never
|
|
4340
|
+
* begins with a dot, so `.hidden` is addressable as `%2Ehidden` while
|
|
4341
|
+
* `.DS_Store` remains something this rule cannot have produced.
|
|
4342
|
+
*
|
|
4343
|
+
* The four properties above are stated per name; the codec owes callers a
|
|
4344
|
+
* fifth one across names: **a name must yield exactly one usable directory on
|
|
4345
|
+
* every supported host — macOS, Linux, and Windows — not only on whichever
|
|
4346
|
+
* host happens to be running.** A name and a segment that satisfy the four
|
|
4347
|
+
* per-name properties can still fail the fifth one, because a host can look at
|
|
4348
|
+
* an encoded segment and read a different path component than the bytes that
|
|
4349
|
+
* were written, or no component at all. Every way a supported host does that
|
|
4350
|
+
* is enumerated here, together with which of the two mechanisms below closes
|
|
4351
|
+
* it — so this list, not a changelog of review rounds, is what a future
|
|
4352
|
+
* reviewer checks a new host quirk against:
|
|
4353
|
+
*
|
|
4354
|
+
* 1. **Reserved Windows device basenames** (`CON`, `NUL`, `COM1`, `LPT1`,
|
|
4355
|
+
* …) — {@link isAddressableExtensionName} rejects a name whose basename up
|
|
4356
|
+
* to its first `.` is one of these, case-insensitively, because `CreateFile`
|
|
4357
|
+
* on a name in this set opens a device, not a path, no matter which
|
|
4358
|
+
* directory precedes it or what follows the first `.` (`CON.txt`,
|
|
4359
|
+
* `NUL.tar.gz`). No escape can rescue this — the whole point of the name is
|
|
4360
|
+
* to open the device — so it is rejected rather than escaped, on every host,
|
|
4361
|
+
* not only Windows. A name that merely *resembles* one, such as `CONSOLE`
|
|
4362
|
+
* or `COM10`, keeps its segment.
|
|
4363
|
+
* 2. **A trailing `.` on a Windows path component is stripped** by the Win32
|
|
4364
|
+
* layer before the name is resolved, the same mechanism that lets `CON.`
|
|
4365
|
+
* open the device that `CON` does — so `gateway` and `gateway.` would
|
|
4366
|
+
* resolve to the same directory on Windows even though they are two
|
|
4367
|
+
* distinct, valid segments by every property above. Unlike a reserved
|
|
4368
|
+
* basename, this is rescuable: escaping the segment's *last* character as
|
|
4369
|
+
* `%2E` when it is a literal `.` means no canonical segment ends with a
|
|
4370
|
+
* dot, so `gateway.` is addressable as `gateway%2E` and stays distinct from
|
|
4371
|
+
* `gateway` on every host, mirroring the leading-dot escape above. Because
|
|
4372
|
+
* this closes the hazard at the encoding, no case-insensitive-style
|
|
4373
|
+
* collision entry is needed for it — the two names never produce
|
|
4374
|
+
* colliding segments in the first place.
|
|
4375
|
+
* 3. **A trailing space on a Windows path component is stripped** the same
|
|
4376
|
+
* way, so `gateway` and `gateway ` would collide by the same mechanism as
|
|
4377
|
+
* (2). This needs no dedicated escape: a space is outside
|
|
4378
|
+
* {@link EXTENSION_NAME_PATH_SEGMENT_UNRESERVED} and is therefore *always*
|
|
4379
|
+
* percent-escaped to `%20` regardless of position, so a canonical segment
|
|
4380
|
+
* can never end — or contain — a literal space for Windows to strip. A name
|
|
4381
|
+
* such as `NUL ` (a reserved basename with a trailing space) is addressable
|
|
4382
|
+
* for the same reason: its segment is `NUL%20`, which is neither the
|
|
4383
|
+
* reserved basename nor something Windows shortens into it.
|
|
4384
|
+
* 4. **Case folding on a case-insensitive filesystem** (the default on macOS
|
|
4385
|
+
* and Windows) cannot keep two segments apart that differ only in case —
|
|
4386
|
+
* and, unlike (2) and (3), this cannot be closed by checking the *loaded*
|
|
4387
|
+
* name set, because the other half of a colliding pair need not be loaded
|
|
4388
|
+
* at all: an extension can be uninstalled and leave its data directory
|
|
4389
|
+
* behind, or be filtered onto a different surface, and either way it is
|
|
4390
|
+
* absent from any set a coordinator could inspect while the survivor
|
|
4391
|
+
* starts and is handed the same directory unknowingly. The only knowledge
|
|
4392
|
+
* that is always available is the one name being encoded right now, so the
|
|
4393
|
+
* fix has to live here: every uppercase `A`–`Z` byte is percent-escaped,
|
|
4394
|
+
* exactly like any other byte outside
|
|
4395
|
+
* {@link EXTENSION_NAME_PATH_SEGMENT_UNRESERVED}, so a canonical segment
|
|
4396
|
+
* never contains a literal uppercase letter at all. The only uppercase ASCII
|
|
4397
|
+
* that can appear in a canonical segment is the hex digits `A`–`F` inside an
|
|
4398
|
+
* escape triplet (`%`, followed by two uppercase hex digits), and `%` itself
|
|
4399
|
+
* is always escaped when literal, so every `%` in a canonical segment
|
|
4400
|
+
* starts such a triplet. Case-folding a canonical segment therefore only
|
|
4401
|
+
* ever touches those hex digits, uniformly and in lockstep between any two
|
|
4402
|
+
* segments that agree everywhere else — it can never turn one *distinct*
|
|
4403
|
+
* canonical segment into another, because doing so would require an
|
|
4404
|
+
* uppercase letter outside a triplet to fold onto a literal character, and
|
|
4405
|
+
* no literal character is ever uppercase. `Gateway` and `gateway` — the
|
|
4406
|
+
* case this closes concretely — encode to `%47ateway` and `gateway`, which
|
|
4407
|
+
* share no literal uppercase letter to fold and therefore cannot collide on
|
|
4408
|
+
* any host. This is why no load-set collision detector is needed for this
|
|
4409
|
+
* codec any more: distinctness is now a property of one name at a time, not
|
|
4410
|
+
* of a set the coordinator happens to have assembled.
|
|
4411
|
+
* 5. **Unicode normalisation-insensitive comparison**, which macOS's default
|
|
4412
|
+
* APFS format performs (verified directly: creating a directory named with
|
|
4413
|
+
* the NFC form of `café` and then the NFD form of the same text on this
|
|
4414
|
+
* codec's own development host fails the second `mkdir` with `EEXIST`,
|
|
4415
|
+
* even though the two names are different byte sequences), cannot collide
|
|
4416
|
+
* two segments this function produces, because normalisation-insensitive
|
|
4417
|
+
* comparison only folds *combining* Unicode sequences into their composed
|
|
4418
|
+
* or decomposed equivalent, and every byte outside
|
|
4419
|
+
* {@link EXTENSION_NAME_PATH_SEGMENT_UNRESERVED} — which is exactly the set
|
|
4420
|
+
* of bytes normalisation could ever fold — is percent-escaped into three
|
|
4421
|
+
* literal ASCII characters that are not combining sequences and do not
|
|
4422
|
+
* themselves have a second normalised form. Two Unicode-normalisation
|
|
4423
|
+
* variants of one name, such as the NFC and NFD spellings of `café`,
|
|
4424
|
+
* therefore encode to two segments (`caf%C3%A9` and `cafe%CC%81`) that stay
|
|
4425
|
+
* distinct on every host without any additional escape or collision check.
|
|
4426
|
+
*
|
|
4427
|
+
* Two more properties of the encoding matter because a host has no
|
|
4428
|
+
* normalisation to defend against them: a name whose basename is a reserved
|
|
4429
|
+
* Windows device name has no rescuable segment (case 1, above, restated as an
|
|
4430
|
+
* exhaustiveness note), and 8.3 short-name generation on NTFS — a Windows
|
|
4431
|
+
* feature, often disabled, that derives a second, shortened alias for a long
|
|
4432
|
+
* name from filesystem-generated state this codec cannot predict — is a known,
|
|
4433
|
+
* unaddressed limitation: a manifest name could in principle collide with
|
|
4434
|
+
* another extension's *generated* short alias, but only NTFS decides that
|
|
4435
|
+
* alias, so no encoding choice here can rule it out. The failure mode is a
|
|
4436
|
+
* loud `EEXIST` at directory creation, not the silent data-sharing every other
|
|
4437
|
+
* item in this list defends against, so it is documented rather than
|
|
4438
|
+
* engineered around.
|
|
4439
|
+
*
|
|
4440
|
+
* The encoded segment fits within {@link MAX_OPERATOR_CONFIG_FILE_NAME_BYTES}
|
|
4441
|
+
* minus the {@link EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX} length. This shared
|
|
4442
|
+
* bound means a name encodable as a data-directory segment is also encodable as
|
|
4443
|
+
* an operator-config file stem, and vice versa.
|
|
4444
|
+
* @param extensionName - Extension manifest name to encode.
|
|
4445
|
+
* @returns The path segment for that name, or `undefined` when no segment can
|
|
4446
|
+
* address the name on every supported host (empty name, dot segment,
|
|
4447
|
+
* non-well-formed Unicode, a reserved Windows device basename, or encoded
|
|
4448
|
+
* form too long for a filesystem component).
|
|
4449
|
+
*/
|
|
4450
|
+
declare function encodeExtensionNameAsPathSegment$1(extensionName: string): string | undefined;
|
|
4451
|
+
/**
|
|
4452
|
+
* Decode an encoded path segment back to the extension name it addresses.
|
|
4453
|
+
*
|
|
4454
|
+
* The inverse of {@link encodeExtensionNameAsPathSegment}, and strict about it:
|
|
4455
|
+
* a segment is accepted only when it is exactly what encoding that name produces.
|
|
4456
|
+
* Lowercase escapes, escapes for characters that need none, and unescaped
|
|
4457
|
+
* characters outside the unreserved set are all rejected, so one extension has
|
|
4458
|
+
* one spelling and a scan cannot bind two segments to the same extension.
|
|
4459
|
+
*
|
|
4460
|
+
* Rejection is not a failure to report to an operator by itself — a segment that
|
|
4461
|
+
* does not decode simply does not address any extension. The caller decides
|
|
4462
|
+
* whether that deserves a diagnostic, exactly as it does for a segment that
|
|
4463
|
+
* decodes to an extension it has not loaded.
|
|
4464
|
+
* @param segment - Candidate path segment, with any file extension already removed
|
|
4465
|
+
* when decoding an operator-config file stem.
|
|
4466
|
+
* @returns The extension name, or `undefined` when the segment is not a canonical
|
|
4467
|
+
* encoding of one. A segment that spells a name no file can address — the empty
|
|
4468
|
+
* name, a dot segment, or one that is not well-formed Unicode — is rejected by
|
|
4469
|
+
* the same round-trip, because encoding such a name produces no segment at all —
|
|
4470
|
+
* and so is a segment that begins or ends with a literal dot, or one whose
|
|
4471
|
+
* encoded form would exceed {@link MAX_OPERATOR_CONFIG_FILE_NAME_BYTES}. A name
|
|
4472
|
+
* that contains dots anywhere but first or last, such as `com.example.tools`, is
|
|
4473
|
+
* accepted; a name that begins or ends with one is spelled `%2Ehidden` or
|
|
4474
|
+
* `gateway%2E`, never `.hidden` or `gateway.`. A segment spelled `CON` or
|
|
4475
|
+
* `COM1.log` is rejected too, because a reserved Windows device basename has no
|
|
4476
|
+
* segment at all — encoding it produces `undefined`, not a literal spelling for
|
|
4477
|
+
* the round-trip to match.
|
|
4478
|
+
*/
|
|
4479
|
+
declare function decodeExtensionNamePathSegment$1(segment: string): string | undefined;
|
|
4480
|
+
//#endregion
|
|
4481
|
+
//#region core/contracts/src/extension/extension-operator-config.d.ts
|
|
4482
|
+
/**
|
|
4483
|
+
* Why an operator-supplied configuration entry cannot be turned into a
|
|
4484
|
+
* configuration object.
|
|
4485
|
+
*
|
|
4486
|
+
* The values describe the shape of the problem, not its origin: the layer that
|
|
4487
|
+
* produces entries is free to source them from anywhere, and reports the
|
|
4488
|
+
* concrete origin through {@link ExtensionOperatorConfigFailure.source}.
|
|
4489
|
+
*/
|
|
4490
|
+
type ExtensionOperatorConfigFailureReason = /** The entry's backing store could not be read at all. */'unreadable' /** The entry's payload is not well-formed JSON. */ | 'invalid-json' /** The entry's payload is well-formed JSON whose top-level value is not an object. */ | 'not-an-object';
|
|
4491
|
+
/** Fields shared by every {@link ExtensionOperatorConfigEntry} variant. */
|
|
4492
|
+
interface ExtensionOperatorConfigEntryBase {
|
|
4493
|
+
/**
|
|
4494
|
+
* Opaque, human-readable label identifying where this entry came from.
|
|
4495
|
+
*
|
|
4496
|
+
* Reproduced verbatim in diagnostics so an operator can find and correct the
|
|
4497
|
+
* offending input. The consumer never parses or interprets it.
|
|
4498
|
+
*/
|
|
4499
|
+
readonly source: string;
|
|
4500
|
+
}
|
|
4501
|
+
/** An operator-supplied configuration object for one extension. */
|
|
4502
|
+
interface ExtensionOperatorConfigValue extends ExtensionOperatorConfigEntryBase {
|
|
4503
|
+
/** Discriminant selecting the usable variant. */
|
|
4504
|
+
readonly kind: 'config';
|
|
4505
|
+
/**
|
|
4506
|
+
* The operator's configuration object for the extension.
|
|
4507
|
+
*
|
|
4508
|
+
* Applied as the highest-precedence layer of the extension's configuration
|
|
4509
|
+
* chain. It is not validated by the producer — the extension's own config
|
|
4510
|
+
* schema is the authority.
|
|
4511
|
+
*
|
|
4512
|
+
* Typed as JSON values because the layer merges one level deep: a key the
|
|
4513
|
+
* operator declares replaces the lower layers' value for that key. `undefined`
|
|
4514
|
+
* is not a JSON value and must never appear, or a key the operator never
|
|
4515
|
+
* meant to touch would be blanked out rather than overridden.
|
|
4516
|
+
*/
|
|
4517
|
+
readonly config: Readonly<Record<string, JsonValue$1>>;
|
|
4518
|
+
}
|
|
4519
|
+
/** An operator-supplied configuration entry that could not be read or parsed. */
|
|
4520
|
+
interface ExtensionOperatorConfigFailure extends ExtensionOperatorConfigEntryBase {
|
|
4521
|
+
/** Discriminant selecting the failure variant. */
|
|
4522
|
+
readonly kind: 'failure';
|
|
4523
|
+
/** Category of the problem, used to phrase the diagnostic. */
|
|
4524
|
+
readonly reason: ExtensionOperatorConfigFailureReason;
|
|
4525
|
+
/**
|
|
4526
|
+
* Underlying error text, when the producer has one.
|
|
4527
|
+
*
|
|
4528
|
+
* Appended to the diagnostic raised when the affected extension activates,
|
|
4529
|
+
* which is logged and persisted as the extension's failure reason. Producers
|
|
4530
|
+
* supply a short explanation of why the entry could not be used — never the
|
|
4531
|
+
* entry's own content, which may be large or hold values an operator does not
|
|
4532
|
+
* expect to see echoed. The consumer flattens control characters and bounds
|
|
4533
|
+
* the length regardless.
|
|
4534
|
+
*/
|
|
4535
|
+
readonly detail?: string;
|
|
4536
|
+
}
|
|
4537
|
+
/**
|
|
4538
|
+
* One operator-supplied configuration entry: either a usable configuration
|
|
4539
|
+
* object or a source-aware failure.
|
|
4540
|
+
*/
|
|
4541
|
+
type ExtensionOperatorConfigEntry$1 = ExtensionOperatorConfigValue | ExtensionOperatorConfigFailure;
|
|
4542
|
+
/**
|
|
4543
|
+
* Abstract, operator-owned configuration layer keyed by extension name.
|
|
4544
|
+
*
|
|
4545
|
+
* Supplied by the host composition root and consulted at every extension
|
|
4546
|
+
* configuration-resolution point. It is the highest-precedence layer: its
|
|
4547
|
+
* values override both descriptor/host defaults and stored configuration
|
|
4548
|
+
* records, because an operator entry is an explicit, hand-authored decision
|
|
4549
|
+
* that a later write from another tier must not silently erase.
|
|
4550
|
+
*
|
|
4551
|
+
* The contract is deliberately free of storage vocabulary. A producer decides
|
|
4552
|
+
* where entries come from; the consumer only distinguishes "usable
|
|
4553
|
+
* configuration" from "unusable, and here is where it came from".
|
|
4554
|
+
*
|
|
4555
|
+
* Implementations are expected to be immutable for the lifetime of the
|
|
4556
|
+
* coordinator that consumes them, so an extension that is stopped and started
|
|
4557
|
+
* again resolves against the same values.
|
|
4558
|
+
*/
|
|
4559
|
+
interface ExtensionOperatorConfigSource$1 {
|
|
4560
|
+
/**
|
|
4561
|
+
* Look up the operator entry for one extension.
|
|
4562
|
+
*
|
|
4563
|
+
* **Must not throw, and must be stable.** For the lifetime of the coordinator
|
|
4564
|
+
* that holds the source, the same name must yield an equivalent entry — the
|
|
4565
|
+
* same variant, the same `source`, and the same configuration values. A
|
|
4566
|
+
* producer therefore captures its inputs once, up front, and answers every
|
|
4567
|
+
* later lookup from that immutable snapshot rather than re-reading them.
|
|
4568
|
+
*
|
|
4569
|
+
* Stability is what lets an extension be stopped and started again without
|
|
4570
|
+
* its configuration changing underneath it, and what lets read-only callers
|
|
4571
|
+
* resolve an already-active extension's context knowing the operator layer
|
|
4572
|
+
* cannot newly reject it.
|
|
4573
|
+
* @param extensionName - Extension package name to look up.
|
|
4574
|
+
* @returns The operator entry, or `undefined` when the operator supplied
|
|
4575
|
+
* nothing for this extension.
|
|
4576
|
+
*/
|
|
4577
|
+
get(extensionName: string): ExtensionOperatorConfigEntry$1 | undefined;
|
|
4073
4578
|
}
|
|
4074
4579
|
//#endregion
|
|
4075
|
-
export {
|
|
4580
|
+
export { ExtensionConfigComponentLoader as $, WindowStyle as $n, ActionShortcut as $t, ExtensionRuntimeBootContext as A, normalizeExtensionManifestExport$1 as An, UiSurfaceFlags as Ar, TileCapabilities as At, BootstrapImportContext as B, ExtensionManifestSchema as Bn, UiRuntimeNavigationLevel as Bt, ExtensionEntrypointsSchema as C, ExtensionCliInteractiveContext as Cn, ProtocolConfigSchema as Cr, SlotPlacementDeclaration as Ct, ArtifactLifecycleHooksContributionContext as D, AdapterProviderDefinitionContract$1 as Dn, ProviderManifestSchema as Dr, WidgetProps as Dt, safeParseExtensionDescriptor$1 as E, AdapterDefinitionContract$1 as En, ProviderManifest as Er, WidgetDefinition as Et, BootstrapAssetKey as F, CliSubcommandManifest as Fn, UiContextDimension as Ft, AdapterContribution as G, StorageManifest as Gn, HashSuggestion as Gt, BootstrapResult as H, RuntimeRequirementSchema as Hn, UiScopeMap as Ht, BootstrapChoice as I, CliSubcommandManifestSchema as In, UiContextSnapshot$1 as It, ExtensionSessionEventActionsContribution as J, TrayManifestSchema as Jn, HashTriggerMetadata as Jt, ExtensionHashTriggersContribution as K, StorageManifestSchema as Kn, HashTrigger as Kt, BootstrapDiscoverContext as L, ExtensionDependency as Ln, UiContextValueMap as Lt, MakaioExtension$1 as M, CliArgManifestSchema as Mn, BrowserEntrypoint as Mr, TileIconLoader as Mt, MakaioNodeExtension$1 as N, CliManifest as Nn, BrowserEntrypointSchema$1 as Nr, TileProps as Nt, ExtensionArtifactLifecycleHooksContribution as O, AdapterProviderRef$1 as On, SessionEventActionManifest as Or, WidgetRenderers as Ot, BootstrapAsset as P, CliManifestSchema as Pn, TileRenderers as Pt, ExtensionWorkflowBlocksContribution as Q, WindowParamSpecSchema as Qn, ActionCategoryMap as Qt, BootstrapExportContext as R, ExtensionDependencySchema as Rn, UiNavigationLevel$1 as Rt, ExtensionEntrypoints as S, ExtensionCliHandlerContext as Sn, ProtocolConfig as Sr, SlotId as St, parseExtensionDescriptor$1 as T, ExtensionCliSubcommandEntry as Tn, ProtocolRefSchema as Tr, WidgetDeclaration as Tt, ExtensionBootstrap as U, STORAGE_DIALECTS as Un, GatheredContext as Ut, BootstrapImportResult as V, RuntimeRequirement as Vn, UiScope$1 as Vt, getBootstrapAssetKey as W, StorageDialect$1 as Wn, GatheredEntry as Wt, ExtensionUiContribution as X, WindowManifestSchema as Xn, HashTriggerSuggestResult as Xt, ExtensionToolsContribution as Y, WindowManifest as Yn, HashTriggerStage as Yt, LogImportContribution as Z, WindowParamSpec as Zn, ActionCategory as Zt, EmbeddedDescriptor as _, ExtensionRuntimeOwnership as _n, HashTriggerManifest as _r, PageComponentProps as _t, ExtensionOperatorConfigValue as a, ExecuteResult as an, CapabilityTokenSchema as ar, LoaderContext as at, ExtensionDescriptorParseResult as b, ExtensionCliBeforeRunResult as bn, LogImporterManifest as br, SlotContentDeclaration as bt, EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX$1 as c, PickerConfig as cn, AdapterManifest as cr, MakaioWebUiComponentProps as ct, encodeExtensionNameAsPathSegment$1 as d, SelectionFeedback as dn, ArtifactLifecycleHookManifest as dr, PromisifiedActions as dt, ActionShortcutModifiers as en, allMigrationsPaths as er, ExtensionConfigComponentProps as et, ExtensionConfigProvider$1 as f, SessionEventActionContext as fn, ArtifactLifecycleHookManifestSchema as fr, PluginFormattedToolCallOutput as ft, DetachedTransportSchema as g, WhenContext as gn, ContributionManifestSchema as gr, ToolCallFormatterDeclaration as gt, DetachedTransportConfig as h, StructuralEventFilter as hn, ContributionManifest as hr, PluginTransformedContentType as ht, ExtensionOperatorConfigSource$1 as i, ExecuteContext as in, CapabilityTokenMap as ir, ExtensionOperatorConfigProvenance as it, ExtensionRuntimeBootContribution as j, CliArgManifest as jn, UiSurfaceFlagsSchema as jr, TileDeclaration as jt, ExtensionContributionProcessor$1 as k, isExtensionManifestLike$1 as kn, SessionEventActionManifestSchema as kr, WidgetSize$1 as kt, MAX_OPERATOR_CONFIG_FILE_NAME_BYTES as l, PickerOpenContext as ln, AdapterManifestSchema as lr, MakaioWebUiLoader as lt, DetachedDescriptor as m, SessionEventActionOptions as mn, ClientManifestSchema as mr, PluginTransformedContent as mt, ExtensionOperatorConfigFailure as n, EntrypointConfig as nn, primaryMigrationsPath$1 as nr, ExtensionFieldTypeLoader as nt, EXTENSION_DATA_DIR_SEGMENT$1 as o, MessageEventFilter as on, AdapterClientRef$1 as or, MakaioWebUiAction as ot, parseExtensionConfig as p, SessionEventActionDeclaration as pn, ClientManifest as pr, PluginToolCallFormatterInput as pt, ExtensionNamespaceContribution as q, TrayManifest$1 as qn, HashTriggerContext as qt, ExtensionOperatorConfigFailureReason as r, EventFilter as rn, CapabilityToken as rr, ExtensionFieldTypeRegistration as rt, EXTENSION_NAME_PATH_SEGMENT_UNRESERVED as s, MessageRole as sn, AdapterClientRefSchema as sr, MakaioWebUiActions as st, ExtensionOperatorConfigEntry$1 as t, CreateSessionEventActionResult as tn, dep$1 as tr, ExtensionFieldTypeEntry as tt, decodeExtensionNamePathSegment$1 as u, SelectionChangeContext as un, ArtifactLifecycleHookEventSchema as ur, MakaioWebUiRoute as ut, ExtensionDescriptor$1 as v, isRuntimeOwnershipFieldClaimed$1 as vn, HashTriggerManifestSchema as vr, PageDeclaration as vt, isDetachedDescriptor$1 as w, ExtensionCliOutputWriter as wn, ProtocolRef as wr, WidgetSize as wt, ExtensionDescriptorSchema as x, ExtensionCliContribution as xn, LogImporterManifestSchema as xr, SlotDeclaration as xt, ExtensionDescriptorBase as y, ExtensionCliBeforeRunContext as yn, HashTriggerStageManifest as yr, PageMode as yt, BootstrapExportResult as z, ExtensionManifest as zn, UiNavigationLevelMap as zt };
|