@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-common.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 { AgentNeed } from \"./agent-runtime-types-agent.js\";\nimport type {\n\tAgentOutputEnvelope,\n\tExecutorArtifactMaterial,\n\tSizeCapacityEvidence,\n\tSourceRef,\n} from \"./agent-runtime-types-core.js\";\nimport type {\n\tToolProviderAdapterInput,\n\tToolProviderExecutionPolicy,\n\tToolProviderPublicTextPolicy,\n} from \"./agent-runtime-types-tool.js\";\n\nexport function uniqueSourceRefs(sourceRefs: readonly SourceRef[]): readonly SourceRef[] {\n\tconst seen = new Set<string>();\n\tconst unique: SourceRef[] = [];\n\tfor (const sourceRef of sourceRefs) {\n\t\tconst key = `${sourceRef.kind}:${sourceRef.id}:${JSON.stringify(sourceRef.metadata ?? {})}`;\n\t\tif (seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tunique.push(sourceRef);\n\t}\n\treturn Object.freeze(unique);\n}\n\nexport function stableJsonStringify(value: unknown): string {\n\tconst seen = new WeakSet<object>();\n\treturn JSON.stringify(value, (_key, child) => {\n\t\tif (typeof child === \"bigint\") return child.toString();\n\t\tif (typeof child === \"function\") return \"[Function]\";\n\t\tif (!isRecord(child) && !Array.isArray(child)) return child;\n\t\tif (seen.has(child)) return \"[Circular]\";\n\t\tseen.add(child);\n\t\tif (Array.isArray(child)) return child;\n\t\treturn Object.keys(child)\n\t\t\t.sort()\n\t\t\t.reduce<Record<string, unknown>>((out, key) => {\n\t\t\t\tout[key] = child[key];\n\t\t\t\treturn out;\n\t\t\t}, {});\n\t});\n}\n\nexport function stableStringHash(value: string): string {\n\tlet hash = 0x811c9dc5;\n\tfor (let i = 0; i < value.length; i += 1) {\n\t\thash ^= value.charCodeAt(i);\n\t\thash = Math.imul(hash, 0x01000193);\n\t}\n\treturn (hash >>> 0).toString(36);\n}\n\nexport function cloneGraphVisibleMaterial(value: unknown): unknown {\n\tif (!isRecord(value) && !Array.isArray(value)) return value;\n\tif (Array.isArray(value))\n\t\treturn Object.freeze(value.map((item) => cloneGraphVisibleMaterial(item)));\n\treturn Object.freeze(\n\t\tObject.entries(value).reduce<Record<string, unknown>>((record, [key, child]) => {\n\t\t\trecord[key] = cloneGraphVisibleMaterial(child);\n\t\t\treturn record;\n\t\t}, {}),\n\t);\n}\n\nexport function projectRuntimeFact<T, TOut>(\n\tgraph: Graph,\n\truntime: Node<T>,\n\tname: string,\n\tfactory: string,\n\tpick: (fact: T) => TOut | undefined,\n): Node<TOut> {\n\treturn graph.node<TOut>(\n\t\t[runtime],\n\t\t(ctx) => {\n\t\t\tfor (const fact of depBatch(ctx, 0) ?? []) {\n\t\t\t\tconst typed = fact as T;\n\t\t\t\tconst value = pick(typed);\n\t\t\t\tif (value !== undefined) ctx.down([[\"DATA\", value]]);\n\t\t\t}\n\t\t},\n\t\t{ name, factory },\n\t);\n}\n\nexport function forEachDepBatch(\n\tctx: Ctx,\n\tstart: number,\n\tcount: number,\n\tfn: (value: unknown) => void,\n): void {\n\tfor (let i = 0; i < count; i += 1) {\n\t\tfor (const value of depBatch(ctx, start + i) ?? []) fn(value);\n\t}\n}\n\nexport function forbiddenDataKeys(\n\tvalue: unknown,\n\tpath: readonly (string | number)[] = [],\n\tseen: WeakSet<object> = new WeakSet(),\n): readonly { readonly path: readonly (string | number)[]; readonly reason: string }[] {\n\tif (typeof value === \"function\") return [{ path, reason: \"function-value\" }];\n\tif (typeof value === \"symbol\" || typeof value === \"bigint\") {\n\t\treturn [{ path, reason: \"non-graph-visible-primitive\" }];\n\t}\n\tif (!isRecord(value) && !Array.isArray(value)) return [];\n\tif (typeof value === \"object\" && value !== null) {\n\t\tif (seen.has(value)) return [];\n\t\tseen.add(value);\n\t}\n\tconst issues: { readonly path: readonly (string | number)[]; readonly reason: string }[] = [];\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((item, index) => {\n\t\t\tissues.push(...forbiddenDataKeys(item, [...path, index], seen));\n\t\t});\n\t\treturn issues;\n\t}\n\tif (!isPlainRecord(value)) return [{ path, reason: \"non-plain-runtime-object\" }];\n\tconst symbolKeys = Object.getOwnPropertySymbols(value);\n\tif (symbolKeys.length > 0) {\n\t\tissues.push({ path, reason: \"symbol-key\" });\n\t}\n\tfor (const [key, child] of Object.entries(value)) {\n\t\tconst nextPath = [...path, key];\n\t\tif (\n\t\t\t/^(apiKey|api_key|secret|client|transport|subprocess|sdk|oauth|credential|credentials|accessToken|access_token|refreshToken|refresh_token|idToken|id_token|token|password|passphrase|authorization|authHeader|auth_header|bearer|privateKey|private_key|sessionCookie|session_cookie|cookie)$/i.test(\n\t\t\t\tkey,\n\t\t\t)\n\t\t) {\n\t\t\tissues.push({ path: nextPath, reason: \"forbidden-runtime-key\" });\n\t\t}\n\t\tissues.push(...forbiddenDataKeys(child, nextPath, seen));\n\t}\n\treturn issues;\n}\n\nexport function forbiddenGraphVisibleMaterialIssues(\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-catalog-forbidden-runtime-material\",\n\t\t\t\t\"Tool provider catalog material 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 forbiddenAdapterInputMaterialIssues(\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-input-forbidden-runtime-material\",\n\t\t\t\t\"Tool provider adapter input material 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 type PublicMaterialMode = \"graph\" | \"provider\";\n\nexport function sanitizeAdapterInputSourceRefs(\n\tsourceRefs: readonly SourceRef[],\n): readonly SourceRef[] {\n\treturn canonicalPublicSourceRefs(sourceRefs);\n}\n\nexport function sanitizeGraphVisibleRecord<T extends Record<string, unknown> | undefined>(\n\tvalue: T,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): T | undefined {\n\treturn sanitizePublicRecord(value, { mode: \"graph\", policy });\n}\n\nexport function sanitizeProviderGraphVisibleRecord<T extends Record<string, unknown> | undefined>(\n\tvalue: T,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): T | undefined {\n\treturn sanitizePublicRecord(value, { mode: \"provider\", policy });\n}\n\nexport function canonicalPublicSourceRefs(sourceRefs: readonly SourceRef[]): readonly SourceRef[] {\n\treturn uniqueSourceRefs(\n\t\tsourceRefs.map((sourceRef) => {\n\t\t\tconst metadata = sanitizePublicRecord(sourceRef.metadata, { mode: \"provider\" });\n\t\t\treturn metadata === undefined\n\t\t\t\t? { kind: sourceRef.kind, id: sourceRef.id }\n\t\t\t\t: { kind: sourceRef.kind, id: sourceRef.id, metadata };\n\t\t}),\n\t);\n}\n\nexport function sanitizePublicRecord<T extends Record<string, unknown> | undefined>(\n\tvalue: T,\n\topts: {\n\t\treadonly mode: PublicMaterialMode;\n\t\treadonly policy?: ToolProviderPublicTextPolicy;\n\t},\n): T | undefined {\n\tif (value === undefined || publicMaterialForbiddenKeys(value, opts.mode).length > 0) {\n\t\treturn undefined;\n\t}\n\treturn Object.freeze(boundRecordStrings(value, maxPublicMetadataStringChars(opts.policy))) as T;\n}\n\nexport function publicMaterialForbiddenKeys(\n\tvalue: unknown,\n\tmode: PublicMaterialMode,\n): readonly { readonly path: readonly (string | number)[]; readonly reason: string }[] {\n\tconst forbidden = [...forbiddenDataKeys(value)];\n\tif (mode === \"provider\") forbidden.push(...forbiddenProviderRawMaterialKeys(value));\n\treturn forbidden;\n}\n\nexport function unlockedToolProviderPolicyOverrides(\n\toverrides:\n\t\t| Partial<Omit<ToolProviderExecutionPolicy, \"kind\" | \"policyId\" | \"providerId\">>\n\t\t| undefined,\n): Partial<Omit<ToolProviderExecutionPolicy, \"kind\" | \"policyId\" | \"providerId\">> | undefined {\n\tif (overrides === undefined) return undefined;\n\tconst rest = { ...(overrides as Record<string, unknown>) };\n\tdelete rest.kind;\n\tdelete rest.policyId;\n\tdelete rest.providerId;\n\treturn rest as Partial<Omit<ToolProviderExecutionPolicy, \"kind\" | \"policyId\" | \"providerId\">>;\n}\n\nexport function sanitizeAgentOutputEnvelope<T>(\n\tenvelope: AgentOutputEnvelope<T>,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): AgentOutputEnvelope<T> {\n\tconst summary =\n\t\tenvelope.summary === undefined\n\t\t\t? undefined\n\t\t\t: boundedPublicText(envelope.summary, \"summary\", input, policy, issues);\n\tconst metadata = sanitizeRuntimeMetadata(envelope.metadata, input, policy, issues);\n\tif (metadata === undefined && envelope.metadata !== undefined) {\n\t\tissues.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 value = sanitizeInlineOutputValue(envelope.value, input, policy, issues);\n\treturn Object.freeze({\n\t\tkind: envelope.kind,\n\t\tvalue: value as T | undefined,\n\t\trefs: envelope.refs === undefined ? undefined : sanitizeAdapterInputSourceRefs(envelope.refs),\n\t\tsummary,\n\t\tartifacts:\n\t\t\tenvelope.artifacts === undefined\n\t\t\t\t? undefined\n\t\t\t\t: Object.freeze(\n\t\t\t\t\t\tenvelope.artifacts.map((artifact) =>\n\t\t\t\t\t\t\tsanitizeExecutorArtifactMaterial(artifact, input, policy, issues),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\tmetadata,\n\t} satisfies AgentOutputEnvelope<T>);\n}\n\nexport function sanitizeExecutorArtifactMaterial(\n\tartifact: ExecutorArtifactMaterial,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): ExecutorArtifactMaterial {\n\tconst metadata = sanitizeRuntimeMetadata(artifact.metadata, input, policy, issues);\n\tconst redaction = sanitizeRuntimeMetadata(artifact.redaction, input, policy, issues);\n\treturn Object.freeze({\n\t\tkind: artifact.kind,\n\t\t...(artifact.format === undefined ? {} : { format: artifact.format }),\n\t\t...(artifact.schemaRef === undefined ? {} : { schemaRef: artifact.schemaRef }),\n\t\t...(artifact.schemaKind === undefined ? {} : { schemaKind: artifact.schemaKind }),\n\t\t...(artifact.mimeType === undefined ? {} : { mimeType: artifact.mimeType }),\n\t\t...(artifact.mediaType === undefined ? {} : { mediaType: artifact.mediaType }),\n\t\t...(artifact.filename === undefined ? {} : { filename: artifact.filename }),\n\t\t...(artifact.byteLength === undefined ? {} : { byteLength: artifact.byteLength }),\n\t\t...(artifact.digest === undefined ? {} : { digest: artifact.digest }),\n\t\t...(artifact.encoding === undefined ? {} : { encoding: artifact.encoding }),\n\t\tdataMode: artifact.dataMode,\n\t\t...(artifact.summary === undefined\n\t\t\t? {}\n\t\t\t: { summary: boundedPublicText(artifact.summary, \"summary\", input, policy, issues) }),\n\t\t...(artifact.value === undefined\n\t\t\t? {}\n\t\t\t: { value: sanitizeInlineOutputValue(artifact.value, input, policy, issues) }),\n\t\t...(artifact.ref === undefined\n\t\t\t? {}\n\t\t\t: { ref: sanitizeAdapterInputSourceRefs([artifact.ref])[0] }),\n\t\t...(artifact.refs === undefined ? {} : { refs: sanitizeAdapterInputSourceRefs(artifact.refs) }),\n\t\t...(artifact.sourceRefs === undefined\n\t\t\t? {}\n\t\t\t: { sourceRefs: sanitizeAdapterInputSourceRefs(artifact.sourceRefs) }),\n\t\t...(artifact.sizeEvidence === undefined\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tsizeEvidence: Object.freeze(\n\t\t\t\t\t\tartifact.sizeEvidence.map((evidence) =>\n\t\t\t\t\t\t\tsanitizeSizeCapacityEvidence(evidence, input, policy, issues),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t}),\n\t\t...(artifact.sensitivity === undefined\n\t\t\t? {}\n\t\t\t: { sensitivity: Object.freeze([...artifact.sensitivity]) }),\n\t\t...(redaction === undefined ? {} : { redaction }),\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t} satisfies ExecutorArtifactMaterial);\n}\n\nfunction sanitizeSizeCapacityEvidence(\n\tevidence: SizeCapacityEvidence,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): SizeCapacityEvidence {\n\tconst metadata = sanitizeRuntimeMetadata(evidence.metadata, input, policy, issues);\n\tconst redaction = sanitizeRuntimeMetadata(evidence.redaction, input, policy, issues);\n\treturn Object.freeze({\n\t\tkind: \"size-capacity-evidence\",\n\t\tunit: evidence.unit,\n\t\tquantity: evidence.quantity,\n\t\tmeasurementSource: evidence.measurementSource,\n\t\t...(evidence.estimated === undefined ? {} : { estimated: evidence.estimated }),\n\t\t...(evidence.encoding === undefined ? {} : { encoding: evidence.encoding }),\n\t\t...(evidence.mediaType === undefined ? {} : { mediaType: evidence.mediaType }),\n\t\t...(evidence.sourceRefs === undefined\n\t\t\t? {}\n\t\t\t: { sourceRefs: sanitizeAdapterInputSourceRefs(evidence.sourceRefs) }),\n\t\t...(evidence.refs === undefined ? {} : { refs: sanitizeAdapterInputSourceRefs(evidence.refs) }),\n\t\t...(evidence.issues === undefined\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tissues: Object.freeze(evidence.issues.map((issue) => sanitizeAdapterInputIssue(issue))),\n\t\t\t\t}),\n\t\t...(evidence.sensitivity === undefined\n\t\t\t? {}\n\t\t\t: { sensitivity: Object.freeze([...evidence.sensitivity]) }),\n\t\t...(redaction === undefined ? {} : { redaction }),\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t} satisfies SizeCapacityEvidence);\n}\n\nexport function sanitizeAgentNeed(\n\tneed: AgentNeed,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): AgentNeed {\n\tconst metadata = sanitizeRuntimeMetadata(need.metadata, input, policy, issues);\n\tif (metadata === undefined && need.metadata !== undefined) {\n\t\tissues.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\treturn Object.freeze({\n\t\tkind: need.kind,\n\t\tmessage:\n\t\t\tneed.message === undefined\n\t\t\t\t? undefined\n\t\t\t\t: boundedPublicText(need.message, \"message\", input, policy, issues),\n\t\trefs: need.refs === undefined ? undefined : sanitizeAdapterInputSourceRefs(need.refs),\n\t\tmetadata,\n\t} satisfies AgentNeed);\n}\n\nexport function sanitizeRuntimeMetadata<T extends Record<string, unknown> | undefined>(\n\tvalue: T,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): T | undefined {\n\tif (value === undefined) return undefined;\n\tconst bounded = sanitizePublicRecordWithEvidence(value, { mode: \"provider\", policy });\n\tif (bounded === undefined) return undefined;\n\tfor (const entry of bounded.truncated) {\n\t\tissues.push(\n\t\t\tdataIssue(\n\t\t\t\t\"tool-provider-adapter-runtime-public-text-truncated\",\n\t\t\t\t\"Tool provider adapter runtime public text was truncated; large/raw material must use artifact summary/ref envelopes.\",\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\tdetails: {\n\t\t\t\t\t\tfield: \"metadata\",\n\t\t\t\t\t\tpath: entry.path.join(\".\"),\n\t\t\t\t\t\toriginalChars: entry.originalChars,\n\t\t\t\t\t\tlimitChars: entry.limitChars,\n\t\t\t\t\t\tunit: \"chars\",\n\t\t\t\t\t\tmeasurementSource: \"js-string-length\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t}\n\treturn Object.freeze(bounded.value) as T;\n}\n\nexport function sanitizePublicRecordWithEvidence(\n\tvalue: Record<string, unknown>,\n\topts: {\n\t\treadonly mode: PublicMaterialMode;\n\t\treadonly policy?: ToolProviderPublicTextPolicy;\n\t},\n):\n\t| {\n\t\t\treadonly value: Record<string, unknown>;\n\t\t\treadonly truncated: readonly {\n\t\t\t\treadonly path: readonly (string | number)[];\n\t\t\t\treadonly originalChars: number;\n\t\t\t\treadonly limitChars: number;\n\t\t\t}[];\n\t }\n\t| undefined {\n\tif (publicMaterialForbiddenKeys(value, opts.mode).length > 0) return undefined;\n\treturn boundRecordStringsWithEvidence(value, maxPublicMetadataStringChars(opts.policy));\n}\n\nexport function sanitizeInlineOutputValue(\n\tvalue: unknown,\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): unknown {\n\tif (value === undefined) return undefined;\n\tconst forbidden = [\n\t\t...publicMaterialForbiddenKeys(value, \"provider\"),\n\t\t...oversizedInlineTextKeys(value, maxPublicSummaryChars(policy)),\n\t];\n\tif (forbidden.length === 0) return cloneGraphVisibleMaterial(value);\n\tfor (const entry of forbidden) {\n\t\tissues.push(\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 value must not inline runtime-private, raw, or oversized provider 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\tdetails: { reason: entry.reason },\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t}\n\treturn undefined;\n}\n\nexport function boundedPublicText(\n\ttext: string,\n\tfield: \"message\" | \"reason\" | \"summary\",\n\tinput: ToolProviderAdapterInput,\n\tpolicy: ToolProviderPublicTextPolicy | undefined,\n\tissues: DataIssue[],\n): string {\n\tconst limit =\n\t\tfield === \"summary\"\n\t\t\t? maxPublicSummaryChars(policy)\n\t\t\t: field === \"reason\"\n\t\t\t\t? maxPublicReasonChars(policy)\n\t\t\t\t: maxPublicMessageChars(policy);\n\tconst bounded = boundPublicText(text, limit);\n\tif (!bounded.truncated) return bounded.text;\n\tissues.push(\n\t\tdataIssue(\n\t\t\t\"tool-provider-adapter-runtime-public-text-truncated\",\n\t\t\t\"Tool provider adapter runtime public text was truncated; large/raw material must use artifact summary/ref envelopes.\",\n\t\t\t{\n\t\t\t\tsubjectId: input.requestId,\n\t\t\t\trefs: [ref(\"tool-provider-adapter-input\", input.adapterInputId)],\n\t\t\t\tseverity: \"warning\",\n\t\t\t\tdetails: {\n\t\t\t\t\tfield,\n\t\t\t\t\toriginalChars: bounded.originalChars,\n\t\t\t\t\tlimitChars: bounded.limitChars,\n\t\t\t\t\tunit: \"chars\",\n\t\t\t\t\tmeasurementSource: \"js-string-length\",\n\t\t\t\t},\n\t\t\t},\n\t\t),\n\t);\n\treturn bounded.text;\n}\n\nexport function boundPublicText(\n\ttext: string,\n\tlimitChars: number,\n): {\n\treadonly text: string;\n\treadonly truncated: boolean;\n\treadonly originalChars: number;\n\treadonly limitChars: number;\n} {\n\tconst limit = Math.max(0, limitChars);\n\tif (text.length <= limit) {\n\t\treturn { text, truncated: false, originalChars: text.length, limitChars: limit };\n\t}\n\tconst bounded =\n\t\tlimit <= 1\n\t\t\t? text.slice(0, limit)\n\t\t\t: limit <= 3\n\t\t\t\t? text.slice(0, limit)\n\t\t\t\t: `${text.slice(0, limit - 3)}...`;\n\treturn { text: bounded, truncated: true, originalChars: text.length, limitChars: limit };\n}\n\nexport function boundRecordStrings(\n\tvalue: Record<string, unknown>,\n\tlimitChars: number,\n\tseen: WeakSet<object> = new WeakSet(),\n): Record<string, unknown> {\n\tif (seen.has(value)) return {};\n\tseen.add(value);\n\treturn Object.entries(value).reduce<Record<string, unknown>>((out, [key, child]) => {\n\t\tif (typeof child === \"string\") {\n\t\t\tout[key] = boundPublicText(child, limitChars).text;\n\t\t} else if (Array.isArray(child)) {\n\t\t\tout[key] = child.map((item) =>\n\t\t\t\ttypeof item === \"string\"\n\t\t\t\t\t? boundPublicText(item, limitChars).text\n\t\t\t\t\t: isPlainRecord(item)\n\t\t\t\t\t\t? boundRecordStrings(item, limitChars, seen)\n\t\t\t\t\t\t: item,\n\t\t\t);\n\t\t} else if (isPlainRecord(child)) {\n\t\t\tout[key] = boundRecordStrings(child, limitChars, seen);\n\t\t} else {\n\t\t\tout[key] = child;\n\t\t}\n\t\treturn out;\n\t}, {});\n}\n\nexport function boundRecordStringsWithEvidence(\n\tvalue: Record<string, unknown>,\n\tlimitChars: number,\n\tpath: readonly (string | number)[] = [],\n\tseen: WeakSet<object> = new WeakSet(),\n): {\n\treadonly value: Record<string, unknown>;\n\treadonly truncated: readonly {\n\t\treadonly path: readonly (string | number)[];\n\t\treadonly originalChars: number;\n\t\treadonly limitChars: number;\n\t}[];\n} {\n\tif (seen.has(value)) return { value: {}, truncated: [] };\n\tseen.add(value);\n\tconst truncated: {\n\t\treadonly path: readonly (string | number)[];\n\t\treadonly originalChars: number;\n\t\treadonly limitChars: number;\n\t}[] = [];\n\tconst out = Object.entries(value).reduce<Record<string, unknown>>((record, [key, child]) => {\n\t\tconst childPath = [...path, key];\n\t\tif (typeof child === \"string\") {\n\t\t\tconst bounded = boundPublicText(child, limitChars);\n\t\t\trecord[key] = bounded.text;\n\t\t\tif (bounded.truncated) {\n\t\t\t\ttruncated.push({\n\t\t\t\t\tpath: childPath,\n\t\t\t\t\toriginalChars: bounded.originalChars,\n\t\t\t\t\tlimitChars: bounded.limitChars,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (Array.isArray(child)) {\n\t\t\trecord[key] = child.map((item, index) => {\n\t\t\t\tconst itemPath = [...childPath, index];\n\t\t\t\tif (typeof item === \"string\") {\n\t\t\t\t\tconst bounded = boundPublicText(item, limitChars);\n\t\t\t\t\tif (bounded.truncated) {\n\t\t\t\t\t\ttruncated.push({\n\t\t\t\t\t\t\tpath: itemPath,\n\t\t\t\t\t\t\toriginalChars: bounded.originalChars,\n\t\t\t\t\t\t\tlimitChars: bounded.limitChars,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn bounded.text;\n\t\t\t\t}\n\t\t\t\tif (isPlainRecord(item)) {\n\t\t\t\t\tconst nested = boundRecordStringsWithEvidence(item, limitChars, itemPath, seen);\n\t\t\t\t\ttruncated.push(...nested.truncated);\n\t\t\t\t\treturn nested.value;\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t} else if (isPlainRecord(child)) {\n\t\t\tconst nested = boundRecordStringsWithEvidence(child, limitChars, childPath, seen);\n\t\t\trecord[key] = nested.value;\n\t\t\ttruncated.push(...nested.truncated);\n\t\t} else {\n\t\t\trecord[key] = child;\n\t\t}\n\t\treturn record;\n\t}, {});\n\treturn { value: out, truncated };\n}\n\nexport function sanitizeIssueDetails(\n\tdetails: unknown,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): unknown {\n\tif (details === undefined) return undefined;\n\tif (publicMaterialForbiddenKeys(details, \"provider\").length > 0) {\n\t\treturn { redacted: true, reason: \"forbidden-runtime-material\" };\n\t}\n\tconst bounded = boundUnknownStringsWithEvidence(details, maxPublicMetadataStringChars(policy));\n\tif (bounded.truncated.length === 0) return bounded.value;\n\tconst detailsTruncated = {\n\t\tdetailsTruncated: true,\n\t\tdetailsTruncatedPaths: bounded.truncated.map((entry) => entry.path.join(\".\")),\n\t\tmeasurementSource: \"js-string-length\",\n\t};\n\tif (isPlainRecord(bounded.value)) {\n\t\treturn Object.freeze({ ...bounded.value, ...detailsTruncated });\n\t}\n\treturn Object.freeze({ value: bounded.value, ...detailsTruncated });\n}\n\nexport function boundUnknownStringsWithEvidence(\n\tvalue: unknown,\n\tlimitChars: number,\n\tpath: readonly (string | number)[] = [],\n\tseen: WeakSet<object> = new WeakSet(),\n): {\n\treadonly value: unknown;\n\treadonly truncated: readonly {\n\t\treadonly path: readonly (string | number)[];\n\t\treadonly originalChars: number;\n\t\treadonly limitChars: number;\n\t}[];\n} {\n\tif (typeof value === \"string\") {\n\t\tconst bounded = boundPublicText(value, limitChars);\n\t\treturn {\n\t\t\tvalue: bounded.text,\n\t\t\ttruncated: bounded.truncated\n\t\t\t\t? [{ path, originalChars: bounded.originalChars, limitChars: bounded.limitChars }]\n\t\t\t\t: [],\n\t\t};\n\t}\n\tif (!isRecord(value) && !Array.isArray(value)) return { value, truncated: [] };\n\tif (typeof value === \"object\" && value !== null) {\n\t\tif (seen.has(value)) return { value: Array.isArray(value) ? [] : {}, truncated: [] };\n\t\tseen.add(value);\n\t}\n\tconst truncated: {\n\t\treadonly path: readonly (string | number)[];\n\t\treadonly originalChars: number;\n\t\treadonly limitChars: number;\n\t}[] = [];\n\tif (Array.isArray(value)) {\n\t\tconst out = value.map((item, index) => {\n\t\t\tconst bounded = boundUnknownStringsWithEvidence(item, limitChars, [...path, index], seen);\n\t\t\ttruncated.push(...bounded.truncated);\n\t\t\treturn bounded.value;\n\t\t});\n\t\treturn { value: out, truncated };\n\t}\n\tconst out = Object.entries(value).reduce<Record<string, unknown>>((record, [key, child]) => {\n\t\tconst bounded = boundUnknownStringsWithEvidence(child, limitChars, [...path, key], seen);\n\t\trecord[key] = bounded.value;\n\t\ttruncated.push(...bounded.truncated);\n\t\treturn record;\n\t}, {});\n\treturn { value: out, truncated };\n}\n\nexport function oversizedInlineTextKeys(\n\tvalue: unknown,\n\tlimitChars: number,\n\tpath: readonly (string | number)[] = [],\n\tseen: WeakSet<object> = new WeakSet(),\n): readonly { readonly path: readonly (string | number)[]; readonly reason: string }[] {\n\tif (typeof value === \"string\") {\n\t\treturn value.length > Math.max(0, limitChars)\n\t\t\t? [{ path, reason: \"oversized-inline-text\" }]\n\t\t\t: [];\n\t}\n\tif (!isRecord(value) && !Array.isArray(value)) return [];\n\tif (typeof value === \"object\" && value !== null) {\n\t\tif (seen.has(value)) return [];\n\t\tseen.add(value);\n\t}\n\tconst issues: { readonly path: readonly (string | number)[]; readonly reason: string }[] = [];\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((item, index) => {\n\t\t\tissues.push(...oversizedInlineTextKeys(item, limitChars, [...path, index], seen));\n\t\t});\n\t\treturn issues;\n\t}\n\tfor (const [key, child] of Object.entries(value)) {\n\t\tissues.push(...oversizedInlineTextKeys(child, limitChars, [...path, key], seen));\n\t}\n\treturn issues;\n}\n\nexport function maxPublicMessageChars(policy?: ToolProviderPublicTextPolicy): number {\n\treturn normalizedPublicTextLimit(policy?.maxMessageChars, 512);\n}\n\nexport function maxPublicSummaryChars(policy?: ToolProviderPublicTextPolicy): number {\n\treturn normalizedPublicTextLimit(policy?.maxSummaryChars, 512);\n}\n\nexport function maxPublicReasonChars(policy?: ToolProviderPublicTextPolicy): number {\n\treturn normalizedPublicTextLimit(policy?.maxReasonChars, 512);\n}\n\nexport function maxPublicMetadataStringChars(policy?: ToolProviderPublicTextPolicy): number {\n\treturn normalizedPublicTextLimit(policy?.maxMetadataStringChars, 256);\n}\n\nexport function normalizedPublicTextLimit(value: number | undefined, fallback: number): number {\n\tif (value === undefined || !Number.isFinite(value)) return fallback;\n\treturn Math.max(0, Math.floor(value));\n}\n\nexport function sanitizeAdapterInputIssue(\n\tissue: DataIssue,\n\tpolicy?: ToolProviderPublicTextPolicy,\n): DataIssue {\n\tconst boundedMessage = boundPublicText(issue.message, maxPublicMessageChars(policy));\n\tconst details = sanitizeIssueDetails(issue.details, policy);\n\tconst metadata = sanitizeProviderGraphVisibleRecord(issue.metadata, policy);\n\tconst refs =\n\t\tissue.refs === undefined\n\t\t\t? undefined\n\t\t\t: Object.freeze(issue.refs.filter((entry): entry is string => typeof entry === \"string\"));\n\treturn Object.freeze({\n\t\tkind: issue.kind,\n\t\tcode: issue.code,\n\t\t...(issue.source === undefined ? {} : { source: issue.source }),\n\t\tmessage: boundedMessage.text,\n\t\tseverity: issue.severity,\n\t\tsubjectId: issue.subjectId,\n\t\t...(issue.correlationId === undefined ? {} : { correlationId: issue.correlationId }),\n\t\t...(issue.causationId === undefined ? {} : { causationId: issue.causationId }),\n\t\t...(issue.path === undefined ? {} : { path: Object.freeze([...issue.path]) }),\n\t\t...(refs === undefined || refs.length === 0 ? {} : { refs }),\n\t\t...(issue.retryable === undefined ? {} : { retryable: issue.retryable }),\n\t\tdetails:\n\t\t\tboundedMessage.truncated || details !== issue.details\n\t\t\t\t? {\n\t\t\t\t\t\t...(isRecord(details) ? details : {}),\n\t\t\t\t\t\t...(boundedMessage.truncated\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\ttruncated: true,\n\t\t\t\t\t\t\t\t\toriginalChars: boundedMessage.originalChars,\n\t\t\t\t\t\t\t\t\tlimitChars: boundedMessage.limitChars,\n\t\t\t\t\t\t\t\t\tmeasurementSource: \"js-string-length\",\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t}\n\t\t\t\t: details,\n\t\t...(metadata === undefined ? {} : { metadata }),\n\t} satisfies DataIssue);\n}\n\nexport function forbiddenProviderRawMaterialKeys(\n\tvalue: unknown,\n\tpath: readonly (string | number)[] = [],\n\tseen: WeakSet<object> = new WeakSet(),\n): readonly { readonly path: readonly (string | number)[]; readonly reason: string }[] {\n\tif (!isRecord(value) && !Array.isArray(value)) return [];\n\tif (typeof value === \"object\" && value !== null) {\n\t\tif (seen.has(value)) return [];\n\t\tseen.add(value);\n\t}\n\tconst issues: { readonly path: readonly (string | number)[]; readonly reason: string }[] = [];\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((item, index) => {\n\t\t\tissues.push(...forbiddenProviderRawMaterialKeys(item, [...path, index], seen));\n\t\t});\n\t\treturn issues;\n\t}\n\tfor (const [key, child] of Object.entries(value)) {\n\t\tconst nextPath = [...path, key];\n\t\tif (\n\t\t\t/^(stdout|stderr|stack|stackTrace|stack_trace|providerRaw|provider_raw|rawResponse|raw_response|diff|patch|fileContents|file_contents|binary|media)$/i.test(\n\t\t\t\tkey,\n\t\t\t)\n\t\t) {\n\t\t\tissues.push({ path: nextPath, reason: \"raw-provider-material\" });\n\t\t}\n\t\tissues.push(...forbiddenProviderRawMaterialKeys(child, nextPath, seen));\n\t}\n\treturn issues;\n}\n\nexport function dataIssue(\n\tcode: string,\n\tmessage: string,\n\topts: {\n\t\treadonly subjectId?: string;\n\t\treadonly refs?: readonly SourceRef[];\n\t\treadonly severity?: DataIssue[\"severity\"];\n\t\treadonly details?: unknown;\n\t} = {},\n): DataIssue {\n\treturn {\n\t\tkind: \"issue\",\n\t\tcode,\n\t\tmessage,\n\t\tseverity: opts.severity ?? \"error\",\n\t\tsubjectId: opts.subjectId,\n\t\trefs: opts.refs?.map((r) => `${r.kind}:${r.id}`),\n\t\tdetails: opts.details,\n\t};\n}\n\nexport function ref(kind: string, id: string): SourceRef {\n\treturn { kind, id };\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport function isPlainRecord(value: unknown): value is Record<string, unknown> {\n\tif (!isRecord(value)) return false;\n\tconst proto = Object.getPrototypeOf(value);\n\treturn proto === Object.prototype || proto === null;\n}\n"],"mappings":"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","names":["out"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// src/messaging/internal.ts
|
|
2
|
+
var busStates = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
function registerMessageBusState(bus, state) {
|
|
4
|
+
busStates.set(bus, state);
|
|
5
|
+
}
|
|
6
|
+
function getMessageBusState(bus) {
|
|
7
|
+
return busStates.get(bus);
|
|
8
|
+
}
|
|
9
|
+
function attachMessageBusCommandSource(graph, bus, commands) {
|
|
10
|
+
const state = getMessageBusState(bus);
|
|
11
|
+
if (state === void 0) throw new Error("messageBus: unknown implementation");
|
|
12
|
+
if (state.graph !== graph) throw new Error("messageBus: command source graph must match");
|
|
13
|
+
state.commandSources.push(commands);
|
|
14
|
+
const busCommands = bus.commands;
|
|
15
|
+
if (busCommands === void 0) throw new Error("messageBus: missing commands node");
|
|
16
|
+
busCommands.replaceDeps([...state.commandSources], state.commandBody);
|
|
17
|
+
let released = false;
|
|
18
|
+
return () => {
|
|
19
|
+
if (released) return;
|
|
20
|
+
released = true;
|
|
21
|
+
const index = state.commandSources.indexOf(commands);
|
|
22
|
+
if (index >= 0) state.commandSources.splice(index, 1);
|
|
23
|
+
busCommands.replaceDeps([...state.commandSources], state.commandBody);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function attachMessageBusDeferredCommandSink(graph, bus, commands) {
|
|
27
|
+
const state = getMessageBusState(bus);
|
|
28
|
+
if (state === void 0) throw new Error("messageBus: unknown implementation");
|
|
29
|
+
if (state.graph !== graph) throw new Error("messageBus: command sink graph must match");
|
|
30
|
+
const busCommands = bus.commands;
|
|
31
|
+
if (busCommands === void 0) throw new Error("messageBus: missing commands node");
|
|
32
|
+
const boundary = commands;
|
|
33
|
+
const unsubscribe = commands.subscribe((msg) => {
|
|
34
|
+
if (msg[0] !== "DATA") return;
|
|
35
|
+
const command = msg[1];
|
|
36
|
+
const send = () => busCommands.down([["DATA", command]]);
|
|
37
|
+
if (boundary.__deferBoundary === void 0) send();
|
|
38
|
+
else boundary.__deferBoundary(send);
|
|
39
|
+
});
|
|
40
|
+
return unsubscribe;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export {
|
|
44
|
+
registerMessageBusState,
|
|
45
|
+
getMessageBusState,
|
|
46
|
+
attachMessageBusCommandSource,
|
|
47
|
+
attachMessageBusDeferredCommandSink
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=chunk-UT3MHJCW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/messaging/internal.ts"],"sourcesContent":["import type { NodeFn } from \"../ctx/types.js\";\nimport type { Graph } from \"../graph/graph.js\";\nimport type { Node } from \"../node/node.js\";\nimport type { MessageBusCommand } from \"./index.js\";\n\nexport interface MessageBusInternalState {\n\treadonly graph: Graph;\n\treadonly name: string;\n\treadonly commandSources: Node<MessageBusCommand>[];\n\treadonly commandBody: NodeFn;\n}\n\nconst busStates = new WeakMap<object, MessageBusInternalState>();\n\nexport function registerMessageBusState(bus: object, state: MessageBusInternalState): void {\n\tbusStates.set(bus, state);\n}\n\nexport function getMessageBusState(bus: object): MessageBusInternalState | undefined {\n\treturn busStates.get(bus);\n}\n\nexport function attachMessageBusCommandSource(\n\tgraph: Graph,\n\tbus: object,\n\tcommands: Node<MessageBusCommand>,\n): () => void {\n\tconst state = getMessageBusState(bus);\n\tif (state === undefined) throw new Error(\"messageBus: unknown implementation\");\n\tif (state.graph !== graph) throw new Error(\"messageBus: command source graph must match\");\n\tstate.commandSources.push(commands);\n\tconst busCommands = (bus as { readonly commands?: Node<MessageBusCommand> }).commands;\n\tif (busCommands === undefined) throw new Error(\"messageBus: missing commands node\");\n\tbusCommands.replaceDeps([...state.commandSources], state.commandBody);\n\tlet released = false;\n\treturn () => {\n\t\tif (released) return;\n\t\treleased = true;\n\t\tconst index = state.commandSources.indexOf(commands);\n\t\tif (index >= 0) state.commandSources.splice(index, 1);\n\t\tbusCommands.replaceDeps([...state.commandSources], state.commandBody);\n\t};\n}\n\nexport function attachMessageBusDeferredCommandSink(\n\tgraph: Graph,\n\tbus: object,\n\tcommands: Node<MessageBusCommand>,\n): () => void {\n\tconst state = getMessageBusState(bus);\n\tif (state === undefined) throw new Error(\"messageBus: unknown implementation\");\n\tif (state.graph !== graph) throw new Error(\"messageBus: command sink graph must match\");\n\tconst busCommands = (bus as { readonly commands?: Node<MessageBusCommand> }).commands;\n\tif (busCommands === undefined) throw new Error(\"messageBus: missing commands node\");\n\tconst boundary = commands as Node<MessageBusCommand> & {\n\t\t__deferBoundary?: (fn: () => void) => void;\n\t};\n\tconst unsubscribe = commands.subscribe((msg) => {\n\t\tif (msg[0] !== \"DATA\") return;\n\t\tconst command = msg[1] as MessageBusCommand;\n\t\tconst send = () => busCommands.down([[\"DATA\", command]]);\n\t\tif (boundary.__deferBoundary === undefined) send();\n\t\telse boundary.__deferBoundary(send);\n\t});\n\treturn unsubscribe;\n}\n"],"mappings":";AAYA,IAAM,YAAY,oBAAI,QAAyC;AAExD,SAAS,wBAAwB,KAAa,OAAsC;AAC1F,YAAU,IAAI,KAAK,KAAK;AACzB;AAEO,SAAS,mBAAmB,KAAkD;AACpF,SAAO,UAAU,IAAI,GAAG;AACzB;AAEO,SAAS,8BACf,OACA,KACA,UACa;AACb,QAAM,QAAQ,mBAAmB,GAAG;AACpC,MAAI,UAAU,OAAW,OAAM,IAAI,MAAM,oCAAoC;AAC7E,MAAI,MAAM,UAAU,MAAO,OAAM,IAAI,MAAM,6CAA6C;AACxF,QAAM,eAAe,KAAK,QAAQ;AAClC,QAAM,cAAe,IAAwD;AAC7E,MAAI,gBAAgB,OAAW,OAAM,IAAI,MAAM,mCAAmC;AAClF,cAAY,YAAY,CAAC,GAAG,MAAM,cAAc,GAAG,MAAM,WAAW;AACpE,MAAI,WAAW;AACf,SAAO,MAAM;AACZ,QAAI,SAAU;AACd,eAAW;AACX,UAAM,QAAQ,MAAM,eAAe,QAAQ,QAAQ;AACnD,QAAI,SAAS,EAAG,OAAM,eAAe,OAAO,OAAO,CAAC;AACpD,gBAAY,YAAY,CAAC,GAAG,MAAM,cAAc,GAAG,MAAM,WAAW;AAAA,EACrE;AACD;AAEO,SAAS,oCACf,OACA,KACA,UACa;AACb,QAAM,QAAQ,mBAAmB,GAAG;AACpC,MAAI,UAAU,OAAW,OAAM,IAAI,MAAM,oCAAoC;AAC7E,MAAI,MAAM,UAAU,MAAO,OAAM,IAAI,MAAM,2CAA2C;AACtF,QAAM,cAAe,IAAwD;AAC7E,MAAI,gBAAgB,OAAW,OAAM,IAAI,MAAM,mCAAmC;AAClF,QAAM,WAAW;AAGjB,QAAM,cAAc,SAAS,UAAU,CAAC,QAAQ;AAC/C,QAAI,IAAI,CAAC,MAAM,OAAQ;AACvB,UAAM,UAAU,IAAI,CAAC;AACrB,UAAM,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC;AACvD,QAAI,SAAS,oBAAoB,OAAW,MAAK;AAAA,QAC5C,UAAS,gBAAgB,IAAI;AAAA,EACnC,CAAC;AACD,SAAO;AACR;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValueTier
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S6HXABGL.js";
|
|
4
4
|
|
|
5
5
|
// src/testing/assertions.ts
|
|
6
6
|
function assertDirtyPrecedesTerminalData(messages) {
|
|
@@ -46,4 +46,4 @@ function describeWave(wave, around) {
|
|
|
46
46
|
export {
|
|
47
47
|
assertDirtyPrecedesTerminalData
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=chunk-
|
|
49
|
+
//# sourceMappingURL=chunk-VPEFSDME.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SENTINEL
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S6HXABGL.js";
|
|
4
4
|
|
|
5
5
|
// src/ctx/types.ts
|
|
6
6
|
var CTX_DEP_CACHE = /* @__PURE__ */ Symbol("graphrefly.ctx.depCache");
|
|
@@ -50,4 +50,4 @@ export {
|
|
|
50
50
|
depLatest,
|
|
51
51
|
depTerminal
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-WQIA3GFB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ctx/types.ts"],"sourcesContent":["/**\n * The fn-invocation context and per-dep input shapes.\n *\n * Canonical authority: ~/src/graphrefly/spec/rules.jsonl\n * R-fn-contract (D8/D27), R-ctx-state (D23/D29), R-cleanup-hooks (D28), R-ctx-up.\n */\n\nimport type { Dispatcher } from \"../dispatcher/index.js\";\nimport type { EnvironmentDrivers } from \"../graph/environment.js\";\nimport type { Node } from \"../node/node.js\";\nimport { type Message, type PullDemand, SENTINEL, type Wave } from \"../protocol/messages.js\";\n\n/** A downstream sink callback (the only way to connect to a node's output). */\nexport type Sink = (msg: Message, delivery?: DeliveryMeta) => void;\n\n/** Internal delivery metadata used to preserve the upstream `ctx.down(msgs)` wave boundary. */\nexport interface DeliveryMeta {\n\treadonly wave: object;\n\treadonly last: boolean;\n}\n\n/**\n * Internal current-value reader. It is deliberately a symbol-backed implementation detail:\n * raw ctx exposes `waveData` + `terminal`; helpers below derive from that plus this dep cache.\n */\nexport const CTX_DEP_CACHE: unique symbol = Symbol(\"graphrefly.ctx.depCache\");\n\nexport interface CtxDepCache {\n\treadonly latest: readonly unknown[];\n}\n\n/** Internal node-construction binding for graph-local helper-created deps. */\nexport const CTX_NODE_BINDING: unique symbol = Symbol(\"graphrefly.ctx.nodeBinding\");\n\nexport interface CtxNodeBinding {\n\treadonly dispatcher: Dispatcher;\n\tcreate<T>(factory: () => Node<T>): Node<T>;\n}\n\n/** Per-dep wave projections: dep -> waves -> values/SENTINEL markers. */\nexport type WaveData = readonly (readonly (readonly unknown[])[])[];\n\n/** Terminal metadata parallel to `waveData`: false = none, true = COMPLETE, otherwise ERROR payload. */\nexport type TerminalData = readonly unknown[];\n\nexport function isTerminalNone(t: unknown): boolean {\n\treturn t === false || t === undefined;\n}\n\nexport function isTerminalComplete(t: unknown): t is true {\n\treturn t === true;\n}\n\nexport function isTerminalError(t: unknown): boolean {\n\treturn !isTerminalNone(t) && !isTerminalComplete(t);\n}\n\nexport function terminalErrorValue(t: unknown): unknown {\n\treturn isTerminalError(t) ? t : undefined;\n}\n\n/**\n * Per-node private cross-wave state (R-ctx-state / D23,D29). Default fresh-lifecycle\n * wipe; `persist(true)` keeps it across lifecycle transitions.\n */\nexport interface CtxState {\n\tget<S = unknown>(): S | undefined;\n\tset<S = unknown>(v: S): void;\n\tpersist(on?: boolean): void;\n}\n\n/**\n * Deferred SELF-rewire (R-rewire-deferred / D47). A node fn may, DURING its run, request a\n * mutation of its OWN dep set; the request is QUEUED and applied at the committed wave boundary\n * (after the current wave settles / batch commit / final-lock RESUME) as a fresh wave, reusing\n * R-rewire surgical/Option-C semantics (D42). This is the ONLY legal self-triggered rewire — an\n * IMMEDIATE in-fn `node.subscribeDep/unsubscribeDep/replaceDeps` is the D37 mid-fn feedback-cycle ERROR. An\n * added cached dep pushes `[DIRTY,DATA]` on the boundary wave (R-push-subscribe); a removed dep\n * is drained and, if it loses its last subscriber, `_deactivate`s + fires `onDeactivation`\n * (input-side teardown — the basis for higher-order operator cancellation / abortInFlight).\n */\nexport interface RewireNext {\n\t/** Defer subscribing to a dep (paired with the re-supplied fn — positional fn-deps lock, SD-1). */\n\tsubscribeDep(dep: Node<unknown>, fn: NodeFn): void;\n\t/** Defer unsubscribing from a dep (its source is torn down if it loses its last subscriber). */\n\tunsubscribeDep(dep: Node<unknown>, fn: NodeFn): void;\n\t/** Defer replacing the whole dep set (surgical: kept deps untouched, removed drained, added fresh-subscribe). */\n\treplaceDeps(deps: Node<unknown>[], fn: NodeFn): void;\n}\n\n/**\n * The single argument to a node fn: `(ctx) => void` (R-fn-contract / D8). All emission\n * is explicit via `ctx.down`; there is no return-value framing.\n */\nexport interface Ctx {\n\t/**\n\t * Emit upstream toward deps — control tiers only (R-ctx-up). IMMEDIATE. `towardDep` (a dep index)\n\t * routes the wave up ONE declared edge (R-up-routing directed-up); omitted = broadcast up all deps.\n\t * A pull DEMAND is `up([[PULL, { pullId, params }]])` — but for a SELF-demand (demanding a dep\n\t * this fn also reads) use {@link Ctx.upNext} instead, since an immediate demand whose delivery loops back\n\t * re-enters this fn mid-wave (D37 / R-reentrancy).\n\t */\n\tup(msgs: Wave, towardDep?: number): void;\n\t/** Emit downstream toward sinks. */\n\tdown(msgs: Wave): void;\n\t/**\n\t * The single raw dep-value input surface (R-ctx-wave-data / D77): dep -> upstream waves ->\n\t * per-wave DATA payloads and INVALIDATE/SENTINEL markers. `waveData[i] = []` means dep i\n\t * delivered no wave to this invocation; `waveData[i] = [[]]` means RESOLVED-only.\n\t */\n\twaveData: WaveData;\n\t/** Terminal metadata for the same invocation; terminal values never enter `waveData`. */\n\tterminal: TerminalData;\n\tstate: CtxState;\n\t/** Release external resources on deactivation (R-cleanup-hooks). */\n\tonDeactivation(fn: () => void): void;\n\t/** Flush on INVALIDATE (R-cleanup-hooks). */\n\tonInvalidate(fn: () => void): void;\n\t/** Graph-owned environment drivers for source/adapter boundaries (D130/D131). */\n\tenvironment(): EnvironmentDrivers;\n\t/** Holder-visible context for a PULL-caused invocation (D272); absent for ordinary waves. */\n\treadonly pull?: PullDemand;\n\t/**\n\t * Deferred SELF-rewire (R-rewire-deferred / D47) — the substrate affordance higher-order\n\t * operators (switchMap/mergeMap/concatMap/exhaustMap/flatMap) use to grow/shrink their own\n\t * inner-source dep set in response to their own data. Always present; see {@link RewireNext}.\n\t */\n\trewireNext: RewireNext;\n\t/**\n\t * Deferred up — the boundary-deferred form of {@link Ctx.up} (R-up-routing / R-pull / D59). Routes\n\t * `msgs` up from this node at the COMMITTED wave boundary (broadcast, or up the single `towardDep`\n\t * edge), riding the same R-rewire-deferred (D47) drain as {@link RewireNext}. This is the\n\t * SELF-DEMAND path: a consumer issues `ctx.upNext([[PULL, { pullId, params }]])` to demand a pull\n\t * dep it ALSO reads — the cone-routed PULL reaches the pullId-holder, whose delivery loops back as a\n\t * FRESH wave (not a mid-fn re-entry → no D37). The consumer accepts one-wave latency (the\n\t * HTTP-request model). No node reference needed: the author writes the pullId verbatim.\n\t */\n\tupNext(msgs: Wave, towardDep?: number): void;\n\t/**\n\t * Read a dep's latest value by index (dynamicNode only, R-dynamic-node / D35).\n\t * Present only on dynamicNode fns; all declared deps still participate in wave\n\t * tracking. Under D49/R-resolved-undirty an unread dep's change still fires the fn,\n\t * which re-emits its (unchanged) output as a DATA occurrence — there is NO equals-\n\t * absorption; pair with distinctUntilChanged to suppress unchanged re-emits (opt-in).\n\t */\n\ttrack?(depIndex: number): unknown;\n\t[CTX_DEP_CACHE]?: CtxDepCache;\n\t[CTX_NODE_BINDING]?: CtxNodeBinding;\n}\n\n/** A node fn (R-fn-contract). Registered in a dispatcher pool, indexed by Handle. */\nexport type NodeFn = (ctx: Ctx) => void;\n\n/** Number of declared dep slots visible in this invocation. */\nexport function depCount(ctx: Ctx): number {\n\treturn ctx.waveData.length;\n}\n\n/** DATA/SENTINEL projection batches delivered by one dep in this invocation. */\nexport function depWaves(ctx: Ctx, depIndex: number): readonly (readonly unknown[])[] {\n\treturn ctx.waveData[depIndex] ?? [];\n}\n\n/** Flattened DATA projection for old event-counting operator bodies; null = no wave. */\nexport function depBatch(ctx: Ctx, depIndex: number): readonly unknown[] | null {\n\tconst waves = depWaves(ctx, depIndex);\n\tif (waves.length === 0) return null;\n\tconst flattened = waves.flat().filter((v) => v !== SENTINEL);\n\treturn flattened.length === 0 ? [] : flattened;\n}\n\n/** Latest cached DATA for a dep, derived from implementation-owned dep cache. */\nexport function depLatest(ctx: Ctx, depIndex: number): unknown {\n\treturn ctx[CTX_DEP_CACHE]?.latest[depIndex];\n}\n\n/** Terminal metadata for one dep: false = none, true = COMPLETE, otherwise ERROR payload. */\nexport function depTerminal(ctx: Ctx, depIndex: number): unknown {\n\tconst t = ctx.terminal[depIndex];\n\treturn t === undefined ? false : t;\n}\n"],"mappings":";;;;;AAyBO,IAAM,gBAA+B,uBAAO,yBAAyB;AAOrE,IAAM,mBAAkC,uBAAO,4BAA4B;AAa3E,SAAS,eAAe,GAAqB;AACnD,SAAO,MAAM,SAAS,MAAM;AAC7B;AAEO,SAAS,mBAAmB,GAAuB;AACzD,SAAO,MAAM;AACd;AAEO,SAAS,gBAAgB,GAAqB;AACpD,SAAO,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC;AACnD;AAEO,SAAS,mBAAmB,GAAqB;AACvD,SAAO,gBAAgB,CAAC,IAAI,IAAI;AACjC;AA+FO,SAAS,SAAS,KAAkB;AAC1C,SAAO,IAAI,SAAS;AACrB;AAGO,SAAS,SAAS,KAAU,UAAmD;AACrF,SAAO,IAAI,SAAS,QAAQ,KAAK,CAAC;AACnC;AAGO,SAAS,SAAS,KAAU,UAA6C;AAC/E,QAAM,QAAQ,SAAS,KAAK,QAAQ;AACpC,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,QAAM,YAAY,MAAM,KAAK,EAAE,OAAO,CAAC,MAAM,MAAM,QAAQ;AAC3D,SAAO,UAAU,WAAW,IAAI,CAAC,IAAI;AACtC;AAGO,SAAS,UAAU,KAAU,UAA2B;AAC9D,SAAO,IAAI,aAAa,GAAG,OAAO,QAAQ;AAC3C;AAGO,SAAS,YAAY,KAAU,UAA2B;AAChE,QAAM,IAAI,IAAI,SAAS,QAAQ;AAC/B,SAAO,MAAM,SAAY,QAAQ;AAClC;","names":[]}
|
|
@@ -8,22 +8,22 @@ import {
|
|
|
8
8
|
loadReactiveMapState,
|
|
9
9
|
reactiveCollectionChangeFrame,
|
|
10
10
|
reactiveCollectionSnapshotFrame
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IDMLXLLG.js";
|
|
12
12
|
import {
|
|
13
13
|
agenticMemoryRecordCodec,
|
|
14
14
|
agenticMemoryRecordFrame,
|
|
15
15
|
agenticMemoryRecordFrameCodec,
|
|
16
16
|
assertAgenticMemoryRecordFrame
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-4NWSNI4K.js";
|
|
18
18
|
import {
|
|
19
19
|
assertGraphLocalNode
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-EOKT4QFF.js";
|
|
21
21
|
import {
|
|
22
22
|
restoreReactiveIndex,
|
|
23
23
|
restoreReactiveList,
|
|
24
24
|
restoreReactiveLog,
|
|
25
25
|
restoreReactiveMap
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ECURQ3HD.js";
|
|
27
27
|
|
|
28
28
|
// src/adapters/agentic-memory-storage.ts
|
|
29
29
|
var AGENTIC_MEMORY_RECORD_SNAPSHOT_FORMAT = "graphrefly.agenticMemory.records.snapshot";
|
|
@@ -815,4 +815,4 @@ export {
|
|
|
815
815
|
openPersistentReactiveMap,
|
|
816
816
|
openPersistentReactiveIndex
|
|
817
817
|
};
|
|
818
|
-
//# sourceMappingURL=chunk-
|
|
818
|
+
//# sourceMappingURL=chunk-YDWBXXQZ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
memoryKv,
|
|
3
3
|
requireKvPutIfAbsent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JKAYLDQV.js";
|
|
5
5
|
|
|
6
6
|
// src/storage/append-log.ts
|
|
7
7
|
var APPEND_LOG_SEQ_PAD = 20;
|
|
@@ -226,4 +226,4 @@ export {
|
|
|
226
226
|
memoryAppendLog,
|
|
227
227
|
memoryMultiWriterAppendLog
|
|
228
228
|
};
|
|
229
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-ZLFRB6FI.js.map
|