@graphrefly/graphrefly 0.32.0 → 0.33.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-D3sapjue.d.ts → cascading-Bg0a4VSf.d.ts} +2 -2
- package/dist/{cascading-BfQmSmjU.d.cts → cascading-DKIb6Pk8.d.cts} +2 -2
- package/dist/{chunk-4JBKKUCJ.js → chunk-2JO6LXFT.js} +1 -1
- package/dist/{chunk-FTA5TB2A.js → chunk-2LZ6DL45.js} +1 -1
- package/dist/{chunk-WQ7I7JVU.js → chunk-4F564IPP.js} +1 -1
- package/dist/{chunk-M2VFLRPJ.js → chunk-4NYSEUKV.js} +1 -1
- package/dist/{chunk-N2KKISCE.js → chunk-533RQFF6.js} +1 -1
- package/dist/{chunk-BU4SUZSA.js → chunk-55T3K37W.js} +1 -1
- package/dist/chunk-6HQ6HVTF.js +1 -0
- package/dist/{chunk-4VXL3UZK.js → chunk-7Q2WPFQ7.js} +1 -1
- package/dist/{chunk-5PBXUVHI.js → chunk-BY4WKPKM.js} +1 -1
- package/dist/{chunk-JYMNVEH6.js → chunk-C5DINHNP.js} +1 -1
- package/dist/{chunk-7QS77X6G.js → chunk-CJMFZXIZ.js} +1 -1
- package/dist/{chunk-W6FQIFVE.js → chunk-CLD3F4R5.js} +1 -1
- package/dist/chunk-DUK7LTJO.js +43 -0
- package/dist/{chunk-RWGJQQLT.js → chunk-FKRPIRE6.js} +1 -1
- package/dist/{chunk-UXEB35L4.js → chunk-GAOX6OPT.js} +1 -1
- package/dist/{chunk-TOCCHQI6.js → chunk-GCUYSIM4.js} +1 -1
- package/dist/chunk-HIJ2RKVP.js +1 -0
- package/dist/{chunk-XRSHMHEG.js → chunk-HTBOCKVD.js} +1 -1
- package/dist/{chunk-LJGPOJHS.js → chunk-IB64M7VP.js} +1 -1
- package/dist/{chunk-Q2SY7M7K.js → chunk-IJFSR4NU.js} +1 -1
- package/dist/{chunk-X4OOM6QU.js → chunk-INXDSJRC.js} +1 -1
- package/dist/{chunk-4YGJ7KZ6.js → chunk-IPNJDNE7.js} +1 -1
- package/dist/{chunk-4UUDNFYG.js → chunk-KGKJCHEK.js} +1 -1
- package/dist/{chunk-A4JT4SAD.js → chunk-KRH66M4O.js} +1 -1
- package/dist/{chunk-K54OKWNY.js → chunk-L3KUKDZC.js} +1 -1
- package/dist/{chunk-Y26UN6J5.js → chunk-LOF5HSD3.js} +1 -1
- package/dist/chunk-LYCLF26R.js +1 -0
- package/dist/{chunk-CZVYLXFK.js → chunk-M27MVZCP.js} +1 -1
- package/dist/{chunk-DWIAG62L.js → chunk-NNKJUORL.js} +1 -1
- package/dist/{chunk-PNTBXOQ6.js → chunk-O2WY22L7.js} +1 -1
- package/dist/{chunk-WF3V5X2L.js → chunk-PBN426RU.js} +1 -1
- package/dist/{chunk-MFNOZ5E6.js → chunk-Q46YJCQH.js} +1 -1
- package/dist/{chunk-KD3IYBTD.js → chunk-SFIM774L.js} +1 -1
- package/dist/{chunk-VXJX3ZZP.js → chunk-T2TB37TW.js} +1 -1
- package/dist/{chunk-UMH3HSP7.js → chunk-T7EQPKOP.js} +1 -1
- package/dist/{chunk-JAHAJU4G.js → chunk-TONEKQM3.js} +1 -1
- package/dist/{chunk-CNXUW2CU.js → chunk-TZLEMGAK.js} +1 -1
- package/dist/{chunk-LWGLBCMU.js → chunk-TZQPPQEQ.js} +1 -1
- package/dist/{chunk-7JZ3YORY.js → chunk-U2T2XWDA.js} +1 -1
- package/dist/{chunk-WE32AFFA.js → chunk-UF746BQ4.js} +1 -1
- package/dist/{chunk-7QMVU3IX.js → chunk-WBWBY6LI.js} +1 -1
- package/dist/{chunk-7EMUF2RY.js → chunk-Y63GWRHO.js} +1 -1
- package/dist/{chunk-PWKLZ2XU.js → chunk-YDWTVO4E.js} +1 -1
- package/dist/{chunk-EIFHFDFD.js → chunk-YUBV7EEE.js} +1 -1
- package/dist/chunk-Z4GXBOWO.js +61 -0
- package/dist/compat/index.cjs +5 -5
- package/dist/compat/index.d.cts +14 -14
- package/dist/compat/index.d.ts +14 -14
- 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 +6 -6
- package/dist/compat/nestjs/index.d.ts +6 -6
- package/dist/compat/nestjs/index.js +1 -1
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/zustand/index.cjs +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/{composite-BY9hMxN7.d.ts → composite-BPDU_XV1.d.ts} +2 -2
- package/dist/{composite-CH0S8DFn.d.cts → composite-CmvdhTJe.d.cts} +2 -2
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +1 -1
- package/dist/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 +16 -16
- package/dist/extra/index.d.cts +9 -9
- package/dist/extra/index.d.ts +9 -9
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +1 -1
- package/dist/extra/node.d.cts +1 -1
- package/dist/extra/node.d.ts +1 -1
- package/dist/extra/node.js +1 -1
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +1 -1
- package/dist/extra/operators.d.ts +1 -1
- package/dist/extra/operators.js +1 -1
- package/dist/extra/reactive.cjs +1 -1
- package/dist/extra/reactive.d.cts +3 -3
- package/dist/extra/reactive.d.ts +3 -3
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/sources.cjs +1 -1
- package/dist/extra/sources.d.cts +1 -1
- package/dist/extra/sources.d.ts +1 -1
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.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-Cb3GH1O7.d.cts → fallback-9YznPvPP.d.cts} +1 -1
- package/dist/{fallback-DRjJ_ZM8.d.ts → fallback-mYSd8vQo.d.ts} +1 -1
- package/dist/graph/index.cjs +4 -4
- 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-BOhEGJ6E.d.ts → graph-BROUZPG9.d.ts} +2 -2
- package/dist/{graph-CdJeX7O7.d.cts → graph-DaoydJ_u.d.cts} +2 -2
- package/dist/{index-CNyiYQWF.d.ts → index--BTb6HUO.d.ts} +332 -108
- package/dist/{index-BmZb8fNF.d.cts → index-B-KCkW4M.d.cts} +4 -4
- package/dist/{index-CDK5RsV5.d.cts → index-B1hFhK1K.d.cts} +1 -1
- package/dist/{index-C7RqYbOZ.d.ts → index-B5eS17Bz.d.ts} +7 -7
- package/dist/{index-DSawGt8n.d.cts → index-BDEhWLF4.d.cts} +3 -3
- package/dist/{index-CZUzi6Dy.d.ts → index-BFHpNSsV.d.ts} +4 -4
- package/dist/{index-DDo-eqQ4.d.cts → index-BO6t0HjV.d.cts} +1 -1
- package/dist/{index-CrC7urhX.d.ts → index-BRisOxlx.d.ts} +1 -1
- package/dist/{index-CHfBm51k.d.ts → index-BUtCR0k6.d.ts} +4 -4
- package/dist/{index-BydMDMf7.d.cts → index-BVTjuKeP.d.cts} +1 -1
- package/dist/{index-BX22kvjh.d.ts → index-BWiX5foT.d.ts} +1 -1
- package/dist/{index-Dxk-pUQI.d.ts → index-Bd2AjMQY.d.ts} +2 -2
- package/dist/{index-Dbmj0iYR.d.ts → index-Bi4ZP6Hc.d.ts} +2 -2
- package/dist/{index-j33Lfb1G.d.cts → index-BkfL5MXh.d.cts} +3 -3
- package/dist/{index-CnjUhRbs.d.cts → index-BpjQanLs.d.cts} +2 -2
- package/dist/{index-LGzAYqdR.d.ts → index-BsxqmV6u.d.ts} +2 -2
- package/dist/{index-CCdg0JLX.d.cts → index-C2Dey3L-.d.cts} +12 -3
- package/dist/{index-gXTVbSax.d.ts → index-C5uMGVJw.d.ts} +4 -4
- package/dist/{index-C-Gsh-0a.d.cts → index-C8_bnDBZ.d.cts} +3 -3
- package/dist/{index-C9qCLIN4.d.ts → index-CD7qmvSf.d.ts} +3 -3
- package/dist/{index-wIx1Jisk.d.ts → index-CI5fULSz.d.ts} +1 -1
- package/dist/{index-BUZPTPSQ.d.ts → index-CNxdDb2e.d.ts} +3 -3
- package/dist/{index-FBqTfL_S.d.cts → index-CQ1gt4rn.d.cts} +1 -1
- package/dist/{index-C22aTC1X.d.cts → index-C_cXlbu0.d.cts} +332 -108
- package/dist/{index-BDLy6CQ9.d.cts → index-Ccv_61jG.d.cts} +2 -2
- package/dist/{index-MV2yGIAq.d.ts → index-Ced0dphF.d.ts} +9 -9
- package/dist/{index-BzxU4yhV.d.cts → index-ChZvMC4M.d.cts} +4 -4
- package/dist/{index-zMQIQuDu.d.ts → index-Chi9IiHJ.d.ts} +3 -3
- package/dist/{index-DUkuH3jP.d.cts → index-ClJUZAOr.d.cts} +18 -3
- package/dist/{index-D7XxY1Ff.d.cts → index-ClKm7CFB.d.cts} +1 -1
- package/dist/{index-D3HcdZ4d.d.cts → index-Cn3taOmp.d.cts} +2 -2
- package/dist/{index-C4QTaDli.d.cts → index-CoR-tOZA.d.cts} +4 -4
- package/dist/{index-BpFWP7Bq.d.cts → index-Cp91Sxbo.d.cts} +5 -4
- package/dist/{index-DD1czHj3.d.ts → index-Cq7Uqgu4.d.ts} +2 -2
- package/dist/{index-EGjF6iSY.d.cts → index-D23g00HE.d.cts} +4 -4
- package/dist/{index-Bnmttu35.d.ts → index-D80nGRb9.d.ts} +3 -3
- package/dist/{index-DhlAMlm9.d.ts → index-DDf8PoPO.d.ts} +149 -52
- package/dist/{index-DY2QbdoP.d.cts → index-DR3XqZlV.d.cts} +1 -1
- package/dist/{index-BANwzwBV.d.ts → index-Db21wuaD.d.ts} +5 -4
- package/dist/{index-BuN2wGJs.d.cts → index-Dgcd59CJ.d.cts} +149 -52
- package/dist/{index-CIXaiYDE.d.cts → index-DhWrMTI6.d.cts} +1 -1
- package/dist/{index-Dp_pS7Bw.d.ts → index-DheNs40A.d.ts} +2 -2
- package/dist/{index-CVevMZ0n.d.ts → index-Dia4yc2y.d.ts} +3 -3
- package/dist/{index-_BXz9K7b.d.cts → index-Ds3Rz9m9.d.cts} +3 -3
- package/dist/{index-Ckl03Q0s.d.ts → index-Dtpr2FIB.d.ts} +18 -3
- package/dist/{index-ByPnK85n.d.ts → index-DupIl9wI.d.ts} +1 -1
- package/dist/{index-CEoU-r-g.d.ts → index-DuvQAU02.d.ts} +2 -2
- package/dist/{index-D0C_USMR.d.ts → index-DxEcY7Om.d.ts} +1 -1
- package/dist/{index-eYHRkoK-.d.ts → index-HvJ90_tX.d.ts} +12 -3
- package/dist/{index-LzCJ0kMT.d.cts → index-Jgl7ev9I.d.cts} +9 -9
- package/dist/{index-DlGaEBW5.d.cts → index-RJX4snyi.d.cts} +2 -2
- package/dist/{index-DNhTQReY.d.cts → index-ZIQaKIdY.d.cts} +7 -7
- package/dist/{index-lpGUhTBn.d.ts → index-b4a6Sg0R.d.ts} +4 -4
- package/dist/{index-BiGeETJs.d.cts → index-iKsmdnq6.d.cts} +2 -2
- package/dist/{index-CmSjld-4.d.ts → index-nP13Qe6T.d.ts} +1 -1
- package/dist/{index-BJDXj9Wf.d.cts → index-p0bkNfby.d.cts} +3 -3
- package/dist/{index-aBqZUx3B.d.cts → index-wcfc7W-f.d.cts} +2 -2
- package/dist/{index-BwdPDWI4.d.cts → index-yJY9thRY.d.cts} +2 -2
- package/dist/{index-BbcSZCAG.d.ts → index-ygRFoyrN.d.ts} +2 -2
- package/dist/{index-Ip3q9T9x.d.ts → index-zA1uVtk0.d.ts} +1 -1
- package/dist/index.cjs +48 -48
- package/dist/index.d.cts +44 -44
- package/dist/index.d.ts +44 -44
- package/dist/index.js +1 -1
- package/dist/{meta-COtmHLwT.d.cts → meta-BdjSt8ky.d.cts} +1 -1
- package/dist/{meta-BMwx3ExI.d.ts → meta-CtDjj7cU.d.ts} +1 -1
- package/dist/{node-BVV7G1bq.d.cts → node-8qx0kgYt.d.cts} +49 -1
- package/dist/{node-BVV7G1bq.d.ts → node-8qx0kgYt.d.ts} +49 -1
- package/dist/{observable-BrUAPeH_.d.cts → observable-B6Ba-TTI.d.cts} +1 -1
- package/dist/{observable-ITikPXz3.d.ts → observable-DOniYM2B.d.ts} +1 -1
- package/dist/patterns/ai/browser.cjs +4 -4
- package/dist/patterns/ai/browser.d.cts +4 -4
- package/dist/patterns/ai/browser.d.ts +4 -4
- package/dist/patterns/ai/browser.js +1 -1
- package/dist/patterns/ai/index.cjs +19 -19
- package/dist/patterns/ai/index.d.cts +16 -16
- package/dist/patterns/ai/index.d.ts +16 -16
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +2 -2
- package/dist/patterns/ai/node.d.cts +4 -4
- package/dist/patterns/ai/node.d.ts +4 -4
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/audit/index.cjs +7 -7
- package/dist/patterns/audit/index.d.cts +5 -5
- package/dist/patterns/audit/index.d.ts +5 -5
- package/dist/patterns/audit/index.js +1 -1
- package/dist/patterns/cqrs/index.cjs +3 -3
- package/dist/patterns/cqrs/index.d.cts +4 -4
- package/dist/patterns/cqrs/index.d.ts +4 -4
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +6 -6
- 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 +6 -6
- 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 +8 -8
- package/dist/patterns/graphspec/index.d.cts +5 -5
- package/dist/patterns/graphspec/index.d.ts +5 -5
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/guarded-execution/index.cjs +7 -7
- package/dist/patterns/guarded-execution/index.d.cts +6 -6
- package/dist/patterns/guarded-execution/index.d.ts +6 -6
- package/dist/patterns/guarded-execution/index.js +1 -1
- package/dist/patterns/harness/index.cjs +12 -12
- package/dist/patterns/harness/index.d.cts +10 -9
- package/dist/patterns/harness/index.d.ts +10 -9
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +7 -7
- package/dist/patterns/job-queue/index.d.cts +4 -4
- package/dist/patterns/job-queue/index.d.ts +4 -4
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/lens/index.cjs +5 -5
- package/dist/patterns/lens/index.d.cts +6 -6
- package/dist/patterns/lens/index.d.ts +6 -6
- package/dist/patterns/lens/index.js +1 -1
- package/dist/patterns/memory/index.cjs +4 -4
- package/dist/patterns/memory/index.d.cts +4 -4
- package/dist/patterns/memory/index.d.ts +4 -4
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +4 -4
- package/dist/patterns/messaging/index.d.cts +4 -4
- package/dist/patterns/messaging/index.d.ts +4 -4
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +4 -4
- package/dist/patterns/orchestration/index.d.cts +5 -5
- package/dist/patterns/orchestration/index.d.ts +5 -5
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/reactive-layout/index.cjs +1 -1
- 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 +1 -1
- package/dist/patterns/reduction/index.d.cts +4 -4
- package/dist/patterns/reduction/index.d.ts +4 -4
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/refine-loop/index.cjs +7 -7
- package/dist/patterns/refine-loop/index.d.cts +5 -5
- package/dist/patterns/refine-loop/index.d.ts +5 -5
- package/dist/patterns/refine-loop/index.js +1 -1
- package/dist/patterns/resilient-pipeline/index.cjs +1 -1
- package/dist/patterns/resilient-pipeline/index.d.cts +6 -6
- package/dist/patterns/resilient-pipeline/index.d.ts +6 -6
- package/dist/patterns/resilient-pipeline/index.js +1 -1
- package/dist/patterns/surface/index.cjs +7 -7
- 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/{reactive-layout-Bq0rA2Wb.d.ts → reactive-layout-DBJ3Vz-m.d.ts} +2 -2
- package/dist/{reactive-layout-Dhhe54Oj.d.cts → reactive-layout-Dk9AOQb_.d.cts} +2 -2
- package/dist/{reactive-log-5jFeNRmd.d.cts → reactive-log-CWC7jO4J.d.cts} +1 -1
- package/dist/{reactive-log-BOJDCI5x.d.ts → reactive-log-CqaBg8nf.d.ts} +1 -1
- package/dist/{reactive-map-IJIfZxoh.d.cts → reactive-map-Cm89Hk0c.d.cts} +1 -1
- package/dist/{reactive-map-CtRaCddO.d.ts → reactive-map-LjwjcFaW.d.ts} +1 -1
- package/dist/{resilience-IVNDYORD.js → resilience-7UZHSSGC.js} +1 -1
- package/dist/{resilience-Q6Bt_7y0.d.cts → resilience-N_VtLf7W.d.cts} +1 -1
- package/dist/{resilience-CludlzcP.d.ts → resilience-RjDIHZNZ.d.ts} +1 -1
- package/dist/{sugar-BHbAACDG.d.ts → sugar-CQkn_rxB.d.ts} +1 -1
- package/dist/{sugar-CqR6DJ7v.d.cts → sugar-DVEYhR7a.d.cts} +1 -1
- package/dist/{topology-tree-CpSjvIXp.d.cts → topology-tree-BB6oJxMz.d.cts} +1 -1
- package/dist/{topology-tree-DAbCV2Yw.d.ts → topology-tree-CAFOG5S5.d.ts} +1 -1
- package/dist/{types-CdfO2QTt.d.ts → types-B2LfBvNc.d.ts} +16 -2
- package/dist/{types-BgMqbc7N.d.cts → types-Cp_4coR_.d.cts} +16 -2
- package/package.json +1 -1
- package/dist/chunk-2JNT5NDF.js +0 -61
- package/dist/chunk-2RH4QNDQ.js +0 -1
- package/dist/chunk-7AJKUA36.js +0 -1
- package/dist/chunk-LG73TUF4.js +0 -43
- package/dist/chunk-ZWETYYQG.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as ce}from"./chunk-
|
|
1
|
+
import{c as ce}from"./chunk-YUBV7EEE.js";import{a as se,b as P}from"./chunk-5QDBSZBV.js";import{j as L}from"./chunk-2JO6LXFT.js";import{f as ae,h as ie}from"./chunk-T7EQPKOP.js";import{i as ne,j as U}from"./chunk-LYCLF26R.js";import{b,h as _,i as T,j as W}from"./chunk-CK2E7BTU.js";import{b as Oe,c as re,d as te,e as oe}from"./chunk-QYADASLV.js";var ke={};Oe(ke,{ACTOR_KEY:()=>F,COMMAND_HANDLERS:()=>A,CQRS_EVENT_HANDLERS:()=>S,CRON_HANDLERS:()=>D,CommandHandler:()=>me,EVENT_HANDLERS:()=>G,EventHandler:()=>ve,GRAPHREFLY_REQUEST_GRAPH:()=>R,GRAPHREFLY_ROOT_GRAPH:()=>v,GraphCron:()=>fe,GraphInterval:()=>he,GraphReflyEventExplorer:()=>x,GraphReflyGuard:()=>Re,GraphReflyGuardImpl:()=>I,GraphReflyModule:()=>Q,INTERVAL_HANDLERS:()=>O,InjectCqrsGraph:()=>de,InjectGraph:()=>ue,InjectNode:()=>pe,ObserveGateway:()=>B,OnGraphEvent:()=>le,QUERY_HANDLERS:()=>H,QueryHandler:()=>ye,SAGA_HANDLERS:()=>N,SagaHandler:()=>ge,fromHeader:()=>Ee,fromJwtPayload:()=>V,getActor:()=>we,getGraphToken:()=>m,getNodeToken:()=>y,observeSSE:()=>Me,observeSubscription:()=>Ce,toObservable:()=>se});import{Inject as j}from"@nestjs/common";var v=Symbol.for("graphrefly:root-graph");var R=Symbol.for("graphrefly:request-graph");function m(s){return Symbol.for(`graphrefly:graph:${s}`)}function y(s){return Symbol.for(`graphrefly:node:${s}`)}var G=new Map,O=new Map,D=new Map,A=new Map,S=new Map,H=new Map,N=new Map;function ue(s){return s==="request"?j(R):j(s?m(s):v)}function de(s){return j(m(s))}function pe(s){return j(y(s))}function le(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=G.get(o)??[];n.push({nodeName:s,methodKey:t}),G.set(o,n)})}}function he(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=O.get(o)??[];n.push({ms:s,methodKey:t}),O.set(o,n)})}}function fe(s){return(e,r)=>{let t=r.name;r.addInitializer(function(){let o=this.constructor,n=D.get(o)??[];n.push({expr:s,methodKey:t}),D.set(o,n)})}}function me(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=A.get(n)??[];a.push({cqrsName:s,commandName:e,methodKey:o}),A.set(n,a)})}}function ve(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=S.get(n)??[];a.push({cqrsName:s,eventName:e,methodKey:o}),S.set(n,a)})}}function ye(s,e){return(r,t)=>{let o=t.name;t.addInitializer(function(){let n=this.constructor,a=H.get(n)??[];a.push({cqrsName:s,projectionName:e,methodKey:o}),H.set(n,a)})}}function ge(s,e,r){return(t,o)=>{let n=o.name;o.addInitializer(function(){let a=this.constructor,c=N.get(a)??[];c.push({cqrsName:s,eventNames:r,sagaName:e,methodKey:n}),N.set(a,c)})}}var be=0,x=class{constructor(e,r){this.graph=e;this.moduleRef=r}disposers=[];scheduleNodeNames=[];onModuleInit(){this.wireEvents(),this.wireIntervals(),this.wireCrons(),this.wireCqrsCommands(),this.wireCqrsEvents(),this.wireCqrsQueries(),this.wireCqrsSagas()}onModuleDestroy(){for(let e of this.disposers)e();this.disposers.length=0;for(let e of this.scheduleNodeNames)try{this.graph.remove(e)}catch{}this.scheduleNodeNames.length=0}wireEvents(){for(let[e,r]of G){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireEventHandler(t,o)}}wireEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),a=this.observeNode(r.nodeName).subscribe(c=>{for(let l of c)l[0]===b&&o(l[1])});this.disposers.push(a)}wireIntervals(){for(let[e,r]of O){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireIntervalHandler(t,e,o)}}wireIntervalHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ae(t.ms,{period:t.ms,name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCrons(){for(let[e,r]of D){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCronHandler(t,e,o)}}wireCronHandler(e,r,t){let o=e[t.methodKey];if(typeof o!="function")return;let n=o.bind(e),c=`__schedule__.${r.name??"anonymous"}.${String(t.methodKey)}.${be++}`,l=ie(t.expr,{name:c});this.graph.add(l),this.scheduleNodeNames.push(c);let p=this.observeNode(c).subscribe(u=>{for(let d of u)d[0]===b&&n(d[1])});this.disposers.push(p)}wireCqrsCommands(){for(let[e,r]of A){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsCommand(t,o)}}wireCqrsCommand(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.command(r.commandName,o)}wireCqrsEvents(){for(let[e,r]of S){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsEventHandler(t,o)}}wireCqrsEventHandler(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;n.event(r.eventName);let c=n.resolve(r.eventName).cache,l=c&&c.length>0?c[c.length-1].seq:0,p=this.observeNodeOn(n,r.eventName).subscribe(u=>{for(let d of u)if(d[0]===b){let g=d[1];for(let i of g)i.seq>l&&(o(i),l=i.seq)}});this.disposers.push(p)}wireCqrsQueries(){for(let[e,r]of H){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsQuery(t,o)}}wireCqrsQuery(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);if(!n)return;let c=this.observeNodeOn(n,r.projectionName).subscribe(l=>{for(let f of l)f[0]===b&&o(f[1])});this.disposers.push(c)}wireCqrsSagas(){for(let[e,r]of N){let t=this.resolveInstance(e);if(t)for(let o of r)this.wireCqrsSaga(t,o)}}wireCqrsSaga(e,r){let t=e[r.methodKey];if(typeof t!="function")return;let o=t.bind(e),n=this.resolveCqrsGraph(r.cqrsName);n&&n.saga(r.sagaName,r.eventNames,o)}observeNode(e){return this.graph.observe(e)}observeNodeOn(e,r){return e.observe(r)}resolveCqrsGraph(e){try{return this.moduleRef.get(m(e),{strict:!1})}catch{return console.warn(`[GraphReFly] CqrsGraph "${e}" not found in DI \u2014 did you import GraphReflyModule.forCqrs({ name: "${e}" })?`),null}}resolveInstance(e){try{return this.moduleRef.get(e,{strict:!1})}catch{return null}}};function Me(s,e,r){let{actor:t,serialize:o=De,keepAliveMs:n,signal:a}=r??{},c=new TextEncoder,l,f=r?.highWaterMark!=null,p,u,d=[],g=!1;return new ReadableStream({start(i){let h,w=()=>{},M=()=>{if(!g){g=!0,h!==void 0&&clearInterval(h),a?.removeEventListener("abort",K),w(),p?.dispose(),u?.(),u=void 0;for(let k of d)i.enqueue(k.frame);d.length=0,i.close()}};l=M;let K=()=>M(),ee=s.observe(e,{actor:t});f&&(p=P(k=>ee.up(k),{highWaterMark:r.highWaterMark,lowWaterMark:r.lowWaterMark??Math.floor(r.highWaterMark/2)})),w=ee.subscribe(k=>{for(let $ of k){if(g)return;let q=$[0];if(q===b){let C=c.encode(Y("data",o($[1])));f?(d.push({frame:C,counted:!0}),p.onEnqueue(),u?.(),u=void 0):i.enqueue(C)}else if(q===W){let C=c.encode(Y("error",o($[1])));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C),M();return}else if(q===T||q===_){if(q===T){let C=c.encode(Y("complete"));f?(d.push({frame:C,counted:!1}),u?.(),u=void 0):i.enqueue(C)}M();return}}}),n!==void 0&&n>0&&(h=setInterval(()=>{g||(f?(d.push({frame:c.encode(`: keepalive
|
|
2
2
|
|
|
3
3
|
`),counted:!1}),u?.(),u=void 0):i.enqueue(c.encode(`: keepalive
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as M,m as x,o as v}from"./chunk-
|
|
1
|
+
import{E as M,m as x,o as v}from"./chunk-LYCLF26R.js";import{b as _,c as K}from"./chunk-CK2E7BTU.js";var b=class{_version=0;_store=new Map;_maxSize;_defaultTtl;constructor(t={}){let{maxSize:e,defaultTtl:i}=t;if(e!==void 0&&e<1)throw new RangeError("maxSize must be >= 1");if(i!==void 0&&i<=0)throw new RangeError("defaultTtl must be positive");this._maxSize=e,this._defaultTtl=i}get version(){return this._version}get size(){return this._store.size}has(t){let e=this._store.get(t);return e===void 0?!1:this._isExpired(e)?(this._store.delete(t),this._version+=1,!1):(this._touchLru(t,e),!0)}get(t){let e=this._store.get(t);if(e!==void 0){if(this._isExpired(e)){this._store.delete(t),this._version+=1;return}return this._touchLru(t,e),e.value}}set(t,e,i){let s=this._resolveExpiresAt(i);this._store.has(t)&&this._store.delete(t),this._store.set(t,{value:e,expiresAt:s}),this._evictLruWhileOver(),this._version+=1}setMany(t,e){let i=this._resolveExpiresAt(e),s=0;try{for(let[f,a]of t)this._store.has(f)&&this._store.delete(f),this._store.set(f,{value:a,expiresAt:i}),s+=1}finally{s>0&&(this._evictLruWhileOver(),this._version+=1)}}delete(t){let e=this._store.delete(t);return e&&(this._version+=1),e}deleteMany(t){let e=0;try{for(let i of t)this._store.delete(i)&&(e+=1)}finally{e>0&&(this._version+=1)}return e}clear(){let t=this._store.size;return t===0?0:(this._store.clear(),this._version+=1,t)}pruneExpired(){let t=v(),e=0;for(let[i,s]of this._store)this._isExpired(s,t)&&(this._store.delete(i),e+=1);return e>0&&(this._version+=1),e}toMap(){let t=v(),e=new Map;for(let[i,s]of this._store)this._isExpired(s,t)||e.set(i,s.value);return e}_resolveExpiresAt(t){let e=t??this._defaultTtl;if(e!==void 0){if(!Number.isFinite(e)||e<=0)throw new RangeError(`MapBackend: ttl must be a positive finite number (got ${e})`);return v()+e*1e9}}_isExpired(t,e){return t.expiresAt===void 0?!1:(e??v())>=t.expiresAt}_touchLru(t,e){this._store.delete(t),this._store.set(t,e)}_evictLruWhileOver(){if(this._maxSize!==void 0)for(;this._store.size>this._maxSize;){let t=this._store.keys().next().value;if(t===void 0)break;this._store.delete(t)}}};function R(y={}){let{name:t,maxSize:e,defaultTtl:i,versioning:s,backend:f,retention:a}=y;if(a&&e!==void 0)throw new RangeError("reactiveMap: `maxSize` (LRU) and `retention` (score-based) are mutually exclusive. Pick one eviction policy.");if(a&&a.archiveThreshold===void 0&&a.maxSize===void 0)throw new RangeError("reactiveMap: `retention` requires at least one of `archiveThreshold` or `maxSize` to trigger archival.");let o=f??new b({maxSize:e,defaultTtl:i}),m=M(o.toMap(),{name:t,describeKind:"state",equals:(r,d)=>r===d,...s!=null?{versioning:s}:{}});function V(){let r=o.toMap();x(()=>{m.down([[K]]),m.down([[_,r]])})}function k(){if(!a)return;let r=o.toMap(),d=a.archiveThreshold,l=a.maxSize,p=[];for(let[n,h]of r)p.push({key:n,value:h,score:a.score(n,h)});p.sort((n,h)=>n.score-h.score);let c=new Set;if(d!==void 0)for(let n of p)if(n.score<d)c.add(n.key);else break;if(l!==void 0&&p.length-c.size>l)for(let n of p){if(p.length-c.size<=l)break;c.has(n.key)||c.add(n.key)}if(c.size!==0)for(let n of p)c.has(n.key)&&(a.onArchive?.(n.key,n.value,n.score),o.delete(n.key))}function u(r,d="mutation"){let l=o.version;try{return r()}finally{o.version!==l&&(d==="mutation"&&k(),V())}}return{entries:m,has(r){return u(()=>o.has(r),"read")},get(r){return u(()=>o.get(r),"read")},set(r,d,l){u(()=>o.set(r,d,l?.ttl))},setMany(r,d){u(()=>o.setMany(r,d?.ttl))},delete(r){u(()=>o.delete(r))},deleteMany(r){u(()=>o.deleteMany(r))},clear(){u(()=>o.clear())},pruneExpired(){u(()=>o.pruneExpired())},get size(){return o.size},dispose(){}}}export{b as a,R as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as z}from"./chunk-
|
|
1
|
+
import{b as z}from"./chunk-PBN426RU.js";import{g as Y,j as J}from"./chunk-2JO6LXFT.js";import{E as L,F as T,G as D,H as P}from"./chunk-LYCLF26R.js";import{b as Z}from"./chunk-QYADASLV.js";var pe={};Z(pe,{compileSpec:()=>se,decompileGraph:()=>ae,extractFnFactory:()=>V,extractSourceFactory:()=>B,generateCatalogPrompt:()=>K,isRichFnEntry:()=>M,isRichSourceEntry:()=>W,llmCompose:()=>ce,llmRefine:()=>X,specDiff:()=>ie,validateSpec:()=>A,validateSpecAgainstCatalog:()=>q});function M(i){return typeof i=="object"&&i!==null&&"factory"in i}function W(i){return typeof i=="object"&&i!==null&&"factory"in i}function V(i){return M(i)?i.factory:i}function B(i){return W(i)?i.factory:i}function K(i){let n=[];if(i.fns){let o=new Map;for(let[r,d]of Object.entries(i.fns)){let p=M(d)?d.tags?.[0]??"Other":"Other";o.has(p)||o.set(p,[]),o.get(p).push(ee(r,d))}for(let[r,d]of o)n.push(`${r}:
|
|
2
2
|
${d.join(`
|
|
3
3
|
`)}`)}if(i.sources){let o=[];for(let[r,d]of Object.entries(i.sources))o.push(te(r,d));o.length>0&&n.push(`Sources:
|
|
4
4
|
${o.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as H,b as T}from"./chunk-
|
|
1
|
+
import{a as H,b as T}from"./chunk-INXDSJRC.js";import{j as q}from"./chunk-2JO6LXFT.js";import{a as O,b as j}from"./chunk-533RQFF6.js";import{E as d,G as o,H as x,m as A}from"./chunk-LYCLF26R.js";import{b as ae}from"./chunk-QYADASLV.js";var ie={};ae(ie,{demoShell:()=>re});function w(h){return Math.max(0,Math.min(1,h))}function re(h){let B=w(h?.mainRatio??.65),E=w(h?.sideSplit??.5),J=Math.max(0,h?.viewportWidth??1280),k=h?.nodeRegistry??new Map,p=h?.adapter??null,S=h?.layoutFont??"14px monospace",u=h?.onHighlight,t=new q("demo-shell"),F=d(B,{name:"pane/main-ratio"}),D=d(E,{name:"pane/side-split"}),g=d(null,{name:"pane/fullscreen"}),G=d(J,{name:"viewport/width"});t.add(F,{name:"pane/main-ratio"}),t.add(D,{name:"pane/side-split"}),t.add(g,{name:"pane/fullscreen"}),t.add(G,{name:"viewport/width"});let L=o([F,G,g],([e,a,n])=>{let l=e,r=a,i=n;return i==="main"?r:i==="graph"||i==="code"?0:Math.round(r*l)},{name:"pane/main-width"}),R=o([L,G,g],([e,a,n])=>{let l=n,r=a;return l==="main"?0:l==="graph"||l==="code"?r:r-e},{name:"pane/side-width"}),C=o([D,g],([e,a])=>{let n=a;return n==="graph"?1:n==="code"||n==="main"?0:w(e)},{name:"pane/graph-height-ratio"}),K=o([C,g],([e,a])=>{let n=a;return n==="code"?1:n==="graph"||n==="main"?0:1-e},{name:"pane/code-height-ratio"});t.add(L,{name:"pane/main-width"}),t.add(R,{name:"pane/side-width"}),t.add(C,{name:"pane/graph-height-ratio"}),t.add(K,{name:"pane/code-height-ratio"});let b=d(null,{name:"demo/graph-ref"}),m=d(0,{name:"demo/graph-tick"});t.add(b,{name:"demo/graph-ref"}),t.add(m,{name:"demo/graph-tick"});let Q=o([b,m],([e,a])=>{let n=e;return n?n.describe({format:"mermaid"}):""},{name:"graph/mermaid"}),z=o([b,m],([e,a])=>{let n=e;if(!n)return null;let{expand:l,...r}=n.describe({detail:"standard"});return r},{name:"graph/describe"});t.add(Q,{name:"graph/mermaid"}),t.add(z,{name:"graph/describe"});let M=d(null,{name:"hover/target"});t.add(M,{name:"hover/target"});let P=o([M],([e])=>{let a=e;if(!a)return null;let n=k.get(a.id);return n?n.codeLine:null},{name:"highlight/code-scroll"}),W=o([M],([e])=>{let a=e;if(!a)return null;let n=k.get(a.id);return n?n.visualSelector:null},{name:"highlight/visual"}),N=o([M],([e])=>{let a=e;return a?a.id:null},{name:"highlight/graph"});if(t.add(P,{name:"highlight/code-scroll"}),t.add(W,{name:"highlight/visual"}),t.add(N,{name:"highlight/graph"}),u?.codeScroll){let e=u.codeScroll,a=x([P],([n])=>{e(n)});t.add(a,{name:"highlight/apply-code-scroll"})}if(u?.visual){let e=u.visual,a=x([W],([n])=>{e(n)});t.add(a,{name:"highlight/apply-visual"})}if(u?.graph){let e=u.graph,a=x([N],([n])=>{e(n)});t.add(a,{name:"highlight/apply-graph"})}let _=d(null,{name:"inspect/selected-node"});t.add(_,{name:"inspect/selected-node"});let U=O("standard"),X=o([_,b,m],([e,a,n])=>{let l=a,r=e;if(!l||!r)return null;try{let i=l.resolve(r),s=j(i,U);return{path:r,...s,value:i.cache}}catch{return null}},{name:"inspect/node-detail"}),Y=o([b,m],([e,a])=>{let n=e;return n?n.trace():[]},{name:"inspect/trace-log"});t.add(X,{name:"inspect/node-detail"}),t.add(Y,{name:"inspect/trace-log"});let I=d(!1,{name:"meta/debug"});t.add(I,{name:"meta/debug"});let Z=o([I,m],([e,a])=>e?t.describe({format:"mermaid"}):"",{name:"meta/shell-mermaid"});t.add(Z,{name:"meta/shell-mermaid"});let V=d("",{name:"layout/code-text"});if(t.add(V,{name:"layout/code-text"}),p){let e=new Map,a=o([z],([r])=>{let i=r;if(!i)return new Map;let s=new Map;for(let[c]of Object.entries(i.nodes)){let f=H(c,S,p,e),v=T(f,1/0,p,S,e),y=v.lines.reduce((te,ne)=>Math.max(te,ne.width),0),ee=v.lineCount*20;s.set(c,{width:y,height:ee})}return s},{name:"layout/graph-labels",equals:(r,i)=>{if(r===i)return!0;let s=r,c=i;if(s.size!==c.size)return!1;for(let[f,v]of s){let y=c.get(f);if(!y||y.width!==v.width||y.height!==v.height)return!1}return!0}}),n=o([V,R],([r,i])=>{let s=r;if(!s)return{lineCount:0,lines:[]};let c=H(s,S,p,e),f=i-40;return T(c,Math.max(100,f),p,S,e)},{name:"layout/code-lines"}),l=o([a],([r])=>{let i=r;if(i.size===0)return 200;let s=0;for(let{width:c}of i.values())c>s&&(s=c);return Math.max(200,Math.round(s+80))},{name:"layout/side-width-hint"});t.add(a,{name:"layout/graph-labels"}),t.add(n,{name:"layout/code-lines"}),t.add(l,{name:"layout/side-width-hint"})}let $=0;return{graph:t,setMainRatio(e){t.set("pane/main-ratio",w(e))},setSideSplit(e){t.set("pane/side-split",w(e))},setFullscreen(e){t.set("pane/fullscreen",e)},setViewportWidth(e){t.set("viewport/width",Math.max(0,e))},setHoverTarget(e){t.set("hover/target",e)},setDemoGraph(e){t.set("demo/graph-ref",e)},bumpGraphTick(){t.set("demo/graph-tick",++$)},selectNode(e){t.set("inspect/selected-node",e)},setMetaDebug(e){t.set("meta/debug",e)},setCodeText(e){t.set("layout/code-text",e)},batch(e){A(e)},destroy(){t.destroy()}}}export{re as a,ie as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as I}from"./chunk-
|
|
1
|
+
import{b as I}from"./chunk-TZQPPQEQ.js";import{t as A,x as v}from"./chunk-4F564IPP.js";import{m as p,r as y}from"./chunk-T7EQPKOP.js";import{E as R,G as w,m as h}from"./chunk-LYCLF26R.js";import{b}from"./chunk-CK2E7BTU.js";function z(t){return typeof t=="object"&&t!==null&&"cache"in t&&typeof t.subscribe=="function"}function F(t,a,e){let r=p(t),i=r.v!=null,g=R(e?.initialVerified??null,{...i?{meta:{sourceVersion:null}}:{}}),x=e?.trigger!==void 0&&e.trigger!==null,s=null;if(x&&e?.autoVerify?s=A(p(e.trigger),r):x?s=p(e.trigger):e?.autoVerify&&(s=r),s!==null){let d;if(s===r)d=v(r,c=>a(c));else{let c=r.cache;r.subscribe(f=>{for(let M of f)M[0]===b&&(c=M[1])}),d=v(s,()=>a(c))}y(d,c=>{h(()=>{if(g.down([[b,c]]),i){let f=r.v;f!=null&&g.meta.sourceVersion.down([[b,{id:f.id,version:f.version}]])}})})}return{node:r,verified:g,trigger:s}}function E(t){t.subscribe(()=>{})}function k(t){return t instanceof Map?t:new Map}function B(t,a){if(!Array.isArray(a.upsert))throw new TypeError("distill extraction requires upsert: Array<{ key, value }>");h(()=>{for(let{key:e,value:r}of a.upsert)t.set(e,r);for(let e of a.remove??[])t.delete(e)})}function G(t,a,e){let r=p(t),i=I(e.mapOptions??{}),g=e.budget??2e3,s=e.context!==void 0&&e.context!==null?p(e.context):R(null),d=k(i.entries.cache);i.entries.subscribe(o=>{for(let u of o)u[0]===b&&(d=k(u[1]))});let c=v(r,o=>a(o,d));if(y(c,o=>{B(i,o)}),e.evict){let o=new Map,u=w([i.entries],([l])=>{let m=[],N=k(l);for(let n of o.keys())N.has(n)||(o.get(n)(),o.delete(n));for(let[n,T]of N){let V=e.evict(n,T);if(z(V)){if(!o.has(n)){let S=y(V,D=>{D===!0&&i.has(n)&&i.delete(n)});o.set(n,S)}continue}if(typeof V=="boolean"){V&&m.push(n);continue}throw new TypeError("distill evict() must return boolean or Node<boolean>")}return m});y(u,l=>{for(let m of l)i.delete(m)})}let f=e.consolidateTrigger!==void 0&&e.consolidateTrigger!==null;if(e.consolidate&&f){let o=p(e.consolidateTrigger),u=v(o,()=>e.consolidate(d));y(u,l=>{B(i,l)})}let M=w([i.entries,s],([o,u])=>{let l=[...k(o).entries()].map(([n,T])=>({key:n,value:T,score:e.score(T,u),cost:e.cost(T)}));l.sort((n,T)=>T.score-n.score);let m=[],N=g;for(let n of l)n.cost<=N&&(m.push({key:n.key,value:n.value,score:n.score}),N-=n.cost);return m}),O=w([i.entries],([o])=>k(o).size);return E(M),E(O),{store:i,compact:M,size:O}}export{F as a,G as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as F,g as j,h as A}from"./chunk-
|
|
1
|
+
import{f as F,g as j,h as A}from"./chunk-U2T2XWDA.js";import{h as b,j as x}from"./chunk-2JO6LXFT.js";import{p as _}from"./chunk-LYCLF26R.js";import{b as $,d as T,i as v,j as N}from"./chunk-CK2E7BTU.js";import{b as K}from"./chunk-QYADASLV.js";var Y={};K(Y,{SNAPSHOT_WIRE_VERSION:()=>k,SurfaceError:()=>o,asSurfaceError:()=>D,createGraph:()=>R,deleteSnapshot:()=>H,diffSnapshots:()=>W,listSnapshots:()=>L,restoreSnapshot:()=>V,runReduction:()=>M,saveSnapshot:()=>U});var o=class extends Error{code;details;constructor(t,r,n){super(r),this.name="SurfaceError",this.code=t,n!==void 0&&(this.details=n)}toJSON(){let t={code:this.code,message:this.message};if(this.details!==void 0){let r=q(this.details);r!==void 0&&(t.details=r)}return t}};function q(e){try{return JSON.parse(JSON.stringify(e))}catch{return}}function D(e,t="internal-error"){if(e instanceof o)return e;let r=e instanceof Error?e.message:String(e);return new o(t,r)}function R(e,t){let r=j(e);if(!r.valid)throw new o("invalid-spec",`GraphSpec validation failed:
|
|
2
2
|
${r.errors.join(`
|
|
3
3
|
`)}`,{errors:r.errors});let n=t?.catalog??{},s=F(e,n);if(!s.valid)throw new o("catalog-error",`Catalog validation failed:
|
|
4
4
|
${s.errors.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as $}from"./chunk-
|
|
1
|
+
import{a as $}from"./chunk-T2TB37TW.js";import{c as O}from"./chunk-L3KUKDZC.js";import{a as C}from"./chunk-Q46YJCQH.js";import{b as x}from"./chunk-HTBOCKVD.js";import{j as A}from"./chunk-2JO6LXFT.js";import{B as R}from"./chunk-T7EQPKOP.js";import{C as T,E as N,G as E,o as b,p as w,u as P,w as S}from"./chunk-LYCLF26R.js";import{b as v}from"./chunk-CK2E7BTU.js";import{b as M}from"./chunk-QYADASLV.js";var J={};M(J,{AuditTrailGraph:()=>k,PolicyEnforcerGraph:()=>G,auditTrail:()=>z,complianceSnapshot:()=>F,policyEnforcer:()=>K,reactiveExplainPath:()=>q});function V(i,t){return O("audit",i,t)}var L=new Set(["data","error","complete","teardown"]),k=class extends A{entries;count;_log;_target;constructor(t,n){super(n.name??`${t.name}_audit`,n.graph),this._target=t,this._log=x([],{name:"entries",...n.maxSize!=null?{maxSize:n.maxSize}:{}}),this.entries=this._log.entries,this.add(this.entries,{name:"entries"}),this.count=E([this.entries],([c])=>c.length,{name:"count",describeKind:"derived",meta:V("count")}),this.add(this.count,{name:"count"}),this.addDisposer(R(this.count));let o=n.includeTypes!=null?new Set(n.includeTypes):L,u=n.filter,a=0,h=t.observe({timeline:!0,structured:!0}),m=h.onEvent(c=>{if(c.type==="derived")return;let e=c.type;if(!o.has(e))return;let d=c.path??"",r={seq:a++,timestamp_ns:c.timestamp_ns??b(),wall_clock_ns:w(),path:d,type:e},f=(d?D(t,d):void 0)?.lastMutation;f!=null&&(r.actor=f.actor),e==="data"&&(r.value=c.data),e==="error"&&(r.error=c.data);let l=d?U(t,d):void 0;l!=null&&(r.annotation=l),!(u!=null&&!u(r))&&this._log.append(r)});this.addDisposer(()=>{m(),h.dispose()}),this.addDisposer(()=>this._log.disposeAllViews())}all(){return this.entries.cache??[]}byNode(t){return this.all().filter(n=>n.path===t)}byActor(t){return this.all().filter(n=>n.actor?.id===t)}byActorType(t){return this.all().filter(n=>n.actor?.type===t)}byTimeRange(t,n){return this.all().filter(o=>!(o.timestamp_ns<t||n!=null&&o.timestamp_ns>=n))}get target(){return this._target}};function z(i,t={}){return new k(i,t)}var G=class extends A{policies;violations;violationCount;_target;_mode;_currentGuard;constructor(t,n,o){super(o.name??`${t.name}_policy`,o.graph),this._target=t,this._mode=o.mode??"audit";let u=I(n)?n:N(n,{name:"policies"});this.policies=u,this.add(this.policies,{name:"policies"}),this.violations=new $("violations",{retainedLimit:o.violationsLimit??1e3}),this.mount("violations",this.violations),this.violationCount=E([this.violations.events],([e])=>e.length,{name:"violationCount",describeKind:"derived",meta:V("policy_violation_count")}),this.add(this.violationCount,{name:"violationCount"}),this.addDisposer(R(this.violationCount));let h=u.cache??[];this._currentGuard=P(h);let m=u.subscribe(e=>{for(let d of e)d[0]===v&&(h=d[1]??[],this._currentGuard=P(h))});this.addDisposer(m);let c=o.paths!=null?[...o.paths]:j(t);if(this._mode==="enforce"){let e=new Map,d=r=>{if(e.has(r))return;let s=D(t,r);if(!(s instanceof T))return;let f=(l,p)=>{let y=this._currentGuard(l,p);return y||this._publishViolation(l,p,r,"blocked"),y};e.set(r,s._pushGuard(f))};for(let r of c)d(r);if(o.paths==null){let r=C(t,(s,f,l)=>{if(s.kind==="added")if(s.nodeKind==="node")d(`${l}${s.name}`);else{let p=f._mounts.get(s.name);if(!(p instanceof A))return;let y=`${l}${s.name}::`,_=j(p);for(let g of _)d(g===""?`${l}${s.name}`:`${y}${g}`)}else if(s.kind==="removed")if(s.nodeKind==="node"){let p=`${l}${s.name}`,y=e.get(p);y!=null&&(y(),e.delete(p))}else{let p=`${l}${s.name}`,y=`${p}::`;for(let[_,g]of e)(_===p||_.startsWith(y))&&(g(),e.delete(_))}});this.addDisposer(r)}else{let r=t.topology.subscribe(s=>{for(let f of s){if(f[0]!==v)continue;let l=f[1];if(l.kind!=="removed"||l.nodeKind!=="node")continue;let p=e.get(l.name);p!=null&&(p(),e.delete(l.name))}});this.addDisposer(r)}this.addDisposer(()=>{for(let r of e.values())r();e.clear()})}else{let e=t.observe({timeline:!0,structured:!0}),d=e.onEvent(r=>{if(r.type!=="data"&&r.type!=="error")return;let s=r.path??"";if(!s||o.paths!=null&&!o.paths.includes(s))return;let f=r.actor??D(t,s)?.lastMutation?.actor;if(f==null)return;let l="write";this._currentGuard(f,l)||this._publishViolation(f,l,s,"observed")});this.addDisposer(()=>{d(),e.dispose()})}}_publishViolation(t,n,o,u){this.violations.publish({timestamp_ns:b(),wall_clock_ns:w(),path:o,actor:t,action:n,mode:this._mode,result:u})}all(){return this.violations.retained()}get mode(){return this._mode}get target(){return this._target}};function K(i,t,n={}){return new G(i,t,n)}function q(i,t,n,o){return i.explain(t,n,{reactive:!0,...o})}function F(i,t={}){let n={format_version:1,timestamp_ns:b(),wall_clock_ns:w(),graph:i.snapshot()};if(t.actor!=null&&(n.actor=t.actor),t.audit!=null){let u=[...t.audit.all()];n.audit={count:u.length,entries:u}}if(t.policies!=null){let u=t.policies.policies.cache??[];n.policies={mode:t.policies.mode,rules:u,violations:[...t.policies.all()]}}let o=B(n);return{...n,fingerprint:o}}function I(i){return typeof i=="object"&&i!==null&&"subscribe"in i}function D(i,t){try{return i.node(t)}catch{return}}function U(i,t){try{return i.annotation(t)}catch{return}}function j(i){let t=i.describe({detail:"minimal"});return Object.keys(t.nodes)}function B(i){return S(JSON.stringify(H(i)))}function H(i){let t=new Set,n=o=>{if(o===void 0)return{__undefined:!0};if(o===null)return null;let u=typeof o;if(u==="bigint")return{__bigint:o.toString()};if(u!=="object")return o;let a=o;if(t.has(a))return{__circular:!0};t.add(a);try{if(Array.isArray(a))return a.map(n);if(a instanceof Date)return{__date:a.toISOString()};if(a instanceof RegExp)return{__regexp:{source:a.source,flags:a.flags}};if(a instanceof Map)return{__map:[...a.entries()].map(([c,e])=>[n(c),n(e)])};if(a instanceof Set)return{__set:[...a].map(n)};if(ArrayBuffer.isView(a)){let m=a,c=new Array(m.length);for(let e=0;e<m.length;e++)c[e]=m[e]??0;return{__typed_array:{ctor:a.constructor.name,data:c}}}let h={};for(let m of Object.keys(a).sort())h[m]=n(a[m]);return h}finally{t.delete(a)}};return n(i)}export{k as a,z as b,G as c,K as d,q as e,F as f,J as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as R}from"./chunk-
|
|
1
|
+
import{c as R}from"./chunk-L3KUKDZC.js";import{b as N}from"./chunk-HTBOCKVD.js";import{j as k}from"./chunk-2JO6LXFT.js";import{B as g}from"./chunk-T7EQPKOP.js";import{D as T,E as S,G as y,m as q,p as w,t as u}from"./chunk-LYCLF26R.js";import{b as A}from"./chunk-QYADASLV.js";var P={};A(P,{CqrsGraph:()=>h,MemoryEventStore:()=>_,cqrs:()=>O});var j=u((i,e)=>{i("write"),i("signal"),e("observe")}),D=u((i,e)=>{i("observe"),i("signal"),e("write")}),H=u((i,e)=>{i("observe"),i("signal"),e("write")});function m(i,e){return R("cqrs",i,e)}var _=class{_store=new Map;persist(e){let t=this._store.get(e.type);t||(t=[],this._store.set(e.type,t)),t.push(e)}loadEvents(e,t){let n=this._store.get(e)??[],r=t?.timestampNs,s=t?.seq,o=r==null?[...n]:n.filter(d=>d.timestampNs>r||d.timestampNs===r&&d.seq>(s??-1)),a=o.length>0?o[o.length-1]:void 0;return{events:o,cursor:a?{timestampNs:a.timestampNs,seq:a.seq}:t}}clear(){this._store.clear()}},h=class extends k{_eventLogs=new Map;_commandHandlers=new Map;_projections=new Set;_sagas=new Set;_keepaliveDisposers=[];_eventStore;_seq=0;constructor(e,t={}){super(e,t.graph)}destroy(){for(let e of this._keepaliveDisposers)e();this._keepaliveDisposers.length=0,super.destroy()}event(e){let t=this._eventLogs.get(e);if(t)return t.node;let n=N([],{name:e,versioning:0}),r=n.entries,s=y([r],([o])=>o,{name:e,describeKind:"state",meta:m("event",{event_name:e}),guard:H,initial:r.cache});return this.add(s,{name:e}),this._keepaliveDisposers.push(g(s)),this._eventLogs.set(e,{log:n,node:s}),s}_appendEvent(e,t){let n=this._eventLogs.get(e);if(n||(this.event(e),n=this._eventLogs.get(e)),n.node.status==="completed"||n.node.status==="errored")throw new Error(`Cannot dispatch to terminated event stream "${e}" (status: ${n.node.status}).`);let r=n.log.entries.v,s={type:e,payload:t,timestampNs:w(),seq:++this._seq,...r!=null?{v0:{id:r.id,version:r.version}}:{}};n.log.append(s),this._eventStore&&this._eventStore.persist(s)}command(e,t){let n=S(void 0,{name:e,describeKind:"state",meta:{...m("command",{command_name:e}),error:null},guard:j});return this.add(n,{name:e}),this._commandHandlers.set(e,t),n}dispatch(e,t){let n=this._commandHandlers.get(e);if(!n)throw new Error(`Unknown command: "${e}". Register with .command() first.`);let r=this.resolve(e);q(()=>{r.emit(t,{internal:!0});try{n(t,{emit:(s,o)=>this._appendEvent(s,o)}),r.meta.error.emit(null,{internal:!0})}catch(s){throw r.meta.error.emit(s,{internal:!0}),s}})}projection(e,t,n,r){let s=t.map(a=>(this._eventLogs.has(a)||this.event(a),this._eventLogs.get(a).node)),o=y(s,a=>{let d=[];for(let v of a){let p=v;d.push(...p)}return d.sort((v,p)=>v.timestampNs-p.timestampNs||v.seq-p.seq),n(r,d)},{name:e,describeKind:"derived",meta:m("projection",{projection_name:e,source_events:t}),guard:D,initial:r});return this.add(o,{name:e}),this._keepaliveDisposers.push(g(o)),this._projections.add(e),o}saga(e,t,n){let r=t.map(d=>(this._eventLogs.has(d)||this.event(d),this._eventLogs.get(d).node)),s=new Map,o={},a=T(r,(d,v)=>{let p=o.n.meta.error;for(let c=0;c<d.length;c++){let E=d[c];if(E==null||E.length===0)continue;let l=E.at(-1);if(!l)continue;let f=t[c],C=s.get(f)??0;if(l.length>C){let b=l.slice(C);for(let L of b)try{n(L),p.emit(null,{internal:!0})}catch(x){p.emit(x,{internal:!0})}s.set(f,l.length)}}},{name:e,describeKind:"effect",meta:{...m("saga",{saga_name:e,source_events:t}),error:null}});return o.n=a,this.add(a,{name:e}),this._keepaliveDisposers.push(g(a)),this._sagas.add(e),a}useEventStore(e){this._eventStore=e}async rebuildProjection(e,t,n){if(!this._eventStore)throw new Error("No event store wired. Call useEventStore() first.");let r=[];for(let s of e){let o=await this._eventStore.loadEvents(s);r.push(...o.events)}return r.sort((s,o)=>s.timestampNs-o.timestampNs||s.seq-o.seq),t(n,r)}};function O(i,e){return new h(i,e)}export{_ as a,h as b,O as c,P as d};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import{a as _e,b as je,d as Fe,e as Ge}from"./chunk-GCUYSIM4.js";import{e as St}from"./chunk-HIJ2RKVP.js";import{h as Et}from"./chunk-U2T2XWDA.js";import{e as et}from"./chunk-T2TB37TW.js";import{a as Xt,b as nr,c as or,d as ar,e as sr,f as Ze,g as ir}from"./chunk-O2WY22L7.js";import{a as Qe,b as ee,c as Pe,d as ge,e as ie,f as te,g as Zt,h as Xe,i as er,j as tr,k as rr}from"./chunk-2LZ6DL45.js";import{c as wt}from"./chunk-L3KUKDZC.js";import{b as Ct}from"./chunk-WBWBY6LI.js";import{b as Tt,c as Oe,d as vt,f as Ye}from"./chunk-FKRPIRE6.js";import{b as De}from"./chunk-TZQPPQEQ.js";import{b as Te}from"./chunk-HTBOCKVD.js";import{j as me}from"./chunk-2JO6LXFT.js";import{a as se}from"./chunk-ESMPEKEV.js";import{R as At,b as Lt,s as Nt,x as Y}from"./chunk-4F564IPP.js";import{B as U,f as Mt,k as Je,l as kt,m as w,w as ce,y as Rt,z as xt}from"./chunk-T7EQPKOP.js";import{D as fe,E as k,F as ue,G as M,H as ne,m as Z,o as re,p as Le}from"./chunk-LYCLF26R.js";import{b as Q,d as be,i as le,j as X}from"./chunk-CK2E7BTU.js";import{b as Qt}from"./chunk-QYADASLV.js";var un={};Qt(un,{AgentLoopGraph:()=>ze,AllTiersExhaustedError:()=>sr,BudgetExhaustedError:()=>We,ChatStreamGraph:()=>He,CircuitOpenError:()=>Oe,DEFAULT_DECAY_RATE:()=>Se,FallbackMissError:()=>tr,LLMTimeoutError:()=>Me,ReplayCacheMissError:()=>Zt,ToolRegistryGraph:()=>qe,admissionFilter3D:()=>Yr,admissionScored:()=>Ut,agentLoop:()=>Hr,agentMemory:()=>Jr,anthropicAdapter:()=>Xt,canonicalJson:()=>er,cascadingLlmAdapter:()=>Ze,chatStream:()=>mt,composePricing:()=>pr,computePrice:()=>tt,contentGate:()=>Wr,costMeterExtractor:()=>_r,createAdapter:()=>ar,createCapabilitiesRegistry:()=>lr,createPricingRegistry:()=>cr,dryRunAdapter:()=>Qe,fallbackAdapter:()=>rr,fromLLM:()=>Lr,frozenContext:()=>Sr,gatedStream:()=>Or,gaugesAsContext:()=>rn,googleAdapter:()=>nr,graphFromSpec:()=>qt,graphFromSpecReactive:()=>nn,handoff:()=>qr,keywordFlagExtractor:()=>Fr,knobsAsTools:()=>an,llmConsolidator:()=>yt,llmExtractor:()=>gt,memoryRetrieval:()=>tn,memoryWithKG:()=>Xr,memoryWithTiers:()=>Zr,memoryWithVectors:()=>Qr,observableAdapter:()=>dr,openAICompatAdapter:()=>or,parseRateLimitFromError:()=>at,pricingFor:()=>fr,promptNode:()=>ct,redactor:()=>Kr,registryPricing:()=>mr,resilientAdapter:()=>wr,streamExtractor:()=>Gr,streamingPromptNode:()=>Ir,suggestStrategy:()=>zt,suggestStrategyReactive:()=>ln,systemPromptBuilder:()=>Dr,tier:()=>ir,toolCallExtractor:()=>$r,toolExecution:()=>pt,toolRegistry:()=>ft,toolSelector:()=>zr,validateGraphDef:()=>dn,withBreaker:()=>rt,withBudgetGate:()=>ot,withDryRun:()=>yr,withRateLimiter:()=>it,withReplayCache:()=>Xe,withRetry:()=>lt,withTimeout:()=>dt,zeroPrice:()=>$e});function Ne(t,e){return`${t}::${e}`}function lr(t){let e=De({name:"capabilitiesRegistry"}),r=i=>{e.set(Ne(i.provider,i.id),i)};if(t)for(let i of t)r(i);let n=(i,u)=>{let c=e.get(Ne(i,u));if(c)return c;let m=e.entries.cache;if(!m)return;let p;for(let[,y]of m){if(y.provider!==i)continue;let g=y.id;u.startsWith(g)&&(!p||g.length>p.id.length)&&(p=y)}return p},o=128,a=new Map,s=new Map,l=(i,u,c,m)=>{for(i.has(u)&&i.delete(u),i.set(u,c);i.size>m;){let p=i.keys().next().value;if(p===void 0)break;i.delete(p)}},d=M([e.entries],([i])=>Array.from(i.values()),{name:"capabilitiesRegistry/entries",initial:[]});return{register:r,lookup:n,remove(i,u){let c=e.has(Ne(i,u));return c&&e.delete(Ne(i,u)),c},entries(){let i=e.entries.cache;return(function*(){if(i)for(let u of i.values())yield u})()},lookupNode(i,u){let c=Ne(i,u),m=a.get(c);if(m)return a.delete(c),a.set(c,m),m;let p=M([e.entries],()=>n(i,u),{name:`capabilitiesRegistry/lookup/${i}::${u}`,initial:void 0});return l(a,c,p,o),p},entriesNode:d,byProvider(i){let u=s.get(i);if(u)return s.delete(i),s.set(i,u),u;let c=M([d],([m])=>m.filter(p=>p.provider===i),{name:`capabilitiesRegistry/byProvider/${i}`,initial:[]});return l(s,i,c,o),c}}}function ae(t){let e=t.input,r=e.regular+(e.cacheRead??0)+(e.cacheWrite5m??0)+(e.cacheWrite1h??0)+(e.cacheWriteOther??0)+(e.audio??0)+(e.image??0)+(e.video??0)+(e.toolUse??0);if(!e.extensions)return r;let n=0;for(let o of Object.values(e.extensions))n+=o;return r+n}function de(t){let e=t.output,r=e.regular+(e.reasoning??0)+(e.audio??0)+(e.predictionAccepted??0)+(e.predictionRejected??0);if(!e.extensions)return r;let n=0;for(let o of Object.values(e.extensions))n+=o;return r+n}function It(){return{input:{regular:0},output:{regular:0}}}function dr(t,e){let r=e?.logMax??1e3,n=Te(void 0,{name:e?.name?`${e.name}/stats`:"adapterStats",maxSize:r}),o=k(null,{name:"adapterStats/lastCall"}),a=M([n.entries],([g])=>g.length,{name:"adapterStats/totalCalls",initial:0}),s=M([n.entries],([g])=>g.reduce((f,h)=>f+ae(h.usage),0),{name:"adapterStats/totalInputTokens",initial:0}),l=M([n.entries],([g])=>g.reduce((f,h)=>f+de(h.usage),0),{name:"adapterStats/totalOutputTokens",initial:0}),d=[U(a),U(s),U(l)],i=g=>{n.append(g),o.emit(g)},u=()=>{n.clear(),o.emit(null)},c=ee(t,{invoke(g,f){let h=re(),v=Le(),b=t.model??f?.model??"",R=A=>(i(ge({provider:t.provider,model:t.model??f?.model??A.model??"",tier:f?.tier??A.tier,usage:A.usage??ie(),startNs:h,startWallClockNs:v,method:"invoke"})),A),E=A=>{let F=A;i(ge({provider:t.provider,model:b,tier:f?.tier,usage:ie(),startNs:h,startWallClockNs:v,method:"invoke",error:{type:F?.name??"Error",message:F?.message??String(A)}}))};return Pe(t.invoke(g,f),{onResp:R,onError:E,name:"adapterStats/invokeTap"})},async*stream(g,f){let h=re(),v=Le(),b=t.model??f?.model??"",R;try{for await(let E of t.stream(g,f))E.type==="usage"&&(R=E.usage),yield E;i(ge({provider:t.provider,model:b,tier:f?.tier,usage:R??ie(),startNs:h,startWallClockNs:v,method:"stream"}))}catch(E){let A=E;throw i(ge({provider:t.provider,model:b,tier:f?.tier,usage:R??ie(),startNs:h,startWallClockNs:v,method:"stream",error:{type:A?.name??"Error",message:A?.message??String(E)}})),E}}});te(c,"observableAdapter",t);let m=!1;return{adapter:c,stats:{lastCall:o,allCalls:n,totalCalls:a,totalInputTokens:s,totalOutputTokens:l,reset:u,dispose:()=>{if(!m){m=!0;for(let g of d)g();d.length=0}}}}}function ur(t,e){return t==null?0:typeof t=="number"?t:t.thresholdTokens!=null&&t.pricePerMillionAbove!=null&&e>t.thresholdTokens?t.pricePerMillionAbove:t.pricePerMillion}function $e(t="USD"){return{total:0,currency:t}}function tt(t,e,r){let n=ae(t),o=e.currency??"USD",a=r?.withBreakdown===!0,s=a?{}:null,l=0,d=(f,h,v)=>{if(!h||v==null)return;let b=ur(v,n),R=h*b/1e6;l+=R,a&&(s[f]=(s[f]??0)+R)},i=t.input,u=e.input;if(u&&(d("input.regular",i.regular,u.regular),d("input.cacheRead",i.cacheRead??0,u.cacheRead),d("input.cacheWrite5m",i.cacheWrite5m??0,u.cacheWrite5m),d("input.cacheWrite1h",i.cacheWrite1h??0,u.cacheWrite1h),d("input.cacheWriteOther",i.cacheWriteOther??0,u.cacheWriteOther),d("input.audio",i.audio??0,u.audio),d("input.image",i.image??0,u.image),d("input.video",i.video??0,u.video),d("input.toolUse",i.toolUse??0,u.toolUse),i.extensions&&u.extensions))for(let[f,h]of Object.entries(i.extensions))d(`input.ext.${f}`,h,u.extensions[f]);let c=t.output,m=e.output;if(m&&(d("output.regular",c.regular,m.regular),d("output.reasoning",c.reasoning??0,m.reasoning),d("output.audio",c.audio??0,m.audio),d("output.predictionAccepted",c.predictionAccepted??0,m.predictionAccepted),d("output.predictionRejected",c.predictionRejected??0,m.predictionRejected),c.extensions&&m.extensions))for(let[f,h]of Object.entries(c.extensions))d(`output.ext.${f}`,h,m.extensions[f]);let p=r?.tier;if(p&&e.tierMultipliers){let f=e.tierMultipliers[p];if(f!=null&&(l*=f,a))for(let h of Object.keys(s))s[h]*=f}let y=t.auxiliary,g=e.auxiliary;if(y&&g)for(let[f,h]of Object.entries(y)){let v=g[f];if(v==null||!h)continue;let b=h*v;l+=b,a&&(s[`auxiliary.${f}`]=b)}return a?{total:l,currency:o,breakdown:s}:{total:l,currency:o}}function Be(t,e){return`${t}::${e}`}function cr(t){let e=new Map,r=new Map,n=(o,a,s)=>{e.set(Be(o,a),{provider:o,model:a,pricing:s});let l=r.get(o);l||(l=new Set,r.set(o,l)),l.add(a)};if(t)for(let[o,a,s]of t)n(o,a,s);return{register:n,lookup(o,a){let s=e.get(Be(o,a));if(s)return s.pricing;let l=r.get(o);if(!l)return;let d;for(let i of l)if(a.startsWith(i)&&(!d||i.length>d.key.length)){let u=e.get(Be(o,i));u&&(d={key:i,pricing:u.pricing})}return d?.pricing},remove(o,a){let s=e.delete(Be(o,a));if(s){let l=r.get(o);l?.delete(a),l&&l.size===0&&r.delete(o)}return s},entries(){let o=e.values();return(function*(){for(let{provider:a,model:s,pricing:l}of o)yield[a,s,l]})()}}}function mr(t,e="USD"){return(r,n)=>{let o=t.lookup(n.provider,n.model);return o?tt(r,o,{tier:n.tier,withBreakdown:n.withBreakdown}):$e(e)}}function pr(...t){return(e,r)=>{for(let n of t){let o=n(e,r);if(o.total!==0)return o}return t.length>0?t[0](e,r):$e()}}function fr(t,e,r){return t?.pricing?tt(e,t.pricing,r):$e()}function rt(t,e={}){let r=e.breaker??vt(e),n=ee(t,{async invoke(o,a){if(!r.canExecute())throw new Oe;try{let s=await ce(w(t.invoke(o,a)));return r.recordSuccess(),s}catch(s){throw r.recordFailure(s),s}},async*stream(o,a){if(!r.canExecute())throw new Oe;try{for await(let s of t.stream(o,a))yield s;r.recordSuccess()}catch(s){throw r.recordFailure(s),s}}});return te(n,"withBreaker",t),{adapter:n,breaker:r}}var We=class extends Error{constructor(r,n,o){super(`Budget exhausted: ${r} (limit=${n}, observed=${o})`);this.which=r;this.limit=n;this.observed=o}name="BudgetExhaustedError"},nt=Object.freeze({calls:0,inputTokens:0,outputTokens:0,usd:0}),Ot=()=>({calls:0,inputTokens:0,outputTokens:0,usd:0});function ot(t,e){let r=Te(void 0,{name:e.name?`${e.name}/log`:"budgetGate/log",maxSize:e.logMax??1e3}),n=k(Ot(),{name:e.name?`${e.name}/totals`:"budgetGate/totals"}),o=M([n],([i])=>{let u=i;return!(e.caps.calls!=null&&u.calls>=e.caps.calls||e.caps.inputTokens!=null&&u.inputTokens>=e.caps.inputTokens||e.caps.outputTokens!=null&&u.outputTokens>=e.caps.outputTokens||e.caps.usd!=null&&u.usd>=e.caps.usd)},{name:e.name?`${e.name}/isOpen`:"budgetGate/isOpen",initial:!0});if(U(o),e.onExhausted!=null){let i=e.onExhausted,u=!1,c=!0;o.subscribe(m=>{for(let p of m)if(p[0]===Q){let y=p[1];if(u&&c&&y===!1){let g=Dt(n.cache??nt,e.caps);g&&i(g)}c=y,u=!0}})}let a=()=>{if(o.cache===!1){let i=n.cache??nt,u=Dt(i,e.caps);return new We(u??"budget",e.caps[u??"calls"]??0,gr(i,u??"calls"))}},s=(i,u)=>{let c=t.provider,m=ge({provider:c,model:u.model,tier:u.tier,usage:i,startNs:u.startNs,method:u.method,...u.error?{error:u.error}:{}});r.append(m);let p=n.cache??nt,y=e.pricingFn?p.usd+e.pricingFn(i,{model:u.model,provider:c,tier:u.tier}).total:p.usd;n.emit({calls:p.calls+1,inputTokens:p.inputTokens+ae(i),outputTokens:p.outputTokens+de(i),usd:y})},l=()=>{r.clear(),n.emit(Ot())},d=ee(t,{invoke(i,u){let c=a();if(c)return Promise.reject(c);let m=re(),p=t.model??u?.model??"",y=f=>(s(f.usage??ie(),{model:t.model??u?.model??f.model??"",tier:u?.tier??f.tier,startNs:m,method:"invoke"}),f),g=f=>{let h=f;s(ie(),{model:p,tier:u?.tier,startNs:m,method:"invoke",error:{type:h?.name??"Error",message:h?.message??String(f)}})};return Pe(t.invoke(i,u),{onResp:y,onError:g,name:"budgetGate/invokeTap"})},async*stream(i,u){let c=a();if(c)throw c;let m=re(),p;try{for await(let y of t.stream(i,u))y.type==="usage"&&(p=y.usage),yield y;s(p??ie(),{model:t.model??u?.model??"",tier:u?.tier,startNs:m,method:"stream"})}catch(y){let g=y;throw s(p??ie(),{model:t.model??u?.model??"",tier:u?.tier,startNs:m,method:"stream",error:{type:g?.name??"Error",message:g?.message??String(y)}}),y}}});return te(d,"withBudgetGate",t),{adapter:d,budget:{totals:n,isOpen:o,log:r,reset:l}}}function Dt(t,e){if(e.calls!=null&&t.calls>=e.calls)return"calls";if(e.inputTokens!=null&&t.inputTokens>=e.inputTokens)return"inputTokens";if(e.outputTokens!=null&&t.outputTokens>=e.outputTokens)return"outputTokens";if(e.usd!=null&&t.usd>=e.usd)return"usd"}function gr(t,e){switch(e){case"calls":return t.calls;case"inputTokens":return t.inputTokens;case"outputTokens":return t.outputTokens;case"usd":return t.usd}}function yr(t,e){let r=e.mock??Qe({provider:t.provider,model:t.model}),n=typeof e.enabled=="boolean"?e.enabled:void 0,o=n===void 0?w(e.enabled):void 0,a;o&&(a=U(o));let s=()=>n!==void 0?n:!!o?.cache,l=ee(t,{invoke(i,u){return s()?r.invoke(i,u):t.invoke(i,u)},stream(i,u){return s()?r.stream(i,u):t.stream(i,u)}});return te(l,"withDryRun",t),{adapter:l,dispose:()=>{a&&(a(),a=void 0)}}}function at(t){if(t==null||typeof t!="object")return;let e=t,r=e.status,n=hr(e.headers);if(r!==429&&r!==503&&!Rr(e.message))return;let o={},a=n("retry-after"),s=Tr(a);s!=null&&(o.retryAfterMs=s);let l=n("anthropic-ratelimit-requests-reset");if(l){let p=Pt(l);p!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,p))}let d=n("anthropic-ratelimit-tokens-reset");if(d){let p=Pt(d);p!=null&&(o.retryAfterMs=Math.max(o.retryAfterMs??0,p))}let i=Ke(n,"x-ratelimit-limit-requests");i!=null&&(o.rpmCap=i);let u=Ke(n,"x-ratelimit-limit-tokens");u!=null&&(o.tpmCap=u);let c=Ke(n,"x-ratelimit-remaining-requests"),m=Ke(n,"x-ratelimit-remaining-tokens");if(c!=null&&i!=null&&i>0&&(o.usageHint??={},o.usageHint.rpm=1-c/i),m!=null&&u!=null&&u>0&&(o.usageHint??={},o.usageHint.tpm=1-m/u),o.retryAfterMs==null&&e.message){let p=Mr(e.message);p!=null&&(o.retryAfterMs=p)}return e.headers&&(o.metadata={headers:br(e.headers)}),o.retryAfterMs==null&&o.rpmCap==null&&o.tpmCap==null&&o.usageHint==null?o.metadata?o:void 0:o}function hr(t){if(!t)return()=>{};if(typeof t.get=="function"){let n=t;return o=>n.get(o)??n.get(o.toLowerCase())??void 0}let e=t,r={};for(let[n,o]of Object.entries(e)){let a=Array.isArray(o)?o.join(", "):o;a!=null&&(r[n.toLowerCase()]=a)}return n=>r[n.toLowerCase()]}function br(t){let e={};if(typeof t.forEach=="function")return t.forEach((r,n)=>{e[n]=r}),e;for(let[r,n]of Object.entries(t))n!=null&&(e[r]=Array.isArray(n)?n.join(", "):n);return e}function Ke(t,e){let r=t(e);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Tr(t){if(!t)return;let e=t.trim(),r=Number(e);if(Number.isFinite(r)&&r>=0)return r*1e3;let n=Date.parse(e);if(Number.isFinite(n)){let o=n-Date.now();if(o>0)return o}}function Pt(t){if(!t)return;let e=Date.parse(t);if(Number.isFinite(e))return Math.max(0,e-Date.now())}var vr=/retry\s+(?:in|after)\s+(\d+(?:\.\d+)?)\s*(ms|s|sec|seconds?|m|min|minutes?)/i;function Mr(t){let e=vr.exec(t);if(!e)return;let r=Number(e[1]);if(!Number.isFinite(r))return;let n=(e[2]??"s").toLowerCase();if(n==="ms")return r;if(n.startsWith("s"))return r*1e3;if(n.startsWith("m"))return r*6e4}var kr=/rate\s*limit|too\s*many\s*requests|quota|429/i;function Rr(t){return!!t&&kr.test(t)}function st(t){let e=new Error(t);return e.name="AbortError",e}function jt(t={}){let e=Math.max(1,t.burstMultiplier??1),r=t.clampCooldownMs??6e4,n=t.rpm!=null?w(t.rpm):k(Number.POSITIVE_INFINITY),o=t.tpm!=null?w(t.tpm):k(Number.POSITIVE_INFINITY),a=k(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalRpmCap"}),s=k(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/signalTpmCap"}),l=k({},{name:"adaptiveRateLimiter/lastSignal"}),d=M([n,a],([x,D])=>Math.min(Number(x??1/0),Number(D??1/0)),{name:"adaptiveRateLimiter/effectiveRpm"}),i=M([o,s],([x,D])=>Math.min(Number(x??1/0),Number(D??1/0)),{name:"adaptiveRateLimiter/effectiveTpm"}),u=ve(Number(n.cache??Number.POSITIVE_INFINITY),e),c=ve(Number(o.cache??Number.POSITIVE_INFINITY),e),m=!1,p=!1,y=d.subscribe(x=>{for(let D of x)if(D[0]===Q){let _=Number(D[1]);Number.isFinite(_)&&_>0?(u=ve(_,e),m=!1):_===1/0?(u=ve(1/0,e),m=!1):_<=0&&(m=!0)}}),g=i.subscribe(x=>{for(let D of x)if(D[0]===Q){let _=Number(D[1]);Number.isFinite(_)&&_>0?(c=ve(_,e),p=!1):_===1/0?(c=ve(1/0,e),p=!1):_<=0&&(p=!0)}}),f=0,h=new se,v=new se,b;t.adaptation!=null&&(b=w(t.adaptation).subscribe(D=>{for(let _ of D)_[0]===Q&&R(_[1])}));function R(x){if(l.emit(x),x.rpmCap!=null&&Number.isFinite(x.rpmCap)&&x.rpmCap>=0&&(a.emit(x.rpmCap),Number.isFinite(r)&&r>0&&h.start(r,()=>a.emit(Number.POSITIVE_INFINITY))),x.tpmCap!=null&&Number.isFinite(x.tpmCap)&&x.tpmCap>=0&&(s.emit(x.tpmCap),Number.isFinite(r)&&r>0&&v.start(r,()=>s.emit(Number.POSITIVE_INFINITY))),x.retryAfterMs!=null&&x.retryAfterMs>0){let D=re()+x.retryAfterMs*1e6;D>f&&(f=D)}}let E=k(0,{name:"adaptiveRateLimiter/pending"}),A=k(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/rpmAvailable"}),F=k(Number.POSITIVE_INFINITY,{name:"adaptiveRateLimiter/tpmAvailable"}),B=x=>{E.emit((E.cache??0)+x)},C=()=>{A.emit(u.available()),F.emit(c.available())};async function I(x={}){let D=x.requestCost??1,_=x.tokenCost??0,J=x.signal;B(1);try{for(;;){if(J?.aborted)throw st("AdaptiveRateLimiter.acquire aborted");let P=re();if(f>P){let T=Math.ceil((f-P)/1e6);await Ue(T,J);continue}if(D>0&&m||_>0&&p){await Ue(250,J);continue}let $=u,G=c;if(!$.tryConsume(D)){await Ue(_t($,D),J);continue}if(!(_>0?G.tryConsume(_):!0)){$.putBack(D),await Ue(_t(G,_),J);continue}C();return}}finally{B(-1)}}function L(x){x>0?c.tryConsume(x):x<0&&c.putBack(-x),C()}function O(){y(),g(),b?.(),h.cancel(),v.cancel()}return{effectiveRpm:d,effectiveTpm:i,lastSignal:l,pending:E,rpmAvailable:A,tpmAvailable:F,acquire:I,recordUsage:L,recordSignal:R,dispose:O}}function ve(t,e){if(!Number.isFinite(t)||t===1/0)return Ye(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);let r=Math.max(1,t*e),n=t/60;return Ye(r,n)}function _t(t,e){let r=t.available(),n=Math.max(0,e-r);return n<=0?25:Math.min(5e3,Math.max(50,n*100))}function Ue(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(st("AdaptiveRateLimiter.acquire aborted")):new Promise((r,n)=>{let o=new se,a,s=()=>{o.cancel(),e&&a&&e.removeEventListener("abort",a)};o.start(t,()=>{s(),r()}),e&&(a=()=>{s(),n(st("AdaptiveRateLimiter.acquire aborted"))},e.addEventListener("abort",a,{once:!0}))})}function it(t,e={}){let r=e.limiter??jt({name:e.name??"rateLimiter",rpm:e.rpm,tpm:e.tpm,adaptation:e.adaptation,burstMultiplier:e.burstMultiplier}),n=(s,l)=>e.costFn?e.costFn(s,l):0,o=s=>{let l=at(s);l&&r.recordSignal(l)},a=ee(t,{async invoke(s,l){let d=n(s,l);await r.acquire({requestCost:1,tokenCost:d,signal:l?.signal});try{let i=await ce(w(t.invoke(s,l))),u=i.usage??It(),m=ae(u)+de(u)-d;return m>0&&r.recordUsage(m),i}catch(i){throw o(i),i}},async*stream(s,l){let d=n(s,l);await r.acquire({requestCost:1,tokenCost:d,signal:l?.signal});try{let i=0;for await(let c of t.stream(s,l))c.type==="usage"&&(i=ae(c.usage)+de(c.usage)),yield c;let u=i-d;u>0&&r.recordUsage(u)}catch(i){throw o(i),i}}});return te(a,"withRateLimiter",t),{adapter:a,limiter:r}}function Ve(t="aborted"){let e=new Error(t);return e.name="AbortError",e}function Ft(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Ve()):new Promise((r,n)=>{let o=new se,a,s=()=>{o.cancel(),e&&a&&e.removeEventListener("abort",a)};o.start(t,()=>{s(),r()}),e&&(a=()=>{s(),n(Ve())},e.addEventListener("abort",a,{once:!0}))})}function lt(t,e={}){let r=e.attempts??3,n=e.baseDelayMs??500,o=e.maxDelayMs??1e4,a=e.strategy??"decorrelated",s=e.jitter??!0,l=e.shouldRetry??xr,d=e.retryStreaming??!0,i=(c,m)=>{if(a==="decorrelated"){let f=Math.min(o,Math.max(n,m*3));return n+Math.random()*(f-n)}let p=a==="exp"?n*2**(c-1):n*c,y=Math.min(o,p);if(!s)return y;let g=y*(.5+Math.random());return Math.min(o,g)},u=ee(t,{async invoke(c,m){if(m?.signal?.aborted)throw Ve();let p,y=n;for(let g=1;g<=r;g++)try{return await ce(w(t.invoke(c,m)))}catch(f){if(p=f,g>=r||!l(f,g))throw f;let h=i(g,y);y=h,await Ft(h,m?.signal)}throw p},async*stream(c,m){if(m?.signal?.aborted)throw Ve();if(!d){for await(let g of t.stream(c,m))yield g;return}let p,y=n;for(let g=1;g<=r;g++){let f=!1;try{for await(let h of t.stream(c,m))f=!0,yield h;return}catch(h){if(p=h,f||g>=r||!l(h,g))throw h;let v=i(g,y);y=v,await Ft(v,m?.signal)}}throw p}});return te(u,"withRetry",t),u}function xr(t,e){if(t==null)return!1;let r=t;return r.name==="LLMTimeoutError"?!0:r.name==="AbortError"||r.message==="aborted"||r.name==="DOMException"&&r.code!=null&&Number(r.code)===20||r.name==="BudgetExhaustedError"||r.name==="CircuitOpenError"?!1:r.status!=null?r.status===429||r.status>=500&&r.status<600:r.code&&typeof r.code=="string"&&/^E[A-Z]+$/.test(r.code)?!0:r.message?/network|timeout|socket|fetch|econn|eai_/i.test(r.message):!1}var Me=class extends Error{constructor(r){super(`LLM call timed out after ${r}ms`);this.ms=r}name="LLMTimeoutError"};function dt(t,e){if(e<=0)throw new RangeError("withTimeout: ms must be > 0");let r=a=>{let s=new AbortController,l=!1,d,i=new se;return a&&(a.aborted?s.abort(a.reason):(d=()=>{i.cancel(),s.abort(a.reason)},a.addEventListener("abort",d,{once:!0}))),i.start(e,()=>{l=!0,s.abort(new Me(e))}),{signal:s.signal,cancel:()=>{i.cancel(),a&&d&&a.removeEventListener("abort",d)},timedOut:()=>l}},n=(a,s)=>{if(!s||a instanceof Me)throw a;let l=a;if(l?.name==="AbortError"||l?.name==="DOMException"&&Number(l.code)===20||a?.message==="aborted"){let i=new Me(e);throw i.cause=a,i}throw a},o=ee(t,{async invoke(a,s){let{signal:l,cancel:d,timedOut:i}=r(s?.signal);try{return await ce(w(t.invoke(a,{...s,signal:l})))}catch(u){return n(u,i())}finally{d()}},async*stream(a,s){let{signal:l,cancel:d,timedOut:i}=r(s?.signal);try{for await(let u of t.stream(a,{...s,signal:l}))yield u}catch(u){n(u,i())}finally{d()}}});return te(o,"withTimeout",t),o}function wr(t,e={}){let r={adapter:t},n=t;if(e.rateLimit){let o=it(n,e.rateLimit);n=o.adapter,r.rateLimiter=o.limiter}if(e.budget){let o=ot(n,e.budget);n=o.adapter,r.budget=o.budget}if(e.breaker){let o=rt(n,e.breaker);n=o.adapter,r.breaker=o.breaker}if(e.timeoutMs!=null&&(n=dt(n,e.timeoutMs)),e.retry&&(n=lt(n,e.retry)),e.fallback){if(e.name==="fallback")throw new RangeError('resilientAdapter: `name` cannot be "fallback" \u2014 collides with the secondary tier label.');let o={};e.onFallback&&(o.onFallback=e.onFallback),e.onExhausted&&(o.onExhausted=e.onExhausted),n=Ze([{name:e.name??"primary",adapter:n},{name:"fallback",adapter:e.fallback}],o)}return e.cache&&(n=Xe(n,e.cache)),r.adapter=n,r}function Lr(t,e,r){let n=w(e);return Y(n,a=>{if(!a||a.length===0)return k(null);let s=r?.tools;return t.invoke(a,{model:r?.model,temperature:r?.temperature,maxTokens:r?.maxTokens,tools:s,systemPrompt:r?.systemPrompt})})}function N(t,e){return wt("ai",t,e)}function Nr(t){return t!=null&&typeof t.then=="function"}function ut(t){return typeof t=="object"&&t!==null&&"subscribe"in t&&typeof t.subscribe=="function"&&"cache"in t}function Ar(t){return t!=null&&typeof t=="object"&&Symbol.asyncIterator in t&&typeof t[Symbol.asyncIterator]=="function"}var Cr=3e4;function Gt(t,e){if(t.status==="settled"){let n=t.cache;if(n!==void 0)return Promise.resolve(n)}let r=e?.timeoutMs??Cr;return new Promise((n,o)=>{let a=new se,s=t.subscribe(l=>{for(let d of l){if(d[0]===Q){a.cancel(),s(),n(d[1]);return}if(d[0]===X){a.cancel(),s(),o(d[1]);return}if(d[0]===le){a.cancel(),s(),o(new Error("firstDataFromNode: completed without producing a value"));return}}});a.start(r,()=>{s(),o(new Error(`firstDataFromNode: timed out after ${r}ms`))})})}async function Ae(t){return Nr(t)?Ae(await t):ut(t)?Gt(t):Ar(t)?Gt(w(t)):t}function ke(t){let e=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:t}function Sr(t,e){let r=w(t),n=e?.refreshTrigger!=null?w(e.refreshTrigger):null;return n==null?fe([r],(o,a,s)=>{if(s.store.emitted===!0)return;let d=o[0],i=d!=null&&d.length>0?d.at(-1):s.prevData[0];if(i!==void 0)return s.store.emitted=!0,a.emit(i),{invalidate:()=>{s.store.emitted=!1}}},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:N("frozen_context")}):fe([r,n],(o,a,s)=>{let l=o[1];if(!(l!=null&&l.length>0))return;let i=o[0],u=i!=null&&i.length>0?i.at(-1):s.prevData[0];a.emit(u)},{name:e?.name??"frozenContext",describeKind:"derived",initial:null,meta:N("frozen_context")})}function Bt(t){return t!=null&&typeof t=="object"&&"content"in t?String(t.content):typeof t=="string"?t:String(t)}function Er(t,e=200){return t.length<=e?t:`${t.slice(0,e)}\u2026`}function ct(t,e,r,n){let o=n?.format??"text",a=n?.name??"prompt_node",s=M(e,d=>{if(d.some(u=>u==null))return[];let i=typeof r=="string"?r:r(...d);return i?[{role:"user",content:i}]:[]},{name:`${a}::messages`,meta:N("prompt_node")});return Y(s,d=>!d||d.length===0?k(null):ue(i=>{let u=!1,c=!1,m,p={model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt};if(n?.abort){let h=xt(n.abort);p.signal=h.signal,m=h.dispose}let y;try{y=t.invoke(d,p)}catch(h){return u=!0,i.down([[X,h]]),()=>{m?.()}}let f=w(y).subscribe(h=>{if(!(c||u))for(let v of h){if(u)return;if(v[0]===Q){let b=v[1];try{let R=Bt(b),E=o==="json"?JSON.parse(ke(R)):R;i.emit(E)}catch(R){let E=Bt(b),A=new Error(`promptNode: failed to parse LLM response as JSON: ${R.message}
|
|
2
|
+
Raw content (first 200 chars): ${Er(E)}`);u=!0,i.down([[X,A]]);return}}else if(v[0]===X){u=!0,i.down([[X,v[1]]]);return}else if(v[0]===le){u=!0,i.down([[le]]);return}else i.down([v])}});return()=>{c=!0,f(),m?.()}},{name:`${a}::call`,meta:N("prompt_node::call")}),{name:`${a}::output`,meta:n?.meta?{...N("prompt_node::output"),...n.meta}:N("prompt_node::output")})}async function $t(t,e,r,n){let o="",a=0;for await(let s of t.stream(e,r))n.publish({...s,seq:a++,ts:Le()}),s.type==="token"&&(o+=s.delta);return o}function Wt(t,e){if(e==="json")try{return JSON.parse(ke(t))}catch(r){let n=t.slice(0,160);throw new Error(`streamingPromptNode: format:"json" \u2014 failed to parse accumulated text as JSON: ${r.message}; content preview: ${n}`)}return t}function Kt(t,e){return M([t.latest],([r],n)=>{let o=n.store;if(r==null)return o.acc??"";let a=r;return a.seq===0&&(o.acc=""),a.type==="token"&&(o.acc=(o.acc??"")+a.delta),o.acc??""},{name:e,meta:N("accumulated_text"),initial:""})}function Ir(t,e,r,n){let o=n?.name??"llm",a=n?.format??"text",s=et(`${o}/stream`,{...n?.retainedLimit!=null?{retainedLimit:n.retainedLimit}:{}}),l=M(e,c=>{if(c.some(p=>p==null))return[];let m=typeof r=="string"?r:r(...c);return m?[{role:"user",content:m}]:[]},{name:`${o}::messages`,meta:N("prompt_node::messages"),initial:[]}),d=Y(l,c=>{let m=c;if(!m||m.length===0)return k(null);let p=new AbortController;async function*y(){try{let g=await $t(t,m,{model:n?.model,temperature:n?.temperature,maxTokens:n?.maxTokens,systemPrompt:n?.systemPrompt,signal:p.signal},s);yield Wt(g,a)}finally{p.abort()}}return w(y())}),i=Kt(s,`${o}::accumulatedText`),u=U(d);return{output:d,deltaTopic:s,accumulatedText:i,dispose:()=>{u(),s.destroy()}}}function Or(t,e,r,n,o,a){let s=k(0,{name:`${e}/cancel`}),l=0,d=[...n,s],i=a?.name??e,u=a?.format??"text",c=et(`${i}/stream`,{...a?.retainedLimit!=null?{retainedLimit:a.retainedLimit}:{}}),m=M(d,A=>{let F=A.slice(0,-1);if(F.some(C=>C==null))return[];let B=typeof o=="string"?o:o(...F);return B?[{role:"user",content:B}]:[]},{name:`${i}::messages`,meta:N("prompt_node::messages"),initial:[]}),p=Y(m,A=>{let F=A;if(!F||F.length===0)return k(null);let B=new AbortController;async function*C(){try{let I=await $t(r,F,{model:a?.model,temperature:a?.temperature,maxTokens:a?.maxTokens,systemPrompt:a?.systemPrompt,signal:B.signal},c);yield Wt(I,u)}finally{B.abort()}}return w(C())}),y=Kt(c,`${i}::accumulatedText`),g=Lt(p,A=>A!=null);t.add(g,{name:`${e}/raw`});let f=St(t,`${e}/gate`,`${e}/raw`,a?.gate),h=U(p),v=U(f.node),b=U(y);t.addDisposer(h),t.addDisposer(v),t.addDisposer(b);let R=f.reject.bind(f),E={...f,reject(A=1){Z(()=>{R(A),s.emit(++l)})}};return{output:f.node,deltaTopic:c,accumulatedText:y,gate:E,dispose:()=>{h(),v(),b(),c.destroy()}}}function Dr(t,e){let r=e?.separator??`
|
|
3
|
+
|
|
4
|
+
`,n=t.map(s=>typeof s=="string"?k(s):w(s)),o=M(n,s=>s.filter(l=>l!=null&&l!=="").join(r),{name:e?.name??"systemPrompt",describeKind:"derived",meta:N("system_prompt"),initial:""}),a=U(o);return Object.assign(o,{dispose:a})}var Pr=(t,e)=>t===e?!0:t.chunkCount===e.chunkCount&&t.charCount===e.charCount&&t.estimatedTokens===e.estimatedTokens&&t.estimated===e.estimated;function _r(t,e){let r=e?.charsPerToken??4,n={chunkCount:0,charCount:0,estimatedTokens:0,estimated:!0};return M([t.latest],([o],a)=>{if(o==null)return n;let s=o;"chunkCount"in a.store||(a.store.chunkCount=0,a.store.charCount=0,a.store.usageTokens=0,a.store.sawUsage=!1);let l=a.store;s.type==="token"?(l.chunkCount+=1,l.charCount+=s.delta.length):s.type==="usage"&&(l.sawUsage=!0,l.usageTokens=ae(s.usage)+de(s.usage));let d=l.sawUsage?l.usageTokens:Math.ceil(l.charCount/r);return{chunkCount:l.chunkCount,charCount:l.charCount,estimatedTokens:d,estimated:!l.sawUsage}},{name:e?.name??"cost-meter",describeKind:"derived",initial:n,meta:N("cost_meter_extractor"),equals:Pr})}var jr=(t,e)=>{if(t===e)return!0;if(t==null||e==null)return t===e;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r];if(n.label!==o.label||n.pattern!==o.pattern||n.match!==o.match||n.position!==o.position)return!1}return!0};function Fr(t,e){let r=e.maxPatternLength??128;for(let o of e.patterns)if(o.pattern.source.length>r)throw new Error(`keywordFlagExtractor: pattern "${o.label}" literal exceeds maxPatternLength (${o.pattern.source.length} > ${r}); raise the option or shorten the pattern.`);let n=e.patterns.map(o=>({label:o.label,pattern:o.pattern,compiled:new RegExp(o.pattern.source,`${o.pattern.flags.replace("g","")}g`)}));return M([t],([o],a)=>{if(o==null)return[];let s=o;"flags"in a.store||(a.store.flags=[],a.store.scannedTo=0);let l=a.store.flags,d=a.store.scannedTo,i=Math.max(0,d-r),u=s.slice(i),c=!1;for(let{pattern:m,label:p,compiled:y}of n){y.lastIndex=0;for(let g of u.matchAll(y)){let f=i+(g.index??0);f+g[0].length<=d||(l.push({label:p,pattern:m,match:g[0],position:f}),c=!0)}}return a.store.scannedTo=s.length,c?[...l]:l.slice()},{name:e.name??"keyword-flag-extractor",describeKind:"derived",initial:[],meta:N("keyword_flag_extractor"),equals:jr})}function Gr(t,e,r){return M([t],([n])=>n==null?null:e(n),{name:r?.name??"extractor",describeKind:"derived",initial:null,meta:N("stream_extractor"),...r?.equals?{equals:r.equals}:{}})}var Br=(t,e)=>{if(t===e)return!0;if(t==null||e==null)return t===e;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r];if(n.startIndex!==o.startIndex||n.name!==o.name||n.raw!==o.raw)return!1}return!0};function $r(t,e){return M([t],([r],n)=>{if(r==null)return[];let o=r;"calls"in n.store||(n.store.calls=[],n.store.scanFrom=0);let a=n.store.calls,s=n.store.scanFrom,l=!1;for(;s<o.length;){let d=o.indexOf("{",s);if(d===-1){n.store.scanFrom=o.length;break}let i=0,u=-1,c=!1;for(let p=d;p<o.length;p++){let y=o[p];if(c)y==="\\"&&p+1<o.length?p++:y==='"'&&(c=!1);else if(y==='"')c=!0;else if(y==="{")i++;else if(y==="}"&&(i--,i===0)){u=p;break}}if(u===-1){n.store.scanFrom=d;break}let m=o.slice(d,u+1);try{let p=JSON.parse(m);typeof p.name=="string"&&p.arguments!=null&&typeof p.arguments=="object"&&(a.push({name:p.name,arguments:p.arguments,raw:m,startIndex:d}),l=!0)}catch{}s=u+1,n.store.scanFrom=s}return l?[...a]:a.slice()},{name:e?.name??"tool-call-extractor",describeKind:"derived",initial:[],meta:N("tool_call_extractor"),equals:Br})}function Wr(t,e,r,n){let o=r*(n?.hardMultiplier??1.5),a=typeof e!="function",s=[t];return a&&s.push(e),M(s,l=>{let d=l[0]??"";if(d.length===0)return"allow";let i=a?l[1]??0:e(d);return i>=o?"block":i>=r?"review":"allow"},{name:n?.name??"content-gate",initial:"allow"})}function Kr(t,e,r,n){let o=r??(()=>"[REDACTED]");function a(s){let l=s;for(let d of e){let i=d.global?d:new RegExp(d.source,`${d.flags}g`);l=l.replace(i,u=>o(u,d))}return l}return M([t],([s])=>a(s??""),{name:n?.name??"redactor",initial:""})}var He=class extends me{_log;messages;latest;messageCount;constructor(e,r={}){super(e,r.graph),this._log=Te([],{name:"messages",maxSize:r.maxMessages}),this.messages=this._log.entries,this.add(this.messages,{name:"messages"}),this.latest=M([this.messages],([n])=>{let o=n;return o.length===0?null:o[o.length-1]},{name:"latest",describeKind:"derived",meta:N("chat_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(U(this.latest)),this.messageCount=M([this.messages],([n])=>n.length,{name:"messageCount",describeKind:"derived",meta:N("chat_message_count"),initial:0}),this.add(this.messageCount,{name:"messageCount"}),this.addDisposer(U(this.messageCount))}append(e,r,n){this._log.append({role:e,content:r,...n})}appendToolResult(e,r){this._log.append({role:"tool",content:r,toolCallId:e})}clear(){this._log.clear()}allMessages(){return this.messages.cache}};function mt(t,e){return new He(t,e)}function pt(t){let{toolCalls:e,tools:r}=t,n=t.retryCount??1,o=t.onError??"rescue",a=(s,l)=>{if(s===l)return!0;if(s.length!==l.length)return!1;for(let d=0;d<s.length;d++){let i=s[d],u=l[d];if(i?.id!==u?.id||i?.content!==u?.content)return!1}return!0};return Y(e,s=>{if(s==null||s.length===0)throw new Error("toolExecution: received an empty tool-call batch as DATA \u2014 callers must upstream-filter empty batches (emit RESOLVED) so switchMap is only dispatched for non-empty batches.");let l=s.map(d=>Ur(d,r,n,o));return M(l,d=>d,{name:"toolExecution::batch",equals:a})})}function Ur(t,e,r,n){let o=Tt(()=>e.executeReactive(t.name,t.arguments),{count:r}),a=M([o],([s])=>({id:t.id,content:typeof s=="string"?s:JSON.stringify(s)}));return n==="propagate"?a:At(a,s=>({id:t.id,content:JSON.stringify({error:String(s)})}))}var qe=class extends me{definitions;schemas;_bundle;constructor(e,r={}){super(e,r.graph),this._bundle=De({name:"definitions"}),this.definitions=this._bundle.entries,this.add(this.definitions,{name:"definitions"}),this.schemas=M([this.definitions],([n])=>[...(n??new Map).values()],{name:"schemas",describeKind:"derived",meta:N("tool_schemas"),initial:[]}),this.add(this.schemas,{name:"schemas"}),this.addDisposer(U(this.schemas))}register(e){this._bundle.set(e.name,e)}unregister(e){this._bundle.delete(e)}executeReactive(e,r){let n=this._bundle.get(e);if(!n)throw new Error(`toolRegistry: unknown tool "${e}"`);return ue(o=>{let a=new AbortController,s;try{let d=n.handler(r,{signal:a.signal});s=Vr(d,a.signal)}catch(d){return o.down([[X,d]]),()=>{a.abort()}}let l=s.subscribe(d=>{o.down(d)});return()=>{a.abort(),l()}},{name:`executeReactive::${e}`,meta:N("tool_execute_reactive")})}getDefinition(e){return this._bundle.entries.cache?.get(e)}};function ft(t,e){return new qe(t,e)}function Vr(t,e){return ut(t)?t:t!=null&&typeof t.then=="function"?Je(t,{signal:e}):t!=null&&typeof t=="object"&&Symbol.asyncIterator in t?kt(t,{signal:e}):Je(Promise.resolve(t),{signal:e})}var ze=class extends me{chat;tools;status;turn;aborted;lastResponse;toolCalls;toolResults;_terminalResult;_disposeRunWiring;_running=!1;_currentAbortController=null;constructor(e,r){if(super(e,r.graph),this.chat=mt(`${e}-chat`,{maxMessages:r.maxMessages}),this.mount("chat",this.chat),this.tools=ft(`${e}-tools`),this.mount("tools",this.tools),r.tools)for(let S of r.tools)this.tools.register(S);this.status=k("idle",{name:"status",describeKind:"state",meta:N("agent_status")}),this.add(this.status,{name:"status"}),this.turn=k(0,{name:"turn",describeKind:"state",meta:N("agent_turn_count")}),this.add(this.turn,{name:"turn"}),this.aborted=k(!1,{name:"aborted",describeKind:"state",meta:N("agent_aborted")}),this.add(this.aborted,{name:"aborted"});let n=0,o=this.turn.subscribe(S=>{for(let T of S)T[0]===Q&&(n=T[1])}),a=!1,s=this.aborted.subscribe(S=>{for(let T of S)T[0]===Q&&(a=T[1])}),l=this.chat.messages.cache??[],d=this.chat.messages.subscribe(S=>{for(let T of S)T[0]===Q&&(l=T[1])}),i=this.tools.schemas.cache??[],u=this.tools.schemas.subscribe(S=>{for(let T of S)T[0]===Q&&(i=T[1])}),c=r.adapter,m=r.systemPrompt,p=r.model,y=r.temperature,g=r.maxTokens,f=r.maxTurns??10,h=r.stopWhen,v=this.chat,b=this.tools,R=this.status,E=this.turn,A=this.aborted,F=fe([R],(S,T,V)=>{if(Ce(S,V.prevData,0,"idle")!=="thinking"||a||n>=f){T.down([[be]]);return}if(l.length===0){T.down([[be]]);return}T.emit({messages:l,tools:i})},{name:"promptInput",describeKind:"derived",meta:N("agent_prompt_input")}),B=Y(F,S=>{let T=new AbortController;return this._currentAbortController=T,a&&T.abort(new Error("agentLoop: aborted")),w(c.invoke(S.messages,{tools:S.tools.length>0?S.tools:void 0,systemPrompt:m,model:p,temperature:y,maxTokens:g,signal:T.signal}),{signal:T.signal})},{equals:()=>!1}),C=k(null,{name:"lastResponse",describeKind:"state",meta:N("agent_last_response")});this.lastResponse=C;let I=fe([C,R],(S,T,V)=>{let j=Ce(S,V.prevData,0,null);if(Ce(S,V.prevData,1,"idle")!=="acting"){T.down([[be]]);return}let W=j?.toolCalls;if(W==null||W.length===0){T.down([[be]]);return}T.emit(W)},{name:"toolCallsRaw",describeKind:"derived",meta:N("agent_tool_calls_raw")}),L=r.interceptToolCalls?r.interceptToolCalls(I):I;this.toolCalls=L;let O=pt({toolCalls:L,tools:b,retryCount:1});this.toolResults=O;let x=ne([B],([S])=>{if(a)return;let T=S,V=n+1,j=T.toolCalls!=null&&T.toolCalls.length>0,H=T.finishReason==="end_turn"&&(!T.toolCalls||T.toolCalls.length===0),W=h?.(T)===!0,oe=V>=f,q=W||H||!j||oe?"done":"acting";Z(()=>{C.emit(T),R.emit(q),E.emit(V),v.append("assistant",T.content,{toolCalls:T.toolCalls})})}),D=ne([O],([S])=>{if(a)return;let T=S;if(T.length===0)return;let V=n>=f?"done":"thinking";Z(()=>{R.emit(V);for(let j of T)v.appendToolResult(j.id,j.content)})}),_=R.cache??"idle",J=R.subscribe(S=>{for(let T of S)T[0]===Q&&(_=T[1])}),P=ne([A],([S])=>{S===!0&&(this._currentAbortController?.abort(new Error("agentLoop: aborted")),_!=="done"&&R.emit("done"))}),$=U(x),G=U(D),K=U(P);this._terminalResult=fe([R,C],(S,T,V)=>{let j=Ce(S,V.prevData,0,"idle"),H=Ce(S,V.prevData,1,null);if(j==="done"){if(H!=null){T.emit(H);return}let W=new Error("agentLoop: aborted");W.name="AbortError",T.down([[X,W]]);return}if(j==="error"){T.down([[X,new Error("agentLoop: errored")]]);return}T.down([[be]])},{name:"terminalResult",describeKind:"derived",meta:N("agent_terminal_result")}),this.add(F,{name:"promptInput"}),this.add(B,{name:"llmResponse"}),this.add(this.lastResponse,{name:"lastResponse"}),this.toolCalls===I?this.add(this.toolCalls,{name:"toolCalls"}):(this.add(I,{name:"toolCallsRaw"}),this.add(this.toolCalls,{name:"toolCalls"})),this.add(O,{name:"toolResults"}),this.add(this._terminalResult,{name:"terminalResult"}),this.addDisposer(o),this.addDisposer(s),this.addDisposer(J),this.addDisposer(d),this.addDisposer(u),this.addDisposer($),this.addDisposer(G),this.addDisposer(K),this._disposeRunWiring=()=>{}}async run(e,r){if(this._running)throw new RangeError(`agentLoop "${this.name}": run() called while a previous run() is still pending \u2014 await the previous run before starting another, or call abort() first`);this._running=!0;let n;try{Z(()=>{this.turn.emit(0),this.aborted.emit(!1),this.status.emit("idle"),this.lastResponse.emit(null)}),e!=null&&this.chat.append("user",e);let o=Rt(this._terminalResult,{skipCurrent:!0});if(r!=null)if(r.aborted)this.aborted.emit(!0);else{let a=()=>this.aborted.emit(!0);r.addEventListener("abort",a,{once:!0}),n=()=>r.removeEventListener("abort",a)}return r?.aborted!==!0&&this.status.emit("thinking"),await o}finally{n?.(),this._running=!1,this._currentAbortController=null}}abort(){this.aborted.emit(!0)}destroy(){try{this._disposeRunWiring()}catch{}super.destroy()}};function Ce(t,e,r,n){let o=t[r];if(o!=null&&o.length>0)return o[o.length-1];let a=e[r];return a!==void 0?a:n}function Hr(t,e){return new ze(t,e)}function qr(t,e,r){let n=w(t),o=r?.condition!=null?w(r.condition):null,a=k(null,{name:r?.name?`${r.name}::null`:"handoff::null"});if(o==null)return Y(n,l=>{if(l==null)return a;let d=k(l);return e(d)});let s=M([n,o],([l,d])=>({v:l,open:d===!0}),{name:r?.name?`${r.name}::router`:"handoff::router",describeKind:"derived"});return Y(s,({v:l,open:d})=>{if(l==null)return a;if(!d)return k(l);let i=k(l);return e(i)})}function zr(t,e,r){let n=w(t),o=e.map(s=>w(s)),a=[n,...o];return M(a,s=>{let l=s[0]??[],d=s.slice(1);return l.filter(i=>{for(let u of d)if(u!=null&&!u(i))return!1;return!0})},{name:r?.name??"tool-selector",describeKind:"derived",meta:N("tool_selector"),equals:(s,l)=>{let d=s,i=l;if(d.length!==i.length)return!1;for(let u=0;u<d.length;u++)if(d[u]!==i[u])return!1;return!0}})}function Ut(t){let e=t.thresholds??{};return r=>{let n=t.scoreFn(r);for(let o of Object.keys(e)){let a=e[o];if(a===void 0)continue;let s=n[o];if((Number.isFinite(s)?s:Number.NEGATIVE_INFINITY)<a)return!1}return!0}}function Yr(t){let e={persistence:t.persistenceThreshold??.3,personalValue:t.personalValueThreshold??.3},r=Ut({scoreFn:t.scoreFn,thresholds:e});return t.requireStructured?n=>{if(!r(n))return!1;let o=t.scoreFn(n).structure;return Number.isFinite(o)&&o>0}:r}function Vt(t,e,r,n){let o=r.name??n;return a=>{let s=k(a);return ct(r.adapter,[s],l=>e(l),{name:o,format:"json",systemPrompt:t,model:r.model,temperature:r.temperature??0,maxTokens:r.maxTokens})}}function gt(t,e){let r=e.maxExistingKeys??100,n=Vt(t,o=>JSON.stringify({input:o.raw,existingKeys:o.existingKeys}),e,"llmExtractor");return(o,a)=>{let s=r===Number.POSITIVE_INFINITY?[...a.keys()]:[...a.keys()].slice(0,r);return n({raw:o,existingKeys:s})}}function yt(t,e){let r=Vt(t,n=>JSON.stringify({memories:n}),e,"llmConsolidator");return n=>{let o=[...n.entries()].map(([a,s])=>({key:a,value:s}));return r(o)}}var Se=Math.LN2/604800;function Ee(t){return t instanceof Map?t:new Map}function Jr(t,e,r){let n=new me(t,r.graph),o=[],a;if(r.extractFn)a=r.extractFn;else if(r.adapter&&r.extractPrompt)a=gt(r.extractPrompt,{adapter:r.adapter});else throw new Error("agentMemory: provide either extractFn or adapter + extractPrompt");let s=(b,R)=>b==null?{upsert:[]}:a(b,R),l=e;if(r.admissionFilter){let b=w(e),R=r.admissionFilter;l=M([b],([E])=>{if(R(E))return E},{name:"admissionFilter",describeKind:"derived"})}let d;r.consolidateFn?d=r.consolidateFn:r.adapter&&r.consolidatePrompt&&(d=yt(r.consolidatePrompt,{adapter:r.adapter}));let i=r.consolidateTrigger;if(!i&&d&&r.reflection?.enabled!==!1){let b=r.reflection?.interval??3e5;i=Mt(b,{period:b})}let u={score:r.score,cost:r.cost,budget:r.budget??2e3,context:r.context,consolidate:d,consolidateTrigger:i},c=Ct(l,s,u);n.add(c.store.entries,{name:"store"}),n.add(c.compact,{name:"compact"}),n.add(c.size,{name:"size"});let m=null;r.vectorDimensions&&r.vectorDimensions>0&&r.embedFn&&(m=Fe({dimension:r.vectorDimensions}),n.add(m.entries,{name:"vectorIndex"}));let p=null;r.enableKnowledgeGraph&&(p=Ge(`${t}-kg`),n.mount("kg",p));let y=null;if(r.tiers){let b=r.tiers,R=b.decayRate??Se,E=b.maxActive??1e3,A=b.archiveThreshold??.1,F=b.permanentFilter??(()=>!1),B=je({name:"permanent"});n.add(B.entries,{name:"permanent"});let C=new Set,I=P=>C.has(P)?"permanent":Ee(c.store.entries.cache).has(P)?"active":"archived",L=(P,$)=>{C.add(P),B.upsert(P,$)},O=new Map,x=c.store.entries,D=r.context?w(r.context):k(null),_=ne([x,D],([P,$])=>{let G=Ee(P),K=re(),S=[],T=[];for(let[j,H]of G){if(O.has(j)||O.set(j,K),F(j,H)){T.push({key:j,value:H});continue}let W=r.score(H,$),oe=O.get(j)??K,q=Number(K-oe)/1e9;_e(W,q,R)<A&&S.push(j)}for(let j of O.keys())G.has(j)||O.delete(j);for(let{key:j,value:H}of T)C.has(j)||L(j,H);let V=G.size-C.size;if(V>E){let j=[...G.entries()].filter(([W])=>!C.has(W)).map(([W,oe])=>({key:W,score:r.score(oe,$)})).sort((W,oe)=>W.score-oe.score),H=V-E;for(let W=0;W<H&&W<j.length;W++){let oe=j[W].key;S.includes(oe)||S.push(oe)}}S.length>0&&Z(()=>{for(let j of S)c.store.delete(j)})});o.push(_.subscribe(()=>{}));let J=null;b.archiveTier&&(J=n.attachStorage([b.archiveTier],b.archiveStorageOptions??{})),y={permanent:B,activeEntries:x,archiveHandle:J,tierOf:I,markPermanent:L}}if(m||p){let b=r.embedFn,R=r.entityFn,E=c.store.entries,A=ne([E],([F])=>{let B=Ee(F);for(let[C,I]of B){if(m&&b){let L=b(I);L&&m.upsert(C,L,I)}if(p&&R){let L=R(C,I);if(L){for(let O of L.entities??[])p.upsertEntity(O.id,O.value);for(let O of L.relations??[])p.link(O.from,O.to,O.relation,O.weight)}}}});o.push(A.subscribe(()=>{}))}let g=null,f=null,h=null,v=null;if(m||p){let b=r.retrieval?.topK??20,R=r.retrieval?.graphDepth??1,E=r.budget??2e3,A=r.cost,F=r.score,B=r.contextOf,C=r.contextWeight??0,I=r.context?w(r.context):k(null),L=(P,$)=>{if(!P||!$)return 0;let G=Math.min(P.length,$.length),K=0;for(;K<G&&P[K]===$[K];)K++;return K},O=(P,$,G)=>{let K=new Map,S=[];if(m&&G.vector){S=m.search(G.vector,b);for(let q of S){let z=P.get(q.id);z&&K.set(q.id,{value:z,sources:new Set(["vector"])})}}let T=[];if(p){let q=[...G.entityIds??[],...K.keys()],z=new Set,xe=q;for(let ye=0;ye<R;ye++){let pe=[];for(let we of xe){if(z.has(we))continue;z.add(we);let Ie=p.related(we);for(let Jt of Ie){let he=Jt.to;if(!z.has(he)){pe.push(he);let ht=P.get(he);if(ht){let bt=K.get(he);bt?bt.sources.add("graph"):K.set(he,{value:ht,sources:new Set(["graph"])}),T.push(he)}}}}xe=pe}}for(let[q,z]of P)K.has(q)||K.set(q,{value:z,sources:new Set(["store"])});let V=G.context?.length??0,j=[];for(let[q,{value:z,sources:xe}]of K){let ye=B?B(z):void 0,pe=F(z,$);if(C>0&&V>0){let Ie=L(G.context,ye);Ie>0&&(pe=pe*(1+C*Ie/V))}let we=ye?{key:q,value:z,score:pe,sources:[...xe],context:ye}:{key:q,value:z,score:pe,sources:[...xe]};j.push(we)}j.sort((q,z)=>z.score-q.score);let H=[],W=0;for(let q of j){let z=A(q.value);if(W+z>E&&H.length>0)break;H.push(q),W+=z}return{packed:H,trace:{vectorCandidates:S,graphExpanded:T,ranked:j,packed:H}}},x=(P,$)=>{if(P===$)return!0;if(P.length!==$.length)return!1;for(let G=0;G<P.length;G++)if(P[G]!==$[G])return!1;return!0},D=k([],{name:"retrieval",describeKind:"state",meta:N("retrieval_pipeline"),equals:x});n.add(D,{name:"retrieval"}),g=D;let _=k(null,{name:"retrievalTrace",describeKind:"state",meta:N("retrieval_trace")});n.add(_,{name:"retrievalTrace"}),f=_,h=P=>{let $=Ee(c.store.entries.cache),{packed:G,trace:K}=O($,I.cache,P);return Z(()=>{D.emit(G),_.emit(K)}),G},v=P=>{let $=w(P),G=M([c.store.entries,I,$],([S,T,V])=>{if(V==null)return{packed:[],trace:null};let j=Ee(S),{packed:H,trace:W}=O(j,T,V);return{packed:H,trace:W}},{name:"retrievalReactive::result",describeKind:"derived",meta:N("retrieval_reactive_result"),initial:{packed:[],trace:null}}),K=ne([G],([S])=>{let T=S;Z(()=>{D.emit(T.packed),T.trace&&_.emit(T.trace)})});return o.push(K.subscribe(()=>{})),M([G],([S])=>S.packed,{name:"retrievalReactive",describeKind:"derived",meta:N("retrieval_reactive"),initial:[],equals:x})}}return n.addDisposer(()=>{for(let b of o)b();o.length=0}),Object.assign(n,{distillBundle:c,compact:c.compact,size:c.size,vectors:m,kg:p,memoryTiers:y,retrieval:g,retrievalTrace:f,retrieve:h,retrieveReactive:v})}function Re(t){return t instanceof Map?t:new Map}function Qr(t,e,r){let n=Fe({dimension:r.dimension});t.add(n.entries,{name:"vectorIndex"});let a=ne([e.store.entries],([s])=>{let l=Re(s);for(let[d,i]of l){let u=r.embedFn(i);u&&n.upsert(d,u,i)}}).subscribe(()=>{});return t.addDisposer(a),{vectors:n,dispose:()=>a()}}function Xr(t,e,r,n){let o=Ge(`${r}-kg`);t.mount(r,o);let s=ne([e.store.entries],([l])=>{let d=Re(l);for(let[i,u]of d){let c=n.entityFn(i,u);if(c){for(let m of c.entities??[])o.upsertEntity(m.id,m.value);for(let m of c.relations??[])o.link(m.from,m.to,m.relation,m.weight)}}}).subscribe(()=>{});return t.addDisposer(s),{kg:o,dispose:()=>s()}}function Zr(t,e,r){let n=r.decayRate??Se,o=r.maxActive??1e3,a=r.archiveThreshold??.1,s=r.permanentFilter??(()=>!1),l=je({name:"permanent"});t.add(l.entries,{name:"permanent"});let d=new Set,i=v=>d.has(v)?"permanent":Re(e.store.entries.cache).has(v)?"active":"archived",u=(v,b)=>{d.add(v),l.upsert(v,b)},c=new Map,m=e.store.entries,p=r.context?w(r.context):k(null),g=ne([m,p],([v,b])=>{let R=Re(v),E=re(),A=[],F=[];for(let[C,I]of R){if(c.has(C)||c.set(C,E),s(C,I)){F.push({key:C,value:I});continue}let L=r.score(I,b),O=c.get(C)??E,x=Number(E-O)/1e9;_e(L,x,n)<a&&A.push(C)}for(let C of c.keys())R.has(C)||c.delete(C);for(let{key:C,value:I}of F)d.has(C)||u(C,I);let B=R.size-d.size;if(B>o){let C=[...R.entries()].filter(([L])=>!d.has(L)).map(([L,O])=>({key:L,score:r.score(O,b)})).sort((L,O)=>L.score-O.score),I=B-o;for(let L=0;L<I&&L<C.length;L++){let O=C[L].key;A.includes(O)||A.push(O)}}A.length>0&&Z(()=>{for(let C of A)e.store.delete(C)})}).subscribe(()=>{}),f=null;r.archiveTier&&(f=t.attachStorage([r.archiveTier],r.archiveStorageOptions??{}));let h=()=>{g(),f?.dispose()};return t.addDisposer(h),{tiers:{permanent:l,activeEntries:m,archiveHandle:f,tierOf:i,markPermanent:u},dispose:h}}function en(t,e){if(!t||!e)return 0;let r=Math.min(t.length,e.length),n=0;for(;n<r&&t[n]===e[n];)n++;return n}function tn(t,e,r,n,o){let a=o.topK??20,s=o.graphDepth??1,l=o.budget??2e3,d=o.contextWeight??0,i=o.context?w(o.context):k(null),u=(f,h,v)=>{let b=new Map,R=[];if(r&&v.vector){R=r.search(v.vector,a);for(let I of R){let L=f.get(I.id);L&&b.set(I.id,{value:L,sources:new Set(["vector"])})}}let E=[];if(n){let I=[...v.entityIds??[],...b.keys()],L=new Set,O=I;for(let x=0;x<s;x++){let D=[];for(let _ of O)if(!L.has(_)){L.add(_);for(let J of n.related(_)){let P=J.to;if(!L.has(P)){D.push(P);let $=f.get(P);if($){let G=b.get(P);G?G.sources.add("graph"):b.set(P,{value:$,sources:new Set(["graph"])}),E.push(P)}}}}O=D}}for(let[I,L]of f)b.has(I)||b.set(I,{value:L,sources:new Set(["store"])});let A=v.context?.length??0,F=[];for(let[I,{value:L,sources:O}]of b){let x=o.contextOf?o.contextOf(L):void 0,D=o.score(L,h);if(d>0&&A>0){let J=en(v.context,x);J>0&&(D=D*(1+d*J/A))}let _=x?{key:I,value:L,score:D,sources:[...O],context:x}:{key:I,value:L,score:D,sources:[...O]};F.push(_)}F.sort((I,L)=>L.score-I.score);let B=[],C=0;for(let I of F){let L=o.cost(I.value);if(C+L>l&&B.length>0)break;B.push(I),C+=L}return{packed:B,trace:{vectorCandidates:R,graphExpanded:E,ranked:F,packed:B}}},c=(f,h)=>{if(f===h)return!0;if(f.length!==h.length)return!1;for(let v=0;v<f.length;v++)if(f[v]!==h[v])return!1;return!0},m=k([],{name:"retrieval",describeKind:"state",meta:N("retrieval_pipeline"),equals:c});t.add(m,{name:"retrieval"});let p=k(null,{name:"retrievalTrace",describeKind:"state",meta:N("retrieval_trace")});return t.add(p,{name:"retrievalTrace"}),{retrieval:m,retrievalTrace:p,retrieve:f=>{let h=Re(e.store.entries.cache),{packed:v,trace:b}=u(h,i.cache,f);return Z(()=>{m.emit(v),p.emit(b)}),v},retrieveReactive:f=>{let h=w(f),v=M([e.store.entries,i,h],([E,A,F])=>{if(F==null)return{packed:[],trace:null};let B=Re(E),{packed:C,trace:I}=u(B,A,F);return{packed:C,trace:I}},{name:"retrievalReactive::result",describeKind:"derived",meta:N("retrieval_reactive_result"),initial:{packed:[],trace:null}}),R=ne([v],([E])=>{let A=E;Z(()=>{m.emit(A.packed),A.trace&&p.emit(A.trace)})}).subscribe(()=>{});return t.addDisposer(R),M([v],([E])=>E.packed,{name:"retrievalReactive",describeKind:"derived",meta:N("retrieval_reactive"),initial:[],equals:c})}}}function rn(t,e,r){let n=t.describe({actor:e,detail:"full"}),o=r?.groupByTags??!0,a=r?.separator??`
|
|
5
|
+
`,s=[],l=r?.sinceVersion;for(let[d,i]of Object.entries(n.nodes)){let u=i.meta??{},c=u.description,m=u.format;if(!c&&!m)continue;if(l!=null&&i.v!=null){let h=l.get(d);if(h!=null&&h.id===i.v.id&&i.v.version<=h.version)continue}let p=c??d,y=i.value,g=u.unit,f;m==="currency"&&typeof y=="number"?f=`$${y.toFixed(2)}`:m==="percentage"&&typeof y=="number"?f=`${(y*100).toFixed(1)}%`:y==null?f="(no value)":f=String(y),g&&m!=="currency"&&m!=="percentage"&&(f=`${f} ${g}`),s.push({path:d,description:p,formatted:f})}if(s.length===0)return"";if(o){let d=new Map,i=[];for(let c of s){let p=n.nodes[c.path].meta?.tags;if(p&&p.length>0){let y=p[0],g=d.get(y);g||(g=[],d.set(y,g)),g.push(c)}else i.push(c)}if(d.size===0)return s.map(c=>`- ${c.description}: ${c.formatted}`).join(a);let u=[];for(let[c,m]of[...d.entries()].sort((p,y)=>p[0].localeCompare(y[0])))u.push(`[${c}]${a}${m.map(p=>`- ${p.description}: ${p.formatted}`).join(a)}`);return i.length>0&&u.push(i.map(c=>`- ${c.description}: ${c.formatted}`).join(a)),u.join(a+a)}return s.map(d=>`- ${d.description}: ${d.formatted}`).join(a)}var Ht=`You are a graph architect for GraphReFly, a reactive graph protocol.
|
|
6
|
+
|
|
7
|
+
Given a natural-language description, produce a JSON graph specification with this structure:
|
|
8
|
+
|
|
9
|
+
{
|
|
10
|
+
"name": "<graph_name>",
|
|
11
|
+
"nodes": {
|
|
12
|
+
"<node_name>": {
|
|
13
|
+
"type": "state" | "derived" | "producer" | "effect" | "operator",
|
|
14
|
+
"initial": <initial_value_for_state_nodes>,
|
|
15
|
+
"deps": ["<dep_node_name>", ...],
|
|
16
|
+
"meta": {
|
|
17
|
+
"description": "<human-readable purpose>",
|
|
18
|
+
"type": "string" | "number" | "boolean" | "integer" | "enum",
|
|
19
|
+
"range": [min, max],
|
|
20
|
+
"values": ["a", "b"],
|
|
21
|
+
"format": "currency" | "percentage" | "status",
|
|
22
|
+
"access": "human" | "llm" | "both" | "system",
|
|
23
|
+
"unit": "<unit>",
|
|
24
|
+
"tags": ["<tag>"]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Rules:
|
|
31
|
+
- "state" nodes have no deps and hold user/LLM-writable values (knobs). Use "initial" for the starting value.
|
|
32
|
+
- "derived" nodes have deps and compute from them (pure, no side effects).
|
|
33
|
+
- "effect" nodes have deps but produce side effects (no return value).
|
|
34
|
+
- "producer" nodes have no deps but generate values asynchronously.
|
|
35
|
+
- "operator" nodes are parameterized transformations with deps.
|
|
36
|
+
- Use "deps" inside each node to declare dependencies \u2014 no separate "edges" array.
|
|
37
|
+
- meta.description is required for every node.
|
|
38
|
+
- Return ONLY valid JSON, no markdown fences or commentary.`;async function qt(t,e,r){let o=[{role:"system",content:r?.systemPromptExtra?`${Ht}
|
|
39
|
+
|
|
40
|
+
${r.systemPromptExtra}`:Ht},{role:"user",content:t}],a=e.invoke(o,{model:r?.model,temperature:r?.temperature??0,maxTokens:r?.maxTokens,signal:r?.signal}),l=(await Ae(a)).content.trim();l.startsWith("```")&&(l=ke(l));let d;try{d=JSON.parse(l)}catch{throw new Error(`graphFromSpec: LLM response is not valid JSON: ${l.slice(0,200)}`)}return Et(d,{catalog:r?.catalog})}function nn(t,e,r){let n=w(t);return Y(n,o=>!o||typeof o!="string"||o.trim().length===0?k(null):ue(a=>{let s=new AbortController,l=!1;return qt(o,e,{...r,signal:s.signal}).then(d=>{if(l){d.destroy();return}a.emit(d),a.down([[le]])}).catch(d=>{l||a.down([[X,d]])}),()=>{l=!0,s.abort()}},{name:"graphFromSpec::call"}))}function on(t){let e={},r=t.type;return r==="enum"&&Array.isArray(t.values)?(e.type="string",e.enum=t.values):r==="integer"?e.type="integer":r==="number"?e.type="number":r==="boolean"?e.type="boolean":r==="string"?e.type="string":e.type=["string","number","boolean"],Array.isArray(t.range)&&t.range.length===2&&(e.minimum=t.range[0],e.maximum=t.range[1]),typeof t.format=="string"&&(e.description=`Format: ${t.format}`),typeof t.unit=="string"&&(e.description?e.description+=` (${t.unit})`:e.description=`Unit: ${t.unit}`),e}function an(t,e){let r=t.describe({actor:e,detail:"full"}),n=[],o=[],a=[];for(let[s,l]of Object.entries(r.nodes)){if(l.type!=="state"||s.includes("::__meta__::")||l.status==="completed"||l.status==="errored")continue;let d=l.meta??{},i=d.access;if(i==="human"||i==="system")continue;let u=d.description??`Set the value of ${s}`,c=on(d),m={type:"object",required:["value"],properties:{value:c},additionalProperties:!1},p=s.replace(/::/g,"__");n.push({type:"function",function:{name:p,description:u,parameters:m}}),o.push({name:s,description:u,inputSchema:m});let y=t,g=e,f=l.v;a.push({name:s,description:u,parameters:m,handler(h){return y.set(s,h.value,g?{actor:g}:void 0),h.value},...f!=null?{version:{id:f.id,version:f.version}}:{}})}return{openai:n,mcp:o,definitions:a}}var sn=`You are a reactive graph optimizer for GraphReFly.
|
|
41
|
+
|
|
42
|
+
Given a graph's current structure (from describe()) and a problem statement, suggest topology and parameter changes to solve the problem.
|
|
43
|
+
|
|
44
|
+
Return ONLY valid JSON with this structure:
|
|
45
|
+
{
|
|
46
|
+
"summary": "<one-line summary of the strategy>",
|
|
47
|
+
"reasoning": "<explanation of why these changes help>",
|
|
48
|
+
"operations": [
|
|
49
|
+
{ "type": "add_node", "name": "<name>", "nodeType": "state|derived|effect|producer|operator", "meta": {...}, "initial": <value> },
|
|
50
|
+
{ "type": "remove_node", "name": "<name>" },
|
|
51
|
+
{ "type": "connect", "from": "<source>", "to": "<target>" },
|
|
52
|
+
{ "type": "disconnect", "from": "<source>", "to": "<target>" },
|
|
53
|
+
{ "type": "set_value", "name": "<name>", "value": <new_value> },
|
|
54
|
+
{ "type": "update_meta", "name": "<name>", "key": "<meta_key>", "value": <new_value> }
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
Rules:
|
|
59
|
+
- Only suggest operations that reference existing nodes (for remove/disconnect/set_value/update_meta) or new nodes you define (for add_node).
|
|
60
|
+
- Keep changes minimal \u2014 prefer the smallest set of operations that solves the problem.
|
|
61
|
+
- Return ONLY valid JSON, no markdown fences or commentary.`;async function zt(t,e,r,n){let{expand:o,...a}=t.describe({actor:n?.actor,detail:"standard"}),s=[{role:"system",content:sn},{role:"user",content:JSON.stringify({graph:a,problem:e})}],l=r.invoke(s,{model:n?.model,temperature:n?.temperature??0,maxTokens:n?.maxTokens,signal:n?.signal}),i=(await Ae(l)).content.trim();i.startsWith("```")&&(i=i.replace(/^```(?:json)?\s*/,"").replace(/\s*```$/,""));let u;try{u=JSON.parse(i)}catch{throw new Error(`suggestStrategy: LLM response is not valid JSON: ${i.slice(0,200)}`)}let c=u;if(typeof c.summary!="string")throw new Error("suggestStrategy: missing 'summary' in response");if(typeof c.reasoning!="string")throw new Error("suggestStrategy: missing 'reasoning' in response");if(!Array.isArray(c.operations))throw new Error("suggestStrategy: missing 'operations' array in response");return{summary:c.summary,reasoning:c.reasoning,operations:c.operations}}function ln(t,e,r,n){let o=w(e),a=Nt(o,t);return Y(a,s=>{if(s==null)return k(null);let[l,d]=s;return!d||!l||typeof l!="string"||l.trim().length===0?k(null):d.destroyed?k(null):ue(i=>{let u=new AbortController,c=!1;return zt(d,l,r,{...n,signal:u.signal}).then(m=>{c||(i.emit(m),i.down([[le]]))}).catch(m=>{c||i.down([[X,m]])}),()=>{c=!0,u.abort()}},{name:"suggestStrategy::call"})})}var Yt=new Set(["state","derived","producer","operator","effect"]);function dn(t){let e=[];if(t==null||typeof t!="object")return{valid:!1,errors:["Definition must be a non-null object"]};let r=t;if((typeof r.name!="string"||r.name.length===0)&&e.push("Missing or empty 'name' field"),r.nodes==null||typeof r.nodes!="object"||Array.isArray(r.nodes))return e.push("Missing or invalid 'nodes' field (must be an object)"),{valid:!1,errors:e};let n=new Set(Object.keys(r.nodes));for(let[o,a]of Object.entries(r.nodes)){if(a==null||typeof a!="object"){e.push(`Node "${o}": must be an object`);continue}let s=a;if((typeof s.type!="string"||!Yt.has(s.type))&&e.push(`Node "${o}": invalid type "${String(s.type)}" (expected: ${[...Yt].join(", ")})`),Array.isArray(s.deps))for(let l of s.deps)typeof l=="string"&&!n.has(l)&&e.push(`Node "${o}": dep "${l}" does not reference an existing node`)}if(!Array.isArray(r.edges))r.edges!==void 0&&e.push("'edges' must be an array");else{let o=new Set;for(let a=0;a<r.edges.length;a++){let s=r.edges[a];if(s==null||typeof s!="object"){e.push(`Edge [${a}]: must be an object`);continue}let l=s;(typeof l.from!="string"||!n.has(l.from))&&e.push(`Edge [${a}]: 'from' "${String(l.from)}" does not reference an existing node`),(typeof l.to!="string"||!n.has(l.to))&&e.push(`Edge [${a}]: 'to' "${String(l.to)}" does not reference an existing node`);let d=`${l.from}->${l.to}`;o.has(d)&&e.push(`Edge [${a}]: duplicate edge ${d}`),o.add(d)}}return{valid:e.length===0,errors:e}}export{lr as a,dr as b,$e as c,tt as d,cr as e,mr as f,pr as g,fr as h,rt as i,We as j,ot as k,yr as l,at as m,it as n,lt as o,Me as p,dt as q,wr as r,Lr as s,Sr as t,ct as u,Ir as v,Or as w,Dr as x,_r as y,Fr as z,Gr as A,$r as B,Wr as C,Kr as D,He as E,mt as F,pt as G,qe as H,ft as I,ze as J,Hr as K,qr as L,zr as M,Ut as N,Yr as O,gt as P,yt as Q,Se as R,Jr as S,Qr as T,Xr as U,Zr as V,tn as W,rn as X,qt as Y,nn as Z,an as _,zt as $,ln as aa,dn as ba,un as ca};
|