@graphrefly/graphrefly 0.43.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{cascading-CH-_VwG9.d.cts → cascading-BglDkMdX.d.cts} +2 -2
- package/dist/{cascading-OgKQZjsa.d.ts → cascading-MFgxu7Yo.d.ts} +2 -2
- package/dist/{chunk-KVV66NN2.js → chunk-2T7U5EU6.js} +1 -1
- package/dist/chunk-5M4CCMMD.js +45 -0
- package/dist/{chunk-I7IGYPSL.js → chunk-5XJ6B66J.js} +1 -1
- package/dist/{chunk-OFZG3TB3.js → chunk-6X7AFUJV.js} +1 -1
- package/dist/{chunk-EBW4V6JN.js → chunk-7K6PWTDQ.js} +1 -1
- package/dist/{chunk-D27JNOLZ.js → chunk-7LIAPXJB.js} +1 -1
- package/dist/{chunk-CLD3F4R5.js → chunk-7WPU3UHQ.js} +1 -1
- package/dist/{chunk-NNKJUORL.js → chunk-A5WCQ5NO.js} +1 -1
- package/dist/chunk-APPIWSGD.js +84 -0
- package/dist/{chunk-TZQPPQEQ.js → chunk-BEZWM2SY.js} +1 -1
- package/dist/{chunk-K2Q24F5T.js → chunk-CB676TKJ.js} +1 -1
- package/dist/{chunk-SUWT3ZON.js → chunk-CE6TI2TL.js} +1 -1
- package/dist/{chunk-VOPGGIL7.js → chunk-CLVB32RD.js} +1 -1
- package/dist/{chunk-V5A7M7RJ.js → chunk-CRVT7D2P.js} +1 -1
- package/dist/chunk-D7GPHKFH.js +1 -0
- package/dist/{chunk-OCKEEPRJ.js → chunk-DHRX7JX4.js} +1 -1
- package/dist/chunk-FZMYDOWV.js +1 -0
- package/dist/{chunk-35JTVPOX.js → chunk-GHBWHMRZ.js} +1 -1
- package/dist/{chunk-KGKJCHEK.js → chunk-GLERH466.js} +1 -1
- package/dist/{chunk-TPKQW72B.js → chunk-HIDYF36O.js} +1 -1
- package/dist/chunk-HITNVN6B.js +3 -0
- package/dist/{chunk-P6C4WHZO.js → chunk-HY4DJBA7.js} +1 -1
- package/dist/chunk-KZIEYVXN.js +1 -0
- package/dist/{chunk-O2BLLH7M.js → chunk-N4MQX6JU.js} +1 -1
- package/dist/{chunk-4YAN45KM.js → chunk-N7FHEL4D.js} +1 -1
- package/dist/chunk-NTEURFZH.js +1 -0
- package/dist/{chunk-OYJKFY7V.js → chunk-OIVP6KFV.js} +1 -1
- package/dist/{chunk-Q4U3A3L5.js → chunk-OPHBU3LG.js} +1 -1
- package/dist/{chunk-PT7W5FCD.js → chunk-OYQOZP2F.js} +1 -1
- package/dist/{chunk-6HOSXQKF.js → chunk-PTZK576G.js} +1 -1
- package/dist/{chunk-S3EEIPO7.js → chunk-ST7UXLWR.js} +1 -1
- package/dist/chunk-SVY7VUYU.js +1 -0
- package/dist/{chunk-QYVXF7GW.js → chunk-TK3NWWD4.js} +1 -1
- package/dist/chunk-UNGSTR4X.js +61 -0
- package/dist/{chunk-VQ4A6T2A.js → chunk-VV4N5P64.js} +1 -1
- package/dist/{chunk-FDQGFWLF.js → chunk-W3I423PS.js} +1 -1
- package/dist/{chunk-XG62INFA.js → chunk-WJR24TAG.js} +1 -1
- package/dist/{chunk-F3IGTWCQ.js → chunk-XTGKMHSW.js} +1 -1
- package/dist/{chunk-JQFH2DV6.js → chunk-YBB7ZGTY.js} +1 -1
- package/dist/{chunk-CUNIRONA.js → chunk-Z4NPUARF.js} +1 -1
- package/dist/{chunk-KRH66M4O.js → chunk-ZGNQRPDT.js} +1 -1
- package/dist/{chunk-JNWRYDJN.js → chunk-ZKPSFFKU.js} +1 -1
- package/dist/{chunk-FG4TKHMC.js → chunk-ZLV5SQSX.js} +1 -1
- package/dist/compat/index.cjs +5 -5
- package/dist/compat/index.d.cts +16 -16
- package/dist/compat/index.d.ts +16 -16
- package/dist/compat/index.js +1 -1
- package/dist/compat/jotai/index.cjs +1 -1
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/jotai/index.js +1 -1
- package/dist/compat/nanostores/index.cjs +1 -1
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nanostores/index.js +1 -1
- package/dist/compat/nestjs/index.cjs +5 -5
- package/dist/compat/nestjs/index.d.cts +8 -8
- package/dist/compat/nestjs/index.d.ts +8 -8
- package/dist/compat/nestjs/index.js +1 -1
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/zustand/index.cjs +3 -3
- package/dist/compat/zustand/index.d.cts +4 -4
- package/dist/compat/zustand/index.d.ts +4 -4
- package/dist/compat/zustand/index.js +1 -1
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +3 -4
- package/dist/core/index.d.ts +3 -4
- package/dist/core/index.js +1 -1
- package/dist/{decay-CdEBmDIs.d.ts → decay-BvOWTZ00.d.ts} +2 -2
- package/dist/{decay-2ZukgQ4o.d.cts → decay-CFlLvXUT.d.cts} +2 -2
- package/dist/extra/browser.cjs +1 -1
- package/dist/extra/browser.d.cts +1 -1
- package/dist/extra/browser.d.ts +1 -1
- package/dist/extra/browser.js +1 -1
- package/dist/extra/index.cjs +15 -15
- package/dist/extra/index.d.cts +10 -10
- package/dist/extra/index.d.ts +10 -10
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +2 -2
- package/dist/extra/node.d.cts +1 -1
- package/dist/extra/node.d.ts +1 -1
- package/dist/extra/node.js +1 -1
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +9 -1
- package/dist/extra/operators.d.ts +9 -1
- package/dist/extra/operators.js +1 -1
- package/dist/extra/reactive.cjs +1 -1
- package/dist/extra/reactive.d.cts +3 -3
- package/dist/extra/reactive.d.ts +3 -3
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/render/index.d.cts +3 -3
- package/dist/extra/render/index.d.ts +3 -3
- package/dist/extra/sources.cjs +3 -3
- package/dist/extra/sources.d.cts +1 -1
- package/dist/extra/sources.d.ts +1 -1
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.cjs +1 -1
- package/dist/extra/storage-browser.d.cts +1 -1
- package/dist/extra/storage-browser.d.ts +1 -1
- package/dist/extra/storage-browser.js +1 -1
- package/dist/{fallback-Ctlj2tMY.d.cts → fallback-74oxi34l.d.cts} +1 -1
- package/dist/{fallback-CqYVLL6X.d.ts → fallback-DUyyBTBK.d.ts} +1 -1
- package/dist/graph/index.cjs +7 -7
- package/dist/graph/index.d.cts +5 -5
- package/dist/graph/index.d.ts +5 -5
- package/dist/graph/index.js +1 -1
- package/dist/{graph-C4SHb3Ly.d.cts → graph-CWvEUQAq.d.cts} +196 -3
- package/dist/{graph-7VguS7a4.d.ts → graph-D9LFnda9.d.ts} +196 -3
- package/dist/{index-O7fucFrU.d.cts → index-5k1T6jl0.d.cts} +9 -9
- package/dist/{index-DyR7eU5S.d.cts → index-9770hRuQ.d.cts} +4 -4
- package/dist/{index-COD1kVoS.d.cts → index-B-_tFaqV.d.cts} +4 -4
- package/dist/{index-CLon-IWF.d.cts → index-B17QddL1.d.cts} +4 -4
- package/dist/{index-B-i4_g3k.d.ts → index-B1F8Enjf.d.ts} +61 -8
- package/dist/{index-DBevwHj_.d.ts → index-B5S8ULbU.d.ts} +3 -3
- package/dist/{index-Dgs8zcj7.d.ts → index-B8YnZpIR.d.ts} +2 -2
- package/dist/{index-DSZ3ZCHF.d.ts → index-BHskSB8v.d.ts} +28 -17
- package/dist/{index-CDXc9zKM.d.cts → index-BIYAkbAi.d.cts} +1 -1
- package/dist/{index-C9kSENB4.d.cts → index-BQSKmbuG.d.cts} +1 -1
- package/dist/{index-tJoTcnHh.d.cts → index-BaQaY_IQ.d.cts} +2 -2
- package/dist/{index-CJK1JkYy.d.ts → index-BmZXHqkE.d.ts} +1 -1
- package/dist/{index-K0_0eR8g.d.ts → index-BoJ5JHxI.d.ts} +3 -3
- package/dist/{index-JZUPJIJy.d.ts → index-BocU7pqs.d.ts} +4 -4
- package/dist/{index-ChOyVLKm.d.cts → index-BrPrLl4e.d.cts} +1 -1
- package/dist/{index-BiX1Nkgx.d.cts → index-BxNs2HB9.d.cts} +22 -8
- package/dist/{index-Bf7eqeSF.d.ts → index-Byu-OpX_.d.ts} +2 -2
- package/dist/{index-BoLv_OfD.d.cts → index-C1T3d7V-.d.cts} +61 -8
- package/dist/{index-BTQtTb_H.d.cts → index-C5ri2Axc.d.cts} +3 -3
- package/dist/{index-z96luz5O.d.cts → index-C5stwKcw.d.cts} +1 -1
- package/dist/{index-D4Y1cMG0.d.ts → index-C9l6OEBL.d.ts} +1 -1
- package/dist/{index-CCq87F7t.d.ts → index-CBBLl_rc.d.ts} +1 -1
- package/dist/{index-cm1GNcWE.d.ts → index-CBGUK09R.d.ts} +4 -4
- package/dist/{index-0rKFCVFp.d.cts → index-CC-AvFTy.d.cts} +3 -3
- package/dist/{index-C59mYFKp.d.ts → index-CJF1URuX.d.ts} +9 -9
- package/dist/{index-BJX94aud.d.cts → index-CK29LV56.d.cts} +1 -1
- package/dist/{index-BP8a88zx.d.ts → index-CMh5Rz1y.d.ts} +4 -4
- package/dist/{index-CvrqGfNS.d.ts → index-CPQlGA29.d.ts} +1 -1
- package/dist/{index-D-AEQVLo.d.ts → index-CR8QpwX8.d.ts} +49 -24
- package/dist/{index-Du7u1lSf.d.cts → index-CS0LTlB8.d.cts} +4 -4
- package/dist/{index-Bc41FuHp.d.cts → index-CSOmP7xT.d.cts} +2 -2
- package/dist/{index-BsT7F2et.d.ts → index-CYq8vAyV.d.ts} +2 -2
- package/dist/{index-CPT7C_f1.d.ts → index-CZ3r5Rxp.d.ts} +4 -4
- package/dist/{index-BojK2fwH.d.cts → index-CasX6Pfq.d.cts} +68 -9
- package/dist/{index-BG0BN3PB.d.ts → index-CdAlHFEt.d.ts} +1 -1
- package/dist/{index-wAzD9yVj.d.ts → index-CdTelp1M.d.ts} +8 -4
- package/dist/{index-CQG3D1cp.d.ts → index-CeFiHtAg.d.ts} +4 -4
- package/dist/{index-RV_yDjOX.d.cts → index-Cj3WohTd.d.cts} +8 -4
- package/dist/{index-BAOD98JD.d.cts → index-Climxqsu.d.cts} +4 -4
- package/dist/{index-O16yXPK4.d.cts → index-Co7uli2l.d.cts} +28 -17
- package/dist/{index-DIOoAZUX.d.ts → index-CviRnE4K.d.ts} +1 -1
- package/dist/{index-Dhc7a7Xo.d.cts → index-Cwv0KWcU.d.cts} +2 -2
- package/dist/{index-Dn-wI9g4.d.ts → index-CzLVrjxn.d.ts} +2 -2
- package/dist/{index-C9pjcz3l.d.cts → index-D0aciIex.d.cts} +3 -3
- package/dist/{index-DwigL4lY.d.ts → index-DHen9Klo.d.ts} +22 -8
- package/dist/{index-BwLvVVsy.d.cts → index-DV_1YuVk.d.cts} +40 -8
- package/dist/{index-BdGtBX-X.d.cts → index-Dc4AYqrJ.d.cts} +3 -3
- package/dist/{index-Dmqp7KjD.d.ts → index-Dgl1HpPn.d.ts} +1 -1
- package/dist/{index-CAC_rNzm.d.ts → index-DisjX8a-.d.ts} +40 -8
- package/dist/{index-B5iz82A3.d.cts → index-UPSiS-X7.d.cts} +49 -24
- package/dist/{index-CZQXo5tH.d.ts → index-Yq60JP3s.d.ts} +3 -3
- package/dist/{index-f5IivDUX.d.cts → index-ZVQhLa2i.d.cts} +1 -1
- package/dist/{index-hHcaFlJX.d.cts → index-_6ODbuOu.d.cts} +1 -1
- package/dist/{index-BVpm6noz.d.cts → index-hcDJ8PSI.d.cts} +1 -1
- package/dist/{index-DBHK8O6H.d.ts → index-nozs3fFC.d.ts} +3 -3
- package/dist/{index-Dh_HJ82K.d.ts → index-p09KSrTN.d.ts} +68 -9
- package/dist/{index-C7O6r5fV.d.ts → index-sqkqlb1p.d.ts} +1 -1
- package/dist/{index-CZjOhcBy.d.cts → index-tRCxuAXF.d.cts} +2 -2
- package/dist/index.cjs +48 -48
- package/dist/index.d.cts +42 -43
- package/dist/index.d.ts +42 -43
- package/dist/index.js +1 -1
- package/dist/{node-ClS5yC-B.d.cts → node-kK3CvTrR.d.cts} +1 -1
- package/dist/{node-ClS5yC-B.d.ts → node-kK3CvTrR.d.ts} +1 -1
- package/dist/{observable-BsBzUrcI.d.ts → observable-DWjNfLvC.d.ts} +1 -1
- package/dist/{observable-DLGPPtb8.d.cts → observable-e3eiPPFy.d.cts} +1 -1
- package/dist/patterns/ai/browser.cjs +5 -5
- package/dist/patterns/ai/browser.d.cts +4 -4
- package/dist/patterns/ai/browser.d.ts +4 -4
- package/dist/patterns/ai/browser.js +1 -1
- package/dist/patterns/ai/index.cjs +16 -16
- package/dist/patterns/ai/index.d.cts +16 -17
- package/dist/patterns/ai/index.d.ts +16 -17
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +1 -1
- package/dist/patterns/ai/node.d.cts +4 -4
- package/dist/patterns/ai/node.d.ts +4 -4
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/cqrs/index.cjs +3 -3
- package/dist/patterns/cqrs/index.d.cts +6 -6
- package/dist/patterns/cqrs/index.d.ts +6 -6
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +5 -5
- package/dist/patterns/demo-shell/index.d.cts +5 -5
- package/dist/patterns/demo-shell/index.d.ts +5 -5
- package/dist/patterns/demo-shell/index.js +1 -1
- package/dist/patterns/domain-templates/index.cjs +3 -3
- package/dist/patterns/domain-templates/index.d.cts +4 -4
- package/dist/patterns/domain-templates/index.d.ts +4 -4
- package/dist/patterns/domain-templates/index.js +1 -1
- package/dist/patterns/graphspec/index.cjs +16 -16
- package/dist/patterns/graphspec/index.d.cts +5 -5
- package/dist/patterns/graphspec/index.d.ts +5 -5
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/harness/index.cjs +9 -9
- package/dist/patterns/harness/index.d.cts +10 -11
- package/dist/patterns/harness/index.d.ts +10 -11
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/inspect/index.cjs +3 -3
- package/dist/patterns/inspect/index.d.cts +7 -7
- package/dist/patterns/inspect/index.d.ts +7 -7
- package/dist/patterns/inspect/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +3 -3
- package/dist/patterns/job-queue/index.d.cts +6 -6
- package/dist/patterns/job-queue/index.d.ts +6 -6
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/memory/index.cjs +3 -3
- package/dist/patterns/memory/index.d.cts +6 -6
- package/dist/patterns/memory/index.d.ts +6 -6
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +3 -3
- package/dist/patterns/messaging/index.d.cts +5 -5
- package/dist/patterns/messaging/index.d.ts +5 -5
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +3 -3
- package/dist/patterns/orchestration/index.d.cts +6 -7
- package/dist/patterns/orchestration/index.d.ts +6 -7
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/process/index.cjs +3 -1
- package/dist/patterns/process/index.d.cts +7 -7
- package/dist/patterns/process/index.d.ts +7 -7
- package/dist/patterns/process/index.js +1 -1
- package/dist/patterns/reactive-layout/index.cjs +4 -4
- package/dist/patterns/reactive-layout/index.d.cts +5 -5
- package/dist/patterns/reactive-layout/index.d.ts +5 -5
- package/dist/patterns/reactive-layout/index.js +1 -1
- package/dist/patterns/reduction/index.cjs +3 -3
- package/dist/patterns/reduction/index.d.cts +4 -4
- package/dist/patterns/reduction/index.d.ts +4 -4
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/surface/index.cjs +10 -10
- package/dist/patterns/surface/index.d.cts +6 -6
- package/dist/patterns/surface/index.d.ts +6 -6
- package/dist/patterns/surface/index.js +1 -1
- package/dist/{pipeline-graph-DPqKDk59.d.cts → pipeline-graph-CIKhynsF.d.cts} +11 -6
- package/dist/{pipeline-graph-loP57TBA.d.ts → pipeline-graph-Sgj0gCwn.d.ts} +11 -6
- package/dist/{reactive-layout-v7KPvxoc.d.ts → reactive-layout-DOTs9P3X.d.ts} +2 -2
- package/dist/{reactive-layout-Dsvob4zD.d.cts → reactive-layout-DgctbqZo.d.cts} +2 -2
- package/dist/{reactive-log-BezYsbA_.d.ts → reactive-log-BKALbfal.d.ts} +1 -1
- package/dist/{reactive-log-B00laMSQ.d.cts → reactive-log-DIGdYqQ6.d.cts} +1 -1
- package/dist/{reactive-map-48mnZ-nu.d.cts → reactive-map-CEFGp8TK.d.cts} +1 -1
- package/dist/{reactive-map-BVVPdvmi.d.ts → reactive-map-DS_SIAxv.d.ts} +1 -1
- package/dist/resilience-6LYQJAC5.js +1 -0
- package/dist/{sugar-DLwvMr3F.d.ts → sugar-DQjFmVqb.d.cts} +178 -2
- package/dist/{sugar-DyVGtczU.d.cts → sugar-fhLIE7TT.d.ts} +178 -2
- package/dist/{topology-tree-BSdfSwMi.d.cts → topology-tree-Bcz27hpF.d.cts} +1 -1
- package/dist/{topology-tree-BNGvuG82.d.ts → topology-tree-xvaD0fOX.d.ts} +1 -1
- package/dist/{types-B1jDWVsM.d.cts → types-C0_yquda.d.cts} +1 -1
- package/dist/{types-DkzUUs0H.d.ts → types-CWFysE9E.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-3XDYJRYU.js +0 -1
- package/dist/chunk-4I45FVQS.js +0 -1
- package/dist/chunk-626TESAC.js +0 -3
- package/dist/chunk-INQD2KRQ.js +0 -1
- package/dist/chunk-LYCLF26R.js +0 -1
- package/dist/chunk-NON4NLIC.js +0 -45
- package/dist/chunk-QE4IGY7I.js +0 -61
- package/dist/chunk-VNC3TMVY.js +0 -1
- package/dist/chunk-Y4NI3X7O.js +0 -84
- package/dist/meta-BgVAsg9j.d.ts +0 -102
- package/dist/meta-vE8bxW1E.d.cts +0 -102
- package/dist/resilience-YIWPK4YC.js +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var Kt=Object.create;var ee=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var zt=Object.getPrototypeOf,$t=Object.prototype.hasOwnProperty;var R=(e,t)=>()=>(e&&(t=e(e=0)),t);var qt=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Wt(t))!$t.call(e,s)&&s!==n&&ee(e,s,{get:()=>t[s],enumerable:!(r=Vt(t,s))||r.enumerable});return e};var Jt=(e,t,n)=>(n=e!=null?Kt(zt(e)):{},He(t||!e||!e.__esModule?ee(n,"default",{value:e,enumerable:!0}):n,e)),Qt=e=>He(ee({},"__esModule",{value:!0}),e);function w(){return Math.trunc(performance.now()*1e6)}function D(){return Date.now()*1e6}var L=R(()=>{"use strict"});function $e(){return we>0||Zt}function qe(){return we>0}function Je(e){we>0?en.push(e):e()}function te(e,t,n){if(t.length===0)return;if(t.length===1){let d=n(t[0][0]);if(d<3||!$e()){e(t);return}(d>=5?ze:d===4?We:Ve).push(()=>e(t));return}let r=t.length,s=r,i=r,a=r,o=0;for(;o<r&&n(t[o][0])<3;)o++;for(s=o;o<r&&n(t[o][0])===3;)o++;for(i=o;o<r&&n(t[o][0])===4;)o++;a=o;let c=$e();if(s>0){let d=t.slice(0,s);e(d)}if(i>s){let d=t.slice(s,i);c?Ve.push(()=>e(d)):e(d)}if(a>i){let d=t.slice(i,a);c?We.push(()=>e(d)):e(d)}if(r>a){let d=t.slice(a,r);c?ze.push(()=>e(d)):e(d)}}var we,Zt,Ve,We,ze,en,Qe=R(()=>{"use strict";we=0,Zt=!1,Ve=[],We=[],ze=[],en=[]});var G,E,P,I,U,B,Q,F,C,v,j,ve,tn,xe,nn,rn,_e,Ye,Xe,Ze,Se,ne=R(()=>{"use strict";G=Symbol.for("graphrefly/START"),E=Symbol.for("graphrefly/DATA"),P=Symbol.for("graphrefly/DIRTY"),I=Symbol.for("graphrefly/RESOLVED"),U=Symbol.for("graphrefly/INVALIDATE"),B=Symbol.for("graphrefly/PAUSE"),Q=Symbol.for("graphrefly/RESUME"),F=Symbol.for("graphrefly/TEARDOWN"),C=Symbol.for("graphrefly/COMPLETE"),v=Symbol.for("graphrefly/ERROR"),j=Object.freeze([P]),ve=Object.freeze([I]),tn=Object.freeze([U]),xe=Object.freeze([G]),nn=Object.freeze([C]),rn=Object.freeze([F]),_e=Object.freeze([j]),Ye=Object.freeze([ve]),Xe=Object.freeze([tn]),Ze=Object.freeze([nn]),Se=Object.freeze([rn])});function et(e){e.registerCodec(on)}var on,tt=R(()=>{"use strict";on={name:"json",version:1,contentType:"application/json",encode(e){let t=JSON.stringify(e);return new TextEncoder().encode(t)},decode(e,t){let n=new TextDecoder().decode(e);return JSON.parse(n)}}});function re(e){if(e==null)return sn;let{type:t,id:n,...r}=e;return{type:t??"system",id:n??"",...r}}var sn,nt=R(()=>{"use strict";sn={type:"system",id:""}});function rt(e){e.registerMessageType(G,{tier:0,wireCrossing:!1}),e.registerMessageType(P,{tier:1,wireCrossing:!1}),e.registerMessageType(U,{tier:1,wireCrossing:!1,metaPassthrough:!1}),e.registerMessageType(B,{tier:2,wireCrossing:!1}),e.registerMessageType(Q,{tier:2,wireCrossing:!1}),e.registerMessageType(E,{tier:3,wireCrossing:!0}),e.registerMessageType(I,{tier:3,wireCrossing:!0}),e.registerMessageType(C,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(v,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(F,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var oe,ot=R(()=>{"use strict";ne();oe=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_rigorRecorder;_frozen=!1;tierOf;constructor(t){this._onMessage=t.onMessage,this._onSubscribe=t.onSubscribe,this._defaultVersioning=t.defaultVersioning,this._defaultHashFn=t.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(t){this._assertUnfrozen(),this._onMessage=t}set onSubscribe(t){this._assertUnfrozen(),this._onSubscribe=t}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(t){this._assertUnfrozen(),this._defaultVersioning=t}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(t){this._assertUnfrozen(),this._defaultHashFn=t}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(t){this._inspectorEnabled=t}get globalInspector(){return this._globalInspector}set globalInspector(t){this._globalInspector=t}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(t){this._rigorRecorder=t}registerMessageType(t,n){return this._assertUnfrozen(),this._messageTypes.set(t,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(t){let n=this._messageTypes.get(t);return n!=null?n.tier:1}isWireCrossing(t){let n=this._messageTypes.get(t);return n!=null?n.wireCrossing:!0}isLocalOnly(t){return!this.isWireCrossing(t)}isMetaPassthrough(t){let n=this._messageTypes.get(t);return n!=null?n.metaPassthrough:!0}isKnownMessageType(t){return this._messageTypes.has(t)}registerCodec(t){return this._assertUnfrozen(),this._codecs.set(t.name,t),this}lookupCodec(t){return this._codecs.get(t)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});var H,st=R(()=>{"use strict";H=class extends Error{actor;action;nodeName;constructor(t,n){super(n??`GuardDenied: action "${String(t.action)}" denied for actor type "${String(t.actor.type)}"`),this.name="GuardDenied",this.actor=t.actor,this.action=t.action,this.nodeName=t.nodeName}get node(){return this.nodeName}}});function Ae(e){if(e===void 0)return null;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Cannot hash non-finite number: ${e}`);if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${e}. Cross-language cid parity is not guaranteed for unsafe integers.`);return e}if(typeof e=="string"||typeof e=="boolean"||e===null)return e;if(Array.isArray(e))return e.map(Ae);if(typeof e=="object"&&e!==null){let t={};for(let n of Object.keys(e).sort())t[n]=Ae(e[n]);return t}return null}function dn(e){let t=cn.encode(e),n=t.length,r=n*8,s=n+9+63&-64,i=new Uint8Array(s);i.set(t),i[n]=128;let a=new DataView(i.buffer);a.setUint32(s-4,r>>>0,!1),a.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let o=1779033703,c=3144134277,d=1013904242,l=2773480762,u=1359893119,p=2600822924,f=528734635,g=1541459225,y=new Uint32Array(64),m=(_,S)=>_>>>S|_<<32-S;for(let _=0;_<s;_+=64){for(let A=0;A<16;A++)y[A]=a.getUint32(_+A*4,!1);for(let A=16;A<64;A++){let z=y[A-15],$=y[A-2],Z=m(z,7)^m(z,18)^z>>>3,Te=m($,17)^m($,19)^$>>>10;y[A]=y[A-16]+Z+y[A-7]+Te>>>0}let S=o,M=c,k=d,b=l,T=u,x=p,N=f,ke=g;for(let A=0;A<64;A++){let z=m(T,6)^m(T,11)^m(T,25),$=T&x^~T&N,Z=ke+z+$+an[A]+y[A]>>>0,Te=m(S,2)^m(S,13)^m(S,22),jt=S&M^S&k^M&k,Ht=Te+jt>>>0;ke=N,N=x,x=T,T=b+Z>>>0,b=k,k=M,M=S,S=Z+Ht>>>0}o=o+S>>>0,c=c+M>>>0,d=d+k>>>0,l=l+b>>>0,u=u+T>>>0,p=p+x>>>0,f=f+N>>>0,g=g+ke>>>0}let h=_=>_.toString(16).padStart(8,"0");return h(o)+h(c)+h(d)+h(l)+h(u)+h(p)+h(f)+h(g)}function Re(e){let t=Ae(e??null),n=JSON.stringify(t);return dn(n).slice(0,16)}function ln(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();let t=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=t()+t()+t()+t();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function Ee(e,t,n){let r=n?.id??ln();if(e===0)return{id:r,version:0};let i=(n?.hash??Re)(t);return{id:r,version:0,cid:i,prev:null}}function it(e,t,n){e.version+=1,"cid"in e&&(e.prev=e.cid,e.cid=n(t))}var an,cn,at=R(()=>{"use strict";an=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),cn=new TextEncoder});function lt(e){return{node:e,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function Ce(e){e.prevData=void 0,e.dirty=!1,e.involvedThisWave=!1,e.dataBatch.length=0,e.terminal=void 0}function se(e){return e.length===0?e:typeof e[0]=="symbol"?[e]:e}function pt(e,t,n){let r=ut(e)?e:[],s=typeof e=="function"?e:typeof t=="function"?t:void 0,i={};return ut(e)?i=(Me(t)?t:n)??{}:Me(e)?i=e:i=(Me(t)?t:n)??{},new ie(r,s,i)}var ct,dt,un,pn,Ne,ie,ut,Me,ft=R(()=>{"use strict";tt();nt();Qe();L();ot();st();ne();at();ct=()=>{},dt=100;un=(e,t,n,r)=>{n.direction==="down-in"&&e._onDepMessage(n.depIndex,t)},pn=(e,t,n,r)=>{let s=e;if(s._status==="completed"||s._status==="errored")return;let i=s._cached,a=i===void 0?[xe]:[xe,[E,i]];s._status==="dirty"&&a.push(j),te(t,a,s._config.tierOf)},Ne=new oe({onMessage:un,onSubscribe:pn});rt(Ne);et(Ne);ie=class e{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(t,n,r){this._config=r.config??Ne,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=t.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Re;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?Ee(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=t.map(lt);let i={};for(let[o,c]of Object.entries(r.meta??{})){let d={initial:c,name:`${r.name??"node"}:meta:${o}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),i[o]=new e([],void 0,d)}Object.freeze(i),this.meta=i,this._hasMeta=Object.keys(i).length>0;let a=this;this._actions={emit(o){a._emit([[E,o]])},down(o){a._emit(se(o))},up(o){a._emitUp(se(o))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(t,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&t<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let i=this._cached===void 0?void 0:this._cached,a=this._versioning,o=a?.id??n?.id,c=a?.version??0,d=Ee(t,i,{id:o,hash:s});d.version=c,this._versioning=d,this._versioningLevel=t}_setInspectorHook(t){return t==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(t),()=>{this._inspectorHooks?.delete(t),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(t){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(t),()=>{this._extraGuards?.delete(t),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(t){if(this._guard==null&&this._extraGuards==null)return!0;let n=re(t);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(t){if(t?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=t?.actor!=null;if(!n&&!r)return;let s=re(t?.actor),i=t?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,i))throw new H({actor:s,action:i,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(s,i))throw new H({actor:s,action:i,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:D()}}down(t,n){let r=se(t);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(t,n){this._checkGuard(n),this._emit([[E,t]])}up(t,n){if(this._deps.length===0)return;let r=se(t);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let i of this._deps)i.node.up?.(r,s)}_emitUp(t){if(this._deps.length!==0&&t.length!==0){this._validateUpTiers(t);for(let n of this._deps)n.node.up?.(t,{internal:!0})}}_validateUpTiers(t){let n=this._config.tierOf;for(let r of t){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(t,n){if(n!=null&&this._guard!=null){let c=re(n);if(!this._guard(c,"observe"))throw new H({actor:c,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let c of this._deps)Ce(c);if(this._partial===!1){for(let c of this._deps)if(c.prevData!==void 0||c.dataBatch.length!==0||c.terminal!==void 0||c.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let i;try{i=this._config.onSubscribe(this,t,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(c){throw this._sinkCount-=1,c}this._sinks==null?this._sinks=t:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,t]):this._sinks.add(t);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(c){if(this._sinkCount-=1,this._removeSink(t),this._sinkCount===0&&(this._status="sentinel"),typeof i=="function")try{i()}catch{}throw c}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let o=!1;return()=>{o||(o=!0,this._sinkCount-=1,this._removeSink(t),typeof i=="function"&&i(),this._sinks==null&&this._deactivate())}}_removeSink(t){if(this._sinks===t)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(t),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let t=this._deps.length,n=0;try{for(let r=0;r<t;r++){let s=r,i=this._deps[r];i.unsub=ct,i.unsub=i.node.subscribe(a=>{if(i.unsub===null)return;let o=this._config.tierOf,c=!1;for(let d of a)o(d[0])>=3&&(c=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:s},this._actions);c&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let i=this._deps[s];if(i.unsub!=null){let a=i.unsub;i.unsub=null;try{a()}catch{}Ce(i)}}throw this._dirtyDepCount=0,r}}_addDep(t){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===t)return s;let n=this._deps.length,r=lt(t);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e),r.unsub=ct;try{r.unsub=t.subscribe(s=>{if(r.unsub===null)return;let i=this._config.tierOf,a=!1;for(let o of s)i(o[0])>=3&&(a=!0),this._config.onMessage(this,o,{direction:"down-in",depIndex:n},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(t=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[v,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[v,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}Ce(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),t||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(t,n){let r=this._deps[t],s=n[0];if(this._inspectorHooks!=null){let i={kind:"dep_message",depIndex:t,message:n};for(let a of this._inspectorHooks)a(i)}if(s!==G){if(s===P){this._depDirtied(r);return}if(s===U){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Xe);return}if(s===B||s===Q){this._emit([n]);return}if(s===F){this._emit(Se);return}if(s===E)this._depSettledAsData(r,n[1]);else if(s===I)this._depSettledAsResolved(r);else if(s===C)this._depSettledAsTerminal(r,!0);else if(s===v)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===E||s===I)&&this._emit([n]),(s===C||s===v)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(t){t.dirty||(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e))}_depSettledAsData(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.involvedThisWave=!0,t.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(t){t.dirty&&(t.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.terminal=n,t.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(t){t.prevData=void 0,t.terminal=void 0,t.dataBatch.length=0,t.dirty?t.involvedThisWave=!1:(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let t=0;t<this._deps.length;t++){let n=this._deps[t];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(Ye),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let t=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(t!=null){this._autoError&&this._emit([[v,t.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Ze)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let t=this._cleanup;if(typeof t=="function"){this._cleanup=void 0;try{t()}catch(a){this._emit([[v,this._wrapFnError("cleanup threw",a)]]);return}}else if(t!=null&&typeof t=="object"){let a=t.beforeRun;if(typeof a=="function"){t.beforeRun=void 0;try{a()}catch(o){this._emit([[v,this._wrapFnError("cleanup.beforeRun threw",o)]]);return}}}let n=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),r=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let o=n[a];o!=null&&o.length>0&&(this._deps[a].prevData=o[o.length-1])}let s=this._deps.map(a=>a.terminal),i={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:n,prevData:r};for(let o of this._inspectorHooks)o(a)}this._isExecutingFn=!0;try{let a=this._fn(n,this._actions,i);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let o=a;(typeof o.beforeRun=="function"||typeof o.deactivate=="function"||typeof o.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[v,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>dt?(this._rerunDepth=0,this._emit([[v,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${dt} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let t of this._deps)t.involvedThisWave=!1,t.dataBatch.length=0}_wrapFnError(t,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${t}: ${r}`,{cause:n})}_frameBatch(t){let n=this._config.tierOf;if(t.length===1)return n(t[0][0])===3&&this._status!=="dirty"?[j,t[0]]:t;let r=!0,s=!1,i=!1,a=-1;for(let c of t){let d=n(c[0]);d<a&&(r=!1),d===3&&(s=!0),c[0]===P&&(i=!0),a=d}let o=t;if(!r){let c=t.map((d,l)=>({m:d,i:l,tier:n(d[0])}));c.sort((d,l)=>d.tier-l.tier||d.i-l.i),o=c.map(d=>d.m)}if(s&&!i&&this._status!=="dirty"){let c=0;for(;c<o.length&&n(o[c][0])===0;)c++;return c===0?[j,...o]:[...o.slice(0,c),j,...o.slice(c)]}return o}_emit(t){if(t.length===0)return;for(let o=0;o<t.length;o++){let c=t[o];if(c[0]===v&&c[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=t;if(this._isTerminal&&!this._resubscribable){let o=t.filter(c=>c[0]===F||c[0]===U);if(o.length===0)return;n=o}n=this._frameBatch(n);let s=null;for(let o=0;o<n.length;o++){let c=n[o],d=c[0];if(d!==B&&d!==Q){s?.push(c);continue}if(c.length<2)throw new Error(`Node "${this.name}": [[${d===B?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let l=!0;if(this._pausable!==!1){let u=c[1];if(d===B)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(u),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(u))l=!1;else if(this._pauseLocks.delete(u),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}l?s?.push(c):s==null&&(s=n.slice(0,o))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(o=>o[0]===F))for(let o of Object.keys(this.meta))try{this.meta[o]._emit(Se)}catch{}let{finalMessages:i,equalsError:a}=this._updateState(n);if(i.length>0&&this._config.inspectorEnabled){let o=this._config.globalInspector;if(o!=null)try{o({kind:"emit",node:this,messages:i})}catch{}}if(i.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let o=this._config.tierOf,c=[];for(let d of i)o(d[0])===3?this._pauseBuffer.push(d):c.push(d);c.length>0&&this._dispatchOrAccumulate(c)}else this._dispatchOrAccumulate(i);a!=null&&this._emit([[v,a]])}_updateState(t){let n=this._config.tierOf,r,s,i=-1,a=0;for(let l of t)n(l[0])===3&&a++;let o=a<=1,c=-1;if(this._versioning!=null&&a>1){for(let l=t.length-1;l>=0;l--)if(t[l][0]===E){c=l;break}}for(let l=0;l<t.length;l++){let u=t[l],p=u[0];if(p===E){if(u.length>=2){let f=!1;if(o&&this._cached!==void 0)try{f=this._equals(this._cached,u[1])}catch(g){s=this._wrapFnError("equals threw",g),i=l;break}if(f){r==null&&(r=t.slice(0,l)),r.push(ve),this._status="resolved";continue}this._cached=u[1],this._versioning!=null&&(c<0||l===c)&&it(this._versioning,u[1],this._hashFn)}this._status="settled",r?.push(u)}else if(r?.push(u),p===P)this._status="dirty";else if(p===I)this._status="resolved";else if(p===C){this._status="completed";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"completed",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===v){this._status="errored";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"errored",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===U){if(this._cached!==void 0){let g=this._config.rigorRecorder;if(g!=null)try{g.onNonVacuousInvalidate(this,this._cached)}catch{}}this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let g=f.invalidate;if(typeof g=="function")try{g()}catch{}}}else p===F&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=i>=0?r??t.slice(0,i):r??t;return s!=null?{finalMessages:d,equalsError:s}:{finalMessages:d}}_deliverToSinks=t=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(t);return}let n=[...this._sinks];for(let r of n)r(t)};_dispatchOrAccumulate(t){if(qe()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Je(()=>this._flushBatchPending()));for(let n of t)this._batchPendingMessages.push(n);return}te(this._deliverToSinks,t,this._config.tierOf)}_flushBatchPending(){let t=this._batchPendingMessages;if(t===null||(this._batchPendingMessages=null,t.length===0))return;let n=this._frameBatch(t);te(this._deliverToSinks,n,this._config.tierOf)}},ut=e=>Array.isArray(e),Me=e=>typeof e=="object"&&e!=null&&!Array.isArray(e)});function ae(e,t){return pt((r,s,i)=>e(s,i)??void 0,{describeKind:"producer",...t})}var mt=R(()=>{"use strict";ft()});function Le(e){return{describeKind:"producer",...e}}function gt(e,t){return ae(n=>{let r=!1;try{for(let s of e){if(r)return;n.emit(s)}r||n.down([[C]])}catch(s){r||n.down([[v,s]])}return()=>{r=!0}},Le(t))}function fn(e){return e!=null&&typeof e.then=="function"}function mn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=!1,a=()=>{i||(i=!0,s.down([[v,n.reason]]))};if(n?.aborted){a();return}return n?.addEventListener("abort",a,{once:!0}),Promise.resolve(e).then(o=>{i||(i=!0,n?.removeEventListener("abort",a),s.emit(o),s.down([[C]]))},o=>{i||(i=!0,n?.removeEventListener("abort",a),s.down([[v,o]]))}),()=>{i=!0,n?.removeEventListener("abort",a)}},Le(r))}function gn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=new AbortController,a=()=>i.abort(n?.reason);n?.aborted?i.abort(n.reason):n?.addEventListener("abort",a,{once:!0});let o=n??i.signal,c=!1,d=e[Symbol.asyncIterator](),l=()=>{c||o.aborted||Promise.resolve(d.next()).then(u=>{if(!(c||o.aborted)){if(u.done){s.down([[C]]);return}s.emit(u.value),l()}},u=>{!c&&!o.aborted&&s.down([[v,u]])})};return l(),()=>{c=!0,n?.removeEventListener("abort",a),i.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},Le(r))}function hn(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function Y(e,t){if(hn(e))return e;if(fn(e))return mn(e,t);if(e!=null){let n=e;if(typeof n[Symbol.asyncIterator]=="function")return gn(e,t);if(typeof n[Symbol.iterator]=="function")return gt(e,t)}return yn(e)}function yn(...e){return gt(e,void 0)}function K(e){return new Promise((t,n)=>{let r=!1,s=!1,i;i=e.subscribe(a=>{for(let o of a){if(r)return;if(o[0]===E){r=!0,t(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===v){r=!0,n(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===C){r=!0,n(new Error("completed without DATA")),i?(i(),i=void 0):s=!0;return}}}),s&&(i?.(),i=void 0)})}var ht=R(()=>{"use strict";ne();mt()});var ce=R(()=>{"use strict";ht()});var V,Oe=R(()=>{"use strict";V=class{_timer;_gen=0;start(t,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},t)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});function bn(e){return e<0?0:e}function yt(e){let t=Math.max(1,e?.failureThreshold??5),n=bn(e?.cooldownNs??30*1e9),r=e?.cooldown??null,s=Math.max(1,e?.halfOpenMax??1),i=e?.now??w,a="closed",o=0,c=0,d=0,l=n,u=0;function p(){if(!r)return n;let y=r(c);return y!==null?y:n}function f(){a="open",l=p(),d=i(),u=0}return{canExecute(){return a==="closed"?!0:a==="open"?i()-d>=l?(a="half-open",u=1,!0):!1:u<s?(u++,!0):!1},recordSuccess(){a==="half-open"?(a="closed",o=0,c=0):a==="closed"&&(o=0)},recordFailure(y){if(a==="half-open"){c++,f();return}a==="closed"&&(o++,o>=t&&f())},get state(){return a},get failureCount(){return o},reset(){a="closed",o=0,c=0,u=0}}}var Rr,bt=R(()=>{"use strict";L();Rr=Object.freeze({droppedCount:0,pendingCount:0,paused:!1})});var kt=R(()=>{"use strict";bt()});var zn={};qt(zn,{chromeNanoAdapter:()=>q,cloudFirstPreset:()=>Kn,localFirstPreset:()=>Vn,offlinePreset:()=>Wn,webllmAdapter:()=>J});module.exports=Qt(zn);L();function Ke(){let e=new Error("aborted");return e.name="AbortError",e}function q(e={}){let t=e.streamMode??"accumulated",n=e.navigatorOverride??globalThis.navigator,r=()=>{let o=n?.ai;if(!o?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return o},s=async o=>r().languageModel.create({systemPrompt:o?.systemPrompt??e.systemPrompt,temperature:o?.temperature??e.temperature,topK:e.topK,signal:o?.signal}),i=o=>{let c=[];for(let d of o)d.role!=="system"&&c.push(`${d.role}: ${d.content}`);return c.join(`
|
|
1
|
+
"use strict";var Vt=Object.create;var te=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var zt=Object.getPrototypeOf,$t=Object.prototype.hasOwnProperty;var R=(e,t)=>()=>(e&&(t=e(e=0)),t);var qt=(e,t)=>{for(var n in t)te(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Wt(t))!$t.call(e,s)&&s!==n&&te(e,s,{get:()=>t[s],enumerable:!(r=Kt(t,s))||r.enumerable});return e};var Jt=(e,t,n)=>(n=e!=null?Vt(zt(e)):{},He(t||!e||!e.__esModule?te(n,"default",{value:e,enumerable:!0}):n,e)),Qt=e=>He(te({},"__esModule",{value:!0}),e);function k(){return Math.trunc(performance.now()*1e6)}function D(){return Date.now()*1e6}var M=R(()=>{"use strict"});function $e(){return we>0||Zt}function qe(){return we>0}function Je(e){we>0?en.push(e):e()}function ne(e,t,n){if(t.length===0)return;if(t.length===1){let d=n(t[0][0]);if(d<3||!$e()){e(t);return}(d>=5?ze:d===4?We:Ke).push(()=>e(t));return}let r=t.length,s=r,i=r,a=r,o=0;for(;o<r&&n(t[o][0])<3;)o++;for(s=o;o<r&&n(t[o][0])===3;)o++;for(i=o;o<r&&n(t[o][0])===4;)o++;a=o;let c=$e();if(s>0){let d=t.slice(0,s);e(d)}if(i>s){let d=t.slice(s,i);c?Ke.push(()=>e(d)):e(d)}if(a>i){let d=t.slice(i,a);c?We.push(()=>e(d)):e(d)}if(r>a){let d=t.slice(a,r);c?ze.push(()=>e(d)):e(d)}}var we,Zt,Ke,We,ze,en,Qe=R(()=>{"use strict";we=0,Zt=!1,Ke=[],We=[],ze=[],en=[]});var G,E,L,P,U,B,Q,I,N,v,j,ve,tn,xe,nn,rn,_e,Ye,Xe,Ze,Se,Y=R(()=>{"use strict";G=Symbol.for("graphrefly/START"),E=Symbol.for("graphrefly/DATA"),L=Symbol.for("graphrefly/DIRTY"),P=Symbol.for("graphrefly/RESOLVED"),U=Symbol.for("graphrefly/INVALIDATE"),B=Symbol.for("graphrefly/PAUSE"),Q=Symbol.for("graphrefly/RESUME"),I=Symbol.for("graphrefly/TEARDOWN"),N=Symbol.for("graphrefly/COMPLETE"),v=Symbol.for("graphrefly/ERROR"),j=Object.freeze([L]),ve=Object.freeze([P]),tn=Object.freeze([U]),xe=Object.freeze([G]),nn=Object.freeze([N]),rn=Object.freeze([I]),_e=Object.freeze([j]),Ye=Object.freeze([ve]),Xe=Object.freeze([tn]),Ze=Object.freeze([nn]),Se=Object.freeze([rn])});function et(e){e.registerCodec(on)}var on,tt=R(()=>{"use strict";on={name:"json",version:1,contentType:"application/json",encode(e){let t=JSON.stringify(e);return new TextEncoder().encode(t)},decode(e,t){let n=new TextDecoder().decode(e);return JSON.parse(n)}}});function re(e){if(e==null)return sn;let{type:t,id:n,...r}=e;return{type:t??"system",id:n??"",...r}}var sn,nt=R(()=>{"use strict";sn={type:"system",id:""}});function rt(e){e.registerMessageType(G,{tier:0,wireCrossing:!1}),e.registerMessageType(L,{tier:1,wireCrossing:!1}),e.registerMessageType(U,{tier:1,wireCrossing:!1,metaPassthrough:!1}),e.registerMessageType(B,{tier:2,wireCrossing:!1}),e.registerMessageType(Q,{tier:2,wireCrossing:!1}),e.registerMessageType(E,{tier:3,wireCrossing:!0}),e.registerMessageType(P,{tier:3,wireCrossing:!0}),e.registerMessageType(N,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(v,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(I,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var oe,ot=R(()=>{"use strict";Y();oe=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_rigorRecorder;_frozen=!1;tierOf;constructor(t){this._onMessage=t.onMessage,this._onSubscribe=t.onSubscribe,this._defaultVersioning=t.defaultVersioning,this._defaultHashFn=t.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(t){this._assertUnfrozen(),this._onMessage=t}set onSubscribe(t){this._assertUnfrozen(),this._onSubscribe=t}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(t){this._assertUnfrozen(),this._defaultVersioning=t}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(t){this._assertUnfrozen(),this._defaultHashFn=t}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(t){this._inspectorEnabled=t}get globalInspector(){return this._globalInspector}set globalInspector(t){this._globalInspector=t}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(t){this._rigorRecorder=t}registerMessageType(t,n){return this._assertUnfrozen(),this._messageTypes.set(t,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(t){let n=this._messageTypes.get(t);return n!=null?n.tier:1}isWireCrossing(t){let n=this._messageTypes.get(t);return n!=null?n.wireCrossing:!0}isLocalOnly(t){return!this.isWireCrossing(t)}isMetaPassthrough(t){let n=this._messageTypes.get(t);return n!=null?n.metaPassthrough:!0}isKnownMessageType(t){return this._messageTypes.has(t)}registerCodec(t){return this._assertUnfrozen(),this._codecs.set(t.name,t),this}lookupCodec(t){return this._codecs.get(t)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});var H,st=R(()=>{"use strict";H=class extends Error{actor;action;nodeName;constructor(t,n){super(n??`GuardDenied: action "${String(t.action)}" denied for actor type "${String(t.actor.type)}"`),this.name="GuardDenied",this.actor=t.actor,this.action=t.action,this.nodeName=t.nodeName}get node(){return this.nodeName}}});function Ae(e){if(e===void 0)return null;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Cannot hash non-finite number: ${e}`);if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${e}. Cross-language cid parity is not guaranteed for unsafe integers.`);return e}if(typeof e=="string"||typeof e=="boolean"||e===null)return e;if(Array.isArray(e))return e.map(Ae);if(typeof e=="object"&&e!==null){let t={};for(let n of Object.keys(e).sort())t[n]=Ae(e[n]);return t}return null}function dn(e){let t=cn.encode(e),n=t.length,r=n*8,s=n+9+63&-64,i=new Uint8Array(s);i.set(t),i[n]=128;let a=new DataView(i.buffer);a.setUint32(s-4,r>>>0,!1),a.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let o=1779033703,c=3144134277,d=1013904242,u=2773480762,l=1359893119,p=2600822924,f=528734635,h=1541459225,y=new Uint32Array(64),g=(_,S)=>_>>>S|_<<32-S;for(let _=0;_<s;_+=64){for(let A=0;A<16;A++)y[A]=a.getUint32(_+A*4,!1);for(let A=16;A<64;A++){let z=y[A-15],$=y[A-2],ee=g(z,7)^g(z,18)^z>>>3,ke=g($,17)^g($,19)^$>>>10;y[A]=y[A-16]+ee+y[A-7]+ke>>>0}let S=o,O=c,T=d,b=u,w=l,x=p,C=f,Te=h;for(let A=0;A<64;A++){let z=g(w,6)^g(w,11)^g(w,25),$=w&x^~w&C,ee=Te+z+$+an[A]+y[A]>>>0,ke=g(S,2)^g(S,13)^g(S,22),jt=S&O^S&T^O&T,Ht=ke+jt>>>0;Te=C,C=x,x=w,w=b+ee>>>0,b=T,T=O,O=S,S=ee+Ht>>>0}o=o+S>>>0,c=c+O>>>0,d=d+T>>>0,u=u+b>>>0,l=l+w>>>0,p=p+x>>>0,f=f+C>>>0,h=h+Te>>>0}let m=_=>_.toString(16).padStart(8,"0");return m(o)+m(c)+m(d)+m(u)+m(l)+m(p)+m(f)+m(h)}function Re(e){let t=Ae(e??null),n=JSON.stringify(t);return dn(n).slice(0,16)}function un(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();let t=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=t()+t()+t()+t();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function Ee(e,t,n){let r=n?.id??un();if(e===0)return{id:r,version:0};let i=(n?.hash??Re)(t);return{id:r,version:0,cid:i,prev:null}}function it(e,t,n){e.version+=1,"cid"in e&&(e.prev=e.cid,e.cid=n(t))}var an,cn,at=R(()=>{"use strict";an=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),cn=new TextEncoder});function ut(e){return{node:e,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function Ne(e){e.prevData=void 0,e.dirty=!1,e.involvedThisWave=!1,e.dataBatch.length=0,e.terminal=void 0}function se(e){return e.length===0?e:typeof e[0]=="symbol"?[e]:e}function pt(e,t,n){let r=lt(e)?e:[],s=typeof e=="function"?e:typeof t=="function"?t:void 0,i={};return lt(e)?i=(Oe(t)?t:n)??{}:Oe(e)?i=e:i=(Oe(t)?t:n)??{},new ie(r,s,i)}var ct,dt,ln,pn,Ce,ie,lt,Oe,ft=R(()=>{"use strict";tt();nt();Qe();M();ot();st();Y();at();ct=()=>{},dt=100;ln=(e,t,n,r)=>{n.direction==="down-in"&&e._onDepMessage(n.depIndex,t)},pn=(e,t,n,r)=>{let s=e;if(s._status==="completed"||s._status==="errored")return;let i=s._cached,a=i===void 0?[xe]:[xe,[E,i]];s._status==="dirty"&&a.push(j),ne(t,a,s._config.tierOf)},Ce=new oe({onMessage:ln,onSubscribe:pn});rt(Ce);et(Ce);ie=class e{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(t,n,r){this._config=r.config??Ce,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=t.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Re;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?Ee(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=t.map(ut);let i={};for(let[o,c]of Object.entries(r.meta??{})){let d={initial:c,name:`${r.name??"node"}:meta:${o}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),r.resubscribable===!0&&(d.resubscribable=!0),i[o]=new e([],void 0,d)}Object.freeze(i),this.meta=i,this._hasMeta=Object.keys(i).length>0;let a=this;this._actions={emit(o){a._emit([[E,o]])},down(o){a._emit(se(o))},up(o){a._emitUp(se(o))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(t,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&t<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let i=this._cached===void 0?void 0:this._cached,a=this._versioning,o=a?.id??n?.id,c=a?.version??0,d=Ee(t,i,{id:o,hash:s});d.version=c,this._versioning=d,this._versioningLevel=t}_setInspectorHook(t){return t==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(t),()=>{this._inspectorHooks?.delete(t),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(t){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(t),()=>{this._extraGuards?.delete(t),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(t){if(this._guard==null&&this._extraGuards==null)return!0;let n=re(t);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(t){if(t?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=t?.actor!=null;if(!n&&!r)return;let s=re(t?.actor),i=t?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,i))throw new H({actor:s,action:i,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(s,i))throw new H({actor:s,action:i,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:D()}}down(t,n){let r=se(t);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(t,n){this._checkGuard(n),this._emit([[E,t]])}up(t,n){if(this._deps.length===0)return;let r=se(t);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let i of this._deps)i.node.up?.(r,s)}_emitUp(t){if(this._deps.length!==0&&t.length!==0){this._validateUpTiers(t);for(let n of this._deps)n.node.up?.(t,{internal:!0})}}_validateUpTiers(t){let n=this._config.tierOf;for(let r of t){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(t,n){if(n!=null&&this._guard!=null){let c=re(n);if(!this._guard(c,"observe"))throw new H({actor:c,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let c of this._deps)Ne(c);if(this._partial===!1){for(let c of this._deps)if(c.prevData!==void 0||c.dataBatch.length!==0||c.terminal!==void 0||c.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let i;try{i=this._config.onSubscribe(this,t,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(c){throw this._sinkCount-=1,c}this._sinks==null?this._sinks=t:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,t]):this._sinks.add(t);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(c){if(this._sinkCount-=1,this._removeSink(t),this._sinkCount===0&&(this._status="sentinel"),typeof i=="function")try{i()}catch{}throw c}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let o=!1;return()=>{o||(o=!0,this._sinkCount-=1,this._removeSink(t),typeof i=="function"&&i(),this._sinks==null&&this._deactivate())}}_removeSink(t){if(this._sinks===t)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(t),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let t=this._deps.length,n=0;try{for(let r=0;r<t;r++){let s=r,i=this._deps[r];i.unsub=ct,i.unsub=i.node.subscribe(a=>{if(i.unsub===null)return;let o=this._config.tierOf,c=!1;for(let d of a)o(d[0])>=3&&(c=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:s},this._actions);c&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let i=this._deps[s];if(i.unsub!=null){let a=i.unsub;i.unsub=null;try{a()}catch{}Ne(i)}}throw this._dirtyDepCount=0,r}}_addDep(t){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===t)return s;let n=this._deps.length,r=ut(t);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e),r.unsub=ct;try{r.unsub=t.subscribe(s=>{if(r.unsub===null)return;let i=this._config.tierOf,a=!1;for(let o of s)i(o[0])>=3&&(a=!0),this._config.onMessage(this,o,{direction:"down-in",depIndex:n},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(t=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[v,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[v,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}Ne(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),t||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(t,n){let r=this._deps[t],s=n[0];if(this._inspectorHooks!=null){let i={kind:"dep_message",depIndex:t,message:n};for(let a of this._inspectorHooks)a(i)}if(s!==G){if(s===L){this._depDirtied(r);return}if(s===U){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Xe);return}if(s===B||s===Q){this._emit([n]);return}if(s===I){this._emit(Se);return}if(s===E)this._depSettledAsData(r,n[1]);else if(s===P)this._depSettledAsResolved(r);else if(s===N)this._depSettledAsTerminal(r,!0);else if(s===v)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===E||s===P)&&this._emit([n]),(s===N||s===v)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(t){t.dirty||(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e))}_depSettledAsData(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.involvedThisWave=!0,t.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(t){t.dirty&&(t.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.terminal=n,t.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(t){t.prevData=void 0,t.terminal=void 0,t.dataBatch.length=0,t.dirty?t.involvedThisWave=!1:(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let t=0;t<this._deps.length;t++){let n=this._deps[t];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(Ye),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let t=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(t!=null){this._autoError&&this._emit([[v,t.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Ze)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let t=this._cleanup;if(typeof t=="function"){this._cleanup=void 0;try{t()}catch(a){this._emit([[v,this._wrapFnError("cleanup threw",a)]]);return}}else if(t!=null&&typeof t=="object"){let a=t.beforeRun;if(typeof a=="function"){t.beforeRun=void 0;try{a()}catch(o){this._emit([[v,this._wrapFnError("cleanup.beforeRun threw",o)]]);return}}}let n=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),r=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let o=n[a];o!=null&&o.length>0&&(this._deps[a].prevData=o[o.length-1])}let s=this._deps.map(a=>a.terminal),i={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:n,prevData:r};for(let o of this._inspectorHooks)o(a)}this._isExecutingFn=!0;try{let a=this._fn(n,this._actions,i);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let o=a;(typeof o.beforeRun=="function"||typeof o.deactivate=="function"||typeof o.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[v,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>dt?(this._rerunDepth=0,this._emit([[v,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${dt} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let t of this._deps)t.involvedThisWave=!1,t.dataBatch.length=0}_wrapFnError(t,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${t}: ${r}`,{cause:n})}_frameBatch(t){let n=this._config.tierOf;if(t.length===1)return n(t[0][0])===3&&this._status!=="dirty"?[j,t[0]]:t;let r=!0,s=!1,i=!1,a=-1;for(let c of t){let d=n(c[0]);d<a&&(r=!1),d===3&&(s=!0),c[0]===L&&(i=!0),a=d}let o=t;if(!r){let c=t.map((d,u)=>({m:d,i:u,tier:n(d[0])}));c.sort((d,u)=>d.tier-u.tier||d.i-u.i),o=c.map(d=>d.m)}if(s&&!i&&this._status!=="dirty"){let c=0;for(;c<o.length&&n(o[c][0])===0;)c++;return c===0?[j,...o]:[...o.slice(0,c),j,...o.slice(c)]}return o}_emit(t){if(t.length===0)return;for(let o=0;o<t.length;o++){let c=t[o];if(c[0]===v&&c[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=t;if(this._isTerminal&&!this._resubscribable){let o=t.filter(c=>c[0]===I||c[0]===U);if(o.length===0)return;n=o}n=this._frameBatch(n);let s=null;for(let o=0;o<n.length;o++){let c=n[o],d=c[0];if(d!==B&&d!==Q){s?.push(c);continue}if(c.length<2)throw new Error(`Node "${this.name}": [[${d===B?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let u=!0;if(this._pausable!==!1){let l=c[1];if(d===B)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(l),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(l))u=!1;else if(this._pauseLocks.delete(l),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}u?s?.push(c):s==null&&(s=n.slice(0,o))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(o=>o[0]===I))for(let o of Object.keys(this.meta))try{this.meta[o]._emit(Se)}catch{}let{finalMessages:i,equalsError:a}=this._updateState(n);if(i.length>0&&this._config.inspectorEnabled){let o=this._config.globalInspector;if(o!=null)try{o({kind:"emit",node:this,messages:i})}catch{}}if(i.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let o=this._config.tierOf,c=[];for(let d of i)o(d[0])===3?this._pauseBuffer.push(d):c.push(d);c.length>0&&this._dispatchOrAccumulate(c)}else this._dispatchOrAccumulate(i);a!=null&&this._emit([[v,a]])}_updateState(t){let n=this._config.tierOf,r,s,i=-1,a=0;for(let u of t)n(u[0])===3&&a++;let o=a<=1,c=-1;if(this._versioning!=null&&a>1){for(let u=t.length-1;u>=0;u--)if(t[u][0]===E){c=u;break}}for(let u=0;u<t.length;u++){let l=t[u],p=l[0];if(p===E){if(l.length>=2){let f=!1;if(o&&this._cached!==void 0)try{f=this._equals(this._cached,l[1])}catch(h){s=this._wrapFnError("equals threw",h),i=u;break}if(f){r==null&&(r=t.slice(0,u)),r.push(ve),this._status="resolved";continue}this._cached=l[1],this._versioning!=null&&(c<0||u===c)&&it(this._versioning,l[1],this._hashFn)}this._status="settled",r?.push(l)}else if(r?.push(l),p===L)this._status="dirty";else if(p===P)this._status="resolved";else if(p===N){this._status="completed";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"completed",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===v){this._status="errored";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"errored",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===U){if(this._cached!==void 0){let h=this._config.rigorRecorder;if(h!=null)try{h.onNonVacuousInvalidate(this,this._cached)}catch{}}this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let h=f.invalidate;if(typeof h=="function")try{h()}catch{}}}else p===I&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=i>=0?r??t.slice(0,i):r??t;return s!=null?{finalMessages:d,equalsError:s}:{finalMessages:d}}_deliverToSinks=t=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(t);return}let n=[...this._sinks];for(let r of n)r(t)};_dispatchOrAccumulate(t){if(qe()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Je(()=>this._flushBatchPending()));for(let n of t)this._batchPendingMessages.push(n);return}ne(this._deliverToSinks,t,this._config.tierOf)}_flushBatchPending(){let t=this._batchPendingMessages;if(t===null||(this._batchPendingMessages=null,t.length===0))return;let n=this._frameBatch(t);ne(this._deliverToSinks,n,this._config.tierOf)}},lt=e=>Array.isArray(e),Oe=e=>typeof e=="object"&&e!=null&&!Array.isArray(e)});function ae(e,t){return pt((r,s,i)=>e(s,i)??void 0,{describeKind:"producer",...t})}var mt=R(()=>{"use strict";ft()});function Me(e){return{describeKind:"producer",...e}}function gt(e,t){return ae(n=>{let r=!1;try{for(let s of e){if(r)return;n.emit(s)}r||n.down([[N]])}catch(s){r||n.down([[v,s]])}return()=>{r=!0}},Me(t))}function fn(e){return e!=null&&typeof e.then=="function"}function mn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=!1,a=()=>{i||(i=!0,s.down([[v,n.reason]]))};if(n?.aborted){a();return}return n?.addEventListener("abort",a,{once:!0}),Promise.resolve(e).then(o=>{i||(i=!0,n?.removeEventListener("abort",a),s.emit(o),s.down([[N]]))},o=>{i||(i=!0,n?.removeEventListener("abort",a),s.down([[v,o]]))}),()=>{i=!0,n?.removeEventListener("abort",a)}},Me(r))}function gn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=new AbortController,a=()=>i.abort(n?.reason);n?.aborted?i.abort(n.reason):n?.addEventListener("abort",a,{once:!0});let o=n??i.signal,c=!1,d=e[Symbol.asyncIterator](),u=()=>{c||o.aborted||Promise.resolve(d.next()).then(l=>{if(!(c||o.aborted)){if(l.done){s.down([[N]]);return}s.emit(l.value),u()}},l=>{!c&&!o.aborted&&s.down([[v,l]])})};return u(),()=>{c=!0,n?.removeEventListener("abort",a),i.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},Me(r))}function hn(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function X(e,t){if(hn(e))return e;if(fn(e))return mn(e,t);if(e!=null){let n=e;if(typeof n[Symbol.asyncIterator]=="function")return gn(e,t);if(typeof n[Symbol.iterator]=="function")return gt(e,t)}return yn(e)}function yn(...e){return gt(e,void 0)}function V(e){return new Promise((t,n)=>{let r=!1,s=!1,i;i=e.subscribe(a=>{for(let o of a){if(r)return;if(o[0]===E){r=!0,t(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===v){r=!0,n(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===N){r=!0,n(new Error("completed without DATA")),i?(i(),i=void 0):s=!0;return}}}),s&&(i?.(),i=void 0)})}var ht=R(()=>{"use strict";Y();mt()});var ce=R(()=>{"use strict";ht()});var K,Le=R(()=>{"use strict";K=class{_timer;_gen=0;start(t,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},t)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});function Tn(e){return e<0?0:e}function yt(e){let t=5,n=30*1e9,r=null,s=1,i=k;function a(m){t=Math.max(1,m?.failureThreshold??5),n=Tn(m?.cooldownNs??30*1e9),r=m?.cooldown??null,s=Math.max(1,m?.halfOpenMax??1),i=m?.now??k}let o="closed",c=0,d=0,u=0,l=n,p=0,f=wn(e,m=>{a(m),o="closed",c=0,d=0,p=0,l=n});a(f.current()),l=n;function h(){if(!r)return n;let m=r(d);return m!==null?m:n}function y(){o="open",l=h(),u=i(),p=0}return{canExecute(){return o==="closed"?!0:o==="open"?i()-u>=l?(o="half-open",p=1,!0):!1:p<s?(p++,!0):!1},recordSuccess(){o==="half-open"?(o="closed",c=0,d=0):o==="closed"&&(c=0)},recordFailure(m){if(o==="half-open"){d++,y();return}o==="closed"&&(c++,c>=t&&y())},get state(){return o},get failureCount(){return c},reset(){o="closed",c=0,d=0,p=0},dispose(){f.unsub()}}}function kn(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function wn(e,t){if(!kn(e))return{current:()=>e,unsub:()=>{}};let n=e,r=n.cache,s=n.subscribe(i=>{for(let a of i)a[0]===E&&(r=a[1],t&&t(r))});return{current:()=>r,unsub:s}}var Or,bt=R(()=>{"use strict";M();Y();Or=Object.freeze({droppedCount:0,pendingCount:0,paused:!1})});var Tt=R(()=>{"use strict";bt()});var Jn={};qt(Jn,{chromeNanoAdapter:()=>q,cloudFirstPreset:()=>zn,localFirstPreset:()=>$n,offlinePreset:()=>qn,webllmAdapter:()=>J});module.exports=Qt(Jn);M();function Ve(){let e=new Error("aborted");return e.name="AbortError",e}function q(e={}){let t=e.streamMode??"accumulated",n=e.navigatorOverride??globalThis.navigator,r=()=>{let o=n?.ai;if(!o?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return o},s=async o=>r().languageModel.create({systemPrompt:o?.systemPrompt??e.systemPrompt,temperature:o?.temperature??e.temperature,topK:e.topK,signal:o?.signal}),i=o=>{let c=[];for(let d of o)d.role!=="system"&&c.push(`${d.role}: ${d.content}`);return c.join(`
|
|
2
2
|
|
|
3
|
-
`)},a=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(o,c){let d=await s(c);try{let
|
|
4
|
-
`);
|
|
3
|
+
`)},a=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(o,c){let d=await s(c);try{let u=i(o),l=k(),p=await d.prompt(u,{signal:c?.signal}),f=Math.max(0,(k()-l)/1e6);return{content:p,usage:a(),finishReason:"stop",latencyMs:f,model:"chrome-nano",provider:"chrome-nano"}}finally{d.destroy?.()}},async*stream(o,c){let d=await s(c);try{let u=i(o);if(t==="delta")for await(let l of d.promptStreaming(u,{signal:c?.signal})){if(c?.signal?.aborted)throw Ve();l&&(yield{type:"token",delta:l})}else{let l="";for await(let p of d.promptStreaming(u,{signal:c?.signal})){if(c?.signal?.aborted)throw Ve();let f=p.startsWith(l)?p.slice(l.length):p;l=p,f&&(yield{type:"token",delta:f})}}yield{type:"usage",usage:a()},yield{type:"finish",reason:"stop"}}finally{d.destroy?.()}}}}M();function Yt(){let e=new Error("aborted");return e.name="AbortError",e}function J(e){let t=e.engine,n=async()=>{if(t)return t;if(!Xt(e.navigatorOverride))throw new Error("webllmAdapter: WebGPU not available in this environment");let a=(await import("@mlc-ai/web-llm").catch(()=>{throw new Error("webllmAdapter: @mlc-ai/web-llm not installed. Add it as a peer dependency or pass opts.engine.")})).CreateMLCEngine;if(!a)throw new Error("webllmAdapter: @mlc-ai/web-llm missing CreateMLCEngine export");return t=await a(e.model,{initProgressCallback:e.initProgressCallback}),t},r=(i,a)=>{let o=[];a?.systemPrompt&&o.push({role:"system",content:a.systemPrompt});for(let c of i)o.push({role:c.role==="tool"?"user":c.role,content:c.content});return o},s=i=>({input:{regular:i?.prompt_tokens??0},output:{regular:i?.completion_tokens??0},raw:i});return{provider:"webllm",model:e.model,async invoke(i,a){let o=await n(),c=k(),d=await o.chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature},{signal:a?.signal}),u=Math.max(0,(k()-c)/1e6),l=d.choices?.[0];return{content:l?.message?.content??"",usage:s(d.usage),finishReason:l?.finish_reason,latencyMs:u,model:e.model,provider:"webllm"}},async*stream(i,a){let c=await(await n()).chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature,stream:!0},{signal:a?.signal}),d,u;for await(let l of c){if(a?.signal?.aborted)throw Yt();let p=l.choices?.[0];p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.finish_reason&&(u=p.finish_reason),l.usage&&(d=l.usage)}d&&(yield{type:"usage",usage:s(d)}),yield{type:"finish",reason:u??"stop"}}}}function Xt(e){let t=e??globalThis.navigator;return!!(t&&"gpu"in t&&t.gpu)}M();async function*W(e,t){let n=t?.parse??(T=>T),r=t?.signal,s=new TextDecoder,i="",a="message",o=[],c,d,u=[],l=()=>{if(o.length===0&&a==="message"&&c===void 0){o=[];return}let T=o.join(`
|
|
4
|
+
`);u.push({event:a,data:n(T),id:c,retry:d}),a="message",o=[],c=void 0,d=void 0},p=T=>{if(T===""){l();return}if(T.startsWith(":"))return;let b=T.indexOf(":"),w=b<0?T:T.slice(0,b),x=b<0?"":T.slice(b+1);switch(x.startsWith(" ")&&(x=x.slice(1)),w){case"event":a=x;break;case"data":o.push(x);break;case"id":x.includes("\0")||(c=x);break;case"retry":{let C=Number(x);Number.isFinite(C)&&(d=C);break}}},f=(T,b)=>{i+=s.decode(T,{stream:!b});let w=i.split(/\r?\n/);i=w.pop()??"";for(let x of w)p(x)},h=e,y=e instanceof ReadableStream?e:h&&typeof h=="object"&&h.body instanceof ReadableStream?h.body:null,g,m,_=!1,S=()=>{_||(_=!0,g&&g.cancel().catch(()=>{}),m&&typeof m.return=="function"&&Promise.resolve(m.return()).catch(()=>{}))},O=()=>{S()};if(r){if(r.aborted)return;r.addEventListener("abort",O,{once:!0})}try{if(y){for(g=y.getReader();!r?.aborted;){let{value:T,done:b}=await g.read();if(b)break;for(f(T,!1);u.length>0;)yield u.shift()}f(new Uint8Array,!0)}else{for(m=e[Symbol.asyncIterator]();!r?.aborted;){let b=await m.next();if(b.done)break;for(f(b.value,!1);u.length>0;)yield u.shift()}f(new Uint8Array,!0)}if(i.trim()){for(let T of i.split(/\r?\n/))p(T);l()}for(;u.length>0;)yield u.shift()}finally{r&&r.removeEventListener("abort",O),S()}}async function F(e,t){let n;try{n=await e.text()}catch{n=""}let r=t??"HTTP",s=new Error(`${r} API ${e.status}: ${e.statusText}${n?` \u2014 ${n}`:""}`);return s.status=e.status,s.headers=e.headers,s}function kt(e={}){return e.sdk?An(e):Sn(e)}function de(e,t,n,r){let s=t?.model??n;if(!s)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:i,chat:a}=vn(e,t?.systemPrompt),o={model:s,messages:a.map(xn),max_tokens:t?.maxTokens??4096};return i&&(o.system=i),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(_n)),t?.maxReasoningTokens!=null&&(o.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,r&&(o.stream=!0),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function vn(e,t){let n=[];t&&n.push(t);let r=[];for(let s of e)s.role==="system"?n.push(s.content):r.push(s);return{system:n.length>0?n.join(`
|
|
5
5
|
|
|
6
|
-
`):void 0,chat:r}}function Tn(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let n of e.toolCalls)t.push({type:"tool_use",id:n.id,name:n.name,input:n.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function wn(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function le(e,t){if(!e)return{...t};let n={...e};return t.input_tokens!=null&&(n.input_tokens=t.input_tokens),t.output_tokens!=null&&(n.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(n.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(n.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(n.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(n.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),n}function Pe(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function wt(e,t){let n=[],r=[];for(let s of e.content)if(s.type==="text"&&typeof s.text=="string")n.push(s.text);else if(s.type==="tool_use"){let i=s;r.push({id:i.id,name:i.name,arguments:i.input??{}})}return{content:n.join(""),toolCalls:r.length>0?r:void 0,usage:Pe(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function vn(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,n=e.baseURL??"https://api.anthropic.com",r=e.anthropicVersion??"2023-06-01",s=e.fetchImpl??fetch,i=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":r,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,o){let c=de(a,o,e.model,!1),d=w(),l=await s(`${n}/v1/messages`,{method:"POST",headers:i(),body:JSON.stringify(c),signal:o?.signal});if(!l.ok)throw await O(l,"Anthropic");let u=await l.json(),p=Math.max(0,(w()-d)/1e6);return wt(u,p)},async*stream(a,o){let c=de(a,o,e.model,!0),d=await s(`${n}/v1/messages`,{method:"POST",headers:{...i(),accept:"text/event-stream"},body:JSON.stringify(c),signal:o?.signal});if(!d.ok)throw await O(d,"Anthropic");if(!d.body)throw new Error("anthropicAdapter: streaming response has no body");let l,u,p=new Map;for await(let f of W(d.body,{signal:o?.signal})){let g=f.data;if(!g)continue;let y;try{y=JSON.parse(g)}catch{continue}switch(y.type){case"message_start":{l=le(l,y.message.usage);break}case"content_block_start":{let m=y,h=m.content_block;h.type==="tool_use"&&(p.set(m.index,{id:String(h.id??""),name:String(h.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(h.id??""),name:String(h.name??"")}});break}case"content_block_delta":{let m=y,h=m.delta;if(h.type==="text_delta"&&typeof h.text=="string")yield{type:"token",delta:h.text};else if(h.type==="input_json_delta"&&typeof h.partial_json=="string"){let _=p.get(m.index);_&&(_.argBuf+=h.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:h.partial_json}}}else h.type==="thinking_delta"&&typeof h.thinking=="string"&&(yield{type:"thinking",delta:h.thinking});break}case"message_delta":{let m=y;m.delta.stop_reason&&(u=m.delta.stop_reason),m.delta.usage&&(l=le(l,m.delta.usage));break}case"message_stop":break}}l&&(yield{type:"usage",usage:Pe(l)}),yield{type:"finish",reason:u??"stop"}}}}function xn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(n,r){let s=de(n,r,e.model,!1),i=w(),a=await t.messages.create(s,{signal:r?.signal}),o=Math.max(0,(w()-i)/1e6);return wt(a,o)},async*stream(n,r){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let s=de(n,r,e.model,!0),i,a;for await(let o of t.messages.stream(s,{signal:r?.signal}))switch(o.type){case"message_start":i=le(i,o.message.usage);break;case"content_block_delta":{let c=o.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=o;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(i=le(i,c.delta.usage));break}}i&&(yield{type:"usage",usage:Pe(i)}),yield{type:"finish",reason:a??"stop"}}}}Oe();function ue(){let e=new Error("aborted");return e.name="AbortError",e}function vt(e,t){return e<=0?Promise.resolve():t?.aborted?Promise.reject(ue()):new Promise((n,r)=>{let s=new V,i,a=()=>{s.cancel(),t&&i&&t.removeEventListener("abort",i)};s.start(e,()=>{a(),n()}),t&&(i=()=>{a(),r(ue())},t.addEventListener("abort",i,{once:!0}))})}function pe(e={}){let t=e.provider??"dry-run",n=e.model??"dry-run-v1",r=e.latencyMs??0,s=Math.max(1,e.streamChunkSize??16),i=e.respond??(o=>{let c=[...o].reverse().find(d=>d.role==="user");return c?`echo: ${c.content}`:"dry-run: no user message"}),a=e.usage??((o,c)=>{let d=o.reduce((l,u)=>l+u.content.length,0);return{input:{regular:Math.ceil(d/4)},output:{regular:Math.ceil(c.length/4)}}});return{provider:t,model:n,async invoke(o,c){if(await vt(r,c?.signal),c?.signal?.aborted)throw ue();let d=i(o,c),l=a(o,d);return{content:d,usage:l,finishReason:"stop",model:c?.model??n,provider:t,tier:c?.tier,metadata:{dryRun:!0}}},async*stream(o,c){let d=i(o,c),l=a(o,d),u=Math.ceil(d.length/s)||1,p=r>0?r/u:0;for(let f=0;f<d.length;f+=s){if(c?.signal?.aborted)throw ue();await vt(p,c?.signal),yield{type:"token",delta:d.slice(f,f+s)}}yield{type:"usage",usage:l},yield{type:"finish",reason:"stop"}}}}L();async function fe(e){let t=typeof e=="string"?new TextEncoder().encode(e):e,n=await globalThis.crypto.subtle.digest("SHA-256",t),r=new Uint8Array(n),s="";for(let i=0;i<r.length;i++)s+=xt[r[i]];return s}var xt=new Array(256);for(let e=0;e<256;e++)xt[e]=e.toString(16).padStart(2,"0");function Ie(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ie);let t=e,n=Object.keys(t).sort(),r={};for(let s of n)r[s]=Ie(t[s]);return r}function _t(e){return JSON.stringify(Ie(e),void 0,0)}var _n=new TextEncoder,Sn=new TextDecoder("utf-8",{fatal:!0}),An={name:"json",version:1,encode(e){return _n.encode(_t(e))},decode(e){return JSON.parse(Sn.decode(e))}};function Rn(){let e=new Map;return{name:"memory",read(t){let n=e.get(t);return n===void 0?void 0:new Uint8Array(n)},write(t,n){e.set(t,new Uint8Array(n))},delete(t){e.delete(t)},list(t){let n=[...e.keys()];return t?n.filter(r=>r.startsWith(t)).sort():n.sort()}}}function En(e,t={}){let n=t.codec??An,r=t.name??e.name??"kv",s=t.compactEvery,i=new Map,a=0,o={name:r,debounceMs:t.debounceMs,compactEvery:s,filter:t.filter,save(d,l){if(!(t.filter&&!t.filter(d,l))&&(i.set(d,l),a+=1,s!==void 0&&a%s===0||!t.debounceMs))return c()},load(d){let l=e.read(d);if(l!==void 0)return l instanceof Uint8Array?l.length===0?void 0:n.decode(l):Promise.resolve(l).then(u=>u===void 0||u.length===0?void 0:n.decode(u))},delete(d){if(i.delete(d),!!e.delete)return e.delete(d)},list(d){return e.list?e.list(d):[]},async flush(){await c()},async rollback(){i=new Map}};function c(){if(i.size===0)return;let d=i;i=new Map;let l=[];for(let[u,p]of d){let f=n.encode(p),g=e.write(u,f);g instanceof Promise&&l.push(g)}if(l.length>0)return Promise.all(l).then(()=>{})}return o}function Fe(e){return En(Rn(),e)}L();var De=class extends Error{constructor(n,r){super(`content-addressed lookup miss in read-strict mode: ${n}`);this.key=n;this.context=r;this.name="ContentAddressedMissError"}};function Ue(e){let t=new Set,n=r=>{if(r===null||typeof r!="object")return r;let s=r;if(t.has(s))return{__cycle:!0};t.add(s);try{if(Array.isArray(r))return r.map(n);let i={};for(let a of Object.keys(r).sort())i[a]=n(r[a]);return i}finally{t.delete(s)}};return JSON.stringify(n(e))}function St(e){let{storage:t,keyContext:n,keyPrefix:r,mode:s="read-write"}=e,i=n??(o=>o);async function a(o){let c=Ue(i(o)),d=await fe(c);return r?`${r}:${d}`:d}return{keyFor:a,async lookup(o){if(s==="write")return;let c=await a(o),d=await t.load(c);if(d===void 0){if(s==="read-strict")throw new De(c,o);return}return d},async store(o,c){if(s==="read")return;let d=await a(o);await t.save(d,c)},async forget(o){if(s==="read"||s==="write"||!t.delete)return;let c=await a(o);await t.delete(c)}}}ce();function At(e,t={}){let n=t.keyFn??(s=>String(s)),r=new Map;return s=>{let i=n(s),a=r.get(i);if(a)return a;let o=e(s),c;o!=null&&typeof o.then=="function"?c=Promise.resolve(o):o!=null&&typeof o=="object"&&"subscribe"in o&&"cache"in o?c=K(o):o!=null&&typeof o=="object"&&Symbol.asyncIterator in o?c=(async()=>{let u=o[Symbol.asyncIterator]();try{let{value:p,done:f}=await u.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return p}finally{await u.return?.()}})():o!=null&&typeof o=="object"&&Symbol.iterator in o?c=(async()=>{let u=o[Symbol.iterator]();try{let{value:p,done:f}=u.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return p}finally{u.return?.()}})():c=Promise.resolve(o);let d,l=()=>{r.get(i)===d&&r.delete(i)};return d=c.then(u=>(l(),u),u=>{throw l(),u}),r.set(i,d),d}}ce();Oe();function Rt(e){let{storage:t,mode:n="read-write",keyFn:r,keyPrefix:s="llm-replay"}=e,a=St({storage:t,keyPrefix:s,mode:n==="read-strict"?"read":n,keyContext:({messages:c,opts:d})=>{let{signal:l,keyContext:u,...p}=d??{};return{messages:c,opts:p}}});async function o(c,d){if(r){if(r.length<=1){let u={messages:c,opts:d,context:d?.keyContext},p=await r(u);return`${s}:${p}`}let l=await r(c,d);return`${s}:${l}`}return a.keyFor({messages:c,opts:d})}return{keyFor:o,async lookup(c,d){if(n!=="write"){if(r){let l=await o(c,d),u=await t.load(l);return u===void 0?void 0:u}return a.lookup({messages:c,opts:d})}},async store(c,d,l){if(n!=="read"){if(r){let u=await o(c,d);await t.save(u,l);return}await a.store({messages:c,opts:d},l)}},async forget(c,d){if(!(n==="read"||n==="write")&&t.delete){if(r){let l=await o(c,d);await t.delete(l);return}await a.forget({messages:c,opts:d})}}}}function Et(e,t,n){return{provider:n?.provider??e.provider,model:n?.model??e.model,capabilities:n?.capabilities??e.capabilities?.bind(e),invoke:t.invoke,stream:t.stream}}var Ct=Symbol.for("graphrefly.adapter.middlewareLayers");function me(e,t,n){let s=[...n?Cn(n):[],t];return Object.defineProperty(e,Ct,{value:Object.freeze(s),enumerable:!1,writable:!1,configurable:!1}),e}function Cn(e){let t=e[Ct];return Array.isArray(t)?t:[]}var X=class extends Error{constructor(n,r){super(`withReplayCache: no cached response for ${r} (key=${n}, mode=read-strict)`);this.key=n;this.method=r}name="ReplayCacheMissError"};function Mt(e,t){let n=t.mode??"read-write",r=t.cacheStreaming??!1,s=t.captureStreamCadence??!1,i=t.replaySpeed??1,a=t.keyPrefix??"llm-replay",o=n==="read"||n==="read-strict",c=Rt({storage:t.storage,mode:n==="write-only"?"write":n,keyFn:t.keyFn,keyPrefix:a}),d=p=>p<=0?Promise.resolve():new Promise(f=>{new V().start(p,()=>f())}),l=At(async({messages:p,invokeOpts:f})=>await K(Y(e.invoke(p,f))),{keyFn:({_precomputedKey:p})=>p}),u=Et(e,{async invoke(p,f){let g=await c.keyFor(p,f),y=await c.lookup(p,f);if(y?.response){let h=y.response;return{...h,metadata:{...h.metadata??{},replayCache:"hit"}}}if(n==="read-strict")throw new X(g,"invoke");let m=await l({messages:p,invokeOpts:f,_precomputedKey:g});return o||await c.store(p,f,{response:m,storedAtNs:D()}),m},async*stream(p,f){if(!r){for await(let b of e.stream(p,f))yield b;return}let g=await c.keyFor(p,f),y=await c.lookup(p,f);if(y){let b=y.response;if(y.streamChunks&&y.streamCadenceMs)for(let T=0;T<y.streamChunks.length;T++){let x=y.streamCadenceMs[T]??0,N=i>0?x/i:0;N>0&&await d(N),yield{type:"token",delta:y.streamChunks[T]?.delta??""}}else b.content&&(yield{type:"token",delta:b.content});b.usage&&(yield{type:"usage",usage:b.usage}),yield{type:"finish",reason:b.finishReason??"stop"};return}if(n==="read-strict")throw new X(g,"stream");let m="",h,_,S=[],M=[],k;for await(let b of e.stream(p,f)){if(b.type==="token"&&(m+=b.delta,s)){let T=w(),x=k===void 0?0:(T-k)/1e6;M.push(x),k=T,S.push({delta:b.delta})}b.type==="usage"&&(h=b.usage),b.type==="finish"&&(_=b.reason),yield b}if((m||h)&&!o){let T={response:{content:m,usage:h??{input:{regular:0},output:{regular:0}},finishReason:_,model:e.model??f?.model??"",provider:e.provider},storedAtNs:D(),...s?{streamChunks:S,streamCadenceMs:M}:{}};await c.store(p,f,T)}}});return me(u,"withReplayCache",e),u}var Nt=Ue;function Lt(e,t){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Ot(e,t,n){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:n,provider:t,metadata:{degraded:!0,reason:"respond"}}:e}async function Mn(e,t){if("key"in e)return e.key;let n=Nt({messages:e.messages,opts:e.invokeOpts??{}}),r=await fe(n);return`${t}:${r}`}function Nn(e){let t={response:e.response,storedAtNs:D()};if("key"in e&&e.stream){let n=e.stream.chunks.filter(r=>r.type==="token");return{...t,streamChunks:n.map(r=>({delta:r.delta})),streamCadenceMs:e.stream.delaysMs??n.map(()=>0)}}return t}function Ln(e,t){let n=[];if(e.fixtures!=null&&n.push("fixtures"),e.fixturesStorage!=null&&n.push("fixturesStorage"),n.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${n.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(e.fixtures){let r=Fe(),s=e.fixtures,i=(async()=>{for(let a of s){let o=await Mn(a,t);await r.save(o,Nn(a))}})();return i.catch(()=>{}),{tier:r,seedReady:i}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Pt(e={}){let t=e.provider??"fallback",n=e.model??"fallback",r=e.onMiss??"respond",s=e.keyPrefix??"fallback",i=e.record?e.record.adapter:r==="throw"?pe({provider:t,model:n,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:t,model:n,async invoke(l,u){let p=e.respond?e.respond(l,u):Lt(t,n);return Ot(p,t,n)},async*stream(l,u){let p=e.respond?e.respond(l,u):Lt(t,n),f=Ot(p,t,n);yield{type:"token",delta:f.content},f.usage&&(yield{type:"usage",usage:f.usage}),yield{type:"finish",reason:f.finishReason??"stop"}}},a,o=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");a=e.record.storage}else{let l=Ln(e,s);a=l.tier??Fe(),o=l.seedReady}let c=e.record?"read-write":r==="throw"?"read-strict":"read",d=Mt(i,{storage:a,mode:c,keyPrefix:s,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:t,model:n,capabilities:d.capabilities?.bind(d),async invoke(l,u){return await o,d.invoke(l,u)},async*stream(l,u){await o;for await(let p of d.stream(l,u))yield p}}}L();function Ft(e={}){return e.sdk?Fn(e):In(e)}function ge(e,t){let n=[],r=[];t?.systemPrompt&&n.push(t.systemPrompt);for(let a of e){if(a.role==="system"){n.push(a.content);continue}if(a.role==="tool"){r.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let o=[];a.content&&o.push({text:a.content});for(let c of a.toolCalls)o.push({functionCall:{name:c.name,args:c.arguments}});r.push({role:"model",parts:o});continue}r.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let s={contents:r};n.length>0&&(s.systemInstruction={role:"system",parts:[{text:n.join(`
|
|
6
|
+
`):void 0,chat:r}}function xn(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let n of e.toolCalls)t.push({type:"tool_use",id:n.id,name:n.name,input:n.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function _n(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function ue(e,t){if(!e)return{...t};let n={...e};return t.input_tokens!=null&&(n.input_tokens=t.input_tokens),t.output_tokens!=null&&(n.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(n.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(n.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(n.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(n.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),n}function Pe(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function wt(e,t){let n=[],r=[];for(let s of e.content)if(s.type==="text"&&typeof s.text=="string")n.push(s.text);else if(s.type==="tool_use"){let i=s;r.push({id:i.id,name:i.name,arguments:i.input??{}})}return{content:n.join(""),toolCalls:r.length>0?r:void 0,usage:Pe(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function Sn(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,n=e.baseURL??"https://api.anthropic.com",r=e.anthropicVersion??"2023-06-01",s=e.fetchImpl??fetch,i=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":r,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,o){let c=de(a,o,e.model,!1),d=k(),u=await s(`${n}/v1/messages`,{method:"POST",headers:i(),body:JSON.stringify(c),signal:o?.signal});if(!u.ok)throw await F(u,"Anthropic");let l=await u.json(),p=Math.max(0,(k()-d)/1e6);return wt(l,p)},async*stream(a,o){let c=de(a,o,e.model,!0),d=await s(`${n}/v1/messages`,{method:"POST",headers:{...i(),accept:"text/event-stream"},body:JSON.stringify(c),signal:o?.signal});if(!d.ok)throw await F(d,"Anthropic");if(!d.body)throw new Error("anthropicAdapter: streaming response has no body");let u,l,p=new Map;for await(let f of W(d.body,{signal:o?.signal})){let h=f.data;if(!h)continue;let y;try{y=JSON.parse(h)}catch{continue}switch(y.type){case"message_start":{u=ue(u,y.message.usage);break}case"content_block_start":{let g=y,m=g.content_block;m.type==="tool_use"&&(p.set(g.index,{id:String(m.id??""),name:String(m.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(m.id??""),name:String(m.name??"")}});break}case"content_block_delta":{let g=y,m=g.delta;if(m.type==="text_delta"&&typeof m.text=="string")yield{type:"token",delta:m.text};else if(m.type==="input_json_delta"&&typeof m.partial_json=="string"){let _=p.get(g.index);_&&(_.argBuf+=m.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:m.partial_json}}}else m.type==="thinking_delta"&&typeof m.thinking=="string"&&(yield{type:"thinking",delta:m.thinking});break}case"message_delta":{let g=y;g.delta.stop_reason&&(l=g.delta.stop_reason),g.delta.usage&&(u=ue(u,g.delta.usage));break}case"message_stop":break}}u&&(yield{type:"usage",usage:Pe(u)}),yield{type:"finish",reason:l??"stop"}}}}function An(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(n,r){let s=de(n,r,e.model,!1),i=k(),a=await t.messages.create(s,{signal:r?.signal}),o=Math.max(0,(k()-i)/1e6);return wt(a,o)},async*stream(n,r){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let s=de(n,r,e.model,!0),i,a;for await(let o of t.messages.stream(s,{signal:r?.signal}))switch(o.type){case"message_start":i=ue(i,o.message.usage);break;case"content_block_delta":{let c=o.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=o;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(i=ue(i,c.delta.usage));break}}i&&(yield{type:"usage",usage:Pe(i)}),yield{type:"finish",reason:a??"stop"}}}}Le();function le(){let e=new Error("aborted");return e.name="AbortError",e}function vt(e,t){return e<=0?Promise.resolve():t?.aborted?Promise.reject(le()):new Promise((n,r)=>{let s=new K,i,a=()=>{s.cancel(),t&&i&&t.removeEventListener("abort",i)};s.start(e,()=>{a(),n()}),t&&(i=()=>{a(),r(le())},t.addEventListener("abort",i,{once:!0}))})}function pe(e={}){let t=e.provider??"dry-run",n=e.model??"dry-run-v1",r=e.latencyMs??0,s=Math.max(1,e.streamChunkSize??16),i=e.respond??(o=>{let c=[...o].reverse().find(d=>d.role==="user");return c?`echo: ${c.content}`:"dry-run: no user message"}),a=e.usage??((o,c)=>{let d=o.reduce((u,l)=>u+l.content.length,0);return{input:{regular:Math.ceil(d/4)},output:{regular:Math.ceil(c.length/4)}}});return{provider:t,model:n,async invoke(o,c){if(await vt(r,c?.signal),c?.signal?.aborted)throw le();let d=i(o,c),u=a(o,d);return{content:d,usage:u,finishReason:"stop",model:c?.model??n,provider:t,tier:c?.tier,metadata:{dryRun:!0}}},async*stream(o,c){let d=i(o,c),u=a(o,d),l=Math.ceil(d.length/s)||1,p=r>0?r/l:0;for(let f=0;f<d.length;f+=s){if(c?.signal?.aborted)throw le();await vt(p,c?.signal),yield{type:"token",delta:d.slice(f,f+s)}}yield{type:"usage",usage:u},yield{type:"finish",reason:"stop"}}}}M();async function fe(e){let t=typeof e=="string"?new TextEncoder().encode(e):e,n=await globalThis.crypto.subtle.digest("SHA-256",t),r=new Uint8Array(n),s="";for(let i=0;i<r.length;i++)s+=xt[r[i]];return s}var xt=new Array(256);for(let e=0;e<256;e++)xt[e]=e.toString(16).padStart(2,"0");function Ie(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ie);let t=e,n=Object.keys(t).sort(),r={};for(let s of n)r[s]=Ie(t[s]);return r}function _t(e){return JSON.stringify(Ie(e),void 0,0)}var Rn=new TextEncoder,En=new TextDecoder("utf-8",{fatal:!0}),Nn={name:"json",version:1,encode(e){return Rn.encode(_t(e))},decode(e){return JSON.parse(En.decode(e))}};function On(){let e=new Map;return{name:"memory",read(t){let n=e.get(t);return n===void 0?void 0:new Uint8Array(n)},write(t,n){e.set(t,new Uint8Array(n))},delete(t){e.delete(t)},list(t){let n=[...e.keys()];return t?n.filter(r=>r.startsWith(t)).sort():n.sort()}}}function Cn(e,t={}){let n=t.codec??Nn,r=t.name??e.name??"kv",s=t.compactEvery,i=new Map,a=0,o={name:r,debounceMs:t.debounceMs,compactEvery:s,filter:t.filter,save(d,u){if(!(t.filter&&!t.filter(d,u))&&(i.set(d,u),a+=1,s!==void 0&&a%s===0||!t.debounceMs))return c()},load(d){let u=e.read(d);if(u!==void 0)return u instanceof Uint8Array?u.length===0?void 0:n.decode(u):Promise.resolve(u).then(l=>l===void 0||l.length===0?void 0:n.decode(l))},delete(d){if(i.delete(d),!!e.delete)return e.delete(d)},list(d){return e.list?e.list(d):[]},async flush(){await c()},async rollback(){i=new Map}};function c(){if(i.size===0)return;let d=i;i=new Map;let u=[];for(let[l,p]of d){let f=n.encode(p),h=e.write(l,f);h instanceof Promise&&u.push(h)}if(u.length>0)return Promise.all(u).then(()=>{})}return o}function Fe(e){return Cn(On(),e)}M();var De=class extends Error{constructor(n,r){super(`content-addressed lookup miss in read-strict mode: ${n}`);this.key=n;this.context=r;this.name="ContentAddressedMissError"}};function Ue(e){let t=new Set,n=r=>{if(r===null||typeof r!="object")return r;let s=r;if(t.has(s))return{__cycle:!0};t.add(s);try{if(Array.isArray(r))return r.map(n);let i={};for(let a of Object.keys(r).sort())i[a]=n(r[a]);return i}finally{t.delete(s)}};return JSON.stringify(n(e))}function St(e){let{storage:t,keyContext:n,keyPrefix:r,mode:s="read-write"}=e,i=n??(o=>o);async function a(o){let c=Ue(i(o)),d=await fe(c);return r?`${r}:${d}`:d}return{keyFor:a,async lookup(o){if(s==="write")return;let c=await a(o),d=await t.load(c);if(d===void 0){if(s==="read-strict")throw new De(c,o);return}return d},async store(o,c){if(s==="read")return;let d=await a(o);await t.save(d,c)},async forget(o){if(s==="read"||s==="write"||!t.delete)return;let c=await a(o);await t.delete(c)}}}ce();function At(e,t={}){let n=t.keyFn??(s=>String(s)),r=new Map;return s=>{let i=n(s),a=r.get(i);if(a)return a;let o=e(s),c;o!=null&&typeof o.then=="function"?c=Promise.resolve(o):o!=null&&typeof o=="object"&&"subscribe"in o&&"cache"in o?c=V(o):o!=null&&typeof o=="object"&&Symbol.asyncIterator in o?c=(async()=>{let l=o[Symbol.asyncIterator]();try{let{value:p,done:f}=await l.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return p}finally{await l.return?.()}})():o!=null&&typeof o=="object"&&Symbol.iterator in o?c=(async()=>{let l=o[Symbol.iterator]();try{let{value:p,done:f}=l.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return p}finally{l.return?.()}})():c=Promise.resolve(o);let d,u=()=>{r.get(i)===d&&r.delete(i)};return d=c.then(l=>(u(),l),l=>{throw u(),l}),r.set(i,d),d}}ce();Le();function Rt(e){let{storage:t,mode:n="read-write",keyFn:r,keyPrefix:s="llm-replay"}=e,a=St({storage:t,keyPrefix:s,mode:n==="read-strict"?"read":n,keyContext:({messages:c,opts:d})=>{let{signal:u,keyContext:l,...p}=d??{};return{messages:c,opts:p}}});async function o(c,d){if(r){if(r.length<=1){let l={messages:c,opts:d,context:d?.keyContext},p=await r(l);return`${s}:${p}`}let u=await r(c,d);return`${s}:${u}`}return a.keyFor({messages:c,opts:d})}return{keyFor:o,async lookup(c,d){if(n!=="write"){if(r){let u=await o(c,d),l=await t.load(u);return l===void 0?void 0:l}return a.lookup({messages:c,opts:d})}},async store(c,d,u){if(n!=="read"){if(r){let l=await o(c,d);await t.save(l,u);return}await a.store({messages:c,opts:d},u)}},async forget(c,d){if(!(n==="read"||n==="write")&&t.delete){if(r){let u=await o(c,d);await t.delete(u);return}await a.forget({messages:c,opts:d})}}}}function Et(e,t,n){return{provider:n?.provider??e.provider,model:n?.model??e.model,capabilities:n?.capabilities??e.capabilities?.bind(e),invoke:t.invoke,stream:t.stream}}var Nt=Symbol.for("graphrefly.adapter.middlewareLayers");function me(e,t,n){let s=[...n?Mn(n):[],t];return Object.defineProperty(e,Nt,{value:Object.freeze(s),enumerable:!1,writable:!1,configurable:!1}),e}function Mn(e){let t=e[Nt];return Array.isArray(t)?t:[]}var Z=class extends Error{constructor(n,r){super(`withReplayCache: no cached response for ${r} (key=${n}, mode=read-strict)`);this.key=n;this.method=r}name="ReplayCacheMissError"};function Ot(e,t){let n=t.mode??"read-write",r=t.cacheStreaming??!1,s=t.captureStreamCadence??!1,i=t.replaySpeed??1,a=t.keyPrefix??"llm-replay",o=n==="read"||n==="read-strict",c=Rt({storage:t.storage,mode:n==="write-only"?"write":n,keyFn:t.keyFn,keyPrefix:a}),d=p=>p<=0?Promise.resolve():new Promise(f=>{new K().start(p,()=>f())}),u=At(async({messages:p,invokeOpts:f})=>await V(X(e.invoke(p,f))),{keyFn:({_precomputedKey:p})=>p}),l=Et(e,{async invoke(p,f){let h=await c.keyFor(p,f),y=await c.lookup(p,f);if(y?.response){let m=y.response;return{...m,metadata:{...m.metadata??{},replayCache:"hit"}}}if(n==="read-strict")throw new Z(h,"invoke");let g=await u({messages:p,invokeOpts:f,_precomputedKey:h});return o||await c.store(p,f,{response:g,storedAtNs:D()}),g},async*stream(p,f){if(!r){for await(let b of e.stream(p,f))yield b;return}let h=await c.keyFor(p,f),y=await c.lookup(p,f);if(y){let b=y.response;if(y.streamChunks&&y.streamCadenceMs)for(let w=0;w<y.streamChunks.length;w++){let x=y.streamCadenceMs[w]??0,C=i>0?x/i:0;C>0&&await d(C),yield{type:"token",delta:y.streamChunks[w]?.delta??""}}else b.content&&(yield{type:"token",delta:b.content});b.usage&&(yield{type:"usage",usage:b.usage}),yield{type:"finish",reason:b.finishReason??"stop"};return}if(n==="read-strict")throw new Z(h,"stream");let g="",m,_,S=[],O=[],T;for await(let b of e.stream(p,f)){if(b.type==="token"&&(g+=b.delta,s)){let w=k(),x=T===void 0?0:(w-T)/1e6;O.push(x),T=w,S.push({delta:b.delta})}b.type==="usage"&&(m=b.usage),b.type==="finish"&&(_=b.reason),yield b}if((g||m)&&!o){let w={response:{content:g,usage:m??{input:{regular:0},output:{regular:0}},finishReason:_,model:e.model??f?.model??"",provider:e.provider},storedAtNs:D(),...s?{streamChunks:S,streamCadenceMs:O}:{}};await c.store(p,f,w)}}});return me(l,"withReplayCache",e),l}var Ct=Ue;function Mt(e,t){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Lt(e,t,n){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:n,provider:t,metadata:{degraded:!0,reason:"respond"}}:e}async function Ln(e,t){if("key"in e)return e.key;let n=Ct({messages:e.messages,opts:e.invokeOpts??{}}),r=await fe(n);return`${t}:${r}`}function Pn(e){let t={response:e.response,storedAtNs:D()};if("key"in e&&e.stream){let n=e.stream.chunks.filter(r=>r.type==="token");return{...t,streamChunks:n.map(r=>({delta:r.delta})),streamCadenceMs:e.stream.delaysMs??n.map(()=>0)}}return t}function In(e,t){let n=[];if(e.fixtures!=null&&n.push("fixtures"),e.fixturesStorage!=null&&n.push("fixturesStorage"),n.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${n.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(e.fixtures){let r=Fe(),s=e.fixtures,i=(async()=>{for(let a of s){let o=await Ln(a,t);await r.save(o,Pn(a))}})();return i.catch(()=>{}),{tier:r,seedReady:i}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Pt(e={}){let t=e.provider??"fallback",n=e.model??"fallback",r=e.onMiss??"respond",s=e.keyPrefix??"fallback",i=e.record?e.record.adapter:r==="throw"?pe({provider:t,model:n,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:t,model:n,async invoke(u,l){let p=e.respond?e.respond(u,l):Mt(t,n);return Lt(p,t,n)},async*stream(u,l){let p=e.respond?e.respond(u,l):Mt(t,n),f=Lt(p,t,n);yield{type:"token",delta:f.content},f.usage&&(yield{type:"usage",usage:f.usage}),yield{type:"finish",reason:f.finishReason??"stop"}}},a,o=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");a=e.record.storage}else{let u=In(e,s);a=u.tier??Fe(),o=u.seedReady}let c=e.record?"read-write":r==="throw"?"read-strict":"read",d=Ot(i,{storage:a,mode:c,keyPrefix:s,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:t,model:n,capabilities:d.capabilities?.bind(d),async invoke(u,l){return await o,d.invoke(u,l)},async*stream(u,l){await o;for await(let p of d.stream(u,l))yield p}}}M();function Ft(e={}){return e.sdk?Bn(e):Un(e)}function ge(e,t){let n=[],r=[];t?.systemPrompt&&n.push(t.systemPrompt);for(let a of e){if(a.role==="system"){n.push(a.content);continue}if(a.role==="tool"){r.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let o=[];a.content&&o.push({text:a.content});for(let c of a.toolCalls)o.push({functionCall:{name:c.name,args:c.arguments}});r.push({role:"model",parts:o});continue}r.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let s={contents:r};n.length>0&&(s.systemInstruction={role:"system",parts:[{text:n.join(`
|
|
7
7
|
|
|
8
|
-
`)}]});let i={};return t?.maxTokens!=null&&(i.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.maxReasoningTokens!=null&&(i.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(i).length>0&&(s.generationConfig=i),t?.tools&&t.tools.length>0&&(s.tools=[{functionDeclarations:t.tools.map(On)}]),t?.providerExtras&&Object.assign(s,t.providerExtras),s}function On(e){return{name:e.name,description:e.description,parameters:e.parameters}}function It(e,t,n){let r={},s=e.generationConfig;s&&(typeof s.maxOutputTokens=="number"&&(r.maxOutputTokens=s.maxOutputTokens),typeof s.temperature=="number"&&(r.temperature=s.temperature),s.thinkingConfig&&(r.thinkingConfig=s.thinkingConfig)),e.systemInstruction&&(r.systemInstruction=e.systemInstruction),e.tools&&(r.tools=e.tools);for(let[i,a]of Object.entries(e))i==="contents"||i==="generationConfig"||i==="systemInstruction"||i==="tools"||i==="abortSignal"||i==="model"||(r[i]=a);return n&&(r.abortSignal=n),{model:t,contents:e.contents,config:Object.keys(r).length>0?r:void 0}}function Be(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.promptTokenCount??0,r=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let s of e.promptTokensDetails){let i=s.modality?.toLowerCase();i==="image"?t.input.image=(t.input.image??0)+s.tokenCount:i==="audio"?t.input.audio=(t.input.audio??0)+s.tokenCount:i==="video"&&(t.input.video=(t.input.video??0)+s.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function Dt(e,t){let n=e.candidates?.[0],r=n?.content?.parts??[],s=[],i=[],a=0;for(let o of r)typeof o.text=="string"&&s.push(o.text),o.functionCall&&i.push({id:`${o.functionCall.name}-${a++}`,name:o.functionCall.name,arguments:o.functionCall.args??{}});return{content:s.join(""),toolCalls:i.length>0?i:void 0,usage:Be(e.usageMetadata),finishReason:n?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function Pn(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function In(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",n=e.fetchImpl??fetch,r=i=>{let a=i?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},s=()=>{let i=Pn(e);if(!i)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(i)}`};return{provider:"google",model:e.model,async invoke(i,a){let o=r(a),c=ge(i,a),d=w(),l=`${t}/models/${encodeURIComponent(o)}:generateContent?${s()}`,u=await n(l,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!u.ok)throw await O(u,"Google");let p=await u.json(),f=Math.max(0,(w()-d)/1e6);return Dt(p,f)},async*stream(i,a){let o=r(a),c=ge(i,a),d=`${t}/models/${encodeURIComponent(o)}:streamGenerateContent?alt=sse&${s()}`,l=await n(d,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await O(l,"Google");if(!l.body)throw new Error("googleAdapter: streaming response has no body");let u,p;for await(let f of W(l.body,{signal:a?.signal})){if(!f.data)continue;let g;try{g=JSON.parse(f.data)}catch{continue}let y=g.candidates?.[0];for(let m of y?.content?.parts??[])typeof m.text=="string"&&(m.thought?yield{type:"thinking",delta:m.text}:yield{type:"token",delta:m.text}),m.functionCall&&(yield{type:"tool-call-delta",delta:{name:m.functionCall.name,argumentsDelta:JSON.stringify(m.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),g.usageMetadata&&(u=g.usageMetadata)}u&&(yield{type:"usage",usage:Be(u)}),yield{type:"finish",reason:p??"stop"}}}}function Fn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(n,r){let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=It(s,i,r?.signal),o=w(),c=await t.models.generateContent(a),d=Math.max(0,(w()-o)/1e6);return Dt(c,d)},async*stream(n,r){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=It(s,i,r?.signal),o,c,d=await t.models.generateContentStream(a);for await(let l of d){let u=l.candidates?.[0];for(let p of u?.content?.parts??[])typeof p.text=="string"&&(p.thought?yield{type:"thinking",delta:p.text}:yield{type:"token",delta:p.text}),p.functionCall&&(yield{type:"tool-call-delta",delta:{name:p.functionCall.name,argumentsDelta:JSON.stringify(p.functionCall.args??{})}});u?.finishReason&&(c=u.finishReason),l.usageMetadata&&(o=l.usageMetadata)}o&&(yield{type:"usage",usage:Be(o)}),yield{type:"finish",reason:c??"stop"}}}}L();var Dn={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function Ut(e={}){return e.sdk?Hn(e):jn(e)}function he(e,t,n,r,s){let i=t?.model??n;if(!i)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(Un);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let o={model:i,messages:a};return t?.maxTokens!=null&&(o.max_tokens=t.maxTokens),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(Bn)),t?.maxReasoningTokens!=null&&(o.reasoning={max_tokens:t.maxReasoningTokens}),r&&(o.stream=!0,o.stream_options={include_usage:!0}),s&&Object.assign(o,s),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function Un(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function Bn(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function Ge(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.prompt_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(r=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,n-r)):t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let s=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,s-i),i>0&&(t.output.reasoning=i),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function Bt(e,t,n){let r=e.choices[0],s=r?.message,i=s?.content??"",a=(s?.tool_calls??[]).map(o=>({id:o.id,name:o.function.name,arguments:Gn(o.function.arguments)}));return{content:i,toolCalls:a.length>0?a:void 0,usage:Ge(e.usage),finishReason:r?.finish_reason,latencyMs:t,model:e.model,provider:n}}function Gn(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function Gt(e){let t=e.preset??"openai",n=Dn[t],r=e.baseURL??n.baseURL,s=e.provider??n.provider,i=n.apiKeyEnv,a=e.apiKey??(i?globalThis.process?.env?.[i]:void 0);return{provider:s,baseURL:r,apiKey:a}}function jn(e){let{provider:t,baseURL:n,apiKey:r}=Gt(e),s=e.fetchImpl??fetch,i=t!=="ollama",a=()=>{let o={"content-type":"application/json",...e.headers??{}};if(i){if(!r)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);o.authorization=`Bearer ${r}`}return o};return{provider:t,model:e.model,async invoke(o,c){let d=he(o,c,e.model,!1,e.bodyExtras),l=w(),u=await s(`${n}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(d),signal:c?.signal});if(!u.ok)throw await O(u,t);let p=await u.json(),f=Math.max(0,(w()-l)/1e6);return Bt(p,f,t)},async*stream(o,c){let d=he(o,c,e.model,!0,e.bodyExtras),l=await s(`${n}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(d),signal:c?.signal});if(!l.ok)throw await O(l,t);if(!l.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let u,p;for await(let f of W(l.body,{signal:c?.signal})){if(!f.data||f.data==="[DONE]")continue;let g;try{g=JSON.parse(f.data)}catch{continue}let y=g.choices;if(y){let m=y[0];if(m?.delta?.content&&(yield{type:"token",delta:m.delta.content}),m?.delta?.reasoning_content&&(yield{type:"thinking",delta:m.delta.reasoning_content}),m?.delta?.tool_calls)for(let h of m.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:h.id,name:h.function?.name,argumentsDelta:h.function?.arguments}};m?.finish_reason&&(p=m.finish_reason)}g.usage&&(u=g.usage,yield{type:"usage",usage:Ge(u)})}yield{type:"finish",reason:p??"stop"}}}}function Hn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:n}=Gt(e);return{provider:n,model:e.model,async invoke(r,s){let i=he(r,s,e.model,!1,e.bodyExtras),a=w(),o=await t.chat.completions.create(i,{signal:s?.signal}),c=Math.max(0,(w()-a)/1e6);return Bt(o,c,n)},async*stream(r,s){let i=he(r,s,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(i,{signal:s?.signal}),o,c;for await(let d of a){let l=d.choices;if(l){let p=l[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let u=d.usage;u&&(o=u,yield{type:"usage",usage:Ge(u)})}yield{type:"finish",reason:c??"stop"}}}}function je(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Tt(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Ft(t)}case"dry-run":{let t={model:e.model,...e.extras};return pe(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return Pt(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Ut(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}kt();ce();var ye=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let n=[];t.failed.size>0&&n.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&n.push(`skipped=[${t.skipped.map(r=>`${r.name}(${r.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${n.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function be(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let n=e.map(i=>({name:i.name,adapter:i.adapter,filter:i.filter,breaker:i.breaker?"canExecute"in i.breaker?i.breaker:yt(i.breaker):void 0})),r=t.streamRetryBeforeFirstChunk??!0,s={provider:"cascading",model:void 0,async invoke(i,a){let o=[],c=new Map;for(let l=0;l<n.length;l++){let u=n[l];if(u.filter&&!u.filter(i,a)){o.push({name:u.name,reason:"filter"});continue}if(u.breaker&&!u.breaker.canExecute()){o.push({name:u.name,reason:"breaker"});continue}try{let p=await K(Y(u.adapter.invoke(i,a)));return u.breaker?.recordSuccess(),{...p,metadata:{...p.metadata??{},tier:u.name}}}catch(p){c.set(u.name,p),u.breaker?.recordFailure(p);let f=n[l+1];f&&t.onFallback?.(u.name,f.name,p)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)},async*stream(i,a){let o=[],c=new Map;for(let l=0;l<n.length;l++){let u=n[l];if(u.filter&&!u.filter(i,a)){o.push({name:u.name,reason:"filter"});continue}if(u.breaker&&!u.breaker.canExecute()){o.push({name:u.name,reason:"breaker"});continue}let p=!1;try{for await(let f of u.adapter.stream(i,a))p=!0,yield f;u.breaker?.recordSuccess();return}catch(f){if(c.set(u.name,f),u.breaker?.recordFailure(f),p||!r)throw f;let g=n[l+1];g&&t.onFallback?.(u.name,g.name,f)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)}};return me(s,`cascade[${n.map(i=>i.name).join(",")}]`),s}function Kn(e){let t=[{name:"cloud",adapter:je(e.cloud)}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function Vn(e){let t=[{name:"ollama",adapter:je({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function Wn(e){let t=[{name:"webllm",adapter:J({model:e.webllmModel})}];return e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}0&&(module.exports={chromeNanoAdapter,cloudFirstPreset,localFirstPreset,offlinePreset,webllmAdapter});
|
|
8
|
+
`)}]});let i={};return t?.maxTokens!=null&&(i.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.maxReasoningTokens!=null&&(i.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(i).length>0&&(s.generationConfig=i),t?.tools&&t.tools.length>0&&(s.tools=[{functionDeclarations:t.tools.map(Fn)}]),t?.providerExtras&&Object.assign(s,t.providerExtras),s}function Fn(e){return{name:e.name,description:e.description,parameters:e.parameters}}function It(e,t,n){let r={},s=e.generationConfig;s&&(typeof s.maxOutputTokens=="number"&&(r.maxOutputTokens=s.maxOutputTokens),typeof s.temperature=="number"&&(r.temperature=s.temperature),s.thinkingConfig&&(r.thinkingConfig=s.thinkingConfig)),e.systemInstruction&&(r.systemInstruction=e.systemInstruction),e.tools&&(r.tools=e.tools);for(let[i,a]of Object.entries(e))i==="contents"||i==="generationConfig"||i==="systemInstruction"||i==="tools"||i==="abortSignal"||i==="model"||(r[i]=a);return n&&(r.abortSignal=n),{model:t,contents:e.contents,config:Object.keys(r).length>0?r:void 0}}function Be(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.promptTokenCount??0,r=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let s of e.promptTokensDetails){let i=s.modality?.toLowerCase();i==="image"?t.input.image=(t.input.image??0)+s.tokenCount:i==="audio"?t.input.audio=(t.input.audio??0)+s.tokenCount:i==="video"&&(t.input.video=(t.input.video??0)+s.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function Dt(e,t){let n=e.candidates?.[0],r=n?.content?.parts??[],s=[],i=[],a=0;for(let o of r)typeof o.text=="string"&&s.push(o.text),o.functionCall&&i.push({id:`${o.functionCall.name}-${a++}`,name:o.functionCall.name,arguments:o.functionCall.args??{}});return{content:s.join(""),toolCalls:i.length>0?i:void 0,usage:Be(e.usageMetadata),finishReason:n?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function Dn(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function Un(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",n=e.fetchImpl??fetch,r=i=>{let a=i?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},s=()=>{let i=Dn(e);if(!i)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(i)}`};return{provider:"google",model:e.model,async invoke(i,a){let o=r(a),c=ge(i,a),d=k(),u=`${t}/models/${encodeURIComponent(o)}:generateContent?${s()}`,l=await n(u,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await F(l,"Google");let p=await l.json(),f=Math.max(0,(k()-d)/1e6);return Dt(p,f)},async*stream(i,a){let o=r(a),c=ge(i,a),d=`${t}/models/${encodeURIComponent(o)}:streamGenerateContent?alt=sse&${s()}`,u=await n(d,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!u.ok)throw await F(u,"Google");if(!u.body)throw new Error("googleAdapter: streaming response has no body");let l,p;for await(let f of W(u.body,{signal:a?.signal})){if(!f.data)continue;let h;try{h=JSON.parse(f.data)}catch{continue}let y=h.candidates?.[0];for(let g of y?.content?.parts??[])typeof g.text=="string"&&(g.thought?yield{type:"thinking",delta:g.text}:yield{type:"token",delta:g.text}),g.functionCall&&(yield{type:"tool-call-delta",delta:{name:g.functionCall.name,argumentsDelta:JSON.stringify(g.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),h.usageMetadata&&(l=h.usageMetadata)}l&&(yield{type:"usage",usage:Be(l)}),yield{type:"finish",reason:p??"stop"}}}}function Bn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(n,r){let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=It(s,i,r?.signal),o=k(),c=await t.models.generateContent(a),d=Math.max(0,(k()-o)/1e6);return Dt(c,d)},async*stream(n,r){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=It(s,i,r?.signal),o,c,d=await t.models.generateContentStream(a);for await(let u of d){let l=u.candidates?.[0];for(let p of l?.content?.parts??[])typeof p.text=="string"&&(p.thought?yield{type:"thinking",delta:p.text}:yield{type:"token",delta:p.text}),p.functionCall&&(yield{type:"tool-call-delta",delta:{name:p.functionCall.name,argumentsDelta:JSON.stringify(p.functionCall.args??{})}});l?.finishReason&&(c=l.finishReason),u.usageMetadata&&(o=u.usageMetadata)}o&&(yield{type:"usage",usage:Be(o)}),yield{type:"finish",reason:c??"stop"}}}}M();var Gn={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function Ut(e={}){return e.sdk?Wn(e):Kn(e)}function he(e,t,n,r,s){let i=t?.model??n;if(!i)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(jn);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let o={model:i,messages:a};return t?.maxTokens!=null&&(o.max_tokens=t.maxTokens),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(Hn)),t?.maxReasoningTokens!=null&&(o.reasoning={max_tokens:t.maxReasoningTokens}),r&&(o.stream=!0,o.stream_options={include_usage:!0}),s&&Object.assign(o,s),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function jn(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function Hn(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function Ge(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.prompt_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(r=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,n-r)):t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let s=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,s-i),i>0&&(t.output.reasoning=i),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function Bt(e,t,n){let r=e.choices[0],s=r?.message,i=s?.content??"",a=(s?.tool_calls??[]).map(o=>({id:o.id,name:o.function.name,arguments:Vn(o.function.arguments)}));return{content:i,toolCalls:a.length>0?a:void 0,usage:Ge(e.usage),finishReason:r?.finish_reason,latencyMs:t,model:e.model,provider:n}}function Vn(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function Gt(e){let t=e.preset??"openai",n=Gn[t],r=e.baseURL??n.baseURL,s=e.provider??n.provider,i=n.apiKeyEnv,a=e.apiKey??(i?globalThis.process?.env?.[i]:void 0);return{provider:s,baseURL:r,apiKey:a}}function Kn(e){let{provider:t,baseURL:n,apiKey:r}=Gt(e),s=e.fetchImpl??fetch,i=t!=="ollama",a=()=>{let o={"content-type":"application/json",...e.headers??{}};if(i){if(!r)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);o.authorization=`Bearer ${r}`}return o};return{provider:t,model:e.model,async invoke(o,c){let d=he(o,c,e.model,!1,e.bodyExtras),u=k(),l=await s(`${n}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(d),signal:c?.signal});if(!l.ok)throw await F(l,t);let p=await l.json(),f=Math.max(0,(k()-u)/1e6);return Bt(p,f,t)},async*stream(o,c){let d=he(o,c,e.model,!0,e.bodyExtras),u=await s(`${n}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(d),signal:c?.signal});if(!u.ok)throw await F(u,t);if(!u.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let l,p;for await(let f of W(u.body,{signal:c?.signal})){if(!f.data||f.data==="[DONE]")continue;let h;try{h=JSON.parse(f.data)}catch{continue}let y=h.choices;if(y){let g=y[0];if(g?.delta?.content&&(yield{type:"token",delta:g.delta.content}),g?.delta?.reasoning_content&&(yield{type:"thinking",delta:g.delta.reasoning_content}),g?.delta?.tool_calls)for(let m of g.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:m.id,name:m.function?.name,argumentsDelta:m.function?.arguments}};g?.finish_reason&&(p=g.finish_reason)}h.usage&&(l=h.usage,yield{type:"usage",usage:Ge(l)})}yield{type:"finish",reason:p??"stop"}}}}function Wn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:n}=Gt(e);return{provider:n,model:e.model,async invoke(r,s){let i=he(r,s,e.model,!1,e.bodyExtras),a=k(),o=await t.chat.completions.create(i,{signal:s?.signal}),c=Math.max(0,(k()-a)/1e6);return Bt(o,c,n)},async*stream(r,s){let i=he(r,s,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(i,{signal:s?.signal}),o,c;for await(let d of a){let u=d.choices;if(u){let p=u[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let l=d.usage;l&&(o=l,yield{type:"usage",usage:Ge(l)})}yield{type:"finish",reason:c??"stop"}}}}function je(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return kt(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Ft(t)}case"dry-run":{let t={model:e.model,...e.extras};return pe(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return Pt(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Ut(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}Tt();ce();var ye=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let n=[];t.failed.size>0&&n.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&n.push(`skipped=[${t.skipped.map(r=>`${r.name}(${r.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${n.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function be(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let n=e.map(i=>({name:i.name,adapter:i.adapter,filter:i.filter,breaker:i.breaker?"canExecute"in i.breaker?i.breaker:yt(i.breaker):void 0})),r=t.streamRetryBeforeFirstChunk??!0,s={provider:"cascading",model:void 0,async invoke(i,a){let o=[],c=new Map;for(let u=0;u<n.length;u++){let l=n[u];if(l.filter&&!l.filter(i,a)){o.push({name:l.name,reason:"filter"});continue}if(l.breaker&&!l.breaker.canExecute()){o.push({name:l.name,reason:"breaker"});continue}try{let p=await V(X(l.adapter.invoke(i,a)));return l.breaker?.recordSuccess(),{...p,metadata:{...p.metadata??{},tier:l.name}}}catch(p){c.set(l.name,p),l.breaker?.recordFailure(p);let f=n[u+1];f&&t.onFallback?.(l.name,f.name,p)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)},async*stream(i,a){let o=[],c=new Map;for(let u=0;u<n.length;u++){let l=n[u];if(l.filter&&!l.filter(i,a)){o.push({name:l.name,reason:"filter"});continue}if(l.breaker&&!l.breaker.canExecute()){o.push({name:l.name,reason:"breaker"});continue}let p=!1;try{for await(let f of l.adapter.stream(i,a))p=!0,yield f;l.breaker?.recordSuccess();return}catch(f){if(c.set(l.name,f),l.breaker?.recordFailure(f),p||!r)throw f;let h=n[u+1];h&&t.onFallback?.(l.name,h.name,f)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)}};return me(s,`cascade[${n.map(i=>i.name).join(",")}]`),s}function zn(e){let t=[{name:"cloud",adapter:je(e.cloud)}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function $n(e){let t=[{name:"ollama",adapter:je({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function qn(e){let t=[{name:"webllm",adapter:J({model:e.webllmModel})}];return e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}0&&(module.exports={chromeNanoAdapter,cloudFirstPreset,localFirstPreset,offlinePreset,webllmAdapter});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { L as LLMAdapter } from '../../types-
|
|
2
|
-
import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-
|
|
3
|
-
import '../../node-
|
|
1
|
+
import { L as LLMAdapter } from '../../types-C0_yquda.cjs';
|
|
2
|
+
import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-BglDkMdX.cjs';
|
|
3
|
+
import '../../node-kK3CvTrR.cjs';
|
|
4
4
|
import '../../extra/sources.cjs';
|
|
5
|
-
import '../../index-
|
|
5
|
+
import '../../index-C1T3d7V-.cjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* ChromeNanoAdapter — Chrome Built-in AI Prompt API.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { L as LLMAdapter } from '../../types-
|
|
2
|
-
import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-
|
|
3
|
-
import '../../node-
|
|
1
|
+
import { L as LLMAdapter } from '../../types-CWFysE9E.js';
|
|
2
|
+
import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-MFgxu7Yo.js';
|
|
3
|
+
import '../../node-kK3CvTrR.js';
|
|
4
4
|
import '../../extra/sources.js';
|
|
5
|
-
import '../../index-
|
|
5
|
+
import '../../index-B1F8Enjf.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* ChromeNanoAdapter — Chrome Built-in AI Prompt API.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{d as y,f}from"../../chunk-
|
|
1
|
+
import{d as y,f}from"../../chunk-OYQOZP2F.js";import"../../chunk-OPHBU3LG.js";import"../../chunk-N4MQX6JU.js";import"../../chunk-D7GPHKFH.js";import"../../chunk-WJR24TAG.js";import"../../chunk-L6NSJVJZ.js";import"../../chunk-2T7U5EU6.js";import"../../chunk-3G5U5QNE.js";import"../../chunk-C72GO4IZ.js";import"../../chunk-HITNVN6B.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-D5RFJOZ2.js";import"../../chunk-CE72X3WO.js";import"../../chunk-CLVB32RD.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-GHBWHMRZ.js";import"../../chunk-CRVT7D2P.js";import{o as p}from"../../chunk-NTEURFZH.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";function L(){let e=new Error("aborted");return e.name="AbortError",e}function h(e={}){let r=e.streamMode??"accumulated",d=e.navigatorOverride??globalThis.navigator,i=()=>{let a=d?.ai;if(!a?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return a},g=async a=>i().languageModel.create({systemPrompt:a?.systemPrompt??e.systemPrompt,temperature:a?.temperature??e.temperature,topK:e.topK,signal:a?.signal}),l=a=>{let n=[];for(let o of a)o.role!=="system"&&n.push(`${o.role}: ${o.content}`);return n.join(`
|
|
2
2
|
|
|
3
3
|
`)},t=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(a,n){let o=await g(n);try{let c=l(a),s=p(),m=await o.prompt(c,{signal:n?.signal}),u=Math.max(0,(p()-s)/1e6);return{content:m,usage:t(),finishReason:"stop",latencyMs:u,model:"chrome-nano",provider:"chrome-nano"}}finally{o.destroy?.()}},async*stream(a,n){let o=await g(n);try{let c=l(a);if(r==="delta")for await(let s of o.promptStreaming(c,{signal:n?.signal})){if(n?.signal?.aborted)throw L();s&&(yield{type:"token",delta:s})}else{let s="";for await(let m of o.promptStreaming(c,{signal:n?.signal})){if(n?.signal?.aborted)throw L();let u=m.startsWith(s)?m.slice(s.length):m;s=m,u&&(yield{type:"token",delta:u})}}yield{type:"usage",usage:t()},yield{type:"finish",reason:"stop"}}finally{o.destroy?.()}}}}function A(){let e=new Error("aborted");return e.name="AbortError",e}function b(e){let r=e.engine,d=async()=>{if(r)return r;if(!w(e.navigatorOverride))throw new Error("webllmAdapter: WebGPU not available in this environment");let t=(await import("@mlc-ai/web-llm").catch(()=>{throw new Error("webllmAdapter: @mlc-ai/web-llm not installed. Add it as a peer dependency or pass opts.engine.")})).CreateMLCEngine;if(!t)throw new Error("webllmAdapter: @mlc-ai/web-llm missing CreateMLCEngine export");return r=await t(e.model,{initProgressCallback:e.initProgressCallback}),r},i=(l,t)=>{let a=[];t?.systemPrompt&&a.push({role:"system",content:t.systemPrompt});for(let n of l)a.push({role:n.role==="tool"?"user":n.role,content:n.content});return a},g=l=>({input:{regular:l?.prompt_tokens??0},output:{regular:l?.completion_tokens??0},raw:l});return{provider:"webllm",model:e.model,async invoke(l,t){let a=await d(),n=p(),o=await a.chat.completions.create({model:t?.model??e.model,messages:i(l,t),max_tokens:t?.maxTokens,temperature:t?.temperature},{signal:t?.signal}),c=Math.max(0,(p()-n)/1e6),s=o.choices?.[0];return{content:s?.message?.content??"",usage:g(o.usage),finishReason:s?.finish_reason,latencyMs:c,model:e.model,provider:"webllm"}},async*stream(l,t){let n=await(await d()).chat.completions.create({model:t?.model??e.model,messages:i(l,t),max_tokens:t?.maxTokens,temperature:t?.temperature,stream:!0},{signal:t?.signal}),o,c;for await(let s of n){if(t?.signal?.aborted)throw A();let m=s.choices?.[0];m?.delta?.content&&(yield{type:"token",delta:m.delta.content}),m?.finish_reason&&(c=m.finish_reason),s.usage&&(o=s.usage)}o&&(yield{type:"usage",usage:g(o)}),yield{type:"finish",reason:c??"stop"}}}}function w(e){let r=e??globalThis.navigator;return!!(r&&"gpu"in r&&r.gpu)}function N(e){let r=[{name:"cloud",adapter:y(e.cloud)}];return e.webllmModel&&r.push({name:"webllm",adapter:b({model:e.webllmModel})}),e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}function S(e){let r=[{name:"ollama",adapter:y({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&r.push({name:"webllm",adapter:b({model:e.webllmModel})}),e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}function R(e){let r=[{name:"webllm",adapter:b({model:e.webllmModel})}];return e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}export{h as chromeNanoAdapter,N as cloudFirstPreset,S as localFirstPreset,R as offlinePreset,b as webllmAdapter};
|