@graphrefly/ts 0.0.1 → 0.0.3
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/README.md +197 -117
- package/dist/actions-types-CH-XCU9O.d.cts +657 -0
- package/dist/actions-types-w2iPQTkv.d.ts +657 -0
- package/dist/adapters/index.cjs +5157 -2951
- package/dist/adapters/index.cjs.map +1 -1
- package/dist/adapters/index.d.cts +207 -70
- package/dist/adapters/index.d.ts +207 -70
- package/dist/adapters/index.js +3738 -1688
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/nestjs/microservices.cjs +841 -0
- package/dist/adapters/nestjs/microservices.cjs.map +1 -0
- package/dist/adapters/nestjs/microservices.d.cts +45 -0
- package/dist/adapters/nestjs/microservices.d.ts +45 -0
- package/dist/adapters/nestjs/microservices.js +206 -0
- package/dist/adapters/nestjs/microservices.js.map +1 -0
- package/dist/adapters/nestjs/native.cjs +1391 -0
- package/dist/adapters/nestjs/native.cjs.map +1 -0
- package/dist/adapters/nestjs/native.d.cts +111 -0
- package/dist/adapters/nestjs/native.d.ts +111 -0
- package/dist/adapters/nestjs/native.js +577 -0
- package/dist/adapters/nestjs/native.js.map +1 -0
- package/dist/adapters/nestjs/websockets.cjs +924 -0
- package/dist/adapters/nestjs/websockets.cjs.map +1 -0
- package/dist/adapters/nestjs/websockets.d.cts +47 -0
- package/dist/adapters/nestjs/websockets.d.ts +47 -0
- package/dist/adapters/nestjs/websockets.js +286 -0
- package/dist/adapters/nestjs/websockets.js.map +1 -0
- package/dist/adapters/nestjs.cjs +1085 -0
- package/dist/adapters/nestjs.cjs.map +1 -0
- package/dist/adapters/nestjs.d.cts +385 -0
- package/dist/adapters/nestjs.d.ts +385 -0
- package/dist/adapters/nestjs.js +112 -0
- package/dist/adapters/nestjs.js.map +1 -0
- package/dist/adapters/observe-storage.d.cts +3 -3
- package/dist/adapters/observe-storage.d.ts +3 -3
- package/dist/adapters/observe-storage.js +4 -4
- package/dist/adapters/react.cjs.map +1 -1
- package/dist/adapters/react.d.cts +2 -2
- package/dist/adapters/react.d.ts +2 -2
- package/dist/adapters/react.js +1 -1
- package/dist/adapters/solid.cjs.map +1 -1
- package/dist/adapters/solid.d.cts +2 -2
- package/dist/adapters/solid.d.ts +2 -2
- package/dist/adapters/solid.js +1 -1
- package/dist/adapters/svelte.cjs.map +1 -1
- package/dist/adapters/svelte.d.cts +2 -2
- package/dist/adapters/svelte.d.ts +2 -2
- package/dist/adapters/svelte.js +1 -1
- package/dist/adapters/vue.cjs.map +1 -1
- package/dist/adapters/vue.d.cts +2 -2
- package/dist/adapters/vue.d.ts +2 -2
- package/dist/adapters/vue.js +1 -1
- package/dist/{agent-runtime-BesGDZcB.d.ts → agent-runtime-types-core-CKwrBDyi.d.ts} +171 -320
- package/dist/{agent-runtime-DZTJ3C-p.d.cts → agent-runtime-types-core-bfl4m0vM.d.cts} +171 -320
- package/dist/agent-runtime-types-tool-BLPV3azj.d.cts +695 -0
- package/dist/agent-runtime-types-tool-hwqvVqNt.d.ts +695 -0
- package/dist/agentic-memory-retention-CLwI76JK.d.ts +14 -0
- package/dist/agentic-memory-retention-Cz8GR6ie.d.cts +14 -0
- package/dist/{agentic-memory-DfuVZ-lY.d.cts → agentic-memory-types-JDr7MPhh.d.cts} +13 -57
- package/dist/{agentic-memory-BmRCvh0d.d.ts → agentic-memory-types-khYJgzKL.d.ts} +13 -57
- package/dist/{capability-admission-B0BzqAm5.d.cts → capability-admission-B8RNFyaZ.d.cts} +3 -3
- package/dist/{capability-admission-g0mn9hpq.d.ts → capability-admission-Dkw1Xz3r.d.ts} +3 -3
- package/dist/chunk-2KUAG2GZ.js +9693 -0
- package/dist/chunk-2KUAG2GZ.js.map +1 -0
- package/dist/{chunk-CZNV3VXM.js → chunk-3J7UPZL5.js} +11 -11
- package/dist/{chunk-HKK2JD7Z.js → chunk-3LYI6ADX.js} +12 -125
- package/dist/chunk-3LYI6ADX.js.map +1 -0
- package/dist/{chunk-YXMZ2N6J.js → chunk-4M37FH2I.js} +1071 -1025
- package/dist/chunk-4M37FH2I.js.map +1 -0
- package/dist/{chunk-YDSIVHRR.js → chunk-4NWSNI4K.js} +1598 -1584
- package/dist/chunk-4NWSNI4K.js.map +1 -0
- package/dist/{chunk-Z2ANQ6JW.js → chunk-4Q77MMJY.js} +2 -2
- package/dist/{chunk-SS2A464I.js → chunk-54WPEODM.js} +3 -3
- package/dist/chunk-54WPEODM.js.map +1 -0
- package/dist/chunk-6E76H4OU.js +132 -0
- package/dist/chunk-6E76H4OU.js.map +1 -0
- package/dist/chunk-7GOTIIQ7.js +819 -0
- package/dist/chunk-7GOTIIQ7.js.map +1 -0
- package/dist/{chunk-V7CIJE4B.js → chunk-DKFWDTVY.js} +92 -9
- package/dist/chunk-DKFWDTVY.js.map +1 -0
- package/dist/{chunk-FBUU43PM.js → chunk-E4QCH32M.js} +448 -446
- package/dist/chunk-E4QCH32M.js.map +1 -0
- package/dist/{chunk-XKXWK2KP.js → chunk-GXU6WFEJ.js} +1157 -1021
- package/dist/chunk-GXU6WFEJ.js.map +1 -0
- package/dist/{chunk-K3FXTC3I.js → chunk-HJACH5PU.js} +3 -3
- package/dist/{chunk-GTPCOEOZ.js → chunk-IDMLXLLG.js} +3 -3
- package/dist/{chunk-DKP56CSW.js → chunk-JKAYLDQV.js} +2 -2
- package/dist/{chunk-4VLAQHZI.js → chunk-K7FB3JTD.js} +17 -1
- package/dist/chunk-K7FB3JTD.js.map +1 -0
- package/dist/{chunk-43BKLFZU.js → chunk-KFURM6FM.js} +10 -10
- package/dist/{chunk-H75VXTGT.js → chunk-L6LDXRWE.js} +3 -3
- package/dist/{chunk-H75VXTGT.js.map → chunk-L6LDXRWE.js.map} +1 -1
- package/dist/chunk-MCOFHMUU.js +4131 -0
- package/dist/chunk-MCOFHMUU.js.map +1 -0
- package/dist/chunk-MQEQMS7B.js +1009 -0
- package/dist/chunk-MQEQMS7B.js.map +1 -0
- package/dist/chunk-MTELVIYR.js +1421 -0
- package/dist/chunk-MTELVIYR.js.map +1 -0
- package/dist/{chunk-3JR3EDB2.js → chunk-NNDIFUKX.js} +121 -115
- package/dist/chunk-NNDIFUKX.js.map +1 -0
- package/dist/{chunk-2747WN4Y.js → chunk-PUSRRALM.js} +3 -3
- package/dist/{chunk-QFY4AFY4.js → chunk-PVC7WDKI.js} +58 -52
- package/dist/chunk-PVC7WDKI.js.map +1 -0
- package/dist/{chunk-VTHLCFN4.js → chunk-RAHNUYA5.js} +2 -2
- package/dist/chunk-TQPCAIQI.js +612 -0
- package/dist/chunk-TQPCAIQI.js.map +1 -0
- package/dist/{chunk-IXZBUWSP.js → chunk-UEMN5URK.js} +2 -2
- package/dist/chunk-WOS7RJYZ.js +1320 -0
- package/dist/chunk-WOS7RJYZ.js.map +1 -0
- package/dist/{chunk-6PHB5CJS.js → chunk-ZLFRB6FI.js} +2 -2
- package/dist/composition/index.cjs +1228 -1076
- package/dist/composition/index.cjs.map +1 -1
- package/dist/composition/index.d.cts +3 -3
- package/dist/composition/index.d.ts +3 -3
- package/dist/composition/index.js +4 -4
- package/dist/core/index.cjs +1198 -1046
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +23 -2
- package/dist/core/index.d.ts +23 -2
- package/dist/core/index.js +2 -2
- package/dist/cqrs/index.d.cts +3 -3
- package/dist/cqrs/index.d.ts +3 -3
- package/dist/cqrs/messaging.d.cts +4 -4
- package/dist/cqrs/messaging.d.ts +4 -4
- package/dist/cqrs/work-queue.d.cts +5 -5
- package/dist/cqrs/work-queue.d.ts +5 -5
- package/dist/data-structures/index.cjs +1226 -1074
- package/dist/data-structures/index.cjs.map +1 -1
- package/dist/data-structures/index.d.cts +8 -7
- package/dist/data-structures/index.d.ts +8 -7
- package/dist/data-structures/index.js +6 -5
- package/dist/{describe-DYMw_l1C.d.cts → describe-BumQ-3_0.d.cts} +1 -1
- package/dist/{describe-BpyJuWkw.d.ts → describe-cYr_Z5zm.d.ts} +1 -1
- package/dist/executors/tool-provider-adapters.cjs +3091 -0
- package/dist/executors/tool-provider-adapters.cjs.map +1 -0
- package/dist/executors/tool-provider-adapters.d.cts +174 -0
- package/dist/executors/tool-provider-adapters.d.ts +174 -0
- package/dist/executors/tool-provider-adapters.js +1336 -0
- package/dist/executors/tool-provider-adapters.js.map +1 -0
- package/dist/executors/tool-provider-runtime.cjs +5178 -0
- package/dist/executors/tool-provider-runtime.cjs.map +1 -0
- package/dist/executors/tool-provider-runtime.d.cts +17 -0
- package/dist/executors/tool-provider-runtime.d.ts +17 -0
- package/dist/executors/tool-provider-runtime.js +15 -0
- package/dist/executors/tool-provider-runtime.js.map +1 -0
- package/dist/executors/tool-provider.cjs +6392 -0
- package/dist/executors/tool-provider.cjs.map +1 -0
- package/dist/executors/tool-provider.d.cts +60 -0
- package/dist/executors/tool-provider.d.ts +60 -0
- package/dist/executors/tool-provider.js +89 -0
- package/dist/executors/tool-provider.js.map +1 -0
- package/dist/executors/work-queue.d.cts +6 -6
- package/dist/executors/work-queue.d.ts +6 -6
- package/dist/graph/index.cjs +1499 -1341
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +9 -8
- package/dist/graph/index.d.ts +9 -8
- package/dist/graph/index.js +23 -22
- package/dist/{graph-DCEWh4T2.d.cts → graph-C1C-wb0L.d.cts} +266 -137
- package/dist/{graph-D-1-SQeC.d.ts → graph-CS0b4V9B.d.ts} +266 -137
- package/dist/{index-72VZC0-E.d.cts → index-DLrNopda.d.cts} +151 -10
- package/dist/{index-Bmxeu0nK.d.ts → index-DzJni3_6.d.ts} +151 -10
- package/dist/index.cjs +3397 -3140
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -9
- package/dist/index.d.ts +12 -9
- package/dist/index.js +110 -109
- package/dist/inspection/boundary.d.cts +4 -4
- package/dist/inspection/boundary.d.ts +4 -4
- package/dist/measurements-BWAnochv.d.ts +294 -0
- package/dist/measurements-B_gJfD8h.d.cts +294 -0
- package/dist/messaging/index.cjs +57 -51
- package/dist/messaging/index.cjs.map +1 -1
- package/dist/messaging/index.d.cts +11 -276
- package/dist/messaging/index.d.ts +11 -276
- package/dist/messaging/index.js +1 -1
- package/dist/operators/index.cjs +1228 -1076
- package/dist/operators/index.cjs.map +1 -1
- package/dist/operators/index.d.cts +5 -5
- package/dist/operators/index.d.ts +5 -5
- package/dist/operators/index.js +5 -5
- package/dist/orchestration/index.cjs +8844 -6071
- package/dist/orchestration/index.cjs.map +1 -1
- package/dist/orchestration/index.d.cts +171 -224
- package/dist/orchestration/index.d.ts +171 -224
- package/dist/orchestration/index.js +42 -991
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/messaging.d.cts +5 -8
- package/dist/orchestration/messaging.d.ts +5 -8
- package/dist/orchestration/work-queue.cjs +1243 -5
- package/dist/orchestration/work-queue.cjs.map +1 -1
- package/dist/orchestration/work-queue.d.cts +121 -10
- package/dist/orchestration/work-queue.d.ts +121 -10
- package/dist/orchestration/work-queue.js +1067 -4
- package/dist/orchestration/work-queue.js.map +1 -1
- package/dist/patterns/event-flow.cjs +6 -20
- package/dist/patterns/event-flow.cjs.map +1 -1
- package/dist/patterns/event-flow.d.cts +4 -4
- package/dist/patterns/event-flow.d.ts +4 -4
- package/dist/patterns/event-flow.js +2 -2
- package/dist/patterns/index.cjs +453 -465
- package/dist/patterns/index.cjs.map +1 -1
- package/dist/patterns/index.d.cts +6 -5
- package/dist/patterns/index.d.ts +6 -5
- package/dist/patterns/index.js +3 -3
- package/dist/process-types-BB7oRhX3.d.cts +200 -0
- package/dist/process-types-QNhyoYJ8.d.ts +200 -0
- package/dist/{reactive-collection-DNV0-gFi.d.cts → reactive-collection-BYlWvtnp.d.cts} +4 -34
- package/dist/{reactive-collection-BAmfrGjd.d.ts → reactive-collection-efOEdGFN.d.ts} +4 -34
- package/dist/{reactive-collection-storage-BNEldDyi.d.cts → reactive-collection-storage-BjoLsoiC.d.cts} +5 -5
- package/dist/{reactive-collection-storage-YZsAQsWK.d.ts → reactive-collection-storage-DwW6UuK_.d.ts} +5 -5
- package/dist/{reactive-map-DRD1LJ2H.d.cts → reactive-map-BHacbIqz.d.cts} +7 -2
- package/dist/{reactive-map-EsDiCmJk.d.ts → reactive-map-DN4Jyqnf.d.ts} +7 -2
- package/dist/render/index.d.cts +2 -2
- package/dist/render/index.d.ts +2 -2
- package/dist/scheduled-readiness-BmqXxnzX.d.ts +91 -0
- package/dist/scheduled-readiness-CYSw7KDE.d.cts +91 -0
- package/dist/semantic-memory-graph-B_LwbM-E.d.cts +30 -0
- package/dist/semantic-memory-graph-rsFNNhwn.d.ts +30 -0
- package/dist/{semantic-memory-graph-DKuNzuWw.d.cts → semantic-memory-graph-types-Y73bbwVI.d.cts} +2 -28
- package/dist/{semantic-memory-graph-uwbwJdhe.d.ts → semantic-memory-graph-types-safmPkuX.d.ts} +2 -28
- package/dist/solutions/index.cjs +6353 -6169
- package/dist/solutions/index.cjs.map +1 -1
- package/dist/solutions/index.d.cts +12 -10
- package/dist/solutions/index.d.ts +12 -10
- package/dist/solutions/index.js +5 -5
- package/dist/solutions/reactive-layout/browser/index.cjs +116 -108
- package/dist/solutions/reactive-layout/browser/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/browser/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/browser/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/browser/index.js +3 -3
- package/dist/solutions/reactive-layout/index.cjs +3578 -3350
- package/dist/solutions/reactive-layout/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/index.d.cts +32 -576
- package/dist/solutions/reactive-layout/index.d.ts +32 -576
- package/dist/solutions/reactive-layout/index.js +65 -5
- package/dist/solutions/reactive-layout/node-canvas/index.cjs +127 -117
- package/dist/solutions/reactive-layout/node-canvas/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/node-canvas/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/node-canvas/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/node-canvas/index.js +3 -3
- package/dist/solutions/reactive-layout/react-native/index.cjs +127 -117
- package/dist/solutions/reactive-layout/react-native/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/react-native/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/react-native/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/react-native/index.js +3 -3
- package/dist/solutions/reactive-layout/skia/index.cjs +127 -117
- package/dist/solutions/reactive-layout/skia/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/skia/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/skia/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/skia/index.js +3 -3
- package/dist/solutions/work-item/actions.cjs +1609 -1428
- package/dist/solutions/work-item/actions.cjs.map +1 -1
- package/dist/solutions/work-item/actions.d.cts +23 -184
- package/dist/solutions/work-item/actions.d.ts +23 -184
- package/dist/solutions/work-item/actions.js +1558 -934
- package/dist/solutions/work-item/actions.js.map +1 -1
- package/dist/solutions/work-item/scheduling.cjs +9181 -1838
- package/dist/solutions/work-item/scheduling.cjs.map +1 -1
- package/dist/solutions/work-item/scheduling.d.cts +1763 -328
- package/dist/solutions/work-item/scheduling.d.ts +1763 -328
- package/dist/solutions/work-item/scheduling.js +117 -3
- package/dist/solutions/work-item/work-queue.d.cts +7 -7
- package/dist/solutions/work-item/work-queue.d.ts +7 -7
- package/dist/sources/browser.cjs +1318 -1083
- package/dist/sources/browser.cjs.map +1 -1
- package/dist/sources/browser.d.cts +22 -6
- package/dist/sources/browser.d.ts +22 -6
- package/dist/sources/browser.js +4 -4
- package/dist/sources/browser.js.map +1 -1
- package/dist/sources/index.cjs +1318 -1083
- package/dist/sources/index.cjs.map +1 -1
- package/dist/sources/index.d.cts +4 -4
- package/dist/sources/index.d.ts +4 -4
- package/dist/sources/index.js +4 -4
- package/dist/sources/node.d.cts +3 -3
- package/dist/sources/node.d.ts +3 -3
- package/dist/storage/browser.cjs +16 -0
- package/dist/storage/browser.cjs.map +1 -1
- package/dist/storage/browser.js +3 -3
- package/dist/storage/index.cjs +16 -0
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.cts +5 -4
- package/dist/storage/index.d.ts +5 -4
- package/dist/storage/index.js +6 -6
- package/dist/storage/node.cjs +16 -0
- package/dist/storage/node.cjs.map +1 -1
- package/dist/storage/node.js +3 -3
- package/dist/{store-C-joM4gh.d.ts → store-6_CHF6Ge.d.ts} +1 -1
- package/dist/{store-CNJwmT-h.d.cts → store-BljX8RkQ.d.cts} +1 -1
- package/dist/types-BAw2QVVE.d.cts +274 -0
- package/dist/types-BUbbbh4f.d.cts +34 -0
- package/dist/types-CMnzoL54.d.cts +457 -0
- package/dist/{types-CcPIn7sy.d.cts → types-CTN3XoMl.d.cts} +57 -108
- package/dist/types-CV_ohy5T.d.cts +357 -0
- package/dist/{types-BsJvElYZ.d.ts → types-DChxk1vK.d.ts} +57 -108
- package/dist/types-DRu7SnLV.d.ts +274 -0
- package/dist/types-DeID_FRl.d.ts +34 -0
- package/dist/types-IhKH0hGW.d.ts +357 -0
- package/dist/types-ePlD2uyT.d.ts +457 -0
- package/dist/{work-item-runtime-qaVgsL0T.d.cts → work-item-runtime-types-BTxLskN5.d.cts} +3 -93
- package/dist/{work-item-runtime-C3M79vE9.d.ts → work-item-runtime-types-DAsZbb2y.d.ts} +3 -93
- package/dist/work-queue/index.cjs +957 -953
- package/dist/work-queue/index.cjs.map +1 -1
- package/dist/work-queue/index.d.cts +9 -357
- package/dist/work-queue/index.d.ts +9 -357
- package/dist/work-queue/index.js +957 -953
- package/dist/work-queue/index.js.map +1 -1
- package/package.json +611 -513
- package/dist/chunk-3JR3EDB2.js.map +0 -1
- package/dist/chunk-4VLAQHZI.js.map +0 -1
- package/dist/chunk-6XAIOL3X.js +0 -2407
- package/dist/chunk-6XAIOL3X.js.map +0 -1
- package/dist/chunk-FBUU43PM.js.map +0 -1
- package/dist/chunk-HKK2JD7Z.js.map +0 -1
- package/dist/chunk-PC3BTTBE.js +0 -3217
- package/dist/chunk-PC3BTTBE.js.map +0 -1
- package/dist/chunk-QFY4AFY4.js.map +0 -1
- package/dist/chunk-SS2A464I.js.map +0 -1
- package/dist/chunk-V7CIJE4B.js.map +0 -1
- package/dist/chunk-XKXWK2KP.js.map +0 -1
- package/dist/chunk-YDSIVHRR.js.map +0 -1
- package/dist/chunk-YXMZ2N6J.js.map +0 -1
- /package/dist/{chunk-CZNV3VXM.js.map → chunk-3J7UPZL5.js.map} +0 -0
- /package/dist/{chunk-Z2ANQ6JW.js.map → chunk-4Q77MMJY.js.map} +0 -0
- /package/dist/{chunk-K3FXTC3I.js.map → chunk-HJACH5PU.js.map} +0 -0
- /package/dist/{chunk-GTPCOEOZ.js.map → chunk-IDMLXLLG.js.map} +0 -0
- /package/dist/{chunk-DKP56CSW.js.map → chunk-JKAYLDQV.js.map} +0 -0
- /package/dist/{chunk-43BKLFZU.js.map → chunk-KFURM6FM.js.map} +0 -0
- /package/dist/{chunk-2747WN4Y.js.map → chunk-PUSRRALM.js.map} +0 -0
- /package/dist/{chunk-VTHLCFN4.js.map → chunk-RAHNUYA5.js.map} +0 -0
- /package/dist/{chunk-IXZBUWSP.js.map → chunk-UEMN5URK.js.map} +0 -0
- /package/dist/{chunk-6PHB5CJS.js.map → chunk-ZLFRB6FI.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orchestration/index.ts"],"sourcesContent":["/**\n * Reusable application-infrastructure orchestration namespace.\n *\n * Retained root orchestration helpers land here only after B63 re-derives them\n * onto clean-slate graph surfaces.\n */\n\nimport { depBatch, type NodeFn } from \"../ctx/types.js\";\nimport type { Graph, TopologyGroup } from \"../graph/graph.js\";\nimport {\n\ttype BackoffPolicy,\n\tbackoffDelayMs,\n\tnextRetryDelayMs,\n\tnoBackoff,\n\ttype RetryPolicy,\n\ttype RetryStatus,\n\tretryPolicy,\n\tshouldRetry,\n} from \"../graph/resilience.js\";\nimport { timeout as timeoutOperator } from \"../graph/time.js\";\nimport type { Node } from \"../node/node.js\";\n\nexport * from \"./agent-runtime.js\";\nexport * from \"./work-item-runtime.js\";\n\nexport {\n\ttype BackoffPolicy,\n\tbackoffDelayMs,\n\tnoBackoff,\n\tnextRetryDelayMs,\n\tretryPolicy,\n\ttype RetryPolicy,\n\ttype RetryStatus,\n\tshouldRetry,\n};\n\nexport type ResilienceEvent =\n\t| { readonly kind: \"attempt\"; readonly attempt: number }\n\t| {\n\t\t\treadonly kind: \"retry\";\n\t\t\treadonly attempt: number;\n\t\t\treadonly delayMs: number;\n\t\t\treadonly error: unknown;\n\t }\n\t| { readonly kind: \"success\"; readonly attempt?: number }\n\t| { readonly kind: \"failure\"; readonly attempt?: number; readonly error: unknown }\n\t| { readonly kind: \"exhausted\"; readonly attempt: number; readonly error: unknown };\n\nexport interface RetryStatusBundle {\n\treadonly status: Node<RetryStatus>;\n\treadonly errors: Node<unknown>;\n}\n\nexport interface BreakerOptions {\n\treadonly failureThreshold: number;\n\treadonly resetAfterMs?: number;\n\treadonly now?: () => number;\n\treadonly name?: string;\n}\n\nexport interface BreakerStatus {\n\treadonly state: \"closed\" | \"open\" | \"half-open\";\n\treadonly failures: number;\n\treadonly openedAtMs?: number;\n}\n\nexport interface BreakerBundle {\n\treadonly status: Node<BreakerStatus>;\n\treadonly allowed: Node<boolean>;\n}\n\nexport interface RateLimitOptions {\n\treadonly max: number;\n\treadonly windowMs: number;\n\treadonly now?: () => number;\n\treadonly name?: string;\n}\n\nexport interface RateLimitStatus {\n\treadonly allowed: number;\n\treadonly dropped: number;\n\treadonly remaining: number;\n\treadonly resetAtMs: number;\n}\n\nexport interface RateLimitBundle<T> {\n\treadonly allowed: Node<T>;\n\treadonly dropped: Node<T>;\n\treadonly status: Node<RateLimitStatus>;\n}\n\ntype RateLimitEvent<T> =\n\t| { readonly kind: \"allowed\"; readonly value: T; readonly status: RateLimitStatus }\n\t| { readonly kind: \"dropped\"; readonly value: T; readonly status: RateLimitStatus };\n\nexport interface TimeoutBundle<T> {\n\treadonly node: Node<T>;\n\treadonly status: Node<\"running\" | \"completed\" | \"errored\">;\n\treadonly errors: Node<unknown>;\n}\n\n/** D136 graph-visible process command fact. */\nexport interface ProcessCommand<T = unknown> {\n\treadonly id: string;\n\treadonly type: string;\n\treadonly payload: T;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\n/** Event draft returned by a ProcessBundle reducer before runtime ordering. */\nexport interface ProcessEventDraft<T = unknown> {\n\treadonly id?: string;\n\treadonly type: string;\n\treadonly payload: T;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\n/** Ordered process event fact. These are DATA facts, not protocol messages. */\nexport interface ProcessEvent<T = unknown> {\n\treadonly id: string;\n\treadonly type: string;\n\treadonly seq: number;\n\treadonly cursor: number;\n\treadonly commandId: string;\n\treadonly commandType: string;\n\treadonly payload: T;\n\treadonly timestampMs: number;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\n/** Effect-request draft emitted by a ProcessBundle reducer for visible effect runners. */\nexport interface ProcessEffectRequestDraft<T = unknown> {\n\treadonly id?: string;\n\treadonly type: string;\n\treadonly payload: T;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\n/** Ordered effect-request fact. Effect runners consume this node in later slices. */\nexport interface ProcessEffectRequest<T = unknown> {\n\treadonly id: string;\n\treadonly type: string;\n\treadonly seq: number;\n\treadonly cursor: number;\n\treadonly commandId: string;\n\treadonly commandType: string;\n\treadonly payload: T;\n\treadonly timestampMs: number;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\nexport type ProcessEffectCommandType =\n\t| \"effect.result\"\n\t| \"effect.failure\"\n\t| \"effect.cancel\"\n\t| \"effect.timeout\";\n\ninterface ProcessEffectOutcomeBase {\n\treadonly effectId: string;\n\treadonly effectType: string;\n\treadonly processId?: string;\n\treadonly correlationId?: string;\n\treadonly causationId?: string;\n\treadonly commandId?: string;\n\treadonly metadata?: Record<string, unknown>;\n}\n\nexport type ProcessEffectOutcome<TResult = unknown> =\n\t| (ProcessEffectOutcomeBase & { readonly kind: \"result\"; readonly value: TResult })\n\t| (ProcessEffectOutcomeBase & { readonly kind: \"failure\"; readonly error: unknown })\n\t| (ProcessEffectOutcomeBase & { readonly kind: \"cancel\"; readonly reason?: string })\n\t| (ProcessEffectOutcomeBase & { readonly kind: \"timeout\"; readonly error: unknown });\n\nexport type ProcessEffectCommandPayload<TResult = unknown> =\n\t| (Omit<ProcessEffectOutcomeBase, \"commandId\"> & {\n\t\t\treadonly kind: \"result\";\n\t\t\treadonly value: TResult;\n\t })\n\t| (Omit<ProcessEffectOutcomeBase, \"commandId\"> & {\n\t\t\treadonly kind: \"failure\";\n\t\t\treadonly error: unknown;\n\t })\n\t| (Omit<ProcessEffectOutcomeBase, \"commandId\"> & {\n\t\t\treadonly kind: \"cancel\";\n\t\t\treadonly reason?: string;\n\t })\n\t| (Omit<ProcessEffectOutcomeBase, \"commandId\"> & {\n\t\t\treadonly kind: \"timeout\";\n\t\t\treadonly error: unknown;\n\t });\n\nexport type ProcessErrorCode =\n\t| \"malformed-command\"\n\t| \"reducer-threw\"\n\t| \"clock-threw\"\n\t| \"malformed-state\"\n\t| \"malformed-event\"\n\t| \"malformed-effect\";\n\n/** Graph-visible ProcessBundle error fact. These are DATA facts, not protocol ERROR. */\nexport interface ProcessError {\n\treadonly code: ProcessErrorCode;\n\treadonly message: string;\n\treadonly command?: unknown;\n\treadonly commandId?: string;\n\treadonly commandType?: string;\n\treadonly cursor: ProcessCursor;\n}\n\n/** Accepted/rejected command outcome projected from the ProcessBundle runtime. */\nexport interface ProcessStatus {\n\treadonly state: \"accepted\" | \"rejected\";\n\treadonly commandId?: string;\n\treadonly commandType?: string;\n\treadonly eventCount: number;\n\treadonly effectCount: number;\n\treadonly errorCode?: ProcessErrorCode;\n\treadonly cursor: ProcessCursor;\n}\n\nexport interface ProcessEffectRunnerStatus {\n\treadonly state: \"requested\" | \"commanded\" | \"rejected\";\n\treadonly effectId?: string;\n\treadonly effectType?: string;\n\treadonly commandId?: string;\n\treadonly commandType?: ProcessEffectCommandType;\n\treadonly requested: number;\n\treadonly commanded: number;\n\treadonly rejected: number;\n}\n\nexport interface ProcessEffectRunnerError {\n\treadonly code: \"malformed-outcome\";\n\treadonly message: string;\n\treadonly outcome?: unknown;\n\treadonly effectId?: string;\n\treadonly effectType?: string;\n}\n\n/** Ordered audit fact for one attempted command reduction. */\nexport interface ProcessAuditRecord {\n\treadonly seq: number;\n\treadonly commandId?: string;\n\treadonly commandType?: string;\n\treadonly outcome: \"success\" | \"failure\";\n\treadonly eventIds: readonly string[];\n\treadonly eventTypes: readonly string[];\n\treadonly effectIds: readonly string[];\n\treadonly effectTypes: readonly string[];\n\treadonly errorCode?: ProcessErrorCode;\n\treadonly errorMessage?: string;\n\treadonly cursor: ProcessCursor;\n}\n\n/** Monotonic graph-visible ProcessBundle cursor counters. */\nexport interface ProcessCursor {\n\treadonly eventSeq: number;\n\treadonly effectSeq: number;\n\treadonly commandCount: number;\n\treadonly errorCount: number;\n\treadonly auditSeq: number;\n}\n\n/** Internal runtime stream fact exposed through ProcessBundle projection nodes. */\ntype ProcessRuntimeFact<TState = unknown, TEvent = unknown, TEffect = unknown> =\n\t| { readonly kind: \"state\"; readonly state: TState; readonly cursor: ProcessCursor }\n\t| { readonly kind: \"event\"; readonly event: ProcessEvent<TEvent> }\n\t| { readonly kind: \"effect-request\"; readonly effect: ProcessEffectRequest<TEffect> }\n\t| { readonly kind: \"status\"; readonly status: ProcessStatus }\n\t| { readonly kind: \"error\"; readonly error: ProcessError }\n\t| { readonly kind: \"audit\"; readonly audit: ProcessAuditRecord }\n\t| { readonly kind: \"cursor\"; readonly cursor: ProcessCursor };\n\ntype ProcessEffectRunnerFact<TResult = unknown> =\n\t| { readonly kind: \"outcome\"; readonly outcome: ProcessEffectOutcome<TResult> }\n\t| {\n\t\t\treadonly kind: \"command\";\n\t\t\treadonly command: ProcessCommand<ProcessEffectCommandPayload<TResult>>;\n\t }\n\t| { readonly kind: \"error\"; readonly error: ProcessEffectRunnerError };\n\n/** Reducer result: next process state plus optional event/effect-request drafts. */\nexport interface ProcessReduction<TState = unknown, TEvent = unknown, TEffect = unknown> {\n\treadonly state: TState;\n\treadonly events?: readonly ProcessEventDraft<TEvent>[];\n\treadonly effects?: readonly ProcessEffectRequestDraft<TEffect>[];\n}\n\n/** Sync ProcessBundle reducer. Async effects belong in graph-visible adapters, not here. */\nexport type ProcessReducer<\n\tTCommand = unknown,\n\tTState = unknown,\n\tTEvent = unknown,\n\tTEffect = unknown,\n> = (command: ProcessCommand<TCommand>, state: TState) => ProcessReduction<TState, TEvent, TEffect>;\n\n/** Options for a D136 facts-plus-reducer ProcessBundle. */\nexport interface ProcessBundleOptions<\n\tTCommand = unknown,\n\tTState = unknown,\n\tTEvent = unknown,\n\tTEffect = unknown,\n> {\n\treadonly name?: string;\n\treadonly initialState: TState;\n\treadonly reduce: ProcessReducer<TCommand, TState, TEvent, TEffect>;\n\treadonly now?: () => number;\n}\n\n/** D136 facts-plus-reducer process bundle. It is not a workflow engine or hidden runtime owner. */\nexport interface ProcessBundle<\n\tTCommand = unknown,\n\tTState = unknown,\n\tTEvent = unknown,\n\tTEffect = unknown,\n> {\n\treadonly command: Node<ProcessCommand<TCommand>>;\n\treadonly events: Node<ProcessEvent<TEvent>>;\n\treadonly state: Node<TState>;\n\treadonly audit: Node<ProcessAuditRecord>;\n\treadonly effectRequests: Node<ProcessEffectRequest<TEffect>>;\n\treadonly status: Node<ProcessStatus>;\n\treadonly errors: Node<ProcessError>;\n\treadonly cursor: Node<ProcessCursor>;\n\tdispatch(command: ProcessCommand<TCommand>): ProcessCommand<TCommand>;\n\t/** Release only graph-owned retain roots; process facts/topology/cache/state remain ordinary graph data. */\n\trelease(): void;\n}\n\nexport interface ProcessEffectRunnerOptions<TResult = unknown> {\n\treadonly name?: string;\n\treadonly outcomes: readonly Node<ProcessEffectOutcome<TResult>>[];\n}\n\nexport interface ProcessEffectRunnerBundle<TEffect = unknown, TResult = unknown> {\n\treadonly requests: Node<ProcessEffectRequest<TEffect>>;\n\treadonly outcomes: Node<ProcessEffectOutcome<TResult>>;\n\treadonly commands: Node<ProcessCommand<ProcessEffectCommandPayload<TResult>>>;\n\treadonly status: Node<ProcessEffectRunnerStatus>;\n\treadonly errors: Node<ProcessEffectRunnerError>;\n\trelease(): void;\n}\n\ninterface AttachedProcessCommandSources<TCommand> {\n\tsources: Node<ProcessCommand<TCommand>>[];\n}\n\nconst processCommandSources = new WeakMap<\n\tProcessBundle<unknown, unknown, unknown, unknown>,\n\tAttachedProcessCommandSources<unknown>\n>();\n\nexport function retryStatusBundle(\n\tgraph: Graph,\n\tevents: Node<ResilienceEvent>,\n\topts: { name?: string; policy?: RetryPolicy } = {},\n): RetryStatusBundle {\n\tconst policy = opts.policy ?? retryPolicy();\n\tconst name = opts.name ?? \"retry\";\n\tconst status = graph.node<RetryStatus>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tlet next =\n\t\t\t\tctx.state.get<RetryStatus>() ??\n\t\t\t\t({ state: \"idle\", attempt: 0, maxAttempts: policy.maxAttempts } satisfies RetryStatus);\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst event = raw as ResilienceEvent;\n\t\t\t\tif (event.kind === \"attempt\") {\n\t\t\t\t\tnext = { state: \"running\", attempt: event.attempt, maxAttempts: policy.maxAttempts };\n\t\t\t\t} else if (event.kind === \"retry\") {\n\t\t\t\t\tnext = {\n\t\t\t\t\t\tstate: \"waiting\",\n\t\t\t\t\t\tattempt: event.attempt,\n\t\t\t\t\t\tmaxAttempts: policy.maxAttempts,\n\t\t\t\t\t\tdelayMs: event.delayMs,\n\t\t\t\t\t};\n\t\t\t\t} else if (event.kind === \"success\") {\n\t\t\t\t\tnext = {\n\t\t\t\t\t\tstate: \"succeeded\",\n\t\t\t\t\t\tattempt: event.attempt ?? next.attempt,\n\t\t\t\t\t\tmaxAttempts: policy.maxAttempts,\n\t\t\t\t\t};\n\t\t\t\t} else if (event.kind === \"failure\") {\n\t\t\t\t\tconst attempt = event.attempt ?? next.attempt;\n\t\t\t\t\tnext = {\n\t\t\t\t\t\tstate: shouldRetry(policy, attempt) ? \"failed\" : \"exhausted\",\n\t\t\t\t\t\tattempt,\n\t\t\t\t\t\tmaxAttempts: policy.maxAttempts,\n\t\t\t\t\t\tdelayMs: shouldRetry(policy, attempt)\n\t\t\t\t\t\t\t? nextRetryDelayMs(policy, attempt + 1)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tnext = {\n\t\t\t\t\t\tstate: \"exhausted\",\n\t\t\t\t\t\tattempt: event.attempt,\n\t\t\t\t\t\tmaxAttempts: policy.maxAttempts,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.state.set(next);\n\t\t\tctx.down([[\"DATA\", next]]);\n\t\t},\n\t\t{ name: `${name}/status`, factory: \"retryStatus\" },\n\t);\n\tconst errors = graph.node<unknown>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst event = raw as ResilienceEvent;\n\t\t\t\tif (\"error\" in event) ctx.down([[\"DATA\", event.error]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/errors`, factory: \"retryErrors\" },\n\t);\n\treturn { status, errors };\n}\n\nexport function breakerBundle(\n\tgraph: Graph,\n\tevents: Node<ResilienceEvent>,\n\topts: BreakerOptions,\n): BreakerBundle {\n\tif (!Number.isInteger(opts.failureThreshold) || opts.failureThreshold <= 0) {\n\t\tthrow new RangeError(\"breakerBundle: failureThreshold must be a positive integer\");\n\t}\n\tconst name = opts.name ?? \"breaker\";\n\tconst now = opts.now ?? Date.now;\n\tconst status = graph.node<BreakerStatus>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tlet next =\n\t\t\t\tctx.state.get<BreakerStatus>() ??\n\t\t\t\t({ state: \"closed\", failures: 0 } satisfies BreakerStatus);\n\t\t\tif (\n\t\t\t\tnext.state === \"open\" &&\n\t\t\t\topts.resetAfterMs !== undefined &&\n\t\t\t\tnext.openedAtMs !== undefined &&\n\t\t\t\tnow() - next.openedAtMs >= opts.resetAfterMs\n\t\t\t) {\n\t\t\t\tnext = { ...next, state: \"half-open\" };\n\t\t\t}\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst event = raw as ResilienceEvent;\n\t\t\t\tif (event.kind === \"success\") {\n\t\t\t\t\tnext = { state: \"closed\", failures: 0 };\n\t\t\t\t} else if (event.kind === \"failure\" || event.kind === \"exhausted\") {\n\t\t\t\t\tconst failures = next.failures + 1;\n\t\t\t\t\tnext =\n\t\t\t\t\t\tfailures >= opts.failureThreshold\n\t\t\t\t\t\t\t? { state: \"open\", failures, openedAtMs: now() }\n\t\t\t\t\t\t\t: { ...next, failures };\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.state.set(next);\n\t\t\tctx.down([[\"DATA\", next]]);\n\t\t},\n\t\t{ name: `${name}/status`, factory: \"breakerStatus\" },\n\t);\n\tconst allowed = graph.node<boolean>(\n\t\t[status],\n\t\t(ctx) => {\n\t\t\tconst statusBatch = depBatch(ctx, 0) ?? [];\n\t\t\tfor (const value of statusBatch) {\n\t\t\t\tctx.down([[\"DATA\", (value as BreakerStatus).state !== \"open\"]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/allowed`, factory: \"breakerAllowed\" },\n\t);\n\treturn { status, allowed };\n}\n\nexport function rateLimitBundle<T>(\n\tgraph: Graph,\n\tsource: Node<T>,\n\topts: RateLimitOptions,\n): RateLimitBundle<T> {\n\tif (!Number.isInteger(opts.max) || opts.max <= 0) {\n\t\tthrow new RangeError(\"rateLimitBundle: max must be a positive integer\");\n\t}\n\tif (!Number.isFinite(opts.windowMs) || opts.windowMs <= 0) {\n\t\tthrow new RangeError(\"rateLimitBundle: windowMs must be positive\");\n\t}\n\tconst now = opts.now ?? Date.now;\n\tconst name = opts.name ?? \"rateLimit\";\n\tconst events = graph.node<RateLimitEvent<T>>(\n\t\t[source],\n\t\t(ctx) => {\n\t\t\ttype State = { count: number; resetAtMs: number; allowed: number; dropped: number };\n\t\t\tconst current = now();\n\t\t\tlet state =\n\t\t\t\tctx.state.get<State>() ??\n\t\t\t\t({ count: 0, resetAtMs: current + opts.windowMs, allowed: 0, dropped: 0 } satisfies State);\n\t\t\tif (current >= state.resetAtMs) {\n\t\t\t\tstate = { ...state, count: 0, resetAtMs: current + opts.windowMs };\n\t\t\t}\n\t\t\tfor (const value of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst allowed = state.count < opts.max;\n\t\t\t\tstate = allowed\n\t\t\t\t\t? { ...state, count: state.count + 1, allowed: state.allowed + 1 }\n\t\t\t\t\t: { ...state, dropped: state.dropped + 1 };\n\t\t\t\tconst status = {\n\t\t\t\t\tallowed: state.allowed,\n\t\t\t\t\tdropped: state.dropped,\n\t\t\t\t\tremaining: Math.max(0, opts.max - state.count),\n\t\t\t\t\tresetAtMs: state.resetAtMs,\n\t\t\t\t} satisfies RateLimitStatus;\n\t\t\t\tctx.down([\n\t\t\t\t\t[\n\t\t\t\t\t\t\"DATA\",\n\t\t\t\t\t\tallowed\n\t\t\t\t\t\t\t? ({ kind: \"allowed\", value: value as T, status } satisfies RateLimitEvent<T>)\n\t\t\t\t\t\t\t: ({ kind: \"dropped\", value: value as T, status } satisfies RateLimitEvent<T>),\n\t\t\t\t\t],\n\t\t\t\t]);\n\t\t\t}\n\t\t\tctx.state.set(state);\n\t\t},\n\t\t{ name: `${name}/events`, factory: \"rateLimitEvents\" },\n\t);\n\tconst allowed = graph.node<T>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tfor (const event of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst typed = event as RateLimitEvent<T>;\n\t\t\t\tif (typed.kind === \"allowed\") ctx.down([[\"DATA\", typed.value]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/allowed`, factory: \"rateLimitAllowed\" },\n\t);\n\tconst dropped = graph.node<T>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tfor (const event of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst typed = event as RateLimitEvent<T>;\n\t\t\t\tif (typed.kind === \"dropped\") ctx.down([[\"DATA\", typed.value]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/dropped`, factory: \"rateLimitDropped\" },\n\t);\n\tconst status = graph.node<RateLimitStatus>(\n\t\t[events],\n\t\t(ctx) => {\n\t\t\tfor (const event of depBatch(ctx, 0) ?? []) {\n\t\t\t\tctx.down([[\"DATA\", (event as RateLimitEvent<T>).status]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/status`, factory: \"rateLimitStatus\" },\n\t);\n\treturn { allowed, dropped, status };\n}\n\nexport function timeoutBundle<T>(\n\tgraph: Graph,\n\tsource: Node<T>,\n\tms: number,\n\topts: { name?: string } = {},\n): TimeoutBundle<T> {\n\tconst name = opts.name ?? \"timeout\";\n\tconst node = timeoutOperator(source, ms);\n\tconst status = graph.node<\"running\" | \"completed\" | \"errored\">(\n\t\t[node],\n\t\t(ctx) => {\n\t\t\tconst terminal = ctx.terminal[0];\n\t\t\tif (terminal === true) ctx.down([[\"DATA\", \"completed\"]]);\n\t\t\telse if (terminal !== false && terminal !== undefined) ctx.down([[\"DATA\", \"errored\"]]);\n\t\t\telse if ((depBatch(ctx, 0) ?? []).length > 0) ctx.down([[\"DATA\", \"running\"]]);\n\t\t},\n\t\t{ name: `${name}/status`, factory: \"timeoutStatus\" },\n\t);\n\tconst errors = graph.node<unknown>(\n\t\t[node],\n\t\t(ctx) => {\n\t\t\tconst terminal = ctx.terminal[0];\n\t\t\tif (terminal !== true && terminal !== false && terminal !== undefined) {\n\t\t\t\tctx.down([[\"DATA\", terminal]]);\n\t\t\t}\n\t\t},\n\t\t{ name: `${name}/errors`, factory: \"timeoutErrors\" },\n\t);\n\treturn { node, status, errors };\n}\n\n/**\n * Build a D136 ProcessBundle from graph-visible command facts and a reducer.\n *\n * The bundle retains its runtime/projection nodes until `release()` is called.\n * Reducer and validation failures are emitted as DATA error/status/audit facts;\n * they do not mint protocol ERROR messages or own restore/hydration behavior.\n */\nexport function processBundle<\n\tTCommand = unknown,\n\tTState = unknown,\n\tTEvent = unknown,\n\tTEffect = unknown,\n>(\n\tgraph: Graph,\n\topts: ProcessBundleOptions<TCommand, TState, TEvent, TEffect>,\n): ProcessBundle<TCommand, TState, TEvent, TEffect> {\n\tif (typeof opts.reduce !== \"function\") {\n\t\tthrow new TypeError(\"processBundle: reduce must be a function\");\n\t}\n\tif (opts.initialState === undefined) {\n\t\tthrow new TypeError(\"processBundle: initialState must not be undefined\");\n\t}\n\tconst name = opts.name ?? \"process\";\n\tconst now = opts.now ?? Date.now;\n\tconst topology = graph.topologyGroup({ name: `${name}.process` });\n\tconst command = topology.node<ProcessCommand<TCommand>>([], null, {\n\t\tname: `${name}/command`,\n\t\tfactory: \"processCommand\",\n\t\tcompleteWhenDepsComplete: false,\n\t\terrorWhenDepsError: false,\n\t});\n\tconst runtime = topology.node<ProcessRuntimeFact<TState, TEvent, TEffect>>(\n\t\t[command],\n\t\t(ctx) => {\n\t\t\tlet state =\n\t\t\t\tctx.state.get<ProcessRuntimeState<TState>>() ??\n\t\t\t\t({\n\t\t\t\t\teventSeq: 0,\n\t\t\t\t\teffectSeq: 0,\n\t\t\t\t\tcommandCount: 0,\n\t\t\t\t\terrorCount: 0,\n\t\t\t\t\tauditSeq: 0,\n\t\t\t\t\tseenEventIds: [],\n\t\t\t\t\tseenEffectIds: [],\n\t\t\t\t\tstate: opts.initialState,\n\t\t\t\t} satisfies ProcessRuntimeState<TState>);\n\t\t\tctx.state.persist(true);\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tstate = reduceProcessCommandFact(\n\t\t\t\t\traw,\n\t\t\t\t\tstate,\n\t\t\t\t\topts.reduce as ProcessReducer<unknown, TState, unknown, unknown>,\n\t\t\t\t\tnow,\n\t\t\t\t\t(fact) => ctx.down([[\"DATA\", fact as ProcessRuntimeFact<TState, TEvent, TEffect>]]),\n\t\t\t\t);\n\t\t\t\tctx.state.set(state);\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: `${name}/runtime`,\n\t\t\tfactory: \"processRuntime\",\n\t\t\tmeta: { process: \"facts-plus-reducer\", d: \"D136\" },\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n\tconst events = processProjection<ProcessEvent<TEvent>, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/events`,\n\t\t\"processEvents\",\n\t\t(fact) => (fact.kind === \"event\" ? fact.event : undefined),\n\t);\n\tconst state = processProjection<TState, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/state`,\n\t\t\"processState\",\n\t\t(fact) => (fact.kind === \"state\" ? fact.state : undefined),\n\t);\n\tconst audit = processProjection<ProcessAuditRecord, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/audit`,\n\t\t\"processAudit\",\n\t\t(fact) => (fact.kind === \"audit\" ? fact.audit : undefined),\n\t);\n\tconst effectRequests = processProjection<ProcessEffectRequest<TEffect>, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/effectRequests`,\n\t\t\"processEffectRequests\",\n\t\t(fact) => (fact.kind === \"effect-request\" ? fact.effect : undefined),\n\t);\n\tconst status = processProjection<ProcessStatus, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/status`,\n\t\t\"processStatus\",\n\t\t(fact) => (fact.kind === \"status\" ? fact.status : undefined),\n\t);\n\tconst errors = processProjection<ProcessError, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/errors`,\n\t\t\"processErrors\",\n\t\t(fact) => (fact.kind === \"error\" ? fact.error : undefined),\n\t);\n\tconst cursor = processProjection<ProcessCursor, TState, TEvent, TEffect>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/cursor`,\n\t\t\"processCursor\",\n\t\t(fact) => (fact.kind === \"cursor\" ? fact.cursor : undefined),\n\t);\n\tconst retainProcessNodes = () => [\n\t\tgraph.retain(runtime, { reason: `${name}.process.runtime` }),\n\t\tgraph.retain(events, { reason: `${name}.process.events` }),\n\t\tgraph.retain(state, { reason: `${name}.process.state` }),\n\t\tgraph.retain(audit, { reason: `${name}.process.audit` }),\n\t\tgraph.retain(effectRequests, { reason: `${name}.process.effectRequests` }),\n\t\tgraph.retain(status, { reason: `${name}.process.status` }),\n\t\tgraph.retain(errors, { reason: `${name}.process.errors` }),\n\t\tgraph.retain(cursor, { reason: `${name}.process.cursor` }),\n\t];\n\tlet releaseRetains = retainProcessNodes();\n\tlet released = false;\n\tconst bundle: ProcessBundle<TCommand, TState, TEvent, TEffect> = {\n\t\tcommand,\n\t\tevents,\n\t\tstate,\n\t\taudit,\n\t\teffectRequests,\n\t\tstatus,\n\t\terrors,\n\t\tcursor,\n\t\tdispatch(next) {\n\t\t\tcommand.down([[\"DATA\", next]]);\n\t\t\treturn next;\n\t\t},\n\t\trelease() {\n\t\t\tif (released) return;\n\t\t\tconst activeRetains = releaseRetains;\n\t\t\treleaseRetains = [];\n\t\t\tfor (const releaseRetain of activeRetains) releaseRetain();\n\t\t\ttry {\n\t\t\t\ttopology.release({ reason: `${name}.process.release` });\n\t\t\t\treleased = true;\n\t\t\t\tprocessCommandSources.delete(\n\t\t\t\t\tbundle as unknown as ProcessBundle<unknown, unknown, unknown, unknown>,\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\treleaseRetains = retainProcessNodes();\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t};\n\tprocessCommandSources.set(\n\t\tbundle as unknown as ProcessBundle<unknown, unknown, unknown, unknown>,\n\t\t{ sources: [] },\n\t);\n\treturn bundle;\n}\n\n/**\n * Build a D156 graph-visible effect runner adapter over a ProcessBundle.\n *\n * The runner consumes visible effect-request and outcome facts, then publishes\n * ordinary ProcessCommand DATA facts back through process.command via a declared\n * graph edge. Async handlers, timers, and process state ownership stay outside\n * this helper.\n */\nexport function processEffectRunner<TEffect = unknown, TResult = unknown>(\n\tgraph: Graph,\n\tprocess: ProcessBundle<unknown, unknown, unknown, TEffect>,\n\topts: ProcessEffectRunnerOptions<TResult>,\n): ProcessEffectRunnerBundle<TEffect, TResult> {\n\tif (opts.outcomes.length === 0) {\n\t\tthrow new RangeError(\"processEffectRunner: outcomes must contain at least one node\");\n\t}\n\tconst name = opts.name ?? \"processEffectRunner\";\n\tconst topology = graph.topologyGroup({ name: `${name}.effectRunner` });\n\tconst requests = topology.node<ProcessEffectRequest<TEffect>>(\n\t\t[process.effectRequests],\n\t\t(ctx) => {\n\t\t\tfor (const request of depBatch(ctx, 0) ?? []) {\n\t\t\t\tctx.down([[\"DATA\", request as ProcessEffectRequest<TEffect>]]);\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: `${name}/requests`,\n\t\t\tfactory: \"processEffectRunnerRequests\",\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n\tconst runtime = topology.node<ProcessEffectRunnerFact<TResult>>(\n\t\t[...opts.outcomes],\n\t\t(ctx) => {\n\t\t\tfor (let i = 0; i < opts.outcomes.length; i += 1) {\n\t\t\t\tfor (const raw of depBatch(ctx, i) ?? []) {\n\t\t\t\t\tconst parsed = parseProcessEffectOutcome<TResult>(raw);\n\t\t\t\t\tif (typeof parsed === \"string\") {\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: \"malformed-outcome\",\n\t\t\t\t\t\t\tmessage: parsed,\n\t\t\t\t\t\t\toutcome: raw,\n\t\t\t\t\t\t} satisfies ProcessEffectRunnerError;\n\t\t\t\t\t\tctx.down([[\"DATA\", { kind: \"error\", error }]]);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst outcome = parsed as ProcessEffectOutcome<TResult>;\n\t\t\t\t\tconst command = processEffectOutcomeCommand(outcome);\n\t\t\t\t\tctx.down([[\"DATA\", { kind: \"outcome\", outcome }]]);\n\t\t\t\t\tctx.down([[\"DATA\", { kind: \"command\", command }]]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: `${name}/runtime`,\n\t\t\tfactory: \"processEffectRunner\",\n\t\t\tmeta: { process: \"effect-runner\", d: \"D156\" },\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n\tconst outcomes = processEffectRunnerProjection<ProcessEffectOutcome<TResult>, TResult>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/outcomes`,\n\t\t\"processEffectRunnerOutcomes\",\n\t\t(fact) => (fact.kind === \"outcome\" ? fact.outcome : undefined),\n\t);\n\tconst commands = processEffectRunnerProjection<\n\t\tProcessCommand<ProcessEffectCommandPayload<TResult>>,\n\t\tTResult\n\t>(topology, runtime, `${name}/commands`, \"processEffectRunnerCommands\", (fact) =>\n\t\tfact.kind === \"command\" ? fact.command : undefined,\n\t);\n\tconst errors = processEffectRunnerProjection<ProcessEffectRunnerError, TResult>(\n\t\ttopology,\n\t\truntime,\n\t\t`${name}/errors`,\n\t\t\"processEffectRunnerErrors\",\n\t\t(fact) => (fact.kind === \"error\" ? fact.error : undefined),\n\t);\n\tconst status = topology.node<ProcessEffectRunnerStatus>(\n\t\t[requests, runtime],\n\t\t(ctx) => {\n\t\t\tlet state =\n\t\t\t\tctx.state.get<ProcessEffectRunnerState>() ??\n\t\t\t\t({ requested: 0, commanded: 0, rejected: 0 } satisfies ProcessEffectRunnerState);\n\t\t\tfor (const request of depBatch(ctx, 0) ?? []) {\n\t\t\t\tstate = { ...state, requested: state.requested + 1 };\n\t\t\t\tconst typedRequest = request as ProcessEffectRequest<TEffect>;\n\t\t\t\tctx.down([\n\t\t\t\t\t[\n\t\t\t\t\t\t\"DATA\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate: \"requested\",\n\t\t\t\t\t\t\teffectId: typedRequest.id,\n\t\t\t\t\t\t\teffectType: typedRequest.type,\n\t\t\t\t\t\t\trequested: state.requested,\n\t\t\t\t\t\t\tcommanded: state.commanded,\n\t\t\t\t\t\t\trejected: state.rejected,\n\t\t\t\t\t\t} satisfies ProcessEffectRunnerStatus,\n\t\t\t\t\t],\n\t\t\t\t]);\n\t\t\t}\n\t\t\tfor (const fact of depBatch(ctx, 1) ?? []) {\n\t\t\t\tconst typedFact = fact as ProcessEffectRunnerFact<TResult>;\n\t\t\t\tif (typedFact.kind === \"command\") {\n\t\t\t\t\tstate = { ...state, commanded: state.commanded + 1 };\n\t\t\t\t\tctx.down([\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"DATA\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstate: \"commanded\",\n\t\t\t\t\t\t\t\teffectId: typedFact.command.payload.effectId,\n\t\t\t\t\t\t\t\teffectType: typedFact.command.payload.effectType,\n\t\t\t\t\t\t\t\tcommandId: typedFact.command.id,\n\t\t\t\t\t\t\t\tcommandType: typedFact.command.type as ProcessEffectCommandType,\n\t\t\t\t\t\t\t\trequested: state.requested,\n\t\t\t\t\t\t\t\tcommanded: state.commanded,\n\t\t\t\t\t\t\t\trejected: state.rejected,\n\t\t\t\t\t\t\t} satisfies ProcessEffectRunnerStatus,\n\t\t\t\t\t\t],\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tif (typedFact.kind === \"error\") {\n\t\t\t\t\tstate = { ...state, rejected: state.rejected + 1 };\n\t\t\t\t\tctx.down([\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"DATA\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstate: \"rejected\",\n\t\t\t\t\t\t\t\teffectId: typedFact.error.effectId,\n\t\t\t\t\t\t\t\teffectType: typedFact.error.effectType,\n\t\t\t\t\t\t\t\trequested: state.requested,\n\t\t\t\t\t\t\t\tcommanded: state.commanded,\n\t\t\t\t\t\t\t\trejected: state.rejected,\n\t\t\t\t\t\t\t} satisfies ProcessEffectRunnerStatus,\n\t\t\t\t\t\t],\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tctx.state.set(state);\n\t\t},\n\t\t{\n\t\t\tname: `${name}/status`,\n\t\t\tfactory: \"processEffectRunnerStatus\",\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n\tconst retainRunnerNodes = () => [\n\t\tgraph.retain(requests, { reason: `${name}.effectRunner.requests` }),\n\t\tgraph.retain(outcomes, { reason: `${name}.effectRunner.outcomes` }),\n\t\tgraph.retain(commands, { reason: `${name}.effectRunner.commands` }),\n\t\tgraph.retain(status, { reason: `${name}.effectRunner.status` }),\n\t\tgraph.retain(errors, { reason: `${name}.effectRunner.errors` }),\n\t];\n\tlet releaseRetains = retainRunnerNodes();\n\ttry {\n\t\tattachProcessCommandSource(process, commands);\n\t} catch (error) {\n\t\tfor (const releaseRetain of releaseRetains) releaseRetain();\n\t\treleaseRetains = [];\n\t\ttopology.release({ reason: `${name}.effectRunner.failedAttach` });\n\t\tthrow error;\n\t}\n\tlet released = false;\n\treturn {\n\t\trequests,\n\t\toutcomes,\n\t\tcommands,\n\t\tstatus,\n\t\terrors,\n\t\trelease() {\n\t\t\tif (released) return;\n\t\t\tconst activeRetains = releaseRetains;\n\t\t\treleaseRetains = [];\n\t\t\tfor (const releaseRetain of activeRetains) releaseRetain();\n\t\t\tdetachProcessCommandSource(process, commands);\n\t\t\ttry {\n\t\t\t\ttopology.release({ reason: `${name}.effectRunner.release` });\n\t\t\t\treleased = true;\n\t\t\t} catch (error) {\n\t\t\t\tattachProcessCommandSource(process, commands);\n\t\t\t\treleaseRetains = retainRunnerNodes();\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function constantBackoff(delayMs: number): BackoffPolicy {\n\treturn { kind: \"constant\", delayMs };\n}\n\ninterface ProcessEffectRunnerState {\n\trequested: number;\n\tcommanded: number;\n\trejected: number;\n}\n\ninterface ProcessRuntimeState<TState> {\n\teventSeq: number;\n\teffectSeq: number;\n\tcommandCount: number;\n\terrorCount: number;\n\tauditSeq: number;\n\tseenEventIds: string[];\n\tseenEffectIds: string[];\n\tstate: TState;\n}\n\nfunction processEffectRunnerProjection<T, TResult>(\n\ttopology: TopologyGroup,\n\truntime: Node<ProcessEffectRunnerFact<TResult>>,\n\tname: string,\n\tfactory: string,\n\tpick: (fact: ProcessEffectRunnerFact<TResult>) => T | undefined,\n): Node<T> {\n\treturn topology.node<T>(\n\t\t[runtime],\n\t\t(ctx) => {\n\t\t\tfor (const fact of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst value = pick(fact as ProcessEffectRunnerFact<TResult>);\n\t\t\t\tif (value !== undefined) ctx.down([[\"DATA\", value]]);\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname,\n\t\t\tfactory,\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n}\n\nfunction parseProcessEffectOutcome<TResult>(raw: unknown): ProcessEffectOutcome<TResult> | string {\n\tif (!isObjectRecord(raw)) return \"processEffectRunner: outcome must be an object\";\n\tif (typeof raw.kind !== \"string\") {\n\t\treturn \"processEffectRunner: outcome kind must be a string\";\n\t}\n\tif (\n\t\traw.kind !== \"result\" &&\n\t\traw.kind !== \"failure\" &&\n\t\traw.kind !== \"cancel\" &&\n\t\traw.kind !== \"timeout\"\n\t) {\n\t\treturn \"processEffectRunner: outcome kind must be result, failure, cancel, or timeout\";\n\t}\n\tif (typeof raw.effectId !== \"string\" || raw.effectId.length === 0) {\n\t\treturn \"processEffectRunner: outcome effectId must be a non-empty string\";\n\t}\n\tif (typeof raw.effectType !== \"string\" || raw.effectType.length === 0) {\n\t\treturn \"processEffectRunner: outcome effectType must be a non-empty string\";\n\t}\n\tif (\"commandId\" in raw && raw.commandId !== undefined) {\n\t\tif (typeof raw.commandId !== \"string\" || raw.commandId.length === 0) {\n\t\t\treturn \"processEffectRunner: outcome commandId must be a non-empty string\";\n\t\t}\n\t}\n\tfor (const key of [\"processId\", \"correlationId\", \"causationId\"] as const) {\n\t\tif (key in raw && raw[key] !== undefined && typeof raw[key] !== \"string\") {\n\t\t\treturn `processEffectRunner: outcome ${key} must be a string`;\n\t\t}\n\t}\n\tif (\"metadata\" in raw && raw.metadata !== undefined && !isObjectRecord(raw.metadata)) {\n\t\treturn \"processEffectRunner: outcome metadata must be a plain object\";\n\t}\n\tif (raw.kind === \"result\" && !(\"value\" in raw)) {\n\t\treturn \"processEffectRunner: result outcome must carry value\";\n\t}\n\tif ((raw.kind === \"failure\" || raw.kind === \"timeout\") && !(\"error\" in raw)) {\n\t\treturn `processEffectRunner: ${raw.kind} outcome must carry error`;\n\t}\n\tif (\n\t\traw.kind === \"cancel\" &&\n\t\t\"reason\" in raw &&\n\t\traw.reason !== undefined &&\n\t\ttypeof raw.reason !== \"string\"\n\t) {\n\t\treturn \"processEffectRunner: cancel outcome reason must be a string\";\n\t}\n\treturn raw as unknown as ProcessEffectOutcome<TResult>;\n}\n\nfunction processEffectOutcomeCommand<TResult>(\n\toutcome: ProcessEffectOutcome<TResult>,\n): ProcessCommand<ProcessEffectCommandPayload<TResult>> {\n\tconst commandType = processEffectCommandType(outcome.kind);\n\treturn {\n\t\tid: outcome.commandId ?? `${outcome.effectId}:${commandType}`,\n\t\ttype: commandType,\n\t\tpayload: processEffectCommandPayload(outcome),\n\t\tprocessId: outcome.processId,\n\t\tcorrelationId: outcome.correlationId,\n\t\tcausationId: outcome.causationId,\n\t\tmetadata: outcome.metadata,\n\t};\n}\n\nfunction processEffectCommandType(kind: ProcessEffectOutcome[\"kind\"]): ProcessEffectCommandType {\n\tswitch (kind) {\n\t\tcase \"result\":\n\t\t\treturn \"effect.result\";\n\t\tcase \"failure\":\n\t\t\treturn \"effect.failure\";\n\t\tcase \"cancel\":\n\t\t\treturn \"effect.cancel\";\n\t\tcase \"timeout\":\n\t\t\treturn \"effect.timeout\";\n\t}\n}\n\nfunction processEffectCommandPayload<TResult>(\n\toutcome: ProcessEffectOutcome<TResult>,\n): ProcessEffectCommandPayload<TResult> {\n\tconst base = {\n\t\teffectId: outcome.effectId,\n\t\teffectType: outcome.effectType,\n\t\tprocessId: outcome.processId,\n\t\tcorrelationId: outcome.correlationId,\n\t\tcausationId: outcome.causationId,\n\t\tmetadata: outcome.metadata,\n\t};\n\tswitch (outcome.kind) {\n\t\tcase \"result\":\n\t\t\treturn { ...base, kind: \"result\", value: outcome.value };\n\t\tcase \"failure\":\n\t\t\treturn { ...base, kind: \"failure\", error: outcome.error };\n\t\tcase \"cancel\":\n\t\t\treturn { ...base, kind: \"cancel\", reason: outcome.reason };\n\t\tcase \"timeout\":\n\t\t\treturn { ...base, kind: \"timeout\", error: outcome.error };\n\t}\n}\n\nfunction attachProcessCommandSource(\n\tprocess: ProcessBundle<unknown, unknown, unknown, unknown>,\n\tsource: Node<ProcessCommand<unknown>>,\n): void {\n\tconst attached = processCommandSources.get(process);\n\tif (attached === undefined) {\n\t\tthrow new Error(\"processEffectRunner: process command source registry missing\");\n\t}\n\tconst sources = attached.sources as Node<ProcessCommand<unknown>>[];\n\tconst previousSources = [...sources];\n\tif (!sources.includes(source)) sources.push(source);\n\ttry {\n\t\tprocess.command.replaceDeps([...sources], processCommandSourceFn(sources.length));\n\t} catch (error) {\n\t\tsources.splice(0, sources.length, ...previousSources);\n\t\tprocess.command.replaceDeps(\n\t\t\t[...previousSources],\n\t\t\tprocessCommandSourceFn(previousSources.length),\n\t\t);\n\t\tthrow error;\n\t}\n}\n\nfunction detachProcessCommandSource(\n\tprocess: ProcessBundle<unknown, unknown, unknown, unknown>,\n\tsource: Node<ProcessCommand<unknown>>,\n): void {\n\tconst attached = processCommandSources.get(process);\n\tif (attached === undefined) {\n\t\tthrow new Error(\"processEffectRunner: process command source registry missing\");\n\t}\n\tconst sources = attached.sources as Node<ProcessCommand<unknown>>[];\n\tif (!sources.includes(source)) return;\n\tconst previousSources = [...sources];\n\tconst nextSources = sources.filter((candidate) => candidate !== source);\n\tsources.splice(0, sources.length, ...nextSources);\n\ttry {\n\t\tprocess.command.replaceDeps([...nextSources], processCommandSourceFn(nextSources.length));\n\t} catch (error) {\n\t\tsources.splice(0, sources.length, ...previousSources);\n\t\tprocess.command.replaceDeps(\n\t\t\t[...previousSources],\n\t\t\tprocessCommandSourceFn(previousSources.length),\n\t\t);\n\t\tthrow error;\n\t}\n}\n\nfunction processCommandSourceFn(sourceCount: number) {\n\treturn (ctx: Parameters<NodeFn>[0]) => {\n\t\tfor (let i = 0; i < sourceCount; i += 1) {\n\t\t\tfor (const command of depBatch(ctx, i) ?? []) {\n\t\t\t\tctx.down([[\"DATA\", command as ProcessCommand<unknown>]]);\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction processRuntimeDraft<TState>(\n\tstate: ProcessRuntimeState<TState>,\n): ProcessRuntimeState<TState> {\n\treturn {\n\t\teventSeq: state.eventSeq,\n\t\teffectSeq: state.effectSeq,\n\t\tcommandCount: state.commandCount,\n\t\terrorCount: state.errorCount,\n\t\tauditSeq: state.auditSeq,\n\t\tseenEventIds: [...state.seenEventIds],\n\t\tseenEffectIds: [...state.seenEffectIds],\n\t\tstate: state.state,\n\t};\n}\n\nfunction reduceProcessCommandFact<TState>(\n\traw: unknown,\n\tstate: ProcessRuntimeState<TState>,\n\treduce: ProcessReducer<unknown, TState, unknown, unknown>,\n\tnow: () => number,\n\temit: (fact: ProcessRuntimeFact<TState, unknown, unknown>) => void,\n): ProcessRuntimeState<TState> {\n\tconst draft = processRuntimeDraft(state);\n\tdraft.commandCount += 1;\n\tconst parsed = parseProcessCommand(raw);\n\tif (typeof parsed === \"string\") {\n\t\temitProcessFailure(draft, emit, raw, undefined, \"malformed-command\", parsed);\n\t\treturn draft;\n\t}\n\tconst command = parsed as ProcessCommand<unknown>;\n\tlet reduction: ProcessReduction<TState, unknown, unknown>;\n\tconst reducerState = cloneProcessState(state.state);\n\tif (!reducerState.ok) {\n\t\temitProcessFailure(draft, emit, command, command, \"malformed-state\", reducerState.message);\n\t\treturn draft;\n\t}\n\ttry {\n\t\treduction = reduce(command, reducerState.value);\n\t} catch (error) {\n\t\trethrowGraphRuntimeInvariant(error);\n\t\temitProcessFailure(draft, emit, command, command, \"reducer-threw\", errorMessage(error));\n\t\treturn draft;\n\t}\n\tif (!isObjectRecord(reduction) || !(\"state\" in reduction)) {\n\t\temitProcessFailure(\n\t\t\tdraft,\n\t\t\temit,\n\t\t\tcommand,\n\t\t\tcommand,\n\t\t\t\"malformed-state\",\n\t\t\t\"processBundle: reducer must return { state, events?, effects? }\",\n\t\t);\n\t\treturn draft;\n\t}\n\tif (reduction.state === undefined) {\n\t\temitProcessFailure(\n\t\t\tdraft,\n\t\t\temit,\n\t\t\tcommand,\n\t\t\tcommand,\n\t\t\t\"malformed-state\",\n\t\t\t\"processBundle: reducer state must not be undefined\",\n\t\t);\n\t\treturn draft;\n\t}\n\tconst privateState = cloneProcessState(reduction.state);\n\tif (!privateState.ok) {\n\t\temitProcessFailure(draft, emit, command, command, \"malformed-state\", privateState.message);\n\t\treturn draft;\n\t}\n\tconst visibleState = cloneProcessState(privateState.value);\n\tif (!visibleState.ok) {\n\t\temitProcessFailure(draft, emit, command, command, \"malformed-state\", visibleState.message);\n\t\treturn draft;\n\t}\n\tconst preparedEvents = prepareProcessEvents(command, draft, reduction.events ?? []);\n\tif (typeof preparedEvents === \"string\") {\n\t\temitProcessFailure(draft, emit, command, command, \"malformed-event\", preparedEvents);\n\t\treturn draft;\n\t}\n\tconst preparedEffects = prepareProcessEffects(command, draft, reduction.effects ?? []);\n\tif (typeof preparedEffects === \"string\") {\n\t\temitProcessFailure(draft, emit, command, command, \"malformed-effect\", preparedEffects);\n\t\treturn draft;\n\t}\n\tconst timestampMs = readTimestampMs(now);\n\tif (typeof timestampMs === \"string\") {\n\t\temitProcessFailure(draft, emit, command, command, \"clock-threw\", timestampMs);\n\t\treturn draft;\n\t}\n\tdraft.state = privateState.value;\n\temit({ kind: \"state\", state: visibleState.value, cursor: processCursorOf(draft) });\n\tconst events: ProcessEvent<unknown>[] = [];\n\tfor (const eventDraft of preparedEvents) {\n\t\tdraft.eventSeq += 1;\n\t\tdraft.seenEventIds.push(eventDraft.id);\n\t\tconst event: ProcessEvent<unknown> = {\n\t\t\tid: eventDraft.id,\n\t\t\ttype: eventDraft.type,\n\t\t\tseq: draft.eventSeq,\n\t\t\tcursor: draft.eventSeq,\n\t\t\tcommandId: command.id,\n\t\t\tcommandType: command.type,\n\t\t\tpayload: eventDraft.payload,\n\t\t\ttimestampMs,\n\t\t\t...(eventDraft.processId === undefined ? {} : { processId: eventDraft.processId }),\n\t\t\t...(eventDraft.correlationId === undefined\n\t\t\t\t? {}\n\t\t\t\t: { correlationId: eventDraft.correlationId }),\n\t\t\t...(eventDraft.causationId === undefined ? {} : { causationId: eventDraft.causationId }),\n\t\t\t...(eventDraft.metadata === undefined ? {} : { metadata: eventDraft.metadata }),\n\t\t};\n\t\tevents.push(event);\n\t\temit({ kind: \"event\", event });\n\t}\n\tconst effects: ProcessEffectRequest<unknown>[] = [];\n\tfor (const effectDraft of preparedEffects) {\n\t\tdraft.effectSeq += 1;\n\t\tdraft.seenEffectIds.push(effectDraft.id);\n\t\tconst effect: ProcessEffectRequest<unknown> = {\n\t\t\tid: effectDraft.id,\n\t\t\ttype: effectDraft.type,\n\t\t\tseq: draft.effectSeq,\n\t\t\tcursor: draft.effectSeq,\n\t\t\tcommandId: command.id,\n\t\t\tcommandType: command.type,\n\t\t\tpayload: effectDraft.payload,\n\t\t\ttimestampMs,\n\t\t\t...(effectDraft.processId === undefined ? {} : { processId: effectDraft.processId }),\n\t\t\t...(effectDraft.correlationId === undefined\n\t\t\t\t? {}\n\t\t\t\t: { correlationId: effectDraft.correlationId }),\n\t\t\t...(effectDraft.causationId === undefined ? {} : { causationId: effectDraft.causationId }),\n\t\t\t...(effectDraft.metadata === undefined ? {} : { metadata: effectDraft.metadata }),\n\t\t};\n\t\teffects.push(effect);\n\t\temit({ kind: \"effect-request\", effect });\n\t}\n\temitProcessStatus(draft, emit, command, \"accepted\", events.length, effects.length);\n\temitProcessAudit(draft, emit, command, \"success\", events, effects, undefined, undefined);\n\temit({ kind: \"cursor\", cursor: processCursorOf(draft) });\n\treturn draft;\n}\n\nfunction processProjection<TOut, TState, TEvent, TEffect>(\n\tgraph: Graph | TopologyGroup,\n\truntime: Node<ProcessRuntimeFact<TState, TEvent, TEffect>>,\n\tname: string,\n\tfactory: string,\n\tselect: (fact: ProcessRuntimeFact<TState, TEvent, TEffect>) => TOut | undefined,\n): Node<TOut> {\n\treturn graph.node<TOut>(\n\t\t[runtime],\n\t\t(ctx) => {\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst selected = select(raw as ProcessRuntimeFact<TState, TEvent, TEffect>);\n\t\t\t\tif (selected !== undefined) ctx.down([[\"DATA\", selected]]);\n\t\t\t}\n\t\t},\n\t\t{ name, factory, completeWhenDepsComplete: false, errorWhenDepsError: false },\n\t);\n}\n\nfunction parseProcessCommand(value: unknown): ProcessCommand<unknown> | string {\n\tif (!isObjectRecord(value)) return \"processBundle: command fact must be an object\";\n\tif (typeof value.id !== \"string\" || value.id.length === 0) {\n\t\treturn \"processBundle: command id must be a non-empty string\";\n\t}\n\tif (typeof value.type !== \"string\" || value.type.length === 0) {\n\t\treturn \"processBundle: command type must be a non-empty string\";\n\t}\n\treturn {\n\t\tid: value.id,\n\t\ttype: value.type,\n\t\tpayload: value.payload,\n\t\t...(typeof value.processId === \"string\" ? { processId: value.processId } : {}),\n\t\t...(typeof value.correlationId === \"string\" ? { correlationId: value.correlationId } : {}),\n\t\t...(typeof value.causationId === \"string\" ? { causationId: value.causationId } : {}),\n\t\t...(isObjectRecord(value.metadata) ? { metadata: value.metadata } : {}),\n\t};\n}\n\nfunction prepareProcessEvents(\n\tcommand: ProcessCommand<unknown>,\n\tstate: ProcessRuntimeState<unknown>,\n\tdrafts: readonly ProcessEventDraft<unknown>[],\n): Array<ProcessEventDraft<unknown> & { readonly id: string }> | string {\n\tif (!Array.isArray(drafts)) return \"processBundle: events must be an array\";\n\tconst seen = new Set<string>();\n\tconst out: Array<ProcessEventDraft<unknown> & { readonly id: string }> = [];\n\tfor (let i = 0; i < drafts.length; i += 1) {\n\t\tconst draft = drafts[i];\n\t\tif (!isObjectRecord(draft) || typeof draft.type !== \"string\" || draft.type.length === 0) {\n\t\t\treturn \"processBundle: event draft must have a non-empty type\";\n\t\t}\n\t\tconst id =\n\t\t\ttypeof draft.id === \"string\" && draft.id.length > 0\n\t\t\t\t? draft.id\n\t\t\t\t: `${command.id}:event:${state.eventSeq + i + 1}`;\n\t\tif (seen.has(id)) return `processBundle: duplicate event '${id}'`;\n\t\tif (state.seenEventIds.includes(id)) return `processBundle: duplicate event '${id}'`;\n\t\tseen.add(id);\n\t\tout.push({\n\t\t\tid,\n\t\t\ttype: draft.type,\n\t\t\tpayload: draft.payload,\n\t\t\t...(typeof draft.processId === \"string\" ? { processId: draft.processId } : {}),\n\t\t\t...(typeof draft.correlationId === \"string\" ? { correlationId: draft.correlationId } : {}),\n\t\t\t...(typeof draft.causationId === \"string\" ? { causationId: draft.causationId } : {}),\n\t\t\t...(isObjectRecord(draft.metadata) ? { metadata: draft.metadata } : {}),\n\t\t});\n\t}\n\treturn out;\n}\n\nfunction prepareProcessEffects(\n\tcommand: ProcessCommand<unknown>,\n\tstate: ProcessRuntimeState<unknown>,\n\tdrafts: readonly ProcessEffectRequestDraft<unknown>[],\n): Array<ProcessEffectRequestDraft<unknown> & { readonly id: string }> | string {\n\tif (!Array.isArray(drafts)) return \"processBundle: effects must be an array\";\n\tconst seen = new Set<string>();\n\tconst out: Array<ProcessEffectRequestDraft<unknown> & { readonly id: string }> = [];\n\tfor (let i = 0; i < drafts.length; i += 1) {\n\t\tconst draft = drafts[i];\n\t\tif (!isObjectRecord(draft) || typeof draft.type !== \"string\" || draft.type.length === 0) {\n\t\t\treturn \"processBundle: effect draft must have a non-empty type\";\n\t\t}\n\t\tconst id =\n\t\t\ttypeof draft.id === \"string\" && draft.id.length > 0\n\t\t\t\t? draft.id\n\t\t\t\t: `${command.id}:effect:${state.effectSeq + i + 1}`;\n\t\tif (seen.has(id)) return `processBundle: duplicate effect '${id}'`;\n\t\tif (state.seenEffectIds.includes(id)) return `processBundle: duplicate effect '${id}'`;\n\t\tseen.add(id);\n\t\tout.push({\n\t\t\tid,\n\t\t\ttype: draft.type,\n\t\t\tpayload: draft.payload,\n\t\t\t...(typeof draft.processId === \"string\" ? { processId: draft.processId } : {}),\n\t\t\t...(typeof draft.correlationId === \"string\" ? { correlationId: draft.correlationId } : {}),\n\t\t\t...(typeof draft.causationId === \"string\" ? { causationId: draft.causationId } : {}),\n\t\t\t...(isObjectRecord(draft.metadata) ? { metadata: draft.metadata } : {}),\n\t\t});\n\t}\n\treturn out;\n}\n\nfunction emitProcessFailure<TState>(\n\tstate: ProcessRuntimeState<TState>,\n\temit: (fact: ProcessRuntimeFact<TState, unknown, unknown>) => void,\n\traw: unknown,\n\tcommand: ProcessCommand<unknown> | undefined,\n\tcode: ProcessErrorCode,\n\tmessage: string,\n): void {\n\tstate.errorCount += 1;\n\tconst cursor = processCursorOf(state);\n\tconst error: ProcessError = {\n\t\tcode,\n\t\tmessage,\n\t\tcommand: raw,\n\t\t...(command === undefined ? {} : { commandId: command.id, commandType: command.type }),\n\t\tcursor,\n\t};\n\temit({ kind: \"error\", error });\n\temitProcessStatus(state, emit, command, \"rejected\", 0, 0, code);\n\temitProcessAudit(state, emit, command, \"failure\", [], [], code, message);\n\temit({ kind: \"cursor\", cursor: processCursorOf(state) });\n}\n\nfunction emitProcessStatus<TState>(\n\tstate: ProcessRuntimeState<TState>,\n\temit: (fact: ProcessRuntimeFact<TState, unknown, unknown>) => void,\n\tcommand: ProcessCommand<unknown> | undefined,\n\tstatusState: ProcessStatus[\"state\"],\n\teventCount: number,\n\teffectCount: number,\n\terrorCode?: ProcessErrorCode,\n): void {\n\temit({\n\t\tkind: \"status\",\n\t\tstatus: {\n\t\t\tstate: statusState,\n\t\t\t...(command === undefined ? {} : { commandId: command.id, commandType: command.type }),\n\t\t\teventCount,\n\t\t\teffectCount,\n\t\t\t...(errorCode === undefined ? {} : { errorCode }),\n\t\t\tcursor: processCursorOf(state),\n\t\t},\n\t});\n}\n\nfunction emitProcessAudit<TState>(\n\tstate: ProcessRuntimeState<TState>,\n\temit: (fact: ProcessRuntimeFact<TState, unknown, unknown>) => void,\n\tcommand: ProcessCommand<unknown> | undefined,\n\toutcome: ProcessAuditRecord[\"outcome\"],\n\tevents: readonly ProcessEvent<unknown>[],\n\teffects: readonly ProcessEffectRequest<unknown>[],\n\terrorCode: ProcessErrorCode | undefined,\n\terrorMessage: string | undefined,\n): void {\n\tstate.auditSeq += 1;\n\temit({\n\t\tkind: \"audit\",\n\t\taudit: {\n\t\t\tseq: state.auditSeq,\n\t\t\t...(command === undefined ? {} : { commandId: command.id, commandType: command.type }),\n\t\t\toutcome,\n\t\t\teventIds: events.map((event) => event.id),\n\t\t\teventTypes: events.map((event) => event.type),\n\t\t\teffectIds: effects.map((effect) => effect.id),\n\t\t\teffectTypes: effects.map((effect) => effect.type),\n\t\t\t...(errorCode === undefined ? {} : { errorCode }),\n\t\t\t...(errorMessage === undefined ? {} : { errorMessage }),\n\t\t\tcursor: processCursorOf(state),\n\t\t},\n\t});\n}\n\nfunction processCursorOf(state: ProcessRuntimeState<unknown>): ProcessCursor {\n\treturn {\n\t\teventSeq: state.eventSeq,\n\t\teffectSeq: state.effectSeq,\n\t\tcommandCount: state.commandCount,\n\t\terrorCount: state.errorCount,\n\t\tauditSeq: state.auditSeq,\n\t};\n}\n\ntype CloneProcessStateResult<TState> =\n\t| { readonly ok: true; readonly value: TState }\n\t| { readonly ok: false; readonly message: string };\n\nfunction cloneProcessState<TState>(state: TState): CloneProcessStateResult<TState> {\n\tif (typeof state !== \"object\" || state === null) return { ok: true, value: state };\n\ttry {\n\t\tif (typeof globalThis.structuredClone === \"function\") {\n\t\t\treturn { ok: true, value: globalThis.structuredClone(state) as TState };\n\t\t}\n\t\treturn { ok: true, value: JSON.parse(JSON.stringify(state)) as TState };\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: `processBundle: state must be cloneable before reducer execution (${errorMessage(error)})`,\n\t\t};\n\t}\n}\n\nfunction readTimestampMs(now: () => number): number | string {\n\ttry {\n\t\tconst timestampMs = now();\n\t\tif (!Number.isFinite(timestampMs)) return \"processBundle: now() must return a finite number\";\n\t\treturn timestampMs;\n\t} catch (error) {\n\t\treturn errorMessage(error);\n\t}\n}\n\nfunction rethrowGraphRuntimeInvariant(error: unknown): void {\n\tconst message = errorMessage(error);\n\tif (\n\t\tmessage.includes(\"R-reentrancy\") ||\n\t\tmessage.includes(\"R-rewire\") ||\n\t\tmessage.includes(\"R-graph-domain\") ||\n\t\tmessage.includes(\"D37\") ||\n\t\tmessage.includes(\"D22\") ||\n\t\tmessage.includes(\"different graph\") ||\n\t\tmessage.includes(\"cross-graph\") ||\n\t\tmessage.includes(\"wire bridge\") ||\n\t\tmessage.includes(\"mid-fn topology mutation\") ||\n\t\tmessage.includes(\"reentrant dep mutation\") ||\n\t\tmessage.includes(\"feedback cycle\")\n\t) {\n\t\tthrow error;\n\t}\n}\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction errorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n"],"mappings":"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","names":["allowed","status","state","errorMessage"]}
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { DataIssue } from '../data/index.cjs';
|
|
2
|
-
import { d as Graph } from '../graph-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { ProcessCommand, ProcessStatus, ProcessEvent } from '
|
|
2
|
+
import { d as Graph } from '../graph-C1C-wb0L.cjs';
|
|
3
|
+
import { N as Node } from '../types-CTN3XoMl.cjs';
|
|
4
|
+
import { M as MessageBusMessage, a as MessageBusCommand, b as MessageBusAvailablePage } from '../types-BAw2QVVE.cjs';
|
|
5
|
+
import { P as ProcessCommand, a as ProcessStatus, b as ProcessEvent } from '../process-types-BB7oRhX3.cjs';
|
|
6
6
|
import '../core/index.cjs';
|
|
7
7
|
import '../messages-CAzUPPJM.cjs';
|
|
8
8
|
import '../codec-BB7p8fJc.cjs';
|
|
9
|
-
import '../describe-
|
|
10
|
-
import '../resilience-Dig3Q7n0.cjs';
|
|
11
|
-
import '../agent-runtime-DZTJ3C-p.cjs';
|
|
12
|
-
import '../work-item-runtime-qaVgsL0T.cjs';
|
|
9
|
+
import '../describe-BumQ-3_0.cjs';
|
|
13
10
|
|
|
14
11
|
/**
|
|
15
12
|
* Optional orchestration-over-messageBus recipe (D349/D351/D353).
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { DataIssue } from '../data/index.js';
|
|
2
|
-
import { d as Graph } from '../graph-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { ProcessCommand, ProcessStatus, ProcessEvent } from '
|
|
2
|
+
import { d as Graph } from '../graph-CS0b4V9B.js';
|
|
3
|
+
import { N as Node } from '../types-DChxk1vK.js';
|
|
4
|
+
import { M as MessageBusMessage, a as MessageBusCommand, b as MessageBusAvailablePage } from '../types-DRu7SnLV.js';
|
|
5
|
+
import { P as ProcessCommand, a as ProcessStatus, b as ProcessEvent } from '../process-types-QNhyoYJ8.js';
|
|
6
6
|
import '../core/index.js';
|
|
7
7
|
import '../messages-CAzUPPJM.js';
|
|
8
8
|
import '../codec-BB7p8fJc.js';
|
|
9
|
-
import '../describe-
|
|
10
|
-
import '../resilience-Dig3Q7n0.js';
|
|
11
|
-
import '../agent-runtime-BesGDZcB.js';
|
|
12
|
-
import '../work-item-runtime-C3M79vE9.js';
|
|
9
|
+
import '../describe-cYr_Z5zm.js';
|
|
13
10
|
|
|
14
11
|
/**
|
|
15
12
|
* Optional orchestration-over-messageBus recipe (D349/D351/D353).
|