@graphrefly/graphrefly 0.44.0 → 0.46.0
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 +22 -19
- package/dist/_internal-B23BagFd.d.cts +33 -0
- package/dist/_internal-B23BagFd.d.ts +33 -0
- package/dist/adaptive-rate-limiter-Dch_xYIi.d.cts +111 -0
- package/dist/adaptive-rate-limiter-Dch_xYIi.d.ts +111 -0
- package/dist/agents-C0Ji9ldU.d.cts +629 -0
- package/dist/agents-C9zexT7I.d.ts +629 -0
- package/dist/audit-BAXb3VOg.d.ts +246 -0
- package/dist/audit-C_bPfkqS.d.cts +246 -0
- package/dist/backoff-7KIK3WQW.js +24 -0
- package/dist/backoff-7KIK3WQW.js.map +1 -0
- package/dist/backoff-Bnb9OoPh.d.cts +6 -0
- package/dist/backoff-Bnb9OoPh.d.ts +6 -0
- package/dist/base/composition/index.cjs +811 -0
- package/dist/base/composition/index.cjs.map +1 -0
- package/dist/base/composition/index.d.cts +469 -0
- package/dist/base/composition/index.d.ts +469 -0
- package/dist/base/composition/index.js +40 -0
- package/dist/base/composition/index.js.map +1 -0
- package/dist/base/index.cjs +6336 -0
- package/dist/base/index.cjs.map +1 -0
- package/dist/base/index.d.cts +22 -0
- package/dist/base/index.d.ts +22 -0
- package/dist/base/index.js +259 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/io/index.cjs +3270 -0
- package/dist/base/io/index.cjs.map +1 -0
- package/dist/base/io/index.d.cts +2245 -0
- package/dist/base/io/index.d.ts +2245 -0
- package/dist/base/io/index.js +117 -0
- package/dist/base/io/index.js.map +1 -0
- package/dist/base/meta/index.cjs +43 -0
- package/dist/base/meta/index.cjs.map +1 -0
- package/dist/base/meta/index.d.cts +45 -0
- package/dist/base/meta/index.d.ts +45 -0
- package/dist/base/meta/index.js +13 -0
- package/dist/base/meta/index.js.map +1 -0
- package/dist/base/mutation/index.cjs +200 -0
- package/dist/base/mutation/index.cjs.map +1 -0
- package/dist/base/mutation/index.d.cts +177 -0
- package/dist/base/mutation/index.d.ts +177 -0
- package/dist/base/mutation/index.js +22 -0
- package/dist/base/mutation/index.js.map +1 -0
- package/dist/base/render/index.cjs +1120 -0
- package/dist/base/render/index.cjs.map +1 -0
- package/dist/{extra/render/index.d.ts → base/render/index.d.cts} +75 -31
- package/dist/{extra/render/index.d.cts → base/render/index.d.ts} +75 -31
- package/dist/base/render/index.js +24 -0
- package/dist/base/render/index.js.map +1 -0
- package/dist/base/sources/browser/index.cjs +172 -0
- package/dist/base/sources/browser/index.cjs.map +1 -0
- package/dist/base/sources/browser/index.d.cts +84 -0
- package/dist/base/sources/browser/index.d.ts +84 -0
- package/dist/base/sources/browser/index.js +151 -0
- package/dist/base/sources/browser/index.js.map +1 -0
- package/dist/base/sources/event/index.cjs +98 -0
- package/dist/base/sources/event/index.cjs.map +1 -0
- package/dist/base/sources/event/index.d.cts +91 -0
- package/dist/base/sources/event/index.d.ts +91 -0
- package/dist/base/sources/event/index.js +13 -0
- package/dist/base/sources/event/index.js.map +1 -0
- package/dist/base/sources/index.cjs +755 -0
- package/dist/base/sources/index.cjs.map +1 -0
- package/dist/{extra/sources.d.ts → base/sources/index.d.cts} +74 -301
- package/dist/{extra/sources.d.cts → base/sources/index.d.ts} +74 -301
- package/dist/base/sources/index.js +42 -0
- package/dist/base/sources/index.js.map +1 -0
- package/dist/base/sources/node/index.cjs +320 -0
- package/dist/base/sources/node/index.cjs.map +1 -0
- package/dist/{extra/node.d.ts → base/sources/node/index.d.cts} +35 -37
- package/dist/{extra/node.d.cts → base/sources/node/index.d.ts} +35 -37
- package/dist/base/sources/node/index.js +306 -0
- package/dist/base/sources/node/index.js.map +1 -0
- package/dist/base/utils/index.cjs +37 -0
- package/dist/base/utils/index.cjs.map +1 -0
- package/dist/base/utils/index.d.cts +37 -0
- package/dist/base/utils/index.d.ts +37 -0
- package/dist/base/utils/index.js +11 -0
- package/dist/base/utils/index.js.map +1 -0
- package/dist/base/worker/index.cjs +548 -0
- package/dist/base/worker/index.cjs.map +1 -0
- package/dist/base/worker/index.d.cts +207 -0
- package/dist/base/worker/index.d.ts +207 -0
- package/dist/base/worker/index.js +20 -0
- package/dist/base/worker/index.js.map +1 -0
- package/dist/breaker-C9skL3d8.d.ts +175 -0
- package/dist/breaker-ugSdq54q.d.cts +175 -0
- package/dist/{cascading-BglDkMdX.d.cts → cascading-CSSbKGrJ.d.ts} +3 -3
- package/dist/{cascading-MFgxu7Yo.d.ts → cascading-baGkiihI.d.cts} +3 -3
- package/dist/chunk-255UCBG4.js +58 -0
- package/dist/chunk-255UCBG4.js.map +1 -0
- package/dist/chunk-2LO3EL4W.js +1 -0
- package/dist/chunk-2LO3EL4W.js.map +1 -0
- package/dist/chunk-2OB3CEJS.js +1065 -0
- package/dist/chunk-2OB3CEJS.js.map +1 -0
- package/dist/chunk-36NMM65U.js +144 -0
- package/dist/chunk-36NMM65U.js.map +1 -0
- package/dist/chunk-3CEXCBN6.js +1 -0
- package/dist/chunk-3CEXCBN6.js.map +1 -0
- package/dist/chunk-3MUSLI6E.js +105 -0
- package/dist/chunk-3MUSLI6E.js.map +1 -0
- package/dist/chunk-3PSLNJDU.js +884 -0
- package/dist/chunk-3PSLNJDU.js.map +1 -0
- package/dist/chunk-3QZY5BI7.js +92 -0
- package/dist/chunk-3QZY5BI7.js.map +1 -0
- package/dist/chunk-42FQ27MQ.js +594 -0
- package/dist/chunk-42FQ27MQ.js.map +1 -0
- package/dist/chunk-4GYMCUDZ.js +1085 -0
- package/dist/chunk-4GYMCUDZ.js.map +1 -0
- package/dist/chunk-4S53H2KR.js +382 -0
- package/dist/chunk-4S53H2KR.js.map +1 -0
- package/dist/chunk-4XCHZRUJ.js +128 -0
- package/dist/chunk-4XCHZRUJ.js.map +1 -0
- package/dist/chunk-5THCXDWY.js +725 -0
- package/dist/chunk-5THCXDWY.js.map +1 -0
- package/dist/chunk-6XZYT4SW.js +256 -0
- package/dist/chunk-6XZYT4SW.js.map +1 -0
- package/dist/chunk-7EGRP2VX.js +76 -0
- package/dist/chunk-7EGRP2VX.js.map +1 -0
- package/dist/chunk-A7KV5UK4.js +150 -0
- package/dist/chunk-A7KV5UK4.js.map +1 -0
- package/dist/chunk-APY2SS5X.js +156 -0
- package/dist/chunk-APY2SS5X.js.map +1 -0
- package/dist/chunk-AZDQPQ3V.js +66 -0
- package/dist/chunk-AZDQPQ3V.js.map +1 -0
- package/dist/chunk-BU3SEFA5.js +90 -0
- package/dist/chunk-BU3SEFA5.js.map +1 -0
- package/dist/chunk-BXGZFGZ4.js +189 -0
- package/dist/chunk-BXGZFGZ4.js.map +1 -0
- package/dist/chunk-CGHORL6G.js +579 -0
- package/dist/chunk-CGHORL6G.js.map +1 -0
- package/dist/chunk-CXANAIZU.js +530 -0
- package/dist/chunk-CXANAIZU.js.map +1 -0
- package/dist/chunk-CZQHCKKG.js +1 -0
- package/dist/chunk-CZQHCKKG.js.map +1 -0
- package/dist/chunk-DKNHAICT.js +133 -0
- package/dist/chunk-DKNHAICT.js.map +1 -0
- package/dist/chunk-DM4OMPWK.js +584 -0
- package/dist/chunk-DM4OMPWK.js.map +1 -0
- package/dist/chunk-DMSNO6ZB.js +452 -0
- package/dist/chunk-DMSNO6ZB.js.map +1 -0
- package/dist/chunk-E5OZPDIW.js +229 -0
- package/dist/chunk-E5OZPDIW.js.map +1 -0
- package/dist/chunk-EVYY4X5A.js +509 -0
- package/dist/chunk-EVYY4X5A.js.map +1 -0
- package/dist/chunk-FDFD67UO.js +1 -0
- package/dist/chunk-FDFD67UO.js.map +1 -0
- package/dist/chunk-FMPF42Q4.js +13 -0
- package/dist/chunk-FMPF42Q4.js.map +1 -0
- package/dist/chunk-FR6RGA3B.js +1277 -0
- package/dist/chunk-FR6RGA3B.js.map +1 -0
- package/dist/chunk-FW23JYNQ.js +454 -0
- package/dist/chunk-FW23JYNQ.js.map +1 -0
- package/dist/chunk-GBCENOLN.js +1575 -0
- package/dist/chunk-GBCENOLN.js.map +1 -0
- package/dist/chunk-HL7HUJIX.js +1 -0
- package/dist/chunk-HL7HUJIX.js.map +1 -0
- package/dist/chunk-HULCUY35.js +2508 -0
- package/dist/chunk-HULCUY35.js.map +1 -0
- package/dist/chunk-IHTWQEDR.js +169 -0
- package/dist/chunk-IHTWQEDR.js.map +1 -0
- package/dist/chunk-IJRR6YAI.js +128 -0
- package/dist/chunk-IJRR6YAI.js.map +1 -0
- package/dist/chunk-JGFRAFDL.js +221 -0
- package/dist/chunk-JGFRAFDL.js.map +1 -0
- package/dist/chunk-KIIXR252.js +211 -0
- package/dist/chunk-KIIXR252.js.map +1 -0
- package/dist/chunk-KN3H5CNT.js +11 -0
- package/dist/chunk-KN3H5CNT.js.map +1 -0
- package/dist/chunk-KPG3DGLA.js +1 -0
- package/dist/chunk-KPG3DGLA.js.map +1 -0
- package/dist/chunk-KRNQ6RGQ.js +1 -0
- package/dist/chunk-KRNQ6RGQ.js.map +1 -0
- package/dist/chunk-LBAJK24K.js +1071 -0
- package/dist/chunk-LBAJK24K.js.map +1 -0
- package/dist/chunk-MLTPJMH6.js +417 -0
- package/dist/chunk-MLTPJMH6.js.map +1 -0
- package/dist/chunk-N3SZ7BMH.js +95 -0
- package/dist/chunk-N3SZ7BMH.js.map +1 -0
- package/dist/chunk-NDUD3IMO.js +540 -0
- package/dist/chunk-NDUD3IMO.js.map +1 -0
- package/dist/chunk-NY2PYHNC.js +873 -0
- package/dist/chunk-NY2PYHNC.js.map +1 -0
- package/dist/chunk-O3MT7DYI.js +225 -0
- package/dist/chunk-O3MT7DYI.js.map +1 -0
- package/dist/chunk-OCUDSN63.js +2386 -0
- package/dist/chunk-OCUDSN63.js.map +1 -0
- package/dist/chunk-OIWU3NYV.js +199 -0
- package/dist/chunk-OIWU3NYV.js.map +1 -0
- package/dist/chunk-OO5BM6CJ.js +1153 -0
- package/dist/chunk-OO5BM6CJ.js.map +1 -0
- package/dist/chunk-OQUIJT7A.js +1 -0
- package/dist/chunk-OQUIJT7A.js.map +1 -0
- package/dist/chunk-P5LBT622.js +105 -0
- package/dist/chunk-P5LBT622.js.map +1 -0
- package/dist/chunk-PKGQG5QQ.js +519 -0
- package/dist/chunk-PKGQG5QQ.js.map +1 -0
- package/dist/chunk-PKPO3JTZ.js +561 -0
- package/dist/chunk-PKPO3JTZ.js.map +1 -0
- package/dist/chunk-PL5UDIQ5.js +118 -0
- package/dist/chunk-PL5UDIQ5.js.map +1 -0
- package/dist/chunk-PZWISPIQ.js +432 -0
- package/dist/chunk-PZWISPIQ.js.map +1 -0
- package/dist/chunk-Q3EYOCZB.js +510 -0
- package/dist/chunk-Q3EYOCZB.js.map +1 -0
- package/dist/chunk-QMBYUVRL.js +15 -0
- package/dist/chunk-QMBYUVRL.js.map +1 -0
- package/dist/chunk-RAGGHLCV.js +200 -0
- package/dist/chunk-RAGGHLCV.js.map +1 -0
- package/dist/chunk-RGL53X5G.js +574 -0
- package/dist/chunk-RGL53X5G.js.map +1 -0
- package/dist/chunk-RJOG4IJU.js +1039 -0
- package/dist/chunk-RJOG4IJU.js.map +1 -0
- package/dist/chunk-SOOKUYVM.js +403 -0
- package/dist/chunk-SOOKUYVM.js.map +1 -0
- package/dist/chunk-T5BN5KG7.js +1 -0
- package/dist/chunk-T5BN5KG7.js.map +1 -0
- package/dist/chunk-TP7244Y6.js +207 -0
- package/dist/chunk-TP7244Y6.js.map +1 -0
- package/dist/chunk-TSBFTJKM.js +57 -0
- package/dist/chunk-TSBFTJKM.js.map +1 -0
- package/dist/chunk-URQ2CBBF.js +143 -0
- package/dist/chunk-URQ2CBBF.js.map +1 -0
- package/dist/chunk-W2BOPXTI.js +1 -0
- package/dist/chunk-W2BOPXTI.js.map +1 -0
- package/dist/chunk-WKSWLSCX.js +207 -0
- package/dist/chunk-WKSWLSCX.js.map +1 -0
- package/dist/chunk-Y52CS6YA.js +88 -0
- package/dist/chunk-Y52CS6YA.js.map +1 -0
- package/dist/chunk-YCBUWK77.js +92 -0
- package/dist/chunk-YCBUWK77.js.map +1 -0
- package/dist/chunk-YJ4U2D2C.js +314 -0
- package/dist/chunk-YJ4U2D2C.js.map +1 -0
- package/dist/chunk-Z4YXAUDN.js +239 -0
- package/dist/chunk-Z4YXAUDN.js.map +1 -0
- package/dist/chunk-Z6EGP5D7.js +92 -0
- package/dist/chunk-Z6EGP5D7.js.map +1 -0
- package/dist/compat/index.cjs +3100 -9
- package/dist/compat/index.cjs.map +1 -0
- package/dist/compat/index.d.cts +112 -18
- package/dist/compat/index.d.ts +112 -18
- package/dist/compat/index.js +176 -1
- package/dist/compat/index.js.map +1 -0
- package/dist/compat/jotai/index.cjs +149 -1
- package/dist/compat/jotai/index.cjs.map +1 -0
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/jotai/index.js +8 -1
- package/dist/compat/jotai/index.js.map +1 -0
- package/dist/compat/nanostores/index.cjs +205 -1
- package/dist/compat/nanostores/index.cjs.map +1 -0
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nanostores/index.js +22 -1
- package/dist/compat/nanostores/index.js.map +1 -0
- package/dist/compat/nestjs/index.cjs +2241 -9
- package/dist/compat/nestjs/index.cjs.map +1 -0
- package/dist/compat/nestjs/index.d.cts +7 -10
- package/dist/compat/nestjs/index.d.ts +7 -10
- package/dist/compat/nestjs/index.js +78 -1
- package/dist/compat/nestjs/index.js.map +1 -0
- package/dist/compat/react/index.cjs +114 -1
- package/dist/compat/react/index.cjs.map +1 -0
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/react/index.js +12 -1
- package/dist/compat/react/index.js.map +1 -0
- package/dist/compat/solid/index.cjs +101 -1
- package/dist/compat/solid/index.cjs.map +1 -0
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/solid/index.js +12 -1
- package/dist/compat/solid/index.js.map +1 -0
- package/dist/compat/svelte/index.cjs +104 -1
- package/dist/compat/svelte/index.cjs.map +1 -0
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/svelte/index.js +12 -1
- package/dist/compat/svelte/index.js.map +1 -0
- package/dist/compat/vue/index.cjs +119 -1
- package/dist/compat/vue/index.cjs.map +1 -0
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/vue/index.js +12 -1
- package/dist/compat/vue/index.js.map +1 -0
- package/dist/compat/zustand/index.cjs +69 -3
- package/dist/compat/zustand/index.cjs.map +1 -0
- package/dist/compat/zustand/index.d.cts +2 -6
- package/dist/compat/zustand/index.d.ts +2 -6
- package/dist/compat/zustand/index.js +8 -1
- package/dist/compat/zustand/index.js.map +1 -0
- package/dist/distill-De6Rnn15.d.cts +48 -0
- package/dist/distill-De6Rnn15.d.ts +48 -0
- package/dist/external-register-CWyroXb_.d.cts +138 -0
- package/dist/external-register-CWyroXb_.d.ts +138 -0
- package/dist/{fallback-74oxi34l.d.cts → fallback-Bx46zqky.d.cts} +3 -10
- package/dist/{fallback-DUyyBTBK.d.ts → fallback-pIWW8A2d.d.ts} +3 -10
- package/dist/guarded-execution-BcdtxeBk.d.ts +207 -0
- package/dist/guarded-execution-C-3hnP6A.d.cts +207 -0
- package/dist/{index-CBGUK09R.d.ts → index-5SU_O78r.d.cts} +5 -5
- package/dist/{index-BmZXHqkE.d.ts → index-B6pxYJzO.d.cts} +1 -1
- package/dist/{index-hcDJ8PSI.d.cts → index-B6pxYJzO.d.ts} +1 -1
- package/dist/{index-C5stwKcw.d.cts → index-BFsng6v1.d.cts} +1 -1
- package/dist/{index-CdAlHFEt.d.ts → index-BFsng6v1.d.ts} +1 -1
- package/dist/{index-_6ODbuOu.d.cts → index-Bg-LwEt-.d.cts} +1 -1
- package/dist/{index-CviRnE4K.d.ts → index-Bg-LwEt-.d.ts} +1 -1
- package/dist/{index-CBBLl_rc.d.ts → index-Brp888t0.d.cts} +1 -1
- package/dist/{index-BQSKmbuG.d.cts → index-Brp888t0.d.ts} +1 -1
- package/dist/{index-sqkqlb1p.d.ts → index-CDfk6jHN.d.cts} +1 -1
- package/dist/{index-ZVQhLa2i.d.cts → index-CDfk6jHN.d.ts} +1 -1
- package/dist/{index-Climxqsu.d.cts → index-CEXCtYYJ.d.ts} +5 -5
- package/dist/index-DLAxYaN5.d.cts +169 -0
- package/dist/index-DLAxYaN5.d.ts +169 -0
- package/dist/{index-CK29LV56.d.cts → index-DeWbQzMe.d.cts} +1 -1
- package/dist/{index-CPQlGA29.d.ts → index-DeWbQzMe.d.ts} +1 -1
- package/dist/{index-BrPrLl4e.d.cts → index-dX9IzPqj.d.cts} +1 -1
- package/dist/{index-Dgl1HpPn.d.ts → index-dX9IzPqj.d.ts} +1 -1
- package/dist/index.cjs +25934 -191
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +58 -94
- package/dist/index.d.ts +58 -94
- package/dist/index.js +852 -1
- package/dist/index.js.map +1 -0
- package/dist/layout-types-B5aiHYgk.d.cts +72 -0
- package/dist/layout-types-B5aiHYgk.d.ts +72 -0
- package/dist/memory-composers-BryDrRBX.d.cts +529 -0
- package/dist/memory-composers-CVQqPYEV.d.ts +529 -0
- package/dist/{observable-DWjNfLvC.d.ts → observable-BXQoW1P-.d.cts} +1 -1
- package/dist/{observable-e3eiPPFy.d.cts → observable-BXQoW1P-.d.ts} +1 -1
- package/dist/{pipeline-graph-Sgj0gCwn.d.ts → pipeline-graph-Ce47CB6Y.d.cts} +13 -10
- package/dist/{pipeline-graph-CIKhynsF.d.cts → pipeline-graph-DXCwY9vG.d.ts} +13 -10
- package/dist/presets/ai/index.cjs +4377 -0
- package/dist/presets/ai/index.cjs.map +1 -0
- package/dist/presets/ai/index.d.cts +98 -0
- package/dist/presets/ai/index.d.ts +98 -0
- package/dist/presets/ai/index.js +54 -0
- package/dist/presets/ai/index.js.map +1 -0
- package/dist/presets/harness/index.cjs +5929 -0
- package/dist/presets/harness/index.cjs.map +1 -0
- package/dist/presets/harness/index.d.cts +566 -0
- package/dist/presets/harness/index.d.ts +566 -0
- package/dist/presets/harness/index.js +71 -0
- package/dist/presets/harness/index.js.map +1 -0
- package/dist/presets/index.cjs +9782 -0
- package/dist/presets/index.cjs.map +1 -0
- package/dist/presets/index.d.cts +28 -0
- package/dist/presets/index.d.ts +28 -0
- package/dist/presets/index.js +129 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/inspect/index.cjs +1087 -0
- package/dist/presets/inspect/index.cjs.map +1 -0
- package/dist/presets/inspect/index.d.cts +172 -0
- package/dist/presets/inspect/index.d.ts +172 -0
- package/dist/presets/inspect/index.js +21 -0
- package/dist/presets/inspect/index.js.map +1 -0
- package/dist/presets/resilience/index.cjs +1593 -0
- package/dist/presets/resilience/index.cjs.map +1 -0
- package/dist/presets/resilience/index.d.cts +205 -0
- package/dist/presets/resilience/index.d.ts +205 -0
- package/dist/presets/resilience/index.js +18 -0
- package/dist/presets/resilience/index.js.map +1 -0
- package/dist/rate-limiter-CEALq4N1.d.ts +559 -0
- package/dist/rate-limiter-DpVbSYdH.d.cts +559 -0
- package/dist/{reactive-layout-DOTs9P3X.d.ts → reactive-layout-fswlBUvX.d.cts} +19 -7
- package/dist/{reactive-layout-DgctbqZo.d.cts → reactive-layout-fswlBUvX.d.ts} +19 -7
- package/dist/retry-BDbRZ_gx.d.ts +125 -0
- package/dist/retry-DWuhjvsA.d.cts +125 -0
- package/dist/solutions/index.cjs +8200 -0
- package/dist/solutions/index.cjs.map +1 -0
- package/dist/solutions/index.d.cts +23 -0
- package/dist/solutions/index.d.ts +23 -0
- package/dist/solutions/index.js +55 -0
- package/dist/solutions/index.js.map +1 -0
- package/dist/spawnable-5mDY501F.d.cts +746 -0
- package/dist/spawnable-D3lR0oQu.d.ts +746 -0
- package/dist/status-U-rUI79b.d.cts +84 -0
- package/dist/status-U-rUI79b.d.ts +84 -0
- package/dist/timeout-U5O4ESK3.js +12 -0
- package/dist/timeout-U5O4ESK3.js.map +1 -0
- package/dist/{types-CWFysE9E.d.ts → types-BB5Lw-pB.d.cts} +3 -3
- package/dist/{types-C0_yquda.d.cts → types-BB5Lw-pB.d.ts} +3 -3
- package/dist/types-CJWIMJiZ.d.ts +548 -0
- package/dist/types-vCq7ShIm.d.cts +548 -0
- package/dist/utils/ai/browser.cjs +2169 -0
- package/dist/utils/ai/browser.cjs.map +1 -0
- package/dist/{patterns → utils}/ai/browser.d.cts +7 -5
- package/dist/{patterns → utils}/ai/browser.d.ts +7 -5
- package/dist/utils/ai/browser.js +255 -0
- package/dist/utils/ai/browser.js.map +1 -0
- package/dist/utils/ai/index.cjs +8468 -0
- package/dist/utils/ai/index.cjs.map +1 -0
- package/dist/{index-CR8QpwX8.d.ts → utils/ai/index.d.cts} +73 -976
- package/dist/{index-UPSiS-X7.d.cts → utils/ai/index.d.ts} +73 -976
- package/dist/utils/ai/index.js +173 -0
- package/dist/utils/ai/index.js.map +1 -0
- package/dist/utils/ai/node.cjs +648 -0
- package/dist/utils/ai/node.cjs.map +1 -0
- package/dist/{patterns → utils}/ai/node.d.cts +5 -7
- package/dist/{patterns → utils}/ai/node.d.ts +5 -7
- package/dist/utils/ai/node.js +84 -0
- package/dist/utils/ai/node.js.map +1 -0
- package/dist/utils/cqrs/index.cjs +1036 -0
- package/dist/utils/cqrs/index.cjs.map +1 -0
- package/dist/{index-CeFiHtAg.d.ts → utils/cqrs/index.d.cts} +7 -37
- package/dist/{index-B-_tFaqV.d.cts → utils/cqrs/index.d.ts} +7 -37
- package/dist/utils/cqrs/index.js +18 -0
- package/dist/utils/cqrs/index.js.map +1 -0
- package/dist/utils/demo-shell/index.cjs +865 -0
- package/dist/utils/demo-shell/index.cjs.map +1 -0
- package/dist/{index-B8YnZpIR.d.ts → utils/demo-shell/index.d.cts} +4 -16
- package/dist/{index-Cwv0KWcU.d.cts → utils/demo-shell/index.d.ts} +4 -16
- package/dist/utils/demo-shell/index.js +13 -0
- package/dist/utils/demo-shell/index.js.map +1 -0
- package/dist/utils/domain-templates/index.cjs +732 -0
- package/dist/utils/domain-templates/index.cjs.map +1 -0
- package/dist/{index-CzLVrjxn.d.ts → utils/domain-templates/index.d.cts} +3 -20
- package/dist/{index-BaQaY_IQ.d.cts → utils/domain-templates/index.d.ts} +3 -20
- package/dist/utils/domain-templates/index.js +17 -0
- package/dist/utils/domain-templates/index.js.map +1 -0
- package/dist/utils/graphspec/index.cjs +1174 -0
- package/dist/utils/graphspec/index.cjs.map +1 -0
- package/dist/{index-CMh5Rz1y.d.ts → utils/graphspec/index.d.cts} +106 -42
- package/dist/{index-CS0LTlB8.d.cts → utils/graphspec/index.d.ts} +106 -42
- package/dist/utils/graphspec/index.js +35 -0
- package/dist/utils/graphspec/index.js.map +1 -0
- package/dist/utils/harness/index.cjs +656 -0
- package/dist/utils/harness/index.cjs.map +1 -0
- package/dist/utils/harness/index.d.cts +542 -0
- package/dist/utils/harness/index.d.ts +542 -0
- package/dist/utils/harness/index.js +56 -0
- package/dist/utils/harness/index.js.map +1 -0
- package/dist/utils/index.cjs +17609 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +96 -0
- package/dist/utils/index.d.ts +96 -0
- package/dist/utils/index.js +514 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/inspect/index.cjs +807 -0
- package/dist/utils/inspect/index.cjs.map +1 -0
- package/dist/utils/inspect/index.d.cts +123 -0
- package/dist/utils/inspect/index.d.ts +123 -0
- package/dist/utils/inspect/index.js +30 -0
- package/dist/utils/inspect/index.js.map +1 -0
- package/dist/utils/job-queue/index.cjs +717 -0
- package/dist/utils/job-queue/index.cjs.map +1 -0
- package/dist/{index-DisjX8a-.d.ts → utils/job-queue/index.d.cts} +5 -26
- package/dist/{index-DV_1YuVk.d.cts → utils/job-queue/index.d.ts} +5 -26
- package/dist/utils/job-queue/index.js +18 -0
- package/dist/utils/job-queue/index.js.map +1 -0
- package/dist/utils/memory/index.cjs +1451 -0
- package/dist/utils/memory/index.cjs.map +1 -0
- package/dist/{index-CZ3r5Rxp.d.ts → utils/memory/index.d.cts} +242 -34
- package/dist/{index-B17QddL1.d.cts → utils/memory/index.d.ts} +242 -34
- package/dist/utils/memory/index.js +19 -0
- package/dist/utils/memory/index.js.map +1 -0
- package/dist/utils/messaging/index.cjs +666 -0
- package/dist/utils/messaging/index.cjs.map +1 -0
- package/dist/utils/messaging/index.d.cts +562 -0
- package/dist/utils/messaging/index.d.ts +562 -0
- package/dist/utils/messaging/index.js +50 -0
- package/dist/utils/messaging/index.js.map +1 -0
- package/dist/utils/orchestration/index.cjs +876 -0
- package/dist/utils/orchestration/index.cjs.map +1 -0
- package/dist/utils/orchestration/index.d.cts +233 -0
- package/dist/utils/orchestration/index.d.ts +233 -0
- package/dist/utils/orchestration/index.js +19 -0
- package/dist/utils/orchestration/index.js.map +1 -0
- package/dist/utils/process/index.cjs +743 -0
- package/dist/utils/process/index.cjs.map +1 -0
- package/dist/{index-p09KSrTN.d.ts → utils/process/index.d.cts} +97 -44
- package/dist/{index-CasX6Pfq.d.cts → utils/process/index.d.ts} +97 -44
- package/dist/utils/process/index.js +14 -0
- package/dist/utils/process/index.js.map +1 -0
- package/dist/utils/reactive-layout/index.cjs +1607 -0
- package/dist/utils/reactive-layout/index.cjs.map +1 -0
- package/dist/{index-B5S8ULbU.d.ts → utils/reactive-layout/index.d.cts} +58 -81
- package/dist/{index-Dc4AYqrJ.d.cts → utils/reactive-layout/index.d.ts} +58 -81
- package/dist/utils/reactive-layout/index.js +52 -0
- package/dist/utils/reactive-layout/index.js.map +1 -0
- package/dist/utils/reduction/index.cjs +203 -0
- package/dist/utils/reduction/index.cjs.map +1 -0
- package/dist/{index-Byu-OpX_.d.ts → utils/reduction/index.d.cts} +6 -17
- package/dist/{index-tRCxuAXF.d.cts → utils/reduction/index.d.ts} +6 -17
- package/dist/utils/reduction/index.js +14 -0
- package/dist/utils/reduction/index.js.map +1 -0
- package/dist/utils/resilience/index.cjs +1617 -0
- package/dist/utils/resilience/index.cjs.map +1 -0
- package/dist/utils/resilience/index.d.cts +9 -0
- package/dist/utils/resilience/index.d.ts +9 -0
- package/dist/utils/resilience/index.js +44 -0
- package/dist/utils/resilience/index.js.map +1 -0
- package/dist/utils/surface/index.cjs +1070 -0
- package/dist/utils/surface/index.cjs.map +1 -0
- package/dist/{index-CYq8vAyV.d.ts → utils/surface/index.d.cts} +7 -58
- package/dist/{index-CSOmP7xT.d.cts → utils/surface/index.d.ts} +7 -58
- package/dist/utils/surface/index.js +30 -0
- package/dist/utils/surface/index.js.map +1 -0
- package/dist/utils/topology-view/index.cjs +620 -0
- package/dist/utils/topology-view/index.cjs.map +1 -0
- package/dist/utils/topology-view/index.d.cts +68 -0
- package/dist/utils/topology-view/index.d.ts +68 -0
- package/dist/utils/topology-view/index.js +11 -0
- package/dist/utils/topology-view/index.js.map +1 -0
- package/package.json +664 -584
- package/dist/backoff-HPZMEZNF.js +0 -1
- package/dist/chunk-2T7U5EU6.js +0 -1
- package/dist/chunk-3G5U5QNE.js +0 -5
- package/dist/chunk-4VVTGLXJ.js +0 -1
- package/dist/chunk-5M4CCMMD.js +0 -45
- package/dist/chunk-5QDBSZBV.js +0 -1
- package/dist/chunk-5XJ6B66J.js +0 -1
- package/dist/chunk-6QZNQS5B.js +0 -1
- package/dist/chunk-6X7AFUJV.js +0 -9
- package/dist/chunk-7K6PWTDQ.js +0 -1
- package/dist/chunk-7LIAPXJB.js +0 -1
- package/dist/chunk-7WPU3UHQ.js +0 -1
- package/dist/chunk-A5WCQ5NO.js +0 -1
- package/dist/chunk-APPIWSGD.js +0 -84
- package/dist/chunk-BEZWM2SY.js +0 -1
- package/dist/chunk-C72GO4IZ.js +0 -1
- package/dist/chunk-CB676TKJ.js +0 -1
- package/dist/chunk-CE6TI2TL.js +0 -1
- package/dist/chunk-CE72X3WO.js +0 -1
- package/dist/chunk-CK2E7BTU.js +0 -1
- package/dist/chunk-CLVB32RD.js +0 -1
- package/dist/chunk-CRVT7D2P.js +0 -1
- package/dist/chunk-D5RFJOZ2.js +0 -1
- package/dist/chunk-D7GPHKFH.js +0 -1
- package/dist/chunk-DHRX7JX4.js +0 -2
- package/dist/chunk-ESMPEKEV.js +0 -1
- package/dist/chunk-F672GV32.js +0 -1
- package/dist/chunk-FZMYDOWV.js +0 -1
- package/dist/chunk-GHBWHMRZ.js +0 -1
- package/dist/chunk-GLERH466.js +0 -1
- package/dist/chunk-GPW2V3RE.js +0 -1
- package/dist/chunk-HIDYF36O.js +0 -1
- package/dist/chunk-HITNVN6B.js +0 -3
- package/dist/chunk-HY4DJBA7.js +0 -5
- package/dist/chunk-KZIEYVXN.js +0 -1
- package/dist/chunk-L6NSJVJZ.js +0 -1
- package/dist/chunk-N4MQX6JU.js +0 -18
- package/dist/chunk-N7FHEL4D.js +0 -1
- package/dist/chunk-NTEURFZH.js +0 -1
- package/dist/chunk-OIVP6KFV.js +0 -1
- package/dist/chunk-OPHBU3LG.js +0 -1
- package/dist/chunk-OYQOZP2F.js +0 -5
- package/dist/chunk-PTZK576G.js +0 -1
- package/dist/chunk-QYADASLV.js +0 -1
- package/dist/chunk-ST7UXLWR.js +0 -1
- package/dist/chunk-SVY7VUYU.js +0 -1
- package/dist/chunk-TK3NWWD4.js +0 -1
- package/dist/chunk-TSOYJ743.js +0 -1
- package/dist/chunk-UNGSTR4X.js +0 -61
- package/dist/chunk-VIMF6LGM.js +0 -1
- package/dist/chunk-VJLMUKOI.js +0 -1
- package/dist/chunk-VN6RDSK2.js +0 -1
- package/dist/chunk-VV4N5P64.js +0 -1
- package/dist/chunk-W3I423PS.js +0 -1
- package/dist/chunk-WJR24TAG.js +0 -1
- package/dist/chunk-XTGKMHSW.js +0 -1
- package/dist/chunk-YBB7ZGTY.js +0 -1
- package/dist/chunk-Z4NPUARF.js +0 -1
- package/dist/chunk-ZGNQRPDT.js +0 -1
- package/dist/chunk-ZKPSFFKU.js +0 -1
- package/dist/chunk-ZLV5SQSX.js +0 -1
- package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
- package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
- package/dist/core/index.cjs +0 -1
- package/dist/core/index.d.cts +0 -3
- package/dist/core/index.d.ts +0 -3
- package/dist/core/index.js +0 -1
- package/dist/decay-BvOWTZ00.d.ts +0 -112
- package/dist/decay-CFlLvXUT.d.cts +0 -112
- package/dist/extra/browser.cjs +0 -1
- package/dist/extra/browser.d.cts +0 -4
- package/dist/extra/browser.d.ts +0 -4
- package/dist/extra/browser.js +0 -1
- package/dist/extra/index.cjs +0 -20
- package/dist/extra/index.d.cts +0 -17
- package/dist/extra/index.d.ts +0 -17
- package/dist/extra/index.js +0 -1
- package/dist/extra/node.cjs +0 -2
- package/dist/extra/node.js +0 -2
- package/dist/extra/operators.cjs +0 -1
- package/dist/extra/operators.d.cts +0 -958
- package/dist/extra/operators.d.ts +0 -958
- package/dist/extra/operators.js +0 -1
- package/dist/extra/reactive.cjs +0 -1
- package/dist/extra/reactive.d.cts +0 -353
- package/dist/extra/reactive.d.ts +0 -353
- package/dist/extra/reactive.js +0 -1
- package/dist/extra/render/index.cjs +0 -5
- package/dist/extra/render/index.js +0 -1
- package/dist/extra/sources.cjs +0 -3
- package/dist/extra/sources.js +0 -1
- package/dist/extra/storage-browser.cjs +0 -1
- package/dist/extra/storage-browser.d.cts +0 -37
- package/dist/extra/storage-browser.d.ts +0 -37
- package/dist/extra/storage-browser.js +0 -1
- package/dist/extra/storage-core.cjs +0 -1
- package/dist/extra/storage-core.d.cts +0 -28
- package/dist/extra/storage-core.d.ts +0 -28
- package/dist/extra/storage-core.js +0 -1
- package/dist/extra/storage-node.cjs +0 -1
- package/dist/extra/storage-node.d.cts +0 -2
- package/dist/extra/storage-node.d.ts +0 -2
- package/dist/extra/storage-node.js +0 -0
- package/dist/extra/storage-tiers-browser.cjs +0 -1
- package/dist/extra/storage-tiers-browser.d.cts +0 -120
- package/dist/extra/storage-tiers-browser.d.ts +0 -120
- package/dist/extra/storage-tiers-browser.js +0 -1
- package/dist/extra/storage-tiers-node.cjs +0 -1
- package/dist/extra/storage-tiers-node.d.cts +0 -210
- package/dist/extra/storage-tiers-node.d.ts +0 -210
- package/dist/extra/storage-tiers-node.js +0 -1
- package/dist/extra/storage-tiers.cjs +0 -1
- package/dist/extra/storage-tiers.d.cts +0 -412
- package/dist/extra/storage-tiers.d.ts +0 -412
- package/dist/extra/storage-tiers.js +0 -1
- package/dist/graph/index.cjs +0 -7
- package/dist/graph/index.d.cts +0 -7
- package/dist/graph/index.d.ts +0 -7
- package/dist/graph/index.js +0 -1
- package/dist/graph-CWvEUQAq.d.cts +0 -1861
- package/dist/graph-D9LFnda9.d.ts +0 -1861
- package/dist/index-5k1T6jl0.d.cts +0 -121
- package/dist/index-9770hRuQ.d.cts +0 -779
- package/dist/index-B1F8Enjf.d.ts +0 -704
- package/dist/index-BHskSB8v.d.ts +0 -3413
- package/dist/index-BIYAkbAi.d.cts +0 -26
- package/dist/index-BoJ5JHxI.d.ts +0 -557
- package/dist/index-BocU7pqs.d.ts +0 -779
- package/dist/index-BxNs2HB9.d.cts +0 -1858
- package/dist/index-C1T3d7V-.d.cts +0 -704
- package/dist/index-C5ri2Axc.d.cts +0 -301
- package/dist/index-C9l6OEBL.d.ts +0 -26
- package/dist/index-CC-AvFTy.d.cts +0 -557
- package/dist/index-CJF1URuX.d.ts +0 -121
- package/dist/index-CdTelp1M.d.ts +0 -202
- package/dist/index-Cj3WohTd.d.cts +0 -202
- package/dist/index-Co7uli2l.d.cts +0 -3413
- package/dist/index-D0aciIex.d.cts +0 -209
- package/dist/index-DHen9Klo.d.ts +0 -1858
- package/dist/index-Yq60JP3s.d.ts +0 -209
- package/dist/index-nozs3fFC.d.ts +0 -301
- package/dist/node-kK3CvTrR.d.cts +0 -1347
- package/dist/node-kK3CvTrR.d.ts +0 -1347
- package/dist/patterns/ai/browser.cjs +0 -8
- package/dist/patterns/ai/browser.js +0 -3
- package/dist/patterns/ai/index.cjs +0 -74
- package/dist/patterns/ai/index.d.cts +0 -20
- package/dist/patterns/ai/index.d.ts +0 -20
- package/dist/patterns/ai/index.js +0 -1
- package/dist/patterns/ai/node.cjs +0 -1
- package/dist/patterns/ai/node.js +0 -1
- package/dist/patterns/cqrs/index.cjs +0 -3
- package/dist/patterns/cqrs/index.d.cts +0 -8
- package/dist/patterns/cqrs/index.d.ts +0 -8
- package/dist/patterns/cqrs/index.js +0 -1
- package/dist/patterns/demo-shell/index.cjs +0 -5
- package/dist/patterns/demo-shell/index.d.cts +0 -7
- package/dist/patterns/demo-shell/index.d.ts +0 -7
- package/dist/patterns/demo-shell/index.js +0 -1
- package/dist/patterns/domain-templates/index.cjs +0 -3
- package/dist/patterns/domain-templates/index.d.cts +0 -6
- package/dist/patterns/domain-templates/index.d.ts +0 -6
- package/dist/patterns/domain-templates/index.js +0 -1
- package/dist/patterns/graphspec/index.cjs +0 -86
- package/dist/patterns/graphspec/index.d.cts +0 -8
- package/dist/patterns/graphspec/index.d.ts +0 -8
- package/dist/patterns/graphspec/index.js +0 -1
- package/dist/patterns/harness/index.cjs +0 -48
- package/dist/patterns/harness/index.d.cts +0 -13
- package/dist/patterns/harness/index.d.ts +0 -13
- package/dist/patterns/harness/index.js +0 -1
- package/dist/patterns/inspect/index.cjs +0 -3
- package/dist/patterns/inspect/index.d.cts +0 -9
- package/dist/patterns/inspect/index.d.ts +0 -9
- package/dist/patterns/inspect/index.js +0 -1
- package/dist/patterns/job-queue/index.cjs +0 -3
- package/dist/patterns/job-queue/index.d.cts +0 -9
- package/dist/patterns/job-queue/index.d.ts +0 -9
- package/dist/patterns/job-queue/index.js +0 -1
- package/dist/patterns/memory/index.cjs +0 -3
- package/dist/patterns/memory/index.d.cts +0 -8
- package/dist/patterns/memory/index.d.ts +0 -8
- package/dist/patterns/memory/index.js +0 -1
- package/dist/patterns/messaging/index.cjs +0 -3
- package/dist/patterns/messaging/index.d.cts +0 -7
- package/dist/patterns/messaging/index.d.ts +0 -7
- package/dist/patterns/messaging/index.js +0 -1
- package/dist/patterns/orchestration/index.cjs +0 -3
- package/dist/patterns/orchestration/index.d.cts +0 -8
- package/dist/patterns/orchestration/index.d.ts +0 -8
- package/dist/patterns/orchestration/index.js +0 -1
- package/dist/patterns/process/index.cjs +0 -3
- package/dist/patterns/process/index.d.cts +0 -10
- package/dist/patterns/process/index.d.ts +0 -10
- package/dist/patterns/process/index.js +0 -1
- package/dist/patterns/reactive-layout/index.cjs +0 -4
- package/dist/patterns/reactive-layout/index.d.cts +0 -7
- package/dist/patterns/reactive-layout/index.d.ts +0 -7
- package/dist/patterns/reactive-layout/index.js +0 -1
- package/dist/patterns/reduction/index.cjs +0 -3
- package/dist/patterns/reduction/index.d.cts +0 -6
- package/dist/patterns/reduction/index.d.ts +0 -6
- package/dist/patterns/reduction/index.js +0 -1
- package/dist/patterns/surface/index.cjs +0 -13
- package/dist/patterns/surface/index.d.cts +0 -9
- package/dist/patterns/surface/index.d.ts +0 -9
- package/dist/patterns/surface/index.js +0 -1
- package/dist/reactive-log-BKALbfal.d.ts +0 -223
- package/dist/reactive-log-DIGdYqQ6.d.cts +0 -223
- package/dist/reactive-map-CEFGp8TK.d.cts +0 -296
- package/dist/reactive-map-DS_SIAxv.d.ts +0 -296
- package/dist/resilience-6LYQJAC5.js +0 -1
- package/dist/sugar-DQjFmVqb.d.cts +0 -399
- package/dist/sugar-fhLIE7TT.d.ts +0 -399
- package/dist/topology-tree-Bcz27hpF.d.cts +0 -25
- package/dist/topology-tree-xvaD0fOX.d.ts +0 -25
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import {
|
|
2
|
+
aiMeta
|
|
3
|
+
} from "./chunk-OO5BM6CJ.js";
|
|
4
|
+
|
|
5
|
+
// src/presets/ai/context/index.ts
|
|
6
|
+
import { node, wallClockNs } from "@graphrefly/pure-ts/core";
|
|
7
|
+
import { reactiveLog } from "@graphrefly/pure-ts/extra";
|
|
8
|
+
import { Graph } from "@graphrefly/pure-ts/graph";
|
|
9
|
+
var CompressionCache = class {
|
|
10
|
+
constructor(_max) {
|
|
11
|
+
this._max = _max;
|
|
12
|
+
}
|
|
13
|
+
_m = /* @__PURE__ */ new Map();
|
|
14
|
+
/** Insertion-order list of `id` keys for LRU eviction at the id granularity. */
|
|
15
|
+
_order = [];
|
|
16
|
+
get(id, tier) {
|
|
17
|
+
const inner = this._m.get(id);
|
|
18
|
+
const v = inner?.get(tier);
|
|
19
|
+
if (v !== void 0) {
|
|
20
|
+
const i = this._order.indexOf(id);
|
|
21
|
+
if (i >= 0) this._order.splice(i, 1);
|
|
22
|
+
this._order.push(id);
|
|
23
|
+
}
|
|
24
|
+
return v;
|
|
25
|
+
}
|
|
26
|
+
set(id, tier, value) {
|
|
27
|
+
let inner = this._m.get(id);
|
|
28
|
+
if (inner === void 0) {
|
|
29
|
+
inner = /* @__PURE__ */ new Map();
|
|
30
|
+
this._m.set(id, inner);
|
|
31
|
+
}
|
|
32
|
+
inner.set(tier, value);
|
|
33
|
+
const i = this._order.indexOf(id);
|
|
34
|
+
if (i >= 0) this._order.splice(i, 1);
|
|
35
|
+
this._order.push(id);
|
|
36
|
+
while (this._m.size > this._max) {
|
|
37
|
+
const evict = this._order.shift();
|
|
38
|
+
if (evict === void 0) break;
|
|
39
|
+
this._m.delete(evict);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var _poolSeq = 0;
|
|
44
|
+
function taggedContextPool(parent, opts) {
|
|
45
|
+
const mountName = opts.name ?? `ctxpool-${opts.topic}-${++_poolSeq}`;
|
|
46
|
+
const graph = new Graph(mountName);
|
|
47
|
+
parent.mount(mountName, graph);
|
|
48
|
+
const log = reactiveLog(void 0, {
|
|
49
|
+
name: `${mountName}.log`,
|
|
50
|
+
maxSize: opts.maxEntries
|
|
51
|
+
});
|
|
52
|
+
const cache = new CompressionCache(opts.cacheMax ?? 512);
|
|
53
|
+
let autoId = 0;
|
|
54
|
+
const entries = log.entries;
|
|
55
|
+
function add(e) {
|
|
56
|
+
const id = e.id ?? `ctx-${++autoId}`;
|
|
57
|
+
log.append({
|
|
58
|
+
id,
|
|
59
|
+
payload: e.payload,
|
|
60
|
+
tags: e.tags,
|
|
61
|
+
importance: e.importance,
|
|
62
|
+
compressible: e.compressible,
|
|
63
|
+
topic: e.topic,
|
|
64
|
+
t_ns: wallClockNs()
|
|
65
|
+
// QA P2 — clock.ts invariant (was Date.now()*1e6)
|
|
66
|
+
});
|
|
67
|
+
return id;
|
|
68
|
+
}
|
|
69
|
+
function byTag(tag) {
|
|
70
|
+
return node(
|
|
71
|
+
[entries],
|
|
72
|
+
(data, actions, ctx) => {
|
|
73
|
+
const cur = data[0] != null && data[0].length > 0 ? data[0].at(-1) : ctx.prevData[0];
|
|
74
|
+
actions.emit((cur ?? []).filter((x) => x.tags.includes(tag)));
|
|
75
|
+
},
|
|
76
|
+
{ describeKind: "derived", meta: aiMeta("contextPool.byTag", { tag }) }
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function poolGC(policy) {
|
|
80
|
+
const all = log.entries.cache ?? [];
|
|
81
|
+
const nowNs = wallClockNs();
|
|
82
|
+
let survivors = all.filter((e) => {
|
|
83
|
+
if (policy.topic != null && e.topic !== policy.topic) return true;
|
|
84
|
+
if (policy.olderThanNs != null && nowNs - e.t_ns >= policy.olderThanNs) return false;
|
|
85
|
+
if (policy.importanceBelow != null && e.importance < policy.importanceBelow) return false;
|
|
86
|
+
return true;
|
|
87
|
+
});
|
|
88
|
+
if (policy.max != null && survivors.length > policy.max) {
|
|
89
|
+
survivors = survivors.slice(survivors.length - policy.max);
|
|
90
|
+
}
|
|
91
|
+
const removed = all.length - survivors.length;
|
|
92
|
+
if (removed > 0) {
|
|
93
|
+
log.clear();
|
|
94
|
+
log.appendMany(survivors);
|
|
95
|
+
}
|
|
96
|
+
return removed;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
add,
|
|
100
|
+
entries,
|
|
101
|
+
byTag,
|
|
102
|
+
poolGC,
|
|
103
|
+
graph,
|
|
104
|
+
_cache: cache,
|
|
105
|
+
_opts: opts,
|
|
106
|
+
dispose() {
|
|
107
|
+
log.dispose();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
var DEFAULT_TOKENIZER = (s) => Math.ceil(s.length / 4);
|
|
112
|
+
function matches(e, m) {
|
|
113
|
+
if (m.topic != null) {
|
|
114
|
+
if (typeof m.topic === "string" ? e.topic !== m.topic : !m.topic.test(e.topic)) return false;
|
|
115
|
+
}
|
|
116
|
+
if (m.tagsAny != null && !m.tagsAny.some((t) => e.tags.includes(t))) return false;
|
|
117
|
+
if (m.importanceMin != null && e.importance < m.importanceMin) return false;
|
|
118
|
+
if (m.importanceMax != null && e.importance > m.importanceMax) return false;
|
|
119
|
+
if (m.compressible != null && e.compressible !== m.compressible) return false;
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
function tierCompress(e, rules, pressure, cache, llmCompress) {
|
|
123
|
+
const base = {
|
|
124
|
+
id: e.id,
|
|
125
|
+
topic: e.topic,
|
|
126
|
+
tags: e.tags,
|
|
127
|
+
tier: 0,
|
|
128
|
+
payload: e.payload,
|
|
129
|
+
compressed: false
|
|
130
|
+
};
|
|
131
|
+
if (pressure <= 0) return base;
|
|
132
|
+
for (const rule of rules) {
|
|
133
|
+
if (!matches(e, rule.match)) continue;
|
|
134
|
+
switch (rule.action) {
|
|
135
|
+
case "evict":
|
|
136
|
+
return void 0;
|
|
137
|
+
case "reference":
|
|
138
|
+
return { ...base, tier: 1, payload: `[ref:${e.id}]`, compressed: true };
|
|
139
|
+
case "truncate": {
|
|
140
|
+
const s = typeof e.payload === "string" ? e.payload : JSON.stringify(e.payload);
|
|
141
|
+
return {
|
|
142
|
+
...base,
|
|
143
|
+
tier: 1,
|
|
144
|
+
payload: s.length > rule.maxChars ? s.slice(0, rule.maxChars) : s,
|
|
145
|
+
compressed: s.length > rule.maxChars
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
case "llm-summary": {
|
|
149
|
+
if (!llmCompress) {
|
|
150
|
+
throw new Error("tierCompress: 'llm-summary' rule requires `llmCompress`");
|
|
151
|
+
}
|
|
152
|
+
const cached = cache.get(e.id, rule.toTier);
|
|
153
|
+
const text = cached ?? llmCompress(e, rule.toTier);
|
|
154
|
+
if (cached === void 0) cache.set(e.id, rule.toTier, text);
|
|
155
|
+
return { ...base, tier: rule.toTier, payload: text, compressed: true };
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return base;
|
|
160
|
+
}
|
|
161
|
+
function renderContextView(pool, view) {
|
|
162
|
+
const usesLlm = view.rules.some((r) => r.action === "llm-summary");
|
|
163
|
+
if (usesLlm && !pool._opts.llmCompress) {
|
|
164
|
+
throw new Error(
|
|
165
|
+
"renderContextView: view has an 'llm-summary' rule but the pool was created without `llmCompress` (DS-14.6.A D-A3)."
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
const tokenize = view.tokenizer ?? DEFAULT_TOKENIZER;
|
|
169
|
+
const llmCompress = pool._opts.llmCompress;
|
|
170
|
+
return node(
|
|
171
|
+
[pool.entries, view.pressure],
|
|
172
|
+
(data, actions, ctx) => {
|
|
173
|
+
const entries = data[0] != null && data[0].length > 0 ? data[0].at(-1) : ctx.prevData[0];
|
|
174
|
+
const pressure = data[1] != null && data[1].length > 0 ? data[1].at(-1) : ctx.prevData[1];
|
|
175
|
+
if (entries === void 0) {
|
|
176
|
+
actions.emit([]);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const p = pressure ?? 0;
|
|
180
|
+
const rendered = [];
|
|
181
|
+
for (const e of entries) {
|
|
182
|
+
if (!view.filter(e)) continue;
|
|
183
|
+
const r = tierCompress(e, view.rules, p, pool._cache, llmCompress);
|
|
184
|
+
if (r !== void 0) rendered.push(r);
|
|
185
|
+
}
|
|
186
|
+
const cost = (r) => tokenize(typeof r.payload === "string" ? r.payload : JSON.stringify(r.payload));
|
|
187
|
+
let total = 0;
|
|
188
|
+
for (const r of rendered) total += cost(r);
|
|
189
|
+
if (total > view.budgetTokens) {
|
|
190
|
+
const byImp = entries.reduce(
|
|
191
|
+
(acc, e) => acc.set(e.id, e.importance),
|
|
192
|
+
/* @__PURE__ */ new Map()
|
|
193
|
+
);
|
|
194
|
+
rendered.sort((a, b) => (byImp.get(a.id) ?? 0) - (byImp.get(b.id) ?? 0));
|
|
195
|
+
while (total > view.budgetTokens && rendered.length > 0) {
|
|
196
|
+
total -= cost(rendered.shift());
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
actions.emit(rendered);
|
|
200
|
+
},
|
|
201
|
+
{ describeKind: "derived", meta: aiMeta("contextView", { topic: pool._opts.topic }) }
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export {
|
|
206
|
+
CompressionCache,
|
|
207
|
+
taggedContextPool,
|
|
208
|
+
tierCompress,
|
|
209
|
+
renderContextView
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=chunk-KIIXR252.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/presets/ai/context/index.ts"],"sourcesContent":["/**\n * DS-14.6.A U-A — tagged context substrate (Phase 14.5).\n *\n * Per-view tagged context (SESSION-DS-14.6-A L3–L6 + SESSION-DS-14.6-A-9Q\n * implementation walk). Pool stores immutable tier-0 originals on an\n * **append-only `reactiveLog`** (D-A4 — structural tier-0 immutability, free\n * `LogChange` mutations, side-steps the DS14R1 TTL/LRU prune-fidelity bug).\n * Each consumer holds a `ContextView` that materialises its own filtered +\n * compressed slice (`Node<readonly RenderedEntry[]>`). Routing is mechanical\n * tag comparison (zero LLM); only `llm-summary` rules cross to an injected\n * `llmCompress` (D-A3). Compression cache is one shared `(id, tier)` map in\n * the pool bundle, bounded LRU (D-A5). Schema is pure data, presentation\n * layer (D-A1) — no `@graphrefly/pure-ts` consumer.\n *\n * @module\n */\n\nimport { type Node, node, wallClockNs } from \"@graphrefly/pure-ts/core\";\nimport { type ReactiveLogBundle, reactiveLog } from \"@graphrefly/pure-ts/extra\";\nimport { Graph } from \"@graphrefly/pure-ts/graph\";\nimport { aiMeta } from \"../../../utils/ai/_internal.js\";\n\n// ── Schema (pure data — D-A1) ────────────────────────────────────────────────\n\nexport type Tag = string;\n\n/** Compression tier. 0 = original; higher = more compressed. */\nexport type Tier = 0 | 1 | 2 | 3;\n\nexport interface ContextEntry<T> {\n\t/** Stable id — cache key component `(id, tier)`. Auto-assigned if omitted. */\n\treadonly id: string;\n\treadonly payload: T;\n\treadonly tags: readonly Tag[];\n\t/** 0..1. Budget/GC ordering. */\n\treadonly importance: number;\n\treadonly compressible: boolean;\n\treadonly topic: string;\n\t/** Wall-clock at add (ns) — used by `poolGC({ olderThanNs })`. */\n\treadonly t_ns: number;\n}\n\nexport interface RuleMatch {\n\treadonly topic?: string | RegExp;\n\treadonly tagsAny?: readonly Tag[];\n\treadonly importanceMin?: number;\n\treadonly importanceMax?: number;\n\treadonly compressible?: boolean;\n}\n\nexport type CompressionRule =\n\t| { readonly match: RuleMatch; readonly action: \"evict\" }\n\t| { readonly match: RuleMatch; readonly action: \"truncate\"; readonly maxChars: number }\n\t| { readonly match: RuleMatch; readonly action: \"reference\" }\n\t| { readonly match: RuleMatch; readonly action: \"llm-summary\"; readonly toTier: Tier };\n\nexport interface RenderedEntry<T> {\n\treadonly id: string;\n\treadonly topic: string;\n\treadonly tags: readonly Tag[];\n\treadonly tier: Tier;\n\t/** Original payload at tier 0; compressed `string` otherwise. */\n\treadonly payload: T | string;\n\treadonly compressed: boolean;\n}\n\nexport interface ContextView<T> {\n\treadonly filter: (e: ContextEntry<T>) => boolean;\n\t/** 0..1. A rule fires when `pressure > 0` and the entry matches. */\n\treadonly pressure: Node<number>;\n\treadonly budgetTokens: number;\n\treadonly rules: readonly CompressionRule[];\n\t/** Default `s => Math.ceil(s.length / 4)`. */\n\treadonly tokenizer?: (s: string) => number;\n}\n\nexport interface PoolGCPolicy {\n\t/** Drop entries with `t_ns < (now - olderThanNs)`. */\n\treadonly olderThanNs?: number;\n\t/** Drop entries with `importance < importanceBelow`. */\n\treadonly importanceBelow?: number;\n\t/**\n\t * **Scope**, not a match-to-evict rule: when set, GC only considers\n\t * entries whose `topic === this`; entries of other topics always survive.\n\t * `olderThanNs` / `importanceBelow` are ANDed *within* this scope.\n\t */\n\treadonly topic?: string;\n\t/** Keep at most this many most-recent entries. */\n\treadonly max?: number;\n}\n\n/** `(entry, toTier) => compressedText`. Injected; required iff a view uses `llm-summary`. */\nexport type LlmCompress<T> = (entry: ContextEntry<T>, toTier: Tier) => string;\n\nexport interface TaggedContextPoolOptions<T> {\n\treadonly topic: string;\n\t/** Forwarded to the backing append-only `reactiveLog` (poolGC ceiling). */\n\treadonly maxEntries?: number;\n\t/** Required iff any rendered view uses an `llm-summary` rule (D-A3). */\n\treadonly llmCompress?: LlmCompress<T>;\n\t/** Shared `(id, tier)` compression cache cap (D-A5). Default 512. */\n\treadonly cacheMax?: number;\n\treadonly name?: string;\n}\n\nexport interface TaggedContextPoolBundle<T> {\n\t/**\n\t * Append an entry (immutable tier-0). Returns its id (auto-assigned\n\t * `ctx-N` per-pool if omitted).\n\t *\n\t * **Caller-supplied ids must be unique within the pool.** The log is\n\t * append-only and does NOT dedupe; the compression cache is keyed by\n\t * `(id, tier)`, so appending two different entries with the same explicit\n\t * `id` makes the second render the first's cached summary (QA P11).\n\t */\n\tadd(entry: Omit<ContextEntry<T>, \"id\" | \"t_ns\"> & { id?: string }): string;\n\t/** All live tier-0 entries. */\n\treadonly entries: Node<readonly ContextEntry<T>[]>;\n\t/** Entries carrying `tag`. */\n\tbyTag(tag: Tag): Node<readonly ContextEntry<T>[]>;\n\t/** Pool-global retention (L6 — distinct from per-view filtering). Returns removed count. */\n\tpoolGC(policy: PoolGCPolicy): number;\n\treadonly graph: Graph;\n\t/** Internal — shared compression cache (one per pool, D-A5). */\n\treadonly _cache: CompressionCache;\n\treadonly _opts: TaggedContextPoolOptions<T>;\n\tdispose(): void;\n}\n\n// ── Shared bounded (id,tier) compression cache (D-A5) ────────────────────────\n\n/**\n * Bounded LRU cache keyed by `(id, tier)`. Uses a nested `Map<id, Map<tier,\n * value>>` (NOT a `${id}::${tier}` string key) so a caller-supplied `id`\n * containing the separator cannot collide (QA P5). LRU is tracked at the\n * (id,tier) leaf via a flat insertion-order key list.\n */\nexport class CompressionCache {\n\tprivate readonly _m = new Map<string, Map<Tier, string>>();\n\t/** Insertion-order list of `id` keys for LRU eviction at the id granularity. */\n\tprivate readonly _order: string[] = [];\n\tconstructor(private readonly _max: number) {}\n\tget(id: string, tier: Tier): string | undefined {\n\t\tconst inner = this._m.get(id);\n\t\tconst v = inner?.get(tier);\n\t\tif (v !== undefined) {\n\t\t\tconst i = this._order.indexOf(id);\n\t\t\tif (i >= 0) this._order.splice(i, 1);\n\t\t\tthis._order.push(id);\n\t\t}\n\t\treturn v;\n\t}\n\tset(id: string, tier: Tier, value: string): void {\n\t\tlet inner = this._m.get(id);\n\t\tif (inner === undefined) {\n\t\t\tinner = new Map<Tier, string>();\n\t\t\tthis._m.set(id, inner);\n\t\t}\n\t\tinner.set(tier, value);\n\t\tconst i = this._order.indexOf(id);\n\t\tif (i >= 0) this._order.splice(i, 1);\n\t\tthis._order.push(id);\n\t\twhile (this._m.size > this._max) {\n\t\t\tconst evict = this._order.shift();\n\t\t\tif (evict === undefined) break;\n\t\t\tthis._m.delete(evict);\n\t\t}\n\t}\n}\n\n// ── Pool ─────────────────────────────────────────────────────────────────────\n\n/** Process-wide sequence for collision-safe default mount names (QA P6). */\nlet _poolSeq = 0;\n\n/**\n * Append-only tagged context pool (D-A4). The pool is a `reactiveLog` of\n * immutable tier-0 entries plus a derived `entries` node; `byTag` derives a\n * filtered view; `poolGC` is the explicit pool-global retention (L6).\n */\nexport function taggedContextPool<T>(\n\tparent: Graph,\n\topts: TaggedContextPoolOptions<T>,\n): TaggedContextPoolBundle<T> {\n\t// QA P6: collision-safe default mount name — two pools with the same\n\t// `topic` under one parent must not collide on `parent.mount`. Explicit\n\t// `opts.name` is respected verbatim (caller owns uniqueness then).\n\tconst mountName = opts.name ?? `ctxpool-${opts.topic}-${++_poolSeq}`;\n\tconst graph = new Graph(mountName);\n\tparent.mount(mountName, graph);\n\n\tconst log: ReactiveLogBundle<ContextEntry<T>> = reactiveLog<ContextEntry<T>>(undefined, {\n\t\tname: `${mountName}.log`,\n\t\tmaxSize: opts.maxEntries,\n\t});\n\tconst cache = new CompressionCache(opts.cacheMax ?? 512);\n\t// QA P5: per-pool id counter (was module-global → test-pollution +\n\t// cross-pool cache-key cross-talk).\n\tlet autoId = 0;\n\n\tconst entries: Node<readonly ContextEntry<T>[]> = log.entries;\n\n\tfunction add(e: Omit<ContextEntry<T>, \"id\" | \"t_ns\"> & { id?: string }): string {\n\t\tconst id = e.id ?? `ctx-${++autoId}`;\n\t\tlog.append({\n\t\t\tid,\n\t\t\tpayload: e.payload,\n\t\t\ttags: e.tags,\n\t\t\timportance: e.importance,\n\t\t\tcompressible: e.compressible,\n\t\t\ttopic: e.topic,\n\t\t\tt_ns: wallClockNs(), // QA P2 — clock.ts invariant (was Date.now()*1e6)\n\t\t});\n\t\treturn id;\n\t}\n\n\tfunction byTag(tag: Tag): Node<readonly ContextEntry<T>[]> {\n\t\treturn node<readonly ContextEntry<T>[]>(\n\t\t\t[entries as Node],\n\t\t\t(data, actions, ctx) => {\n\t\t\t\tconst cur = (data[0] != null && data[0].length > 0 ? data[0].at(-1) : ctx.prevData[0]) as\n\t\t\t\t\t| readonly ContextEntry<T>[]\n\t\t\t\t\t| undefined;\n\t\t\t\tactions.emit((cur ?? []).filter((x) => x.tags.includes(tag)));\n\t\t\t},\n\t\t\t{ describeKind: \"derived\", meta: aiMeta(\"contextPool.byTag\", { tag }) },\n\t\t);\n\t}\n\n\tfunction poolGC(policy: PoolGCPolicy): number {\n\t\tconst all = log.entries.cache ?? [];\n\t\tconst nowNs = wallClockNs();\n\t\tlet survivors = all.filter((e) => {\n\t\t\t// QA P1: `topic` is a SCOPE, not a match-to-evict rule — entries\n\t\t\t// outside the topic are never GC'd by this call; eviction criteria\n\t\t\t// (olderThanNs / importanceBelow) are ANDed within the scope.\n\t\t\tif (policy.topic != null && e.topic !== policy.topic) return true;\n\t\t\tif (policy.olderThanNs != null && nowNs - e.t_ns >= policy.olderThanNs) return false;\n\t\t\tif (policy.importanceBelow != null && e.importance < policy.importanceBelow) return false;\n\t\t\treturn true;\n\t\t});\n\t\tif (policy.max != null && survivors.length > policy.max) {\n\t\t\tsurvivors = survivors.slice(survivors.length - policy.max);\n\t\t}\n\t\tconst removed = all.length - survivors.length;\n\t\tif (removed > 0) {\n\t\t\tlog.clear();\n\t\t\tlog.appendMany(survivors);\n\t\t}\n\t\treturn removed;\n\t}\n\n\treturn {\n\t\tadd,\n\t\tentries,\n\t\tbyTag,\n\t\tpoolGC,\n\t\tgraph,\n\t\t_cache: cache,\n\t\t_opts: opts,\n\t\tdispose(): void {\n\t\t\tlog.dispose();\n\t\t},\n\t};\n}\n\n// ── tierCompress + renderContextView ─────────────────────────────────────────\n\nconst DEFAULT_TOKENIZER = (s: string): number => Math.ceil(s.length / 4);\n\nfunction matches(e: ContextEntry<unknown>, m: RuleMatch): boolean {\n\tif (m.topic != null) {\n\t\tif (typeof m.topic === \"string\" ? e.topic !== m.topic : !m.topic.test(e.topic)) return false;\n\t}\n\tif (m.tagsAny != null && !m.tagsAny.some((t) => e.tags.includes(t))) return false;\n\tif (m.importanceMin != null && e.importance < m.importanceMin) return false;\n\tif (m.importanceMax != null && e.importance > m.importanceMax) return false;\n\tif (m.compressible != null && e.compressible !== m.compressible) return false;\n\treturn true;\n}\n\n/**\n * Apply the first matching rule to one entry under `pressure`. Non-LLM\n * strategies (truncate / evict / reference) are pure data; `llm-summary`\n * calls the injected `llmCompress`, caching by `(id, toTier)` (D-A5).\n * Returns `undefined` for evicted / pressure-filtered entries.\n */\nexport function tierCompress<T>(\n\te: ContextEntry<T>,\n\trules: readonly CompressionRule[],\n\tpressure: number,\n\tcache: CompressionCache,\n\tllmCompress?: LlmCompress<T>,\n): RenderedEntry<T> | undefined {\n\tconst base: RenderedEntry<T> = {\n\t\tid: e.id,\n\t\ttopic: e.topic,\n\t\ttags: e.tags,\n\t\ttier: 0,\n\t\tpayload: e.payload,\n\t\tcompressed: false,\n\t};\n\tif (pressure <= 0) return base;\n\tfor (const rule of rules) {\n\t\tif (!matches(e, rule.match)) continue;\n\t\tswitch (rule.action) {\n\t\t\tcase \"evict\":\n\t\t\t\treturn undefined;\n\t\t\tcase \"reference\":\n\t\t\t\treturn { ...base, tier: 1, payload: `[ref:${e.id}]`, compressed: true };\n\t\t\tcase \"truncate\": {\n\t\t\t\tconst s = typeof e.payload === \"string\" ? e.payload : JSON.stringify(e.payload);\n\t\t\t\treturn {\n\t\t\t\t\t...base,\n\t\t\t\t\ttier: 1,\n\t\t\t\t\tpayload: s.length > rule.maxChars ? s.slice(0, rule.maxChars) : s,\n\t\t\t\t\tcompressed: s.length > rule.maxChars,\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"llm-summary\": {\n\t\t\t\tif (!llmCompress) {\n\t\t\t\t\t// Defence-in-depth — construction guard should have thrown.\n\t\t\t\t\tthrow new Error(\"tierCompress: 'llm-summary' rule requires `llmCompress`\");\n\t\t\t\t}\n\t\t\t\tconst cached = cache.get(e.id, rule.toTier);\n\t\t\t\tconst text = cached ?? llmCompress(e, rule.toTier);\n\t\t\t\tif (cached === undefined) cache.set(e.id, rule.toTier, text);\n\t\t\t\treturn { ...base, tier: rule.toTier, payload: text, compressed: true };\n\t\t\t}\n\t\t}\n\t}\n\treturn base;\n}\n\n/**\n * Per-consumer reactive rendering (D-A2). Materialises a\n * `Node<readonly RenderedEntry[]>` over the pool: filter → per-entry rule\n * application under `pressure` → token-budget trim (lowest-importance first).\n *\n * Recomputes the slice per `(entries | pressure)` wave (O(n) — behaviourally\n * identical to the incremental closure-mirror; incremental is a perf\n * follow-up, not a correctness gap).\n *\n * @throws if any rule is `llm-summary` and the pool has no `llmCompress`\n * (D-A3 construction guard).\n */\nexport function renderContextView<T>(\n\tpool: TaggedContextPoolBundle<T>,\n\tview: ContextView<T>,\n): Node<readonly RenderedEntry<T>[]> {\n\tconst usesLlm = view.rules.some((r) => r.action === \"llm-summary\");\n\tif (usesLlm && !pool._opts.llmCompress) {\n\t\tthrow new Error(\n\t\t\t\"renderContextView: view has an 'llm-summary' rule but the pool was created without `llmCompress` (DS-14.6.A D-A3).\",\n\t\t);\n\t}\n\tconst tokenize = view.tokenizer ?? DEFAULT_TOKENIZER;\n\tconst llmCompress = pool._opts.llmCompress;\n\n\treturn node<readonly RenderedEntry<T>[]>(\n\t\t[pool.entries as Node, view.pressure as Node],\n\t\t(data, actions, ctx) => {\n\t\t\tconst entries = (data[0] != null && data[0].length > 0 ? data[0].at(-1) : ctx.prevData[0]) as\n\t\t\t\t| readonly ContextEntry<T>[]\n\t\t\t\t| undefined;\n\t\t\tconst pressure = (data[1] != null && data[1].length > 0 ? data[1].at(-1) : ctx.prevData[1]) as\n\t\t\t\t| number\n\t\t\t\t| undefined;\n\t\t\tif (entries === undefined) {\n\t\t\t\tactions.emit([]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst p = pressure ?? 0;\n\t\t\tconst rendered: RenderedEntry<T>[] = [];\n\t\t\tfor (const e of entries) {\n\t\t\t\tif (!view.filter(e)) continue;\n\t\t\t\tconst r = tierCompress(e, view.rules, p, pool._cache, llmCompress);\n\t\t\t\tif (r !== undefined) rendered.push(r);\n\t\t\t}\n\t\t\t// Token-budget trim: drop lowest-importance entries until under budget.\n\t\t\tconst cost = (r: RenderedEntry<T>): number =>\n\t\t\t\ttokenize(typeof r.payload === \"string\" ? r.payload : JSON.stringify(r.payload));\n\t\t\tlet total = 0;\n\t\t\tfor (const r of rendered) total += cost(r);\n\t\t\tif (total > view.budgetTokens) {\n\t\t\t\tconst byImp = entries.reduce<Map<string, number>>(\n\t\t\t\t\t(acc, e) => acc.set(e.id, e.importance),\n\t\t\t\t\tnew Map(),\n\t\t\t\t);\n\t\t\t\trendered.sort((a, b) => (byImp.get(a.id) ?? 0) - (byImp.get(b.id) ?? 0));\n\t\t\t\twhile (total > view.budgetTokens && rendered.length > 0) {\n\t\t\t\t\ttotal -= cost(rendered.shift() as RenderedEntry<T>);\n\t\t\t\t}\n\t\t\t}\n\t\t\tactions.emit(rendered);\n\t\t},\n\t\t{ describeKind: \"derived\", meta: aiMeta(\"contextView\", { topic: pool._opts.topic }) },\n\t);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/base/meta/emit-to-meta.ts
|
|
2
|
+
import { DATA, defaultConfig, downWithBatch } from "@graphrefly/pure-ts/core";
|
|
3
|
+
function emitToMeta(metaNode, value) {
|
|
4
|
+
if (metaNode == null) return;
|
|
5
|
+
downWithBatch((msgs) => metaNode.down(msgs), [[DATA, value]], defaultConfig.tierOf);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
emitToMeta
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=chunk-KN3H5CNT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/base/meta/emit-to-meta.ts"],"sourcesContent":["/**\n * emitToMeta — forward DATA to a meta companion node via tier-3 deferral.\n *\n * Extracted from patterns/_internal/index.ts during cleave A2.\n */\n\nimport type { Node } from \"@graphrefly/pure-ts/core\";\nimport { DATA, defaultConfig, downWithBatch } from \"@graphrefly/pure-ts/core\";\n\n// emitToMeta\n// ---------------------------------------------------------------------------\n\n/**\n * Forward a single `[DATA, value]` to a meta companion node via tier-3\n * deferral, tolerating absent companions. Used by patterns that publish\n * per-wave statistics alongside their main output (cache-hit-rate,\n * segment-count, layout-time-ns, etc.) — subscribers see the parent's\n * DATA first because phase-2 completes before phase-3 during drain.\n *\n * // Expands to: `if (meta) downWithBatch(meta, [[Type, value]])` with null-guard.\n *\n * @internal\n */\nexport function emitToMeta<T>(metaNode: Node<T> | undefined, value: T): void {\n\tif (metaNode == null) return;\n\tdownWithBatch((msgs) => metaNode.down(msgs), [[DATA, value]], defaultConfig.tierOf);\n}\n\n// ---------------------------------------------------------------------------\n"],"mappings":";AAOA,SAAS,MAAM,eAAe,qBAAqB;AAgB5C,SAAS,WAAc,UAA+B,OAAgB;AAC5E,MAAI,YAAY,KAAM;AACtB,gBAAc,CAAC,SAAS,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,cAAc,MAAM;AACnF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-KPG3DGLA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-KRNQ6RGQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|