@graphrefly/graphrefly 0.38.0 → 0.40.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/budget-gate-CmmVtasH.d.ts +115 -0
- package/dist/budget-gate-DiP_nK0n.d.cts +115 -0
- package/dist/{cascading-BsJ4GbnS.d.ts → cascading-BNfxffgc.d.ts} +2 -2
- package/dist/{cascading-B25wxpRa.d.cts → cascading-Cxs1eztH.d.cts} +2 -2
- package/dist/chunk-2BX4NB34.js +3 -0
- package/dist/{chunk-6VFC334U.js → chunk-2DMKW2AD.js} +1 -1
- package/dist/{chunk-4BDQXBXE.js → chunk-2QXRYP7Q.js} +1 -1
- package/dist/chunk-32N3JALT.js +1 -0
- package/dist/chunk-35JTVPOX.js +1 -0
- package/dist/chunk-3G5U5QNE.js +5 -0
- package/dist/{chunk-PHXZRR6C.js → chunk-4I45FVQS.js} +1 -1
- package/dist/{chunk-B5S7KTGP.js → chunk-6I726LZU.js} +1 -1
- package/dist/{chunk-NV63VQHI.js → chunk-6VWBPSSY.js} +1 -1
- package/dist/chunk-6XVD5TZV.js +1 -0
- package/dist/chunk-756D5TFD.js +1 -0
- package/dist/{chunk-DSOVKKTI.js → chunk-7Q4ZD3YW.js} +1 -1
- package/dist/{chunk-TMVY7OWG.js → chunk-B7LCDQEV.js} +1 -1
- package/dist/chunk-C72GO4IZ.js +1 -0
- package/dist/{chunk-RZ5HKPGI.js → chunk-CKFQS2CJ.js} +1 -1
- package/dist/chunk-D27JNOLZ.js +1 -0
- package/dist/chunk-ECQRP2UT.js +1 -0
- package/dist/{chunk-6773HURD.js → chunk-FHRBBHJN.js} +1 -1
- package/dist/{chunk-UVLZX2OU.js → chunk-I2DEVPMU.js} +1 -1
- package/dist/chunk-INQFTVZA.js +61 -0
- package/dist/{chunk-6KZZ6XQE.js → chunk-J63M5U46.js} +1 -1
- package/dist/{chunk-POCWFIJ7.js → chunk-JKBOIJ22.js} +1 -1
- package/dist/chunk-K2Z7UENB.js +1 -0
- package/dist/chunk-L6NSJVJZ.js +1 -0
- package/dist/{chunk-K5C67OGE.js → chunk-LCGAVGGV.js} +2 -2
- package/dist/chunk-LYM4PBMV.js +1 -0
- package/dist/{chunk-O2BLVQU4.js → chunk-MNZIKXK4.js} +1 -1
- package/dist/chunk-N43XM7BM.js +1 -0
- package/dist/{chunk-FWGIZP3W.js → chunk-OSZ22J7O.js} +1 -1
- package/dist/{chunk-FAYEMS5M.js → chunk-PPUYQ66A.js} +1 -1
- package/dist/{chunk-SP5O2MIX.js → chunk-QSK3RRII.js} +1 -1
- package/dist/chunk-RZJDIV2G.js +1 -0
- package/dist/chunk-SSCGRYJ2.js +1 -0
- package/dist/chunk-SVFKHUCW.js +1 -0
- package/dist/chunk-TSOYJ743.js +1 -0
- package/dist/{chunk-O245YLM5.js → chunk-UWA6D7UF.js} +1 -1
- package/dist/chunk-VMF23LGB.js +1 -0
- package/dist/chunk-WL6LFPJB.js +1 -0
- package/dist/chunk-WUT362QV.js +1 -0
- package/dist/chunk-XJLYLLIJ.js +1 -0
- package/dist/{chunk-IBGE62GZ.js → chunk-XW4YDF6G.js} +1 -1
- package/dist/chunk-YKD7WUYJ.js +43 -0
- package/dist/{chunk-7KZZLWZ6.js → chunk-YXDRGKXP.js} +1 -1
- package/dist/chunk-Z4F3DOWS.js +84 -0
- package/dist/compat/index.cjs +9 -13
- package/dist/compat/index.d.cts +16 -16
- package/dist/compat/index.d.ts +16 -16
- package/dist/compat/index.js +1 -1
- package/dist/compat/jotai/index.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 +7 -11
- package/dist/compat/nestjs/index.d.cts +8 -8
- package/dist/compat/nestjs/index.d.ts +8 -8
- package/dist/compat/nestjs/index.js +1 -1
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/zustand/index.cjs +3 -7
- package/dist/compat/zustand/index.d.cts +4 -4
- package/dist/compat/zustand/index.d.ts +4 -4
- package/dist/compat/zustand/index.js +1 -1
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +1 -1
- package/dist/{composite-DTOlDuch.d.ts → decay-BnrlbxSv.d.ts} +39 -3
- package/dist/{composite-CgG0MqHm.d.cts → decay-C25AyNAj.d.cts} +39 -3
- package/dist/extra/browser.d.cts +1 -1
- package/dist/extra/browser.d.ts +1 -1
- package/dist/extra/index.cjs +16 -20
- package/dist/extra/index.d.cts +11 -9
- package/dist/extra/index.d.ts +11 -9
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +2 -2
- package/dist/extra/node.d.cts +1 -1
- package/dist/extra/node.d.ts +1 -1
- package/dist/extra/node.js +1 -1
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +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 +3 -3
- package/dist/extra/reactive.d.ts +3 -3
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/render/index.cjs +5 -0
- package/dist/extra/render/index.d.cts +183 -0
- package/dist/extra/render/index.d.ts +183 -0
- package/dist/extra/render/index.js +1 -0
- package/dist/extra/sources.cjs +1 -1
- package/dist/extra/sources.d.cts +1 -1
- package/dist/extra/sources.d.ts +1 -1
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.d.cts +1 -1
- package/dist/extra/storage-browser.d.ts +1 -1
- package/dist/{fallback-axI2cXwt.d.cts → fallback-8JYU8tlT.d.cts} +1 -1
- package/dist/{fallback-DuEXfA4F.d.ts → fallback-CMZl39L5.d.ts} +1 -1
- package/dist/graph/index.cjs +7 -7
- package/dist/graph/index.d.cts +5 -5
- package/dist/graph/index.d.ts +5 -5
- package/dist/graph/index.js +1 -1
- package/dist/{graph-BjW1taJl.d.ts → graph-BkIkog4h.d.ts} +76 -100
- package/dist/{graph-CHsVwf9S.d.cts → graph-E6likq7w.d.cts} +76 -100
- package/dist/{index-CIcu6fIR.d.ts → index-2n8Eai6M.d.ts} +1 -1
- package/dist/{index-BwOsJfLJ.d.ts → index-3k4Gg6-n.d.ts} +3 -3
- package/dist/{index-BUFCHvOR.d.ts → index-40ZT4MHj.d.ts} +3 -3
- package/dist/index-8s-Qm-gz.d.ts +218 -0
- package/dist/index-A3U3CSve.d.cts +113 -0
- package/dist/{index-CDvC1m5p.d.ts → index-B2RUoIUz.d.ts} +1 -1
- package/dist/{index-Byp771zP.d.ts → index-B6iTqKtJ.d.ts} +2 -2
- package/dist/{index-D-B7U42V.d.cts → index-B72TQQHd.d.cts} +2 -2
- package/dist/{resilience-Bys63Cpd.d.ts → index-BAQrjuZF.d.ts} +202 -26
- package/dist/{index-BiomL7AW.d.ts → index-BJSZxSFX.d.ts} +1 -1
- package/dist/index-BQ1fR4li.d.ts +210 -0
- package/dist/{index-D7-RSD93.d.cts → index-BTHOTC0Q.d.cts} +4 -4
- package/dist/{index-CEVzBWeB.d.ts → index-BaA-xpSw.d.ts} +26 -19
- package/dist/{index-CAV-3RpJ.d.cts → index-Bd91Nmf4.d.cts} +4 -4
- package/dist/{index-BI1wMfyc.d.ts → index-BgjS2b8N.d.ts} +3 -3
- package/dist/{index-Bpr0Pwgl.d.cts → index-BiHUBEKq.d.cts} +3 -3
- package/dist/{index-UsU9ptzs.d.cts → index-BilOa6AE.d.cts} +55 -9
- package/dist/{index-DJVQ-t07.d.ts → index-BmSQLAZo.d.cts} +41 -48
- package/dist/{index-DTDVDzhA.d.ts → index-C-dkXOpB.d.cts} +56 -54
- package/dist/{index-B-ORMr3k.d.ts → index-C5cQ7Gfx.d.ts} +4 -4
- package/dist/{index-ML6vHKXK.d.ts → index-C6ZUaos7.d.ts} +1 -1
- package/dist/{index-Vz7KPfgz.d.ts → index-CAP3UGsq.d.ts} +1 -1
- package/dist/{index-BFaALJxR.d.ts → index-CD2dBMet.d.ts} +10 -8
- package/dist/index-CGhMJNHb.d.cts +128 -0
- package/dist/{index-B3D_z0Z6.d.cts → index-CL7oilfm.d.cts} +1 -1
- package/dist/{index-Bn0uZEL4.d.ts → index-CQtWm7jS.d.ts} +9 -9
- package/dist/{index-CM-i58FY.d.cts → index-CRm0YIzC.d.cts} +9 -9
- package/dist/index-CUIkE1l9.d.cts +230 -0
- package/dist/{index-CijfwEWx.d.ts → index-Cczxgd2D.d.ts} +2 -2
- package/dist/{index-CAbHN_rP.d.cts → index-CgnCFhr2.d.cts} +1 -1
- package/dist/{index-B2IUcH13.d.cts → index-Ck35nA-T.d.ts} +41 -48
- package/dist/{index-BpMZzX9P.d.cts → index-Cnr1WrlX.d.cts} +3 -3
- package/dist/{index-JYtN9uqM.d.ts → index-CoM4rzyB.d.ts} +1 -1
- package/dist/{index-Ckil6miL.d.cts → index-CtFNGe-m.d.cts} +2 -2
- package/dist/{index-BjWZARLy.d.ts → index-Ctb7_2sG.d.ts} +1 -1
- package/dist/index-CuPUehFa.d.cts +218 -0
- package/dist/index-D1Gc7wV5.d.ts +230 -0
- package/dist/{index-DqICM_I7.d.ts → index-D1IEZUsj.d.ts} +67 -9
- package/dist/{index-BFuVcqL8.d.cts → index-D3ayz3hy.d.cts} +1 -1
- package/dist/{index-CQsqqEVz.d.cts → index-D4uimgee.d.cts} +1 -1
- package/dist/{resilience-BWP2c7Af.d.cts → index-DGTo1yka.d.cts} +202 -26
- package/dist/{index-BmWuVdER.d.ts → index-DH4fm2Ck.d.ts} +2 -2
- package/dist/{index-BkQqf1EF.d.cts → index-DJ_MPOJ5.d.cts} +67 -9
- package/dist/{index-9xhIaM-w.d.cts → index-DOBLxOti.d.cts} +1 -1
- package/dist/{index-BqcgiSQg.d.cts → index-DQQCOIt8.d.cts} +10 -8
- package/dist/{index-DJNAWzcH.d.cts → index-DVAlsmEU.d.cts} +26 -19
- package/dist/index-DVDapw2k.d.cts +210 -0
- package/dist/{index-D_QQ_dTD.d.cts → index-DYTBbF8T.d.cts} +1 -1
- package/dist/{index-BgzPO43H.d.cts → index-DgJc8Zgc.d.cts} +6 -6
- package/dist/{index-Czk3r0yA.d.cts → index-DhLyOHYZ.d.ts} +56 -54
- package/dist/{index-CrlHFsiT.d.ts → index-DhnsQfa3.d.ts} +100 -118
- package/dist/{index-Bub6x_D4.d.cts → index-DktLSZOc.d.cts} +37 -90
- package/dist/{index-BaSy4L6w.d.cts → index-DpiGqtrs.d.cts} +100 -118
- package/dist/{index-D-HZ7sP4.d.ts → index-I1cCY3ZI.d.ts} +6 -6
- package/dist/{index-D9vBTuzo.d.ts → index-IUCY0OFN.d.ts} +4 -4
- package/dist/{index-DeSsvHDD.d.cts → index-MxYuWOrf.d.cts} +3 -3
- package/dist/index-N2MAxt7_.d.ts +128 -0
- package/dist/{index-CpZKtdMw.d.cts → index-PgwvGWa1.d.cts} +1 -1
- package/dist/{index-AUqWe_fX.d.ts → index-WSlcjhQF.d.ts} +55 -9
- package/dist/{index-Di7OdwlO.d.ts → index-bXXLSvor.d.ts} +37 -90
- package/dist/index-da2V5vPy.d.ts +113 -0
- package/dist/{index-DY2f2b9z.d.ts → index-eaQuGJnv.d.ts} +3 -3
- package/dist/{index-BsgxnHN8.d.cts → index-t6L2qpHh.d.cts} +3 -3
- package/dist/{index-C-3UXnHT.d.cts → index-tV3AA9hI.d.cts} +2 -2
- package/dist/{index-8OxXae3g.d.ts → index-yLt-aPMp.d.ts} +1 -1
- package/dist/{index-CqSJ25A9.d.cts → index-z8WFPVI8.d.cts} +1 -1
- package/dist/index.cjs +63 -59
- package/dist/index.d.cts +48 -47
- package/dist/index.d.ts +48 -47
- package/dist/index.js +1 -1
- package/dist/{meta-DreaEM_a.d.cts → meta-Ct9nqQS5.d.cts} +11 -7
- package/dist/{meta-BYqlATmg.d.ts → meta-D8OyedKp.d.ts} +11 -7
- package/dist/{node-fSc-hCv8.d.cts → node-BYInONRr.d.cts} +3 -3
- package/dist/{node-fSc-hCv8.d.ts → node-BYInONRr.d.ts} +3 -3
- package/dist/{observable-Cqty11jG.d.cts → observable-DMIlYJV1.d.cts} +1 -1
- package/dist/{observable-EAV_rNfM.d.ts → observable-DO8DDEzv.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 +16 -20
- package/dist/patterns/ai/index.d.cts +17 -17
- package/dist/patterns/ai/index.d.ts +17 -17
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +1 -1
- package/dist/patterns/ai/node.d.cts +4 -4
- package/dist/patterns/ai/node.d.ts +4 -4
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/audit/index.cjs +3 -7
- package/dist/patterns/audit/index.d.cts +6 -6
- package/dist/patterns/audit/index.d.ts +6 -6
- package/dist/patterns/audit/index.js +1 -1
- package/dist/patterns/cqrs/index.cjs +3 -7
- package/dist/patterns/cqrs/index.d.cts +6 -6
- package/dist/patterns/cqrs/index.d.ts +6 -6
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +5 -8
- package/dist/patterns/demo-shell/index.d.cts +5 -5
- package/dist/patterns/demo-shell/index.d.ts +5 -5
- package/dist/patterns/demo-shell/index.js +1 -1
- package/dist/patterns/domain-templates/index.cjs +3 -7
- package/dist/patterns/domain-templates/index.d.cts +4 -4
- package/dist/patterns/domain-templates/index.d.ts +4 -4
- package/dist/patterns/domain-templates/index.js +1 -1
- package/dist/patterns/graphspec/index.cjs +37 -37
- package/dist/patterns/graphspec/index.d.cts +5 -5
- package/dist/patterns/graphspec/index.d.ts +5 -5
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/guarded-execution/index.cjs +3 -7
- package/dist/patterns/guarded-execution/index.d.cts +7 -7
- package/dist/patterns/guarded-execution/index.d.ts +7 -7
- package/dist/patterns/guarded-execution/index.js +1 -1
- package/dist/patterns/harness/index.cjs +8 -12
- package/dist/patterns/harness/index.d.cts +12 -12
- package/dist/patterns/harness/index.d.ts +12 -12
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +3 -7
- package/dist/patterns/job-queue/index.d.cts +6 -6
- package/dist/patterns/job-queue/index.d.ts +6 -6
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/lens/index.cjs +3 -7
- package/dist/patterns/lens/index.d.cts +5 -6
- package/dist/patterns/lens/index.d.ts +5 -6
- package/dist/patterns/lens/index.js +1 -1
- package/dist/patterns/memory/index.cjs +3 -7
- package/dist/patterns/memory/index.d.cts +6 -6
- package/dist/patterns/memory/index.d.ts +6 -6
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +3 -7
- package/dist/patterns/messaging/index.d.cts +5 -5
- package/dist/patterns/messaging/index.d.ts +5 -5
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +3 -7
- package/dist/patterns/orchestration/index.d.cts +8 -8
- package/dist/patterns/orchestration/index.d.ts +8 -8
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/process/index.cjs +1 -1
- package/dist/patterns/process/index.d.cts +7 -7
- package/dist/patterns/process/index.d.ts +7 -7
- package/dist/patterns/process/index.js +1 -1
- package/dist/patterns/reactive-layout/index.cjs +4 -8
- package/dist/patterns/reactive-layout/index.d.cts +5 -5
- package/dist/patterns/reactive-layout/index.d.ts +5 -5
- package/dist/patterns/reactive-layout/index.js +1 -1
- package/dist/patterns/reduction/index.cjs +3 -7
- package/dist/patterns/reduction/index.d.cts +4 -4
- package/dist/patterns/reduction/index.d.ts +4 -4
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/refine-loop/index.cjs +5 -9
- package/dist/patterns/refine-loop/index.d.cts +6 -6
- package/dist/patterns/refine-loop/index.d.ts +6 -6
- package/dist/patterns/refine-loop/index.js +1 -1
- package/dist/patterns/resilient-pipeline/index.cjs +3 -1
- package/dist/patterns/resilient-pipeline/index.d.cts +6 -6
- package/dist/patterns/resilient-pipeline/index.d.ts +6 -6
- package/dist/patterns/resilient-pipeline/index.js +1 -1
- package/dist/patterns/surface/index.cjs +12 -16
- package/dist/patterns/surface/index.d.cts +6 -6
- package/dist/patterns/surface/index.d.ts +6 -6
- package/dist/patterns/surface/index.js +1 -1
- package/dist/{pipeline-graph-9JBbmRxA.d.ts → pipeline-graph-CB4La-UW.d.ts} +34 -17
- package/dist/{pipeline-graph-DuHpXSOn.d.cts → pipeline-graph-MWrQZXCq.d.cts} +34 -17
- package/dist/{reactive-layout-BMLDB4Vd.d.cts → reactive-layout-BtZfUKuL.d.cts} +2 -2
- package/dist/{reactive-layout-D-tRiNhg.d.ts → reactive-layout-KJj4E2dT.d.ts} +2 -2
- package/dist/{reactive-log-BgWSA1fg.d.ts → reactive-log-BlAsPLl2.d.ts} +2 -2
- package/dist/{reactive-log-C3IMAGpT.d.cts → reactive-log-_zeEnB9H.d.cts} +2 -2
- package/dist/{reactive-map-DmgeADH8.d.cts → reactive-map-6P_k3AQM.d.cts} +2 -2
- package/dist/{reactive-map-CHyeCf4D.d.ts → reactive-map-CjXByDV-.d.ts} +2 -2
- package/dist/resilience-S33JV6XC.js +1 -0
- package/dist/{sugar-D13E2M_z.d.ts → sugar-BhfjgetH.d.ts} +1 -1
- package/dist/{sugar-DgaGJcI6.d.cts → sugar-DzePN5-g.d.cts} +1 -1
- package/dist/{topology-tree-jrZue3ao.d.cts → topology-tree-3LBKFsUo.d.cts} +1 -1
- package/dist/{topology-tree-D47-nI6Z.d.ts → topology-tree-mF7Emqzm.d.ts} +1 -1
- package/dist/{types-BMSGPlpO.d.cts → types-1Dhoi7HM.d.cts} +1 -1
- package/dist/{types-CidcBDuk.d.ts → types-39jk0kaV.d.ts} +1 -1
- package/package.json +11 -1
- package/dist/chunk-2YFDSYEF.js +0 -1
- package/dist/chunk-5BGFS2XH.js +0 -1
- package/dist/chunk-CMTN3KPT.js +0 -80
- package/dist/chunk-DQJLC6YY.js +0 -1
- package/dist/chunk-G7JN6LCB.js +0 -1
- package/dist/chunk-KJEAIIIY.js +0 -43
- package/dist/chunk-LV3ACS5J.js +0 -1
- package/dist/chunk-NBGPXQSP.js +0 -1
- package/dist/chunk-NN3QPJ6U.js +0 -1
- package/dist/chunk-NSAZ6PR6.js +0 -1
- package/dist/chunk-O32GJOUJ.js +0 -1
- package/dist/chunk-QEVSIVSF.js +0 -1
- package/dist/chunk-QMC2PLNM.js +0 -7
- package/dist/chunk-QOJFR6GS.js +0 -1
- package/dist/chunk-SFK7MN7S.js +0 -1
- package/dist/chunk-TB7JKSVS.js +0 -61
- package/dist/chunk-UAXFKMAG.js +0 -1
- package/dist/chunk-XIMFHEKV.js +0 -1
- package/dist/chunk-XLMYQB6F.js +0 -1
- package/dist/chunk-XLYF4LBH.js +0 -1
- package/dist/imperative-audit-ahAE65a9.d.cts +0 -28
- package/dist/imperative-audit-ahAE65a9.d.ts +0 -28
- package/dist/index-5dNRlW7J.d.ts +0 -135
- package/dist/index-BWUMIt7J.d.cts +0 -135
- package/dist/index-BhzwpIJc.d.cts +0 -105
- package/dist/index-BsZk9T8y.d.ts +0 -105
- package/dist/index-C56XZiDe.d.cts +0 -163
- package/dist/index-CpdnP-0y.d.cts +0 -186
- package/dist/index-DKrIuF-r.d.ts +0 -163
- package/dist/index-DOU1Ee_k.d.ts +0 -186
- package/dist/resilience-LGBK236C.js +0 -1
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { D as DescribeNodeOutput } from './meta-Ct9nqQS5.cjs';
|
|
2
|
+
import { N as Node } from './node-BYInONRr.cjs';
|
|
3
|
+
import { G as Graph, b as GraphDescribeOutput } from './graph-E6likq7w.cjs';
|
|
4
|
+
import { L as LLMAdapter } from './types-1Dhoi7HM.cjs';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* LLM graph composition (roadmap §8.3).
|
|
7
8
|
*
|
|
8
9
|
* Declarative GraphSpec schema + compiler/decompiler for graph topology.
|
|
9
|
-
* The LLM designs graphs as JSON; compileSpec instantiates them;
|
|
10
|
-
* extracts them back. Templates support reusable subgraph
|
|
11
|
-
* edges express bounded cycles via §8.1 feedback().
|
|
10
|
+
* The LLM designs graphs as JSON; `compileSpec` instantiates them;
|
|
11
|
+
* `decompileSpec` extracts them back. Templates support reusable subgraph
|
|
12
|
+
* patterns. Feedback edges express bounded cycles via §8.1 feedback().
|
|
13
|
+
*
|
|
14
|
+
* **Tier 1.5.3 Phase 3 (2026-04-27):** `GraphSpec` is a structural alias of
|
|
15
|
+
* {@link GraphDescribeOutput} with two LLM-author-friendly extras
|
|
16
|
+
* (`templates?` / `feedback?`). Per-node factory references are encoded in
|
|
17
|
+
* `meta.factory` + `meta.factoryArgs` (no more `fn` / `source` / `config` /
|
|
18
|
+
* `initial` fields). State node initial values live in
|
|
19
|
+
* `meta.factoryArgs.initial` (state self-tags with
|
|
20
|
+
* `factoryTag("state", { initial })`).
|
|
12
21
|
*
|
|
13
22
|
* @module
|
|
14
23
|
*/
|
|
15
24
|
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/** Freeform config passed to the catalog fn/source factory. */
|
|
27
|
-
config?: Record<string, unknown>;
|
|
28
|
-
/** Initial value (for state nodes). */
|
|
29
|
-
initial?: unknown;
|
|
30
|
-
/** Human/LLM-readable metadata. */
|
|
31
|
-
meta?: Record<string, unknown>;
|
|
32
|
-
};
|
|
25
|
+
/**
|
|
26
|
+
* A single node declaration in a GraphSpec — structural alias of
|
|
27
|
+
* {@link DescribeNodeOutput}.
|
|
28
|
+
*
|
|
29
|
+
* Per-node factory provenance lives in `meta.factory` + `meta.factoryArgs`
|
|
30
|
+
* (use {@link factoryTag} to stamp them at construction time). State node
|
|
31
|
+
* initial values come through `meta.factoryArgs.initial` for tagged states,
|
|
32
|
+
* with fallback to `value` (since spec projection retains state values).
|
|
33
|
+
*/
|
|
34
|
+
type GraphSpecNode = DescribeNodeOutput;
|
|
33
35
|
/** Template instantiation node — expanded at compile time. */
|
|
34
36
|
type GraphSpecTemplateRef = {
|
|
35
37
|
type: "template";
|
|
@@ -56,25 +58,24 @@ type GraphSpecFeedbackEdge = {
|
|
|
56
58
|
/** Max iterations before stopping (default: 10). */
|
|
57
59
|
maxIterations?: number;
|
|
58
60
|
};
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Declarative graph topology for LLM composition (§8.3).
|
|
63
|
+
*
|
|
64
|
+
* Tier 1.5.3 Phase 3 (2026-04-27): structural alias of
|
|
65
|
+
* {@link GraphDescribeOutput} extended with optional `templates` /
|
|
66
|
+
* `feedback` fields for LLM-author convenience. Top-level `factory` /
|
|
67
|
+
* `factoryArgs` (Phase 2.5 carry) ride along on every describe output.
|
|
68
|
+
*
|
|
69
|
+
* Round-trip property: `decompileSpec(g) === g.describe({ detail: "spec" })`
|
|
70
|
+
* (modulo the small feedback-edge extraction sugar).
|
|
71
|
+
*/
|
|
72
|
+
type GraphSpec = Omit<GraphDescribeOutput, "nodes" | "expand"> & {
|
|
73
|
+
/** Node declarations (keyed by node name). Either a structural describe entry or a template ref. */
|
|
64
74
|
nodes: Record<string, GraphSpecNode | GraphSpecTemplateRef>;
|
|
65
|
-
/** Reusable subgraph templates. */
|
|
75
|
+
/** Reusable subgraph templates (LLM-author extra; not present in `describe()` output). */
|
|
66
76
|
templates?: Record<string, GraphSpecTemplate>;
|
|
67
|
-
/** Feedback edges (bounded cycles). */
|
|
77
|
+
/** Feedback edges (bounded cycles, LLM-author extra). */
|
|
68
78
|
feedback?: GraphSpecFeedbackEdge[];
|
|
69
|
-
/**
|
|
70
|
-
* Top-level factory identifier (Tier 1.5.3 Phase 2.5 — DG1=B). When set
|
|
71
|
-
* and `compileSpec` is given a `catalog.graphFactories[factory]` entry,
|
|
72
|
-
* the spec's reconstruction is delegated to that factory wholesale (the
|
|
73
|
-
* `nodes` / `edges` / `templates` fields below are not used).
|
|
74
|
-
*/
|
|
75
|
-
factory?: string;
|
|
76
|
-
/** JSON-serializable construction args, paired with `factory`. */
|
|
77
|
-
factoryArgs?: unknown;
|
|
78
79
|
};
|
|
79
80
|
/**
|
|
80
81
|
* Factory for creating a derived/effect/operator node from catalog.
|
|
@@ -237,26 +238,28 @@ type CompileSpecOptions = {
|
|
|
237
238
|
*/
|
|
238
239
|
declare function compileSpec(spec: GraphSpec, opts?: CompileSpecOptions): Graph;
|
|
239
240
|
/**
|
|
240
|
-
* Extract a GraphSpec from a running graph.
|
|
241
|
+
* Extract a {@link GraphSpec} from a running graph.
|
|
241
242
|
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
243
|
+
* Tier 1.5.3 Phase 3 (2026-04-27): thin projection over
|
|
244
|
+
* `graph.describe({ detail: "spec" })`. The describe-output already carries
|
|
245
|
+
* structural fields (`type`, `deps`, optional `value`) plus per-node
|
|
246
|
+
* `meta.factory` / `meta.factoryArgs` for tagged factories and top-level
|
|
247
|
+
* `factory` / `factoryArgs` for graph-level tags. The only sugar this helper
|
|
248
|
+
* adds is a feedback-edge recovery scan over `meta.feedbackFrom` /
|
|
249
|
+
* `meta.feedbackTo` companion fields stamped by the §8.1 `feedback()`
|
|
250
|
+
* primitive.
|
|
251
|
+
*
|
|
252
|
+
* **Removed in Phase 3:** template fingerprinting / `_templateName` /
|
|
253
|
+
* `_templateBind` recovery. Mounted subgraphs surface as nested `subname::*`
|
|
254
|
+
* paths in `desc.nodes`; if you need the template-instantiation form, build
|
|
255
|
+
* the spec by hand or read the meta companions directly.
|
|
246
256
|
*
|
|
247
257
|
* @param graph - Running graph to decompile.
|
|
248
258
|
* @returns A GraphSpec representation.
|
|
249
259
|
*
|
|
250
260
|
* @category patterns
|
|
251
261
|
*/
|
|
252
|
-
/**
|
|
253
|
-
* Tier 1.5.3 / D5 rename — `decompileSpec` is the canonical name post-Session A.1
|
|
254
|
-
* lock. Once Phase 3 lands `GraphSpec ≡ GraphDescribeOutput`, the body becomes
|
|
255
|
-
* `g.describe({ detail: "spec" })`. For now it delegates to the existing
|
|
256
|
-
* implementation so behavior is unchanged.
|
|
257
|
-
*/
|
|
258
262
|
declare function decompileSpec(graph: Graph): GraphSpec;
|
|
259
|
-
declare function decompileGraph(graph: Graph): GraphSpec;
|
|
260
263
|
/** A single change in a spec diff. */
|
|
261
264
|
type SpecDiffEntry = {
|
|
262
265
|
type: "added" | "removed" | "changed";
|
|
@@ -357,7 +360,6 @@ type index_SourceFactory = SourceFactory;
|
|
|
357
360
|
type index_SpecDiffEntry = SpecDiffEntry;
|
|
358
361
|
type index_SpecDiffResult = SpecDiffResult;
|
|
359
362
|
declare const index_compileSpec: typeof compileSpec;
|
|
360
|
-
declare const index_decompileGraph: typeof decompileGraph;
|
|
361
363
|
declare const index_decompileSpec: typeof decompileSpec;
|
|
362
364
|
declare const index_extractFnFactory: typeof extractFnFactory;
|
|
363
365
|
declare const index_extractSourceFactory: typeof extractSourceFactory;
|
|
@@ -370,7 +372,7 @@ declare const index_specDiff: typeof specDiff;
|
|
|
370
372
|
declare const index_validateSpec: typeof validateSpec;
|
|
371
373
|
declare const index_validateSpecAgainstCatalog: typeof validateSpecAgainstCatalog;
|
|
372
374
|
declare namespace index {
|
|
373
|
-
export { type index_CatalogFnEntry as CatalogFnEntry, type index_CatalogSourceEntry as CatalogSourceEntry, type index_CompileSpecOptions as CompileSpecOptions, type index_ConfigFieldSchema as ConfigFieldSchema, type index_FnFactory as FnFactory, type index_GraphFactory as GraphFactory, type index_GraphSpec as GraphSpec, type index_GraphSpecCatalog as GraphSpecCatalog, type index_GraphSpecFeedbackEdge as GraphSpecFeedbackEdge, type index_GraphSpecNode as GraphSpecNode, type index_GraphSpecTemplate as GraphSpecTemplate, type index_GraphSpecTemplateRef as GraphSpecTemplateRef, type index_GraphSpecValidation as GraphSpecValidation, type index_LLMComposeOptions as LLMComposeOptions, type index_LLMRefineOptions as LLMRefineOptions, type index_SourceFactory as SourceFactory, type index_SpecDiffEntry as SpecDiffEntry, type index_SpecDiffResult as SpecDiffResult, index_compileSpec as compileSpec,
|
|
375
|
+
export { type index_CatalogFnEntry as CatalogFnEntry, type index_CatalogSourceEntry as CatalogSourceEntry, type index_CompileSpecOptions as CompileSpecOptions, type index_ConfigFieldSchema as ConfigFieldSchema, type index_FnFactory as FnFactory, type index_GraphFactory as GraphFactory, type index_GraphSpec as GraphSpec, type index_GraphSpecCatalog as GraphSpecCatalog, type index_GraphSpecFeedbackEdge as GraphSpecFeedbackEdge, type index_GraphSpecNode as GraphSpecNode, type index_GraphSpecTemplate as GraphSpecTemplate, type index_GraphSpecTemplateRef as GraphSpecTemplateRef, type index_GraphSpecValidation as GraphSpecValidation, type index_LLMComposeOptions as LLMComposeOptions, type index_LLMRefineOptions as LLMRefineOptions, type index_SourceFactory as SourceFactory, type index_SpecDiffEntry as SpecDiffEntry, type index_SpecDiffResult as SpecDiffResult, index_compileSpec as compileSpec, index_decompileSpec as decompileSpec, index_extractFnFactory as extractFnFactory, index_extractSourceFactory as extractSourceFactory, index_generateCatalogPrompt as generateCatalogPrompt, index_isRichFnEntry as isRichFnEntry, index_isRichSourceEntry as isRichSourceEntry, index_llmCompose as llmCompose, index_llmRefine as llmRefine, index_specDiff as specDiff, index_validateSpec as validateSpec, index_validateSpecAgainstCatalog as validateSpecAgainstCatalog };
|
|
374
376
|
}
|
|
375
377
|
|
|
376
|
-
export {
|
|
378
|
+
export { type CatalogFnEntry as C, type FnFactory as F, type GraphSpec as G, type LLMComposeOptions as L, type SourceFactory as S, type CatalogSourceEntry as a, type ConfigFieldSchema as b, type GraphSpecCatalog as c, type GraphSpecFeedbackEdge as d, type GraphSpecNode as e, type GraphSpecTemplate as f, type GraphSpecTemplateRef as g, type GraphSpecValidation as h, index as i, type CompileSpecOptions as j, type GraphFactory as k, type LLMRefineOptions as l, type SpecDiffEntry as m, type SpecDiffResult as n, compileSpec as o, decompileSpec as p, extractFnFactory as q, extractSourceFactory as r, generateCatalogPrompt as s, isRichFnEntry as t, isRichSourceEntry as u, llmCompose as v, llmRefine as w, specDiff as x, validateSpec as y, validateSpecAgainstCatalog as z };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-DO8DDEzv.js';
|
|
2
2
|
import { OnModuleInit, OnModuleDestroy, ExecutionContext, CanActivate, DynamicModule } from '@nestjs/common';
|
|
3
3
|
import { ModuleRef } from '@nestjs/core';
|
|
4
|
-
import { G as Graph,
|
|
5
|
-
import { A as Actor } from './node-
|
|
6
|
-
import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-
|
|
4
|
+
import { G as Graph, c as GraphPersistSnapshot } from './graph-BkIkog4h.js';
|
|
5
|
+
import { A as Actor } from './node-BYInONRr.js';
|
|
6
|
+
import { c as CqrsOptions, b as CqrsGraph, a as CqrsEvent } from './index-CD2dBMet.js';
|
|
7
7
|
import { AppendLogStorageTier } from './extra/storage-tiers.js';
|
|
8
8
|
|
|
9
9
|
/** Class constructor key for decorator registries and Nest `ModuleRef.get()`. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-
|
|
1
|
+
import { C as CatchOptions, a as ClassifyResult, D as Decision, b as DecisionAction, G as GateController, c as GateOptions, P as PipelineGraph, S as StepRef, T as TerminalCause, d as decisionKeyOf, p as pipelineGraph } from './pipeline-graph-CB4La-UW.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Orchestration patterns (roadmap §4.1).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { N as Node } from './node-BYInONRr.js';
|
|
2
|
+
import { B as BaseAuditRecord } from './index-BQ1fR4li.js';
|
|
3
|
+
import { a as ReactiveLogBundle } from './reactive-log-BlAsPLl2.js';
|
|
3
4
|
import { AppendLogStorageTier } from './extra/storage-tiers.js';
|
|
4
|
-
import { a as GraphOptions, G as Graph } from './graph-
|
|
5
|
-
import { B as BaseAuditRecord } from './imperative-audit-ahAE65a9.js';
|
|
5
|
+
import { a as GraphOptions, G as Graph } from './graph-BkIkog4h.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* CQRS patterns (roadmap §4.5).
|
|
@@ -64,13 +64,14 @@ declare const cqrsEventKeyOf: (e: CqrsEvent) => string;
|
|
|
64
64
|
interface DispatchRecord<T = unknown> extends BaseAuditRecord {
|
|
65
65
|
readonly commandName: string;
|
|
66
66
|
readonly payload: T;
|
|
67
|
-
|
|
67
|
+
/** Action result. Tier 1.6.2 canonical enum (renamed from `status`). */
|
|
68
|
+
readonly outcome: "success" | "failure";
|
|
68
69
|
readonly error?: unknown;
|
|
69
70
|
readonly errorType?: string;
|
|
70
71
|
/**
|
|
71
72
|
* Event names emitted by the handler.
|
|
72
|
-
* - `
|
|
73
|
-
* - `
|
|
73
|
+
* - `outcome: "success"`: events that persisted in the event log.
|
|
74
|
+
* - `outcome: "failure"`: events the handler ATTEMPTED to emit before throwing;
|
|
74
75
|
* they were rolled back and did NOT persist. Documents the failed attempt's
|
|
75
76
|
* intentions for debugging handler logic. The actual event log shows only
|
|
76
77
|
* what's durable.
|
|
@@ -80,7 +81,8 @@ interface DispatchRecord<T = unknown> extends BaseAuditRecord {
|
|
|
80
81
|
declare const dispatchKeyOf: <T>(r: DispatchRecord<T>) => string;
|
|
81
82
|
interface SagaInvocation<T = unknown> extends BaseAuditRecord {
|
|
82
83
|
readonly eventType: string;
|
|
83
|
-
|
|
84
|
+
/** Action result. Tier 1.6.2 canonical enum (renamed from `status`). */
|
|
85
|
+
readonly outcome: "success" | "failure";
|
|
84
86
|
readonly error?: unknown;
|
|
85
87
|
readonly errorType?: string;
|
|
86
88
|
readonly aggregateId?: string;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { N as Node } from './node-BYInONRr.cjs';
|
|
2
|
+
import { b as GraphDescribeOutput, G as Graph } from './graph-E6likq7w.cjs';
|
|
3
|
+
import { w as watchTopologyTree } from './topology-tree-3LBKFsUo.cjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Reactive graph observability preset (Tier 5.3 reshape — Session A.4 lock).
|
|
7
|
+
*
|
|
8
|
+
* `graphLens(target)` is a thin compositor (~30 LOC of glue) over two
|
|
9
|
+
* already-shipped reactive primitives:
|
|
10
|
+
*
|
|
11
|
+
* - `target.describe({ reactive: true })` — live topology snapshot.
|
|
12
|
+
* - `target.observe({ reactive: true, tiers: ["data"] })` — coalesced data
|
|
13
|
+
* changesets per outermost batch flush.
|
|
14
|
+
*
|
|
15
|
+
* It returns three Nodes plus a dispose function:
|
|
16
|
+
*
|
|
17
|
+
* - `topology: Node<GraphDescribeOutput>` — the live describe snapshot,
|
|
18
|
+
* re-emitting on every settle of the target tree (structural change,
|
|
19
|
+
* error/complete/teardown transition).
|
|
20
|
+
* - `health: Node<HealthReport>` — `{ok, problems[]}` aggregated from the
|
|
21
|
+
* live describe; `ok=false` when any node enters `"errored"` status,
|
|
22
|
+
* with `upstreamCause` walked backward through deps.
|
|
23
|
+
* - `flow: Node<ReadonlyMap<string, FlowEntry>>` — per-path DATA counters
|
|
24
|
+
* accumulating as `target.observe({reactive: true, tiers: ["data"]})`
|
|
25
|
+
* delivers changesets. The map is reconciled against `topology` on each
|
|
26
|
+
* topology change so removed nodes drop their entries.
|
|
27
|
+
*
|
|
28
|
+
* Pre-Tier-5.3 shipped a `LensGraph` class with `stats` / `health` / `flow`
|
|
29
|
+
* (as a `ReactiveMapBundle`) / `why(from, to)` / `flowEntryNode(...)`. The
|
|
30
|
+
* surface collapsed because every concern was already a one-liner over
|
|
31
|
+
* `describe({reactive:true})` + `observe({reactive:true, tiers})` once those
|
|
32
|
+
* landed in Tier 1.5.1 / 1.5.2 — the class added no protocol-level concept,
|
|
33
|
+
* just glue. Callers who need topology stats compose a derived over
|
|
34
|
+
* `topology` directly; callers who need a causal chain call
|
|
35
|
+
* `target.explain(from, to, { reactive: true })`.
|
|
36
|
+
*
|
|
37
|
+
* The transitive topology-subscription helper {@link watchTopologyTree} is
|
|
38
|
+
* re-exported here for downstream factories that need full-tree dynamic
|
|
39
|
+
* coverage without taking a dep on `graph/`.
|
|
40
|
+
*
|
|
41
|
+
* @module
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/** A single health problem entry. */
|
|
45
|
+
interface HealthProblem {
|
|
46
|
+
path: string;
|
|
47
|
+
/** V1 only reports `"errored"`. Future versions may add `"completed"`, `"disconnected"`. */
|
|
48
|
+
status: "errored";
|
|
49
|
+
/** First errored upstream ancestor along the dep chain, when one exists and is distinct from `path`. */
|
|
50
|
+
upstreamCause?: string;
|
|
51
|
+
}
|
|
52
|
+
/** Aggregate health snapshot. `ok=true` iff `problems.length === 0`. */
|
|
53
|
+
interface HealthReport {
|
|
54
|
+
ok: boolean;
|
|
55
|
+
problems: readonly HealthProblem[];
|
|
56
|
+
}
|
|
57
|
+
/** Per-path flow entry stored in the {@link GraphLensView.flow} map. */
|
|
58
|
+
interface FlowEntry {
|
|
59
|
+
path: string;
|
|
60
|
+
/** Cumulative DATA emissions observed since the lens activated. */
|
|
61
|
+
count: number;
|
|
62
|
+
/** Monotonic ns at the most recent DATA emission for this path, or `null` if none yet. */
|
|
63
|
+
lastUpdate_ns: number | null;
|
|
64
|
+
}
|
|
65
|
+
/** Output of {@link graphLens}. */
|
|
66
|
+
interface GraphLensView {
|
|
67
|
+
/** Live describe snapshot. Re-emits on structural change AND status transitions. */
|
|
68
|
+
topology: Node<GraphDescribeOutput>;
|
|
69
|
+
/** Live `{ok, problems[]}`. Aggregated from `topology`; equality-deduped. */
|
|
70
|
+
health: Node<HealthReport>;
|
|
71
|
+
/** Per-path DATA counter map. Re-emits per outermost batch flush. */
|
|
72
|
+
flow: Node<ReadonlyMap<string, FlowEntry>>;
|
|
73
|
+
/**
|
|
74
|
+
* Tear down the underlying `describe({reactive:true})` subscription.
|
|
75
|
+
* The `flow` node activates lazily; subscribing-then-unsubscribing reclaims
|
|
76
|
+
* its observe stream automatically. Call `dispose()` once when finished.
|
|
77
|
+
*/
|
|
78
|
+
dispose(): void;
|
|
79
|
+
}
|
|
80
|
+
/** Build a `HealthReport` from a fresh `GraphDescribeOutput`. */
|
|
81
|
+
declare function computeHealthReport(described: GraphDescribeOutput): HealthReport;
|
|
82
|
+
/** Structural equality for {@link HealthReport} — used as the `health` derived's `equals`. */
|
|
83
|
+
declare function healthReportEqual(a: HealthReport, b: HealthReport): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Reactive observability preset over a target {@link Graph}.
|
|
86
|
+
*
|
|
87
|
+
* @param target - The graph to observe.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const g = new Graph("app");
|
|
92
|
+
* g.add(state(0, { name: "counter" }), { name: "counter" });
|
|
93
|
+
*
|
|
94
|
+
* const lens = graphLens(g);
|
|
95
|
+
* lens.topology.subscribe((msgs) => console.log("topology:", msgs));
|
|
96
|
+
* lens.health.subscribe((msgs) => console.log("health:", msgs));
|
|
97
|
+
* lens.flow.subscribe((msgs) => {
|
|
98
|
+
* for (const [type, payload] of msgs) {
|
|
99
|
+
* if (type === DATA) console.log("flow map size:", (payload as ReadonlyMap<string, FlowEntry>).size);
|
|
100
|
+
* }
|
|
101
|
+
* });
|
|
102
|
+
*
|
|
103
|
+
* // Causal chains: use the underlying primitive directly — `graphLens` no
|
|
104
|
+
* // longer wraps it, since `graph.explain({ reactive: true })` already
|
|
105
|
+
* // provides everything the old `lens.why()` did.
|
|
106
|
+
* const why = g.explain("counter", "consumer", { reactive: true });
|
|
107
|
+
*
|
|
108
|
+
* // Tear down when done.
|
|
109
|
+
* lens.dispose();
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* @category observability
|
|
113
|
+
*/
|
|
114
|
+
declare function graphLens(target: Graph): GraphLensView;
|
|
115
|
+
|
|
116
|
+
type index_FlowEntry = FlowEntry;
|
|
117
|
+
type index_GraphLensView = GraphLensView;
|
|
118
|
+
type index_HealthProblem = HealthProblem;
|
|
119
|
+
type index_HealthReport = HealthReport;
|
|
120
|
+
declare const index_computeHealthReport: typeof computeHealthReport;
|
|
121
|
+
declare const index_graphLens: typeof graphLens;
|
|
122
|
+
declare const index_healthReportEqual: typeof healthReportEqual;
|
|
123
|
+
declare const index_watchTopologyTree: typeof watchTopologyTree;
|
|
124
|
+
declare namespace index {
|
|
125
|
+
export { type index_FlowEntry as FlowEntry, type index_GraphLensView as GraphLensView, type index_HealthProblem as HealthProblem, type index_HealthReport as HealthReport, index_computeHealthReport as computeHealthReport, index_graphLens as graphLens, index_healthReportEqual as healthReportEqual, index_watchTopologyTree as watchTopologyTree };
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { type FlowEntry as F, type GraphLensView as G, type HealthProblem as H, type HealthReport as a, computeHealthReport as c, graphLens as g, healthReportEqual as h, index as i };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as index$2 } from './index-
|
|
2
|
-
import { i as index$3 } from './index-
|
|
3
|
-
import { i as index$4 } from './index-
|
|
4
|
-
import { i as index$5 } from './index-
|
|
5
|
-
import {
|
|
6
|
-
import { i as index$6 } from './index-
|
|
7
|
-
import { i as index$7 } from './index-
|
|
8
|
-
import { i as index$8 } from './index-
|
|
9
|
-
import { i as index$9 } from './index-
|
|
1
|
+
import { i as index$2 } from './index-CoM4rzyB.js';
|
|
2
|
+
import { i as index$3 } from './index-yLt-aPMp.js';
|
|
3
|
+
import { i as index$4 } from './index-C5cQ7Gfx.js';
|
|
4
|
+
import { i as index$5 } from './index-2n8Eai6M.js';
|
|
5
|
+
import { N as Node } from './node-BYInONRr.js';
|
|
6
|
+
import { i as index$6 } from './index-B2RUoIUz.js';
|
|
7
|
+
import { i as index$7 } from './index-Ctb7_2sG.js';
|
|
8
|
+
import { i as index$8 } from './index-BJSZxSFX.js';
|
|
9
|
+
import { i as index$9 } from './index-C6ZUaos7.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Options for creating signals.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as index$2 } from './index-
|
|
2
|
-
import { i as index$3 } from './index-
|
|
3
|
-
import { i as index$4 } from './index-
|
|
4
|
-
import { i as index$5 } from './index-
|
|
5
|
-
import {
|
|
6
|
-
import { i as index$6 } from './index-
|
|
7
|
-
import { i as index$7 } from './index-
|
|
8
|
-
import { i as index$8 } from './index-
|
|
9
|
-
import { i as index$9 } from './index-
|
|
1
|
+
import { i as index$2 } from './index-DYTBbF8T.cjs';
|
|
2
|
+
import { i as index$3 } from './index-CL7oilfm.cjs';
|
|
3
|
+
import { i as index$4 } from './index-Bd91Nmf4.cjs';
|
|
4
|
+
import { i as index$5 } from './index-D3ayz3hy.cjs';
|
|
5
|
+
import { N as Node } from './node-BYInONRr.cjs';
|
|
6
|
+
import { i as index$6 } from './index-DOBLxOti.cjs';
|
|
7
|
+
import { i as index$7 } from './index-PgwvGWa1.cjs';
|
|
8
|
+
import { i as index$8 } from './index-z8WFPVI8.cjs';
|
|
9
|
+
import { i as index$9 } from './index-CgnCFhr2.cjs';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Options for creating signals.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { f as factoryTag, p as placeholderArgs } from './meta-Ct9nqQS5.cjs';
|
|
2
|
+
import { N as Node } from './node-BYInONRr.cjs';
|
|
3
|
+
import { S as StatusValue, C as CircuitState, R as RateLimiterState, a as RateLimiterOptions, b as CircuitBreakerOptions, c as RetryOptions, F as FallbackInput, N as NS_PER_MS, d as NS_PER_SEC } from './index-DGTo1yka.cjs';
|
|
4
|
+
import { G as Graph, a as GraphOptions } from './graph-E6likq7w.cjs';
|
|
5
|
+
import { B as BudgetConstraint } from './budget-gate-DiP_nK0n.cjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Resilience composition with correct nesting order (roadmap §9.0b — Tier 5.2 Wave-B rebuild).
|
|
9
|
+
*
|
|
10
|
+
* {@link resilientPipeline} composes the resilience primitives from
|
|
11
|
+
* `extra/resilience/` in the canonical nesting order:
|
|
12
|
+
*
|
|
13
|
+
* ```text
|
|
14
|
+
* rateLimit → budget → breaker → timeout → retry → fallback → status
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Returns a {@link ResilientPipelineGraph} (Graph subclass) with mounted
|
|
18
|
+
* intermediate nodes and per-layer status companions, replacing the prior
|
|
19
|
+
* bundle return. Each intermediate is mounted under a stable name so
|
|
20
|
+
* `pipeline.describe()` shows the resilience chain in topology snapshots,
|
|
21
|
+
* mermaid renders, and `lens.health` aggregations.
|
|
22
|
+
*
|
|
23
|
+
* **Per-attempt timeout vs. retry ordering.** `timeout` is applied BEFORE
|
|
24
|
+
* `retry` so each retry attempt resubscribes to a fresh deadline (per-attempt
|
|
25
|
+
* semantics). If `timeout` wrapped `retry`, a single deadline would apply to
|
|
26
|
+
* the entire retry chain — not what callers expect.
|
|
27
|
+
*
|
|
28
|
+
* **`breakerOnOpen` + `retry` interaction.** With `breakerOnOpen: "error"` AND
|
|
29
|
+
* `retry`, retry sees `CircuitOpenError` and resubscribes; the next attempt
|
|
30
|
+
* very likely also breaker-open → another error → retry burns its budget
|
|
31
|
+
* against an open circuit. Either set retry's `backoff` long enough for the
|
|
32
|
+
* breaker reset window OR keep the default `breakerOnOpen: "skip"` (emits
|
|
33
|
+
* RESOLVED when open; downstream drops the beat without retry firing).
|
|
34
|
+
*
|
|
35
|
+
* **Reactive options (switchMap rebuild).** Every primitive option accepts a
|
|
36
|
+
* `T | Node<T>` (precedent-aligned with `FallbackInput<T>`). When the caller
|
|
37
|
+
* supplies a static value, the layer is built once at construction. When the
|
|
38
|
+
* caller supplies a `Node<T>`, the pipeline subscribes via `switchMap` and
|
|
39
|
+
* **rebuilds the layer on every option emission** — the chain stalls until
|
|
40
|
+
* the option Node emits its first DATA. Each rebuild creates a fresh
|
|
41
|
+
* primitive instance, so internal state is lost (rate-limiter pending buffer,
|
|
42
|
+
* breaker failure count, retry attempt count, in-flight timeout). Per-layer
|
|
43
|
+
* **companion Nodes** (`droppedCount`, `rateLimitState`, `breakerState`) are
|
|
44
|
+
* therefore exposed ONLY for the static-options path. Primitive-side widening
|
|
45
|
+
* (filed in `docs/optimizations.md` under "Tier 5.2 follow-up — primitive-side
|
|
46
|
+
* reactive-options widening") will preserve internal state once it lands and
|
|
47
|
+
* the pipeline will trivially forward Node-form options to the primitive.
|
|
48
|
+
*
|
|
49
|
+
* @module
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* `T | Node<T>` for primitive options — precedent-aligned with
|
|
54
|
+
* {@link FallbackInput} and `policyGate.policies`. When the caller supplies a
|
|
55
|
+
* static value, the layer is built once at construction. When the caller
|
|
56
|
+
* supplies a `Node<T>`, the pipeline subscribes via {@link switchMap}: the
|
|
57
|
+
* layer is rebuilt on every option emission. **State-loss caveat:** each
|
|
58
|
+
* rebuild creates a fresh primitive instance — `rateLimiter` loses its pending
|
|
59
|
+
* buffer, `circuitBreaker` resets failure count, `retry` resets attempt
|
|
60
|
+
* count, `timeout` cancels in-flight deadline. This is the documented
|
|
61
|
+
* switchMap-pattern semantics; primitive-side widening (filed in
|
|
62
|
+
* `docs/optimizations.md`) will preserve internal state once it lands and the
|
|
63
|
+
* pipeline can forward Node-form options directly.
|
|
64
|
+
*
|
|
65
|
+
* Per-layer **companion Nodes** (`droppedCount`, `rateLimitState`,
|
|
66
|
+
* `breakerState`) are exposed only for the static-options path — Node-form
|
|
67
|
+
* leaves them as `undefined` because each rebuild creates new companion
|
|
68
|
+
* instances and a switchMap-mirrored companion would track only the latest
|
|
69
|
+
* bundle. Callers needing both reactive options AND companions wait for
|
|
70
|
+
* primitive-side widening.
|
|
71
|
+
*/
|
|
72
|
+
type NodeOrValue<T> = T | Node<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Options for {@link resilientPipeline}. Every layer is optional — omit a
|
|
75
|
+
* field and that layer is skipped.
|
|
76
|
+
*
|
|
77
|
+
* Reactive (`Node<T>`) forms are accepted everywhere a primitive value would
|
|
78
|
+
* fit; the pipeline subscribes via `switchMap` and rebuilds the layer on each
|
|
79
|
+
* emission. See module JSDoc for the rebuild semantics + state-loss caveat.
|
|
80
|
+
*/
|
|
81
|
+
interface ResilientPipelineOptions<T> {
|
|
82
|
+
/**
|
|
83
|
+
* Admission control — at most `maxEvents` `DATA` per `windowNs`. See
|
|
84
|
+
* {@link rateLimiter}.
|
|
85
|
+
*
|
|
86
|
+
* `maxBuffer` is optional at the pipeline layer (defaults to `Infinity`,
|
|
87
|
+
* preserving the historical unbounded behavior). Pass an explicit positive
|
|
88
|
+
* integer to opt in to a bounded queue.
|
|
89
|
+
*/
|
|
90
|
+
rateLimit?: NodeOrValue<Omit<RateLimiterOptions, "maxBuffer"> & {
|
|
91
|
+
maxBuffer?: number;
|
|
92
|
+
}>;
|
|
93
|
+
/** Cost/constraint gate. See {@link budgetGate}. */
|
|
94
|
+
budget?: NodeOrValue<ReadonlyArray<BudgetConstraint>>;
|
|
95
|
+
/** Circuit breaker — fail-fast when the downstream resource is unhealthy. See {@link circuitBreaker}. */
|
|
96
|
+
breaker?: NodeOrValue<CircuitBreakerOptions>;
|
|
97
|
+
/**
|
|
98
|
+
* Behavior when the breaker is open:
|
|
99
|
+
* - `"skip"` (default) — emit `RESOLVED` (lets downstream drop the beat).
|
|
100
|
+
* - `"error"` — emit a `CircuitOpenError` so `retry` / `fallback` can react.
|
|
101
|
+
* See module JSDoc for the retry-budget burn caveat.
|
|
102
|
+
*
|
|
103
|
+
* Static (configuration-only — no reactive form).
|
|
104
|
+
*/
|
|
105
|
+
breakerOnOpen?: "skip" | "error";
|
|
106
|
+
/** Retry policy on terminal `ERROR`. See {@link retry}. */
|
|
107
|
+
retry?: NodeOrValue<RetryOptions>;
|
|
108
|
+
/**
|
|
109
|
+
* Per-attempt deadline in milliseconds. Converted to ns internally. Omit
|
|
110
|
+
* to skip the timeout wrap.
|
|
111
|
+
*
|
|
112
|
+
* Specified in ms (not ns) because callers consistently think in
|
|
113
|
+
* millisecond deadlines; the underlying {@link timeout} primitive takes ns
|
|
114
|
+
* internally.
|
|
115
|
+
*/
|
|
116
|
+
timeoutMs?: NodeOrValue<number>;
|
|
117
|
+
/** Final fallback value emitted on terminal `ERROR` after retry exhausts. See {@link fallback}. */
|
|
118
|
+
fallback?: FallbackInput<T>;
|
|
119
|
+
/**
|
|
120
|
+
* Initial status reported by the status node. Default `"pending"`. Static.
|
|
121
|
+
*/
|
|
122
|
+
initialStatus?: StatusValue;
|
|
123
|
+
/** Wrapper graph name. Default `"resilient_pipeline"`. */
|
|
124
|
+
name?: string;
|
|
125
|
+
/** Wrapper graph options. */
|
|
126
|
+
graph?: GraphOptions;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Graph subclass returned by {@link resilientPipeline}. Mounts each
|
|
130
|
+
* configured intermediate under a stable name and exposes per-layer status
|
|
131
|
+
* companions.
|
|
132
|
+
*
|
|
133
|
+
* @category patterns
|
|
134
|
+
*/
|
|
135
|
+
declare class ResilientPipelineGraph<T> extends Graph {
|
|
136
|
+
/**
|
|
137
|
+
* Final resilient node — subscribe to this for `DATA` emissions.
|
|
138
|
+
*
|
|
139
|
+
* Named `output` (not `node`) because `Graph.node(name)` already names the
|
|
140
|
+
* path-resolution method on the base class; a `readonly node` field would
|
|
141
|
+
* shadow it.
|
|
142
|
+
*/
|
|
143
|
+
readonly output: Node<T>;
|
|
144
|
+
/** Live status: `"pending" | "running" | "completed" | "errored"`. */
|
|
145
|
+
readonly status: Node<StatusValue>;
|
|
146
|
+
/**
|
|
147
|
+
* Last error payload, or `null` when not errored.
|
|
148
|
+
*
|
|
149
|
+
* Named `lastError` (not `error`) because `Graph.error(name, err)` already
|
|
150
|
+
* names a method on the base class.
|
|
151
|
+
*/
|
|
152
|
+
readonly lastError: Node<unknown | null>;
|
|
153
|
+
/** Breaker state when `opts.breaker` is provided; `undefined` otherwise. */
|
|
154
|
+
readonly breakerState: Node<CircuitState> | undefined;
|
|
155
|
+
/**
|
|
156
|
+
* Drop-counter when `opts.rateLimit` is provided; `undefined` otherwise.
|
|
157
|
+
*
|
|
158
|
+
* **Lifetime note:** `droppedCount` retains its final value through
|
|
159
|
+
* terminal (`COMPLETE` / `ERROR` / `TEARDOWN`); the underlying counter
|
|
160
|
+
* resets to `0` only at the next subscription cycle.
|
|
161
|
+
*/
|
|
162
|
+
readonly droppedCount: Node<number> | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* Combined rate-limit state when `opts.rateLimit` is provided; `undefined`
|
|
165
|
+
* otherwise. Same lifecycle as {@link droppedCount} but exposes
|
|
166
|
+
* `pendingCount` and `paused` alongside the drop counter for richer
|
|
167
|
+
* backpressure observability (Tier 5.2 D7).
|
|
168
|
+
*/
|
|
169
|
+
readonly rateLimitState: Node<RateLimiterState> | undefined;
|
|
170
|
+
constructor(source: Node<T>, opts?: ResilientPipelineOptions<T>);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Compose a resilient pipeline around `source` in the canonical nesting
|
|
174
|
+
* order — `rateLimit → budget → breaker → timeout → retry → fallback → status`.
|
|
175
|
+
* Omit any option to skip that layer.
|
|
176
|
+
*
|
|
177
|
+
* Returns a {@link ResilientPipelineGraph} (Graph subclass) —
|
|
178
|
+
* `pipeline.output` is the externally visible final node; `pipeline.status`
|
|
179
|
+
* / `pipeline.lastError` / `pipeline.breakerState` / `pipeline.droppedCount`
|
|
180
|
+
* are the per-layer companions. Call `pipeline.describe()` to see the
|
|
181
|
+
* mounted intermediates; compose with {@link graphLens}'s `health` for
|
|
182
|
+
* aggregate status.
|
|
183
|
+
*
|
|
184
|
+
* **Naming note:** `output` and `lastError` (not `node` / `error`) avoid
|
|
185
|
+
* clashes with `Graph.node(name)` and `Graph.error(name, err)` on the base
|
|
186
|
+
* class.
|
|
187
|
+
*
|
|
188
|
+
* @param source - Upstream node to wrap.
|
|
189
|
+
* @param opts - See {@link ResilientPipelineOptions}. All fields optional.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* const safeFetch = resilientPipeline(fetchNode, {
|
|
194
|
+
* rateLimit: { maxEvents: 10, windowNs: NS_PER_SEC },
|
|
195
|
+
* breaker: { failureThreshold: 5 },
|
|
196
|
+
* retry: { count: 3, backoff: "exponential" },
|
|
197
|
+
* timeoutMs: 10_000,
|
|
198
|
+
* fallback: null,
|
|
199
|
+
* });
|
|
200
|
+
* safeFetch.output.subscribe(msgs => console.log(msgs));
|
|
201
|
+
* safeFetch.status.subscribe(msgs => console.log(msgs));
|
|
202
|
+
* safeFetch.describe({ format: "ascii" }); // visualize the chain
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @category patterns
|
|
206
|
+
*/
|
|
207
|
+
declare function resilientPipeline<T>(source: Node<T>, opts?: ResilientPipelineOptions<T>): ResilientPipelineGraph<T>;
|
|
208
|
+
|
|
209
|
+
declare const index_BudgetConstraint: typeof BudgetConstraint;
|
|
210
|
+
declare const index_CircuitBreakerOptions: typeof CircuitBreakerOptions;
|
|
211
|
+
declare const index_CircuitState: typeof CircuitState;
|
|
212
|
+
declare const index_FallbackInput: typeof FallbackInput;
|
|
213
|
+
declare const index_NS_PER_MS: typeof NS_PER_MS;
|
|
214
|
+
declare const index_NS_PER_SEC: typeof NS_PER_SEC;
|
|
215
|
+
type index_NodeOrValue<T> = NodeOrValue<T>;
|
|
216
|
+
declare const index_RateLimiterOptions: typeof RateLimiterOptions;
|
|
217
|
+
declare const index_RateLimiterState: typeof RateLimiterState;
|
|
218
|
+
type index_ResilientPipelineGraph<T> = ResilientPipelineGraph<T>;
|
|
219
|
+
declare const index_ResilientPipelineGraph: typeof ResilientPipelineGraph;
|
|
220
|
+
type index_ResilientPipelineOptions<T> = ResilientPipelineOptions<T>;
|
|
221
|
+
declare const index_RetryOptions: typeof RetryOptions;
|
|
222
|
+
declare const index_StatusValue: typeof StatusValue;
|
|
223
|
+
declare const index_factoryTag: typeof factoryTag;
|
|
224
|
+
declare const index_placeholderArgs: typeof placeholderArgs;
|
|
225
|
+
declare const index_resilientPipeline: typeof resilientPipeline;
|
|
226
|
+
declare namespace index {
|
|
227
|
+
export { index_BudgetConstraint as BudgetConstraint, index_CircuitBreakerOptions as CircuitBreakerOptions, index_CircuitState as CircuitState, index_FallbackInput as FallbackInput, index_NS_PER_MS as NS_PER_MS, index_NS_PER_SEC as NS_PER_SEC, type index_NodeOrValue as NodeOrValue, index_RateLimiterOptions as RateLimiterOptions, index_RateLimiterState as RateLimiterState, index_ResilientPipelineGraph as ResilientPipelineGraph, type index_ResilientPipelineOptions as ResilientPipelineOptions, index_RetryOptions as RetryOptions, index_StatusValue as StatusValue, index_factoryTag as factoryTag, index_placeholderArgs as placeholderArgs, index_resilientPipeline as resilientPipeline };
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export { type NodeOrValue as N, ResilientPipelineGraph as R, type ResilientPipelineOptions as a, index as i, resilientPipeline as r };
|