@graphrefly/graphrefly 0.34.0 → 0.36.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-3U7IIQB2.js +1 -0
- package/dist/{chunk-YDWTVO4E.js → chunk-44QWWUA3.js} +1 -1
- package/dist/chunk-5CPPC75H.js +1 -0
- package/dist/chunk-5CZ3KIRJ.js +1 -0
- package/dist/chunk-5KPIYVCC.js +7 -0
- package/dist/{chunk-WBWBY6LI.js → chunk-5RTZ6DXG.js} +1 -1
- package/dist/{chunk-IPNJDNE7.js → chunk-5Z3AFBN7.js} +1 -1
- package/dist/{chunk-C5DINHNP.js → chunk-6G5YD37E.js} +1 -1
- package/dist/{chunk-TONEKQM3.js → chunk-7LYIKMW5.js} +1 -1
- package/dist/chunk-A5HZZYRK.js +1 -0
- package/dist/{chunk-CJMFZXIZ.js → chunk-AACJX2L7.js} +1 -1
- package/dist/chunk-AQC53OWG.js +1 -0
- package/dist/chunk-CE72X3WO.js +1 -0
- package/dist/chunk-CGA5RXO6.js +1 -0
- package/dist/chunk-D5RFJOZ2.js +1 -0
- package/dist/chunk-DBPFMCVH.js +1 -0
- package/dist/chunk-F36TA3ET.js +1 -0
- 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-GAOX6OPT.js → chunk-I57VSGRB.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-K5ZXJPWU.js +5 -0
- package/dist/{chunk-TZLEMGAK.js → chunk-KCE6WWJE.js} +2 -2
- package/dist/chunk-KL7CILPL.js +1 -0
- package/dist/chunk-KUVDFOJH.js +1 -0
- package/dist/{chunk-PBN426RU.js → chunk-LO3LO2TO.js} +1 -1
- package/dist/chunk-MQZWA3DF.js +1 -0
- package/dist/chunk-MYFR67PY.js +18 -0
- package/dist/{chunk-65WWQ5CB.js → chunk-N2GCKKKH.js} +5 -5
- package/dist/{chunk-KN2UMFT6.js → chunk-PCD2MU7X.js} +1 -1
- package/dist/{chunk-SFIM774L.js → chunk-PYEIPRSZ.js} +1 -1
- package/dist/chunk-Q7EUZ6NN.js +1 -0
- package/dist/{chunk-U2T2XWDA.js → chunk-QKUWS7CO.js} +1 -1
- package/dist/{chunk-Q46YJCQH.js → chunk-T6RPUERH.js} +1 -1
- package/dist/chunk-TQSTS3BY.js +1 -0
- package/dist/chunk-VN6RDSK2.js +1 -0
- package/dist/{chunk-UF746BQ4.js → chunk-XINLP35X.js} +1 -1
- package/dist/{chunk-A3GDELMY.js → chunk-YBA5N4XY.js} +7 -7
- package/dist/{chunk-INXDSJRC.js → chunk-YOUAVGHJ.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 +18 -18
- 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-2URa-V4S.d.cts +461 -0
- package/dist/{index-Ccv_61jG.d.cts → index-33mF4XyU.d.cts} +110 -27
- 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-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-CQtnGFrZ.d.cts → index-BC-xjOrd.d.cts} +7 -7
- package/dist/{index-ClKm7CFB.d.cts → index-BFuVcqL8.d.cts} +1 -1
- package/dist/index-BTJxM-wZ.d.ts +292 -0
- package/dist/{index-Jgl7ev9I.d.cts → index-BVNGEX7d.d.cts} +9 -9
- 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-zA1uVtk0.d.ts → index-BiomL7AW.d.ts} +1 -1
- package/dist/{index-BWiX5foT.d.ts → index-BjWZARLy.d.ts} +1 -1
- package/dist/{index-RJX4snyi.d.cts → index-BlRVj-7Q.d.cts} +21 -21
- package/dist/{index-Ds3Rz9m9.d.cts → index-BsZlbHM5.d.cts} +3 -3
- 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-p0bkNfby.d.cts → index-C4ig7whw.d.cts} +3 -3
- package/dist/{index-BRisOxlx.d.ts → index-CDvC1m5p.d.ts} +1 -1
- 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-Ced0dphF.d.ts → index-CVhBdCMf.d.ts} +9 -9
- package/dist/{index-b4a6Sg0R.d.ts → index-CZAixNU3.d.ts} +4 -4
- package/dist/index-Cjrpx2Mg.d.cts +171 -0
- 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-BUtCR0k6.d.ts → index-CsD0fqnO.d.ts} +7 -7
- package/dist/{index-ChZvMC4M.d.cts → index-CvUrRb4m.d.cts} +7 -7
- 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-nP13Qe6T.d.ts → index-DFe2Pk2u.d.ts} +1 -1
- package/dist/{index-IxinNgAH.d.cts → index-DHv2M7s8.d.cts} +16 -15
- package/dist/{index-Cn3taOmp.d.cts → index-DKp1CIbG.d.cts} +2 -2
- package/dist/{index-CoR-tOZA.d.cts → index-DLyQC5Ww.d.ts} +8 -7
- package/dist/{index-CNxdDb2e.d.ts → index-DSSsxS7B.d.ts} +3 -3
- package/dist/{index-DheNs40A.d.ts → index-DXSLMoma.d.ts} +2 -2
- package/dist/{index-BVTjuKeP.d.cts → index-D_QQ_dTD.d.cts} +1 -1
- 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-B5eS17Bz.d.ts → index-DtSVSKnd.d.ts} +47 -32
- package/dist/{index-Bi4ZP6Hc.d.ts → index-DxxvGTXp.d.ts} +110 -27
- package/dist/index-DzCQt2FJ.d.cts +292 -0
- package/dist/{index-D80nGRb9.d.ts → index-DzYTXMBz.d.ts} +3 -3
- package/dist/index-EfPb77rT.d.cts +26 -0
- package/dist/{index-B-KCkW4M.d.cts → index-GaW6Welt.d.cts} +4 -4
- package/dist/{index-D23g00HE.d.cts → index-HCp5ua_i.d.cts} +4 -4
- package/dist/{index-DupIl9wI.d.ts → index-JYtN9uqM.d.ts} +1 -1
- package/dist/index-KeBhbNg3.d.ts +461 -0
- package/dist/{index-BpjQanLs.d.cts → index-PluovH45.d.cts} +2 -2
- package/dist/{index-CbCNoogR.d.ts → index-Pu1Wa7en.d.ts} +16 -15
- package/dist/{index-ZIQaKIdY.d.cts → index-RJIY7QVW.d.cts} +47 -32
- 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-3L3RC3VJ.d.ts → index-isdlyeeO.d.ts} +7 -7
- package/dist/index-jA_OwwNg.d.ts +26 -0
- package/dist/{index-BFHpNSsV.d.ts → index-k67aNfqC.d.cts} +8 -7
- package/dist/index-kBUQj-rT.d.ts +171 -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-BlLBWSZ2.d.cts +120 -0
- package/dist/pipeline-graph-DdBoRu37.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-ScpWyqny.d.cts +196 -0
- package/dist/reactive-log-jirQsxMY.d.ts +196 -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
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { R as ReactiveLogBundle } from './reactive-log-ScpWyqny.cjs';
|
|
2
|
+
import { NodeInput } from './extra/sources.cjs';
|
|
3
|
+
import { AppendLogStorageTier } from './extra/storage-tiers.cjs';
|
|
4
|
+
import { B as BaseAuditRecord } from './imperative-audit-ahAE65a9.cjs';
|
|
5
|
+
import { C as CqrsEventMap, a as CqrsEvent, b as CqrsGraph } from './index-2URa-V4S.cjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Process Manager pattern (Phase 7 — roadmap §4.6, Audit 3 — locked 2026-04-24).
|
|
9
|
+
*
|
|
10
|
+
* Reactive long-running workflow primitive over CQRS event nodes.
|
|
11
|
+
* Correlates events across aggregates, tracks per-instance state, supports
|
|
12
|
+
* retries with backoff, and runs compensation on failure or explicit cancel.
|
|
13
|
+
*
|
|
14
|
+
* ## Architecture
|
|
15
|
+
*
|
|
16
|
+
* - Per-instance state lives in a `Map<correlationId, TState>` closure (in-memory).
|
|
17
|
+
* The `_process_<name>_started` synthetic event is dispatched per `start()`
|
|
18
|
+
* for an event-sourced audit trail using `correlationId` as `aggregateId`.
|
|
19
|
+
* Future state-snapshot persistence (`_process_<name>_state`) is reserved
|
|
20
|
+
* under the same `_process_<name>_*` namespace but not yet implemented;
|
|
21
|
+
* see `docs/optimizations.md` "Deferred follow-ups".
|
|
22
|
+
* - Watched-event subscriptions are imperative (coordinator role) — each
|
|
23
|
+
* watched CQRS event type is subscribed to via `entries.subscribe(...)`.
|
|
24
|
+
* These are NOT reactive node edges; the process manager is intentionally
|
|
25
|
+
* a coordinator that bridges reactive CQRS events into imperative instance logic.
|
|
26
|
+
* - Step execution uses `fromAny` to uniformly handle sync and async handlers.
|
|
27
|
+
* - Retry delays use `setTimeout` (same sanctioned pattern as `extra/resilience.ts`
|
|
28
|
+
* retry helper — this primitive is a coordinator, not a reactive pipeline stage).
|
|
29
|
+
* - Timer scheduling uses `fromTimer` from `extra/sources.ts` per spec §5.8.
|
|
30
|
+
* - Audit log uses `createAuditLog` per Audit 2.
|
|
31
|
+
*
|
|
32
|
+
* @module
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Discriminated union returned by each step handler.
|
|
37
|
+
*
|
|
38
|
+
* - `"continue"` — update state, optionally emit side-effect events and
|
|
39
|
+
* schedule a future synthetic event.
|
|
40
|
+
* - `"terminate"` — workflow complete; instance moves to `"terminated"`.
|
|
41
|
+
* - `"fail"` — triggers compensation; instance moves to `"compensated"` /
|
|
42
|
+
* `"failed"`.
|
|
43
|
+
*/
|
|
44
|
+
type ProcessStepResult<TState> = {
|
|
45
|
+
kind: "continue";
|
|
46
|
+
state: TState;
|
|
47
|
+
emit?: readonly {
|
|
48
|
+
type: string;
|
|
49
|
+
payload: unknown;
|
|
50
|
+
}[];
|
|
51
|
+
schedule?: ProcessSchedule;
|
|
52
|
+
} | {
|
|
53
|
+
kind: "terminate";
|
|
54
|
+
state: TState;
|
|
55
|
+
emit?: readonly {
|
|
56
|
+
type: string;
|
|
57
|
+
payload: unknown;
|
|
58
|
+
}[];
|
|
59
|
+
reason?: string;
|
|
60
|
+
} | {
|
|
61
|
+
kind: "fail";
|
|
62
|
+
error: unknown;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Schedule a synthetic timer event after `afterMs` milliseconds.
|
|
66
|
+
* When the timer fires, the synthetic event of `eventType` is routed to the
|
|
67
|
+
* matching step (if one is registered) for this correlationId.
|
|
68
|
+
*/
|
|
69
|
+
type ProcessSchedule = {
|
|
70
|
+
afterMs: number;
|
|
71
|
+
eventType: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Step handler signature.
|
|
75
|
+
*
|
|
76
|
+
* Receives the current instance state and the triggering CQRS event.
|
|
77
|
+
* Returns a {@link ProcessStepResult} — sync value, Promise, or any
|
|
78
|
+
* {@link NodeInput} consumed via `fromAny`.
|
|
79
|
+
*/
|
|
80
|
+
type ProcessStep<TState, EM extends CqrsEventMap, K extends keyof EM & string> = (state: TState, event: CqrsEvent<EM[K]>) => NodeInput<ProcessStepResult<TState>>;
|
|
81
|
+
/**
|
|
82
|
+
* Compensation handler. Runs when a step returns `kind: "fail"`, throws, or
|
|
83
|
+
* when `cancel(correlationId)` is called on a running instance.
|
|
84
|
+
*
|
|
85
|
+
* Should undo any side effects performed by prior steps (refund, cancel
|
|
86
|
+
* reservation, etc.). Errors thrown inside compensate are swallowed and
|
|
87
|
+
* recorded in the audit log with `status: "failed"` to prevent cascading
|
|
88
|
+
* failure loops.
|
|
89
|
+
*/
|
|
90
|
+
type ProcessCompensate<TState> = (state: TState, error: unknown) => NodeInput<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Audit record for a single process instance state transition.
|
|
93
|
+
*
|
|
94
|
+
* Every status change (start → running → terminated / failed / compensated)
|
|
95
|
+
* appends one record. `correlationId` is the stable process key.
|
|
96
|
+
*
|
|
97
|
+
* Extends {@link BaseAuditRecord} so records carry `t_ns` / `seq` /
|
|
98
|
+
* `handlerVersion` from the cross-cutting Audit 2 schema.
|
|
99
|
+
*/
|
|
100
|
+
interface ProcessInstance<TState> extends BaseAuditRecord {
|
|
101
|
+
/** Stable correlation key that identifies this process instance. */
|
|
102
|
+
readonly correlationId: string;
|
|
103
|
+
/** Most-recent instance state at this transition. */
|
|
104
|
+
readonly state: TState;
|
|
105
|
+
/** Current lifecycle status after this transition. */
|
|
106
|
+
readonly status: "running" | "terminated" | "failed" | "compensated";
|
|
107
|
+
/** Wall-clock nanoseconds when `start()` was called. */
|
|
108
|
+
readonly startedAt: number;
|
|
109
|
+
/** Wall-clock nanoseconds of this transition. */
|
|
110
|
+
readonly updatedAt: number;
|
|
111
|
+
/** Handler version stamped at transition time (Audit 5). */
|
|
112
|
+
readonly handlerVersion?: {
|
|
113
|
+
id: string;
|
|
114
|
+
version: string | number;
|
|
115
|
+
};
|
|
116
|
+
/** Optional human-readable reason for cancellation. Present only on `"compensated"` records produced by `cancel()`. */
|
|
117
|
+
readonly reason?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Recommended `keyOf` for storage tiers keyed by correlationId (Audit 2).
|
|
121
|
+
*/
|
|
122
|
+
declare const processInstanceKeyOf: <TState>(i: ProcessInstance<TState>) => string;
|
|
123
|
+
/**
|
|
124
|
+
* Options for {@link processManager}.
|
|
125
|
+
*/
|
|
126
|
+
interface ProcessManagerOpts<TState, EM extends CqrsEventMap> {
|
|
127
|
+
/** Initial state value for every new process instance. */
|
|
128
|
+
readonly initial: TState;
|
|
129
|
+
/** CQRS event types to watch for correlation routing. */
|
|
130
|
+
readonly watching: readonly (keyof EM & string)[];
|
|
131
|
+
/**
|
|
132
|
+
* Per-event-type step handlers. A step is invoked when a watched event's
|
|
133
|
+
* `correlationId` matches a running instance and the event type is in
|
|
134
|
+
* `steps`. Events with no matching step are silently ignored.
|
|
135
|
+
*/
|
|
136
|
+
readonly steps: {
|
|
137
|
+
[K in keyof EM & string]?: ProcessStep<TState, EM, K>;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Optional compensation handler. Runs on step `kind: "fail"` / step throw
|
|
141
|
+
* and on explicit `cancel()`. If omitted, instances fail silently with
|
|
142
|
+
* status `"failed"` instead of `"compensated"`.
|
|
143
|
+
*/
|
|
144
|
+
readonly compensate?: ProcessCompensate<TState>;
|
|
145
|
+
/**
|
|
146
|
+
* Optional predicate called after each `"continue"` step. When it returns
|
|
147
|
+
* `true`, the instance is moved to `"terminated"` immediately without
|
|
148
|
+
* waiting for a `"terminate"` step result.
|
|
149
|
+
*/
|
|
150
|
+
readonly isTerminal?: (state: TState) => boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Maximum number of retry attempts after a step throws (not counting the
|
|
153
|
+
* first attempt). Default: `0` (no retry — fail immediately on throw).
|
|
154
|
+
*/
|
|
155
|
+
readonly retryMax?: number;
|
|
156
|
+
/**
|
|
157
|
+
* Per-retry backoff delays in milliseconds. `backoffMs[i]` is the delay
|
|
158
|
+
* before attempt `i + 1`. If fewer entries than `retryMax`, the last entry
|
|
159
|
+
* is repeated. Default: `[0]` (no delay).
|
|
160
|
+
*
|
|
161
|
+
* **Implementation note:** retry delays are implemented with `setTimeout`
|
|
162
|
+
* (same sanctioned exception as `extra/resilience.ts`). This is a
|
|
163
|
+
* coordinator-layer primitive — `fromTimer` would require subscribing to
|
|
164
|
+
* an additional node per attempt, which would leak timer nodes without a
|
|
165
|
+
* clear disposal scope.
|
|
166
|
+
*/
|
|
167
|
+
readonly backoffMs?: readonly number[];
|
|
168
|
+
/** Handler version tag stamped onto audit records (Audit 5). */
|
|
169
|
+
readonly handlerVersion?: {
|
|
170
|
+
id: string;
|
|
171
|
+
version: string | number;
|
|
172
|
+
};
|
|
173
|
+
/** Optional persistence wiring (Audit 4). */
|
|
174
|
+
readonly persistence?: {
|
|
175
|
+
/**
|
|
176
|
+
* Wire the per-process synthetic state event stream to append-log tiers.
|
|
177
|
+
* Reuses `CqrsGraph.attachEventStorage` so events persist across restarts.
|
|
178
|
+
*/
|
|
179
|
+
eventStorage?: readonly AppendLogStorageTier<CqrsEvent>[];
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Result handle returned by {@link processManager}.
|
|
184
|
+
*/
|
|
185
|
+
interface ProcessManagerResult<TState> {
|
|
186
|
+
/**
|
|
187
|
+
* Reactive audit log of every process instance state transition.
|
|
188
|
+
* Every `start()`, step result, retry, cancellation, and compensation
|
|
189
|
+
* appends a {@link ProcessInstance} record.
|
|
190
|
+
*/
|
|
191
|
+
readonly instances: ReactiveLogBundle<ProcessInstance<TState>>;
|
|
192
|
+
/**
|
|
193
|
+
* Alias for {@link instances} (Audit 2 `.audit` duplication convention).
|
|
194
|
+
*/
|
|
195
|
+
readonly audit: ReactiveLogBundle<ProcessInstance<TState>>;
|
|
196
|
+
/**
|
|
197
|
+
* Start a new process instance identified by `correlationId`.
|
|
198
|
+
*
|
|
199
|
+
* Emits a synthetic `_process_<name>_started` event into the CQRS graph
|
|
200
|
+
* with `correlationId` as `aggregateId` so per-aggregate streams record
|
|
201
|
+
* the process lifecycle. If the correlationId already has an active
|
|
202
|
+
* (running) instance, this call is a no-op (idempotent).
|
|
203
|
+
*
|
|
204
|
+
* @param correlationId - Stable key for this workflow instance.
|
|
205
|
+
* @param initialPayload - Optional payload carried on the start event.
|
|
206
|
+
*/
|
|
207
|
+
start(correlationId: string, initialPayload?: unknown): void;
|
|
208
|
+
/**
|
|
209
|
+
* Cancel a running instance by correlationId.
|
|
210
|
+
*
|
|
211
|
+
* Triggers the `compensate` handler (if configured), then marks the
|
|
212
|
+
* instance as `"compensated"`. If the instance is not running, this is
|
|
213
|
+
* a no-op.
|
|
214
|
+
*
|
|
215
|
+
* @param correlationId - Instance to cancel.
|
|
216
|
+
* @param reason - Optional human-readable reason recorded in the audit log.
|
|
217
|
+
*/
|
|
218
|
+
cancel(correlationId: string, reason?: string): void;
|
|
219
|
+
/**
|
|
220
|
+
* Synchronous read of the current in-memory state for a correlationId.
|
|
221
|
+
* Returns `undefined` if the instance does not exist or has terminated.
|
|
222
|
+
*/
|
|
223
|
+
getState(correlationId: string): TState | undefined;
|
|
224
|
+
/**
|
|
225
|
+
* Release all watched-event subscriptions and stop processing new events.
|
|
226
|
+
*
|
|
227
|
+
* After `dispose()`, subsequent `start()` and `cancel()` calls are no-ops.
|
|
228
|
+
* In-flight async steps complete naturally; no new steps are dispatched.
|
|
229
|
+
*/
|
|
230
|
+
dispose(): void;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Create a process manager that coordinates long-running reactive workflows
|
|
234
|
+
* over a {@link CqrsGraph}.
|
|
235
|
+
*
|
|
236
|
+
* Process instances are identified by `correlationId`. Events from the watched
|
|
237
|
+
* event types are routed to per-instance step handlers when the event's
|
|
238
|
+
* `correlationId` matches a running instance.
|
|
239
|
+
*
|
|
240
|
+
* ```ts
|
|
241
|
+
* const app = cqrs<{ orderPlaced: { orderId: string }; paymentReceived: { amount: number } }>("orders");
|
|
242
|
+
*
|
|
243
|
+
* const pm = processManager(app, "fulfillment", {
|
|
244
|
+
* initial: { step: "awaiting-payment", total: 0 },
|
|
245
|
+
* watching: ["orderPlaced", "paymentReceived"],
|
|
246
|
+
* steps: {
|
|
247
|
+
* orderPlaced(state, event) {
|
|
248
|
+
* return { kind: "continue", state: { ...state, orderId: event.payload.orderId } };
|
|
249
|
+
* },
|
|
250
|
+
* paymentReceived(state, event) {
|
|
251
|
+
* return { kind: "terminate", state: { ...state, total: event.payload.amount } };
|
|
252
|
+
* },
|
|
253
|
+
* },
|
|
254
|
+
* compensate(state, _error) {
|
|
255
|
+
* // undo reservation, issue refund, etc.
|
|
256
|
+
* },
|
|
257
|
+
* retryMax: 2,
|
|
258
|
+
* backoffMs: [100, 500],
|
|
259
|
+
* });
|
|
260
|
+
*
|
|
261
|
+
* pm.start("order-123");
|
|
262
|
+
* app.dispatch("orderPlaced", { orderId: "order-123" }, { correlationId: "order-123" });
|
|
263
|
+
* ```
|
|
264
|
+
*
|
|
265
|
+
* @param cqrsGraph - The CQRS graph whose event streams the manager watches.
|
|
266
|
+
* @param name - Stable identifier for this process type; used for the
|
|
267
|
+
* synthetic event-type prefix `_process_<name>_*`. Currently emits
|
|
268
|
+
* `_process_<name>_started` per `start()`; the prefix is reserved for
|
|
269
|
+
* future `_state` / `_timer` channels.
|
|
270
|
+
* @param opts - Configuration: initial state, watched events, steps, retry,
|
|
271
|
+
* compensation, and optional persistence.
|
|
272
|
+
* @returns {@link ProcessManagerResult} with `instances` audit log and
|
|
273
|
+
* `start`, `cancel`, `getState` imperative controls.
|
|
274
|
+
*
|
|
275
|
+
* @category patterns
|
|
276
|
+
*/
|
|
277
|
+
declare function processManager<TState, EM extends CqrsEventMap = Record<string, unknown>>(cqrsGraph: CqrsGraph<EM>, name: string, opts: ProcessManagerOpts<TState, EM>): ProcessManagerResult<TState>;
|
|
278
|
+
|
|
279
|
+
type index_ProcessCompensate<TState> = ProcessCompensate<TState>;
|
|
280
|
+
type index_ProcessInstance<TState> = ProcessInstance<TState>;
|
|
281
|
+
type index_ProcessManagerOpts<TState, EM extends CqrsEventMap> = ProcessManagerOpts<TState, EM>;
|
|
282
|
+
type index_ProcessManagerResult<TState> = ProcessManagerResult<TState>;
|
|
283
|
+
type index_ProcessSchedule = ProcessSchedule;
|
|
284
|
+
type index_ProcessStep<TState, EM extends CqrsEventMap, K extends keyof EM & string> = ProcessStep<TState, EM, K>;
|
|
285
|
+
type index_ProcessStepResult<TState> = ProcessStepResult<TState>;
|
|
286
|
+
declare const index_processInstanceKeyOf: typeof processInstanceKeyOf;
|
|
287
|
+
declare const index_processManager: typeof processManager;
|
|
288
|
+
declare namespace index {
|
|
289
|
+
export { type index_ProcessCompensate as ProcessCompensate, type index_ProcessInstance as ProcessInstance, type index_ProcessManagerOpts as ProcessManagerOpts, type index_ProcessManagerResult as ProcessManagerResult, type index_ProcessSchedule as ProcessSchedule, type index_ProcessStep as ProcessStep, type index_ProcessStepResult as ProcessStepResult, index_processInstanceKeyOf as processInstanceKeyOf, index_processManager as processManager };
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export { type ProcessCompensate as P, type ProcessInstance as a, type ProcessManagerOpts as b, type ProcessManagerResult as c, type ProcessSchedule as d, type ProcessStep as e, type ProcessStepResult as f, processManager as g, index as i, processInstanceKeyOf as p };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as Node } from './node-
|
|
2
|
-
import { S as StatusValue, C as CircuitState, R as RateLimiterOptions, a as CircuitBreakerOptions, b as RetryOptions, F as FallbackInput, N as NS_PER_MS, c as NS_PER_SEC } from './resilience-
|
|
3
|
-
import { B as BudgetConstraint } from './index-
|
|
1
|
+
import { a as Node } from './node-fSc-hCv8.js';
|
|
2
|
+
import { S as StatusValue, C as CircuitState, R as RateLimiterOptions, a as CircuitBreakerOptions, b as RetryOptions, F as FallbackInput, N as NS_PER_MS, c as NS_PER_SEC } from './resilience-Bys63Cpd.js';
|
|
3
|
+
import { B as BudgetConstraint } from './index-DXSLMoma.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Resilience composition with correct nesting order (roadmap §9.0b).
|
|
@@ -0,0 +1,26 @@
|
|
|
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-BlLBWSZ2.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Orchestration patterns (roadmap §4.1).
|
|
5
|
+
*
|
|
6
|
+
* Domain-layer helpers that build workflow shapes on top of core + extra primitives.
|
|
7
|
+
* Exported under the `patterns.orchestration` namespace to avoid collisions with
|
|
8
|
+
* Phase 2 operator names (for example `gate`, `forEach`).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
declare const index_CatchOptions: typeof CatchOptions;
|
|
12
|
+
declare const index_ClassifyResult: typeof ClassifyResult;
|
|
13
|
+
declare const index_Decision: typeof Decision;
|
|
14
|
+
declare const index_DecisionAction: typeof DecisionAction;
|
|
15
|
+
declare const index_GateController: typeof GateController;
|
|
16
|
+
declare const index_GateOptions: typeof GateOptions;
|
|
17
|
+
declare const index_PipelineGraph: typeof PipelineGraph;
|
|
18
|
+
declare const index_StepRef: typeof StepRef;
|
|
19
|
+
declare const index_TerminalCause: typeof TerminalCause;
|
|
20
|
+
declare const index_decisionKeyOf: typeof decisionKeyOf;
|
|
21
|
+
declare const index_pipelineGraph: typeof pipelineGraph;
|
|
22
|
+
declare namespace index {
|
|
23
|
+
export { index_CatchOptions as CatchOptions, index_ClassifyResult as ClassifyResult, index_Decision as Decision, index_DecisionAction as DecisionAction, index_GateController as GateController, index_GateOptions as GateOptions, index_PipelineGraph as PipelineGraph, index_StepRef as StepRef, index_TerminalCause as TerminalCause, index_decisionKeyOf as decisionKeyOf, index_pipelineGraph as pipelineGraph };
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { index as i };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as Node } from './node-
|
|
2
|
-
import { R as ReactiveMapBundle } from './reactive-map-
|
|
3
|
-
import { a as GraphOptions, G as Graph, C as CausalChain } from './graph-
|
|
4
|
-
import { w as watchTopologyTree } from './topology-tree-
|
|
1
|
+
import { a as Node } from './node-fSc-hCv8.cjs';
|
|
2
|
+
import { R as ReactiveMapBundle } from './reactive-map-DmgeADH8.cjs';
|
|
3
|
+
import { a as GraphOptions, G as Graph, C as CausalChain } from './graph-kTltt95s.cjs';
|
|
4
|
+
import { w as watchTopologyTree } from './topology-tree-C50l9ARE.cjs';
|
|
5
5
|
|
|
6
6
|
/** Aggregate topology stats emitted by {@link LensGraph.stats}. */
|
|
7
7
|
interface TopologyStats {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { P as PolicyRuleData, a as Node, A as Actor } from './node-
|
|
2
|
-
import { G as Graph, a as GraphOptions,
|
|
3
|
-
import { P as PolicyEnforcerGraph, a as PolicyViolation } from './index-
|
|
4
|
-
import { T as TopicGraph } from './index-
|
|
1
|
+
import { P as PolicyRuleData, a as Node, A as Actor } from './node-fSc-hCv8.cjs';
|
|
2
|
+
import { G as Graph, a as GraphOptions, c as GraphDescribeOptions, d as GraphDescribeOutput, D as DescribeFilter } from './graph-kTltt95s.cjs';
|
|
3
|
+
import { P as PolicyEnforcerGraph, a as PolicyViolation } from './index-C4ig7whw.cjs';
|
|
4
|
+
import { T as TopicGraph } from './index-33mF4XyU.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Composable safety layer (roadmap §9.0b).
|