@graphrefly/ts 0.0.0 → 0.0.2
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 +135 -0
- package/dist/actions-types-CSC3NMDl.d.ts +657 -0
- package/dist/actions-types-wl9Mgkmr.d.cts +657 -0
- package/dist/adapters/index.cjs +5219 -2974
- package/dist/adapters/index.cjs.map +1 -1
- package/dist/adapters/index.d.cts +204 -192
- package/dist/adapters/index.d.ts +204 -192
- package/dist/adapters/index.js +3685 -1833
- 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 +4 -4
- package/dist/adapters/observe-storage.d.ts +4 -4
- package/dist/adapters/observe-storage.js +5 -4
- package/dist/adapters/observe-storage.js.map +1 -1
- package/dist/adapters/react.cjs +166 -0
- package/dist/adapters/react.cjs.map +1 -0
- package/dist/adapters/react.d.cts +31 -0
- package/dist/adapters/react.d.ts +31 -0
- package/dist/adapters/react.js +51 -0
- package/dist/adapters/react.js.map +1 -0
- package/dist/adapters/solid.cjs +157 -0
- package/dist/adapters/solid.cjs.map +1 -0
- package/dist/adapters/solid.d.cts +26 -0
- package/dist/adapters/solid.d.ts +26 -0
- package/dist/adapters/solid.js +48 -0
- package/dist/adapters/solid.js.map +1 -0
- package/dist/adapters/svelte.cjs +148 -0
- package/dist/adapters/svelte.cjs.map +1 -0
- package/dist/adapters/svelte.d.cts +31 -0
- package/dist/adapters/svelte.d.ts +31 -0
- package/dist/adapters/svelte.js +46 -0
- package/dist/adapters/svelte.js.map +1 -0
- package/dist/adapters/vue.cjs +155 -0
- package/dist/adapters/vue.cjs.map +1 -0
- package/dist/adapters/vue.d.cts +26 -0
- package/dist/adapters/vue.d.ts +26 -0
- package/dist/adapters/vue.js +46 -0
- package/dist/adapters/vue.js.map +1 -0
- package/dist/agent-runtime-types-core-CaXfKNtY.d.cts +406 -0
- package/dist/agent-runtime-types-core-hU299uIC.d.ts +406 -0
- package/dist/agent-runtime-types-tool-BEpSINol.d.ts +695 -0
- package/dist/agent-runtime-types-tool-DninPEzk.d.cts +695 -0
- package/dist/agentic-memory-retention-BmGX368S.d.ts +14 -0
- package/dist/agentic-memory-retention-Ih1qhX9Z.d.cts +14 -0
- package/dist/agentic-memory-types-CVSUS6XR.d.ts +473 -0
- package/dist/agentic-memory-types-FnnYlVUs.d.cts +473 -0
- package/dist/capability-admission-BW2CziT6.d.ts +102 -0
- package/dist/capability-admission-lwSecxXs.d.cts +102 -0
- package/dist/chunk-2KUAG2GZ.js +9693 -0
- package/dist/chunk-2KUAG2GZ.js.map +1 -0
- package/dist/chunk-2NJP6GO4.js +1320 -0
- package/dist/chunk-2NJP6GO4.js.map +1 -0
- package/dist/{chunk-GDL26N2T.js → chunk-3KN7NJDR.js} +2 -2
- package/dist/{chunk-COHO25CZ.js → chunk-4NWSNI4K.js} +2232 -1672
- package/dist/chunk-4NWSNI4K.js.map +1 -0
- package/dist/{chunk-Z2ANQ6JW.js → chunk-4Q77MMJY.js} +2 -2
- 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-D6BG7U6A.js → chunk-7HZRJMN6.js} +3 -3
- package/dist/{chunk-SCRFRCGR.js → chunk-BSQGE5PS.js} +1 -1
- package/dist/{chunk-PKVBHGBM.js → chunk-CJIFGJQG.js} +7 -7
- package/dist/{chunk-G4M3NHRJ.js → chunk-CX6B6PO2.js} +93 -10
- package/dist/chunk-CX6B6PO2.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +11 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/{chunk-JIMUDQN3.js → chunk-E4QCH32M.js} +449 -447
- package/dist/chunk-E4QCH32M.js.map +1 -0
- package/dist/{chunk-RIIOUTGM.js → chunk-ECURQ3HD.js} +19 -129
- package/dist/chunk-ECURQ3HD.js.map +1 -0
- package/dist/{chunk-2ILL7HQI.js → chunk-EOKT4QFF.js} +134 -128
- package/dist/chunk-EOKT4QFF.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-L6LDXRWE.js +219 -0
- package/dist/chunk-L6LDXRWE.js.map +1 -0
- package/dist/chunk-M7J6Z4IJ.js +1930 -0
- package/dist/chunk-M7J6Z4IJ.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-PVC7WDKI.js +885 -0
- package/dist/chunk-PVC7WDKI.js.map +1 -0
- package/dist/chunk-RAHNUYA5.js +368 -0
- package/dist/chunk-RAHNUYA5.js.map +1 -0
- package/dist/{chunk-DK554R7P.js → chunk-S6HXABGL.js} +2 -1
- package/dist/chunk-S6HXABGL.js.map +1 -0
- package/dist/{chunk-I3IHOHCJ.js → chunk-SHZDP2MQ.js} +1181 -1001
- package/dist/chunk-SHZDP2MQ.js.map +1 -0
- package/dist/{chunk-Y3ZLRGHC.js → chunk-SIDJO2T4.js} +16 -16
- package/dist/chunk-STXRMPW4.js +4131 -0
- package/dist/chunk-STXRMPW4.js.map +1 -0
- package/dist/{chunk-JR4IKCR2.js → chunk-TPND5MJS.js} +5 -5
- package/dist/chunk-TQPCAIQI.js +612 -0
- package/dist/chunk-TQPCAIQI.js.map +1 -0
- package/dist/chunk-UT3MHJCW.js +49 -0
- package/dist/chunk-UT3MHJCW.js.map +1 -0
- package/dist/{chunk-TEW47IVR.js → chunk-VPEFSDME.js} +2 -2
- package/dist/{chunk-SWTLEQL6.js → chunk-WQIA3GFB.js} +2 -2
- package/dist/chunk-WQIA3GFB.js.map +1 -0
- package/dist/{chunk-DJC4CHLQ.js → chunk-YDWBXXQZ.js} +5 -5
- package/dist/{chunk-6PHB5CJS.js → chunk-ZLFRB6FI.js} +2 -2
- package/dist/composition/index.cjs +1256 -1059
- package/dist/composition/index.cjs.map +1 -1
- package/dist/composition/index.d.cts +4 -4
- package/dist/composition/index.d.ts +4 -4
- package/dist/composition/index.js +7 -6
- package/dist/core/index.cjs +1218 -1021
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +5 -4
- package/dist/cqrs/index.cjs.map +1 -1
- package/dist/cqrs/index.d.cts +4 -4
- package/dist/cqrs/index.d.ts +4 -4
- package/dist/cqrs/index.js +3 -2
- package/dist/cqrs/index.js.map +1 -1
- package/dist/cqrs/messaging.cjs +312 -0
- package/dist/cqrs/messaging.cjs.map +1 -0
- package/dist/cqrs/messaging.d.cts +57 -0
- package/dist/cqrs/messaging.d.ts +57 -0
- package/dist/cqrs/messaging.js +274 -0
- package/dist/cqrs/messaging.js.map +1 -0
- package/dist/cqrs/work-queue.cjs +329 -0
- package/dist/cqrs/work-queue.cjs.map +1 -0
- package/dist/cqrs/work-queue.d.cts +90 -0
- package/dist/cqrs/work-queue.d.ts +90 -0
- package/dist/cqrs/work-queue.js +292 -0
- package/dist/cqrs/work-queue.js.map +1 -0
- package/dist/data/index.cjs +19 -0
- package/dist/data/index.cjs.map +1 -0
- package/dist/data/index.d.cts +36 -0
- package/dist/data/index.d.ts +36 -0
- package/dist/data/index.js +1 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data-structures/index.cjs +1252 -1052
- package/dist/data-structures/index.cjs.map +1 -1
- package/dist/data-structures/index.d.cts +9 -8
- package/dist/data-structures/index.d.ts +9 -8
- package/dist/data-structures/index.js +9 -7
- package/dist/{describe-BZb7AS2y.d.ts → describe-B_A5fbXH.d.ts} +1 -1
- package/dist/{describe-Ciu8SUnN.d.cts → describe-CQRrkv-Q.d.cts} +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.cjs +342 -0
- package/dist/executors/work-queue.cjs.map +1 -0
- package/dist/executors/work-queue.d.cts +90 -0
- package/dist/executors/work-queue.d.ts +90 -0
- package/dist/executors/work-queue.js +306 -0
- package/dist/executors/work-queue.js.map +1 -0
- package/dist/graph/index.cjs +1536 -1324
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +10 -9
- package/dist/graph/index.d.ts +10 -9
- package/dist/graph/index.js +22 -20
- package/dist/{graph-s23RbbFO.d.cts → graph-CWK3HLPB.d.cts} +134 -132
- package/dist/{graph-DfdF9zy4.d.ts → graph-ho5sotHP.d.ts} +134 -132
- package/dist/{index-SnzZu3x7.d.ts → index-CQWcE0Dw.d.ts} +18 -4
- package/dist/{index-CAEmLCYF.d.cts → index-DHA1i67c.d.cts} +18 -4
- package/dist/index.cjs +3331 -3020
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -10
- package/dist/index.d.ts +14 -10
- package/dist/index.js +114 -108
- package/dist/inspection/boundary.cjs +98 -0
- package/dist/inspection/boundary.cjs.map +1 -0
- package/dist/inspection/boundary.d.cts +61 -0
- package/dist/inspection/boundary.d.ts +61 -0
- package/dist/inspection/boundary.js +75 -0
- package/dist/inspection/boundary.js.map +1 -0
- package/dist/measurements-C0mAvWU1.d.cts +164 -0
- package/dist/measurements-OMpCeBwh.d.ts +164 -0
- package/dist/{messages-BZqrGGm1.d.ts → messages-CAzUPPJM.d.cts} +10 -5
- package/dist/{messages-BZqrGGm1.d.cts → messages-CAzUPPJM.d.ts} +10 -5
- package/dist/messaging/index.cjs +756 -619
- package/dist/messaging/index.cjs.map +1 -1
- package/dist/messaging/index.d.cts +17 -226
- package/dist/messaging/index.d.ts +17 -226
- package/dist/messaging/index.js +19 -749
- package/dist/messaging/index.js.map +1 -1
- package/dist/operators/index.cjs +1256 -1059
- package/dist/operators/index.cjs.map +1 -1
- package/dist/operators/index.d.cts +6 -6
- package/dist/operators/index.d.ts +6 -6
- package/dist/operators/index.js +9 -8
- package/dist/orchestration/index.cjs +8664 -2617
- package/dist/orchestration/index.cjs.map +1 -1
- package/dist/orchestration/index.d.cts +171 -221
- package/dist/orchestration/index.d.ts +171 -221
- package/dist/orchestration/index.js +74 -982
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/messaging.cjs +314 -0
- package/dist/orchestration/messaging.cjs.map +1 -0
- package/dist/orchestration/messaging.d.cts +56 -0
- package/dist/orchestration/messaging.d.ts +56 -0
- package/dist/orchestration/messaging.js +276 -0
- package/dist/orchestration/messaging.js.map +1 -0
- package/dist/orchestration/work-queue.cjs +1500 -0
- package/dist/orchestration/work-queue.cjs.map +1 -0
- package/dist/orchestration/work-queue.d.cts +196 -0
- package/dist/orchestration/work-queue.d.ts +196 -0
- package/dist/orchestration/work-queue.js +1289 -0
- package/dist/orchestration/work-queue.js.map +1 -0
- package/dist/patterns/event-flow.cjs +433 -0
- package/dist/patterns/event-flow.cjs.map +1 -0
- package/dist/patterns/event-flow.d.cts +115 -0
- package/dist/patterns/event-flow.d.ts +115 -0
- package/dist/patterns/event-flow.js +14 -0
- package/dist/patterns/event-flow.js.map +1 -0
- package/dist/patterns/index.cjs +748 -355
- package/dist/patterns/index.cjs.map +1 -1
- package/dist/patterns/index.d.cts +9 -5
- package/dist/patterns/index.d.ts +9 -5
- package/dist/patterns/index.js +13 -4
- package/dist/process-types-C9uMYz3i.d.ts +200 -0
- package/dist/process-types-h3uRlzDc.d.cts +200 -0
- package/dist/{reactive-collection-BxBqtIOE.d.cts → reactive-collection-B9R0Bl1P.d.cts} +11 -41
- package/dist/{reactive-collection-Cb1II1Fi.d.ts → reactive-collection-BXFrH0U2.d.ts} +11 -41
- package/dist/{reactive-collection-storage-D-KmjE0J.d.cts → reactive-collection-storage-BLGv8Xp8.d.cts} +5 -5
- package/dist/{reactive-collection-storage-BNiEc-Gd.d.ts → reactive-collection-storage-a4zD3665.d.ts} +5 -5
- package/dist/{reactive-map-BcB4KsQR.d.ts → reactive-map-C_8sOfdS.d.cts} +7 -6
- package/dist/{reactive-map-D-g3dv8I.d.cts → reactive-map-jle5dnok.d.ts} +7 -6
- package/dist/render/index.d.cts +3 -3
- package/dist/render/index.d.ts +3 -3
- package/dist/render/index.js +1 -0
- package/dist/scheduled-readiness-5rwQlyjV.d.ts +91 -0
- package/dist/scheduled-readiness-DpRY8jI0.d.cts +91 -0
- package/dist/semantic-memory-graph-C2ZUwIlq.d.ts +30 -0
- package/dist/semantic-memory-graph-DlZBD_Eu.d.cts +30 -0
- package/dist/{semantic-memory-graph-BYoIlP35.d.cts → semantic-memory-graph-types-BvzdqmkY.d.cts} +2 -28
- package/dist/{semantic-memory-graph-CxyXLms3.d.ts → semantic-memory-graph-types-Ci-OtahO.d.ts} +2 -28
- package/dist/solutions/index.cjs +6788 -2128
- package/dist/solutions/index.cjs.map +1 -1
- package/dist/solutions/index.d.cts +15 -519
- package/dist/solutions/index.d.ts +15 -519
- package/dist/solutions/index.js +91 -7
- package/dist/solutions/reactive-layout/browser/index.cjs +457 -0
- package/dist/solutions/reactive-layout/browser/index.cjs.map +1 -0
- package/dist/solutions/reactive-layout/browser/index.d.cts +44 -0
- package/dist/solutions/reactive-layout/browser/index.d.ts +44 -0
- package/dist/solutions/reactive-layout/browser/index.js +69 -0
- package/dist/solutions/reactive-layout/browser/index.js.map +1 -0
- package/dist/solutions/reactive-layout/index.cjs +4494 -0
- package/dist/solutions/reactive-layout/index.cjs.map +1 -0
- package/dist/solutions/reactive-layout/index.d.cts +37 -0
- package/dist/solutions/reactive-layout/index.d.ts +37 -0
- package/dist/solutions/reactive-layout/index.js +146 -0
- package/dist/solutions/reactive-layout/index.js.map +1 -0
- package/dist/solutions/reactive-layout/node-canvas/index.cjs +555 -0
- package/dist/solutions/reactive-layout/node-canvas/index.cjs.map +1 -0
- package/dist/solutions/reactive-layout/node-canvas/index.d.cts +54 -0
- package/dist/solutions/reactive-layout/node-canvas/index.d.ts +54 -0
- package/dist/solutions/reactive-layout/node-canvas/index.js +131 -0
- package/dist/solutions/reactive-layout/node-canvas/index.js.map +1 -0
- package/dist/solutions/reactive-layout/react-native/index.cjs +504 -0
- package/dist/solutions/reactive-layout/react-native/index.cjs.map +1 -0
- package/dist/solutions/reactive-layout/react-native/index.d.cts +51 -0
- package/dist/solutions/reactive-layout/react-native/index.d.ts +51 -0
- package/dist/solutions/reactive-layout/react-native/index.js +77 -0
- package/dist/solutions/reactive-layout/react-native/index.js.map +1 -0
- package/dist/solutions/reactive-layout/skia/index.cjs +557 -0
- package/dist/solutions/reactive-layout/skia/index.cjs.map +1 -0
- package/dist/solutions/reactive-layout/skia/index.d.cts +64 -0
- package/dist/solutions/reactive-layout/skia/index.d.ts +64 -0
- package/dist/solutions/reactive-layout/skia/index.js +70 -0
- package/dist/solutions/reactive-layout/skia/index.js.map +1 -0
- package/dist/solutions/work-item/actions.cjs +2345 -0
- package/dist/solutions/work-item/actions.cjs.map +1 -0
- package/dist/solutions/work-item/actions.d.cts +40 -0
- package/dist/solutions/work-item/actions.d.ts +40 -0
- package/dist/solutions/work-item/actions.js +2078 -0
- package/dist/solutions/work-item/actions.js.map +1 -0
- package/dist/solutions/work-item/scheduling.cjs +9797 -0
- package/dist/solutions/work-item/scheduling.cjs.map +1 -0
- package/dist/solutions/work-item/scheduling.d.cts +1868 -0
- package/dist/solutions/work-item/scheduling.d.ts +1868 -0
- package/dist/solutions/work-item/scheduling.js +146 -0
- package/dist/solutions/work-item/scheduling.js.map +1 -0
- package/dist/solutions/work-item/work-queue.cjs +306 -0
- package/dist/solutions/work-item/work-queue.cjs.map +1 -0
- package/dist/solutions/work-item/work-queue.d.cts +71 -0
- package/dist/solutions/work-item/work-queue.d.ts +71 -0
- package/dist/solutions/work-item/work-queue.js +270 -0
- package/dist/solutions/work-item/work-queue.js.map +1 -0
- package/dist/sources/browser.cjs +1399 -1052
- package/dist/sources/browser.cjs.map +1 -1
- package/dist/sources/browser.d.cts +33 -6
- package/dist/sources/browser.d.ts +33 -6
- package/dist/sources/browser.js +73 -6
- package/dist/sources/browser.js.map +1 -1
- package/dist/sources/index.cjs +1345 -1065
- package/dist/sources/index.cjs.map +1 -1
- package/dist/sources/index.d.cts +5 -5
- package/dist/sources/index.d.ts +5 -5
- package/dist/sources/index.js +7 -6
- package/dist/sources/node.cjs.map +1 -1
- package/dist/sources/node.d.cts +4 -4
- package/dist/sources/node.d.ts +4 -4
- package/dist/sources/node.js +2 -1
- package/dist/sources/node.js.map +1 -1
- package/dist/storage/browser.cjs +16 -0
- package/dist/storage/browser.cjs.map +1 -1
- package/dist/storage/browser.js +4 -3
- package/dist/storage/browser.js.map +1 -1
- package/dist/storage/index.cjs +16 -0
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.cts +6 -5
- package/dist/storage/index.d.ts +6 -5
- package/dist/storage/index.js +10 -9
- package/dist/storage/node.cjs +16 -0
- package/dist/storage/node.cjs.map +1 -1
- package/dist/storage/node.js +4 -3
- package/dist/storage/node.js.map +1 -1
- package/dist/store-BmtEs9mG.d.ts +123 -0
- package/dist/store-PAAsYvML.d.cts +123 -0
- package/dist/testing/index.cjs +1 -0
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +3 -2
- package/dist/types-BRNKoFHj.d.ts +357 -0
- package/dist/{types-h12mNYbq.d.ts → types-BS6CyR-x.d.cts} +49 -130
- package/dist/types-BWK2ay3e.d.cts +457 -0
- package/dist/types-BXKSAoE1.d.cts +357 -0
- package/dist/types-BaPpZItj.d.ts +457 -0
- package/dist/types-BhveCMg5.d.cts +274 -0
- package/dist/{types-bNMSWKqF.d.cts → types-C9NOgNJw.d.ts} +49 -130
- package/dist/types-CTsQ8Ww4.d.ts +274 -0
- package/dist/types-DL_05n2M.d.ts +34 -0
- package/dist/types-XDoqxYO9.d.cts +34 -0
- package/dist/work-item-runtime-types-BqtWnSCS.d.ts +138 -0
- package/dist/work-item-runtime-types-CHO03AKh.d.cts +138 -0
- package/dist/work-queue/index.cjs +1136 -0
- package/dist/work-queue/index.cjs.map +1 -0
- package/dist/work-queue/index.d.cts +21 -0
- package/dist/work-queue/index.d.ts +21 -0
- package/dist/work-queue/index.js +1082 -0
- package/dist/work-queue/index.js.map +1 -0
- package/package.json +603 -249
- package/dist/chunk-2ILL7HQI.js.map +0 -1
- package/dist/chunk-4VLAQHZI.js.map +0 -1
- package/dist/chunk-COHO25CZ.js.map +0 -1
- package/dist/chunk-DK554R7P.js.map +0 -1
- package/dist/chunk-G4M3NHRJ.js.map +0 -1
- package/dist/chunk-I3IHOHCJ.js.map +0 -1
- package/dist/chunk-JIMUDQN3.js.map +0 -1
- package/dist/chunk-RIIOUTGM.js.map +0 -1
- package/dist/chunk-SWTLEQL6.js.map +0 -1
- /package/dist/{chunk-GDL26N2T.js.map → chunk-3KN7NJDR.js.map} +0 -0
- /package/dist/{chunk-Z2ANQ6JW.js.map → chunk-4Q77MMJY.js.map} +0 -0
- /package/dist/{chunk-D6BG7U6A.js.map → chunk-7HZRJMN6.js.map} +0 -0
- /package/dist/{chunk-SCRFRCGR.js.map → chunk-BSQGE5PS.js.map} +0 -0
- /package/dist/{chunk-PKVBHGBM.js.map → chunk-CJIFGJQG.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-Y3ZLRGHC.js.map → chunk-SIDJO2T4.js.map} +0 -0
- /package/dist/{chunk-JR4IKCR2.js.map → chunk-TPND5MJS.js.map} +0 -0
- /package/dist/{chunk-TEW47IVR.js.map → chunk-VPEFSDME.js.map} +0 -0
- /package/dist/{chunk-DJC4CHLQ.js.map → chunk-YDWBXXQZ.js.map} +0 -0
- /package/dist/{chunk-6PHB5CJS.js.map → chunk-ZLFRB6FI.js.map} +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DataIssue } from '../data/index.js';
|
|
2
|
+
import { d as Graph } from '../graph-ho5sotHP.js';
|
|
3
|
+
import { N as Node } from '../types-C9NOgNJw.js';
|
|
4
|
+
import { M as MessageBusMessage, a as MessageBusCommand, b as MessageBusAvailablePage } from '../types-CTsQ8Ww4.js';
|
|
5
|
+
import { P as ProcessCommand, a as ProcessStatus, b as ProcessEvent } from '../process-types-C9uMYz3i.js';
|
|
6
|
+
import '../core/index.js';
|
|
7
|
+
import '../messages-CAzUPPJM.js';
|
|
8
|
+
import '../codec-BB7p8fJc.js';
|
|
9
|
+
import '../describe-B_A5fbXH.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Optional orchestration-over-messageBus recipe (D349/D351/D353).
|
|
13
|
+
*
|
|
14
|
+
* Ack commands are graph-derived from visible ProcessBundle accepted/rejected
|
|
15
|
+
* material; retained delivery receipt is never an ack.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
interface OrchestrationMessagingPolicy<TPayload = unknown, TCommand = unknown> {
|
|
19
|
+
readonly command?: (message: MessageBusMessage<TPayload>, delivery: MessageBusDelivery) => ProcessCommand<TCommand> | undefined;
|
|
20
|
+
readonly ackRejected?: boolean;
|
|
21
|
+
readonly outboxTopic?: string;
|
|
22
|
+
}
|
|
23
|
+
interface OrchestrationMessagingRecipeOptions<TPayload = unknown, TCommand = unknown, TEvent = unknown> {
|
|
24
|
+
readonly name?: string;
|
|
25
|
+
readonly deliveries: Node<MessageBusAvailablePage<TPayload>>;
|
|
26
|
+
readonly status: Node<ProcessStatus>;
|
|
27
|
+
readonly events?: Node<ProcessEvent<TEvent>>;
|
|
28
|
+
readonly policy?: OrchestrationMessagingPolicy<TPayload, TCommand>;
|
|
29
|
+
}
|
|
30
|
+
interface OrchestrationMessagingRecipeBundle<TCommand = unknown> {
|
|
31
|
+
readonly commands: Node<ProcessCommand<TCommand>>;
|
|
32
|
+
readonly ackCommands: Node<MessageBusCommand>;
|
|
33
|
+
readonly outboxCommands?: Node<MessageBusCommand>;
|
|
34
|
+
readonly issues: Node<DataIssue>;
|
|
35
|
+
}
|
|
36
|
+
interface MessageBusDelivery {
|
|
37
|
+
readonly topic: string;
|
|
38
|
+
readonly seq: number;
|
|
39
|
+
readonly subscriptionId: string;
|
|
40
|
+
readonly commandId: string;
|
|
41
|
+
}
|
|
42
|
+
/** Build the optional D349/D351 orchestration messaging recipe. */
|
|
43
|
+
declare function orchestrationMessagingRecipe<TPayload = unknown, TCommand = unknown, TEvent = unknown>(graph: Graph, opts: OrchestrationMessagingRecipeOptions<TPayload, TCommand, TEvent>): OrchestrationMessagingRecipeBundle<TCommand>;
|
|
44
|
+
declare function orchestrationMessageCommand<TPayload = unknown, TCommand = unknown>(message: MessageBusMessage<TPayload>, delivery: MessageBusDelivery, policy?: OrchestrationMessagingPolicy<TPayload, TCommand>): ProcessCommand<TCommand> | undefined;
|
|
45
|
+
declare function orchestrationMessageAckCommands(graph: Graph, opts: {
|
|
46
|
+
readonly name?: string;
|
|
47
|
+
readonly commands: Node<ProcessCommand>;
|
|
48
|
+
readonly status: Node<ProcessStatus>;
|
|
49
|
+
readonly issues?: Node<DataIssue>;
|
|
50
|
+
readonly ackRejected?: boolean;
|
|
51
|
+
}): Node<MessageBusCommand>;
|
|
52
|
+
declare function processEventOutboxCommands<TEvent>(graph: Graph, events: Node<ProcessEvent<TEvent>>, topic: string, opts?: {
|
|
53
|
+
readonly name?: string;
|
|
54
|
+
}): Node<MessageBusCommand>;
|
|
55
|
+
|
|
56
|
+
export { type MessageBusDelivery, type OrchestrationMessagingPolicy, type OrchestrationMessagingRecipeBundle, type OrchestrationMessagingRecipeOptions, orchestrationMessageAckCommands, orchestrationMessageCommand, orchestrationMessagingRecipe, processEventOutboxCommands };
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import {
|
|
2
|
+
depBatch
|
|
3
|
+
} from "../chunk-WQIA3GFB.js";
|
|
4
|
+
import "../chunk-S6HXABGL.js";
|
|
5
|
+
import "../chunk-DGUM43GV.js";
|
|
6
|
+
|
|
7
|
+
// src/orchestration/messaging.ts
|
|
8
|
+
function orchestrationMessagingRecipe(graph, opts) {
|
|
9
|
+
const name = opts.name ?? "orchestrationMessaging";
|
|
10
|
+
const runtime = graph.node(
|
|
11
|
+
[opts.deliveries],
|
|
12
|
+
(ctx) => {
|
|
13
|
+
for (const raw of depBatch(ctx, 0) ?? []) {
|
|
14
|
+
const page = raw;
|
|
15
|
+
for (const message of page.messages) {
|
|
16
|
+
const delivery = messageDelivery(page, message);
|
|
17
|
+
const command = orchestrationMessageCommand(message, delivery, opts.policy);
|
|
18
|
+
if (command === void 0) {
|
|
19
|
+
ctx.down([["DATA", { kind: "issue", issue: messageIssue(message, delivery) }]]);
|
|
20
|
+
} else {
|
|
21
|
+
ctx.down([["DATA", { kind: "command", command }]]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: `${name}/runtime`,
|
|
28
|
+
factory: "orchestrationMessagingRuntime",
|
|
29
|
+
partial: true,
|
|
30
|
+
completeWhenDepsComplete: false,
|
|
31
|
+
errorWhenDepsError: false
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
const issues = project(
|
|
35
|
+
graph,
|
|
36
|
+
runtime,
|
|
37
|
+
`${name}/issues`,
|
|
38
|
+
"orchestrationMessagingIssues",
|
|
39
|
+
(fact) => fact.kind === "issue" ? fact.issue : void 0
|
|
40
|
+
);
|
|
41
|
+
const commands = project(
|
|
42
|
+
graph,
|
|
43
|
+
runtime,
|
|
44
|
+
`${name}/commands`,
|
|
45
|
+
"orchestrationMessagingCommands",
|
|
46
|
+
(fact) => fact.kind === "command" ? fact.command : void 0
|
|
47
|
+
);
|
|
48
|
+
return {
|
|
49
|
+
commands,
|
|
50
|
+
ackCommands: orchestrationMessageAckCommands(graph, {
|
|
51
|
+
name: `${name}/ackCommands`,
|
|
52
|
+
commands,
|
|
53
|
+
status: opts.status,
|
|
54
|
+
issues,
|
|
55
|
+
ackRejected: opts.policy?.ackRejected ?? true
|
|
56
|
+
}),
|
|
57
|
+
...opts.events === void 0 || opts.policy?.outboxTopic === void 0 ? {} : {
|
|
58
|
+
outboxCommands: processEventOutboxCommands(graph, opts.events, opts.policy.outboxTopic, {
|
|
59
|
+
name: `${name}/outboxCommands`
|
|
60
|
+
})
|
|
61
|
+
},
|
|
62
|
+
issues
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function orchestrationMessageCommand(message, delivery, policy) {
|
|
66
|
+
const mapped = policy?.command?.(message, delivery);
|
|
67
|
+
if (mapped !== void 0) return commandWithDelivery(mapped, delivery);
|
|
68
|
+
if (!isObjectRecord(message.payload)) return void 0;
|
|
69
|
+
const id = stringField(message.payload, "id") ?? delivery.commandId;
|
|
70
|
+
const type = stringField(message.payload, "type");
|
|
71
|
+
if (type === void 0) return void 0;
|
|
72
|
+
return commandWithDelivery(
|
|
73
|
+
{
|
|
74
|
+
id,
|
|
75
|
+
type,
|
|
76
|
+
payload: message.payload.payload,
|
|
77
|
+
processId: stringField(message.payload, "processId"),
|
|
78
|
+
correlationId: stringField(message.payload, "correlationId"),
|
|
79
|
+
causationId: stringField(message.payload, "causationId"),
|
|
80
|
+
metadata: {
|
|
81
|
+
...objectField(message.payload, "metadata") ?? {}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
delivery
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
function orchestrationMessageAckCommands(graph, opts) {
|
|
88
|
+
return graph.node(
|
|
89
|
+
opts.issues === void 0 ? [opts.commands, opts.status] : [opts.commands, opts.status, opts.issues],
|
|
90
|
+
(ctx) => {
|
|
91
|
+
const deliveries = ctx.state.get() ?? /* @__PURE__ */ new Map();
|
|
92
|
+
for (const raw of depBatch(ctx, 0) ?? []) {
|
|
93
|
+
const command = raw;
|
|
94
|
+
const delivery = commandDelivery(command);
|
|
95
|
+
if (delivery !== void 0) pushDelivery(deliveries, command.id, delivery);
|
|
96
|
+
}
|
|
97
|
+
for (const raw of depBatch(ctx, 1) ?? []) {
|
|
98
|
+
const status = raw;
|
|
99
|
+
if (status.state === "rejected" && opts.ackRejected === false) continue;
|
|
100
|
+
if (status.commandId === void 0) continue;
|
|
101
|
+
const delivery = shiftDelivery(deliveries, status.commandId);
|
|
102
|
+
if (delivery === void 0) continue;
|
|
103
|
+
ctx.down([
|
|
104
|
+
["DATA", ackCommand(delivery, ackCommandId("orchestration", delivery, "status"))]
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
107
|
+
if (opts.issues !== void 0) {
|
|
108
|
+
for (const raw of depBatch(ctx, 2) ?? []) {
|
|
109
|
+
const delivery = issueDelivery(raw);
|
|
110
|
+
if (delivery !== void 0) {
|
|
111
|
+
ctx.down([
|
|
112
|
+
["DATA", ackCommand(delivery, ackCommandId("orchestration", delivery, "issue"))]
|
|
113
|
+
]);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
ctx.state.set(deliveries);
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: opts.name ?? "orchestrationMessaging/ackCommands",
|
|
121
|
+
factory: "orchestrationMessagingAckCommands",
|
|
122
|
+
partial: true,
|
|
123
|
+
completeWhenDepsComplete: false,
|
|
124
|
+
errorWhenDepsError: false
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
function processEventOutboxCommands(graph, events, topic, opts = {}) {
|
|
129
|
+
return graph.node(
|
|
130
|
+
[events],
|
|
131
|
+
(ctx) => {
|
|
132
|
+
for (const event of depBatch(ctx, 0) ?? []) {
|
|
133
|
+
const typed = event;
|
|
134
|
+
ctx.down([
|
|
135
|
+
[
|
|
136
|
+
"DATA",
|
|
137
|
+
{
|
|
138
|
+
kind: "publish",
|
|
139
|
+
topic,
|
|
140
|
+
payload: typed,
|
|
141
|
+
key: typed.processId,
|
|
142
|
+
commandId: `${typed.id}:process-outbox`,
|
|
143
|
+
idempotencyKey: typed.id
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
]);
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: opts.name ?? "orchestrationMessaging/outboxCommands",
|
|
151
|
+
factory: "orchestrationMessagingOutboxCommands",
|
|
152
|
+
completeWhenDepsComplete: false,
|
|
153
|
+
errorWhenDepsError: false
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
function project(graph, runtime, name, factory, pick) {
|
|
158
|
+
return graph.node(
|
|
159
|
+
[runtime],
|
|
160
|
+
(ctx) => {
|
|
161
|
+
for (const fact of depBatch(ctx, 0) ?? []) {
|
|
162
|
+
const value = pick(fact);
|
|
163
|
+
if (value !== void 0) ctx.down([["DATA", value]]);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
{ name, factory, partial: true, completeWhenDepsComplete: false, errorWhenDepsError: false }
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
function messageIssue(message, delivery) {
|
|
170
|
+
return {
|
|
171
|
+
kind: "issue",
|
|
172
|
+
code: "orchestration-message-lowering-rejected",
|
|
173
|
+
message: "Orchestration messaging recipe could not lower retained message to a command fact",
|
|
174
|
+
severity: "error",
|
|
175
|
+
source: "orchestration.messaging",
|
|
176
|
+
metadata: {
|
|
177
|
+
messageBus: {
|
|
178
|
+
topic: delivery.topic,
|
|
179
|
+
seq: delivery.seq,
|
|
180
|
+
subscriptionId: delivery.subscriptionId,
|
|
181
|
+
commandId: delivery.commandId
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
details: message
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function ackCommand(delivery, commandId) {
|
|
188
|
+
return {
|
|
189
|
+
kind: "ack",
|
|
190
|
+
topic: delivery.topic,
|
|
191
|
+
subscriptionId: delivery.subscriptionId,
|
|
192
|
+
seq: delivery.seq,
|
|
193
|
+
commandId
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
function ackCommandId(namespace, delivery, reason) {
|
|
197
|
+
return `${namespace}:${delivery.topic}:${delivery.subscriptionId}:${delivery.seq}:${reason}-ack`;
|
|
198
|
+
}
|
|
199
|
+
function commandWithDelivery(command, delivery) {
|
|
200
|
+
return {
|
|
201
|
+
...command,
|
|
202
|
+
metadata: {
|
|
203
|
+
...command.metadata ?? {},
|
|
204
|
+
messageBus: delivery
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function messageDelivery(page, message) {
|
|
209
|
+
return {
|
|
210
|
+
topic: page.topic,
|
|
211
|
+
seq: message.seq,
|
|
212
|
+
subscriptionId: page.subscriptionId,
|
|
213
|
+
commandId: isObjectRecord(message.payload) && typeof message.payload.id === "string" ? message.payload.id : message.commandId ?? `${page.topic}:${message.seq}`
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
function pushDelivery(deliveries, commandId, delivery) {
|
|
217
|
+
const queue = deliveries.get(commandId) ?? [];
|
|
218
|
+
deliveries.set(commandId, [...queue, delivery]);
|
|
219
|
+
}
|
|
220
|
+
function shiftDelivery(deliveries, commandId) {
|
|
221
|
+
const queue = deliveries.get(commandId);
|
|
222
|
+
if (queue === void 0 || queue.length === 0) return void 0;
|
|
223
|
+
const [first, ...rest] = queue;
|
|
224
|
+
if (rest.length === 0) deliveries.delete(commandId);
|
|
225
|
+
else deliveries.set(commandId, rest);
|
|
226
|
+
return first;
|
|
227
|
+
}
|
|
228
|
+
function issueDelivery(issue) {
|
|
229
|
+
const metadata = isObjectRecord(issue.metadata) ? issue.metadata : void 0;
|
|
230
|
+
const messageBus = isObjectRecord(metadata?.messageBus) ? metadata.messageBus : void 0;
|
|
231
|
+
if (messageBus === void 0) return void 0;
|
|
232
|
+
if (typeof messageBus.topic !== "string" || typeof messageBus.seq !== "number") return void 0;
|
|
233
|
+
if (typeof messageBus.subscriptionId !== "string") return void 0;
|
|
234
|
+
if (typeof messageBus.commandId !== "string") return void 0;
|
|
235
|
+
return {
|
|
236
|
+
topic: messageBus.topic,
|
|
237
|
+
seq: messageBus.seq,
|
|
238
|
+
subscriptionId: messageBus.subscriptionId,
|
|
239
|
+
commandId: messageBus.commandId
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
function commandDelivery(command) {
|
|
243
|
+
const metadata = isObjectRecord(command.metadata) ? command.metadata : void 0;
|
|
244
|
+
const messageBus = isObjectRecord(metadata?.messageBus) ? metadata.messageBus : void 0;
|
|
245
|
+
if (messageBus === void 0) return void 0;
|
|
246
|
+
return messageBusDelivery(messageBus);
|
|
247
|
+
}
|
|
248
|
+
function messageBusDelivery(messageBus) {
|
|
249
|
+
if (typeof messageBus.topic !== "string" || typeof messageBus.seq !== "number") return void 0;
|
|
250
|
+
if (typeof messageBus.subscriptionId !== "string") return void 0;
|
|
251
|
+
const commandId = typeof messageBus.commandId === "string" ? messageBus.commandId : "";
|
|
252
|
+
return {
|
|
253
|
+
topic: messageBus.topic,
|
|
254
|
+
seq: messageBus.seq,
|
|
255
|
+
subscriptionId: messageBus.subscriptionId,
|
|
256
|
+
commandId
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
function stringField(record, key) {
|
|
260
|
+
const value = record[key];
|
|
261
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
262
|
+
}
|
|
263
|
+
function objectField(record, key) {
|
|
264
|
+
const value = record[key];
|
|
265
|
+
return isObjectRecord(value) ? value : void 0;
|
|
266
|
+
}
|
|
267
|
+
function isObjectRecord(value) {
|
|
268
|
+
return typeof value === "object" && value !== null;
|
|
269
|
+
}
|
|
270
|
+
export {
|
|
271
|
+
orchestrationMessageAckCommands,
|
|
272
|
+
orchestrationMessageCommand,
|
|
273
|
+
orchestrationMessagingRecipe,
|
|
274
|
+
processEventOutboxCommands
|
|
275
|
+
};
|
|
276
|
+
//# sourceMappingURL=messaging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orchestration/messaging.ts"],"sourcesContent":["/**\n * Optional orchestration-over-messageBus recipe (D349/D351/D353).\n *\n * Ack commands are graph-derived from visible ProcessBundle accepted/rejected\n * material; retained delivery receipt is never an ack.\n */\n\nimport { depBatch } from \"../ctx/types.js\";\nimport type { DataIssue } from \"../data/index.js\";\nimport type { Graph } from \"../graph/graph.js\";\nimport type {\n\tMessageBusAvailablePage,\n\tMessageBusCommand,\n\tMessageBusMessage,\n} from \"../messaging/index.js\";\nimport type { Node } from \"../node/node.js\";\nimport type { ProcessCommand, ProcessEvent, ProcessStatus } from \"../orchestration/index.js\";\n\nexport interface OrchestrationMessagingPolicy<TPayload = unknown, TCommand = unknown> {\n\treadonly command?: (\n\t\tmessage: MessageBusMessage<TPayload>,\n\t\tdelivery: MessageBusDelivery,\n\t) => ProcessCommand<TCommand> | undefined;\n\treadonly ackRejected?: boolean;\n\treadonly outboxTopic?: string;\n}\n\nexport interface OrchestrationMessagingRecipeOptions<\n\tTPayload = unknown,\n\tTCommand = unknown,\n\tTEvent = unknown,\n> {\n\treadonly name?: string;\n\treadonly deliveries: Node<MessageBusAvailablePage<TPayload>>;\n\treadonly status: Node<ProcessStatus>;\n\treadonly events?: Node<ProcessEvent<TEvent>>;\n\treadonly policy?: OrchestrationMessagingPolicy<TPayload, TCommand>;\n}\n\nexport interface OrchestrationMessagingRecipeBundle<TCommand = unknown> {\n\treadonly commands: Node<ProcessCommand<TCommand>>;\n\treadonly ackCommands: Node<MessageBusCommand>;\n\treadonly outboxCommands?: Node<MessageBusCommand>;\n\treadonly issues: Node<DataIssue>;\n}\n\ntype OrchestrationMessagingFact<TCommand> =\n\t| { readonly kind: \"command\"; readonly command: ProcessCommand<TCommand> }\n\t| { readonly kind: \"issue\"; readonly issue: DataIssue };\n\nexport interface MessageBusDelivery {\n\treadonly topic: string;\n\treadonly seq: number;\n\treadonly subscriptionId: string;\n\treadonly commandId: string;\n}\n\n/** Build the optional D349/D351 orchestration messaging recipe. */\nexport function orchestrationMessagingRecipe<\n\tTPayload = unknown,\n\tTCommand = unknown,\n\tTEvent = unknown,\n>(\n\tgraph: Graph,\n\topts: OrchestrationMessagingRecipeOptions<TPayload, TCommand, TEvent>,\n): OrchestrationMessagingRecipeBundle<TCommand> {\n\tconst name = opts.name ?? \"orchestrationMessaging\";\n\tconst runtime = graph.node<OrchestrationMessagingFact<TCommand>>(\n\t\t[opts.deliveries],\n\t\t(ctx) => {\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst page = raw as MessageBusAvailablePage<TPayload>;\n\t\t\t\tfor (const message of page.messages) {\n\t\t\t\t\tconst delivery = messageDelivery(page, message);\n\t\t\t\t\tconst command = orchestrationMessageCommand(message, delivery, opts.policy);\n\t\t\t\t\tif (command === undefined) {\n\t\t\t\t\t\tctx.down([[\"DATA\", { kind: \"issue\", issue: messageIssue(message, delivery) }]]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tctx.down([[\"DATA\", { kind: \"command\", command }]]);\n\t\t\t\t\t}\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: \"orchestrationMessagingRuntime\",\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n\tconst issues = project(\n\t\tgraph,\n\t\truntime,\n\t\t`${name}/issues`,\n\t\t\"orchestrationMessagingIssues\",\n\t\t(fact) => (fact.kind === \"issue\" ? fact.issue : undefined),\n\t);\n\tconst commands = project(\n\t\tgraph,\n\t\truntime,\n\t\t`${name}/commands`,\n\t\t\"orchestrationMessagingCommands\",\n\t\t(fact) => (fact.kind === \"command\" ? fact.command : undefined),\n\t);\n\treturn {\n\t\tcommands,\n\t\tackCommands: orchestrationMessageAckCommands(graph, {\n\t\t\tname: `${name}/ackCommands`,\n\t\t\tcommands,\n\t\t\tstatus: opts.status,\n\t\t\tissues,\n\t\t\tackRejected: opts.policy?.ackRejected ?? true,\n\t\t}),\n\t\t...(opts.events === undefined || opts.policy?.outboxTopic === undefined\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\toutboxCommands: processEventOutboxCommands(graph, opts.events, opts.policy.outboxTopic, {\n\t\t\t\t\t\tname: `${name}/outboxCommands`,\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\tissues,\n\t};\n}\n\nexport function orchestrationMessageCommand<TPayload = unknown, TCommand = unknown>(\n\tmessage: MessageBusMessage<TPayload>,\n\tdelivery: MessageBusDelivery,\n\tpolicy?: OrchestrationMessagingPolicy<TPayload, TCommand>,\n): ProcessCommand<TCommand> | undefined {\n\tconst mapped = policy?.command?.(message, delivery);\n\tif (mapped !== undefined) return commandWithDelivery(mapped, delivery);\n\tif (!isObjectRecord(message.payload)) return undefined;\n\tconst id = stringField(message.payload, \"id\") ?? delivery.commandId;\n\tconst type = stringField(message.payload, \"type\");\n\tif (type === undefined) return undefined;\n\treturn commandWithDelivery(\n\t\t{\n\t\t\tid,\n\t\t\ttype,\n\t\t\tpayload: message.payload.payload as TCommand,\n\t\t\tprocessId: stringField(message.payload, \"processId\"),\n\t\t\tcorrelationId: stringField(message.payload, \"correlationId\"),\n\t\t\tcausationId: stringField(message.payload, \"causationId\"),\n\t\t\tmetadata: {\n\t\t\t\t...(objectField(message.payload, \"metadata\") ?? {}),\n\t\t\t},\n\t\t},\n\t\tdelivery,\n\t);\n}\n\nexport function orchestrationMessageAckCommands(\n\tgraph: Graph,\n\topts: {\n\t\treadonly name?: string;\n\t\treadonly commands: Node<ProcessCommand>;\n\t\treadonly status: Node<ProcessStatus>;\n\t\treadonly issues?: Node<DataIssue>;\n\t\treadonly ackRejected?: boolean;\n\t},\n): Node<MessageBusCommand> {\n\treturn graph.node<MessageBusCommand>(\n\t\topts.issues === undefined\n\t\t\t? [opts.commands, opts.status]\n\t\t\t: [opts.commands, opts.status, opts.issues],\n\t\t(ctx) => {\n\t\t\tconst deliveries =\n\t\t\t\tctx.state.get<Map<string, MessageBusDelivery[]>>() ??\n\t\t\t\tnew Map<string, MessageBusDelivery[]>();\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst command = raw as ProcessCommand;\n\t\t\t\tconst delivery = commandDelivery(command);\n\t\t\t\tif (delivery !== undefined) pushDelivery(deliveries, command.id, delivery);\n\t\t\t}\n\t\t\tfor (const raw of depBatch(ctx, 1) ?? []) {\n\t\t\t\tconst status = raw as ProcessStatus;\n\t\t\t\tif (status.state === \"rejected\" && opts.ackRejected === false) continue;\n\t\t\t\tif (status.commandId === undefined) continue;\n\t\t\t\tconst delivery = shiftDelivery(deliveries, status.commandId);\n\t\t\t\tif (delivery === undefined) continue;\n\t\t\t\tctx.down([\n\t\t\t\t\t[\"DATA\", ackCommand(delivery, ackCommandId(\"orchestration\", delivery, \"status\"))],\n\t\t\t\t]);\n\t\t\t}\n\t\t\tif (opts.issues !== undefined) {\n\t\t\t\tfor (const raw of depBatch(ctx, 2) ?? []) {\n\t\t\t\t\tconst delivery = issueDelivery(raw as DataIssue);\n\t\t\t\t\tif (delivery !== undefined) {\n\t\t\t\t\t\tctx.down([\n\t\t\t\t\t\t\t[\"DATA\", ackCommand(delivery, ackCommandId(\"orchestration\", delivery, \"issue\"))],\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(deliveries);\n\t\t},\n\t\t{\n\t\t\tname: opts.name ?? \"orchestrationMessaging/ackCommands\",\n\t\t\tfactory: \"orchestrationMessagingAckCommands\",\n\t\t\tpartial: true,\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n}\n\nexport function processEventOutboxCommands<TEvent>(\n\tgraph: Graph,\n\tevents: Node<ProcessEvent<TEvent>>,\n\ttopic: string,\n\topts: { readonly name?: string } = {},\n): Node<MessageBusCommand> {\n\treturn graph.node<MessageBusCommand>(\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 ProcessEvent<TEvent>;\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\tkind: \"publish\",\n\t\t\t\t\t\t\ttopic,\n\t\t\t\t\t\t\tpayload: typed,\n\t\t\t\t\t\t\tkey: typed.processId,\n\t\t\t\t\t\t\tcommandId: `${typed.id}:process-outbox`,\n\t\t\t\t\t\t\tidempotencyKey: typed.id,\n\t\t\t\t\t\t} satisfies MessageBusCommand,\n\t\t\t\t\t],\n\t\t\t\t]);\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: opts.name ?? \"orchestrationMessaging/outboxCommands\",\n\t\t\tfactory: \"orchestrationMessagingOutboxCommands\",\n\t\t\tcompleteWhenDepsComplete: false,\n\t\t\terrorWhenDepsError: false,\n\t\t},\n\t);\n}\n\nfunction project<T, TCommand>(\n\tgraph: Graph,\n\truntime: Node<OrchestrationMessagingFact<TCommand>>,\n\tname: string,\n\tfactory: string,\n\tpick: (fact: OrchestrationMessagingFact<TCommand>) => T | undefined,\n): Node<T> {\n\treturn graph.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 OrchestrationMessagingFact<TCommand>);\n\t\t\t\tif (value !== undefined) ctx.down([[\"DATA\", value]]);\n\t\t\t}\n\t\t},\n\t\t{ name, factory, partial: true, completeWhenDepsComplete: false, errorWhenDepsError: false },\n\t);\n}\n\nfunction messageIssue(message: MessageBusMessage, delivery: MessageBusDelivery): DataIssue {\n\treturn {\n\t\tkind: \"issue\",\n\t\tcode: \"orchestration-message-lowering-rejected\",\n\t\tmessage: \"Orchestration messaging recipe could not lower retained message to a command fact\",\n\t\tseverity: \"error\",\n\t\tsource: \"orchestration.messaging\",\n\t\tmetadata: {\n\t\t\tmessageBus: {\n\t\t\t\ttopic: delivery.topic,\n\t\t\t\tseq: delivery.seq,\n\t\t\t\tsubscriptionId: delivery.subscriptionId,\n\t\t\t\tcommandId: delivery.commandId,\n\t\t\t},\n\t\t},\n\t\tdetails: message,\n\t};\n}\n\nfunction ackCommand(delivery: MessageBusDelivery, commandId: string): MessageBusCommand {\n\treturn {\n\t\tkind: \"ack\",\n\t\ttopic: delivery.topic,\n\t\tsubscriptionId: delivery.subscriptionId,\n\t\tseq: delivery.seq,\n\t\tcommandId,\n\t};\n}\n\nfunction ackCommandId(namespace: string, delivery: MessageBusDelivery, reason: string): string {\n\treturn `${namespace}:${delivery.topic}:${delivery.subscriptionId}:${delivery.seq}:${reason}-ack`;\n}\n\nfunction commandWithDelivery<TCommand>(\n\tcommand: ProcessCommand<TCommand>,\n\tdelivery: MessageBusDelivery,\n): ProcessCommand<TCommand> {\n\treturn {\n\t\t...command,\n\t\tmetadata: {\n\t\t\t...(command.metadata ?? {}),\n\t\t\tmessageBus: delivery,\n\t\t},\n\t};\n}\n\nfunction messageDelivery(\n\tpage: MessageBusAvailablePage,\n\tmessage: MessageBusMessage,\n): MessageBusDelivery {\n\treturn {\n\t\ttopic: page.topic,\n\t\tseq: message.seq,\n\t\tsubscriptionId: page.subscriptionId,\n\t\tcommandId:\n\t\t\tisObjectRecord(message.payload) && typeof message.payload.id === \"string\"\n\t\t\t\t? message.payload.id\n\t\t\t\t: (message.commandId ?? `${page.topic}:${message.seq}`),\n\t};\n}\n\nfunction pushDelivery(\n\tdeliveries: Map<string, MessageBusDelivery[]>,\n\tcommandId: string,\n\tdelivery: MessageBusDelivery,\n): void {\n\tconst queue = deliveries.get(commandId) ?? [];\n\tdeliveries.set(commandId, [...queue, delivery]);\n}\n\nfunction shiftDelivery(\n\tdeliveries: Map<string, MessageBusDelivery[]>,\n\tcommandId: string,\n): MessageBusDelivery | undefined {\n\tconst queue = deliveries.get(commandId);\n\tif (queue === undefined || queue.length === 0) return undefined;\n\tconst [first, ...rest] = queue;\n\tif (rest.length === 0) deliveries.delete(commandId);\n\telse deliveries.set(commandId, rest);\n\treturn first;\n}\n\nfunction issueDelivery(issue: DataIssue): MessageBusDelivery | undefined {\n\tconst metadata = isObjectRecord(issue.metadata) ? issue.metadata : undefined;\n\tconst messageBus = isObjectRecord(metadata?.messageBus) ? metadata.messageBus : undefined;\n\tif (messageBus === undefined) return undefined;\n\tif (typeof messageBus.topic !== \"string\" || typeof messageBus.seq !== \"number\") return undefined;\n\tif (typeof messageBus.subscriptionId !== \"string\") return undefined;\n\tif (typeof messageBus.commandId !== \"string\") return undefined;\n\treturn {\n\t\ttopic: messageBus.topic,\n\t\tseq: messageBus.seq,\n\t\tsubscriptionId: messageBus.subscriptionId,\n\t\tcommandId: messageBus.commandId,\n\t};\n}\n\nfunction commandDelivery(command: ProcessCommand): MessageBusDelivery | undefined {\n\tconst metadata = isObjectRecord(command.metadata) ? command.metadata : undefined;\n\tconst messageBus = isObjectRecord(metadata?.messageBus) ? metadata.messageBus : undefined;\n\tif (messageBus === undefined) return undefined;\n\treturn messageBusDelivery(messageBus);\n}\n\nfunction messageBusDelivery(messageBus: Record<string, unknown>): MessageBusDelivery | undefined {\n\tif (typeof messageBus.topic !== \"string\" || typeof messageBus.seq !== \"number\") return undefined;\n\tif (typeof messageBus.subscriptionId !== \"string\") return undefined;\n\tconst commandId = typeof messageBus.commandId === \"string\" ? messageBus.commandId : \"\";\n\treturn {\n\t\ttopic: messageBus.topic,\n\t\tseq: messageBus.seq,\n\t\tsubscriptionId: messageBus.subscriptionId,\n\t\tcommandId,\n\t};\n}\n\nfunction stringField(record: Record<string, unknown>, key: string): string | undefined {\n\tconst value = record[key];\n\treturn typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\nfunction objectField(\n\trecord: Record<string, unknown>,\n\tkey: string,\n): Record<string, unknown> | undefined {\n\tconst value = record[key];\n\treturn isObjectRecord(value) ? value : undefined;\n}\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null;\n}\n"],"mappings":"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","names":[]}
|