@graphrefly/graphrefly 0.27.0 → 0.28.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/backoff-HPZMEZNF.js +1 -0
- package/dist/cascading-B-5zmAUv.d.cts +180 -0
- package/dist/cascading-D9WG1-9L.d.ts +180 -0
- package/dist/chunk-2FOAM3OR.js +1 -0
- package/dist/chunk-2PMCKKRK.js +1 -0
- package/dist/chunk-3JXNEPCD.js +2 -0
- package/dist/chunk-3R5HFPX7.js +78 -0
- package/dist/chunk-4GKB4OUJ.js +1 -0
- package/dist/chunk-4VVTGLXJ.js +1 -0
- package/dist/chunk-5QDBSZBV.js +1 -0
- package/dist/chunk-6QZNQS5B.js +1 -0
- package/dist/chunk-6V3SEX2I.js +1 -0
- package/dist/chunk-76A3HVQE.js +9 -0
- package/dist/chunk-7H6LGFUG.js +64 -0
- package/dist/chunk-CK2E7BTU.js +1 -0
- package/dist/chunk-CKCSDI7T.js +6 -0
- package/dist/chunk-CRXTH3SH.js +1 -0
- package/dist/chunk-CWLN3X3N.js +1 -0
- package/dist/chunk-D7A7DBE4.js +1 -0
- package/dist/chunk-DBGGMN3D.js +1 -0
- package/dist/chunk-DQA3UIQ2.js +1 -0
- package/dist/chunk-ERLIRFPA.js +1 -0
- package/dist/chunk-ESMPEKEV.js +1 -0
- package/dist/chunk-ETWTCCJI.js +1 -0
- package/dist/chunk-FNYWM6JC.js +1 -0
- package/dist/chunk-GHJJR5P4.js +1 -0
- package/dist/chunk-GPW2V3RE.js +1 -0
- package/dist/chunk-I6VIH3VA.js +1 -0
- package/dist/chunk-K2GNMCQT.js +1 -0
- package/dist/chunk-LBTDSCCO.js +3 -0
- package/dist/chunk-LQ3Y5NJS.js +1 -0
- package/dist/chunk-MIQTDPY4.js +5 -0
- package/dist/chunk-MTTAAPCK.js +1 -0
- package/dist/chunk-OAWLCNJJ.js +1 -0
- package/dist/chunk-OBKQQA5I.js +1 -0
- package/dist/chunk-OYHGKYQM.js +1 -0
- package/dist/chunk-PIOGHC63.js +1 -0
- package/dist/chunk-QWAPKG3O.js +2 -0
- package/dist/chunk-QYADASLV.js +1 -0
- package/dist/chunk-RHESUC3V.js +43 -0
- package/dist/chunk-S35VARIR.js +1 -0
- package/dist/chunk-SC3U7ETD.js +1 -0
- package/dist/chunk-U3AICJKU.js +1 -0
- package/dist/chunk-UMBIDLJ4.js +1 -0
- package/dist/chunk-UPHHLMHE.js +1 -0
- package/dist/chunk-UPXUCFMX.js +1 -0
- package/dist/chunk-UWJE5FQA.js +18 -0
- package/dist/chunk-V6YQICXZ.js +1 -0
- package/dist/chunk-VIMF6LGM.js +1 -0
- package/dist/chunk-VJLMUKOI.js +1 -0
- package/dist/chunk-VPYBOXVT.js +1 -0
- package/dist/chunk-VTPVOGHH.js +1 -0
- package/dist/chunk-WQ2BN6X6.js +1 -0
- package/dist/chunk-XAUNPIMX.js +1 -0
- package/dist/chunk-Y2EMPB3I.js +1 -0
- package/dist/chunk-Z4HDAS2Q.js +1 -0
- package/dist/chunk-ZB5EHBIO.js +1 -0
- package/dist/chunk-ZV2DXV5A.js +23 -0
- package/dist/compat/index.cjs +14 -7656
- package/dist/compat/index.d.cts +15 -14
- package/dist/compat/index.d.ts +15 -14
- package/dist/compat/index.js +1 -50
- package/dist/compat/jotai/index.cjs +1 -2048
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/jotai/index.js +1 -9
- package/dist/compat/nanostores/index.cjs +1 -2175
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nanostores/index.js +1 -23
- package/dist/compat/nestjs/index.cjs +14 -6782
- package/dist/compat/nestjs/index.d.cts +7 -6
- package/dist/compat/nestjs/index.d.ts +7 -6
- package/dist/compat/nestjs/index.js +1 -83
- package/dist/compat/react/index.cjs +1 -141
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/react/index.js +1 -12
- package/dist/compat/solid/index.cjs +1 -128
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/solid/index.js +1 -12
- package/dist/compat/svelte/index.cjs +1 -131
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/svelte/index.js +1 -12
- package/dist/compat/vue/index.cjs +1 -146
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/vue/index.js +1 -12
- package/dist/compat/zustand/index.cjs +6 -4931
- package/dist/compat/zustand/index.d.cts +5 -5
- package/dist/compat/zustand/index.d.ts +5 -5
- package/dist/compat/zustand/index.js +1 -12
- package/dist/composite-B-xqw4Kk.d.cts +69 -0
- package/dist/composite-BhbKHbOS.d.ts +69 -0
- package/dist/core/index.cjs +1 -2271
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +1 -110
- package/dist/extra/browser.cjs +1 -0
- package/dist/extra/browser.d.cts +3 -0
- package/dist/extra/browser.d.ts +3 -0
- package/dist/extra/browser.js +1 -0
- package/dist/extra/index.cjs +23 -9971
- package/dist/extra/index.d.cts +13 -6
- package/dist/extra/index.d.ts +13 -6
- package/dist/extra/index.js +1 -381
- package/dist/extra/node.cjs +3 -0
- package/dist/extra/node.d.cts +81 -0
- package/dist/extra/node.d.ts +81 -0
- package/dist/extra/node.js +2 -0
- package/dist/extra/operators.cjs +1 -0
- package/dist/extra/operators.d.cts +910 -0
- package/dist/extra/operators.d.ts +910 -0
- package/dist/extra/operators.js +1 -0
- package/dist/extra/reactive.cjs +1 -0
- package/dist/extra/reactive.d.cts +352 -0
- package/dist/extra/reactive.d.ts +352 -0
- package/dist/extra/reactive.js +1 -0
- package/dist/extra/sources.cjs +1 -2486
- package/dist/extra/sources.d.cts +6 -2
- package/dist/extra/sources.d.ts +6 -2
- package/dist/extra/sources.js +1 -57
- package/dist/extra/storage-browser.cjs +1 -0
- package/dist/extra/storage-browser.d.cts +71 -0
- package/dist/extra/storage-browser.d.ts +71 -0
- package/dist/extra/storage-browser.js +1 -0
- package/dist/extra/storage-core.cjs +1 -0
- package/dist/extra/storage-core.d.cts +98 -0
- package/dist/extra/storage-core.d.ts +98 -0
- package/dist/extra/storage-core.js +1 -0
- package/dist/extra/storage-node.cjs +2 -0
- package/dist/extra/storage-node.d.cts +60 -0
- package/dist/extra/storage-node.d.ts +60 -0
- package/dist/extra/storage-node.js +1 -0
- package/dist/fallback-BaTS7vVY.d.cts +258 -0
- package/dist/fallback-eOm3LNxP.d.ts +258 -0
- package/dist/graph/index.cjs +6 -5030
- package/dist/graph/index.d.cts +6 -5
- package/dist/graph/index.d.ts +6 -5
- package/dist/graph/index.js +1 -50
- package/dist/{graph-CCwGKLCm.d.ts → graph-BZGRXwOm.d.ts} +134 -31
- package/dist/{graph-DNCrvZSn.d.cts → graph-D48Qw9Cg.d.cts} +134 -31
- package/dist/index-8FSVk4Uf.d.ts +135 -0
- package/dist/index-9oDeHH2u.d.cts +291 -0
- package/dist/{messaging-XDoYablx.d.ts → index-B0c4cmIO.d.ts} +31 -93
- package/dist/{index-VdHQMPy1.d.ts → index-B1AmmSlb.d.ts} +1 -1
- package/dist/{index-VHqptjhu.d.cts → index-B2pwesl9.d.cts} +1 -1
- package/dist/index-BHvIquRZ.d.ts +1957 -0
- package/dist/{index-Dzk2hrlR.d.ts → index-BVHOrDwO.d.ts} +1 -1
- package/dist/{index-CxFrXH4m.d.ts → index-BWJV63ti.d.ts} +1 -1
- package/dist/{index-Xi3u0HCQ.d.cts → index-B_agccPe.d.cts} +1 -1
- package/dist/index-BgyGlizc.d.ts +163 -0
- package/dist/index-BpA5c4G9.d.ts +357 -0
- package/dist/index-BpIFjILY.d.cts +357 -0
- package/dist/{index-3lsddbbS.d.ts → index-Bqachn9_.d.ts} +1 -1
- package/dist/index-Btib9rsU.d.ts +607 -0
- package/dist/{index-wEn0eFe8.d.ts → index-BwM9BEkt.d.ts} +1 -1
- package/dist/index-BxJ86YZZ.d.cts +105 -0
- package/dist/{audit-DRlSzBu9.d.ts → index-C73n7lo-.d.cts} +27 -21
- package/dist/index-CEXXwWVH.d.cts +192 -0
- package/dist/index-CHEswufn.d.cts +163 -0
- package/dist/{index-C0svESO4.d.ts → index-CMn8S8Hw.d.ts} +1 -1
- package/dist/{index-ByQxazQJ.d.cts → index-CRO83MmV.d.cts} +1 -1
- package/dist/{index-BuEoe-Qu.d.ts → index-CloUk1kY.d.ts} +9 -9
- package/dist/index-CpgYhnrG.d.ts +291 -0
- package/dist/{index-DO_6JN9Z.d.cts → index-Cyojz0AE.d.cts} +1 -1
- package/dist/{demo-shell-BDkOptd6.d.ts → index-CzobVSMr.d.ts} +14 -14
- package/dist/index-Czq6ynh8.d.ts +143 -0
- package/dist/{index-BaSM3aYt.d.ts → index-D-YB-Vl3.d.ts} +3 -3
- package/dist/index-DAlweici.d.ts +231 -0
- package/dist/index-DEwTb_fm.d.cts +1957 -0
- package/dist/{index-DYme44FM.d.cts → index-DL-rYJrx.d.cts} +1 -1
- package/dist/{memory-li6FL5RM.d.ts → index-DP4ZTkdw.d.ts} +26 -26
- package/dist/{index-BwfLUNw4.d.ts → index-DUqMOlKZ.d.cts} +173 -2040
- package/dist/{index-B1tloyhO.d.cts → index-D_NwnRYS.d.cts} +1 -1
- package/dist/index-DaLJvH8Z.d.ts +105 -0
- package/dist/index-DcXZBF5a.d.cts +135 -0
- package/dist/index-DfyOkTvs.d.ts +321 -0
- package/dist/{index-B9B7_HEY.d.ts → index-DiOXyAwt.d.ts} +1 -1
- package/dist/index-DpHe5e0Q.d.ts +186 -0
- package/dist/index-DraikLjn.d.ts +86 -0
- package/dist/{index-D8wS_PeY.d.cts → index-DxsnAMWD.d.cts} +9 -9
- package/dist/{messaging-Gt4LPbyA.d.cts → index-DyxjtScX.d.cts} +31 -93
- package/dist/{audit-ClmqGOCx.d.cts → index-HDpJe9hX.d.ts} +27 -21
- package/dist/{index-DVGiGFGT.d.cts → index-O6TgGUBV.d.cts} +3 -3
- package/dist/{index-B6EhDnjH.d.cts → index-Oi8d8w4R.d.cts} +1 -1
- package/dist/{index-C8oil6M6.d.ts → index-ROpQmGjE.d.ts} +30 -6
- package/dist/index-RukJ4DLS.d.cts +607 -0
- package/dist/{index-BHlKbUwO.d.cts → index-ZftwfxJM.d.ts} +173 -2040
- package/dist/{index-BPVt8kqc.d.ts → index-cByzxQIC.d.cts} +10 -195
- package/dist/index-dtN7YA2x.d.cts +143 -0
- package/dist/{index-CI3DprxP.d.cts → index-fM6y00vT.d.cts} +30 -6
- package/dist/{index-DlLp-2Xn.d.cts → index-m-yHof5p.d.ts} +10 -195
- package/dist/index-pXrDMpRO.d.cts +231 -0
- package/dist/index-rHJSKsU8.d.cts +186 -0
- package/dist/index-rX8HBM5h.d.cts +321 -0
- package/dist/{index-CO8uBlUh.d.cts → index-rnwQly8X.d.cts} +147 -20
- package/dist/index-sm373fsH.d.ts +192 -0
- package/dist/{memory-C6Z2tGpC.d.cts → index-tbf2gKHd.d.cts} +26 -26
- package/dist/{demo-shell-Crid1WdR.d.cts → index-u15meRxL.d.cts} +14 -14
- package/dist/{index-B6D3QNSA.d.ts → index-umtoWT8K.d.ts} +147 -20
- package/dist/index-vscRDkjW.d.cts +86 -0
- package/dist/index.cjs +150 -24142
- package/dist/index.d.cts +69 -2099
- package/dist/index.d.ts +69 -2099
- package/dist/index.js +1 -3868
- package/dist/{meta-CbznRPYJ.d.ts → meta-Cgj6zeji.d.cts} +5 -5
- package/dist/{meta-BxCA7rcr.d.cts → meta-CwesDrMD.d.ts} +5 -5
- package/dist/{node-BmerH3kS.d.cts → node-Cc1TniY8.d.cts} +36 -9
- package/dist/{node-BmerH3kS.d.ts → node-Cc1TniY8.d.ts} +36 -9
- package/dist/{observable-BgGUwcqp.d.ts → observable-Ct-gJ9jI.d.ts} +1 -1
- package/dist/{observable-DJt_AxzQ.d.cts → observable-glXQoGj2.d.cts} +1 -1
- package/dist/patterns/ai/browser.cjs +25 -0
- package/dist/patterns/ai/browser.d.cts +127 -0
- package/dist/patterns/ai/browser.d.ts +127 -0
- package/dist/patterns/ai/browser.js +3 -0
- package/dist/patterns/ai/index.cjs +91 -0
- package/dist/patterns/ai/index.d.cts +17 -0
- package/dist/patterns/ai/index.d.ts +17 -0
- package/dist/patterns/ai/index.js +1 -0
- package/dist/patterns/ai/node.cjs +2 -0
- package/dist/patterns/ai/node.d.cts +58 -0
- package/dist/patterns/ai/node.d.ts +58 -0
- package/dist/patterns/ai/node.js +1 -0
- package/dist/patterns/audit/index.cjs +6 -0
- package/dist/patterns/audit/index.d.cts +6 -0
- package/dist/patterns/audit/index.d.ts +6 -0
- package/dist/patterns/audit/index.js +1 -0
- package/dist/patterns/cqrs/index.cjs +6 -0
- package/dist/patterns/cqrs/index.d.cts +5 -0
- package/dist/patterns/cqrs/index.d.ts +5 -0
- package/dist/patterns/cqrs/index.js +1 -0
- package/dist/patterns/demo-shell/index.cjs +7 -0
- package/dist/patterns/demo-shell/index.d.cts +6 -0
- package/dist/patterns/demo-shell/index.d.ts +6 -0
- package/dist/patterns/demo-shell/index.js +1 -0
- package/dist/patterns/domain-templates/index.cjs +6 -0
- package/dist/patterns/domain-templates/index.d.cts +5 -0
- package/dist/patterns/domain-templates/index.d.ts +5 -0
- package/dist/patterns/domain-templates/index.js +1 -0
- package/dist/patterns/graphspec/index.cjs +83 -0
- package/dist/patterns/graphspec/index.d.cts +7 -0
- package/dist/patterns/graphspec/index.d.ts +7 -0
- package/dist/patterns/graphspec/index.js +1 -0
- package/dist/patterns/guarded-execution/index.cjs +6 -0
- package/dist/patterns/guarded-execution/index.d.cts +7 -0
- package/dist/patterns/guarded-execution/index.d.ts +7 -0
- package/dist/patterns/guarded-execution/index.js +1 -0
- package/dist/patterns/harness/index.cjs +48 -0
- package/dist/patterns/harness/index.d.cts +8 -0
- package/dist/patterns/harness/index.d.ts +8 -0
- package/dist/patterns/harness/index.js +1 -0
- package/dist/patterns/job-queue/index.cjs +6 -0
- package/dist/patterns/job-queue/index.d.cts +5 -0
- package/dist/patterns/job-queue/index.d.ts +5 -0
- package/dist/patterns/job-queue/index.js +1 -0
- package/dist/patterns/lens/index.cjs +6 -0
- package/dist/patterns/lens/index.d.cts +7 -0
- package/dist/patterns/lens/index.d.ts +7 -0
- package/dist/patterns/lens/index.js +1 -0
- package/dist/patterns/memory/index.cjs +6 -0
- package/dist/patterns/memory/index.d.cts +5 -0
- package/dist/patterns/memory/index.d.ts +5 -0
- package/dist/patterns/memory/index.js +1 -0
- package/dist/patterns/messaging/index.cjs +6 -0
- package/dist/patterns/messaging/index.d.cts +5 -0
- package/dist/patterns/messaging/index.d.ts +5 -0
- package/dist/patterns/messaging/index.js +1 -0
- package/dist/patterns/orchestration/index.cjs +6 -0
- package/dist/patterns/orchestration/index.d.cts +6 -0
- package/dist/patterns/orchestration/index.d.ts +6 -0
- package/dist/patterns/orchestration/index.js +1 -0
- package/dist/patterns/reactive-layout/index.cjs +7 -6444
- package/dist/patterns/reactive-layout/index.d.cts +6 -6
- package/dist/patterns/reactive-layout/index.d.ts +6 -6
- package/dist/patterns/reactive-layout/index.js +1 -56
- package/dist/patterns/reduction/index.cjs +6 -0
- package/dist/patterns/reduction/index.d.cts +5 -0
- package/dist/patterns/reduction/index.d.ts +5 -0
- package/dist/patterns/reduction/index.js +1 -0
- package/dist/patterns/refine-loop/index.cjs +8 -0
- package/dist/patterns/refine-loop/index.d.cts +7 -0
- package/dist/patterns/refine-loop/index.d.ts +7 -0
- package/dist/patterns/refine-loop/index.js +1 -0
- package/dist/patterns/resilient-pipeline/index.cjs +1 -0
- package/dist/patterns/resilient-pipeline/index.d.cts +7 -0
- package/dist/patterns/resilient-pipeline/index.d.ts +7 -0
- package/dist/patterns/resilient-pipeline/index.js +1 -0
- package/dist/patterns/surface/index.cjs +14 -0
- package/dist/patterns/surface/index.d.cts +8 -0
- package/dist/patterns/surface/index.d.ts +8 -0
- package/dist/patterns/surface/index.js +1 -0
- package/dist/{reactive-layout-MQP--J3F.d.cts → reactive-layout-CpYb5qLP.d.cts} +2 -2
- package/dist/{reactive-layout-u5Ulnqag.d.ts → reactive-layout-D8u4wuUR.d.ts} +2 -2
- package/dist/reactive-log-DPzuUDj5.d.cts +190 -0
- package/dist/reactive-log-YuH9VYN8.d.ts +190 -0
- package/dist/{composite-aUCvjZVR.d.ts → reactive-map-CdbNoSgP.d.ts} +2 -67
- package/dist/{composite-C7PcQvcs.d.cts → reactive-map-DUeRmb9d.d.cts} +2 -67
- package/dist/resilience-Ba5-b4WD.d.cts +493 -0
- package/dist/resilience-CGRzhnD3.d.ts +493 -0
- package/dist/resilience-QAHKANT5.js +1 -0
- package/dist/{sugar-D02n5JjF.d.cts → sugar-BV0htudb.d.cts} +8 -4
- package/dist/{sugar-CCOxXK1e.d.ts → sugar-Dtyrq2_q.d.ts} +8 -4
- package/dist/topology-tree-CYHOwQZ_.d.ts +25 -0
- package/dist/topology-tree-DROUdq5B.d.cts +25 -0
- package/dist/types-O3GzJY2U.d.cts +401 -0
- package/dist/types-u64Ose53.d.ts +401 -0
- package/package.json +252 -22
- package/dist/ai-CaR_912Q.d.cts +0 -1033
- package/dist/ai-WlRltJV7.d.ts +0 -1033
- package/dist/chunk-3ZWCKRHX.js +0 -117
- package/dist/chunk-3ZWCKRHX.js.map +0 -1
- package/dist/chunk-7TAQJHQV.js +0 -103
- package/dist/chunk-7TAQJHQV.js.map +0 -1
- package/dist/chunk-APFNLIRG.js +0 -62
- package/dist/chunk-APFNLIRG.js.map +0 -1
- package/dist/chunk-AT5LKYNL.js +0 -395
- package/dist/chunk-AT5LKYNL.js.map +0 -1
- package/dist/chunk-BQ6RQQFF.js +0 -5087
- package/dist/chunk-BQ6RQQFF.js.map +0 -1
- package/dist/chunk-BVZYTZ5H.js +0 -599
- package/dist/chunk-BVZYTZ5H.js.map +0 -1
- package/dist/chunk-DST5DKZS.js +0 -1371
- package/dist/chunk-DST5DKZS.js.map +0 -1
- package/dist/chunk-GTE6PWRZ.js +0 -866
- package/dist/chunk-GTE6PWRZ.js.map +0 -1
- package/dist/chunk-HXZEYDUR.js +0 -94
- package/dist/chunk-HXZEYDUR.js.map +0 -1
- package/dist/chunk-J22W6HV3.js +0 -107
- package/dist/chunk-J22W6HV3.js.map +0 -1
- package/dist/chunk-J2VBW3DZ.js +0 -302
- package/dist/chunk-J2VBW3DZ.js.map +0 -1
- package/dist/chunk-JSCT3CR4.js +0 -38
- package/dist/chunk-JSCT3CR4.js.map +0 -1
- package/dist/chunk-JWBCY4NC.js +0 -330
- package/dist/chunk-JWBCY4NC.js.map +0 -1
- package/dist/chunk-K2AUJHVP.js +0 -2251
- package/dist/chunk-K2AUJHVP.js.map +0 -1
- package/dist/chunk-MJ2NKQQL.js +0 -119
- package/dist/chunk-MJ2NKQQL.js.map +0 -1
- package/dist/chunk-N6UR7YVY.js +0 -198
- package/dist/chunk-N6UR7YVY.js.map +0 -1
- package/dist/chunk-NC6S43JJ.js +0 -456
- package/dist/chunk-NC6S43JJ.js.map +0 -1
- package/dist/chunk-OFVJBJXR.js +0 -98
- package/dist/chunk-OFVJBJXR.js.map +0 -1
- package/dist/chunk-OHISZPOJ.js +0 -97
- package/dist/chunk-OHISZPOJ.js.map +0 -1
- package/dist/chunk-OU5CQKNW.js +0 -102
- package/dist/chunk-OU5CQKNW.js.map +0 -1
- package/dist/chunk-PF7GRZMW.js +0 -2712
- package/dist/chunk-PF7GRZMW.js.map +0 -1
- package/dist/chunk-PHOUUNK7.js +0 -2291
- package/dist/chunk-PHOUUNK7.js.map +0 -1
- package/dist/chunk-RNHBMHKA.js +0 -1665
- package/dist/chunk-RNHBMHKA.js.map +0 -1
- package/dist/chunk-SX52TAR4.js +0 -110
- package/dist/chunk-SX52TAR4.js.map +0 -1
- package/dist/chunk-VYPWMZ6H.js +0 -98
- package/dist/chunk-VYPWMZ6H.js.map +0 -1
- package/dist/chunk-WBZOVTYK.js +0 -171
- package/dist/chunk-WBZOVTYK.js.map +0 -1
- package/dist/chunk-WKNUIZOY.js +0 -354
- package/dist/chunk-WKNUIZOY.js.map +0 -1
- package/dist/chunk-X3VMZYBT.js +0 -713
- package/dist/chunk-X3VMZYBT.js.map +0 -1
- package/dist/chunk-X5R3GL6H.js +0 -525
- package/dist/chunk-X5R3GL6H.js.map +0 -1
- package/dist/chunk-XGPU467M.js +0 -136
- package/dist/chunk-XGPU467M.js.map +0 -1
- package/dist/compat/index.cjs.map +0 -1
- package/dist/compat/index.js.map +0 -1
- package/dist/compat/jotai/index.cjs.map +0 -1
- package/dist/compat/jotai/index.js.map +0 -1
- package/dist/compat/nanostores/index.cjs.map +0 -1
- package/dist/compat/nanostores/index.js.map +0 -1
- package/dist/compat/nestjs/index.cjs.map +0 -1
- package/dist/compat/nestjs/index.js.map +0 -1
- package/dist/compat/react/index.cjs.map +0 -1
- package/dist/compat/react/index.js.map +0 -1
- package/dist/compat/solid/index.cjs.map +0 -1
- package/dist/compat/solid/index.js.map +0 -1
- package/dist/compat/svelte/index.cjs.map +0 -1
- package/dist/compat/svelte/index.js.map +0 -1
- package/dist/compat/vue/index.cjs.map +0 -1
- package/dist/compat/vue/index.js.map +0 -1
- package/dist/compat/zustand/index.cjs.map +0 -1
- package/dist/compat/zustand/index.js.map +0 -1
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/extra/index.cjs.map +0 -1
- package/dist/extra/index.js.map +0 -1
- package/dist/extra/sources.cjs.map +0 -1
- package/dist/extra/sources.js.map +0 -1
- package/dist/graph/index.cjs.map +0 -1
- package/dist/graph/index.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/patterns/ai.cjs +0 -7930
- package/dist/patterns/ai.cjs.map +0 -1
- package/dist/patterns/ai.d.cts +0 -10
- package/dist/patterns/ai.d.ts +0 -10
- package/dist/patterns/ai.js +0 -71
- package/dist/patterns/ai.js.map +0 -1
- package/dist/patterns/audit.cjs +0 -5805
- package/dist/patterns/audit.cjs.map +0 -1
- package/dist/patterns/audit.d.cts +0 -6
- package/dist/patterns/audit.d.ts +0 -6
- package/dist/patterns/audit.js +0 -29
- package/dist/patterns/audit.js.map +0 -1
- package/dist/patterns/demo-shell.cjs +0 -5604
- package/dist/patterns/demo-shell.cjs.map +0 -1
- package/dist/patterns/demo-shell.d.cts +0 -6
- package/dist/patterns/demo-shell.d.ts +0 -6
- package/dist/patterns/demo-shell.js +0 -15
- package/dist/patterns/demo-shell.js.map +0 -1
- package/dist/patterns/memory.cjs +0 -5283
- package/dist/patterns/memory.cjs.map +0 -1
- package/dist/patterns/memory.d.cts +0 -5
- package/dist/patterns/memory.d.ts +0 -5
- package/dist/patterns/memory.js +0 -20
- package/dist/patterns/memory.js.map +0 -1
- package/dist/patterns/reactive-layout/index.cjs.map +0 -1
- package/dist/patterns/reactive-layout/index.js.map +0 -1
- package/dist/storage-CMjUUuxn.d.ts +0 -190
- package/dist/storage-DdWlZo6U.d.cts +0 -190
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as N,B as O,C as P,D as Q,E as R,F as S,G as T,H as U,I as V,J as W,K as X,L as Y,M as Z,N as _,O as $,P as aa,Q as ba,R as ca,S as da,T as ea,U as fa,a as b,b as m,c as n,d as o,e as p,f as q,g as r,h as s,i as t,j as u,k as v,l as w,m as x,n as A,o as B,p as C,q as D,r as E,s as F,t as G,u as H,v as I,w as J,x as K,y as L,z as M}from"../../chunk-7H6LGFUG.js";import"../../chunk-GHJJR5P4.js";import"../../chunk-SC3U7ETD.js";import"../../chunk-DBGGMN3D.js";import{a as c,b as j,c as k,d as l,e as y,f as z}from"../../chunk-ZV2DXV5A.js";import{a as d,b as e,c as f,d as g,e as h,f as i}from"../../chunk-CRXTH3SH.js";import"../../chunk-ETWTCCJI.js";import"../../chunk-2FOAM3OR.js";import"../../chunk-MTTAAPCK.js";import"../../chunk-UPHHLMHE.js";import{c as a}from"../../chunk-4GKB4OUJ.js";import"../../chunk-K2GNMCQT.js";import"../../chunk-CKCSDI7T.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-VPYBOXVT.js";import"../../chunk-I6VIH3VA.js";import"../../chunk-Z4HDAS2Q.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-OAWLCNJJ.js";import"../../chunk-D7A7DBE4.js";import"../../chunk-2PMCKKRK.js";import"../../chunk-ZB5EHBIO.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";export{$ as AgentLoopGraph,y as AllTiersExhaustedError,t as BudgetExhaustedError,R as ChatStreamGraph,a as CircuitOpenError,h as FallbackMissError,B as LLMTimeoutError,e as ReplayCacheMissError,T as ToolRegistryGraph,Z as admissionFilter3D,aa as agentLoop,_ as agentMemory,c as anthropicAdapter,g as canonicalJson,z as cascadingLlmAdapter,S as chatStream,r as composePricing,o as computePrice,N as contentGate,L as costMeterExtractor,l as createAdapter,b as createCapabilitiesRegistry,p as createPricingRegistry,d as dryRunAdapter,E as dryRunPreset,i as fallbackAdapter,G as fromLLM,F as frozenContext,O as gatedStream,ca as gaugesAsContext,j as googleAdapter,ea as graphFromSpec,Q as handoff,J as keywordFlagExtractor,ba as knobsAsTools,Y as llmConsolidator,X as llmExtractor,m as observableAdapter,k as openAICompatAdapter,w as parseRateLimitFromError,P as promptNode,M as redactor,q as registryPricing,D as resilientAdapter,I as streamExtractor,H as streamingPromptNode,fa as suggestStrategy,W as systemPromptBuilder,K as toolCallExtractor,U as toolRegistry,V as toolSelector,da as validateGraphDef,s as withBreaker,u as withBudgetGate,v as withDryRun,x as withRateLimiter,f as withReplayCache,A as withRetry,C as withTimeout,n as zeroPrice};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var ye=Object.prototype.hasOwnProperty;var N=(e,t)=>()=>(e&&(t=e(e=0)),t);var me=(e,t)=>{for(var r in t)_(e,r,{get:t[r],enumerable:!0})},ge=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of pe(t))!ye.call(e,a)&&a!==r&&_(e,a,{get:()=>t[a],enumerable:!(n=fe(t,a))||n.enumerable});return e};var be=e=>ge(_({},"__esModule",{value:!0}),e);function Y(){return Math.trunc(performance.now()*1e6)}function C(){return Date.now()*1e6}var J=N(()=>{"use strict"});var ke,q,X,Z,Te,xe,z,Q,we,ve,Se,Ke,Le,Me,$e,Je,ze,Be,He,ee=N(()=>{"use strict";ke=Symbol.for("graphrefly/START"),q=Symbol.for("graphrefly/DATA"),X=Symbol.for("graphrefly/DIRTY"),Z=Symbol.for("graphrefly/RESOLVED"),Te=Symbol.for("graphrefly/INVALIDATE"),xe=Symbol.for("graphrefly/TEARDOWN"),z=Symbol.for("graphrefly/COMPLETE"),Q=Symbol.for("graphrefly/ERROR"),we=Object.freeze([X]),ve=Object.freeze([Z]),Se=Object.freeze([Te]),Ke=Object.freeze([ke]),Le=Object.freeze([z]),Me=Object.freeze([xe]),$e=Object.freeze([we]),Je=Object.freeze([ve]),ze=Object.freeze([Se]),Be=Object.freeze([Le]),He=Object.freeze([Me])});function te(e){return new Promise((t,r)=>{let n=!1,a=!1,o;o=e.subscribe(i=>{for(let s of i){if(n)return;if(s[0]===q){n=!0,t(s[1]),o?(o(),o=void 0):a=!0;return}if(s[0]===Q){n=!0,r(s[1]),o?(o(),o=void 0):a=!0;return}if(s[0]===z){n=!0,r(new Error("completed without DATA")),o?(o(),o=void 0):a=!0;return}}}),a&&(o?.(),o=void 0)})}var re=N(()=>{"use strict";ee()});var S,B=N(()=>{"use strict";S=class{_timer;_gen=0;start(t,r){this.cancel(),this._gen+=1;let n=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,n===this._gen&&r()},t)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});var Ce={};me(Ce,{fallbackAdapter:()=>le});module.exports=be(Ce);var L=require("node:fs"),I=require("node:path");var V=require("node:crypto"),k=require("node:fs"),w=require("node:path"),he=require("node:sqlite");function j(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(j);let t=e,r=Object.keys(t).sort(),n={};for(let a of r)n[a]=j(t[a]);return n}function W(e){return JSON.stringify(j(e),void 0,0)}function K(){let e=new Map;return{save(t,r){e.set(t,JSON.parse(JSON.stringify(r)))},load(t){let r=e.get(t);return r===void 0?null:JSON.parse(JSON.stringify(r))},clear(t){e.delete(t)},list(){return[...e.keys()].sort()}}}function $(e){let t=new TextEncoder,r=new TextDecoder("utf-8",{fatal:!0}),n=o=>{let i="";for(let s of o){if(s.length===1&&/[a-zA-Z0-9_-]/.test(s)){i+=s;continue}for(let c of t.encode(s))i+=`%${c.toString(16).padStart(2,"0")}`}return(0,w.join)(e,`${i}.json`)},a=o=>{if(!o.endsWith(".json"))return null;let i=o.slice(0,-5),s=[],c=u=>{for(let l=0;l<u.length;l++)s.push(u.charCodeAt(l))},d=0;for(;d<i.length;){let u=i[d];if(u==="%"&&d+2<i.length){let l=i.slice(d+1,d+3);if(/^[0-9a-f]{2}$/i.test(l)){s.push(Number.parseInt(l,16)),d+=3;continue}}c(u),d+=1}try{return r.decode(new Uint8Array(s))}catch{return null}};return{save(o,i){(0,k.mkdirSync)(e,{recursive:!0});let s=n(o),c=`${W(i)}
|
|
2
|
+
`,d=(0,w.basename)(s),u=(0,w.dirname)(s),l=(0,w.join)(u,`.${d}.${(0,V.randomBytes)(8).toString("hex")}.tmp`);try{(0,k.writeFileSync)(l,c,"utf8"),(0,k.renameSync)(l,s)}catch(m){try{(0,k.unlinkSync)(l)}catch{}throw m}},load(o){try{let i=(0,k.readFileSync)(n(o),"utf8").trim();return i?JSON.parse(i):null}catch{return null}},clear(o){try{(0,k.unlinkSync)(n(o))}catch(i){if(i.code!=="ENOENT")throw i}},list(){try{let o=(0,k.readdirSync)(e),i=[];for(let s of o){if(s.startsWith("."))continue;let c=a(s);c!==null&&i.push(c)}return i.sort()}catch(o){if(o.code==="ENOENT")return[];throw o}}}}J();async function P(e){let t=typeof e=="string"?new TextEncoder().encode(e):e,r=await globalThis.crypto.subtle.digest("SHA-256",t),n=new Uint8Array(r),a="";for(let o=0;o<n.length;o++)a+=G[n[o]];return a}var G=new Array(256);for(let e=0;e<256;e++)G[e]=e.toString(16).padStart(2,"0");J();re();function ne(e,t={}){let r=t.keyFn??(a=>String(a)),n=new Map;return a=>{let o=r(a),i=n.get(o);if(i)return i;let s=e(a),c;s!=null&&typeof s.then=="function"?c=Promise.resolve(s):s!=null&&typeof s=="object"&&"subscribe"in s&&"cache"in s?c=te(s):s!=null&&typeof s=="object"&&Symbol.asyncIterator in s?c=(async()=>{let l=s[Symbol.asyncIterator]();try{let{value:m,done:b}=await l.next();if(b)throw new Error("singleFromAny: factory returned empty async iterable");return m}finally{await l.return?.()}})():s!=null&&typeof s=="object"&&Symbol.iterator in s?c=(async()=>{let l=s[Symbol.iterator]();try{let{value:m,done:b}=l.next();if(b)throw new Error("singleFromAny: factory returned empty iterable");return m}finally{l.return?.()}})():c=Promise.resolve(s);let d,u=()=>{n.get(o)===d&&n.delete(o)};return d=c.then(l=>(u(),l),l=>{throw u(),l}),n.set(o,d),d}}B();var A=class extends Error{constructor(r,n){super(`withReplayCache: no cached response for ${n} (key=${r}, mode=read-strict)`);this.key=r;this.method=n}name="ReplayCacheMissError"};function oe(e,t){let r=t.mode??"read-write",n=t.cacheStreaming??!1,a=t.captureStreamCadence??!1,o=t.replaySpeed??1,i=t.keyPrefix??"llm-replay",s=t.storage,c=r==="read"||r==="read-strict",d=async(p,f)=>{if(t.keyFn){let v=t.keyFn;if(v.length<=1){let E={messages:p,opts:f,context:f?.keyContext},y=await v(E);return`${i}:${y}`}let O=await v(p,f);return`${i}:${O}`}let{signal:g,keyContext:h,...T}=f??{},M=H({messages:p,opts:T}),R=await P(M);return`${i}:${R}`},u=async p=>{if(r==="write-only")return;let f=await s.load(p);if(f!=null)try{return typeof f=="string"?JSON.parse(f):f}catch{return}},l=async p=>(await u(p))?.response,m=async(p,f,g)=>{if(c)return;let h={response:f,storedAtNs:C(),...g?{streamChunks:g.chunks,streamCadenceMs:g.delaysMs}:{}};await s.save(p,h)},b=p=>p<=0?Promise.resolve():new Promise(f=>{new S().start(p,()=>f())}),ue=ne(async({messages:p,invokeOpts:f})=>{let g=e.invoke(p,f);return await Ee(g)},{keyFn:({_precomputedKey:p})=>p});return{provider:e.provider,model:e.model,capabilities:e.capabilities?.bind(e),async invoke(p,f){let g=await d(p,f),h=await l(g);if(h)return{...h,metadata:{...h.metadata??{},replayCache:"hit"}};if(r==="read-strict")throw new A(g,"invoke");let T=await ue({messages:p,invokeOpts:f,_precomputedKey:g});return await m(g,T),T},async*stream(p,f){if(!n){for await(let y of e.stream(p,f))yield y;return}let g=await d(p,f),h=await u(g);if(h){let y=h.response;if(h.streamChunks&&h.streamCadenceMs)for(let x=0;x<h.streamChunks.length;x++){let D=h.streamCadenceMs[x]??0,U=o>0?D/o:0;U>0&&await b(U),yield{type:"token",delta:h.streamChunks[x]?.delta??""}}else y.content&&(yield{type:"token",delta:y.content});y.usage&&(yield{type:"usage",usage:y.usage}),yield{type:"finish",reason:y.finishReason??"stop"};return}if(r==="read-strict")throw new A(g,"stream");let T="",M,R,v=[],O=[],E;for await(let y of e.stream(p,f)){if(y.type==="token"&&(T+=y.delta,a)){let x=Y(),D=E===void 0?0:(x-E)/1e6;O.push(D),E=x,v.push({delta:y.delta})}y.type==="usage"&&(M=y.usage),y.type==="finish"&&(R=y.reason),yield y}if(T||M){let y={content:T,usage:M??{input:{regular:0},output:{regular:0}},finishReason:R,model:e.model??f?.model??"",provider:e.provider};await m(g,y,a?{chunks:v,delaysMs:O}:void 0)}}}}function H(e){let t=new Set,r=n=>{if(n===null||typeof n!="object")return n;let a=n;if(t.has(a))return{__cycle:!0};t.add(a);try{if(Array.isArray(n))return n.map(r);let o={};for(let i of Object.keys(n).sort())o[i]=r(n[i]);return o}finally{t.delete(a)}};return JSON.stringify(r(e))}async function Ee(e){if(e!=null&&typeof e.then=="function")return await e;if(e&&typeof e=="object"&&"content"in e)return e;throw new Error("withReplayCache: adapter.invoke must return Promise or LLMResponse (Node input not supported in cache path)")}B();function F(){let e=new Error("aborted");return e.name="AbortError",e}function se(e,t){return e<=0?Promise.resolve():t?.aborted?Promise.reject(F()):new Promise((r,n)=>{let a=new S,o,i=()=>{a.cancel(),t&&o&&t.removeEventListener("abort",o)};a.start(e,()=>{i(),r()}),t&&(o=()=>{i(),n(F())},t.addEventListener("abort",o,{once:!0}))})}function ae(e={}){let t=e.provider??"dry-run",r=e.model??"dry-run-v1",n=e.latencyMs??0,a=Math.max(1,e.streamChunkSize??16),o=e.respond??(s=>{let c=[...s].reverse().find(d=>d.role==="user");return c?`echo: ${c.content}`:"dry-run: no user message"}),i=e.usage??((s,c)=>{let d=s.reduce((u,l)=>u+l.content.length,0);return{input:{regular:Math.ceil(d/4)},output:{regular:Math.ceil(c.length/4)}}});return{provider:t,model:r,async invoke(s,c){if(await se(n,c?.signal),c?.signal?.aborted)throw F();let d=o(s,c),u=i(s,d);return{content:d,usage:u,finishReason:"stop",model:c?.model??r,provider:t,tier:c?.tier,metadata:{dryRun:!0}}},async*stream(s,c){let d=o(s,c),u=i(s,d),l=Math.ceil(d.length/a)||1,m=n>0?n/l:0;for(let b=0;b<d.length;b+=a){if(c?.signal?.aborted)throw F();await se(m,c?.signal),yield{type:"token",delta:d.slice(b,b+a)}}yield{type:"usage",usage:u},yield{type:"finish",reason:"stop"}}}}function ie(e,t){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function ce(e,t,r){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:r,provider:t,metadata:{degraded:!0,reason:"respond"}}:e}async function Ae(e,t){if("key"in e)return e.key;let r=H({messages:e.messages,opts:e.invokeOpts??{}}),n=await P(r);return`${t}:${n}`}function Re(e){let t={response:e.response,storedAtNs:C()};if("key"in e&&e.stream){let r=e.stream.chunks.filter(n=>n.type==="token");return{...t,streamChunks:r.map(n=>({delta:n.delta})),streamCadenceMs:e.stream.delaysMs??r.map(()=>0)}}return t}function Oe(e,t){let r=[];if(e.fixtures!=null&&r.push("fixtures"),e.fixturesStorage!=null&&r.push("fixturesStorage"),r.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${r.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(e.fixtures){let n=K(),a=e.fixtures,o=(async()=>{for(let i of a){let s=await Ae(i,t);await n.save(s,Re(i))}})();return o.catch(()=>{}),{tier:n,seedReady:o}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function de(e={}){let t=e.provider??"fallback",r=e.model??"fallback",n=e.onMiss??"respond",a=e.keyPrefix??"fallback",o=e.record?e.record.adapter:n==="throw"?ae({provider:t,model:r,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:t,model:r,async invoke(u,l){let m=e.respond?e.respond(u,l):ie(t,r);return ce(m,t,r)},async*stream(u,l){let m=e.respond?e.respond(u,l):ie(t,r),b=ce(m,t,r);yield{type:"token",delta:b.content},b.usage&&(yield{type:"usage",usage:b.usage}),yield{type:"finish",reason:b.finishReason??"stop"}}},i,s=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");i=e.record.storage}else{let u=Oe(e,a);i=u.tier??K(),s=u.seedReady}let c=e.record?"read-write":n==="throw"?"read-strict":"read",d=oe(o,{storage:i,mode:c,keyPrefix:a,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:t,model:r,capabilities:d.capabilities?.bind(d),async invoke(u,l){return await s,d.invoke(u,l)},async*stream(u,l){await s;for await(let m of d.stream(u,l))yield m}}}function Ne(e){if(!(0,L.existsSync)(e))return;let t=(0,L.readdirSync)(e).filter(c=>c.endsWith(".json"));if(t.length===0)return;let r=t[0],n=(0,I.join)(e,r),a;try{a=JSON.parse((0,L.readFileSync)(n,"utf8"))}catch(c){throw new TypeError(`fallbackAdapter: ${n} is not valid JSON (${c.message}).`)}let o=a,i=o!=null&&"messages"in o,s=o==null||typeof o.response?.content!="string"||typeof o.storedAtNs!="number";if(i||s){let c=i?"`messages` at the top level means this looks hand-authored. ":"";throw new TypeError(`fallbackAdapter: ${n} is not in cache-file format. ${c}Expected \`{ response: { content, usage, ... }, storedAtNs, ... }\` (the shape \`withReplayCache\` and this adapter's \`record\` mode write). For hand-authored fixtures, use the inline \`fixtures: FallbackFixture[]\` option \u2014 the adapter hashes messages for you.`)}}function le(e={}){let t=e.keyPrefix??"fallback",r=[];if(e.fixtures!=null&&r.push("fixtures"),e.fixturesDir!=null&&r.push("fixturesDir"),e.fixturesStorage!=null&&r.push("fixturesStorage"),r.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\`, \`fixturesDir\`, and \`fixturesStorage\` are mutually exclusive; got both ${r.join(" and ")}. Pick one source.`);let n=e.fixturesStorage;if(e.fixturesDir!=null){let d=(0,I.join)(e.fixturesDir,t);Ne(d),n=$(d)}let a;if(e.record){if(e.record.storage&&e.record.dir)throw new TypeError("fallbackAdapter: `record.storage` and `record.dir` are mutually exclusive; pick one.");if(e.record.storage)a={adapter:e.record.adapter,storage:e.record.storage};else{let d=e.record.dir??e.fixturesDir;if(d==null)throw new TypeError("fallbackAdapter: record mode requires either `record.dir`, `record.storage`, or an inherited `fixturesDir`.");a={adapter:e.record.adapter,storage:$((0,I.join)(d,t))}}}let{fixturesDir:o,record:i,...s}=e,c={...s,...n?{fixturesStorage:n}:{},...a?{record:a}:{}};return de(c)}0&&(module.exports={fallbackAdapter});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { StorageTier } from '../../extra/storage-core.cjs';
|
|
2
|
+
import { L as LLMAdapter } from '../../types-O3GzJY2U.cjs';
|
|
3
|
+
import { F as FallbackAdapterOptions } from '../../fallback-BaTS7vVY.cjs';
|
|
4
|
+
export { a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy } from '../../fallback-BaTS7vVY.cjs';
|
|
5
|
+
import '../../extra/sources.cjs';
|
|
6
|
+
import '../../node-Cc1TniY8.cjs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Node-subpath extension of {@link fallbackAdapter} — adds filesystem
|
|
10
|
+
* directory convenience options (`fixturesDir`, `record.dir`) that rely on
|
|
11
|
+
* `node:fs` / `node:path` / `fileStorage`.
|
|
12
|
+
*
|
|
13
|
+
* This module intentionally lives outside the main `patterns/ai` entry so
|
|
14
|
+
* browser bundles don't pull `node:fs` / `node:path`. Import this variant
|
|
15
|
+
* from `@graphrefly/graphrefly/patterns/ai/node` in Node
|
|
16
|
+
* environments when you want the ergonomic directory options.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Options for the node-only `fallbackAdapter`. Adds `fixturesDir` and
|
|
23
|
+
* `record.dir` to the base options.
|
|
24
|
+
*/
|
|
25
|
+
interface NodeFallbackAdapterOptions extends Omit<FallbackAdapterOptions, "record"> {
|
|
26
|
+
/**
|
|
27
|
+
* Directory of cache-format JSON files. Auto-namespaced to
|
|
28
|
+
* `join(dir, keyPrefix)` so multiple adapters pointing at the same root
|
|
29
|
+
* don't commingle files. Init-time validator throws a clear `TypeError`
|
|
30
|
+
* if the namespaced subdirectory contains files that aren't in cache
|
|
31
|
+
* format. Mutually exclusive with `fixtures` and `fixturesStorage`.
|
|
32
|
+
*/
|
|
33
|
+
readonly fixturesDir?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Record mode — same as the base, with `dir` as a convenience sibling to
|
|
36
|
+
* `storage`. `dir` auto-namespaces to `join(dir, keyPrefix)`; `storage` is
|
|
37
|
+
* pass-through. If `dir` is omitted and `fixturesDir` is set, record
|
|
38
|
+
* defaults to writing to `fixturesDir` — the "read baseline, append
|
|
39
|
+
* misses to same dir" pattern.
|
|
40
|
+
*/
|
|
41
|
+
readonly record?: {
|
|
42
|
+
readonly adapter: LLMAdapter;
|
|
43
|
+
readonly dir?: string;
|
|
44
|
+
readonly storage?: StorageTier;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Node-only `fallbackAdapter` — the base variant extended with `fixturesDir`
|
|
49
|
+
* and `record.dir` filesystem convenience options. Resolves those to
|
|
50
|
+
* `fileStorage(...)` tiers and delegates to the base `fallbackAdapter`.
|
|
51
|
+
*
|
|
52
|
+
* For browser-safe usage, import `fallbackAdapter` from
|
|
53
|
+
* `@graphrefly/graphrefly/patterns/ai` instead — that variant only accepts
|
|
54
|
+
* `fixtures` and `fixturesStorage`, no `node:*` imports.
|
|
55
|
+
*/
|
|
56
|
+
declare function fallbackAdapter(opts?: NodeFallbackAdapterOptions): LLMAdapter;
|
|
57
|
+
|
|
58
|
+
export { FallbackAdapterOptions as BaseFallbackAdapterOptions, type NodeFallbackAdapterOptions, fallbackAdapter };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { StorageTier } from '../../extra/storage-core.js';
|
|
2
|
+
import { L as LLMAdapter } from '../../types-u64Ose53.js';
|
|
3
|
+
import { F as FallbackAdapterOptions } from '../../fallback-eOm3LNxP.js';
|
|
4
|
+
export { a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy } from '../../fallback-eOm3LNxP.js';
|
|
5
|
+
import '../../extra/sources.js';
|
|
6
|
+
import '../../node-Cc1TniY8.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Node-subpath extension of {@link fallbackAdapter} — adds filesystem
|
|
10
|
+
* directory convenience options (`fixturesDir`, `record.dir`) that rely on
|
|
11
|
+
* `node:fs` / `node:path` / `fileStorage`.
|
|
12
|
+
*
|
|
13
|
+
* This module intentionally lives outside the main `patterns/ai` entry so
|
|
14
|
+
* browser bundles don't pull `node:fs` / `node:path`. Import this variant
|
|
15
|
+
* from `@graphrefly/graphrefly/patterns/ai/node` in Node
|
|
16
|
+
* environments when you want the ergonomic directory options.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Options for the node-only `fallbackAdapter`. Adds `fixturesDir` and
|
|
23
|
+
* `record.dir` to the base options.
|
|
24
|
+
*/
|
|
25
|
+
interface NodeFallbackAdapterOptions extends Omit<FallbackAdapterOptions, "record"> {
|
|
26
|
+
/**
|
|
27
|
+
* Directory of cache-format JSON files. Auto-namespaced to
|
|
28
|
+
* `join(dir, keyPrefix)` so multiple adapters pointing at the same root
|
|
29
|
+
* don't commingle files. Init-time validator throws a clear `TypeError`
|
|
30
|
+
* if the namespaced subdirectory contains files that aren't in cache
|
|
31
|
+
* format. Mutually exclusive with `fixtures` and `fixturesStorage`.
|
|
32
|
+
*/
|
|
33
|
+
readonly fixturesDir?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Record mode — same as the base, with `dir` as a convenience sibling to
|
|
36
|
+
* `storage`. `dir` auto-namespaces to `join(dir, keyPrefix)`; `storage` is
|
|
37
|
+
* pass-through. If `dir` is omitted and `fixturesDir` is set, record
|
|
38
|
+
* defaults to writing to `fixturesDir` — the "read baseline, append
|
|
39
|
+
* misses to same dir" pattern.
|
|
40
|
+
*/
|
|
41
|
+
readonly record?: {
|
|
42
|
+
readonly adapter: LLMAdapter;
|
|
43
|
+
readonly dir?: string;
|
|
44
|
+
readonly storage?: StorageTier;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Node-only `fallbackAdapter` — the base variant extended with `fixturesDir`
|
|
49
|
+
* and `record.dir` filesystem convenience options. Resolves those to
|
|
50
|
+
* `fileStorage(...)` tiers and delegates to the base `fallbackAdapter`.
|
|
51
|
+
*
|
|
52
|
+
* For browser-safe usage, import `fallbackAdapter` from
|
|
53
|
+
* `@graphrefly/graphrefly/patterns/ai` instead — that variant only accepts
|
|
54
|
+
* `fixtures` and `fixturesStorage`, no `node:*` imports.
|
|
55
|
+
*/
|
|
56
|
+
declare function fallbackAdapter(opts?: NodeFallbackAdapterOptions): LLMAdapter;
|
|
57
|
+
|
|
58
|
+
export { FallbackAdapterOptions as BaseFallbackAdapterOptions, type NodeFallbackAdapterOptions, fallbackAdapter };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f}from"../../chunk-CRXTH3SH.js";import"../../chunk-K2GNMCQT.js";import"../../chunk-ESMPEKEV.js";import{a as c}from"../../chunk-3JXNEPCD.js";import"../../chunk-I6VIH3VA.js";import"../../chunk-2PMCKKRK.js";import"../../chunk-ZB5EHBIO.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";import{existsSync as u,readdirSync as k,readFileSync as h}from"fs";import{join as p}from"path";function b(e){if(!u(e))return;let i=k(e).filter(o=>o.endsWith(".json"));if(i.length===0)return;let r=i[0],a=p(e,r),t;try{t=JSON.parse(h(a,"utf8"))}catch(o){throw new TypeError(`fallbackAdapter: ${a} is not valid JSON (${o.message}).`)}let s=t,l=s!=null&&"messages"in s,d=s==null||typeof s.response?.content!="string"||typeof s.storedAtNs!="number";if(l||d){let o=l?"`messages` at the top level means this looks hand-authored. ":"";throw new TypeError(`fallbackAdapter: ${a} is not in cache-file format. ${o}Expected \`{ response: { content, usage, ... }, storedAtNs, ... }\` (the shape \`withReplayCache\` and this adapter's \`record\` mode write). For hand-authored fixtures, use the inline \`fixtures: FallbackFixture[]\` option \u2014 the adapter hashes messages for you.`)}}function x(e={}){let i=e.keyPrefix??"fallback",r=[];if(e.fixtures!=null&&r.push("fixtures"),e.fixturesDir!=null&&r.push("fixturesDir"),e.fixturesStorage!=null&&r.push("fixturesStorage"),r.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\`, \`fixturesDir\`, and \`fixturesStorage\` are mutually exclusive; got both ${r.join(" and ")}. Pick one source.`);let a=e.fixturesStorage;if(e.fixturesDir!=null){let n=p(e.fixturesDir,i);b(n),a=c(n)}let t;if(e.record){if(e.record.storage&&e.record.dir)throw new TypeError("fallbackAdapter: `record.storage` and `record.dir` are mutually exclusive; pick one.");if(e.record.storage)t={adapter:e.record.adapter,storage:e.record.storage};else{let n=e.record.dir??e.fixturesDir;if(n==null)throw new TypeError("fallbackAdapter: record mode requires either `record.dir`, `record.storage`, or an inherited `fixturesDir`.");t={adapter:e.record.adapter,storage:c(p(n,i))}}}let{fixturesDir:s,record:l,...d}=e,o={...d,...a?{fixturesStorage:a}:{},...t?{record:t}:{}};return f(o)}export{x as fallbackAdapter};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";var rt=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var cn=Object.getOwnPropertyNames;var ln=Object.prototype.hasOwnProperty;var q=(r,e)=>()=>(r&&(e=r(r=0)),e);var pn=(r,e)=>{for(var t in e)rt(r,t,{get:e[t],enumerable:!0})},fn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of cn(e))!ln.call(r,s)&&s!==t&&rt(r,s,{get:()=>e[s],enumerable:!(n=dn(e,s))||n.enumerable});return r};var hn=r=>fn(rt({},"__esModule",{value:!0}),r);function ee(){return Math.trunc(performance.now()*1e6)}function ie(){return Date.now()*1e6}var Se=q(()=>{"use strict"});function Nt(r){return Array.isArray(r)?[...r]:[r]}function gn(r,e){return r.has(e)||r.has("*")}function mn(r){let e=[];return r((s,o)=>{e.push({kind:"allow",actions:new Set(Nt(s)),where:o?.where??(()=>!0)})},(s,o)=>{e.push({kind:"deny",actions:new Set(Nt(s)),where:o?.where??(()=>!0)})}),(s,o)=>{let i=!1,a=!1;for(let c of e)gn(c.actions,o)&&c.where(s)&&(c.kind==="deny"?i=!0:a=!0);return i?!1:a}}function st(r){return mn((e,t)=>{for(let n of r){let s=n.actorType==null?null:new Set(Array.isArray(n.actorType)?n.actorType:[n.actorType]),o=n.actorId==null?null:new Set(Array.isArray(n.actorId)?n.actorId:[n.actorId]),i=Object.entries(n.claims??{}),a=c=>{if(s!==null&&!s.has(String(c.type))||o!==null&&!o.has(String(c.id??"")))return!1;for(let[u,l]of i)if(c[u]!==l)return!1;return!0};n.effect==="deny"?t(n.action,{where:a}):e(n.action,{where:a})}})}function ot(r){let e=bn.filter(t=>r({type:t,id:""},"write"));return e.length===0?"restricted":e.includes("human")&&e.includes("llm")&&e.every(t=>t==="human"||t==="llm"||t==="system")?"both":e.length===1?e[0]:e.join("+")}var Y,bn,le=q(()=>{"use strict";Y=class extends Error{actor;action;nodeName;constructor(e,t){super(t??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}};bn=["human","llm","wallet","system"]});var pe,C,j,H,J,Z,re,F,z,$,ae,Ae,kt,De,St,At,Re,it,at,ut,Ge,se=q(()=>{"use strict";pe=Symbol.for("graphrefly/START"),C=Symbol.for("graphrefly/DATA"),j=Symbol.for("graphrefly/DIRTY"),H=Symbol.for("graphrefly/RESOLVED"),J=Symbol.for("graphrefly/INVALIDATE"),Z=Symbol.for("graphrefly/PAUSE"),re=Symbol.for("graphrefly/RESUME"),F=Symbol.for("graphrefly/TEARDOWN"),z=Symbol.for("graphrefly/COMPLETE"),$=Symbol.for("graphrefly/ERROR"),ae=Object.freeze([j]),Ae=Object.freeze([H]),kt=Object.freeze([J]),De=Object.freeze([pe]),St=Object.freeze([z]),At=Object.freeze([F]),Re=Object.freeze([ae]),it=Object.freeze([Ae]),at=Object.freeze([kt]),ut=Object.freeze([St]),Ge=Object.freeze([At])});function Rt(r,e){let t=new TextEncoder().encode(r.name);if(t.length===0||t.length>255)throw new Error(`encodeEnvelope: codec name "${r.name}" encodes to ${t.length} bytes (must be 1\u2013255)`);let n=r.version;if(!Number.isInteger(n)||n<0||n>65535)throw new Error(`encodeEnvelope: codec.version ${n} out of u16 range (expected integer 0\u201365535)`);let s=2+t.length+2+e.length;if(s>4294967295)throw new Error(`encodeEnvelope: total envelope size ${s} exceeds 2^32-1 bytes (payload ${e.length} bytes)`);let o=new Uint8Array(s),i=0;return o[i++]=dt,o[i++]=t.length,o.set(t,i),i+=t.length,o[i++]=n>>>8&255,o[i++]=n&255,o.set(e,i),o}function Gt(r,e){if(r.length<Dt)throw new Error(`decodeEnvelope: bytes too short (${r.length} < ${Dt})`);let t=0,n=r[t++];if(n!==dt)throw new Error(`decodeEnvelope: unsupported envelope version ${n} (expected ${dt})`);let s=r[t++];if(s===0)throw new Error("decodeEnvelope: name_len must be >= 1");if(t+s+2>r.length)throw new Error(`decodeEnvelope: envelope truncated (need ${t+s+2} bytes, have ${r.length})`);let o=new TextDecoder().decode(r.subarray(t,t+s));t+=s;let i=(r[t]<<8|r[t+1])>>>0;t+=2;let a=r.subarray(t),c=e.lookupCodec(o);if(c==null)throw new Error(`decodeEnvelope: codec "${o}" not registered (envelope codec_v=${i})`);return{codec:c,codecVersion:i,payload:a}}function Ct(r){r.registerCodec(yn)}var yn,dt,Dt,ct=q(()=>{"use strict";yn={name:"json",version:1,contentType:"application/json",encode(r){let e=JSON.stringify(r);return new TextEncoder().encode(e)},decode(r,e){let t=new TextDecoder().decode(r);return JSON.parse(t)}},dt=1,Dt=4});function Ce(r){if(r==null)return fe;let{type:e,id:t,...n}=r;return{type:e??"system",id:t??"",...n}}var fe,Me=q(()=>{"use strict";fe={type:"system",id:""}});function Pe(){return he>0||ve}function Mt(){return he>0}function we(r){he>0?_e.push(r):r()}function Te(r){he+=1;let e=!1;try{r()}catch(t){throw e=!0,t}finally{if(he-=1,he===0)if(e){if(!ve){let t=_e.splice(0);for(let n of t)try{n()}catch{}ue.length=0,de.length=0,ge.length=0}}else vn()}}function vn(){let r=!ve;r&&(ve=!0);let e=[],t=0;try{for(;ue.length>0||de.length>0||ge.length>0||r&&_e.length>0;){if(r&&_e.length>0){let o=_e.splice(0);for(let i of o)try{i()}catch(a){e.push(a)}continue}if(t+=1,t>1e3)throw ue.length=0,de.length=0,ge.length=0,new Error("batch drain exceeded 1000 iterations \u2014 likely a reactive cycle");let s=(ue.length>0?ue:de.length>0?de:ge).splice(0);for(let o of s)try{o()}catch(i){e.push(i)}}}finally{r&&(ve=!1)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"batch drain: multiple callbacks threw")}function $e(r,e,t){if(e.length===0)return;if(e.length===1){let u=t(e[0][0]);if(u<3||!Pe()){r(e);return}(u>=5?ge:u===4?de:ue).push(()=>r(e));return}let n=e.length,s=n,o=n,i=n,a=0;for(;a<n&&t(e[a][0])<3;)a++;for(s=a;a<n&&t(e[a][0])===3;)a++;for(o=a;a<n&&t(e[a][0])===4;)a++;i=a;let c=Pe();if(s>0){let u=e.slice(0,s);r(u)}if(o>s){let u=e.slice(s,o);c?ue.push(()=>r(u)):r(u)}if(i>o){let u=e.slice(o,i);c?de.push(()=>r(u)):r(u)}if(n>i){let u=e.slice(i,n);c?ge.push(()=>r(u)):r(u)}}var he,ve,ue,de,ge,_e,Ie=q(()=>{"use strict";he=0,ve=!1,ue=[],de=[],ge=[],_e=[]});function Pt(r){r.registerMessageType(pe,{tier:0,wireCrossing:!1}),r.registerMessageType(j,{tier:1,wireCrossing:!1}),r.registerMessageType(J,{tier:1,wireCrossing:!1,metaPassthrough:!1}),r.registerMessageType(Z,{tier:2,wireCrossing:!1}),r.registerMessageType(re,{tier:2,wireCrossing:!1}),r.registerMessageType(C,{tier:3,wireCrossing:!0}),r.registerMessageType(H,{tier:3,wireCrossing:!0}),r.registerMessageType(z,{tier:4,wireCrossing:!0,metaPassthrough:!1}),r.registerMessageType($,{tier:4,wireCrossing:!0,metaPassthrough:!1}),r.registerMessageType(F,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var Le,$t=q(()=>{"use strict";se();Le=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=t=>{let n=this._messageTypes.get(t);return n!=null?n.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}registerMessageType(e,t){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:t.tier,wireCrossing:t.wireCrossing??t.tier>=3,metaPassthrough:t.metaPassthrough??!0}),this}messageTier(e){let t=this._messageTypes.get(e);return t!=null?t.tier:1}isWireCrossing(e){let t=this._messageTypes.get(e);return t!=null?t.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let t=this._messageTypes.get(e);return t!=null?t.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});function lt(r){if(r===void 0)return null;if(typeof r=="number"){if(!Number.isFinite(r))throw new TypeError(`Cannot hash non-finite number: ${r}`);if(Number.isInteger(r)&&!Number.isSafeInteger(r))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${r}. Cross-language cid parity is not guaranteed for unsafe integers.`);return r}if(typeof r=="string"||typeof r=="boolean"||r===null)return r;if(Array.isArray(r))return r.map(lt);if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r).sort())e[t]=lt(r[t]);return e}return null}function Tn(r){let e=wn.encode(r),t=e.length,n=t*8,s=t+9+63&-64,o=new Uint8Array(s);o.set(e),o[t]=128;let i=new DataView(o.buffer);i.setUint32(s-4,n>>>0,!1),i.setUint32(s-8,Math.floor(n/4294967296)>>>0,!1);let a=1779033703,c=3144134277,u=1013904242,l=2773480762,p=1359893119,h=2600822924,f=528734635,d=1541459225,g=new Uint32Array(64),m=(v,b)=>v>>>b|v<<32-b;for(let v=0;v<s;v+=64){for(let N=0;N<16;N++)g[N]=i.getUint32(v+N*4,!1);for(let N=16;N<64;N++){let A=g[N-15],k=g[N-2],L=m(A,7)^m(A,18)^A>>>3,Q=m(k,17)^m(k,19)^k>>>10;g[N]=g[N-16]+L+g[N-7]+Q>>>0}let b=a,_=c,O=u,w=l,T=p,E=h,S=f,I=d;for(let N=0;N<64;N++){let A=m(T,6)^m(T,11)^m(T,25),k=T&E^~T&S,L=I+A+k+_n[N]+g[N]>>>0,Q=m(b,2)^m(b,13)^m(b,22),oe=b&_^b&O^_&O,Ne=Q+oe>>>0;I=S,S=E,E=T,T=w+L>>>0,w=O,O=_,_=b,b=L+Ne>>>0}a=a+b>>>0,c=c+_>>>0,u=u+O>>>0,l=l+w>>>0,p=p+T>>>0,h=h+E>>>0,f=f+S>>>0,d=d+I>>>0}let y=v=>v.toString(16).padStart(8,"0");return y(a)+y(c)+y(u)+y(l)+y(p)+y(h)+y(f)+y(d)}function Oe(r){let e=lt(r??null),t=JSON.stringify(e);return Tn(t).slice(0,16)}function On(){let r=globalThis.crypto;if(r?.randomUUID)return r.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),t=e()+e()+e()+e();return`${t.slice(0,8)}-${t.slice(8,12)}-4${t.slice(13,16)}-${(parseInt(t.slice(16,17),16)&3|8).toString(16)}${t.slice(17,20)}-${t.slice(20,32)}`}function pt(r,e,t){let n=t?.id??On();if(r===0)return{id:n,version:0};let o=(t?.hash??Oe)(e);return{id:n,version:0,cid:o,prev:null}}function It(r,e,t){r.version+=1,"cid"in r&&(r.prev=r.cid,r.cid=t(e))}var _n,wn,ft=q(()=>{"use strict";_n=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wn=new TextEncoder});function Vt(r){return{node:r,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function ht(r){r.prevData=void 0,r.dirty=!1,r.involvedThisWave=!1,r.dataBatch.length=0,r.terminal=void 0}function Fe(r){return r.length===0?r:typeof r[0]=="symbol"?[r]:r}function Ve(r,e,t){let n=zt(r)?r:[],s=typeof r=="function"?r:typeof e=="function"?e:void 0,o={};return zt(r)?o=(gt(e)?e:t)??{}:gt(r)?o=r:o=(gt(e)?e:t)??{},new M(n,s,o)}var Lt,Ft,xn,En,me,M,zt,gt,be=q(()=>{"use strict";ct();Me();Ie();Se();$t();le();se();ft();Lt=()=>{},Ft=100;xn=(r,e,t,n)=>{t.direction==="down-in"&&r._onDepMessage(t.depIndex,e)},En=(r,e,t,n)=>{let s=r;if(s._status==="completed"||s._status==="errored")return;let o=s._cached,i=o===void 0?[De]:[De,[C,o]];s._status==="dirty"&&i.push(ae),$e(e,i,s._config.tierOf)},me=new Le({onMessage:xn,onSubscribe:En});Pt(me);Ct(me);M=class r{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,t,n){this._config=n.config??me,this._config.onMessage,this._optsName=n.name,this._describeKind=n.describeKind,this._equals=n.equals??Object.is,this._resubscribable=n.resubscribable??!1,this._resetOnTeardown=n.resetOnTeardown??!1,this._autoComplete=n.completeWhenDepsComplete??!0,this._autoError=n.errorWhenDepsError??!0,this._pausable=n.pausable??!0,this._guard=n.guard,this._fn=t,this._cached=n.initial!==void 0?n.initial:void 0,this._status=e.length===0&&t==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=n.versioningHash??this._config.defaultHashFn??Oe;let s=n.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?pt(s,this._cached===void 0?void 0:this._cached,{id:n.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(Vt);let o={};for(let[a,c]of Object.entries(n.meta??{})){let u={initial:c,name:`${n.name??"node"}:meta:${a}`,describeKind:"state",config:this._config};n.guard!=null&&(u.guard=n.guard),o[a]=new r([],void 0,u)}Object.freeze(o),this.meta=o,this._hasMeta=Object.keys(o).length>0;let i=this;this._actions={emit(a){i._emit([[C,a]])},down(a){i._emit(Fe(a))},up(a){i._emitUp(Fe(a))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,t){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let n=this._versioningLevel;if(n!=null&&e<=n)return;let s=t?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let o=this._cached===void 0?void 0:this._cached,i=this._versioning,a=i?.id??t?.id,c=i?.version??0,u=pt(e,o,{id:a,hash:s});u.version=c,this._versioning=u,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let t=Ce(e);if(this._guard!=null&&!this._guard(t,"observe"))return!1;if(this._extraGuards!=null){for(let n of this._extraGuards)if(!n(t,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let t=this._guard!=null||this._extraGuards!=null,n=e?.actor!=null;if(!t&&!n)return;let s=Ce(e?.actor),o=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,o))throw new Y({actor:s,action:o,nodeName:this.name});if(this._extraGuards!=null){for(let i of this._extraGuards)if(!i(s,o))throw new Y({actor:s,action:o,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:ie()}}down(e,t){let n=Fe(e);n.length!==0&&(this._checkGuard(t),this._emit(n))}emit(e,t){this._checkGuard(t),this._emit([[C,e]])}up(e,t){if(this._deps.length===0)return;let n=Fe(e);if(n.length===0)return;this._checkGuard(t);let s=t??{internal:!0};this._validateUpTiers(n);for(let o of this._deps)o.node.up?.(n,s)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let t of this._deps)t.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let t=this._config.tierOf;for(let n of e){let s=t(n[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,t){if(t!=null&&this._guard!=null){let c=Ce(t);if(!this._guard(c,"observe"))throw new Y({actor:c,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let c of this._deps)ht(c)}this._sinkCount+=1;let o;try{o=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(c){throw this._sinkCount-=1,c}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let i=this._isTerminal;if(this._sinkCount===1&&!i)try{this._activate()}catch(c){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof o=="function")try{o()}catch{}throw c}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let a=!1;return()=>{a||(a=!0,this._sinkCount-=1,this._removeSink(e),typeof o=="function"&&o(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[t]=this._sinks;this._sinks=t}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,t=0;try{for(let n=0;n<e;n++){let s=n,o=this._deps[n];o.unsub=Lt,o.unsub=o.node.subscribe(i=>{if(o.unsub===null)return;let a=this._config.tierOf,c=!1;for(let u of i)a(u[0])>=3&&(c=!0),this._config.onMessage(this,u,{direction:"down-in",depIndex:s},this._actions);c&&this._maybeRunFnOnSettlement()}),t++}}catch(n){this._deps[t].unsub=null;for(let s=0;s<t;s++){let o=this._deps[s];if(o.unsub!=null){let i=o.unsub;o.unsub=null;try{i()}catch{}ht(o)}}throw this._dirtyDepCount=0,n}}_addDep(e){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===e)return s;let t=this._deps.length,n=Vt(e);if(this._deps.push(n),this._sinks==null)return t;n.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(Re),n.unsub=Lt;try{n.unsub=e.subscribe(s=>{if(n.unsub===null)return;let o=this._config.tierOf,i=!1;for(let a of s)o(a[0])>=3&&(i=!0),this._config.onMessage(this,a,{direction:"down-in",depIndex:t},this._actions);i&&this._maybeRunFnOnSettlement()})}catch(s){throw n.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return t}_deactivate(e=!1){let t=this._cleanup;if(this._cleanup=void 0,typeof t=="function")try{t()}catch(n){this._emit([[$,this._wrapFnError("cleanup threw",n)]])}else if(t!=null&&typeof t=="object"){let n=t.deactivate;if(typeof n=="function")try{n()}catch(s){this._emit([[$,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let n of this._deps){if(n.unsub!=null){let s=n.unsub;n.unsub=null;try{s()}catch{}}ht(n)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,t){let n=this._deps[e],s=t[0];if(this._inspectorHooks!=null){let o={kind:"dep_message",depIndex:e,message:t};for(let i of this._inspectorHooks)i(o)}if(s!==pe){if(s===j){this._depDirtied(n);return}if(s===J){this._depInvalidated(n),this._emit(at);return}if(s===Z||s===re){this._emit([t]);return}if(s===F){this._emit(Ge);return}if(s===C)this._depSettledAsData(n,t[1]);else if(s===H)this._depSettledAsResolved(n);else if(s===z)this._depSettledAsTerminal(n,!0);else if(s===$)this._depSettledAsTerminal(n,t[1]);else{this._emit([t]);return}if(!this._fn){(s===C||s===H)&&this._emit([t]),(s===z||s===$)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(Re))}_depSettledAsData(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(t),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=t,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(it),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(t=>t.terminal!==void 0&&t.terminal!==!0);if(e!=null){this._autoError&&this._emit([[$,e.terminal]]);return}this._autoComplete&&this._deps.every(t=>t.terminal!==void 0)&&this._emit(ut)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(i){this._emit([[$,this._wrapFnError("cleanup threw",i)]]);return}}else if(e!=null&&typeof e=="object"){let i=e.beforeRun;if(typeof i=="function"){e.beforeRun=void 0;try{i()}catch(a){this._emit([[$,this._wrapFnError("cleanup.beforeRun threw",a)]]);return}}}let t=this._deps.map(i=>i.involvedThisWave?i.dataBatch.length>0?[...i.dataBatch]:[]:void 0),n=this._deps.map(i=>i.prevData);for(let i=0;i<this._deps.length;i++){let a=t[i];a!=null&&a.length>0&&(this._deps[i].prevData=a[a.length-1])}let s=this._deps.map(i=>i.terminal),o={prevData:n,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let i={kind:"run",batchData:t,prevData:n};for(let a of this._inspectorHooks)a(i)}this._isExecutingFn=!0;try{let i=this._fn(t,this._actions,o);if(typeof i=="function")this._cleanup=i;else if(i!=null&&typeof i=="object"){let a=i;(typeof a.beforeRun=="function"||typeof a.deactivate=="function"||typeof a.invalidate=="function")&&(this._cleanup=i)}}catch(i){this._emit([[$,this._wrapFnError("fn threw",i)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>Ft?(this._rerunDepth=0,this._emit([[$,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${Ft} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,t){let n=t instanceof Error?t.message:String(t);return new Error(`Node "${this.name}": ${e}: ${n}`,{cause:t})}_frameBatch(e){let t=this._config.tierOf;if(e.length===1)return t(e[0][0])===3&&this._status!=="dirty"?[ae,e[0]]:e;let n=!0,s=!1,o=!1,i=-1;for(let c of e){let u=t(c[0]);u<i&&(n=!1),u===3&&(s=!0),c[0]===j&&(o=!0),i=u}let a=e;if(!n){let c=e.map((u,l)=>({m:u,i:l,tier:t(u[0])}));c.sort((u,l)=>u.tier-l.tier||u.i-l.i),a=c.map(u=>u.m)}if(s&&!o&&this._status!=="dirty"){let c=0;for(;c<a.length&&t(a[c][0])===0;)c++;return c===0?[ae,...a]:[...a.slice(0,c),ae,...a.slice(c)]}return a}_emit(e){if(e.length===0)return;let t=e;if(this._isTerminal&&!this._resubscribable){let a=e.filter(c=>c[0]===F||c[0]===J);if(a.length===0)return;t=a}t=this._frameBatch(t);let s=null;for(let a=0;a<t.length;a++){let c=t[a],u=c[0];if(u!==Z&&u!==re){s?.push(c);continue}if(c.length<2)throw new Error(`Node "${this.name}": [[${u===Z?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let l=!0;if(this._pausable!==!1){let p=c[1];if(u===Z)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(p),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(p))l=!1;else if(this._pauseLocks.delete(p),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let h=this._pauseBuffer;this._pauseBuffer=[],this._emit(h)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}l?s?.push(c):s==null&&(s=t.slice(0,a))}if(s!=null){if(s.length===0)return;t=s}if(this._hasMeta&&t.some(a=>a[0]===F))for(let a of Object.keys(this.meta))try{this.meta[a]._emit(Ge)}catch{}let{finalMessages:o,equalsError:i}=this._updateState(t);if(o.length>0&&this._config.inspectorEnabled){let a=this._config.globalInspector;if(a!=null)try{a({kind:"emit",node:this,messages:o})}catch{}}if(o.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let a=this._config.tierOf,c=[];for(let u of o){let l=a(u[0]);l<3||l===5?c.push(u):this._pauseBuffer.push(u)}c.length>0&&this._dispatchOrAccumulate(c)}else this._dispatchOrAccumulate(o);i!=null&&this._emit([[$,i]])}_updateState(e){let t=this._config.tierOf,n,s,o=-1,i=0;for(let l of e)t(l[0])===3&&i++;let a=i<=1,c=-1;if(this._versioning!=null&&i>1){for(let l=e.length-1;l>=0;l--)if(e[l][0]===C){c=l;break}}for(let l=0;l<e.length;l++){let p=e[l],h=p[0];if(h===C){if(p.length>=2){let f=!1;if(a&&this._cached!==void 0)try{f=this._equals(this._cached,p[1])}catch(d){s=this._wrapFnError("equals threw",d),o=l;break}if(f){n==null&&(n=e.slice(0,l)),n.push(Ae),this._status="resolved";continue}this._cached=p[1],this._versioning!=null&&(c<0||l===c)&&It(this._versioning,p[1],this._hashFn)}this._status="settled",n?.push(p)}else if(n?.push(p),h===j)this._status="dirty";else if(h===H)this._status="resolved";else if(h===z)this._status="completed";else if(h===$)this._status="errored";else if(h===J){this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let d=f.invalidate;if(typeof d=="function")try{d()}catch{}}}else h===F&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let u=o>=0?n??e.slice(0,o):n??e;return s!=null?{finalMessages:u,equalsError:s}:{finalMessages:u}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let t=[...this._sinks];for(let n of t)n(e)};_dispatchOrAccumulate(e){if(Mt()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],we(()=>this._flushBatchPending()));for(let t of e)this._batchPendingMessages.push(t);return}$e(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let t=this._frameBatch(e);$e(this._deliverToSinks,t,this._config.tierOf)}},zt=r=>Array.isArray(r),gt=r=>typeof r=="object"&&r!=null&&!Array.isArray(r)});function Nn(r,e,t){return t?!1:r.some((n,s)=>!(n!=null&&n.length>0)&&e.prevData[s]===void 0)}function te(r,e){return Ve([],{...e,initial:r})}function mt(r,e){return Ve((n,s,o)=>r(s,o)??void 0,{describeKind:"producer",...e})}function B(r,e,t){let n=t?.partial??!1;return Ve(r,(o,i,a)=>{if(Nn(o,a,n)){i.down([[H]]);return}let c=o.map((u,l)=>u!=null&&u.length>0?u.at(-1):a.prevData[l]);i.emit(e(c,a))},{describeKind:"derived",...t})}var xe=q(()=>{"use strict";se();be()});function ne(r){return r.subscribe(()=>{})}var vt=q(()=>{"use strict"});var We,qt=q(()=>{"use strict";We=class{_timer;_gen=0;start(e,t){this.cancel(),this._gen+=1;let n=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,n===this._gen&&t()},e)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});var ur={};pn(ur,{AuditTrailGraph:()=>Xe,PolicyEnforcerGraph:()=>Ze,auditTrail:()=>er,complianceSnapshot:()=>rr,policyEnforcer:()=>tr,reactiveExplainPath:()=>nr});module.exports=hn(ur);Se();le();se();be();xe();ft();Ie();se();xe();var bt=class{_version=0;_maxSize;_buf;_head=0;_size=0;constructor(e,t){if(t!==void 0&&t<1)throw new RangeError("maxSize must be >= 1");if(this._maxSize=t,t!==void 0){if(this._buf=new Array(t),e&&e.length>0){let n=Math.min(e.length,t),s=e.length-n;for(let o=0;o<n;o++)this._buf[o]=e[s+o];this._size=n}}else this._buf=e?[...e]:[],this._size=this._buf.length}get version(){return this._version}get size(){return this._size}at(e){if(!Number.isInteger(e))return;let t=e>=0?e:this._size+e;if(!(t<0||t>=this._size))return this._maxSize!==void 0?this._buf[(this._head+t)%this._maxSize]:this._buf[t]}append(e){this._rawAppend(e),this._version+=1}appendMany(e){if(e.length===0)return;let t=this._maxSize!==void 0&&e.length>this._maxSize?e.length-this._maxSize:0;for(let n=t;n<e.length;n++)this._rawAppend(e[n]);this._version+=1}clear(){if(this._size===0)return 0;let e=this._size;if(this._maxSize===void 0)this._buf.length=0;else for(let t=0;t<e;t++)this._buf[(this._head+t)%this._maxSize]=void 0;return this._head=0,this._size=0,this._version+=1,e}trimHead(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`trimHead: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return 0;let t=Math.min(e,this._size);if(this._maxSize===void 0)this._buf.splice(0,t);else{for(let n=0;n<t;n++)this._buf[(this._head+n)%this._maxSize]=void 0;this._head=(this._head+t)%this._maxSize}return this._size-=t,this._version+=1,t}slice(e,t){if(!Number.isInteger(e)||e<0)throw new RangeError(`slice: start must be a non-negative integer (got ${e})`);if(t!==void 0&&(!Number.isInteger(t)||t<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${t})`);let n=t===void 0?this._size:Math.min(Math.max(t,0),this._size),s=Math.min(e,this._size);if(s>=n)return[];let o=n-s;if(this._maxSize===void 0)return this._buf.slice(s,n);let i=new Array(o);for(let a=0;a<o;a++)i[a]=this._buf[(this._head+s+a)%this._maxSize];return i}tail(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`tail: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return[];let t=Math.min(e,this._size);return this.slice(this._size-t,this._size)}toArray(){if(this._maxSize===void 0)return[...this._buf];let e=new Array(this._size);for(let t=0;t<this._size;t++)e[t]=this._buf[(this._head+t)%this._maxSize];return e}_rawAppend(e){if(this._maxSize===void 0){this._buf.push(e),this._size=this._buf.length;return}this._size<this._maxSize?(this._buf[(this._head+this._size)%this._maxSize]=e,this._size+=1):(this._buf[this._head]=e,this._head=(this._head+1)%this._maxSize)}};function jt(r){return r.subscribe(()=>{})}var kn=64;function ze(r,e={}){let{name:t,maxSize:n,versioning:s,backend:o}=e,i=o??new bt(r,n),a=te(i.toArray(),{name:t,describeKind:"state",equals:(d,g)=>d===g,...s!=null?{versioning:s}:{}});function c(){let d=i.toArray();Te(()=>{a.down([[j]]),a.down([[C,d]])})}let u=new Map,l=new Map;function p(d,g){return`${d}:${g===void 0?"END":g}`}function h(d){if(d.size<kn)return;let g=d.keys().next();if(g.done)return;let m=d.get(g.value);m!==void 0&&m.dispose(),d.delete(g.value)}function f(d){let g=i.version;try{return d()}finally{i.version!==g&&c()}}return{entries:a,get size(){return i.size},at(d){return i.at(d)},append(d){f(()=>i.append(d))},appendMany(d){d.length!==0&&f(()=>i.appendMany(d))},clear(){f(()=>i.clear())},trimHead(d){f(()=>i.trimHead(d))},tail(d){if(!Number.isInteger(d)||d<0)throw new RangeError(`tail: n must be a non-negative integer (got ${d})`);let g=u.get(d);if(g!==void 0)return u.delete(d),u.set(d,g),g.node;h(u);let m=B([a],([v])=>{let b=v;return d===0||b.length===0?[]:b.slice(Math.max(0,b.length-d))},{initial:i.tail(d),describeKind:"derived"}),y=jt(m);return u.set(d,{node:m,dispose:y}),m},slice(d,g){if(!Number.isInteger(d)||d<0)throw new RangeError(`slice: start must be a non-negative integer (got ${d})`);if(g!==void 0&&(!Number.isInteger(g)||g<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${g})`);let m=p(d,g),y=l.get(m);if(y!==void 0)return l.delete(m),l.set(m,y),y.node;h(l);let v=B([a],([_])=>{let O=_;return g===void 0?O.slice(d):O.slice(d,g)},{initial:i.slice(d,g),describeKind:"derived"}),b=jt(v);return l.set(m,{node:v,dispose:b}),v},disposeTail(d){let g=u.get(d);return g===void 0?!1:(g.dispose(),u.delete(d),!0)},disposeSlice(d,g){let m=p(d,g),y=l.get(m);return y===void 0?!1:(y.dispose(),l.delete(m),!0)},disposeAllViews(){for(let d of u.values())d.dispose();u.clear();for(let d of l.values())d.dispose();l.clear()},dispose(){for(let d of u.values())d.dispose();u.clear();for(let d of l.values())d.dispose();l.clear()}}}var P={object:56,array:64,string:40,number:8,boolean:4,null:0,undefined:0,symbol:40,bigint:16,function:120,map:72,set:72,mapEntry:40,setEntry:24,date:24,regexp:48,error:64,url:80,promise:48,weakmap:40,weakset:40},Sn=Symbol.for("sizeof");function Ht(r){let e=new WeakSet,t=new WeakSet,n=[r],s=0;for(;n.length>0;){let o=n.pop();s+=An(o,e,t,n)}return s}function An(r,e,t,n){if(r==null)return 0;switch(typeof r){case"number":return P.number;case"boolean":return P.boolean;case"string":return P.string+r.length*2;case"bigint":return P.bigint+Dn(r);case"symbol":return P.symbol;case"function":return e.has(r)?0:(e.add(r),P.function);case"undefined":return 0}let o=r;if(e.has(o))return 0;e.add(o);let i=o[Sn];if(typeof i=="function")try{let u=i.call(o);if(typeof u=="number"&&Number.isFinite(u))return u}catch{}if(o instanceof Date)return P.date;if(o instanceof RegExp)return P.regexp+o.source.length*2;if(o instanceof Error){let u=o.message?o.message.length*2:0,l=o.stack?o.stack.length*2:0;return P.error+u+l}if(typeof URL<"u"&&o instanceof URL)return P.url+o.href.length*2;if(typeof Promise<"u"&&o instanceof Promise)return P.promise;if(o instanceof WeakMap)return P.weakmap;if(o instanceof WeakSet)return P.weakset;if(o instanceof Map){let u=P.map;for(let[l,p]of o)u+=P.mapEntry,n.push(l),n.push(p);return u}if(o instanceof Set){let u=P.set;for(let l of o)u+=P.setEntry,n.push(l);return u}if(Array.isArray(o)){let u=P.array+o.length*8;for(let l of o)n.push(l);return u}if(o instanceof ArrayBuffer)return t.has(o)?0:(t.add(o),o.byteLength);if(ArrayBuffer.isView(o)){let u=o;return t.has(u.buffer)?48:(t.add(u.buffer),u.buffer.byteLength+48)}let a=P.object,c=Object.keys(o);for(let u of c){a+=P.string+u.length*2;try{n.push(o[u])}catch{}}return a}function Dn(r){let e=r<0n?-r:r;if(e===0n)return 0;let t=e.toString(2).length;return Math.ceil(t/32)*8}function Bt(r,e,t,n={}){let s=e in r.nodes,o=t in r.nodes;if(!s)return je(e,t,"no-such-from");if(!o)return je(e,t,"no-such-to");let i=n.maxDepth;if(i!=null&&(!Number.isInteger(i)||i<0))throw new Error("explainPath: maxDepth must be an integer >= 0");if(e===t){if(n.findCycle===!0){let u=Rn(r,e,n);if(u!=null)return u}let c=He(e,r.nodes[e],0,n);return Be(e,t,[c])}if(i===0)return je(e,t,"no-path");let a=Ut(r,e,t,i);return a.found?Be(e,t,Wt(r,a.pathOrder,n)):je(e,t,a.truncated?"max-depth-exceeded":"no-path")}function Ut(r,e,t,n){let s=new Map,o=[{path:t,depth:0}],i=new Set([t]),a=0,c=!1;for(;a<o.length;){let p=o[a++];if(p.path===e)break;if(n!=null&&p.depth>=n){let g=r.nodes[p.path];g?.deps&&g.deps.length>0&&(c=!0);continue}let h=r.nodes[p.path];if(h==null)continue;let f=h.deps??[],d=new Map;for(let g=0;g<f.length;g++){let m=f[g];if(!m)continue;let y=d.get(m);y==null&&(y=[],d.set(m,y)),y.push(g)}for(let[g,m]of d)i.has(g)||(i.add(g),s.set(g,{from:p.path,depIndices:m}),o.push({path:g,depth:p.depth+1}))}if(!s.has(e))return{found:!1,pathOrder:[],truncated:c};let u=[{path:e}],l=e;for(;l!==t;){let p=s.get(l);if(p==null)return{found:!1,pathOrder:[],truncated:!1};u[u.length-1].depIndices=p.depIndices,u.push({path:p.from}),l=p.from}return{found:!0,pathOrder:u,truncated:!1}}function Rn(r,e,t){let n=r.nodes[e];if(n==null)return null;let s=n.deps??[],o=[];for(let a=0;a<s.length;a++)s[a]===e&&o.push(a);if(o.length>0){let a=He(e,n,0,t);a.dep_index=o[0];let c=He(e,n,1,t);return Be(e,e,[a,c])}let i=null;for(let a=0;a<s.length;a++){let c=s[a];if(!c||c===e)continue;let u=Ut(r,c,e,t.maxDepth);u.found&&(i==null||u.pathOrder.length<i.pathOrder.length)&&(i=u,i={found:!0,pathOrder:[{path:e,depIndices:[a]},...u.pathOrder],truncated:!1})}return i==null?null:Be(e,e,Wt(r,i.pathOrder,t))}function Wt(r,e,t){return e.map((n,s)=>{let o=r.nodes[n.path],i=He(n.path,o,s,t);return n.depIndices!=null&&n.depIndices.length>0&&(i.dep_index=n.depIndices[0],n.depIndices.length>1&&(i.dep_indices=[...n.depIndices])),i})}function He(r,e,t,n){let s={path:r,type:e.type,hop:t};e.status!==void 0&&(s.status=e.status),"value"in e&&(s.value=e.value),e.v!=null&&(s.v=e.v);let o=n.annotations?.get(r)??e.annotation;o!=null&&(s.annotation=o);let i=n.lastMutations?.get(r)??e.lastMutation;return i!=null&&(s.lastMutation=i),s}function Be(r,e,t){return Kt(r,e,!0,"ok",t)}function je(r,e,t){return Kt(r,e,!1,t,[])}function Kt(r,e,t,n,s){let o=Gn(r,e,t,n,s);return{from:r,to:e,found:t,reason:n,steps:s,text:o,toJSON(){return{from:r,to:e,found:t,reason:n,steps:s}}}}function Gn(r,e,t,n,s){if(!t)switch(n){case"no-such-from":return`explainPath: no node named "${r}"`;case"no-such-to":return`explainPath: no node named "${e}"`;case"max-depth-exceeded":return`explainPath: no path from "${r}" to "${e}" within maxDepth`;default:return`explainPath: no path from "${r}" to "${e}"`}let o=[`Causal path: ${r} \u2192 ${e} (${s.length} step(s))`];for(let i of s){let c=` ${i.hop===0?"\xB7":"\u2193"} ${i.path} (${i.type}${i.status?`/${i.status}`:""})`;if(o.push(c),"value"in i&&o.push(` value: ${Cn(i.value)}`),i.annotation!=null&&o.push(` annotation: ${i.annotation}`),i.lastMutation!=null){let u=i.lastMutation.actor;o.push(` actor: ${u.type}${u.id?`:${u.id}`:""}`)}}return o.join(`
|
|
2
|
+
`)}function Cn(r){if(r===void 0)return"<sentinel>";if(r===null)return"null";if(typeof r=="string")return JSON.stringify(r);if(typeof r=="number"||typeof r=="boolean"||typeof r=="bigint")return String(r);try{let e=JSON.stringify(r);return e.length>80?`${e.slice(0,77)}...`:e}catch{return String(r)}}Me();Ie();Se();le();se();le();be();function Ue(r,e){if(e!=null&&e.length>0)return new Set(e);switch(r){case"standard":return new Set(["type","status","value","deps","meta","v"]);case"full":return null;default:return new Set(["type","deps"])}}function Mn(r){return r._describeKind!=null?r._describeKind:r._deps.length>0?"derived":r._fn!=null?"producer":"state"}function Pn(r){let e={};for(let[t,n]of Object.entries(r.meta))try{e[t]=n.cache}catch{}return e}function yt(r,e){let t=e==null,n=!t&&e!=null?[...e].filter(u=>u.startsWith("meta.")).map(u=>u.slice(5)):null,s=t||e.has("meta")||n!=null&&n.length>0,o="state",i=[];r instanceof M&&(o=Mn(r),i=r._deps.map(u=>u.node.name??""));let a={type:o,deps:i};(t||e.has("status"))&&(a.status=r.status);let c=r instanceof M?r._guard:void 0;if(s){let u={...Pn(r)};if(c!=null&&u.access===void 0&&(u.access=ot(c)),n!=null&&n.length>0&&!e.has("meta")){let l={};for(let p of n)p in u&&(l[p]=u[p]);a.meta=l}else a.meta=u}if(r.name!=null&&(a.name=r.name),t||e.has("value")){r.status==="sentinel"&&(a.sentinel=!0);try{a.value=r.cache}catch{}}if((t||e.has("v"))&&r.v!=null){let u={id:r.v.id,version:r.v.version};"cid"in r.v&&(u.cid=r.v.cid,u.prev=r.v.prev),a.v=u}return(t||e.has("guard"))&&c!=null&&(a.guard=ot(c)),(t||e.has("lastMutation"))&&r.lastMutation!=null&&(a.lastMutation=r.lastMutation),a}be();xe();vt();qt();var Ee=class{constructor(e){this.capacity=e;if(!Number.isInteger(e)||e<=0)throw new Error(`RingBuffer capacity must be a positive integer (got ${e})`);this.buf=new Array(e)}buf;head=0;_size=0;get size(){return this._size}get maxSize(){return this.capacity}push(e){let t=(this.head+this._size)%this.capacity;this.buf[t]=e,this._size<this.capacity?this._size++:this.head=(this.head+1)%this.capacity}shift(){if(this._size===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=(this.head+1)%this.capacity,this._size--,e}at(e){if(this._size===0)return;let t=e<0?this._size+e:e;if(!(t<0||t>=this._size))return this.buf[(this.head+t)%this.capacity]}toArray(){let e=new Array(this._size);for(let t=0;t<this._size;t++)e[t]=this.buf[(this.head+t)%this.capacity];return e}clear(){for(let e=0;e<this._size;e++)this.buf[(this.head+e)%this.capacity]=void 0;this.head=0,this._size=0}};ct();be();function Yt(r,e){let t=e?.topN??10,n=r.describe({detail:"standard"}),s=[],o=r._collectObserveTargets;typeof o=="function"&&o.call(r,"",s);let i=new Map;for(let[h,f]of s)i.set(h,f);let a=[];for(let[h,f]of Object.entries(n.nodes)){let d=i.get(h),g=d instanceof M?d:null,m=g?Ht(g.cache):0,y=g?g._sinkCount:0,v=f.deps?.length??0,b=f.type==="effect"&&y===0,_=y===0?f.type==="effect"?"orphan-effect":f.type==="derived"?"idle-derived":f.type==="producer"?"idle-producer":null:null;a.push({path:h,type:f.type,status:f.status??"unknown",valueSizeBytes:m,subscriberCount:y,depCount:v,isOrphanEffect:b,orphanKind:_})}let c=a.reduce((h,f)=>h+f.valueSizeBytes,0),u=(h,f)=>[...a].sort(f??((d,g)=>g[h]-d[h])).slice(0,t),l=a.filter(h=>h.orphanKind!=null),p=a.filter(h=>h.isOrphanEffect);return{nodeCount:a.length,edgeCount:n.edges.length,subgraphCount:n.subgraphs.length,nodes:a,totalValueSizeBytes:c,hotspots:{byValueSize:u("valueSizeBytes"),bySubscriberCount:u("subscriberCount"),byDepCount:u("depCount")},orphans:l,orphanEffects:p}}var G="::",X="__meta__",ce=1;function Jt(r,e){let t=Math.max(16,r.size*4),n=0;for(;r.size>0;){if(n++>=t){console.error(`[Graph "${e}".destroy] disposer drain exceeded cap (${t}); ${r.size} disposer(s) discarded`),r.clear();return}let s=r.values().next();if(s.done)return;let o=s.value;r.delete(o);try{o()}catch(i){console.error(`[Graph "${e}".destroy] disposer threw:`,i)}}}function $n(r){let e=[];for(let t of Object.keys(r).sort()){let n=r[t].v;n!=null&&e.push(`${t} ${n.id} ${n.version}`)}return e.join(`
|
|
3
|
+
`)}function Xt(r){if(r.version!==ce)throw new Error(`unsupported snapshot version ${String(r.version)} (expected ${ce})`);for(let e of["name","nodes","edges","subgraphs"])if(!(e in r))throw new Error(`snapshot missing required key "${e}"`);if(typeof r.name!="string")throw new TypeError("snapshot 'name' must be a string");if(typeof r.nodes!="object"||r.nodes===null||Array.isArray(r.nodes))throw new TypeError("snapshot 'nodes' must be an object");if(!Array.isArray(r.edges))throw new TypeError("snapshot 'edges' must be an array");if(!Array.isArray(r.subgraphs))throw new TypeError("snapshot 'subgraphs' must be an array")}function In(r,e){let t=new WeakMap,n=(s,o)=>{if(Object.is(s,o))return!0;if(s==null||o==null||typeof s!="object"||typeof o!="object")return!1;let i=t.get(s);if(i==null&&(i=new WeakSet,t.set(s,i)),i.has(o))return!0;i.add(o);let a=s.constructor,c=o.constructor;if(a!==c)return!1;if(s instanceof Date)return s.getTime()===o.getTime();if(s instanceof RegExp)return s.source===o.source&&s.flags===o.flags;if(Array.isArray(s)){let h=o;if(s.length!==h.length)return!1;for(let f=0;f<s.length;f++)if(!n(s[f],h[f]))return!1;return!0}if(s instanceof Map){let h=o;if(s.size!==h.size)return!1;for(let[f,d]of s)if(!h.has(f)||!n(d,h.get(f)))return!1;return!0}if(s instanceof Set){let h=o;if(s.size!==h.size)return!1;for(let f of s){let d=!1;for(let g of h)if(n(f,g)){d=!0;break}if(!d)return!1}return!0}if(ArrayBuffer.isView(s)){let h=s,f=o;if(h.length!==f.length)return!1;for(let d=0;d<h.length;d++)if(h[d]!==f[d])return!1;return!0}let u=Object.keys(s),l=Object.keys(o);if(u.length!==l.length)return!1;let p=new Set(l);for(let h of u)if(!p.has(h)||!n(s[h],o[h]))return!1;return!0};return n(r,e)}function wt(r){if(r===null||typeof r!="object")return r;if(Array.isArray(r))return r.map(wt);let e=r,t=Object.keys(e).sort(),n={};for(let s of t)n[s]=wt(e[s]);return n}function Ln(r){return r.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Fn(r){return r.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Vn(r){return r==="TD"?"down":r==="BT"?"up":r==="RL"?"left":"right"}function Qt(r){let e=new Set,t=[];function n(s,o){let i=`${s}\0${o}`;e.has(i)||(e.add(i),t.push([s,o]))}for(let[s,o]of Object.entries(r.nodes)){let i=o.deps;if(i)for(let a of i)n(a,s)}for(let s of r.edges)n(s.from,s.to);return t}function en(r){if(r===void 0)return"LR";if(r==="TD"||r==="LR"||r==="BT"||r==="RL")return r;throw new Error(`invalid diagram direction ${String(r)}; expected one of: TD, LR, BT, RL`)}function zn(r,e){let t=e.includeEdges??!0,n=e.includeSubgraphs??!0,{expand:s,...o}=r,i={...o,edges:t?r.edges:[],subgraphs:n?r.subgraphs:[]},a=JSON.stringify(wt(i),null,e.indent??2);return e.logger?.(a),a}function jn(r,e){let t=e.includeEdges??!0,n=e.includeSubgraphs??!0,s=[];s.push(`Graph ${r.name}`),s.push("Nodes:");for(let i of Object.keys(r.nodes).sort()){let a=r.nodes[i];s.push(`- ${i} (${a.type}/${a.status}): ${qe(a.value)}`)}if(t){s.push("Edges:");for(let i of r.edges)s.push(`- ${i.from} -> ${i.to}`)}if(n){s.push("Subgraphs:");for(let i of r.subgraphs)s.push(`- ${i}`)}let o=s.join(`
|
|
4
|
+
`);return e.logger?.(o),o}function tn(r,e){let t=en(e.direction),n=Object.keys(r.nodes).sort(),s=new Map;for(let i=0;i<n.length;i+=1)s.set(n[i],`n${i}`);let o=[`flowchart ${t}`];for(let i of n){let a=s.get(i);o.push(` ${a}["${Ln(i)}"]`)}for(let[i,a]of Qt(r)){let c=s.get(i),u=s.get(a);!c||!u||o.push(` ${c} --> ${u}`)}return o.join(`
|
|
5
|
+
`)}function Hn(r,e){let t=tn(r,e);return nn(t)}function nn(r,e){let t=e?.theme??"default",n=e?.autoSync??!0,o=JSON.stringify({code:r,mermaid:{theme:t},autoSync:n}),i=new TextEncoder().encode(o),a="";for(let u=0;u<i.length;u++)a+=String.fromCharCode(i[u]);return`https://mermaid.live/edit#base64:${globalThis.btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}`}function Bn(r,e){let t=en(e.direction),n=Object.keys(r.nodes).sort(),s=new Map;for(let i=0;i<n.length;i+=1)s.set(n[i],`n${i}`);let o=[`direction: ${Vn(t)}`];for(let i of n){let a=s.get(i);o.push(`${a}: "${Fn(i)}"`)}for(let[i,a]of Qt(r)){let c=s.get(i),u=s.get(a);!c||!u||o.push(`${c} -> ${u}`)}return o.join(`
|
|
6
|
+
`)}function Un(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ke(r){let e="^";for(let t=0;t<r.length;t+=1){let n=r[t];if(n==="*"){e+=".*";continue}if(n==="?"){e+=".";continue}if(n==="["){let s=r.indexOf("]",t+1);if(s<=t+1){e+="\\[";continue}let o=r.slice(t+1,s);o.startsWith("!")&&(o=`^${o.slice(1)}`),o=o.replace(/\\/g,"\\\\"),e+=`[${o}]`,t=s;continue}e+=Un(n)}return e+="$",new RegExp(e)}var Wn={data:"\x1B[32m",dirty:"\x1B[33m",resolved:"\x1B[36m",invalidate:"\x1B[93m",pause:"\x1B[90m",resume:"\x1B[96m",complete:"\x1B[34m",error:"\x1B[31m",teardown:"\x1B[91m",derived:"\x1B[35m",path:"\x1B[90m",reset:"\x1B[0m"},Kn={data:"",dirty:"",resolved:"",invalidate:"",pause:"",resume:"",complete:"",error:"",teardown:"",derived:"",path:"",reset:""};function qe(r){if(typeof r=="string")return JSON.stringify(r);if(typeof r=="number"||typeof r=="boolean"||r==null)return String(r);try{return JSON.stringify(r)}catch{return"[unserializable]"}}function qn(r){return r==="none"?Kn:r==="ansi"||r==null?Wn:{data:r.data??"",dirty:r.dirty??"",resolved:r.resolved??"",invalidate:r.invalidate??"",pause:r.pause??"",resume:r.resume??"",complete:r.complete??"",error:r.error??"",teardown:r.teardown??"",derived:r.derived??"",path:r.path??"",reset:r.reset??""}}function Zt(r){if(r==null)return{};let e=r.detail;return e==="full"?{...r,structured:r.structured??!0,timeline:r.timeline??!0,causal:r.causal??!0,derived:r.derived??!0}:e==="minimal"?{...r,structured:r.structured??!0}:r.format==="stage-log"?{...r,structured:r.structured??!0,timeline:r.timeline??!0}:r}function Yn(r,e,t){for(let n=0;n<r.length;n++){let s=r.charCodeAt(n);if(s<32||s===127)throw new Error(`Graph "${e}": ${t} "${r}" must not contain control character (U+${s.toString(16).padStart(4,"0").toUpperCase()} at index ${n})`)}}function _t(r,e,t){if(r==="")throw new Error(`Graph "${e}": ${t} name must be non-empty`);if(r.includes(G))throw new Error(`Graph "${e}": ${t} "${r}" must not contain '${G}' (path separator)`);if(r===X)throw new Error(`Graph "${e}": ${t} name "${X}" is reserved for meta companion paths`);Yn(r,e,t)}function Jn(r,e){if(r==="")throw new Error(`Graph "${e}": resolve path must be non-empty`);let t=r.split(G);for(let n of t)if(n==="")throw new Error(`Graph "${e}": resolve path has empty segment`);return t}function Xn(r,e){let t=!1;for(let s of r)if(!e.isMetaPassthrough(s[0])){t=!0;break}return t?r.filter(s=>e.isMetaPassthrough(s[0])):r}function rn(r){for(let e of r._mounts.values())rn(e);for(let e of r._nodes.values())try{e.down([[F]],{internal:!0})}catch{}}var U=class r{name;opts;config;_nodes=new Map;_nodeToName=new WeakMap;_mounts=new Map;_parent=void 0;_storageDisposers=new Set;_disposers=new Set;_topology;_topologyEmitters=new Set;constructor(e,t){if(e==="")throw new Error("Graph name must be non-empty");if(e.includes(G))throw new Error(`Graph name must not contain '${G}' (got "${e}")`);if(e===X)throw new Error(`Graph name "${X}" is reserved for meta companion paths`);this.name=e,this.opts=Object.freeze({...t??{}}),this.config=t?.config??me,this._traceRing=new Ee(t?.traceCapacity??1e3),t?.versioning!=null&&this.setVersioning(t.versioning)}ancestors(e=!0){let t=[],n=e?this:this._parent;for(;n!=null;)t.push(n),n=n._parent;return t}get topology(){return this._topology==null&&(this._topology=mt(e=>{let t=n=>{e.emit(n)};return this._topologyEmitters.add(t),()=>{this._topologyEmitters.delete(t)}},{name:`${this.name}_topology`})),this._topology}_emitTopology(e){if(!(this._topology==null||this._topologyEmitters.size===0))for(let t of this._topologyEmitters)t(e)}add(e,t){let n=e.name,s=t?.name??n;if(s==null||s==="")throw new Error(`Graph "${this.name}": graph.add requires a non-empty name \u2014 pass via opts.name or set it on the node (e.g. state(0, { name: "x" }))`);let o=s,i=t?.annotation;if(_t(o,this.name,"add"),this._mounts.has(o))throw new Error(`Graph "${this.name}": name "${o}" is already a mount point`);if(this._nodes.has(o))throw new Error(`Graph "${this.name}": node "${o}" already exists`);let a=this._nodeToName.get(e);if(a!==void 0)throw new Error(`Graph "${this.name}": node instance already registered as "${a}"`);return this._nodes.set(o,e),this._nodeToName.set(e,o),this._emitTopology({kind:"added",name:o,nodeKind:"node"}),i!=null&&(this._annotations.set(o,i),this.config.inspectorEnabled&&this._traceRing.push({path:o,annotation:i,timestamp_ns:ee()})),e}setVersioning(e){if(e!=null)for(let t of this._nodes.values())t instanceof M&&t._applyVersioning(e)}remove(e){_t(e,this.name,"remove");let t=this._mounts.get(e);if(t){let o={kind:"mount",nodes:[],mounts:[]},i=[];t._collectObserveTargets("",i);for(let[a,c]of i)a.includes(`${G}${X}${G}`)||o.nodes.push(a);return o.nodes.sort(),o.mounts.push(e),o.mounts.push(...t._collectSubgraphs(`${e}${G}`)),this._mounts.delete(e),t._parent=void 0,rn(t),this._emitTopology({kind:"removed",name:e,nodeKind:"mount",audit:o}),o}let n=this._nodes.get(e);if(!n)throw new Error(`Graph "${this.name}": unknown node or mount "${e}"`);this._nodes.delete(e),this._nodeToName.delete(n),n.down([[F]],{internal:!0});let s={kind:"node",nodes:[e],mounts:[]};return this._emitTopology({kind:"removed",name:e,nodeKind:"node",audit:s}),s}removeAll(e){let t=typeof e=="function"?e:(()=>{let o=Ke(e);return i=>o.test(i)})(),n={kind:"mount",nodes:[],mounts:[]},s=[...this._nodes.keys(),...this._mounts.keys()].filter(o=>t(o));for(let o of s){let i=this.remove(o);n.nodes.push(...i.nodes),n.mounts.push(...i.mounts)}return n.nodes.sort(),n.mounts.sort(),n}[Symbol.iterator](){let e=[...this._nodes.keys()].sort(),t=this._nodes,n=0;return{[Symbol.iterator](){return this},next(){if(n>=e.length)return{value:void 0,done:!0};let s=e[n++];return{value:[s,t.get(s)],done:!1}}}}node(e){if(e==="")throw new Error(`Graph "${this.name}": node name must be non-empty`);if(e.includes(G))return this.resolve(e);let t=this._nodes.get(e);if(!t)throw new Error(`Graph "${this.name}": unknown node "${e}"`);return t}get(e){return this.node(e).cache}set(e,t,n){let s=n?.internal===!0;this.node(e).down([[C,t]],{actor:n?.actor,internal:s,delivery:"write"})}setAll(e,t){let n=Symbol.iterator in e?e:Object.entries(e);Te(()=>{for(let[s,o]of n)this.set(s,o,t)})}invalidate(e,t){let n=t?.internal===!0;this.node(e).down([[J]],{actor:t?.actor,internal:n,delivery:"write"})}error(e,t,n){let s=n?.internal===!0;this.node(e).down([[$,t]],{actor:n?.actor,internal:s,delivery:"write"})}complete(e,t){let n=t?.internal===!0;this.node(e).down([[z]],{actor:t?.actor,internal:n,delivery:"write"})}edges(e){let t=e?.recursive===!0,n=new Map;if(!t){for(let[c,u]of this._nodes)n.set(u,c);let a=[];for(let[c,u]of this._nodes)if(u instanceof M)for(let l of u._deps){let p=n.get(l.node);p!=null&&a.push([p,c])}return a.sort((c,u)=>c[0]<u[0]?-1:c[0]>u[0]?1:c[1]<u[1]?-1:c[1]>u[1]?1:0),a}let s=[];this._collectObserveTargets("",s);let o=new Map;for(let[a,c]of s)o.set(c,a);let i=[];for(let[a,c]of s)if(c instanceof M)for(let u of c._deps){let l=o.get(u.node);l!=null&&i.push([l,a])}return i.sort((a,c)=>a[0]<c[0]?-1:a[0]>c[0]?1:a[1]<c[1]?-1:a[1]>c[1]?1:0),i}mount(e,t){if(_t(e,this.name,"mount"),this._nodes.has(e))throw new Error(`Graph "${this.name}": cannot mount at "${e}" \u2014 node with that name exists`);if(this._mounts.has(e))throw new Error(`Graph "${this.name}": mount "${e}" already exists`);if(t===this)throw new Error(`Graph "${this.name}": cannot mount a graph into itself`);if(t._parent!=null)throw new Error(`Graph "${this.name}": this child graph is already mounted on "${t._parent.name}"`);for(let n=this;n!=null;n=n._parent)if(n===t)throw new Error(`Graph "${this.name}": mount("${e}", \u2026) would create a mount cycle`);return this._mounts.set(e,t),t._parent=this,this._emitTopology({kind:"added",name:e,nodeKind:"mount"}),t}resolve(e){let t=Jn(e,this.name);return this._resolveFromSegments(t)}tryResolve(e){try{return this.resolve(e)}catch{return}}_resolveFromSegments(e){let t=e;if(t[0]===this.name&&(t=t.slice(1),t.length===0))throw new Error(`Graph "${this.name}": resolve path ends at graph name only`);let n=t[0],s=t.slice(1);if(s.length===0){let a=this._nodes.get(n);if(a)return a;throw this._mounts.has(n)?new Error(`Graph "${this.name}": path ends at subgraph "${n}" \u2014 not a node (GRAPHREFLY-SPEC \xA73.5)`):new Error(`Graph "${this.name}": unknown name "${n}"`)}let o=this._nodes.get(n);if(o&&s.length>0&&s[0]===X)return this._resolveMetaChainFromNode(o,s,t.join(G));let i=this._mounts.get(n);if(!i)throw this._nodes.has(n)?new Error(`Graph "${this.name}": "${n}" is a node; trailing path "${s.join(G)}" is invalid`):new Error(`Graph "${this.name}": unknown mount or node "${n}"`);return i.resolve(s.join(G))}_resolveMetaChainFromNode(e,t,n){let s=e,o=0,i=[...t];for(;o<i.length;){if(i[o]!==X)throw new Error(`Graph "${this.name}": expected ${X} segment in meta path "${n}"`);if(o+1>=i.length)throw new Error(`Graph "${this.name}": meta path requires a key after ${X} in "${n}"`);let a=i[o+1],c=s.meta[a];if(!c)throw new Error(`Graph "${this.name}": unknown meta "${a}" in path "${n}"`);s=c,o+=2}return s}signal(e,t){if(t?.internal!==!0){for(let s of e)if(this.config.messageTier(s[0])===3)throw new Error(`Graph "${this.name}": Graph.signal() rejects tier-3 messages (DATA / RESOLVED). Broadcast is for control-plane tiers (START / DIRTY / INVALIDATE / PAUSE / RESUME / COMPLETE / ERROR / TEARDOWN). For per-node value writes, use Graph.set or graph.node(name).down(...).`)}let n=[];if(this._signalDeliver(e,t??{},new Set,n),n.length>0)throw n[0]}_signalDeliver(e,t,n,s){for(let c of this._mounts.values())c._signalDeliver(e,t,n,s);let i=t.internal===!0?{internal:!0}:{actor:t.actor,delivery:"signal"},a=Xn(e,this.config);for(let c of[...this._nodes.keys()].sort()){let u=this._nodes.get(c);if(!n.has(u)){n.add(u);try{u.down(e,i)}catch(l){if(l instanceof Y)throw l;s.push(l)}a.length!==0&&this._signalMetaSubtree(u,a,n,i,s)}}}_signalMetaSubtree(e,t,n,s,o){for(let i of Object.keys(e.meta).sort()){let a=e.meta[i];if(!n.has(a)){n.add(a);try{a.down(t,s)}catch(c){if(c instanceof Y)throw c;o.push(c)}this._signalMetaSubtree(a,t,n,s,o)}}}describe(e){if(e?.reactive===!0)return this._describeReactive(e);let t=e?.actor,n=e?.filter,s=Ue(e?.detail,e?.fields),o=e?.format==="spec",i=o?Ue("minimal"):s,a=[];this._collectObserveTargets("",a);let c=new Map;for(let[w,T]of a)c.set(T,w);let u=[];{let w=a.map(([,S])=>S),T=new Set(c.values()),E=0;for(;w.length>0;){let S=w.shift();if(S instanceof M)for(let I of S._deps){let N=I.node;if(c.has(N))continue;let A=N.name??"",k=A;if(!k||T.has(k))if(A){let L=2;for(;T.has(`${A}#${L}`);)L++;k=`${A}#${L}`}else for(k=`__internal__/${E++}`;T.has(k);)k=`__internal__/${E++}`;c.set(N,k),T.add(k),u.push([k,N]),w.push(N)}}}let l=[...a,...u],p={};for(let[w,T]of l){if(t!=null&&!T.allowsObserve(t))continue;let E=yt(T,i),S=T instanceof M?T._deps.map(k=>c.get(k.node)??k.node.name??""):[],{name:I,...N}=E,A={...N,deps:S};if(!o){let k=this._annotations.get(w);k!=null&&(A.annotation=k)}if(n!=null)if(typeof n=="function"){let k=n;if(!(k.length>=2?k(w,A):k(A)))continue}else{let k=!0;for(let[L,Q]of Object.entries(n)){let oe=L==="deps_includes"?"depsIncludes":L==="meta_has"?"metaHas":L;if(oe==="depsIncludes"){if(!A.deps.includes(String(Q))){k=!1;break}continue}if(oe==="metaHas"){if(!Object.hasOwn(A.meta??{},String(Q))){k=!1;break}continue}if(A[oe]!==Q){k=!1;break}}if(!k)continue}p[w]=A}let h=new Set(Object.keys(p)),f=[];for(let[w,T]of l)if(T instanceof M)for(let E of T._deps){let S=c.get(E.node);S!=null&&f.push([S,w])}f.sort((w,T)=>w[0]<T[0]?-1:w[0]>T[0]?1:w[1]<T[1]?-1:w[1]>T[1]?1:0);let d=f.map(([w,T])=>({from:w,to:T}));(t!=null||n!=null)&&(d=d.filter(w=>h.has(w.from)&&h.has(w.to)));let g=this._collectSubgraphs(""),m=t!=null||n!=null?g.filter(w=>{let T=`${w}${G}`;return[...h].some(E=>E===w||E.startsWith(T))}):g,y=this,v=e,b={name:this.name,nodes:p,edges:d,subgraphs:m,expand(w){let T={...v,format:void 0};return Array.isArray(w)?(T.fields=w,T.detail=void 0):(T.detail=w,T.fields=void 0),y.describe(T)}},_=e??{},O=_.format;return O==="json"?zn(b,_):O==="pretty"?jn(b,_):O==="mermaid"?tn(b,_):O==="mermaid-url"?Hn(b,_):O==="d2"?Bn(b,_):b}_collectSubgraphs(e){let t=[];for(let n of[...this._mounts.keys()].sort()){let s=e===""?n:`${e}${n}`;t.push(s),t.push(...this._mounts.get(n)._collectSubgraphs(`${s}${G}`))}return t}resourceProfile(e){return Yt(this,e)}reachable(e,t,n={}){return n.withDetail===!0?Tt(this.describe(),e,t,{...n,withDetail:!0}):Tt(this.describe(),e,t,n)}explain(e,t,n){return n?.reactive===!0?this._explainReactive(e,t,n):this._explainStatic(e,t,n)}_explainStatic(e,t,n){let s=this.describe({detail:"full"}),o=new Map(this._annotations),i=new Map;for(let[a,c]of Object.entries(s.nodes))c.lastMutation!=null&&i.set(a,c.lastMutation);return Bt(s,e,t,{...n?.maxDepth!=null?{maxDepth:n.maxDepth}:{},...n?.findCycle===!0?{findCycle:!0}:{},annotations:o,lastMutations:i})}_describeReactive(e){let t={...e,reactive:!1},n=e.reactiveName??"describe",s=0,o=te(s,{name:`${n}_version`}),i=this.observe({timeline:!0,structured:!0}),a=!1,c=!1,u=()=>{a||c||(a=!0,we(()=>{a=!1,!c&&(s+=1,o.emit(s))}))},l=i.onEvent(m=>{let y=m.type;y!=="data"&&y!=="error"&&y!=="complete"&&y!=="teardown"||u()}),p=[],h=new WeakSet,f=m=>{if(h.has(m)||c)return;h.add(m);let y=m.topology.subscribe(v=>{for(let b of v){if(b[0]!==C)continue;let _=b[1];if(u(),_.kind==="added"&&_.nodeKind==="mount"){let O=m._mounts.get(_.name);O!=null&&f(O)}}});p.push(y);for(let v of m._mounts.keys()){let b=m._mounts.get(v);b!=null&&f(b)}};f(this);let d;try{d=B([o],()=>this.describe(t),{name:n,describeKind:"derived",meta:{domain:"audit",kind:"describe"},equals:(m,y)=>m===y})}catch(m){l();for(let y of p)y();throw i.dispose(),m}let g=ne(d);return{node:d,dispose(){c=!0,l();for(let m of p)m();p.length=0,i.dispose(),g()}}}_explainReactive(e,t,n){let s=0,o=te(s,{name:"explain_version"}),i=this.observe({timeline:!0,structured:!0}),a=!1,c=!1,u=i.onEvent(f=>{let d=f.type;d!=="data"&&d!=="error"&&d!=="complete"&&d!=="teardown"||a||c||(a=!0,we(()=>{a=!1,!c&&(s+=1,o.emit(s))}))}),l={...n?.maxDepth!=null?{maxDepth:n.maxDepth}:{},...n?.findCycle===!0?{findCycle:!0}:{}},p;try{p=B([o],()=>this._explainStatic(e,t,l),{name:n?.name??"explain",describeKind:"derived",meta:{domain:"audit",kind:"explain_path",from:e,to:t},equals:(f,d)=>f.found===d.found&&f.reason===d.reason&&f.steps.length===d.steps.length&&Zn(f.steps,d.steps)})}catch(f){throw u(),i.dispose(),f}let h=ne(p);return{node:p,dispose(){c=!0,u(),i.dispose(),h()}}}_pathsMatching(e){let t=Ke(e),n=[];return this._collectObserveTargets("",n),n.map(([s])=>s).filter(s=>t.test(s))}_collectObserveTargets(e,t){for(let n of[...this._mounts.keys()].sort()){let s=e===""?n:`${e}${G}${n}`;this._mounts.get(n)._collectObserveTargets(s,t)}for(let n of[...this._nodes.keys()].sort()){let s=this._nodes.get(n),o=e===""?n:`${e}${G}${n}`;t.push([o,s]),this._appendMetaObserveTargets(o,s,t)}}_appendMetaObserveTargets(e,t,n){for(let s of Object.keys(t.meta).sort()){let o=t.meta[s],i=`${e}${G}${X}${G}${s}`;n.push([i,o]),this._appendMetaObserveTargets(i,o,n)}}observe(e,t){let n=typeof e=="string",o=Zt(n?t:e),i=o.structured===!0||o.timeline===!0||o.causal===!0||o.derived===!0||o.detail==="minimal"||o.detail==="full"||o.format!=null,a=o.actor;if(n){let l=e,p=this.resolve(l);if(a!=null&&!p.allowsObserve(a))throw new Y({actor:a,action:"observe",nodeName:l});return i?this._buildStructuredObserver([[l,p]],o,"one"):{subscribe(h){return p.subscribe(h)},up(h){try{p.up?.(h)}catch(f){if(f instanceof Y)return;throw f}}}}let c=[];this._collectObserveTargets("",c),c.sort((l,p)=>l[0]<p[0]?-1:l[0]>p[0]?1:0);let u=a==null?c:c.filter(([,l])=>l.allowsObserve(a));return i?this._buildStructuredObserver(u,o,"all"):{subscribe:l=>{let p=u.map(([h,f])=>f.subscribe(d=>{l(h,d)}));return()=>{for(let h of p)h()}},up:(l,p)=>{try{this.resolve(l).up?.(p)}catch(h){if(h instanceof Y)return;throw h}}}}_buildStructuredObserver(e,t,n){let s=n==="one"?e[0]?.[0]:void 0,o=i=>{if(n==="one"&&s!=null){let l=this.resolve(s);return this._buildStructuredObserver([[s,l]],i,"one")}let a=[];this._collectObserveTargets("",a),a.sort((l,p)=>l[0]<p[0]?-1:l[0]>p[0]?1:0);let c=i.actor,u=c==null?a:a.filter(([,l])=>l.allowsObserve(c));return this._buildStructuredObserver(u,i,"all")};return this._createObserveResult(e,t,o)}_createObserveResult(e,t,n){let s=t.timeline===!0,o=t.causal===!0,i=t.derived===!0,a=t.detail==="minimal",c=this.config.inspectorEnabled,u=(o||i)&&c,l=t.maxEvents,p=l!=null&&l>0?new Ee(l):null,h=[],f=new Set,d={},g=new Set,m=0,y=0,v=0,b=0,_=0,O=0,w=!1,T=!1,E=0,S=new Map,I=new Map,N=new Map,A=x=>{p?p.push(x):h.push(x);for(let R of f)R(x)},k=()=>s?{timestamp_ns:ee(),in_batch:Pe(),batch_id:E}:{},L=(x,R)=>{if(!(!u||!(x instanceof M)))return x._setInspectorHook(W=>{if(W.kind==="dep_message")S.set(x,W.depIndex);else if(W.kind==="run"){let ye=W.batchData.map((D,V)=>D!=null&&D.length>0?D.at(-1):W.prevData[V]);I.set(x,ye);let K=W.batchData.map(D=>D!=null?[...D]:void 0);N.set(x,K),i&&A({type:"derived",path:R,dep_values:ye,dep_batches:K,...k()})}})},Q=x=>{let R=S.get(x),W=I.get(x);if(!o||W==null)return{};let K=(R!=null&&R>=0&&x instanceof M?x._deps[R]:void 0)?.node,D=K?.v,V=N.get(x);return{trigger_dep_index:R,trigger_dep_name:K?.name,...D!=null?{trigger_version:{id:D.id,version:D.version}}:{},dep_values:[...W],...V!=null?{dep_batches:V}:{}}},oe=[],Ne=[];for(let[x,R]of e){let W=L(R,x);W&&oe.push(W),Ne.push(R.subscribe(ye=>{E++;for(let K of ye){let D=K[0],V=k();if(D===C){d[x]=K[1];let nt=R instanceof M?R.lastMutation?.actor??fe:fe;A({type:"data",path:x,data:K[1],actor:nt,...V,...Q(R)})}else if(a)D===j?m++:D===H?y++:D===J?v++:D===Z?b++:D===re?_++:D===F?O++:D===z&&!g.has(x)?w=!0:D===$&&(T=!0,g.add(x));else if(D===j)m++,A({type:"dirty",path:x,...V});else if(D===H)y++,A({type:"resolved",path:x,...V,...Q(R)});else if(D===J)v++,A({type:"invalidate",path:x,...V});else if(D===Z)b++,A({type:"pause",path:x,lockId:K[1],...V});else if(D===re)_++,A({type:"resume",path:x,lockId:K[1],...V});else if(D===z)g.has(x)||(w=!0),A({type:"complete",path:x,...V});else if(D===$){T=!0,g.add(x);let nt=R instanceof M?R.lastMutation?.actor??fe:fe;A({type:"error",path:x,data:K[1],actor:nt,...V})}else D===F&&(O++,A({type:"teardown",path:x,...V}))}}))}let Qe=!1,et=()=>{if(!Qe){Qe=!0;for(let x of Ne)x();for(let x of oe)x();for(let x of ke)x({value:void 0,done:!0});ke.length=0}},tt=[],ke=[];f.add(x=>{let R=ke.shift();R?R({value:x,done:!1}):tt.push(x)});let Et={get values(){return d},get dirtyCount(){return m},get resolvedCount(){return y},get invalidateCount(){return v},get pauseCount(){return b},get resumeCount(){return _},get teardownCount(){return O},get events(){return p?p.toArray():[...h]},get anyCompletedCleanly(){return w},get anyErrored(){return T},get completedWithoutErrors(){return w&&!T},onEvent(x){return f.add(x),()=>f.delete(x)},dispose:et,expand(x){et();let R={...t};return typeof x=="string"?R.detail=x:Object.assign(R,x),n(Zt(R))},[Symbol.asyncIterator](){return{next(){return tt.length>0?Promise.resolve({value:tt.shift(),done:!1}):Qe?Promise.resolve({value:void 0,done:!0}):new Promise(x=>ke.push(x))},return(){return et(),Promise.resolve({value:void 0,done:!0})}}}};return t.format!=null&&this._attachFormatLogger(Et,t),Et}_attachFormatLogger(e,t){let n=t.format;if(n==null)return;let s=t.logger??(d=>console.log(d)),o=t.includeTypes?new Set(t.includeTypes):null,i=t.excludeTypes?new Set(t.excludeTypes):null,a=o==null&&i==null?()=>!0:d=>(o==null||o.has(d))&&(i==null||!i.has(d)),c=qn(t.theme),u=n==="stage-log"?ee():0,l=d=>d==null?"":t.stageLabels?.[d]??d,p=(d,g)=>d.length>g?`${d.slice(0,g-1)}\u2026`:d,h=d=>d.type==="data"||d.type==="error"?p(qe(d.data),120):"",f=d=>{if(n==="stage-log"){let T=(ee()-u)/1e9,E=l(d.path).padEnd(9);if(d.type==="data"){let S=h(d);return`[${T.toFixed(3)}s] ${E} \u2190${S?` ${S}`:""}`}if(d.type==="error"){let S=h(d);return`[${T.toFixed(3)}s] ${E} \u2717${S?` ${S}`:""}`}return d.type==="complete"?`[${T.toFixed(3)}s] ${E} \u25A0 complete`:`[${T.toFixed(3)}s] ${E} ${d.type}`}if(n==="json")try{return JSON.stringify(d)}catch{return JSON.stringify({type:d.type,path:d.path,data:"[unserializable]"})}let g=c[d.type]??"",m=d.path?`${c.path}${d.path}${c.reset} `:"",y=d.type==="data"||d.type==="error",v=d.type==="pause"||d.type==="resume",b=y?` ${qe(d.data)}`:v?` ${qe(d.lockId)}`:"",_=d.type==="data"||d.type==="resolved"||d.type==="derived"?d:void 0,O=_?.trigger_dep_name!=null?` <- ${_.trigger_dep_name}`:_?.trigger_dep_index!=null?` <- #${_.trigger_dep_index}`:"",w=d.in_batch?" [batch]":"";return`${m}${g}${d.type.toUpperCase()}${c.reset}${b}${O}${w}`};e.onEvent(d=>{a(d.type)&&s(f(d),d)})}addDisposer(e){return this._disposers.add(e),()=>{this._disposers.delete(e)}}destroy(){Jt(this._disposers,this.name),this.signal([[F]],{internal:!0}),Jt(this._storageDisposers,this.name);for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0}_destroyClearOnly(){for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0}snapshot(e){let{expand:t,...n}=this.describe({detail:"full"}),s={};for(let a of Object.keys(n.nodes).sort()){let{lastMutation:c,guard:u,...l}=n.nodes[a];s[a]=l}let o=[...n.subgraphs].sort(),i={...n,version:1,nodes:s,subgraphs:o};if(e?.format==null)return i;if(e.format==="json-string")return JSON.stringify(i);if(e.format==="bytes"){if(e.codec==null)throw new Error("snapshot({format: 'bytes'}) requires a `codec` name");let a=this.config.lookupCodec(e.codec);if(a==null)throw new Error(`snapshot: codec "${e.codec}" is not registered on this graph's config. Call config.registerCodec(...) before creating nodes.`);return Rt(a,a.encode(i))}throw new Error(`snapshot: unknown format "${String(e.format)}"`)}static decode(e,t){let n=t?.config??me,{codec:s,codecVersion:o,payload:i}=Gt(e,n);return s.decode(i,o)}restore(e,t){if(Xt(e),e.name!==this.name)throw new Error(`Graph "${this.name}": restore snapshot name "${e.name}" does not match this graph`);let n=t?.only==null?null:(Array.isArray(t.only)?t.only:[t.only]).map(o=>Ke(o)),s=t?.includeProducers===!0;for(let o of Object.keys(e.nodes).sort()){if(n!==null&&!n.some(a=>a.test(o)))continue;let i=e.nodes[o];if(i!==void 0){if(!("value"in i)||i.value===void 0){"value"in i&&i.value===void 0&&t?.onError?.(o,new Error(`restore: slice.value is undefined for "${o}" (undefined is the global SENTINEL; not valid DATA)`));continue}if(!(i.type==="derived"||i.type==="effect")&&!(i.type==="producer"&&!s)){if(i.v!=null){let c=this.tryResolve(o)?.v;if(c!=null&&c.id===i.v.id&&c.version===i.v.version)continue}try{this.set(o,i.value)}catch(a){t?.onError?.(o,a)}}}}}static fromSnapshot(e,t){Xt(e);let n=typeof t=="function"?t:t?.build,s=typeof t=="function"?void 0:t?.factories,o=new r(e.name);if(n)return n(o),o.restore(e),o;for(let f of[...e.subgraphs].sort((d,g)=>{let m=d.split(G).length,y=g.split(G).length;return m!==y?m-y:d<g?-1:d>g?1:0})){let d=f.split(G),g=o;for(let m of d)g._mounts.has(m)||g.mount(m,new r(m)),g=g._mounts.get(m)}let i=s?Object.entries(s).map(([f,d])=>({re:Ke(f),factory:d})):[],a=f=>{for(let d of i)if(d.re.test(f))return d.factory},c=f=>{let d=f.split(G),g=d.pop();if(g==null||g.length===0)throw new Error(`invalid snapshot path "${f}"`);let m=o;for(let y of d){let v=m._mounts.get(y);if(!v)throw new Error(`unknown mount "${y}" in path "${f}"`);m=v}return[m,g]},u=Object.entries(e.nodes).filter(([f])=>!f.includes(`${G}${X}${G}`)).sort((f,d)=>f[0]<d[0]?-1:f[0]>d[0]?1:0),l=new Map(u),p=new Map,h=!0;for(;l.size>0&&h;){h=!1;for(let[f,d]of[...l.entries()]){let g=d?.deps??[];if(!g.every(O=>p.has(O)))continue;let[m,y]=c(f),v={...d?.meta??{}},b=a(f),_;if(d?.type==="state")_=te(d.value,{meta:v});else{if(b==null)continue;_=b(y,{path:f,type:d.type,value:d.value,meta:v,deps:g,resolvedDeps:g.map(O=>p.get(O))})}m.add(_,{name:y}),p.set(f,_),l.delete(f),h=!0}}if(l.size>0){let f=[...l.keys()].sort().join(", ");throw new Error(`Graph.fromSnapshot could not reconstruct nodes without build callback: ${f}. Pass matching factories via fromSnapshot(data, { factories: { pattern: factoryFn } }).`)}return o.restore(e),o}toJSON(){return this.snapshot()}attachStorage(e,t={}){let n=e.map(u=>({tier:u,debounceMs:Math.max(0,u.debounceMs??0),compactEvery:Math.max(1,u.compactEvery??10),timer:void 0,seq:0,lastSnapshot:void 0,lastFingerprint:"",disposed:!1,savePending:void 0}));t.autoRestore===!0&&this._cascadeRestore(e,t.onError);let s=(u,l)=>{if(u.disposed)return;let p=$n(l.nodes);if(u.lastSnapshot!=null&&p!==""&&p===u.lastFingerprint)return;let h=u.seq+1,f=ie(),m=u.lastSnapshot==null||h%u.compactEvery===0?{mode:"full",snapshot:l,seq:h,timestamp_ns:f,format_version:ce}:{mode:"diff",diff:sn(u.lastSnapshot,l),seq:h,timestamp_ns:f,format_version:ce};if(u.tier.filter&&!u.tier.filter(this.name,m))return;let y;try{y=u.tier.save(this.name,m)}catch(v){t.onError?.(v,u.tier);return}if(y&&typeof y.then=="function"){let _=(u.savePending??Promise.resolve()).then(()=>y,()=>y).then(()=>{u.disposed||(u.seq=h,u.lastSnapshot=l,u.lastFingerprint=p)},O=>{t.onError?.(O,u.tier)});u.savePending=_.finally(()=>{u.savePending===_&&(u.savePending=void 0)})}else u.seq=h,u.lastSnapshot=l,u.lastFingerprint=p},o=(u,l)=>{try{s(u,l)}catch(p){t.onError?.(p,u.tier)}},i=(u,l)=>{if(!l.some(d=>{let g=this.config.messageTier(d[0]);return g>=3&&g<5}))return;if(t.filter){let d=this.tryResolve(u);if(d==null)return;let g=yt(d,Ue("standard"));if(!t.filter(u,g))return}let h,f=()=>(h==null&&(h=this.snapshot()),h);for(let d of n)d.disposed||(d.debounceMs===0?o(d,f()):(d.timer==null&&(d.timer=new We),d.timer.start(d.debounceMs,()=>{d.disposed||o(d,this.snapshot())})))},a;if(t.paths!=null){let l=(typeof t.paths=="string"?this._pathsMatching(t.paths):t.paths).map(p=>{let h=this.tryResolve(p);return h==null?()=>{}:h.subscribe(f=>i(p,f))});a=()=>{for(let p of l)p()}}else a=this.observe().subscribe((u,l)=>i(u,l));let c=()=>{a();for(let u of n)u.disposed=!0,u.timer?.cancel();this._storageDisposers.delete(c)};return this._storageDisposers.add(c),{dispose:c}}async _cascadeRestore(e,t){for(let n of e){let s;try{s=await n.load(this.name)}catch(i){t?.(i,n);continue}if(s==null||typeof s!="object"||Array.isArray(s))continue;let o=s;try{if(o.mode==="full"&&o.snapshot!=null)return this.restore(o.snapshot),!0;if(o.version===ce&&o.nodes!=null)return this.restore(o),!0}catch(i){t?.(i,n)}}return!1}static async fromStorage(e,t,n){for(let s of t){let o;try{o=await s.load(e)}catch(c){n?.onError?.(c,s);continue}if(o==null||typeof o!="object"||Array.isArray(o))continue;let i=o,a=i.mode==="full"&&i.snapshot!=null?i.snapshot:i.version===ce&&i.nodes!=null?i:void 0;if(a!=null)try{return r.fromSnapshot(a,n)}catch(c){n?.onError?.(c,s)}}throw new Error(`Graph.fromStorage: no tier held a restorable record for "${e}" across ${t.length} tier(s)`)}_annotations=new Map;_traceRing;trace(e,t,n){if(e!=null&&t!=null){if(this.tryResolve(e)==null)return;if(this._annotations.set(e,t),this.config.inspectorEnabled){let s={path:e,annotation:t,timestamp_ns:ee(),...n?.actor!=null?{actor:n.actor}:{}};this._traceRing.push(s)}return}return e!=null?this.config.inspectorEnabled?this._annotations.get(e):void 0:this.config.inspectorEnabled?this._traceRing.toArray():[]}annotation(e){return this._annotations.get(e)}clearTrace(){this._annotations.clear(),this._traceRing.clear()}pruneTrace(e){let t=this._traceRing.toArray().filter(s=>!e(s)),n=this._traceRing.size-t.length;this._traceRing.clear();for(let s of t)this._traceRing.push(s);return n}static diff(e,t){let n=new Set(Object.keys(e.nodes)),s=new Set(Object.keys(t.nodes)),o=[...s].filter(v=>!n.has(v)).sort(),i=[...n].filter(v=>!s.has(v)).sort(),a=[],c=[];for(let v of n){if(!s.has(v))continue;let b=e.nodes[v],_=t.nodes[v],O=b.v,w=_.v;O!=null&&w!=null&&O.id===w.id&&O.version!==w.version&&c.push({path:v,id:O.id,from:O.version,to:w.version});let T=O!=null&&w!=null&&O.id===w.id&&O.version===w.version;for(let E of["type","status","sentinel"]){let S=b[E],I=_[E];S!==I&&a.push({path:v,field:E,from:S,to:I})}if(!T)for(let E of["value","meta"]){let S=b[E],I=_[E];In(S,I)||a.push({path:v,field:E,from:S,to:I})}}let u=v=>`${v.from} ${v.to}`,l=new Set(e.edges.map(u)),p=new Set(t.edges.map(u)),h=t.edges.filter(v=>!l.has(u(v))),f=e.edges.filter(v=>!p.has(u(v))),d=new Set(e.subgraphs),g=new Set(t.subgraphs),m=[...g].filter(v=>!d.has(v)).sort(),y=[...d].filter(v=>!g.has(v)).sort();return{nodesAdded:o,nodesRemoved:i,nodesChanged:a,versionChanges:c,edgesAdded:h,edgesRemoved:f,subgraphsAdded:m,subgraphsRemoved:y}}};function sn(r,e){let t=U.diff(r,e),n={};for(let s of t.nodesAdded){let o=e.nodes[s];o!=null&&(n[s]=o)}return{...t,nodesAddedFull:n}}function Tt(r,e,t,n={}){let s={paths:[],depths:new Map,truncated:!1};if(!e)return n.withDetail?s:[];if(!n.both&&t!=="upstream"&&t!=="downstream")throw new Error('reachable: direction must be "upstream" or "downstream"');let o=n.maxDepth;if(o!=null&&(!Number.isInteger(o)||o<0))throw new Error("reachable: maxDepth must be an integer >= 0");if(o===0)return n.withDetail?s:[];let i=new Map,a=new Map,c=new Map,u=new Map,l=new Set;for(let[b,_]of Object.entries(r.nodes)){if(!b)continue;l.add(b);let O=_.deps??[];i.set(b,O);for(let w of O)w&&(l.add(w),a.has(w)||a.set(w,new Set),a.get(w).add(b))}for(let b of r.edges){if(b==null||typeof b!="object")continue;let _=typeof b.from=="string"?b.from:"",O=typeof b.to=="string"?b.to:"";!_||!O||(l.add(_),l.add(O),u.has(_)||u.set(_,new Set),u.get(_).add(O),c.has(O)||c.set(O,new Set),c.get(O).add(_))}if(!l.has(e))return n.withDetail?s:[];let p=n.both===!0,h=b=>{if(p){let T=i.get(b)??[],E=c.get(b),S=a.get(b),I=u.get(b),N=[...T];return E&&N.push(...E),S&&N.push(...S),I&&N.push(...I),N}if(t==="upstream"){let T=i.get(b)??[],E=c.get(b);return E?[...T,...E]:T}let _=a.get(b),O=u.get(b),w=_?[..._]:[];return O&&w.push(...O),w},f=new Set([e]),d=new Map,g=[{path:e,depth:0}],m=0,y=!1;for(;m<g.length;){let b=g[m++];if(o!=null&&b.depth>=o){h(b.path).length>0&&(y=!0);continue}for(let _ of h(b.path))!_||f.has(_)||(f.add(_),d.set(_,b.depth+1),g.push({path:_,depth:b.depth+1}))}let v=[...d.keys()].sort((b,_)=>b<_?-1:b>_?1:0);return n.withDetail?{paths:v,depths:d,truncated:y}:v}function Zn(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++){let n=r[t],s=e[t];if(n.path!==s.path||n.type!==s.type||n.status!==s.status||n.hop!==s.hop||n.dep_index!==s.dep_index||n.annotation!==s.annotation||n.value!==s.value||n.lastMutation!==s.lastMutation)return!1;let o=n.v,i=s.v;if(o!==i&&(o==null||i==null||o.id!==i.id||o.version!==i.version))return!1}return!0}se();function Ot(r,e){let t=new Map,n=(s,o)=>{if(t.has(s))return;let i={off:()=>{},prefix:o};t.set(s,i);let a=s.topology.subscribe(c=>{for(let u of c){if(u[0]!==C)continue;let l=u[1];if(e(l,s,o),l.kind==="added"&&l.nodeKind==="mount"){let p=s._mounts.get(l.name);if(p instanceof U){let h=`${o}${l.name}::`;n(p,h)}}else if(l.kind==="removed"&&l.nodeKind==="mount"){let p=`${o}${l.name}::`;for(let[h,f]of Array.from(t.entries()))h!==r&&f.prefix.startsWith(p)&&(f.off(),t.delete(h))}}});i.off=a;for(let[c,u]of s._mounts)if(u instanceof U){let l=`${o}${c}::`;n(u,l)}};return n(r,""),()=>{for(let s of t.values())s.off();t.clear()}}vt();function Ye(r,e,t){return{[r]:!0,[`${r}_type`]:e,...t??{}}}Me();le();se();xe();function on(r,e){return Ye("messaging",r,e)}var Je=class extends U{_log;events;latest;hasLatest;constructor(e,t={}){super(e,t.graph),this._log=ze([],{name:"events",maxSize:t.retainedLimit}),this.events=this._log.entries,this.add(this.events,{name:"events"}),this.latest=B([this.events],([n])=>{let s=n;return s.length===0?null:s[s.length-1]},{name:"latest",describeKind:"derived",meta:on("topic_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(ne(this.latest)),this.hasLatest=B([this.events],([n])=>n.length>0,{name:"hasLatest",describeKind:"derived",meta:on("topic_has_latest")}),this.add(this.hasLatest,{name:"hasLatest"}),this.addDisposer(ne(this.hasLatest)),this.addDisposer(()=>{this.events.down([[z]])}),this.addDisposer(()=>this._log.disposeAllViews())}publish(e){this._log.append(e)}retained(){return this.events.cache}};function un(r,e){return Ye("audit",r,e)}var Qn=new Set(["data","error","complete","teardown"]),Xe=class extends U{entries;count;_log;_target;constructor(e,t){super(t.name??`${e.name}_audit`,t.graph),this._target=e,this._log=ze([],{name:"entries",...t.maxSize!=null?{maxSize:t.maxSize}:{}}),this.entries=this._log.entries,this.add(this.entries,{name:"entries"}),this.count=B([this.entries],([c])=>c.length,{name:"count",describeKind:"derived",meta:un("count")}),this.add(this.count,{name:"count"}),this.addDisposer(ne(this.count));let n=t.includeTypes!=null?new Set(t.includeTypes):Qn,s=t.filter,o=0,i=e.observe({timeline:!0,structured:!0}),a=i.onEvent(c=>{if(c.type==="derived")return;let u=c.type;if(!n.has(u))return;let l=c.path??"",p={seq:o++,timestamp_ns:c.timestamp_ns??ee(),wall_clock_ns:ie(),path:l,type:u},f=(l?xt(e,l):void 0)?.lastMutation;f!=null&&(p.actor=f.actor),u==="data"&&(p.value=c.data),u==="error"&&(p.error=c.data);let d=l?or(e,l):void 0;d!=null&&(p.annotation=d),!(s!=null&&!s(p))&&this._log.append(p)});this.addDisposer(()=>{a(),i.dispose()}),this.addDisposer(()=>this._log.disposeAllViews())}all(){return this.entries.cache??[]}byNode(e){return this.all().filter(t=>t.path===e)}byActor(e){return this.all().filter(t=>t.actor?.id===e)}byActorType(e){return this.all().filter(t=>t.actor?.type===e)}byTimeRange(e,t){return this.all().filter(n=>!(n.timestamp_ns<e||t!=null&&n.timestamp_ns>=t))}get target(){return this._target}};function er(r,e={}){return new Xe(r,e)}var Ze=class extends U{policies;violations;violationCount;_target;_mode;_currentGuard;constructor(e,t,n){super(n.name??`${e.name}_policy`,n.graph),this._target=e,this._mode=n.mode??"audit";let s=sr(t)?t:te(t,{name:"policies"});this.policies=s,this.add(this.policies,{name:"policies"}),this.violations=new Je("violations",{retainedLimit:n.violationsLimit??1e3}),this.mount("violations",this.violations),this.violationCount=B([this.violations.events],([u])=>u.length,{name:"violationCount",describeKind:"derived",meta:un("policy_violation_count")}),this.add(this.violationCount,{name:"violationCount"}),this.addDisposer(ne(this.violationCount));let i=s.cache??[];this._currentGuard=st(i);let a=s.subscribe(u=>{for(let l of u)l[0]===C&&(i=l[1]??[],this._currentGuard=st(i))});this.addDisposer(a);let c=n.paths!=null?[...n.paths]:an(e);if(this._mode==="enforce"){let u=new Map,l=p=>{if(u.has(p))return;let h=xt(e,p);if(!(h instanceof M))return;let f=(d,g)=>{let m=this._currentGuard(d,g);return m||this._publishViolation(d,g,p,"blocked"),m};u.set(p,h._pushGuard(f))};for(let p of c)l(p);if(n.paths==null){let p=Ot(e,(h,f,d)=>{if(h.kind==="added")if(h.nodeKind==="node")l(`${d}${h.name}`);else{let g=f._mounts.get(h.name);if(!(g instanceof U))return;let m=`${d}${h.name}::`,y=an(g);for(let v of y)l(v===""?`${d}${h.name}`:`${m}${v}`)}else if(h.kind==="removed")if(h.nodeKind==="node"){let g=`${d}${h.name}`,m=u.get(g);m!=null&&(m(),u.delete(g))}else{let g=`${d}${h.name}`,m=`${g}::`;for(let[y,v]of u)(y===g||y.startsWith(m))&&(v(),u.delete(y))}});this.addDisposer(p)}else{let p=e.topology.subscribe(h=>{for(let f of h){if(f[0]!==C)continue;let d=f[1];if(d.kind!=="removed"||d.nodeKind!=="node")continue;let g=u.get(d.name);g!=null&&(g(),u.delete(d.name))}});this.addDisposer(p)}this.addDisposer(()=>{for(let p of u.values())p();u.clear()})}else{let u=e.observe({timeline:!0,structured:!0}),l=u.onEvent(p=>{if(p.type!=="data"&&p.type!=="error")return;let h=p.path??"";if(!h||n.paths!=null&&!n.paths.includes(h))return;let f=p.actor??xt(e,h)?.lastMutation?.actor;if(f==null)return;let d="write";this._currentGuard(f,d)||this._publishViolation(f,d,h,"observed")});this.addDisposer(()=>{l(),u.dispose()})}}_publishViolation(e,t,n,s){this.violations.publish({timestamp_ns:ee(),wall_clock_ns:ie(),path:n,actor:e,action:t,mode:this._mode,result:s})}all(){return this.violations.retained()}get mode(){return this._mode}get target(){return this._target}};function tr(r,e,t={}){return new Ze(r,e,t)}function nr(r,e,t,n){return r.explain(e,t,{reactive:!0,...n})}function rr(r,e={}){let t={format_version:1,timestamp_ns:ee(),wall_clock_ns:ie(),graph:r.snapshot()};if(e.actor!=null&&(t.actor=e.actor),e.audit!=null){let s=[...e.audit.all()];t.audit={count:s.length,entries:s}}if(e.policies!=null){let s=e.policies.policies.cache??[];t.policies={mode:e.policies.mode,rules:s,violations:[...e.policies.all()]}}let n=ir(t);return{...t,fingerprint:n}}function sr(r){return typeof r=="object"&&r!==null&&"subscribe"in r}function xt(r,e){try{return r.node(e)}catch{return}}function or(r,e){try{return r.annotation(e)}catch{return}}function an(r){let e=r.describe({detail:"minimal"});return Object.keys(e.nodes)}function ir(r){return Oe(JSON.stringify(ar(r)))}function ar(r){let e=new Set,t=n=>{if(n===void 0)return{__undefined:!0};if(n===null)return null;let s=typeof n;if(s==="bigint")return{__bigint:n.toString()};if(s!=="object")return n;let o=n;if(e.has(o))return{__circular:!0};e.add(o);try{if(Array.isArray(o))return o.map(t);if(o instanceof Date)return{__date:o.toISOString()};if(o instanceof RegExp)return{__regexp:{source:o.source,flags:o.flags}};if(o instanceof Map)return{__map:[...o.entries()].map(([c,u])=>[t(c),t(u)])};if(o instanceof Set)return{__set:[...o].map(t)};if(ArrayBuffer.isView(o)){let a=o,c=new Array(a.length);for(let u=0;u<a.length;u++)c[u]=a[u]??0;return{__typed_array:{ctor:o.constructor.name,data:c}}}let i={};for(let a of Object.keys(o).sort())i[a]=t(o[a]);return i}finally{e.delete(o)}};return t(r)}0&&(module.exports={AuditTrailGraph,PolicyEnforcerGraph,auditTrail,complianceSnapshot,policyEnforcer,reactiveExplainPath});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../node-Cc1TniY8.cjs';
|
|
2
|
+
import '../../graph-D48Qw9Cg.cjs';
|
|
3
|
+
import '../../index-DyxjtScX.cjs';
|
|
4
|
+
export { A as AuditEntry, b as AuditTrailGraph, c as AuditTrailOptions, C as ComplianceSnapshotOptions, d as ComplianceSnapshotResult, P as PolicyEnforcerGraph, e as PolicyEnforcerOptions, a as PolicyViolation, f as auditTrail, g as complianceSnapshot, p as policyEnforcer, r as reactiveExplainPath } from '../../index-C73n7lo-.cjs';
|
|
5
|
+
import '../../meta-Cgj6zeji.cjs';
|
|
6
|
+
import '../../extra/storage-core.cjs';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../node-Cc1TniY8.js';
|
|
2
|
+
import '../../graph-BZGRXwOm.js';
|
|
3
|
+
import '../../index-B0c4cmIO.js';
|
|
4
|
+
export { A as AuditEntry, b as AuditTrailGraph, c as AuditTrailOptions, C as ComplianceSnapshotOptions, d as ComplianceSnapshotResult, P as PolicyEnforcerGraph, e as PolicyEnforcerOptions, a as PolicyViolation, f as auditTrail, g as complianceSnapshot, p as policyEnforcer, r as reactiveExplainPath } from '../../index-HDpJe9hX.js';
|
|
5
|
+
import '../../meta-CwesDrMD.js';
|
|
6
|
+
import '../../extra/storage-core.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c,d,e,f}from"../../chunk-Y2EMPB3I.js";import"../../chunk-DBGGMN3D.js";import"../../chunk-ETWTCCJI.js";import"../../chunk-2FOAM3OR.js";import"../../chunk-MTTAAPCK.js";import"../../chunk-CKCSDI7T.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-VPYBOXVT.js";import"../../chunk-D7A7DBE4.js";import"../../chunk-2PMCKKRK.js";import"../../chunk-ZB5EHBIO.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";export{a as AuditTrailGraph,c as PolicyEnforcerGraph,b as auditTrail,f as complianceSnapshot,d as policyEnforcer,e as reactiveExplainPath};
|