@makaio/framework 1.0.0-dev-1788955549564 → 1.0.0-dev-1788966380232
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/{2020-Bl3Yx3In.mjs → 2020-CpDjcHDh.mjs} +1 -1
- package/dist/{account-identity-B0NsOILM.mjs → account-identity-D00LLclm.mjs} +1 -1
- package/dist/{adapter-DYE_oWjj.mjs → adapter-D92pfm_b.mjs} +1 -1
- package/dist/{adapter-auth-runtime-BnPqQChk.mjs → adapter-auth-runtime-46Y9WKcB.mjs} +1 -1
- package/dist/adapter-subsystem/index.d.mts +1 -1
- package/dist/adapter-subsystem/index.mjs +1 -1
- package/dist/adapters/claude/index.d.mts +2 -2
- package/dist/adapters/claude/testing.mjs +1 -1
- package/dist/adapters/config/index.d.mts +2 -2
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +3 -3
- package/dist/adapters/index.mjs +6 -6
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +2 -2
- package/dist/adapters/stream-session/index.d.mts +1 -1
- package/dist/adapters/stream-session/index.mjs +1 -1
- package/dist/artifact-_pN73_7c.mjs +1 -0
- package/dist/{attempt-record-codec-6jpayBMY.mjs → attempt-record-codec-D2Gb_epJ.mjs} +1 -1
- package/dist/{auth-CeH3w2fi.mjs → auth-CB4an9bh.mjs} +1 -1
- package/dist/authority-state-bootstrap-DgoHPc9J.mjs +1 -0
- package/dist/{automation-trigger-CZfH94Fr.mjs → automation-trigger-xNDX0Am_.mjs} +1 -1
- package/dist/bootstrap-start-client-rW55mDI-.mjs +1 -0
- package/dist/bus/index.mjs +1 -1
- package/dist/{caller-owned-adapter-stub-B-Sq7ZvF.mjs → caller-owned-adapter-stub-oM1G1KvC.mjs} +1 -1
- package/dist/{canonical-model-oFNty7hj.mjs → canonical-model-D7Cg0l2R.mjs} +1 -1
- package/dist/{capabilities-BhJ3wzI8.mjs → capabilities-D2ggcMem.mjs} +1 -1
- package/dist/{capability-service-23Ot2J9A.d.mts → capability-service-Cpkonrc0.d.mts} +1 -1
- package/dist/{client-DJMzCHRm.mjs → client-CpUVfDxa.mjs} +1 -1
- package/dist/clients/index.d.mts +2 -2
- package/dist/clients/index.mjs +1 -1
- package/dist/clients/managed-install.d.mts +1 -1
- package/dist/clients/managed-install.mjs +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-B9wr0b972.mjs → code-execution-ByLSAlEg2.mjs} +1 -1
- package/dist/{code-execution-BMmUATcc.mjs → code-execution-CMqsHnGg.mjs} +1 -1
- package/dist/{code-execution-DRCzkGzO.mjs → code-execution-xn9-x3VO.mjs} +1 -1
- package/dist/common-CylczUIW.mjs +1 -0
- package/dist/{compression-nZhMDRTA.mjs → compression-Civ-rf-O.mjs} +1 -1
- package/dist/{config-namespace-MjFuIPyL.mjs → config-namespace-CQnsvr77.mjs} +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +3 -3
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/auth/index.d.mts +2 -2
- package/dist/contracts/auth/index.mjs +1 -1
- package/dist/contracts/automation-trigger/index.d.mts +3 -3
- package/dist/contracts/automation-trigger/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.mjs +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.mjs +1 -1
- package/dist/contracts/client/index.d.mts +2 -2
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/code-execution/index.d.mts +1 -1
- package/dist/contracts/code-execution/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +2 -2
- package/dist/contracts/common/index.mjs +1 -1
- package/dist/contracts/config/index.d.mts +1 -1
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +5 -5
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/facet/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.d.mts +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +73 -73
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/model-registry/index.d.mts +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.d.mts +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +2 -2
- package/dist/contracts/provider/index.mjs +1 -1
- package/dist/contracts/reaction/index.d.mts +1 -1
- package/dist/contracts/reaction/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +2 -2
- package/dist/contracts/shared/index.mjs +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/telemetry/index.d.mts +1 -1
- package/dist/contracts/telemetry/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +1 -1
- package/dist/contracts/timeout/index.mjs +1 -1
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/contracts/worker/index.d.mts +2 -2
- package/dist/contracts/worker/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{contribution-B4t0OXKs.d.mts → contribution-BfEEQ8YZ.d.mts} +2 -2
- package/dist/{definition-Bs5hzhsT.d.mts → definition-6d5JBi55.d.mts} +1 -1
- package/dist/{definition-YGj42UeO.mjs → definition-Dqw0YJdi.mjs} +1 -1
- package/dist/{detached-extension-handle-CgJiXaqv.mjs → detached-extension-handle-BJnk3WEh.mjs} +1 -1
- package/dist/{dist-CfANkKSb.mjs → dist-DeI9zYMP.mjs} +1 -1
- package/dist/evidence/git-file/index.d.mts +54 -0
- package/dist/evidence/git-file/index.mjs +4 -0
- package/dist/{execution-attempt-owner-recovery-CdH04iwP.mjs → execution-attempt-owner-recovery-D4APLAvt.mjs} +1 -1
- package/dist/{execution-attempt-repository-CJVlPFMM.d.mts → execution-attempt-repository--RVils5-.d.mts} +273 -189
- package/dist/execution-attempt-repository-CWbgCTwA.mjs +1 -0
- package/dist/{execution-target-B9jZgDQz.mjs → execution-target-_oVNW6Zm.mjs} +1 -1
- package/dist/{extension-B51JzHJu.mjs → extension-CAi7bbyv.mjs} +1 -1
- package/dist/{extension-C1CwxkCN.mjs → extension-CrghVa93.mjs} +1 -1
- package/dist/{filesystem-service-yB8KhUGz.mjs → filesystem-service-hdz3oYti.mjs} +1 -1
- package/dist/{framework-packages-25GUGzJ-.mjs → framework-packages-BOPhhtK7.mjs} +1 -1
- package/dist/git/index.mjs +1 -1
- package/dist/{globby-z2SR0jRo.mjs → globby-Begk3aIP.mjs} +1 -1
- package/dist/{handlers-CBbFzDHc.mjs → handlers-YPTyZDhF.mjs} +1 -1
- package/dist/{harness-GNtHsoh4.mjs → harness-Ds1I4smU.mjs} +1 -1
- package/dist/{hook-responses-chgDiS8D.d.mts → hook-responses-CpEfxEmG.d.mts} +1 -1
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/{index-BtPZcp4M2.d.mts → index-09eal6WI2.d.mts} +11 -11
- package/dist/{index-GNRWZONO.d.mts → index-6kg8YFYt.d.mts} +1 -1
- package/dist/{index-B6aoVzdA.d.mts → index-B3G-Hzwn.d.mts} +1 -1
- package/dist/{index-SDXlgq07.d.mts → index-B7wjmaev.d.mts} +24 -14
- package/dist/{index-DzeUtJtE.d.mts → index-BKwYE1Qk.d.mts} +5 -5
- package/dist/{index-CKjFFP6W2.d.mts → index-BM-FPWjs2.d.mts} +1 -1
- package/dist/{index-Bak5iKWv2.d.mts → index-BT5qcsEf2.d.mts} +24 -15
- package/dist/{index-BjELPYLF2.d.mts → index-BfzuauBt2.d.mts} +1 -1
- package/dist/{index-D2sbGoGS.d.mts → index-Bj2JCo9V.d.mts} +2 -2
- package/dist/{index-OXuby-ee.d.mts → index-BkQlL0Pl.d.mts} +13 -13
- package/dist/{index-CuPq_ap8.d.mts → index-BlHq_Ksb.d.mts} +2 -2
- package/dist/{index-D3RZEEE3.d.mts → index-Bn6sN1op.d.mts} +2 -2
- package/dist/{index-ConotXyG.d.mts → index-Bnm0QvJ4.d.mts} +15 -15
- package/dist/{index-Bxs-oIo4.d.mts → index-BpsurXEW.d.mts} +1 -1
- package/dist/{index-C9J8wBLV.d.mts → index-BqR2xDu6.d.mts} +655 -111
- package/dist/{index-DX_2kGSg.d.mts → index-Bxq_zO2E.d.mts} +4 -4
- package/dist/{index-CcgI6r0K.d.mts → index-C742b1FV.d.mts} +2 -2
- package/dist/{index-B6Kq1BtL.d.mts → index-C8oBOTl_.d.mts} +1 -1
- package/dist/{index-CuLDybz3.d.mts → index-CDhbUjUH.d.mts} +2 -2
- package/dist/{index-CDeN0mdC.d.mts → index-CWeWBh-_.d.mts} +1 -1
- package/dist/{index-SIP-fI28.d.mts → index-D4XNkbM4.d.mts} +1 -1
- package/dist/{index-C6eJrtTA.d.mts → index-D7IZQNhD.d.mts} +2 -2
- package/dist/{index-CU_HMaeC.d.mts → index-DCfYa3cF.d.mts} +39 -1
- package/dist/{index-VbqrC9qf.d.mts → index-DO633_D-.d.mts} +40 -40
- package/dist/{index-CVx7li6B2.d.mts → index-DU9Y9tes2.d.mts} +12 -12
- package/dist/{index-99Gz8ezO.d.mts → index-DY_0TRvM.d.mts} +3 -3
- package/dist/{index-DfJNJYPV.d.mts → index-DzlGAEws.d.mts} +4 -4
- package/dist/{index-DOkenapA.d.mts → index-LjLUr3Dm.d.mts} +10 -10
- package/dist/{index-CwJaE0fT.d.mts → index-MtDz_goH.d.mts} +125 -77
- package/dist/{index-CyB6POkH.d.mts → index-nJvYTAbD.d.mts} +1 -1
- package/dist/{index-BrelUXBT.d.mts → index-ud9i9pue.d.mts} +16 -16
- package/dist/{index-OUtnmQ8t2.d.mts → index-v9TbeVee2.d.mts} +5 -5
- 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-0MqNtDuH.mjs → lib-BmXBuE-w.mjs} +1 -1
- package/dist/{lib-dlyJT26K.mjs → lib-R-c_q77C.mjs} +1 -1
- package/dist/{load-extensions-DM1PgW4a.d.mts → load-extensions-Bu10B5B1.d.mts} +1 -1
- package/dist/{load-extensions-BHTj3d_P.mjs → load-extensions-s4YmICgn.mjs} +1 -1
- package/dist/{materialization-BQuh_gaE.mjs → materialization-BwC7pVg2.mjs} +1 -1
- package/dist/mcp-http-server/index.d.mts +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/model-Cn1IFEP8.mjs +1 -0
- package/dist/{namespace-c5XPzbf3.d.mts → namespace-BYsKOw-g.d.mts} +2 -2
- package/dist/{namespace-ZAIFBrIy.mjs → namespace-CnRcpgJ8.mjs} +1 -1
- package/dist/namespace-DFc1nkal.mjs +1 -0
- package/dist/{namespace-Cb0XKb4v.d.mts → namespace-KTRWfIPy.d.mts} +2 -2
- package/dist/{namespace-DiTFR4Zt.d.mts → namespace-wuGMWlyz.d.mts} +2 -2
- package/dist/{native-session-supervisor-BlGzmZrH.mjs → native-session-supervisor-B0rziwHI.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-5vhs4wvU.mjs → orchestrator-shared-CmS8iU9_.mjs} +1 -1
- package/dist/{orchestrator-shared-BRNZ6it3.d.mts → orchestrator-shared-Cwc6JKkV.d.mts} +1 -1
- package/dist/{ownership-memory-handler-BCu1EjFO.mjs → ownership-memory-handler-DMirNILL.mjs} +1 -1
- package/dist/package-B-xpYKe8.mjs +7 -0
- package/dist/{package-x2wRhcUt.d.mts → package-Bl0mcGb8.d.mts} +13 -3
- package/dist/{package-BiZ6ehWk.mjs → package-Co36_pRw.mjs} +1 -1
- package/dist/{package-BUSXHPOT.mjs → package-D2zvQO7X.mjs} +1 -1
- package/dist/package.json +1 -1
- package/dist/{packages-Dhgmy_LJ.mjs → packages-COqPg5TI.mjs} +1 -1
- package/dist/{packages-BSVxszLf.d.mts → packages-DTz_1dCa.d.mts} +1 -1
- package/dist/{profile-DBDvy9uc.mjs → profile-C9RV7ao-.mjs} +1 -1
- package/dist/{provider-context-CSb0qX1c.mjs → provider-context-BPITm0cn.mjs} +1 -1
- package/dist/{provider-context-CTOrOW54.mjs → provider-context-CyGvwXPz.mjs} +1 -1
- package/dist/providers/index.d.mts +1 -1
- package/dist/{reaction-6e4v007b.mjs → reaction-aQJGWUWl.mjs} +1 -1
- package/dist/repo-context-Dy6eE9cg.mjs +1 -0
- package/dist/{resolved-ONt3rOMh.mjs → resolved-M6PyrgFr.mjs} +1 -1
- 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/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 +1 -1
- package/dist/runtime-node/extension-validation.d.mts +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +6 -6
- package/dist/runtime-node/index.mjs +4 -4
- 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-B8jinlbH.mjs → schema-DrHrto2J.mjs} +1 -1
- package/dist/{schemas-BFwNBMIj.d.mts → schemas-BYyT43gX.d.mts} +4 -4
- package/dist/{schemas-BIU9Org_.mjs → schemas-CQKfd2Xd.mjs} +1 -1
- package/dist/{schemas-Di_kpQ0C.d.mts → schemas-CvUe_yff.d.mts} +13 -4
- package/dist/{schemas-BZabEyEV.d.mts → schemas-D2HmGmCt.d.mts} +1 -1
- package/dist/schemas-DRho446W.mjs +1 -0
- package/dist/{schemas-I9dZtAkj.d.mts → schemas-DwqibWUL.d.mts} +2 -2
- package/dist/{schemas-abY5VbS4.mjs → schemas-DyZNwquY.mjs} +1 -1
- package/dist/{selection-7SkHsmWs.mjs → selection-BDs7K53w.mjs} +1 -1
- package/dist/{server-lifecycle-hNz8U-QJ.mjs → server-lifecycle-C5Vl58sN.mjs} +1 -1
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +3 -3
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/automation-trigger/index.d.mts +1 -1
- package/dist/services/automation-trigger/index.mjs +1 -1
- package/dist/services/capability/index.d.mts +2 -2
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/code-execution/index.d.mts +1 -1
- package/dist/services/code-execution/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/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/namespace.mjs +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/execution-target/schemas.mjs +1 -1
- package/dist/services/filesystem/index.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +2 -2
- package/dist/services/git/namespace.mjs +1 -1
- package/dist/services/git/schemas.d.mts +1 -1
- package/dist/services/git/schemas.mjs +1 -1
- package/dist/services/harness/index.d.mts +4 -4
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/index.d.mts +49 -49
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +3 -3
- package/dist/services/log-import/index.mjs +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/materialization/index.d.mts +1 -1
- package/dist/services/materialization/index.mjs +1 -1
- package/dist/services/model-registry/index.d.mts +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +9 -9
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +2 -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/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 +4 -4
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +3 -3
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/subagent/index.d.mts +1 -1
- package/dist/services/subagent/index.mjs +1 -1
- package/dist/services/subagent-template/index.d.mts +2 -2
- package/dist/services/subagent-template/namespace.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +3 -3
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/workflow-transitions/index.d.mts +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/{session-A-h_Dwcs.mjs → session-9C42TPQq.mjs} +1 -1
- package/dist/{session-BDFNAcuY.mjs → session-Cn8z1hxD.mjs} +6 -6
- package/dist/{session-lineage-BzlpfLgC.d.mts → session-lineage-CEyJWg_J.d.mts} +1 -1
- package/dist/{shared-BZf2zoxL.mjs → shared-DqvfJVYk.mjs} +1 -1
- package/dist/{skill-1gU2q1KT.mjs → skill-BmRp8GhW.mjs} +1 -1
- package/dist/{src-Dlpw-Gh5.mjs → src-CmLn6zYj.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 +2 -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/testing/index.d.mts +1 -1
- package/dist/{tool-approval-service-rpV94znP.mjs → tool-approval-service-DchkAdAr.mjs} +1 -1
- package/dist/tools/index.d.mts +1 -1
- package/dist/{tools-oQPsY7v2.mjs → tools-r50UBPJ9.mjs} +1 -1
- package/dist/{transition-BeWq5nKg.d.mts → transition-CgsrmsfE.d.mts} +2 -2
- package/dist/{types-FNVbwd7z2.d.mts → types-Bnc-pdB12.d.mts} +1 -1
- package/dist/{types-D4N56a4O.d.mts → types-Dswhi1L9.d.mts} +1 -1
- package/dist/{types-CIEJ91wm.d.mts → types-ZvPhKp3j.d.mts} +8 -8
- package/dist/ui-kernel/index.d.mts +2 -2
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{version-3xWJDCeF.mjs → version-sDSWOMn_.mjs} +1 -1
- package/dist/{view-builder-BwGugMWz.d.mts → view-builder-D54kvyf7.d.mts} +10 -10
- package/dist/{visibility-C5sLzqyS.mjs → visibility-syKffo3e.mjs} +1 -1
- package/dist/{worker-qgJToDTN.mjs → worker-DRQGyWAS.mjs} +1 -1
- package/dist/{worker-Csadr_du.mjs → worker-DzbPk2YI.mjs} +1 -1
- package/dist/{workflow-Cb2Pj1h3.mjs → workflow-D-yrAZW8.mjs} +1 -1
- package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
- package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
- package/dist/workflow-engine/index.d.mts +62 -62
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.d.mts +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/provider-operation.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.mjs +2 -2
- package/dist/workflow-engine/testing/index.d.mts +3 -1
- package/dist/workflow-engine/testing/index.mjs +1 -1
- package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
- package/dist/workflow-engine/testing/sqlite.mjs +66 -61
- package/dist/workflow-engine/workflow-orchestrator.d.mts +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-BI7PbrXv.mjs → workflow-transitions-D5RvMSnf.mjs} +1 -1
- package/dist/workflow-worker-CrnDwpkP.mjs +2 -0
- package/package.json +5 -1
- package/dist/artifact-nArLAotB.mjs +0 -1
- package/dist/authority-state-bootstrap-DnwkMieA.mjs +0 -1
- package/dist/bootstrap-start-client-Bdv-_2Q9.mjs +0 -1
- package/dist/execution-attempt-repository-DXyh1hgz.mjs +0 -1
- package/dist/model-B6t_-_sp.mjs +0 -1
- package/dist/namespace-D4zmxaC4.mjs +0 -1
- package/dist/package-DKfzsJVl.mjs +0 -7
- package/dist/schemas-FiFC_DI6.mjs +0 -1
- package/dist/workflow-worker-Db7EBUgh.mjs +0 -2
- /package/dist/{adapter-binding-BU7STlfd.d.mts → adapter-binding-DhANVB-O.d.mts} +0 -0
- /package/dist/{ajv-Dtk5hCZS.mjs → ajv-IlnfOGAj.mjs} +0 -0
- /package/dist/{attach-error-B-vXQFLQ.mjs → attach-error-DOlUtquX.mjs} +0 -0
- /package/dist/{attempt-fixtures-C-jQE_7B.mjs → attempt-fixtures-CMx-2OlG.mjs} +0 -0
- /package/dist/{base-orchestrator-DXiejwQ3.d.mts → base-orchestrator-tAgnJAKu.d.mts} +0 -0
- /package/dist/{capability-Bw4tsDQu.mjs → capability-BQHyskJB.mjs} +0 -0
- /package/dist/{client-BwFqO0cG.d.mts → client-At2zn3yg.d.mts} +0 -0
- /package/dist/{client-binary-version-verifier-DHBAzg3-.mjs → client-binary-version-verifier-DLziUQhw.mjs} +0 -0
- /package/dist/{client-binary-version-verifier-DySlUy9m.d.mts → client-binary-version-verifier-EOj8xXqm.d.mts} +0 -0
- /package/dist/{clients-namespace-Dh0SNZcQ.d.mts → clients-namespace-CVRwXq8f.d.mts} +0 -0
- /package/dist/{config-namespace-CZqPIAWt.d.mts → config-namespace-D7GbrasR.d.mts} +0 -0
- /package/dist/{create-static-mount-GSdckRQx.mjs → create-static-mount-BIH26VH8.mjs} +0 -0
- /package/dist/{cross-spawn-Bx_VEdpd.mjs → cross-spawn-Bi05YtQQ.mjs} +0 -0
- /package/dist/{cursor-storage-Co4itf44.mjs → cursor-storage-88xtgVAd.mjs} +0 -0
- /package/dist/{definition-D3HjoK-4.d.mts → definition-VK1rERAp.d.mts} +0 -0
- /package/dist/{definitions-CYZTuMdL.mjs → definitions-2T95Q-y6.mjs} +0 -0
- /package/dist/{descriptor-to-package-CZLujoiv.mjs → descriptor-to-package-GVZk9ZGT.mjs} +0 -0
- /package/dist/{drizzle-me-95ICP.mjs → drizzle-BrlzkYoe.mjs} +0 -0
- /package/dist/{esm-DILYVXmW.mjs → esm-B3t30-13.mjs} +0 -0
- /package/dist/{event-DmQPb5MB.mjs → event-DFI0F1Ws.mjs} +0 -0
- /package/dist/{extension-context-Cx8CetW3.d.mts → extension-context-Cpf_n5FH.d.mts} +0 -0
- /package/dist/{extension-discovery-CZkaPQBo.d.mts → extension-discovery-B0ZL076T.d.mts} +0 -0
- /package/dist/{extension-namespace-twXNwE4R.mjs → extension-namespace-CWfV3IiR.mjs} +0 -0
- /package/dist/{extension-package-provenance-BzvG6rDO.mjs → extension-package-provenance-Dr7JXjLS.mjs} +0 -0
- /package/dist/{facet-Cly0VpTI.mjs → facet-6tnSbjXc.mjs} +0 -0
- /package/dist/{filesystem-service-UYYyRL2y.d.mts → filesystem-service-BWoNtujU.d.mts} +0 -0
- /package/dist/{handler-BYQPNm8O.mjs → handler-CFT7_osu.mjs} +0 -0
- /package/dist/{host-CiHn8Yog.mjs → host-D7v3YlDG.mjs} +0 -0
- /package/dist/{identity-BULrIHmo.mjs → identity-CxMRRAXx.mjs} +0 -0
- /package/dist/{index-B5kqAW7h.d.mts → index-8a41yDOl.d.mts} +0 -0
- /package/dist/{index-Dmwnhnio2.d.mts → index-BBkJsViX2.d.mts} +0 -0
- /package/dist/{index-DNp9DP6W.d.mts → index-BL1F1xYB.d.mts} +0 -0
- /package/dist/{index-BCKhrNLC.d.mts → index-BTHdi23O.d.mts} +0 -0
- /package/dist/{index-BU8uFswE.d.mts → index-BcPO9w0j.d.mts} +0 -0
- /package/dist/{index-DcG3r0VL.d.mts → index-Bk0Xjk-B.d.mts} +0 -0
- /package/dist/{index-DGlSbpgS2.d.mts → index-Bn1JTbn_2.d.mts} +0 -0
- /package/dist/{index-CYUhTE552.d.mts → index-C75h1xHF2.d.mts} +0 -0
- /package/dist/{index-DB4Xggtt.d.mts → index-CDA33y5A.d.mts} +0 -0
- /package/dist/{index-B9-1l1oh.d.mts → index-CSJOBx3H.d.mts} +0 -0
- /package/dist/{index-BAL1FiaJ.d.mts → index-CVh7ZP2I.d.mts} +0 -0
- /package/dist/{index-6wmqw_ng.d.mts → index-Ccaqmi0J.d.mts} +0 -0
- /package/dist/{index-zvoiT54b.d.mts → index-CjazerMN.d.mts} +0 -0
- /package/dist/{index-C_R6ifn9.d.mts → index-DXSVC0bM.d.mts} +0 -0
- /package/dist/{index-D3_QOfke.d.mts → index-Du-eXjEN.d.mts} +0 -0
- /package/dist/{index-DbYjMWlj.d.mts → index-DwKPj8jD.d.mts} +0 -0
- /package/dist/{index-LsZNB_gb.d.mts → index-DwY1Mt9a.d.mts} +0 -0
- /package/dist/{index-C-6g2xzN.d.mts → index-DzHc6hsJ.d.mts} +0 -0
- /package/dist/{index-DQbcfjIb2.d.mts → index-krTCFThl2.d.mts} +0 -0
- /package/dist/{json-value-DyMQrwGz.d.mts → json-value-BKUDMT7k.d.mts} +0 -0
- /package/dist/{jsonl-transport-Dfv3RLzi.mjs → jsonl-transport-3yp3clGp.mjs} +0 -0
- /package/dist/{lib-BdfAJKDj.mjs → lib-DF6sgNx_.mjs} +0 -0
- /package/dist/{model-registry-B7ThN_s3.mjs → model-registry-BTjKBCCw.mjs} +0 -0
- /package/dist/{model-registry-DlUErRRt.mjs → model-registry-CAqJYbXg.mjs} +0 -0
- /package/dist/{modes-CyG4sgs_.mjs → modes-Bo9Vv5c9.mjs} +0 -0
- /package/dist/{namespace-ChjzkJIl.mjs → namespace-0TfAY2J7.mjs} +0 -0
- /package/dist/{namespace-JqvomFSV.d.mts → namespace-B1sjokHd.d.mts} +0 -0
- /package/dist/{namespace-De25c2ds.d.mts → namespace-B3MnuAqp.d.mts} +0 -0
- /package/dist/{namespace-BFlSY040.mjs → namespace-BCSJz417.mjs} +0 -0
- /package/dist/{namespace-DAbT1F_n.d.mts → namespace-BHb_9sh4.d.mts} +0 -0
- /package/dist/{namespace-BQ7eiQwr.d.mts → namespace-BNNFD-ul.d.mts} +0 -0
- /package/dist/{namespace-69c5HXtL.d.mts → namespace-BgaVgd00.d.mts} +0 -0
- /package/dist/{namespace-CBf5xG_A.d.mts → namespace-BiEV44Mk.d.mts} +0 -0
- /package/dist/{namespace-B8kUQpwo.mjs → namespace-CDoyzyV4.mjs} +0 -0
- /package/dist/{namespace-B7fMkHmy.d.mts → namespace-CjmNxtr1.d.mts} +0 -0
- /package/dist/{namespace-BoOLmi67.d.mts → namespace-Cy62a3YP.d.mts} +0 -0
- /package/dist/{namespace-CIF_1OWi.d.mts → namespace-Czr38fiF.d.mts} +0 -0
- /package/dist/{namespace-C9d0aoYT.mjs → namespace-DORNUF0_.mjs} +0 -0
- /package/dist/{namespace-QXCaZK3I.mjs → namespace-DX3QsYpv.mjs} +0 -0
- /package/dist/{namespace-ZN49zpqw.mjs → namespace-Dyxpur8_.mjs} +0 -0
- /package/dist/{namespace-CUXZS_Ia.d.mts → namespace-btfJrUf6.d.mts} +0 -0
- /package/dist/{namespace-DAW4OY3-.d.mts → namespace-fEBskugJ.d.mts} +0 -0
- /package/dist/{out-Cn6vBxlH.mjs → out-og8659Ny.mjs} +0 -0
- /package/dist/{ownership-recovery-guard-Ce9-C5Sa.mjs → ownership-recovery-guard-CYA5CsiO.mjs} +0 -0
- /package/dist/{package-D4eLGGv4.mjs → package-BecmlOXC.mjs} +0 -0
- /package/dist/{platform-C-fDsuEl.mjs → platform-BdLHWgVc.mjs} +0 -0
- /package/dist/{providers-DVlsnJaY.mjs → providers-DGTA-lki.mjs} +0 -0
- /package/dist/{providers-namespace-DcPil5uz.d.mts → providers-namespace-Bming6U8.d.mts} +0 -0
- /package/dist/{quick-lru-CVryNCTx.mjs → quick-lru-bVGGo5bq.mjs} +0 -0
- /package/dist/{registry-Q9gCZtxz.mjs → registry-Cu3eD3UY.mjs} +0 -0
- /package/dist/{runtime-inputs-CMjGjK7W.d.mts → runtime-inputs-DeOea-ab.d.mts} +0 -0
- /package/dist/{schema-DIgKUfuF.d.mts → schema-DFCBjTB7.d.mts} +0 -0
- /package/dist/{schema-introspection-CSnLZJpC.mjs → schema-introspection-BsWP1vGC.mjs} +0 -0
- /package/dist/{schema-DIHGEQx3.mjs → schema-mXXJcaQT.mjs} +0 -0
- /package/dist/{schemas-BKnJj2i-.mjs → schemas-7fHmNUQc.mjs} +0 -0
- /package/dist/{schemas-BFgsIiSb.mjs → schemas-BE-gfjGI.mjs} +0 -0
- /package/dist/{schemas-CM3Ejp-n.d.mts → schemas-BLy33xay.d.mts} +0 -0
- /package/dist/{schemas-Ge_bamoP.d.mts → schemas-BkCqhK3X.d.mts} +0 -0
- /package/dist/{schemas-NwKrrrPF.d.mts → schemas-Cz7H2f7S.d.mts} +0 -0
- /package/dist/{schemas-DYeS-mtz.d.mts → schemas-DGKWi7mk.d.mts} +0 -0
- /package/dist/{schemas-Vv0GtBaZ.d.mts → schemas-DTBWnWjN.d.mts} +0 -0
- /package/dist/{schemas-COnD70WD.d.mts → schemas-DYIVJDlx.d.mts} +0 -0
- /package/dist/{schemas-qbaSxHDL.d.mts → schemas-DqWwz4eR.d.mts} +0 -0
- /package/dist/{schemas-DTyZjKQf2.d.mts → schemas-GyKYcV-Z2.d.mts} +0 -0
- /package/dist/{schemas-CnFVygzI.mjs → schemas-HffXbw8C.mjs} +0 -0
- /package/dist/{schemas-CbhvgFQs.mjs → schemas-MIYusvwn.mjs} +0 -0
- /package/dist/{schemas-BapfTRqp.mjs → schemas-NYUz8K9Q.mjs} +0 -0
- /package/dist/{semver-D_D2mA48.mjs → semver-_h8-BJ8k.mjs} +0 -0
- /package/dist/{server-lifecycle-BPAN-b0i.d.mts → server-lifecycle-_m_x1_TC.d.mts} +0 -0
- /package/dist/{shared-schemas-kUho6Kmw.mjs → shared-schemas-CaL1iEk6.mjs} +0 -0
- /package/dist/{src-Du_285FN.mjs → src-DdaPoQOD.mjs} +0 -0
- /package/dist/{storage-namespace-Dtz2G1if.mjs → storage-namespace-DBuKMBth.mjs} +0 -0
- /package/dist/{storage-namespace-definition-BJCbqVWz.mjs → storage-namespace-definition-4UYuij1r.mjs} +0 -0
- /package/dist/{storage-namespace-definition-D6soSjKE.d.mts → storage-namespace-definition-CsaZPU3n.d.mts} +0 -0
- /package/dist/{storage-namespace-C9oFExfb.d.mts → storage-namespace-zRXWqAfO.d.mts} +0 -0
- /package/dist/{supports-color-BNmyqLq0.mjs → supports-color-DG_rcVqJ.mjs} +0 -0
- /package/dist/{telemetry-CUkZrhW6.mjs → telemetry-BLYrkonr.mjs} +0 -0
- /package/dist/{timeout-DeBYTGBR.mjs → timeout-d0dzIY3V.mjs} +0 -0
- /package/dist/{tray-menu-service-TWrmvXSo.mjs → tray-menu-service-BGwXKJYr.mjs} +0 -0
- /package/dist/{types-D9GJ7FyQ.mjs → types-Bh2fQoxM.mjs} +0 -0
- /package/dist/{types-BOsf2SVm.d.mts → types-CccTiXH2.d.mts} +0 -0
- /package/dist/{types-DZvkUmHS.d.mts → types-DXGVwrQn.d.mts} +0 -0
- /package/dist/{types-BZnJ_4e2.d.mts → types-DjxvRcX6.d.mts} +0 -0
- /package/dist/{types-CWgYlxjU.d.mts → types-nor1SQLZ.d.mts} +0 -0
- /package/dist/{ui-config-9hlZAJOS.mjs → ui-config-CsH94fwa.mjs} +0 -0
- /package/dist/{variant-73kFgYBK.mjs → variant-BZ9UcJBi.mjs} +0 -0
- /package/dist/{window-registry-Bvjvpwhn.d.mts → window-registry-DQ7udUzI.d.mts} +0 -0
- /package/dist/{window-registry-CzAwaPKL.mjs → window-registry-DQkv5wM9.mjs} +0 -0
- /package/dist/{zod-json-schema-B1mZz7S4.mjs → zod-json-schema-DGWHUOK0.mjs} +0 -0
|
@@ -40,13 +40,16 @@ type AttemptSettlementRead<TOutcome> = {
|
|
|
40
40
|
readonly kind: 'outcome';
|
|
41
41
|
readonly attempt: ExecutionAttemptRecord;
|
|
42
42
|
readonly isCurrentAttempt: boolean;
|
|
43
|
-
readonly result: DurableOutcome<TOutcome>;
|
|
43
|
+
readonly result: DurableOutcome<TOutcome>; /** Original commit-time facts, or null for a legacy outcome lacking that observation. */
|
|
44
|
+
readonly controlObservation: AttemptOutcomeControlObservation | null;
|
|
44
45
|
};
|
|
45
46
|
/** Raw facts a realization must read within one coherent store observation. */
|
|
46
47
|
interface AttemptSettlementSnapshot {
|
|
47
48
|
readonly attempt: ExecutionAttemptRecord | null;
|
|
48
49
|
readonly activeAttemptId: string | null;
|
|
49
50
|
readonly outcomeText: string | null;
|
|
51
|
+
/** Stored commit-time observation; never reconstructed from current cancellation state. */
|
|
52
|
+
readonly controlObservation: AttemptOutcomeControlObservation | null;
|
|
50
53
|
}
|
|
51
54
|
/** Required owner-recovery methods composed into every execution attempt repository. */
|
|
52
55
|
interface OwnerRequestRecoveryRepository<TOutcome> {
|
|
@@ -108,6 +111,252 @@ declare function replayEnsuredAttempt(input: EnsureExecutionAttemptInput, boundA
|
|
|
108
111
|
*/
|
|
109
112
|
declare function readAttemptSettlementSnapshot<TOutcome>(input: ReadAttemptSettlementInput, snapshot: AttemptSettlementSnapshot, codec: OutcomeCodec<TOutcome>): AttemptSettlementRead<TOutcome>;
|
|
110
113
|
//#endregion
|
|
114
|
+
//#region subsystems/workflow-engine/src/execution-attempt-cancellation.d.ts
|
|
115
|
+
/** A durable request to stop an attempt, never evidence that it stopped. */
|
|
116
|
+
interface ExecutionAttemptCancellationIntent {
|
|
117
|
+
/** Winning owner request key, scoped to this attempt and retained for replay. */
|
|
118
|
+
readonly requestKey: string;
|
|
119
|
+
/** Accepted control-request revision; delivery and runtime reports never advance it. */
|
|
120
|
+
readonly controlRevision: number;
|
|
121
|
+
/** First accepted request time, preserved across duplicate requests and controller handoff. */
|
|
122
|
+
readonly requestedAt: string;
|
|
123
|
+
/** Optional owner-supplied explanation. */
|
|
124
|
+
readonly reason?: string;
|
|
125
|
+
}
|
|
126
|
+
/** Owner-scoped cancellation of attempts that exist when the request commits. */
|
|
127
|
+
interface RequestExecutionCancellationInput {
|
|
128
|
+
/** Owner authorizing the cancellation of its existing attempts. */
|
|
129
|
+
readonly executionId: ExecutionOwnerId;
|
|
130
|
+
/** Explanation retained only when this is the first request for an attempt. */
|
|
131
|
+
readonly reason?: string;
|
|
132
|
+
}
|
|
133
|
+
/** Trusted owner authorization to stop one exact attempt, including historical cleanup. */
|
|
134
|
+
interface RequestAttemptCancellationInput extends RequestExecutionCancellationInput {
|
|
135
|
+
readonly executionAttemptId: string;
|
|
136
|
+
/** Non-empty correlation key retained by the owner across retries. */
|
|
137
|
+
readonly requestKey: string;
|
|
138
|
+
}
|
|
139
|
+
/** A winning request is durable intent, never evidence that work or its allocation stopped. */
|
|
140
|
+
type ExecutionAttemptCancellationDecision = {
|
|
141
|
+
readonly kind: 'accepted' | 'replayed';
|
|
142
|
+
readonly intent: ExecutionAttemptCancellationIntent;
|
|
143
|
+
} | {
|
|
144
|
+
readonly kind: 'not-found';
|
|
145
|
+
} | {
|
|
146
|
+
readonly kind: 'conflict';
|
|
147
|
+
};
|
|
148
|
+
/** Accepted control requests observed atomically with the first canonical outcome commit. */
|
|
149
|
+
interface AttemptOutcomeControlObservation {
|
|
150
|
+
/** Zero before Cancel; the winning request revision afterwards. */
|
|
151
|
+
readonly controlRevision: number;
|
|
152
|
+
/** A detached winning receipt, or null when no Cancel had been accepted. */
|
|
153
|
+
readonly cancellation: ExecutionAttemptCancellationIntent | null;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Snapshot an owner-wide request before asynchronous storage work.
|
|
157
|
+
* @param input - Trusted owner identity and optional explanation.
|
|
158
|
+
* @returns Validated scalar fields without caller-owned references.
|
|
159
|
+
*/
|
|
160
|
+
declare function snapshotRequestExecutionCancellationInput(input: RequestExecutionCancellationInput): RequestExecutionCancellationInput;
|
|
161
|
+
/**
|
|
162
|
+
* Snapshot exact cancellation scope and correlation before the first await.
|
|
163
|
+
* @param input - Trusted owner, exact attempt, request identity and reason.
|
|
164
|
+
* @returns Validated scalar request without normalizing identities or explanations.
|
|
165
|
+
*/
|
|
166
|
+
declare function snapshotRequestAttemptCancellationInput(input: RequestAttemptCancellationInput): RequestAttemptCancellationInput;
|
|
167
|
+
/**
|
|
168
|
+
* Decide winning-request semantics after the store has established exact owner membership.
|
|
169
|
+
* The store supplies one commit instant and owns atomic receipt/gate mutation. This helper
|
|
170
|
+
* neither checks runtime reachability nor treats a settled attempt as immune to cleanup.
|
|
171
|
+
* Losing keys are no-op requests, not accepted commands requiring a command-history log.
|
|
172
|
+
* @param stored - Coherently read winning receipt, or null before cancellation.
|
|
173
|
+
* @param input - Validated candidate key and explanation.
|
|
174
|
+
* @param requestedAt - Store-generated first-acceptance instant, ignored for replay/conflict.
|
|
175
|
+
* @returns First winner or immutable replay, or conflicting reuse of the winning key.
|
|
176
|
+
*/
|
|
177
|
+
declare function evaluateAttemptCancellation(stored: ExecutionAttemptCancellationIntent | null, input: Pick<RequestAttemptCancellationInput, 'requestKey' | 'reason'>, requestedAt: string): Exclude<ExecutionAttemptCancellationDecision, {
|
|
178
|
+
readonly kind: 'not-found';
|
|
179
|
+
}>;
|
|
180
|
+
/**
|
|
181
|
+
* Capture accepted control facts alongside a fresh canonical outcome in its transaction.
|
|
182
|
+
* An absent Cancel is known revision zero, unlike a legacy outcome's unknown observation.
|
|
183
|
+
* @param cancellation - Winning request read in the same transaction as the outcome write.
|
|
184
|
+
* @returns Detached control facts that subsequent cancellation cannot rewrite.
|
|
185
|
+
*/
|
|
186
|
+
declare function snapshotAttemptOutcomeControl(cancellation: ExecutionAttemptCancellationIntent | null): AttemptOutcomeControlObservation;
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region subsystems/workflow-engine/src/execution-attempt-decisions.d.ts
|
|
189
|
+
/** Runtime and operation expected to remain current when an outcome becomes durable. */
|
|
190
|
+
interface RuntimeOutcomeFence {
|
|
191
|
+
/** Registered runtime generation that produced the result. */
|
|
192
|
+
readonly runtimeGeneration: number;
|
|
193
|
+
/** Admitted operation, or null for a startup failure before any operation. */
|
|
194
|
+
readonly operationId: string | null;
|
|
195
|
+
}
|
|
196
|
+
/** A runtime result lost its execution slot before commit; the attempt remains available to its current runtime. */
|
|
197
|
+
declare class RuntimeOutcomeFenceMismatchError extends Error {
|
|
198
|
+
constructor();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Require a fresh runtime outcome to belong to the coherently read execution slot.
|
|
202
|
+
* Repositories call this after canonical replay/settlement decisions and repeat its
|
|
203
|
+
* predicates in the committing write. A mismatch must not settle the attempt's waiter.
|
|
204
|
+
* @param control - Current runtime and operation facts.
|
|
205
|
+
* @param fence - Expected runtime slot, absent for owner-only outcome submission.
|
|
206
|
+
* @throws RuntimeOutcomeFenceMismatchError when the originating runtime slot changed.
|
|
207
|
+
*/
|
|
208
|
+
declare function assertRuntimeOutcomeFence(control: AttemptControlState, fence: RuntimeOutcomeFence | undefined): void;
|
|
209
|
+
/** Facts read coherently by a realization before decoding runtime control state. */
|
|
210
|
+
interface AttemptReachability {
|
|
211
|
+
/** Whether the requested attempt exists and belongs to the requested owner. */
|
|
212
|
+
readonly matchesExecution: boolean;
|
|
213
|
+
/** Whether the attempt has a terminal settlement. */
|
|
214
|
+
readonly settled: boolean;
|
|
215
|
+
/** Whether this is still the owner's active attempt. */
|
|
216
|
+
readonly active: boolean;
|
|
217
|
+
/** Whether an allocation exists and is not durably terminated. */
|
|
218
|
+
readonly allocated: boolean;
|
|
219
|
+
}
|
|
220
|
+
/** Refusals shared by registration, admission, and readiness, before control decoding. */
|
|
221
|
+
type AttemptReachabilityDecision = Extract<RuntimeRegistrationDecision, {
|
|
222
|
+
readonly kind: 'not-found' | 'resolved' | 'fenced' | 'not-allocated';
|
|
223
|
+
}>;
|
|
224
|
+
/**
|
|
225
|
+
* Evaluate the common reachability precedence without reading or mutating storage.
|
|
226
|
+
* A null result only permits further evaluation; it never authorizes an unguarded write.
|
|
227
|
+
* @param facts - Coherent lifecycle, owner, and allocation facts supplied by the realization.
|
|
228
|
+
* @returns The first refusal, or null when runtime control may be decoded and evaluated.
|
|
229
|
+
*/
|
|
230
|
+
declare function evaluateAttemptReachability(facts: AttemptReachability): AttemptReachabilityDecision | null;
|
|
231
|
+
/**
|
|
232
|
+
* Evaluate process-loss applicability after evidence parsing and claim authorization.
|
|
233
|
+
* Owner, lifetime, and incarnation refusals precede a recorded allocation.
|
|
234
|
+
* A null result permits only the realization's existing guarded settlement.
|
|
235
|
+
* @param attempt - Coherently read immutable provider binding and allocation facts.
|
|
236
|
+
* @param input - Owner identity and process-loss proof whose evidence the realization already parsed.
|
|
237
|
+
* @returns The first applicability refusal, or null to attempt the guarded write.
|
|
238
|
+
*/
|
|
239
|
+
declare function evaluateProvisionerIncarnationLoss(attempt: Pick<ExecutionAttemptRecord, 'executionId' | 'allocationLifetime' | 'provisionerIncarnationId' | 'allocationRef'>, input: Pick<RecordProvisionerIncarnationLostInput, 'executionId' | 'proof'>): Extract<ProvisionerIncarnationLossDecision, {
|
|
240
|
+
readonly kind: 'not-found' | 'not-process-bound' | 'incarnation-mismatch' | 'allocated';
|
|
241
|
+
}> | null;
|
|
242
|
+
/**
|
|
243
|
+
* Evaluate registration after reachability, preserving replay before busy refusal.
|
|
244
|
+
* An orphaned runtime probe may be reclaimed; a workload operation may not.
|
|
245
|
+
* @param control - Current decoded control state, not modified by this function.
|
|
246
|
+
* @param input - Runtime registration being considered.
|
|
247
|
+
* @returns A non-write decision, or null to attempt the realization's guarded registration.
|
|
248
|
+
*/
|
|
249
|
+
declare function evaluateRuntimeRegistration(control: AttemptControlState, input: RegisterRuntimeInput): Exclude<RuntimeRegistrationDecision, {
|
|
250
|
+
readonly kind: 'registered';
|
|
251
|
+
}> | null;
|
|
252
|
+
/**
|
|
253
|
+
* Evaluate admission after reachability: replay, busy, gate, readiness, generation, then Preparation.
|
|
254
|
+
* Probe operations are admitted before readiness because they establish that proof.
|
|
255
|
+
* @param control - Current decoded control state, not modified by this function.
|
|
256
|
+
* @param input - Operation admission being considered.
|
|
257
|
+
* @param fallbackAdmittedAt - Realization-supplied instant for a duplicate missing its stored instant.
|
|
258
|
+
* @param execution - Frozen assignment and Preparation receipts read with the control state.
|
|
259
|
+
* @returns A non-write decision, or null to attempt the realization's guarded admission.
|
|
260
|
+
*/
|
|
261
|
+
declare function evaluateOperationAdmission(control: AttemptControlState, input: AdmitOperationInput, fallbackAdmittedAt: string, execution: AttemptExecutionState): Exclude<OperationAdmissionDecision, {
|
|
262
|
+
readonly kind: 'admitted';
|
|
263
|
+
}> | null;
|
|
264
|
+
/**
|
|
265
|
+
* Evaluate successful Preparation, retaining historical replay before current-runtime fences.
|
|
266
|
+
* A null decision permits only a guarded write that saves the receipt and frees the slot together.
|
|
267
|
+
* @param reachability - Coherent owner, allocation and lifecycle facts.
|
|
268
|
+
* @param control - Current operation and runtime state.
|
|
269
|
+
* @param execution - Frozen instruction and retained Preparation history.
|
|
270
|
+
* @param input - Owner-scoped successful Preparation report.
|
|
271
|
+
* @returns A historical duplicate or refusal, or null to atomically accept the result.
|
|
272
|
+
*/
|
|
273
|
+
declare function evaluatePreparationReport(reachability: AttemptReachability, control: AttemptControlState, execution: AttemptExecutionState, input: ReportOperationInput): Exclude<OperationReportDecision, {
|
|
274
|
+
readonly kind: 'accepted';
|
|
275
|
+
}> | null;
|
|
276
|
+
/**
|
|
277
|
+
* Evaluate completion after presence and settlement checks, without owner or allocation fences.
|
|
278
|
+
* A replay is recognized even after its active slot has been cleared or reused.
|
|
279
|
+
* @param control - Current decoded control state, not modified by this function.
|
|
280
|
+
* @param input - Operation completion being considered.
|
|
281
|
+
* @returns A non-write decision, or null to attempt the realization's guarded completion.
|
|
282
|
+
*/
|
|
283
|
+
declare function evaluateOperationCompletion(control: AttemptControlState, input: CompleteOperationInput): Exclude<OperationCompletionDecision, {
|
|
284
|
+
readonly kind: 'completed';
|
|
285
|
+
}> | null;
|
|
286
|
+
/**
|
|
287
|
+
* Evaluate readiness after reachability: generation fence, replay, then busy refusal.
|
|
288
|
+
* @param control - Current decoded control state, not modified by this function.
|
|
289
|
+
* @param input - Runtime readiness report being considered.
|
|
290
|
+
* @returns A non-write decision, or null to attempt the realization's guarded readiness write.
|
|
291
|
+
*/
|
|
292
|
+
declare function evaluateRuntimeReadiness(control: AttemptControlState, input: MarkRuntimeReadyInput): Exclude<RuntimeReadinessDecision, {
|
|
293
|
+
readonly kind: 'ready';
|
|
294
|
+
}> | null;
|
|
295
|
+
//#endregion
|
|
296
|
+
//#region subsystems/workflow-engine/src/execution-attempt-outcome.d.ts
|
|
297
|
+
/**
|
|
298
|
+
* Input for committing a terminal outcome to an attempt.
|
|
299
|
+
*
|
|
300
|
+
* The repository makes the durable accept/duplicate/conflict/fence decision
|
|
301
|
+
* and returns the canonical outcome for convergence. Outcome commitment
|
|
302
|
+
* carries no claim: a worker's answer never depends on who currently owns
|
|
303
|
+
* the attempt's provider operation.
|
|
304
|
+
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
305
|
+
*/
|
|
306
|
+
interface ExecutionAttemptOutcomeCommit<TOutcome> {
|
|
307
|
+
/** Authority-created attempt identifier. */
|
|
308
|
+
readonly executionAttemptId: string;
|
|
309
|
+
/** Owner identifier the attempt belongs to. */
|
|
310
|
+
readonly executionId: ExecutionOwnerId;
|
|
311
|
+
/**
|
|
312
|
+
* The rendering produced by the repository's canonicalizeOutcome method.
|
|
313
|
+
*
|
|
314
|
+
* A rendering rather than a raw outcome so the value a caller validated and
|
|
315
|
+
* the value that becomes durable are the same one: the caller renders the
|
|
316
|
+
* submission once and never reads its own object again.
|
|
317
|
+
*/
|
|
318
|
+
readonly result: DurableOutcome<TOutcome>;
|
|
319
|
+
/** Runtime correlation checked atomically for a fresh commit; owner-only paths may omit it. */
|
|
320
|
+
readonly runtimeFence?: RuntimeOutcomeFence;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Durable decision returned by the repository's commitOutcome method.
|
|
324
|
+
*
|
|
325
|
+
* - `accepted`: the outcome was committed as canonical for the first time.
|
|
326
|
+
* The stored text decoded is reported, never the caller's copy of it.
|
|
327
|
+
* - `duplicate`: a canonically equal outcome was submitted again; this is a
|
|
328
|
+
* replay. The committed outcome is reported, never the caller's copy of it.
|
|
329
|
+
* - `conflict`: the attempt already reached a different terminal state — either
|
|
330
|
+
* a different committed outcome, or a competing terminal transition that
|
|
331
|
+
* settled it without one.
|
|
332
|
+
* - `fenced`: the attempt is no longer the active attempt for this execution.
|
|
333
|
+
*
|
|
334
|
+
* Both settling kinds carry `text`: the durable text the attempt holds for
|
|
335
|
+
* this outcome. For `accepted` that is the text the commit just wrote; for
|
|
336
|
+
* `duplicate` it is the text the earlier commit wrote, which is not
|
|
337
|
+
* necessarily the retry's own rendering — canonical equality ignores member
|
|
338
|
+
* order and other differences a codec may render between identical values.
|
|
339
|
+
* A caller needing a copy nobody else has held decodes this committed text
|
|
340
|
+
* through the repository's decodeOutcome method. Decoding its own submission
|
|
341
|
+
* instead would hand out the retry's representation rather than the committed one.
|
|
342
|
+
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
343
|
+
*/
|
|
344
|
+
type ExecutionAttemptOutcomeDecision<TOutcome> = {
|
|
345
|
+
readonly kind: 'accepted';
|
|
346
|
+
readonly outcome: TOutcome;
|
|
347
|
+
readonly text: string; /** Frozen at first commit; null only for outcomes predating control observation. */
|
|
348
|
+
readonly controlObservation: AttemptOutcomeControlObservation | null;
|
|
349
|
+
} | {
|
|
350
|
+
readonly kind: 'duplicate';
|
|
351
|
+
readonly outcome: TOutcome;
|
|
352
|
+
readonly text: string; /** The original observation, never the control state at retry time. */
|
|
353
|
+
readonly controlObservation: AttemptOutcomeControlObservation | null;
|
|
354
|
+
} | {
|
|
355
|
+
readonly kind: 'conflict';
|
|
356
|
+
} | {
|
|
357
|
+
readonly kind: 'fenced';
|
|
358
|
+
};
|
|
359
|
+
//#endregion
|
|
111
360
|
//#region subsystems/workflow-engine/src/provider-operation.d.ts
|
|
112
361
|
/**
|
|
113
362
|
* Provider-operation ownership protocol.
|
|
@@ -555,94 +804,6 @@ interface ProcessBoundProvisionerLossProof {
|
|
|
555
804
|
readonly evidence: BoundedRecoveryEvidence;
|
|
556
805
|
}
|
|
557
806
|
//#endregion
|
|
558
|
-
//#region subsystems/workflow-engine/src/execution-attempt-decisions.d.ts
|
|
559
|
-
/** Facts read coherently by a realization before decoding runtime control state. */
|
|
560
|
-
interface AttemptReachability {
|
|
561
|
-
/** Whether the requested attempt exists and belongs to the requested owner. */
|
|
562
|
-
readonly matchesExecution: boolean;
|
|
563
|
-
/** Whether the attempt has a terminal settlement. */
|
|
564
|
-
readonly settled: boolean;
|
|
565
|
-
/** Whether this is still the owner's active attempt. */
|
|
566
|
-
readonly active: boolean;
|
|
567
|
-
/** Whether an allocation exists and is not durably terminated. */
|
|
568
|
-
readonly allocated: boolean;
|
|
569
|
-
}
|
|
570
|
-
/** Refusals shared by registration, admission, and readiness, before control decoding. */
|
|
571
|
-
type AttemptReachabilityDecision = Extract<RuntimeRegistrationDecision, {
|
|
572
|
-
readonly kind: 'not-found' | 'resolved' | 'fenced' | 'not-allocated';
|
|
573
|
-
}>;
|
|
574
|
-
/**
|
|
575
|
-
* Evaluate the common reachability precedence without reading or mutating storage.
|
|
576
|
-
* A null result only permits further evaluation; it never authorizes an unguarded write.
|
|
577
|
-
* @param facts - Coherent lifecycle, owner, and allocation facts supplied by the realization.
|
|
578
|
-
* @returns The first refusal, or null when runtime control may be decoded and evaluated.
|
|
579
|
-
*/
|
|
580
|
-
declare function evaluateAttemptReachability(facts: AttemptReachability): AttemptReachabilityDecision | null;
|
|
581
|
-
/**
|
|
582
|
-
* Evaluate process-loss applicability after evidence parsing and claim authorization.
|
|
583
|
-
* Owner, lifetime, and incarnation refusals precede a recorded allocation.
|
|
584
|
-
* A null result permits only the realization's existing guarded settlement.
|
|
585
|
-
* @param attempt - Coherently read immutable provider binding and allocation facts.
|
|
586
|
-
* @param input - Owner identity and process-loss proof whose evidence the realization already parsed.
|
|
587
|
-
* @returns The first applicability refusal, or null to attempt the guarded write.
|
|
588
|
-
*/
|
|
589
|
-
declare function evaluateProvisionerIncarnationLoss(attempt: Pick<ExecutionAttemptRecord, 'executionId' | 'allocationLifetime' | 'provisionerIncarnationId' | 'allocationRef'>, input: Pick<RecordProvisionerIncarnationLostInput, 'executionId' | 'proof'>): Extract<ProvisionerIncarnationLossDecision, {
|
|
590
|
-
readonly kind: 'not-found' | 'not-process-bound' | 'incarnation-mismatch' | 'allocated';
|
|
591
|
-
}> | null;
|
|
592
|
-
/**
|
|
593
|
-
* Evaluate registration after reachability, preserving replay before busy refusal.
|
|
594
|
-
* An orphaned runtime probe may be reclaimed; a workload operation may not.
|
|
595
|
-
* @param control - Current decoded control state, not modified by this function.
|
|
596
|
-
* @param input - Runtime registration being considered.
|
|
597
|
-
* @returns A non-write decision, or null to attempt the realization's guarded registration.
|
|
598
|
-
*/
|
|
599
|
-
declare function evaluateRuntimeRegistration(control: AttemptControlState, input: RegisterRuntimeInput): Exclude<RuntimeRegistrationDecision, {
|
|
600
|
-
readonly kind: 'registered';
|
|
601
|
-
}> | null;
|
|
602
|
-
/**
|
|
603
|
-
* Evaluate admission after reachability: replay, busy, gate, readiness, generation, then Preparation.
|
|
604
|
-
* Probe operations are admitted before readiness because they establish that proof.
|
|
605
|
-
* @param control - Current decoded control state, not modified by this function.
|
|
606
|
-
* @param input - Operation admission being considered.
|
|
607
|
-
* @param fallbackAdmittedAt - Realization-supplied instant for a duplicate missing its stored instant.
|
|
608
|
-
* @param execution - Frozen assignment and Preparation receipts read with the control state.
|
|
609
|
-
* @returns A non-write decision, or null to attempt the realization's guarded admission.
|
|
610
|
-
*/
|
|
611
|
-
declare function evaluateOperationAdmission(control: AttemptControlState, input: AdmitOperationInput, fallbackAdmittedAt: string, execution: AttemptExecutionState): Exclude<OperationAdmissionDecision, {
|
|
612
|
-
readonly kind: 'admitted';
|
|
613
|
-
}> | null;
|
|
614
|
-
/**
|
|
615
|
-
* Evaluate successful Preparation, retaining historical replay before current-runtime fences.
|
|
616
|
-
* A null decision permits only a guarded write that saves the receipt and frees the slot together.
|
|
617
|
-
* @param reachability - Coherent owner, allocation and lifecycle facts.
|
|
618
|
-
* @param control - Current operation and runtime state.
|
|
619
|
-
* @param execution - Frozen instruction and retained Preparation history.
|
|
620
|
-
* @param input - Owner-scoped successful Preparation report.
|
|
621
|
-
* @returns A historical duplicate or refusal, or null to atomically accept the result.
|
|
622
|
-
*/
|
|
623
|
-
declare function evaluatePreparationReport(reachability: AttemptReachability, control: AttemptControlState, execution: AttemptExecutionState, input: ReportOperationInput): Exclude<OperationReportDecision, {
|
|
624
|
-
readonly kind: 'accepted';
|
|
625
|
-
}> | null;
|
|
626
|
-
/**
|
|
627
|
-
* Evaluate completion after presence and settlement checks, without owner or allocation fences.
|
|
628
|
-
* A replay is recognized even after its active slot has been cleared or reused.
|
|
629
|
-
* @param control - Current decoded control state, not modified by this function.
|
|
630
|
-
* @param input - Operation completion being considered.
|
|
631
|
-
* @returns A non-write decision, or null to attempt the realization's guarded completion.
|
|
632
|
-
*/
|
|
633
|
-
declare function evaluateOperationCompletion(control: AttemptControlState, input: CompleteOperationInput): Exclude<OperationCompletionDecision, {
|
|
634
|
-
readonly kind: 'completed';
|
|
635
|
-
}> | null;
|
|
636
|
-
/**
|
|
637
|
-
* Evaluate readiness after reachability: generation fence, replay, then busy refusal.
|
|
638
|
-
* @param control - Current decoded control state, not modified by this function.
|
|
639
|
-
* @param input - Runtime readiness report being considered.
|
|
640
|
-
* @returns A non-write decision, or null to attempt the realization's guarded readiness write.
|
|
641
|
-
*/
|
|
642
|
-
declare function evaluateRuntimeReadiness(control: AttemptControlState, input: MarkRuntimeReadyInput): Exclude<RuntimeReadinessDecision, {
|
|
643
|
-
readonly kind: 'ready';
|
|
644
|
-
}> | null;
|
|
645
|
-
//#endregion
|
|
646
807
|
//#region subsystems/workflow-engine/src/execution-attempt-repository.d.ts
|
|
647
808
|
/**
|
|
648
809
|
* Ordered constant array of every execution attempt lifecycle status.
|
|
@@ -747,20 +908,6 @@ declare function sameAllocationRef(stored: ProviderAllocationRef, candidate: Pro
|
|
|
747
908
|
* workflow-storage lookup keys keep plain `string`.
|
|
748
909
|
*/
|
|
749
910
|
type ExecutionOwnerId = string;
|
|
750
|
-
/** A durable request to stop an attempt, never evidence that it stopped. */
|
|
751
|
-
interface ExecutionAttemptCancellationIntent {
|
|
752
|
-
/** First accepted request time, preserved across duplicate requests and controller handoff. */
|
|
753
|
-
readonly requestedAt: string;
|
|
754
|
-
/** Optional owner-supplied explanation. */
|
|
755
|
-
readonly reason?: string;
|
|
756
|
-
}
|
|
757
|
-
/** Owner-scoped cancellation of attempts that exist when the request commits. */
|
|
758
|
-
interface RequestExecutionCancellationInput {
|
|
759
|
-
/** Owner authorizing the cancellation of its existing attempts. */
|
|
760
|
-
readonly executionId: ExecutionOwnerId;
|
|
761
|
-
/** Explanation retained only when this is the first request for an attempt. */
|
|
762
|
-
readonly reason?: string;
|
|
763
|
-
}
|
|
764
911
|
/**
|
|
765
912
|
* Compare two durable outcome texts as values.
|
|
766
913
|
*
|
|
@@ -1263,52 +1410,6 @@ interface BeginProvisioningInput {
|
|
|
1263
1410
|
/** ISO-8601 deadline for the initial lease. */
|
|
1264
1411
|
readonly leaseExpiresAt: string;
|
|
1265
1412
|
}
|
|
1266
|
-
/**
|
|
1267
|
-
* Input for committing a terminal outcome to an attempt.
|
|
1268
|
-
*
|
|
1269
|
-
* The repository makes the durable accept/duplicate/conflict/fence decision
|
|
1270
|
-
* and returns the canonical outcome for convergence. Outcome commitment
|
|
1271
|
-
* carries no claim: a worker's answer never depends on who currently owns
|
|
1272
|
-
* the attempt's provider operation.
|
|
1273
|
-
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
1274
|
-
*/
|
|
1275
|
-
interface ExecutionAttemptOutcomeCommit<TOutcome> {
|
|
1276
|
-
/** Authority-created attempt identifier. */
|
|
1277
|
-
readonly executionAttemptId: string;
|
|
1278
|
-
/** Owner identifier the attempt belongs to. */
|
|
1279
|
-
readonly executionId: ExecutionOwnerId;
|
|
1280
|
-
/**
|
|
1281
|
-
* The rendering to commit, from
|
|
1282
|
-
* {@link ExecutionAttemptRepository.canonicalizeOutcome}.
|
|
1283
|
-
*
|
|
1284
|
-
* A rendering rather than a raw outcome so the value a caller validated and
|
|
1285
|
-
* the value that becomes durable are the same one: the caller renders the
|
|
1286
|
-
* submission once and never reads its own object again.
|
|
1287
|
-
*/
|
|
1288
|
-
readonly result: DurableOutcome<TOutcome>;
|
|
1289
|
-
/** Runtime correlation checked atomically for a fresh commit; owner-only paths may omit it. */
|
|
1290
|
-
readonly runtimeFence?: RuntimeOutcomeFence;
|
|
1291
|
-
}
|
|
1292
|
-
/** Runtime and operation expected to remain current when an outcome becomes durable. */
|
|
1293
|
-
interface RuntimeOutcomeFence {
|
|
1294
|
-
/** Registered runtime generation that produced the result. */
|
|
1295
|
-
readonly runtimeGeneration: number;
|
|
1296
|
-
/** Admitted operation, or null for a startup failure before any operation. */
|
|
1297
|
-
readonly operationId: string | null;
|
|
1298
|
-
}
|
|
1299
|
-
/** A runtime result lost its execution slot before commit; the attempt remains available to its current runtime. */
|
|
1300
|
-
declare class RuntimeOutcomeFenceMismatchError extends Error {
|
|
1301
|
-
constructor();
|
|
1302
|
-
}
|
|
1303
|
-
/**
|
|
1304
|
-
* Require a fresh runtime outcome to belong to the coherently read execution slot.
|
|
1305
|
-
* Repositories call this after canonical replay/settlement decisions and repeat its
|
|
1306
|
-
* predicates in the committing write. A mismatch must not settle the attempt's waiter.
|
|
1307
|
-
* @param control - Current runtime and operation facts.
|
|
1308
|
-
* @param fence - Expected runtime slot, absent for owner-only outcome submission.
|
|
1309
|
-
* @throws RuntimeOutcomeFenceMismatchError when the originating runtime slot changed.
|
|
1310
|
-
*/
|
|
1311
|
-
declare function assertRuntimeOutcomeFence(control: AttemptControlState, fence: RuntimeOutcomeFence | undefined): void;
|
|
1312
1413
|
/** Input for recording an allocation reference against a held operation. */
|
|
1313
1414
|
interface RecordAllocationInput {
|
|
1314
1415
|
/** Claim authorizing the record. */
|
|
@@ -1645,44 +1746,6 @@ type PendingAttemptAbandonmentDecision = {
|
|
|
1645
1746
|
} | {
|
|
1646
1747
|
readonly kind: 'fenced';
|
|
1647
1748
|
};
|
|
1648
|
-
/**
|
|
1649
|
-
* Durable outcome decision returned by {@link ExecutionAttemptRepository.commitOutcome}.
|
|
1650
|
-
*
|
|
1651
|
-
* - `accepted`: the outcome was committed as canonical for the first time.
|
|
1652
|
-
* The stored text decoded is reported, never the caller's copy of it.
|
|
1653
|
-
* - `duplicate`: an outcome whose durable text {@link sameDurableOutcome}
|
|
1654
|
-
* judges identical to the committed one was submitted again; this is a
|
|
1655
|
-
* replay. The committed outcome is reported, never the caller's copy of it.
|
|
1656
|
-
* - `conflict`: the attempt already reached a different terminal state — either
|
|
1657
|
-
* a different committed outcome, or a competing terminal transition that
|
|
1658
|
-
* settled it without one.
|
|
1659
|
-
* - `fenced`: the attempt is no longer the active attempt for this execution.
|
|
1660
|
-
*
|
|
1661
|
-
* Both settling kinds carry `text`: the durable text the attempt holds for
|
|
1662
|
-
* this outcome. For `accepted` that is the text the commit just wrote; for
|
|
1663
|
-
* `duplicate` it is the text the earlier commit wrote, which is not
|
|
1664
|
-
* necessarily the retry's own rendering — {@link sameDurableOutcome} judges
|
|
1665
|
-
* two texts the same outcome while member order, and anything else a codec
|
|
1666
|
-
* may render differently, still differs between them. A caller that needs a
|
|
1667
|
-
* copy of the committed outcome nobody else has held decodes this text
|
|
1668
|
-
* through {@link ExecutionAttemptRepository.decodeOutcome}; decoding its own
|
|
1669
|
-
* submission's text instead would hand out the retry's representation rather
|
|
1670
|
-
* than the committed one.
|
|
1671
|
-
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
1672
|
-
*/
|
|
1673
|
-
type ExecutionAttemptOutcomeDecision<TOutcome> = {
|
|
1674
|
-
readonly kind: 'accepted';
|
|
1675
|
-
readonly outcome: TOutcome;
|
|
1676
|
-
readonly text: string;
|
|
1677
|
-
} | {
|
|
1678
|
-
readonly kind: 'duplicate';
|
|
1679
|
-
readonly outcome: TOutcome;
|
|
1680
|
-
readonly text: string;
|
|
1681
|
-
} | {
|
|
1682
|
-
readonly kind: 'conflict';
|
|
1683
|
-
} | {
|
|
1684
|
-
readonly kind: 'fenced';
|
|
1685
|
-
};
|
|
1686
1749
|
/**
|
|
1687
1750
|
* Durable decision for registering a runtime incarnation as an attempt's
|
|
1688
1751
|
* endpoint.
|
|
@@ -2034,12 +2097,26 @@ type RuntimeReadinessDecision = {
|
|
|
2034
2097
|
* @typeParam TOutcome - Owner-specific outcome type committed per attempt.
|
|
2035
2098
|
*/
|
|
2036
2099
|
interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepository<TOutcome> {
|
|
2100
|
+
/**
|
|
2101
|
+
* Atomically accept an owner's exact-attempt Cancel and close its operation start gate.
|
|
2102
|
+
* Pending and historical attempts remain eligible for monotone cleanup; this grants no
|
|
2103
|
+
* authority to reopen them, rewrite their outcomes or settle their owner. No runtime
|
|
2104
|
+
* registration, allocation or provider claim is required. Owner mismatch is not-found.
|
|
2105
|
+
* The first request establishes revision one, time and reason. Reusing its key with a
|
|
2106
|
+
* different reason conflicts; every other request replays the original winner. Losing
|
|
2107
|
+
* keys are not accepted commands and are not recorded in a separate request history.
|
|
2108
|
+
* @param input - Trusted owner, exact attempt, stable request key and optional reason.
|
|
2109
|
+
* @returns Detached winning receipt or a refusal without mutation.
|
|
2110
|
+
*/
|
|
2111
|
+
requestAttemptCancellation(input: RequestAttemptCancellationInput): Promise<ExecutionAttemptCancellationDecision>;
|
|
2037
2112
|
/**
|
|
2038
2113
|
* Persist first-wins cancellation intent and close operation start gates atomically
|
|
2039
2114
|
* for every existing attempt of this owner, including historical allocations.
|
|
2040
2115
|
* This does not settle an attempt or confirm provider termination. The owner must
|
|
2041
2116
|
* prevent later attempts after cancellation; this port does not install a permanent
|
|
2042
|
-
* owner-wide creation fence.
|
|
2117
|
+
* owner-wide creation fence. One opaque request key is generated per fanout call;
|
|
2118
|
+
* each target uses the exact-attempt cancellation decision inside the same transaction.
|
|
2119
|
+
* Repeated requests preserve the first key, revision, time and reason.
|
|
2043
2120
|
* @param input - Owner identity and optional explanation, snapshotted before awaiting.
|
|
2044
2121
|
*/
|
|
2045
2122
|
requestCancellation(input: RequestExecutionCancellationInput): Promise<void>;
|
|
@@ -2479,6 +2556,13 @@ interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepos
|
|
|
2479
2556
|
* `result.text` for `accepted`, and the stored text for `duplicate` — the
|
|
2480
2557
|
* record's own, not the submission's, because the two are the same outcome
|
|
2481
2558
|
* without being the same text.
|
|
2559
|
+
*
|
|
2560
|
+
* The first accepted commit stores its control observation in the same transaction:
|
|
2561
|
+
* revision zero with no cancellation, or the winning cancellation receipt and revision.
|
|
2562
|
+
* This side field never changes the opaque outcome. Duplicate decisions return that
|
|
2563
|
+
* original observation even after a later cleanup Cancel; they do not reread current
|
|
2564
|
+
* cancellation to reinterpret history. Null means an outcome committed before this
|
|
2565
|
+
* observation existed, never a claim that no cancellation had been accepted.
|
|
2482
2566
|
* @param input - Attempt identity and the rendering to commit.
|
|
2483
2567
|
* @returns The durable decision with the canonical outcome when applicable.
|
|
2484
2568
|
*/
|
|
@@ -2603,4 +2687,4 @@ interface ExecutionAttemptRecoveryOperations {
|
|
|
2603
2687
|
listOpenProviderOperations(input: ListOpenProviderOperationsInput): Promise<readonly OpenProviderOperationRecord[]>;
|
|
2604
2688
|
}
|
|
2605
2689
|
//#endregion
|
|
2606
|
-
export {
|
|
2690
|
+
export { InitialProviderOperationClaimContextSource as $, OperationReportDecision as A, evaluateRuntimeReadiness as At, RecordProvisioningAbsentInput as B, snapshotRequestExecutionCancellationInput as Bt, ExecutionAttemptStatus as C, RuntimeOutcomeFenceMismatchError as Ct, MarkRuntimeReadyInput as D, evaluateOperationCompletion as Dt, InfrastructureFailureDecision as E, evaluateOperationAdmission as Et, ReadBootstrapStartStateInput as F, RequestAttemptCancellationInput as Ft, RuntimeRegistrationDecision as G, EnsureExecutionAttemptPersistenceInput as Gt, RegisterRuntimeInput as H, AttemptSettlementSnapshot as Ht, RecordAllocationInput as I, RequestExecutionCancellationInput as It, sameAllocationRef as J, replayEnsuredAttempt as Jt, decodeDurableOutcome as K, ReadAttemptSettlementInput as Kt, RecordAllocationTerminatedInput as L, evaluateAttemptCancellation as Lt, PendingAttemptAbandonmentDecision as M, AttemptOutcomeControlObservation as Mt, PreparationReceipt as N, ExecutionAttemptCancellationDecision as Nt, OperationAdmissionDecision as O, evaluatePreparationReport as Ot, ProvisioningClaimDecision as P, ExecutionAttemptCancellationIntent as Pt, InitialProviderOperationClaimContext as Q, RecordInfrastructureFailureInput as R, snapshotAttemptOutcomeControl as Rt, ExecutionAttemptSettlementKind as S, RuntimeOutcomeFence as St, GetInstructionInput as T, evaluateAttemptReachability as Tt, ReportOperationInput as U, EnsureExecutionAttemptDecision as Ut, RecoverableAttemptRecord as V, AttemptSettlementRead as Vt, RuntimeReadinessDecision as W, EnsureExecutionAttemptInput as Wt, CompleteProviderOperationInput as X, snapshotEnsureExecutionAttemptPersistenceInput as Xt, sameDurableOutcome as Y, snapshotEnsureExecutionAttemptInput as Yt, HandoffProviderOperationInput as Z, snapshotReadAttemptSettlementInput as Zt, EXECUTION_ATTEMPT_STATUSES as _, isProviderOperationResolved as _t, AllocationRefEvolutionDecision as a, ProviderOperationClaimDecision as at, ExecutionAttemptRecoveryOperations as b, AttemptReachability as bt, AttemptExecutionState as c, ProviderOperationLeaseRenewal as ct, BootstrapStartState as d, ProviderOperationOwnershipRecord as dt, ListOpenProviderOperationsInput as et, CompleteOperationInput as f, ProvisionerIncarnationLossDecision as ft, EXECUTION_ATTEMPT_SETTLEMENT_KINDS as g, TakeOverProviderOperationInput as gt, DurableOutcome as h, RenewProviderOperationClaimInput as ht, AllocationRefEvolution as i, ProviderOperationClaim as it, OutcomeCodec as j, evaluateRuntimeRegistration as jt, OperationCompletionDecision as k, evaluateProvisionerIncarnationLoss as kt, AttemptOperationStartGate as l, ProviderOperationMutationDecision as lt, DuplicateExecutionAttemptError as m, RecordProviderOperationUncertaintyInput as mt, AdmitOperationInput as n, PROVIDER_OPERATION_OBLIGATIONS as nt, AllocationTerminationDecision as o, ProviderOperationCompletionDecision as ot, DiscoveredAllocationDecision as p, ProvisioningAbsenceDecision as pt, durableOutcome as q, readAttemptSettlementSnapshot as qt, AllocationRecordingDecision as r, ProcessBoundProvisionerLossProof as rt, AttemptControlState as s, ProviderOperationLeasePolicy as st, ATTEMPT_OPERATION_START_GATES as t, OpenProviderOperationRecord as tt, BeginProvisioningInput as u, ProviderOperationObligation as ut, ExecutionAttemptCreate as v, ExecutionAttemptOutcomeCommit as vt, ExecutionOwnerId as w, assertRuntimeOutcomeFence as wt, ExecutionAttemptRepository as x, AttemptReachabilityDecision as xt, ExecutionAttemptRecord as y, ExecutionAttemptOutcomeDecision as yt, RecordProvisionerIncarnationLostInput as z, snapshotRequestAttemptCancellationInput as zt };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{canonicalStringify as e}from"@makaio/framework/utils";var t=class extends Error{constructor(){super(`Runtime outcome no longer matches the current generation and operation`),this.name=`RuntimeOutcomeFenceMismatchError`}};function n(e,n){if(n!==void 0&&(e.runtimeGeneration!==n.runtimeGeneration||e.activeOperationId!==n.operationId||n.operationId!==null&&e.activeOperationGeneration!==n.runtimeGeneration))throw new t}function r(e){return e.matchesExecution?e.settled?{kind:`resolved`}:e.active?e.allocated?null:{kind:`not-allocated`}:{kind:`fenced`}:{kind:`not-found`}}function i(e,t){return e.executionId===t.executionId?e.allocationLifetime===`provisioner-process-bound`?e.provisionerIncarnationId===null||e.provisionerIncarnationId!==t.proof.provisionerIncarnationId?{kind:`incarnation-mismatch`,provisionerIncarnationId:e.provisionerIncarnationId}:e.allocationRef===null?null:{kind:`allocated`,allocationRef:e.allocationRef}:{kind:`not-process-bound`,allocationLifetime:e.allocationLifetime}:{kind:`not-found`}}function a(e,t){return e.runtimeIncarnationId===t.runtimeIncarnationId?{kind:`duplicate`,runtimeGeneration:e.runtimeGeneration,runtimeReadyAt:e.runtimeReadyAt}:e.activeOperationId!==null&&e.activeOperationKind!==`runtime-probe`?{kind:`operation-active`,operationId:e.activeOperationId}:null}function o(e,t,n,r){if(e.activeOperationId!==null)return e.activeOperationKey===t.admissionKey?{kind:`duplicate`,operationId:e.activeOperationId,runtimeGeneration:e.activeOperationGeneration??e.runtimeGeneration,admittedAt:e.activeOperationAdmittedAt??n}:{kind:`operation-active`,operationId:e.activeOperationId};if(e.operationStartGate===`closed`)return{kind:`gate-closed`};if(t.operationKind!==`runtime-probe`&&e.runtimeReadyAt===null)return{kind:`not-ready`};if(e.runtimeGeneration!==t.runtimeGeneration)return{kind:`stale-generation`,runtimeGeneration:e.runtimeGeneration};let i=r.instruction.workspace!==void 0,a=r.preparationReceipts.some(t=>t.runtimeGeneration===e.runtimeGeneration);if(t.operationKind===`workspace-preparation`){if(!i)return{kind:`preparation-not-required`};if(a)return{kind:`preparation-already-completed`}}return(t.operationKind===`workload-invocation`||t.operationKind===`workflow-run`)&&i&&!a?{kind:`preparation-required`}:null}function s(t,n,i,a){if(!t.matchesExecution)return{kind:`not-found`};let o=i.preparationReceipts.find(e=>e.operationId===a.operationId);if(o!==void 0)return o.runtimeGeneration===a.runtimeGeneration&&e(o.result)===e(a.result)?{kind:`duplicate`,binding:o.result.binding}:{kind:`conflict`};let s=r(t);if(s!==null)return s;if(n.runtimeGeneration!==a.runtimeGeneration)return{kind:`stale-generation`};if(n.activeOperationId===null)return{kind:`no-active-operation`};if(n.activeOperationId!==a.operationId||n.activeOperationKind!==`workspace-preparation`)return{kind:`operation-mismatch`};if(n.activeOperationGeneration!==a.runtimeGeneration)return{kind:`stale-generation`};let c=i.instruction.workspace;if(c===void 0)return{kind:`preparation-not-required`};let l=c.sourceRoots.map(e=>e.id).sort(),u=a.result.binding.sourceRoots.map(e=>e.id).sort();return e(l)===e(u)?null:{kind:`binding-mismatch`}}function c(e,t){return e.lastCompletedOperationId===t.operationId?{kind:`duplicate`}:e.activeOperationId===null?{kind:`not-active`}:e.activeOperationId===t.operationId?e.activeOperationGeneration===t.runtimeGeneration?e.activeOperationKind===`workspace-preparation`||e.activeOperationKind===`workload-invocation`?{kind:`result-required`}:null:{kind:`stale-generation`}:{kind:`mismatch`,activeOperationId:e.activeOperationId}}function l(e,t){return e.runtimeGeneration===t.runtimeGeneration?e.runtimeReadyAt===null?e.activeOperationId===null?null:{kind:`operation-active`,operationId:e.activeOperationId}:{kind:`duplicate`,acceptedAt:e.runtimeReadyAt}:{kind:`stale-generation`}}function u(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`)}function d(e){let{executionId:t,reason:n}=e;if(u(t,`executionId`),n!==void 0&&typeof n!=`string`)throw TypeError(`reason must be a string when provided`);return{executionId:t,...n===void 0?{}:{reason:n}}}function f(e){let{executionAttemptId:t,requestKey:n}=e;return u(t,`executionAttemptId`),u(n,`requestKey`),{...d(e),executionAttemptId:t,requestKey:n}}function p(e,t,n){return e===null?{kind:`accepted`,intent:{requestKey:t.requestKey,controlRevision:1,requestedAt:n,...t.reason===void 0?{}:{reason:t.reason}}}:e.requestKey===t.requestKey&&e.reason!==t.reason?{kind:`conflict`}:{kind:`replayed`,intent:{...e}}}function m(e){return{controlRevision:e?.controlRevision??0,cancellation:e===null?null:{...e}}}const h=[`pending`,`provisioning`,`allocated`,`settled`],g=[`outcome`,`abandoned`,`infrastructure-failure`],_=[`open`,`closed`];function v(t,n){return e(t)===e(n)}function y(t,n){return e(JSON.parse(t))===e(JSON.parse(n))}function b(e,t){let n=e.serialize(e.parse(t));return{text:n,outcome:x(e,n)}}function x(e,t){return e.parse(JSON.parse(t))}var S=class extends Error{executionAttemptId;constructor(e,t){super(`Execution attempt '${e}' already exists`,t),this.name=`DuplicateExecutionAttemptError`,this.executionAttemptId=e}};export{c as _,x as a,l as b,y as c,f as d,d as f,o as g,r as h,h as i,p as l,n as m,S as n,b as o,t as p,g as r,v as s,_ as t,m as u,s as v,a as x,i as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-
|
|
1
|
+
import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-NYUz8K9Q.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};
|