@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 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/orchestration/agent-runtime-adapter-run.ts","../src/orchestration/agent-runtime-executor-outcome.ts"],"sourcesContent":["import { type Ctx, depBatch } from \"../ctx/types.js\";\nimport type { DataIssue } from \"../data/index.js\";\nimport type { Graph } from \"../graph/graph.js\";\nimport type { Node } from \"../node/node.js\";\nimport type { ToolProviderAdapterRunProjectorPrivateRetentionHooks } from \"./agent-runtime-adapter-retention.js\";\nimport {\n\tboundPublicText,\n\tdataIssue,\n\tforbiddenDataKeys,\n\tforbiddenProviderRawMaterialKeys,\n\tforEachDepBatch,\n\tisRecord,\n\tmaxPublicReasonChars,\n\tprojectRuntimeFact,\n\tref,\n\tsanitizeAdapterInputIssue,\n\tsanitizeAdapterInputSourceRefs,\n\tsanitizeProviderGraphVisibleRecord,\n\tstableJsonStringify,\n\tstableStringHash,\n} from \"./agent-runtime-common.js\";\nimport type { AgentRuntimeAuditRecord } from \"./agent-runtime-types-agent.js\";\nimport type { SourceRef } from \"./agent-runtime-types-core.js\";\nimport type {\n\tToolProviderAdapterBinding,\n\tToolProviderAdapterInput,\n\tToolProviderAdapterRunBundle,\n\tToolProviderAdapterRunReason,\n\tToolProviderAdapterRunRequested,\n\tToolProviderAdapterRunStatus,\n\tToolProviderPublicTextPolicy,\n} from \"./agent-runtime-types-tool.js\";\n\nexport function normalizeToolProviderAdapterBindings<TArguments, TResult>(\n\tbindings:\n\t\t| readonly ToolProviderAdapterBinding<TArguments, TResult>[]\n\t\t| ReadonlyMap<string, ToolProviderAdapterBinding<TArguments, TResult>>,\n): ReadonlyMap<string, ToolProviderAdapterBinding<TArguments, TResult>> {\n\tconst result = new Map<string, ToolProviderAdapterBinding<TArguments, TResult>>();\n\tconst bindingList = Array.isArray(bindings)\n\t\t? (bindings as readonly ToolProviderAdapterBinding<TArguments, TResult>[])\n\t\t: undefined;\n\tif (bindingList === undefined) {\n\t\tconst bindingMap = bindings as ReadonlyMap<\n\t\t\tstring,\n\t\t\tToolProviderAdapterBinding<TArguments, TResult>\n\t\t>;\n\t\tfor (const [providerId, binding] of bindingMap.entries()) {\n\t\t\tif (providerId !== binding.providerId) {\n\t\t\t\tthrow new RangeError(\n\t\t\t\t\t`attachToolProviderAdapterRuntime: binding key '${providerId}' must match provider '${binding.providerId}'`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tresult.set(providerId, binding);\n\t\t}\n\t\treturn result;\n\t}\n\tfor (const binding of bindingList) {\n\t\tif (result.has(binding.providerId)) {\n\t\t\tthrow new RangeError(\n\t\t\t\t`attachToolProviderAdapterRuntime: duplicate binding for provider '${binding.providerId}'`,\n\t\t\t);\n\t\t}\n\t\tresult.set(binding.providerId, binding);\n\t}\n\treturn result;\n}\n\nexport function requestToolProviderAdapterRun(\n\tinput: ToolProviderAdapterInput,\n\topts: {\n\t\treadonly runId?: string;\n\t\treadonly attempt?: number;\n\t\treadonly reason?: ToolProviderAdapterRunReason;\n\t\treadonly retryOfOutcomeId?: string;\n\t\treadonly policyRefs?: readonly SourceRef[];\n\t\treadonly sourceRefs?: readonly SourceRef[];\n\t\treadonly metadata?: Record<string, unknown>;\n\t\treadonly requestedAtMs?: number;\n\t} = {},\n): ToolProviderAdapterRunRequested {\n\tconst attempt = opts.attempt ?? 1;\n\treturn Object.freeze({\n\t\tkind: \"tool-provider-adapter-run-requested\",\n\t\trunId: opts.runId ?? defaultToolProviderAdapterRunId(input.adapterInputId, attempt, input),\n\t\tadapterInputId: input.adapterInputId,\n\t\trequestId: input.requestId,\n\t\toperationId: input.operationId,\n\t\trouteId: input.routeId,\n\t\tproviderId: input.providerId,\n\t\texecutorId: input.executorId,\n\t\tprofileId: input.profileId,\n\t\tattempt,\n\t\treason: sanitizeToolProviderAdapterRunReason(opts.reason, attempt),\n\t\tretryOfOutcomeId: opts.retryOfOutcomeId,\n\t\tpolicyRefs: sanitizeAdapterInputSourceRefs(opts.policyRefs ?? input.policyRefs ?? []),\n\t\tsourceRefs: sanitizeAdapterInputSourceRefs([\n\t\t\tref(\"tool-provider-adapter-input\", input.adapterInputId),\n\t\t\t...(input.sourceRefs ?? []),\n\t\t\t...(opts.sourceRefs ?? []),\n\t\t]),\n\t\tmetadata: sanitizeProviderGraphVisibleRecord(opts.metadata),\n\t\trequestedAtMs: opts.requestedAtMs,\n\t} satisfies ToolProviderAdapterRunRequested);\n}\n\nexport function toolProviderAdapterRunProjector(\n\tgraph: Graph,\n\topts: {\n\t\treadonly name?: string;\n\t\treadonly inputs: Node<ToolProviderAdapterInput>;\n\t\treadonly runRequests?: readonly Node<ToolProviderAdapterRunRequested>[];\n\t\treadonly autoRunReadyInputs?: boolean;\n\t\treadonly now?: () => number;\n\t},\n): ToolProviderAdapterRunBundle {\n\treturn toolProviderAdapterRunProjectorInternal(graph, opts);\n}\n\nexport function toolProviderAdapterRunProjectorInternal(\n\tgraph: Graph,\n\topts: {\n\t\treadonly name?: string;\n\t\treadonly inputs: Node<ToolProviderAdapterInput>;\n\t\treadonly runRequests?: readonly Node<ToolProviderAdapterRunRequested>[];\n\t\treadonly autoRunReadyInputs?: boolean;\n\t\treadonly now?: () => number;\n\t\treadonly publicText?: ToolProviderPublicTextPolicy;\n\t\treadonly privateRetentionHooks?: ToolProviderAdapterRunProjectorPrivateRetentionHooks;\n\t},\n): ToolProviderAdapterRunBundle {\n\tconst name = opts.name ?? \"toolProviderAdapterRun\";\n\tconst explicitRunDeps = opts.runRequests ?? [];\n\tconst autoRunReadyInputs = opts.autoRunReadyInputs ?? true;\n\tconst runtime = graph.node<ToolProviderAdapterRunFact>(\n\t\t[opts.inputs, ...explicitRunDeps],\n\t\t(ctx) => {\n\t\t\tconst state = ctx.state.get<ToolProviderAdapterRunProjectorState>() ?? {\n\t\t\t\tinputs: new Map<string, ToolProviderAdapterInput>(),\n\t\t\t\temittedKeys: new Set<string>(),\n\t\t\t\tstatusKeys: new Set<string>(),\n\t\t\t\tissueKeys: new Set<string>(),\n\t\t\t\tauditSeq: 0,\n\t\t\t};\n\t\t\tfor (const raw of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst input = raw as ToolProviderAdapterInput;\n\t\t\t\tstate.inputs.set(input.adapterInputId, input);\n\t\t\t\topts.privateRetentionHooks?.onAdapterInputKey?.({\n\t\t\t\t\tadapterInputId: input.adapterInputId,\n\t\t\t\t\tdropInput: () => {\n\t\t\t\t\t\tstate.inputs.delete(input.adapterInputId);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tif (input.status !== \"ready\") continue;\n\t\t\t\tif (autoRunReadyInputs) {\n\t\t\t\t\temitRunRequested(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\trequestToolProviderAdapterRun(input, {\n\t\t\t\t\t\t\trequestedAtMs: opts.now?.(),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t} else if (explicitRunDeps.length === 0) {\n\t\t\t\t\temitRunIssue(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\"tool-provider-adapter-run-request-missing\",\n\t\t\t\t\t\t\"Ready tool provider adapter input has no visible run request.\",\n\t\t\t\t\t\tinput.adapterInputId,\n\t\t\t\t\t\t[ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t\temitRunStatus(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tkind: \"tool-provider-adapter-run-status\",\n\t\t\t\t\t\t\trunId: defaultToolProviderAdapterRunId(input.adapterInputId, 1, input),\n\t\t\t\t\t\t\tadapterInputId: input.adapterInputId,\n\t\t\t\t\t\t\trequestId: input.requestId,\n\t\t\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\t\t\tstatus: \"missing-request\",\n\t\t\t\t\t\t\tattempt: 1,\n\t\t\t\t\t\t\tsourceRefs: [ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\t\t\t\t\t},\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tforEachDepBatch(ctx, 1, explicitRunDeps.length, (raw) => {\n\t\t\t\tif (!isToolProviderAdapterRunRequestedLike(raw)) {\n\t\t\t\t\tconst request = fallbackToolProviderAdapterRunRequest(raw, opts.publicText);\n\t\t\t\t\tconst issue = dataIssue(\n\t\t\t\t\t\t\"tool-provider-adapter-run-request-invalid-shape\",\n\t\t\t\t\t\t\"Tool provider adapter run request must be a data object with runId, adapterInputId, requestId, operationId, and attempt.\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsubjectId: request.adapterInputId,\n\t\t\t\t\t\t\trefs: [ref(\"tool-provider-adapter-run\", request.runId)],\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t\temitRunIssueFact(ctx, state, issue, opts.privateRetentionHooks);\n\t\t\t\t\temitRunStatus(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tkind: \"tool-provider-adapter-run-status\",\n\t\t\t\t\t\t\trunId: request.runId,\n\t\t\t\t\t\t\tadapterInputId: request.adapterInputId,\n\t\t\t\t\t\t\trequestId: request.requestId,\n\t\t\t\t\t\t\toperationId: request.operationId,\n\t\t\t\t\t\t\tstatus: \"mismatched-request\",\n\t\t\t\t\t\t\tattempt: request.attempt,\n\t\t\t\t\t\t\tissues: [issue],\n\t\t\t\t\t\t\tsourceRefs: request.sourceRefs,\n\t\t\t\t\t\t},\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t\temitRunAudit(ctx, state, \"tool-provider-adapter-run-request-invalid-shape\", request, {\n\t\t\t\t\t\tissueCode: issue.code,\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst request = raw;\n\t\t\t\tconst input = state.inputs.get(request.adapterInputId);\n\t\t\t\tif (input === undefined) {\n\t\t\t\t\tconst replayClassification =\n\t\t\t\t\t\topts.privateRetentionHooks?.classifyRetainedRunRequestReplayEvidence?.(request);\n\t\t\t\t\tif (replayClassification?.kind === \"retention-gap\") {\n\t\t\t\t\t\temitRunRequested(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tsanitizeRetainedToolProviderAdapterRunRequest(request, opts.publicText),\n\t\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst issue = dataIssue(\n\t\t\t\t\t\t\"tool-provider-adapter-run-request-missing-input\",\n\t\t\t\t\t\t\"Tool provider adapter run request references an unknown adapter input.\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsubjectId: request.adapterInputId,\n\t\t\t\t\t\t\trefs: sanitizeAdapterInputSourceRefs([\n\t\t\t\t\t\t\t\tref(\"tool-provider-adapter-run\", request.runId),\n\t\t\t\t\t\t\t\t...(request.sourceRefs ?? []),\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t\temitRunIssueFact(ctx, state, issue, opts.privateRetentionHooks);\n\t\t\t\t\temitRunStatus(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tkind: \"tool-provider-adapter-run-status\",\n\t\t\t\t\t\t\trunId: request.runId,\n\t\t\t\t\t\t\tadapterInputId: request.adapterInputId,\n\t\t\t\t\t\t\trequestId: request.requestId,\n\t\t\t\t\t\t\toperationId: request.operationId,\n\t\t\t\t\t\t\tstatus: \"missing-input\",\n\t\t\t\t\t\t\tattempt: request.attempt,\n\t\t\t\t\t\t\tissues: [issue],\n\t\t\t\t\t\t\tsourceRefs: sanitizeAdapterInputSourceRefs(request.sourceRefs ?? []),\n\t\t\t\t\t\t},\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst issues = runRequestIdentityIssues(request, input);\n\t\t\t\tif (input.status !== \"ready\") {\n\t\t\t\t\tissues.push(\n\t\t\t\t\t\tdataIssue(\n\t\t\t\t\t\t\t\"tool-provider-adapter-run-request-input-not-ready\",\n\t\t\t\t\t\t\t\"Tool provider adapter run request requires a ready adapter input.\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsubjectId: input.requestId,\n\t\t\t\t\t\t\t\trefs: [ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\t\t\t\t\t\t\tdetails: { status: input.status },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (issues.length > 0) {\n\t\t\t\t\tfor (const issue of issues)\n\t\t\t\t\t\temitRunIssueFact(ctx, state, issue, opts.privateRetentionHooks);\n\t\t\t\t\temitRunStatus(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tkind: \"tool-provider-adapter-run-status\",\n\t\t\t\t\t\t\trunId: request.runId,\n\t\t\t\t\t\t\tadapterInputId: request.adapterInputId,\n\t\t\t\t\t\t\trequestId: request.requestId,\n\t\t\t\t\t\t\toperationId: request.operationId,\n\t\t\t\t\t\t\tstatus: \"mismatched-request\",\n\t\t\t\t\t\t\tattempt: request.attempt,\n\t\t\t\t\t\t\tissues: Object.freeze(issues),\n\t\t\t\t\t\t\tsourceRefs: sanitizeAdapterInputSourceRefs(request.sourceRefs ?? []),\n\t\t\t\t\t\t},\n\t\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t\t);\n\t\t\t\t\temitRunAudit(ctx, state, \"tool-provider-adapter-run-request-rejected\", request, {\n\t\t\t\t\t\tissueCodes: issues.map((issue) => issue.code),\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\temitRunRequested(\n\t\t\t\t\tctx,\n\t\t\t\t\tstate,\n\t\t\t\t\tsanitizeToolProviderAdapterRunRequest(request, input, opts.publicText),\n\t\t\t\t\topts.privateRetentionHooks,\n\t\t\t\t);\n\t\t\t});\n\t\t\tctx.state.set(state);\n\t\t},\n\t\t{ name: `${name}/runtime`, factory: \"toolProviderAdapterRunProjector\", partial: true },\n\t);\n\treturn {\n\t\trequests: projectRuntimeFact(\n\t\t\tgraph,\n\t\t\truntime,\n\t\t\t`${name}/requests`,\n\t\t\t\"toolProviderAdapterRunRequests\",\n\t\t\t(fact) => (fact.kind === \"request\" ? fact.request : undefined),\n\t\t),\n\t\tstatus: projectRuntimeFact(\n\t\t\tgraph,\n\t\t\truntime,\n\t\t\t`${name}/status`,\n\t\t\t\"toolProviderAdapterRunStatus\",\n\t\t\t(fact) => (fact.kind === \"status\" ? fact.status : undefined),\n\t\t),\n\t\tissues: projectRuntimeFact(\n\t\t\tgraph,\n\t\t\truntime,\n\t\t\t`${name}/issues`,\n\t\t\t\"toolProviderAdapterRunIssues\",\n\t\t\t(fact) => (fact.kind === \"issue\" ? fact.issue : undefined),\n\t\t),\n\t\taudit: projectRuntimeFact(\n\t\t\tgraph,\n\t\t\truntime,\n\t\t\t`${name}/audit`,\n\t\t\t\"toolProviderAdapterRunAudit\",\n\t\t\t(fact) => (fact.kind === \"audit\" ? fact.audit : undefined),\n\t\t),\n\t};\n}\n\nexport type ToolProviderAdapterRunFact =\n\t| { readonly kind: \"request\"; readonly request: ToolProviderAdapterRunRequested }\n\t| { readonly kind: \"status\"; readonly status: ToolProviderAdapterRunStatus }\n\t| { readonly kind: \"issue\"; readonly issue: DataIssue }\n\t| { readonly kind: \"audit\"; readonly audit: AgentRuntimeAuditRecord };\n\nexport interface ToolProviderAdapterRunProjectorState {\n\tinputs: Map<string, ToolProviderAdapterInput>;\n\temittedKeys: Set<string>;\n\tstatusKeys: Set<string>;\n\tissueKeys: Set<string>;\n\tauditSeq: number;\n}\n\nexport function defaultToolProviderAdapterRunId(\n\tadapterInputId: string,\n\tattempt: number,\n\tinput?: ToolProviderAdapterInput,\n): string {\n\tconst suffix = input === undefined ? \"\" : `:${stableStringHash(stableJsonStringify(input))}`;\n\treturn `${adapterInputId}:run-${attempt}${suffix}`;\n}\n\nexport function sanitizeToolProviderAdapterRunReason(\n\treason: ToolProviderAdapterRunReason | undefined,\n\tattempt: number,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): ToolProviderAdapterRunReason {\n\tconst value = reason ?? (attempt === 1 ? \"initial\" : \"retry\");\n\treturn boundPublicText(value, maxPublicReasonChars(policy)).text as ToolProviderAdapterRunReason;\n}\n\nexport function sanitizeToolProviderAdapterRunRequest(\n\trequest: ToolProviderAdapterRunRequested,\n\tinput: ToolProviderAdapterInput,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): ToolProviderAdapterRunRequested {\n\treturn Object.freeze({\n\t\t...request,\n\t\treason: sanitizeToolProviderAdapterRunReason(request.reason, request.attempt, policy),\n\t\tpolicyRefs: sanitizeAdapterInputSourceRefs(request.policyRefs ?? input.policyRefs ?? []),\n\t\tsourceRefs: sanitizeAdapterInputSourceRefs([\n\t\t\tref(\"tool-provider-adapter-input\", input.adapterInputId),\n\t\t\t...(input.sourceRefs ?? []),\n\t\t\t...(request.sourceRefs ?? []),\n\t\t]),\n\t\tmetadata: sanitizeProviderGraphVisibleRecord(request.metadata),\n\t} satisfies ToolProviderAdapterRunRequested);\n}\n\nexport function sanitizeRetainedToolProviderAdapterRunRequest(\n\trequest: ToolProviderAdapterRunRequested,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): ToolProviderAdapterRunRequested {\n\tconst policyRefs = sanitizeAdapterInputSourceRefs(request.policyRefs ?? []);\n\tconst sourceRefs = sanitizeAdapterInputSourceRefs(request.sourceRefs ?? []);\n\tconst metadata = sanitizeProviderGraphVisibleRecord(request.metadata);\n\treturn Object.freeze({\n\t\tkind: \"tool-provider-adapter-run-requested\",\n\t\trunId: request.runId,\n\t\tadapterInputId: request.adapterInputId,\n\t\trequestId: request.requestId,\n\t\toperationId: request.operationId,\n\t\t...(request.routeId === undefined ? {} : { routeId: request.routeId }),\n\t\t...(request.providerId === undefined ? {} : { providerId: request.providerId }),\n\t\t...(request.executorId === undefined ? {} : { executorId: request.executorId }),\n\t\t...(request.profileId === undefined ? {} : { profileId: request.profileId }),\n\t\tattempt: request.attempt,\n\t\treason: sanitizeToolProviderAdapterRunReason(request.reason, request.attempt, policy),\n\t\t...(request.retryOfOutcomeId === undefined\n\t\t\t? {}\n\t\t\t: { retryOfOutcomeId: request.retryOfOutcomeId }),\n\t\t...(policyRefs.length === 0 ? {} : { policyRefs }),\n\t\t...(sourceRefs.length === 0 ? {} : { sourceRefs }),\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t\t...(request.requestedAtMs === undefined ? {} : { requestedAtMs: request.requestedAtMs }),\n\t} satisfies ToolProviderAdapterRunRequested);\n}\n\nexport function isToolProviderAdapterRunRequestedLike(\n\tvalue: unknown,\n): value is ToolProviderAdapterRunRequested {\n\tconst attempt = isRecord(value) ? value.attempt : undefined;\n\treturn (\n\t\tisRecord(value) &&\n\t\tvalue.kind === \"tool-provider-adapter-run-requested\" &&\n\t\ttypeof value.runId === \"string\" &&\n\t\tvalue.runId.length > 0 &&\n\t\ttypeof value.adapterInputId === \"string\" &&\n\t\tvalue.adapterInputId.length > 0 &&\n\t\ttypeof value.requestId === \"string\" &&\n\t\tvalue.requestId.length > 0 &&\n\t\ttypeof value.operationId === \"string\" &&\n\t\tvalue.operationId.length > 0 &&\n\t\ttypeof attempt === \"number\" &&\n\t\tNumber.isInteger(attempt) &&\n\t\tattempt > 0 &&\n\t\ttypeof value.reason === \"string\" &&\n\t\tvalue.reason.length > 0\n\t);\n}\n\nexport function fallbackToolProviderAdapterRunRequest(\n\traw: unknown,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): ToolProviderAdapterRunRequested {\n\tconst record = isRecord(raw) ? raw : {};\n\tconst adapterInputId =\n\t\ttypeof record.adapterInputId === \"string\" && record.adapterInputId.length > 0\n\t\t\t? record.adapterInputId\n\t\t\t: \"<invalid-adapter-input>\";\n\tconst runId =\n\t\ttypeof record.runId === \"string\" && record.runId.length > 0\n\t\t\t? record.runId\n\t\t\t: `${adapterInputId}:invalid-run`;\n\tconst attempt =\n\t\ttypeof record.attempt === \"number\" && Number.isInteger(record.attempt) && record.attempt > 0\n\t\t\t? record.attempt\n\t\t\t: 1;\n\tconst metadata = isRecord(record.metadata)\n\t\t? sanitizeProviderGraphVisibleRecord(record.metadata, policy)\n\t\t: undefined;\n\treturn Object.freeze({\n\t\tkind: \"tool-provider-adapter-run-requested\",\n\t\trunId,\n\t\tadapterInputId,\n\t\trequestId:\n\t\t\ttypeof record.requestId === \"string\" && record.requestId.length > 0\n\t\t\t\t? record.requestId\n\t\t\t\t: \"<invalid-request>\",\n\t\toperationId:\n\t\t\ttypeof record.operationId === \"string\" && record.operationId.length > 0\n\t\t\t\t? record.operationId\n\t\t\t\t: \"<invalid-operation>\",\n\t\tattempt,\n\t\treason: sanitizeToolProviderAdapterRunReason(\n\t\t\ttypeof record.reason === \"string\" && record.reason.length > 0 ? record.reason : \"manual\",\n\t\t\tattempt,\n\t\t\tpolicy,\n\t\t),\n\t\tsourceRefs: sanitizeAdapterInputSourceRefs([\n\t\t\tref(\"tool-provider-adapter-run\", runId),\n\t\t\t...sanitizeUntrustedSourceRefs(record.sourceRefs),\n\t\t]),\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t} satisfies ToolProviderAdapterRunRequested);\n}\n\nexport function sanitizeUntrustedSourceRefs(value: unknown): readonly SourceRef[] {\n\tif (!Array.isArray(value)) return [];\n\treturn Object.freeze(\n\t\tvalue\n\t\t\t.filter(\n\t\t\t\t(sourceRef): sourceRef is SourceRef =>\n\t\t\t\t\tisRecord(sourceRef) &&\n\t\t\t\t\ttypeof sourceRef.kind === \"string\" &&\n\t\t\t\t\tsourceRef.kind.length > 0 &&\n\t\t\t\t\ttypeof sourceRef.id === \"string\" &&\n\t\t\t\t\tsourceRef.id.length > 0,\n\t\t\t)\n\t\t\t.map((sourceRef) => ({\n\t\t\t\tkind: sourceRef.kind,\n\t\t\t\tid: sourceRef.id,\n\t\t\t\t...(isRecord(sourceRef.metadata) ? { metadata: sourceRef.metadata } : {}),\n\t\t\t})),\n\t);\n}\n\nexport function runRequestIdentityIssues(\n\trequest: ToolProviderAdapterRunRequested,\n\tinput: ToolProviderAdapterInput,\n): DataIssue[] {\n\tconst refs = sanitizeAdapterInputSourceRefs([\n\t\tref(\"tool-provider-adapter-run\", request.runId),\n\t\tref(\"tool-provider-adapter-input\", input.adapterInputId),\n\t\t...(request.sourceRefs ?? []),\n\t]);\n\tconst issues: DataIssue[] = [];\n\tif (request.kind !== \"tool-provider-adapter-run-requested\") {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-invalid-kind\",\n\t\t\t\t\"Tool provider adapter run request kind must be tool-provider-adapter-run-requested.\",\n\t\t\t\t{ subjectId: request.adapterInputId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.runId.length === 0) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-missing-run-id\",\n\t\t\t\t\"Tool provider adapter run request requires runId.\",\n\t\t\t\t{\n\t\t\t\t\tsubjectId: request.adapterInputId,\n\t\t\t\t\trefs,\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t}\n\tif (!Number.isInteger(request.attempt) || request.attempt < 1) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-invalid-attempt\",\n\t\t\t\t\"Tool provider adapter run request attempt must be a positive integer.\",\n\t\t\t\t{ subjectId: request.adapterInputId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.requestId !== input.requestId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-request\",\n\t\t\t\t\"Tool provider adapter run request requestId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.operationId !== input.operationId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-operation\",\n\t\t\t\t\"Tool provider adapter run request operationId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.routeId !== undefined && request.routeId !== input.routeId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-route\",\n\t\t\t\t\"Tool provider adapter run request routeId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.providerId !== undefined && request.providerId !== input.providerId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-provider\",\n\t\t\t\t\"Tool provider adapter run request providerId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.executorId !== undefined && request.executorId !== input.executorId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-executor\",\n\t\t\t\t\"Tool provider adapter run request executorId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tif (request.profileId !== undefined && request.profileId !== input.profileId) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-stale-profile\",\n\t\t\t\t\"Tool provider adapter run request profileId does not match the adapter input.\",\n\t\t\t\t{ subjectId: input.requestId, refs },\n\t\t\t),\n\t\t);\n\t}\n\tfor (const forbidden of [\n\t\t...forbiddenDataKeys(request),\n\t\t...forbiddenProviderRawMaterialKeys(request),\n\t]) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-run-request-forbidden-runtime-material\",\n\t\t\t\t\"Tool provider adapter run request must not contain runtime-private adapter material.\",\n\t\t\t\t{ subjectId: input.requestId, refs, details: { reason: forbidden.reason } },\n\t\t\t),\n\t\t);\n\t}\n\treturn issues;\n}\n\nexport function emitRunRequested(\n\tctx: Ctx,\n\tstate: ToolProviderAdapterRunProjectorState,\n\trequest: ToolProviderAdapterRunRequested,\n\tprivateRetentionHooks?: ToolProviderAdapterRunProjectorPrivateRetentionHooks,\n): void {\n\tconst key = `${request.runId}:${request.adapterInputId}:${request.attempt}`;\n\tif (state.emittedKeys.has(key)) return;\n\tstate.emittedKeys.add(key);\n\tctx.down([[\"DATA\", { kind: \"request\", request } satisfies ToolProviderAdapterRunFact]]);\n\tprivateRetentionHooks?.onRunRequestKey?.({\n\t\tkey,\n\t\trequest,\n\t\tdropKey: () => state.emittedKeys.delete(key),\n\t});\n\temitRunStatus(\n\t\tctx,\n\t\tstate,\n\t\t{\n\t\t\tkind: \"tool-provider-adapter-run-status\",\n\t\t\trunId: request.runId,\n\t\t\tadapterInputId: request.adapterInputId,\n\t\t\trequestId: request.requestId,\n\t\t\toperationId: request.operationId,\n\t\t\tstatus: \"requested\",\n\t\t\tattempt: request.attempt,\n\t\t\tsourceRefs: request.sourceRefs,\n\t\t},\n\t\tprivateRetentionHooks,\n\t);\n\temitRunAudit(ctx, state, \"tool-provider-adapter-run-requested\", request, {\n\t\treason: request.reason,\n\t\tattempt: request.attempt,\n\t});\n}\n\nexport function emitRunStatus(\n\tctx: Ctx,\n\tstate: ToolProviderAdapterRunProjectorState,\n\tstatus: ToolProviderAdapterRunStatus,\n\tprivateRetentionHooks?: ToolProviderAdapterRunProjectorPrivateRetentionHooks,\n): void {\n\tconst cleanSourceRefs =\n\t\tstatus.sourceRefs === undefined ? undefined : sanitizeAdapterInputSourceRefs(status.sourceRefs);\n\tconst cleanIssues =\n\t\tstatus.issues === undefined\n\t\t\t? undefined\n\t\t\t: Object.freeze(status.issues.map((issue) => sanitizeAdapterInputIssue(issue)));\n\tconst cleanMetadata = sanitizeProviderGraphVisibleRecord(status.metadata);\n\tconst cleanStatus = Object.freeze({\n\t\tkind: status.kind,\n\t\trunId: status.runId,\n\t\tadapterInputId: status.adapterInputId,\n\t\t...(status.requestId === undefined ? {} : { requestId: status.requestId }),\n\t\t...(status.operationId === undefined ? {} : { operationId: status.operationId }),\n\t\tstatus: status.status,\n\t\t...(status.attempt === undefined ? {} : { attempt: status.attempt }),\n\t\t...(status.outcomeId === undefined ? {} : { outcomeId: status.outcomeId }),\n\t\t...(cleanIssues === undefined || cleanIssues.length === 0 ? {} : { issues: cleanIssues }),\n\t\t...(cleanSourceRefs === undefined || cleanSourceRefs.length === 0\n\t\t\t? {}\n\t\t\t: { sourceRefs: cleanSourceRefs }),\n\t\t...(cleanMetadata === undefined ? {} : { metadata: cleanMetadata }),\n\t} satisfies ToolProviderAdapterRunStatus);\n\tconst key = stableJsonStringify({\n\t\trunId: cleanStatus.runId,\n\t\tadapterInputId: cleanStatus.adapterInputId,\n\t\trequestId: cleanStatus.requestId,\n\t\tattempt: cleanStatus.attempt,\n\t\tstatus: cleanStatus.status,\n\t\toutcomeId: cleanStatus.outcomeId,\n\t});\n\tif (state.statusKeys.has(key)) return;\n\tstate.statusKeys.add(key);\n\tctx.down([\n\t\t[\"DATA\", { kind: \"status\", status: cleanStatus } satisfies ToolProviderAdapterRunFact],\n\t]);\n\tprivateRetentionHooks?.onRunStatusKey?.({\n\t\tkey,\n\t\tstatus: cleanStatus,\n\t\tdropKey: () => state.statusKeys.delete(key),\n\t});\n}\n\nexport function emitRunIssue(\n\tctx: Ctx,\n\tstate: ToolProviderAdapterRunProjectorState,\n\tcode: string,\n\tmessage: string,\n\tsubjectId: string,\n\trefs?: readonly SourceRef[],\n\tprivateRetentionHooks?: ToolProviderAdapterRunProjectorPrivateRetentionHooks,\n): void {\n\temitRunIssueFact(\n\t\tctx,\n\t\tstate,\n\t\tdataIssue(code, message, { subjectId, refs }),\n\t\tprivateRetentionHooks,\n\t);\n}\n\nexport function emitRunIssueFact(\n\tctx: Ctx,\n\tstate: ToolProviderAdapterRunProjectorState,\n\tissue: DataIssue,\n\tprivateRetentionHooks?: ToolProviderAdapterRunProjectorPrivateRetentionHooks,\n): void {\n\tconst key = stableJsonStringify({\n\t\tcode: issue.code,\n\t\tsubjectId: issue.subjectId,\n\t\trefs: issue.refs ?? [],\n\t\tdetails: issue.details,\n\t});\n\tif (state.issueKeys.has(key)) return;\n\tstate.issueKeys.add(key);\n\tctx.down([[\"DATA\", { kind: \"issue\", issue } satisfies ToolProviderAdapterRunFact]]);\n\tprivateRetentionHooks?.onRunIssueKey?.({\n\t\tkey,\n\t\tissue,\n\t\tdropKey: () => state.issueKeys.delete(key),\n\t});\n}\n\nexport function emitRunAudit(\n\tctx: Ctx,\n\tstate: ToolProviderAdapterRunProjectorState,\n\tkind: string,\n\trequest: ToolProviderAdapterRunRequested,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tstate.auditSeq += 1;\n\tctx.down([\n\t\t[\n\t\t\t\"DATA\",\n\t\t\t{\n\t\t\t\tkind: \"audit\",\n\t\t\t\taudit: {\n\t\t\t\t\tid: `${request.runId}:audit:${state.auditSeq}`,\n\t\t\t\t\tkind,\n\t\t\t\t\tsubjectId: request.requestId,\n\t\t\t\t\tsourceRefs: sanitizeAdapterInputSourceRefs(request.sourceRefs ?? []),\n\t\t\t\t\tmetadata: sanitizeProviderGraphVisibleRecord({\n\t\t\t\t\t\trunId: request.runId,\n\t\t\t\t\t\tadapterInputId: request.adapterInputId,\n\t\t\t\t\t\t...metadata,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t} satisfies ToolProviderAdapterRunFact,\n\t\t],\n\t]);\n}\n","import type { DataIssue } from \"../data/index.js\";\nimport {\n\tboundedPublicText,\n\tdataIssue,\n\tpublicMaterialForbiddenKeys,\n\tref,\n\tsanitizeAdapterInputIssue,\n\tsanitizeAdapterInputSourceRefs,\n\tsanitizeAgentNeed,\n\tsanitizeAgentOutputEnvelope,\n\tsanitizeGraphVisibleRecord,\n\tsanitizeRuntimeMetadata,\n} from \"./agent-runtime-common.js\";\nimport type { AgentRequestStatus, ExecutorOutcome, SourceRef } from \"./agent-runtime-types-core.js\";\nimport type {\n\tToolProviderAdapterInput,\n\tToolProviderAdapterRunResult,\n\tToolProviderPublicTextPolicy,\n} from \"./agent-runtime-types-tool.js\";\n\nexport function adapterRuntimeIdentity(input: ToolProviderAdapterInput): {\n\treadonly routeId: string;\n\treadonly executorId: string;\n\treadonly profileId: string;\n} {\n\tif (input.status !== \"ready\") {\n\t\tthrow new RangeError(\"buildToolProviderExecutorOutcome: adapter input must be ready\");\n\t}\n\tif (\n\t\tinput.routeId === undefined ||\n\t\tinput.executorId === undefined ||\n\t\tinput.profileId === undefined\n\t) {\n\t\tthrow new RangeError(\n\t\t\t\"buildToolProviderExecutorOutcome: ready adapter input is missing route/executor/profile identity\",\n\t\t);\n\t}\n\treturn {\n\t\trouteId: input.routeId,\n\t\texecutorId: input.executorId,\n\t\tprofileId: input.profileId,\n\t};\n}\n\nexport function defaultToolProviderAdapterEvidenceRefs(\n\tinput: ToolProviderAdapterInput,\n): readonly SourceRef[] {\n\treturn sanitizeAdapterInputSourceRefs([\n\t\tref(\"tool-provider-adapter-input\", input.adapterInputId),\n\t\t...(input.sourceRefs ?? []),\n\t]);\n}\n\nexport function buildToolProviderExecutorOutcome<T = unknown>(\n\tinput: ToolProviderAdapterInput,\n\tresult: ToolProviderAdapterRunResult<T>,\n\topts: {\n\t\treadonly attempt?: number;\n\t\treadonly outcomeId?: string;\n\t\treadonly occurredAtMs?: number;\n\t\treadonly runId?: string;\n\t\treadonly publicText?: ToolProviderPublicTextPolicy;\n\t} = {},\n): ExecutorOutcome<T> {\n\tconst ids = adapterRuntimeIdentity(input);\n\tconst attempt = opts.attempt ?? 1;\n\tconst occurredAtMs = result.occurredAtMs ?? opts.occurredAtMs;\n\tconst evidenceRefs =\n\t\tresult.evidenceRefs === undefined\n\t\t\t? defaultToolProviderAdapterEvidenceRefs(input)\n\t\t\t: sanitizeAdapterInputSourceRefs(result.evidenceRefs);\n\tconst issues =\n\t\tresult.issues === undefined\n\t\t\t? undefined\n\t\t\t: Object.freeze(\n\t\t\t\t\tresult.issues.map((issue) => sanitizeAdapterInputIssue(issue, opts.publicText)),\n\t\t\t\t);\n\tconst textIssues: DataIssue[] = [];\n\tconst metadata = sanitizeRuntimeMetadata(\n\t\t{\n\t\t\t...(result.metadata ?? {}),\n\t\t\tadapterInputId: input.adapterInputId,\n\t\t\t...(opts.runId === undefined ? {} : { runId: opts.runId }),\n\t\t\tproviderId: input.providerId,\n\t\t\ttoolName: input.toolName,\n\t\t\toperation: input.operation,\n\t\t},\n\t\tinput,\n\t\topts.publicText,\n\t\ttextIssues,\n\t);\n\tif (metadata === undefined && result.metadata !== undefined) {\n\t\ttextIssues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-runtime-metadata-redacted\",\n\t\t\t\t\"Tool provider adapter runtime metadata was omitted because it contained runtime-private material.\",\n\t\t\t\t{\n\t\t\t\t\tsubjectId: input.requestId,\n\t\t\t\t\trefs: [ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\t\t\t\tseverity: \"warning\",\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t}\n\tconst base = {\n\t\toutcomeId:\n\t\t\topts.outcomeId ??\n\t\t\t`${input.adapterInputId}:${toolProviderOutcomeRunSegment(opts.runId, attempt)}:${\n\t\t\t\tresult.kind\n\t\t\t}`,\n\t\trequestId: input.requestId,\n\t\toperationId: input.operationId,\n\t\trouteId: ids.routeId,\n\t\texecutorId: ids.executorId,\n\t\tprofileId: ids.profileId,\n\t\tattempt,\n\t\tevidenceRefs,\n\t\t...(input.input?.inputId === undefined ? {} : { inputId: input.input.inputId }),\n\t\t...(input.input?.inputKind === undefined ? {} : { inputKind: input.input.inputKind }),\n\t\t...(occurredAtMs === undefined ? {} : { occurredAtMs }),\n\t\t...(issues === undefined ? {} : { issues }),\n\t\t...(result.usage === undefined ? {} : { usage: result.usage }),\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t};\n\tconst candidate = (() => {\n\t\tswitch (result.kind) {\n\t\t\tcase \"result\":\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\tkind: \"result\",\n\t\t\t\t\tresult: sanitizeAgentOutputEnvelope(result.result, input, opts.publicText, textIssues),\n\t\t\t\t} satisfies ExecutorOutcome<T>;\n\t\t\tcase \"failure\":\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\tkind: \"failure\",\n\t\t\t\t\terror: sanitizeAdapterInputIssue(result.error, opts.publicText),\n\t\t\t\t\t...(result.retryable === undefined ? {} : { retryable: result.retryable }),\n\t\t\t\t} satisfies ExecutorOutcome<T>;\n\t\t\tcase \"canceled\":\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\tkind: \"canceled\",\n\t\t\t\t\t...(result.reason === undefined\n\t\t\t\t\t\t? {}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\treason: boundedPublicText(\n\t\t\t\t\t\t\t\t\tresult.reason,\n\t\t\t\t\t\t\t\t\t\"reason\",\n\t\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\t\topts.publicText,\n\t\t\t\t\t\t\t\t\ttextIssues,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}),\n\t\t\t\t} satisfies ExecutorOutcome<T>;\n\t\t\tcase \"timeout\":\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\tkind: \"timeout\",\n\t\t\t\t\t...(result.timeoutMs === undefined ? {} : { timeoutMs: result.timeoutMs }),\n\t\t\t\t\t...(result.retryable === undefined ? {} : { retryable: result.retryable }),\n\t\t\t\t} satisfies ExecutorOutcome<T>;\n\t\t\tcase \"blocked\":\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\tkind: \"blocked\",\n\t\t\t\t\tneeds: Object.freeze(\n\t\t\t\t\t\tresult.needs.map((need) => sanitizeAgentNeed(need, input, opts.publicText, textIssues)),\n\t\t\t\t\t),\n\t\t\t\t} satisfies ExecutorOutcome<T>;\n\t\t}\n\t})();\n\tconst boundedCandidate =\n\t\ttextIssues.length === 0\n\t\t\t? candidate\n\t\t\t: ({\n\t\t\t\t\t...candidate,\n\t\t\t\t\tissues: Object.freeze([...(candidate.issues ?? []), ...textIssues]),\n\t\t\t\t} satisfies ExecutorOutcome<T>);\n\tconst materialIssues = (boundedCandidate.issues ?? []).filter(\n\t\t(issue) => issue.code === \"tool-provider-adapter-runtime-forbidden-runtime-material\",\n\t);\n\tconst leakIssues = forbiddenAdapterRuntimeMaterialIssues(\n\t\tboundedCandidate,\n\t\tref(\"executor-outcome\", boundedCandidate.outcomeId),\n\t\t\"executor-outcome\",\n\t);\n\tif (leakIssues.length === 0 && materialIssues.length === 0)\n\t\treturn Object.freeze(boundedCandidate);\n\tconst allLeakIssues = Object.freeze([...materialIssues, ...leakIssues]);\n\tconst issue = allLeakIssues[0] ?? dataIssue(\"tool-provider-adapter-runtime-invalid\", \"invalid\");\n\tconst failureMetadata = sanitizeGraphVisibleRecord({\n\t\tadapterInputId: input.adapterInputId,\n\t\t...(opts.runId === undefined ? {} : { runId: opts.runId }),\n\t\tproviderId: input.providerId,\n\t\ttoolName: input.toolName,\n\t\toperation: input.operation,\n\t});\n\treturn Object.freeze({\n\t\tkind: \"failure\",\n\t\toutcomeId: `${input.adapterInputId}:${toolProviderOutcomeRunSegment(\n\t\t\topts.runId,\n\t\t\tattempt,\n\t\t)}:failure`,\n\t\trequestId: input.requestId,\n\t\toperationId: input.operationId,\n\t\trouteId: ids.routeId,\n\t\texecutorId: ids.executorId,\n\t\tprofileId: ids.profileId,\n\t\tattempt,\n\t\tevidenceRefs,\n\t\t...(input.input?.inputId === undefined ? {} : { inputId: input.input.inputId }),\n\t\t...(input.input?.inputKind === undefined ? {} : { inputKind: input.input.inputKind }),\n\t\t...(occurredAtMs === undefined ? {} : { occurredAtMs }),\n\t\t...(failureMetadata === undefined ? {} : { metadata: failureMetadata }),\n\t\terror: issue,\n\t\tretryable: false,\n\t\tissues: allLeakIssues,\n\t} as ExecutorOutcome<T>);\n}\n\nexport function agentRequestStatusForExecutorOutcome(outcome: ExecutorOutcome): AgentRequestStatus {\n\tswitch (outcome.kind) {\n\t\tcase \"result\":\n\t\t\treturn \"completed\";\n\t\tcase \"failure\":\n\t\t\treturn \"failed\";\n\t\tcase \"canceled\":\n\t\t\treturn \"canceled\";\n\t\tcase \"timeout\":\n\t\t\treturn \"timeout\";\n\t\tcase \"blocked\":\n\t\t\treturn \"blocked\";\n\t}\n}\n\nexport function toolProviderOutcomeRunSegment(runId: string | undefined, attempt: number): string {\n\treturn runId === undefined ? `attempt-${attempt}` : `${runId}:attempt-${attempt}`;\n}\n\nexport function adapterRuntimeIssue(\n\tinput: ToolProviderAdapterInput,\n\tcode: string,\n\terror: unknown,\n): DataIssue {\n\treturn dataIssue(code, \"Tool provider adapter runtime failed.\", {\n\t\tsubjectId: input.requestId,\n\t\trefs: [ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\tdetails: { errorType: error instanceof Error ? error.name : typeof error },\n\t});\n}\n\nexport function forbiddenAdapterRuntimeMaterialIssues(\n\tvalue: unknown,\n\tsubjectRef: SourceRef,\n\tarea: string,\n): readonly DataIssue[] {\n\tif (value === undefined) return [];\n\tconst forbidden = publicMaterialForbiddenKeys(value, \"provider\");\n\tif (forbidden.length === 0) return [];\n\treturn Object.freeze(\n\t\tforbidden.map((entry) =>\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-runtime-forbidden-runtime-material\",\n\t\t\t\t\"Tool provider adapter runtime output must not contain runtime-private adapter material.\",\n\t\t\t\t{ subjectId: subjectRef.id, refs: [subjectRef], details: { area, reason: entry.reason } },\n\t\t\t),\n\t\t),\n\t);\n}\n\nexport function readThenable<T>(value: T | PromiseLike<T>): {\n\treadonly subscribe?: PromiseLike<T>[\"then\"];\n\treadonly error?: unknown;\n} {\n\tif ((typeof value !== \"object\" && typeof value !== \"function\") || value === null) return {};\n\ttry {\n\t\tconst then = (value as { then?: unknown }).then;\n\t\tif (typeof then !== \"function\") return {};\n\t\treturn { subscribe: then.bind(value) as PromiseLike<T>[\"then\"] };\n\t} catch (error) {\n\t\treturn { error };\n\t}\n}\n\nexport function outcomeIssues(outcome: ExecutorOutcome): readonly DataIssue[] {\n\tif (outcome.kind === \"failure\") return Object.freeze([outcome.error, ...(outcome.issues ?? [])]);\n\treturn outcome.issues ?? [];\n}\n"],"mappings":"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","names":["request","issue"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
initNode
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CJIFGJQG.js";
|
|
4
4
|
import {
|
|
5
5
|
depBatch,
|
|
6
6
|
depLatest,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
isTerminalComplete,
|
|
9
9
|
isTerminalError,
|
|
10
10
|
terminalErrorValue
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WQIA3GFB.js";
|
|
12
12
|
|
|
13
13
|
// src/graph/composition.ts
|
|
14
14
|
function metaEqual(a, b) {
|
|
@@ -158,4 +158,4 @@ export {
|
|
|
158
158
|
stratifyBranch,
|
|
159
159
|
stratify
|
|
160
160
|
};
|
|
161
|
-
//# sourceMappingURL=chunk-
|
|
161
|
+
//# sourceMappingURL=chunk-7HZRJMN6.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Node,
|
|
3
3
|
withNodeCore
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
strictJsonCodec
|
|
7
|
-
} from "./chunk-4VLAQHZI.js";
|
|
4
|
+
} from "./chunk-SHZDP2MQ.js";
|
|
8
5
|
import {
|
|
9
6
|
depBatch,
|
|
10
7
|
depCount,
|
|
@@ -13,11 +10,14 @@ import {
|
|
|
13
10
|
isTerminalComplete,
|
|
14
11
|
isTerminalError,
|
|
15
12
|
terminalErrorValue
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WQIA3GFB.js";
|
|
17
14
|
import {
|
|
18
15
|
SENTINEL,
|
|
19
16
|
errorPayload
|
|
20
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-S6HXABGL.js";
|
|
18
|
+
import {
|
|
19
|
+
strictJsonCodec
|
|
20
|
+
} from "./chunk-K7FB3JTD.js";
|
|
21
21
|
|
|
22
22
|
// src/graph/checkpoint.ts
|
|
23
23
|
var GRAPH_CHECKPOINT_VERSION = "graphrefly.checkpoint.v1";
|
|
@@ -551,4 +551,4 @@ export {
|
|
|
551
551
|
catchError,
|
|
552
552
|
valve
|
|
553
553
|
};
|
|
554
|
-
//# sourceMappingURL=chunk-
|
|
554
|
+
//# sourceMappingURL=chunk-CJIFGJQG.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
initNode,
|
|
3
3
|
toCheckpointJson
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CJIFGJQG.js";
|
|
5
5
|
import {
|
|
6
6
|
errorPayload
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-S6HXABGL.js";
|
|
8
8
|
|
|
9
9
|
// src/graph/sources.ts
|
|
10
10
|
function source(factory, setup, opts) {
|
|
@@ -183,18 +183,90 @@ function parseCron(expr) {
|
|
|
183
183
|
daysOfWeek: parseCronField(parts[4], 0, 6)
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
-
function matchesCron(schedule, date) {
|
|
187
|
-
|
|
186
|
+
function matchesCron(schedule, date, opts = {}) {
|
|
187
|
+
const fields = cronWallClockFields(date, opts.timezone);
|
|
188
|
+
return schedule.minutes.has(fields.minute) && schedule.hours.has(fields.hour) && schedule.daysOfMonth.has(fields.day) && schedule.months.has(fields.month) && schedule.daysOfWeek.has(fields.dayOfWeek);
|
|
189
|
+
}
|
|
190
|
+
function cronMinuteKey(date, timezone) {
|
|
191
|
+
const fields = cronWallClockFields(date, timezone);
|
|
192
|
+
return `${fields.year}-${fields.month}-${fields.day}-${fields.hour}-${fields.minute}`;
|
|
193
|
+
}
|
|
194
|
+
function cronDayKey(date, timezone) {
|
|
195
|
+
const fields = cronWallClockFields(date, timezone);
|
|
196
|
+
return `${fields.year}-${fields.month}-${fields.day}`;
|
|
197
|
+
}
|
|
198
|
+
function cronWallClockFields(date, timezone) {
|
|
199
|
+
if (timezone === void 0) {
|
|
200
|
+
return {
|
|
201
|
+
year: date.getFullYear(),
|
|
202
|
+
month: date.getMonth() + 1,
|
|
203
|
+
day: date.getDate(),
|
|
204
|
+
hour: date.getHours(),
|
|
205
|
+
minute: date.getMinutes(),
|
|
206
|
+
dayOfWeek: date.getDay()
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
const parts = timezoneFormatter(timezone).formatToParts(date);
|
|
210
|
+
const values = {};
|
|
211
|
+
for (const part of parts) {
|
|
212
|
+
if (part.type === "year" || part.type === "month" || part.type === "day" || part.type === "hour" || part.type === "minute") {
|
|
213
|
+
values[part.type] = Number.parseInt(part.value, 10);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
const year = values.year;
|
|
217
|
+
const month = values.month;
|
|
218
|
+
const day = values.day;
|
|
219
|
+
const hour = values.hour;
|
|
220
|
+
const minute = values.minute;
|
|
221
|
+
if (year === void 0 || month === void 0 || day === void 0 || hour === void 0 || minute === void 0) {
|
|
222
|
+
throw new Error(`fromCron: timezone projection failed for ${timezone}`);
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
year,
|
|
226
|
+
month,
|
|
227
|
+
day,
|
|
228
|
+
hour,
|
|
229
|
+
minute,
|
|
230
|
+
dayOfWeek: new Date(Date.UTC(year, month - 1, day)).getUTCDay()
|
|
231
|
+
};
|
|
188
232
|
}
|
|
189
|
-
|
|
190
|
-
|
|
233
|
+
var TIMEZONE_FORMATTERS = /* @__PURE__ */ new Map();
|
|
234
|
+
function timezoneFormatter(timezone) {
|
|
235
|
+
const existing = TIMEZONE_FORMATTERS.get(timezone);
|
|
236
|
+
if (existing !== void 0) return existing;
|
|
237
|
+
assertNonEmptyString(timezone, "fromCron: timezone");
|
|
238
|
+
try {
|
|
239
|
+
const formatter = new Intl.DateTimeFormat("en-US-u-ca-gregory-nu-latn", {
|
|
240
|
+
timeZone: timezone,
|
|
241
|
+
year: "numeric",
|
|
242
|
+
month: "2-digit",
|
|
243
|
+
day: "2-digit",
|
|
244
|
+
hour: "2-digit",
|
|
245
|
+
minute: "2-digit",
|
|
246
|
+
hourCycle: "h23"
|
|
247
|
+
});
|
|
248
|
+
formatter.format(/* @__PURE__ */ new Date(0));
|
|
249
|
+
TIMEZONE_FORMATTERS.set(timezone, formatter);
|
|
250
|
+
return formatter;
|
|
251
|
+
} catch (error) {
|
|
252
|
+
throw new RangeError(
|
|
253
|
+
`fromCron: unsupported IANA timezone '${timezone}' (${error instanceof Error ? error.message : String(error)})`
|
|
254
|
+
);
|
|
255
|
+
}
|
|
191
256
|
}
|
|
192
257
|
function dateToTimestampNs(date) {
|
|
193
258
|
return (BigInt(date.getTime()) * 1000000n).toString();
|
|
194
259
|
}
|
|
195
260
|
function fromCron(expr, opts = {}) {
|
|
196
261
|
const schedule = parseCron(expr);
|
|
197
|
-
const { tickMs = 6e4, output = "timestamp_ns", signal } = opts;
|
|
262
|
+
const { tickMs = 6e4, output = "timestamp_ns", signal, timezone } = opts;
|
|
263
|
+
if (opts.dst?.nonexistent !== void 0 && opts.dst.nonexistent !== "skip") {
|
|
264
|
+
throw new RangeError("fromCron: dst.nonexistent currently supports only 'skip'");
|
|
265
|
+
}
|
|
266
|
+
if (opts.dst?.repeated !== void 0 && opts.dst.repeated !== "once") {
|
|
267
|
+
throw new RangeError("fromCron: dst.repeated currently supports only 'once'");
|
|
268
|
+
}
|
|
269
|
+
if (timezone !== void 0) timezoneFormatter(timezone);
|
|
198
270
|
if (!Number.isFinite(tickMs) || tickMs <= 0) {
|
|
199
271
|
throw new RangeError("fromCron: tickMs must be a positive finite number");
|
|
200
272
|
}
|
|
@@ -203,6 +275,8 @@ function fromCron(expr, opts = {}) {
|
|
|
203
275
|
(ctx) => {
|
|
204
276
|
let done = false;
|
|
205
277
|
let lastFiredKey;
|
|
278
|
+
let firedTimezoneDay;
|
|
279
|
+
const firedTimezoneMinutes = /* @__PURE__ */ new Set();
|
|
206
280
|
let intervalId;
|
|
207
281
|
const cleanup = () => {
|
|
208
282
|
done = true;
|
|
@@ -223,9 +297,18 @@ function fromCron(expr, opts = {}) {
|
|
|
223
297
|
const check = () => {
|
|
224
298
|
if (done) return;
|
|
225
299
|
const now = /* @__PURE__ */ new Date();
|
|
226
|
-
const key = cronMinuteKey(now);
|
|
227
|
-
|
|
300
|
+
const key = cronMinuteKey(now, timezone);
|
|
301
|
+
const alreadyFired = timezone === void 0 ? key === lastFiredKey : firedTimezoneMinutes.has(key);
|
|
302
|
+
if (!alreadyFired && matchesCron(schedule, now, { timezone })) {
|
|
228
303
|
lastFiredKey = key;
|
|
304
|
+
if (timezone !== void 0) {
|
|
305
|
+
const dayKey = cronDayKey(now, timezone);
|
|
306
|
+
if (dayKey !== firedTimezoneDay) {
|
|
307
|
+
firedTimezoneDay = dayKey;
|
|
308
|
+
firedTimezoneMinutes.clear();
|
|
309
|
+
}
|
|
310
|
+
firedTimezoneMinutes.add(key);
|
|
311
|
+
}
|
|
229
312
|
emitNow(now);
|
|
230
313
|
}
|
|
231
314
|
};
|
|
@@ -685,4 +768,4 @@ export {
|
|
|
685
768
|
firstValueFrom,
|
|
686
769
|
singleFromAny
|
|
687
770
|
};
|
|
688
|
-
//# sourceMappingURL=chunk-
|
|
771
|
+
//# sourceMappingURL=chunk-CX6B6PO2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/graph/sources.ts"],"sourcesContent":["/**\n * Async + sync sources (binding-layer sugar, D43 / D40 / feedback_async_sources_binding_layer).\n *\n * Sources are depless {@link Operator}`<never, T>` specs built on the `producer`/`node` path:\n * the body runs ONCE on activation (node `_activate`), schedules its work, and emits later via\n * the captured `ctx.down` (an external tier-3 emit → the leading DIRTY is synthesized for it,\n * R-dirty-before-data). Async lives ONLY here (R-no-raw-async / F-SYNC-CORE): `setTimeout` /\n * `Promise` / `for await` are confined to source bodies; the wave core stays sync. Cleanup is\n * `ctx.onDeactivation` (D28), NOT a returned object. Per-language (D6/D24), never in parity.\n *\n * Instantiate via `g.initNode(timer(1000), [])` (graph-bound, inspectable) or\n * {@link initNode}(timer(1000), []) (bare). Pool/pause defaults (D43): timer/interval =\n * sync + pausable:false (keep producing through PAUSE); fromPromise/fromAsyncIter = async\n * (default pausable, so a paused source buffers its late emits — R-async-paused).\n */\n\nimport type { Ctx } from \"../ctx/types.js\";\nimport type { Node, NodeOptions } from \"../node/node.js\";\nimport { errorPayload } from \"../protocol/messages.js\";\nimport { toCheckpointJson } from \"./checkpoint.js\";\nimport type {\n\tDriverCancel,\n\tDriverResult,\n\tHttpRequest,\n\tHttpResponse,\n\tProcessCommand,\n\tProcessResult,\n\tSseDriverEvent,\n\tSseEvent,\n\tSseRequest,\n\tWebhookDriverEvent,\n\tWebhookEvent,\n\tWebhookRegistration,\n\tWebSocketDriverEvent,\n\tWebSocketEvent,\n\tWebSocketRequest,\n} from \"./environment.js\";\nimport { initNode, type Operator } from \"./operators.js\";\n\n/**\n * Values accepted by {@link fromAny}: an existing Node, a Promise, an (a)sync iterable, or a\n * bare scalar. The universal coercion target for higher-order operators (CSP-2.7).\n */\nexport type NodeInput<T> = Node<T> | PromiseLike<T> | AsyncIterable<T> | Iterable<T> | T;\n\n/** Host-boundary options for {@link singleFromAny}. */\nexport interface SingleFromAnyOptions<K> {\n\t/**\n\t * Map a caller key to the in-flight dedupe key. Defaults to key identity; object keys dedupe only\n\t * when the same object reference is reused. Return a stable string/canonical value for structural\n\t * object-key dedupe.\n\t */\n\tkeyOf?: (key: K) => unknown;\n\t/** Treat a sync iterable result as a stream and take its first item. Defaults to scalar value. */\n\titer?: boolean;\n}\n\n/**\n * Internal: build a depless source spec. `setup` runs once on activation; its returned fn (if\n * any) is registered as the deactivation cleanup (clear timers / abort). `setup` schedules the\n * async work and emits via `ctx.down` — synchronously (sync sources) or later (async sources).\n */\nfunction source<T>(\n\tfactory: string,\n\t// biome-ignore lint/suspicious/noConfusingVoidType: setup returns a cleanup fn OR nothing — the void arm keeps no-return source bodies (e.g. `of`/`fromIter`) ergonomic, same idiom as EffectFn.\n\tsetup: (ctx: Ctx) => void | (() => void),\n\topts?: Partial<NodeOptions<T>>,\n): Operator<never, T> {\n\treturn {\n\t\tfactory,\n\t\topts,\n\t\tbody: (ctx) => {\n\t\t\tlet cleanup: undefined | (() => void);\n\t\t\tlet deactivated = false;\n\t\t\tctx.onDeactivation(() => {\n\t\t\t\tdeactivated = true;\n\t\t\t\tif (typeof cleanup === \"function\") cleanup();\n\t\t\t});\n\t\t\tconst maybeCleanup = setup(ctx);\n\t\t\tcleanup = typeof maybeCleanup === \"function\" ? maybeCleanup : undefined;\n\t\t\tif (deactivated && typeof cleanup === \"function\") cleanup();\n\t\t},\n\t};\n}\n\nfunction assertNonEmptyString(value: string, label: string): void {\n\tif (typeof value !== \"string\" || value.length === 0) {\n\t\tthrow new TypeError(`${label} must be a non-empty string`);\n\t}\n}\n\nfunction cleanupDriverWork(\n\tactive: { value: boolean },\n\tcancelSlot: { value: DriverCancel | undefined },\n): void {\n\tactive.value = false;\n\tconst cancel = cancelSlot.value;\n\tcancelSlot.value = undefined;\n\tif (cancel !== undefined) runDriverCancel(cancel);\n}\n\nfunction installDriverCancel(\n\tactive: { value: boolean },\n\tcancelSlot: { value: DriverCancel | undefined },\n\tcancel: DriverCancel,\n): void {\n\tif (active.value) cancelSlot.value = cancel;\n\telse runDriverCancel(cancel);\n}\n\nfunction runDriverCancel(cancel: DriverCancel): void {\n\ttry {\n\t\tcancel();\n\t} catch {\n\t\t// Driver cleanup is best-effort: it must not suppress graph-visible terminal delivery.\n\t}\n}\n\nfunction driverOneShotSource<T>(\n\tfactory: string,\n\tmissing: string,\n\tstart: (ctx: Ctx, callback: (result: DriverResult<T>) => void) => DriverCancel | undefined,\n): Operator<never, T> {\n\treturn source<T>(\n\t\tfactory,\n\t\t(ctx) => {\n\t\t\tconst active = { value: true };\n\t\t\tconst cancelSlot: { value: DriverCancel | undefined } = { value: undefined };\n\t\t\tconst callback = (result: DriverResult<T>) => {\n\t\t\t\tif (!active.value) return;\n\t\t\t\tcleanupDriverWork(active, cancelSlot);\n\t\t\t\tif (result.ok) ctx.down([[\"DATA\", result.value], [\"COMPLETE\"]]);\n\t\t\t\telse ctx.down([[\"ERROR\", errorPayload(result.error)]]);\n\t\t\t};\n\t\t\tlet cancel: DriverCancel | undefined;\n\t\t\ttry {\n\t\t\t\tcancel = start(ctx, callback);\n\t\t\t} catch (e) {\n\t\t\t\tactive.value = false;\n\t\t\t\tctx.down([[\"ERROR\", errorPayload(e)]]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (cancel === undefined) {\n\t\t\t\tactive.value = false;\n\t\t\t\tctx.down([[\"ERROR\", missing]]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tinstallDriverCancel(active, cancelSlot, cancel);\n\t\t\treturn () => cleanupDriverWork(active, cancelSlot);\n\t\t},\n\t\t{ pool: \"async\", pausable: false },\n\t);\n}\n\nfunction driverStreamSource<T, E extends { readonly kind: string }>(\n\tfactory: string,\n\tmissing: string,\n\tstart: (ctx: Ctx, callback: (event: E) => void) => DriverCancel | undefined,\n\tdataOf: (event: E) => T | undefined,\n\terrorOf: (event: E) => unknown,\n): Operator<never, T> {\n\treturn source<T>(\n\t\tfactory,\n\t\t(ctx) => {\n\t\t\tconst active = { value: true };\n\t\t\tconst cancelSlot: { value: DriverCancel | undefined } = { value: undefined };\n\t\t\tconst callback = (event: E) => {\n\t\t\t\tif (!active.value) return;\n\t\t\t\tif (event.kind === \"event\") {\n\t\t\t\t\tconst value = dataOf(event);\n\t\t\t\t\tif (value !== undefined) ctx.down([[\"DATA\", value]]);\n\t\t\t\t} else if (event.kind === \"error\") {\n\t\t\t\t\tcleanupDriverWork(active, cancelSlot);\n\t\t\t\t\tctx.down([[\"ERROR\", errorPayload(errorOf(event))]]);\n\t\t\t\t} else if (event.kind === \"complete\") {\n\t\t\t\t\tcleanupDriverWork(active, cancelSlot);\n\t\t\t\t\tctx.down([[\"COMPLETE\"]]);\n\t\t\t\t}\n\t\t\t};\n\t\t\tlet cancel: DriverCancel | undefined;\n\t\t\ttry {\n\t\t\t\tcancel = start(ctx, callback);\n\t\t\t} catch (e) {\n\t\t\t\tactive.value = false;\n\t\t\t\tctx.down([[\"ERROR\", errorPayload(e)]]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (cancel === undefined) {\n\t\t\t\tactive.value = false;\n\t\t\t\tctx.down([[\"ERROR\", missing]]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tinstallDriverCancel(active, cancelSlot, cancel);\n\t\t\treturn () => cleanupDriverWork(active, cancelSlot);\n\t\t},\n\t\t{ pool: \"async\", pausable: false },\n\t);\n}\n\nfunction isNode(x: unknown): x is Node {\n\treturn (\n\t\tx != null &&\n\t\ttypeof x === \"object\" &&\n\t\t\"cache\" in x &&\n\t\ttypeof (x as Node).subscribe === \"function\"\n\t);\n}\n\nfunction isThenable(x: unknown): x is PromiseLike<unknown> {\n\treturn x != null && typeof (x as PromiseLike<unknown>).then === \"function\";\n}\n\nfunction isAsyncIterable<T>(x: unknown): x is AsyncIterable<T> {\n\treturn (\n\t\tx !== null &&\n\t\tx !== undefined &&\n\t\ttypeof (x as { [Symbol.asyncIterator]?: unknown })[Symbol.asyncIterator] === \"function\"\n\t);\n}\n\nfunction isIterable<T>(x: unknown): x is Iterable<T> {\n\treturn (\n\t\tx !== null &&\n\t\tx !== undefined &&\n\t\ttypeof (x as { [Symbol.iterator]?: unknown })[Symbol.iterator] === \"function\"\n\t);\n}\n\n/** Options shared by async/timer sources: an optional AbortSignal → ERROR on abort. */\nexport interface AsyncSourceOpts {\n\tsignal?: AbortSignal;\n}\n\nexport interface TimerSourceOpts extends AsyncSourceOpts {\n\tperiod?: number;\n}\n\n/** Options for {@link fromCron}. */\nexport interface FromCronOptions extends AsyncSourceOpts {\n\t/** Cron matcher polling interval in milliseconds. Default: 60_000. */\n\ttickMs?: number;\n\t/** IANA timezone used for wall-clock cron matching. Defaults to the host-local timezone. */\n\ttimezone?: string;\n\t/**\n\t * DST policy for timezone-aware matching. Current D484 defaults are explicit: nonexistent\n\t * wall-clock minutes are skipped, and repeated wall-clock minutes fire at most once.\n\t */\n\tdst?: {\n\t\treadonly nonexistent?: \"skip\";\n\t\treadonly repeated?: \"once\";\n\t};\n\t/**\n\t * Emitted value shape. `timestamp_ns` is a decimal string so it cannot lose precision as a\n\t * JavaScript number; use `timestamp_ms` when numeric millisecond precision is enough.\n\t */\n\toutput?: \"date\" | \"timestamp_ms\" | \"timestamp_ns\";\n}\n\n/** Minimal five-field cron schedule: minute hour day-of-month month day-of-week. */\nexport interface CronSchedule {\n\treadonly minutes: ReadonlySet<number>;\n\treadonly hours: ReadonlySet<number>;\n\treadonly daysOfMonth: ReadonlySet<number>;\n\treadonly months: ReadonlySet<number>;\n\treadonly daysOfWeek: ReadonlySet<number>;\n}\n\n/** DOM/EventEmitter-style target accepted by {@link fromEvent}. */\nexport interface EventTargetLike {\n\taddEventListener(\n\t\ttype: string,\n\t\tlistener: (event: unknown) => void,\n\t\toptions?: EventListenerOptionsLike,\n\t): void;\n\tremoveEventListener(\n\t\ttype: string,\n\t\tlistener: (event: unknown) => void,\n\t\toptions?: EventListenerOptionsLike,\n\t): void;\n}\n\nexport interface EventListenerOptionsLike {\n\tcapture?: boolean;\n\tpassive?: boolean;\n\tonce?: boolean;\n}\n\nexport type FromEventOptions = EventListenerOptionsLike;\n\n/** Host push registration callback accepted by {@link fromPushNotification}. */\nexport type PushUnsubscribe = () => void;\nexport type PushRegister<T> = (deliver: (payload: T) => void) => PushUnsubscribe | undefined;\n\nfunction parseCronField(field: string, min: number, max: number): Set<number> {\n\tif (field.length === 0) throw new Error(\"Invalid cron field: empty\");\n\tconst out = new Set<number>();\n\tfor (const part of field.split(\",\")) {\n\t\tif (part.length === 0) throw new Error(`Invalid cron field: ${field}`);\n\t\tconst stepParts = part.split(\"/\");\n\t\tif (stepParts.length > 2) throw new Error(`Invalid cron step: ${part}`);\n\t\tconst [range, stepText] = stepParts;\n\t\tif (range == null || range.length === 0) throw new Error(`Invalid cron field: ${field}`);\n\t\tif (stepText === \"\") throw new Error(`Invalid cron step: ${part}`);\n\t\tconst step = stepText == null ? 1 : parseCronInt(stepText, `Invalid cron step: ${part}`);\n\t\tif (step < 1) throw new Error(`Invalid cron step: ${part}`);\n\n\t\tlet start: number;\n\t\tlet end: number;\n\t\tif (range === \"*\") {\n\t\t\tstart = min;\n\t\t\tend = max;\n\t\t} else if (range.includes(\"-\")) {\n\t\t\tconst [a, b, extra] = range.split(\"-\");\n\t\t\tif (extra !== undefined || a === \"\" || b === \"\")\n\t\t\t\tthrow new Error(`Invalid cron field: ${field}`);\n\t\t\tstart = parseCronInt(a, `Invalid cron field: ${field}`);\n\t\t\tend = parseCronInt(b, `Invalid cron field: ${field}`);\n\t\t} else {\n\t\t\tstart = parseCronInt(range, `Invalid cron field: ${field}`);\n\t\t\tend = start;\n\t\t}\n\n\t\tif (!Number.isInteger(start) || !Number.isInteger(end)) {\n\t\t\tthrow new Error(`Invalid cron field: ${field}`);\n\t\t}\n\t\tif (start < min || end > max) {\n\t\t\tthrow new RangeError(`Cron field out of range: ${field} (${min}-${max})`);\n\t\t}\n\t\tif (start > end) throw new Error(`Invalid cron range: ${start}-${end} in ${field}`);\n\t\tfor (let i = start; i <= end; i += step) out.add(i);\n\t}\n\treturn out;\n}\n\nfunction parseCronInt(text: string, message: string): number {\n\tif (!/^\\d+$/.test(text)) throw new Error(message);\n\tconst value = Number.parseInt(text, 10);\n\tif (!Number.isSafeInteger(value)) throw new Error(message);\n\treturn value;\n}\n\n/** Parse a standard five-field cron expression. */\nexport function parseCron(expr: string): CronSchedule {\n\tconst parts = expr.trim().split(/\\s+/);\n\tif (parts.length !== 5 || parts.some((part) => part.length === 0)) {\n\t\tthrow new Error(`Invalid cron: expected 5 fields, got ${parts.length}`);\n\t}\n\treturn {\n\t\tminutes: parseCronField(parts[0], 0, 59),\n\t\thours: parseCronField(parts[1], 0, 23),\n\t\tdaysOfMonth: parseCronField(parts[2], 1, 31),\n\t\tmonths: parseCronField(parts[3], 1, 12),\n\t\tdaysOfWeek: parseCronField(parts[4], 0, 6),\n\t};\n}\n\nexport interface CronMatchOptions {\n\t/** IANA timezone used for wall-clock projection. Defaults to the host-local timezone. */\n\ttimezone?: string;\n}\n\ninterface CronWallClockFields {\n\treadonly year: number;\n\treadonly month: number;\n\treadonly day: number;\n\treadonly hour: number;\n\treadonly minute: number;\n\treadonly dayOfWeek: number;\n}\n\n/** Test whether a Date matches a parsed cron schedule in host-local time or an IANA timezone. */\nexport function matchesCron(\n\tschedule: CronSchedule,\n\tdate: Date,\n\topts: CronMatchOptions = {},\n): boolean {\n\tconst fields = cronWallClockFields(date, opts.timezone);\n\treturn (\n\t\tschedule.minutes.has(fields.minute) &&\n\t\tschedule.hours.has(fields.hour) &&\n\t\tschedule.daysOfMonth.has(fields.day) &&\n\t\tschedule.months.has(fields.month) &&\n\t\tschedule.daysOfWeek.has(fields.dayOfWeek)\n\t);\n}\n\nfunction cronMinuteKey(date: Date, timezone?: string): string {\n\tconst fields = cronWallClockFields(date, timezone);\n\treturn `${fields.year}-${fields.month}-${fields.day}-${fields.hour}-${fields.minute}`;\n}\n\nfunction cronDayKey(date: Date, timezone?: string): string {\n\tconst fields = cronWallClockFields(date, timezone);\n\treturn `${fields.year}-${fields.month}-${fields.day}`;\n}\n\nfunction cronWallClockFields(date: Date, timezone?: string): CronWallClockFields {\n\tif (timezone === undefined) {\n\t\treturn {\n\t\t\tyear: date.getFullYear(),\n\t\t\tmonth: date.getMonth() + 1,\n\t\t\tday: date.getDate(),\n\t\t\thour: date.getHours(),\n\t\t\tminute: date.getMinutes(),\n\t\t\tdayOfWeek: date.getDay(),\n\t\t};\n\t}\n\tconst parts = timezoneFormatter(timezone).formatToParts(date);\n\tconst values: Record<string, number> = {};\n\tfor (const part of parts) {\n\t\tif (\n\t\t\tpart.type === \"year\" ||\n\t\t\tpart.type === \"month\" ||\n\t\t\tpart.type === \"day\" ||\n\t\t\tpart.type === \"hour\" ||\n\t\t\tpart.type === \"minute\"\n\t\t) {\n\t\t\tvalues[part.type] = Number.parseInt(part.value, 10);\n\t\t}\n\t}\n\tconst year = values.year;\n\tconst month = values.month;\n\tconst day = values.day;\n\tconst hour = values.hour;\n\tconst minute = values.minute;\n\tif (\n\t\tyear === undefined ||\n\t\tmonth === undefined ||\n\t\tday === undefined ||\n\t\thour === undefined ||\n\t\tminute === undefined\n\t) {\n\t\tthrow new Error(`fromCron: timezone projection failed for ${timezone}`);\n\t}\n\treturn {\n\t\tyear,\n\t\tmonth,\n\t\tday,\n\t\thour,\n\t\tminute,\n\t\tdayOfWeek: new Date(Date.UTC(year, month - 1, day)).getUTCDay(),\n\t};\n}\n\nconst TIMEZONE_FORMATTERS = new Map<string, Intl.DateTimeFormat>();\n\nfunction timezoneFormatter(timezone: string): Intl.DateTimeFormat {\n\tconst existing = TIMEZONE_FORMATTERS.get(timezone);\n\tif (existing !== undefined) return existing;\n\tassertNonEmptyString(timezone, \"fromCron: timezone\");\n\ttry {\n\t\tconst formatter = new Intl.DateTimeFormat(\"en-US-u-ca-gregory-nu-latn\", {\n\t\t\ttimeZone: timezone,\n\t\t\tyear: \"numeric\",\n\t\t\tmonth: \"2-digit\",\n\t\t\tday: \"2-digit\",\n\t\t\thour: \"2-digit\",\n\t\t\tminute: \"2-digit\",\n\t\t\thourCycle: \"h23\",\n\t\t});\n\t\tformatter.format(new Date(0));\n\t\tTIMEZONE_FORMATTERS.set(timezone, formatter);\n\t\treturn formatter;\n\t} catch (error) {\n\t\tthrow new RangeError(\n\t\t\t`fromCron: unsupported IANA timezone '${timezone}' (${error instanceof Error ? error.message : String(error)})`,\n\t\t);\n\t}\n}\n\nfunction dateToTimestampNs(date: Date): string {\n\treturn (BigInt(date.getTime()) * 1_000_000n).toString();\n}\n\nexport function fromCron(\n\texpr: string,\n\topts: FromCronOptions & { output: \"date\" },\n): Operator<never, Date>;\nexport function fromCron(\n\texpr: string,\n\topts: FromCronOptions & { output: \"timestamp_ms\" },\n): Operator<never, number>;\nexport function fromCron(\n\texpr: string,\n\topts?: FromCronOptions & { output?: \"timestamp_ns\" },\n): Operator<never, string>;\nexport function fromCron(\n\texpr: string,\n\topts?: FromCronOptions,\n): Operator<never, Date | number | string>;\nexport function fromCron(\n\texpr: string,\n\topts: FromCronOptions = {},\n): Operator<never, Date | number | string> {\n\tconst schedule = parseCron(expr);\n\tconst { tickMs = 60_000, output = \"timestamp_ns\", signal, timezone } = opts;\n\tif (opts.dst?.nonexistent !== undefined && opts.dst.nonexistent !== \"skip\") {\n\t\tthrow new RangeError(\"fromCron: dst.nonexistent currently supports only 'skip'\");\n\t}\n\tif (opts.dst?.repeated !== undefined && opts.dst.repeated !== \"once\") {\n\t\tthrow new RangeError(\"fromCron: dst.repeated currently supports only 'once'\");\n\t}\n\tif (timezone !== undefined) timezoneFormatter(timezone);\n\tif (!Number.isFinite(tickMs) || tickMs <= 0) {\n\t\tthrow new RangeError(\"fromCron: tickMs must be a positive finite number\");\n\t}\n\treturn source<Date | number | string>(\n\t\t\"fromCron\",\n\t\t(ctx) => {\n\t\t\tlet done = false;\n\t\t\tlet lastFiredKey: string | undefined;\n\t\t\tlet firedTimezoneDay: string | undefined;\n\t\t\tconst firedTimezoneMinutes = new Set<string>();\n\t\t\tlet intervalId: ReturnType<typeof setInterval> | undefined;\n\t\t\tconst cleanup = () => {\n\t\t\t\tdone = true;\n\t\t\t\tif (intervalId !== undefined) clearInterval(intervalId);\n\t\t\t\tintervalId = undefined;\n\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t};\n\t\t\tconst onAbort = () => {\n\t\t\t\tif (done) return;\n\t\t\t\tcleanup();\n\t\t\t\tctx.down([[\"ERROR\", errorPayload(signal?.reason)]]);\n\t\t\t};\n\t\t\tconst emitNow = (now: Date) => {\n\t\t\t\tif (output === \"date\") ctx.down([[\"DATA\", now]]);\n\t\t\t\telse if (output === \"timestamp_ms\") ctx.down([[\"DATA\", now.getTime()]]);\n\t\t\t\telse ctx.down([[\"DATA\", dateToTimestampNs(now)]]);\n\t\t\t};\n\t\t\tconst check = () => {\n\t\t\t\tif (done) return;\n\t\t\t\tconst now = new Date();\n\t\t\t\tconst key = cronMinuteKey(now, timezone);\n\t\t\t\tconst alreadyFired =\n\t\t\t\t\ttimezone === undefined ? key === lastFiredKey : firedTimezoneMinutes.has(key);\n\t\t\t\tif (!alreadyFired && matchesCron(schedule, now, { timezone })) {\n\t\t\t\t\tlastFiredKey = key;\n\t\t\t\t\tif (timezone !== undefined) {\n\t\t\t\t\t\tconst dayKey = cronDayKey(now, timezone);\n\t\t\t\t\t\tif (dayKey !== firedTimezoneDay) {\n\t\t\t\t\t\t\tfiredTimezoneDay = dayKey;\n\t\t\t\t\t\t\tfiredTimezoneMinutes.clear();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfiredTimezoneMinutes.add(key);\n\t\t\t\t\t}\n\t\t\t\t\temitNow(now);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (signal?.aborted) {\n\t\t\t\tonAbort();\n\t\t\t\treturn cleanup;\n\t\t\t}\n\t\t\tsignal?.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\tcheck();\n\t\t\tintervalId = setInterval(check, tickMs);\n\t\t\treturn cleanup;\n\t\t},\n\t\t{ pool: \"sync\", pausable: false },\n\t);\n}\n\nexport function runProcess(\n\tprogram: string,\n\targs: readonly string[] = [],\n): Operator<never, ProcessResult> {\n\treturn runProcessWithOptions({ program, args });\n}\n\nexport function fromProcess(\n\tprogram: string,\n\targs: readonly string[] = [],\n): Operator<never, ProcessResult> {\n\treturn processSource(\"fromProcess\", { program, args });\n}\n\nexport function runProcessWithOptions(command: ProcessCommand): Operator<never, ProcessResult> {\n\treturn processSource(\"runProcess\", command);\n}\n\nfunction processSource(factory: string, command: ProcessCommand): Operator<never, ProcessResult> {\n\tassertNonEmptyString(command.program, `${factory}: program`);\n\treturn driverOneShotSource<ProcessResult>(\n\t\tfactory,\n\t\t`${factory}: missing process driver`,\n\t\t(ctx, callback) => ctx.environment().processDriver()?.run(command, callback),\n\t);\n}\n\nexport function fromHttp(url: string): Operator<never, HttpResponse> {\n\treturn fromHttpWithOptions({ method: \"GET\", url });\n}\n\nexport function fromHttpWithOptions(request: HttpRequest): Operator<never, HttpResponse> {\n\tassertNonEmptyString(request.url, \"fromHttp: url\");\n\tassertNonEmptyString(request.method, \"fromHttp: method\");\n\treturn driverOneShotSource<HttpResponse>(\n\t\t\"fromHttp\",\n\t\t\"fromHttp: missing http driver\",\n\t\t(ctx, callback) => ctx.environment().httpDriver()?.request(request, callback),\n\t);\n}\n\nexport function fromSSE(url: string): Operator<never, SseEvent> {\n\treturn fromSSEWithOptions({ url });\n}\n\nexport function fromSSEWithOptions(request: SseRequest): Operator<never, SseEvent> {\n\tassertNonEmptyString(request.url, \"fromSSE: url\");\n\treturn driverStreamSource<SseEvent, SseDriverEvent>(\n\t\t\"fromSSE\",\n\t\t\"fromSSE: missing sse driver\",\n\t\t(ctx, callback) => ctx.environment().sseDriver()?.connect(request, callback),\n\t\t(event) => (event.kind === \"event\" ? event.event : undefined),\n\t\t(event) => (event.kind === \"error\" ? event.error : undefined),\n\t);\n}\n\nexport function fromWebSocket(url: string): Operator<never, WebSocketEvent> {\n\treturn fromWebSocketWithOptions({ url });\n}\n\nexport function fromWebSocketWithOptions(\n\trequest: WebSocketRequest,\n): Operator<never, WebSocketEvent> {\n\tassertNonEmptyString(request.url, \"fromWebSocket: url\");\n\treturn driverStreamSource<WebSocketEvent, WebSocketDriverEvent>(\n\t\t\"fromWebSocket\",\n\t\t\"fromWebSocket: missing websocket driver\",\n\t\t(ctx, callback) => ctx.environment().webSocketDriver()?.connect(request, callback),\n\t\t(event) => (event.kind === \"event\" ? event.event : undefined),\n\t\t(event) => (event.kind === \"error\" ? event.error : undefined),\n\t);\n}\n\nexport function fromWebhook(id: string): Operator<never, WebhookEvent> {\n\treturn fromWebhookWithOptions({ id });\n}\n\nexport function fromWebhookWithOptions(\n\tregistration: WebhookRegistration,\n): Operator<never, WebhookEvent> {\n\tassertNonEmptyString(registration.id, \"fromWebhook: id\");\n\treturn driverStreamSource<WebhookEvent, WebhookDriverEvent>(\n\t\t\"fromWebhook\",\n\t\t\"fromWebhook: missing webhook driver\",\n\t\t(ctx, callback) => ctx.environment().webhookDriver()?.register(registration, callback),\n\t\t(event) => (event.kind === \"event\" ? event.event : undefined),\n\t\t(event) => (event.kind === \"error\" ? event.error : undefined),\n\t);\n}\n\nfunction timerSource(factory: string, ms: number, opts?: TimerSourceOpts): Operator<never, number> {\n\tconst { period, signal } = opts ?? {};\n\tconst op = source<number>(\n\t\tfactory,\n\t\t(ctx) => {\n\t\t\tlet done = false;\n\t\t\tlet count = 0;\n\t\t\tlet t: ReturnType<typeof setTimeout> | undefined;\n\t\t\tlet iv: ReturnType<typeof setInterval> | undefined;\n\t\t\tconst cleanup = () => {\n\t\t\t\tdone = true;\n\t\t\t\tif (t !== undefined) clearTimeout(t);\n\t\t\t\tif (iv !== undefined) clearInterval(iv);\n\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t};\n\t\t\tconst onAbort = () => {\n\t\t\t\tif (done) return;\n\t\t\t\tcleanup();\n\t\t\t\tctx.down([[\"ERROR\", errorPayload(signal?.reason)]]);\n\t\t\t};\n\t\t\tconst finish = () => {\n\t\t\t\tif (done) return;\n\t\t\t\tif (period != null) {\n\t\t\t\t\tctx.down([[\"DATA\", count++]]);\n\t\t\t\t\tiv = setInterval(() => {\n\t\t\t\t\t\tif (done) return;\n\t\t\t\t\t\tctx.down([[\"DATA\", count++]]);\n\t\t\t\t\t}, period);\n\t\t\t\t} else {\n\t\t\t\t\t// One-shot: DATA then COMPLETE in one wave (terminal-is-forever).\n\t\t\t\t\tdone = true;\n\t\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\tctx.down([[\"DATA\", count++], [\"COMPLETE\"]]);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (signal?.aborted) {\n\t\t\t\tonAbort();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsignal?.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\tt = setTimeout(finish, ms);\n\t\t\treturn cleanup;\n\t\t},\n\t\t{ pool: \"sync\", pausable: false },\n\t);\n\tif (factory === \"timer\" && period === undefined && signal === undefined) {\n\t\treturn { ...op, restore: { ref: \"timer\", config: { ms: toCheckpointJson(ms, \"timer.ms\") } } };\n\t}\n\treturn op;\n}\n\n/**\n * Timer source: one-shot (first tick then COMPLETE) or periodic (`{period}` → 0, 1, 2, …).\n * sync pool + pausable:false (a timer keeps producing through PAUSE, R-pause-modes). Emits the\n * tick counter from 0; deactivation clears the timers.\n */\nexport function timer(ms: number, opts?: TimerSourceOpts): Operator<never, number> {\n\treturn timerSource(\"timer\", ms, opts);\n}\n\n/** Frozen pure-ts name for {@link timer}; preserves the real factory name in describe(). */\nexport function fromTimer(ms: number, opts?: TimerSourceOpts): Operator<never, number> {\n\treturn timerSource(\"fromTimer\", ms, opts);\n}\n\n/** interval: periodic ticks (0, 1, 2, …), first at `ms`, then every `ms` (RxJS semantics). */\nexport function interval(ms: number): Operator<never, number> {\n\treturn timerSource(\"interval\", ms, { period: ms });\n}\n\n/**\n * Lift a Promise (or thenable) to a single-value stream: one DATA then COMPLETE, or ERROR on\n * rejection. async pool (default pausable → a paused source buffers its late emit). Optional\n * `signal` aborts to ERROR.\n */\nexport function fromPromise<T>(\n\tp: Promise<T> | PromiseLike<T>,\n\topts?: AsyncSourceOpts,\n): Operator<never, T> {\n\tconst signal = opts?.signal;\n\treturn source<T>(\n\t\t\"fromPromise\",\n\t\t(ctx) => {\n\t\t\tlet settled = false;\n\t\t\tconst onAbort = () => {\n\t\t\t\tif (settled) return;\n\t\t\t\tsettled = true;\n\t\t\t\t// onAbort only runs from a `signal` listener / the `signal.aborted` guard → signal is defined.\n\t\t\t\tctx.down([[\"ERROR\", errorPayload((signal as AbortSignal).reason)]]);\n\t\t\t};\n\t\t\tif (signal?.aborted) {\n\t\t\t\tonAbort();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsignal?.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\tvoid Promise.resolve(p).then(\n\t\t\t\t(v) => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\tctx.down([[\"DATA\", v], [\"COMPLETE\"]]);\n\t\t\t\t},\n\t\t\t\t(e) => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\tctx.down([[\"ERROR\", errorPayload(e)]]);\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn () => {\n\t\t\t\tsettled = true;\n\t\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t\t};\n\t\t},\n\t\t{ pool: \"async\" },\n\t);\n}\n\n/**\n * Read an async iterable: each value → DATA; COMPLETE when done; ERROR on failure. async pool.\n * Optional `signal` aborts the pump.\n */\nexport function fromAsyncIter<T>(\n\titerable: AsyncIterable<T>,\n\topts?: AsyncSourceOpts,\n): Operator<never, T> {\n\tconst outerSignal = opts?.signal;\n\treturn source<T>(\n\t\t\"fromAsyncIter\",\n\t\t(ctx) => {\n\t\t\tconst ac = new AbortController();\n\t\t\tconst onOuterAbort = () => ac.abort(outerSignal?.reason);\n\t\t\touterSignal?.addEventListener(\"abort\", onOuterAbort, { once: true });\n\t\t\tlet done = false;\n\t\t\tconst pump = async () => {\n\t\t\t\ttry {\n\t\t\t\t\tfor await (const v of iterable) {\n\t\t\t\t\t\tif (ac.signal.aborted) break;\n\t\t\t\t\t\tctx.down([[\"DATA\", v]]);\n\t\t\t\t\t}\n\t\t\t\t\tif (!ac.signal.aborted) ctx.down([[\"COMPLETE\"]]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (!ac.signal.aborted) ctx.down([[\"ERROR\", errorPayload(e)]]);\n\t\t\t\t} finally {\n\t\t\t\t\tdone = true;\n\t\t\t\t}\n\t\t\t};\n\t\t\tvoid pump();\n\t\t\treturn () => {\n\t\t\t\tif (!done) ac.abort();\n\t\t\t\touterSignal?.removeEventListener(\"abort\", onOuterAbort);\n\t\t\t};\n\t\t},\n\t\t{ pool: \"async\" },\n\t);\n}\n\n/**\n * of: synchronous values — each argument as DATA, then COMPLETE. `of()` is the EMPTY source.\n */\nexport function of<T = never>(...values: T[]): Operator<never, T> {\n\treturn source<T>(\n\t\t\"of\",\n\t\t(ctx) => {\n\t\t\tfor (const value of values) ctx.down([[\"DATA\", value]]);\n\t\t\tctx.down([[\"COMPLETE\"]]);\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/** fromIter: a sync iterable — each value → DATA (in order), then COMPLETE, on activation. */\nexport function fromIter<T>(iterable: Iterable<T>): Operator<never, T> {\n\treturn source<T>(\n\t\t\"fromIter\",\n\t\t(ctx) => {\n\t\t\tfor (const v of iterable) ctx.down([[\"DATA\", v]]);\n\t\t\tctx.down([[\"COMPLETE\"]]);\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/** EMPTY analogue: complete immediately with no DATA. */\nexport function empty<T = never>(): Operator<never, T> {\n\treturn source<T>(\n\t\t\"empty\",\n\t\t(ctx) => {\n\t\t\tctx.down([[\"COMPLETE\"]]);\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/** NEVER analogue: activate and remain silent until deactivation. */\nexport function never<T = never>(): Operator<never, T> {\n\treturn source<T>(\"never\", () => undefined, { pool: \"sync\" });\n}\n\n/** Error source: terminate with ERROR on activation, coercing invalid host-language payloads. */\nexport function throwError(err: unknown): Operator<never, never> {\n\treturn source<never>(\n\t\t\"throwError\",\n\t\t(ctx) => {\n\t\t\tctx.down([[\"ERROR\", errorPayload(err)]]);\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/**\n * Wrap a DOM-style event target. Each event becomes DATA; deactivation removes the listener.\n * External callbacks are source boundaries (D43), so no polling or operator-level async leaks in.\n */\nexport function fromEvent<T = unknown>(\n\ttarget: EventTargetLike,\n\ttype: string,\n\topts: FromEventOptions = {},\n): Operator<never, T> {\n\tif (target == null || typeof target.addEventListener !== \"function\") {\n\t\tthrow new TypeError(\"fromEvent: target must implement addEventListener\");\n\t}\n\tif (typeof target.removeEventListener !== \"function\") {\n\t\tthrow new TypeError(\"fromEvent: target must implement removeEventListener\");\n\t}\n\tif (typeof type !== \"string\" || type.length === 0) {\n\t\tthrow new TypeError(\"fromEvent: event type must be a non-empty string\");\n\t}\n\treturn source<T>(\n\t\t\"fromEvent\",\n\t\t(ctx) => {\n\t\t\tlet done = false;\n\t\t\tconst handler = (event: unknown) => {\n\t\t\t\tif (!done) ctx.down([[\"DATA\", event as T]]);\n\t\t\t};\n\t\t\ttarget.addEventListener(type, handler, opts);\n\t\t\treturn () => {\n\t\t\t\tdone = true;\n\t\t\t\ttarget.removeEventListener(type, handler, opts);\n\t\t\t};\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/**\n * Wrap a host push transport. The host owns network/native setup; this factory owns reactive\n * delivery and teardown only, preserving async-at-source-boundary discipline.\n */\nexport function fromPushNotification<T = unknown>(register: PushRegister<T>): Operator<never, T> {\n\tif (typeof register !== \"function\") {\n\t\tthrow new TypeError(\"fromPushNotification: register must be a function\");\n\t}\n\treturn source<T>(\n\t\t\"fromPushNotification\",\n\t\t(ctx) => {\n\t\t\tlet done = false;\n\t\t\tconst deliver = (payload: T) => {\n\t\t\t\tif (!done) ctx.down([[\"DATA\", payload]]);\n\t\t\t};\n\t\t\tconst unsubscribe = register(deliver);\n\t\t\treturn () => {\n\t\t\t\tdone = true;\n\t\t\t\tif (typeof unsubscribe === \"function\") unsubscribe();\n\t\t\t};\n\t\t},\n\t\t{ pool: \"sync\" },\n\t);\n}\n\n/**\n * Coerce a {@link NodeInput}`<T>` to a `Node<T>` (D43 — coercion prerequisite for the CSP-2.7\n * higher-order operators). An existing Node passes through; a thenable → {@link fromPromise};\n * an async iterable → {@link fromAsyncIter}; with `{iter:true}` a sync iterable →\n * {@link fromIter}; everything else → {@link of}. Coerced nodes are bare (use\n * `opts.dispatcher` to bind one, default = process-global D26).\n */\nexport function fromAny<T>(\n\tinput: NodeInput<T>,\n\topts: NodeOptions<T> & { iter?: boolean } = {},\n): Node<T> {\n\tif (isNode(input)) return input as Node<T>;\n\tconst { iter, ...nodeOpts } = opts;\n\tif (isThenable(input)) {\n\t\treturn initNode(fromPromise(input as PromiseLike<T>), [], nodeOpts);\n\t}\n\tif (input !== null && input !== undefined) {\n\t\tconst candidate = input as {\n\t\t\t[Symbol.asyncIterator]?: unknown;\n\t\t\t[Symbol.iterator]?: unknown;\n\t\t};\n\t\tif (typeof candidate[Symbol.asyncIterator] === \"function\") {\n\t\t\treturn initNode(fromAsyncIter(input as AsyncIterable<T>), [], nodeOpts);\n\t\t}\n\t\tif (iter === true && typeof candidate[Symbol.iterator] === \"function\") {\n\t\t\treturn initNode(fromIter(input as Iterable<T>), [], nodeOpts);\n\t\t}\n\t}\n\treturn initNode(of(input as T), [], nodeOpts);\n}\n\n/**\n * Resolve the first DATA from a Node as a Promise. This is a host-boundary escape hatch, not a\n * graph operator; do not call it from reactive node bodies. ERROR rejects, and COMPLETE before DATA\n * rejects because no value exists.\n */\nexport function firstValueFrom<T>(source: Node<T>): Promise<T> {\n\treturn new Promise<T>((resolve, reject) => {\n\t\tlet settled = false;\n\t\tlet shouldUnsub = false;\n\t\tlet unsub: (() => void) | undefined;\n\t\tconst finish = (f: () => void): void => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tf();\n\t\t\tif (unsub) {\n\t\t\t\tunsub();\n\t\t\t\tunsub = undefined;\n\t\t\t} else {\n\t\t\t\tshouldUnsub = true;\n\t\t\t}\n\t\t};\n\t\tunsub = source.subscribe((msg) => {\n\t\t\tif (msg[0] === \"DATA\") {\n\t\t\t\tfinish(() => resolve(msg[1] as T));\n\t\t\t} else if (msg[0] === \"ERROR\") {\n\t\t\t\tfinish(() => reject(msg[1]));\n\t\t\t} else if (msg[0] === \"COMPLETE\") {\n\t\t\t\tfinish(() => reject(new Error(\"firstValueFrom: completed without DATA\")));\n\t\t\t} else if (msg[0] === \"TEARDOWN\") {\n\t\t\t\tfinish(() => reject(new Error(\"firstValueFrom: torn down without DATA\")));\n\t\t\t}\n\t\t});\n\t\tif (shouldUnsub) {\n\t\t\tunsub?.();\n\t\t\tunsub = undefined;\n\t\t}\n\t});\n}\n\nfunction singleFromAnyValue<T>(value: T): T {\n\tif (value === undefined) {\n\t\tthrow new TypeError(\"singleFromAny: undefined is the substrate SENTINEL\");\n\t}\n\treturn value;\n}\n\nasync function firstFromAsyncIterable<T>(input: AsyncIterable<T>): Promise<T> {\n\tconst iter = input[Symbol.asyncIterator]();\n\tconst { value, done } = await iter.next();\n\tif (done) {\n\t\tawait iter.return?.();\n\t\tthrow new Error(\"singleFromAny: factory returned empty async iterable\");\n\t}\n\ttry {\n\t\tawait iter.return?.();\n\t} catch {\n\t\t// The first value is the bridge result; close failures after that are cleanup-only.\n\t}\n\treturn value as T;\n}\n\nfunction firstFromIterable<T>(input: Iterable<T>): Promise<T> {\n\tconst iter = input[Symbol.iterator]();\n\tconst { value, done } = iter.next();\n\tif (done) {\n\t\titer.return?.();\n\t\treturn Promise.reject(new Error(\"singleFromAny: factory returned empty iterable\"));\n\t}\n\ttry {\n\t\titer.return?.();\n\t} catch {\n\t\t// The first value is the bridge result; close failures after that are cleanup-only.\n\t}\n\treturn Promise.resolve(value as T);\n}\n\nfunction nodeInputToPromise<T>(input: NodeInput<T>, opts: { iter?: boolean }): Promise<T> {\n\tif (isThenable(input)) return Promise.resolve(input as PromiseLike<T>).then(singleFromAnyValue);\n\tif (isNode(input)) return firstValueFrom(input as Node<T>).then(singleFromAnyValue);\n\tif (isAsyncIterable<T>(input)) return firstFromAsyncIterable(input).then(singleFromAnyValue);\n\tif (opts.iter === true && isIterable<T>(input)) {\n\t\treturn firstFromIterable(input).then(singleFromAnyValue);\n\t}\n\tif (input === undefined) {\n\t\treturn Promise.reject(new TypeError(\"singleFromAny: undefined is the substrate SENTINEL\"));\n\t}\n\treturn Promise.resolve(singleFromAnyValue(input as T));\n}\n\n/**\n * Keyed singleflight over {@link NodeInput}. Concurrent calls with the same key share one Promise;\n * once that input resolves/rejects, the in-flight entry is cleared and a later call re-runs the\n * factory. Host-boundary helper only; it does not create graph topology.\n */\nexport function singleFromAny<K, T>(\n\tfactory: (key: K) => NodeInput<T>,\n\topts: SingleFromAnyOptions<K> = {},\n): (key: K) => Promise<T> {\n\tconst keyOf = opts.keyOf ?? ((key: K): unknown => key);\n\tconst inFlight = new Map<unknown, Promise<T>>();\n\n\treturn (key: K): Promise<T> => {\n\t\tconst dedupeKey = keyOf(key);\n\t\tconst existing = inFlight.get(dedupeKey);\n\t\tif (existing) return existing;\n\n\t\tlet resolvePending!: (value: T) => void;\n\t\tlet rejectPending!: (reason: unknown) => void;\n\t\tlet tracked!: Promise<T>;\n\t\tconst cleanup = (): void => {\n\t\t\tif (inFlight.get(dedupeKey) === tracked) inFlight.delete(dedupeKey);\n\t\t};\n\t\tconst pending = new Promise<T>((resolve, reject) => {\n\t\t\tresolvePending = resolve;\n\t\t\trejectPending = reject;\n\t\t});\n\t\ttracked = pending.then(\n\t\t\t(value) => {\n\t\t\t\tcleanup();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tcleanup();\n\t\t\t\tthrow error;\n\t\t\t},\n\t\t);\n\t\tinFlight.set(dedupeKey, tracked);\n\t\ttry {\n\t\t\tnodeInputToPromise(factory(key), opts).then(resolvePending, rejectPending);\n\t\t} catch (e) {\n\t\t\trejectPending(e);\n\t\t}\n\t\treturn tracked;\n\t};\n}\n"],"mappings":"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","names":["source"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
__require
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=chunk-DGUM43GV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|