@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,61 @@
|
|
|
1
|
+
import { W as WritableNode } from '../store-PAAsYvML.cjs';
|
|
2
|
+
import { d as Graph } from '../graph-CWK3HLPB.cjs';
|
|
3
|
+
import { N as Node } from '../types-BS6CyR-x.cjs';
|
|
4
|
+
import '../core/index.cjs';
|
|
5
|
+
import '../messages-CAzUPPJM.cjs';
|
|
6
|
+
import '../codec-BB7p8fJc.cjs';
|
|
7
|
+
import '../describe-CQRrkv-Q.cjs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Framework-neutral graph boundary projection (D238).
|
|
11
|
+
*
|
|
12
|
+
* The manifest is derived from describe()/live topology (R-describe,
|
|
13
|
+
* R-edges-derived). It does not own widgets, layouts, capabilities, or product
|
|
14
|
+
* metadata; those layers consume this structural boundary.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
type BoundaryRole = "input" | "output";
|
|
18
|
+
type BoundaryCapabilityKind = "auth" | "permission" | "config" | "resource";
|
|
19
|
+
interface BoundaryCapabilityRef {
|
|
20
|
+
id: string;
|
|
21
|
+
kind: BoundaryCapabilityKind;
|
|
22
|
+
required: boolean;
|
|
23
|
+
sourceRefs?: readonly string[];
|
|
24
|
+
}
|
|
25
|
+
interface BaseBoundaryNode {
|
|
26
|
+
/** Registered graph node id/path. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Structural boundary role inferred from current describe() topology. */
|
|
29
|
+
role: BoundaryRole;
|
|
30
|
+
/** describe() factory: "state" | "producer" | "derived" | operator real name. */
|
|
31
|
+
type: string;
|
|
32
|
+
/** Live handle for framework adapters such as useNodeInput/useNodeValue. */
|
|
33
|
+
node: Node<unknown>;
|
|
34
|
+
/**
|
|
35
|
+
* D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted
|
|
36
|
+
* React/Canvas/product registries and do not affect structural boundary role inference.
|
|
37
|
+
*/
|
|
38
|
+
capabilities?: readonly BoundaryCapabilityRef[];
|
|
39
|
+
}
|
|
40
|
+
interface InputBoundaryNode extends BaseBoundaryNode {
|
|
41
|
+
role: "input";
|
|
42
|
+
node: WritableNode<unknown>;
|
|
43
|
+
}
|
|
44
|
+
interface OutputBoundaryNode extends BaseBoundaryNode {
|
|
45
|
+
role: "output";
|
|
46
|
+
}
|
|
47
|
+
type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;
|
|
48
|
+
interface BoundaryManifest {
|
|
49
|
+
inputs: InputBoundaryNode[];
|
|
50
|
+
outputs: OutputBoundaryNode[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Derive a narrow v0 boundary manifest from current graph structure.
|
|
54
|
+
*
|
|
55
|
+
* Writable source nodes are inputs; unconsumed sink nodes are outputs; interior
|
|
56
|
+
* nodes are omitted. Auto-discovered graphless describe entries are skipped
|
|
57
|
+
* because widgets need live graph handles.
|
|
58
|
+
*/
|
|
59
|
+
declare function boundaryManifest(graph: Graph): BoundaryManifest;
|
|
60
|
+
|
|
61
|
+
export { type BaseBoundaryNode, type BoundaryCapabilityKind, type BoundaryCapabilityRef, type BoundaryManifest, type BoundaryNode, type BoundaryRole, type InputBoundaryNode, type OutputBoundaryNode, boundaryManifest };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { W as WritableNode } from '../store-BmtEs9mG.js';
|
|
2
|
+
import { d as Graph } from '../graph-ho5sotHP.js';
|
|
3
|
+
import { N as Node } from '../types-C9NOgNJw.js';
|
|
4
|
+
import '../core/index.js';
|
|
5
|
+
import '../messages-CAzUPPJM.js';
|
|
6
|
+
import '../codec-BB7p8fJc.js';
|
|
7
|
+
import '../describe-B_A5fbXH.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Framework-neutral graph boundary projection (D238).
|
|
11
|
+
*
|
|
12
|
+
* The manifest is derived from describe()/live topology (R-describe,
|
|
13
|
+
* R-edges-derived). It does not own widgets, layouts, capabilities, or product
|
|
14
|
+
* metadata; those layers consume this structural boundary.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
type BoundaryRole = "input" | "output";
|
|
18
|
+
type BoundaryCapabilityKind = "auth" | "permission" | "config" | "resource";
|
|
19
|
+
interface BoundaryCapabilityRef {
|
|
20
|
+
id: string;
|
|
21
|
+
kind: BoundaryCapabilityKind;
|
|
22
|
+
required: boolean;
|
|
23
|
+
sourceRefs?: readonly string[];
|
|
24
|
+
}
|
|
25
|
+
interface BaseBoundaryNode {
|
|
26
|
+
/** Registered graph node id/path. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Structural boundary role inferred from current describe() topology. */
|
|
29
|
+
role: BoundaryRole;
|
|
30
|
+
/** describe() factory: "state" | "producer" | "derived" | operator real name. */
|
|
31
|
+
type: string;
|
|
32
|
+
/** Live handle for framework adapters such as useNodeInput/useNodeValue. */
|
|
33
|
+
node: Node<unknown>;
|
|
34
|
+
/**
|
|
35
|
+
* D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted
|
|
36
|
+
* React/Canvas/product registries and do not affect structural boundary role inference.
|
|
37
|
+
*/
|
|
38
|
+
capabilities?: readonly BoundaryCapabilityRef[];
|
|
39
|
+
}
|
|
40
|
+
interface InputBoundaryNode extends BaseBoundaryNode {
|
|
41
|
+
role: "input";
|
|
42
|
+
node: WritableNode<unknown>;
|
|
43
|
+
}
|
|
44
|
+
interface OutputBoundaryNode extends BaseBoundaryNode {
|
|
45
|
+
role: "output";
|
|
46
|
+
}
|
|
47
|
+
type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;
|
|
48
|
+
interface BoundaryManifest {
|
|
49
|
+
inputs: InputBoundaryNode[];
|
|
50
|
+
outputs: OutputBoundaryNode[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Derive a narrow v0 boundary manifest from current graph structure.
|
|
54
|
+
*
|
|
55
|
+
* Writable source nodes are inputs; unconsumed sink nodes are outputs; interior
|
|
56
|
+
* nodes are omitted. Auto-discovered graphless describe entries are skipped
|
|
57
|
+
* because widgets need live graph handles.
|
|
58
|
+
*/
|
|
59
|
+
declare function boundaryManifest(graph: Graph): BoundaryManifest;
|
|
60
|
+
|
|
61
|
+
export { type BaseBoundaryNode, type BoundaryCapabilityKind, type BoundaryCapabilityRef, type BoundaryManifest, type BoundaryNode, type BoundaryRole, type InputBoundaryNode, type OutputBoundaryNode, boundaryManifest };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import "../chunk-DGUM43GV.js";
|
|
2
|
+
|
|
3
|
+
// src/inspection/boundary.ts
|
|
4
|
+
function boundaryManifest(graph) {
|
|
5
|
+
const described = graph.describe();
|
|
6
|
+
const consumed = /* @__PURE__ */ new Set();
|
|
7
|
+
for (const snapshot of walkSnapshots(described)) {
|
|
8
|
+
for (const edge of snapshot.edges ?? []) consumed.add(edge.from);
|
|
9
|
+
}
|
|
10
|
+
const inputs = [];
|
|
11
|
+
const outputs = [];
|
|
12
|
+
for (const snapshot of walkSnapshots(described)) {
|
|
13
|
+
for (const entry of snapshot.nodes ?? []) {
|
|
14
|
+
const node = graph.find(entry.id);
|
|
15
|
+
if (node === void 0) continue;
|
|
16
|
+
const capabilities = boundaryCapabilities(entry.meta);
|
|
17
|
+
const isSource = (entry.deps?.length ?? 0) === 0;
|
|
18
|
+
const base = capabilities === void 0 ? { name: entry.id, type: entry.factory, node } : { name: entry.id, type: entry.factory, node, capabilities };
|
|
19
|
+
if (isSource && isWritableNode(node)) {
|
|
20
|
+
inputs.push({ ...base, role: "input", node });
|
|
21
|
+
} else if (!consumed.has(entry.id)) {
|
|
22
|
+
outputs.push({ ...base, role: "output" });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { inputs, outputs };
|
|
27
|
+
}
|
|
28
|
+
function* walkSnapshots(snapshot) {
|
|
29
|
+
yield snapshot;
|
|
30
|
+
for (const child of snapshot.subgraphs ?? []) yield* walkSnapshots(child);
|
|
31
|
+
}
|
|
32
|
+
function isWritableNode(node) {
|
|
33
|
+
return typeof node.set === "function";
|
|
34
|
+
}
|
|
35
|
+
function boundaryCapabilities(meta) {
|
|
36
|
+
const raw = meta?.boundaryCapabilities;
|
|
37
|
+
if (raw === void 0) return void 0;
|
|
38
|
+
if (!Array.isArray(raw)) return void 0;
|
|
39
|
+
const refs = [];
|
|
40
|
+
for (const item of raw) {
|
|
41
|
+
const ref = boundaryCapabilityRef(item);
|
|
42
|
+
if (ref !== void 0) refs.push(ref);
|
|
43
|
+
}
|
|
44
|
+
return refs.length === 0 ? void 0 : refs;
|
|
45
|
+
}
|
|
46
|
+
function boundaryCapabilityRef(value) {
|
|
47
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return void 0;
|
|
48
|
+
const record = value;
|
|
49
|
+
if (!Object.keys(record).every(isBoundaryCapabilityRefKey)) return void 0;
|
|
50
|
+
if (typeof record.id !== "string" || !isBoundaryCapabilityKind(record.kind)) return void 0;
|
|
51
|
+
if (typeof record.required !== "boolean") return void 0;
|
|
52
|
+
const sourceRefs = stringArray(record.sourceRefs);
|
|
53
|
+
if (record.sourceRefs !== void 0 && sourceRefs === void 0) return void 0;
|
|
54
|
+
return {
|
|
55
|
+
id: record.id,
|
|
56
|
+
kind: record.kind,
|
|
57
|
+
required: record.required,
|
|
58
|
+
...sourceRefs === void 0 ? {} : { sourceRefs }
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function isBoundaryCapabilityKind(value) {
|
|
62
|
+
return value === "auth" || value === "permission" || value === "config" || value === "resource";
|
|
63
|
+
}
|
|
64
|
+
function isBoundaryCapabilityRefKey(value) {
|
|
65
|
+
return value === "id" || value === "kind" || value === "required" || value === "sourceRefs";
|
|
66
|
+
}
|
|
67
|
+
function stringArray(value) {
|
|
68
|
+
if (value === void 0) return void 0;
|
|
69
|
+
if (!Array.isArray(value) || !value.every((entry) => typeof entry === "string")) return void 0;
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
boundaryManifest
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/inspection/boundary.ts"],"sourcesContent":["/**\n * Framework-neutral graph boundary projection (D238).\n *\n * The manifest is derived from describe()/live topology (R-describe,\n * R-edges-derived). It does not own widgets, layouts, capabilities, or product\n * metadata; those layers consume this structural boundary.\n */\n\nimport type { WritableNode } from \"../adapters/store.js\";\nimport type { DescribeSnapshot } from \"../graph/describe.js\";\nimport type { Graph } from \"../graph/graph.js\";\nimport type { Node } from \"../node/node.js\";\n\nexport type BoundaryRole = \"input\" | \"output\";\nexport type BoundaryCapabilityKind = \"auth\" | \"permission\" | \"config\" | \"resource\";\n\nexport interface BoundaryCapabilityRef {\n\tid: string;\n\tkind: BoundaryCapabilityKind;\n\trequired: boolean;\n\tsourceRefs?: readonly string[];\n}\n\nexport interface BaseBoundaryNode {\n\t/** Registered graph node id/path. */\n\tname: string;\n\t/** Structural boundary role inferred from current describe() topology. */\n\trole: BoundaryRole;\n\t/** describe() factory: \"state\" | \"producer\" | \"derived\" | operator real name. */\n\ttype: string;\n\t/** Live handle for framework adapters such as useNodeInput/useNodeValue. */\n\tnode: Node<unknown>;\n\t/**\n\t * D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted\n\t * React/Canvas/product registries and do not affect structural boundary role inference.\n\t */\n\tcapabilities?: readonly BoundaryCapabilityRef[];\n}\n\nexport interface InputBoundaryNode extends BaseBoundaryNode {\n\trole: \"input\";\n\tnode: WritableNode<unknown>;\n}\n\nexport interface OutputBoundaryNode extends BaseBoundaryNode {\n\trole: \"output\";\n}\n\nexport type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;\n\nexport interface BoundaryManifest {\n\tinputs: InputBoundaryNode[];\n\toutputs: OutputBoundaryNode[];\n}\n\n/**\n * Derive a narrow v0 boundary manifest from current graph structure.\n *\n * Writable source nodes are inputs; unconsumed sink nodes are outputs; interior\n * nodes are omitted. Auto-discovered graphless describe entries are skipped\n * because widgets need live graph handles.\n */\nexport function boundaryManifest(graph: Graph): BoundaryManifest {\n\tconst described = graph.describe();\n\tconst consumed = new Set<string>();\n\tfor (const snapshot of walkSnapshots(described)) {\n\t\tfor (const edge of snapshot.edges ?? []) consumed.add(edge.from);\n\t}\n\tconst inputs: InputBoundaryNode[] = [];\n\tconst outputs: OutputBoundaryNode[] = [];\n\n\tfor (const snapshot of walkSnapshots(described)) {\n\t\tfor (const entry of snapshot.nodes ?? []) {\n\t\t\tconst node = graph.find(entry.id);\n\t\t\tif (node === undefined) continue;\n\t\t\tconst capabilities = boundaryCapabilities(entry.meta);\n\t\t\tconst isSource = (entry.deps?.length ?? 0) === 0;\n\t\t\tconst base =\n\t\t\t\tcapabilities === undefined\n\t\t\t\t\t? { name: entry.id, type: entry.factory, node }\n\t\t\t\t\t: { name: entry.id, type: entry.factory, node, capabilities };\n\t\t\tif (isSource && isWritableNode(node)) {\n\t\t\t\tinputs.push({ ...base, role: \"input\", node });\n\t\t\t} else if (!consumed.has(entry.id)) {\n\t\t\t\toutputs.push({ ...base, role: \"output\" });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { inputs, outputs };\n}\n\nfunction* walkSnapshots(snapshot: DescribeSnapshot): Generator<DescribeSnapshot> {\n\tyield snapshot;\n\tfor (const child of snapshot.subgraphs ?? []) yield* walkSnapshots(child);\n}\n\nfunction isWritableNode(node: Node<unknown>): node is WritableNode<unknown> {\n\treturn typeof (node as { set?: unknown }).set === \"function\";\n}\n\nfunction boundaryCapabilities(\n\tmeta: Record<string, unknown> | undefined,\n): BoundaryCapabilityRef[] | undefined {\n\tconst raw = meta?.boundaryCapabilities;\n\tif (raw === undefined) return undefined;\n\tif (!Array.isArray(raw)) return undefined;\n\tconst refs: BoundaryCapabilityRef[] = [];\n\tfor (const item of raw) {\n\t\tconst ref = boundaryCapabilityRef(item);\n\t\tif (ref !== undefined) refs.push(ref);\n\t}\n\treturn refs.length === 0 ? undefined : refs;\n}\n\nfunction boundaryCapabilityRef(value: unknown): BoundaryCapabilityRef | undefined {\n\tif (value === null || typeof value !== \"object\" || Array.isArray(value)) return undefined;\n\tconst record = value as Record<string, unknown>;\n\tif (!Object.keys(record).every(isBoundaryCapabilityRefKey)) return undefined;\n\tif (typeof record.id !== \"string\" || !isBoundaryCapabilityKind(record.kind)) return undefined;\n\tif (typeof record.required !== \"boolean\") return undefined;\n\tconst sourceRefs = stringArray(record.sourceRefs);\n\tif (record.sourceRefs !== undefined && sourceRefs === undefined) return undefined;\n\treturn {\n\t\tid: record.id,\n\t\tkind: record.kind,\n\t\trequired: record.required,\n\t\t...(sourceRefs === undefined ? {} : { sourceRefs }),\n\t};\n}\n\nfunction isBoundaryCapabilityKind(value: unknown): value is BoundaryCapabilityKind {\n\treturn value === \"auth\" || value === \"permission\" || value === \"config\" || value === \"resource\";\n}\n\nfunction isBoundaryCapabilityRefKey(value: string): value is keyof BoundaryCapabilityRef {\n\treturn value === \"id\" || value === \"kind\" || value === \"required\" || value === \"sourceRefs\";\n}\n\nfunction stringArray(value: unknown): readonly string[] | undefined {\n\tif (value === undefined) return undefined;\n\tif (!Array.isArray(value) || !value.every((entry) => typeof entry === \"string\")) return undefined;\n\treturn value;\n}\n"],"mappings":";;;AA8DO,SAAS,iBAAiB,OAAgC;AAChE,QAAM,YAAY,MAAM,SAAS;AACjC,QAAM,WAAW,oBAAI,IAAY;AACjC,aAAW,YAAY,cAAc,SAAS,GAAG;AAChD,eAAW,QAAQ,SAAS,SAAS,CAAC,EAAG,UAAS,IAAI,KAAK,IAAI;AAAA,EAChE;AACA,QAAM,SAA8B,CAAC;AACrC,QAAM,UAAgC,CAAC;AAEvC,aAAW,YAAY,cAAc,SAAS,GAAG;AAChD,eAAW,SAAS,SAAS,SAAS,CAAC,GAAG;AACzC,YAAM,OAAO,MAAM,KAAK,MAAM,EAAE;AAChC,UAAI,SAAS,OAAW;AACxB,YAAM,eAAe,qBAAqB,MAAM,IAAI;AACpD,YAAM,YAAY,MAAM,MAAM,UAAU,OAAO;AAC/C,YAAM,OACL,iBAAiB,SACd,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,SAAS,KAAK,IAC5C,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,SAAS,MAAM,aAAa;AAC9D,UAAI,YAAY,eAAe,IAAI,GAAG;AACrC,eAAO,KAAK,EAAE,GAAG,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,MAC7C,WAAW,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG;AACnC,gBAAQ,KAAK,EAAE,GAAG,MAAM,MAAM,SAAS,CAAC;AAAA,MACzC;AAAA,IACD;AAAA,EACD;AAEA,SAAO,EAAE,QAAQ,QAAQ;AAC1B;AAEA,UAAU,cAAc,UAAyD;AAChF,QAAM;AACN,aAAW,SAAS,SAAS,aAAa,CAAC,EAAG,QAAO,cAAc,KAAK;AACzE;AAEA,SAAS,eAAe,MAAoD;AAC3E,SAAO,OAAQ,KAA2B,QAAQ;AACnD;AAEA,SAAS,qBACR,MACsC;AACtC,QAAM,MAAM,MAAM;AAClB,MAAI,QAAQ,OAAW,QAAO;AAC9B,MAAI,CAAC,MAAM,QAAQ,GAAG,EAAG,QAAO;AAChC,QAAM,OAAgC,CAAC;AACvC,aAAW,QAAQ,KAAK;AACvB,UAAM,MAAM,sBAAsB,IAAI;AACtC,QAAI,QAAQ,OAAW,MAAK,KAAK,GAAG;AAAA,EACrC;AACA,SAAO,KAAK,WAAW,IAAI,SAAY;AACxC;AAEA,SAAS,sBAAsB,OAAmD;AACjF,MAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,EAAG,QAAO;AAChF,QAAM,SAAS;AACf,MAAI,CAAC,OAAO,KAAK,MAAM,EAAE,MAAM,0BAA0B,EAAG,QAAO;AACnE,MAAI,OAAO,OAAO,OAAO,YAAY,CAAC,yBAAyB,OAAO,IAAI,EAAG,QAAO;AACpF,MAAI,OAAO,OAAO,aAAa,UAAW,QAAO;AACjD,QAAM,aAAa,YAAY,OAAO,UAAU;AAChD,MAAI,OAAO,eAAe,UAAa,eAAe,OAAW,QAAO;AACxE,SAAO;AAAA,IACN,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAI,eAAe,SAAY,CAAC,IAAI,EAAE,WAAW;AAAA,EAClD;AACD;AAEA,SAAS,yBAAyB,OAAiD;AAClF,SAAO,UAAU,UAAU,UAAU,gBAAgB,UAAU,YAAY,UAAU;AACtF;AAEA,SAAS,2BAA2B,OAAqD;AACxF,SAAO,UAAU,QAAQ,UAAU,UAAU,UAAU,cAAc,UAAU;AAChF;AAEA,SAAS,YAAY,OAA+C;AACnE,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,MAAM,CAAC,UAAU,OAAO,UAAU,QAAQ,EAAG,QAAO;AACxF,SAAO;AACR;","names":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { z as MeasurementAdapter, ac as TextMeasureCapability, f as CellMeasureAdapterOptions, n as ImageMeasurer, o as ImageSizeLookup, a5 as Size, x as MeasureFn, r as InjectedMeasureAdapterOptions, N as PrecomputedMeasureAdapterOptions, a9 as SvgMeasurer, y as MeasuredBlock, P as PositionedBlock, j as ContentBlock, M as MeasureBlockOptions, U as ReactiveBlockLayoutOptions, T as ReactiveBlockLayoutBundle, W as ReactiveFlowLayoutOptions, V as ReactiveFlowLayoutBundle, Y as ReactiveLayoutOptions, X as ReactiveLayoutBundle, h as CircleObstacle, ag as Interval, R as PreparedSegment, i as ComputeFlowLinesOptions, l as FlowLinesResult, $ as RectObstacle, O as Obstacle, k as FlowContainer, F as FlowColumns, a4 as SegmentMeasureStats, a1 as SegmentAdapter, w as LineBreaksResult, af as CharPosition, L as LayoutCursor, u as LayoutNextLineContext, v as LayoutNextLineResult, c as BlockAdaptersProviderOptions, b as BlockAdapters, d as BlockMeasurementProviderOptions, H as Measurements, C as CapabilityTextMeasurementsOptions, g as CellTextMeasurementsOptions, q as ImageSizeMeasurementsOptions, s as InjectedTextMeasurementsOptions, J as MergeMeasurementsOptions, Q as PrecomputedTextMeasurementsOptions, Z as ReadinessMeasurementsOptions, _ as ReadinessTextMeasurementsOptions, a7 as SvgBoundsMeasurementsOptions, ad as TextMeasurementProviderOptions, D as MeasurementIssue, G as MeasurementResult } from './types-BWK2ay3e.cjs';
|
|
2
|
+
import { DataIssue } from './data/index.cjs';
|
|
3
|
+
import { d as Graph } from './graph-CWK3HLPB.cjs';
|
|
4
|
+
import { N as Node } from './types-BS6CyR-x.cjs';
|
|
5
|
+
|
|
6
|
+
/** Adapter that wraps a caller-owned synchronous measurement function. */
|
|
7
|
+
declare class InjectedMeasureAdapter implements MeasurementAdapter {
|
|
8
|
+
private readonly measure;
|
|
9
|
+
private readonly shouldCache;
|
|
10
|
+
private readonly cache;
|
|
11
|
+
constructor(measure: MeasureFn, opts?: InjectedMeasureAdapterOptions);
|
|
12
|
+
measureSegment(text: string, font: string): {
|
|
13
|
+
readonly width: number;
|
|
14
|
+
};
|
|
15
|
+
clearCache(): void;
|
|
16
|
+
}
|
|
17
|
+
/** Deterministic adapter backed by caller-supplied width metrics. */
|
|
18
|
+
declare class PrecomputedMeasureAdapter implements MeasurementAdapter {
|
|
19
|
+
private readonly metrics;
|
|
20
|
+
private readonly fallback;
|
|
21
|
+
private readonly cellWidth;
|
|
22
|
+
constructor(opts: PrecomputedMeasureAdapterOptions);
|
|
23
|
+
measureSegment(text: string, font: string): {
|
|
24
|
+
readonly width: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Fixed-cell adapter for CLI, snapshots, and tests. */
|
|
28
|
+
declare class CellMeasureAdapter implements MeasurementAdapter {
|
|
29
|
+
private readonly cellWidth;
|
|
30
|
+
private readonly wideCellWidth;
|
|
31
|
+
private readonly tabCells;
|
|
32
|
+
constructor(opts?: CellMeasureAdapterOptions);
|
|
33
|
+
measureSegment(text: string): {
|
|
34
|
+
readonly width: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Adapter over a caller-owned platform capability such as NodeCanvas, Skia, or RN text APIs. */
|
|
38
|
+
declare class CapabilityMeasureAdapter implements MeasurementAdapter {
|
|
39
|
+
private readonly capability;
|
|
40
|
+
constructor(capability: TextMeasureCapability);
|
|
41
|
+
measureSegment(text: string, font: string): {
|
|
42
|
+
readonly width: number;
|
|
43
|
+
};
|
|
44
|
+
clearCache(): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Minimal string-based SVG bounds reader for explicit width/height or viewBox.
|
|
48
|
+
*
|
|
49
|
+
* This is not a DOM SVG parser and does not resolve external resources.
|
|
50
|
+
*/
|
|
51
|
+
declare class SvgBoundsAdapter implements SvgMeasurer {
|
|
52
|
+
measureSvg(svg: string): Size;
|
|
53
|
+
}
|
|
54
|
+
/** Image measurer backed by explicit caller-provided dimensions; it never loads images. */
|
|
55
|
+
declare class ImageSizeAdapter implements ImageMeasurer {
|
|
56
|
+
private readonly sizes;
|
|
57
|
+
constructor(sizes: ImageSizeLookup | Record<string, Size>);
|
|
58
|
+
measureImage(src: string): Size;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Measure one text/image/SVG block using only explicit or injected synchronous adapters. */
|
|
62
|
+
declare function measureBlock(block: ContentBlock, opts: MeasureBlockOptions): MeasuredBlock;
|
|
63
|
+
/** Measure a block list while sharing a measurement cache across text blocks. */
|
|
64
|
+
declare function measureBlocks(blocks: readonly ContentBlock[], opts: MeasureBlockOptions): readonly MeasuredBlock[];
|
|
65
|
+
/** Stack measured blocks vertically with margins and a fixed gap. */
|
|
66
|
+
declare function computeBlockFlow(blocks: readonly MeasuredBlock[], gap?: number): readonly PositionedBlock[];
|
|
67
|
+
/** Compute the bottom edge of a positioned block flow. */
|
|
68
|
+
declare function computeTotalHeight(blocks: readonly PositionedBlock[]): number;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Create a graph-visible single-column text layout bundle.
|
|
72
|
+
*
|
|
73
|
+
* D181: this adds ordinary state/output nodes only; it does not add protocol behavior,
|
|
74
|
+
* hidden subscriptions, GraphSpec ownership, storage, or platform globals.
|
|
75
|
+
*/
|
|
76
|
+
declare function reactiveLayout(opts: ReactiveLayoutOptions): ReactiveLayoutBundle;
|
|
77
|
+
/**
|
|
78
|
+
* Create a graph-visible vertical block layout bundle over the same DOM-free core.
|
|
79
|
+
*
|
|
80
|
+
* Image/SVG sizing is explicit or injected; no async image loading or DOM SVG parsing occurs.
|
|
81
|
+
*/
|
|
82
|
+
declare function reactiveBlockLayout(opts: ReactiveBlockLayoutOptions): ReactiveBlockLayoutBundle;
|
|
83
|
+
/** Create a graph-visible multi-column flow layout bundle with rectangle/circle obstacles. */
|
|
84
|
+
declare function reactiveFlowLayout(opts: ReactiveFlowLayoutOptions): ReactiveFlowLayoutBundle;
|
|
85
|
+
|
|
86
|
+
declare function columnGeometry(container: FlowContainer, columns: FlowColumns | undefined): {
|
|
87
|
+
readonly paddingX: number;
|
|
88
|
+
readonly paddingY: number;
|
|
89
|
+
readonly count: number;
|
|
90
|
+
readonly gap: number;
|
|
91
|
+
readonly width: number;
|
|
92
|
+
readonly height: number;
|
|
93
|
+
readonly columnWidth: number;
|
|
94
|
+
};
|
|
95
|
+
declare function sanitizeFlowContainer(container: FlowContainer): FlowContainer;
|
|
96
|
+
declare function sanitizeFlowColumns(columns: FlowColumns): FlowColumns;
|
|
97
|
+
declare function sanitizeObstacles(obstacles: readonly Obstacle[]): readonly Obstacle[];
|
|
98
|
+
/** Intersect a circle obstacle with a horizontal line band. */
|
|
99
|
+
declare function circleIntervalForBand(obstacle: CircleObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
100
|
+
/** Intersect a rectangle obstacle with a horizontal line band. */
|
|
101
|
+
declare function rectIntervalForBand(obstacle: RectObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
102
|
+
declare function blockedIntervalsForBand(obstacles: readonly Obstacle[], bandTop: number, bandBottom: number): Interval[];
|
|
103
|
+
/** Flow prepared text through columns and carved obstacle slots. */
|
|
104
|
+
declare function computeFlowLines(segments: readonly PreparedSegment[], opts: ComputeFlowLinesOptions): FlowLinesResult;
|
|
105
|
+
|
|
106
|
+
/** Segment text and measure every resulting segment with a caller-owned synchronous adapter. */
|
|
107
|
+
declare function analyzeAndMeasure(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, stats?: SegmentMeasureStats, segmentAdapter?: SegmentAdapter): PreparedSegment[];
|
|
108
|
+
/** Greedy single-column line breaking over prepared segments. */
|
|
109
|
+
declare function computeLineBreaks(segments: readonly PreparedSegment[], maxWidth: number, opts?: {
|
|
110
|
+
readonly hyphenWidth?: number;
|
|
111
|
+
readonly segmentAdapter?: SegmentAdapter;
|
|
112
|
+
}): LineBreaksResult;
|
|
113
|
+
/** Lay out one line from a cursor, returning the next cursor for continuation. */
|
|
114
|
+
declare function layoutNextLine(segments: readonly PreparedSegment[], cursor: LayoutCursor, slotWidth: number, ctx?: LayoutNextLineContext): LayoutNextLineResult | null;
|
|
115
|
+
/** Subtract obstacle intervals from a horizontal text band. */
|
|
116
|
+
declare function carveTextLineSlots(base: Interval, blocked: readonly Interval[], minSlotWidth?: number): Interval[];
|
|
117
|
+
/** Compute per-grapheme boxes for already-broken lines. */
|
|
118
|
+
declare function computeCharPositions(lineBreaks: LineBreaksResult, segments: readonly PreparedSegment[], lineHeight: number, segmentAdapter?: SegmentAdapter): readonly CharPosition[];
|
|
119
|
+
|
|
120
|
+
declare function measurementIssue(code: string, message: string, targetId: string, measurementKind: string, opts?: {
|
|
121
|
+
readonly source?: string;
|
|
122
|
+
readonly details?: unknown;
|
|
123
|
+
readonly metadata?: Record<string, unknown>;
|
|
124
|
+
readonly severity?: DataIssue["severity"];
|
|
125
|
+
}): MeasurementIssue;
|
|
126
|
+
declare function measurementOk<T>(targetId: string, measurementKind: string, value: T, opts?: {
|
|
127
|
+
readonly source?: string;
|
|
128
|
+
readonly metadata?: Record<string, unknown>;
|
|
129
|
+
}): MeasurementResult<T>;
|
|
130
|
+
declare function latestMeasurementValue<T>(measurements: Measurements, targetId: string, measurementKind: string): T | undefined;
|
|
131
|
+
declare function tryMeasureHyphenWidth(adapter: MeasurementAdapter, font: string): number | undefined;
|
|
132
|
+
declare function validMeasurementSize(size: Size, label: string): Size;
|
|
133
|
+
declare function textMeasurementFacts(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, segmentAdapter: SegmentAdapter, targetId: string, source: string): Measurements;
|
|
134
|
+
declare function inputNode<T>(g: Graph, input: T | Node<T> | undefined, fallback: T, name: string): {
|
|
135
|
+
readonly node: Node<T>;
|
|
136
|
+
readonly set: (value: T) => void;
|
|
137
|
+
};
|
|
138
|
+
declare function scopedName(scope: string, local: string): string;
|
|
139
|
+
/** Generic sync text measurement provider that emits graph-visible measurement facts. */
|
|
140
|
+
declare function textMeasurementProvider(opts: TextMeasurementProviderOptions): Node<Measurements>;
|
|
141
|
+
/** Provider helper for caller-injected synchronous text measurement. */
|
|
142
|
+
declare function injectedTextMeasurements(opts: InjectedTextMeasurementsOptions): Node<Measurements>;
|
|
143
|
+
/** Provider helper for deterministic precomputed text metrics. */
|
|
144
|
+
declare function precomputedTextMeasurements(opts: PrecomputedTextMeasurementsOptions): Node<Measurements>;
|
|
145
|
+
/** Provider helper for fixed-cell terminal/snapshot text measurement. */
|
|
146
|
+
declare function cellTextMeasurements(opts: CellTextMeasurementsOptions): Node<Measurements>;
|
|
147
|
+
/** Provider helper for caller-injected platform text capability nodes. */
|
|
148
|
+
declare function capabilityTextMeasurements(opts: CapabilityTextMeasurementsOptions): Node<Measurements>;
|
|
149
|
+
/** Provider helper that makes readiness facts an explicit measurement dependency. */
|
|
150
|
+
declare function readinessTextMeasurements(opts: ReadinessTextMeasurementsOptions): Node<Measurements>;
|
|
151
|
+
/** Provider helper that emits graph-visible readiness facts without measuring layout. */
|
|
152
|
+
declare function readinessMeasurements(opts: ReadinessMeasurementsOptions): Node<Measurements>;
|
|
153
|
+
/** Provider helper for image-size facts from caller-owned synchronous image measurers. */
|
|
154
|
+
declare function imageSizeMeasurements(opts: ImageSizeMeasurementsOptions): Node<Measurements>;
|
|
155
|
+
/** Provider helper for SVG bounds facts from caller-owned synchronous SVG measurers. */
|
|
156
|
+
declare function svgBoundsMeasurements(opts: SvgBoundsMeasurementsOptions): Node<Measurements>;
|
|
157
|
+
/** Merge provider fact nodes into the single measurements node consumed by layout bundles. */
|
|
158
|
+
declare function mergeMeasurements(opts: MergeMeasurementsOptions): Node<Measurements>;
|
|
159
|
+
/** Compose optional block measurement capability nodes into one graph-visible adapter node. */
|
|
160
|
+
declare function blockAdaptersProvider(opts: BlockAdaptersProviderOptions): Node<BlockAdapters>;
|
|
161
|
+
/** Provider helper for block measurement facts over declared block/max-width deps. */
|
|
162
|
+
declare function blockMeasurementProvider(opts: BlockMeasurementProviderOptions): Node<Measurements>;
|
|
163
|
+
|
|
164
|
+
export { rectIntervalForBand as A, svgBoundsMeasurements as B, CapabilityMeasureAdapter as C, textMeasurementProvider as D, blockedIntervalsForBand as E, columnGeometry as F, inputNode as G, latestMeasurementValue as H, ImageSizeAdapter as I, measurementIssue as J, measurementOk as K, sanitizeFlowColumns as L, sanitizeFlowContainer as M, sanitizeObstacles as N, scopedName as O, PrecomputedMeasureAdapter as P, textMeasurementFacts as Q, tryMeasureHyphenWidth as R, SvgBoundsAdapter as S, validMeasurementSize as T, CellMeasureAdapter as a, InjectedMeasureAdapter as b, analyzeAndMeasure as c, blockAdaptersProvider as d, blockMeasurementProvider as e, capabilityTextMeasurements as f, carveTextLineSlots as g, cellTextMeasurements as h, circleIntervalForBand as i, computeBlockFlow as j, computeCharPositions as k, computeFlowLines as l, computeLineBreaks as m, computeTotalHeight as n, imageSizeMeasurements as o, injectedTextMeasurements as p, layoutNextLine as q, measureBlock as r, measureBlocks as s, mergeMeasurements as t, precomputedTextMeasurements as u, reactiveBlockLayout as v, reactiveFlowLayout as w, reactiveLayout as x, readinessMeasurements as y, readinessTextMeasurements as z };
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { z as MeasurementAdapter, ac as TextMeasureCapability, f as CellMeasureAdapterOptions, n as ImageMeasurer, o as ImageSizeLookup, a5 as Size, x as MeasureFn, r as InjectedMeasureAdapterOptions, N as PrecomputedMeasureAdapterOptions, a9 as SvgMeasurer, y as MeasuredBlock, P as PositionedBlock, j as ContentBlock, M as MeasureBlockOptions, U as ReactiveBlockLayoutOptions, T as ReactiveBlockLayoutBundle, W as ReactiveFlowLayoutOptions, V as ReactiveFlowLayoutBundle, Y as ReactiveLayoutOptions, X as ReactiveLayoutBundle, h as CircleObstacle, ag as Interval, R as PreparedSegment, i as ComputeFlowLinesOptions, l as FlowLinesResult, $ as RectObstacle, O as Obstacle, k as FlowContainer, F as FlowColumns, a4 as SegmentMeasureStats, a1 as SegmentAdapter, w as LineBreaksResult, af as CharPosition, L as LayoutCursor, u as LayoutNextLineContext, v as LayoutNextLineResult, c as BlockAdaptersProviderOptions, b as BlockAdapters, d as BlockMeasurementProviderOptions, H as Measurements, C as CapabilityTextMeasurementsOptions, g as CellTextMeasurementsOptions, q as ImageSizeMeasurementsOptions, s as InjectedTextMeasurementsOptions, J as MergeMeasurementsOptions, Q as PrecomputedTextMeasurementsOptions, Z as ReadinessMeasurementsOptions, _ as ReadinessTextMeasurementsOptions, a7 as SvgBoundsMeasurementsOptions, ad as TextMeasurementProviderOptions, D as MeasurementIssue, G as MeasurementResult } from './types-BaPpZItj.js';
|
|
2
|
+
import { DataIssue } from './data/index.js';
|
|
3
|
+
import { d as Graph } from './graph-ho5sotHP.js';
|
|
4
|
+
import { N as Node } from './types-C9NOgNJw.js';
|
|
5
|
+
|
|
6
|
+
/** Adapter that wraps a caller-owned synchronous measurement function. */
|
|
7
|
+
declare class InjectedMeasureAdapter implements MeasurementAdapter {
|
|
8
|
+
private readonly measure;
|
|
9
|
+
private readonly shouldCache;
|
|
10
|
+
private readonly cache;
|
|
11
|
+
constructor(measure: MeasureFn, opts?: InjectedMeasureAdapterOptions);
|
|
12
|
+
measureSegment(text: string, font: string): {
|
|
13
|
+
readonly width: number;
|
|
14
|
+
};
|
|
15
|
+
clearCache(): void;
|
|
16
|
+
}
|
|
17
|
+
/** Deterministic adapter backed by caller-supplied width metrics. */
|
|
18
|
+
declare class PrecomputedMeasureAdapter implements MeasurementAdapter {
|
|
19
|
+
private readonly metrics;
|
|
20
|
+
private readonly fallback;
|
|
21
|
+
private readonly cellWidth;
|
|
22
|
+
constructor(opts: PrecomputedMeasureAdapterOptions);
|
|
23
|
+
measureSegment(text: string, font: string): {
|
|
24
|
+
readonly width: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Fixed-cell adapter for CLI, snapshots, and tests. */
|
|
28
|
+
declare class CellMeasureAdapter implements MeasurementAdapter {
|
|
29
|
+
private readonly cellWidth;
|
|
30
|
+
private readonly wideCellWidth;
|
|
31
|
+
private readonly tabCells;
|
|
32
|
+
constructor(opts?: CellMeasureAdapterOptions);
|
|
33
|
+
measureSegment(text: string): {
|
|
34
|
+
readonly width: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Adapter over a caller-owned platform capability such as NodeCanvas, Skia, or RN text APIs. */
|
|
38
|
+
declare class CapabilityMeasureAdapter implements MeasurementAdapter {
|
|
39
|
+
private readonly capability;
|
|
40
|
+
constructor(capability: TextMeasureCapability);
|
|
41
|
+
measureSegment(text: string, font: string): {
|
|
42
|
+
readonly width: number;
|
|
43
|
+
};
|
|
44
|
+
clearCache(): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Minimal string-based SVG bounds reader for explicit width/height or viewBox.
|
|
48
|
+
*
|
|
49
|
+
* This is not a DOM SVG parser and does not resolve external resources.
|
|
50
|
+
*/
|
|
51
|
+
declare class SvgBoundsAdapter implements SvgMeasurer {
|
|
52
|
+
measureSvg(svg: string): Size;
|
|
53
|
+
}
|
|
54
|
+
/** Image measurer backed by explicit caller-provided dimensions; it never loads images. */
|
|
55
|
+
declare class ImageSizeAdapter implements ImageMeasurer {
|
|
56
|
+
private readonly sizes;
|
|
57
|
+
constructor(sizes: ImageSizeLookup | Record<string, Size>);
|
|
58
|
+
measureImage(src: string): Size;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Measure one text/image/SVG block using only explicit or injected synchronous adapters. */
|
|
62
|
+
declare function measureBlock(block: ContentBlock, opts: MeasureBlockOptions): MeasuredBlock;
|
|
63
|
+
/** Measure a block list while sharing a measurement cache across text blocks. */
|
|
64
|
+
declare function measureBlocks(blocks: readonly ContentBlock[], opts: MeasureBlockOptions): readonly MeasuredBlock[];
|
|
65
|
+
/** Stack measured blocks vertically with margins and a fixed gap. */
|
|
66
|
+
declare function computeBlockFlow(blocks: readonly MeasuredBlock[], gap?: number): readonly PositionedBlock[];
|
|
67
|
+
/** Compute the bottom edge of a positioned block flow. */
|
|
68
|
+
declare function computeTotalHeight(blocks: readonly PositionedBlock[]): number;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Create a graph-visible single-column text layout bundle.
|
|
72
|
+
*
|
|
73
|
+
* D181: this adds ordinary state/output nodes only; it does not add protocol behavior,
|
|
74
|
+
* hidden subscriptions, GraphSpec ownership, storage, or platform globals.
|
|
75
|
+
*/
|
|
76
|
+
declare function reactiveLayout(opts: ReactiveLayoutOptions): ReactiveLayoutBundle;
|
|
77
|
+
/**
|
|
78
|
+
* Create a graph-visible vertical block layout bundle over the same DOM-free core.
|
|
79
|
+
*
|
|
80
|
+
* Image/SVG sizing is explicit or injected; no async image loading or DOM SVG parsing occurs.
|
|
81
|
+
*/
|
|
82
|
+
declare function reactiveBlockLayout(opts: ReactiveBlockLayoutOptions): ReactiveBlockLayoutBundle;
|
|
83
|
+
/** Create a graph-visible multi-column flow layout bundle with rectangle/circle obstacles. */
|
|
84
|
+
declare function reactiveFlowLayout(opts: ReactiveFlowLayoutOptions): ReactiveFlowLayoutBundle;
|
|
85
|
+
|
|
86
|
+
declare function columnGeometry(container: FlowContainer, columns: FlowColumns | undefined): {
|
|
87
|
+
readonly paddingX: number;
|
|
88
|
+
readonly paddingY: number;
|
|
89
|
+
readonly count: number;
|
|
90
|
+
readonly gap: number;
|
|
91
|
+
readonly width: number;
|
|
92
|
+
readonly height: number;
|
|
93
|
+
readonly columnWidth: number;
|
|
94
|
+
};
|
|
95
|
+
declare function sanitizeFlowContainer(container: FlowContainer): FlowContainer;
|
|
96
|
+
declare function sanitizeFlowColumns(columns: FlowColumns): FlowColumns;
|
|
97
|
+
declare function sanitizeObstacles(obstacles: readonly Obstacle[]): readonly Obstacle[];
|
|
98
|
+
/** Intersect a circle obstacle with a horizontal line band. */
|
|
99
|
+
declare function circleIntervalForBand(obstacle: CircleObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
100
|
+
/** Intersect a rectangle obstacle with a horizontal line band. */
|
|
101
|
+
declare function rectIntervalForBand(obstacle: RectObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
102
|
+
declare function blockedIntervalsForBand(obstacles: readonly Obstacle[], bandTop: number, bandBottom: number): Interval[];
|
|
103
|
+
/** Flow prepared text through columns and carved obstacle slots. */
|
|
104
|
+
declare function computeFlowLines(segments: readonly PreparedSegment[], opts: ComputeFlowLinesOptions): FlowLinesResult;
|
|
105
|
+
|
|
106
|
+
/** Segment text and measure every resulting segment with a caller-owned synchronous adapter. */
|
|
107
|
+
declare function analyzeAndMeasure(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, stats?: SegmentMeasureStats, segmentAdapter?: SegmentAdapter): PreparedSegment[];
|
|
108
|
+
/** Greedy single-column line breaking over prepared segments. */
|
|
109
|
+
declare function computeLineBreaks(segments: readonly PreparedSegment[], maxWidth: number, opts?: {
|
|
110
|
+
readonly hyphenWidth?: number;
|
|
111
|
+
readonly segmentAdapter?: SegmentAdapter;
|
|
112
|
+
}): LineBreaksResult;
|
|
113
|
+
/** Lay out one line from a cursor, returning the next cursor for continuation. */
|
|
114
|
+
declare function layoutNextLine(segments: readonly PreparedSegment[], cursor: LayoutCursor, slotWidth: number, ctx?: LayoutNextLineContext): LayoutNextLineResult | null;
|
|
115
|
+
/** Subtract obstacle intervals from a horizontal text band. */
|
|
116
|
+
declare function carveTextLineSlots(base: Interval, blocked: readonly Interval[], minSlotWidth?: number): Interval[];
|
|
117
|
+
/** Compute per-grapheme boxes for already-broken lines. */
|
|
118
|
+
declare function computeCharPositions(lineBreaks: LineBreaksResult, segments: readonly PreparedSegment[], lineHeight: number, segmentAdapter?: SegmentAdapter): readonly CharPosition[];
|
|
119
|
+
|
|
120
|
+
declare function measurementIssue(code: string, message: string, targetId: string, measurementKind: string, opts?: {
|
|
121
|
+
readonly source?: string;
|
|
122
|
+
readonly details?: unknown;
|
|
123
|
+
readonly metadata?: Record<string, unknown>;
|
|
124
|
+
readonly severity?: DataIssue["severity"];
|
|
125
|
+
}): MeasurementIssue;
|
|
126
|
+
declare function measurementOk<T>(targetId: string, measurementKind: string, value: T, opts?: {
|
|
127
|
+
readonly source?: string;
|
|
128
|
+
readonly metadata?: Record<string, unknown>;
|
|
129
|
+
}): MeasurementResult<T>;
|
|
130
|
+
declare function latestMeasurementValue<T>(measurements: Measurements, targetId: string, measurementKind: string): T | undefined;
|
|
131
|
+
declare function tryMeasureHyphenWidth(adapter: MeasurementAdapter, font: string): number | undefined;
|
|
132
|
+
declare function validMeasurementSize(size: Size, label: string): Size;
|
|
133
|
+
declare function textMeasurementFacts(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, segmentAdapter: SegmentAdapter, targetId: string, source: string): Measurements;
|
|
134
|
+
declare function inputNode<T>(g: Graph, input: T | Node<T> | undefined, fallback: T, name: string): {
|
|
135
|
+
readonly node: Node<T>;
|
|
136
|
+
readonly set: (value: T) => void;
|
|
137
|
+
};
|
|
138
|
+
declare function scopedName(scope: string, local: string): string;
|
|
139
|
+
/** Generic sync text measurement provider that emits graph-visible measurement facts. */
|
|
140
|
+
declare function textMeasurementProvider(opts: TextMeasurementProviderOptions): Node<Measurements>;
|
|
141
|
+
/** Provider helper for caller-injected synchronous text measurement. */
|
|
142
|
+
declare function injectedTextMeasurements(opts: InjectedTextMeasurementsOptions): Node<Measurements>;
|
|
143
|
+
/** Provider helper for deterministic precomputed text metrics. */
|
|
144
|
+
declare function precomputedTextMeasurements(opts: PrecomputedTextMeasurementsOptions): Node<Measurements>;
|
|
145
|
+
/** Provider helper for fixed-cell terminal/snapshot text measurement. */
|
|
146
|
+
declare function cellTextMeasurements(opts: CellTextMeasurementsOptions): Node<Measurements>;
|
|
147
|
+
/** Provider helper for caller-injected platform text capability nodes. */
|
|
148
|
+
declare function capabilityTextMeasurements(opts: CapabilityTextMeasurementsOptions): Node<Measurements>;
|
|
149
|
+
/** Provider helper that makes readiness facts an explicit measurement dependency. */
|
|
150
|
+
declare function readinessTextMeasurements(opts: ReadinessTextMeasurementsOptions): Node<Measurements>;
|
|
151
|
+
/** Provider helper that emits graph-visible readiness facts without measuring layout. */
|
|
152
|
+
declare function readinessMeasurements(opts: ReadinessMeasurementsOptions): Node<Measurements>;
|
|
153
|
+
/** Provider helper for image-size facts from caller-owned synchronous image measurers. */
|
|
154
|
+
declare function imageSizeMeasurements(opts: ImageSizeMeasurementsOptions): Node<Measurements>;
|
|
155
|
+
/** Provider helper for SVG bounds facts from caller-owned synchronous SVG measurers. */
|
|
156
|
+
declare function svgBoundsMeasurements(opts: SvgBoundsMeasurementsOptions): Node<Measurements>;
|
|
157
|
+
/** Merge provider fact nodes into the single measurements node consumed by layout bundles. */
|
|
158
|
+
declare function mergeMeasurements(opts: MergeMeasurementsOptions): Node<Measurements>;
|
|
159
|
+
/** Compose optional block measurement capability nodes into one graph-visible adapter node. */
|
|
160
|
+
declare function blockAdaptersProvider(opts: BlockAdaptersProviderOptions): Node<BlockAdapters>;
|
|
161
|
+
/** Provider helper for block measurement facts over declared block/max-width deps. */
|
|
162
|
+
declare function blockMeasurementProvider(opts: BlockMeasurementProviderOptions): Node<Measurements>;
|
|
163
|
+
|
|
164
|
+
export { rectIntervalForBand as A, svgBoundsMeasurements as B, CapabilityMeasureAdapter as C, textMeasurementProvider as D, blockedIntervalsForBand as E, columnGeometry as F, inputNode as G, latestMeasurementValue as H, ImageSizeAdapter as I, measurementIssue as J, measurementOk as K, sanitizeFlowColumns as L, sanitizeFlowContainer as M, sanitizeObstacles as N, scopedName as O, PrecomputedMeasureAdapter as P, textMeasurementFacts as Q, tryMeasureHyphenWidth as R, SvgBoundsAdapter as S, validMeasurementSize as T, CellMeasureAdapter as a, InjectedMeasureAdapter as b, analyzeAndMeasure as c, blockAdaptersProvider as d, blockMeasurementProvider as e, capabilityTextMeasurements as f, carveTextLineSlots as g, cellTextMeasurements as h, circleIntervalForBand as i, computeBlockFlow as j, computeCharPositions as k, computeFlowLines as l, computeLineBreaks as m, computeTotalHeight as n, imageSizeMeasurements as o, injectedTextMeasurements as p, layoutNextLine as q, measureBlock as r, measureBlocks as s, mergeMeasurements as t, precomputedTextMeasurements as u, reactiveBlockLayout as v, reactiveFlowLayout as w, reactiveLayout as x, readinessMeasurements as y, readinessTextMeasurements as z };
|
|
@@ -4,13 +4,18 @@
|
|
|
4
4
|
* Canonical authority: ~/src/graphrefly/spec/rules.jsonl
|
|
5
5
|
* R-msg-format, R-msg-closed-set, R-tier (D34), R-data-payload, R-sentinel.
|
|
6
6
|
*/
|
|
7
|
-
/** Opaque pause-lock identifier (R-pause-lockset). */
|
|
7
|
+
/** Opaque pause-lock / pull identifier (R-pause-lockset, R-pull). */
|
|
8
8
|
type LockId = string | symbol;
|
|
9
|
+
/** Explicit pull demand payload (D269/D272). Params are holder-visible context, never DATA-up. */
|
|
10
|
+
interface PullDemand {
|
|
11
|
+
readonly pullId: LockId;
|
|
12
|
+
readonly params?: unknown;
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
|
-
* The CLOSED set of
|
|
15
|
+
* The CLOSED set of 11 message types (R-msg-closed-set / D9 + D269 + START handshake).
|
|
11
16
|
* No open set, no user-defined custom types. Adding a type is a spec change.
|
|
12
17
|
*/
|
|
13
|
-
type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId];
|
|
18
|
+
type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId] | readonly ["PULL", PullDemand];
|
|
14
19
|
/** One array of messages delivered in one call = one Wave (R-wave-boundary). */
|
|
15
20
|
type Wave = readonly Message[];
|
|
16
21
|
/** The message-type tag (the first tuple element). */
|
|
@@ -46,10 +51,10 @@ declare function isPauseBufferedTier(t: MessageType): boolean;
|
|
|
46
51
|
*/
|
|
47
52
|
declare function isTerminal(t: MessageType): boolean;
|
|
48
53
|
/**
|
|
49
|
-
* ctx.up carries control tiers only (R-ctx-up /
|
|
54
|
+
* ctx.up carries control/demand tiers only (R-ctx-up / D269): DIRTY, PAUSE, RESUME, PULL,
|
|
50
55
|
* INVALIDATE, TEARDOWN. DATA/RESOLVED (tier 3) and COMPLETE/ERROR (tier 5) are
|
|
51
56
|
* down-only.
|
|
52
57
|
*/
|
|
53
58
|
declare function isUpAllowed(t: MessageType): boolean;
|
|
54
59
|
|
|
55
|
-
export { type LockId as L, type Message as M, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
|
|
60
|
+
export { type LockId as L, type Message as M, type PullDemand as P, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
|
|
@@ -4,13 +4,18 @@
|
|
|
4
4
|
* Canonical authority: ~/src/graphrefly/spec/rules.jsonl
|
|
5
5
|
* R-msg-format, R-msg-closed-set, R-tier (D34), R-data-payload, R-sentinel.
|
|
6
6
|
*/
|
|
7
|
-
/** Opaque pause-lock identifier (R-pause-lockset). */
|
|
7
|
+
/** Opaque pause-lock / pull identifier (R-pause-lockset, R-pull). */
|
|
8
8
|
type LockId = string | symbol;
|
|
9
|
+
/** Explicit pull demand payload (D269/D272). Params are holder-visible context, never DATA-up. */
|
|
10
|
+
interface PullDemand {
|
|
11
|
+
readonly pullId: LockId;
|
|
12
|
+
readonly params?: unknown;
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
|
-
* The CLOSED set of
|
|
15
|
+
* The CLOSED set of 11 message types (R-msg-closed-set / D9 + D269 + START handshake).
|
|
11
16
|
* No open set, no user-defined custom types. Adding a type is a spec change.
|
|
12
17
|
*/
|
|
13
|
-
type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId];
|
|
18
|
+
type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId] | readonly ["PULL", PullDemand];
|
|
14
19
|
/** One array of messages delivered in one call = one Wave (R-wave-boundary). */
|
|
15
20
|
type Wave = readonly Message[];
|
|
16
21
|
/** The message-type tag (the first tuple element). */
|
|
@@ -46,10 +51,10 @@ declare function isPauseBufferedTier(t: MessageType): boolean;
|
|
|
46
51
|
*/
|
|
47
52
|
declare function isTerminal(t: MessageType): boolean;
|
|
48
53
|
/**
|
|
49
|
-
* ctx.up carries control tiers only (R-ctx-up /
|
|
54
|
+
* ctx.up carries control/demand tiers only (R-ctx-up / D269): DIRTY, PAUSE, RESUME, PULL,
|
|
50
55
|
* INVALIDATE, TEARDOWN. DATA/RESOLVED (tier 3) and COMPLETE/ERROR (tier 5) are
|
|
51
56
|
* down-only.
|
|
52
57
|
*/
|
|
53
58
|
declare function isUpAllowed(t: MessageType): boolean;
|
|
54
59
|
|
|
55
|
-
export { type LockId as L, type Message as M, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
|
|
60
|
+
export { type LockId as L, type Message as M, type PullDemand as P, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
|