@graphrefly/graphrefly 0.42.0 → 0.44.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/dist/{cascading-CH-_VwG9.d.cts → cascading-BglDkMdX.d.cts} +2 -2
- package/dist/{cascading-OgKQZjsa.d.ts → cascading-MFgxu7Yo.d.ts} +2 -2
- package/dist/chunk-2T7U5EU6.js +1 -0
- package/dist/chunk-5M4CCMMD.js +45 -0
- package/dist/{chunk-YGL7FPVQ.js → chunk-5XJ6B66J.js} +1 -1
- package/dist/{chunk-NWXQIOIB.js → chunk-6X7AFUJV.js} +1 -1
- package/dist/chunk-7K6PWTDQ.js +1 -0
- package/dist/{chunk-D27JNOLZ.js → chunk-7LIAPXJB.js} +1 -1
- package/dist/{chunk-CLD3F4R5.js → chunk-7WPU3UHQ.js} +1 -1
- package/dist/{chunk-NNKJUORL.js → chunk-A5WCQ5NO.js} +1 -1
- package/dist/chunk-APPIWSGD.js +84 -0
- package/dist/{chunk-TZQPPQEQ.js → chunk-BEZWM2SY.js} +1 -1
- package/dist/{chunk-5QRRKBUT.js → chunk-CB676TKJ.js} +1 -1
- package/dist/{chunk-KT5DTRBP.js → chunk-CE6TI2TL.js} +1 -1
- package/dist/{chunk-6YFZMUMR.js → chunk-CLVB32RD.js} +1 -1
- package/dist/{chunk-2K5RXLAH.js → chunk-CRVT7D2P.js} +1 -1
- package/dist/chunk-D7GPHKFH.js +1 -0
- package/dist/{chunk-FUZ6S2DY.js → chunk-DHRX7JX4.js} +1 -1
- package/dist/chunk-FZMYDOWV.js +1 -0
- package/dist/{chunk-35JTVPOX.js → chunk-GHBWHMRZ.js} +1 -1
- package/dist/{chunk-KGKJCHEK.js → chunk-GLERH466.js} +1 -1
- package/dist/{chunk-CISGGAIF.js → chunk-HIDYF36O.js} +1 -1
- package/dist/chunk-HITNVN6B.js +3 -0
- package/dist/{chunk-7ARY3Y3T.js → chunk-HY4DJBA7.js} +1 -1
- package/dist/chunk-KZIEYVXN.js +1 -0
- package/dist/{chunk-IZM3UEH3.js → chunk-N4MQX6JU.js} +1 -1
- package/dist/{chunk-FDZAZNRO.js → chunk-N7FHEL4D.js} +1 -1
- package/dist/chunk-NTEURFZH.js +1 -0
- package/dist/{chunk-4QH6VJF4.js → chunk-OIVP6KFV.js} +1 -1
- package/dist/{chunk-KCACBSJH.js → chunk-OPHBU3LG.js} +1 -1
- package/dist/{chunk-Q7QQQA3I.js → chunk-OYQOZP2F.js} +1 -1
- package/dist/{chunk-7B7ELAT2.js → chunk-PTZK576G.js} +1 -1
- package/dist/{chunk-DEJTNNQC.js → chunk-ST7UXLWR.js} +1 -1
- package/dist/chunk-SVY7VUYU.js +1 -0
- package/dist/{chunk-WHMUB5QB.js → chunk-TK3NWWD4.js} +1 -1
- package/dist/chunk-UNGSTR4X.js +61 -0
- package/dist/{chunk-VRALOYRD.js → chunk-VV4N5P64.js} +1 -1
- package/dist/chunk-W3I423PS.js +1 -0
- package/dist/{chunk-HZKW2AAB.js → chunk-WJR24TAG.js} +1 -1
- package/dist/{chunk-F3IGTWCQ.js → chunk-XTGKMHSW.js} +1 -1
- package/dist/{chunk-LDQ3IUIP.js → chunk-YBB7ZGTY.js} +1 -1
- package/dist/{chunk-G5VBJ5K6.js → chunk-Z4NPUARF.js} +1 -1
- package/dist/{chunk-KRH66M4O.js → chunk-ZGNQRPDT.js} +1 -1
- package/dist/{chunk-AGNM6RS6.js → chunk-ZKPSFFKU.js} +1 -1
- package/dist/{chunk-KY2LMAXU.js → chunk-ZLV5SQSX.js} +1 -1
- package/dist/compat/index.cjs +5 -5
- package/dist/compat/index.d.cts +16 -16
- package/dist/compat/index.d.ts +16 -16
- package/dist/compat/index.js +1 -1
- package/dist/compat/jotai/index.cjs +1 -1
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/jotai/index.js +1 -1
- package/dist/compat/nanostores/index.cjs +1 -1
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nanostores/index.js +1 -1
- package/dist/compat/nestjs/index.cjs +5 -5
- package/dist/compat/nestjs/index.d.cts +8 -8
- package/dist/compat/nestjs/index.d.ts +8 -8
- package/dist/compat/nestjs/index.js +1 -1
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/zustand/index.cjs +3 -3
- package/dist/compat/zustand/index.d.cts +4 -4
- package/dist/compat/zustand/index.d.ts +4 -4
- package/dist/compat/zustand/index.js +1 -1
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +3 -4
- package/dist/core/index.d.ts +3 -4
- package/dist/core/index.js +1 -1
- package/dist/{decay-CdEBmDIs.d.ts → decay-BvOWTZ00.d.ts} +2 -2
- package/dist/{decay-2ZukgQ4o.d.cts → decay-CFlLvXUT.d.cts} +2 -2
- package/dist/extra/browser.cjs +1 -1
- package/dist/extra/browser.d.cts +1 -1
- package/dist/extra/browser.d.ts +1 -1
- package/dist/extra/browser.js +1 -1
- package/dist/extra/index.cjs +15 -15
- package/dist/extra/index.d.cts +10 -10
- package/dist/extra/index.d.ts +10 -10
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +2 -2
- package/dist/extra/node.d.cts +1 -1
- package/dist/extra/node.d.ts +1 -1
- package/dist/extra/node.js +1 -1
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +9 -1
- package/dist/extra/operators.d.ts +9 -1
- package/dist/extra/operators.js +1 -1
- package/dist/extra/reactive.cjs +1 -1
- package/dist/extra/reactive.d.cts +3 -3
- package/dist/extra/reactive.d.ts +3 -3
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/render/index.d.cts +3 -3
- package/dist/extra/render/index.d.ts +3 -3
- package/dist/extra/sources.cjs +3 -3
- package/dist/extra/sources.d.cts +1 -1
- package/dist/extra/sources.d.ts +1 -1
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.cjs +1 -1
- package/dist/extra/storage-browser.d.cts +1 -1
- package/dist/extra/storage-browser.d.ts +1 -1
- package/dist/extra/storage-browser.js +1 -1
- package/dist/{fallback-Ctlj2tMY.d.cts → fallback-74oxi34l.d.cts} +1 -1
- package/dist/{fallback-CqYVLL6X.d.ts → fallback-DUyyBTBK.d.ts} +1 -1
- package/dist/graph/index.cjs +7 -7
- package/dist/graph/index.d.cts +5 -5
- package/dist/graph/index.d.ts +5 -5
- package/dist/graph/index.js +1 -1
- package/dist/{graph-C4SHb3Ly.d.cts → graph-CWvEUQAq.d.cts} +196 -3
- package/dist/{graph-7VguS7a4.d.ts → graph-D9LFnda9.d.ts} +196 -3
- package/dist/{index-LIpQQE9f.d.cts → index-5k1T6jl0.d.cts} +9 -9
- package/dist/{index-CPNSy-U0.d.cts → index-9770hRuQ.d.cts} +23 -4
- package/dist/{index-CEMx8n40.d.cts → index-B-_tFaqV.d.cts} +4 -4
- package/dist/{index-2B7u2pVn.d.cts → index-B17QddL1.d.cts} +4 -4
- package/dist/{index-B-i4_g3k.d.ts → index-B1F8Enjf.d.ts} +61 -8
- package/dist/{index-DBevwHj_.d.ts → index-B5S8ULbU.d.ts} +3 -3
- package/dist/{index-Dgs8zcj7.d.ts → index-B8YnZpIR.d.ts} +2 -2
- package/dist/{index-B3OTH1dV.d.ts → index-BHskSB8v.d.ts} +28 -17
- package/dist/{index-sl4NyzQx.d.cts → index-BIYAkbAi.d.cts} +1 -1
- package/dist/{index-C9kSENB4.d.cts → index-BQSKmbuG.d.cts} +1 -1
- package/dist/{index-tJoTcnHh.d.cts → index-BaQaY_IQ.d.cts} +2 -2
- package/dist/{index-CJK1JkYy.d.ts → index-BmZXHqkE.d.ts} +1 -1
- package/dist/{index-pT8sCpOJ.d.ts → index-BoJ5JHxI.d.ts} +12 -3
- package/dist/{index-BeT2r7sk.d.ts → index-BocU7pqs.d.ts} +23 -4
- package/dist/{index-ChOyVLKm.d.cts → index-BrPrLl4e.d.cts} +1 -1
- package/dist/{index-D-Xs74HZ.d.cts → index-BxNs2HB9.d.cts} +33 -9
- package/dist/{index-Bf7eqeSF.d.ts → index-Byu-OpX_.d.ts} +2 -2
- package/dist/{index-BoLv_OfD.d.cts → index-C1T3d7V-.d.cts} +61 -8
- package/dist/{index-BTQtTb_H.d.cts → index-C5ri2Axc.d.cts} +3 -3
- package/dist/{index-z96luz5O.d.cts → index-C5stwKcw.d.cts} +1 -1
- package/dist/{index-CZmcDtFn.d.ts → index-C9l6OEBL.d.ts} +1 -1
- package/dist/{index-CCq87F7t.d.ts → index-CBBLl_rc.d.ts} +1 -1
- package/dist/{index-D6egPFAL.d.ts → index-CBGUK09R.d.ts} +4 -4
- package/dist/{index-C0-Jv1kP.d.cts → index-CC-AvFTy.d.cts} +12 -3
- package/dist/{index-DQo8xBgd.d.ts → index-CJF1URuX.d.ts} +9 -9
- package/dist/{index-BJX94aud.d.cts → index-CK29LV56.d.cts} +1 -1
- package/dist/{index-BP8a88zx.d.ts → index-CMh5Rz1y.d.ts} +4 -4
- package/dist/{index-CvrqGfNS.d.ts → index-CPQlGA29.d.ts} +1 -1
- package/dist/{index-Bbkgpt5t.d.ts → index-CR8QpwX8.d.ts} +49 -24
- package/dist/{index-Du7u1lSf.d.cts → index-CS0LTlB8.d.cts} +4 -4
- package/dist/{index-Bc41FuHp.d.cts → index-CSOmP7xT.d.cts} +2 -2
- package/dist/{index-BsT7F2et.d.ts → index-CYq8vAyV.d.ts} +2 -2
- package/dist/{index-Bn4zHYLj.d.ts → index-CZ3r5Rxp.d.ts} +4 -4
- package/dist/{index-HoU88d5U.d.cts → index-CasX6Pfq.d.cts} +68 -9
- package/dist/{index-BG0BN3PB.d.ts → index-CdAlHFEt.d.ts} +1 -1
- package/dist/{index-CpyNFqkB.d.ts → index-CdTelp1M.d.ts} +8 -4
- package/dist/{index-D8l8hNXn.d.ts → index-CeFiHtAg.d.ts} +4 -4
- package/dist/{index-DmAgG5CI.d.cts → index-Cj3WohTd.d.cts} +8 -4
- package/dist/{index-BtAsBp8K.d.cts → index-Climxqsu.d.cts} +4 -4
- package/dist/{index-CJIuLu2f.d.cts → index-Co7uli2l.d.cts} +28 -17
- package/dist/{index-DIOoAZUX.d.ts → index-CviRnE4K.d.ts} +1 -1
- package/dist/{index-Dhc7a7Xo.d.cts → index-Cwv0KWcU.d.cts} +2 -2
- package/dist/{index-Dn-wI9g4.d.ts → index-CzLVrjxn.d.ts} +2 -2
- package/dist/{index-DO9XxMzS.d.ts → index-D0aciIex.d.cts} +3 -18
- package/dist/{index-4Uz-e_fL.d.ts → index-DHen9Klo.d.ts} +33 -9
- package/dist/{index-3NmAfcH0.d.cts → index-DV_1YuVk.d.cts} +40 -8
- package/dist/{index-BdGtBX-X.d.cts → index-Dc4AYqrJ.d.cts} +3 -3
- package/dist/{index-Dmqp7KjD.d.ts → index-Dgl1HpPn.d.ts} +1 -1
- package/dist/{index-CJQm0g38.d.ts → index-DisjX8a-.d.ts} +40 -8
- package/dist/{index-B11anra4.d.cts → index-UPSiS-X7.d.cts} +49 -24
- package/dist/{index-DBIqYS43.d.cts → index-Yq60JP3s.d.ts} +3 -18
- package/dist/{index-f5IivDUX.d.cts → index-ZVQhLa2i.d.cts} +1 -1
- package/dist/{index-hHcaFlJX.d.cts → index-_6ODbuOu.d.cts} +1 -1
- package/dist/{index-BVpm6noz.d.cts → index-hcDJ8PSI.d.cts} +1 -1
- package/dist/{index-DBHK8O6H.d.ts → index-nozs3fFC.d.ts} +3 -3
- package/dist/{index-BUYXac2c.d.ts → index-p09KSrTN.d.ts} +68 -9
- package/dist/{index-C7O6r5fV.d.ts → index-sqkqlb1p.d.ts} +1 -1
- package/dist/{index-CZjOhcBy.d.cts → index-tRCxuAXF.d.cts} +2 -2
- package/dist/index.cjs +48 -48
- package/dist/index.d.cts +42 -43
- package/dist/index.d.ts +42 -43
- package/dist/index.js +1 -1
- package/dist/{node-ClS5yC-B.d.cts → node-kK3CvTrR.d.cts} +1 -1
- package/dist/{node-ClS5yC-B.d.ts → node-kK3CvTrR.d.ts} +1 -1
- package/dist/{observable-BsBzUrcI.d.ts → observable-DWjNfLvC.d.ts} +1 -1
- package/dist/{observable-DLGPPtb8.d.cts → observable-e3eiPPFy.d.cts} +1 -1
- package/dist/patterns/ai/browser.cjs +5 -5
- package/dist/patterns/ai/browser.d.cts +4 -4
- package/dist/patterns/ai/browser.d.ts +4 -4
- package/dist/patterns/ai/browser.js +1 -1
- package/dist/patterns/ai/index.cjs +16 -16
- package/dist/patterns/ai/index.d.cts +16 -17
- package/dist/patterns/ai/index.d.ts +16 -17
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +1 -1
- package/dist/patterns/ai/node.d.cts +4 -4
- package/dist/patterns/ai/node.d.ts +4 -4
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/cqrs/index.cjs +3 -3
- package/dist/patterns/cqrs/index.d.cts +6 -6
- package/dist/patterns/cqrs/index.d.ts +6 -6
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +5 -5
- package/dist/patterns/demo-shell/index.d.cts +5 -5
- package/dist/patterns/demo-shell/index.d.ts +5 -5
- package/dist/patterns/demo-shell/index.js +1 -1
- package/dist/patterns/domain-templates/index.cjs +3 -3
- package/dist/patterns/domain-templates/index.d.cts +4 -4
- package/dist/patterns/domain-templates/index.d.ts +4 -4
- package/dist/patterns/domain-templates/index.js +1 -1
- package/dist/patterns/graphspec/index.cjs +16 -16
- package/dist/patterns/graphspec/index.d.cts +5 -5
- package/dist/patterns/graphspec/index.d.ts +5 -5
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/harness/index.cjs +9 -9
- package/dist/patterns/harness/index.d.cts +10 -11
- package/dist/patterns/harness/index.d.ts +10 -11
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/inspect/index.cjs +3 -3
- package/dist/patterns/inspect/index.d.cts +7 -7
- package/dist/patterns/inspect/index.d.ts +7 -7
- package/dist/patterns/inspect/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +3 -3
- package/dist/patterns/job-queue/index.d.cts +6 -6
- package/dist/patterns/job-queue/index.d.ts +6 -6
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/memory/index.cjs +3 -3
- package/dist/patterns/memory/index.d.cts +6 -6
- package/dist/patterns/memory/index.d.ts +6 -6
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +3 -3
- package/dist/patterns/messaging/index.d.cts +5 -5
- package/dist/patterns/messaging/index.d.ts +5 -5
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +3 -3
- package/dist/patterns/orchestration/index.d.cts +6 -7
- package/dist/patterns/orchestration/index.d.ts +6 -7
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/process/index.cjs +3 -1
- package/dist/patterns/process/index.d.cts +7 -7
- package/dist/patterns/process/index.d.ts +7 -7
- package/dist/patterns/process/index.js +1 -1
- package/dist/patterns/reactive-layout/index.cjs +4 -4
- package/dist/patterns/reactive-layout/index.d.cts +5 -5
- package/dist/patterns/reactive-layout/index.d.ts +5 -5
- package/dist/patterns/reactive-layout/index.js +1 -1
- package/dist/patterns/reduction/index.cjs +3 -3
- package/dist/patterns/reduction/index.d.cts +4 -4
- package/dist/patterns/reduction/index.d.ts +4 -4
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/surface/index.cjs +10 -10
- package/dist/patterns/surface/index.d.cts +6 -6
- package/dist/patterns/surface/index.d.ts +6 -6
- package/dist/patterns/surface/index.js +1 -1
- package/dist/{pipeline-graph-WBlobVhU.d.cts → pipeline-graph-CIKhynsF.d.cts} +11 -6
- package/dist/{pipeline-graph-v8fMvqNk.d.ts → pipeline-graph-Sgj0gCwn.d.ts} +11 -6
- package/dist/{reactive-layout-v7KPvxoc.d.ts → reactive-layout-DOTs9P3X.d.ts} +2 -2
- package/dist/{reactive-layout-Dsvob4zD.d.cts → reactive-layout-DgctbqZo.d.cts} +2 -2
- package/dist/{reactive-log-BezYsbA_.d.ts → reactive-log-BKALbfal.d.ts} +1 -1
- package/dist/{reactive-log-B00laMSQ.d.cts → reactive-log-DIGdYqQ6.d.cts} +1 -1
- package/dist/{reactive-map-48mnZ-nu.d.cts → reactive-map-CEFGp8TK.d.cts} +1 -1
- package/dist/{reactive-map-BVVPdvmi.d.ts → reactive-map-DS_SIAxv.d.ts} +1 -1
- package/dist/resilience-6LYQJAC5.js +1 -0
- package/dist/sugar-DQjFmVqb.d.cts +399 -0
- package/dist/sugar-fhLIE7TT.d.ts +399 -0
- package/dist/{topology-tree-BSdfSwMi.d.cts → topology-tree-Bcz27hpF.d.cts} +1 -1
- package/dist/{topology-tree-BNGvuG82.d.ts → topology-tree-xvaD0fOX.d.ts} +1 -1
- package/dist/{types-B1jDWVsM.d.cts → types-C0_yquda.d.cts} +1 -1
- package/dist/{types-DkzUUs0H.d.ts → types-CWFysE9E.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ERTUW2J.js +0 -45
- package/dist/chunk-3K7HA4Y6.js +0 -1
- package/dist/chunk-3ZZX7M25.js +0 -1
- package/dist/chunk-4I45FVQS.js +0 -1
- package/dist/chunk-5ST42ESJ.js +0 -1
- package/dist/chunk-7VKFXLZQ.js +0 -84
- package/dist/chunk-ACMJ2ZPS.js +0 -3
- package/dist/chunk-AS3TV2TV.js +0 -1
- package/dist/chunk-LPRWATHB.js +0 -61
- package/dist/chunk-LYCLF26R.js +0 -1
- package/dist/chunk-VE5SIZEM.js +0 -1
- package/dist/chunk-XLQPNNIC.js +0 -1
- package/dist/meta-BgVAsg9j.d.ts +0 -102
- package/dist/meta-vE8bxW1E.d.cts +0 -102
- package/dist/resilience-445VFFXQ.js +0 -1
- package/dist/sugar-CH-2ZY90.d.ts +0 -203
- package/dist/sugar-DStZfUEK.d.cts +0 -203
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
1
|
+
import { N as Node } from './node-kK3CvTrR.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Backoff strategies for {@link retry} (roadmap §3.1). Delays are in **nanoseconds**.
|
|
@@ -227,8 +227,8 @@ type RetryFactoryOptions<T> = RetryOptions & {
|
|
|
227
227
|
*
|
|
228
228
|
* @category extra
|
|
229
229
|
*/
|
|
230
|
-
declare function retry<T>(input: Node<T>, opts?: RetryOptions): Node<T>;
|
|
231
|
-
declare function retry<T>(input: () => Node<T>, opts?: RetryFactoryOptions<T
|
|
230
|
+
declare function retry<T>(input: Node<T>, opts?: NodeOrValue<RetryOptions>): Node<T>;
|
|
231
|
+
declare function retry<T>(input: () => Node<T>, opts?: NodeOrValue<RetryFactoryOptions<T>>): Node<T>;
|
|
232
232
|
type CircuitState = "closed" | "open" | "half-open";
|
|
233
233
|
/**
|
|
234
234
|
* Thrown when {@link withBreaker} is configured with `onOpen: "error"` and the breaker rejects work.
|
|
@@ -275,6 +275,13 @@ interface CircuitBreaker {
|
|
|
275
275
|
readonly failureCount: number;
|
|
276
276
|
/** Manually reset to closed state, clearing all counters. */
|
|
277
277
|
reset(): void;
|
|
278
|
+
/**
|
|
279
|
+
* Release the reactive-options subscription (Tier 6.5 3.2.4, 2026-04-29).
|
|
280
|
+
* No-op when constructed with static options. Call when retiring a
|
|
281
|
+
* breaker whose options came from a `Node<CircuitBreakerOptions>` to
|
|
282
|
+
* avoid leaking the option-Node subscription.
|
|
283
|
+
*/
|
|
284
|
+
dispose(): void;
|
|
278
285
|
}
|
|
279
286
|
/**
|
|
280
287
|
* Factory for a synchronous circuit breaker with `closed`, `open`, and `half-open` states.
|
|
@@ -282,12 +289,24 @@ interface CircuitBreaker {
|
|
|
282
289
|
* Supports escalating cooldown via an optional {@link BackoffStrategy} — each consecutive
|
|
283
290
|
* open→half-open→open cycle increments the backoff attempt.
|
|
284
291
|
*
|
|
285
|
-
* @param options - Threshold, cooldown, half-open limit, and optional clock
|
|
292
|
+
* @param options - Threshold, cooldown, half-open limit, and optional clock
|
|
293
|
+
* override; OR a `Node<CircuitBreakerOptions>` carrying the same shape
|
|
294
|
+
* reactively (Tier 6.5 3.2.4).
|
|
286
295
|
* @returns {@link CircuitBreaker} instance.
|
|
287
296
|
*
|
|
288
297
|
* @remarks
|
|
289
298
|
* **Timing:** Uses `monotonicNs()` by default (nanoseconds). Override `now` for tests.
|
|
290
299
|
*
|
|
300
|
+
* **Reactive options (locked semantics, Tier 6.5 3.2.4, 2026-04-29).**
|
|
301
|
+
* When `options` is a `Node<CircuitBreakerOptions>`, the breaker
|
|
302
|
+
* subscribes at construction and re-reads `failureThreshold` /
|
|
303
|
+
* `cooldownNs` / `cooldown` / `halfOpenMax` / `now` on each DATA. **An
|
|
304
|
+
* option swap RESETS the breaker to `"closed"`** with all counters
|
|
305
|
+
* cleared — operators tuning a runaway breaker get a clean baseline.
|
|
306
|
+
* If retaining failure history across re-tunings matters, derive a new
|
|
307
|
+
* breaker per-tuning instead. Call `breaker.dispose()` when retiring to
|
|
308
|
+
* release the option-Node subscription.
|
|
309
|
+
*
|
|
291
310
|
* @example
|
|
292
311
|
* ```ts
|
|
293
312
|
* import { circuitBreaker, exponential, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
|
|
@@ -300,7 +319,7 @@ interface CircuitBreaker {
|
|
|
300
319
|
*
|
|
301
320
|
* @category extra
|
|
302
321
|
*/
|
|
303
|
-
declare function circuitBreaker(options?: CircuitBreakerOptions): CircuitBreaker;
|
|
322
|
+
declare function circuitBreaker(options?: NodeOrValue<CircuitBreakerOptions>): CircuitBreaker;
|
|
304
323
|
type WithBreakerBundle<T> = {
|
|
305
324
|
node: Node<T>;
|
|
306
325
|
breakerState: Node<CircuitState>;
|
|
@@ -525,7 +544,7 @@ type RateLimiterBundle<T> = {
|
|
|
525
544
|
*
|
|
526
545
|
* @category extra
|
|
527
546
|
*/
|
|
528
|
-
declare function rateLimiter<T>(source: Node<T>, opts: RateLimiterOptions): RateLimiterBundle<T>;
|
|
547
|
+
declare function rateLimiter<T>(source: Node<T>, opts: NodeOrValue<RateLimiterOptions>): RateLimiterBundle<T>;
|
|
529
548
|
type StatusValue = "pending" | "running" | "completed" | "errored";
|
|
530
549
|
type WithStatusBundle<T> = {
|
|
531
550
|
node: Node<T>;
|
|
@@ -557,6 +576,17 @@ type WithStatusBundle<T> = {
|
|
|
557
576
|
* appear as edges in `describe()` if no consumer subscribes to them (per
|
|
558
577
|
* COMPOSITION-GUIDE §1, push-on-subscribe semantics).
|
|
559
578
|
*
|
|
579
|
+
* **Per-subscribe lifecycle (DF8, 2026-04-29 doc lock).** When the wrapped
|
|
580
|
+
* source is `resubscribable: true` and multiple consumers attach in
|
|
581
|
+
* sequence, each new subscription cycle re-runs the producer fn AND
|
|
582
|
+
* re-emits the initial `pending` + `null` companion DATAs. Downstream
|
|
583
|
+
* subscribers to the `status` / `error` companions see thrash:
|
|
584
|
+
* `pending → running → completed → pending → running …`. This is the
|
|
585
|
+
* intended fresh-cycle semantic (each subscription cycle reports its own
|
|
586
|
+
* lifecycle); consumers that need a "stable" status across cycles should
|
|
587
|
+
* derive a snapshot via a separate `state()` mirror rather than depending
|
|
588
|
+
* on the per-cycle reset.
|
|
589
|
+
*
|
|
560
590
|
* @example
|
|
561
591
|
* ```ts
|
|
562
592
|
* import { withStatus, state } from "@graphrefly/graphrefly-ts";
|
|
@@ -583,6 +613,20 @@ declare class TimeoutError extends Error {
|
|
|
583
613
|
name: string;
|
|
584
614
|
constructor(ns: number);
|
|
585
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* Either a literal value or a reactive Node carrying it. Mirrors
|
|
618
|
+
* {@link FallbackInput}'s precedent for "options that may be reactive."
|
|
619
|
+
*
|
|
620
|
+
* Used by {@link timeout} / {@link retry} / {@link rateLimiter} /
|
|
621
|
+
* {@link circuitBreaker} / {@link budgetGate} to accept reactive option
|
|
622
|
+
* configurations (Tier 6.5 3.2, 2026-04-29). Each primitive subscribes
|
|
623
|
+
* to the option Node via {@link resolveReactiveOption} and rebinds
|
|
624
|
+
* internal state per its locked swap-semantic rule (see each primitive's
|
|
625
|
+
* JSDoc for the rule).
|
|
626
|
+
*
|
|
627
|
+
* @category extra
|
|
628
|
+
*/
|
|
629
|
+
type NodeOrValue<T> = T | Node<T>;
|
|
586
630
|
/** Inputs accepted by {@link fallback}. */
|
|
587
631
|
type FallbackInput<T> = T | Node<T> | PromiseLike<T> | AsyncIterable<T>;
|
|
588
632
|
/**
|
|
@@ -626,7 +670,9 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
626
670
|
* the timer. Terminal messages (`COMPLETE`/`ERROR`) cancel the timer.
|
|
627
671
|
*
|
|
628
672
|
* @param source - Upstream node.
|
|
629
|
-
* @param timeoutNs - Deadline in **nanoseconds** (must be > 0)
|
|
673
|
+
* @param timeoutNs - Deadline in **nanoseconds** (must be > 0), or a
|
|
674
|
+
* `Node<number>` carrying the deadline reactively (Tier 6.5 3.2.1).
|
|
675
|
+
* Internally converted to milliseconds for `setTimeout` scheduling.
|
|
630
676
|
* @returns Node that errors on timeout.
|
|
631
677
|
*
|
|
632
678
|
* @throws {RangeError} when `timeoutNs <= 0`.
|
|
@@ -634,6 +680,13 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
634
680
|
* @remarks
|
|
635
681
|
* **Scheduling:** internally uses {@link ResettableTimer} (raw `setTimeout`) per spec §5.10's resilience-operator carve-out. The deadline is `timeoutNs / NS_PER_MS` ms; sub-millisecond `timeoutNs` values get the same minimum-1ms host-scheduler granularity that `setTimeout` provides.
|
|
636
682
|
*
|
|
683
|
+
* **Reactive `timeoutNs` (locked semantics, Tier 6.5 3.2.1, 2026-04-29).**
|
|
684
|
+
* When `timeoutNs` is a `Node<number>`, each timer-(re)start reads the
|
|
685
|
+
* latest value. An option swap mid-flight applies to the **next** timer
|
|
686
|
+
* window (no in-flight reset) — the active timer keeps its original
|
|
687
|
+
* deadline; the next DATA-driven `startTimer()` call reads the new
|
|
688
|
+
* value. Static-form callers see no behavior change.
|
|
689
|
+
*
|
|
637
690
|
* @example
|
|
638
691
|
* ```ts
|
|
639
692
|
* import { timeout, never, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
|
|
@@ -644,7 +697,7 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
644
697
|
*
|
|
645
698
|
* @category extra
|
|
646
699
|
*/
|
|
647
|
-
declare function timeout<T>(source: Node<T>, timeoutNs: number
|
|
700
|
+
declare function timeout<T>(source: Node<T>, timeoutNs: NodeOrValue<number>, options?: {
|
|
648
701
|
meta?: Record<string, unknown>;
|
|
649
702
|
}): Node<T>;
|
|
650
703
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { M as MeasurementAdapter, P as PreparedSegment, L as LineBreaksResult, C as CharPosition, a as LayoutCursor, I as Interval, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from './reactive-layout-
|
|
2
|
-
import { N as Node } from './node-
|
|
3
|
-
import { G as Graph } from './graph-
|
|
1
|
+
import { M as MeasurementAdapter, P as PreparedSegment, L as LineBreaksResult, C as CharPosition, a as LayoutCursor, I as Interval, b as LayoutLine, c as LayoutNextLineContext, d as LayoutNextLineResult, R as ReactiveLayoutBundle, e as ReactiveLayoutOptions, S as SegmentBreakKind, f as SegmentMeasureStats, g as analyzeAndMeasure, h as carveTextLineSlots, i as computeCharPositions, j as computeLineBreaks, l as layoutNextLine, r as reactiveLayout } from './reactive-layout-DOTs9P3X.js';
|
|
2
|
+
import { N as Node } from './node-kK3CvTrR.js';
|
|
3
|
+
import { G as Graph } from './graph-D9LFnda9.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* MeasurementAdapter implementations (roadmap §7.1 — pluggable backends).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { G as Graph } from './graph-
|
|
2
|
-
import { M as MeasurementAdapter } from './reactive-layout-
|
|
1
|
+
import { G as Graph } from './graph-D9LFnda9.js';
|
|
2
|
+
import { M as MeasurementAdapter } from './reactive-layout-DOTs9P3X.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Three-pane demo shell (roadmap §7.2).
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { a as NodeOptions, N as Node,
|
|
2
|
-
import { i as GraphCheckpointRecord, a as GraphOptions, G as Graph, D as DescribeChangeset, d as DescribeEvent, M as Meta, Q as topologyDiff } from './graph-
|
|
3
|
-
import { a as BackoffStrategy, B as BackoffPreset, t as retry, j as WithStatusBundle, C as CircuitBreaker, b as CircuitBreakerOptions, c as CircuitOpenError, d as CircuitState, E as ExponentialBackoffOptions, F as FallbackInput, J as JitterMode, N as NS_PER_MS, e as NS_PER_SEC, R as RateLimiterOptions, f as RateLimiterOverflowError, g as RateLimiterOverflowPolicy, h as RetryOptions, S as StatusValue, T as TimeoutError, i as TokenBucket, W as WithBreakerBundle, k as circuitBreaker, l as constant, m as decorrelatedJitter, n as exponential, o as fallback, p as fibonacci, q as linear, r as rateLimiter, s as resolveBackoffPreset, u as timeout, v as tokenBucket, w as withBreaker, x as withMaxAttempts, y as withStatus } from './index-
|
|
1
|
+
import { a as NodeOptions, N as Node, r as Message, M as Messages } from './node-kK3CvTrR.js';
|
|
2
|
+
import { i as GraphCheckpointRecord, a as GraphOptions, G as Graph, D as DescribeChangeset, d as DescribeEvent, M as Meta, Q as topologyDiff } from './graph-D9LFnda9.js';
|
|
3
|
+
import { a as BackoffStrategy, B as BackoffPreset, t as retry, j as WithStatusBundle, C as CircuitBreaker, b as CircuitBreakerOptions, c as CircuitOpenError, d as CircuitState, E as ExponentialBackoffOptions, F as FallbackInput, J as JitterMode, N as NS_PER_MS, e as NS_PER_SEC, R as RateLimiterOptions, f as RateLimiterOverflowError, g as RateLimiterOverflowPolicy, h as RetryOptions, S as StatusValue, T as TimeoutError, i as TokenBucket, W as WithBreakerBundle, k as circuitBreaker, l as constant, m as decorrelatedJitter, n as exponential, o as fallback, p as fibonacci, q as linear, r as rateLimiter, s as resolveBackoffPreset, u as timeout, v as tokenBucket, w as withBreaker, x as withMaxAttempts, y as withStatus } from './index-B1F8Enjf.js';
|
|
4
4
|
import { AsyncSourceOpts, NodeInput, EventTargetLike, FromCronOptions, ReactiveCounterBundle, awaitSettled, cached, defer, empty, escapeRegexChar, firstValueFrom, firstWhere, forEach, fromAny, fromAsyncIter, fromCron, fromEvent, fromIter, fromPromise, fromRaf, fromTimer, globToRegExp, keepalive, matchesAnyPattern, never, nodeSignal, of, reactiveCounter, replay, share, shareReplay, throwError, toArray } from './extra/sources.js';
|
|
5
5
|
import { SnapshotStorageTier, KvStorageTier, AppendCursor, AppendLoadResult, AppendLogStorageOptions, AppendLogStorageTier, BaseStorageTier, Codec, KvStorageOptions, SnapshotStorageOptions, StorageBackend, appendLogStorage, dictKv, dictSnapshot, jsonCodec, jsonCodecFor, kvStorage, memoryAppendLog, memoryBackend, memoryKv, memorySnapshot, snapshotStorage } from './extra/storage-tiers.js';
|
|
6
|
-
import { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as decay, e as distill, v as verifiable } from './decay-
|
|
6
|
+
import { D as DistillBundle, a as DistillOptions, E as Extraction, V as VerifiableBundle, b as VerifiableOptions, c as VerifyValue, d as decay, e as distill, v as verifiable } from './decay-BvOWTZ00.js';
|
|
7
7
|
import { C as ContentAddressedMissError, a as ContentAddressedMode, b as ContentAddressedStorage, c as ContentAddressedStorageOptions, d as canonicalJson, e as contentAddressedStorage } from './content-addressed-storage-DuYMjV7o.js';
|
|
8
|
-
import { A as AuditLogOpts, B as BaseAuditRecord, D as DEFAULT_AUDIT_GUARD, F as FailureMeta, L as LightMutationOpts, M as MutationOpts, S as SuccessMeta, W as WrapMutationOpts, a as appendAudit, b as bumpCursor, c as createAuditLog, l as lightMutation, r as registerCursor, d as registerCursorMap, t as tryIncrementBounded, w as wrapMutation } from './index-
|
|
9
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
8
|
+
import { A as AuditLogOpts, B as BaseAuditRecord, D as DEFAULT_AUDIT_GUARD, F as FailureMeta, L as LightMutationOpts, M as MutationOpts, S as SuccessMeta, W as WrapMutationOpts, a as appendAudit, b as bumpCursor, c as createAuditLog, l as lightMutation, r as registerCursor, d as registerCursorMap, t as tryIncrementBounded, w as wrapMutation } from './index-Yq60JP3s.js';
|
|
9
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-DWjNfLvC.js';
|
|
10
10
|
import { MergeMapOptions, TapObserver, ThrottleOptions, audit, buffer, bufferCount, bufferTime, catchError, combine, combineLatest, concat, concatMap, debounce, debounceTime, delay, distinctUntilChanged, elementAt, exhaustMap, filter, find, first, flatMap, interval, last, map, merge, mergeMap, onFirstData, pairwise, pausable, race, reduce, repeat, rescue, sample, scan, skip, switchMap, take, takeUntil, takeWhile, tap, tapFirst, throttle, throttleTime, valve, window, windowCount, windowTime, withLatestFrom, zip } from './extra/operators.js';
|
|
11
11
|
import { IndexBackend, IndexRow, ListBackend, NativeIndexBackend, NativeListBackend, ReactiveIndexBundle, ReactiveIndexOptions, ReactiveListBundle, ReactiveListOptions, UpsertOptions, reactiveIndex, reactiveList } from './extra/reactive.js';
|
|
12
|
-
import { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, a as ReactiveLogBundle, R as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from './reactive-log-
|
|
13
|
-
import { M as MapBackend, N as NativeMapBackend, a as NativeMapBackendOptions, R as ReactiveMapBundle, b as ReactiveMapOptions, c as ReactiveMapRetention, r as reactiveMap } from './reactive-map-
|
|
12
|
+
import { L as LogBackend, M as MergedReactiveLog, N as NativeLogBackend, a as ReactiveLogBundle, R as ReactiveLogOptions, V as ViewSpec, m as mergeReactiveLogs, r as reactiveLog } from './reactive-log-BKALbfal.js';
|
|
13
|
+
import { M as MapBackend, N as NativeMapBackend, a as NativeMapBackendOptions, R as ReactiveMapBundle, b as ReactiveMapOptions, c as ReactiveMapRetention, r as reactiveMap } from './reactive-map-DS_SIAxv.js';
|
|
14
14
|
import { StorageHandle, sortJsonValue, stableJsonString } from './extra/storage-core.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -418,15 +418,26 @@ type BudgetGateOptions = Omit<NodeOptions<unknown>, "describeKind" | "name" | "m
|
|
|
418
418
|
* compositor level (e.g. annotate via `meta.ai.upstream`, or wrap the gate
|
|
419
419
|
* in a parent factory that exposes the deps as constructor args).
|
|
420
420
|
*
|
|
421
|
-
* ## Reference equality
|
|
422
|
-
*
|
|
423
|
-
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
429
|
-
*
|
|
421
|
+
* ## Reference equality + Tier 6.5 3.2.5 locked semantics
|
|
422
|
+
*
|
|
423
|
+
* **Constraint VALUES are reactive.** Each `BudgetConstraint.node` is
|
|
424
|
+
* subscribed at activation; per-value changes flip the gate (re-evaluate
|
|
425
|
+
* in the same wave) and trigger PAUSE/RESUME upstream. Per the locked
|
|
426
|
+
* semantic rule for the reactive-options-widening batch (Tier 6.5 3.2.5,
|
|
427
|
+
* 2026-04-29): "constraints array re-evaluated immediately against
|
|
428
|
+
* current source; adding/removing constraints triggers gate
|
|
429
|
+
* re-evaluation in the same wave" — the per-value half is shipped via
|
|
430
|
+
* the existing constraint-Node subscription model.
|
|
431
|
+
*
|
|
432
|
+
* **The constraints ARRAY shape is static.** The factory captures the
|
|
433
|
+
* `constraints` array reference and each `check` function at
|
|
434
|
+
* construction; it does NOT diff subsequent arrays. To add or remove
|
|
435
|
+
* constraints reactively, build the swap at the compositor level (a
|
|
436
|
+
* `switchMap` rebuild over a constraint-shape Node), or construct a new
|
|
437
|
+
* gate. Dynamic constraint-array reactivity is intentionally deferred —
|
|
438
|
+
* the subscription churn (resub on every constraint add/remove) and
|
|
439
|
+
* `latestValues` shape mutation overshoot the budget-gate's
|
|
440
|
+
* fire-and-forget ergonomics.
|
|
430
441
|
*
|
|
431
442
|
* @param source - Input node.
|
|
432
443
|
* @param constraints - Reactive constraint checks. MUST be non-empty.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-
|
|
1
|
+
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-CIKhynsF.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Orchestration patterns (roadmap §4.1).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
2
|
-
import { a as GraphOptions, G as Graph } from './graph-
|
|
1
|
+
import { N as Node } from './node-kK3CvTrR.cjs';
|
|
2
|
+
import { a as GraphOptions, G as Graph } from './graph-CWvEUQAq.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Domain templates (roadmap §8.2).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as GraphPersistSnapshot, i as GraphCheckpointRecord, G as Graph, C as CausalChain, c as CausalStep, e as DescribeFilter, E as ExplainPathOptions, f as GRAPH_META_SEGMENT, g as GraphActorOptions, h as GraphAttachStorageOptions, j as GraphDescribeOptions, b as GraphDescribeOutput, k as GraphDiagramDirection, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, s as GraphProfileOptions, t as GraphProfileResult, u as GraphVersionChange, v as GraphWALDiff, N as NodeProfile, O as ObserveChangeset, w as ObserveDetail, x as ObserveEvent, y as ObserveOptions, z as ObserveResult, A as ObserveTheme, B as ObserveThemeName, F as ObserveTier, R as ReachableDirection, H as ReachableOptions, S as SNAPSHOT_VERSION, T as TopologyEvent, I as TraceEntry, J as diffForWAL, K as explainPath, L as graphProfile, P as reachable } from './graph-
|
|
3
|
-
import { w as watchTopologyTree } from './topology-tree-
|
|
1
|
+
import { l as GraphReFlyConfig } from './node-kK3CvTrR.js';
|
|
2
|
+
import { r as GraphPersistSnapshot, i as GraphCheckpointRecord, G as Graph, C as CausalChain, c as CausalStep, e as DescribeFilter, E as ExplainPathOptions, f as GRAPH_META_SEGMENT, g as GraphActorOptions, h as GraphAttachStorageOptions, j as GraphDescribeOptions, b as GraphDescribeOutput, k as GraphDiagramDirection, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, s as GraphProfileOptions, t as GraphProfileResult, u as GraphVersionChange, v as GraphWALDiff, N as NodeProfile, O as ObserveChangeset, w as ObserveDetail, x as ObserveEvent, y as ObserveOptions, z as ObserveResult, A as ObserveTheme, B as ObserveThemeName, F as ObserveTier, R as ReachableDirection, H as ReachableOptions, S as SNAPSHOT_VERSION, T as TopologyEvent, I as TraceEntry, J as diffForWAL, K as explainPath, L as graphProfile, P as reachable } from './graph-D9LFnda9.js';
|
|
3
|
+
import { w as watchTopologyTree } from './topology-tree-xvaD0fOX.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Approximate in-memory size estimation for arbitrary JS values.
|
|
@@ -287,6 +287,15 @@ declare function replayWAL(entries: readonly WALEntry[]): GraphPersistSnapshot;
|
|
|
287
287
|
* consumers are part of the design. If you have known external-consumer
|
|
288
288
|
* roots, filter them from `result.orphans` before deciding what to act on.
|
|
289
289
|
*
|
|
290
|
+
* **Synthetic `__internal__/` paths (EH-9).** Compound factories sometimes
|
|
291
|
+
* surface unnamed helper nodes under the `__internal__/` namespace
|
|
292
|
+
* (auto-generated when a producer / derived is added without a `name` and
|
|
293
|
+
* the registrar falls back to a synthetic prefix). These never represent
|
|
294
|
+
* user-authored topology and should not surface as actionable orphans;
|
|
295
|
+
* `validateNoIslands` filters them out before reporting. If a real factory
|
|
296
|
+
* regression accidentally leaks a user-meaningful node under this prefix,
|
|
297
|
+
* the fix is to give the node a real name — not to remove the filter.
|
|
298
|
+
*
|
|
290
299
|
* **Non-throwing by default.** Returns a structured result so callers
|
|
291
300
|
* (dry-run blocks, CI smoke tests) can exit non-zero with a diagnostic
|
|
292
301
|
* instead of crashing.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A as Actor, N as Node, W as PolicyRuleData,
|
|
2
|
-
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot, b as GraphDescribeOutput, j as GraphDescribeOptions, C as CausalChain, e as DescribeFilter } from './graph-
|
|
3
|
-
import { T as TopicGraph } from './index-
|
|
4
|
-
import { w as watchTopologyTree } from './topology-tree-
|
|
1
|
+
import { A as Actor, N as Node, W as PolicyRuleData, m as GuardAction } from './node-kK3CvTrR.js';
|
|
2
|
+
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot, b as GraphDescribeOutput, j as GraphDescribeOptions, C as CausalChain, e as DescribeFilter } from './graph-D9LFnda9.js';
|
|
3
|
+
import { T as TopicGraph } from './index-nozs3fFC.js';
|
|
4
|
+
import { w as watchTopologyTree } from './topology-tree-xvaD0fOX.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Audit, policy enforcement, and compliance export (roadmap §9.2).
|
|
@@ -58,6 +58,25 @@ interface AuditTrailOptions {
|
|
|
58
58
|
declare class AuditTrailGraph extends Graph {
|
|
59
59
|
readonly entries: Node<readonly AuditEntry[]>;
|
|
60
60
|
readonly count: Node<number>;
|
|
61
|
+
/**
|
|
62
|
+
* Effective set of event types this trail records (EH-18). Reflects
|
|
63
|
+
* either the caller-supplied `opts.includeTypes` or the default set
|
|
64
|
+
* (`["data", "error", "complete", "teardown"]`). Captured at construction
|
|
65
|
+
* — each instance owns its own clone, so a default-using trail can never
|
|
66
|
+
* leak mutations into the module-level default set.
|
|
67
|
+
*
|
|
68
|
+
* **Mutation contract.** Type-system read-only via `ReadonlySet`. Runtime
|
|
69
|
+
* mutation through an unsafe cast (`(audit.includeTypes as Set<...>)
|
|
70
|
+
* .add(...)`) is unsupported — it would desync the field from the
|
|
71
|
+
* recording closure, which captured the original `Set` reference at
|
|
72
|
+
* construction. The runtime does NOT enforce immutability beyond the
|
|
73
|
+
* type contract; consumers must respect it.
|
|
74
|
+
*
|
|
75
|
+
* Use this to validate that a `complianceSnapshot.fingerprint` was
|
|
76
|
+
* computed against the same recording surface — fingerprints are stable
|
|
77
|
+
* only when the recording set is identical across snapshots.
|
|
78
|
+
*/
|
|
79
|
+
readonly includeTypes: ReadonlySet<AuditEntry["type"]>;
|
|
61
80
|
private readonly _log;
|
|
62
81
|
private readonly _target;
|
|
63
82
|
constructor(target: Graph, opts: AuditTrailOptions);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { NodeInput } from './extra/sources.cjs';
|
|
2
|
-
import { N as Node } from './node-
|
|
3
|
-
import { L as LLMAdapter } from './types-
|
|
4
|
-
import { J as JobEnvelope, a as JobFlowGraph, b as JobQueueGraph } from './index-
|
|
5
|
-
import { T as TopicGraph, M as MessagingHubGraph } from './index-
|
|
6
|
-
import { a as GraphOptions, G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-
|
|
7
|
-
import { G as GateController } from './pipeline-graph-
|
|
2
|
+
import { N as Node } from './node-kK3CvTrR.cjs';
|
|
3
|
+
import { L as LLMAdapter } from './types-C0_yquda.cjs';
|
|
4
|
+
import { J as JobEnvelope, a as JobFlowGraph, b as JobQueueGraph } from './index-DV_1YuVk.cjs';
|
|
5
|
+
import { T as TopicGraph, M as MessagingHubGraph } from './index-C5ri2Axc.cjs';
|
|
6
|
+
import { a as GraphOptions, G as Graph, t as GraphProfileResult, s as GraphProfileOptions } from './graph-CWvEUQAq.cjs';
|
|
7
|
+
import { G as GateController } from './pipeline-graph-CIKhynsF.cjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Strategy model and priority scoring (roadmap §9.0).
|
|
@@ -153,6 +153,16 @@ interface IntakeItem {
|
|
|
153
153
|
affectsAreas: string[];
|
|
154
154
|
affectsEvalTasks?: string[];
|
|
155
155
|
severity?: Severity;
|
|
156
|
+
/**
|
|
157
|
+
* Stable identity carrier for retry / reingestion paths. Per qa D1
|
|
158
|
+
* (2026-04-29), `relatedTo[0]` MUST be the original tracking key for
|
|
159
|
+
* items derived from a prior publish so the harness's `routeJobIds`
|
|
160
|
+
* map preserves identity across decorated retry summaries. First-time
|
|
161
|
+
* publishes leave this `undefined`; the tracking key falls back to
|
|
162
|
+
* `summary`. Two first-time publishes with identical `summary` collide
|
|
163
|
+
* on key — see `trackingKey` JSDoc in `patterns/_internal/index.ts`
|
|
164
|
+
* for the uniqueness caller contract.
|
|
165
|
+
*/
|
|
156
166
|
relatedTo?: string[];
|
|
157
167
|
/** Item-carried reingestion count. Incremented on each full-loop reingestion. */
|
|
158
168
|
$reingestions?: number;
|
|
@@ -325,7 +335,9 @@ interface HarnessJobPayload<A = unknown> {
|
|
|
325
335
|
* wrapper. `refineExecutor` builds a per-claim `refineLoop`.
|
|
326
336
|
* `actuatorExecutor` runs a side-effecting `apply(item, signal)`.
|
|
327
337
|
*/
|
|
328
|
-
type HarnessExecutor<A = unknown> = (job: JobEnvelope<HarnessJobPayload<A
|
|
338
|
+
type HarnessExecutor<A = unknown> = (job: JobEnvelope<HarnessJobPayload<A>>, opts?: {
|
|
339
|
+
signal: AbortSignal;
|
|
340
|
+
}) => NodeInput<HarnessJobPayload<A>>;
|
|
329
341
|
/**
|
|
330
342
|
* Pluggable VERIFY work fn — receives a {@link JobEnvelope} whose payload
|
|
331
343
|
* has `item` + `execution` populated, returns a {@link NodeInput} that
|
|
@@ -342,7 +354,9 @@ type HarnessExecutor<A = unknown> = (job: JobEnvelope<HarnessJobPayload<A>>) =>
|
|
|
342
354
|
* verified: false, findings: [...], errorClass: "structural" }`) so the
|
|
343
355
|
* dispatch effect can route the item rather than silently drop it.
|
|
344
356
|
*/
|
|
345
|
-
type HarnessVerifier<A = unknown> = (job: JobEnvelope<HarnessJobPayload<A
|
|
357
|
+
type HarnessVerifier<A = unknown> = (job: JobEnvelope<HarnessJobPayload<A>>, opts?: {
|
|
358
|
+
signal: AbortSignal;
|
|
359
|
+
}) => NodeInput<HarnessJobPayload<A>>;
|
|
346
360
|
/** Triage prompt callable shape — pair of `[intake item, strategy snapshot]`. */
|
|
347
361
|
type TriagePromptFn = (pair: readonly [IntakeItem, StrategySnapshot]) => string;
|
|
348
362
|
/** Execute prompt callable shape. */
|
|
@@ -1478,7 +1492,17 @@ declare class HarnessGraph<A = unknown> extends Graph {
|
|
|
1478
1492
|
* in to priority scoring.
|
|
1479
1493
|
*/
|
|
1480
1494
|
readonly priorityScores?: ReadonlyMap<QueueRoute, Node<number>>;
|
|
1481
|
-
|
|
1495
|
+
/**
|
|
1496
|
+
* REFLECT-stage tick marker — emits one DATA per terminal verdict observed
|
|
1497
|
+
* on `executeFlow.completed`. `equals: () => false` so each completion
|
|
1498
|
+
* produces an observable tick (no Object.is collapse on identical
|
|
1499
|
+
* `null` payloads). Inspection tools (`harnessTrace`, dashboards) can
|
|
1500
|
+
* subscribe directly here instead of resolving by string path
|
|
1501
|
+
* (`harness.node("reflect")`) — the field is the lock against rename
|
|
1502
|
+
* drift.
|
|
1503
|
+
*/
|
|
1504
|
+
readonly reflect: Node<null>;
|
|
1505
|
+
constructor(name: string, queues: MessagingHubGraph, executeFlow: JobFlowGraph<HarnessJobPayload<A>>, queueTopics: Map<QueueRoute, TopicGraph<TriagedItem>>, jobs: Map<QueueRoute, JobQueueGraph<TriagedItem>>, gates: Map<QueueRoute, GateController<TriagedItem>>, strategy: StrategyModelBundle, totalRetries: Node<number>, totalReingestions: Node<number>, reflect: Node<null>, priorityScores?: Map<QueueRoute, Node<number>>);
|
|
1482
1506
|
/** Intake topic — publish items here to enter the loop. */
|
|
1483
1507
|
get intake(): TopicGraph<IntakeItem>;
|
|
1484
1508
|
/** Verify results topic — subscribe to see verification outcomes. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as Node, a as NodeOptions } from './node-
|
|
2
|
-
import { a as GraphOptions, G as Graph } from './graph-
|
|
1
|
+
import { N as Node, a as NodeOptions } from './node-kK3CvTrR.js';
|
|
2
|
+
import { a as GraphOptions, G as Graph } from './graph-D9LFnda9.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Reduction primitives (roadmap §8.1).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
1
|
+
import { N as Node } from './node-kK3CvTrR.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Backoff strategies for {@link retry} (roadmap §3.1). Delays are in **nanoseconds**.
|
|
@@ -227,8 +227,8 @@ type RetryFactoryOptions<T> = RetryOptions & {
|
|
|
227
227
|
*
|
|
228
228
|
* @category extra
|
|
229
229
|
*/
|
|
230
|
-
declare function retry<T>(input: Node<T>, opts?: RetryOptions): Node<T>;
|
|
231
|
-
declare function retry<T>(input: () => Node<T>, opts?: RetryFactoryOptions<T
|
|
230
|
+
declare function retry<T>(input: Node<T>, opts?: NodeOrValue<RetryOptions>): Node<T>;
|
|
231
|
+
declare function retry<T>(input: () => Node<T>, opts?: NodeOrValue<RetryFactoryOptions<T>>): Node<T>;
|
|
232
232
|
type CircuitState = "closed" | "open" | "half-open";
|
|
233
233
|
/**
|
|
234
234
|
* Thrown when {@link withBreaker} is configured with `onOpen: "error"` and the breaker rejects work.
|
|
@@ -275,6 +275,13 @@ interface CircuitBreaker {
|
|
|
275
275
|
readonly failureCount: number;
|
|
276
276
|
/** Manually reset to closed state, clearing all counters. */
|
|
277
277
|
reset(): void;
|
|
278
|
+
/**
|
|
279
|
+
* Release the reactive-options subscription (Tier 6.5 3.2.4, 2026-04-29).
|
|
280
|
+
* No-op when constructed with static options. Call when retiring a
|
|
281
|
+
* breaker whose options came from a `Node<CircuitBreakerOptions>` to
|
|
282
|
+
* avoid leaking the option-Node subscription.
|
|
283
|
+
*/
|
|
284
|
+
dispose(): void;
|
|
278
285
|
}
|
|
279
286
|
/**
|
|
280
287
|
* Factory for a synchronous circuit breaker with `closed`, `open`, and `half-open` states.
|
|
@@ -282,12 +289,24 @@ interface CircuitBreaker {
|
|
|
282
289
|
* Supports escalating cooldown via an optional {@link BackoffStrategy} — each consecutive
|
|
283
290
|
* open→half-open→open cycle increments the backoff attempt.
|
|
284
291
|
*
|
|
285
|
-
* @param options - Threshold, cooldown, half-open limit, and optional clock
|
|
292
|
+
* @param options - Threshold, cooldown, half-open limit, and optional clock
|
|
293
|
+
* override; OR a `Node<CircuitBreakerOptions>` carrying the same shape
|
|
294
|
+
* reactively (Tier 6.5 3.2.4).
|
|
286
295
|
* @returns {@link CircuitBreaker} instance.
|
|
287
296
|
*
|
|
288
297
|
* @remarks
|
|
289
298
|
* **Timing:** Uses `monotonicNs()` by default (nanoseconds). Override `now` for tests.
|
|
290
299
|
*
|
|
300
|
+
* **Reactive options (locked semantics, Tier 6.5 3.2.4, 2026-04-29).**
|
|
301
|
+
* When `options` is a `Node<CircuitBreakerOptions>`, the breaker
|
|
302
|
+
* subscribes at construction and re-reads `failureThreshold` /
|
|
303
|
+
* `cooldownNs` / `cooldown` / `halfOpenMax` / `now` on each DATA. **An
|
|
304
|
+
* option swap RESETS the breaker to `"closed"`** with all counters
|
|
305
|
+
* cleared — operators tuning a runaway breaker get a clean baseline.
|
|
306
|
+
* If retaining failure history across re-tunings matters, derive a new
|
|
307
|
+
* breaker per-tuning instead. Call `breaker.dispose()` when retiring to
|
|
308
|
+
* release the option-Node subscription.
|
|
309
|
+
*
|
|
291
310
|
* @example
|
|
292
311
|
* ```ts
|
|
293
312
|
* import { circuitBreaker, exponential, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
|
|
@@ -300,7 +319,7 @@ interface CircuitBreaker {
|
|
|
300
319
|
*
|
|
301
320
|
* @category extra
|
|
302
321
|
*/
|
|
303
|
-
declare function circuitBreaker(options?: CircuitBreakerOptions): CircuitBreaker;
|
|
322
|
+
declare function circuitBreaker(options?: NodeOrValue<CircuitBreakerOptions>): CircuitBreaker;
|
|
304
323
|
type WithBreakerBundle<T> = {
|
|
305
324
|
node: Node<T>;
|
|
306
325
|
breakerState: Node<CircuitState>;
|
|
@@ -525,7 +544,7 @@ type RateLimiterBundle<T> = {
|
|
|
525
544
|
*
|
|
526
545
|
* @category extra
|
|
527
546
|
*/
|
|
528
|
-
declare function rateLimiter<T>(source: Node<T>, opts: RateLimiterOptions): RateLimiterBundle<T>;
|
|
547
|
+
declare function rateLimiter<T>(source: Node<T>, opts: NodeOrValue<RateLimiterOptions>): RateLimiterBundle<T>;
|
|
529
548
|
type StatusValue = "pending" | "running" | "completed" | "errored";
|
|
530
549
|
type WithStatusBundle<T> = {
|
|
531
550
|
node: Node<T>;
|
|
@@ -557,6 +576,17 @@ type WithStatusBundle<T> = {
|
|
|
557
576
|
* appear as edges in `describe()` if no consumer subscribes to them (per
|
|
558
577
|
* COMPOSITION-GUIDE §1, push-on-subscribe semantics).
|
|
559
578
|
*
|
|
579
|
+
* **Per-subscribe lifecycle (DF8, 2026-04-29 doc lock).** When the wrapped
|
|
580
|
+
* source is `resubscribable: true` and multiple consumers attach in
|
|
581
|
+
* sequence, each new subscription cycle re-runs the producer fn AND
|
|
582
|
+
* re-emits the initial `pending` + `null` companion DATAs. Downstream
|
|
583
|
+
* subscribers to the `status` / `error` companions see thrash:
|
|
584
|
+
* `pending → running → completed → pending → running …`. This is the
|
|
585
|
+
* intended fresh-cycle semantic (each subscription cycle reports its own
|
|
586
|
+
* lifecycle); consumers that need a "stable" status across cycles should
|
|
587
|
+
* derive a snapshot via a separate `state()` mirror rather than depending
|
|
588
|
+
* on the per-cycle reset.
|
|
589
|
+
*
|
|
560
590
|
* @example
|
|
561
591
|
* ```ts
|
|
562
592
|
* import { withStatus, state } from "@graphrefly/graphrefly-ts";
|
|
@@ -583,6 +613,20 @@ declare class TimeoutError extends Error {
|
|
|
583
613
|
name: string;
|
|
584
614
|
constructor(ns: number);
|
|
585
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* Either a literal value or a reactive Node carrying it. Mirrors
|
|
618
|
+
* {@link FallbackInput}'s precedent for "options that may be reactive."
|
|
619
|
+
*
|
|
620
|
+
* Used by {@link timeout} / {@link retry} / {@link rateLimiter} /
|
|
621
|
+
* {@link circuitBreaker} / {@link budgetGate} to accept reactive option
|
|
622
|
+
* configurations (Tier 6.5 3.2, 2026-04-29). Each primitive subscribes
|
|
623
|
+
* to the option Node via {@link resolveReactiveOption} and rebinds
|
|
624
|
+
* internal state per its locked swap-semantic rule (see each primitive's
|
|
625
|
+
* JSDoc for the rule).
|
|
626
|
+
*
|
|
627
|
+
* @category extra
|
|
628
|
+
*/
|
|
629
|
+
type NodeOrValue<T> = T | Node<T>;
|
|
586
630
|
/** Inputs accepted by {@link fallback}. */
|
|
587
631
|
type FallbackInput<T> = T | Node<T> | PromiseLike<T> | AsyncIterable<T>;
|
|
588
632
|
/**
|
|
@@ -626,7 +670,9 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
626
670
|
* the timer. Terminal messages (`COMPLETE`/`ERROR`) cancel the timer.
|
|
627
671
|
*
|
|
628
672
|
* @param source - Upstream node.
|
|
629
|
-
* @param timeoutNs - Deadline in **nanoseconds** (must be > 0)
|
|
673
|
+
* @param timeoutNs - Deadline in **nanoseconds** (must be > 0), or a
|
|
674
|
+
* `Node<number>` carrying the deadline reactively (Tier 6.5 3.2.1).
|
|
675
|
+
* Internally converted to milliseconds for `setTimeout` scheduling.
|
|
630
676
|
* @returns Node that errors on timeout.
|
|
631
677
|
*
|
|
632
678
|
* @throws {RangeError} when `timeoutNs <= 0`.
|
|
@@ -634,6 +680,13 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
634
680
|
* @remarks
|
|
635
681
|
* **Scheduling:** internally uses {@link ResettableTimer} (raw `setTimeout`) per spec §5.10's resilience-operator carve-out. The deadline is `timeoutNs / NS_PER_MS` ms; sub-millisecond `timeoutNs` values get the same minimum-1ms host-scheduler granularity that `setTimeout` provides.
|
|
636
682
|
*
|
|
683
|
+
* **Reactive `timeoutNs` (locked semantics, Tier 6.5 3.2.1, 2026-04-29).**
|
|
684
|
+
* When `timeoutNs` is a `Node<number>`, each timer-(re)start reads the
|
|
685
|
+
* latest value. An option swap mid-flight applies to the **next** timer
|
|
686
|
+
* window (no in-flight reset) — the active timer keeps its original
|
|
687
|
+
* deadline; the next DATA-driven `startTimer()` call reads the new
|
|
688
|
+
* value. Static-form callers see no behavior change.
|
|
689
|
+
*
|
|
637
690
|
* @example
|
|
638
691
|
* ```ts
|
|
639
692
|
* import { timeout, never, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
|
|
@@ -644,7 +697,7 @@ declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
|
|
|
644
697
|
*
|
|
645
698
|
* @category extra
|
|
646
699
|
*/
|
|
647
|
-
declare function timeout<T>(source: Node<T>, timeoutNs: number
|
|
700
|
+
declare function timeout<T>(source: Node<T>, timeoutNs: NodeOrValue<number>, options?: {
|
|
648
701
|
meta?: Record<string, unknown>;
|
|
649
702
|
}): Node<T>;
|
|
650
703
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
2
|
-
import { G as Graph, a as GraphOptions } from './graph-
|
|
3
|
-
import { a as ReactiveLogBundle } from './reactive-log-
|
|
1
|
+
import { N as Node } from './node-kK3CvTrR.cjs';
|
|
2
|
+
import { G as Graph, a as GraphOptions } from './graph-CWvEUQAq.cjs';
|
|
3
|
+
import { a as ReactiveLogBundle } from './reactive-log-DIGdYqQ6.cjs';
|
|
4
4
|
import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
|
|
5
5
|
|
|
6
6
|
type TopicOptions = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-
|
|
1
|
+
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-Sgj0gCwn.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Orchestration patterns (roadmap §4.1).
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-DWjNfLvC.js';
|
|
2
2
|
import { OnModuleInit, OnModuleDestroy, ExecutionContext, CanActivate, DynamicModule } from '@nestjs/common';
|
|
3
3
|
import { ModuleRef } from '@nestjs/core';
|
|
4
|
-
import { G as Graph, r as GraphPersistSnapshot } from './graph-
|
|
5
|
-
import { A as Actor } from './node-
|
|
6
|
-
import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-
|
|
4
|
+
import { G as Graph, r as GraphPersistSnapshot } from './graph-D9LFnda9.js';
|
|
5
|
+
import { A as Actor } from './node-kK3CvTrR.js';
|
|
6
|
+
import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-CeFiHtAg.js';
|
|
7
7
|
import { AppendLogStorageTier } from './extra/storage-tiers.js';
|
|
8
8
|
|
|
9
9
|
/** Class constructor key for decorator registries and Nest `ModuleRef.get()`. */
|