@graphrefly/graphrefly 0.34.0 → 0.35.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-DKIb6Pk8.d.cts → cascading-B25wxpRa.d.cts} +3 -3
- package/dist/{cascading-Bg0a4VSf.d.ts → cascading-BsJ4GbnS.d.ts} +3 -3
- package/dist/{chunk-TZLEMGAK.js → chunk-2Y3DKIZL.js} +2 -2
- package/dist/chunk-3OT7K33Q.js +1 -0
- package/dist/chunk-53XJ2S6D.js +1 -0
- package/dist/chunk-5CPPC75H.js +1 -0
- package/dist/chunk-5KPIYVCC.js +7 -0
- package/dist/{chunk-GAOX6OPT.js → chunk-5XZRCS2M.js} +1 -1
- package/dist/{chunk-C5DINHNP.js → chunk-6G5YD37E.js} +1 -1
- package/dist/{chunk-WBWBY6LI.js → chunk-6SVKZ7VI.js} +1 -1
- package/dist/chunk-A5HZZYRK.js +1 -0
- package/dist/chunk-BGEY3PXH.js +1 -0
- package/dist/chunk-CD4CB6S7.js +1 -0
- package/dist/chunk-CE72X3WO.js +1 -0
- package/dist/chunk-CUQFO6MT.js +1 -0
- package/dist/chunk-D5RFJOZ2.js +1 -0
- package/dist/{chunk-A3GDELMY.js → chunk-E5YSBQSF.js} +7 -7
- package/dist/{chunk-SFIM774L.js → chunk-EUE7ELFQ.js} +1 -1
- package/dist/chunk-F3IGTWCQ.js +1 -0
- package/dist/chunk-F672GV32.js +1 -0
- package/dist/{chunk-GCUYSIM4.js → chunk-GWOKTENT.js} +1 -1
- package/dist/{chunk-4NYSEUKV.js → chunk-J6TGRQUP.js} +1 -1
- package/dist/{chunk-4F564IPP.js → chunk-JJTF75VS.js} +1 -1
- package/dist/{chunk-BY4WKPKM.js → chunk-JUJEPZOI.js} +1 -1
- package/dist/{chunk-65WWQ5CB.js → chunk-M5UC63ZI.js} +5 -5
- package/dist/chunk-MQZWA3DF.js +1 -0
- package/dist/chunk-MYFR67PY.js +18 -0
- package/dist/{chunk-KN2UMFT6.js → chunk-PCD2MU7X.js} +1 -1
- package/dist/{chunk-YDWTVO4E.js → chunk-PIIUJIF7.js} +1 -1
- package/dist/chunk-PVUTRA5K.js +5 -0
- package/dist/chunk-Q7EUZ6NN.js +1 -0
- package/dist/chunk-RLMYS3XZ.js +1 -0
- package/dist/chunk-RRFOCAH6.js +1 -0
- package/dist/{chunk-Q46YJCQH.js → chunk-T6RPUERH.js} +1 -1
- package/dist/{chunk-IPNJDNE7.js → chunk-T7GWBGOO.js} +1 -1
- package/dist/{chunk-U2T2XWDA.js → chunk-U347KVM4.js} +1 -1
- package/dist/chunk-UAMWD4GG.js +1 -0
- package/dist/chunk-VN6RDSK2.js +1 -0
- package/dist/{chunk-CJMFZXIZ.js → chunk-W2ZU226Q.js} +1 -1
- package/dist/{chunk-UF746BQ4.js → chunk-XINLP35X.js} +1 -1
- package/dist/{chunk-TONEKQM3.js → chunk-XMDNNSMK.js} +1 -1
- package/dist/{chunk-INXDSJRC.js → chunk-YOUAVGHJ.js} +1 -1
- package/dist/chunk-YV2A2VWG.js +1 -0
- package/dist/{chunk-PBN426RU.js → chunk-ZGVA2SR5.js} +1 -1
- package/dist/compat/index.cjs +10 -10
- package/dist/compat/index.d.cts +17 -14
- package/dist/compat/index.d.ts +17 -14
- package/dist/compat/index.js +1 -1
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nestjs/index.cjs +12 -12
- package/dist/compat/nestjs/index.d.cts +9 -6
- package/dist/compat/nestjs/index.d.ts +9 -6
- 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 +7 -7
- package/dist/compat/zustand/index.d.cts +5 -4
- package/dist/compat/zustand/index.d.ts +5 -4
- package/dist/compat/zustand/index.js +1 -1
- package/dist/{composite-BPDU_XV1.d.ts → composite-CT_mApQD.d.ts} +2 -2
- package/dist/{composite-CmvdhTJe.d.cts → composite-_XckYx2e.d.cts} +2 -2
- package/dist/{content-addressed-storage-DqIWCmZG.d.cts → content-addressed-storage-4-ST1tYk.d.cts} +5 -5
- package/dist/{content-addressed-storage-BUiREIuj.d.ts → content-addressed-storage-DuYMjV7o.d.ts} +5 -5
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/extra/browser.cjs +1 -1
- package/dist/extra/browser.d.cts +4 -3
- package/dist/extra/browser.d.ts +4 -3
- package/dist/extra/browser.js +1 -1
- package/dist/extra/index.cjs +19 -19
- package/dist/extra/index.d.cts +13 -12
- package/dist/extra/index.d.ts +13 -12
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +2 -3
- package/dist/extra/node.d.cts +3 -3
- package/dist/extra/node.d.ts +3 -3
- package/dist/extra/node.js +2 -2
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +1 -1
- package/dist/extra/operators.d.ts +1 -1
- package/dist/extra/operators.js +1 -1
- package/dist/extra/reactive.cjs +1 -1
- package/dist/extra/reactive.d.cts +4 -3
- package/dist/extra/reactive.d.ts +4 -3
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/sources.cjs +1 -1
- package/dist/extra/sources.d.cts +57 -2
- package/dist/extra/sources.d.ts +57 -2
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.cjs +1 -1
- package/dist/extra/storage-browser.d.cts +8 -42
- package/dist/extra/storage-browser.d.ts +8 -42
- package/dist/extra/storage-browser.js +1 -1
- package/dist/extra/storage-core.cjs +1 -1
- package/dist/extra/storage-core.d.cts +13 -83
- package/dist/extra/storage-core.d.ts +13 -83
- package/dist/extra/storage-core.js +1 -1
- package/dist/extra/storage-node.cjs +1 -2
- package/dist/extra/storage-node.d.cts +1 -59
- package/dist/extra/storage-node.d.ts +1 -59
- package/dist/extra/storage-node.js +0 -1
- package/dist/extra/storage-tiers-browser.cjs +1 -0
- package/dist/extra/storage-tiers-browser.d.cts +49 -0
- package/dist/extra/storage-tiers-browser.d.ts +49 -0
- package/dist/extra/storage-tiers-browser.js +1 -0
- package/dist/extra/storage-tiers-node.cjs +1 -0
- package/dist/extra/storage-tiers-node.d.cts +86 -0
- package/dist/extra/storage-tiers-node.d.ts +86 -0
- package/dist/extra/storage-tiers-node.js +1 -0
- package/dist/extra/storage-tiers.cjs +1 -0
- package/dist/extra/storage-tiers.d.cts +284 -0
- package/dist/extra/storage-tiers.d.ts +284 -0
- package/dist/extra/storage-tiers.js +1 -0
- package/dist/{fallback-mYSd8vQo.d.ts → fallback-DuEXfA4F.d.ts} +14 -14
- package/dist/{fallback-9YznPvPP.d.cts → fallback-axI2cXwt.d.cts} +14 -14
- package/dist/graph/index.cjs +3 -3
- package/dist/graph/index.d.cts +6 -5
- package/dist/graph/index.d.ts +6 -5
- package/dist/graph/index.js +1 -1
- package/dist/{graph-BROUZPG9.d.ts → graph-Cv-8x0ZI.d.ts} +28 -16
- package/dist/{graph-DaoydJ_u.d.cts → graph-kTltt95s.d.cts} +28 -16
- package/dist/imperative-audit-ahAE65a9.d.cts +28 -0
- package/dist/imperative-audit-ahAE65a9.d.ts +28 -0
- package/dist/{index-CI5fULSz.d.ts → index-8OxXae3g.d.ts} +1 -1
- package/dist/{index-CQ1gt4rn.d.cts → index-9xhIaM-w.d.cts} +1 -1
- package/dist/{index-DhWrMTI6.d.cts → index-B3D_z0Z6.d.cts} +1 -1
- package/dist/{index-Ccv_61jG.d.cts → index-B3Dfl5sS.d.cts} +110 -27
- package/dist/{index-Dia4yc2y.d.ts → index-B4s70vYf.d.ts} +4 -4
- package/dist/{index-Db21wuaD.d.ts → index-B5UR87KG.d.ts} +3 -3
- package/dist/{index-DuvQAU02.d.ts → index-BBdwz2BW.d.ts} +2 -2
- package/dist/{index-B5eS17Bz.d.ts → index-BEvsFlfH.d.ts} +47 -32
- package/dist/{index-BUtCR0k6.d.ts → index-BF-ssbJB.d.ts} +7 -7
- package/dist/{index-ClKm7CFB.d.cts → index-BFuVcqL8.d.cts} +1 -1
- package/dist/{index-BkfL5MXh.d.cts → index-BWH17rK_.d.cts} +3 -3
- package/dist/{index-CD7qmvSf.d.ts → index-BZ1V5GzX.d.ts} +3 -3
- package/dist/{index-BDEhWLF4.d.cts → index-BhkPzu-Z.d.cts} +4 -4
- package/dist/{index-CNxdDb2e.d.ts → index-Bilohojo.d.ts} +3 -3
- package/dist/{index-zA1uVtk0.d.ts → index-BiomL7AW.d.ts} +1 -1
- package/dist/{index-BWiX5foT.d.ts → index-BjWZARLy.d.ts} +1 -1
- package/dist/{index-IxinNgAH.d.cts → index-BkbawFkI.d.cts} +16 -15
- package/dist/{index-RJX4snyi.d.cts → index-BlRVj-7Q.d.cts} +21 -21
- package/dist/index-BpFwRAf9.d.cts +26 -0
- package/dist/{index-Ds3Rz9m9.d.cts → index-BsZlbHM5.d.cts} +3 -3
- package/dist/{index-BFHpNSsV.d.ts → index-BtY2QVDf.d.cts} +8 -7
- package/dist/{index-BsxqmV6u.d.ts → index-BuMzxRO2.d.ts} +2 -2
- package/dist/{index-C5uMGVJw.d.ts → index-BwYGLgmI.d.ts} +4 -4
- package/dist/{index-3L3RC3VJ.d.ts → index-C40wA8zt.d.ts} +7 -7
- package/dist/{index-Bi4ZP6Hc.d.ts → index-C9xF16gc.d.ts} +110 -27
- package/dist/index-CAIhFfws.d.ts +171 -0
- package/dist/{index-BRisOxlx.d.ts → index-CDvC1m5p.d.ts} +1 -1
- package/dist/index-CGKs5ixV.d.cts +287 -0
- package/dist/{index-ygRFoyrN.d.ts → index-CI_yjtua.d.ts} +2 -2
- package/dist/{index-DxEcY7Om.d.ts → index-CIcu6fIR.d.ts} +1 -1
- package/dist/{index-CQtnGFrZ.d.cts → index-CfOSES72.d.cts} +7 -7
- package/dist/{index-Bd2AjMQY.d.ts → index-Cot94_82.d.ts} +21 -21
- package/dist/{index-B1hFhK1K.d.cts → index-CpZKtdMw.d.cts} +1 -1
- package/dist/{index-BO6t0HjV.d.cts → index-CqSJ25A9.d.cts} +1 -1
- package/dist/{index-Jgl7ev9I.d.cts → index-CzC0G0C3.d.cts} +9 -9
- package/dist/{index-p0bkNfby.d.cts → index-D6JRP-1_.d.cts} +3 -3
- package/dist/{index-D23g00HE.d.cts → index-D7r_vd0b.d.cts} +4 -4
- package/dist/{index-Cp91Sxbo.d.cts → index-D8IyqHvT.d.cts} +3 -3
- package/dist/{index-iKsmdnq6.d.cts → index-D9qoEOj_.d.cts} +2 -2
- package/dist/index-DBmBtqAN.d.ts +461 -0
- package/dist/{index-nP13Qe6T.d.ts → index-DFe2Pk2u.d.ts} +1 -1
- package/dist/{index-Cn3taOmp.d.cts → index-DKp1CIbG.d.cts} +2 -2
- package/dist/{index-CoR-tOZA.d.cts → index-DSD6xnbT.d.ts} +8 -7
- package/dist/{index-DheNs40A.d.ts → index-DXSLMoma.d.ts} +2 -2
- package/dist/{index-ZIQaKIdY.d.cts → index-DXZsXxtU.d.cts} +47 -32
- package/dist/{index-BVTjuKeP.d.cts → index-D_QQ_dTD.d.cts} +1 -1
- package/dist/{index-ChZvMC4M.d.cts → index-DeyzuqAi.d.cts} +7 -7
- package/dist/{index-Chi9IiHJ.d.ts → index-DlccEIi3.d.ts} +3 -3
- package/dist/{index-DR3XqZlV.d.cts → index-DmtWMP0X.d.cts} +1 -1
- package/dist/{index-CbCNoogR.d.ts → index-Dp69u0ym.d.ts} +16 -15
- package/dist/{index-b4a6Sg0R.d.ts → index-DwNNufVa.d.ts} +4 -4
- package/dist/{index-D80nGRb9.d.ts → index-DzYTXMBz.d.ts} +3 -3
- package/dist/index-DzgS5uYi.d.ts +26 -0
- package/dist/{index-B-KCkW4M.d.cts → index-GaW6Welt.d.cts} +4 -4
- package/dist/{index-DupIl9wI.d.ts → index-JYtN9uqM.d.ts} +1 -1
- package/dist/{index-Ced0dphF.d.ts → index-KNAMYngu.d.ts} +9 -9
- package/dist/{index-BpjQanLs.d.cts → index-PluovH45.d.cts} +2 -2
- package/dist/index-Qq-G9B6g.d.cts +171 -0
- package/dist/{index-yJY9thRY.d.cts → index-XxSeddWP.d.cts} +2 -2
- package/dist/{index-C8_bnDBZ.d.cts → index-ZhKyR8co.d.cts} +3 -3
- package/dist/index-hXKhbfh-.d.ts +287 -0
- package/dist/index-zK_mN1D-.d.cts +461 -0
- package/dist/index.cjs +59 -59
- package/dist/index.d.cts +53 -49
- package/dist/index.d.ts +53 -49
- package/dist/index.js +1 -1
- package/dist/{meta-BdjSt8ky.d.cts → meta-BGO6C7K9.d.cts} +1 -1
- package/dist/{meta-CtDjj7cU.d.ts → meta-CC6EPdpK.d.ts} +1 -1
- package/dist/{node-8qx0kgYt.d.cts → node-fSc-hCv8.d.cts} +1 -1
- package/dist/{node-8qx0kgYt.d.ts → node-fSc-hCv8.d.ts} +1 -1
- package/dist/{observable-B6Ba-TTI.d.cts → observable-Cqty11jG.d.cts} +1 -1
- package/dist/{observable-DOniYM2B.d.ts → observable-EAV_rNfM.d.ts} +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 +19 -19
- package/dist/patterns/ai/index.d.cts +19 -17
- package/dist/patterns/ai/index.d.ts +19 -17
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +1 -2
- package/dist/patterns/ai/node.d.cts +9 -9
- package/dist/patterns/ai/node.d.ts +9 -9
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/audit/index.cjs +6 -6
- package/dist/patterns/audit/index.d.cts +7 -5
- package/dist/patterns/audit/index.d.ts +7 -5
- package/dist/patterns/audit/index.js +1 -1
- package/dist/patterns/cqrs/index.cjs +7 -7
- package/dist/patterns/cqrs/index.d.cts +7 -4
- package/dist/patterns/cqrs/index.d.ts +7 -4
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +8 -8
- package/dist/patterns/demo-shell/index.d.cts +6 -5
- package/dist/patterns/demo-shell/index.d.ts +6 -5
- package/dist/patterns/demo-shell/index.js +1 -1
- package/dist/patterns/domain-templates/index.cjs +5 -5
- package/dist/patterns/domain-templates/index.d.cts +5 -4
- package/dist/patterns/domain-templates/index.d.ts +5 -4
- package/dist/patterns/domain-templates/index.js +1 -1
- package/dist/patterns/graphspec/index.cjs +20 -20
- package/dist/patterns/graphspec/index.d.cts +6 -5
- package/dist/patterns/graphspec/index.d.ts +6 -5
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/guarded-execution/index.cjs +7 -7
- package/dist/patterns/guarded-execution/index.d.cts +8 -6
- package/dist/patterns/guarded-execution/index.d.ts +8 -6
- package/dist/patterns/guarded-execution/index.js +1 -1
- package/dist/patterns/harness/index.cjs +12 -12
- package/dist/patterns/harness/index.d.cts +13 -10
- package/dist/patterns/harness/index.d.ts +13 -10
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +7 -7
- package/dist/patterns/job-queue/index.d.cts +8 -4
- package/dist/patterns/job-queue/index.d.ts +8 -4
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/lens/index.cjs +4 -4
- package/dist/patterns/lens/index.d.cts +7 -6
- package/dist/patterns/lens/index.d.ts +7 -6
- package/dist/patterns/lens/index.js +1 -1
- package/dist/patterns/memory/index.cjs +1 -1
- package/dist/patterns/memory/index.d.cts +5 -4
- package/dist/patterns/memory/index.d.ts +5 -4
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +7 -7
- package/dist/patterns/messaging/index.d.cts +6 -4
- package/dist/patterns/messaging/index.d.ts +6 -4
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +7 -7
- package/dist/patterns/orchestration/index.d.cts +8 -5
- package/dist/patterns/orchestration/index.d.ts +8 -5
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/process/index.cjs +1 -0
- package/dist/patterns/process/index.d.cts +10 -0
- package/dist/patterns/process/index.d.ts +10 -0
- package/dist/patterns/process/index.js +1 -0
- package/dist/patterns/reactive-layout/index.cjs +5 -5
- package/dist/patterns/reactive-layout/index.d.cts +6 -5
- package/dist/patterns/reactive-layout/index.d.ts +6 -5
- package/dist/patterns/reactive-layout/index.js +1 -1
- package/dist/patterns/reduction/index.cjs +1 -1
- package/dist/patterns/reduction/index.d.cts +5 -4
- package/dist/patterns/reduction/index.d.ts +5 -4
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/refine-loop/index.cjs +8 -8
- package/dist/patterns/refine-loop/index.d.cts +7 -5
- package/dist/patterns/refine-loop/index.d.ts +7 -5
- package/dist/patterns/refine-loop/index.js +1 -1
- package/dist/patterns/resilient-pipeline/index.cjs +1 -1
- package/dist/patterns/resilient-pipeline/index.d.cts +7 -6
- package/dist/patterns/resilient-pipeline/index.d.ts +7 -6
- package/dist/patterns/resilient-pipeline/index.js +1 -1
- package/dist/patterns/surface/index.cjs +11 -11
- package/dist/patterns/surface/index.d.cts +7 -6
- package/dist/patterns/surface/index.d.ts +7 -6
- package/dist/patterns/surface/index.js +1 -1
- package/dist/pipeline-graph-B85HUrWg.d.cts +120 -0
- package/dist/pipeline-graph-HOTU4UG0.d.ts +120 -0
- package/dist/{reactive-layout-DBJ3Vz-m.d.ts → reactive-layout-Btv0-efV.d.ts} +2 -2
- package/dist/{reactive-layout-Dk9AOQb_.d.cts → reactive-layout-D9zqqaqK.d.cts} +2 -2
- package/dist/reactive-log-ByBb8g6A.d.ts +188 -0
- package/dist/reactive-log-CgbNqksB.d.cts +188 -0
- package/dist/{reactive-map-LjwjcFaW.d.ts → reactive-map-CHyeCf4D.d.ts} +1 -1
- package/dist/{reactive-map-Cm89Hk0c.d.cts → reactive-map-DmgeADH8.d.cts} +1 -1
- package/dist/{resilience-RjDIHZNZ.d.ts → resilience-BWP2c7Af.d.cts} +27 -45
- package/dist/{resilience-N_VtLf7W.d.cts → resilience-Bys63Cpd.d.ts} +27 -45
- package/dist/resilience-OBU472D2.js +1 -0
- package/dist/{sugar-CQkn_rxB.d.ts → sugar-D13E2M_z.d.ts} +1 -1
- package/dist/{sugar-DVEYhR7a.d.cts → sugar-DgaGJcI6.d.cts} +1 -1
- package/dist/{topology-tree-BB6oJxMz.d.cts → topology-tree-C50l9ARE.d.cts} +1 -1
- package/dist/{topology-tree-CAFOG5S5.d.ts → topology-tree-CJsT24DP.d.ts} +1 -1
- package/dist/{types-Cp_4coR_.d.cts → types-BMSGPlpO.d.cts} +1 -1
- package/dist/{types-B2LfBvNc.d.ts → types-CidcBDuk.d.ts} +1 -1
- package/package.json +41 -1
- package/dist/chunk-2JO6LXFT.js +0 -7
- package/dist/chunk-2LZ6DL45.js +0 -1
- package/dist/chunk-3JXNEPCD.js +0 -2
- package/dist/chunk-3Y4BXFFR.js +0 -1
- package/dist/chunk-55T3K37W.js +0 -1
- package/dist/chunk-6HQ6HVTF.js +0 -1
- package/dist/chunk-7Q2WPFQ7.js +0 -1
- package/dist/chunk-FKRPIRE6.js +0 -1
- package/dist/chunk-HTBOCKVD.js +0 -1
- package/dist/chunk-I6VIH3VA.js +0 -1
- package/dist/chunk-IB64M7VP.js +0 -1
- package/dist/chunk-IJFSR4NU.js +0 -1
- package/dist/chunk-LOF5HSD3.js +0 -18
- package/dist/chunk-T2TB37TW.js +0 -1
- package/dist/chunk-T7EQPKOP.js +0 -1
- package/dist/chunk-Y63GWRHO.js +0 -5
- package/dist/chunk-YUBV7EEE.js +0 -1
- package/dist/index-C2Dey3L-.d.cts +0 -152
- package/dist/index-ClJUZAOr.d.cts +0 -101
- package/dist/index-Cq7Uqgu4.d.ts +0 -192
- package/dist/index-Dtpr2FIB.d.ts +0 -101
- package/dist/index-HvJ90_tX.d.ts +0 -152
- package/dist/index-wcfc7W-f.d.cts +0 -192
- package/dist/reactive-log-CWC7jO4J.d.cts +0 -190
- package/dist/reactive-log-CqaBg8nf.d.ts +0 -190
- package/dist/resilience-7UZHSSGC.js +0 -1
- /package/dist/{chunk-L3KUKDZC.js → chunk-O32GJOUJ.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { A as Actor,
|
|
2
|
-
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-
|
|
3
|
-
import {
|
|
1
|
+
import { A as Actor, p as GraphReFlyConfig, V as VersioningLevel, a as Node, b as Messages, K as NodeSink } from './node-fSc-hCv8.js';
|
|
2
|
+
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-CC6EPdpK.js';
|
|
3
|
+
import { StorageHandle } from './extra/storage-core.js';
|
|
4
|
+
import { SnapshotStorageTier } from './extra/storage-tiers.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Causal walkback over a {@link Graph.describe} snapshot (roadmap §9.2).
|
|
@@ -356,8 +357,8 @@ type GraphFactoryContext = {
|
|
|
356
357
|
};
|
|
357
358
|
type GraphNodeFactory = (name: string, context: GraphFactoryContext) => Node;
|
|
358
359
|
/**
|
|
359
|
-
* Checkpoint record shape passed to `
|
|
360
|
-
* {@link Graph.
|
|
360
|
+
* Checkpoint record shape passed to `SnapshotStorageTier.save`. Written by
|
|
361
|
+
* {@link Graph.attachSnapshotStorage} per-tier according to each tier's
|
|
361
362
|
* `compactEvery` cadence.
|
|
362
363
|
*
|
|
363
364
|
* `mode: "full"` → full snapshot. Baseline anchor emitted on the first save
|
|
@@ -372,6 +373,7 @@ type GraphNodeFactory = (name: string, context: GraphFactoryContext) => Node;
|
|
|
372
373
|
* cross-version WAL replay).
|
|
373
374
|
*/
|
|
374
375
|
type GraphCheckpointRecord = {
|
|
376
|
+
name: string;
|
|
375
377
|
seq: number;
|
|
376
378
|
timestamp_ns: number;
|
|
377
379
|
format_version: number;
|
|
@@ -382,7 +384,7 @@ type GraphCheckpointRecord = {
|
|
|
382
384
|
mode: "diff";
|
|
383
385
|
diff: GraphWALDiff;
|
|
384
386
|
});
|
|
385
|
-
/** Options for {@link Graph.
|
|
387
|
+
/** Options for {@link Graph.attachSnapshotStorage}. */
|
|
386
388
|
type GraphAttachStorageOptions = {
|
|
387
389
|
/**
|
|
388
390
|
* Before the first save, attempt to restore from the first tier whose
|
|
@@ -392,7 +394,7 @@ type GraphAttachStorageOptions = {
|
|
|
392
394
|
autoRestore?: boolean;
|
|
393
395
|
/**
|
|
394
396
|
* Limit the subscription surface (scoped observe). By default
|
|
395
|
-
* `
|
|
397
|
+
* `attachSnapshotStorage` observes every node in the graph tree; on large graphs
|
|
396
398
|
* that's thousands of subscriptions just for tier-gating. Pass a path
|
|
397
399
|
* list (or a single glob) to observe only those nodes.
|
|
398
400
|
*/
|
|
@@ -400,7 +402,7 @@ type GraphAttachStorageOptions = {
|
|
|
400
402
|
/** Pre-save path-level filter — skip records triggered by paths that fail this predicate. */
|
|
401
403
|
filter?: (name: string, described: DescribeNodeOutput) => boolean;
|
|
402
404
|
/** Surfaced on tier save errors and autoRestore failures. */
|
|
403
|
-
onError?: (error: unknown, tier:
|
|
405
|
+
onError?: (error: unknown, tier: SnapshotStorageTier<GraphCheckpointRecord>) => void;
|
|
404
406
|
};
|
|
405
407
|
/**
|
|
406
408
|
* Event emitted by {@link Graph.topology} on every structural change to the
|
|
@@ -439,7 +441,7 @@ type GraphDiagramOptions = {
|
|
|
439
441
|
/**
|
|
440
442
|
* Snapshot format version (§3.8). Exported so the surface layer's
|
|
441
443
|
* `saveSnapshot` writes the same `format_version` as
|
|
442
|
-
* `Graph.
|
|
444
|
+
* `Graph.attachSnapshotStorage` — one source of truth prevents silent wire
|
|
443
445
|
* drift between auto-checkpoint and one-shot persistence paths.
|
|
444
446
|
*/
|
|
445
447
|
declare const SNAPSHOT_VERSION = 1;
|
|
@@ -782,6 +784,14 @@ declare class Graph {
|
|
|
782
784
|
* @param node - Node instance to own.
|
|
783
785
|
* @param opts - `{ name?, annotation? }`.
|
|
784
786
|
*/
|
|
787
|
+
/**
|
|
788
|
+
* O(1) reverse lookup — returns the name the given Node was registered
|
|
789
|
+
* under via {@link Graph.add}, or `undefined` if it isn't registered here.
|
|
790
|
+
*
|
|
791
|
+
* Audit 2 (2026-04-24): replaces the orchestration's `findRegisteredNodePath`
|
|
792
|
+
* O(nodes²) describe-scan with direct `WeakMap<Node, string>` lookup.
|
|
793
|
+
*/
|
|
794
|
+
nameOf(node: Node): string | undefined;
|
|
785
795
|
add<T extends Node>(node: T, opts?: {
|
|
786
796
|
name?: string;
|
|
787
797
|
annotation?: string;
|
|
@@ -903,6 +913,8 @@ declare class Graph {
|
|
|
903
913
|
* @returns The mounted `child`, for chaining.
|
|
904
914
|
*/
|
|
905
915
|
mount<G extends Graph>(name: string, child: G): G;
|
|
916
|
+
mount(name: string): Graph;
|
|
917
|
+
mount(name: string, builder: (sub: Graph) => void): Graph;
|
|
906
918
|
/**
|
|
907
919
|
* Look up a node by qualified path (§3.5). Segments are separated by `::`.
|
|
908
920
|
*
|
|
@@ -1206,7 +1218,7 @@ declare class Graph {
|
|
|
1206
1218
|
toJSON(): GraphPersistSnapshot;
|
|
1207
1219
|
/**
|
|
1208
1220
|
* Unified persistence surface (§3.8). Cascades snapshot records through
|
|
1209
|
-
* one or more {@link
|
|
1221
|
+
* one or more {@link SnapshotStorageTier}s, each with its own `debounceMs` /
|
|
1210
1222
|
* `compactEvery` cadence and independent diff baseline.
|
|
1211
1223
|
*
|
|
1212
1224
|
* Subscription gates on {@link messageTier} ≥ 3 (DATA/RESOLVED/terminal),
|
|
@@ -1220,7 +1232,7 @@ declare class Graph {
|
|
|
1220
1232
|
* share a single snapshot computation per observe event; debounced tiers
|
|
1221
1233
|
* compute their own snapshot when their timer fires.
|
|
1222
1234
|
*/
|
|
1223
|
-
|
|
1235
|
+
attachSnapshotStorage(tiers: readonly SnapshotStorageTier<GraphCheckpointRecord>[], options?: GraphAttachStorageOptions): StorageHandle;
|
|
1224
1236
|
/**
|
|
1225
1237
|
* Try tiers in order (hottest first); apply the first record that hits
|
|
1226
1238
|
* via {@link Graph.restore}. Returns `true` if any tier produced a
|
|
@@ -1237,7 +1249,7 @@ declare class Graph {
|
|
|
1237
1249
|
* the bad tier, some pre-existing). A subsequent successful tier's
|
|
1238
1250
|
* `restore()` overwrites the overlapping slices.
|
|
1239
1251
|
*
|
|
1240
|
-
* Internal helper shared by {@link Graph.
|
|
1252
|
+
* Internal helper shared by {@link Graph.attachSnapshotStorage}'s `autoRestore`
|
|
1241
1253
|
* option and the static {@link Graph.fromStorage} factory.
|
|
1242
1254
|
*/
|
|
1243
1255
|
private _cascadeRestore;
|
|
@@ -1253,14 +1265,14 @@ declare class Graph {
|
|
|
1253
1265
|
* @throws If no tier holds a restorable record matching `name` *and* no
|
|
1254
1266
|
* `factories` override is provided for dynamic nodes.
|
|
1255
1267
|
*/
|
|
1256
|
-
static fromStorage(name: string, tiers: readonly
|
|
1268
|
+
static fromStorage(name: string, tiers: readonly SnapshotStorageTier<GraphCheckpointRecord>[], opts?: GraphOptions & {
|
|
1257
1269
|
factories?: Record<string, GraphNodeFactory>;
|
|
1258
1270
|
/**
|
|
1259
1271
|
* Called when a tier throws during `load()` or when
|
|
1260
1272
|
* {@link Graph.fromSnapshot} rejects a tier's record. The cascade
|
|
1261
1273
|
* falls through to the next colder tier regardless.
|
|
1262
1274
|
*/
|
|
1263
|
-
onError?: (err: unknown, tier:
|
|
1275
|
+
onError?: (err: unknown, tier: SnapshotStorageTier<GraphCheckpointRecord>) => void;
|
|
1264
1276
|
}): Promise<Graph>;
|
|
1265
1277
|
private _annotations;
|
|
1266
1278
|
private readonly _traceRing;
|
|
@@ -1350,7 +1362,7 @@ type GraphDiffResult = {
|
|
|
1350
1362
|
* slice for each added path so {@link replayWAL} can reconstruct nodes added
|
|
1351
1363
|
* between full anchors (topology mutations inside a `compactEvery` window).
|
|
1352
1364
|
*
|
|
1353
|
-
* `Graph.diff()` returns the audit shape (no payload); `
|
|
1365
|
+
* `Graph.diff()` returns the audit shape (no payload); `attachSnapshotStorage` writes
|
|
1354
1366
|
* this WAL shape. The two shapes stay structurally compatible — `GraphWALDiff`
|
|
1355
1367
|
* is a superset.
|
|
1356
1368
|
*/
|
|
@@ -1445,4 +1457,4 @@ declare function reachable(described: GraphDescribeOutput, from: string, directi
|
|
|
1445
1457
|
}): ReachableResult;
|
|
1446
1458
|
declare function reachable(described: GraphDescribeOutput, from: string, direction: ReachableDirection, options?: ReachableOptions): string[];
|
|
1447
1459
|
|
|
1448
|
-
export { type ReachableOptions as A, type TraceEntry as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, diffForWAL as F, Graph as G, explainPath as H, graphProfile as I, mermaidLiveUrl as J, reachable as K, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type
|
|
1460
|
+
export { type ReachableOptions as A, type TraceEntry as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, diffForWAL as F, Graph as G, explainPath as H, graphProfile as I, mermaidLiveUrl as J, reachable as K, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type GraphPersistSnapshot as b, type GraphDescribeOptions as c, type GraphDescribeOutput as d, type CausalStep as e, GRAPH_META_SEGMENT as f, type GraphActorOptions as g, type GraphAttachStorageOptions as h, type GraphCheckpointRecord as i, type GraphDiagramDirection as j, type GraphDiagramOptions as k, type GraphDiffChange as l, type GraphDiffResult as m, type GraphFactoryContext as n, type GraphNodeFactory as o, type GraphObserveAll as p, type GraphObserveOne as q, type GraphProfileOptions as r, type GraphProfileResult as s, type GraphVersionChange as t, type GraphWALDiff as u, type ObserveEvent as v, type ObserveOptions as w, type ObserveResult as x, type ObserveTheme as y, type ObserveThemeName as z };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { A as Actor,
|
|
2
|
-
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-
|
|
3
|
-
import {
|
|
1
|
+
import { A as Actor, p as GraphReFlyConfig, V as VersioningLevel, a as Node, b as Messages, K as NodeSink } from './node-fSc-hCv8.cjs';
|
|
2
|
+
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-BGO6C7K9.cjs';
|
|
3
|
+
import { StorageHandle } from './extra/storage-core.cjs';
|
|
4
|
+
import { SnapshotStorageTier } from './extra/storage-tiers.cjs';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Causal walkback over a {@link Graph.describe} snapshot (roadmap §9.2).
|
|
@@ -356,8 +357,8 @@ type GraphFactoryContext = {
|
|
|
356
357
|
};
|
|
357
358
|
type GraphNodeFactory = (name: string, context: GraphFactoryContext) => Node;
|
|
358
359
|
/**
|
|
359
|
-
* Checkpoint record shape passed to `
|
|
360
|
-
* {@link Graph.
|
|
360
|
+
* Checkpoint record shape passed to `SnapshotStorageTier.save`. Written by
|
|
361
|
+
* {@link Graph.attachSnapshotStorage} per-tier according to each tier's
|
|
361
362
|
* `compactEvery` cadence.
|
|
362
363
|
*
|
|
363
364
|
* `mode: "full"` → full snapshot. Baseline anchor emitted on the first save
|
|
@@ -372,6 +373,7 @@ type GraphNodeFactory = (name: string, context: GraphFactoryContext) => Node;
|
|
|
372
373
|
* cross-version WAL replay).
|
|
373
374
|
*/
|
|
374
375
|
type GraphCheckpointRecord = {
|
|
376
|
+
name: string;
|
|
375
377
|
seq: number;
|
|
376
378
|
timestamp_ns: number;
|
|
377
379
|
format_version: number;
|
|
@@ -382,7 +384,7 @@ type GraphCheckpointRecord = {
|
|
|
382
384
|
mode: "diff";
|
|
383
385
|
diff: GraphWALDiff;
|
|
384
386
|
});
|
|
385
|
-
/** Options for {@link Graph.
|
|
387
|
+
/** Options for {@link Graph.attachSnapshotStorage}. */
|
|
386
388
|
type GraphAttachStorageOptions = {
|
|
387
389
|
/**
|
|
388
390
|
* Before the first save, attempt to restore from the first tier whose
|
|
@@ -392,7 +394,7 @@ type GraphAttachStorageOptions = {
|
|
|
392
394
|
autoRestore?: boolean;
|
|
393
395
|
/**
|
|
394
396
|
* Limit the subscription surface (scoped observe). By default
|
|
395
|
-
* `
|
|
397
|
+
* `attachSnapshotStorage` observes every node in the graph tree; on large graphs
|
|
396
398
|
* that's thousands of subscriptions just for tier-gating. Pass a path
|
|
397
399
|
* list (or a single glob) to observe only those nodes.
|
|
398
400
|
*/
|
|
@@ -400,7 +402,7 @@ type GraphAttachStorageOptions = {
|
|
|
400
402
|
/** Pre-save path-level filter — skip records triggered by paths that fail this predicate. */
|
|
401
403
|
filter?: (name: string, described: DescribeNodeOutput) => boolean;
|
|
402
404
|
/** Surfaced on tier save errors and autoRestore failures. */
|
|
403
|
-
onError?: (error: unknown, tier:
|
|
405
|
+
onError?: (error: unknown, tier: SnapshotStorageTier<GraphCheckpointRecord>) => void;
|
|
404
406
|
};
|
|
405
407
|
/**
|
|
406
408
|
* Event emitted by {@link Graph.topology} on every structural change to the
|
|
@@ -439,7 +441,7 @@ type GraphDiagramOptions = {
|
|
|
439
441
|
/**
|
|
440
442
|
* Snapshot format version (§3.8). Exported so the surface layer's
|
|
441
443
|
* `saveSnapshot` writes the same `format_version` as
|
|
442
|
-
* `Graph.
|
|
444
|
+
* `Graph.attachSnapshotStorage` — one source of truth prevents silent wire
|
|
443
445
|
* drift between auto-checkpoint and one-shot persistence paths.
|
|
444
446
|
*/
|
|
445
447
|
declare const SNAPSHOT_VERSION = 1;
|
|
@@ -782,6 +784,14 @@ declare class Graph {
|
|
|
782
784
|
* @param node - Node instance to own.
|
|
783
785
|
* @param opts - `{ name?, annotation? }`.
|
|
784
786
|
*/
|
|
787
|
+
/**
|
|
788
|
+
* O(1) reverse lookup — returns the name the given Node was registered
|
|
789
|
+
* under via {@link Graph.add}, or `undefined` if it isn't registered here.
|
|
790
|
+
*
|
|
791
|
+
* Audit 2 (2026-04-24): replaces the orchestration's `findRegisteredNodePath`
|
|
792
|
+
* O(nodes²) describe-scan with direct `WeakMap<Node, string>` lookup.
|
|
793
|
+
*/
|
|
794
|
+
nameOf(node: Node): string | undefined;
|
|
785
795
|
add<T extends Node>(node: T, opts?: {
|
|
786
796
|
name?: string;
|
|
787
797
|
annotation?: string;
|
|
@@ -903,6 +913,8 @@ declare class Graph {
|
|
|
903
913
|
* @returns The mounted `child`, for chaining.
|
|
904
914
|
*/
|
|
905
915
|
mount<G extends Graph>(name: string, child: G): G;
|
|
916
|
+
mount(name: string): Graph;
|
|
917
|
+
mount(name: string, builder: (sub: Graph) => void): Graph;
|
|
906
918
|
/**
|
|
907
919
|
* Look up a node by qualified path (§3.5). Segments are separated by `::`.
|
|
908
920
|
*
|
|
@@ -1206,7 +1218,7 @@ declare class Graph {
|
|
|
1206
1218
|
toJSON(): GraphPersistSnapshot;
|
|
1207
1219
|
/**
|
|
1208
1220
|
* Unified persistence surface (§3.8). Cascades snapshot records through
|
|
1209
|
-
* one or more {@link
|
|
1221
|
+
* one or more {@link SnapshotStorageTier}s, each with its own `debounceMs` /
|
|
1210
1222
|
* `compactEvery` cadence and independent diff baseline.
|
|
1211
1223
|
*
|
|
1212
1224
|
* Subscription gates on {@link messageTier} ≥ 3 (DATA/RESOLVED/terminal),
|
|
@@ -1220,7 +1232,7 @@ declare class Graph {
|
|
|
1220
1232
|
* share a single snapshot computation per observe event; debounced tiers
|
|
1221
1233
|
* compute their own snapshot when their timer fires.
|
|
1222
1234
|
*/
|
|
1223
|
-
|
|
1235
|
+
attachSnapshotStorage(tiers: readonly SnapshotStorageTier<GraphCheckpointRecord>[], options?: GraphAttachStorageOptions): StorageHandle;
|
|
1224
1236
|
/**
|
|
1225
1237
|
* Try tiers in order (hottest first); apply the first record that hits
|
|
1226
1238
|
* via {@link Graph.restore}. Returns `true` if any tier produced a
|
|
@@ -1237,7 +1249,7 @@ declare class Graph {
|
|
|
1237
1249
|
* the bad tier, some pre-existing). A subsequent successful tier's
|
|
1238
1250
|
* `restore()` overwrites the overlapping slices.
|
|
1239
1251
|
*
|
|
1240
|
-
* Internal helper shared by {@link Graph.
|
|
1252
|
+
* Internal helper shared by {@link Graph.attachSnapshotStorage}'s `autoRestore`
|
|
1241
1253
|
* option and the static {@link Graph.fromStorage} factory.
|
|
1242
1254
|
*/
|
|
1243
1255
|
private _cascadeRestore;
|
|
@@ -1253,14 +1265,14 @@ declare class Graph {
|
|
|
1253
1265
|
* @throws If no tier holds a restorable record matching `name` *and* no
|
|
1254
1266
|
* `factories` override is provided for dynamic nodes.
|
|
1255
1267
|
*/
|
|
1256
|
-
static fromStorage(name: string, tiers: readonly
|
|
1268
|
+
static fromStorage(name: string, tiers: readonly SnapshotStorageTier<GraphCheckpointRecord>[], opts?: GraphOptions & {
|
|
1257
1269
|
factories?: Record<string, GraphNodeFactory>;
|
|
1258
1270
|
/**
|
|
1259
1271
|
* Called when a tier throws during `load()` or when
|
|
1260
1272
|
* {@link Graph.fromSnapshot} rejects a tier's record. The cascade
|
|
1261
1273
|
* falls through to the next colder tier regardless.
|
|
1262
1274
|
*/
|
|
1263
|
-
onError?: (err: unknown, tier:
|
|
1275
|
+
onError?: (err: unknown, tier: SnapshotStorageTier<GraphCheckpointRecord>) => void;
|
|
1264
1276
|
}): Promise<Graph>;
|
|
1265
1277
|
private _annotations;
|
|
1266
1278
|
private readonly _traceRing;
|
|
@@ -1350,7 +1362,7 @@ type GraphDiffResult = {
|
|
|
1350
1362
|
* slice for each added path so {@link replayWAL} can reconstruct nodes added
|
|
1351
1363
|
* between full anchors (topology mutations inside a `compactEvery` window).
|
|
1352
1364
|
*
|
|
1353
|
-
* `Graph.diff()` returns the audit shape (no payload); `
|
|
1365
|
+
* `Graph.diff()` returns the audit shape (no payload); `attachSnapshotStorage` writes
|
|
1354
1366
|
* this WAL shape. The two shapes stay structurally compatible — `GraphWALDiff`
|
|
1355
1367
|
* is a superset.
|
|
1356
1368
|
*/
|
|
@@ -1445,4 +1457,4 @@ declare function reachable(described: GraphDescribeOutput, from: string, directi
|
|
|
1445
1457
|
}): ReachableResult;
|
|
1446
1458
|
declare function reachable(described: GraphDescribeOutput, from: string, direction: ReachableDirection, options?: ReachableOptions): string[];
|
|
1447
1459
|
|
|
1448
|
-
export { type ReachableOptions as A, type TraceEntry as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, diffForWAL as F, Graph as G, explainPath as H, graphProfile as I, mermaidLiveUrl as J, reachable as K, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type
|
|
1460
|
+
export { type ReachableOptions as A, type TraceEntry as B, type CausalChain as C, type DescribeFilter as D, type ExplainPathOptions as E, diffForWAL as F, Graph as G, explainPath as H, graphProfile as I, mermaidLiveUrl as J, reachable as K, type NodeProfile as N, type ObserveDetail as O, type ReachableDirection as R, SNAPSHOT_VERSION as S, type TopologyEvent as T, type GraphOptions as a, type GraphPersistSnapshot as b, type GraphDescribeOptions as c, type GraphDescribeOutput as d, type CausalStep as e, GRAPH_META_SEGMENT as f, type GraphActorOptions as g, type GraphAttachStorageOptions as h, type GraphCheckpointRecord as i, type GraphDiagramDirection as j, type GraphDiagramOptions as k, type GraphDiffChange as l, type GraphDiffResult as m, type GraphFactoryContext as n, type GraphNodeFactory as o, type GraphObserveAll as p, type GraphObserveOne as q, type GraphProfileOptions as r, type GraphProfileResult as s, type GraphVersionChange as t, type GraphWALDiff as u, type ObserveEvent as v, type ObserveOptions as w, type ObserveResult as x, type ObserveTheme as y, type ObserveThemeName as z };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Imperative-controller-with-audit helper layer (Audit 2 — locked 2026-04-24).
|
|
3
|
+
*
|
|
4
|
+
* Five Phase-4 primitives share the same shape: imperative mutation methods +
|
|
5
|
+
* closure state + reactive audit log + freeze-at-entry + rollback-on-throw.
|
|
6
|
+
* This module factors out the common machinery so each primitive becomes
|
|
7
|
+
* declarative wiring over typed audit records:
|
|
8
|
+
* - `gate`, `pipeline.gate` (Wave A.2 Unit 8)
|
|
9
|
+
* - `JobQueueGraph` (Wave B.3 Unit 15)
|
|
10
|
+
* - `CqrsGraph.dispatch` (Wave C.2 Unit 20)
|
|
11
|
+
* - `CqrsGraph.saga` (Wave C.3 Unit 22)
|
|
12
|
+
* - `processManager` (Wave 7) [out of scope this commit]
|
|
13
|
+
*
|
|
14
|
+
* @internal — exposed for primitive impls only; not re-exported through any
|
|
15
|
+
* patterns/<x>/index.ts barrel.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** Shared base shape for every audit record. Per-primitive types extend this. */
|
|
19
|
+
interface BaseAuditRecord {
|
|
20
|
+
readonly t_ns: number;
|
|
21
|
+
readonly seq?: number;
|
|
22
|
+
readonly handlerVersion?: {
|
|
23
|
+
id: string;
|
|
24
|
+
version: string | number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type { BaseAuditRecord as B };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Imperative-controller-with-audit helper layer (Audit 2 — locked 2026-04-24).
|
|
3
|
+
*
|
|
4
|
+
* Five Phase-4 primitives share the same shape: imperative mutation methods +
|
|
5
|
+
* closure state + reactive audit log + freeze-at-entry + rollback-on-throw.
|
|
6
|
+
* This module factors out the common machinery so each primitive becomes
|
|
7
|
+
* declarative wiring over typed audit records:
|
|
8
|
+
* - `gate`, `pipeline.gate` (Wave A.2 Unit 8)
|
|
9
|
+
* - `JobQueueGraph` (Wave B.3 Unit 15)
|
|
10
|
+
* - `CqrsGraph.dispatch` (Wave C.2 Unit 20)
|
|
11
|
+
* - `CqrsGraph.saga` (Wave C.3 Unit 22)
|
|
12
|
+
* - `processManager` (Wave 7) [out of scope this commit]
|
|
13
|
+
*
|
|
14
|
+
* @internal — exposed for primitive impls only; not re-exported through any
|
|
15
|
+
* patterns/<x>/index.ts barrel.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** Shared base shape for every audit record. Per-primitive types extend this. */
|
|
19
|
+
interface BaseAuditRecord {
|
|
20
|
+
readonly t_ns: number;
|
|
21
|
+
readonly seq?: number;
|
|
22
|
+
readonly handlerVersion?: {
|
|
23
|
+
id: string;
|
|
24
|
+
version: string | number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type { BaseAuditRecord as B };
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import { a as Node } from './node-
|
|
2
|
-
import { G as Graph, a as GraphOptions } from './graph-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* Messaging patterns (roadmap §4.2).
|
|
6
|
-
*
|
|
7
|
-
* Pulsar-inspired messaging primitives modeled as graph factories:
|
|
8
|
-
* - `topic()` for append-only topic streams with a retained window.
|
|
9
|
-
* - `subscription()` for cursor-based consumers.
|
|
10
|
-
* - `topicBridge()` for autonomous topic-to-topic relay.
|
|
11
|
-
* - `messagingHub()` for a lazy topic registry.
|
|
12
|
-
*
|
|
13
|
-
* Job queue / job flow primitives live in `patterns/job-queue` — they are a
|
|
14
|
-
* distinct domain that happens to share reactive-log / reactive-map
|
|
15
|
-
* infrastructure with topics.
|
|
16
|
-
*/
|
|
1
|
+
import { a as Node } from './node-fSc-hCv8.cjs';
|
|
2
|
+
import { G as Graph, a as GraphOptions } from './graph-kTltt95s.cjs';
|
|
3
|
+
import { R as ReactiveLogBundle } from './reactive-log-CgbNqksB.cjs';
|
|
4
|
+
import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
|
|
17
5
|
|
|
18
6
|
type TopicOptions = {
|
|
19
7
|
graph?: GraphOptions;
|
|
8
|
+
/** Bounded retention; default 1024 per cross-cutting policy (Audit 2/4). */
|
|
20
9
|
retainedLimit?: number;
|
|
21
10
|
};
|
|
22
11
|
declare class TopicGraph<T> extends Graph {
|
|
@@ -42,14 +31,48 @@ declare class TopicGraph<T> extends Graph {
|
|
|
42
31
|
readonly hasLatest: Node<boolean>;
|
|
43
32
|
constructor(name: string, opts?: TopicOptions);
|
|
44
33
|
publish(value: T): void;
|
|
34
|
+
/**
|
|
35
|
+
* Wire one or more append-log storage tiers (Audit 4). Each tier receives
|
|
36
|
+
* appended events per wave; rollback honors the wave-as-transaction model.
|
|
37
|
+
*
|
|
38
|
+
* Named `attachEventStorage` (not `attachStorage`) to avoid colliding with
|
|
39
|
+
* the inherited {@link Graph.attachSnapshotStorage} which takes the
|
|
40
|
+
* snapshot-based `StorageTier[]` shape.
|
|
41
|
+
*
|
|
42
|
+
* @returns Disposer.
|
|
43
|
+
*/
|
|
44
|
+
attachEventStorage(tiers: readonly AppendLogStorageTier<T>[]): () => void;
|
|
45
45
|
retained(): readonly T[];
|
|
46
|
+
/** Internal log bundle — used by TopicBridgeGraph for `attach`. */
|
|
47
|
+
get _logBundle(): ReactiveLogBundle<T>;
|
|
46
48
|
}
|
|
47
49
|
type SubscriptionOptions = {
|
|
48
50
|
graph?: GraphOptions;
|
|
51
|
+
/**
|
|
52
|
+
* Starting cursor position.
|
|
53
|
+
* @deprecated Use `from` instead.
|
|
54
|
+
*/
|
|
49
55
|
cursor?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Starting position for the subscription.
|
|
58
|
+
* - `"retained"` (default) — cursor starts at 0; consumer sees all retained history.
|
|
59
|
+
* - `"now"` — cursor starts at current topic length; consumer ignores history.
|
|
60
|
+
* - `number` — explicit cursor position.
|
|
61
|
+
*/
|
|
62
|
+
from?: "now" | "retained" | number;
|
|
63
|
+
/**
|
|
64
|
+
* When this signal node emits DATA, the subscription auto-advances cursor
|
|
65
|
+
* to current `available.length`. Useful for "ack everything when X happens"
|
|
66
|
+
* patterns. The reactive edge `advanceOn → cursor` is visible in `explain()`.
|
|
67
|
+
*/
|
|
68
|
+
advanceOn?: Node<unknown>;
|
|
69
|
+
};
|
|
70
|
+
/** Result of {@link SubscriptionGraph.pullAndAck}. */
|
|
71
|
+
type PullAndAckResult<T> = {
|
|
72
|
+
items: readonly T[];
|
|
73
|
+
cursor: number;
|
|
50
74
|
};
|
|
51
75
|
declare class SubscriptionGraph<T> extends Graph {
|
|
52
|
-
readonly source: Node<readonly T[]>;
|
|
53
76
|
readonly cursor: Node<number>;
|
|
54
77
|
readonly available: Node<readonly T[]>;
|
|
55
78
|
/**
|
|
@@ -61,24 +84,74 @@ declare class SubscriptionGraph<T> extends Graph {
|
|
|
61
84
|
* still wires the data dependency across graph boundaries. D1(e).
|
|
62
85
|
*/
|
|
63
86
|
readonly topic: TopicGraph<T>;
|
|
87
|
+
private _disposed;
|
|
64
88
|
constructor(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions);
|
|
65
89
|
ack(count?: number): number;
|
|
66
|
-
pull(limit?: number
|
|
67
|
-
|
|
68
|
-
|
|
90
|
+
pull(limit?: number): readonly T[];
|
|
91
|
+
/**
|
|
92
|
+
* Atomic pull-and-acknowledge. Returns `{ items, cursor }` where `cursor`
|
|
93
|
+
* is the new cursor position after advancing. Under single-threaded JS the
|
|
94
|
+
* snapshot and advance are atomic; PY callers use a per-subscription Lock.
|
|
95
|
+
*
|
|
96
|
+
* Replaces `pull(limit, { ack: true })`.
|
|
97
|
+
*/
|
|
98
|
+
pullAndAck(limit?: number): PullAndAckResult<T>;
|
|
99
|
+
/**
|
|
100
|
+
* Release internal subscriptions and mark the subscription torn-down.
|
|
101
|
+
* Subsequent `pull`, `pullAndAck`, `ack` return empty / current cursor.
|
|
102
|
+
* Emits COMPLETE on `cursor` so derived consumers (e.g. `available`) see
|
|
103
|
+
* the termination signal. Also drains `addDisposer` callbacks (including
|
|
104
|
+
* the `keepalive(advancePump)` subscription) so no keepalive leak occurs.
|
|
105
|
+
*/
|
|
106
|
+
dispose(): void;
|
|
69
107
|
}
|
|
70
108
|
type TopicBridgeOptions<TIn, TOut> = {
|
|
71
109
|
graph?: GraphOptions;
|
|
72
110
|
cursor?: number;
|
|
73
111
|
maxPerPump?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Optional transform/filter applied to each item before republishing.
|
|
114
|
+
*
|
|
115
|
+
* **At-most-once with silent drop:** when `map` returns `undefined`, the
|
|
116
|
+
* input is consumed from the source cursor but NOT republished. Filtered
|
|
117
|
+
* items are not retained for retry. If you need filter-with-retry
|
|
118
|
+
* semantics, do the filtering in a downstream subscription on the bridged
|
|
119
|
+
* output rather than in the `map` function.
|
|
120
|
+
*/
|
|
74
121
|
map?: (value: TIn) => TOut | undefined;
|
|
75
122
|
};
|
|
76
123
|
declare class TopicBridgeGraph<TIn, TOut = TIn> extends Graph {
|
|
77
124
|
private readonly _sourceSub;
|
|
78
|
-
private readonly _target;
|
|
79
125
|
readonly bridgedCount: Node<number>;
|
|
126
|
+
/**
|
|
127
|
+
* Emits each mapped batch as DATA — gives downstream observers a reactive
|
|
128
|
+
* stream of bridged values. Also the link target for `target._log.attach`.
|
|
129
|
+
*/
|
|
130
|
+
readonly output: Node<readonly TOut[]>;
|
|
80
131
|
constructor(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>);
|
|
81
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Private pure data structure managing a named set of {@link TopicGraph}
|
|
135
|
+
* instances. Extracted from {@link MessagingHubGraph} for separation of
|
|
136
|
+
* concerns (B.2 Unit 14 lock: D — split into TopicRegistry + facade).
|
|
137
|
+
*
|
|
138
|
+
* Reusable if other domain consumers (e.g. cqrs.eventLogs) want a shared
|
|
139
|
+
* topic registry later.
|
|
140
|
+
*
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
declare class TopicRegistry {
|
|
144
|
+
private readonly _map;
|
|
145
|
+
/** Reactive monotonic version counter. Advances on topic create/remove. */
|
|
146
|
+
readonly version: Node<number>;
|
|
147
|
+
constructor(versionNode: Node<number>);
|
|
148
|
+
get size(): number;
|
|
149
|
+
has(name: string): boolean;
|
|
150
|
+
get<T>(name: string): TopicGraph<T> | undefined;
|
|
151
|
+
set<T>(name: string, t: TopicGraph<T>): void;
|
|
152
|
+
delete(name: string): boolean;
|
|
153
|
+
keys(): IterableIterator<string>;
|
|
154
|
+
}
|
|
82
155
|
type MessagingHubOptions = {
|
|
83
156
|
graph?: GraphOptions;
|
|
84
157
|
/**
|
|
@@ -93,6 +166,9 @@ type MessagingHubOptions = {
|
|
|
93
166
|
* instances with retention + cursor semantics. Topics are created on first
|
|
94
167
|
* access; `removeTopic(name)` unmounts and tears down via {@link Graph.remove}.
|
|
95
168
|
*
|
|
169
|
+
* Internally delegates to {@link TopicRegistry} for topic map management
|
|
170
|
+
* (B.2 Unit 14 lock: D facade split).
|
|
171
|
+
*
|
|
96
172
|
* **Relationship to `pubsub()` in `src/extra/pubsub.ts`:** `pubsub` is a
|
|
97
173
|
* lightweight last-value state hub (no retention, no cursors). `MessagingHubGraph`
|
|
98
174
|
* is the full messaging hub — retained message logs, cursor-based subscriptions,
|
|
@@ -101,12 +177,11 @@ type MessagingHubOptions = {
|
|
|
101
177
|
* @category patterns
|
|
102
178
|
*/
|
|
103
179
|
declare class MessagingHubGraph extends Graph {
|
|
104
|
-
private readonly
|
|
105
|
-
|
|
180
|
+
private readonly _registry;
|
|
181
|
+
/** Reactive monotonic version counter — advances on topic create/remove. */
|
|
182
|
+
readonly version: Node<number>;
|
|
106
183
|
private readonly _defaultTopicOptions;
|
|
107
184
|
constructor(name: string, opts?: MessagingHubOptions);
|
|
108
|
-
/** Monotonic counter advancing on topic create/remove. */
|
|
109
|
-
get version(): number;
|
|
110
185
|
/** Number of topics currently in the hub. */
|
|
111
186
|
get size(): number;
|
|
112
187
|
/** Checks topic existence without creating. */
|
|
@@ -181,12 +256,18 @@ declare function messagingHub(name: string, opts?: MessagingHubOptions): Messagi
|
|
|
181
256
|
declare function subscription<T>(name: string, topicGraph: TopicGraph<T>, opts?: SubscriptionOptions): SubscriptionGraph<T>;
|
|
182
257
|
/**
|
|
183
258
|
* Creates an autonomous cursor-based topic relay graph.
|
|
259
|
+
*
|
|
260
|
+
* When `opts.map` is provided, items where `map` returns `undefined` are
|
|
261
|
+
* consumed from the source cursor but NOT republished (at-most-once with
|
|
262
|
+
* silent drop). For filter-with-retry semantics, apply the filter in a
|
|
263
|
+
* downstream subscription on the bridge's `output` node instead.
|
|
184
264
|
*/
|
|
185
265
|
declare function topicBridge<TIn, TOut = TIn>(name: string, sourceTopic: TopicGraph<TIn>, targetTopic: TopicGraph<TOut>, opts?: TopicBridgeOptions<TIn, TOut>): TopicBridgeGraph<TIn, TOut>;
|
|
186
266
|
|
|
187
267
|
type index_MessagingHubGraph = MessagingHubGraph;
|
|
188
268
|
declare const index_MessagingHubGraph: typeof MessagingHubGraph;
|
|
189
269
|
type index_MessagingHubOptions = MessagingHubOptions;
|
|
270
|
+
type index_PullAndAckResult<T> = PullAndAckResult<T>;
|
|
190
271
|
type index_SubscriptionGraph<T> = SubscriptionGraph<T>;
|
|
191
272
|
declare const index_SubscriptionGraph: typeof SubscriptionGraph;
|
|
192
273
|
type index_SubscriptionOptions = SubscriptionOptions;
|
|
@@ -196,12 +277,14 @@ type index_TopicBridgeOptions<TIn, TOut> = TopicBridgeOptions<TIn, TOut>;
|
|
|
196
277
|
type index_TopicGraph<T> = TopicGraph<T>;
|
|
197
278
|
declare const index_TopicGraph: typeof TopicGraph;
|
|
198
279
|
type index_TopicOptions = TopicOptions;
|
|
280
|
+
type index_TopicRegistry = TopicRegistry;
|
|
281
|
+
declare const index_TopicRegistry: typeof TopicRegistry;
|
|
199
282
|
declare const index_messagingHub: typeof messagingHub;
|
|
200
283
|
declare const index_subscription: typeof subscription;
|
|
201
284
|
declare const index_topic: typeof topic;
|
|
202
285
|
declare const index_topicBridge: typeof topicBridge;
|
|
203
286
|
declare namespace index {
|
|
204
|
-
export { index_MessagingHubGraph as MessagingHubGraph, type index_MessagingHubOptions as MessagingHubOptions, index_SubscriptionGraph as SubscriptionGraph, type index_SubscriptionOptions as SubscriptionOptions, index_TopicBridgeGraph as TopicBridgeGraph, type index_TopicBridgeOptions as TopicBridgeOptions, index_TopicGraph as TopicGraph, type index_TopicOptions as TopicOptions, index_messagingHub as messagingHub, index_subscription as subscription, index_topic as topic, index_topicBridge as topicBridge };
|
|
287
|
+
export { index_MessagingHubGraph as MessagingHubGraph, type index_MessagingHubOptions as MessagingHubOptions, type index_PullAndAckResult as PullAndAckResult, index_SubscriptionGraph as SubscriptionGraph, type index_SubscriptionOptions as SubscriptionOptions, index_TopicBridgeGraph as TopicBridgeGraph, type index_TopicBridgeOptions as TopicBridgeOptions, index_TopicGraph as TopicGraph, type index_TopicOptions as TopicOptions, index_TopicRegistry as TopicRegistry, index_messagingHub as messagingHub, index_subscription as subscription, index_topic as topic, index_topicBridge as topicBridge };
|
|
205
288
|
}
|
|
206
289
|
|
|
207
|
-
export { MessagingHubGraph as M, SubscriptionGraph as S, TopicGraph as T, type MessagingHubOptions as a, type SubscriptionOptions as b, TopicBridgeGraph as c, type TopicBridgeOptions as d, type TopicOptions as e,
|
|
290
|
+
export { MessagingHubGraph as M, type PullAndAckResult as P, SubscriptionGraph as S, TopicGraph as T, type MessagingHubOptions as a, type SubscriptionOptions as b, TopicBridgeGraph as c, type TopicBridgeOptions as d, type TopicOptions as e, TopicRegistry as f, topicBridge as g, index as i, messagingHub as m, subscription as s, topic as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { w as watchTopologyTree } from './topology-tree-
|
|
1
|
+
import { p as GraphReFlyConfig } from './node-fSc-hCv8.js';
|
|
2
|
+
import { b as GraphPersistSnapshot, i as GraphCheckpointRecord, G as Graph, C as CausalChain, e as CausalStep, D as DescribeFilter, E as ExplainPathOptions, f as GRAPH_META_SEGMENT, g as GraphActorOptions, h as GraphAttachStorageOptions, c as GraphDescribeOptions, d as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, r as GraphProfileOptions, s as GraphProfileResult, t as GraphVersionChange, u as GraphWALDiff, N as NodeProfile, O as ObserveDetail, v as ObserveEvent, w as ObserveOptions, x as ObserveResult, y as ObserveTheme, z as ObserveThemeName, R as ReachableDirection, A as ReachableOptions, S as SNAPSHOT_VERSION, T as TopologyEvent, B as TraceEntry, F as diffForWAL, H as explainPath, I as graphProfile, J as mermaidLiveUrl, K as reachable } from './graph-Cv-8x0ZI.js';
|
|
3
|
+
import { w as watchTopologyTree } from './topology-tree-CJsT24DP.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Approximate in-memory size estimation for arbitrary JS values.
|
|
@@ -243,7 +243,7 @@ declare function registerBuiltinCodecs(config: GraphReFlyConfig): void;
|
|
|
243
243
|
* Reconstruct a snapshot from a WAL (sequence of {@link GraphCheckpointRecord}s).
|
|
244
244
|
*
|
|
245
245
|
* - Must start with a `"full"` record carrying a baseline snapshot — that's
|
|
246
|
-
* the anchor {@link Graph.
|
|
246
|
+
* the anchor {@link Graph.attachSnapshotStorage} always emits on the first flush
|
|
247
247
|
* of any tier (and every `compactEvery`-th flush thereafter).
|
|
248
248
|
* - Subsequent `"full"` entries (compaction points) **replace** the result
|
|
249
249
|
* wholesale.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as Messages, A as Actor, C as COMPLETE,
|
|
2
|
-
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-
|
|
3
|
-
import { A as AutoTrackOptions, D as DerivedFn, a as DynamicFn, E as EffectFn, P as PipeOperator, b as ProducerFn, T as TrackFn, c as autoTrackNode, d as derived, e as dynamicNode, f as effect, p as pipe, g as producer, s as state } from './sugar-
|
|
1
|
+
import { b as Messages, A as Actor, C as COMPLETE, g as COMPLETE_MSG, h as COMPLETE_ONLY_BATCH, D as DATA, i as DEFAULT_ACTOR, j as DIRTY, k as DIRTY_MSG, l as DIRTY_ONLY_BATCH, m as DepRecord, E as ERROR, F as FnCtx, n as GlobalInspectorEvent, o as GlobalInspectorHook, p as GraphReFlyConfig, G as GuardAction, q as GuardDenied, r as GuardDeniedDetails, H as HashFn, I as INVALIDATE, s as INVALIDATE_MSG, t as INVALIDATE_ONLY_BATCH, M as Message, u as MessageContext, v as MessageTypeRegistration, w as MessageTypeRegistrationInput, a as Node, c as NodeActions, x as NodeCtx, e as NodeDescribeKind, y as NodeFn, d as NodeFnCleanup, f as NodeGuard, z as NodeImpl, B as NodeInspectorHook, J as NodeInspectorHookEvent, N as NodeOptions, K as NodeSink, L as NodeStatus, O as NodeTransportOptions, Q as NodeVersionInfo, R as OnMessageHandler, S as OnSubscribeHandler, T as PAUSE, U as PolicyAllow, W as PolicyDeny, P as PolicyRuleData, X as RESOLVED, Y as RESOLVED_MSG, Z as RESOLVED_ONLY_BATCH, _ as RESUME, $ as RigorRecorder, a0 as START, a1 as START_MSG, a2 as SubscribeContext, a3 as TEARDOWN, a4 as TEARDOWN_MSG, a5 as TEARDOWN_ONLY_BATCH, a6 as V0, a7 as V1, V as VersioningLevel, a8 as VersioningOptions, a9 as accessHintForGuard, aa as advanceVersion, ab as configure, ac as createVersioning, ad as defaultConfig, ae as defaultHash, af as isV1, ag as node, ah as normalizeActor, ai as policy, aj as policyFromRules, ak as registerBuiltins } from './node-fSc-hCv8.js';
|
|
2
|
+
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-CC6EPdpK.js';
|
|
3
|
+
import { A as AutoTrackOptions, D as DerivedFn, a as DynamicFn, E as EffectFn, P as PipeOperator, b as ProducerFn, T as TrackFn, c as autoTrackNode, d as derived, e as dynamicNode, f as effect, p as pipe, g as producer, s as state } from './sugar-D13E2M_z.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Batch deferral for tier-3+ messages, plus per-node emit coalescing inside
|
|
@@ -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-Cv-8x0ZI.js';
|
|
2
|
+
import { M as MeasurementAdapter } from './reactive-layout-Btv0-efV.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Three-pane demo shell (roadmap §7.2).
|