@graphrefly/graphrefly 0.27.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backoff-HPZMEZNF.js +1 -0
- package/dist/cascading-Bp99ckMJ.d.ts +180 -0
- package/dist/cascading-CcAgRacD.d.cts +180 -0
- package/dist/chunk-22F4K3G7.js +1 -0
- package/dist/chunk-22SVXUPB.js +64 -0
- package/dist/chunk-2GQREQ6C.js +1 -0
- package/dist/chunk-3JXNEPCD.js +2 -0
- package/dist/chunk-4JJCCD5S.js +2 -0
- package/dist/chunk-4OFIQ66T.js +1 -0
- package/dist/chunk-4V4C7K56.js +1 -0
- package/dist/chunk-4VVTGLXJ.js +1 -0
- package/dist/chunk-567NWZ3T.js +1 -0
- package/dist/chunk-5JDE5JHE.js +1 -0
- package/dist/chunk-5QDBSZBV.js +1 -0
- package/dist/chunk-5Z4HDCO6.js +1 -0
- package/dist/chunk-63FFOHLA.js +1 -0
- package/dist/chunk-6QZNQS5B.js +1 -0
- package/dist/chunk-7JDLFI6N.js +1 -0
- package/dist/chunk-7TDOES3L.js +1 -0
- package/dist/chunk-A7IAQQ63.js +1 -0
- package/dist/chunk-AMG5VBHW.js +1 -0
- package/dist/chunk-AUY2YKCO.js +1 -0
- package/dist/chunk-AV3PIDFQ.js +1 -0
- package/dist/chunk-BA5URFYW.js +1 -0
- package/dist/chunk-BKPLTBL5.js +1 -0
- package/dist/chunk-BZP5T4X6.js +1 -0
- package/dist/chunk-CK2E7BTU.js +1 -0
- package/dist/chunk-CSJE2EKV.js +1 -0
- package/dist/chunk-E3AXATVZ.js +9 -0
- package/dist/chunk-ESMPEKEV.js +1 -0
- package/dist/chunk-GJR3P6JG.js +1 -0
- package/dist/chunk-GNCBXARM.js +1 -0
- package/dist/chunk-GPW2V3RE.js +1 -0
- package/dist/chunk-HSIEYSDY.js +1 -0
- package/dist/chunk-I6VIH3VA.js +1 -0
- package/dist/chunk-ISCENNXS.js +1 -0
- package/dist/chunk-JYOUF6UQ.js +1 -0
- package/dist/chunk-KASHOCF5.js +1 -0
- package/dist/chunk-LGSNR4LU.js +5 -0
- package/dist/chunk-LVGBLZM2.js +1 -0
- package/dist/chunk-MGKAO4EK.js +7 -0
- package/dist/chunk-NSG4C6BF.js +23 -0
- package/dist/chunk-OL33ZI6R.js +1 -0
- package/dist/chunk-PCZ35NXD.js +78 -0
- package/dist/chunk-PGMUCUHG.js +43 -0
- package/dist/chunk-QYADASLV.js +1 -0
- package/dist/chunk-RD52SNH2.js +1 -0
- package/dist/chunk-SLMYTGTU.js +1 -0
- package/dist/chunk-TWMEGG45.js +1 -0
- package/dist/chunk-UVJQ35G2.js +1 -0
- package/dist/chunk-VGTCGNRX.js +18 -0
- package/dist/chunk-VIMF6LGM.js +1 -0
- package/dist/chunk-VJLMUKOI.js +1 -0
- package/dist/chunk-VWPRPPKR.js +1 -0
- package/dist/chunk-W4TSQ6RJ.js +1 -0
- package/dist/chunk-WM7H7WTY.js +3 -0
- package/dist/chunk-Y32RJO24.js +1 -0
- package/dist/chunk-Y53B6NS4.js +1 -0
- package/dist/compat/index.cjs +15 -7656
- package/dist/compat/index.d.cts +15 -14
- package/dist/compat/index.d.ts +15 -14
- package/dist/compat/index.js +1 -50
- package/dist/compat/jotai/index.cjs +1 -2048
- package/dist/compat/jotai/index.d.cts +2 -2
- package/dist/compat/jotai/index.d.ts +2 -2
- package/dist/compat/jotai/index.js +1 -9
- package/dist/compat/nanostores/index.cjs +1 -2175
- package/dist/compat/nanostores/index.d.cts +2 -2
- package/dist/compat/nanostores/index.d.ts +2 -2
- package/dist/compat/nanostores/index.js +1 -23
- package/dist/compat/nestjs/index.cjs +15 -6782
- package/dist/compat/nestjs/index.d.cts +7 -6
- package/dist/compat/nestjs/index.d.ts +7 -6
- package/dist/compat/nestjs/index.js +1 -83
- package/dist/compat/react/index.cjs +1 -141
- package/dist/compat/react/index.d.cts +2 -2
- package/dist/compat/react/index.d.ts +2 -2
- package/dist/compat/react/index.js +1 -12
- package/dist/compat/solid/index.cjs +1 -128
- package/dist/compat/solid/index.d.cts +2 -2
- package/dist/compat/solid/index.d.ts +2 -2
- package/dist/compat/solid/index.js +1 -12
- package/dist/compat/svelte/index.cjs +1 -131
- package/dist/compat/svelte/index.d.cts +2 -2
- package/dist/compat/svelte/index.d.ts +2 -2
- package/dist/compat/svelte/index.js +1 -12
- package/dist/compat/vue/index.cjs +1 -146
- package/dist/compat/vue/index.d.cts +2 -2
- package/dist/compat/vue/index.d.ts +2 -2
- package/dist/compat/vue/index.js +1 -12
- package/dist/compat/zustand/index.cjs +7 -4931
- package/dist/compat/zustand/index.d.cts +5 -5
- package/dist/compat/zustand/index.d.ts +5 -5
- package/dist/compat/zustand/index.js +1 -12
- package/dist/composite-BL-llbnE.d.ts +69 -0
- package/dist/composite-Dze--DaA.d.cts +69 -0
- package/dist/core/index.cjs +1 -2271
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +1 -110
- package/dist/extra/browser.cjs +1 -0
- package/dist/extra/browser.d.cts +3 -0
- package/dist/extra/browser.d.ts +3 -0
- package/dist/extra/browser.js +1 -0
- package/dist/extra/index.cjs +24 -9971
- package/dist/extra/index.d.cts +13 -6
- package/dist/extra/index.d.ts +13 -6
- package/dist/extra/index.js +1 -381
- package/dist/extra/node.cjs +3 -0
- package/dist/extra/node.d.cts +81 -0
- package/dist/extra/node.d.ts +81 -0
- package/dist/extra/node.js +2 -0
- package/dist/extra/operators.cjs +1 -0
- package/dist/extra/operators.d.cts +910 -0
- package/dist/extra/operators.d.ts +910 -0
- package/dist/extra/operators.js +1 -0
- package/dist/extra/reactive.cjs +1 -0
- package/dist/extra/reactive.d.cts +352 -0
- package/dist/extra/reactive.d.ts +352 -0
- package/dist/extra/reactive.js +1 -0
- package/dist/extra/sources.cjs +1 -2486
- package/dist/extra/sources.d.cts +6 -2
- package/dist/extra/sources.d.ts +6 -2
- package/dist/extra/sources.js +1 -57
- package/dist/extra/storage-browser.cjs +1 -0
- package/dist/extra/storage-browser.d.cts +71 -0
- package/dist/extra/storage-browser.d.ts +71 -0
- package/dist/extra/storage-browser.js +1 -0
- package/dist/extra/storage-core.cjs +1 -0
- package/dist/extra/storage-core.d.cts +98 -0
- package/dist/extra/storage-core.d.ts +98 -0
- package/dist/extra/storage-core.js +1 -0
- package/dist/extra/storage-node.cjs +2 -0
- package/dist/extra/storage-node.d.cts +60 -0
- package/dist/extra/storage-node.d.ts +60 -0
- package/dist/extra/storage-node.js +1 -0
- package/dist/fallback-BaTS7vVY.d.cts +258 -0
- package/dist/fallback-eOm3LNxP.d.ts +258 -0
- package/dist/graph/index.cjs +7 -5030
- package/dist/graph/index.d.cts +6 -5
- package/dist/graph/index.d.ts +6 -5
- package/dist/graph/index.js +1 -50
- package/dist/{graph-DNCrvZSn.d.cts → graph-DgohqXK-.d.cts} +151 -32
- package/dist/{graph-CCwGKLCm.d.ts → graph-Qjg9gWHI.d.ts} +151 -32
- package/dist/{index-BwfLUNw4.d.ts → index-2BVuRCI4.d.ts} +173 -2040
- package/dist/{index-BPVt8kqc.d.ts → index-2NvguqQA.d.ts} +10 -195
- package/dist/index-A65LZhoM.d.ts +186 -0
- package/dist/{index-DlLp-2Xn.d.cts → index-B-8FCEua.d.cts} +10 -195
- package/dist/index-B-gqvYel.d.ts +135 -0
- package/dist/index-B2PRuolf.d.cts +86 -0
- package/dist/index-BJqt9EwW.d.ts +231 -0
- package/dist/{index-BHlKbUwO.d.cts → index-BKjT5DiZ.d.cts} +173 -2040
- package/dist/{index-C0svESO4.d.ts → index-BM8BU4q6.d.ts} +1 -1
- package/dist/{index-VdHQMPy1.d.ts → index-BQaEnxBf.d.ts} +1 -1
- package/dist/index-BSfwiy5B.d.ts +192 -0
- package/dist/index-BTSkeCZs.d.cts +291 -0
- package/dist/index-BUVtw1Ay.d.cts +186 -0
- package/dist/index-BUi57v_p.d.ts +163 -0
- package/dist/{messaging-Gt4LPbyA.d.cts → index-BanNUILp.d.cts} +31 -93
- package/dist/{audit-DRlSzBu9.d.ts → index-BayHDRx6.d.cts} +27 -21
- package/dist/{index-B6D3QNSA.d.ts → index-BiyjsZ0m.d.ts} +148 -20
- package/dist/index-BqZ6vB2A.d.ts +2057 -0
- package/dist/{memory-li6FL5RM.d.ts → index-BuVidq3D.d.cts} +26 -26
- package/dist/index-Byh-xTyp.d.ts +105 -0
- package/dist/index-C08QPDcV.d.cts +321 -0
- package/dist/{demo-shell-BDkOptd6.d.ts → index-C66RJiX8.d.ts} +14 -14
- package/dist/index-C8RfjffH.d.ts +291 -0
- package/dist/index-CA1Cu7Ud.d.ts +873 -0
- package/dist/{index-ByQxazQJ.d.cts → index-CABbltIu.d.cts} +1 -1
- package/dist/{index-VHqptjhu.d.cts → index-CHEBsnYv.d.cts} +1 -1
- package/dist/{index-BuEoe-Qu.d.ts → index-CI0yDnLp.d.ts} +9 -9
- package/dist/{index-B9B7_HEY.d.ts → index-CJ45TW-h.d.ts} +1 -1
- package/dist/{index-CO8uBlUh.d.cts → index-CJZKZoo4.d.cts} +148 -20
- package/dist/{index-wEn0eFe8.d.ts → index-CX2tFJL1.d.ts} +1 -1
- package/dist/{index-BaSM3aYt.d.ts → index-CcWOJ6F0.d.ts} +3 -3
- package/dist/{audit-ClmqGOCx.d.cts → index-CiaVoZGo.d.ts} +27 -21
- package/dist/{index-Dzk2hrlR.d.ts → index-Ct5CWc4E.d.ts} +1 -1
- package/dist/index-D38duMCv.d.cts +357 -0
- package/dist/{index-C8oil6M6.d.ts → index-D5XJ2tSx.d.ts} +30 -6
- package/dist/{index-DO_6JN9Z.d.cts → index-D80do5jX.d.cts} +1 -1
- package/dist/index-D9HKAH_-.d.cts +231 -0
- package/dist/index-DBe_8XW5.d.cts +143 -0
- package/dist/{memory-C6Z2tGpC.d.cts → index-DCeTyFlB.d.ts} +26 -26
- package/dist/index-DDy8eeXS.d.ts +321 -0
- package/dist/index-DJ5oNBc8.d.ts +143 -0
- package/dist/{index-CI3DprxP.d.cts → index-DP0_O3ls.d.cts} +30 -6
- package/dist/{demo-shell-Crid1WdR.d.cts → index-DX8xS-yB.d.cts} +14 -14
- package/dist/index-DiZejfCI.d.cts +2057 -0
- package/dist/index-DknyJ2Fu.d.cts +163 -0
- package/dist/index-DoWMs-Kk.d.cts +135 -0
- package/dist/{messaging-XDoYablx.d.ts → index-DuB5aO4-.d.ts} +31 -93
- package/dist/index-DwjJGKxV.d.ts +357 -0
- package/dist/{index-B6EhDnjH.d.cts → index-H_oxVec5.d.cts} +1 -1
- package/dist/{index-3lsddbbS.d.ts → index-IMAHq-ia.d.ts} +1 -1
- package/dist/{index-B1tloyhO.d.cts → index-U1nir7MX.d.cts} +1 -1
- package/dist/index-Vg7tORgk.d.ts +86 -0
- package/dist/index-dig-r2tQ.d.cts +873 -0
- package/dist/{index-CxFrXH4m.d.ts → index-gsT79Xu9.d.ts} +1 -1
- package/dist/{index-D8wS_PeY.d.cts → index-i99Ka8s7.d.cts} +9 -9
- package/dist/index-iKkyJosF.d.cts +105 -0
- package/dist/{index-Xi3u0HCQ.d.cts → index-jleeotBT.d.cts} +1 -1
- package/dist/{index-DVGiGFGT.d.cts → index-kykKWwV-.d.cts} +3 -3
- package/dist/index-vgcLF5TH.d.cts +192 -0
- package/dist/{index-DYme44FM.d.cts → index-y1RllPn4.d.cts} +1 -1
- package/dist/index.cjs +151 -24142
- package/dist/index.d.cts +69 -2099
- package/dist/index.d.ts +69 -2099
- package/dist/index.js +1 -3868
- package/dist/{meta-CbznRPYJ.d.ts → meta-CX7YsOzp.d.cts} +5 -5
- package/dist/{meta-BxCA7rcr.d.cts → meta-CckhhFRd.d.ts} +5 -5
- package/dist/{node-BmerH3kS.d.cts → node-Dd6wHSib.d.cts} +71 -11
- package/dist/{node-BmerH3kS.d.ts → node-Dd6wHSib.d.ts} +71 -11
- package/dist/{observable-BgGUwcqp.d.ts → observable-BZJgo616.d.ts} +1 -1
- package/dist/{observable-DJt_AxzQ.d.cts → observable-kwzpLvbi.d.cts} +1 -1
- package/dist/patterns/ai/browser.cjs +25 -0
- package/dist/patterns/ai/browser.d.cts +127 -0
- package/dist/patterns/ai/browser.d.ts +127 -0
- package/dist/patterns/ai/browser.js +3 -0
- package/dist/patterns/ai/index.cjs +92 -0
- package/dist/patterns/ai/index.d.cts +17 -0
- package/dist/patterns/ai/index.d.ts +17 -0
- package/dist/patterns/ai/index.js +1 -0
- package/dist/patterns/ai/node.cjs +2 -0
- package/dist/patterns/ai/node.d.cts +58 -0
- package/dist/patterns/ai/node.d.ts +58 -0
- package/dist/patterns/ai/node.js +1 -0
- package/dist/patterns/audit/index.cjs +7 -0
- package/dist/patterns/audit/index.d.cts +6 -0
- package/dist/patterns/audit/index.d.ts +6 -0
- package/dist/patterns/audit/index.js +1 -0
- package/dist/patterns/cqrs/index.cjs +7 -0
- package/dist/patterns/cqrs/index.d.cts +5 -0
- package/dist/patterns/cqrs/index.d.ts +5 -0
- package/dist/patterns/cqrs/index.js +1 -0
- package/dist/patterns/demo-shell/index.cjs +8 -0
- package/dist/patterns/demo-shell/index.d.cts +6 -0
- package/dist/patterns/demo-shell/index.d.ts +6 -0
- package/dist/patterns/demo-shell/index.js +1 -0
- package/dist/patterns/domain-templates/index.cjs +7 -0
- package/dist/patterns/domain-templates/index.d.cts +5 -0
- package/dist/patterns/domain-templates/index.d.ts +5 -0
- package/dist/patterns/domain-templates/index.js +1 -0
- package/dist/patterns/graphspec/index.cjs +84 -0
- package/dist/patterns/graphspec/index.d.cts +7 -0
- package/dist/patterns/graphspec/index.d.ts +7 -0
- package/dist/patterns/graphspec/index.js +1 -0
- package/dist/patterns/guarded-execution/index.cjs +7 -0
- package/dist/patterns/guarded-execution/index.d.cts +7 -0
- package/dist/patterns/guarded-execution/index.d.ts +7 -0
- package/dist/patterns/guarded-execution/index.js +1 -0
- package/dist/patterns/harness/index.cjs +49 -0
- package/dist/patterns/harness/index.d.cts +11 -0
- package/dist/patterns/harness/index.d.ts +11 -0
- package/dist/patterns/harness/index.js +1 -0
- package/dist/patterns/job-queue/index.cjs +7 -0
- package/dist/patterns/job-queue/index.d.cts +5 -0
- package/dist/patterns/job-queue/index.d.ts +5 -0
- package/dist/patterns/job-queue/index.js +1 -0
- package/dist/patterns/lens/index.cjs +7 -0
- package/dist/patterns/lens/index.d.cts +7 -0
- package/dist/patterns/lens/index.d.ts +7 -0
- package/dist/patterns/lens/index.js +1 -0
- package/dist/patterns/memory/index.cjs +7 -0
- package/dist/patterns/memory/index.d.cts +5 -0
- package/dist/patterns/memory/index.d.ts +5 -0
- package/dist/patterns/memory/index.js +1 -0
- package/dist/patterns/messaging/index.cjs +7 -0
- package/dist/patterns/messaging/index.d.cts +5 -0
- package/dist/patterns/messaging/index.d.ts +5 -0
- package/dist/patterns/messaging/index.js +1 -0
- package/dist/patterns/orchestration/index.cjs +7 -0
- package/dist/patterns/orchestration/index.d.cts +6 -0
- package/dist/patterns/orchestration/index.d.ts +6 -0
- package/dist/patterns/orchestration/index.js +1 -0
- package/dist/patterns/reactive-layout/index.cjs +8 -6444
- package/dist/patterns/reactive-layout/index.d.cts +6 -6
- package/dist/patterns/reactive-layout/index.d.ts +6 -6
- package/dist/patterns/reactive-layout/index.js +1 -56
- package/dist/patterns/reduction/index.cjs +7 -0
- package/dist/patterns/reduction/index.d.cts +5 -0
- package/dist/patterns/reduction/index.d.ts +5 -0
- package/dist/patterns/reduction/index.js +1 -0
- package/dist/patterns/refine-loop/index.cjs +9 -0
- package/dist/patterns/refine-loop/index.d.cts +7 -0
- package/dist/patterns/refine-loop/index.d.ts +7 -0
- package/dist/patterns/refine-loop/index.js +1 -0
- package/dist/patterns/resilient-pipeline/index.cjs +1 -0
- package/dist/patterns/resilient-pipeline/index.d.cts +7 -0
- package/dist/patterns/resilient-pipeline/index.d.ts +7 -0
- package/dist/patterns/resilient-pipeline/index.js +1 -0
- package/dist/patterns/surface/index.cjs +15 -0
- package/dist/patterns/surface/index.d.cts +8 -0
- package/dist/patterns/surface/index.d.ts +8 -0
- package/dist/patterns/surface/index.js +1 -0
- package/dist/{reactive-layout-u5Ulnqag.d.ts → reactive-layout-BkBwVvwm.d.ts} +2 -2
- package/dist/{reactive-layout-MQP--J3F.d.cts → reactive-layout-PiFwVaWS.d.cts} +2 -2
- package/dist/reactive-log-1QTyx10a.d.ts +190 -0
- package/dist/reactive-log-BiVoSxke.d.cts +190 -0
- package/dist/{composite-aUCvjZVR.d.ts → reactive-map-CwO_COHy.d.cts} +2 -67
- package/dist/{composite-C7PcQvcs.d.cts → reactive-map-FeuTVAJb.d.ts} +2 -67
- package/dist/resilience-CBfYJW5C.d.ts +493 -0
- package/dist/resilience-XRUF267O.js +1 -0
- package/dist/resilience-uBz4yvYB.d.cts +493 -0
- package/dist/{sugar-CCOxXK1e.d.ts → sugar-CY-MCfZ9.d.ts} +17 -15
- package/dist/{sugar-D02n5JjF.d.cts → sugar-DHttV0LX.d.cts} +17 -15
- package/dist/topology-tree-CVjt2gp7.d.cts +25 -0
- package/dist/topology-tree-one6oSKY.d.ts +25 -0
- package/dist/types-O3GzJY2U.d.cts +401 -0
- package/dist/types-u64Ose53.d.ts +401 -0
- package/package.json +252 -22
- package/dist/ai-CaR_912Q.d.cts +0 -1033
- package/dist/ai-WlRltJV7.d.ts +0 -1033
- package/dist/chunk-3ZWCKRHX.js +0 -117
- package/dist/chunk-3ZWCKRHX.js.map +0 -1
- package/dist/chunk-7TAQJHQV.js +0 -103
- package/dist/chunk-7TAQJHQV.js.map +0 -1
- package/dist/chunk-APFNLIRG.js +0 -62
- package/dist/chunk-APFNLIRG.js.map +0 -1
- package/dist/chunk-AT5LKYNL.js +0 -395
- package/dist/chunk-AT5LKYNL.js.map +0 -1
- package/dist/chunk-BQ6RQQFF.js +0 -5087
- package/dist/chunk-BQ6RQQFF.js.map +0 -1
- package/dist/chunk-BVZYTZ5H.js +0 -599
- package/dist/chunk-BVZYTZ5H.js.map +0 -1
- package/dist/chunk-DST5DKZS.js +0 -1371
- package/dist/chunk-DST5DKZS.js.map +0 -1
- package/dist/chunk-GTE6PWRZ.js +0 -866
- package/dist/chunk-GTE6PWRZ.js.map +0 -1
- package/dist/chunk-HXZEYDUR.js +0 -94
- package/dist/chunk-HXZEYDUR.js.map +0 -1
- package/dist/chunk-J22W6HV3.js +0 -107
- package/dist/chunk-J22W6HV3.js.map +0 -1
- package/dist/chunk-J2VBW3DZ.js +0 -302
- package/dist/chunk-J2VBW3DZ.js.map +0 -1
- package/dist/chunk-JSCT3CR4.js +0 -38
- package/dist/chunk-JSCT3CR4.js.map +0 -1
- package/dist/chunk-JWBCY4NC.js +0 -330
- package/dist/chunk-JWBCY4NC.js.map +0 -1
- package/dist/chunk-K2AUJHVP.js +0 -2251
- package/dist/chunk-K2AUJHVP.js.map +0 -1
- package/dist/chunk-MJ2NKQQL.js +0 -119
- package/dist/chunk-MJ2NKQQL.js.map +0 -1
- package/dist/chunk-N6UR7YVY.js +0 -198
- package/dist/chunk-N6UR7YVY.js.map +0 -1
- package/dist/chunk-NC6S43JJ.js +0 -456
- package/dist/chunk-NC6S43JJ.js.map +0 -1
- package/dist/chunk-OFVJBJXR.js +0 -98
- package/dist/chunk-OFVJBJXR.js.map +0 -1
- package/dist/chunk-OHISZPOJ.js +0 -97
- package/dist/chunk-OHISZPOJ.js.map +0 -1
- package/dist/chunk-OU5CQKNW.js +0 -102
- package/dist/chunk-OU5CQKNW.js.map +0 -1
- package/dist/chunk-PF7GRZMW.js +0 -2712
- package/dist/chunk-PF7GRZMW.js.map +0 -1
- package/dist/chunk-PHOUUNK7.js +0 -2291
- package/dist/chunk-PHOUUNK7.js.map +0 -1
- package/dist/chunk-RNHBMHKA.js +0 -1665
- package/dist/chunk-RNHBMHKA.js.map +0 -1
- package/dist/chunk-SX52TAR4.js +0 -110
- package/dist/chunk-SX52TAR4.js.map +0 -1
- package/dist/chunk-VYPWMZ6H.js +0 -98
- package/dist/chunk-VYPWMZ6H.js.map +0 -1
- package/dist/chunk-WBZOVTYK.js +0 -171
- package/dist/chunk-WBZOVTYK.js.map +0 -1
- package/dist/chunk-WKNUIZOY.js +0 -354
- package/dist/chunk-WKNUIZOY.js.map +0 -1
- package/dist/chunk-X3VMZYBT.js +0 -713
- package/dist/chunk-X3VMZYBT.js.map +0 -1
- package/dist/chunk-X5R3GL6H.js +0 -525
- package/dist/chunk-X5R3GL6H.js.map +0 -1
- package/dist/chunk-XGPU467M.js +0 -136
- package/dist/chunk-XGPU467M.js.map +0 -1
- package/dist/compat/index.cjs.map +0 -1
- package/dist/compat/index.js.map +0 -1
- package/dist/compat/jotai/index.cjs.map +0 -1
- package/dist/compat/jotai/index.js.map +0 -1
- package/dist/compat/nanostores/index.cjs.map +0 -1
- package/dist/compat/nanostores/index.js.map +0 -1
- package/dist/compat/nestjs/index.cjs.map +0 -1
- package/dist/compat/nestjs/index.js.map +0 -1
- package/dist/compat/react/index.cjs.map +0 -1
- package/dist/compat/react/index.js.map +0 -1
- package/dist/compat/solid/index.cjs.map +0 -1
- package/dist/compat/solid/index.js.map +0 -1
- package/dist/compat/svelte/index.cjs.map +0 -1
- package/dist/compat/svelte/index.js.map +0 -1
- package/dist/compat/vue/index.cjs.map +0 -1
- package/dist/compat/vue/index.js.map +0 -1
- package/dist/compat/zustand/index.cjs.map +0 -1
- package/dist/compat/zustand/index.js.map +0 -1
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/extra/index.cjs.map +0 -1
- package/dist/extra/index.js.map +0 -1
- package/dist/extra/sources.cjs.map +0 -1
- package/dist/extra/sources.js.map +0 -1
- package/dist/graph/index.cjs.map +0 -1
- package/dist/graph/index.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/patterns/ai.cjs +0 -7930
- package/dist/patterns/ai.cjs.map +0 -1
- package/dist/patterns/ai.d.cts +0 -10
- package/dist/patterns/ai.d.ts +0 -10
- package/dist/patterns/ai.js +0 -71
- package/dist/patterns/ai.js.map +0 -1
- package/dist/patterns/audit.cjs +0 -5805
- package/dist/patterns/audit.cjs.map +0 -1
- package/dist/patterns/audit.d.cts +0 -6
- package/dist/patterns/audit.d.ts +0 -6
- package/dist/patterns/audit.js +0 -29
- package/dist/patterns/audit.js.map +0 -1
- package/dist/patterns/demo-shell.cjs +0 -5604
- package/dist/patterns/demo-shell.cjs.map +0 -1
- package/dist/patterns/demo-shell.d.cts +0 -6
- package/dist/patterns/demo-shell.d.ts +0 -6
- package/dist/patterns/demo-shell.js +0 -15
- package/dist/patterns/demo-shell.js.map +0 -1
- package/dist/patterns/memory.cjs +0 -5283
- package/dist/patterns/memory.cjs.map +0 -1
- package/dist/patterns/memory.d.cts +0 -5
- package/dist/patterns/memory.d.ts +0 -5
- package/dist/patterns/memory.js +0 -20
- package/dist/patterns/memory.js.map +0 -1
- package/dist/patterns/reactive-layout/index.cjs.map +0 -1
- package/dist/patterns/reactive-layout/index.js.map +0 -1
- package/dist/storage-CMjUUuxn.d.ts +0 -190
- package/dist/storage-DdWlZo6U.d.cts +0 -190
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{a as v,f as M}from"./chunk-7JDLFI6N.js";import{d as S}from"./chunk-OL33ZI6R.js";import{o as h}from"./chunk-W4TSQ6RJ.js";function O(e={}){return e.sdk?Q(e):z(e)}function _(e,t,o,n){let r=t?.model??o;if(!r)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:s,chat:a}=W(e,t?.systemPrompt),i={model:r,messages:a.map(Y),max_tokens:t?.maxTokens??4096};return s&&(i.system=s),t?.temperature!=null&&(i.temperature=t.temperature),t?.tools&&t.tools.length>0&&(i.tools=t.tools.map(V)),t?.maxReasoningTokens!=null&&(i.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,n&&(i.stream=!0),t?.providerExtras&&Object.assign(i,t.providerExtras),i}function W(e,t){let o=[];t&&o.push(t);let n=[];for(let r of e)r.role==="system"?o.push(r.content):n.push(r);return{system:o.length>0?o.join(`
|
|
2
|
+
|
|
3
|
+
`):void 0,chat:n}}function Y(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let o of e.toolCalls)t.push({type:"tool_use",id:o.id,name:o.name,input:o.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function V(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function A(e,t){if(!e)return{...t};let o={...e};return t.input_tokens!=null&&(o.input_tokens=t.input_tokens),t.output_tokens!=null&&(o.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(o.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(o.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(o.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(o.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),o}function w(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function P(e,t){let o=[],n=[];for(let r of e.content)if(r.type==="text"&&typeof r.text=="string")o.push(r.text);else if(r.type==="tool_use"){let s=r;n.push({id:s.id,name:s.name,arguments:s.input??{}})}return{content:o.join(""),toolCalls:n.length>0?n:void 0,usage:w(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function z(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,o=e.baseURL??"https://api.anthropic.com",n=e.anthropicVersion??"2023-06-01",r=e.fetchImpl??fetch,s=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":n,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,i){let c=_(a,i,e.model,!1),u=h(),d=await r(`${o}/v1/messages`,{method:"POST",headers:s(),body:JSON.stringify(c),signal:i?.signal});if(!d.ok)throw await T(d);let l=await d.json(),p=Math.max(0,(h()-u)/1e6);return P(l,p)},async*stream(a,i){let c=_(a,i,e.model,!0),u=await r(`${o}/v1/messages`,{method:"POST",headers:{...s(),accept:"text/event-stream"},body:JSON.stringify(c),signal:i?.signal});if(!u.ok)throw await T(u);if(!u.body)throw new Error("anthropicAdapter: streaming response has no body");let d,l,p=new Map;for await(let f of X(u.body)){let k=f.data;if(!k)continue;let y;try{y=JSON.parse(k)}catch{continue}switch(y.type){case"message_start":{d=A(d,y.message.usage);break}case"content_block_start":{let g=y,m=g.content_block;m.type==="tool_use"&&(p.set(g.index,{id:String(m.id??""),name:String(m.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(m.id??""),name:String(m.name??"")}});break}case"content_block_delta":{let g=y,m=g.delta;if(m.type==="text_delta"&&typeof m.text=="string")yield{type:"token",delta:m.text};else if(m.type==="input_json_delta"&&typeof m.partial_json=="string"){let E=p.get(g.index);E&&(E.argBuf+=m.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:m.partial_json}}}else m.type==="thinking_delta"&&typeof m.thinking=="string"&&(yield{type:"thinking",delta:m.thinking});break}case"message_delta":{let g=y;g.delta.stop_reason&&(l=g.delta.stop_reason),g.delta.usage&&(d=A(d,g.delta.usage));break}case"message_stop":break}}d&&(yield{type:"usage",usage:w(d)}),yield{type:"finish",reason:l??"stop"}}}}function Q(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(o,n){let r=_(o,n,e.model,!1),s=h(),a=await t.messages.create(r,{signal:n?.signal}),i=Math.max(0,(h()-s)/1e6);return P(a,i)},async*stream(o,n){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let r=_(o,n,e.model,!0),s,a;for await(let i of t.messages.stream(r,{signal:n?.signal}))switch(i.type){case"message_start":s=A(s,i.message.usage);break;case"content_block_delta":{let c=i.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=i;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(s=A(s,c.delta.usage));break}}s&&(yield{type:"usage",usage:w(s)}),yield{type:"finish",reason:a??"stop"}}}}async function*X(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield I(n));return}n+=o.decode(s,{stream:!0});let a=U(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=I(i);(c.data||c.event)&&(yield c),a=U(n)}}}finally{t.releaseLock()}}function I(e){let t={},o=[];for(let n of e.split(`
|
|
4
|
+
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
5
|
+
`)),t}function U(e){let t=e.indexOf(`\r
|
|
6
|
+
\r
|
|
7
|
+
`),o=e.indexOf(`
|
|
8
|
+
|
|
9
|
+
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function T(e){let t;try{t=await e.text()}catch{t=""}let o=new Error(`Anthropic API ${e.status}: ${e.statusText}${t?` \u2014 ${t}`:""}`);return o.status=e.status,o.headers=e.headers,o}function j(e={}){return e.sdk?ne(e):te(e)}function b(e,t){let o=[],n=[];t?.systemPrompt&&o.push(t.systemPrompt);for(let a of e){if(a.role==="system"){o.push(a.content);continue}if(a.role==="tool"){n.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let i=[];a.content&&i.push({text:a.content});for(let c of a.toolCalls)i.push({functionCall:{name:c.name,args:c.arguments}});n.push({role:"model",parts:i});continue}n.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let r={contents:n};o.length>0&&(r.systemInstruction={role:"system",parts:[{text:o.join(`
|
|
10
|
+
|
|
11
|
+
`)}]});let s={};return t?.maxTokens!=null&&(s.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(s.temperature=t.temperature),t?.maxReasoningTokens!=null&&(s.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(s).length>0&&(r.generationConfig=s),t?.tools&&t.tools.length>0&&(r.tools=[{functionDeclarations:t.tools.map(Z)}]),t?.providerExtras&&Object.assign(r,t.providerExtras),r}function Z(e){return{name:e.name,description:e.description,parameters:e.parameters}}function L(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let o=e.promptTokenCount??0,n=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,o-n),n>0&&(t.input.cacheRead=n),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let r of e.promptTokensDetails){let s=r.modality?.toLowerCase();s==="image"?t.input.image=(t.input.image??0)+r.tokenCount:s==="audio"?t.input.audio=(t.input.audio??0)+r.tokenCount:s==="video"&&(t.input.video=(t.input.video??0)+r.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function $(e,t){let o=e.candidates?.[0],n=o?.content?.parts??[],r=[],s=[],a=0;for(let i of n)typeof i.text=="string"&&r.push(i.text),i.functionCall&&s.push({id:`${i.functionCall.name}-${a++}`,name:i.functionCall.name,arguments:i.functionCall.args??{}});return{content:r.join(""),toolCalls:s.length>0?s:void 0,usage:L(e.usageMetadata),finishReason:o?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function ee(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function te(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",o=e.fetchImpl??fetch,n=s=>{let a=s?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},r=()=>{let s=ee(e);if(!s)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(s)}`};return{provider:"google",model:e.model,async invoke(s,a){let i=n(a),c=b(s,a),u=h(),d=`${t}/models/${encodeURIComponent(i)}:generateContent?${r()}`,l=await o(d,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await D(l);let p=await l.json(),f=Math.max(0,(h()-u)/1e6);return $(p,f)},async*stream(s,a){let i=n(a),c=b(s,a),u=`${t}/models/${encodeURIComponent(i)}:streamGenerateContent?alt=sse&${r()}`,d=await o(u,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!d.ok)throw await D(d);if(!d.body)throw new Error("googleAdapter: streaming response has no body");let l,p;for await(let f of oe(d.body)){if(!f.data)continue;let k;try{k=JSON.parse(f.data)}catch{continue}let y=k.candidates?.[0];for(let g of y?.content?.parts??[])typeof g.text=="string"&&(g.thought?yield{type:"thinking",delta:g.text}:yield{type:"token",delta:g.text}),g.functionCall&&(yield{type:"tool-call-delta",delta:{name:g.functionCall.name,argumentsDelta:JSON.stringify(g.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),k.usageMetadata&&(l=k.usageMetadata)}l&&(yield{type:"usage",usage:L(l)}),yield{type:"finish",reason:p??"stop"}}}}function ne(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(o,n){let r=b(o,n),s=n?.model??e.model;if(!s)throw new Error("googleAdapter: model required");let a=h(),i=await t.models.generateContent({...r,model:s},{signal:n?.signal}),c=Math.max(0,(h()-a)/1e6);return $(i,c)},async*stream(o,n){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let r=b(o,n),s=n?.model??e.model;if(!s)throw new Error("googleAdapter: model required");let a,i;for await(let c of t.models.generateContentStream({...r,model:s},{signal:n?.signal})){let u=c.candidates?.[0];for(let d of u?.content?.parts??[])typeof d.text=="string"&&(d.thought?yield{type:"thinking",delta:d.text}:yield{type:"token",delta:d.text}),d.functionCall&&(yield{type:"tool-call-delta",delta:{name:d.functionCall.name,argumentsDelta:JSON.stringify(d.functionCall.args??{})}});u?.finishReason&&(i=u.finishReason),c.usageMetadata&&(a=c.usageMetadata)}a&&(yield{type:"usage",usage:L(a)}),yield{type:"finish",reason:i??"stop"}}}}async function*oe(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield G(n));return}n+=o.decode(s,{stream:!0});let a=K(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=G(i);(c.data||c.event)&&(yield c),a=K(n)}}}finally{t.releaseLock()}}function G(e){let t={},o=[];for(let n of e.split(`
|
|
12
|
+
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
13
|
+
`)),t}function K(e){let t=e.indexOf(`\r
|
|
14
|
+
\r
|
|
15
|
+
`),o=e.indexOf(`
|
|
16
|
+
|
|
17
|
+
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function D(e){let t;try{t=await e.text()}catch{t=""}let o=new Error(`Google API ${e.status}: ${e.statusText}${t?` \u2014 ${t}`:""}`);return o.status=e.status,o.headers=e.headers,o}var re={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function J(e={}){return e.sdk?de(e):ce(e)}function R(e,t,o,n,r){let s=t?.model??o;if(!s)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(ae);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let i={model:s,messages:a};return t?.maxTokens!=null&&(i.max_tokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.tools&&t.tools.length>0&&(i.tools=t.tools.map(se)),t?.maxReasoningTokens!=null&&(i.reasoning={max_tokens:t.maxReasoningTokens}),n&&(i.stream=!0,i.stream_options={include_usage:!0}),r&&Object.assign(i,r),t?.providerExtras&&Object.assign(i,t.providerExtras),i}function ae(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function se(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function C(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let o=e.prompt_tokens??0,n=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(n=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,o-n)):t.input.regular=Math.max(0,o-n),n>0&&(t.input.cacheRead=n),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let r=e.completion_tokens??0,s=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,r-s),s>0&&(t.output.reasoning=s),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function F(e,t,o){let n=e.choices[0],r=n?.message,s=r?.content??"",a=(r?.tool_calls??[]).map(i=>({id:i.id,name:i.function.name,arguments:ie(i.function.arguments)}));return{content:s,toolCalls:a.length>0?a:void 0,usage:C(e.usage),finishReason:n?.finish_reason,latencyMs:t,model:e.model,provider:o}}function ie(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function H(e){let t=e.preset??"openai",o=re[t],n=e.baseURL??o.baseURL,r=e.provider??o.provider,s=o.apiKeyEnv,a=e.apiKey??(s?globalThis.process?.env?.[s]:void 0);return{provider:r,baseURL:n,apiKey:a}}function ce(e){let{provider:t,baseURL:o,apiKey:n}=H(e),r=e.fetchImpl??fetch,s=t!=="ollama",a=()=>{let i={"content-type":"application/json",...e.headers??{}};if(s){if(!n)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);i.authorization=`Bearer ${n}`}return i};return{provider:t,model:e.model,async invoke(i,c){let u=R(i,c,e.model,!1,e.bodyExtras),d=h(),l=await r(`${o}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(u),signal:c?.signal});if(!l.ok)throw await q(l,t);let p=await l.json(),f=Math.max(0,(h()-d)/1e6);return F(p,f,t)},async*stream(i,c){let u=R(i,c,e.model,!0,e.bodyExtras),d=await r(`${o}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(u),signal:c?.signal});if(!d.ok)throw await q(d,t);if(!d.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let l,p;for await(let f of le(d.body)){if(!f.data||f.data==="[DONE]")continue;let k;try{k=JSON.parse(f.data)}catch{continue}let y=k.choices;if(y){let g=y[0];if(g?.delta?.content&&(yield{type:"token",delta:g.delta.content}),g?.delta?.reasoning_content&&(yield{type:"thinking",delta:g.delta.reasoning_content}),g?.delta?.tool_calls)for(let m of g.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:m.id,name:m.function?.name,argumentsDelta:m.function?.arguments}};g?.finish_reason&&(p=g.finish_reason)}k.usage&&(l=k.usage,yield{type:"usage",usage:C(l)})}yield{type:"finish",reason:p??"stop"}}}}function de(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:o}=H(e);return{provider:o,model:e.model,async invoke(n,r){let s=R(n,r,e.model,!1,e.bodyExtras),a=h(),i=await t.chat.completions.create(s,{signal:r?.signal}),c=Math.max(0,(h()-a)/1e6);return F(i,c,o)},async*stream(n,r){let s=R(n,r,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(s,{signal:r?.signal}),i,c;for await(let u of a){let d=u.choices;if(d){let p=d[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let l=u.usage;l&&(i=l,yield{type:"usage",usage:C(l)})}yield{type:"finish",reason:c??"stop"}}}}async function*le(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield B(n));return}n+=o.decode(s,{stream:!0});let a=N(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=B(i);(c.data||c.event)&&(yield c),a=N(n)}}}finally{t.releaseLock()}}function B(e){let t={},o=[];for(let n of e.split(`
|
|
18
|
+
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
19
|
+
`)),t}function N(e){let t=e.indexOf(`\r
|
|
20
|
+
\r
|
|
21
|
+
`),o=e.indexOf(`
|
|
22
|
+
|
|
23
|
+
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function q(e,t){let o;try{o=await e.text()}catch{o=""}let n=new Error(`${t} API ${e.status}: ${e.statusText}${o?` \u2014 ${o}`:""}`);return n.status=e.status,n.headers=e.headers,n}function Re(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return O(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return j(t)}case"dry-run":{let t={model:e.model,...e.extras};return v(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return M(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return J(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}var x=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let o=[];t.failed.size>0&&o.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&o.push(`skipped=[${t.skipped.map(n=>`${n.name}(${n.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${o.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function Le(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let o=e.map(r=>({name:r.name,adapter:r.adapter,filter:r.filter,breaker:r.breaker?"canExecute"in r.breaker?r.breaker:S(r.breaker):void 0})),n=t.streamRetryBeforeFirstChunk??!0;return{provider:"cascading",model:void 0,async invoke(r,s){let a=[],i=new Map;for(let u=0;u<o.length;u++){let d=o[u];if(d.filter&&!d.filter(r,s)){a.push({name:d.name,reason:"filter"});continue}if(d.breaker&&!d.breaker.canExecute()){a.push({name:d.name,reason:"breaker"});continue}try{let l=await Promise.resolve(d.adapter.invoke(r,s));return d.breaker?.recordSuccess(),{...l,metadata:{...l.metadata??{},tier:d.name}}}catch(l){i.set(d.name,l),d.breaker?.recordFailure(l);let p=o[u+1];p&&t.onFallback?.(d.name,p.name,l)}}let c={skipped:a,failed:i};throw t.onExhausted?.(c),new x(c)},async*stream(r,s){let a=[],i=new Map;for(let u=0;u<o.length;u++){let d=o[u];if(d.filter&&!d.filter(r,s)){a.push({name:d.name,reason:"filter"});continue}if(d.breaker&&!d.breaker.canExecute()){a.push({name:d.name,reason:"breaker"});continue}let l=!1;try{for await(let p of d.adapter.stream(r,s))l=!0,yield p;d.breaker?.recordSuccess();return}catch(p){if(i.set(d.name,p),d.breaker?.recordFailure(p),l||!n)throw p;let f=o[u+1];f&&t.onFallback?.(d.name,f.name,p)}}let c={skipped:a,failed:i};throw t.onExhausted?.(c),new x(c)}}}export{O as a,j as b,J as c,Re as d,x as e,Le as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as E}from"./chunk-ESMPEKEV.js";import{a as B,b as R,i as _}from"./chunk-4VVTGLXJ.js";import{m as I}from"./chunk-KASHOCF5.js";import{D as P,F as g,m as L,o as O}from"./chunk-W4TSQ6RJ.js";import{b,c as k,d as y,h as C,i as h,j as T}from"./chunk-CK2E7BTU.js";function S(e){return{describeKind:"derived",...e}}function V(e){return e<0?0:e}function M(e){return e[1]}function W(e){if(typeof e!="number"||!Number.isFinite(e))throw new TypeError("backoff strategy must return a finite number");return e<0?0:e}function Z(e,s){let r=s?.count,n=s?.backoff,l=r!==void 0?r:n===void 0?0:2147483647;if(l<0)throw new RangeError("retry count must be >= 0");let u=n===void 0?null:typeof n=="string"?_(n):n;return g(t=>{let o=0,c=!1,i=null,f,a=new E;function w(){f?.(),f=void 0}function N(p){if(c)return;if(o>=l){w(),t.down([[T,p]]);return}let m=u===null?0:u(o,p,i);if(m==null){w(),t.down([[T,p]]);return}let d;try{d=W(m)}catch{w(),t.down([[T,p]]);return}i=d,o+=1,w();let v=d>0?d/1e6:1;a.start(v,()=>{c||x()})}function x(){a.cancel(),w(),f=e.subscribe(p=>{if(!c)for(let m of p){let d=m[0];if(d===k)t.down([[k]]);else if(d===b)o=0,i=null,t.emit(m[1]);else if(d===y)t.down([[y]]);else if(d===h)w(),t.down([[h]]);else if(d===T){N(M(m));return}else t.down([m])}})}return x(),()=>{c=!0,a.cancel(),w()}},{...S(),initial:e.cache})}function ee(e,s){let r=s?.count,n=s?.backoff,l=r!==void 0?r:n===void 0?0:2147483647;if(l<0)throw new RangeError("retry count must be >= 0");let u=n===void 0?null:typeof n=="string"?_(n):n;return g(t=>{let o=0,c=!1,i=null,f,a=new E;function w(){f?.(),f=void 0}function N(p){if(c)return;if(o>=l){w(),t.down([[T,p]]);return}let m=u===null?0:u(o,p,i);if(m==null){w(),t.down([[T,p]]);return}let d;try{d=W(m)}catch{w(),t.down([[T,p]]);return}i=d,o+=1,w();let v=d>0?d/1e6:1;a.start(v,()=>{c||x()})}function x(){a.cancel(),w();let p;try{p=e()}catch(m){N(m);return}f=p.subscribe(m=>{if(!c)for(let d of m){let v=d[0];if(v===k)t.down([[k]]);else if(v===b)o=0,i=null,t.emit(d[1]);else if(v===y)t.down([[y]]);else if(v===h)w(),t.down([[h]]);else if(v===T){N(M(d));return}else t.down([d])}})}return x(),()=>{c=!0,a.cancel(),w()}},{...S(),initial:s?.initial})}var A=class extends Error{name="CircuitOpenError";constructor(){super("Circuit breaker is open")}};function te(e){let s=Math.max(1,e?.failureThreshold??5),r=V(e?.cooldownNs??30*1e9),n=e?.cooldown??null,l=Math.max(1,e?.halfOpenMax??1),u=e?.now??O,t="closed",o=0,c=0,i=0,f=r,a=0;function w(){if(!n)return r;let p=n(c);return p!==null?p:r}function N(){t="open",f=w(),i=u(),a=0}return{canExecute(){return t==="closed"?!0:t==="open"?u()-i>=f?(t="half-open",a=1,!0):!1:a<l?(a++,!0):!1},recordSuccess(){t==="half-open"?(t="closed",o=0,c=0):t==="closed"&&(o=0)},recordFailure(p){if(t==="half-open"){c++,N();return}t==="closed"&&(o++,o>=s&&N())},get state(){return t},get failureCount(){return o},reset(){t="closed",o=0,c=0,a=0}}}function ne(e,s){let r=s?.onOpen??"skip";return n=>{let l=P([],(u,t)=>{function o(){l.meta.breakerState.down([[b,e.state]])}let c=n.subscribe(i=>{for(let f of i){let a=f[0];a===k?t.down([[k]]):a===b?e.canExecute()?(o(),t.emit(f[1])):(o(),r==="error"?t.down([[T,new A]]):t.down([[y]])):a===y?t.down([[y]]):a===h?(e.recordSuccess(),o(),t.down([[h]])):a===T?(e.recordFailure(M(f)),o(),t.down([f])):t.down([f])}});return o(),c},{...S(),meta:{breakerState:e.state},completeWhenDepsComplete:!1,initial:n.cache});return{node:l,breakerState:l.meta.breakerState}}}function U(e,s){if(e<=0)throw new RangeError("capacity must be > 0");if(s<0)throw new RangeError("refillPerSecond must be >= 0");let r=e,n=O();function l(u){if(s>0){let t=u-n;r=Math.min(e,r+t/1e9*s)}n=u}return{available(){return l(O()),r},tryConsume(u=1){if(u<=0)return!0;let t=O();return l(t),r>=u?(r-=u,!0):!1},putBack(u=1){u<=0||(l(O()),r=Math.min(e,r+u))}}}var D=class extends Error{name="RateLimiterOverflowError";constructor(s){super(`rateLimiter buffer overflow (maxBuffer=${s})`)}};function re(e,s){let{maxEvents:r,windowNs:n}=s;if(r<=0)throw new RangeError("maxEvents must be > 0");if(n<=0)throw new RangeError("windowNs must be > 0");let l=s.maxBuffer;if(l!==void 0&&l<1)throw new RangeError("maxBuffer must be >= 1");let u=s.onOverflow??"drop-newest",t=r*1e9/n;return g(o=>{let c=U(r,t),i=[],f=new E,a=!1,w=1e9/t;function N(){for(;i.length>0;)if(c.tryConsume(1))o.emit(i.shift());else{f.start(Math.max(1,w/1e6),N);return}}let x=e.subscribe(p=>{for(let m of p){if(a)return;let d=m[0];if(d===k)o.down([[k]]);else if(d===b){if(l!==void 0&&i.length>=l){if(u!=="drop-newest")if(u==="drop-oldest")i.shift(),i.push(m[1]);else{a=!0,f.cancel(),i.length=0,o.down([[T,new D(l)]]);return}}else i.push(m[1]);N()}else if(d===y)o.down([[y]]);else if(d===h)a=!0,f.cancel(),i.length=0,o.down([[h]]);else if(d===T)a=!0,f.cancel(),i.length=0,o.down([m]);else if(d===C){a=!0,f.cancel(),i.length=0,o.down([m]);return}else o.down([m])}});return()=>{a=!0,f.cancel(),x()}},{...S(),initial:e.cache})}function oe(e,s){let r=s?.initialStatus??"pending",n=P([],(l,u)=>{let t=r;return n.meta.status.down([[b,r]]),n.meta.error.down([[b,null]]),e.subscribe(c=>{for(let i of c){let f=i[0];if(f===k)u.down([[k]]);else if(f===b)t==="errored"?L(()=>{n.meta.error.down([[b,null]]),n.meta.status.down([[b,"active"]])}):n.meta.status.down([[b,"active"]]),t="active",u.emit(i[1]);else if(f===y)u.down([[y]]);else if(f===h)n.meta.status.down([[b,"completed"]]),t="completed",u.down([[h]]);else if(f===T){let a=M(i);L(()=>{n.meta.error.down([[b,a]]),n.meta.status.down([[b,"errored"]])}),t="errored",u.down([i])}else u.down([i])}})},{...S(),meta:{status:r,error:null},completeWhenDepsComplete:!1,resubscribable:!0,initial:e.cache});return{node:n,status:n.meta.status,error:n.meta.error}}var F=class extends Error{name="TimeoutError";constructor(s){super(`Timed out after ${s/1e6}ms`)}};function j(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function K(e){return e!=null&&typeof e.then=="function"}function $(e){return e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function"}function ie(e,s){return g(r=>{let n,l;function u(){l?.(),l=void 0,j(s)||K(s)||$(s)?n=I(s).subscribe(o=>{r.down(o)}):(r.emit(s),r.down([[h]]))}return l=e.subscribe(t=>{for(let o of t){let c=o[0];if(c===k)r.down([[k]]);else if(c===b)r.emit(o[1]);else if(c===y)r.down([[y]]);else if(c===h)r.down([[h]]);else if(c===T){u();return}else if(c===C){n?.(),r.down([o]);return}else r.down([o])}}),()=>{l?.(),n?.()}},{...S(),initial:e.cache})}function se(e,s){if(s<=0)throw new RangeError("timeoutNs must be > 0");return g(r=>{let n=!1,l=new E;function u(){let o=s/1e6;l.start(o,()=>{n||(n=!0,t(),r.down([[T,new F(s)]]))})}let t=e.subscribe(o=>{for(let c of o){if(n)return;let i=c[0];if(i===k)r.down([[k]]);else if(i===b)u(),r.emit(c[1]);else if(i===y)r.down([[y]]);else if(i===h){l.cancel(),n=!0,r.down([[h]]);return}else if(i===T){l.cancel(),n=!0,r.down([c]);return}else if(i===C){l.cancel(),n=!0,r.down([c]);return}else r.down([c])}});return u(),()=>{n=!0,l.cancel(),t()}},{...S(),initial:e.cache})}export{Z as a,ee as b,A as c,te as d,ne as e,U as f,D as g,re as h,oe as i,F as j,ie as k,se as l};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import{b as q}from"./chunk-AMG5VBHW.js";import{h as W,k as D}from"./chunk-MGKAO4EK.js";import{E as M,F as A,G as L,H as T}from"./chunk-W4TSQ6RJ.js";import{b as Q}from"./chunk-QYADASLV.js";var ie={};Q(ie,{compileSpec:()=>ne,decompileGraph:()=>se,extractFnFactory:()=>z,extractSourceFactory:()=>U,generateCatalogPrompt:()=>V,isRichFnEntry:()=>_,isRichSourceEntry:()=>J,llmCompose:()=>ae,llmRefine:()=>H,specDiff:()=>re,validateSpec:()=>E,validateSpecAgainstCatalog:()=>I});function _(a){return typeof a=="object"&&a!==null&&"factory"in a}function J(a){return typeof a=="object"&&a!==null&&"factory"in a}function z(a){return _(a)?a.factory:a}function U(a){return J(a)?a.factory:a}function V(a){let o=[];if(a.fns){let n=new Map;for(let[p,i]of Object.entries(a.fns)){let l=_(i)?i.tags?.[0]??"Other":"Other";n.has(l)||n.set(l,[]),n.get(l).push(X(p,i))}for(let[p,i]of n)o.push(`${p}:
|
|
2
|
+
${i.join(`
|
|
3
|
+
`)}`)}if(a.sources){let n=[];for(let[p,i]of Object.entries(a.sources))n.push(Z(p,i));n.length>0&&o.push(`Sources:
|
|
4
|
+
${n.join(`
|
|
5
|
+
`)}`)}return o.join(`
|
|
6
|
+
|
|
7
|
+
`)}function X(a,o){if(!_(o))return`- ${a}`;let n=`- ${a}: ${o.description}`;if(o.configSchema){let p=Object.entries(o.configSchema).map(([i,l])=>{let s=`${i}: ${l.type}`;return l.enum&&(s+=` (${l.enum.join("|")})`),l.required===!1&&(s+="?"),s});n+=`. Config: { ${p.join(", ")} }`}return n}function Z(a,o){if(!J(o))return`- ${a}`;let n=`- ${a}: ${o.description}`;if(o.configSchema){let p=Object.entries(o.configSchema).map(([i,l])=>{let s=`${i}: ${l.type}`;return l.required===!1&&(s+="?"),s});n+=`. Config: { ${p.join(", ")} }`}return n}function I(a,o){let n=[],p=new Set(Object.keys(o.fns??{})),i=new Set(Object.keys(o.sources??{}));for(let[l,s]of Object.entries(a.nodes)){if(s.type==="template")continue;let c=s;if(c.fn&&p.size>0&&!p.has(c.fn))if(i.has(c.fn))n.push(`Node "${l}": fn "${c.fn}" is a source, not a function. Use it as a producer source instead, or use a function from: ${[...p].join(", ")}`);else{let e=P(c.fn,p);n.push(`Node "${l}": fn "${c.fn}" not found in catalog`+(e?`. Did you mean "${e}"?`:""))}if(c.source&&i.size>0&&!i.has(c.source))if(p.has(c.source))n.push(`Node "${l}": source "${c.source}" is a function, not a source. Use it as fn instead, or use a source from: ${[...i].join(", ")}`);else{let e=P(c.source,i);n.push(`Node "${l}": source "${c.source}" not found in catalog`+(e?`. Did you mean "${e}"?`:""))}if(c.fn&&c.config&&o.fns?.[c.fn]){let e=o.fns[c.fn];if(_(e)&&e.configSchema){for(let[m,$]of Object.entries(e.configSchema))if($.required!==!1&&!(m in c.config)&&n.push(`Node "${l}": config missing required field "${m}"`),m in c.config&&$.enum){let w=c.config[m];$.enum.includes(w)||n.push(`Node "${l}": config.${m} = ${JSON.stringify(w)}, expected one of: ${$.enum.join(", ")}`)}}}}if(a.templates){for(let[l,s]of Object.entries(a.templates))for(let[c,e]of Object.entries(s.nodes))if(e.fn&&p.size>0&&!p.has(e.fn)){let m=P(e.fn,p);n.push(`Template "${l}" node "${c}": fn "${e.fn}" not found in catalog`+(m?`. Did you mean "${m}"?`:""))}}return{valid:n.length===0,errors:n}}function P(a,o){let n=null,p=1/0,i=a.toLowerCase();for(let l of o){let s=ee(i,l.toLowerCase());s<p&&s<=Math.max(3,Math.floor(a.length/2))&&(p=s,n=l)}return n}function ee(a,o){let n=a.length,p=o.length,i=Array.from({length:n+1},(l,s)=>Array.from({length:p+1},(c,e)=>s===0?e:e===0?s:0));for(let l=1;l<=n;l++)for(let s=1;s<=p;s++)i[l][s]=a[l-1]===o[s-1]?i[l-1][s-1]:1+Math.min(i[l-1][s],i[l][s-1],i[l-1][s-1]);return i[n][p]}var Y=new Set(["state","producer","derived","effect","operator","template"]),te=new Set(["state","producer","derived","effect","operator"]);function E(a){let o=[];if(a==null||typeof a!="object")return{valid:!1,errors:["GraphSpec must be a non-null object"]};let n=a;if((typeof n.name!="string"||n.name.length===0)&&o.push("Missing or empty 'name' field"),n.nodes==null||typeof n.nodes!="object"||Array.isArray(n.nodes))return o.push("Missing or invalid 'nodes' field (must be an object)"),{valid:!1,errors:o};let p=new Set(Object.keys(n.nodes)),i=new Map,l=new Map;if(n.templates!=null&&typeof n.templates=="object"&&!Array.isArray(n.templates)){for(let[s,c]of Object.entries(n.templates))if(c!=null&&typeof c=="object"){let e=c;l.set(s,{params:Array.isArray(e.params)?e.params:[]})}}if(n.templates!=null)if(typeof n.templates!="object"||Array.isArray(n.templates))o.push("'templates' must be an object");else for(let[s,c]of Object.entries(n.templates)){if(c==null||typeof c!="object"){o.push(`Template "${s}": must be an object`);continue}let e=c;if(Array.isArray(e.params)||o.push(`Template "${s}": missing 'params' array`),e.nodes==null||typeof e.nodes!="object"||Array.isArray(e.nodes))o.push(`Template "${s}": missing or invalid 'nodes' object`);else{let m=new Set(Array.isArray(e.params)?e.params:[]),$=new Set(Object.keys(e.nodes));for(let[w,R]of Object.entries(e.nodes)){if(R==null||typeof R!="object"){o.push(`Template "${s}" node "${w}": must be an object`);continue}let r=R;if((typeof r.type!="string"||!te.has(r.type))&&o.push(`Template "${s}" node "${w}": invalid type`),Array.isArray(r.deps))for(let f of r.deps)!$.has(f)&&!m.has(f)&&o.push(`Template "${s}" node "${w}": dep "${f}" is not an inner node or param`)}typeof e.output!="string"?o.push(`Template "${s}": missing 'output' string`):e.nodes[e.output]||o.push(`Template "${s}": output "${e.output}" is not a declared node`)}}for(let[s,c]of Object.entries(n.nodes)){if(c==null||typeof c!="object"){o.push(`Node "${s}": must be an object`);continue}let e=c;if(typeof e.type!="string"||!Y.has(e.type)){o.push(`Node "${s}": invalid type "${String(e.type)}" (expected: ${[...Y].join(", ")})`);continue}if(i.set(s,e.type),e.type==="template")if(typeof e.template!="string"||!l.has(e.template))o.push(`Node "${s}": template "${String(e.template)}" not found in templates`);else if(e.bind==null||typeof e.bind!="object"||Array.isArray(e.bind))o.push(`Node "${s}": template ref requires 'bind' object`);else{let m=l.get(e.template),$=e.bind;for(let w of m.params)w in $||o.push(`Node "${s}": template param "${w}" is not bound (template "${e.template}")`);for(let[,w]of Object.entries($))typeof w=="string"&&!p.has(w)&&o.push(`Node "${s}": bind target "${w}" does not reference an existing node`)}else{if(Array.isArray(e.deps))for(let m of e.deps)m===s?o.push(`Node "${s}": self-referencing dep`):p.has(m)||o.push(`Node "${s}": dep "${m}" does not reference an existing node`);(e.type==="derived"||e.type==="effect"||e.type==="operator")&&!Array.isArray(e.deps)&&o.push(`Node "${s}": ${e.type} node should have a 'deps' array`)}}if(n.feedback!=null)if(!Array.isArray(n.feedback))o.push("'feedback' must be an array");else for(let s=0;s<n.feedback.length;s++){let c=n.feedback[s];if(c==null||typeof c!="object"){o.push(`Feedback [${s}]: must be an object`);continue}let e=c;(typeof e.from!="string"||!p.has(e.from))&&o.push(`Feedback [${s}]: 'from' "${String(e.from)}" does not reference an existing node`),typeof e.from=="string"&&e.from===e.to&&o.push(`Feedback [${s}]: 'from' and 'to' must be different nodes`),typeof e.to!="string"||!p.has(e.to)?o.push(`Feedback [${s}]: 'to' "${String(e.to)}" does not reference an existing node`):typeof e.to=="string"&&i.get(e.to)!=="state"&&o.push(`Feedback [${s}]: 'to' node "${e.to}" must be a state node (got "${i.get(e.to)??"unknown"}")`)}return{valid:o.length===0,errors:o}}function ne(a,o){let n=E(a);if(!n.valid)throw new Error(`compileSpec: invalid GraphSpec:
|
|
8
|
+
${n.errors.join(`
|
|
9
|
+
`)}`);let p=o?.catalog??{},i=new D(a.name),l=a.templates??{},s=I(a,p);if(!s.valid)throw new Error(`compileSpec: catalog validation errors:
|
|
10
|
+
${s.errors.join(`
|
|
11
|
+
`)}`);let c=r=>{let f=p.fns?.[r];return f?z(f):void 0},e=r=>{let f=p.sources?.[r];return f?U(f):void 0},m=new Map,$=[];for(let[r,f]of Object.entries(a.nodes)){if(f.type==="template")continue;let d=f;if(d.type==="state"){let h=M(d.initial,{name:r,meta:d.meta?{...d.meta}:void 0});i.add(h,{name:r}),m.set(r,h)}else if(d.type==="producer"){let h=d.source?e(d.source):void 0,b=d.fn?c(d.fn):void 0;if(h){let t=h(d.config??{});i.add(t,{name:r}),m.set(r,t)}else if(b){let t=b([],d.config??{});i.add(t,{name:r}),m.set(r,t)}else{let t=A(()=>{},{name:r,meta:{...d.meta,_specFn:d.fn,_specSource:d.source}});i.add(t,{name:r}),m.set(r,t)}}else $.push([r,d])}let w=!0,R=new Map($);for(;R.size>0&&w;){w=!1;for(let[r,f]of[...R.entries()]){let d=f.deps??[];if(!d.every(y=>m.has(y)))continue;let h=d.map(y=>m.get(y)),b=f.fn?c(f.fn):void 0,t;b?t=b(h,f.config??{}):f.type==="effect"?t=T(h,()=>{}):t=L(h,y=>y[0]),i.add(t,{name:r}),m.set(r,t),R.delete(r),w=!0}}if(R.size>0){let r=[...R.keys()].sort().join(", ");throw new Error(`compileSpec: unresolvable deps for nodes: ${r}`)}for(let[r,f]of Object.entries(a.nodes)){if(f.type!=="template")continue;let d=f,h=l[d.template],b=new D(r),t=new Map,y=[];for(let[g,u]of Object.entries(h.nodes)){let v=(u.deps??[]).map(j=>j.startsWith("$")&&d.bind[j]?d.bind[j]:j),F={...u,deps:v};if(u.type==="state"){let j=M(u.initial,{name:g,meta:u.meta?{...u.meta}:void 0});b.add(j,{name:g}),t.set(g,j)}else if(u.type==="producer"){let j=u.source?e(u.source):void 0,O=u.fn?c(u.fn):void 0;if(j){let S=j(u.config??{});b.add(S,{name:g}),t.set(g,S)}else if(O){let S=O([],u.config??{});b.add(S,{name:g}),t.set(g,S)}else{let S=A(()=>{},{name:g,meta:{...u.meta,_specFn:u.fn,_specSource:u.source}});b.add(S,{name:g}),t.set(g,S)}}else y.push([g,F])}let N=!0,k=new Map(y);for(;k.size>0&&N;){N=!1;for(let[g,u]of[...k.entries()]){let v=u.deps??[];if(!v.every(G=>t.has(G)||m.has(G)))continue;let j=v.map(G=>t.get(G)??m.get(G)),O=u.fn?c(u.fn):void 0,S;O?S=O(j,u.config??{}):u.type==="effect"?S=T(j,()=>{}):S=L(j,G=>G[0]),b.add(S,{name:g}),t.set(g,S),k.delete(g),N=!0}}if(k.size>0){let g=[...k.keys()].sort().join(", ");throw new Error(`compileSpec: template "${d.template}" has unresolvable deps: ${g}`)}i.mount(r,b);let x=`${r}::${h.output}`;m.set(r,i.resolve(x));try{let g=i.resolve(x);g.meta._templateName?.emit(d.template),g.meta._templateBind?.emit(d.bind)}catch{}}for(let r of a.feedback??[])q(i,r.from,r.to,{maxIterations:r.maxIterations});return i}var oe=new Set(["reduction","reduction_type","_specFn","_specSource","_templateName","_templateBind","feedbackFrom","feedbackTo","_internal"]);function se(a){let o=a.describe({detail:"standard"}),n={},p=[],i=`::${W}::`,l=/^__feedback_(?!effect_)(.+)$/,s=new Set;for(let r of Object.keys(o.nodes)){if(r.includes(i))continue;let f=l.exec(r);if(f){s.add(f[1]);let d=o.nodes[r]?.meta;d?.feedbackFrom&&d?.feedbackTo&&p.push({from:d.feedbackFrom,to:d.feedbackTo,...d.maxIterations?{maxIterations:d.maxIterations}:{}})}}for(let[r,f]of Object.entries(o.nodes)){if(r.includes(i)||l.test(r)||f.meta?._internal||r.startsWith("__feedback_effect_")||r.startsWith("__bridge_")||r.includes("::"))continue;let d={type:f.type};if(f.deps.length>0&&(d.deps=f.deps.filter(h=>!h.includes("::"))),f.type==="state"&&f.value!==void 0&&(d.initial=f.value),f.meta&&Object.keys(f.meta).length>0){let h={};for(let[b,t]of Object.entries(f.meta))oe.has(b)||(h[b]=t);Object.keys(h).length>0&&(d.meta=h)}n[r]=d}let c={},e={},m=new Set;for(let r of o.subgraphs){let f=`${r}::`;for(let[d,h]of Object.entries(o.nodes)){if(!d.startsWith(f)||d.includes(i))continue;let b=h.meta;if(b?._templateName&&b?._templateBind){let t=b._templateName,y=b._templateBind;if(!c[t]){let N={},k=new Set,x=`${r}::`;for(let[O,S]of Object.entries(o.nodes)){if(!O.startsWith(x)||O.includes(i))continue;let G=O.slice(x.length);G.includes("::")||(k.add(G),N[G]={type:S.type,...S.deps.length>0?{deps:S.deps.map(C=>C.startsWith(x)?C.slice(x.length):C)}:{}})}let g=[],u=new Map;for(let O of Object.values(N))for(let S of O.deps??[])if(!k.has(S)&&!u.has(S)){let G=`$${S}`;g.push(G),u.set(S,G)}for(let O of Object.values(N))O.deps&&(O.deps=O.deps.map(S=>u.get(S)??S));let v=new Set;for(let O of Object.values(N))for(let S of O.deps??[])k.has(S)&&v.add(S);let j=[...k].filter(O=>!v.has(O))[0]??[...k].pop();c[t]={params:g,nodes:N,output:j}}delete n[r],e[r]={type:"template",template:t,bind:y},m.add(r);break}}}let $=new Map;for(let r of o.subgraphs){if(m.has(r))continue;let f={},d=`${r}::`;for(let[b,t]of Object.entries(o.nodes)){if(b.includes(i)||!b.startsWith(d))continue;let y=b.slice(d.length);y.includes("::")||(f[y]={type:t.type,...t.deps.length>0?{deps:t.deps.map(N=>N.startsWith(d)?N.slice(d.length):N)}:{}})}let h=JSON.stringify(Object.fromEntries(Object.entries(f).sort(([b],[t])=>b.localeCompare(t)).map(([b,t])=>[b,{type:t.type,deps:t.deps??[]}])));$.has(h)||$.set(h,[]),$.get(h).push({name:r,nodes:f})}for(let[,r]of $){if(r.length<2)continue;let f=`${r[0].name}_template`,d=r[0].nodes,h=new Set(Object.keys(d)),b=[],t=new Map;for(let g of Object.values(d))for(let u of g.deps??[])if(!h.has(u)&&!t.has(u)){let v=`$${u}`;b.push(v),t.set(u,v)}let y=new Set;for(let g of Object.values(d))for(let u of g.deps??[])h.has(u)&&y.add(u);let k=[...h].filter(g=>!y.has(g))[0]??[...h].pop(),x={};for(let[g,u]of Object.entries(d))x[g]={...u,deps:u.deps?.map(v=>t.get(v)??v)};c[f]={params:b,nodes:x,output:k};for(let g of r){delete n[g.name];let u={},v=new Set(Object.keys(g.nodes));for(let F of Object.values(g.nodes))for(let j of F.deps??[])if(!v.has(j)){let O=t.get(j)??`$${j}`;u[O]=j}e[g.name]={type:"template",template:f,bind:u}}}let w={...n,...e},R={name:o.name,nodes:w};return Object.keys(c).length>0&&(R.templates=c),p.length>0&&(R.feedback=p),R}function re(a,o){let n=[];a.name!==o.name&&n.push({type:"changed",path:"name",detail:`"${a.name}" \u2192 "${o.name}"`});let p=new Set(Object.keys(a.nodes)),i=new Set(Object.keys(o.nodes));for(let t of i)if(!p.has(t)){let y=o.nodes[t];n.push({type:"added",path:`nodes.${t}`,detail:`type: ${y.type}`})}for(let t of p)i.has(t)||n.push({type:"removed",path:`nodes.${t}`});for(let t of p){if(!i.has(t))continue;let y=a.nodes[t],N=o.nodes[t];if(JSON.stringify(y)!==JSON.stringify(N)){let k=[];y.type!==N.type&&k.push(`type: ${y.type} \u2192 ${N.type}`),JSON.stringify(y.deps)!==JSON.stringify(N.deps)&&k.push("deps changed"),y.fn!==N.fn&&k.push(`fn: ${y.fn} \u2192 ${N.fn}`),JSON.stringify(y.config)!==JSON.stringify(N.config)&&k.push("config changed"),n.push({type:"changed",path:`nodes.${t}`,detail:k.join("; ")||"modified"})}}let l=a.templates??{},s=o.templates??{},c=new Set(Object.keys(l)),e=new Set(Object.keys(s));for(let t of e)c.has(t)||n.push({type:"added",path:`templates.${t}`});for(let t of c)e.has(t)||n.push({type:"removed",path:`templates.${t}`});for(let t of c)e.has(t)&&JSON.stringify(l[t])!==JSON.stringify(s[t])&&n.push({type:"changed",path:`templates.${t}`,detail:"template definition changed"});let m=a.feedback??[],$=o.feedback??[],w=new Set(m.map(t=>`${t.from}->${t.to}`)),R=new Set($.map(t=>`${t.from}->${t.to}`));for(let t of $){let y=`${t.from}->${t.to}`;w.has(y)||n.push({type:"added",path:`feedback.${y}`,detail:`maxIterations: ${t.maxIterations??10}`})}for(let t of m){let y=`${t.from}->${t.to}`;R.has(y)||n.push({type:"removed",path:`feedback.${y}`})}for(let t of m){let y=`${t.from}->${t.to}`,N=$.find(k=>k.from===t.from&&k.to===t.to);N&&JSON.stringify(t)!==JSON.stringify(N)&&n.push({type:"changed",path:`feedback.${y}`,detail:`maxIterations: ${t.maxIterations??10} \u2192 ${N.maxIterations??10}`})}let r=n.filter(t=>t.type==="added").length,f=n.filter(t=>t.type==="removed").length,d=n.filter(t=>t.type==="changed").length,h=[];r&&h.push(`${r} added`),f&&h.push(`${f} removed`),d&&h.push(`${d} changed`);let b=h.length>0?h.join(", "):"no changes";return{entries:n,summary:b}}var B=`You are a graph architect for GraphReFly, a reactive graph protocol.
|
|
12
|
+
|
|
13
|
+
Given a natural-language description, produce a JSON GraphSpec with this structure:
|
|
14
|
+
|
|
15
|
+
{
|
|
16
|
+
"name": "<graph_name>",
|
|
17
|
+
"nodes": {
|
|
18
|
+
"<node_name>": {
|
|
19
|
+
"type": "state" | "derived" | "producer" | "effect" | "operator",
|
|
20
|
+
"deps": ["<dep_node_name>", ...],
|
|
21
|
+
"fn": "<catalog_function_name>",
|
|
22
|
+
"source": "<catalog_source_name>",
|
|
23
|
+
"config": { ... },
|
|
24
|
+
"initial": <value>,
|
|
25
|
+
"meta": { "description": "<purpose>" }
|
|
26
|
+
},
|
|
27
|
+
"<template_instance>": {
|
|
28
|
+
"type": "template",
|
|
29
|
+
"template": "<template_name>",
|
|
30
|
+
"bind": { "$param": "node_name" }
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"templates": {
|
|
34
|
+
"<template_name>": {
|
|
35
|
+
"params": ["$param1", "$param2"],
|
|
36
|
+
"nodes": { ... },
|
|
37
|
+
"output": "<output_node>"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"feedback": [
|
|
41
|
+
{ "from": "<condition_node>", "to": "<state_node>", "maxIterations": 10 }
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
Rules:
|
|
46
|
+
- "state" nodes hold user/LLM-writable values (knobs). Use "initial" for default values.
|
|
47
|
+
- "derived" nodes compute from deps using a named "fn".
|
|
48
|
+
- "effect" nodes produce side effects from deps.
|
|
49
|
+
- "producer" nodes generate values from a named "source".
|
|
50
|
+
- Use "templates" when the same subgraph pattern repeats (e.g., per-source resilience).
|
|
51
|
+
- Use "feedback" for bounded cycles where a derived value writes back to a state node.
|
|
52
|
+
- meta.description is required for every node.
|
|
53
|
+
- Return ONLY valid JSON, no markdown fences or commentary.`;function K(a){let o=a.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return o?o[1]:a}async function ae(a,o,n){let p=B,i=n?.catalogDescription??(n?.catalog?V(n.catalog):void 0);i&&(p+=`
|
|
54
|
+
|
|
55
|
+
Available catalog (use ONLY these names):
|
|
56
|
+
${i}`),n?.systemPromptExtra&&(p+=`
|
|
57
|
+
|
|
58
|
+
${n.systemPromptExtra}`);let l=[{role:"system",content:p},{role:"user",content:a}],e=(await o.invoke(l,{model:n?.model,temperature:n?.temperature??0,maxTokens:n?.maxTokens})).content.trim();e.startsWith("```")&&(e=K(e));let m;try{m=JSON.parse(e)}catch{throw new Error(`llmCompose: LLM response is not valid JSON: ${e.slice(0,200)}`)}let $=E(m);if(!$.valid)throw new Error(`llmCompose: invalid GraphSpec:
|
|
59
|
+
${$.errors.join(`
|
|
60
|
+
`)}`);let w=m;if(n?.catalog){let R=n.maxAutoRefine??0;for(let r=0;r<=R;r++){let f=I(w,n.catalog);if(f.valid)break;if(r===R)throw new Error(`llmCompose: catalog validation failed after ${R} refine attempts:
|
|
61
|
+
${f.errors.join(`
|
|
62
|
+
`)}`);w=await H(w,`Fix these catalog errors:
|
|
63
|
+
${f.errors.join(`
|
|
64
|
+
`)}
|
|
65
|
+
|
|
66
|
+
Use ONLY functions and sources from the catalog.`,o,{...n,catalogDescription:i})}}return w}async function H(a,o,n,p){let i=B;p?.catalogDescription&&(i+=`
|
|
67
|
+
|
|
68
|
+
Available catalog:
|
|
69
|
+
${p.catalogDescription}`),p?.systemPromptExtra&&(i+=`
|
|
70
|
+
|
|
71
|
+
${p.systemPromptExtra}`);let l=[{role:"system",content:i},{role:"user",content:`Current GraphSpec:
|
|
72
|
+
${JSON.stringify(a,null,2)}
|
|
73
|
+
|
|
74
|
+
Modification request: ${o}
|
|
75
|
+
|
|
76
|
+
Return the complete modified GraphSpec as JSON.`}],e=(await n.invoke(l,{model:p?.model,temperature:p?.temperature??0,maxTokens:p?.maxTokens})).content.trim();e.startsWith("```")&&(e=K(e));let m;try{m=JSON.parse(e)}catch{throw new Error(`llmRefine: LLM response is not valid JSON: ${e.slice(0,200)}`)}let $=E(m);if(!$.valid)throw new Error(`llmRefine: invalid GraphSpec:
|
|
77
|
+
${$.errors.join(`
|
|
78
|
+
`)}`);return m}export{_ as a,J as b,z as c,U as d,V as e,I as f,E as g,ne as h,se as i,re as j,ae as k,H as l,ie as m};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import{a as me}from"./chunk-WM7H7WTY.js";import{u as Q}from"./chunk-22SVXUPB.js";import{a as pe}from"./chunk-4OFIQ66T.js";import{e as fe}from"./chunk-VWPRPPKR.js";import{a as M}from"./chunk-Y53B6NS4.js";import{b as J,d as K}from"./chunk-5Z4HDCO6.js";import{g as le,k as Y}from"./chunk-MGKAO4EK.js";import{b as A,q as G,r as ce,v as $}from"./chunk-5JDE5JHE.js";import{m as ue}from"./chunk-KASHOCF5.js";import{b as de}from"./chunk-2GQREQ6C.js";import{D as ie,E as b,G as k,H as C,o as L}from"./chunk-W4TSQ6RJ.js";import{b as Ie}from"./chunk-QYADASLV.js";var Ye={};Ie(Ye,{DEFAULT_DECAY_RATE:()=>X,DEFAULT_QUEUE_CONFIGS:()=>Z,DEFAULT_SEVERITY_WEIGHTS:()=>z,HarnessGraph:()=>U,QUEUE_NAMES:()=>N,affectedTaskFilter:()=>Oe,beforeAfterCompare:()=>we,codeChangeBridge:()=>Ce,createIntakeBridge:()=>be,defaultErrorClassifier:()=>W,defaultLlmExecutor:()=>ge,defaultLlmVerifier:()=>ye,evalIntakeBridge:()=>Ne,evalSource:()=>Se,evalVerifier:()=>Le,harnessLoop:()=>Fe,harnessProfile:()=>De,harnessTrace:()=>Be,notifyEffect:()=>_e,priorityScore:()=>Ge,refineExecutor:()=>Qe,strategyKey:()=>P,strategyModel:()=>ee});function be(t,e,r,n){return C([t],([a])=>{if(a==null)return;let d=r(a);for(let i of d)e.publish(i)},{name:n?.name??"intake-bridge"})}function Ne(t,e,r){let n=r?.defaultSeverity??"medium";return C([t],([a])=>{if(a==null)return;let d=Array.isArray(a)?a:[a];for(let i of d)for(let o of i.tasks)if(!(o.valid&&o.judge_scores?.every(s=>s.pass))){if(!o.valid&&(!o.judge_scores||o.judge_scores.length===0)){e.publish({source:"eval",summary:`Task ${o.task_id} invalid (model: ${i.model})`,evidence:`Run ${i.run_id}: task produced invalid output`,affectsAreas:["graphspec"],affectsEvalTasks:[o.task_id],severity:n});continue}if(o.judge_scores)for(let s of o.judge_scores)s.pass||e.publish({source:"eval",summary:`${o.task_id}: ${s.claim} (model: ${i.model})`,evidence:s.reasoning,affectsAreas:["graphspec"],affectsEvalTasks:[o.task_id],severity:n})}},{name:r?.name??"eval-intake-bridge"})}function Se(t,e){return $(t,()=>ue(e()))}function we(t,e){return k([t,e],([r,n])=>{let a=r,d=n,i=new Map(a.tasks.map(c=>[c.task_id,c])),o=new Map(d.tasks.map(c=>[c.task_id,c])),s=new Set([...i.keys(),...o.keys()]),u=[],f=[],l=[];for(let c of s){let m=i.get(c),I=o.get(c),g=m?.valid??!1,E=I?.valid??!1,T=m?.judge_scores?m.judge_scores.filter(j=>j.pass).length:void 0,h=I?.judge_scores?I.judge_scores.filter(j=>j.pass).length:void 0,S=T!==void 0&&h!==void 0?h-T:void 0;u.push({taskId:c,before:g,after:E,scoreDiff:S}),g&&!E&&f.push(c),!g&&E&&l.push(c)}return{newFailures:f,resolved:l,taskDeltas:u,overallImproved:l.length>f.length}},{name:"eval-delta"})}function Oe(t,e){let r=e==null?null:Array.isArray(e)?b(e):e,n=[t];return r&&n.push(r),k(n,a=>{let d=a[0],i=r?new Set(a[1]):null,o=new Set;for(let s of d)for(let u of s.affectsEvalTasks??[])(i==null||i.has(u))&&o.add(u);return[...o].sort()},{name:"affected-task-filter"})}function Ce(t,e,r,n){let a=n?.defaultSeverity??"high";function d(o){let s=[];for(let u of o.lintErrors??[])s.push({source:"code-change",summary:`Lint: ${u.rule} in ${u.file}:${u.line}`,evidence:u.message,affectsAreas:[u.file],severity:a});for(let u of o.testFailures??[])s.push({source:"test",summary:`Test failure: ${u.testId}`,evidence:u.message,affectsAreas:[u.file],affectsEvalTasks:[u.testId],severity:a});return s}let i=r??d;return C([t],([o])=>{if(o!=null)for(let s of i(o))e.publish(s)},{name:n?.name??"code-change-bridge"})}function _e(t,e,r){return C([t.latest],([n])=>{n!=null&&e(n)},{name:r?.name??"notify-effect"})}function Ae(t){if(t.length===0)return Number.NEGATIVE_INFINITY;let e=0;for(let r of t)e+=r.score;return e/t.length}function $e(t){let{passCount:e,total:r,meanScore:n,threshold:a,missingArtifact:d}=t,i=Number.isFinite(n)?n.toFixed(3):String(n),o=!d&&r>0&&n>=a,s=d?["EXECUTE stage did not emit an artifact; cannot verify reactively"]:o?[`${e}/${r} eval tasks passed; mean score ${i} \u2265 ${a}`]:r===0?["No eval tasks were selected for this item \u2014 cannot verify"]:[`${e}/${r} eval tasks passed; mean score ${i} < threshold ${a}`];return o?{verified:!0,findings:s}:{verified:!1,findings:s,errorClass:"structural"}}function Ve(t){return t.artifact}function Le(t){let e=t.name??"eval-verifier",r=t.threshold??.5,n=t.toOutput??$e,a=t.extractArtifact??Ve;return d=>{let i=A(d,s=>s!=null&&s[0]!=null&&s[1]!=null),o=$(i,([s,u])=>{let f=a(s,u);if(f==null)return b(n({scores:[],meanScore:Number.NEGATIVE_INFINITY,passCount:0,total:0,threshold:r,missingArtifact:!0}));let l=b([f],{name:`${e}/candidates`}),c=b(t.datasetFor(u),{name:`${e}/dataset`}),m=t.evaluator(l,c);return k([m],([I])=>{let g=I;if(g==null)return null;let E=Ae(g),T=g.filter(h=>h.score>=r).length;return n({scores:g,meanScore:E,passCount:T,total:g.length,threshold:r})},{name:`${e}/output`})},{name:e});return A(o,s=>s!=null)}}var N=["auto-fix","needs-decision","investigation","backlog"];function P(t,e){return`${t}\u2192${e}`}function W(t){let e=t.detail.toLowerCase();return e.includes("parse")||e.includes("json")||e.includes("config")||e.includes("validation")||e.includes("syntax")?"self-correctable":"structural"}var z={critical:100,high:70,medium:40,low:10},X=Math.LN2/(168*3600),Z={"auto-fix":{gated:!1},"needs-decision":{gated:!0},investigation:{gated:!0},backlog:{gated:!1,startOpen:!1}};function ee(){let t=de({name:"strategy-entries"}),e=k([t.entries],([i])=>{let o=i;return new Map(o)},{name:"strategy-model",equals:(i,o)=>{let s=i,u=o;if(s.size!==u.size)return!1;for(let[f,l]of s){let c=u.get(f);if(!c||l.attempts!==c.attempts||l.successes!==c.successes)return!1}return!0}});function r(i,o,s){let u=P(i,o),f=t.get(u),l=(f?.attempts??0)+1,c=(f?.successes??0)+(s?1:0);t.set(u,{rootCause:i,intervention:o,attempts:l,successes:c,successRate:c/l})}function n(i,o){return t.get(P(i,o))}let a=e.subscribe(()=>{});function d(){a()}return{node:e,record:r,lookup:n,dispose:d}}function Ge(t,e,r,n,a){let d={...z,...a?.severityWeights},i=a?.decayRate??X,o=a?.effectivenessThreshold??.7,s=a?.effectivenessBoost??15,u=[t,e,r];return n&&u.push(n),k(u,f=>{let l=f[0],c=f[1],m=f[2],I=n?f[3]:0,g=d[l.severity??"medium"],E=(L()-m)/1e9,T=pe(g,E,i,0),h=P(l.rootCause,l.intervention),S=c.get(h);return S&&S.successRate>=o&&(T+=s),T+=I*20,T},{name:"priority-score"})}var Me=`You are a triage classifier for a reactive collaboration harness.
|
|
2
|
+
|
|
3
|
+
Given an intake item, classify it and output JSON:
|
|
4
|
+
{
|
|
5
|
+
"rootCause": "composition" | "missing-fn" | "bad-docs" | "schema-gap" | "regression" | "unknown",
|
|
6
|
+
"intervention": "template" | "catalog-fn" | "docs" | "wrapper" | "schema-change" | "investigate",
|
|
7
|
+
"route": "auto-fix" | "needs-decision" | "investigation" | "backlog",
|
|
8
|
+
"priority": <number 0-100>,
|
|
9
|
+
"triageReasoning": "<one sentence>"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
Strategy model (past effectiveness):
|
|
13
|
+
{{strategy}}
|
|
14
|
+
|
|
15
|
+
Intake item:
|
|
16
|
+
{{item}}`,Pe=`You are an implementation agent.
|
|
17
|
+
|
|
18
|
+
Given a triaged issue with root cause and intervention type, produce a fix.
|
|
19
|
+
|
|
20
|
+
Issue:
|
|
21
|
+
{{item}}
|
|
22
|
+
|
|
23
|
+
Output JSON:
|
|
24
|
+
{
|
|
25
|
+
"outcome": "success" | "failure" | "partial",
|
|
26
|
+
"detail": "<description of what was done or what failed>"
|
|
27
|
+
}`,je=`You are a QA reviewer.
|
|
28
|
+
|
|
29
|
+
Given an execution result, verify whether the fix is correct.
|
|
30
|
+
|
|
31
|
+
Execution:
|
|
32
|
+
{{execution}}
|
|
33
|
+
|
|
34
|
+
Original issue:
|
|
35
|
+
{{item}}
|
|
36
|
+
|
|
37
|
+
Output JSON:
|
|
38
|
+
{
|
|
39
|
+
"verified": true/false,
|
|
40
|
+
"findings": ["<finding1>", ...],
|
|
41
|
+
"errorClass": "self-correctable" | "structural" // only if verified=false
|
|
42
|
+
}`;function ge(t,e){let r=e??(n=>Pe.replace("{{item}}",JSON.stringify(n)));return n=>Q(t,[n],r,{name:"execute",format:"json",retries:1})}function ye(t,e){let r=e??(n=>{let[a,d]=n;return je.replace("{{execution}}",JSON.stringify(a)).replace("{{item}}",JSON.stringify(d))});return n=>Q(t,[n],r,{name:"verify",format:"json",retries:1})}var U=class extends Y{intake;queues;gates;strategy;verifyResults;totalRetries;totalReingestions;constructor(e,r,n,a,d,i,o,s){super(e),this.intake=r,this.queues=n,this.gates=a,this.strategy=d,this.verifyResults=i,this.totalRetries=o,this.totalReingestions=s}};function Fe(t,e){let r=e.adapter,n=e.maxRetries??2,a=e.retainedLimit??1e3,d=e.errorClassifier??W,i=new Map;for(let p of N)i.set(p,{...Z[p],...e.queues?.[p]});let o=new M("intake",{retainedLimit:a}),s=ee(),u=G(o.latest,s.node),f=Q(r,[u],e.triagePrompt??(p=>{let[x,R]=p;return x?Me.replace("{{strategy}}",JSON.stringify(Array.from(R.entries()))).replace("{{item}}",JSON.stringify(x)):""}),{name:"triage",format:"json",retries:1}),l=new Map;for(let p of N)l.set(p,new M(`queue/${p}`,{retainedLimit:a}));let c=G(f,u),I=C([c],([p])=>{if(p==null)return;let[x,R]=p;if(!x?.route)return;let _=R?.[0],w={...x,..._},D=l.get(w.route);D&&D.publish(w)}).subscribe(()=>{}),g=new Y("gates"),E=new Map;for(let p of N){let x=i.get(p),R=l.get(p);if(x.gated){g.add(R.latest,{name:`${p}/source`});let _=fe(g,`${p}/gate`,`${p}/source`,{maxPending:x.maxPending,startOpen:x.startOpen});E.set(p,_)}}let T=new M("retry-input",{retainedLimit:a}),h=[];for(let p of N)i.get(p).gated&&E.has(p)?h.push(E.get(p).node):h.push(l.get(p).latest);h.push(T.latest);let S=ce(...h),te=(e.executor??ge(r,e.executePrompt))(S),re=G(te,S),F=new M("verify-results",{retainedLimit:a}),ne=(e.verifier??ye(r,e.verifyPrompt))(re),xe=G(ne,re),oe=e.maxReingestions??1,Ee=Math.min(e.maxTotalRetries??n*10,100),Te=Math.min(e.maxTotalReingestions??oe*10,100),se=b(0),ae=b(0),he=ie([xe],(p,x)=>{let R=p[0];if(R==null||R.length===0)return;let _=R[R.length-1];if(_==null)return;let[w,D]=_,[B,y]=D??[null,null];if(!w||!y)return;let Re={item:y,outcome:B?.outcome??"failure",detail:B?.detail??"unknown",artifact:B?.artifact},O={item:y,execution:Re,verified:w.verified,findings:w.findings??[],errorClass:w.errorClass};if(O.verified){s.record(y.rootCause,y.intervention,!0),F.publish(O);return}let ke=O.errorClass??d({item:y,outcome:"failure",detail:O.findings.join("; ")}),q=y._retries??0;if(ke==="self-correctable"&&q<n&&J(se,Ee)){let V=K(y),H={...y,_retries:q+1,summary:`[RETRY ${q+1}/${n}] ${V} \u2014 Previous attempt failed: ${O.findings.join("; ")}`,relatedTo:[V]};T.publish(H)}else{s.record(y.rootCause,y.intervention,!1),F.publish(O);let V=K(y),H=y._reingestions??0;H<oe&&J(ae,Te)&&o.publish({source:"eval",summary:`Verification failed for: ${V}`,evidence:O.findings.join(`
|
|
43
|
+
`),affectsAreas:y.affectsAreas,affectsEvalTasks:y.affectsEvalTasks,severity:"high",relatedTo:[V],_reingestions:H+1})}}).subscribe(()=>{}),v=new U(t,o,l,E,s,F,se,ae);v.addDisposer(I),v.addDisposer(he),v.addDisposer(s.dispose),v.add(f,{name:"triage"}),v.add(te,{name:"execute"}),v.add(ne,{name:"verify"}),v.add(s.node,{name:"strategy"}),v.mount("intake",o);for(let[p,x]of l)v.mount(`queue/${p}`,x);return v.mount("gates",g),v.mount("retry-input",T),v.mount("verify-results",F),v}function De(t,e){let r=le(t,e),n={};for(let[a,d]of t.queues)n[a]=d.retained().length;return{...r,queueDepths:n,strategyEntries:t.strategy.node.cache?.size??0,totalRetries:t.totalRetries.cache??0,totalReingestions:t.totalReingestions.cache??0}}function He(t){let{best:e,score:r,status:n}=t,a=Number.isFinite(r)?r.toFixed(3):String(r);return n==="converged"?{outcome:"success",detail:`refineLoop converged at score ${a}`,artifact:e}:n==="budget"?{outcome:"partial",detail:`refineLoop hit budget at score ${a}`,artifact:e}:{outcome:"failure",detail:`refineLoop errored (status=${n})`,artifact:e}}function Qe(t){let e=t.name??"refine-executor",r=t.toOutput??He;return n=>{let a=A(n,i=>i!=null),d=$(a,i=>{let o=me(t.seedFrom(i),t.evaluator,t.strategy,{...t.refine,dataset:t.datasetFor(i),name:`${e}/inner`});return k([o.status,o.best,o.score],([s,u,f])=>{let l=s;return l!=="converged"&&l!=="budget"&&l!=="errored"?null:r({best:u,score:f,status:l})},{name:`${e}/output`})},{name:e});return A(d,i=>i!=null)}}function Ue(t){let e={"intake::latest":"INTAKE",triage:"TRIAGE",execute:"EXECUTE","verify-results::latest":"VERIFY",strategy:"STRATEGY"};for(let r of N)e[`queue/${r}::latest`]="QUEUE";for(let[r]of t.gates)e[`gates::${r}/gate`]="GATE";return e}function Be(t,e){let r=e?.logger===null?null:e?.logger??console.log,n=e?.detail??"summary",a=L(),d=[],i=[],o=Ue(t);function s(){return(L()-a)/1e9}function u(f,l,c){let m={elapsed:s(),stage:f,type:l};n!=="summary"&&(m.summary=qe(c)),n==="full"&&(m.data=c),i.push(m)}for(let[f,l]of Object.entries(o))try{let c=t.observe(f,{format:"stage-log",stageLabels:o,logger:r?m=>r(m):()=>{},includeTypes:["data","error","complete"]});c.onEvent(m=>{m.type==="data"?u(l,"data",m.data):m.type==="error"?u(l,"error",m.data):m.type==="complete"&&u(l,"complete",void 0)}),d.push(c)}catch(c){let m=c instanceof Error?c.message:String(c);u(l,"error",`observe-unavailable: ${f} \u2014 ${m}`),r&&r(`[${s().toFixed(3)}s] ${l.padEnd(9)} \u2717 observe-unavailable: ${m}`)}return{get events(){return i},dispose(){for(let f of d)f.dispose();d.length=0}}}function qe(t){if(t==null)return"null";if(typeof t=="string")return ve(t,80);if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return String(t);try{let e=JSON.stringify(t);return ve(e,120)}catch{return String(t)}}function ve(t,e){return t.length>e?`${t.slice(0,e-1)}\u2026`:t}export{be as a,Ne as b,Se as c,we as d,Oe as e,Ce as f,_e as g,Le as h,N as i,P as j,W as k,z as l,X as m,Z as n,ee as o,Ge as p,ge as q,ye as r,U as s,Fe as t,De as u,Qe as v,Be as w,Ye as x};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var F=Object.create;var p=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var C=(a,b)=>(b=Symbol[a])?b:Symbol.for("Symbol."+a),o=a=>{throw TypeError(a)};var H=(a,b,c)=>b in a?p(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c;var z=(a,b)=>p(a,"name",{value:b,configurable:!0}),M=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var N=(a,b)=>{for(var c in b)p(a,c,{get:b[c],enumerable:!0})};var O=a=>[,,,F(a?.[C("metadata")]??null)],D=["class","method","getter","setter","accessor","field","value","get","set"],n=a=>a!==void 0&&typeof a!="function"?o("Function expected"):a,I=(a,b,c,i,e)=>({kind:D[a],name:b,metadata:i,addInitializer:f=>c._?o("Already initialized"):e.push(n(f||null))}),J=(a,b)=>H(b,C("metadata"),a[3]),P=(a,b,c,i)=>{for(var e=0,f=a[b>>1],l=f&&f.length;e<l;e++)b&1?f[e].call(c):i=f[e].call(c,i);return i},Q=(a,b,c,i,e,f)=>{var l,h,w,m,q,d=b&7,r=!!(b&8),k=!!(b&16),s=d>3?a.length+1:d?r?1:2:0,x=D[d+5],y=d>3&&(a[s-1]=[]),E=a[s]||(a[s]=[]),j=d&&(!k&&!r&&(e=e.prototype),d<5&&(d>3||!k)&&G(d<4?e:{get[c](){return A(this,f)},set[c](g){return B(this,f,g)}},c));d?k&&d<4&&z(f,(d>2?"set ":d>1?"get ":"")+c):z(e,c);for(var t=i.length-1;t>=0;t--)m=I(d,c,w={},a[3],E),d&&(m.static=r,m.private=k,q=m.access={has:k?g=>K(e,g):g=>c in g},d^3&&(q.get=k?g=>(d^1?A:L)(g,e,d^4?f:j.get):g=>g[c]),d>2&&(q.set=k?(g,u)=>B(g,e,u,d^4?f:j.set):(g,u)=>g[c]=u)),h=(0,i[t])(d?d<4?k?f:j[x]:d>4?void 0:{get:j.get,set:j.set}:e,m),w._=1,d^4||h===void 0?n(h)&&(d>4?y.unshift(h):d?k?f=h:j[x]=h:e=h):typeof h!="object"||h===null?o("Object expected"):(n(l=h.get)&&(j.get=l),n(l=h.set)&&(j.set=l),n(l=h.init)&&y.unshift(l));return d||J(a,e),j&&p(e,c,j),k?d^4?f:j:e};var v=(a,b,c)=>b.has(a)||o("Cannot "+c),K=(a,b)=>Object(b)!==b?o('Cannot use the "in" operator on this value'):a.has(b),A=(a,b,c)=>(v(a,b,"read from private field"),c?c.call(a):b.get(a));var B=(a,b,c,i)=>(v(a,b,"write to private field"),i?i.call(a,c):b.set(a,c),c),L=(a,b,c)=>(v(a,b,"access private method"),c);export{M as a,N as b,O as c,P as d,Q as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as H,b as T}from"./chunk-4JJCCD5S.js";import{k as q}from"./chunk-MGKAO4EK.js";import{a as O,b as j}from"./chunk-TWMEGG45.js";import{E as d,G as o,H as x,m as A}from"./chunk-W4TSQ6RJ.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as b,m as h}from"./chunk-W4TSQ6RJ.js";import{b as p,c as l}from"./chunk-CK2E7BTU.js";var u=class{_version=0;_buf;constructor(e){this._buf=e?[...e]:[]}get version(){return this._version}get size(){return this._buf.length}at(e){if(!Number.isInteger(e))return;let n=e>=0?e:this._buf.length+e;if(!(n<0||n>=this._buf.length))return this._buf[n]}append(e){this._buf.push(e),this._version+=1}appendMany(e){if(e.length===0)return;let n=this._buf.length;this._buf.length=n+e.length;for(let i=0;i<e.length;i++)this._buf[n+i]=e[i];this._version+=1}insert(e,n){if(!Number.isInteger(e)||e<0||e>this._buf.length)throw new RangeError(`insert: index ${e} out of range [0, ${this._buf.length}]`);this._buf.splice(e,0,n),this._version+=1}insertMany(e,n){if(!Number.isInteger(e)||e<0||e>this._buf.length)throw new RangeError(`insertMany: index ${e} out of range [0, ${this._buf.length}]`);n.length!==0&&(this._buf.splice(e,0,...n),this._version+=1)}pop(e){if(this._buf.length===0)throw new RangeError("pop from empty list");if(!Number.isInteger(e))throw new RangeError(`pop: index ${e} must be an integer`);let n=e>=0?e:this._buf.length+e;if(n<0||n>=this._buf.length)throw new RangeError(`pop: index ${e} out of range`);let[i]=this._buf.splice(n,1);return this._version+=1,i}clear(){let e=this._buf.length;return e===0?0:(this._buf.length=0,this._version+=1,e)}toArray(){return[...this._buf]}};function y(d,e={}){let{name:n,versioning:i,backend:f}=e,t=f??new u(d),a=b(t.toArray(),{name:n,describeKind:"state",equals:(r,o)=>r===o,...i!=null?{versioning:i}:{}});function v(){let r=t.toArray();h(()=>{a.down([[l]]),a.down([[p,r]])})}function s(r){let o=t.version;try{return r()}finally{t.version!==o&&v()}}return{items:a,get size(){return t.size},at(r){return t.at(r)},append(r){s(()=>t.append(r))},appendMany(r){s(()=>t.appendMany(r))},insert(r,o){s(()=>t.insert(r,o))},insertMany(r,o){s(()=>t.insertMany(r,o))},pop(r=-1){return s(()=>t.pop(r))},clear(){s(()=>t.clear())},dispose(){}}}export{u as a,y as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as l,v as o}from"./chunk-W4TSQ6RJ.js";function h(t,e){if(e!=null&&e.length>0)return new Set(e);switch(t){case"standard":return new Set(["type","status","value","deps","meta","v"]);case"full":return null;default:return new Set(["type","deps"])}}function m(t){return t._describeKind!=null?t._describeKind:t._deps.length>0?"derived":t._fn!=null?"producer":"state"}function g(t){let e={};for(let[r,a]of Object.entries(t.meta))try{e[r]=a.cache}catch{}return e}function y(t,e){let r=e==null,a=!r&&e!=null?[...e].filter(n=>n.startsWith("meta.")).map(n=>n.slice(5)):null,d=r||e.has("meta")||a!=null&&a.length>0,c="state",p=[];t instanceof l&&(c=m(t),p=t._deps.map(n=>n.node.name??""));let s={type:c,deps:p};(r||e.has("status"))&&(s.status=t.status);let i=t instanceof l?t._guard:void 0;if(d){let n={...g(t)};if(i!=null&&n.access===void 0&&(n.access=o(i)),a!=null&&a.length>0&&!e.has("meta")){let f={};for(let u of a)u in n&&(f[u]=n[u]);s.meta=f}else s.meta=n}if(t.name!=null&&(s.name=t.name),r||e.has("value")){t.status==="sentinel"&&(s.sentinel=!0);try{s.value=t.cache}catch{}}if((r||e.has("v"))&&t.v!=null){let n={id:t.v.id,version:t.v.version};"cid"in t.v&&(n.cid=t.v.cid,n.prev=t.v.prev),s.v=n}return(r||e.has("guard"))&&i!=null&&(s.guard=o(i)),(r||e.has("lastMutation"))&&t.lastMutation!=null&&(s.lastMutation=t.lastMutation),s}export{h as a,y as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as $}from"./chunk-Y53B6NS4.js";import{c as O}from"./chunk-5Z4HDCO6.js";import{a as C}from"./chunk-GNCBXARM.js";import{k as A}from"./chunk-MGKAO4EK.js";import{A as R}from"./chunk-KASHOCF5.js";import{b as x}from"./chunk-AUY2YKCO.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-W4TSQ6RJ.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};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{a as an}from"./chunk-GJR3P6JG.js";import{a as Qt,b as Jt}from"./chunk-LVGBLZM2.js";import{a as $e,b as we,c as _e,d as Qe,e as Je,f as Ye,g as Ge,h as Xe,i as Se,j as Ze,k as er,l as rr}from"./chunk-OL33ZI6R.js";import{a as en,b as rn}from"./chunk-ISCENNXS.js";import{a as wr,b as tt}from"./chunk-5QDBSZBV.js";import{a as tr}from"./chunk-MGKAO4EK.js";import{a as Ve}from"./chunk-ESMPEKEV.js";import{a as tn,b as nn,c as on,d as sn}from"./chunk-I6VIH3VA.js";import{A as Nt,B as Ot,C as Rt,D as Mt,E as Pt,G as Ct,H as Lt,I as At,J as Bt,K as It,L as Ft,M as Wt,N as zt,O as Ht,P as Ut,Q as Kt,R as jt,S as Dt,T as qt,U as Vt,a as xe,b as Ie,c as st,d as it,e as at,f as ct,g as ut,h as dt,i as Fe,j as lt,k as pt,l as ft,m as mt,n as gt,o as Tt,p as yt,q as kt,r as We,s as bt,t as ht,u as vt,v as ge,w as wt,x as St,y as xt,z as Et}from"./chunk-5JDE5JHE.js";import{a as ne,b as ve,c as Er,d as Nr,e as Or,f as Rr,g as Mr,h as Pr,i as Be}from"./chunk-4VVTGLXJ.js";import{A as et,B as rt,a as Sr,b as xr,c as Cr,d as Lr,e as Ar,f as oe,g as Br,h as Ir,i as Fr,j as Wr,k as zr,l as Hr,m as Ur,n as Kr,o as jr,p as Dr,q as qr,r as Vr,s as $r,t as _r,u as Qr,v as Jr,w as Yr,x as Gr,y as Xr,z as Zr}from"./chunk-KASHOCF5.js";import{a as Yt,b as Gt}from"./chunk-567NWZ3T.js";import{a as Xt,b as Zt}from"./chunk-SLMYTGTU.js";import{a as $t,b as _t}from"./chunk-2GQREQ6C.js";import{a as nt,b as ot}from"./chunk-AUY2YKCO.js";import{A as G,D as re,E as B,F as W,H as he,m as j,p as V}from"./chunk-W4TSQ6RJ.js";import{b as x,c as Me,d as Pe,e as Ce,f as Le,g as Ae,h as q,i as C,j as E}from"./chunk-CK2E7BTU.js";import{b as vr}from"./chunk-QYADASLV.js";var lo={};vr(lo,{CircuitOpenError:()=>_e,NS_PER_MS:()=>ne,NS_PER_SEC:()=>ve,NativeIndexBackend:()=>Yt,NativeListBackend:()=>Xt,NativeLogBackend:()=>nt,NativeMapBackend:()=>$t,NativePubSubBackend:()=>Ee,RateLimiterOverflowError:()=>Ge,ResettableTimer:()=>Ve,TimeoutError:()=>Ze,audit:()=>Pt,awaitSettled:()=>Xr,buffer:()=>Ct,bufferCount:()=>Lt,bufferTime:()=>Bt,cached:()=>Jr,cascadingCache:()=>oo,catchError:()=>Vt,checkpointToRedis:()=>Gn,checkpointToS3:()=>Yn,circuitBreaker:()=>Qe,combine:()=>yt,combineLatest:()=>jt,concat:()=>ht,concatMap:()=>St,constant:()=>Er,createTransport:()=>ie,createWatermarkController:()=>tt,csvRows:()=>An,debounce:()=>Ot,debounceTime:()=>Dt,decorrelatedJitter:()=>Mr,delay:()=>Nt,deserializeError:()=>pe,dictStorage:()=>sn,distill:()=>Jt,distinctUntilChanged:()=>gt,elementAt:()=>ft,empty:()=>jr,escapeRegexChar:()=>Cr,exhaustMap:()=>wt,exponential:()=>Or,externalBundle:()=>ze,externalProducer:()=>ae,fallback:()=>er,fibonacci:()=>Rr,filter:()=>Ie,find:()=>pt,first:()=>Fe,firstValueFrom:()=>Yr,firstWhere:()=>Gr,flatMap:()=>Et,forEach:()=>Vr,fromAny:()=>Ur,fromAsyncIter:()=>Hr,fromCSV:()=>Ln,fromClickHouseWatch:()=>Fn,fromCron:()=>Ir,fromDrizzle:()=>to,fromEvent:()=>Fr,fromHTTP:()=>sr,fromHTTPPoll:()=>Tn,fromHTTPStream:()=>gn,fromIter:()=>Wr,fromKafka:()=>Rn,fromKysely:()=>no,fromMCP:()=>bn,fromNATS:()=>Hn,fromNDJSON:()=>In,fromOTel:()=>hn,fromPrisma:()=>ro,fromPrometheus:()=>Nn,fromPromise:()=>zr,fromPulsar:()=>Wn,fromRabbitMQ:()=>Kn,fromRaf:()=>Br,fromRedisStream:()=>Pn,fromSSE:()=>mn,fromSqlite:()=>Xn,fromSqliteCursor:()=>Zn,fromStatsD:()=>Sn,fromSyslog:()=>vn,fromTimer:()=>oe,fromWebSocket:()=>or,fromWebSocketReconnect:()=>kn,fromWebhook:()=>un,globToRegExp:()=>Lr,interval:()=>Wt,keepalive:()=>et,last:()=>lt,linear:()=>Nr,lru:()=>lr,map:()=>xe,matchesAnyPattern:()=>Ar,matchesCron:()=>xr,memoryStorage:()=>on,merge:()=>We,mergeMap:()=>xt,nameToSignal:()=>de,ndjsonRows:()=>Bn,never:()=>Dr,of:()=>Kr,pairwise:()=>Tt,parseCron:()=>Sr,parsePrometheusText:()=>cr,parseStatsD:()=>En,parseSyslog:()=>wn,pausable:()=>Ht,pubsub:()=>so,race:()=>vt,rateLimiter:()=>Xe,reactiveCounter:()=>rt,reactiveIndex:()=>Gt,reactiveList:()=>Zt,reactiveLog:()=>ot,reactiveMap:()=>_t,reactiveSink:()=>U,reduce:()=>it,repeat:()=>zt,replay:()=>Qr,rescue:()=>Ut,resolveBackoffPreset:()=>Be,retry:()=>$e,retrySource:()=>we,sample:()=>Mt,scan:()=>st,serializeError:()=>le,share:()=>_r,shareReplay:()=>Zr,signalToName:()=>se,singleFromAny:()=>en,singleNodeFromAny:()=>rn,skip:()=>ct,sortJsonValue:()=>tn,stableJsonString:()=>nn,stratify:()=>an,switchMap:()=>ge,take:()=>at,takeUntil:()=>dt,takeWhile:()=>ut,tap:()=>mt,throttle:()=>Rt,throttleTime:()=>qt,throwError:()=>qr,timeout:()=>rr,toArray:()=>$r,toCSV:()=>Dn,toClickHouse:()=>qn,toFile:()=>dr,toHTTP:()=>dn,toKafka:()=>Mn,toLoki:()=>Qn,toMongo:()=>_n,toNATS:()=>Un,toObservable:()=>wr,toPostgres:()=>$n,toPulsar:()=>zn,toRabbitMQ:()=>jn,toReadableStream:()=>fn,toRedisStream:()=>Cn,toS3:()=>Vn,toSSE:()=>ln,toSSEBytes:()=>pn,toSqlite:()=>eo,toTempo:()=>Jn,toWebSocket:()=>yn,tokenBucket:()=>Ye,valve:()=>Kt,verifiable:()=>Qt,window:()=>Ft,windowCount:()=>At,windowTime:()=>It,withBreaker:()=>Je,withLatestFrom:()=>kt,withMaxAttempts:()=>Pr,withStatus:()=>Se,workerBridge:()=>fr,workerSelf:()=>mr,zip:()=>bt});function nr(e){return{describeKind:"producer",...e}}function ae(e,t){return W(n=>{let a=!0,c={emit(o){a&&n.emit(o)},error(o){a&&(a=!1,n.down([[E,o]]))},complete(){a&&(a=!1,n.down([[C]]))}},r;try{let o=e(c);r=typeof o=="function"?o:void 0}catch(o){return c.error(o),()=>{a=!1}}return()=>{a=!1;try{r?.()}catch{}}},nr(t))}function ze(e,t,n){let a=!0,c,r=0,o=0,s={},d=[],i=()=>{let l=c;c=void 0;try{l?.()}catch{}};for(let l of t){let m=n?.name?`${n.name}::${l}`:l,h=n?.channelOpts?.[l],b=W(g=>(r++,()=>{o++,r>0&&o>=r&&o>=t.length&&i()}),nr({...h,name:m}));s[l]=b,d.push(b)}let f={};for(let l of t)f[l]=m=>{a&&s[l].down([[x,m]])};f.error=l=>{a&&(a=!1,j(()=>{for(let m of d)m.down([[E,l]])}),i())},f.complete=()=>{a&&(a=!1,j(()=>{for(let l of d)l.down([[C]])}),i())};let p=e(f);return c=typeof p=="function"?p:void 0,Object.assign(s,{dispose:()=>{a&&(a=!1,j(()=>{for(let l of d)try{l.down([[C]])}catch{}}),i())}})}var He=class{ring;arr;constructor(t){t===Number.POSITIVE_INFINITY||t<=0?(this.arr=[],this.ring=null):(this.ring=new tr(t),this.arr=null)}get length(){return this.ring!=null?this.ring.size:this.arr.length}push(t){this.ring!=null?this.ring.push(t):this.arr.push(t)}shift(){return this.ring!=null?this.ring.shift():this.arr.shift()}drain(){if(this.ring!=null){let n=this.ring.toArray();return this.ring.clear(),n}let t=this.arr;return this.arr=[],t}};function Te(e){return e instanceof Error?e:new Error(String(e))}function cn(e){return e===void 0?null:typeof e=="string"?Be(e):e}function U(e,t){let{name:n,onTransportError:a,retry:c,backpressure:r,batchSize:o=Number.POSITIVE_INFINITY,flushIntervalMs:s=0,serialize:d,stopOn:i,onUpstreamMessage:f,onDispose:p,send:u,sendBatch:l,ctx:m}=t;if(!u&&!l)throw new Error("reactiveSink: `send` or `sendBatch` must be provided");let h=m,b=Math.max(1,c?.maxAttempts??1),g=cn(c?.backoff??(b>1?"exponential":void 0)),T=c?.shouldRetry??(()=>!0),y=l!==void 0||o<Number.POSITIVE_INFINITY||s>0,k=S=>n?`${n}::${S}`:void 0,v=B(void 0,{equals:()=>!1,name:k("sent")}),w=B(null,{name:k("failed")}),N=B(0,{name:k("inFlight")}),O=B(null,{name:k("errors")}),H=y?B(0,{name:k("buffered")}):void 0,z=r?B(!1,{name:k("paused")}):void 0,J=0,Y=S=>{J+=S,N.down([[x,J]])},R=S=>{try{a?.(S)}catch{}try{O.down([[x,S]])}catch{}},D=new Set,X=S=>{D.add(S);let M=()=>D.delete(S);S.then(M,M)},F=(S,M,L)=>{let I=g?g(M-1,L,null):0,K=I==null?0:typeof I=="number"&&I>0?I:0,_=Math.max(1,Math.ceil(K/1e6));return new Promise(A=>{setTimeout(()=>A(S()),_)})},$=S=>S!=null&&typeof S=="object"&&typeof S.then=="function",Z=S=>{let M;try{M=d?d(S):S}catch(A){let P=Te(A);return R({stage:"serialize",error:P,value:S}),w.down([[x,{value:S,error:P,attempts:0}]]),Promise.resolve()}let L=0,I=A=>{Y(-1);let P=Te(A);if(R({stage:"send",error:P,value:S,attempt:L}),!(L<b&&T(P,L))){w.down([[x,{value:S,error:P,attempts:L}]]);return}return F(_,L,P)},K=()=>{Y(-1),v.down([[x,S]])};function _(){L+=1,Y(1);let A;try{A=u(M,h)}catch(P){return I(P)??Promise.resolve()}return $(A)?A.then(K,P=>I(P)):(K(),Promise.resolve())}return _()},fe=r?.maxBuffer??Number.POSITIVE_INFINITY,te=new He(fe),ee,ye=!1,Ne=()=>{H?.down([[x,te.length]])},ke=S=>{z&&z.down([[x,S]])},Ke=r?.strategy??"drop-oldest",gr=(S,M)=>{let L={value:S,payload:M};if(te.length<fe)return te.push(L),Ne(),!0;if(Ke==="drop-oldest"){let K=te.shift();return te.push(L),Ne(),ke(!0),w.down([[x,{value:K.value,error:new Error("backpressure: buffer overflow \u2014 dropped oldest"),attempts:0}]]),!0}if(Ke==="drop-newest")return ke(!0),w.down([[x,{value:S,error:new Error("backpressure: buffer overflow \u2014 dropped newest"),attempts:0}]]),!1;let I=new Error("backpressure: buffer overflow");return R({stage:"send",error:I,value:S}),w.down([[x,{value:S,error:I,attempts:0}]]),ke(!0),!1},Tr=S=>{let M=0,L=S.map(A=>A.payload),I=A=>{Y(-1);let P=Te(A);if(R({stage:"send",error:P,value:S.map(Re=>Re.value),attempt:M}),!(M<b&&T(P,M))){for(let{value:Re}of S)w.down([[x,{value:Re,error:P,attempts:M}]]);return}return F(_,M,P)},K=()=>{Y(-1);for(let{value:A}of S)v.down([[x,A]])};function _(){M+=1,Y(1);let A;try{A=l(L,h)}catch(P){return I(P)??Promise.resolve()}return $(A)?A.then(K,P=>I(P)):(K(),Promise.resolve())}return _()},yr=async S=>{for(let M of S)await kr(M.value,M.payload)},kr=(S,M)=>{let L=0,I=A=>{Y(-1);let P=Te(A);if(R({stage:"send",error:P,value:S,attempt:L}),!(L<b&&T(P,L))){w.down([[x,{value:S,error:P,attempts:L}]]);return}return F(_,L,P)},K=()=>{Y(-1),v.down([[x,S]])};function _(){L+=1,Y(1);let A;try{A=u(M,h)}catch(P){return I(P)??Promise.resolve()}return $(A)?A.then(K,P=>I(P)):(K(),Promise.resolve())}return _()},me=()=>{if(ye||te.length===0)return Promise.resolve();let S=te.drain();if(Ne(),ke(!1),l!==void 0){let L=Tr(S);return X(L),L}let M=yr(S);return X(M),M},br=()=>{ee!==void 0||ye||s<=0||(ee=setTimeout(()=>{ee=void 0,me()},s))},hr=e.subscribe(S=>{for(let M of S){let L=M[0];if(L!==x)try{f?.(M)}catch{}if(L===x){let I=M[1];if(y){let K;if(d)try{K=d(I)}catch(A){let P=Te(A);R({stage:"serialize",error:P,value:I}),w.down([[x,{value:I,error:P,attempts:0}]]);continue}else K=I;if(!gr(I,K))continue;te.length>=o?me():br()}else{let K=Z(I);X(K)}}else G.messageTier(L)>=3&&y&&(ee!==void 0&&(clearTimeout(ee),ee=void 0),me())}}),je;if(i){let S=!1;je=i.subscribe(M=>{if(!S){S=!0;return}M.length>0&&!Oe&&De()})}let Oe=!1,De=()=>{if(Oe)return;Oe=!0,ee!==void 0&&(clearTimeout(ee),ee=void 0),y&&me(),ye=!0,je?.(),hr();let S=M=>{try{M.down([[q]])}catch{}};S(O),S(w),S(v),S(N),H&&S(H),z&&S(z);try{p?.()}catch{}},be={dispose:De,sent:v,failed:w,inFlight:N,errors:O};return y&&(be.buffered=H,be.flush=async()=>{ye||(await me(),await Promise.all(D))}),z&&(be.paused=z),be}function Q(e){return{describeKind:"producer",...e}}function or(e,t){let{parse:n,closeOnTeardown:a=!1,...c}=t??{};return W(r=>{let o=!0,s,d=()=>{let g=s;s=void 0,g?.()},i=g=>{o&&(o=!1,r.down([g]),d())},f=(g,T=g)=>{if(o)try{let y=g!==null&&typeof g=="object"&&"data"in g?g.data:g,k=n?n(y,T):y;r.emit(k)}catch(y){i([E,y])}},p=g=>{i([E,g])},u=()=>{i([C])};if(typeof e=="function"){try{if(s=e(f,p,u),typeof s!="function")throw new Error("fromWebSocket register contract violation: register must return cleanup callable")}catch(g){i([E,g])}return()=>{o=!1,d()}}let l=e,m=g=>f(g,g),h=g=>p(g),b=()=>u();return l.addEventListener("message",m),l.addEventListener("error",h),l.addEventListener("close",b),s=()=>{l.removeEventListener("message",m),l.removeEventListener("error",h),l.removeEventListener("close",b),a&&l.close()},()=>{o=!1,d()}},Q(c))}function un(e,t){return ae(e,t)}function sr(e,t){let{method:n="GET",headers:a,body:c,transform:r=y=>y.json(),timeoutNs:o=30*1e9,signal:s,completeAfterFetch:d=!1,refetchOnSubscribe:i=!1,...f}=t??{},p=B(0,{name:`${f.name??"http"}/fetchCount`}),u=B(0,{name:`${f.name??"http"}/lastUpdated`}),l=B(!1,{name:`${f.name??"http"}/fetched`}),m=0,h=c!==void 0?typeof c=="string"?c:JSON.stringify(c):void 0,b=y=>{let k=new AbortController,v=!0;if(s?.aborted)return v=!1,y.down([[E,s.reason??new Error("Aborted")]]),()=>{};s?.addEventListener("abort",()=>k.abort(s.reason),{once:!0});let w=setTimeout(()=>k.abort(new Error("Request timeout")),Math.ceil(o/1e6));return fetch(e,{method:n,headers:a,body:h,signal:k.signal}).then(async N=>{if(clearTimeout(w),!v)return;if(!N.ok)throw new Error(`HTTP ${N.status}: ${N.statusText}`);let O=await r(N);v&&(j(()=>{m+=1,p.down([[x,m]]),u.down([[x,V()]]),l.down([[x,!0]]),y.emit(O)}),d&&y.down([[C]]))}).catch(N=>{clearTimeout(w),v&&(N&&N.name==="AbortError"||y.down([[E,N]]))}),()=>{v=!1,k.abort()}},g=W(y=>b({emit:k=>y.emit(k),down:k=>y.down(k)}),{...Q(f),resubscribable:i});return{...Se(g),fetchCount:p,lastUpdated:u,fetched:l}}function dn(e,t,n){let{method:a="POST",headers:c={"Content-Type":"application/json"},serialize:r=m=>JSON.stringify(m),timeoutNs:o,batchFormat:s="json-array",batchSize:d,flushIntervalMs:i,retry:f,onTransportError:p}=n??{},u=async m=>{let h=o!==void 0?new AbortController:void 0,b;h&&o!==void 0&&(b=setTimeout(()=>h.abort(new Error("Request timeout")),Math.ceil(o/1e6)));try{let g=await fetch(t,{method:a,headers:c,body:m,signal:h?.signal}),T=async()=>{try{await g.arrayBuffer?.()}catch{}};if(!g.ok)throw await T(),new Error(`HTTP ${g.status}: ${g.statusText}`);await T()}finally{b!==void 0&&clearTimeout(b)}};return d!==void 0||i!==void 0?U(e,{onTransportError:p,retry:f,batchSize:d,flushIntervalMs:i,sendBatch:async m=>{let h;s==="ndjson"?h=m.map(b=>{let g=r(b);return typeof g=="string"?g:new TextDecoder().decode(g)}).join(`
|
|
2
|
+
`):h=JSON.stringify(m),await u(h)}}):U(e,{onTransportError:p,retry:f,serialize:r,send:async m=>{await u(m)}})}function ir(e){return Symbol.keyFor(e)??e.description??"message"}function ce(e,t){return typeof e=="string"?e:t(e)}function ar(e,t){let n=`event: ${e}
|
|
3
|
+
`;if(t!==void 0){let a=t.split(/\r?\n/);for(let c of a)n+=`data: ${c}
|
|
4
|
+
`}return`${n}
|
|
5
|
+
`}function ln(e,t){let{serialize:n=l=>{if(l instanceof Error)return l.message;try{return JSON.stringify(l)}catch{return String(l)}},dataEvent:a="data",errorEvent:c="error",completeEvent:r="complete",includeResolved:o=!1,includeDirty:s=!1,keepAliveMs:d,signal:i,eventNameResolver:f=ir}=t??{},p=new TextEncoder,u;return new ReadableStream({start(l){let m=!1,h,b=()=>{},g=()=>{m||(m=!0,h!==void 0&&clearInterval(h),i?.removeEventListener("abort",y),b(),l.close())};u=g;let T=(k,v)=>{m||l.enqueue(p.encode(ar(k,v)))},y=()=>{m||g()};b=e.subscribe(k=>{for(let v of k){let w=v[0];if(!(G.isLocalOnly(w)&&!(w===Me&&s))){if(w===x){T(a,ce(v[1],n));continue}if(w===E){T(c,ce(v[1],n)),g();return}if(w===C){T(r),g();return}!o&&w===Pe||T(f(w),v.length>1?ce(v[1],n):void 0)}}}),d!==void 0&&d>0&&(h=setInterval(()=>{m||l.enqueue(p.encode(`: keepalive
|
|
6
|
+
|
|
7
|
+
`))},d)),i?.aborted?y():i?.addEventListener("abort",y,{once:!0})},cancel(){u?.()}})}function pn(e,t){let{serialize:n=u=>{if(u instanceof Error)return u.message;try{return JSON.stringify(u)}catch{return String(u)}},dataEvent:a="data",errorEvent:c="error",completeEvent:r="complete",includeResolved:o=!1,includeDirty:s=!1,keepAliveMs:d,signal:i,eventNameResolver:f=ir}=t??{},p=new TextEncoder;return W(u=>{let l=!0,m,h=(T,y)=>{l&&u.emit(p.encode(ar(T,y)))},b=()=>{l&&(l=!1,u.down([[C]]))},g=e.subscribe(T=>{if(l)for(let y of T){let k=y[0];if(!(G.isLocalOnly(k)&&!(k===Me&&s))){if(k===x){h(a,ce(y[1],n));continue}if(k===E){h(c,ce(y[1],n)),l=!1,u.down([[C]]);return}if(k===C){h(r),l=!1,u.down([[C]]);return}!o&&k===Pe||h(f(k),y.length>1?ce(y[1],n):void 0)}}});return d!==void 0&&d>0&&(m=setInterval(()=>{l&&u.emit(p.encode(`: keepalive
|
|
8
|
+
|
|
9
|
+
`))},d)),i?.aborted?b():i?.addEventListener("abort",b,{once:!0}),()=>{l=!1,m!==void 0&&clearInterval(m),i?.removeEventListener("abort",b),g()}})}function fn(e){let t,n=!1;return new ReadableStream({start(a){t=e.subscribe(c=>{for(let r of c){let o=r[0];if(n)return;if(o===x)try{a.enqueue(r[1])}catch{n=!0,t?.()}else if(o===E){n=!0;try{a.error(r[1])}catch{}return}else if(o===C){n=!0;try{a.close()}catch{}return}}})},cancel(){n=!0,t?.()}})}function mn(e,t){let{parse:n=c=>c,...a}=t??{};return W(c=>{let r=!0,o=new TextDecoder,s="",d="message",i=[],f,p,u=()=>{if(i.length===0&&d==="message"&&f===void 0){i=[];return}let T=i.join(`
|
|
10
|
+
`);c.emit({event:d,data:n(T),id:f,retry:p}),d="message",i=[],f=void 0,p=void 0},l=T=>{if(T===""){u();return}if(T.startsWith(":"))return;let y=T.indexOf(":"),k=y<0?T:T.slice(0,y),v=y<0?"":T.slice(y+1);switch(v.startsWith(" ")&&(v=v.slice(1)),k){case"event":d=v;break;case"data":i.push(v);break;case"id":v.includes("\0")||(f=v);break;case"retry":{let w=Number(v);Number.isFinite(w)&&(p=w);break}}},m=(T,y)=>{if(!r)return;s+=o.decode(T,{stream:!y});let k=s.split(/\r?\n/);s=k.pop()??"";for(let v of k)l(v)},h,b;return(async()=>{try{let T=e,y=e instanceof ReadableStream?e:T&&typeof T=="object"&&T.body instanceof ReadableStream?T.body:null;if(y){for(h=y.getReader();r;){let{value:k,done:v}=await h.read();if(v)break;m(k,!1)}m(new Uint8Array,!0)}else{for(b=e[Symbol.asyncIterator]();r;){let v=await b.next();if(v.done)break;m(v.value,!1)}m(new Uint8Array,!0)}if(s.trim()){for(let k of s.split(/\r?\n/))l(k);u()}r&&c.down([[C]])}catch(T){r&&c.down([[E,T]])}})(),()=>{r=!1,h&&h.cancel().catch(()=>{}),b&&typeof b.return=="function"&&Promise.resolve(b.return()).catch(()=>{})}},Q(a))}function gn(e,t){let{method:n="GET",headers:a,body:c,signal:r,...o}=t??{};return W(s=>{let d=!0,i=new AbortController;if(r?.aborted)return s.down([[E,r.reason??new Error("Aborted")]]),()=>{};r?.addEventListener("abort",()=>i.abort(r.reason),{once:!0});let f=c!==void 0?typeof c=="string"?c:JSON.stringify(c):void 0;return(async()=>{try{let u=await fetch(e,{method:n,headers:a,body:f,signal:i.signal});if(!d)return;if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);if(!u.body)throw new Error("HTTP response has no body");let l=u.body.getReader();for(;d;){let{value:m,done:h}=await l.read();if(h)break;m&&s.emit(m)}d&&s.down([[C]])}catch(u){if(!d||u&&u.name==="AbortError")return;s.down([[E,u]])}})(),()=>{d=!1,i.abort()}},Q(o))}function Tn(e,t){let{intervalMs:n=5e3,...a}=t??{};return ge(oe(n,{period:n}),()=>sr(e,{...a,completeAfterFetch:!0}).node)}function yn(e,t,n){let{serialize:a=g=>{if(typeof g=="string"||g instanceof Blob||g instanceof ArrayBuffer||ArrayBuffer.isView(g))return g;try{return JSON.stringify(g)}catch{return String(g)}},closeOnComplete:c=!0,closeOnError:r=!0,closeCode:o,closeReason:s,onTransportError:d,retry:i,backpressure:f,stopOn:p}=n??{},u=!1,l=g=>{if(!u){u=!0;try{t.close(o,s)}catch(T){let y=T instanceof Error?T:new Error(String(T));try{d?.({stage:"close",error:y,value:void 0,message:g})}catch{}}}},m=null,b=U(e,{onTransportError:d,serialize:g=>{let T=a(g);if(T===void 0)throw new Error("serialize returned undefined");return T},retry:i,backpressure:f,stopOn:p,onDispose:()=>{if(m){try{t.removeEventListener("close",m)}catch{}m=null}},send:g=>{t.send(g)},onUpstreamMessage:g=>{(g[0]===C&&c||g[0]===E&&r)&&l(g)}});return m=()=>{u=!0,b.dispose()},t.addEventListener("close",m),b}function kn(e,t){let{parse:n,maxRetries:a,backoff:c="exponential",closeOnTeardown:r=!0,...o}=t??{};return we(()=>or(e(),{parse:n,closeOnTeardown:r,...o}),{count:a,backoff:c})}function bn(e,t){let{method:n="notifications/message",onDisconnect:a,...c}=t??{};return ae(({emit:r,error:o})=>(e.setNotificationHandler(n,s=>r(s)),a?.(s=>o(s??new Error("MCP client disconnected"))),()=>e.setNotificationHandler(n,()=>{})),c)}function hn(e,t){return ze(({traces:a,metrics:c,logs:r,error:o})=>e({onTraces:s=>{j(()=>{for(let d of s)a(d)})},onMetrics:s=>{j(()=>{for(let d of s)c(d)})},onLogs:s=>{j(()=>{for(let d of s)r(d)})},onError:o})??void 0,["traces","metrics","logs"],t?.name?{name:t.name}:void 0)}function vn(e,t){return ae(e,t)}function wn(e){let t=e.match(/^<(\d{1,3})>\d?\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*(.*)/s);if(!t){let a=V();return{facility:1,severity:6,timestamp:new Date(Math.floor(a/1e6)).toISOString(),hostname:"-",appName:"-",procId:"-",msgId:"-",message:e.trim(),timestampNs:a}}let n=Number(t[1]);return{facility:n>>3,severity:n&7,timestamp:t[2],hostname:t[3],appName:t[4],procId:t[5],msgId:t[6],message:(t[7]??"").trim(),timestampNs:V()}}function Sn(e,t){return ae(e,t)}var xn={c:"counter",g:"gauge",ms:"timer",h:"histogram",s:"set",d:"distribution"};function En(e){let t=e.split("|"),[n,a]=(t[0]??"").split(":");if(!n||a===void 0)throw new Error(`Invalid StatsD line: ${e}`);let c=t[1]?.trim()??"c",r=xn[c]??"counter",o=r==="set"?0:Number(a),s,d={};for(let i=2;i<t.length;i++){let f=t[i].trim();if(f.startsWith("@"))s=Number(f.slice(1));else if(f.startsWith("#"))for(let p of f.slice(1).split(",")){let[u,l]=p.split(":");u&&(d[u]=l??"")}}return{name:n.trim(),value:o,type:r,sampleRate:s,tags:d,timestampNs:V()}}function Nn(e,t){let{intervalNs:n=15*1e9,headers:a,timeoutNs:c=10*1e9,signal:r,maxConsecutiveErrors:o=1}=t??{},s=Math.ceil(n/1e6),d=0;return ge(oe(0,{period:s,signal:r}),()=>W(i=>{let f=!0,p=new AbortController,u=setTimeout(()=>p.abort(new Error("Scrape timeout")),Math.ceil(c/1e6));return(async()=>{try{let m=await fetch(e,{headers:{Accept:"text/plain",...a},signal:p.signal});if(clearTimeout(u),!f)return;if(!m.ok)throw new Error(`Prometheus scrape ${m.status}: ${m.statusText}`);let h=await m.text();if(!f)return;let b=cr(h);for(let g of b)i.emit(g);d=0,i.down([[C]])}catch(m){if(clearTimeout(u),!f||m instanceof Error&&m.name==="AbortError")return;d+=1,d>=o&&i.down([[E,m]])}})(),()=>{f=!1,clearTimeout(u),p.abort()}}))}function cr(e){let t=[],n=new Map,a=new Map;for(let c of e.split(`
|
|
11
|
+
`)){let r=c.trim();if(!r)continue;if(r.startsWith("# TYPE ")){let u=r.slice(7),l=u.indexOf(" ");l>0&&n.set(u.slice(0,l),u.slice(l+1).trim());continue}if(r.startsWith("# HELP ")){let u=r.slice(7),l=u.indexOf(" ");l>0&&a.set(u.slice(0,l),u.slice(l+1).trim());continue}if(r.startsWith("#"))continue;let o,s={},d,i,f=r.indexOf("{");if(f>=0){o=r.slice(0,f);let u=r.indexOf("}",f);if(u<0)continue;let l=r.slice(f+1,u);s=On(l);let m=r.slice(u+1).trim().split(/\s+/);d=m[0]??"",i=m[1]}else{let u=r.split(/\s+/);o=u[0]??"",d=u[1]??"",i=u[2]}if(!o||!d)continue;let p=o.replace(/(_total|_count|_sum|_bucket|_created|_info)$/,"");t.push({name:o,labels:s,value:Number(d),timestampMs:i?Number(i):void 0,type:n.get(p)??n.get(o),help:a.get(p)??a.get(o),timestampNs:V()})}return t}function On(e){let t={},n=/(\w+)="((?:[^"\\]|\\.)*)"/g,a=n.exec(e);for(;a!==null;)t[a[1]]=a[2].replace(/\\(.)/g,"$1"),a=n.exec(e);return t}function Rn(e,t,n){let{fromBeginning:a=!1,deserialize:c=o=>{if(o===null)return null;try{return JSON.parse(o.toString())}catch{return o.toString()}},...r}=n??{};return W(o=>{let s=!0;return(async()=>{try{await e.subscribe({topic:t,fromBeginning:a}),await e.run({eachMessage:async({topic:i,partition:f,message:p})=>{if(!s)return;let u={};if(p.headers)for(let[l,m]of Object.entries(p.headers))m!==void 0&&(u[l]=typeof m=="string"?m:m.toString());o.emit({topic:i,partition:f,key:p.key?.toString()??null,value:c(p.value),headers:u,offset:p.offset,timestamp:p.timestamp,timestampNs:V()})}})}catch(i){s&&o.down([[E,i]])}})(),()=>{s=!1}},Q(r))}function Mn(e,t,n,a){let{serialize:c=s=>JSON.stringify(s),keyExtractor:r,onTransportError:o}=a??{};return U(e,{onTransportError:o,send:async s=>{let d=r?.(s)??null,i=c(s);await t.send({topic:n,messages:[{key:d,value:Buffer.from(i)}]})}})}function Pn(e,t,n){let{blockMs:a=5e3,startId:c="$",parse:r=s=>{for(let i=0;i<s.length;i+=2)if(s[i]==="data")try{return JSON.parse(s[i+1])}catch{return s[i+1]}let d={};for(let i=0;i<s.length;i+=2)d[s[i]]=s[i+1];return d},...o}=n??{};return W(s=>{let d=!0,i=c;return(async()=>{for(;d;)try{let p=await e.xread("BLOCK",a,"STREAMS",t,i);if(!d)return;if(p)for(let[u,l]of p)for(let[m,h]of l)i=m,s.emit({id:m,key:t,data:r(h),timestampNs:V()})}catch(p){if(!d)return;s.down([[E,p]]);return}})(),()=>{d=!1}},Q(o))}function Cn(e,t,n,a){let{serialize:c=s=>["data",JSON.stringify(s)],maxLen:r,onTransportError:o}=a??{};return U(e,{onTransportError:o,send:async s=>{let d=c(s);await(r!==void 0?t.xadd(n,"MAXLEN","~",String(r),"*",...d):t.xadd(n,"*",...d))}})}function Ln(e,t){let{delimiter:n=",",hasHeader:a=!0,columns:c,parseLine:r,...o}=t??{},s=r??(d=>ur(d,n));return W(d=>{let i=!1;return(async()=>{try{let p=c,u="";for await(let l of e){if(i)return;u+=l;let m=u.split(/\r?\n/);u=m.pop()??"";for(let h of m){if(i)return;if(!h.trim())continue;let b=s(h);if(!p&&a){p=b;continue}p||(p=b.map((T,y)=>`col${y}`));let g={};for(let T=0;T<p.length;T++)g[p[T]]=b[T]??"";d.emit(g)}}if(!i&&u.trim()){let l=s(u);if(p){let m={};for(let h=0;h<p.length;h++)m[p[h]]=l[h]??"";d.emit(m)}}i||d.down([[C]])}catch(p){i||d.down([[E,p]])}})(),()=>{i=!0}},Q(o))}function An(e,t){let{delimiter:n=",",hasHeader:a=!0,columns:c,parseLine:r,...o}=t??{},s=r??(d=>ur(d,n));return re([e],(d,i,f)=>{let p=d[0];if(p==null||p.length===0)return;let u=f.store;typeof u.buffer!="string"&&(u.buffer=""),u.headers===void 0&&c&&(u.headers=c.slice());for(let l of p){u.buffer=u.buffer+l;let m=u.buffer.split(/\r?\n/);u.buffer=m.pop()??"";for(let h of m){if(!h.trim())continue;let b=s(h);if(!u.headers&&a){u.headers=b;continue}u.headers||(u.headers=b.map((T,y)=>`col${y}`));let g={};for(let T=0;T<u.headers.length;T++)g[u.headers[T]]=b[T]??"";i.emit(g)}}},{describeKind:"derived",...o})}function Bn(e,t){return re([e],(n,a,c)=>{let r=n[0];if(r==null||r.length===0)return;let o=c.store;typeof o.buffer!="string"&&(o.buffer="");for(let s of r){o.buffer=o.buffer+s;let d=o.buffer.split(/\r?\n/);o.buffer=d.pop()??"";for(let i of d)if(i.trim())try{a.emit(JSON.parse(i))}catch(f){a.down([[E,f]]);return}}},{describeKind:"derived",...t??{}})}function ur(e,t){let n=[],a="",c=!1;for(let r=0;r<e.length;r++){let o=e[r];c?o==='"'?e[r+1]==='"'?(a+='"',r++):c=!1:a+=o:o==='"'?c=!0:o===t?(n.push(a),a=""):a+=o}return n.push(a),n}function In(e,t){return W(n=>{let a=!1;return(async()=>{try{let r="";for await(let o of e){if(a)return;r+=o;let s=r.split(/\r?\n/);r=s.pop()??"";for(let d of s){if(a)return;let i=d.trim();i&&n.emit(JSON.parse(i))}}!a&&r.trim()&&n.emit(JSON.parse(r.trim())),a||n.down([[C]])}catch(r){a||n.down([[E,r]])}})(),()=>{a=!0}},Q(t))}function Fn(e,t,n){let{intervalNs:a=5*1e9,format:c="JSONEachRow",signal:r,maxConsecutiveErrors:o=1}=n??{},s=Math.ceil(a/1e6),d=0;return ge(oe(0,{period:s,signal:r}),()=>W(i=>{let f=!0;return(async()=>{try{let u=await e.query({query:t,format:c});if(!f)return;let l=await u.json();if(!f)return;for(let m of l)i.emit(m);d=0,i.down([[C]])}catch(u){if(!f)return;d+=1,d>=o&&i.down([[E,u]])}})(),()=>{f=!1}}))}function Wn(e,t){let{autoAck:n=!0,deserialize:a=s=>{try{return JSON.parse(s.toString())}catch{return s.toString()}},onAckError:c,...r}=t??{},o=s=>{if(c)try{c(s instanceof Error?s:new Error(String(s)))}catch{}};return W(s=>{let d=!0;return(async()=>{for(;d;)try{let f=await e.receive();if(!d)return;let p={topic:f.getTopicName(),messageId:f.getMessageId().toString(),key:f.getPartitionKey(),value:a(f.getData()),properties:f.getProperties(),publishTime:f.getPublishTimestamp(),eventTime:f.getEventTimestamp(),timestampNs:V()};if(n)s.emit(p),e.acknowledge(f).catch(o);else{let u=!1,l={value:p,ack(){u||(u=!0,e.acknowledge(f).catch(o))},nack(m){if(u)return;u=!0;let h=e;try{let b=h.negativeAcknowledge?.(f);b&&typeof b.then=="function"&&b.catch(o)}catch(b){o(b)}}};s.emit(l)}}catch(f){d&&s.down([[E,f]]);return}})(),()=>{d=!1}},Q(r))}function zn(e,t,n){let{serialize:a=s=>Buffer.from(JSON.stringify(s)),keyExtractor:c,propertiesExtractor:r,onTransportError:o}=n??{};return U(e,{onTransportError:o,send:async s=>{await t.send({data:a(s),partitionKey:c?.(s),properties:r?.(s)})}})}function Hn(e,t,n){let a=new TextDecoder,{queue:c,deserialize:r=s=>{let d=a.decode(s);try{return JSON.parse(d)}catch{return d}},...o}=n??{};return W(s=>{let d=!0,i=e.subscribe(t,c?{queue:c}:void 0);return(async()=>{try{for await(let p of i){if(!d)return;let u={};if(p.headers)for(let l of p.headers.keys())u[l]=p.headers.get(l);s.emit({subject:p.subject,data:r(p.data),headers:u,reply:p.reply,sid:p.sid,timestampNs:V()})}d&&s.down([[C]])}catch(p){d&&s.down([[E,p]])}})(),()=>{d=!1}},Q(o))}function Un(e,t,n,a){let c=new TextEncoder,{serialize:r=s=>c.encode(JSON.stringify(s)),onTransportError:o}=a??{};return U(e,{onTransportError:o,send:s=>{t.publish(n,r(s))}})}function Kn(e,t,n){let{autoAck:a=!0,deserialize:c=d=>{try{return JSON.parse(d.toString())}catch{return d.toString()}},onAckError:r,...o}=n??{},s=d=>{if(r)try{r(d instanceof Error?d:new Error(String(d)))}catch{}};return W(d=>{let i=!0,f;return(async()=>{try{f=(await e.consume(t,l=>{if(!i)return;if(l===null){i&&d.down([[E,new Error("Consumer cancelled by broker")]]);return}let m={queue:t,routingKey:l.fields.routingKey,exchange:l.fields.exchange,content:c(l.content),properties:l.properties,deliveryTag:l.fields.deliveryTag,redelivered:l.fields.redelivered,timestampNs:V()};if(a){d.emit(m);try{e.ack(l)}catch(h){s(h)}}else{let h=!1,b=e,g={value:m,ack(){if(!h){h=!0;try{e.ack(l)}catch(T){s(T)}}},nack(T){if(h)return;h=!0;let y=T?.requeue;if(!b.nack){s(new Error("RabbitMQ channel does not expose `nack`; cannot negative-ack"));return}try{b.nack(l,!1,y)}catch(k){s(k)}}};d.emit(g)}},{noAck:!1})).consumerTag}catch(u){i&&d.down([[E,u]])}})(),()=>{i=!1,f!==void 0&&e.cancel(f)}},Q(o))}function jn(e,t,n,a){let{serialize:c=s=>Buffer.from(JSON.stringify(s)),routingKeyExtractor:r=()=>"",onTransportError:o}=a??{};return U(e,{onTransportError:o,send:s=>{let d=r(s),i=c(s);t.publish(n,d,i)}})}function dr(e,t,n){let{serialize:a=p=>`${JSON.stringify(p)}
|
|
12
|
+
`,flushIntervalMs:c=0,batchSize:r=Number.POSITIVE_INFINITY,onTransportError:o,mode:s}=n??{},i=c>0||r<Number.POSITIVE_INFINITY?U(e,{onTransportError:o,batchSize:r,flushIntervalMs:c,serialize:a,sendBatch:p=>{t.write(p.join(""))}}):U(e,{onTransportError:o,serialize:a,send:p=>{t.write(p)}}),f=i.dispose;return i.dispose=()=>{f();try{t.end()}catch{}},i}function Ue(e,t){return e.includes(t)||e.includes('"')||e.includes(`
|
|
13
|
+
`)?`"${e.replace(/"/g,'""')}"`:e}function Dn(e,t,n){let{columns:a,delimiter:c=",",writeHeader:r=!0,cellExtractor:o=(l,m)=>String(l[m]??""),flushIntervalMs:s=0,batchSize:d=Number.POSITIVE_INFINITY,onTransportError:i,...f}=n,p=!1;return dr(e,t,{serialize:l=>{if(!p&&r){p=!0;let m=a.map(b=>Ue(b,c)).join(c),h=a.map(b=>Ue(o(l,b),c)).join(c);return`${m}
|
|
14
|
+
${h}
|
|
15
|
+
`}return`${a.map(m=>Ue(o(l,m),c)).join(c)}
|
|
16
|
+
`},flushIntervalMs:s,batchSize:d,onTransportError:i,...f})}function qn(e,t,n,a){let{batchSize:c=1e3,flushIntervalMs:r=5e3,format:o="JSONEachRow",transform:s=i=>i,onTransportError:d}=a??{};return U(e,{onTransportError:d,batchSize:c,flushIntervalMs:r,serialize:s,sendBatch:async i=>{await t.insert({table:n,values:i,format:o})}})}function Vn(e,t,n,a){let{format:c="ndjson",keyGenerator:r=(u,l)=>{let m=Math.floor(l/1e6);return`data/${new Date(m).toISOString().replace(/[:.]/g,"-")}-${u}.${c==="ndjson"?"ndjson":"json"}`},batchSize:o=1e3,flushIntervalMs:s=1e4,transform:d=u=>u,onTransportError:i}=a??{},f=c==="ndjson"?"application/x-ndjson":"application/json",p=0;return U(e,{onTransportError:i,batchSize:o,flushIntervalMs:s,serialize:d,sendBatch:async u=>{p+=1;let l=c==="ndjson"?`${u.map(h=>JSON.stringify(h)).join(`
|
|
17
|
+
`)}
|
|
18
|
+
`:JSON.stringify(u),m=r(p,V());await t.putObject({Bucket:n,Key:m,Body:l,ContentType:f})}})}function $n(e,t,n,a){let{toSQL:c=(o,s)=>({sql:`INSERT INTO "${s.replace(/"/g,'""')}" (data) VALUES ($1)`,params:[JSON.stringify(o)]}),onTransportError:r}=a??{};return U(e,{onTransportError:r,serialize:o=>c(o,n),send:async o=>{let s=o;await t.query(s.sql,s.params)}})}function _n(e,t,n){let{toDocument:a=r=>r,onTransportError:c}=n??{};return U(e,{onTransportError:c,serialize:a,send:async r=>{await t.insertOne(r)}})}function Qn(e,t,n){let{labels:a={},toLine:c=s=>JSON.stringify(s),toLabels:r,onTransportError:o}=n??{};return U(e,{onTransportError:o,serialize:s=>({line:c(s),labels:r?{...a,...r(s)}:a}),send:async s=>{let{line:d,labels:i}=s,f=`${V()}`;await t.push({streams:[{stream:i,values:[[f,d]]}]})}})}function Jn(e,t,n){let{toResourceSpans:a=r=>[r],onTransportError:c}=n??{};return U(e,{onTransportError:c,serialize:a,send:async r=>{await t.push({resourceSpans:r})}})}function Yn(e,t,n,a){let{prefix:c="checkpoints/",debounceMs:r=500,compactEvery:o=10,onError:s}=a??{},d={debounceMs:r,compactEvery:o,save(i,f){let p=Math.floor(V()/1e6),u=`${c}${e.name}/checkpoint-${p}.json`,l;try{l=JSON.stringify(f)}catch(m){s?.(m);return}t.putObject({Bucket:n,Key:u,Body:l,ContentType:"application/json"}).catch(m=>s?.(m))},load(){return null}};return e.attachStorage([d],{onError:i=>s?.(i)})}function Gn(e,t,n){let{prefix:a="graphrefly:checkpoint:",debounceMs:c=500,compactEvery:r=10,onError:o}=n??{},s=`${a}${e.name}`,d={debounceMs:c,compactEvery:r,save(i,f){let p;try{p=JSON.stringify(f)}catch(u){o?.(u);return}t.set(s,p).catch(u=>o?.(u))},async load(){let i=await t.get(s);if(i==null)return null;try{return JSON.parse(i)}catch{return null}}};return e.attachStorage([d],{onError:i=>o?.(i)})}function Xn(e,t,n){let{mapRow:a=o=>o,params:c,...r}=n??{};return W(o=>{try{let d=e.query(t,c).map(a);o.emit(d),o.down([[C]])}catch(s){o.down([[E,s instanceof Error?s:new Error(String(s))]])}},{describeKind:"producer",completeWhenDepsComplete:!1,...r})}function Zn(e,t,n){let{mapRow:a=o=>o,params:c,...r}=n??{};return W(o=>{try{let s=e.iterate(t,c);j(()=>{for(let d of s)o.emit(a(d));o.down([[C]])})}catch(s){o.down([[E,s instanceof Error?s:new Error(String(s))]])}},{describeKind:"producer",completeWhenDepsComplete:!1,...r})}function eo(e,t,n,a){if(n.includes("\0")||n.length===0)throw new Error(`toSqlite: invalid table name: ${JSON.stringify(n)}`);let{toSQL:c=(R,D)=>({sql:`INSERT INTO "${D.replace(/"/g,'""')}" (data) VALUES (?)`,params:[JSON.stringify(R)]}),onTransportError:r,batchInsert:o=!1,maxBatchSize:s=1e3,flushIntervalMs:d=0}=a??{},i=R=>c(R,n);if(!o)return U(e,{onTransportError:r,serialize:i,send:R=>{let D=R;t.query(D.sql,D.params)}});let f=B(null),p=B(void 0,{equals:()=>!1}),u=B(null),l=B(0),m=B(0),h=R=>{try{r?.(R)}catch{}try{f.down([[x,R]])}catch{}},b=[],g=!1,T,y=!1,k=()=>m.down([[x,b.length]]),v=R=>{y||p.down([[x,R]])},w=R=>{y||u.down([[x,R]])},N=R=>{y||l.down([[x,R]])},O=R=>{y||h(R)},H=()=>{if(b.length===0||g)return;g=!0,N(1);try{t.query("BEGIN",[])}catch(F){g=!1,N(0),O({stage:"send",error:F instanceof Error?F:new Error(String(F)),value:void 0});return}let R=b;b=[],k();let D,X=0;for(let F of R)try{t.query(F.query.sql,F.query.params),X+=1}catch($){D=$ instanceof Error?$:new Error(String($));break}if(D){try{t.query("ROLLBACK",[])}catch{}O({stage:"send",error:D,value:void 0});for(let F of R)w({value:F.value,error:D,attempts:1})}else try{t.query("COMMIT",[]);for(let F of R)v(F.value)}catch(F){let $=F instanceof Error?F:new Error(String(F));O({stage:"send",error:$,value:void 0});for(let Z=0;Z<X;Z++)w({value:R[Z].value,error:$,attempts:1})}g=!1,N(0)},z=()=>{d>0&&T===void 0&&!y&&(T=setTimeout(()=>{T=void 0,H()},d))},J=e.subscribe(R=>{for(let D of R){let X=D[0];if(X===x){let F=D[1],$;try{$=i(F)}catch(Z){let fe=Z instanceof Error?Z:new Error(String(Z));h({stage:"serialize",error:fe,value:F}),u.down([[x,{value:F,error:fe,attempts:0}]]);continue}b.push({value:F,query:$}),k(),b.length>=s?H():z()}else G.messageTier(X)>=3&&H()}});return{dispose:()=>{if(!y){T!==void 0&&(clearTimeout(T),T=void 0),H(),y=!0,J();for(let R of[f,p,u,l,m])try{R.down([[q]])}catch{}}},sent:p,failed:u,inFlight:l,errors:f,buffered:m,flush:async()=>{y||H()}}}function ro(e,t){let{args:n,mapRow:a=r=>r,...c}=t??{};return W(r=>{let o=!0;return e.findMany(n).then(s=>{o&&(r.emit(s.map(a)),r.down([[C]]))}).catch(s=>{if(o)try{r.down([[E,s instanceof Error?s:new Error(String(s))]])}catch{}}),()=>{o=!1}},{...c,describeKind:"producer",completeWhenDepsComplete:!1})}function to(e,t){let{mapRow:n=c=>c,...a}=t??{};return W(c=>{let r=!0;return e.execute().then(o=>{r&&(c.emit(o.map(n)),c.down([[C]]))}).catch(o=>{if(r)try{c.down([[E,o instanceof Error?o:new Error(String(o))]])}catch{}}),()=>{r=!1}},{...a,describeKind:"producer",completeWhenDepsComplete:!1})}function no(e,t){let{mapRow:n=c=>c,...a}=t??{};return W(c=>{let r=!0;return e.execute().then(o=>{r&&(c.emit(o.map(n)),c.down([[C]]))}).catch(o=>{if(r)try{c.down([[E,o instanceof Error?o:new Error(String(o))]])}catch{}}),()=>{r=!1}},{...a,describeKind:"producer",completeWhenDepsComplete:!1})}function lr(){let e=new Map,t=null,n=null;function a(r){r.prev?r.prev.next=r.next:t=r.next,r.next?r.next.prev=r.prev:n=r.prev,r.prev=null,r.next=null}function c(r){r.next=t,r.prev=null,t&&(t.prev=r),t=r,n===null&&(n=r)}return{insert(r){if(e.has(r)){this.touch(r);return}let o={key:r,prev:null,next:null};e.set(r,o),c(o)},touch(r){let o=e.get(r);o&&(a(o),c(o))},delete(r){let o=e.get(r);o&&(a(o),e.delete(r))},evict(r){let o=[];for(let s=0;s<r&&n!==null;s++){let d=n;o.push(d.key),a(d),e.delete(d.key)}return o},size(){return e.size}}}function pr(e){return e!=null&&typeof e.then=="function"}function ue(e){pr(e)&&e.catch(()=>{})}function oo(e,t){let n=new Map,a=t?.maxSize??0,c=a>0?t?.eviction??lr():null,r=t?.writeThrough??!1;function o(i,f,p){for(let u=0;u<p;u++)try{ue(e[u].save(i,f))}catch{}}function s(i,f,p=0){for(let u=p;u<e.length;u++){let l;try{l=e[u].load(i)}catch{continue}if(pr(l)){let m=u;l.then(h=>{h!=null?(f.down([[x,h]]),o(i,h,m)):s(i,f,m+1)},()=>{s(i,f,m+1)});return}if(l!=null){f.down([[x,l]]),o(i,l,u);return}}}function d(){if(!(!c||a<=0))for(;c.size()>=a;){let i=c.evict(1);if(i.length===0)break;for(let f of i){let p=n.get(f);if(p){let u=p.cache;if(p.status!=="sentinel"&&e.length>0){let l=e.length-1;try{ue(e[l].save(f,u))}catch{}for(let m=0;m<l;m++)try{let h=e[m].clear;h&&ue(h.call(e[m],f))}catch{}}p.down([[q]])}n.delete(f)}}}return{load(i){let f=n.get(i);if(f)return c?.touch(i),f;c&&a>0&&c.size()>=a&&d();let p=B(void 0);return n.set(i,p),c?.insert(i),s(i,p),p},save(i,f){if(r)for(let u of e)try{ue(u.save(i,f))}catch{}else if(e[0])try{ue(e[0].save(i,f))}catch{}let p=n.get(i);if(p)p.down([[x,f]]),c?.touch(i);else{c&&a>0&&c.size()>=a&&d();let u=B(f);n.set(i,u),c?.insert(i)}},invalidate(i){let f=n.get(i);f&&s(i,f)},delete(i){c?.delete(i);let f=n.get(i);f&&f.down([[q]]),n.delete(i);for(let p of e)try{let u=p.clear;u&&ue(u.call(p,i))}catch{}},has(i){return n.has(i)},get size(){return n.size}}}var Ee=class{_version=0;_topics=new Set;get version(){return this._version}get topicCount(){return this._topics.size}hasTopic(t){return this._topics.has(t)}topicNames(){return this._topics.values()}createTopic(t){return this._topics.has(t)?!1:(this._topics.add(t),this._version+=1,!0)}removeTopic(t){let n=this._topics.delete(t);return n&&(this._version+=1),n}};function so(e={}){let{backend:t}=e,n=t??new Ee,a=new Map;function c(r){let o=a.get(r);return o===void 0&&(o=re({describeKind:"state"}),a.set(r,o),n.createTopic(r)),o}return{topic(r){return c(r)},publish(r,o){c(r).emit(o)},publishMany(r){j(()=>{for(let[o,s]of r)c(o).emit(s)})},removeTopic(r){let o=a.get(r);return o===void 0?!1:(a.delete(r),n.removeTopic(r),o.down([[q]]),!0)},has(r){return n.hasTopic(r)},get size(){return n.topicCount},topicNames(){return n.topicNames()}}}var io=new Map([[Ce,"INVALIDATE"],[Le,"PAUSE"],[Ae,"RESUME"],[q,"TEARDOWN"],[C,"COMPLETE"],[E,"ERROR"]]),ao=new Map([["INVALIDATE",Ce],["PAUSE",Le],["RESUME",Ae],["TEARDOWN",q],["COMPLETE",C],["ERROR",E]]);function se(e){let t=io.get(e);return t||(Symbol.keyFor(e)??"UNKNOWN")}function de(e){let t=ao.get(e);if(t)return t;if(e&&e!=="UNKNOWN")return Symbol.for(e)}function le(e){return e instanceof Error?{message:e.message,name:e.name,stack:e.stack}:{message:String(e),name:"Error"}}function pe(e){let t=new Error(e.message);return t.name=e.name,e.stack&&(t.stack=e.stack),t}function ie(e){if(typeof MessagePort<"u"&&e instanceof MessagePort)return{post(t,n){e.postMessage(t,n??[])},listen(t){let n=a=>t(a.data);return e.addEventListener("message",n),e.start(),()=>e.removeEventListener("message",n)},terminate(){e.close()}};if(typeof SharedWorker<"u"&&e instanceof SharedWorker)return ie(e.port);if(typeof Worker<"u"&&e instanceof Worker)return{post(t,n){e.postMessage(t,n??[])},listen(t){let n=a=>t(a.data);return e.addEventListener("message",n),()=>e.removeEventListener("message",n)},terminate(){e.terminate()}};if(typeof BroadcastChannel<"u"&&e instanceof BroadcastChannel)return{post(t,n){n&&n.length>0&&console.warn("[graphrefly] WorkerTransport: BroadcastChannel does not support Transferable objects. The transfer argument is ignored and objects will be cloned instead."),e.postMessage(t)},listen(t){let n=a=>t(a.data);return e.addEventListener("message",n),()=>e.removeEventListener("message",n)},terminate(){e.close()}};if(typeof ServiceWorker<"u"&&e instanceof ServiceWorker)return{post(t,n){e.postMessage(t,n??[])},listen(t){let n=a=>{a.source===e&&t(a.data)};return navigator.serviceWorker.addEventListener("message",n),()=>navigator.serviceWorker.removeEventListener("message",n)}};throw new Error("createTransport: unsupported target type. Expected Worker, SharedWorker, ServiceWorker, BroadcastChannel, or MessagePort.")}function co(e){return typeof e=="object"&&e!==null&&typeof e.post=="function"&&typeof e.listen=="function"}function fr(e,t){let n=co(e)?e:ie(e),a=t.name??"workerBridge",c=Object.entries(t.expose??{}),r=t.import??[],o=t.transfer??{},s=B("connecting",{name:`${a}::meta::status`}),d=B(null,{name:`${a}::meta::error`}),i=new Map,f=new Map;for(let T of r){let y=B(void 0,{name:`${a}::${T}`});i.set(T,y)}let p;if(c.length>0){let T=c.map(([,v])=>v),y=re(T,(v,w)=>{let N={};for(let O=0;O<c.length;O++){let[H]=c[O],z=v[O];z!=null&&z.length>0&&(N[H]=z.at(-1))}Object.keys(N).length!==0&&w.emit(N)},{name:`${a}::aggregated`,partial:!0});p=he([y],v=>{let w=v[0];if(w==null||Object.keys(w).length===0)return;let N=[];for(let z of Object.keys(w)){let J=o[z];J&&N.push(...J(w[z]))}let O;for(let[z,J]of c)z in w&&J.v!=null&&(O==null&&(O={}),O[z]=J.v.version);let H={t:"b",u:w,...O?{v:O}:{}};try{n.post(H,N.length>0?N:void 0)}catch(z){d.down([[x,z instanceof Error?z:new Error(String(z))]])}}).subscribe(()=>{})}let u=!1,l=n.listen(T=>{if(u)return;let y=T;switch(y.t){case"r":{j(()=>{for(let[v,w]of Object.entries(y.stores)){let N=i.get(v);N&&N.down([[x,w]])}}),s.down([[x,"connected"]]);let k={};for(let[v,w]of c)k[v]=w.cache;n.post({t:"i",stores:k});break}case"v":{let k=i.get(y.s);k&&k.down([[x,y.d]]);break}case"b":{j(()=>{for(let[k,v]of Object.entries(y.u)){let w=y.v?.[k];if(w!=null){let O=f.get(k);if(O!=null&&w<=O)continue;f.set(k,w)}let N=i.get(k);N&&N.down([[x,v]])}});break}case"e":{let k=i.get(y.s);k&&k.down([[E,pe(y.err)]]);break}case"s":{let k=de(y.sig);if(!k)break;let v=y.s==="*"?[...i.values()]:i.has(y.s)?[i.get(y.s)]:[];for(let w of v)w.down(y.d===void 0?[[k]]:[[k,y.d]]);break}}}),m=[];for(let[T,y]of c){let k=y.subscribe((v=>{if(!u)for(let w of v){let N=w[0];N!==x&&(G.isLocalOnly(N)||(N===E?n.post({t:"e",s:T,err:le(w[1])}):n.post({t:"s",s:T,sig:se(N),d:w.length>1?w[1]:void 0})))}}));m.push(k)}let h;if(t.timeoutMs!=null&&t.timeoutMs>0){let T=oe(t.timeoutMs),y=Ie(s,v=>v==="connected");h=Fe(We(xe(T,()=>"timeout"),xe(y,()=>"ready"))).subscribe(v=>{for(let w of v)w[0]===x&&w[1]==="timeout"&&(d.down([[x,new Error("Worker bridge handshake timeout")]]),b())})}function b(){if(!u){u=!0,h?.(),n.post({t:"s",s:"*",sig:se(q)}),p&&p();for(let T of m)T();m.length=0,l(),s.down([[x,"closed"]]),f.clear(),i.clear()}}let g={meta:{status:s,error:d},destroy:b};for(let[T,y]of i)g[T]=y;return g}function uo(e){return typeof e=="object"&&e!==null&&typeof e.post=="function"&&typeof e.listen=="function"}function mr(e,t){let n=uo(e)?e:ie(e),a=t.import??[],c=t.transfer??{},r=new Map,o=new Map,s={};for(let b of a){let g=B(void 0,{name:`worker::${b}`});r.set(b,g),s[b]=g}let d=t.expose(s),i=Object.entries(d),f,p=!1;if(i.length>0){let b=i.map(([,y])=>y),g=re(b,(y,k)=>{let v={};for(let w=0;w<i.length;w++){let[N]=i[w],O=y[w];O!=null&&O.length>0&&(v[N]=O.at(-1))}Object.keys(v).length!==0&&k.emit(v)},{name:"workerSelf::aggregated",partial:!0});f=he([g],y=>{if(p)return;let k=y[0];if(k==null||Object.keys(k).length===0)return;let v=[];for(let O of Object.keys(k)){let H=c[O];H&&v.push(...H(k[O]))}let w;for(let[O,H]of i)O in k&&H.v!=null&&(w==null&&(w={}),w[O]=H.v.version);let N={t:"b",u:k,...w?{v:w}:{}};try{n.post(N,v.length>0?v:void 0)}catch{}}).subscribe(()=>{})}let u=[];for(let[b,g]of i){let T=g.subscribe((y=>{if(!p)for(let k of y){let v=k[0];v!==x&&(G.isLocalOnly(v)||(v===E?n.post({t:"e",s:b,err:le(k[1])}):n.post({t:"s",s:b,sig:se(v),d:k.length>1?k[1]:void 0})))}}));u.push(T)}let l=n.listen(b=>{if(p)return;let g=b;switch(g.t){case"i":{j(()=>{for(let[T,y]of Object.entries(g.stores)){let k=r.get(T);k&&k.down([[x,y]])}});break}case"v":{let T=r.get(g.s);T&&T.down([[x,g.d]]);break}case"b":{j(()=>{for(let[T,y]of Object.entries(g.u)){let k=g.v?.[T];if(k!=null){let w=o.get(T);if(w!=null&&k<=w)continue;o.set(T,k)}let v=r.get(T);v&&v.down([[x,y]])}});break}case"e":{let T=r.get(g.s);T&&T.down([[E,pe(g.err)]]);break}case"s":{let T=de(g.sig);if(!T)break;if(T===q&&g.s==="*"){h();return}let y=g.s==="*"?[...r.values()]:r.has(g.s)?[r.get(g.s)]:[];for(let k of y)k.down(g.d===void 0?[[T]]:[[T,g.d]]);break}}}),m={};for(let[b,g]of i)m[b]=g.cache;n.post({t:"r",stores:m});function h(){if(!p){p=!0,f&&f();for(let b of u)b();u.length=0,l(),n.terminate?.(),o.clear(),r.clear()}}return{destroy:h}}export{ae as a,ze as b,U as c,or as d,un as e,sr as f,dn as g,ln as h,pn as i,fn as j,mn as k,gn as l,Tn as m,yn as n,kn as o,bn as p,hn as q,vn as r,wn as s,Sn as t,En as u,Nn as v,cr as w,Rn as x,Mn as y,Pn as z,Cn as A,Ln as B,An as C,Bn as D,In as E,Fn as F,Wn as G,zn as H,Hn as I,Un as J,Kn as K,jn as L,dr as M,Dn as N,qn as O,Vn as P,$n as Q,_n as R,Qn as S,Jn as T,Yn as U,Gn as V,Xn as W,Zn as X,eo as Y,ro as Z,to as _,no as $,lr as aa,oo as ba,Ee as ca,so as da,se as ea,de as fa,le as ga,pe as ha,ie as ia,fr as ja,mr as ka,lo as la};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as l,c as p,d as R}from"./chunk-CK2E7BTU.js";import{b as K}from"./chunk-QYADASLV.js";var x={};K(x,{useStore:()=>g,useSubscribe:()=>h,useSubscribeRecord:()=>w});import{createSignal as y,getOwner as T,onCleanup as S}from"solid-js";function h(e){let[c,r]=y(e.cache,{equals:!1}),n=e.subscribe(()=>{r(()=>e.cache)});return T()?S(()=>n()):typeof console<"u"&&console.warn("[graphrefly-ts] useSubscribe called outside a Solid reactive owner \u2014 subscription will not be auto-disposed."),c}function g(e){return[h(e),n=>{e.down([[p],[l,n]])}]}function w(e,c){let[r,n]=y({},{equals:!1}),i=[],d=()=>{for(let s of i)s();i=[]},f=()=>{let s={};for(let o of e.cache??[]){let t=c(o),u={};for(let a of Object.keys(t))u[a]=t[a].cache;s[o]=u}return s},b=s=>{d();for(let o of s){let t=c(o);for(let u of Object.keys(t)){let a=t[u].subscribe(()=>{n(()=>f())});i.push(a)}}n(()=>f())},v=e.subscribe(s=>{s.some(o=>o[0]===l||o[0]===R)&&b(e.cache??[])});return b(e.cache??[]),T()?S(()=>{v(),d()}):typeof console<"u"&&console.warn("[graphrefly-ts] useSubscribeRecord called outside a Solid reactive owner \u2014 subscription will not be auto-disposed."),r}export{h as a,g as b,w as c,x as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as l,c as y,d as S}from"./chunk-CK2E7BTU.js";import{b as x}from"./chunk-QYADASLV.js";var A={};x(A,{useStore:()=>E,useSubscribe:()=>T,useSubscribeRecord:()=>j});import{useCallback as K,useMemo as g,useRef as v,useSyncExternalStore as h}from"react";function T(e){return h(o=>{let s=!1,t=e.subscribe(()=>{s||o()});return()=>{s=!0,t()}},()=>e.cache,()=>e.cache)}function E(e){let o=T(e),s=K(t=>{e.down([[y],[l,t]])},[e]);return[o,s]}function j(e,o){let s=v(o);s.current=o;let t=g(()=>{let b=()=>{let c={},n=e.cache??[];for(let r of n){let u=s.current(r),a={};for(let d of Object.keys(u))a[d]=u[d].cache;c[r]=a}return c},p=b();return{subscribe:c=>{let n=!1,r=[],u=()=>{for(let f of r)f();r=[]},a=f=>{u();for(let R of f){let i=s.current(R);for(let k of Object.keys(i)){let m=i[k].subscribe(()=>{p=b(),n||c()});r.push(m)}}p=b(),n||c()},d=e.subscribe(f=>{let R=f.some(i=>i[0]===l||i[0]===S);!n&&R&&a(e.cache??[])});return a(e.cache??[]),()=>{n=!0,d(),u()}},getSnapshot:()=>p}},[e]);return h(t.subscribe,t.getSnapshot,t.getSnapshot)}export{T as a,E as b,j as c,A as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as I}from"./chunk-5Z4HDCO6.js";import{h as _,k as P}from"./chunk-MGKAO4EK.js";import{D as y,E as K,G as E,m as F}from"./chunk-W4TSQ6RJ.js";import{b as j,d as x,i as A,j as D}from"./chunk-CK2E7BTU.js";import{b as B}from"./chunk-QYADASLV.js";var ee={};B(ee,{approval:()=>V,branch:()=>U,gate:()=>z,join:()=>J,loop:()=>Q,onFailure:()=>Z,pipeline:()=>L,sensor:()=>Y,subPipeline:()=>X,task:()=>H});function O(e,n){if(typeof n=="string")return{node:e.resolve(n),path:n};let o=$(e,n);if(!o)throw new Error("orchestration dep node must already be registered in the graph so explicit edges can be recorded; pass a string path or register the node first");return{node:n,path:o}}function $(e,n){let o=e.describe(),r=`::${_}::`;for(let t of Object.keys(o.nodes).sort())if(!t.includes(r))try{if(e.resolve(t)===n)return t}catch{}}function w(e,n,o,r){e.add(o,{name:n})}function N(e,n){return I("orchestration",e,n)}function W(e){let n=r=>{let t=r.trim();return t.length===0?0:Number(t)},o;return typeof e=="string"?o=n(e):e===null?o=0:o=Number(e),Number.isFinite(o)?Math.max(0,Math.trunc(o)):1}function L(e,n){return new P(e,n)}function H(e,n,o,r){let a=(r?.deps??[]).map(i=>O(e,i)),{deps:s,...p}=r??{},T=(i,f,c)=>{let l=i.map((h,g)=>h!=null&&h.length>0?h.at(-1):c.prevData[g]);f.emit(o(l,c))},d=y(a.map(i=>i.node),T,{...p,name:n,describeKind:"derived",meta:N("task",r?.meta)});return w(e,n,d,a.flatMap(i=>i.path?[i.path]:[])),d}function U(e,n,o,r,t){let a=O(e,o),s=E([a.node],([p])=>({branch:r(p)?"then":"else",value:p}),{...t,name:n,meta:N("branch",t?.meta)});return w(e,n,s,a.path?[a.path]:[]),s}function V(e,n,o,r,t){let a=O(e,o),s=O(e,r),p=t?.isApproved??(d=>!!d),T=y([a.node,s.node],(d,i,f)=>{let c=d[0],l=d[1],h=l!=null&&l.length>0?l.at(-1):f.prevData[1];if(h===void 0||!p(h)){i.down([[x]]);return}if(c==null||c.length===0){l!=null&&l.length>0&&f.prevData[0]!==void 0?i.emit(f.prevData[0]):i.down([[x]]);return}for(let g of c)i.emit(g)},{...t,name:n,describeKind:"derived",meta:N("approval",t?.meta)});return w(e,n,T,[a.path,s.path].filter(d=>typeof d=="string")),T}function z(e,n,o,r){let t=r?.maxPending??1/0;if(t<1&&t!==1/0)throw new RangeError("gate: maxPending must be >= 1");let a=r?.startOpen??!1,s=O(e,o),p=K([],{name:"pending",equals:()=>!1}),T=K(a,{name:"isOpen"}),d=E([p],([u])=>u.length,{name:"count"}),i=[],f=!1,c=a,l=T.subscribe(u=>{for(let m of u)m[0]===j&&(c=m[1])});function h(){p.emit([...i])}function g(u){i.push(u),i.length>t&&i.shift(),h()}function R(u){let m=i.splice(0,u);return h(),m}function k(u){if(f)throw new Error(`gate: ${u}() called after gate was torn down`)}let b=y([s.node],(u,m,S)=>{let G=S.terminalDeps[0];if(G!==void 0){f=!0,i=[],h(),m.down(G===!0?[[A]]:[[D,G]]);return}let v=u[0];if(v==null||v.length===0){m.down([[x]]);return}for(let C of v)c?m.emit(C):(g(C),m.down([[x]]))},{name:n,describeKind:"derived",meta:N("gate",r?.meta)}),q={node:b,pending:p,count:d,isOpen:T,approve(u=1){k("approve");let m=R(u);for(let S of m){if(f)break;b.emit(S)}},reject(u=1){k("reject"),R(u)},modify(u,m=1){k("modify");let S=[...i],G=R(m);for(let v=0;v<G.length&&!f;v++)b.emit(u(G[v],v,S))},open(){k("open"),F(()=>{T.emit(!0);let u=R(i.length);for(let m of u){if(f)break;b.emit(m)}})},close(){k("close"),T.emit(!1)}};e.addDisposer(d.subscribe(()=>{})),e.addDisposer(l),w(e,n,b,s.path?[s.path]:[]);let M=new P(`${n}_state`);return M.add(p,{name:"pending"}),M.add(T,{name:"isOpen"}),M.add(d,{name:"count"}),e.mount(`${n}_state`,M),q}function J(e,n,o,r){let t=o.map(s=>O(e,s)),a=E(t.map(s=>s.node),s=>s,{...r,name:n,meta:N("join",r?.meta)});return w(e,n,a,t.flatMap(s=>s.path?[s.path]:[])),a}function Q(e,n,o,r,t){let a=O(e,o),s=t?.iterations,p=typeof s=="number"||s===void 0?void 0:O(e,s),T=typeof s=="number"?s:void 0,d=y(p?[a.node,p.node]:[a.node],(i,f,c)=>{let l=i[0],h=l!=null&&l.length>0?l.at(-1):c.prevData[0],g=p?i[1]:void 0,R=T??(p?g!=null&&g.length>0?g.at(-1):c.prevData[1]:1),k=W(R);for(let b=0;b<k;b+=1)h=r(h,b,f);f.emit(h)},{...t,name:n,describeKind:"derived",meta:N("loop",t?.meta)});return w(e,n,d,[a.path,p?.path].filter(i=>typeof i=="string")),d}function X(e,n,o,r){let t=o instanceof P?o:L(n,r);return typeof o=="function"&&o(t),e.mount(n,t),t}function Y(e,n,o,r){let t=y([],()=>{},{...r,name:n,initial:o,describeKind:"producer",meta:N("sensor",r?.meta)});return w(e,n,t,[]),{node:t,push(a){t.emit(a)},error(a){t.down([[D,a]])},complete(){t.down([[A]])}}}function Z(e,n,o,r,t){let a=O(e,o),s=!1,p=y([],(T,d)=>{let i=a.node.subscribe(f=>{for(let c of f){if(s)return;if(c[0]===D)try{d.emit(r(c[1],d))}catch(l){s=!0,d.down([[D,l]])}else d.down([c]),c[0]===A&&(s=!0)}});return()=>i()},{...t,name:n,describeKind:"derived",completeWhenDepsComplete:!1,errorWhenDepsError:!1,meta:N("onFailure",t?.meta)});return w(e,n,p,a.path?[a.path]:[]),p}export{L as a,H as b,U as c,V as d,z as e,J as f,Q as g,X as h,Y as i,Z as j,ee as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Y,b as m,c as M,d as S,e as C,f as N,g as L,h as k,i as D,j as _,k as P,l as he,n as se,q as ie,r as fe,s as pe,t as _e,u as re}from"./chunk-CK2E7BTU.js";var De={name:"json",version:1,contentType:"application/json",encode(n){let e=JSON.stringify(n);return new TextEncoder().encode(e)},decode(n,e){let t=new TextDecoder().decode(n);return JSON.parse(t)}};function $e(n){return{name:"dag-cbor",version:1,contentType:"application/dag-cbor",encode:e=>n.encode(e),decode:(e,t)=>n.decode(e)}}function je(n,e){return{name:"dag-cbor-zstd",version:1,contentType:"application/dag-cbor+zstd",encode:t=>e.compressSync(n.encode(t)),decode:(t,s)=>n.decode(e.decompressSync(t))}}var oe=1,ge=4;function ze(n,e){let t=new TextEncoder().encode(n.name);if(t.length===0||t.length>255)throw new Error(`encodeEnvelope: codec name "${n.name}" encodes to ${t.length} bytes (must be 1\u2013255)`);let s=n.version;if(!Number.isInteger(s)||s<0||s>65535)throw new Error(`encodeEnvelope: codec.version ${s} out of u16 range (expected integer 0\u201365535)`);let i=2+t.length+2+e.length;if(i>4294967295)throw new Error(`encodeEnvelope: total envelope size ${i} exceeds 2^32-1 bytes (payload ${e.length} bytes)`);let r=new Uint8Array(i),a=0;return r[a++]=oe,r[a++]=t.length,r.set(t,a),a+=t.length,r[a++]=s>>>8&255,r[a++]=s&255,r.set(e,a),r}function qe(n,e){if(n.length<ge)throw new Error(`decodeEnvelope: bytes too short (${n.length} < ${ge})`);let t=0,s=n[t++];if(s!==oe)throw new Error(`decodeEnvelope: unsupported envelope version ${s} (expected ${oe})`);let i=n[t++];if(i===0)throw new Error("decodeEnvelope: name_len must be >= 1");if(t+i+2>n.length)throw new Error(`decodeEnvelope: envelope truncated (need ${t+i+2} bytes, have ${n.length})`);let r=new TextDecoder().decode(n.subarray(t,t+i));t+=i;let a=(n[t]<<8|n[t+1])>>>0;t+=2;let o=n.subarray(t),d=e.lookupCodec(r);if(d==null)throw new Error(`decodeEnvelope: codec "${r}" not registered (envelope codec_v=${a})`);return{codec:d,codecVersion:a,payload:o}}function ye(n){n.registerCodec(De)}function Ke(n){if(n.length===0)throw new Error("WAL is empty \u2014 need at least one full snapshot");let e=n[0];if(e.mode!=="full")throw new Error("WAL must start with a full record carrying a baseline snapshot");let t=JSON.parse(JSON.stringify(e.snapshot)),s=e.seq;for(let i=1;i<n.length;i++){let r=n[i];if(r.seq<=s)throw new Error(`WAL chain broken at index ${i}: seq=${r.seq} must exceed prev seq=${s}`);if(r.mode==="full"){t=JSON.parse(JSON.stringify(r.snapshot)),s=r.seq;continue}let a=r.diff;for(let d of a.nodesRemoved)delete t.nodes[d];let o=a.nodesAddedFull;if(o!=null)for(let[d,l]of Object.entries(o))t.nodes[d]=JSON.parse(JSON.stringify(l));for(let d of a.nodesChanged){let l=t.nodes[d.path];l!=null&&(l[d.field]=d.to)}s=r.seq}return t}var Oe={type:"system",id:""};function J(n){if(n==null)return Oe;let{type:e,id:t,...s}=n;return{type:e??"system",id:t??"",...s}}var O=0,U=!1,A=[],E=[],R=[],W=[];function me(){return O>0||U}function be(){return O>0}function ve(n){O>0?W.push(n):n()}function Xe(n){O+=1;let e=!1;try{n()}catch(t){throw e=!0,t}finally{if(O-=1,O===0)if(e){if(!U){let t=W.splice(0);for(let s of t)try{s()}catch{}A.length=0,E.length=0,R.length=0}}else Re()}}function Re(){let n=!U;n&&(U=!0);let e=[],t=0;try{for(;A.length>0||E.length>0||R.length>0||n&&W.length>0;){if(n&&W.length>0){let r=W.splice(0);for(let a of r)try{a()}catch(o){e.push(o)}continue}if(t+=1,t>1e3)throw A.length=0,E.length=0,R.length=0,new Error("batch drain exceeded 1000 iterations \u2014 likely a reactive cycle");let i=(A.length>0?A:E.length>0?E:R).splice(0);for(let r of i)try{r()}catch(a){e.push(a)}}}finally{n&&(U=!1)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"batch drain: multiple callbacks threw")}function X(n,e,t){if(e.length===0)return;if(e.length===1){let l=t(e[0][0]);if(l<3||!me()){n(e);return}(l>=5?R:l===4?E:A).push(()=>n(e));return}let s=e.length,i=s,r=s,a=s,o=0;for(;o<s&&t(e[o][0])<3;)o++;for(i=o;o<s&&t(e[o][0])===3;)o++;for(r=o;o<s&&t(e[o][0])===4;)o++;a=o;let d=me();if(i>0){let l=e.slice(0,i);n(l)}if(r>i){let l=e.slice(i,r);d?A.push(()=>n(l)):n(l)}if(a>r){let l=e.slice(r,a);d?E.push(()=>n(l)):n(l)}if(s>a){let l=e.slice(a,s);d?R.push(()=>n(l)):n(l)}}function Qe(){return Math.trunc(performance.now()*1e6)}function we(){return Date.now()*1e6}var Z=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=t=>{let s=this._messageTypes.get(t);return s!=null?s.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}registerMessageType(e,t){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:t.tier,wireCrossing:t.wireCrossing??t.tier>=3,metaPassthrough:t.metaPassthrough??!0}),this}messageTier(e){let t=this._messageTypes.get(e);return t!=null?t.tier:1}isWireCrossing(e){let t=this._messageTypes.get(e);return t!=null?t.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let t=this._messageTypes.get(e);return t!=null?t.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}};function xe(n){n.registerMessageType(Y,{tier:0,wireCrossing:!1}),n.registerMessageType(M,{tier:1,wireCrossing:!1}),n.registerMessageType(C,{tier:1,wireCrossing:!1,metaPassthrough:!1}),n.registerMessageType(N,{tier:2,wireCrossing:!1}),n.registerMessageType(L,{tier:2,wireCrossing:!1}),n.registerMessageType(m,{tier:3,wireCrossing:!0}),n.registerMessageType(S,{tier:3,wireCrossing:!0}),n.registerMessageType(D,{tier:4,wireCrossing:!0,metaPassthrough:!1}),n.registerMessageType(_,{tier:4,wireCrossing:!0,metaPassthrough:!1}),n.registerMessageType(k,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var F=class extends Error{actor;action;nodeName;constructor(e,t){super(t??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}};function Te(n){return Array.isArray(n)?[...n]:[n]}function Fe(n,e){return n.has(e)||n.has("*")}function Ge(n){let e=[];return n((i,r)=>{e.push({kind:"allow",actions:new Set(Te(i)),where:r?.where??(()=>!0)})},(i,r)=>{e.push({kind:"deny",actions:new Set(Te(i)),where:r?.where??(()=>!0)})}),(i,r)=>{let a=!1,o=!1;for(let d of e)Fe(d.actions,r)&&d.where(i)&&(d.kind==="deny"?a=!0:o=!0);return a?!1:o}}function st(n){return Ge((e,t)=>{for(let s of n){let i=s.actorType==null?null:new Set(Array.isArray(s.actorType)?s.actorType:[s.actorType]),r=s.actorId==null?null:new Set(Array.isArray(s.actorId)?s.actorId:[s.actorId]),a=Object.entries(s.claims??{}),o=d=>{if(i!==null&&!i.has(String(d.type))||r!==null&&!r.has(String(d.id??"")))return!1;for(let[l,c]of a)if(d[l]!==c)return!1;return!0};s.effect==="deny"?t(s.action,{where:o}):e(s.action,{where:o})}})}var Ie=["human","llm","wallet","system"];function it(n){let e=Ie.filter(t=>n({type:t,id:""},"write"));return e.length===0?"restricted":e.includes("human")&&e.includes("llm")&&e.every(t=>t==="human"||t==="llm"||t==="system")?"both":e.length===1?e[0]:e.join("+")}function ae(n){if(n===void 0)return null;if(typeof n=="number"){if(!Number.isFinite(n))throw new TypeError(`Cannot hash non-finite number: ${n}`);if(Number.isInteger(n)&&!Number.isSafeInteger(n))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${n}. Cross-language cid parity is not guaranteed for unsafe integers.`);return n}if(typeof n=="string"||typeof n=="boolean"||n===null)return n;if(Array.isArray(n))return n.map(ae);if(typeof n=="object"&&n!==null){let e={};for(let t of Object.keys(n).sort())e[t]=ae(n[t]);return e}return null}var He=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ve=new TextEncoder;function Le(n){let e=Ve.encode(n),t=e.length,s=t*8,i=t+9+63&-64,r=new Uint8Array(i);r.set(e),r[t]=128;let a=new DataView(r.buffer);a.setUint32(i-4,s>>>0,!1),a.setUint32(i-8,Math.floor(s/4294967296)>>>0,!1);let o=1779033703,d=3144134277,l=1013904242,c=2773480762,u=1359893119,p=2600822924,h=528734635,b=1541459225,T=new Uint32Array(64),y=(w,g)=>w>>>g|w<<32-g;for(let w=0;w<i;w+=64){for(let f=0;f<16;f++)T[f]=a.getUint32(w+f*4,!1);for(let f=16;f<64;f++){let H=T[f-15],V=T[f-2],K=y(H,7)^y(H,18)^H>>>3,ne=y(V,17)^y(V,19)^V>>>10;T[f]=T[f-16]+K+T[f-7]+ne>>>0}let g=o,G=d,I=l,ee=c,x=u,z=p,q=h,te=b;for(let f=0;f<64;f++){let H=y(x,6)^y(x,11)^y(x,25),V=x&z^~x&q,K=te+H+V+He[f]+T[f]>>>0,ne=y(g,2)^y(g,13)^y(g,22),Se=g&G^g&I^G&I,Ce=ne+Se>>>0;te=q,q=z,z=x,x=ee+K>>>0,ee=I,I=G,G=g,g=K+Ce>>>0}o=o+g>>>0,d=d+G>>>0,l=l+I>>>0,c=c+ee>>>0,u=u+x>>>0,p=p+z>>>0,h=h+q>>>0,b=b+te>>>0}let v=w=>w.toString(16).padStart(8,"0");return v(o)+v(d)+v(l)+v(c)+v(u)+v(p)+v(h)+v(b)}function de(n){let e=ae(n??null),t=JSON.stringify(e);return Le(t).slice(0,16)}function Pe(){let n=globalThis.crypto;if(n?.randomUUID)return n.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),t=e()+e()+e()+e();return`${t.slice(0,8)}-${t.slice(8,12)}-4${t.slice(13,16)}-${(parseInt(t.slice(16,17),16)&3|8).toString(16)}${t.slice(17,20)}-${t.slice(20,32)}`}function le(n,e,t){let s=t?.id??Pe();if(n===0)return{id:s,version:0};let r=(t?.hash??de)(e);return{id:s,version:0,cid:r,prev:null}}function Ne(n,e,t){n.version+=1,"cid"in n&&(n.prev=n.cid,n.cid=t(e))}function ot(n){return"cid"in n}var ke=()=>{},Ae=100;function Ee(n){return{node:n,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function ce(n){n.prevData=void 0,n.dirty=!1,n.involvedThisWave=!1,n.dataBatch.length=0,n.terminal=void 0}function Q(n){return n.length===0?n:typeof n[0]=="symbol"?[n]:n}var Ue=(n,e,t,s)=>{t.direction==="down-in"&&n._onDepMessage(t.depIndex,e)},We=(n,e,t,s)=>{let i=n;if(i._status==="completed"||i._status==="errored")return;let r=i._cached,a=r===void 0?[se]:[se,[m,r]];i._status==="dirty"&&a.push(P),X(e,a,i._config.tierOf)},B=new Z({onMessage:Ue,onSubscribe:We});xe(B);ye(B);function gt(n){if(B._isFrozen())throw new Error("configure() called after a node was created \u2014 the default GraphReFlyConfig is frozen. Call configure(...) at application startup, before any node factories run.");n(B)}var $=class n{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,t,s){this._config=s.config??B,this._config.onMessage,this._optsName=s.name,this._describeKind=s.describeKind,this._equals=s.equals??Object.is,this._resubscribable=s.resubscribable??!1,this._resetOnTeardown=s.resetOnTeardown??!1,this._autoComplete=s.completeWhenDepsComplete??!0,this._autoError=s.errorWhenDepsError??!0,this._pausable=s.pausable??!0,this._guard=s.guard,this._fn=t,this._partial=s.partial??!1,this._cached=s.initial!==void 0?s.initial:void 0,this._status=e.length===0&&t==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=s.versioningHash??this._config.defaultHashFn??de;let i=s.versioning??this._config.defaultVersioning;this._versioningLevel=i,this._versioning=i!=null?le(i,this._cached===void 0?void 0:this._cached,{id:s.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(Ee);let r={};for(let[o,d]of Object.entries(s.meta??{})){let l={initial:d,name:`${s.name??"node"}:meta:${o}`,describeKind:"state",config:this._config};s.guard!=null&&(l.guard=s.guard),r[o]=new n([],void 0,l)}Object.freeze(r),this.meta=r,this._hasMeta=Object.keys(r).length>0;let a=this;this._actions={emit(o){a._emit([[m,o]])},down(o){a._emit(Q(o))},up(o){a._emitUp(Q(o))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,t){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let s=this._versioningLevel;if(s!=null&&e<=s)return;let i=t?.hash??this._hashFn;i!==this._hashFn&&(this._hashFn=i);let r=this._cached===void 0?void 0:this._cached,a=this._versioning,o=a?.id??t?.id,d=a?.version??0,l=le(e,r,{id:o,hash:i});l.version=d,this._versioning=l,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let t=J(e);if(this._guard!=null&&!this._guard(t,"observe"))return!1;if(this._extraGuards!=null){for(let s of this._extraGuards)if(!s(t,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let t=this._guard!=null||this._extraGuards!=null,s=e?.actor!=null;if(!t&&!s)return;let i=J(e?.actor),r=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(i,r))throw new F({actor:i,action:r,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(i,r))throw new F({actor:i,action:r,nodeName:this.name})}this._lastMutation={actor:i,timestamp_ns:we()}}down(e,t){let s=Q(e);s.length!==0&&(this._checkGuard(t),this._emit(s))}emit(e,t){this._checkGuard(t),this._emit([[m,e]])}up(e,t){if(this._deps.length===0)return;let s=Q(e);if(s.length===0)return;this._checkGuard(t);let i=t??{internal:!0};this._validateUpTiers(s);for(let r of this._deps)r.node.up?.(s,i)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let t of this._deps)t.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let t=this._config.tierOf;for(let s of e){let i=t(s[0]);if(i===3||i===4)throw new Error(`Node "${this.name}": tier-${i} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,t){if(t!=null&&this._guard!=null){let d=J(t);if(!this._guard(d,"observe"))throw new F({actor:d,action:"observe",nodeName:this.name})}let i=this._isTerminal&&this._resubscribable;if(i){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let d of this._deps)ce(d);if(this._partial===!1){for(let d of this._deps)if(d.prevData!==void 0||d.dataBatch.length!==0||d.terminal!==void 0||d.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let r;try{r=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:i},this._actions)}catch(d){throw this._sinkCount-=1,d}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(d){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof r=="function")try{r()}catch{}throw d}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let o=!1;return()=>{o||(o=!0,this._sinkCount-=1,this._removeSink(e),typeof r=="function"&&r(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[t]=this._sinks;this._sinks=t}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,t=0;try{for(let s=0;s<e;s++){let i=s,r=this._deps[s];r.unsub=ke,r.unsub=r.node.subscribe(a=>{if(r.unsub===null)return;let o=this._config.tierOf,d=!1;for(let l of a)o(l[0])>=3&&(d=!0),this._config.onMessage(this,l,{direction:"down-in",depIndex:i},this._actions);d&&this._maybeRunFnOnSettlement()}),t++}}catch(s){this._deps[t].unsub=null;for(let i=0;i<t;i++){let r=this._deps[i];if(r.unsub!=null){let a=r.unsub;r.unsub=null;try{a()}catch{}ce(r)}}throw this._dirtyDepCount=0,s}}_addDep(e){for(let i=0;i<this._deps.length;i++)if(this._deps[i].node===e)return i;let t=this._deps.length,s=Ee(e);if(this._deps.push(s),this._sinks==null)return t;s.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(ie),s.unsub=ke;try{s.unsub=e.subscribe(i=>{if(s.unsub===null)return;let r=this._config.tierOf,a=!1;for(let o of i)r(o[0])>=3&&(a=!0),this._config.onMessage(this,o,{direction:"down-in",depIndex:t},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(i){throw s.unsub=null,this._deps.pop(),this._dirtyDepCount--,i}return t}_deactivate(e=!1){let t=this._cleanup;if(this._cleanup=void 0,typeof t=="function")try{t()}catch(s){this._emit([[_,this._wrapFnError("cleanup threw",s)]])}else if(t!=null&&typeof t=="object"){let s=t.deactivate;if(typeof s=="function")try{s()}catch(i){this._emit([[_,this._wrapFnError("cleanup.deactivate threw",i)]])}}for(let s of this._deps){if(s.unsub!=null){let i=s.unsub;s.unsub=null;try{i()}catch{}}ce(s)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,t){let s=this._deps[e],i=t[0];if(this._inspectorHooks!=null){let r={kind:"dep_message",depIndex:e,message:t};for(let a of this._inspectorHooks)a(r)}if(i!==Y){if(i===M){this._depDirtied(s);return}if(i===C){this._depInvalidated(s),this._emit(pe);return}if(i===N||i===L){this._emit([t]);return}if(i===k){this._emit(re);return}if(i===m)this._depSettledAsData(s,t[1]);else if(i===S)this._depSettledAsResolved(s);else if(i===D)this._depSettledAsTerminal(s,!0);else if(i===_)this._depSettledAsTerminal(s,t[1]);else{this._emit([t]);return}if(!this._fn){(i===m||i===S)&&this._emit([t]),(i===D||i===_)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(ie))}_depSettledAsData(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(t),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,t){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=t,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let t=this._deps[e];if(t.dataBatch.length===0&&t.prevData===void 0&&t.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(fe),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(t=>t.terminal!==void 0&&t.terminal!==!0);if(e!=null){this._autoError&&this._emit([[_,e.terminal]]);return}this._autoComplete&&this._deps.every(t=>t.terminal!==void 0)&&this._emit(_e)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(a){this._emit([[_,this._wrapFnError("cleanup threw",a)]]);return}}else if(e!=null&&typeof e=="object"){let a=e.beforeRun;if(typeof a=="function"){e.beforeRun=void 0;try{a()}catch(o){this._emit([[_,this._wrapFnError("cleanup.beforeRun threw",o)]]);return}}}let t=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),s=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let o=t[a];o!=null&&o.length>0&&(this._deps[a].prevData=o[o.length-1])}let i=this._deps.map(a=>a.terminal),r={prevData:s,terminalDeps:i,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:t,prevData:s};for(let o of this._inspectorHooks)o(a)}this._isExecutingFn=!0;try{let a=this._fn(t,this._actions,r);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let o=a;(typeof o.beforeRun=="function"||typeof o.deactivate=="function"||typeof o.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[_,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>Ae?(this._rerunDepth=0,this._emit([[_,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${Ae} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,t){let s=t instanceof Error?t.message:String(t);return new Error(`Node "${this.name}": ${e}: ${s}`,{cause:t})}_frameBatch(e){let t=this._config.tierOf;if(e.length===1)return t(e[0][0])===3&&this._status!=="dirty"?[P,e[0]]:e;let s=!0,i=!1,r=!1,a=-1;for(let d of e){let l=t(d[0]);l<a&&(s=!1),l===3&&(i=!0),d[0]===M&&(r=!0),a=l}let o=e;if(!s){let d=e.map((l,c)=>({m:l,i:c,tier:t(l[0])}));d.sort((l,c)=>l.tier-c.tier||l.i-c.i),o=d.map(l=>l.m)}if(i&&!r&&this._status!=="dirty"){let d=0;for(;d<o.length&&t(o[d][0])===0;)d++;return d===0?[P,...o]:[...o.slice(0,d),P,...o.slice(d)]}return o}_emit(e){if(e.length===0)return;for(let o=0;o<e.length;o++){let d=e[o];if(d[0]===_&&d[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let t=e;if(this._isTerminal&&!this._resubscribable){let o=e.filter(d=>d[0]===k||d[0]===C);if(o.length===0)return;t=o}t=this._frameBatch(t);let i=null;for(let o=0;o<t.length;o++){let d=t[o],l=d[0];if(l!==N&&l!==L){i?.push(d);continue}if(d.length<2)throw new Error(`Node "${this.name}": [[${l===N?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let c=!0;if(this._pausable!==!1){let u=d[1];if(l===N)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(u),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(u))c=!1;else if(this._pauseLocks.delete(u),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}c?i?.push(d):i==null&&(i=t.slice(0,o))}if(i!=null){if(i.length===0)return;t=i}if(this._hasMeta&&t.some(o=>o[0]===k))for(let o of Object.keys(this.meta))try{this.meta[o]._emit(re)}catch{}let{finalMessages:r,equalsError:a}=this._updateState(t);if(r.length>0&&this._config.inspectorEnabled){let o=this._config.globalInspector;if(o!=null)try{o({kind:"emit",node:this,messages:r})}catch{}}if(r.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let o=this._config.tierOf,d=[];for(let l of r)o(l[0])===3?this._pauseBuffer.push(l):d.push(l);d.length>0&&this._dispatchOrAccumulate(d)}else this._dispatchOrAccumulate(r);a!=null&&this._emit([[_,a]])}_updateState(e){let t=this._config.tierOf,s,i,r=-1,a=0;for(let c of e)t(c[0])===3&&a++;let o=a<=1,d=-1;if(this._versioning!=null&&a>1){for(let c=e.length-1;c>=0;c--)if(e[c][0]===m){d=c;break}}for(let c=0;c<e.length;c++){let u=e[c],p=u[0];if(p===m){if(u.length>=2){let h=!1;if(o&&this._cached!==void 0)try{h=this._equals(this._cached,u[1])}catch(b){i=this._wrapFnError("equals threw",b),r=c;break}if(h){s==null&&(s=e.slice(0,c)),s.push(he),this._status="resolved";continue}this._cached=u[1],this._versioning!=null&&(d<0||c===d)&&Ne(this._versioning,u[1],this._hashFn)}this._status="settled",s?.push(u)}else if(s?.push(u),p===M)this._status="dirty";else if(p===S)this._status="resolved";else if(p===D)this._status="completed";else if(p===_)this._status="errored";else if(p===C){this._cached=void 0,this._status="dirty";let h=this._cleanup;if(typeof h=="function"){this._cleanup=void 0;try{h()}catch{}}else if(h!=null&&typeof h=="object"){let b=h.invalidate;if(typeof b=="function")try{b()}catch{}}}else p===k&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let l=r>=0?s??e.slice(0,r):s??e;return i!=null?{finalMessages:l,equalsError:i}:{finalMessages:l}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let t=[...this._sinks];for(let s of t)s(e)};_dispatchOrAccumulate(e){if(be()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],ve(()=>this._flushBatchPending()));for(let t of e)this._batchPendingMessages.push(t);return}X(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let t=this._frameBatch(e);X(this._deliverToSinks,t,this._config.tierOf)}},Me=n=>Array.isArray(n),ue=n=>typeof n=="object"&&n!=null&&!Array.isArray(n);function j(n,e,t){let s=Me(n)?n:[],i=typeof n=="function"?n:typeof e=="function"?e:void 0,r={};return Me(n)?r=(ue(e)?e:t)??{}:ue(n)?r=n:r=(ue(e)?e:t)??{},new $(s,i,r)}function bt(n,e){return j([],{...e,initial:n})}function vt(n,e){return j((s,i,r)=>n(i,r)??void 0,{describeKind:"producer",...e})}function Be(n,e,t){return j(n,(i,r,a)=>{let o=i.map((d,l)=>d!=null&&d.length>0?d.at(-1):a.prevData[l]);r.emit(e(o,a))},{describeKind:"derived",...t})}function wt(n,e,t){return j(n,(i,r,a)=>{let o=i.map((d,l)=>d!=null&&d.length>0?d.at(-1):a.prevData[l]);return e(o,r,a)??void 0},{describeKind:"effect",...t})}function xt(n,e,t){let s=new Map;return n.forEach((i,r)=>{s.set(i,r)}),Be(n,(i,r)=>e(o=>{let d=s.get(o);if(d==null)throw new Error(`dynamicNode: untracked dep "${o.name??"<unnamed>"}"`);return i[d]},r),t)}function Tt(n,e){let t,s=new Map,i=(r,a,o)=>{let d=!1,l=c=>{let u=s.get(c);if(u!==void 0){if(u<r.length){let h=r[u];return h!=null&&h.length>0?h.at(-1):o.prevData[u]}return c.cache}d=!0;let p=t._addDep(c);return s.set(c,p),c.cache};try{let c=n(l,o);d||(a.emit(c),o.store.__autoTrackLastDiscoveryError!=null&&delete o.store.__autoTrackLastDiscoveryError)}catch(c){if(!d)throw c;o.store.__autoTrackLastDiscoveryError=c}};return t=new $([],i,{describeKind:"derived",...e}),t}function Nt(n,...e){let t=n;for(let s of e)t=s(t);return t}export{De as a,$e as b,je as c,oe as d,ze as e,qe as f,ye as g,Ke as h,Oe as i,J as j,me as k,ve as l,Xe as m,X as n,Qe as o,we as p,Z as q,xe as r,F as s,Ge as t,st as u,it as v,de as w,le as x,Ne as y,ot as z,B as A,gt as B,$ as C,j as D,bt as E,vt as F,Be as G,wt as H,xt as I,Tt as J,Nt as K};
|