@graphrefly/graphrefly 0.43.0 → 0.45.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/README.md +21 -17
- package/dist/compat/index.cjs +20 -10
- package/dist/compat/index.cjs.map +1 -0
- package/dist/compat/index.d.cts +1 -22
- package/dist/compat/index.d.ts +1 -22
- package/dist/compat/index.js +3 -1
- package/dist/compat/index.js.map +1 -0
- package/dist/compat/jotai/index.cjs +21 -1
- package/dist/compat/jotai/index.cjs.map +1 -0
- package/dist/compat/jotai/index.d.cts +1 -2
- package/dist/compat/jotai/index.d.ts +1 -2
- package/dist/compat/jotai/index.js +3 -1
- package/dist/compat/jotai/index.js.map +1 -0
- package/dist/compat/nanostores/index.cjs +21 -1
- package/dist/compat/nanostores/index.cjs.map +1 -0
- package/dist/compat/nanostores/index.d.cts +1 -2
- package/dist/compat/nanostores/index.d.ts +1 -2
- package/dist/compat/nanostores/index.js +3 -1
- package/dist/compat/nanostores/index.js.map +1 -0
- package/dist/compat/nestjs/index.cjs +20 -10
- package/dist/compat/nestjs/index.cjs.map +1 -0
- package/dist/compat/nestjs/index.d.cts +1 -13
- package/dist/compat/nestjs/index.d.ts +1 -13
- package/dist/compat/nestjs/index.js +3 -1
- package/dist/compat/nestjs/index.js.map +1 -0
- package/dist/compat/react/index.cjs +21 -1
- package/dist/compat/react/index.cjs.map +1 -0
- package/dist/compat/react/index.d.cts +1 -2
- package/dist/compat/react/index.d.ts +1 -2
- package/dist/compat/react/index.js +3 -1
- package/dist/compat/react/index.js.map +1 -0
- package/dist/compat/solid/index.cjs +21 -1
- package/dist/compat/solid/index.cjs.map +1 -0
- package/dist/compat/solid/index.d.cts +1 -2
- package/dist/compat/solid/index.d.ts +1 -2
- package/dist/compat/solid/index.js +3 -1
- package/dist/compat/solid/index.js.map +1 -0
- package/dist/compat/svelte/index.cjs +21 -1
- package/dist/compat/svelte/index.cjs.map +1 -0
- package/dist/compat/svelte/index.d.cts +1 -2
- package/dist/compat/svelte/index.d.ts +1 -2
- package/dist/compat/svelte/index.js +3 -1
- package/dist/compat/svelte/index.js.map +1 -0
- package/dist/compat/vue/index.cjs +21 -1
- package/dist/compat/vue/index.cjs.map +1 -0
- package/dist/compat/vue/index.d.cts +1 -3
- package/dist/compat/vue/index.d.ts +1 -3
- package/dist/compat/vue/index.js +3 -1
- package/dist/compat/vue/index.js.map +1 -0
- package/dist/compat/zustand/index.cjs +21 -3
- package/dist/compat/zustand/index.cjs.map +1 -0
- package/dist/compat/zustand/index.d.cts +1 -6
- package/dist/compat/zustand/index.d.ts +1 -6
- package/dist/compat/zustand/index.js +3 -1
- package/dist/compat/zustand/index.js.map +1 -0
- package/dist/core/index.cjs +21 -1
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.cts +1 -4
- package/dist/core/index.d.ts +1 -4
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -0
- package/dist/extra/browser.cjs +21 -1
- package/dist/extra/browser.cjs.map +1 -0
- package/dist/extra/browser.d.cts +1 -4
- package/dist/extra/browser.d.ts +1 -4
- package/dist/extra/browser.js +3 -1
- package/dist/extra/browser.js.map +1 -0
- package/dist/extra/index.cjs +20 -19
- package/dist/extra/index.cjs.map +1 -0
- package/dist/extra/index.d.cts +1 -17
- package/dist/extra/index.d.ts +1 -17
- package/dist/extra/index.js +3 -1
- package/dist/extra/index.js.map +1 -0
- package/dist/extra/node.cjs +21 -2
- package/dist/extra/node.cjs.map +1 -0
- package/dist/extra/node.d.cts +1 -187
- package/dist/extra/node.d.ts +1 -187
- package/dist/extra/node.js +3 -2
- package/dist/extra/node.js.map +1 -0
- package/dist/extra/operators.cjs +21 -1
- package/dist/extra/operators.cjs.map +1 -0
- package/dist/extra/operators.d.cts +1 -950
- package/dist/extra/operators.d.ts +1 -950
- package/dist/extra/operators.js +3 -1
- package/dist/extra/operators.js.map +1 -0
- package/dist/extra/reactive.cjs +21 -1
- package/dist/extra/reactive.cjs.map +1 -0
- package/dist/extra/reactive.d.cts +1 -353
- package/dist/extra/reactive.d.ts +1 -353
- package/dist/extra/reactive.js +3 -1
- package/dist/extra/reactive.js.map +1 -0
- package/dist/extra/render/index.cjs +21 -5
- package/dist/extra/render/index.cjs.map +1 -0
- package/dist/extra/render/index.d.cts +1 -183
- package/dist/extra/render/index.d.ts +1 -183
- package/dist/extra/render/index.js +3 -1
- package/dist/extra/render/index.js.map +1 -0
- package/dist/extra/sources.cjs +21 -3
- package/dist/extra/sources.cjs.map +1 -0
- package/dist/extra/sources.d.cts +1 -584
- package/dist/extra/sources.d.ts +1 -584
- package/dist/extra/sources.js +3 -1
- package/dist/extra/sources.js.map +1 -0
- package/dist/extra/storage-browser.cjs +21 -1
- package/dist/extra/storage-browser.cjs.map +1 -0
- package/dist/extra/storage-browser.d.cts +1 -37
- package/dist/extra/storage-browser.d.ts +1 -37
- package/dist/extra/storage-browser.js +3 -1
- package/dist/extra/storage-browser.js.map +1 -0
- package/dist/extra/storage-core.cjs +21 -1
- package/dist/extra/storage-core.cjs.map +1 -0
- package/dist/extra/storage-core.d.cts +1 -28
- package/dist/extra/storage-core.d.ts +1 -28
- package/dist/extra/storage-core.js +3 -1
- package/dist/extra/storage-core.js.map +1 -0
- package/dist/extra/storage-node.cjs +20 -0
- package/dist/extra/storage-node.cjs.map +1 -0
- package/dist/extra/storage-node.d.cts +1 -2
- package/dist/extra/storage-node.d.ts +1 -2
- package/dist/extra/storage-node.js +3 -0
- package/dist/extra/storage-node.js.map +1 -0
- package/dist/extra/storage-tiers-browser.cjs +21 -1
- package/dist/extra/storage-tiers-browser.cjs.map +1 -0
- package/dist/extra/storage-tiers-browser.d.cts +1 -120
- package/dist/extra/storage-tiers-browser.d.ts +1 -120
- package/dist/extra/storage-tiers-browser.js +3 -1
- package/dist/extra/storage-tiers-browser.js.map +1 -0
- package/dist/extra/storage-tiers-node.cjs +21 -1
- package/dist/extra/storage-tiers-node.cjs.map +1 -0
- package/dist/extra/storage-tiers-node.d.cts +1 -210
- package/dist/extra/storage-tiers-node.d.ts +1 -210
- package/dist/extra/storage-tiers-node.js +3 -1
- package/dist/extra/storage-tiers-node.js.map +1 -0
- package/dist/extra/storage-tiers.cjs +21 -1
- package/dist/extra/storage-tiers.cjs.map +1 -0
- package/dist/extra/storage-tiers.d.cts +1 -412
- package/dist/extra/storage-tiers.d.ts +1 -412
- package/dist/extra/storage-tiers.js +3 -1
- package/dist/extra/storage-tiers.js.map +1 -0
- package/dist/extra/storage-wal.cjs +21 -0
- package/dist/extra/storage-wal.cjs.map +1 -0
- package/dist/extra/storage-wal.d.cts +1 -0
- package/dist/extra/storage-wal.d.ts +1 -0
- package/dist/extra/storage-wal.js +3 -0
- package/dist/extra/storage-wal.js.map +1 -0
- package/dist/graph/index.cjs +21 -7
- package/dist/graph/index.cjs.map +1 -0
- package/dist/graph/index.d.cts +1 -7
- package/dist/graph/index.d.ts +1 -7
- package/dist/graph/index.js +3 -1
- package/dist/graph/index.js.map +1 -0
- package/dist/index.cjs +20 -227
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +45 -96
- package/dist/index.d.ts +45 -96
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -0
- package/dist/patterns/ai/browser.cjs +20 -7
- package/dist/patterns/ai/browser.cjs.map +1 -0
- package/dist/patterns/ai/browser.d.cts +1 -127
- package/dist/patterns/ai/browser.d.ts +1 -127
- package/dist/patterns/ai/browser.js +3 -3
- package/dist/patterns/ai/browser.js.map +1 -0
- package/dist/patterns/ai/index.cjs +20 -73
- package/dist/patterns/ai/index.cjs.map +1 -0
- package/dist/patterns/ai/index.d.cts +1 -21
- package/dist/patterns/ai/index.d.ts +1 -21
- package/dist/patterns/ai/index.js +3 -1
- package/dist/patterns/ai/index.js.map +1 -0
- package/dist/patterns/ai/node.cjs +21 -1
- package/dist/patterns/ai/node.cjs.map +1 -0
- package/dist/patterns/ai/node.d.cts +1 -59
- package/dist/patterns/ai/node.d.ts +1 -59
- package/dist/patterns/ai/node.js +3 -1
- package/dist/patterns/ai/node.js.map +1 -0
- package/dist/patterns/cqrs/index.cjs +21 -3
- package/dist/patterns/cqrs/index.cjs.map +1 -0
- package/dist/patterns/cqrs/index.d.cts +1 -8
- package/dist/patterns/cqrs/index.d.ts +1 -8
- package/dist/patterns/cqrs/index.js +3 -1
- package/dist/patterns/cqrs/index.js.map +1 -0
- package/dist/patterns/demo-shell/index.cjs +21 -5
- package/dist/patterns/demo-shell/index.cjs.map +1 -0
- package/dist/patterns/demo-shell/index.d.cts +1 -7
- package/dist/patterns/demo-shell/index.d.ts +1 -7
- package/dist/patterns/demo-shell/index.js +3 -1
- package/dist/patterns/demo-shell/index.js.map +1 -0
- package/dist/patterns/domain-templates/index.cjs +21 -3
- package/dist/patterns/domain-templates/index.cjs.map +1 -0
- package/dist/patterns/domain-templates/index.d.cts +1 -6
- package/dist/patterns/domain-templates/index.d.ts +1 -6
- package/dist/patterns/domain-templates/index.js +3 -1
- package/dist/patterns/domain-templates/index.js.map +1 -0
- package/dist/patterns/graphspec/index.cjs +21 -86
- package/dist/patterns/graphspec/index.cjs.map +1 -0
- package/dist/patterns/graphspec/index.d.cts +1 -8
- package/dist/patterns/graphspec/index.d.ts +1 -8
- package/dist/patterns/graphspec/index.js +3 -1
- package/dist/patterns/graphspec/index.js.map +1 -0
- package/dist/patterns/harness/index.cjs +21 -48
- package/dist/patterns/harness/index.cjs.map +1 -0
- package/dist/patterns/harness/index.d.cts +1 -14
- package/dist/patterns/harness/index.d.ts +1 -14
- package/dist/patterns/harness/index.js +3 -1
- package/dist/patterns/harness/index.js.map +1 -0
- package/dist/patterns/inspect/index.cjs +21 -3
- package/dist/patterns/inspect/index.cjs.map +1 -0
- package/dist/patterns/inspect/index.d.cts +1 -9
- package/dist/patterns/inspect/index.d.ts +1 -9
- package/dist/patterns/inspect/index.js +3 -1
- package/dist/patterns/inspect/index.js.map +1 -0
- package/dist/patterns/job-queue/index.cjs +21 -3
- package/dist/patterns/job-queue/index.cjs.map +1 -0
- package/dist/patterns/job-queue/index.d.cts +1 -9
- package/dist/patterns/job-queue/index.d.ts +1 -9
- package/dist/patterns/job-queue/index.js +3 -1
- package/dist/patterns/job-queue/index.js.map +1 -0
- package/dist/patterns/memory/index.cjs +21 -3
- package/dist/patterns/memory/index.cjs.map +1 -0
- package/dist/patterns/memory/index.d.cts +1 -8
- package/dist/patterns/memory/index.d.ts +1 -8
- package/dist/patterns/memory/index.js +3 -1
- package/dist/patterns/memory/index.js.map +1 -0
- package/dist/patterns/messaging/index.cjs +21 -3
- package/dist/patterns/messaging/index.cjs.map +1 -0
- package/dist/patterns/messaging/index.d.cts +1 -7
- package/dist/patterns/messaging/index.d.ts +1 -7
- package/dist/patterns/messaging/index.js +3 -1
- package/dist/patterns/messaging/index.js.map +1 -0
- package/dist/patterns/orchestration/index.cjs +21 -3
- package/dist/patterns/orchestration/index.cjs.map +1 -0
- package/dist/patterns/orchestration/index.d.cts +1 -9
- package/dist/patterns/orchestration/index.d.ts +1 -9
- package/dist/patterns/orchestration/index.js +3 -1
- package/dist/patterns/orchestration/index.js.map +1 -0
- package/dist/patterns/process/index.cjs +21 -1
- package/dist/patterns/process/index.cjs.map +1 -0
- package/dist/patterns/process/index.d.cts +1 -10
- package/dist/patterns/process/index.d.ts +1 -10
- package/dist/patterns/process/index.js +3 -1
- package/dist/patterns/process/index.js.map +1 -0
- package/dist/patterns/reactive-layout/index.cjs +21 -4
- package/dist/patterns/reactive-layout/index.cjs.map +1 -0
- package/dist/patterns/reactive-layout/index.d.cts +1 -7
- package/dist/patterns/reactive-layout/index.d.ts +1 -7
- package/dist/patterns/reactive-layout/index.js +3 -1
- package/dist/patterns/reactive-layout/index.js.map +1 -0
- package/dist/patterns/reduction/index.cjs +21 -3
- package/dist/patterns/reduction/index.cjs.map +1 -0
- package/dist/patterns/reduction/index.d.cts +1 -6
- package/dist/patterns/reduction/index.d.ts +1 -6
- package/dist/patterns/reduction/index.js +3 -1
- package/dist/patterns/reduction/index.js.map +1 -0
- package/dist/patterns/surface/index.cjs +21 -13
- package/dist/patterns/surface/index.cjs.map +1 -0
- package/dist/patterns/surface/index.d.cts +1 -9
- package/dist/patterns/surface/index.d.ts +1 -9
- package/dist/patterns/surface/index.js +3 -1
- package/dist/patterns/surface/index.js.map +1 -0
- package/dist/patterns/topology-view/index.cjs +21 -0
- package/dist/patterns/topology-view/index.cjs.map +1 -0
- package/dist/patterns/topology-view/index.d.cts +1 -0
- package/dist/patterns/topology-view/index.d.ts +1 -0
- package/dist/patterns/topology-view/index.js +3 -0
- package/dist/patterns/topology-view/index.js.map +1 -0
- package/dist/testing/index.cjs +21 -0
- package/dist/testing/index.cjs.map +1 -0
- package/dist/testing/index.d.cts +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +608 -584
- package/dist/backoff-HPZMEZNF.js +0 -1
- package/dist/cascading-CH-_VwG9.d.cts +0 -199
- package/dist/cascading-OgKQZjsa.d.ts +0 -199
- package/dist/chunk-35JTVPOX.js +0 -1
- package/dist/chunk-3G5U5QNE.js +0 -5
- package/dist/chunk-3XDYJRYU.js +0 -1
- package/dist/chunk-4I45FVQS.js +0 -1
- package/dist/chunk-4VVTGLXJ.js +0 -1
- package/dist/chunk-4YAN45KM.js +0 -1
- package/dist/chunk-5QDBSZBV.js +0 -1
- package/dist/chunk-626TESAC.js +0 -3
- package/dist/chunk-6HOSXQKF.js +0 -1
- package/dist/chunk-6QZNQS5B.js +0 -1
- package/dist/chunk-C72GO4IZ.js +0 -1
- package/dist/chunk-CE72X3WO.js +0 -1
- package/dist/chunk-CK2E7BTU.js +0 -1
- package/dist/chunk-CLD3F4R5.js +0 -1
- package/dist/chunk-CUNIRONA.js +0 -1
- package/dist/chunk-D27JNOLZ.js +0 -1
- package/dist/chunk-D5RFJOZ2.js +0 -1
- package/dist/chunk-EBW4V6JN.js +0 -1
- package/dist/chunk-ESMPEKEV.js +0 -1
- package/dist/chunk-F3IGTWCQ.js +0 -1
- package/dist/chunk-F672GV32.js +0 -1
- package/dist/chunk-FDQGFWLF.js +0 -1
- package/dist/chunk-FG4TKHMC.js +0 -1
- package/dist/chunk-GPW2V3RE.js +0 -1
- package/dist/chunk-I7IGYPSL.js +0 -1
- package/dist/chunk-INQD2KRQ.js +0 -1
- package/dist/chunk-JNWRYDJN.js +0 -1
- package/dist/chunk-JQFH2DV6.js +0 -1
- package/dist/chunk-K2Q24F5T.js +0 -1
- package/dist/chunk-KGKJCHEK.js +0 -1
- package/dist/chunk-KRH66M4O.js +0 -1
- package/dist/chunk-KVV66NN2.js +0 -1
- package/dist/chunk-L6NSJVJZ.js +0 -1
- package/dist/chunk-LYCLF26R.js +0 -1
- package/dist/chunk-NNKJUORL.js +0 -1
- package/dist/chunk-NON4NLIC.js +0 -45
- package/dist/chunk-O2BLLH7M.js +0 -18
- package/dist/chunk-OCKEEPRJ.js +0 -2
- package/dist/chunk-OFZG3TB3.js +0 -9
- package/dist/chunk-OYJKFY7V.js +0 -1
- package/dist/chunk-P6C4WHZO.js +0 -5
- package/dist/chunk-PT7W5FCD.js +0 -5
- package/dist/chunk-Q4U3A3L5.js +0 -1
- package/dist/chunk-QE4IGY7I.js +0 -61
- package/dist/chunk-QYADASLV.js +0 -1
- package/dist/chunk-QYVXF7GW.js +0 -1
- package/dist/chunk-S3EEIPO7.js +0 -1
- package/dist/chunk-SUWT3ZON.js +0 -1
- package/dist/chunk-TPKQW72B.js +0 -1
- package/dist/chunk-TSOYJ743.js +0 -1
- package/dist/chunk-TZQPPQEQ.js +0 -1
- package/dist/chunk-V5A7M7RJ.js +0 -1
- package/dist/chunk-VIMF6LGM.js +0 -1
- package/dist/chunk-VJLMUKOI.js +0 -1
- package/dist/chunk-VN6RDSK2.js +0 -1
- package/dist/chunk-VNC3TMVY.js +0 -1
- package/dist/chunk-VOPGGIL7.js +0 -1
- package/dist/chunk-VQ4A6T2A.js +0 -1
- package/dist/chunk-XG62INFA.js +0 -1
- package/dist/chunk-Y4NI3X7O.js +0 -84
- package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
- package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
- package/dist/decay-2ZukgQ4o.d.cts +0 -112
- package/dist/decay-CdEBmDIs.d.ts +0 -112
- package/dist/fallback-CqYVLL6X.d.ts +0 -250
- package/dist/fallback-Ctlj2tMY.d.cts +0 -250
- package/dist/graph-7VguS7a4.d.ts +0 -1668
- package/dist/graph-C4SHb3Ly.d.cts +0 -1668
- package/dist/index-0rKFCVFp.d.cts +0 -557
- package/dist/index-B-i4_g3k.d.ts +0 -651
- package/dist/index-B5iz82A3.d.cts +0 -2655
- package/dist/index-BAOD98JD.d.cts +0 -754
- package/dist/index-BG0BN3PB.d.ts +0 -44
- package/dist/index-BJX94aud.d.cts +0 -34
- package/dist/index-BP8a88zx.d.ts +0 -385
- package/dist/index-BTQtTb_H.d.cts +0 -301
- package/dist/index-BVpm6noz.d.cts +0 -36
- package/dist/index-Bc41FuHp.d.cts +0 -291
- package/dist/index-BdGtBX-X.d.cts +0 -515
- package/dist/index-Bf7eqeSF.d.ts +0 -113
- package/dist/index-BiX1Nkgx.d.cts +0 -1844
- package/dist/index-BoLv_OfD.d.cts +0 -651
- package/dist/index-BojK2fwH.d.cts +0 -299
- package/dist/index-BsT7F2et.d.ts +0 -291
- package/dist/index-BwLvVVsy.d.cts +0 -189
- package/dist/index-C59mYFKp.d.ts +0 -121
- package/dist/index-C7O6r5fV.d.ts +0 -37
- package/dist/index-C9kSENB4.d.cts +0 -127
- package/dist/index-C9pjcz3l.d.cts +0 -209
- package/dist/index-CAC_rNzm.d.ts +0 -189
- package/dist/index-CCq87F7t.d.ts +0 -127
- package/dist/index-CDXc9zKM.d.cts +0 -26
- package/dist/index-CJK1JkYy.d.ts +0 -36
- package/dist/index-CLon-IWF.d.cts +0 -374
- package/dist/index-COD1kVoS.d.cts +0 -468
- package/dist/index-CPT7C_f1.d.ts +0 -374
- package/dist/index-CQG3D1cp.d.ts +0 -468
- package/dist/index-CZQXo5tH.d.ts +0 -209
- package/dist/index-CZjOhcBy.d.cts +0 -113
- package/dist/index-ChOyVLKm.d.cts +0 -86
- package/dist/index-CvrqGfNS.d.ts +0 -34
- package/dist/index-D-AEQVLo.d.ts +0 -2655
- package/dist/index-D4Y1cMG0.d.ts +0 -26
- package/dist/index-DBHK8O6H.d.ts +0 -301
- package/dist/index-DBevwHj_.d.ts +0 -515
- package/dist/index-DIOoAZUX.d.ts +0 -45
- package/dist/index-DSZ3ZCHF.d.ts +0 -3402
- package/dist/index-Dgs8zcj7.d.ts +0 -102
- package/dist/index-Dh_HJ82K.d.ts +0 -299
- package/dist/index-Dhc7a7Xo.d.cts +0 -102
- package/dist/index-Dmqp7KjD.d.ts +0 -86
- package/dist/index-Dn-wI9g4.d.ts +0 -231
- package/dist/index-Du7u1lSf.d.cts +0 -385
- package/dist/index-DwigL4lY.d.ts +0 -1844
- package/dist/index-DyR7eU5S.d.cts +0 -779
- package/dist/index-JZUPJIJy.d.ts +0 -779
- package/dist/index-K0_0eR8g.d.ts +0 -557
- package/dist/index-O16yXPK4.d.cts +0 -3402
- package/dist/index-O7fucFrU.d.cts +0 -121
- package/dist/index-RV_yDjOX.d.cts +0 -198
- package/dist/index-cm1GNcWE.d.ts +0 -754
- package/dist/index-f5IivDUX.d.cts +0 -37
- package/dist/index-hHcaFlJX.d.cts +0 -45
- package/dist/index-tJoTcnHh.d.cts +0 -231
- package/dist/index-wAzD9yVj.d.ts +0 -198
- package/dist/index-z96luz5O.d.cts +0 -44
- package/dist/meta-BgVAsg9j.d.ts +0 -102
- package/dist/meta-vE8bxW1E.d.cts +0 -102
- package/dist/node-ClS5yC-B.d.cts +0 -1347
- package/dist/node-ClS5yC-B.d.ts +0 -1347
- package/dist/observable-BsBzUrcI.d.ts +0 -36
- package/dist/observable-DLGPPtb8.d.cts +0 -36
- package/dist/pipeline-graph-DPqKDk59.d.cts +0 -137
- package/dist/pipeline-graph-loP57TBA.d.ts +0 -137
- package/dist/reactive-layout-Dsvob4zD.d.cts +0 -183
- package/dist/reactive-layout-v7KPvxoc.d.ts +0 -183
- package/dist/reactive-log-B00laMSQ.d.cts +0 -223
- package/dist/reactive-log-BezYsbA_.d.ts +0 -223
- package/dist/reactive-map-48mnZ-nu.d.cts +0 -296
- package/dist/reactive-map-BVVPdvmi.d.ts +0 -296
- package/dist/resilience-YIWPK4YC.js +0 -1
- package/dist/sugar-DLwvMr3F.d.ts +0 -223
- package/dist/sugar-DyVGtczU.d.cts +0 -223
- package/dist/topology-tree-BNGvuG82.d.ts +0 -25
- package/dist/topology-tree-BSdfSwMi.d.cts +0 -25
- package/dist/types-B1jDWVsM.d.cts +0 -442
- package/dist/types-DkzUUs0H.d.ts +0 -442
package/dist/backoff-HPZMEZNF.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i}from"./chunk-4VVTGLXJ.js";import"./chunk-QYADASLV.js";export{a as NS_PER_MS,b as NS_PER_SEC,c as constant,g as decorrelatedJitter,e as exponential,f as fibonacci,d as linear,i as resolveBackoffPreset,h as withMaxAttempts};
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { L as LLMAdapter, C as ChatMessage, a as LLMInvokeOptions } from './types-B1jDWVsM.cjs';
|
|
2
|
-
import { b as CircuitBreakerOptions, C as CircuitBreaker } from './index-BoLv_OfD.cjs';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* OpenAICompatAdapter — default fetch-backed, optional SDK-backed.
|
|
6
|
-
*
|
|
7
|
-
* Covers any provider that speaks OpenAI chat/completions. Preset base URLs
|
|
8
|
-
* for OpenAI, OpenRouter, Groq, Ollama, DeepSeek, xAI Grok (all expose the
|
|
9
|
-
* same `/v1/chat/completions` shape).
|
|
10
|
-
*
|
|
11
|
-
* Token usage mapping:
|
|
12
|
-
* - `prompt_tokens` → `input.regular` (minus cached_tokens)
|
|
13
|
-
* - `prompt_tokens_details.cached_tokens` → `input.cacheRead`
|
|
14
|
-
* - `prompt_tokens_details.audio_tokens` → `input.audio`
|
|
15
|
-
* - `completion_tokens` → `output.regular` (minus reasoning)
|
|
16
|
-
* - `completion_tokens_details.reasoning_tokens` → `output.reasoning`
|
|
17
|
-
* - `completion_tokens_details.audio_tokens` → `output.audio`
|
|
18
|
-
* - `completion_tokens_details.accepted_prediction_tokens` → `output.predictionAccepted`
|
|
19
|
-
* - `completion_tokens_details.rejected_prediction_tokens` → `output.predictionRejected`
|
|
20
|
-
*
|
|
21
|
-
* DeepSeek compatibility: `prompt_cache_hit_tokens` / `prompt_cache_miss_tokens`
|
|
22
|
-
* are surfaced in the `raw` field of `TokenUsage`; when present we prefer
|
|
23
|
-
* them over the OpenAI-style `cached_tokens` for cache-read attribution.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
type OpenAICompatPreset = "openai" | "openrouter" | "groq" | "ollama" | "deepseek" | "xai";
|
|
27
|
-
interface OpenAICompatAdapterOptions {
|
|
28
|
-
preset?: OpenAICompatPreset;
|
|
29
|
-
/** Explicit provider label (defaults to preset's provider). */
|
|
30
|
-
provider?: string;
|
|
31
|
-
/** API key. Falls back to the preset's default env var on Node. */
|
|
32
|
-
apiKey?: string;
|
|
33
|
-
model?: string;
|
|
34
|
-
/** Override base URL (wins over `preset`). */
|
|
35
|
-
baseURL?: string;
|
|
36
|
-
/** Extra request headers. */
|
|
37
|
-
headers?: Record<string, string>;
|
|
38
|
-
/** Extra request-body fields merged on every request (OpenRouter routing etc.). */
|
|
39
|
-
bodyExtras?: Record<string, unknown>;
|
|
40
|
-
/** User-provided SDK instance (OpenAI-family shape). */
|
|
41
|
-
sdk?: OpenAISdkLike;
|
|
42
|
-
/** Custom fetch (for tests). */
|
|
43
|
-
fetchImpl?: typeof fetch;
|
|
44
|
-
}
|
|
45
|
-
interface OpenAISdkLike {
|
|
46
|
-
chat: {
|
|
47
|
-
completions: {
|
|
48
|
-
create(params: Record<string, unknown>, opts?: {
|
|
49
|
-
signal?: AbortSignal;
|
|
50
|
-
}): Promise<OpenAIChatResponse>;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
interface OpenAIChatResponse {
|
|
55
|
-
id: string;
|
|
56
|
-
choices: ReadonlyArray<{
|
|
57
|
-
message: {
|
|
58
|
-
role: string;
|
|
59
|
-
content?: string | null;
|
|
60
|
-
tool_calls?: ReadonlyArray<{
|
|
61
|
-
id: string;
|
|
62
|
-
type: "function";
|
|
63
|
-
function: {
|
|
64
|
-
name: string;
|
|
65
|
-
arguments: string;
|
|
66
|
-
};
|
|
67
|
-
}>;
|
|
68
|
-
reasoning_content?: string;
|
|
69
|
-
};
|
|
70
|
-
finish_reason?: string;
|
|
71
|
-
}>;
|
|
72
|
-
usage?: OpenAIUsage;
|
|
73
|
-
model?: string;
|
|
74
|
-
}
|
|
75
|
-
interface OpenAIUsage {
|
|
76
|
-
prompt_tokens?: number;
|
|
77
|
-
completion_tokens?: number;
|
|
78
|
-
total_tokens?: number;
|
|
79
|
-
prompt_tokens_details?: {
|
|
80
|
-
cached_tokens?: number;
|
|
81
|
-
audio_tokens?: number;
|
|
82
|
-
};
|
|
83
|
-
completion_tokens_details?: {
|
|
84
|
-
reasoning_tokens?: number;
|
|
85
|
-
audio_tokens?: number;
|
|
86
|
-
accepted_prediction_tokens?: number;
|
|
87
|
-
rejected_prediction_tokens?: number;
|
|
88
|
-
};
|
|
89
|
-
prompt_cache_hit_tokens?: number;
|
|
90
|
-
prompt_cache_miss_tokens?: number;
|
|
91
|
-
}
|
|
92
|
-
declare function openAICompatAdapter(opts?: OpenAICompatAdapterOptions): LLMAdapter;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* `createAdapter` — provider-dispatching factory.
|
|
96
|
-
*
|
|
97
|
-
* One entry point, one config object. Picks the right concrete adapter by
|
|
98
|
-
* `provider`, forwards everything else. Users who want finer control import
|
|
99
|
-
* the concrete adapter directly (`anthropicAdapter`, `openAICompatAdapter`,
|
|
100
|
-
* `googleAdapter`, `dryRunAdapter`, `webllmAdapter`, `chromeNanoAdapter`).
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
type AdapterProvider = "anthropic" | OpenAICompatPreset | "google" | "dry-run" | "fallback";
|
|
104
|
-
interface CreateAdapterOptions {
|
|
105
|
-
provider: AdapterProvider;
|
|
106
|
-
apiKey?: string;
|
|
107
|
-
model?: string;
|
|
108
|
-
baseURL?: string;
|
|
109
|
-
headers?: Record<string, string>;
|
|
110
|
-
/** OpenAI-compat bodyExtras (OpenRouter routing, etc.). */
|
|
111
|
-
bodyExtras?: Record<string, unknown>;
|
|
112
|
-
/** Provider-specific SDK instance (any of AnthropicSdkLike / OpenAISdkLike / GoogleSdkLike). */
|
|
113
|
-
sdk?: unknown;
|
|
114
|
-
/** Custom fetch (for tests). */
|
|
115
|
-
fetchImpl?: typeof fetch;
|
|
116
|
-
/** Extra per-provider options forwarded verbatim. */
|
|
117
|
-
extras?: Record<string, unknown>;
|
|
118
|
-
}
|
|
119
|
-
declare function createAdapter(opts: CreateAdapterOptions): LLMAdapter;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* `cascadingLlmAdapter` — N-tier fallback over any mix of LLM adapters.
|
|
123
|
-
*
|
|
124
|
-
* Same structural pattern as `cascadingCache` and `Graph.attachSnapshotStorage`:
|
|
125
|
-
* ordered list, first-success wins, per-tier breaker optional, filter gates
|
|
126
|
-
* per request. Semantics:
|
|
127
|
-
*
|
|
128
|
-
* - `invoke()`: try tier 0 first. On error (or breaker-open), fall through
|
|
129
|
-
* to tier 1, 2, ... until one succeeds or all fail.
|
|
130
|
-
* - `stream()`: tries to start the stream on tier 0; once tokens begin, it
|
|
131
|
-
* commits — failures in mid-stream surface rather than re-starting on the
|
|
132
|
-
* next tier (would double-bill and confuse consumers). **State-machine
|
|
133
|
-
* consumers (usage accounting, UI accumulators) must handle errors in a
|
|
134
|
-
* catch block — no synthetic `{type: "finish"}` is emitted after a thrown
|
|
135
|
-
* stream error.**
|
|
136
|
-
* - `filter`: skips a tier for requests that use features it doesn't
|
|
137
|
-
* support (e.g., Chrome Nano can't do tool use).
|
|
138
|
-
* - `breaker`: per-tier circuit; when open, cascade treats the tier as
|
|
139
|
-
* unavailable and moves on immediately.
|
|
140
|
-
*
|
|
141
|
-
* On exhaustion, throws `AllTiersExhaustedError` with separate `skipped` and
|
|
142
|
-
* `failed` collections so consumers can distinguish "no tier applicable"
|
|
143
|
-
* from "all tiers failed".
|
|
144
|
-
*/
|
|
145
|
-
|
|
146
|
-
interface AdapterTier {
|
|
147
|
-
name: string;
|
|
148
|
-
adapter: LLMAdapter;
|
|
149
|
-
/** Per-tier circuit breaker. If omitted, no breaker on this tier. */
|
|
150
|
-
breaker?: CircuitBreakerOptions | CircuitBreaker;
|
|
151
|
-
/** Skip this tier when the request doesn't fit (e.g. Chrome Nano + tools). */
|
|
152
|
-
filter?: (messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => boolean;
|
|
153
|
-
}
|
|
154
|
-
interface CascadeExhaustionReport {
|
|
155
|
-
/** Tiers that never ran (filter returned false, or breaker was open). */
|
|
156
|
-
readonly skipped: ReadonlyArray<{
|
|
157
|
-
name: string;
|
|
158
|
-
reason: "filter" | "breaker";
|
|
159
|
-
}>;
|
|
160
|
-
/** Tiers that ran and threw. */
|
|
161
|
-
readonly failed: ReadonlyMap<string, unknown>;
|
|
162
|
-
}
|
|
163
|
-
interface CascadingLlmAdapterOptions {
|
|
164
|
-
onFallback?: (from: string, to: string, error: unknown) => void;
|
|
165
|
-
onExhausted?: (report: CascadeExhaustionReport) => void;
|
|
166
|
-
/** Whether to attempt stream retry on subsequent tiers before first chunk. Default true. */
|
|
167
|
-
streamRetryBeforeFirstChunk?: boolean;
|
|
168
|
-
}
|
|
169
|
-
declare class AllTiersExhaustedError extends Error {
|
|
170
|
-
name: string;
|
|
171
|
-
readonly skipped: ReadonlyArray<{
|
|
172
|
-
name: string;
|
|
173
|
-
reason: "filter" | "breaker";
|
|
174
|
-
}>;
|
|
175
|
-
readonly failed: ReadonlyMap<string, unknown>;
|
|
176
|
-
constructor(report: CascadeExhaustionReport);
|
|
177
|
-
}
|
|
178
|
-
declare function cascadingLlmAdapter(tiers: readonly AdapterTier[], opts?: CascadingLlmAdapterOptions): LLMAdapter;
|
|
179
|
-
/**
|
|
180
|
-
* Tiny type-safe constructor for an {@link AdapterTier}. Cleans up the
|
|
181
|
-
* heterogeneous array-type cast users (and `browser-presets.ts`) had to write
|
|
182
|
-
* by hand. Per Wave A Unit 13 decision.
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
* ```ts
|
|
186
|
-
* cascadingLlmAdapter([
|
|
187
|
-
* tier("local", webllmAdapter(...)),
|
|
188
|
-
* tier("cloud", anthropicAdapter(...), { breaker: { failureThreshold: 5 } }),
|
|
189
|
-
* ]);
|
|
190
|
-
* ```
|
|
191
|
-
*
|
|
192
|
-
* @category ai
|
|
193
|
-
*/
|
|
194
|
-
declare function tier(name: string, adapter: LLMAdapter, opts?: {
|
|
195
|
-
breaker?: CircuitBreakerOptions | CircuitBreaker;
|
|
196
|
-
filter?: AdapterTier["filter"];
|
|
197
|
-
}): AdapterTier;
|
|
198
|
-
|
|
199
|
-
export { type AdapterProvider as A, type CascadingLlmAdapterOptions as C, type OpenAICompatAdapterOptions as O, type CascadeExhaustionReport as a, type AdapterTier as b, createAdapter as c, AllTiersExhaustedError as d, type CreateAdapterOptions as e, type OpenAICompatPreset as f, type OpenAISdkLike as g, cascadingLlmAdapter as h, openAICompatAdapter as o, tier as t };
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { L as LLMAdapter, C as ChatMessage, a as LLMInvokeOptions } from './types-DkzUUs0H.js';
|
|
2
|
-
import { b as CircuitBreakerOptions, C as CircuitBreaker } from './index-B-i4_g3k.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* OpenAICompatAdapter — default fetch-backed, optional SDK-backed.
|
|
6
|
-
*
|
|
7
|
-
* Covers any provider that speaks OpenAI chat/completions. Preset base URLs
|
|
8
|
-
* for OpenAI, OpenRouter, Groq, Ollama, DeepSeek, xAI Grok (all expose the
|
|
9
|
-
* same `/v1/chat/completions` shape).
|
|
10
|
-
*
|
|
11
|
-
* Token usage mapping:
|
|
12
|
-
* - `prompt_tokens` → `input.regular` (minus cached_tokens)
|
|
13
|
-
* - `prompt_tokens_details.cached_tokens` → `input.cacheRead`
|
|
14
|
-
* - `prompt_tokens_details.audio_tokens` → `input.audio`
|
|
15
|
-
* - `completion_tokens` → `output.regular` (minus reasoning)
|
|
16
|
-
* - `completion_tokens_details.reasoning_tokens` → `output.reasoning`
|
|
17
|
-
* - `completion_tokens_details.audio_tokens` → `output.audio`
|
|
18
|
-
* - `completion_tokens_details.accepted_prediction_tokens` → `output.predictionAccepted`
|
|
19
|
-
* - `completion_tokens_details.rejected_prediction_tokens` → `output.predictionRejected`
|
|
20
|
-
*
|
|
21
|
-
* DeepSeek compatibility: `prompt_cache_hit_tokens` / `prompt_cache_miss_tokens`
|
|
22
|
-
* are surfaced in the `raw` field of `TokenUsage`; when present we prefer
|
|
23
|
-
* them over the OpenAI-style `cached_tokens` for cache-read attribution.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
type OpenAICompatPreset = "openai" | "openrouter" | "groq" | "ollama" | "deepseek" | "xai";
|
|
27
|
-
interface OpenAICompatAdapterOptions {
|
|
28
|
-
preset?: OpenAICompatPreset;
|
|
29
|
-
/** Explicit provider label (defaults to preset's provider). */
|
|
30
|
-
provider?: string;
|
|
31
|
-
/** API key. Falls back to the preset's default env var on Node. */
|
|
32
|
-
apiKey?: string;
|
|
33
|
-
model?: string;
|
|
34
|
-
/** Override base URL (wins over `preset`). */
|
|
35
|
-
baseURL?: string;
|
|
36
|
-
/** Extra request headers. */
|
|
37
|
-
headers?: Record<string, string>;
|
|
38
|
-
/** Extra request-body fields merged on every request (OpenRouter routing etc.). */
|
|
39
|
-
bodyExtras?: Record<string, unknown>;
|
|
40
|
-
/** User-provided SDK instance (OpenAI-family shape). */
|
|
41
|
-
sdk?: OpenAISdkLike;
|
|
42
|
-
/** Custom fetch (for tests). */
|
|
43
|
-
fetchImpl?: typeof fetch;
|
|
44
|
-
}
|
|
45
|
-
interface OpenAISdkLike {
|
|
46
|
-
chat: {
|
|
47
|
-
completions: {
|
|
48
|
-
create(params: Record<string, unknown>, opts?: {
|
|
49
|
-
signal?: AbortSignal;
|
|
50
|
-
}): Promise<OpenAIChatResponse>;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
interface OpenAIChatResponse {
|
|
55
|
-
id: string;
|
|
56
|
-
choices: ReadonlyArray<{
|
|
57
|
-
message: {
|
|
58
|
-
role: string;
|
|
59
|
-
content?: string | null;
|
|
60
|
-
tool_calls?: ReadonlyArray<{
|
|
61
|
-
id: string;
|
|
62
|
-
type: "function";
|
|
63
|
-
function: {
|
|
64
|
-
name: string;
|
|
65
|
-
arguments: string;
|
|
66
|
-
};
|
|
67
|
-
}>;
|
|
68
|
-
reasoning_content?: string;
|
|
69
|
-
};
|
|
70
|
-
finish_reason?: string;
|
|
71
|
-
}>;
|
|
72
|
-
usage?: OpenAIUsage;
|
|
73
|
-
model?: string;
|
|
74
|
-
}
|
|
75
|
-
interface OpenAIUsage {
|
|
76
|
-
prompt_tokens?: number;
|
|
77
|
-
completion_tokens?: number;
|
|
78
|
-
total_tokens?: number;
|
|
79
|
-
prompt_tokens_details?: {
|
|
80
|
-
cached_tokens?: number;
|
|
81
|
-
audio_tokens?: number;
|
|
82
|
-
};
|
|
83
|
-
completion_tokens_details?: {
|
|
84
|
-
reasoning_tokens?: number;
|
|
85
|
-
audio_tokens?: number;
|
|
86
|
-
accepted_prediction_tokens?: number;
|
|
87
|
-
rejected_prediction_tokens?: number;
|
|
88
|
-
};
|
|
89
|
-
prompt_cache_hit_tokens?: number;
|
|
90
|
-
prompt_cache_miss_tokens?: number;
|
|
91
|
-
}
|
|
92
|
-
declare function openAICompatAdapter(opts?: OpenAICompatAdapterOptions): LLMAdapter;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* `createAdapter` — provider-dispatching factory.
|
|
96
|
-
*
|
|
97
|
-
* One entry point, one config object. Picks the right concrete adapter by
|
|
98
|
-
* `provider`, forwards everything else. Users who want finer control import
|
|
99
|
-
* the concrete adapter directly (`anthropicAdapter`, `openAICompatAdapter`,
|
|
100
|
-
* `googleAdapter`, `dryRunAdapter`, `webllmAdapter`, `chromeNanoAdapter`).
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
type AdapterProvider = "anthropic" | OpenAICompatPreset | "google" | "dry-run" | "fallback";
|
|
104
|
-
interface CreateAdapterOptions {
|
|
105
|
-
provider: AdapterProvider;
|
|
106
|
-
apiKey?: string;
|
|
107
|
-
model?: string;
|
|
108
|
-
baseURL?: string;
|
|
109
|
-
headers?: Record<string, string>;
|
|
110
|
-
/** OpenAI-compat bodyExtras (OpenRouter routing, etc.). */
|
|
111
|
-
bodyExtras?: Record<string, unknown>;
|
|
112
|
-
/** Provider-specific SDK instance (any of AnthropicSdkLike / OpenAISdkLike / GoogleSdkLike). */
|
|
113
|
-
sdk?: unknown;
|
|
114
|
-
/** Custom fetch (for tests). */
|
|
115
|
-
fetchImpl?: typeof fetch;
|
|
116
|
-
/** Extra per-provider options forwarded verbatim. */
|
|
117
|
-
extras?: Record<string, unknown>;
|
|
118
|
-
}
|
|
119
|
-
declare function createAdapter(opts: CreateAdapterOptions): LLMAdapter;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* `cascadingLlmAdapter` — N-tier fallback over any mix of LLM adapters.
|
|
123
|
-
*
|
|
124
|
-
* Same structural pattern as `cascadingCache` and `Graph.attachSnapshotStorage`:
|
|
125
|
-
* ordered list, first-success wins, per-tier breaker optional, filter gates
|
|
126
|
-
* per request. Semantics:
|
|
127
|
-
*
|
|
128
|
-
* - `invoke()`: try tier 0 first. On error (or breaker-open), fall through
|
|
129
|
-
* to tier 1, 2, ... until one succeeds or all fail.
|
|
130
|
-
* - `stream()`: tries to start the stream on tier 0; once tokens begin, it
|
|
131
|
-
* commits — failures in mid-stream surface rather than re-starting on the
|
|
132
|
-
* next tier (would double-bill and confuse consumers). **State-machine
|
|
133
|
-
* consumers (usage accounting, UI accumulators) must handle errors in a
|
|
134
|
-
* catch block — no synthetic `{type: "finish"}` is emitted after a thrown
|
|
135
|
-
* stream error.**
|
|
136
|
-
* - `filter`: skips a tier for requests that use features it doesn't
|
|
137
|
-
* support (e.g., Chrome Nano can't do tool use).
|
|
138
|
-
* - `breaker`: per-tier circuit; when open, cascade treats the tier as
|
|
139
|
-
* unavailable and moves on immediately.
|
|
140
|
-
*
|
|
141
|
-
* On exhaustion, throws `AllTiersExhaustedError` with separate `skipped` and
|
|
142
|
-
* `failed` collections so consumers can distinguish "no tier applicable"
|
|
143
|
-
* from "all tiers failed".
|
|
144
|
-
*/
|
|
145
|
-
|
|
146
|
-
interface AdapterTier {
|
|
147
|
-
name: string;
|
|
148
|
-
adapter: LLMAdapter;
|
|
149
|
-
/** Per-tier circuit breaker. If omitted, no breaker on this tier. */
|
|
150
|
-
breaker?: CircuitBreakerOptions | CircuitBreaker;
|
|
151
|
-
/** Skip this tier when the request doesn't fit (e.g. Chrome Nano + tools). */
|
|
152
|
-
filter?: (messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => boolean;
|
|
153
|
-
}
|
|
154
|
-
interface CascadeExhaustionReport {
|
|
155
|
-
/** Tiers that never ran (filter returned false, or breaker was open). */
|
|
156
|
-
readonly skipped: ReadonlyArray<{
|
|
157
|
-
name: string;
|
|
158
|
-
reason: "filter" | "breaker";
|
|
159
|
-
}>;
|
|
160
|
-
/** Tiers that ran and threw. */
|
|
161
|
-
readonly failed: ReadonlyMap<string, unknown>;
|
|
162
|
-
}
|
|
163
|
-
interface CascadingLlmAdapterOptions {
|
|
164
|
-
onFallback?: (from: string, to: string, error: unknown) => void;
|
|
165
|
-
onExhausted?: (report: CascadeExhaustionReport) => void;
|
|
166
|
-
/** Whether to attempt stream retry on subsequent tiers before first chunk. Default true. */
|
|
167
|
-
streamRetryBeforeFirstChunk?: boolean;
|
|
168
|
-
}
|
|
169
|
-
declare class AllTiersExhaustedError extends Error {
|
|
170
|
-
name: string;
|
|
171
|
-
readonly skipped: ReadonlyArray<{
|
|
172
|
-
name: string;
|
|
173
|
-
reason: "filter" | "breaker";
|
|
174
|
-
}>;
|
|
175
|
-
readonly failed: ReadonlyMap<string, unknown>;
|
|
176
|
-
constructor(report: CascadeExhaustionReport);
|
|
177
|
-
}
|
|
178
|
-
declare function cascadingLlmAdapter(tiers: readonly AdapterTier[], opts?: CascadingLlmAdapterOptions): LLMAdapter;
|
|
179
|
-
/**
|
|
180
|
-
* Tiny type-safe constructor for an {@link AdapterTier}. Cleans up the
|
|
181
|
-
* heterogeneous array-type cast users (and `browser-presets.ts`) had to write
|
|
182
|
-
* by hand. Per Wave A Unit 13 decision.
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
* ```ts
|
|
186
|
-
* cascadingLlmAdapter([
|
|
187
|
-
* tier("local", webllmAdapter(...)),
|
|
188
|
-
* tier("cloud", anthropicAdapter(...), { breaker: { failureThreshold: 5 } }),
|
|
189
|
-
* ]);
|
|
190
|
-
* ```
|
|
191
|
-
*
|
|
192
|
-
* @category ai
|
|
193
|
-
*/
|
|
194
|
-
declare function tier(name: string, adapter: LLMAdapter, opts?: {
|
|
195
|
-
breaker?: CircuitBreakerOptions | CircuitBreaker;
|
|
196
|
-
filter?: AdapterTier["filter"];
|
|
197
|
-
}): AdapterTier;
|
|
198
|
-
|
|
199
|
-
export { type AdapterProvider as A, type CascadingLlmAdapterOptions as C, type OpenAICompatAdapterOptions as O, type CascadeExhaustionReport as a, type AdapterTier as b, createAdapter as c, AllTiersExhaustedError as d, type CreateAdapterOptions as e, type OpenAICompatPreset as f, type OpenAISdkLike as g, cascadingLlmAdapter as h, openAICompatAdapter as o, tier as t };
|
package/dist/chunk-35JTVPOX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as p,v as f}from"./chunk-LYCLF26R.js";function v(t,n){if(n!=null&&n.length>0)return new Set(n);switch(t){case"standard":return new Set(["type","status","value","deps","meta","v"]);case"full":return null;case"spec":return new Set(["type","deps","meta","value"]);default:return new Set(["type","deps"])}}function b(t){return t._describeKind!=null?t._describeKind:t._deps.length>0?"derived":t._fn!=null?"producer":"state"}function D(t){let n=new WeakSet,r={};for(let[e,a]of m(t))r[e]=d(a,n);return r}function d(t,n){if(t==null)return t;let r=typeof t;if(r==="boolean"||r==="number"||r==="string")return t;if(r==="function")return"<function>";if(Array.isArray(t))return n.has(t)?"<cycle>":(n.add(t),t.map(e=>d(e,n)));if(r==="object"){let e=t;if(n.has(e))return"<cycle>";n.add(e);try{if(typeof e.subscribe=="function"&&"cache"in e)return"<Node>"}catch{return"<unserializable>"}let a={};for(let[c,i]of m(e))a[c]=d(i,n);return a}return"<unserializable>"}function m(t){let n=[],r;try{r=Object.keys(t)}catch{return n}for(let e of r)try{n.push([e,t[e]])}catch{n.push([e,"<unserializable>"])}return n}function N(t,n){let r={factory:t};return n!==void 0&&(r.factoryArgs=n),r}function h(t){let n={};for(let[r,e]of Object.entries(t.meta))try{n[r]=e.cache}catch{}return n}function R(t,n,r){let e=n==null,a=!e&&n!=null?[...n].filter(s=>s.startsWith("meta.")).map(s=>s.slice(5)):null,c=e||n.has("meta")||a!=null&&a.length>0,i="state",g=[];t instanceof p&&(i=b(t),g=t._deps.map(s=>s.node.name??""));let o={type:i,deps:g};(e||n.has("status"))&&(o.status=t.status);let u=t instanceof p?t._guard:void 0;if(c){let s={...h(t)};if(u!=null&&s.access===void 0&&(s.access=f(u)),a!=null&&a.length>0&&!n.has("meta")){let y={};for(let l of a)l in s&&(y[l]=s[l]);o.meta=y}else o.meta=s}if(t.name!=null&&(o.name=t.name),(e||n.has("value"))&&(!r||i==="state")){t.status==="sentinel"&&(o.sentinel=!0);try{o.value=t.cache}catch{}}if((e||n.has("v"))&&t.v!=null){let s={id:t.v.id,version:t.v.version};"cid"in t.v&&(s.cid=t.v.cid,s.prev=t.v.prev),o.v=s}return(e||n.has("guard"))&&u!=null&&(o.guard=f(u)),(e||n.has("lastMutation"))&&t.lastMutation!=null&&(o.lastMutation=t.lastMutation),o}export{v as a,D as b,N as c,R as d};
|
package/dist/chunk-3G5U5QNE.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as S,b as _}from"./chunk-C72GO4IZ.js";var no={horizontal:"\u2500",vertical:"\u2502",cornerTL:"\u250C",cornerTR:"\u2510",cornerBL:"\u2514",cornerBR:"\u2518",tDown:"\u252C",tUp:"\u2534",tRight:"\u251C",tLeft:"\u2524",cross:"\u253C",arrowRight:"\u25B6",arrowDown:"\u25BC",arrowLeft:"\u25C0",arrowUp:"\u25B2",boxTL:"\u250C",boxTR:"\u2510",boxBL:"\u2514",boxBR:"\u2518",boxH:"\u2500",boxV:"\u2502"},to={horizontal:"-",vertical:"|",cornerTL:"+",cornerTR:"+",cornerBL:"+",cornerBR:"+",tDown:"+",tUp:"+",tRight:"+",tLeft:"+",cross:"+",arrowRight:">",arrowDown:"v",arrowLeft:"<",arrowUp:"^",boxTL:"+",boxTR:"+",boxBL:"+",boxBR:"+",boxH:"-",boxV:"|"};function F(o,t){let s=t.charset==="ascii"?to:no,i=o.width,r=o.height,e=Array.from({length:r},()=>Array.from({length:i},()=>" ")),n=Array.from({length:r},()=>Array.from({length:i},()=>"empty"));for(let a of o.edges)so(e,n,s,a);for(let a of o.boxes)io(e,n,s,a,t.labelOf(a.id));return e.map(a=>uo(a.join(""))).join(`
|
|
2
|
-
`)}function io(o,t,s,i,r){let{x:e,y:n,w:a,h:l}=i;if(a<2||l<2){l>0&&U(o,t,e,n,a,r);return}w(o,t,e,n,s.boxTL);for(let u=e+1;u<e+a-1;u+=1)w(o,t,u,n,s.boxH);w(o,t,e+a-1,n,s.boxTR);for(let u=n+1;u<n+l-1;u+=1){w(o,t,e,u,s.boxV);for(let f=e+1;f<e+a-1;f+=1)k(o,t,f,u," ","empty");w(o,t,e+a-1,u,s.boxV)}w(o,t,e,n+l-1,s.boxBL);for(let u=e+1;u<e+a-1;u+=1)w(o,t,u,n+l-1,s.boxH);w(o,t,e+a-1,n+l-1,s.boxBR);let c=n+Math.floor(l/2);U(o,t,e+1,c,a-2,r)}function w(o,t,s,i,r){k(o,t,s,i,r,r===" "?"empty":r==="\u2500"||r==="-"?"boxH":r==="\u2502"||r==="|"?"boxV":"boxCorner")}function k(o,t,s,i,r,e){if(i<0||i>=o.length)return;let n=o[i];s<0||s>=n.length||(n[s]=r,t[i][s]=e)}function U(o,t,s,i,r,e){if(i<0||i>=o.length)return;let n=s,a=r;for(let l of e){let c=S(l);if(c!==0){if(a<c)break;n>=0&&n<o[i].length&&(o[i][n]=l,t[i][n]="label",c===2&&n+1<o[i].length&&(o[i][n+1]="",t[i][n+1]="label")),n+=c,a-=c}}for(;a>0;)n>=0&&n<o[i].length&&(o[i][n]=" ",t[i][n]="empty"),n+=1,a-=1}function so(o,t,s,i){let r=i.points;if(r.length<2)return;for(let l=0;l+1<r.length;l+=1)ao(o,t,s,r[l],r[l+1]);for(let l=1;l+1<r.length;l+=1){let c=r[l-1],u=r[l],f=r[l+1],d=co(c,u,f,s);d&&K(o,t,u.x,u.y,d,"edgeCorner")}let e=r[r.length-1],n=r[r.length-2],a=lo(n,e,s);a&&K(o,t,e.x,e.y,a,"arrow")}function ao(o,t,s,i,r){if(!(i.x===r.x&&i.y===r.y)){if(i.y===r.y){let e=i.y,n=Math.min(i.x,r.x),a=Math.max(i.x,r.x);for(let l=n;l<=a;l+=1)z(o,t,l,e,s,"h")}else if(i.x===r.x){let e=i.x,n=Math.min(i.y,r.y),a=Math.max(i.y,r.y);for(let l=n;l<=a;l+=1)z(o,t,e,l,s,"v")}}}function z(o,t,s,i,r,e){if(i<0||i>=o.length)return;let n=o[i];if(s<0||s>=n.length)return;let a=t[i][s];if(!(a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label")){if(a==="empty"){n[s]=e==="h"?r.horizontal:r.vertical,t[i][s]=e==="h"?"edgeH":"edgeV";return}if(a==="edgeH"&&e==="v"){n[s]=r.cross,t[i][s]="edgeCorner";return}if(a==="edgeV"&&e==="h"){n[s]=r.cross,t[i][s]="edgeCorner";return}}}function K(o,t,s,i,r,e){if(i<0||i>=o.length)return;let n=o[i];if(s<0||s>=n.length)return;let a=t[i][s];a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label"||(n[s]=r,t[i][s]=e)}function co(o,t,s,i){let r=o.y===t.y,e=t.y===s.y;if(r===e)return;if(r){let l=o.x<t.x,c=s.y>t.y;return l&&c?i.cornerTR:l&&!c?i.cornerBR:!l&&c?i.cornerTL:i.cornerBL}let n=o.y<t.y,a=s.x>t.x;return n&&a?i.cornerBL:n&&!a?i.cornerBR:!n&&a?i.cornerTL:i.cornerTR}function lo(o,t,s){if(t.x>o.x)return s.arrowRight;if(t.x<o.x)return s.arrowLeft;if(t.y>o.y)return s.arrowDown;if(t.y<o.y)return s.arrowUp}function uo(o){let t=o.length;for(;t>0&&o.charCodeAt(t-1)===32;)t-=1;return o.slice(0,t)}function Y(o){let t=fo(o);po(t),ho(t),go(t),yo(t,o);let s=xo(t,o),{width:i,height:r}=wo(t),e=[];for(let n of t.layers)for(let a of n)a.isVirtual||e.push({id:a.id,layer:a.layer,order:a.order,x:a.x,y:a.y,w:a.w,h:a.h});return{boxes:e,edges:s,width:i,height:r}}function fo(o){let t=new Map;for(let r of o.nodes)t.set(r,{id:r,isVirtual:!1,layer:-1,order:0,x:0,y:0,w:o.widthCells(r),h:o.heightCells(r),in:[],out:[]});let s=[],i=0;for(let r of o.edges){if(r.from===r.to)continue;let e=t.get(r.from),n=t.get(r.to);if(!e||!n)continue;let a={chainId:i++,chainFrom:r.from,chainTo:r.to,fromId:r.from,toId:r.to,hopIndex:0,chainLen:1};e.out.push(a),n.in.push(a),s.push(a)}return{nodes:t,layers:[],hops:s}}function po(o){let t=new Map;for(let e of o.nodes.values())t.set(e.id,e.in.length);let s=[];for(let e of o.nodes.values())(t.get(e.id)??0)===0&&(e.layer=0,s.push(e));let i=new Set,r=0;for(;r<s.length;){let e=s[r++];if(!i.has(e.id)){i.add(e.id);for(let n of e.out){let a=o.nodes.get(n.toId);a.layer=Math.max(a.layer,e.layer+1);let l=(t.get(a.id)??0)-1;t.set(a.id,l),l<=0&&s.push(a)}}}for(let e of o.nodes.values())e.layer<0&&(e.layer=0)}function ho(o){let t=Math.max(0,...Array.from(o.nodes.values(),e=>e.layer)),s=Array.from({length:t+1},()=>[]);for(let e of o.nodes.values())s[e.layer].push(e);let i=[],r=0;for(let e of o.hops){let n=o.nodes.get(e.fromId),a=o.nodes.get(e.toId),l=a.layer-n.layer;if(l<=0){n.out=n.out.filter(f=>f!==e),a.in=a.in.filter(f=>f!==e);continue}if(l===1){e.hopIndex=0,e.chainLen=1,i.push(e);continue}n.out=n.out.filter(f=>f!==e),a.in=a.in.filter(f=>f!==e);let c=n;for(let f=1;f<l;f+=1){let d=`__virt_${r++}__`,h={id:d,isVirtual:!0,layer:n.layer+f,order:0,x:0,y:0,w:0,h:1,in:[],out:[]};o.nodes.set(d,h),s[h.layer].push(h);let p={chainId:e.chainId,chainFrom:e.chainFrom,chainTo:e.chainTo,fromId:c.id,toId:d,hopIndex:f-1,chainLen:l};c.out.push(p),h.in.push(p),i.push(p),c=h}let u={chainId:e.chainId,chainFrom:e.chainFrom,chainTo:e.chainTo,fromId:c.id,toId:a.id,hopIndex:l-1,chainLen:l};c.out.push(u),a.in.push(u),i.push(u)}for(let e of s)for(let n=0;n<e.length;n+=1)e[n].order=n;o.layers=s,o.hops=i}function go(o){for(let s=0;s<4;s+=1){for(let i=1;i<o.layers.length;i+=1)J(o,o.layers[i],"in"),G(o.layers[i]);for(let i=o.layers.length-2;i>=0;i-=1)J(o,o.layers[i],"out"),G(o.layers[i])}for(let s=0;s<2;s+=1){let i=!1;for(let r=1;r<o.layers.length;r+=1){let e=o.layers[r];for(let n=0;n+1<e.length;n+=1){let a=W(o,e[n],e[n+1],"in");[e[n],e[n+1]]=[e[n+1],e[n]],G(e),W(o,e[n],e[n+1],"in")<a?i=!0:([e[n],e[n+1]]=[e[n+1],e[n]],G(e))}}if(!i)break}}function J(o,t,s){let i=new Map;for(let r of t){let e=s==="in"?r.in:r.out;if(e.length===0){i.set(r.id,r.order);continue}let n=0,a=0;for(let l of e){let c=o.nodes.get(s==="in"?l.fromId:l.toId);c&&(n+=c.order,a+=1)}i.set(r.id,a===0?r.order:n/a)}t.sort((r,e)=>{let n=i.get(r.id),a=i.get(e.id);return n!==a?n-a:r.order-e.order})}function G(o){for(let t=0;t<o.length;t+=1)o[t].order=t}function W(o,t,s,i){let r=i==="in"?t.in:t.out,e=i==="in"?s.in:s.out,n=0;for(let a of r)for(let l of e){let c=o.nodes.get(i==="in"?a.fromId:a.toId)?.order??0,u=o.nodes.get(i==="in"?l.fromId:l.toId)?.order??0;(t.order<s.order&&c>u||t.order>s.order&&c<u)&&(n+=1)}return n}function yo(o,t){t.direction==="LR"?mo(o,t):bo(o,t)}function mo(o,t){let s=[],i=0;for(let r=0;r<o.layers.length;r+=1){s.push(i);let e=0;for(let n of o.layers[r])e=Math.max(e,n.w);i+=e+t.layerGap}for(let r=0;r<o.layers.length;r+=1)for(let e of o.layers[r])e.x=s[r];for(let r of o.layers){let e=0;for(let n of r)n.y=e,e+=n.h+t.nodeGap}X(o,t,"y")}function bo(o,t){let s=[],i=0;for(let r=0;r<o.layers.length;r+=1){s.push(i);let e=0;for(let n of o.layers[r])e=Math.max(e,n.h);i+=e+t.layerGap}for(let r=0;r<o.layers.length;r+=1)for(let e of o.layers[r])e.y=s[r];for(let r of o.layers){let e=0;for(let n of r)n.x=e,e+=n.w+t.nodeGap}X(o,t,"x")}function X(o,t,s){let i=e=>s==="y"?e.h:e.w,r=t.nodeGap;for(let e=0;e<2;e+=1){let n=e===0?o.layers.slice(1):o.layers.slice(0,-1).reverse();for(let a of n){let l=new Map;for(let u of a){let f=e===0?u.in:u.out;if(f.length===0)continue;let d=[];for(let p of f){let y=o.nodes.get(e===0?p.fromId:p.toId);if(!y)continue;let m=s==="y"?y.y:y.x;d.push(m+Math.floor(i(y)/2))}if(d.length===0)continue;d.sort((p,y)=>p-y);let h=d[Math.floor(d.length/2)];l.set(u.id,h-Math.floor(i(u)/2))}let c=0;for(let u of a){let f=l.get(u.id),d=s==="y"?u.y:u.x,p=Math.max(f??d,c);s==="y"?u.y=p:u.x=p,c=p+i(u)+r}}}}function xo(o,t){let s=new Map;for(let c of o.hops){let u=s.get(c.chainId);u?u.push(c):s.set(c.chainId,[c])}for(let c of s.values())c.sort((u,f)=>u.hopIndex-f.hopIndex);let i=t.direction==="LR",r=c=>i?c.x:c.y,e=c=>i?c.w:c.h,n=c=>i?c.y+Math.floor(c.h/2):c.x+Math.floor(c.w/2),a=new Map;for(let c=0;c+1<o.layers.length;c+=1){let u=o.layers[c],f=o.layers[c+1],d=0;for(let g of u)d=Math.max(d,r(g)+e(g));let h=Number.POSITIVE_INFINITY;for(let g of f)h=Math.min(h,r(g));let p=Number.isFinite(h)?h-1:d,y=Math.max(1,p-d+1),m=[];for(let g of u)for(let b of g.out)m.push(b);m.sort((g,b)=>{let x=n(o.nodes.get(g.fromId)),L=n(o.nodes.get(b.fromId));if(x!==L)return x-L;let O=n(o.nodes.get(g.toId)),M=n(o.nodes.get(b.toId));return O-M});let D=[],C=new Map;for(let g of m){let b=n(o.nodes.get(g.fromId)),x=n(o.nodes.get(g.toId)),L=Math.min(b,x),O=Math.max(b,x),M=-1;for(let R=0;R<D.length;R+=1){let j=D[R],N=!0;for(let V of j)if(V.lo<=O&&L<=V.hi){N=!1;break}if(N){j.push({lo:L,hi:O}),M=R;break}}M<0&&(D.push([{lo:L,hi:O}]),M=D.length-1),C.set(g,M)}let I=D.length,T=y>=Math.max(3,I+2),P=T?d+1:d,ro=T?p-1:p,$=Math.max(1,ro-P+1);for(let g of m){let b=C.get(g),x;if(I<=1)x=P+Math.floor($/2);else{let L=($-1)/(I-1);x=P+Math.floor(b*L)}a.set(g,Math.max(d,Math.min(p,x)))}}let l=[];for(let[,c]of s){let u=[];for(let d=0;d<c.length;d+=1){let h=c[d],p=o.nodes.get(h.fromId),y=o.nodes.get(h.toId),m=a.get(h),D=p.isVirtual?r(p):r(p)+e(p),C=y.isVirtual?r(y):r(y)-1,I=n(p),T=n(y);d===0&&v(u,i,D,I),I!==T&&(v(u,i,m,I),v(u,i,m,T)),v(u,i,C,T)}let f=c[0];l.push({from:f.chainFrom,to:f.chainTo,points:Lo(u)})}return l}function v(o,t,s,i){o.push(t?{x:s,y:i}:{x:i,y:s})}function Lo(o){let t=[];for(let s of o){let i=t[t.length-1];(!i||i.x!==s.x||i.y!==s.y)&&t.push(s)}return t}function wo(o){let t=0,s=0;for(let i of o.layers)for(let r of i)t=Math.max(t,r.x+r.w),s=Math.max(s,r.y+r.h);return{width:t,height:s}}var Do=24,Io=4,To=1,Mo=3;function Oo(o,t){let s=Co(t?.direction),i=Math.max(3,t?.maxLabelWidth??Do),r=t?.asciiCharset??"unicode",e=Object.keys(o.nodes).sort(),n=new Set(e),a=o.edges.filter(d=>n.has(d.from)&&n.has(d.to)),l=new Map,c=new Map;for(let d of e){let h=_(d,i);l.set(d,h),c.set(d,S(h)+4)}let u=Y({nodes:e,edges:a,widthCells:d=>c.get(d)??3,heightCells:()=>Mo,layerGap:Io,nodeGap:To,direction:s}),f=F(u,{charset:r,labelOf:d=>l.get(d)??d});return t?.logger?.(f),f}function Co(o){if(o===void 0||o==="LR")return"LR";if(o==="TD")return"TD";throw new Error(`ascii describe supports direction "LR" or "TD" only; got ${String(o)}`)}function E(o){if(o===null||typeof o!="object")return o;if(Array.isArray(o))return o.map(E);let t=o,s=Object.keys(t).sort(),i={};for(let r of s)i[r]=E(t[r]);return i}function q(o){return o.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Q(o){return o.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Z(o){return o==="TD"?"down":o==="BT"?"up":o==="RL"?"left":"right"}function A(o){let t=new Set,s=[];function i(r,e){let n=`${r}\0${e}`;t.has(n)||(t.add(n),s.push([r,e]))}for(let[r,e]of Object.entries(o.nodes)){let n=e.deps;if(n)for(let a of n)i(a,r)}for(let r of o.edges)i(r.from,r.to);return s}function B(o){if(o===void 0)return"LR";if(o==="TD"||o==="LR"||o==="BT"||o==="RL")return o;throw new Error(`invalid diagram direction ${String(o)}; expected one of: TD, LR, BT, RL`)}function oo(o){if(typeof o=="string")return JSON.stringify(o);if(typeof o=="number"||typeof o=="boolean"||o==null)return String(o);try{return JSON.stringify(o)}catch{return"[unserializable]"}}function Ro(o,t){let s=B(t?.direction),i=Object.keys(o.nodes).sort(),r=new Map;for(let n=0;n<i.length;n+=1)r.set(i[n],`n${n}`);let e=[`direction: ${Z(s)}`];for(let n of i){let a=r.get(n);e.push(`${a}: "${Q(n)}"`)}for(let[n,a]of A(o)){let l=r.get(n),c=r.get(a);!l||!c||e.push(`${l} -> ${c}`)}return e.join(`
|
|
3
|
-
`)}function So(o,t){let s=t?.includeEdges??!0,i=t?.includeSubgraphs??!0,{expand:r,...e}=o,n={...e,edges:s?o.edges:[],subgraphs:i?o.subgraphs:[]},a=JSON.stringify(E(n),null,t?.indent??2);return t?.logger?.(a),a}function H(o,t){let s=B(t?.direction),i=Object.keys(o.nodes).sort(),r=new Map;for(let n=0;n<i.length;n+=1)r.set(i[n],`n${n}`);let e=[`flowchart ${s}`];for(let n of i){let a=r.get(n);e.push(` ${a}["${q(n)}"]`)}for(let[n,a]of A(o)){let l=r.get(n),c=r.get(a);!l||!c||e.push(` ${l} --> ${c}`)}return e.join(`
|
|
4
|
-
`)}function eo(o,t){let s=t?.theme??"default",i=t?.autoSync??!0,e=JSON.stringify({code:o,mermaid:{theme:s},autoSync:i}),n=new TextEncoder().encode(e),a="";for(let c=0;c<n.length;c++)a+=String.fromCharCode(n[c]);return`https://mermaid.live/edit#base64:${globalThis.btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}`}function Go(o,t){let s=H(o,t);return eo(s,t)}function vo(o,t){let s=t?.includeEdges??!0,i=t?.includeSubgraphs??!0,r=[];r.push(`Graph ${o.name}`),r.push("Nodes:");for(let n of Object.keys(o.nodes).sort()){let a=o.nodes[n];r.push(`- ${n} (${a.type}/${a.status}): ${oo(a.value)}`)}if(s){r.push("Edges:");for(let n of o.edges)r.push(`- ${n.from} -> ${n.to}`)}if(i){r.push("Subgraphs:");for(let n of o.subgraphs)r.push(`- ${n}`)}let e=r.join(`
|
|
5
|
-
`);return t?.logger?.(e),e}export{Oo as a,Ro as b,So as c,H as d,eo as e,Go as f,vo as g};
|
package/dist/chunk-3XDYJRYU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as B,d as G,f as v,h as W}from"./chunk-FDQGFWLF.js";import{a as L}from"./chunk-L6NSJVJZ.js";import{j as I}from"./chunk-626TESAC.js";import{b as D}from"./chunk-35JTVPOX.js";import{b as U}from"./chunk-KGKJCHEK.js";import{b as K}from"./chunk-TZQPPQEQ.js";import{b as Q}from"./chunk-JQFH2DV6.js";import{C as _,m as z}from"./chunk-V5A7M7RJ.js";import{D as P,G as N,m as f,p as $}from"./chunk-LYCLF26R.js";import{b as x,j as S}from"./chunk-CK2E7BTU.js";import{b as ee}from"./chunk-QYADASLV.js";var re={};ee(re,{JobFlowGraph:()=>w,JobQueueGraph:()=>y,jobEventKeyOf:()=>oe,jobFlow:()=>se,jobQueue:()=>V});var te=256,ne=1024;function F(p,e){if(!Number.isFinite(p)||!Number.isInteger(p)||p<0)throw new Error(`${e} must be a non-negative integer`);return p}function T(p,e){return L("job_queue",p,e)}var oe=p=>p.action,y=class extends I{_pending;_jobs;_seqCursor;pending;jobs;depth;events;audit;_enqueueImpl;_ackImpl;_nackImpl;_removeByIdImpl;constructor(e,n={}){super(e,n.graph),this._pending=U([],{name:"pending"}),this._jobs=K({name:"jobs"}),this.pending=this._pending.items,this.jobs=this._jobs.entries,this.add(this.pending,{name:"pending"}),this.add(this.jobs,{name:"jobs"}),this.depth=N([this.pending],([t])=>t.length,{name:"depth",describeKind:"derived",meta:T("queue_depth"),initial:0}),this.add(this.depth,{name:"depth"}),this.addDisposer(_(this.depth)),this.events=B({name:"events",retainedLimit:1024,graph:this}),this.audit=this.events,this._seqCursor=W(this,"seq",0),this._enqueueImpl=v((t,o)=>{let a=this._seqCursor.cache,s=o.id??`${this.name}-${a}`;if(this._jobs.get(s)!==void 0)throw new Error(`jobQueue("${this.name}"): duplicate job id "${s}"`);let u={id:s,payload:t,attempts:0,metadata:Object.freeze({...o.metadata??{}}),state:"queued"};return this._jobs.set(s,u),this._pending.append(s),s},{audit:this.events,seq:this._seqCursor,freeze:!1,onSuccess:([t],o,{t_ns:a,seq:s})=>({action:"enqueue",id:o,payload:t,t_ns:a,seq:s??0})}),this._ackImpl=v((t,o)=>{this._jobs.delete(t)},{audit:this.events,seq:this._seqCursor,freeze:!1,onSuccess:([t,o],a,{t_ns:s,seq:u})=>({action:"ack",id:t,attempts:o.attempts,t_ns:s,seq:u??0})}),this._nackImpl=v((t,o,a)=>{a?(this._jobs.set(t,{...o,state:"queued"}),this._pending.append(t)):this._jobs.delete(t)},{audit:this.events,seq:this._seqCursor,freeze:!1,onSuccess:([t,o],a,{t_ns:s,seq:u})=>({action:"nack",id:t,attempts:o.attempts,t_ns:s,seq:u??0})}),this._removeByIdImpl=v((t,o)=>{if(o.state==="queued"){let s=this.pending.cache.indexOf(t);s>=0&&this._pending.pop(s)}this._jobs.delete(t)},{audit:this.events,seq:this._seqCursor,freeze:!1,onSuccess:([t,o],a,{t_ns:s,seq:u})=>({action:"remove",id:t,attempts:o.attempts,t_ns:s,seq:u??0})})}attachEventStorage(e){return this.events.attachStorage(e)}enqueue(e,n={}){return this._enqueueImpl(e,n)}claim(e=1){let n=F(e,"job queue claim limit");if(n===0)return[];let t=[];for(;t.length<n&&this.pending.cache.length!==0;){let a=this._pending.pop(0),s=this._jobs.get(a);if(!s||s.state!=="queued")continue;let u={...s,state:"inflight",attempts:s.attempts+1};this._jobs.set(a,u),t.push(u),this.events.append({action:"claim",id:a,attempts:u.attempts,t_ns:$(),seq:G(this._seqCursor)})}return t}ack(e){let n=this._jobs.get(e);return!n||n.state!=="inflight"?!1:(this._ackImpl(e,n),!0)}nack(e,n={}){let t=this._jobs.get(e);return!t||t.state!=="inflight"?!1:(this._nackImpl(e,t,n.requeue??!0),!0)}removeById(e){let n=this._jobs.get(e);return n?(this._removeByIdImpl(e,n),!0):!1}consumeFrom(e,n){return e.subscribe(t=>{for(let o of t){if(o[0]!==x)continue;let a=o[1];this.enqueue(a,n?{metadata:n.metadata}:void 0)}})}},w=class extends I{_stageNames;_stageWorkFns;_queues=new Map;_completed;completed;completedCount;constructor(e,n={}){super(e,n.graph);let t=n.stages??["incoming","processing","done"],o=[],a=new Map,s=new Map;for(let r of t){let i=typeof r=="string"?r.trim():r.name.trim();typeof r!="string"&&r.work&&a.set(i,r.work),typeof r!="string"&&r.maxPerPump!=null&&s.set(i,Math.max(1,F(r.maxPerPump,`job flow stage "${i}" maxPerPump`))),o.push(i)}if(o.length<2)throw new Error(`jobFlow("${e}"): requires at least 2 stages`);if(new Set(o).size!==o.length)throw new Error(`jobFlow("${e}"): stage names must be unique`);this._stageNames=Object.freeze([...o]),this._stageWorkFns=a;for(let r of this._stageNames){let i=V(`${e}-${r}`);this._queues.set(r,i),this.mount(r,i)}this._completed=Q([],{name:"completed",maxSize:ne}),this.completed=this._completed.entries,this.add(this.completed,{name:"completed"}),this.completedCount=N([this.completed],([r])=>r.length,{name:"completedCount",describeKind:"derived",meta:T("job_flow_completed_count"),initial:0}),this.add(this.completedCount,{name:"completedCount"}),this.addDisposer(_(this.completedCount));let X=Math.max(1,F(n.maxPerPump??te,"job flow maxPerPump"));for(let r=0;r<this._stageNames.length;r+=1){let i=this._stageNames[r],l=this.queue(i),j=r+1<this._stageNames.length?this.queue(this._stageNames[r+1]):null,R=this._stageWorkFns.get(i),C=s.get(i)??X,M=j===null;if(R){let h=P([l.pending],()=>{let c=0;for(;c<C;){let g=l.claim(1);if(g.length===0)break;let d=g[0];if(!d)break;let q=[...d.metadata.job_flow_path??[],i],b;try{b=R(d)}catch{l.nack(d.id,{requeue:!1}),c+=1;continue}let k=z(b),E=!1,m;m=k.subscribe(Y=>{if(!E){for(let J of Y)if(J[0]===x){E=!0,m?m():Promise.resolve().then(()=>m?.());let A=J[1],O={...d.metadata,job_flow_path:q};if(M){let Z={...d,payload:A,metadata:Object.freeze(O)};f(()=>{l.ack(d.id),this._completed.append(Z)})}else f(()=>{l.ack(d.id),j.enqueue(A,{metadata:O})});return}else if(J[0]===S){E=!0,m?m():Promise.resolve().then(()=>m?.()),l.nack(d.id,{requeue:!1});return}}}),c+=1}},{name:`pump_${i}`,describeKind:"effect",meta:T("job_flow_pump",{stage:i,has_work:!0})});this.add(h,{name:`pump_${i}`}),this.addDisposer(_(h))}else{let h=P([l.pending],()=>{let c=0;for(;c<C;){let g=l.claim(1);if(g.length===0)break;let d=g[0];if(!d)break;let q=[...d.metadata.job_flow_path??[],i],b={...d.metadata,job_flow_path:q};if(M){let k={...d,metadata:Object.freeze(b)};f(()=>{l.ack(d.id),this._completed.append(k)})}else f(()=>{l.ack(d.id),j.enqueue(d.payload,{metadata:b})});c+=1}},{name:`pump_${i}`,describeKind:"effect",meta:T("job_flow_pump",{stage:i,has_work:!1})});this.add(h,{name:`pump_${i}`}),this.addDisposer(_(h))}}}stages(){return this._stageNames}queue(e){let n=this._queues.get(e);if(!n)throw new Error(`jobFlow("${this.name}"): unknown stage "${e}"`);return n}enqueue(e,n={}){return this.queue(this._stageNames[0]).enqueue(e,n)}retainedCompleted(){return this.completed.cache}};function V(p,e){return new y(p,e)}function se(p,e){let n=new w(p,e),{factory:t,factoryArgs:o,...a}=e??{};return n.tagFactory("jobFlow",D(a)),n}export{oe as a,y as b,w as c,V as d,se as e,re as f};
|
package/dist/chunk-4I45FVQS.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as w,b as U,c as K}from"./chunk-35JTVPOX.js";import{A as b,B as F,C as H,D as G,E as h,F as k,G as B,H as Y,I as v,J as P,K as W,i as q,j as z,k as g,m as S,n as C,o as I,p as M,q as _,r as u,s as J,t as Q,u as X,v as Z,w as L,x as m,y as x,z as V}from"./chunk-LYCLF26R.js";import{a as e,b as t,c as o,d as p,e as r,f as n,g as s,h as i,i as y,j as a,k as d,l as c,m as N,n as T,o as E,p as O,q as l,r as A,s as D,t as f,u as R}from"./chunk-CK2E7BTU.js";import{b as j}from"./chunk-QYADASLV.js";var $={};j($,{COMPLETE:()=>y,COMPLETE_MSG:()=>E,COMPLETE_ONLY_BATCH:()=>f,DATA:()=>t,DEFAULT_ACTOR:()=>q,DIRTY:()=>o,DIRTY_MSG:()=>d,DIRTY_ONLY_BATCH:()=>l,ERROR:()=>a,GraphReFlyConfig:()=>_,GuardDenied:()=>J,INVALIDATE:()=>r,INVALIDATE_MSG:()=>N,INVALIDATE_ONLY_BATCH:()=>D,NodeImpl:()=>H,PAUSE:()=>n,RESOLVED:()=>p,RESOLVED_MSG:()=>c,RESOLVED_ONLY_BATCH:()=>A,RESUME:()=>s,START:()=>e,START_MSG:()=>T,TEARDOWN:()=>i,TEARDOWN_MSG:()=>O,TEARDOWN_ONLY_BATCH:()=>R,accessHintForGuard:()=>Z,advanceVersion:()=>x,autoTrackNode:()=>P,batch:()=>S,configure:()=>F,createVersioning:()=>m,defaultConfig:()=>b,defaultHash:()=>L,derived:()=>B,downWithBatch:()=>C,dynamicNode:()=>v,effect:()=>Y,factoryTag:()=>K,isBatching:()=>g,isV1:()=>V,monotonicNs:()=>I,node:()=>G,normalizeActor:()=>z,pipe:()=>W,placeholderArgs:()=>U,policy:()=>Q,policyFromRules:()=>X,producer:()=>k,registerBuiltins:()=>u,resolveDescribeFields:()=>w,state:()=>h,wallClockNs:()=>M});export{$ as a};
|
package/dist/chunk-4VVTGLXJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var E=1e6,k=1e9;function i(e){return e<0?0:e}function l(e,t){return t==="none"?e:t==="full"?Math.random()*e:e/2+Math.random()*(e/2)}function b(e,t){return e+Math.random()*(t-e)}function S(e){let t=i(e);return()=>t}function m(e,t){let n=i(e),o=t===void 0?n:i(t);return a=>n+o*Math.max(0,a)}function p(e){let t=i(e?.baseNs??1e8),n=e?.factor!==void 0&&e.factor<1?1:e?.factor??2,o=i(e?.maxDelayNs??30*1e9),a=e?.jitter??"none";return f=>{let r;if(t===0)r=0;else if(n===1)r=t;else{let c=o/t,u=1;for(let s=0;s<Math.max(0,f);s++){if(u>=c){u=c;break}u*=n}r=t*u,r>o&&(r=o)}return l(r,a)}}function x(e=100*1e6,t=30*1e9){let n=i(e),o=i(t);function a(f){if(f<=0)return 1;let r=1,c=2;for(let u=1;u<f;u++){let s=r+c;r=c,c=s}return c}return f=>{let r=a(f)*n;return r<=o?r:o}}function _(e=100*1e6,t=30*1e9){return(n,o,a)=>{let r=Math.min(t,(a??e)*3);return b(e,r)}}function d(e,t){return(n,o,a)=>n>=t?null:e(n,o,a)}function B(e){if(e==="constant")return S(1*1e9);if(e==="linear")return m(1*1e9);if(e==="exponential")return p();if(e==="fibonacci")return x();if(e==="decorrelatedJitter")return _();throw new Error(`Unknown backoff preset: "${String(e)}". Use one of: constant, linear, exponential, fibonacci, decorrelatedJitter`)}export{E as a,k as b,S as c,m as d,p as e,x as f,_ as g,d as h,B as i};
|
package/dist/chunk-4YAN45KM.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as _}from"./chunk-626TESAC.js";import{D as g,E as k}from"./chunk-LYCLF26R.js";import{b as R,c as T,d,h as A,i as O,j as D}from"./chunk-CK2E7BTU.js";function L(c,y,l,a){let s=new _(c,a);s.add(y,{name:"source"});let n=k(l,{meta:{kind:"stratify_rules"}});s.add(n,{name:"rules"});for(let f of l)E(s,y,n,f);return s}function E(c,y,l,a){let s=`branch/${a.name}`,n=Symbol("noValue"),f=!1,m=!1,p=!1,N=n,r=!1,h=l.cache??[];function v(o){if(p){p=!1;let t=N;if(N=n,t!==n){let i=h.find(u=>u.name===a.name),e=!1;try{e=i?.classify(t)??!1}catch{e=!1}e?(r=!1,o.emit(t)):r&&(r=!1,o.down([[T],[d]]))}else r?(r=!1,o.down([[T],[d]])):o.down([[d]])}}let S=g([],(o,t)=>{let i=y.subscribe(u=>{for(let b of u)w(b,0,t)}),e=l.subscribe(u=>{for(let b of u)w(b,1,t)});return()=>{i(),e()}},{describeKind:"derived",meta:{kind:"stratify_branch",branch:a.name},completeWhenDepsComplete:!1});function w(o,t,i){let e=o[0];return e===T?(t===0?(f=!0,r=!0):m=!0,!0):e===R||e===d?(t===0?(f=!1,p=!0,N=e===R?o[1]:n):(e===R&&(h=o[1]),m=!1),f||m||v(i),!0):e===O||e===D||e===A?(f=!1,m=!1,p=!1,N=n,r=!1,t===0&&i.down([o]),!0):t===1}if(c.add(S,{name:s}),a.ops){let o=a.ops(S),t=`branch/${a.name}/out`;c.add(o,{name:t})}}export{L as a};
|
package/dist/chunk-5QDBSZBV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as i,f,g as s,i as l,j as u}from"./chunk-CK2E7BTU.js";import{Observable as b}from"rxjs";function g(a,t){return t?.raw?new b(e=>a.subscribe(r=>{if(!e.closed){e.next(r);for(let o of r){if(o[0]===u){e.error(o[1]);return}if(o[0]===l){e.complete();return}}}})):new b(e=>a.subscribe(r=>{for(let o of r){if(e.closed)return;if(o[0]===i)e.next(o[1]);else if(o[0]===u){e.error(o[1]);return}else if(o[0]===l){e.complete();return}}}))}var p=0;function O(a,t){if(t.highWaterMark<1)throw new RangeError("highWaterMark must be >= 1");if(t.lowWaterMark<0)throw new RangeError("lowWaterMark must be >= 0");if(t.lowWaterMark>=t.highWaterMark)throw new RangeError("lowWaterMark must be < highWaterMark");let e=Symbol(`bp-${++p}`),n=0,r=!1;return{onEnqueue(){return n+=1,!r&&n>=t.highWaterMark?(r=!0,a([[f,e]]),!0):!1},onDequeue(){return n>0&&(n-=1),r&&n<=t.lowWaterMark?(r=!1,a([[s,e]]),!0):!1},get pending(){return n},get paused(){return r},dispose(){r&&(r=!1,a([[s,e]]))}}}export{g as a,O as b};
|
package/dist/chunk-626TESAC.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as Me}from"./chunk-ESMPEKEV.js";import{a as ye,d as we}from"./chunk-35JTVPOX.js";import{C as re}from"./chunk-V5A7M7RJ.js";import{A as me,C as M,E as Z,F as be,G as ve,e as xe,f as $e,i as Q,k as Ae,l as ne,m as Te,o as L,p as Pe,s as U}from"./chunk-LYCLF26R.js";import{b as q,c as pe,d as fe,e as te,f as he,g as ge,h as B,i as H,j as W}from"./chunk-CK2E7BTU.js";var A={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},Xe=Symbol.for("sizeof");function je(o){let e=new WeakSet,t=new WeakSet,n=[o],s=0;for(;n.length>0;){let r=n.pop();s+=et(r,e,t,n)}return s}function et(o,e,t,n){if(o==null)return 0;switch(typeof o){case"number":return A.number;case"boolean":return A.boolean;case"string":return A.string+o.length*2;case"bigint":return A.bigint+tt(o);case"symbol":return A.symbol;case"function":return e.has(o)?0:(e.add(o),A.function);case"undefined":return 0}let r=o;if(e.has(r))return 0;e.add(r);let i=r[Xe];if(typeof i=="function")try{let a=i.call(r);if(typeof a=="number"&&Number.isFinite(a))return a}catch{}if(r instanceof Date)return A.date;if(r instanceof RegExp)return A.regexp+r.source.length*2;if(r instanceof Error){let a=r.message?r.message.length*2:0,p=r.stack?r.stack.length*2:0;return A.error+a+p}if(typeof URL<"u"&&r instanceof URL)return A.url+r.href.length*2;if(typeof Promise<"u"&&r instanceof Promise)return A.promise;if(r instanceof WeakMap)return A.weakmap;if(r instanceof WeakSet)return A.weakset;if(r instanceof Map){let a=A.map;for(let[p,g]of r)a+=A.mapEntry,n.push(p),n.push(g);return a}if(r instanceof Set){let a=A.set;for(let p of r)a+=A.setEntry,n.push(p);return a}if(Array.isArray(r)){let a=A.array+r.length*8;for(let p of r)n.push(p);return a}if(r instanceof ArrayBuffer)return t.has(r)?0:(t.add(r),r.byteLength);if(ArrayBuffer.isView(r)){let a=r;return t.has(a.buffer)?48:(t.add(a.buffer),a.buffer.byteLength+48)}let c=A.object,d=Object.keys(r);for(let a of d){c+=A.string+a.length*2;try{n.push(r[a])}catch{}}return c}function tt(o){let e=o<0n?-o:o;if(e===0n)return 0;let t=e.toString(2).length;return Math.ceil(t/32)*8}function Fe(o,e,t,n={}){let s=e in o.nodes,r=t in o.nodes;if(!s)return se(e,t,"no-such-from");if(!r)return se(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 a=nt(o,e,n);if(a!=null)return a}let d=oe(e,o.nodes[e],0,n);return ie(e,t,[d])}if(i===0)return se(e,t,"no-path");let c=Ie(o,e,t,i);return c.found?ie(e,t,ze(o,c.pathOrder,n)):se(e,t,c.truncated?"max-depth-exceeded":"no-path")}function Ie(o,e,t,n){let s=new Map,r=[{path:t,depth:0}],i=new Set([t]),c=0,d=!1;for(;c<r.length;){let g=r[c++];if(g.path===e)break;if(n!=null&&g.depth>=n){let y=o.nodes[g.path];y?.deps&&y.deps.length>0&&(d=!0);continue}let h=o.nodes[g.path];if(h==null)continue;let f=h.deps??[],u=new Map;for(let y=0;y<f.length;y++){let l=f[y];if(!l)continue;let O=u.get(l);O==null&&(O=[],u.set(l,O)),O.push(y)}for(let[y,l]of u)i.has(y)||(i.add(y),s.set(y,{from:g.path,depIndices:l}),r.push({path:y,depth:g.depth+1}))}if(!s.has(e))return{found:!1,pathOrder:[],truncated:d};let a=[{path:e}],p=e;for(;p!==t;){let g=s.get(p);if(g==null)return{found:!1,pathOrder:[],truncated:!1};a[a.length-1].depIndices=g.depIndices,a.push({path:g.from}),p=g.from}return{found:!0,pathOrder:a,truncated:!1}}function nt(o,e,t){let n=o.nodes[e];if(n==null)return null;let s=n.deps??[],r=[];for(let c=0;c<s.length;c++)s[c]===e&&r.push(c);if(r.length>0){let c=oe(e,n,0,t);c.dep_index=r[0];let d=oe(e,n,1,t);return ie(e,e,[c,d])}let i=null;for(let c=0;c<s.length;c++){let d=s[c];if(!d||d===e)continue;let a=Ie(o,d,e,t.maxDepth);a.found&&(i==null||a.pathOrder.length<i.pathOrder.length)&&(i=a,i={found:!0,pathOrder:[{path:e,depIndices:[c]},...a.pathOrder],truncated:!1})}return i==null?null:ie(e,e,ze(o,i.pathOrder,t))}function ze(o,e,t){return e.map((n,s)=>{let r=o.nodes[n.path],i=oe(n.path,r,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 oe(o,e,t,n){let s={path:o,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 r=n.annotations?.get(o)??e.annotation;r!=null&&(s.annotation=r);let i=n.lastMutations?.get(o)??e.lastMutation;return i!=null&&(s.lastMutation=i),s}function ie(o,e,t){return Be(o,e,!0,"ok",t)}function se(o,e,t){return Be(o,e,!1,t,[])}function Be(o,e,t,n,s){let r=rt(o,e,t,n,s);return{from:o,to:e,found:t,reason:n,steps:s,text:r,toJSON(){return{from:o,to:e,found:t,reason:n,steps:s}}}}function rt(o,e,t,n,s){if(!t)switch(n){case"no-such-from":return`explainPath: no node named "${o}"`;case"no-such-to":return`explainPath: no node named "${e}"`;case"max-depth-exceeded":return`explainPath: no path from "${o}" to "${e}" within maxDepth`;default:return`explainPath: no path from "${o}" to "${e}"`}let r=[`Causal path: ${o} \u2192 ${e} (${s.length} step(s))`];for(let i of s){let d=` ${i.hop===0?"\xB7":"\u2193"} ${i.path} (${i.type}${i.status?`/${i.status}`:""})`;if(r.push(d),"value"in i&&r.push(` value: ${st(i.value)}`),i.annotation!=null&&r.push(` annotation: ${i.annotation}`),i.lastMutation!=null){let a=i.lastMutation.actor;r.push(` actor: ${a.type}${a.id?`:${a.id}`:""}`)}}return r.join(`
|
|
2
|
-
`)}function st(o){if(o===void 0)return"<sentinel>";if(o===null)return"null";if(typeof o=="string")return JSON.stringify(o);if(typeof o=="number"||typeof o=="boolean"||typeof o=="bigint")return String(o);try{let e=JSON.stringify(o);return e.length>80?`${e.slice(0,77)}...`:e}catch{return String(o)}}function Oe(o,e){if(Object.is(o,e))return!0;if(o==null||e==null||typeof o!="object"||typeof e!="object")return!1;if(Array.isArray(o)){if(!Array.isArray(e)||o.length!==e.length)return!1;for(let r=0;r<o.length;r++)if(!Oe(o[r],e[r]))return!1;return!0}if(Array.isArray(e))return!1;let t=Object.keys(o),n=Object.keys(e);if(t.length!==n.length)return!1;let s=new Set(n);for(let r of t)if(!s.has(r)||!Oe(o[r],e[r]))return!1;return!0}function Le(o,e){return`${o}\0${e}`}function _e(o,e){let t=[],n=new Set(o.subgraphs),s=new Set(e.subgraphs),r=[];for(let l of s)n.has(l)||r.push(l);r.sort();for(let l of r)t.push({type:"subgraph-mounted",path:l});let i=new Set(Object.keys(o.nodes)),c=new Set(Object.keys(e.nodes)),d=[];for(let l of c)i.has(l)||d.push(l);d.sort();for(let l of d)t.push({type:"node-added",path:l,node:{...e.nodes[l]}});let a=[];for(let l of c){if(!i.has(l))continue;let O=o.nodes[l]?.meta,m=e.nodes[l]?.meta;O==null&&m==null||Oe(O??{},m??{})||a.push(l)}a.sort();for(let l of a)t.push({type:"node-meta-changed",path:l,prevMeta:o.nodes[l]?.meta??{},nextMeta:e.nodes[l]?.meta??{}});let p=new Map;for(let l of o.edges)p.set(Le(l.from,l.to),l);let g=new Map;for(let l of e.edges)g.set(Le(l.from,l.to),l);let h=[];for(let[l,O]of g)p.has(l)||h.push(O);h.sort((l,O)=>l.from<O.from?-1:l.from>O.from?1:l.to<O.to?-1:l.to>O.to?1:0);for(let l of h)t.push({type:"edge-added",from:l.from,to:l.to});let f=[];for(let[l,O]of p)g.has(l)||f.push(O);f.sort((l,O)=>l.from<O.from?-1:l.from>O.from?1:l.to<O.to?-1:l.to>O.to?1:0);for(let l of f)t.push({type:"edge-removed",from:l.from,to:l.to});let u=[];for(let l of i)c.has(l)||u.push(l);u.sort();for(let l of u)t.push({type:"node-removed",path:l});let y=[];for(let l of n)s.has(l)||y.push(l);y.sort();for(let l of y)t.push({type:"subgraph-unmounted",path:l});return{events:t,flushedAt_ns:L()}}function Ve(o,e){let t=e?.topN??10,n=o.describe({detail:"standard"}),s=[],r=o._collectObserveTargets;typeof r=="function"&&r.call(o,"",s);let i=new Map;for(let[h,f]of s)i.set(h,f);let c=[];for(let[h,f]of Object.entries(n.nodes)){let u=i.get(h),y=u instanceof M?u:null,l=y?je(y.cache):0,O=y?y._sinkCount:0,m=f.deps?.length??0,b=f.type==="effect"&&O===0,v=O===0?f.type==="effect"?"orphan-effect":f.type==="derived"?"idle-derived":f.type==="producer"?"idle-producer":null:null;c.push({path:h,type:f.type,status:f.status??"unknown",valueSizeBytes:l,subscriberCount:O,depCount:m,isOrphanEffect:b,orphanKind:v})}let d=c.reduce((h,f)=>h+f.valueSizeBytes,0),a=(h,f)=>[...c].sort(f??((u,y)=>y[h]-u[h])).slice(0,t),p=c.filter(h=>h.orphanKind!=null),g=c.filter(h=>h.isOrphanEffect);return{nodeCount:c.length,edgeCount:n.edges.length,subgraphCount:n.subgraphs.length,nodes:c,totalValueSizeBytes:d,hotspots:{byValueSize:a("valueSizeBytes"),bySubscriberCount:a("subscriberCount"),byDepCount:a("depCount")},orphans:p,orphanEffects:g}}var X=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}};var x="::",z="__meta__",J=1;function qe(o,e){let t=Math.max(16,o.size*4),n=0;for(;o.size>0;){if(n++>=t){console.error(`[Graph "${e}".destroy] disposer drain exceeded cap (${t}); ${o.size} disposer(s) discarded`),o.clear();return}let s=o.values().next();if(s.done)return;let r=s.value;o.delete(r);try{r()}catch(i){console.error(`[Graph "${e}".destroy] disposer threw:`,i)}}}function Ye(o){return o!=null&&typeof o=="object"&&"cache"in o&&typeof o.subscribe=="function"&&typeof o.down=="function"}function ot(o){if(o!=null)return Ye(o)?o.cache:o}function K(o){return o!=null&&typeof o=="object"&&"cache"in o&&typeof o.subscribe=="function"&&typeof o.down=="function"}function V(o){return K(o)?o.cache??"":o}function Ke(o){return K(o)?o.cache??0:o}function He(o){return K(o)?o.cache??!1:o}function it(o){let e=[];for(let t of Object.keys(o).sort()){let n=o[t].v;n!=null&&e.push(`${t} ${n.id} ${n.version}`)}return e.join(`
|
|
3
|
-
`)}function We(o){if(o.version!==J)throw new Error(`unsupported snapshot version ${String(o.version)} (expected ${J})`);for(let e of["name","nodes","edges","subgraphs"])if(!(e in o))throw new Error(`snapshot missing required key "${e}"`);if(typeof o.name!="string")throw new TypeError("snapshot 'name' must be a string");if(typeof o.nodes!="object"||o.nodes===null||Array.isArray(o.nodes))throw new TypeError("snapshot 'nodes' must be an object");if(!Array.isArray(o.edges))throw new TypeError("snapshot 'edges' must be an array");if(!Array.isArray(o.subgraphs))throw new TypeError("snapshot 'subgraphs' must be an array")}function at(o,e){let t=new WeakMap,n=(s,r)=>{if(Object.is(s,r))return!0;if(s==null||r==null||typeof s!="object"||typeof r!="object")return!1;let i=t.get(s);if(i==null&&(i=new WeakSet,t.set(s,i)),i.has(r))return!0;i.add(r);let c=s.constructor,d=r.constructor;if(c!==d)return!1;if(s instanceof Date)return s.getTime()===r.getTime();if(s instanceof RegExp)return s.source===r.source&&s.flags===r.flags;if(Array.isArray(s)){let h=r;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=r;if(s.size!==h.size)return!1;for(let[f,u]of s)if(!h.has(f)||!n(u,h.get(f)))return!1;return!0}if(s instanceof Set){let h=r;if(s.size!==h.size)return!1;for(let f of s){let u=!1;for(let y of h)if(n(f,y)){u=!0;break}if(!u)return!1}return!0}if(ArrayBuffer.isView(s)){let h=s,f=r;if(h.length!==f.length)return!1;for(let u=0;u<h.length;u++)if(h[u]!==f[u])return!1;return!0}let a=Object.keys(s),p=Object.keys(r);if(a.length!==p.length)return!1;let g=new Set(p);for(let h of a)if(!g.has(h)||!n(s[h],r[h]))return!1;return!0};return n(o,e)}function ut(o){return o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ae(o){let e="^";for(let t=0;t<o.length;t+=1){let n=o[t];if(n==="*"){e+=".*";continue}if(n==="?"){e+=".";continue}if(n==="["){let s=o.indexOf("]",t+1);if(s<=t+1){e+="\\[";continue}let r=o.slice(t+1,s);r.startsWith("!")&&(r=`^${r.slice(1)}`),r=r.replace(/\\/g,"\\\\"),e+=`[${r}]`,t=s;continue}e+=ut(n)}return e+="$",new RegExp(e)}var ct={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"},dt={data:"",dirty:"",resolved:"",invalidate:"",pause:"",resume:"",complete:"",error:"",teardown:"",derived:"",path:"",reset:""};function Ee(o){if(typeof o=="string")return JSON.stringify(o);if(typeof o=="number"||typeof o=="boolean"||o==null)return String(o);try{return JSON.stringify(o)}catch{return"[unserializable]"}}function lt(o){return o==="none"?dt:o==="ansi"||o==null?ct:{data:o.data??"",dirty:o.dirty??"",resolved:o.resolved??"",invalidate:o.invalidate??"",pause:o.pause??"",resume:o.resume??"",complete:o.complete??"",error:o.error??"",teardown:o.teardown??"",derived:o.derived??"",path:o.path??"",reset:o.reset??""}}function Ue(o){if(o==null)return{};let e=o.detail;return e==="full"?{...o,structured:o.structured??!0,timeline:o.timeline??!0,causal:o.causal??!0,derived:o.derived??!0}:e==="minimal"?{...o,structured:o.structured??!0}:o.format==="stage-log"?{...o,structured:o.structured??!0,timeline:o.timeline??!0}:o}function pt(o,e,t){for(let n=0;n<o.length;n++){let s=o.charCodeAt(n);if(s<32||s===127)throw new Error(`Graph "${e}": ${t} "${o}" must not contain control character (U+${s.toString(16).padStart(4,"0").toUpperCase()} at index ${n})`)}}function ke(o,e,t){if(o==="")throw new Error(`Graph "${e}": ${t} name must be non-empty`);if(o.includes(x))throw new Error(`Graph "${e}": ${t} "${o}" must not contain '${x}' (path separator)`);if(o===z)throw new Error(`Graph "${e}": ${t} name "${z}" is reserved for meta companion paths`);pt(o,e,t)}function ft(o,e){if(o==="")throw new Error(`Graph "${e}": resolve path must be non-empty`);let t=o.split(x);for(let n of t)if(n==="")throw new Error(`Graph "${e}": resolve path has empty segment`);return t}function ht(o,e){let t=!1;for(let s of o)if(!e.isMetaPassthrough(s[0])){t=!0;break}return t?o.filter(s=>e.isMetaPassthrough(s[0])):o}function Qe(o){for(let e of o._mounts.values())Qe(e);for(let e of o._nodes.values())try{e.down([[B]],{internal:!0})}catch{}}var Se=class o{name;opts;config;_nodes=new Map;_nodeToName=new WeakMap;_mounts=new Map;_parent=void 0;_storageDisposers=new Set;_disposers=new Set;_destroyed=!1;_topology;_topologyEmitters=new Set;_factory;_factoryArgs;constructor(e,t){if(e==="")throw new Error("Graph name must be non-empty");if(e.includes(x))throw new Error(`Graph name must not contain '${x}' (got "${e}")`);if(e===z)throw new Error(`Graph name "${z}" is reserved for meta companion paths`);this.name=e,this.opts=Object.freeze({...t??{}}),this.config=t?.config??me,this._traceRing=new X(t?.traceCapacity??1e3),t?.versioning!=null&&this.setVersioning(t.versioning),typeof t?.factory=="string"&&(this._factory=t.factory,t.factoryArgs!==void 0&&(this._factoryArgs=t.factoryArgs))}tagFactory(e,t){return this._factory=e,this._factoryArgs=t,this}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=be(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)}nameOf(e){return this._nodeToName.get(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 r=s,i=t?.annotation;if(ke(r,this.name,"add"),this._mounts.has(r))throw new Error(`Graph "${this.name}": name "${r}" is already a mount point`);if(this._nodes.has(r))throw new Error(`Graph "${this.name}": node "${r}" already exists`);let c=this._nodeToName.get(e);if(c!==void 0)throw new Error(`Graph "${this.name}": node instance already registered as "${c}"`);return this._nodes.set(r,e),this._nodeToName.set(e,r),this._emitTopology({kind:"added",name:r,nodeKind:"node"}),i!=null&&(this._annotations.set(r,i),this.config.inspectorEnabled&&this._traceRing.push({path:r,annotation:i,timestamp_ns:L()})),e}setVersioning(e){if(e!=null)for(let t of this._nodes.values())t instanceof M&&t._applyVersioning(e)}remove(e){ke(e,this.name,"remove");let t=this._mounts.get(e);if(t){let r={kind:"mount",nodes:[],mounts:[]},i=[];t._collectObserveTargets("",i);for(let[c,d]of i)c.includes(`${x}${z}${x}`)||r.nodes.push(c);return r.nodes.sort(),r.mounts.push(e),r.mounts.push(...t._collectSubgraphs(`${e}${x}`)),this._mounts.delete(e),t._parent=void 0,Qe(t),this._emitTopology({kind:"removed",name:e,nodeKind:"mount",audit:r}),r}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([[B]],{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 r=ae(e);return i=>r.test(i)})(),n={kind:"mount",nodes:[],mounts:[]},s=[...this._nodes.keys(),...this._mounts.keys()].filter(r=>t(r));for(let r of s){let i=this.remove(r);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(x))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([[q,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,r]of n)this.set(s,r,t)})}invalidate(e,t){let n=t?.internal===!0;this.node(e).down([[te]],{actor:t?.actor,internal:n,delivery:"write"})}error(e,t,n){let s=n?.internal===!0;this.node(e).down([[W,t]],{actor:n?.actor,internal:s,delivery:"write"})}complete(e,t){let n=t?.internal===!0;this.node(e).down([[H]],{actor:t?.actor,internal:n,delivery:"write"})}edges(e){let t=e?.recursive===!0,n=new Map;if(!t){for(let[d,a]of this._nodes)n.set(a,d);let c=[];for(let[d,a]of this._nodes)if(a instanceof M)for(let p of a._deps){let g=n.get(p.node);g!=null&&c.push([g,d])}return c.sort((d,a)=>d[0]<a[0]?-1:d[0]>a[0]?1:d[1]<a[1]?-1:d[1]>a[1]?1:0),c}let s=[];this._collectObserveTargets("",s);let r=new Map;for(let[c,d]of s)r.set(d,c);let i=[];for(let[c,d]of s)if(d instanceof M)for(let a of d._deps){let p=r.get(a.node);p!=null&&i.push([p,c])}return i.sort((c,d)=>c[0]<d[0]?-1:c[0]>d[0]?1:c[1]<d[1]?-1:c[1]>d[1]?1:0),i}mount(e,t){if(t===void 0){let s=new o(e);return this.mount(e,s)}if(typeof t=="function"){let s=new o(e);return t(s),this.mount(e,s)}let n=t;if(ke(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(n===this)throw new Error(`Graph "${this.name}": cannot mount a graph into itself`);if(n._parent!=null)throw new Error(`Graph "${this.name}": this child graph is already mounted on "${n._parent.name}"`);for(let s=this;s!=null;s=s._parent)if(s===n)throw new Error(`Graph "${this.name}": mount("${e}", \u2026) would create a mount cycle`);return this._mounts.set(e,n),n._parent=this,this._emitTopology({kind:"added",name:e,nodeKind:"mount"}),n}resolve(e){let t=ft(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 c=this._nodes.get(n);if(c)return c;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 r=this._nodes.get(n);if(r&&s.length>0&&s[0]===z)return this._resolveMetaChainFromNode(r,s,t.join(x));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(x)}" is invalid`):new Error(`Graph "${this.name}": unknown mount or node "${n}"`);return i.resolve(s.join(x))}_resolveMetaChainFromNode(e,t,n){let s=e,r=0,i=[...t];for(;r<i.length;){if(i[r]!==z)throw new Error(`Graph "${this.name}": expected ${z} segment in meta path "${n}"`);if(r+1>=i.length)throw new Error(`Graph "${this.name}": meta path requires a key after ${z} in "${n}"`);let c=i[r+1],d=s.meta[c];if(!d)throw new Error(`Graph "${this.name}": unknown meta "${c}" in path "${n}"`);s=d,r+=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 d of this._mounts.values())d._signalDeliver(e,t,n,s);let i=t.internal===!0?{internal:!0}:{actor:t.actor,delivery:"signal"},c=ht(e,this.config);for(let d of[...this._nodes.keys()].sort()){let a=this._nodes.get(d);if(!n.has(a)){n.add(a);try{a.down(e,i)}catch(p){if(p instanceof U)throw p;s.push(p)}c.length!==0&&this._signalMetaSubtree(a,c,n,i,s)}}}_signalMetaSubtree(e,t,n,s,r){for(let i of Object.keys(e.meta).sort()){let c=e.meta[i];if(!n.has(c)){n.add(c);try{c.down(t,s)}catch(d){if(d instanceof U)throw d;r.push(d)}this._signalMetaSubtree(c,t,n,s,r)}}}describe(e){if(e?.reactive==="diff")return this._describeReactiveDiff(e);if(e?.reactive===!0)return this._describeReactive(e);let t=ot(e?.actor),n=e?.filter;if(e?.detail!=null&&e?.fields!=null)throw new TypeError("Graph.describe(): pass either `detail` or `fields`, not both. `detail: 'spec'` is the canonical spec projection; use `fields` only when you need a custom subset.");let s=ye(e?.detail,e?.fields),r=e?.detail==="spec",i=s,c=[];this._collectObserveTargets("",c);let d=new Map;for(let[v,w]of c)d.set(w,v);let a=[];{let v=c.map(([,S])=>S),w=new Set(d.values()),E=0;for(;v.length>0;){let S=v.shift();if(S instanceof M)for(let R of S._deps){let G=R.node;if(d.has(G))continue;let D=G.name??"",k=D;if(!k||w.has(k))if(D){let I=2;for(;w.has(`${D}#${I}`);)I++;k=`${D}#${I}`}else for(k=`__internal__/${E++}`;w.has(k);)k=`__internal__/${E++}`;d.set(G,k),w.add(k),a.push([k,G]),v.push(G)}}}let p=[...c,...a],g={};for(let[v,w]of p){if(t!=null&&!w.allowsObserve(t))continue;let E=we(w,i,r),S=w instanceof M?w._deps.map(k=>d.get(k.node)??k.node.name??""):[],{name:R,...G}=E,D={...G,deps:S};if(!r){let k=this._annotations.get(v);k!=null&&(D.annotation=k)}if(n!=null)if(typeof n=="function"){let k=n;if(!(k.length>=2?k(v,D):k(D)))continue}else{let k=!0;for(let[I,T]of Object.entries(n)){let $=I==="deps_includes"?"depsIncludes":I==="meta_has"?"metaHas":I;if($==="depsIncludes"){if(!D.deps.includes(String(T))){k=!1;break}continue}if($==="metaHas"){if(!Object.hasOwn(D.meta??{},String(T))){k=!1;break}continue}if(D[$]!==T){k=!1;break}}if(!k)continue}g[v]=D}let h=new Set(Object.keys(g)),f=[];for(let[v,w]of p)if(w instanceof M)for(let E of w._deps){let S=d.get(E.node);S!=null&&f.push([S,v])}f.sort((v,w)=>v[0]<w[0]?-1:v[0]>w[0]?1:v[1]<w[1]?-1:v[1]>w[1]?1:0);let u=f.map(([v,w])=>({from:v,to:w}));(t!=null||n!=null)&&(u=u.filter(v=>h.has(v.from)&&h.has(v.to)));let y=this._collectSubgraphs(""),l=t!=null||n!=null?y.filter(v=>{let w=`${v}${x}`;return[...h].some(E=>E===v||E.startsWith(w))}):y,O=this,m=e;return{name:this.name,nodes:g,edges:u,subgraphs:l,...this._factory!==void 0?{factory:this._factory}:{},...this._factoryArgs!==void 0?{factoryArgs:this._factoryArgs}:{},expand(v){let w={...m};return Array.isArray(v)?(w.fields=v,w.detail=void 0):(w.detail=v,w.fields=void 0),O.describe(w)}}}_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}${x}`))}return t}resourceProfile(e){return Ve(this,e)}reachable(e,t,n={}){return n.withDetail===!0?Je(this.describe(),e,t,{...n,withDetail:!0}):Je(this.describe(),e,t,n)}explain(e,t,n){return n?.reactive===!0?this._explainReactive(e,t,n):this._explainStatic(V(e),V(t),{...n?.maxDepth!==void 0?{maxDepth:Ke(n.maxDepth)}:{},...n?.findCycle!==void 0?{findCycle:He(n.findCycle)}:{}})}_explainStatic(e,t,n){let s=this.describe({detail:"full"}),r=new Map(this._annotations),i=new Map;for(let[c,d]of Object.entries(s.nodes))d.lastMutation!=null&&i.set(c,d.lastMutation);return Fe(s,e,t,{...n?.maxDepth!=null?{maxDepth:n.maxDepth}:{},...n?.findCycle===!0?{findCycle:!0}:{},annotations:r,lastMutations:i})}_describeReactive(e){let t={...e,reactive:!1},n=e.reactiveName??"describe",s=0,r=Z(s,{name:`${n}_version`}),i=this.observe({timeline:!0,structured:!0}),c=!1,d=!1,a=()=>{c||d||(c=!0,ne(()=>{c=!1,!d&&(s+=1,r.emit(s))}))},p=i.onEvent(m=>{let b=m.type;b!=="data"&&b!=="error"&&b!=="complete"&&b!=="teardown"||a()}),g=[],h=new WeakSet,f=m=>{if(h.has(m)||d)return;h.add(m);let b=m.topology.subscribe(v=>{for(let w of v){if(w[0]!==q)continue;let E=w[1];if(a(),E.kind==="added"&&E.nodeKind==="mount"){let S=m._mounts.get(E.name);S!=null&&f(S)}}});g.push(b);for(let v of m._mounts.keys()){let w=m._mounts.get(v);w!=null&&f(w)}};f(this);let u,y=e.actor;Ye(y)&&(u=y.subscribe(m=>{let b=!1,v=!1;for(let w of m){let E=w[0];E===q?b=!0:(E===H||E===W||E===B)&&(v=!0)}b&&a(),v&&(u?.(),u=void 0,a())}));let l;try{l=ve([r],()=>this.describe(t),{name:n,describeKind:"derived",meta:{domain:"audit",kind:"describe"},equals:(m,b)=>m===b})}catch(m){p(),u?.();for(let b of g)b();throw i.dispose(),m}let O=re(l);return{node:l,dispose(){d=!0,p(),u?.();for(let m of g)m();g.length=0,i.dispose(),O()}}}_describeReactiveDiff(e){let t={...e,reactive:!1},n=e.reactiveName??"describe-diff",s={name:this.name,nodes:{},edges:[],subgraphs:[]},r=this.describe(t),i=_e(s,r),c=Z(i,{name:n,meta:{domain:"audit",kind:"describe-diff"},equals:(h,f)=>h===f}),d=this._describeReactive({...e,reactiveName:void 0}),a=!1,p=d.node.subscribe(h=>{if(!a)for(let f of h){if(f[0]!==q)continue;let u=f[1],y=_e(r,u);r=u,y.events.length!==0&&c.emit(y)}}),g=re(c);return{node:c,dispose(){a=!0,p(),d.dispose(),c.down([[B,"describe-diff disposed"]]),g()}}}_explainReactive(e,t,n){let s=0,r=Z(s,{name:"explain_version"}),i=this.observe({timeline:!0,structured:!0}),c=!1,d=!1,a=()=>{c||d||(c=!0,ne(()=>{c=!1,!d&&(s+=1,r.emit(s))}))},p=i.onEvent(m=>{let b=m.type;b!=="data"&&b!=="error"&&b!=="complete"&&b!=="teardown"||a()}),g=[];e!=null&&K(e)&&g.push(e),t!=null&&K(t)&&g.push(t),n?.maxDepth!=null&&K(n.maxDepth)&&g.push(n.maxDepth),n?.findCycle!=null&&K(n.findCycle)&&g.push(n.findCycle);let h=()=>{for(let m of g)if(m.cache===void 0)return!1;return!0},f=()=>{let m=V(e),b=V(t);return{from:m,to:b,found:!1,reason:"pending",steps:[],text:"(awaiting reactive args)",toJSON:()=>({from:m,to:b,found:!1,reason:"pending",steps:[]})}},u;try{u=ve([r],()=>{if(!h())return f();let m=V(e),b=V(t),v={...n?.maxDepth!==void 0?{maxDepth:Ke(n.maxDepth)}:{},...n?.findCycle!==void 0?{findCycle:He(n.findCycle)}:{}};return this._explainStatic(m,b,v)},{name:n?.name??"explain",describeKind:"derived",meta:{domain:"audit",kind:"explain_path",from:V(e),to:V(t)},equals:(m,b)=>m.found===b.found&&m.reason===b.reason&&m.steps.length===b.steps.length&&mt(m.steps,b.steps)})}catch(m){throw p(),i.dispose(),m}let y=re(u),l=[],O=m=>{let b;return b=m.subscribe(v=>{let w=!1,E=!1;for(let S of v){let R=S[0];R===q?w=!0:(R===H||R===W||R===B)&&(E=!0)}(w||E)&&a(),E&&b&&(b(),b=void 0)}),()=>{b&&(b(),b=void 0)}};for(let m of g)l.push(O(m));return{node:u,dispose(){d=!0,p();for(let m of l)m?.();l.length=0,i.dispose(),y()}}}_pathsMatching(e){let t=ae(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}${x}${n}`;this._mounts.get(n)._collectObserveTargets(s,t)}for(let n of[...this._nodes.keys()].sort()){let s=this._nodes.get(n),r=e===""?n:`${e}${x}${n}`;t.push([r,s]),this._appendMetaObserveTargets(r,s,t)}}_appendMetaObserveTargets(e,t,n){for(let s of Object.keys(t.meta).sort()){let r=t.meta[s],i=`${e}${x}${z}${x}${s}`;n.push([i,r]),this._appendMetaObserveTargets(i,r,n)}}observe(e,t){let n=typeof e=="string",r=Ue(n?t:e);if(r.reactive===!0)return this._observeReactive(n?e:void 0,r);let i=r.structured===!0||r.timeline===!0||r.causal===!0||r.derived===!0||r.detail==="minimal"||r.detail==="full"||r.format!=null,c=r.actor;if(n){let p=e,g=this.resolve(p);if(c!=null&&!g.allowsObserve(c))throw new U({actor:c,action:"observe",nodeName:p});return i?this._buildStructuredObserver([[p,g]],r,"one"):{subscribe(h){return g.subscribe(h)},up(h){try{g.up?.(h)}catch(f){if(f instanceof U)return;throw f}}}}let d=[];this._collectObserveTargets("",d),d.sort((p,g)=>p[0]<g[0]?-1:p[0]>g[0]?1:0);let a=c==null?d:d.filter(([,p])=>p.allowsObserve(c));return i?this._buildStructuredObserver(a,r,"all"):{subscribe:p=>{let g=a.map(([h,f])=>f.subscribe(u=>{p(h,u)}));return()=>{for(let h of g)h()}},up:(p,g)=>{try{this.resolve(p).up?.(g)}catch(h){if(h instanceof U)return;throw h}}}}_observeReactive(e,t){let n=t.tiers,s=n!=null?new Set(n):null,r=t.reactiveName??"observe";return be(i=>{let c=[],d=!1,a=!1,p=()=>{if(c.length===0||a)return;let y={events:c.slice(),flushedAt_ns:L()};c.length=0,i.emit(y)},g={...t,reactive:!1,structured:!0,timeline:!0},h=e!=null?this.observe(e,g):this.observe(g),f=y=>{a||(c.push(y),!d&&(d=!0,ne(()=>{d=!1,p()})))};for(let y of h.events)f(y);let u=h.onEvent(f);return()=>{a=!0,u(),h.dispose()}},{name:r,meta:{domain:"audit",kind:"observe-reactive"}})}_buildStructuredObserver(e,t,n){let s=n==="one"?e[0]?.[0]:void 0,r=i=>{if(n==="one"&&s!=null){let p=this.resolve(s);return this._buildStructuredObserver([[s,p]],i,"one")}let c=[];this._collectObserveTargets("",c),c.sort((p,g)=>p[0]<g[0]?-1:p[0]>g[0]?1:0);let d=i.actor,a=d==null?c:c.filter(([,p])=>p.allowsObserve(d));return this._buildStructuredObserver(a,i,"all")};return this._createObserveResult(e,t,r)}_createObserveResult(e,t,n){let s=t.timeline===!0,r=t.causal===!0,i=t.derived===!0,c=t.detail==="minimal",d=this.config.inspectorEnabled,a=(r||i)&&d,p=t.maxEvents,g=p!=null&&p>0?new X(p):null,h=[],f=new Set,u=t.tiers!=null?new Set(t.tiers):null,y={},l=new Set,O=0,m=0,b=0,v=0,w=0,E=0,S=!1,R=!1,G=0,D=new Map,k=new Map,I=new Map,T=_=>{if(!(u!=null&&!u.has(_.type))){g?g.push(_):h.push(_);for(let C of f)C(_)}},$=_=>u==null||u.has(_),Re=()=>s?{timestamp_ns:L(),in_batch:Ae(),batch_id:G}:{},Ze=(_,C)=>{if(!(!a||!(_ instanceof M)))return _._setInspectorHook(j=>{if(j.kind==="dep_message")D.set(_,j.depIndex);else if(j.kind==="run"){let Y=j.batchData.map((N,P)=>N!=null&&N.length>0?N.at(-1):j.prevData[P]);k.set(_,Y);let F=j.batchData.map(N=>N!=null?[...N]:void 0);I.set(_,F),i&&T({type:"derived",path:C,dep_values:Y,dep_batches:F,...Re()})}})},Ne=_=>{let C=D.get(_),j=k.get(_);if(!r||j==null)return{};let F=(C!=null&&C>=0&&_ instanceof M?_._deps[C]:void 0)?.node,N=F?.v,P=I.get(_);return{trigger_dep_index:C,trigger_dep_name:F?.name,...N!=null?{trigger_version:{id:N.id,version:N.version}}:{},dep_values:[...j],...P!=null?{dep_batches:P}:{}}},Ge=[],De=[];for(let[_,C]of e){let j=Ze(C,_);j&&Ge.push(j),De.push(C.subscribe(Y=>{G++;for(let F of Y){let N=F[0],P=Re();if(N===q){y[_]=F[1];let le=C instanceof M?C.lastMutation?.actor??Q:Q;T({type:"data",path:_,data:F[1],actor:le,...P,...Ne(C)})}else if(c)N===pe?$("dirty")&&O++:N===fe?$("resolved")&&m++:N===te?$("invalidate")&&b++:N===he?$("pause")&&v++:N===ge?$("resume")&&w++:N===B?$("teardown")&&E++:N===H&&!l.has(_)?$("complete")&&(S=!0):N===W&&$("error")&&(R=!0,l.add(_));else if(N===pe)$("dirty")&&O++,T({type:"dirty",path:_,...P});else if(N===fe)$("resolved")&&m++,T({type:"resolved",path:_,...P,...Ne(C)});else if(N===te)$("invalidate")&&b++,T({type:"invalidate",path:_,...P});else if(N===he)$("pause")&&v++,T({type:"pause",path:_,lockId:F[1],...P});else if(N===ge)$("resume")&&w++,T({type:"resume",path:_,lockId:F[1],...P});else if(N===H)$("complete")&&!l.has(_)&&(S=!0),T({type:"complete",path:_,...P});else if(N===W){$("error")&&(R=!0,l.add(_));let le=C instanceof M?C.lastMutation?.actor??Q:Q;T({type:"error",path:_,data:F[1],actor:le,...P})}else N===B&&($("teardown")&&E++,T({type:"teardown",path:_,...P}))}}))}let ue=!1,ce=()=>{if(!ue){ue=!0;for(let _ of De)_();for(let _ of Ge)_();for(let _ of ee)_({value:void 0,done:!0});ee.length=0}},de=[],ee=[];f.add(_=>{let C=ee.shift();C?C({value:_,done:!1}):de.push(_)});let Ce={get values(){return y},get dirtyCount(){return O},get resolvedCount(){return m},get invalidateCount(){return b},get pauseCount(){return v},get resumeCount(){return w},get teardownCount(){return E},get events(){return g?g.toArray():[...h]},get anyCompletedCleanly(){return S},get anyErrored(){return R},get completedWithoutErrors(){return S&&!R},onEvent(_){return f.add(_),()=>f.delete(_)},dispose:ce,expand(_){ce();let C={...t};return typeof _=="string"?C.detail=_:Object.assign(C,_),n(Ue(C))},[Symbol.asyncIterator](){return{next(){return de.length>0?Promise.resolve({value:de.shift(),done:!1}):ue?Promise.resolve({value:void 0,done:!0}):new Promise(_=>ee.push(_))},return(){return ce(),Promise.resolve({value:void 0,done:!0})}}}};return t.format!=null&&this._attachFormatLogger(Ce,t),Ce}_attachFormatLogger(e,t){let n=t.format;if(n==null)return;let s=t.logger??(u=>console.log(u)),r=t.includeTypes?new Set(t.includeTypes):null,i=t.excludeTypes?new Set(t.excludeTypes):null,c=r==null&&i==null?()=>!0:u=>(r==null||r.has(u))&&(i==null||!i.has(u)),d=lt(t.theme),a=n==="stage-log"?L():0,p=u=>u==null?"":t.stageLabels?.[u]??u,g=(u,y)=>u.length>y?`${u.slice(0,y-1)}\u2026`:u,h=u=>u.type==="data"||u.type==="error"?g(Ee(u.data),120):"",f=u=>{if(n==="stage-log"){let S=(L()-a)/1e9,R=p(u.path).padEnd(9);if(u.type==="data"){let G=h(u);return`[${S.toFixed(3)}s] ${R} \u2190${G?` ${G}`:""}`}if(u.type==="error"){let G=h(u);return`[${S.toFixed(3)}s] ${R} \u2717${G?` ${G}`:""}`}return u.type==="complete"?`[${S.toFixed(3)}s] ${R} \u25A0 complete`:`[${S.toFixed(3)}s] ${R} ${u.type}`}if(n==="json")try{return JSON.stringify(u)}catch{return JSON.stringify({type:u.type,path:u.path,data:"[unserializable]"})}let y=d[u.type]??"",l=u.path?`${d.path}${u.path}${d.reset} `:"",O=u.type==="data"||u.type==="error",m=u.type==="pause"||u.type==="resume",b=O?` ${Ee(u.data)}`:m?` ${Ee(u.lockId)}`:"",v=u.type==="data"||u.type==="resolved"||u.type==="derived"?u:void 0,w=v?.trigger_dep_name!=null?` <- ${v.trigger_dep_name}`:v?.trigger_dep_index!=null?` <- #${v.trigger_dep_index}`:"",E=u.in_batch?" [batch]":"";return`${l}${y}${u.type.toUpperCase()}${d.reset}${b}${w}${E}`};e.onEvent(u=>{c(u.type)&&s(f(u),u)})}addDisposer(e){return this._disposers.add(e),()=>{this._disposers.delete(e)}}destroy(){qe(this._disposers,this.name),this.signal([[B]],{internal:!0}),qe(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,this._destroyed=!0}get destroyed(){return this._destroyed}_destroyClearOnly(){for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0,this._destroyed=!0}snapshot(e){let{expand:t,...n}=this.describe({detail:"full"}),s={};for(let c of Object.keys(n.nodes).sort()){let{lastMutation:d,guard:a,...p}=n.nodes[c];s[c]=p}let r=[...n.subgraphs].sort(),i={...n,version:1,nodes:s,subgraphs:r};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 c=this.config.lookupCodec(e.codec);if(c==null)throw new Error(`snapshot: codec "${e.codec}" is not registered on this graph's config. Call config.registerCodec(...) before creating nodes.`);return xe(c,c.encode(i))}throw new Error(`snapshot: unknown format "${String(e.format)}"`)}static decode(e,t){let n=t?.config??me,{codec:s,codecVersion:r,payload:i}=$e(e,n);return s.decode(i,r)}restore(e,t){if(We(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(r=>ae(r)),s=t?.includeProducers===!0;for(let r of Object.keys(e.nodes).sort()){if(n!==null&&!n.some(c=>c.test(r)))continue;let i=e.nodes[r];if(i!==void 0){if(!("value"in i)||i.value===void 0){"value"in i&&i.value===void 0&&t?.onError?.(r,new Error(`restore: slice.value is undefined for "${r}" (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 d=this.tryResolve(r)?.v;if(d!=null&&d.id===i.v.id&&d.version===i.v.version)continue}try{this.set(r,i.value)}catch(c){t?.onError?.(r,c)}}}}}static fromSnapshot(e,t){We(e);let n=typeof t=="function"?t:t?.build,s=typeof t=="function"?void 0:t?.factories,r=new o(e.name);if(n)return n(r),r.restore(e),r;for(let f of[...e.subgraphs].sort((u,y)=>{let l=u.split(x).length,O=y.split(x).length;return l!==O?l-O:u<y?-1:u>y?1:0})){let u=f.split(x),y=r;for(let l of u)y._mounts.has(l)||y.mount(l,new o(l)),y=y._mounts.get(l)}let i=s?Object.entries(s).map(([f,u])=>({re:ae(f),factory:u})):[],c=f=>{for(let u of i)if(u.re.test(f))return u.factory},d=f=>{let u=f.split(x),y=u.pop();if(y==null||y.length===0)throw new Error(`invalid snapshot path "${f}"`);let l=r;for(let O of u){let m=l._mounts.get(O);if(!m)throw new Error(`unknown mount "${O}" in path "${f}"`);l=m}return[l,y]},a=Object.entries(e.nodes).filter(([f])=>!f.includes(`${x}${z}${x}`)).sort((f,u)=>f[0]<u[0]?-1:f[0]>u[0]?1:0),p=new Map(a),g=new Map,h=!0;for(;p.size>0&&h;){h=!1;for(let[f,u]of[...p.entries()]){let y=u?.deps??[];if(!y.every(w=>g.has(w)))continue;let[l,O]=d(f),m={...u?.meta??{}},b=c(f),v;if(u?.type==="state")v=Z(u.value,{meta:m});else{if(b==null)continue;v=b(O,{path:f,type:u.type,value:u.value,meta:m,deps:y,resolvedDeps:y.map(w=>g.get(w))})}l.add(v,{name:O}),g.set(f,v),p.delete(f),h=!0}}if(p.size>0){let f=[...p.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 r.restore(e),r}toJSON(){return this.snapshot()}attachSnapshotStorage(e,t={}){let n=e.map(a=>({tier:a,debounceMs:Math.max(0,a.debounceMs??0),compactEvery:Math.max(1,a.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=(a,p)=>{if(a.disposed)return;let g=it(p.nodes);if(a.lastSnapshot!=null&&g!==""&&g===a.lastFingerprint)return;let h=a.seq+1,f=Pe(),l=a.lastSnapshot==null||h%a.compactEvery===0?{name:this.name,mode:"full",snapshot:p,seq:h,timestamp_ns:f,format_version:J}:{name:this.name,mode:"diff",diff:gt(a.lastSnapshot,p),seq:h,timestamp_ns:f,format_version:J};if(a.tier.filter&&!a.tier.filter(l))return;let O;try{O=a.tier.save(l)}catch(m){t.onError?.(m,a.tier);return}if(O&&typeof O.then=="function"){let v=(a.savePending??Promise.resolve()).then(()=>O,()=>O).then(()=>{a.disposed||(a.seq=h,a.lastSnapshot=p,a.lastFingerprint=g)},w=>{t.onError?.(w,a.tier)});a.savePending=v.finally(()=>{a.savePending===v&&(a.savePending=void 0)})}else a.seq=h,a.lastSnapshot=p,a.lastFingerprint=g},r=(a,p)=>{try{s(a,p)}catch(g){t.onError?.(g,a.tier)}},i=(a,p)=>{if(!p.some(u=>{let y=this.config.messageTier(u[0]);return y>=3&&y<5}))return;if(t.filter){let u=this.tryResolve(a);if(u==null)return;let y=we(u,ye("standard"));if(!t.filter(a,y))return}let h,f=()=>(h==null&&(h=this.snapshot()),h);for(let u of n)u.disposed||(u.debounceMs===0?r(u,f()):(u.timer==null&&(u.timer=new Me),u.timer.start(u.debounceMs,()=>{u.disposed||r(u,this.snapshot())})))},c;if(t.paths!=null){let p=(typeof t.paths=="string"?this._pathsMatching(t.paths):t.paths).map(g=>{let h=this.tryResolve(g);return h==null?()=>{}:h.subscribe(f=>i(g,f))});c=()=>{for(let g of p)g()}}else c=this.observe().subscribe((a,p)=>i(a,p));let d=()=>{c();for(let a of n)a.disposed=!0,a.timer?.cancel();this._storageDisposers.delete(d)};return this._storageDisposers.add(d),{dispose:d}}async _cascadeRestore(e,t){for(let n of e){let s;try{s=await n.load?.()}catch(i){t?.(i,n);continue}if(s==null||typeof s!="object"||Array.isArray(s))continue;let r=s;try{if(r.mode==="full"&&r.snapshot!=null)return this.restore(r.snapshot),!0;if(r.version===J&&r.nodes!=null)return this.restore(r),!0}catch(i){t?.(i,n)}}return!1}static async fromStorage(e,t,n){for(let s of t){let r;try{r=await s.load?.()}catch(d){n?.onError?.(d,s);continue}if(r==null||typeof r!="object"||Array.isArray(r))continue;let i=r,c=i.mode==="full"&&i.snapshot!=null?i.snapshot:i.version===J&&i.nodes!=null?i:void 0;if(c!=null)try{return o.fromSnapshot(c,n)}catch(d){n?.onError?.(d,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:L(),...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)),r=[...s].filter(m=>!n.has(m)).sort(),i=[...n].filter(m=>!s.has(m)).sort(),c=[],d=[];for(let m of n){if(!s.has(m))continue;let b=e.nodes[m],v=t.nodes[m],w=b.v,E=v.v;w!=null&&E!=null&&w.id===E.id&&w.version!==E.version&&d.push({path:m,id:w.id,from:w.version,to:E.version});let S=w!=null&&E!=null&&w.id===E.id&&w.version===E.version;for(let R of["type","status","sentinel"]){let G=b[R],D=v[R];G!==D&&c.push({path:m,field:R,from:G,to:D})}if(!S)for(let R of["value","meta"]){let G=b[R],D=v[R];at(G,D)||c.push({path:m,field:R,from:G,to:D})}}let a=m=>`${m.from} ${m.to}`,p=new Set(e.edges.map(a)),g=new Set(t.edges.map(a)),h=t.edges.filter(m=>!p.has(a(m))),f=e.edges.filter(m=>!g.has(a(m))),u=new Set(e.subgraphs),y=new Set(t.subgraphs),l=[...y].filter(m=>!u.has(m)).sort(),O=[...u].filter(m=>!y.has(m)).sort();return{nodesAdded:r,nodesRemoved:i,nodesChanged:c,versionChanges:d,edgesAdded:h,edgesRemoved:f,subgraphsAdded:l,subgraphsRemoved:O}}};function gt(o,e){let t=Se.diff(o,e),n={};for(let s of t.nodesAdded){let r=e.nodes[s];r!=null&&(n[s]=r)}return{...t,nodesAddedFull:n}}function Je(o,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 r=n.maxDepth;if(r!=null&&(!Number.isInteger(r)||r<0))throw new Error("reachable: maxDepth must be an integer >= 0");if(r===0)return n.withDetail?s:[];let i=new Map,c=new Map,d=new Map,a=new Map,p=new Set;for(let[b,v]of Object.entries(o.nodes)){if(!b)continue;p.add(b);let w=v.deps??[];i.set(b,w);for(let E of w)E&&(p.add(E),c.has(E)||c.set(E,new Set),c.get(E).add(b))}for(let b of o.edges){if(b==null||typeof b!="object")continue;let v=typeof b.from=="string"?b.from:"",w=typeof b.to=="string"?b.to:"";!v||!w||(p.add(v),p.add(w),a.has(v)||a.set(v,new Set),a.get(v).add(w),d.has(w)||d.set(w,new Set),d.get(w).add(v))}if(!p.has(e))return n.withDetail?s:[];let g=n.both===!0,h=b=>{if(g){let S=i.get(b)??[],R=d.get(b),G=c.get(b),D=a.get(b),k=[...S];return R&&k.push(...R),G&&k.push(...G),D&&k.push(...D),k}if(t==="upstream"){let S=i.get(b)??[],R=d.get(b);return R?[...S,...R]:S}let v=c.get(b),w=a.get(b),E=v?[...v]:[];return w&&E.push(...w),E},f=new Set([e]),u=new Map,y=[{path:e,depth:0}],l=0,O=!1;for(;l<y.length;){let b=y[l++];if(r!=null&&b.depth>=r){h(b.path).length>0&&(O=!0);continue}for(let v of h(b.path))!v||f.has(v)||(f.add(v),u.set(v,b.depth+1),y.push({path:v,depth:b.depth+1}))}let m=[...u.keys()].sort((b,v)=>b<v?-1:b>v?1:0);return n.withDetail?{paths:m,depths:u,truncated:O}:m}function mt(o,e){if(o.length!==e.length)return!1;for(let t=0;t<o.length;t++){let n=o[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 r=n.v,i=s.v;if(r!==i&&(r==null||i==null||r.id!==i.id||r.version!==i.version))return!1}return!0}export{A as a,Xe as b,je as c,Fe as d,_e as e,X as f,Ve as g,z as h,J as i,Se as j,gt as k,Je as l};
|
package/dist/chunk-6HOSXQKF.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as I,x as w}from"./chunk-VOPGGIL7.js";import{c as O}from"./chunk-35JTVPOX.js";import{b as E}from"./chunk-TZQPPQEQ.js";import{m as f,s as M}from"./chunk-V5A7M7RJ.js";import{E as R,G as V,m as h}from"./chunk-LYCLF26R.js";import{b as v}from"./chunk-CK2E7BTU.js";function C(n){return typeof n=="object"&&n!==null&&"cache"in n&&typeof n.subscribe=="function"}function H(n,u,e){let i=f(n),o=i.v!=null,p=R(e?.initialVerified??null,{meta:{...O("verifiable"),...o?{sourceVersion:null}:{}}}),x=e?.trigger!==void 0&&e.trigger!==null,c=null;if(x&&e?.autoVerify?c=I(f(e.trigger),i):x?c=f(e.trigger):e?.autoVerify&&(c=i),c!==null){let y;if(c===i)y=w(i,l=>u(l));else{let l=i.cache;i.subscribe(m=>{for(let N of m)N[0]===v&&(l=N[1])}),y=w(c,()=>u(l))}M(y,l=>{h(()=>{if(p.down([[v,l]]),o){let m=i.v;m!=null&&p.meta.sourceVersion.down([[v,{id:m.id,version:m.version}]])}})})}return{node:i,verified:p,trigger:c}}function B(n){n.subscribe(()=>{})}function k(n){return n instanceof Map?n:new Map}function S(n,u){if(!Array.isArray(u.upsert))throw new TypeError("distill extraction requires upsert: Array<{ key, value }>");h(()=>{for(let{key:e,value:i}of u.upsert)n.set(e,i);for(let e of u.remove??[])n.delete(e)})}function J(n,u,e){let i=f(n),o=E(e.mapOptions??{}),p=e.budget??2e3,c=e.context!==void 0&&e.context!==null?f(e.context):R(null),y=k(o.entries.cache);o.entries.subscribe(t=>{for(let d of t)d[0]===v&&(y=k(d[1]))});let l=f(u(i,o.entries));if(M(l,t=>{S(o,t)}),e.evict){let t=new Map,d=V([o.entries],([g])=>{let T=[],b=k(g);for(let r of t.keys())b.has(r)||(t.get(r)(),t.delete(r));for(let[r,s]of b){let a=e.evict(r,s);if(C(a)){if(!t.has(r)){let D=M(a,z=>{z===!0&&o.has(r)&&o.delete(r)});t.set(r,D)}continue}if(typeof a=="boolean"){a&&T.push(r);continue}throw new TypeError("distill evict() must return boolean or Node<boolean>")}return T});M(d,g=>{for(let T of g)o.delete(T)})}let m=e.consolidateTrigger!==void 0&&e.consolidateTrigger!==null;if(e.consolidate&&m){let t=f(e.consolidateTrigger),d=w(t,()=>e.consolidate(y));M(d,g=>{S(o,g)})}let N=V([o.entries,c],([t,d])=>{let T=[...k(t).entries()].map(([s,a])=>({key:s,value:a,score:e.score(a,d),cost:e.cost(a)}));T.sort((s,a)=>a.score-s.score);let b=[],r=p;for(let s of T)s.cost<=r&&(b.push({key:s.key,value:s.value,score:s.score}),r-=s.cost);return b},{meta:{...O("distill",{budget:p})}}),A=V([o.entries],([t])=>k(t).size);return B(N),B(A),{store:o,compact:N,size:A}}export{H as a,J as b};
|
package/dist/chunk-6QZNQS5B.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as d,c as i,d as R}from"./chunk-CK2E7BTU.js";import{b as T}from"./chunk-QYADASLV.js";var h={};T(h,{useStore:()=>y,useSubscribe:()=>p,useSubscribeRecord:()=>S});function p(e){return{subscribe(s){let n=e.subscribe(()=>{s(e.cache)});return s(e.cache),n}}}function y(e){return{subscribe(s){let n=e.subscribe(()=>{s(e.cache)});return s(e.cache),n},set(s){e.down([[i],[d,s]])},update(s){let n=s(e.cache);e.down([[i],[d,n]])}}}function S(e,s){return{subscribe(n){let a=[],l=()=>{for(let o of a)o();a=[]},b=()=>{let o={};for(let t of e.cache??[]){let c=s(t),r={};for(let u of Object.keys(c))r[u]=c[u].cache;o[t]=r}return o},f=o=>{l();for(let t of o){let c=s(t);for(let r of Object.keys(c)){let u=c[r].subscribe(()=>{n(b())});a.push(u)}}n(b())},v=e.subscribe(o=>{o.some(t=>t[0]===d||t[0]===R)&&f(e.cache??[])});return f(e.cache??[]),()=>{v(),l()}}}}export{p as a,y as b,S as c,h as d};
|
package/dist/chunk-C72GO4IZ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function n(x){return x>=768&&x<=879||x>=1155&&x<=1161||x>=1425&&x<=1469||x>=1552&&x<=1562||x>=1611&&x<=1631||x>=1648&&x===1648||x>=1750&&x<=1756||x>=1759&&x<=1764||x>=1767&&x<=1768||x>=1770&&x<=1773||x>=1840&&x<=1866||x>=1958&&x<=1968||x>=2304&&x<=2307||x>=2362&&x<=2383||x>=2385&&x<=2391||x>=2402&&x<=2403||x>=2433&&x<=2435||x>=2492&&x<=2509||x>=2561&&x<=2563||x>=2620&&x<=2641||x>=2672&&x<=2673||x>=2677&&x===2677||x>=3633&&x===3633||x>=3636&&x<=3642||x>=3655&&x<=3662||x>=3761&&x===3761||x>=3764&&x<=3772||x>=3784&&x<=3790||x>=7616&&x<=7679||x>=8400&&x<=8447||x>=65024&&x<=65039||x>=65056&&x<=65071||x===8205?0:x>=4352&&x<=4447||x>=8986&&x<=8987||x>=9001&&x<=9002||x>=9193&&x<=9203||x>=9208&&x<=9210||x>=9725&&x<=9726||x>=9748&&x<=9749||x>=9800&&x<=9811||x===9855||x===9875||x===9889||x>=9898&&x<=9899||x>=9917&&x<=9918||x>=9924&&x<=9925||x===9934||x===9940||x===9962||x>=9970&&x<=9971||x===9973||x===9978||x===9981||x===9986||x===9989||x>=9992&&x<=9997||x===9999||x>=10067&&x<=10069||x===10071||x>=10133&&x<=10135||x===10160||x===10175||x>=10548&&x<=10549||x>=11013&&x<=11015||x>=11035&&x<=11036||x===11088||x===11093||x>=11904&&x<=12350||x>=12352&&x<=12447||x>=12448&&x<=12543||x>=12549&&x<=12591||x>=12593&&x<=12686||x>=12688&&x<=12771||x>=12784&&x<=12830||x>=12832&&x<=12871||x>=12880&&x<=19903||x>=19968&&x<=40959||x>=43360&&x<=43388||x>=44032&&x<=55203||x>=63744&&x<=64255||x>=65040&&x<=65049||x>=65072&&x<=65131||x>=65281&&x<=65376||x>=65504&&x<=65510||x>=126980&&x===126980||x===127183||x>=127344&&x<=127345||x===127358||x===127359||x===127374||x>=127377&&x<=127386||x>=127456&&x<=127487||x>=127488&&x<=127490||x===127514||x===127535||x>=127538&&x<=127546||x>=127568&&x<=127569||x>=127744&&x<=129535||x>=129536&&x<=129791||x>=129792&&x<=130047||x>=131072&&x<=196605||x>=196608&&x<=262141?2:1}function u(x){let f=0;for(let a of x)f+=n(a.codePointAt(0));return f}function l(x,f){if(f<=0)return"";let a=0,t="";for(let b of x){let r=n(b.codePointAt(0));if(a+r>f){if(f<=1)return"\u2026";for(;a+1>f&&t.length>0;){let i=[...t].pop();t=t.slice(0,-i.length),a-=n(i.codePointAt(0))}return`${t}\u2026`}t+=b,a+=r}return t}export{u as a,l as b};
|
package/dist/chunk-CE72X3WO.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function o(n){if(n===null||typeof n!="object")return n;if(Array.isArray(n))return n.map(o);let r=n,e=Object.keys(r).sort(),t={};for(let s of e)t[s]=o(r[s]);return t}function i(n){return JSON.stringify(o(n),void 0,0)}export{o as a,i as b};
|