gemi 0.125.0 → 0.127.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/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/connections/ConnectionsController.d.ts.map +1 -1
- package/dist/auth/oauth/GoogleOAuthProvider.d.ts +1 -1
- package/dist/auth/oauth/GoogleOAuthProvider.d.ts.map +1 -1
- package/dist/auth/oauth/InstagramOAuthProvider.d.ts +1 -1
- package/dist/auth/oauth/InstagramOAuthProvider.d.ts.map +1 -1
- package/dist/auth/oauth/XOAuthProvider.d.ts.map +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-hff9w6rt.js → chunk-094m8mj3.js} +2 -2
- package/dist/{chunk-hff9w6rt.js.map → chunk-094m8mj3.js.map} +1 -1
- package/dist/chunk-0arss2xy.js +5 -0
- package/dist/{chunk-rany5zgk.js.map → chunk-0arss2xy.js.map} +5 -4
- package/dist/{chunk-mmqnq1qh.js → chunk-0f0xxqhy.js} +3 -3
- package/dist/{chunk-mmqnq1qh.js.map → chunk-0f0xxqhy.js.map} +1 -1
- package/dist/chunk-15bmfr7f.js +5 -0
- package/dist/{chunk-tabsxzg9.js.map → chunk-15bmfr7f.js.map} +5 -4
- package/dist/{chunk-910p6ne6.js → chunk-1dzs05dc.js} +2 -2
- package/dist/{chunk-910p6ne6.js.map → chunk-1dzs05dc.js.map} +1 -1
- package/dist/{chunk-rmgkc3a2.js → chunk-1eb4p352.js} +2 -2
- package/dist/{chunk-rmgkc3a2.js.map → chunk-1eb4p352.js.map} +1 -1
- package/dist/{chunk-cwt8e782.js → chunk-1gd1ykgj.js} +3 -3
- package/dist/{chunk-cwt8e782.js.map → chunk-1gd1ykgj.js.map} +1 -1
- package/dist/{chunk-stn0a56e.js → chunk-1v368y9a.js} +2 -2
- package/dist/{chunk-stn0a56e.js.map → chunk-1v368y9a.js.map} +1 -1
- package/dist/{chunk-x2j84d06.js → chunk-28bby5pp.js} +2 -2
- package/dist/{chunk-x2j84d06.js.map → chunk-28bby5pp.js.map} +1 -1
- package/dist/{chunk-gp00enrk.js → chunk-3fyhd641.js} +1 -1
- package/dist/{chunk-j5rwv09s.js → chunk-3hndrc5z.js} +2 -2
- package/dist/{chunk-j5rwv09s.js.map → chunk-3hndrc5z.js.map} +1 -1
- package/dist/chunk-3p9vj0h6.js +10 -0
- package/dist/{chunk-b4x1dt3s.js.map → chunk-3p9vj0h6.js.map} +4 -3
- package/dist/{chunk-ex41d03h.js → chunk-43faxwf5.js} +2 -2
- package/dist/{chunk-ex41d03h.js.map → chunk-43faxwf5.js.map} +1 -1
- package/dist/{chunk-ey1xrbaz.js → chunk-56ryda9y.js} +2 -2
- package/dist/{chunk-ey1xrbaz.js.map → chunk-56ryda9y.js.map} +1 -1
- package/dist/{chunk-t2t63wa0.js → chunk-5vvfcdpk.js} +2 -2
- package/dist/{chunk-t2t63wa0.js.map → chunk-5vvfcdpk.js.map} +1 -1
- package/dist/{chunk-p5df4pn7.js → chunk-62zn06wb.js} +2 -2
- package/dist/{chunk-p5df4pn7.js.map → chunk-62zn06wb.js.map} +1 -1
- package/dist/chunk-6c8pn6hj.js +57 -0
- package/dist/{chunk-eyptwf54.js.map → chunk-6c8pn6hj.js.map} +11 -6
- package/dist/{chunk-3br5zr7a.js → chunk-7dzprr9b.js} +3 -3
- package/dist/{chunk-3br5zr7a.js.map → chunk-7dzprr9b.js.map} +1 -1
- package/dist/{chunk-erzfs4t2.js → chunk-7eerqsg2.js} +2 -2
- package/dist/{chunk-erzfs4t2.js.map → chunk-7eerqsg2.js.map} +1 -1
- package/dist/{chunk-z5nfve1k.js → chunk-7nfprr9v.js} +2 -2
- package/dist/{chunk-z5nfve1k.js.map → chunk-7nfprr9v.js.map} +1 -1
- package/dist/{chunk-1jcngq6w.js → chunk-7x2n788t.js} +3 -3
- package/dist/{chunk-1jcngq6w.js.map → chunk-7x2n788t.js.map} +1 -1
- package/dist/{chunk-rwmja4zs.js → chunk-84rbdyhe.js} +2 -2
- package/dist/{chunk-rwmja4zs.js.map → chunk-84rbdyhe.js.map} +1 -1
- package/dist/chunk-87bmhng2.js +5 -0
- package/dist/{chunk-1xmh61fg.js.map → chunk-87bmhng2.js.map} +1 -1
- package/dist/{chunk-c0qpv8x7.js → chunk-87jj7n9q.js} +2 -2
- package/dist/{chunk-c0qpv8x7.js.map → chunk-87jj7n9q.js.map} +1 -1
- package/dist/{chunk-hxn0s3zh.js → chunk-89swy5aq.js} +2 -2
- package/dist/{chunk-hxn0s3zh.js.map → chunk-89swy5aq.js.map} +1 -1
- package/dist/{chunk-y9f2see3.js → chunk-8df7fn7f.js} +3 -3
- package/dist/{chunk-y9f2see3.js.map → chunk-8df7fn7f.js.map} +1 -1
- package/dist/{chunk-bny9s44t.js → chunk-99z9d0sa.js} +2 -2
- package/dist/{chunk-bny9s44t.js.map → chunk-99z9d0sa.js.map} +1 -1
- package/dist/{chunk-by5gwr8x.js → chunk-9hhxy88x.js} +2 -2
- package/dist/{chunk-by5gwr8x.js.map → chunk-9hhxy88x.js.map} +1 -1
- package/dist/{chunk-yhht1j7f.js → chunk-9x0pgkns.js} +2 -2
- package/dist/{chunk-yhht1j7f.js.map → chunk-9x0pgkns.js.map} +1 -1
- package/dist/{chunk-dy58aztm.js → chunk-avfntxm1.js} +2 -2
- package/dist/{chunk-dy58aztm.js.map → chunk-avfntxm1.js.map} +1 -1
- package/dist/{chunk-h8w9mzjj.js → chunk-b2pdqxj3.js} +11 -11
- package/dist/{chunk-h8w9mzjj.js.map → chunk-b2pdqxj3.js.map} +3 -4
- package/dist/{chunk-j12hpdxk.js → chunk-bghxdjqv.js} +1 -1
- package/dist/{chunk-6vz75swk.js → chunk-bhbxhk9e.js} +2 -2
- package/dist/{chunk-6vz75swk.js.map → chunk-bhbxhk9e.js.map} +1 -1
- package/dist/{chunk-6q6bhkyf.js → chunk-c48gag78.js} +1 -1
- package/dist/{chunk-5fh4pvyt.js → chunk-c65rh4k8.js} +2 -2
- package/dist/{chunk-5fh4pvyt.js.map → chunk-c65rh4k8.js.map} +1 -1
- package/dist/{chunk-6wgh7nk6.js → chunk-dm7mada7.js} +3 -3
- package/dist/{chunk-6wgh7nk6.js.map → chunk-dm7mada7.js.map} +1 -1
- package/dist/{chunk-1mxb44n9.js → chunk-ebdkmzm9.js} +2 -2
- package/dist/{chunk-1mxb44n9.js.map → chunk-ebdkmzm9.js.map} +1 -1
- package/dist/{chunk-xfvegbxn.js → chunk-ecb8qggy.js} +2 -2
- package/dist/{chunk-xfvegbxn.js.map → chunk-ecb8qggy.js.map} +1 -1
- package/dist/{chunk-p6jbmcrg.js → chunk-etf6h5m1.js} +2 -2
- package/dist/{chunk-p6jbmcrg.js.map → chunk-etf6h5m1.js.map} +1 -1
- package/dist/{chunk-zq5375wd.js → chunk-ewv1m1sv.js} +3 -3
- package/dist/{chunk-zq5375wd.js.map → chunk-ewv1m1sv.js.map} +1 -1
- package/dist/{chunk-dxyxd7b3.js → chunk-gv59djt3.js} +2 -2
- package/dist/{chunk-dxyxd7b3.js.map → chunk-gv59djt3.js.map} +1 -1
- package/dist/{chunk-8tvfmy1a.js → chunk-gxp48t81.js} +4 -4
- package/dist/{chunk-8tvfmy1a.js.map → chunk-gxp48t81.js.map} +1 -1
- package/dist/{chunk-r923001x.js → chunk-h4755p9h.js} +2 -2
- package/dist/{chunk-r923001x.js.map → chunk-h4755p9h.js.map} +1 -1
- package/dist/{chunk-q6ah4yjg.js → chunk-hye22tpt.js} +2 -2
- package/dist/{chunk-q6ah4yjg.js.map → chunk-hye22tpt.js.map} +1 -1
- package/dist/{chunk-eq5svwca.js → chunk-jg3kg55f.js} +2 -2
- package/dist/{chunk-eq5svwca.js.map → chunk-jg3kg55f.js.map} +1 -1
- package/dist/{chunk-s4semb89.js → chunk-k6gvbvyw.js} +1 -1
- package/dist/{chunk-vhvvjaj3.js → chunk-kzk5r6v4.js} +3 -3
- package/dist/{chunk-vhvvjaj3.js.map → chunk-kzk5r6v4.js.map} +1 -1
- package/dist/{chunk-ghcvztxn.js → chunk-m63v6aze.js} +2 -2
- package/dist/{chunk-ghcvztxn.js.map → chunk-m63v6aze.js.map} +1 -1
- package/dist/{chunk-khdkrfxp.js → chunk-mj4n5mar.js} +2 -2
- package/dist/{chunk-khdkrfxp.js.map → chunk-mj4n5mar.js.map} +1 -1
- package/dist/{chunk-kcsa57km.js → chunk-mj7h1dgh.js} +2 -2
- package/dist/{chunk-kcsa57km.js.map → chunk-mj7h1dgh.js.map} +1 -1
- package/dist/{chunk-3kxe9geg.js → chunk-n8mxsfc2.js} +3 -3
- package/dist/{chunk-3kxe9geg.js.map → chunk-n8mxsfc2.js.map} +1 -1
- package/dist/{chunk-n3z83qhq.js → chunk-nrf23yan.js} +2 -2
- package/dist/{chunk-n3z83qhq.js.map → chunk-nrf23yan.js.map} +1 -1
- package/dist/{chunk-sv125fqq.js → chunk-nv2t87c3.js} +2 -2
- package/dist/{chunk-sv125fqq.js.map → chunk-nv2t87c3.js.map} +1 -1
- package/dist/{chunk-j10a0m7q.js → chunk-p0ccxfkq.js} +1 -1
- package/dist/{chunk-crnfxn9n.js → chunk-p7abyc0b.js} +2 -2
- package/dist/{chunk-crnfxn9n.js.map → chunk-p7abyc0b.js.map} +1 -1
- package/dist/{chunk-hzen9gh4.js → chunk-psdyfaf1.js} +2 -2
- package/dist/{chunk-hzen9gh4.js.map → chunk-psdyfaf1.js.map} +1 -1
- package/dist/{chunk-cpem1j1x.js → chunk-pxstrw29.js} +2 -2
- package/dist/{chunk-cpem1j1x.js.map → chunk-pxstrw29.js.map} +1 -1
- package/dist/{chunk-knq4ack4.js → chunk-q9mxjh10.js} +2 -2
- package/dist/{chunk-knq4ack4.js.map → chunk-q9mxjh10.js.map} +1 -1
- package/dist/{chunk-7zj6bk9a.js → chunk-qmcjh6de.js} +2 -2
- package/dist/{chunk-7zj6bk9a.js.map → chunk-qmcjh6de.js.map} +1 -1
- package/dist/{chunk-k1ebt28j.js → chunk-qy3s6pwz.js} +2 -2
- package/dist/{chunk-k1ebt28j.js.map → chunk-qy3s6pwz.js.map} +1 -1
- package/dist/{chunk-rvspb96n.js → chunk-rtb64x14.js} +3 -3
- package/dist/{chunk-rvspb96n.js.map → chunk-rtb64x14.js.map} +1 -1
- package/dist/{chunk-ayfjjgv2.js → chunk-rvdsaqdv.js} +1 -1
- package/dist/{chunk-7vrrgxwm.js → chunk-s0kns9q1.js} +3 -3
- package/dist/{chunk-7vrrgxwm.js.map → chunk-s0kns9q1.js.map} +1 -1
- package/dist/{chunk-entpqjyn.js → chunk-s2krqtwj.js} +2 -2
- package/dist/{chunk-entpqjyn.js.map → chunk-s2krqtwj.js.map} +1 -1
- package/dist/{chunk-xe2pm36q.js → chunk-s2y2b8tz.js} +2 -2
- package/dist/{chunk-xe2pm36q.js.map → chunk-s2y2b8tz.js.map} +1 -1
- package/dist/{chunk-t6qpm2j7.js → chunk-t8kzaxaa.js} +2 -2
- package/dist/{chunk-t6qpm2j7.js.map → chunk-t8kzaxaa.js.map} +1 -1
- package/dist/{chunk-0x1s02r1.js → chunk-v1eeh7a7.js} +3 -3
- package/dist/{chunk-0x1s02r1.js.map → chunk-v1eeh7a7.js.map} +1 -1
- package/dist/{chunk-npbf06c1.js → chunk-v7nw1g2n.js} +2 -2
- package/dist/{chunk-npbf06c1.js.map → chunk-v7nw1g2n.js.map} +1 -1
- package/dist/{chunk-b7a22evs.js → chunk-v80890xx.js} +3 -3
- package/dist/{chunk-b7a22evs.js.map → chunk-v80890xx.js.map} +1 -1
- package/dist/{chunk-p7mvp5nf.js → chunk-w4111j5d.js} +2 -2
- package/dist/{chunk-p7mvp5nf.js.map → chunk-w4111j5d.js.map} +1 -1
- package/dist/{chunk-m7pghdcy.js → chunk-wat33wxh.js} +2 -2
- package/dist/{chunk-m7pghdcy.js.map → chunk-wat33wxh.js.map} +1 -1
- package/dist/{chunk-1n40bdxf.js → chunk-x5vpjzpp.js} +2 -2
- package/dist/{chunk-1n40bdxf.js.map → chunk-x5vpjzpp.js.map} +1 -1
- package/dist/{chunk-g52fcwca.js → chunk-xe2cfmyb.js} +2 -2
- package/dist/{chunk-g52fcwca.js.map → chunk-xe2cfmyb.js.map} +1 -1
- package/dist/{chunk-jykkqwcy.js → chunk-ych1dv5q.js} +3 -3
- package/dist/{chunk-jykkqwcy.js.map → chunk-ych1dv5q.js.map} +1 -1
- package/dist/{chunk-ap3g6rbw.js → chunk-yffm8nxa.js} +2 -2
- package/dist/{chunk-ap3g6rbw.js.map → chunk-yffm8nxa.js.map} +1 -1
- package/dist/{chunk-6gwxvmjv.js → chunk-yg8se4vs.js} +3 -3
- package/dist/{chunk-6gwxvmjv.js.map → chunk-yg8se4vs.js.map} +1 -1
- package/dist/{chunk-s4xg69r9.js → chunk-yhxjhrvp.js} +2 -2
- package/dist/{chunk-s4xg69r9.js.map → chunk-yhxjhrvp.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-CS2a1snV.js → ThemeProvider-BIrCSrFY.js} +2 -2
- package/dist/chunks/{ThemeProvider-CS2a1snV.js.map → ThemeProvider-BIrCSrFY.js.map} +1 -1
- package/dist/client/fetchFile.d.ts +66 -0
- package/dist/client/fetchFile.d.ts.map +1 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +121 -23
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc.d.ts +11 -0
- package/dist/client/rpc.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts +9 -0
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Cache.d.ts +36 -0
- package/dist/facades/Cache.d.ts.map +1 -0
- package/dist/facades/Url.d.ts +12 -1
- package/dist/facades/Url.d.ts.map +1 -1
- package/dist/facades/index.d.ts +1 -0
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/gemi.d.ts +4 -0
- package/dist/http/ApiRouter.d.ts +40 -3
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/Metadata.d.ts.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/index.js.map +3 -3
- package/dist/kernel/providers.d.ts +2 -2
- package/dist/kernel/providers.d.ts.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/cache/CacheManager.d.ts +115 -0
- package/dist/services/cache/CacheManager.d.ts.map +1 -0
- package/dist/services/cache/CacheServiceProvider.d.ts +5 -0
- package/dist/services/cache/CacheServiceProvider.d.ts.map +1 -0
- package/dist/services/cache/CacheStore.d.ts +26 -0
- package/dist/services/cache/CacheStore.d.ts.map +1 -0
- package/dist/services/cache/MemoryCacheStore.d.ts +36 -0
- package/dist/services/cache/MemoryCacheStore.d.ts.map +1 -0
- package/dist/services/cache/RedisCacheStore.d.ts +54 -0
- package/dist/services/cache/RedisCacheStore.d.ts.map +1 -0
- package/dist/services/cache/config.d.ts +35 -0
- package/dist/services/cache/config.d.ts.map +1 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +9 -9
- package/dist/services/index.js.map +5 -5
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/utils/appOrigin.d.ts +19 -0
- package/dist/utils/appOrigin.d.ts.map +1 -0
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/rules/query-no-hand-rolled-fetch.md +14 -0
- package/dist/chunk-1xmh61fg.js +0 -5
- package/dist/chunk-b4x1dt3s.js +0 -10
- package/dist/chunk-eyptwf54.js +0 -57
- package/dist/chunk-rany5zgk.js +0 -5
- package/dist/chunk-tabsxzg9.js +0 -5
- /package/dist/{chunk-gp00enrk.js.map → chunk-3fyhd641.js.map} +0 -0
- /package/dist/{chunk-j12hpdxk.js.map → chunk-bghxdjqv.js.map} +0 -0
- /package/dist/{chunk-6q6bhkyf.js.map → chunk-c48gag78.js.map} +0 -0
- /package/dist/{chunk-s4semb89.js.map → chunk-k6gvbvyw.js.map} +0 -0
- /package/dist/{chunk-j10a0m7q.js.map → chunk-p0ccxfkq.js.map} +0 -0
- /package/dist/{chunk-ayfjjgv2.js.map → chunk-rvdsaqdv.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{oa as w,pa as P,qa as R,ra as b}from"./chunk-a22h5cby.js";import{ua as K,va as _,wa as L,xa as A}from"./chunk-epvpmakp.js";import{ya as I}from"./chunk-r3v2cnrj.js";import{Aa as E,za as T}from"./chunk-
|
|
2
|
+
import{oa as w,pa as P,qa as R,ra as b}from"./chunk-a22h5cby.js";import{ua as K,va as _,wa as L,xa as A}from"./chunk-epvpmakp.js";import{ya as I}from"./chunk-r3v2cnrj.js";import{Aa as E,za as T}from"./chunk-c65rh4k8.js";var i=["gemi","gemi/client","gemi/http","gemi/app","gemi/facades","gemi/email","gemi/kernel","gemi/services","gemi/i18n","gemi/dictionary"];function O(q){return q==="gemi"||q.startsWith("gemi/")}import{parseAstAsync as h}from"vite";var V="virtual:gemi-dict/",x="\x00virtual:gemi-dict/",f=new Set(["gemi/dictionary","gemi/client","gemi/i18n"]),y="gemi/dictionary";function B(){let q=new Map;return{name:"gemi-plugin-dictionary",enforce:"post",resolveId(H){if(H.startsWith(V))return`\x00${H}`;return null},async load(H){if(!H.startsWith(x))return null;let Q=H.slice(x.length),W=Q.lastIndexOf("/"),J=Q.slice(0,W),Y=Q.slice(W+1),$=q.get(J);if(!$){let M=g(J);if(M){try{await this.load({id:M})}catch{}$=q.get(J)}}if(!$)return this.error(`No dictionary registered for "${J}". If this persists, restart the dev server.`),null;let G=_($.translations,Y,$.locales);return`export default ${JSON.stringify(G)};
|
|
3
3
|
`},async transform(H,Q){if(!H.includes("defineDictionary"))return null;if(Q.startsWith("\x00")||Q.includes("/node_modules/"))return null;let W=await h(H),J=new Set;for(let Z of W.body){if(Z.type!=="ImportDeclaration")continue;if(!f.has(Z.source?.value))continue;for(let z of Z.specifiers??[])if(z.type==="ImportSpecifier"&&z.imported?.name==="defineDictionary")J.add(z.local.name)}let Y=[],$=0;if(X(W,(Z)=>{if(Z.type!=="CallExpression")return;let z=Z.callee;if(z?.type==="Identifier"&&J.has(z.name)){Y.push(Z);return}if((z?.type==="Identifier"?z.name:z?.type==="MemberExpression"&&!z.computed?z.property?.name:void 0)==="defineDictionary")$++}),$>0&&p(W,"defineDictionary"))$=0;if($>0)this.warn(`${Q}: ${$} defineDictionary() call(s) could not be traced to an import of "gemi/dictionary", "gemi/client" or "gemi/i18n", so their locales were left inline and will all ship to the browser. Import defineDictionary directly by name rather than through a namespace import or a local re-export.`);if(Y.length===0)return null;let G=new T(H),M=!1;for(let Z of Y){if(Z.arguments?.length<1||Z.arguments?.length>2)this.error({message:"defineDictionary() takes an object literal and an optional options object.",pos:Z.start});let z=m(Z.arguments[0],(j)=>this.error({message:j,pos:Z.arguments[0]?.start??Z.start})),F=v(Z.arguments[1],(j)=>this.error({message:j,pos:Z.arguments[1]?.start??Z.start})),D=A(z),C=`${Buffer.from(Q).toString("base64url")}/${D}`,N=K(z,F);if(N.length===0)this.error({message:'defineDictionary() declares no locales \u2014 every key needs at least one "<locale>": "<string>" entry.',pos:Z.start});if(!F){let j=L(z);if(j)this.error({message:`defineDictionary() cannot infer a source language. Key "${j.againstKey}" lists "${j.againstFirst}" first but "${j.key}" lists "${j.first}" first, so the locale every key falls back to depends on the order `+"they are written in \u2014 moving one key would change what language a reader sees. "+'Pass { sourceLocale: "<locale>" } as the second argument to pin it.',pos:Z.start})}q.set(C,{id:D,locales:N,translations:z});let S=N.map((j)=>`${JSON.stringify(j)}:()=>import(${JSON.stringify(`${V}${C}/${j}`)})`).join(",");G.overwrite(Z.start,Z.end,`__gemi_dict__(${JSON.stringify(D)},{${S}})`),M=!0}if(!M)return null;return G.append(`
|
|
4
4
|
import { __gemi_dict__ } from ${JSON.stringify(y)};
|
|
5
5
|
`),{code:G.toString(),map:G.generateMap({hires:!0})}}}}function g(q){let H=q.indexOf("/");if(H===-1)return null;try{return Buffer.from(q.slice(0,H),"base64url").toString("utf8")}catch{return null}}function m(q,H){if(q?.type!=="ObjectExpression")H("defineDictionary() needs an inline object literal \u2014 it is read at build time, so a variable or spread cannot be resolved.");let Q={};for(let W of q.properties){let J=U(W);if(J===null)H("defineDictionary() keys must be plain string keys \u2014 computed keys and spreads cannot be read at build time.");if(W.value?.type!=="ObjectExpression")H(`defineDictionary() entry "${J}" must be an object of "<locale>": "<string>" pairs.`);let Y={};for(let $ of W.value.properties){let G=U($);if(G===null)H(`defineDictionary() entry "${J}" has a locale key that cannot be read at build time.`);let M=$.value;if(M?.type!=="Literal"||typeof M.value!=="string")H(`defineDictionary() entry "${J}" locale "${G}" must be a string literal. Use {{param}} interpolation instead of a template literal or a function.`);Y[G]=M.value}Q[J]=Y}return Q}function v(q,H){if(q===void 0)return;if(q.type!=="ObjectExpression")H("defineDictionary() options must be an inline object literal \u2014 it is read at build time.");for(let Q of q.properties){if(U(Q)!=="sourceLocale")continue;let W=Q.value;if(W?.type!=="Literal"||typeof W.value!=="string")H("defineDictionary() sourceLocale must be a string literal.");return W.value}return}function p(q,H){let Q=!1;return X(q,(W)=>{if(Q)return;if(W.type==="FunctionDeclaration"&&W.id?.name===H)Q=!0;if(W.type==="VariableDeclarator"&&W.id?.name===H)Q=!0}),Q}function U(q){if(q?.type!=="Property"||q.computed)return null;if(q.key?.type==="Identifier")return q.key.name;if(q.key?.type==="Literal"&&typeof q.key.value==="string")return q.key.value;return null}function X(q,H){if(q===null||typeof q!=="object")return;if(Array.isArray(q)){for(let Q of q)X(Q,H);return}if(typeof q.type==="string")H(q);for(let Q of Object.keys(q)){if(Q==="parent")continue;let W=q[Q];if(W&&typeof W==="object")X(W,H)}}import{mkdir as u,writeFile as c}from"fs/promises";import{dirname as r,join as t}from"path";function k(q){let H;return{name:"gemi-plugin-asset-base",config:(Q,W)=>W.command==="build"&&q?{base:q}:void 0,configResolved(Q){H=Q},async writeBundle(Q){if(!H||H.command!=="build"||H.build.ssr||!Q.dir)return;let W=t(Q.dir,P);await u(r(W),{recursive:!0}),await c(W,`${JSON.stringify({assetBase:d(H.base)})}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Pk as n}from"./chunk-89swy5aq.js";var w=n((p)=>{var r={warningEmitted:!1},a=(e)=>{if(e&&!r.warningEmitted&&parseInt(e.substring(1,e.indexOf(".")))<20)r.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
|
3
3
|
no longer support Node.js ${e} in January 2026.
|
|
4
4
|
|
|
5
5
|
To continue receiving updates to AWS services, bug fixes, and security
|
|
@@ -8,4 +8,4 @@ updates please upgrade to a supported Node.js LTS version.
|
|
|
8
8
|
More information can be found at: https://a.co/c895JFp`)};function o(e,t,s){if(!e.$source)e.$source={};return e.$source[t]=s,e}function u(e,t,s){if(!e.__aws_sdk_context)e.__aws_sdk_context={features:{}};else if(!e.__aws_sdk_context.features)e.__aws_sdk_context.features={};e.__aws_sdk_context.features[t]=s}function i(e,t,s){if(!e.$source)e.$source={};return e.$source[t]=s,e}p.emitWarningIfUnsupportedVersion=a;p.setCredentialFeature=o;p.setFeature=u;p.setTokenFeature=i;p.state=r});
|
|
9
9
|
export{w as Q};
|
|
10
10
|
|
|
11
|
-
//# debugId=
|
|
11
|
+
//# debugId=8552A07A94E1069B64756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"'use strict';\n\nconst state = {\n warningEmitted: false,\n};\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n\nfunction setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n\nfunction setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n\nfunction setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.setCredentialFeature = setCredentialFeature;\nexports.setFeature = setFeature;\nexports.setTokenFeature = setTokenFeature;\nexports.state = state;\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";uDAEA,IAAM,EAAQ,CACV,eAAgB,EACpB,EACM,EAAkC,CAAC,IAAY,CACjD,GAAI,GAAW,CAAC,EAAM,gBAAkB,SAAS,EAAQ,UAAU,EAAG,EAAQ,QAAQ,GAAG,CAAC,CAAC,EAAI,GAC3F,EAAM,eAAiB,GACvB,QAAQ,YAAY;AAAA,4BACA;AAAA;AAAA;AAAA;AAAA;AAAA,uDAK2B,GAIvD,SAAS,CAAoB,CAAC,EAAa,EAAS,EAAO,CACvD,GAAI,CAAC,EAAY,QACb,EAAY,QAAU,CAAC,EAG3B,OADA,EAAY,QAAQ,GAAW,EACxB,EAGX,SAAS,CAAU,CAAC,EAAS,EAAS,EAAO,CACzC,GAAI,CAAC,EAAQ,kBACT,EAAQ,kBAAoB,CACxB,SAAU,CAAC,CACf,EAEC,QAAI,CAAC,EAAQ,kBAAkB,SAChC,EAAQ,kBAAkB,SAAW,CAAC,EAE1C,EAAQ,kBAAkB,SAAS,GAAW,EAGlD,SAAS,CAAe,CAAC,EAAO,EAAS,EAAO,CAC5C,GAAI,CAAC,EAAM,QACP,EAAM,QAAU,CAAC,EAGrB,OADA,EAAM,QAAQ,GAAW,EAClB,EAGH,kCAAkC,EAClC,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,QAAQ",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "8552A07A94E1069B64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./chunk-hxn0s3zh.js";import Eu from"os";import Au from"fs";var Wl=new Map,hh=new Map,nh=Symbol("OriginError"),Dl={};class fl extends Promise{constructor(l,n,u,c,w={}){let E,t;super((_,B)=>{E=_,t=B});this.tagged=Array.isArray(l.raw),this.strings=l,this.args=n,this.handler=u,this.canceller=c,this.options=w,this.state=null,this.statement=null,this.resolve=(_)=>(this.active=!1,E(_)),this.reject=(_)=>(this.active=!1,t(_)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[nh]=this.handler.debug?Error():this.tagged&&vn(this.strings)}get origin(){return(this.handler.debug?this[nh].stack:this.tagged&&hh.has(this.strings)?hh.get(this.strings):hh.set(this.strings,this[nh].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(l=1,n){if(this.options.simple=!1,typeof l==="function")n=l,l=1;if(this.cursorRows=l,typeof n==="function")return this.cursorFn=n,this;let u;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};u&&u();let c=new Promise((w,E)=>{this.cursorFn=(t)=>{return w({value:t,done:!1}),new Promise((_)=>u=_)},this.resolve=()=>(this.active=!1,w({done:!0})),this.reject=(t)=>(this.active=!1,E(t))});return this.execute(),c},return(){return u&&u(Dl),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw Error(".stream has been renamed to .forEach")}forEach(l){return this.forEachFn=l,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function vn(l){if(Wl.has(l))return Wl.get(l);let n=Error.stackTraceLimit;return Error.stackTraceLimit=4,Wl.set(l,Error()),Error.stackTraceLimit=n,Wl.get(l)}class Yl extends Error{constructor(l){super(l.message);this.name=this.constructor.name,Object.assign(this,l)}}var K={connection:Th,postgres:Xh,generic:Ch,notSupported:Zh};function Th(l,n,u){let{host:c,port:w}=u||n,E=Object.assign(Error("write "+l+" "+(n.path||c+":"+w)),{code:l,errno:l,address:n.path||c},n.path?{}:{port:w});return Error.captureStackTrace(E,Th),E}function Xh(l){let n=new Yl(l);return Error.captureStackTrace(n,Xh),n}function Ch(l,n){let u=Object.assign(Error(l+": "+n),{code:l});return Error.captureStackTrace(u,Ch),u}function Zh(l){let n=Object.assign(Error(l+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:l});return Error.captureStackTrace(n,Zh),n}var mn={string:{to:25,from:null,serialize:(l)=>""+l},number:{to:0,from:[21,23,26,700,701],serialize:(l)=>""+l,parse:(l)=>+l},json:{to:114,from:[114,3802],serialize:(l)=>JSON.stringify(l),parse:(l)=>JSON.parse(l)},boolean:{to:16,from:16,serialize:(l)=>l===!0?"t":"f",parse:(l)=>l==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(l)=>(l instanceof Date?l:new Date(l)).toISOString(),parse:(l)=>new Date(l)},bytea:{to:17,from:17,serialize:(l)=>"\\x"+Buffer.from(l).toString("hex"),parse:(l)=>Buffer.from(l.slice(2),"hex")}};class ml{then(){uh()}catch(){uh()}finally(){uh()}}class il extends ml{constructor(l){super();this.value=el(l)}}class wl extends ml{constructor(l,n,u){super();this.value=l,this.type=n,this.array=u}}class bl extends ml{constructor(l,n){super();this.first=l,this.rest=n}build(l,n,u,c){let w=bn.map(([E,t])=>({fn:t,i:l.search(E)})).sort((E,t)=>E.i-t.i).pop();return w.i===-1?_h(this.first,c):w.fn(this.first,this.rest,n,u,c)}}function al(l,n,u,c){let w=l instanceof wl?l.value:l;if(w===void 0){if(l instanceof wl?l.value=c.transform.undefined:w=l=c.transform.undefined,w===void 0)throw K.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+u.push(l instanceof wl?(n.push(l.value),l.array?l.array[l.type||vl(l.value)]||l.type||ih(l.value):l.type):(n.push(l),vl(l)))}var Hh=Qh(mn);function th(l,n,u,c,w,E){for(let t=1;t<l.strings.length;t++)n+=wh(n,u,c,w,E)+l.strings[t],u=l.args[t];return n}function wh(l,n,u,c,w){return n instanceof bl?n.build(l,u,c,w):n instanceof fl?ch(n,u,c,w):n instanceof il?n.value:n&&n[0]instanceof fl?n.reduce((E,t)=>E+" "+ch(t,u,c,w),""):al(n,u,c,w)}function ch(l,n,u,c){return l.fragment=!0,th(l,l.strings[0],l.args[0],n,u,c)}function zh(l,n,u,c,w){return l.map((E)=>"("+c.map((t)=>wh("values",E[t],n,u,w)).join(",")+")").join(",")}function Fh(l,n,u,c,w){let E=Array.isArray(l[0]),t=n.length?n.flat():Object.keys(E?l[0]:l);return zh(E?l:[l],u,c,t,w)}function Kl(l,n,u,c,w){if(typeof l==="string"&&(l=[l].concat(n)),Array.isArray(l))return _h(l,w);let E;return(n.length?n.flat():Object.keys(l)).map((_)=>{return E=l[_],(E instanceof fl?ch(E,u,c,w):E instanceof il?E.value:al(E,u,c,w))+" as "+el(w.transform.column.to?w.transform.column.to(_):_)}).join(",")}var bn=Object.entries({values:Fh,in:(...l)=>{let n=Fh(...l);return n==="()"?"(null)":n},select:Kl,as:Kl,returning:Kl,"\\(":Kl,update(l,n,u,c,w){return(n.length?n.flat():Object.keys(l)).map((E)=>el(w.transform.column.to?w.transform.column.to(E):E)+"="+wh("values",l[E],u,c,w))},insert(l,n,u,c,w){let E=n.length?n.flat():Object.keys(Array.isArray(l)?l[0]:l);return"("+_h(E,w)+")values"+zh(Array.isArray(l)?l:[l],u,c,E,w)}}).map(([l,n])=>[new RegExp("((?:^|[\\s(])"+l+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),n]);function uh(){throw K.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:an,parsers:en}=Hh;function ih(l){if(Array.isArray(l))return ih(l[0]);return typeof l==="string"?1009:0}var Jh=function(l){let n=Qh(l||{});return{serializers:Object.assign({},an,n.serializers),parsers:Object.assign({},en,n.parsers)}};function Qh(l){return Object.keys(l).reduce((n,u)=>{if(l[u].from&&[].concat(l[u].from).forEach((c)=>n.parsers[c]=l[u].parse),l[u].serialize)n.serializers[l[u].to]=l[u].serialize,l[u].from&&[].concat(l[u].from).forEach((c)=>n.serializers[c]=l[u].serialize);return n},{parsers:{},serializers:{}})}function _h(l,{transform:{column:n}}){return l.map((u)=>el(n.to?n.to(u):u)).join(",")}var el=function(n){return'"'+n.replace(/"/g,'""').replace(/\./g,'"."')+'"'},vl=function l(n){return n instanceof wl?n.type:n instanceof Date?1184:n instanceof Uint8Array?17:n===!0||n===!1?16:typeof n==="bigint"?20:Array.isArray(n)?l(n[0]):0},kn=/\\/g,on=/"/g;function pn(l){return l.replace(kn,"\\\\").replace(on,"\\\"")}var Vh=function l(n,u,c,w){if(Array.isArray(n)===!1)return n;if(!n.length)return"{}";let E=n[0],t=w===1020?";":",";if(Array.isArray(E)&&!E.type)return"{"+n.map((_)=>l(_,u,c,w)).join(t)+"}";return"{"+n.map((_)=>{if(_===void 0){if(_=c.transform.undefined,_===void 0)throw K.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return _===null?"null":'"'+pn(u?u(_.type?_.value:_):""+_)+'"'}).join(t)+"}"},fh={i:0,char:null,str:"",quoted:!1,last:0},Wh=function(n,u,c){return fh.i=fh.last=0,Kh(fh,n,u,c)};function Kh(l,n,u,c){let w=[],E=c===1020?";":",";for(;l.i<n.length;l.i++){if(l.char=n[l.i],l.quoted)if(l.char==="\\")l.str+=n[++l.i];else if(l.char==='"')w.push(u?u(l.str):l.str),l.str="",l.quoted=n[l.i+1]==='"',l.last=l.i+2;else l.str+=l.char;else if(l.char==='"')l.quoted=!0;else if(l.char==="{")l.last=++l.i,w.push(Kh(l,n,u,c));else if(l.char==="}"){l.quoted=!1,l.last<l.i&&w.push(u?u(n.slice(l.last,l.i)):n.slice(l.last,l.i)),l.last=l.i+1;break}else if(l.char===E&&l.p!=="}"&&l.p!=='"')w.push(u?u(n.slice(l.last,l.i)):n.slice(l.last,l.i)),l.last=l.i+1;l.p=l.char}return l.last<l.i&&w.push(u?u(n.slice(l.last,l.i+1)):n.slice(l.last,l.i+1)),w}var Sl=(l)=>{let n=l[0];for(let u=1;u<l.length;u++)n+=l[u]==="_"?l[++u].toUpperCase():l[u];return n},Gl=(l)=>{let n=l[0].toUpperCase();for(let u=1;u<l.length;u++)n+=l[u]==="_"?l[++u].toUpperCase():l[u];return n},jl=(l)=>l.replace(/_/g,"-"),Fl=(l)=>l.replace(/([A-Z])/g,"_$1").toLowerCase(),Hl=(l)=>(l.slice(0,1)+l.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),zl=(l)=>l.replace(/-/g,"_");function Oh(l){return function n(u,c){return typeof u==="object"&&u!==null&&(c.type===114||c.type===3802)?Array.isArray(u)?u.map((w)=>n(w,c)):Object.entries(u).reduce((w,[E,t])=>Object.assign(w,{[l(E)]:n(t,c)}),{}):u}}Sl.column={from:Sl};Sl.value={from:Oh(Sl)};Fl.column={to:Fl};var Eh={...Sl};Eh.column.to=Fl;Gl.column={from:Gl};Gl.value={from:Oh(Gl)};Hl.column={to:Hl};var Ah={...Gl};Ah.column.to=Hl;jl.column={from:jl};jl.value={from:Oh(jl)};zl.column={to:zl};var Uh={...jl};Uh.column.to=zl;import vh from"net";import qn from"tls";import Jl from"crypto";import $h from"stream";import{performance as mh}from"perf_hooks";class Ml extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var hl=yn;function yn(l=[]){let n=l.slice(),u=0;return{get length(){return n.length-u},remove:(c)=>{let w=n.indexOf(c);return w===-1?null:(n.splice(w,1),c)},push:(c)=>(n.push(c),c),shift:()=>{let c=n[u++];if(u===n.length)u=0,n=[];else n[u-1]=void 0;return c}}}var p=Buffer.allocUnsafe(256),rn="BCcDdEFfHPpQSX".split("").reduce((l,n)=>{let u=n.charCodeAt(0);return l[n]=()=>{return p[0]=u,R.i=5,R},l},{}),R=Object.assign(sn,rn,{N:String.fromCharCode(0),i:0,inc(l){return R.i+=l,R},str(l){let n=Buffer.byteLength(l);return kl(n),R.i+=p.write(l,R.i,n,"utf8"),R},i16(l){return kl(2),p.writeUInt16BE(l,R.i),R.i+=2,R},i32(l,n){if(n||n===0)return p.writeUInt32BE(l,n),R;return kl(4),p.writeUInt32BE(l,R.i),R.i+=4,R},z(l){return kl(l),p.fill(0,R.i,R.i+l),R.i+=l,R},raw(l){return p=Buffer.concat([p.subarray(0,R.i),l]),R.i=p.length,R},end(l=1){p.writeUInt32BE(R.i-l,l);let n=p.subarray(0,R.i);return R.i=0,p=Buffer.allocUnsafe(256),n}}),$=R;function kl(l){if(p.length-R.i<l){let n=p,u=n.length;p=Buffer.allocUnsafe(u+(u>>1)+l),n.copy(p)}}function sn(){return R.i=0,R}var Bh=eh,xn=1,Bl=$().S().end(),bh=$().H().end(),lu=$().i32(8).i32(80877103).end(8),hu=Buffer.concat([$().E().str($.N).i32(0).end(),Bl]),nu=$().D().str("S").str($.N).end(),Rl=()=>{},uu=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),fu={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function eh(l,n={},{onopen:u=Rl,onend:c=Rl,onclose:w=Rl}={}){let{sslnegotiation:E,ssl:t,max:_,user:B,host:Q,port:T,database:Y,parsers:j,transform:M,onnotice:H,onnotify:I,onparameter:b,max_pipeline:Z,keep_alive:cl,backoff:nl,target_session_attrs:x}=l,d=hl(),Ul=xn++,_l={pid:null,secret:null},Pl=gh(xl,l.idle_timeout),Il=gh(xl,l.max_lifetime),L=gh(xh,l.connect_timeout),U=null,Ol,q=null,N=new Ml,y=Buffer.alloc(0),dl=l.fetch_types,El={},O={},S=Math.random().toString(36).slice(2),F=1,v=0,V=0,G=0,D=0,i=0,J=0,m=0,r=null,X=null,Al=!1,tl=null,$l=null,e=null,z=null,C=null,ll=null,Ql=null,sl=null,A=null,Tl=null,k={queue:n.closed,idleTimer:Pl,connect(h){e=h,Lh()},terminate:Zl,execute:Xl,cancel:yh,end:xl,count:0,id:Ul};return n.closed&&n.closed.push(k),k;async function ph(){let h;try{h=l.socket?await Promise.resolve(l.socket(l)):new vh.Socket}catch(f){Nl(f);return}return h.on("error",Nl),h.on("close",Nh),h.on("drain",Ph),h}async function yh({pid:h,secret:f},g,P){try{Ol=$().i32(16).i32(80877102).i32(h).i32(f).end(16),await dh(),U.once("error",P),U.once("close",g)}catch(W){P(W)}}function Xl(h){if(Al)return Cl(h,K.connection("CONNECTION_DESTROYED",l));if(C)return Cl(h,K.generic("COPY_IN_PROGRESS","You cannot execute queries during copy"));if(h.cancelled)return;try{return h.state=_l,A?d.push(h):(A=h,A.active=!0),qh(h),a(rh(h))&&!h.describeFirst&&!h.cursorFn&&d.length<Z&&(!h.options.onexecute||h.options.onexecute(k))}catch(f){return d.length===0&&a(Bl),ul(f),!0}}function rh(h){if(h.parameters.length>=65534)throw K.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return h.options.simple?$().Q().str(h.statement.string+$.N).end():h.describeFirst?Buffer.concat([Gh(h),bh]):h.prepare?h.prepared?Vl(h):Buffer.concat([Gh(h),Vl(h)]):sh(h)}function Gh(h){return Buffer.concat([Yh(h.statement.string,h.parameters,h.statement.types,h.statement.name),Vn("S",h.statement.name)])}function Vl(h){return Buffer.concat([Qn(h.parameters,h.statement.types,h.statement.name,h.cursorName),h.cursorFn?Rh("",h.cursorRows):hu])}function sh(h){return Buffer.concat([Yh(h.statement.string,h.parameters,h.statement.types),nu,Vl(h)])}function qh(h){let f=[],g=[],P=th(h,h.strings[0],h.args[0],f,g,l);!h.tagged&&h.args.forEach((W)=>al(W,f,g,l)),h.prepare=l.prepare&&("prepare"in h.options?h.options.prepare:!0),h.string=P,h.signature=h.prepare&&g+P,h.onlyDescribe&&delete O[h.signature],h.parameters=h.parameters||f,h.prepared=h.prepare&&h.signature in O,h.describeFirst=h.onlyDescribe||f.length&&!h.prepared,h.statement=h.prepared?O[h.signature]:{string:P,types:g,name:h.prepare?S+F++:""},typeof l.debug==="function"&&l.debug(Ul,P,f,g)}function a(h,f){if(ll=ll?Buffer.concat([ll,h]):Buffer.from(h),f||ll.length>=1024)return jh(f);return X===null&&(X=setImmediate(jh)),!0}function jh(h){let f=U.write(ll,h);return X!==null&&clearImmediate(X),ll=X=null,f}function xh(){ul(K.connection("CONNECT_TIMEOUT",l,U)),U.destroy()}async function Mh(){if(E!=="direct"){if(a(lu),!await new Promise((g)=>U.once("data",(P)=>g(P[0]===83)))&&t==="prefer")return Ll()}let h={socket:U,servername:vh.isIP(U.host)?void 0:U.host};if(E==="direct")h.ALPNProtocols=["postgresql"];if(t==="require"||t==="allow"||t==="prefer")h.rejectUnauthorized=!1;else if(typeof t==="object")Object.assign(h,t);U.removeAllListeners(),U=qn.connect(h),U.on("secureConnect",Ll),U.on("error",Nl),U.on("close",Nh),U.on("drain",Ph)}function Ph(){!A&&u(k)}function ql(h){if(tl){if(tl.push(h),V-=h.length,V>0)return}y=tl?Buffer.concat(tl,i-V):y.length===0?h:Buffer.concat([y,h],y.length+h.length);while(y.length>4){if(i=y.readUInt32BE(1),i>=y.length){V=i-y.length,tl=[y];break}try{ln(y.subarray(0,i+1))}catch(f){A&&(A.cursorFn||A.describeFirst)&&a(Bl),ul(f)}y=y.subarray(i+1),V=0,tl=null}}async function dh(){if(Al=!1,El={},U||(U=await ph()),!U)return;if(L.start(),l.socket)return t?Mh():Ll();if(U.on("connect",t?Mh:Ll),l.path)return U.connect(l.path);U.ssl=t,U.connect(T[G],Q[G]),U.host=Q[G],U.port=T[G],G=(G+1)%T.length}function Lh(){setTimeout(dh,v?Math.max(0,v+J-mh.now()):0)}function Ll(){try{O={},dl=l.fetch_types,S=Math.random().toString(36).slice(2),F=1,Il.start(),U.on("data",ql),cl&&U.setKeepAlive&&U.setKeepAlive(!0,1000*cl);let h=Kn();a(h)}catch(h){Nl(h)}}function Nl(h){if(k.queue===n.connecting&&l.host[D+1])return;ul(h);while(d.length)Cl(d.shift(),h)}function ul(h){C&&(C.destroy(h),C=null),A&&Cl(A,h),e&&(Cl(e,h),e=null)}function Cl(h,f){if(h.reserve)return h.reject(f);if(!f||typeof f!=="object")f=Error(f);"query"in f||"parameters"in f||Object.defineProperties(f,{stack:{value:f.stack+h.origin.replace(/.*\n/,`
|
|
2
|
+
import"./chunk-89swy5aq.js";import Eu from"os";import Au from"fs";var Wl=new Map,hh=new Map,nh=Symbol("OriginError"),Dl={};class fl extends Promise{constructor(l,n,u,c,w={}){let E,t;super((_,B)=>{E=_,t=B});this.tagged=Array.isArray(l.raw),this.strings=l,this.args=n,this.handler=u,this.canceller=c,this.options=w,this.state=null,this.statement=null,this.resolve=(_)=>(this.active=!1,E(_)),this.reject=(_)=>(this.active=!1,t(_)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[nh]=this.handler.debug?Error():this.tagged&&vn(this.strings)}get origin(){return(this.handler.debug?this[nh].stack:this.tagged&&hh.has(this.strings)?hh.get(this.strings):hh.set(this.strings,this[nh].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(l=1,n){if(this.options.simple=!1,typeof l==="function")n=l,l=1;if(this.cursorRows=l,typeof n==="function")return this.cursorFn=n,this;let u;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};u&&u();let c=new Promise((w,E)=>{this.cursorFn=(t)=>{return w({value:t,done:!1}),new Promise((_)=>u=_)},this.resolve=()=>(this.active=!1,w({done:!0})),this.reject=(t)=>(this.active=!1,E(t))});return this.execute(),c},return(){return u&&u(Dl),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw Error(".stream has been renamed to .forEach")}forEach(l){return this.forEachFn=l,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function vn(l){if(Wl.has(l))return Wl.get(l);let n=Error.stackTraceLimit;return Error.stackTraceLimit=4,Wl.set(l,Error()),Error.stackTraceLimit=n,Wl.get(l)}class Yl extends Error{constructor(l){super(l.message);this.name=this.constructor.name,Object.assign(this,l)}}var K={connection:Th,postgres:Xh,generic:Ch,notSupported:Zh};function Th(l,n,u){let{host:c,port:w}=u||n,E=Object.assign(Error("write "+l+" "+(n.path||c+":"+w)),{code:l,errno:l,address:n.path||c},n.path?{}:{port:w});return Error.captureStackTrace(E,Th),E}function Xh(l){let n=new Yl(l);return Error.captureStackTrace(n,Xh),n}function Ch(l,n){let u=Object.assign(Error(l+": "+n),{code:l});return Error.captureStackTrace(u,Ch),u}function Zh(l){let n=Object.assign(Error(l+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:l});return Error.captureStackTrace(n,Zh),n}var mn={string:{to:25,from:null,serialize:(l)=>""+l},number:{to:0,from:[21,23,26,700,701],serialize:(l)=>""+l,parse:(l)=>+l},json:{to:114,from:[114,3802],serialize:(l)=>JSON.stringify(l),parse:(l)=>JSON.parse(l)},boolean:{to:16,from:16,serialize:(l)=>l===!0?"t":"f",parse:(l)=>l==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(l)=>(l instanceof Date?l:new Date(l)).toISOString(),parse:(l)=>new Date(l)},bytea:{to:17,from:17,serialize:(l)=>"\\x"+Buffer.from(l).toString("hex"),parse:(l)=>Buffer.from(l.slice(2),"hex")}};class ml{then(){uh()}catch(){uh()}finally(){uh()}}class il extends ml{constructor(l){super();this.value=el(l)}}class wl extends ml{constructor(l,n,u){super();this.value=l,this.type=n,this.array=u}}class bl extends ml{constructor(l,n){super();this.first=l,this.rest=n}build(l,n,u,c){let w=bn.map(([E,t])=>({fn:t,i:l.search(E)})).sort((E,t)=>E.i-t.i).pop();return w.i===-1?_h(this.first,c):w.fn(this.first,this.rest,n,u,c)}}function al(l,n,u,c){let w=l instanceof wl?l.value:l;if(w===void 0){if(l instanceof wl?l.value=c.transform.undefined:w=l=c.transform.undefined,w===void 0)throw K.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+u.push(l instanceof wl?(n.push(l.value),l.array?l.array[l.type||vl(l.value)]||l.type||ih(l.value):l.type):(n.push(l),vl(l)))}var Hh=Qh(mn);function th(l,n,u,c,w,E){for(let t=1;t<l.strings.length;t++)n+=wh(n,u,c,w,E)+l.strings[t],u=l.args[t];return n}function wh(l,n,u,c,w){return n instanceof bl?n.build(l,u,c,w):n instanceof fl?ch(n,u,c,w):n instanceof il?n.value:n&&n[0]instanceof fl?n.reduce((E,t)=>E+" "+ch(t,u,c,w),""):al(n,u,c,w)}function ch(l,n,u,c){return l.fragment=!0,th(l,l.strings[0],l.args[0],n,u,c)}function zh(l,n,u,c,w){return l.map((E)=>"("+c.map((t)=>wh("values",E[t],n,u,w)).join(",")+")").join(",")}function Fh(l,n,u,c,w){let E=Array.isArray(l[0]),t=n.length?n.flat():Object.keys(E?l[0]:l);return zh(E?l:[l],u,c,t,w)}function Kl(l,n,u,c,w){if(typeof l==="string"&&(l=[l].concat(n)),Array.isArray(l))return _h(l,w);let E;return(n.length?n.flat():Object.keys(l)).map((_)=>{return E=l[_],(E instanceof fl?ch(E,u,c,w):E instanceof il?E.value:al(E,u,c,w))+" as "+el(w.transform.column.to?w.transform.column.to(_):_)}).join(",")}var bn=Object.entries({values:Fh,in:(...l)=>{let n=Fh(...l);return n==="()"?"(null)":n},select:Kl,as:Kl,returning:Kl,"\\(":Kl,update(l,n,u,c,w){return(n.length?n.flat():Object.keys(l)).map((E)=>el(w.transform.column.to?w.transform.column.to(E):E)+"="+wh("values",l[E],u,c,w))},insert(l,n,u,c,w){let E=n.length?n.flat():Object.keys(Array.isArray(l)?l[0]:l);return"("+_h(E,w)+")values"+zh(Array.isArray(l)?l:[l],u,c,E,w)}}).map(([l,n])=>[new RegExp("((?:^|[\\s(])"+l+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),n]);function uh(){throw K.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:an,parsers:en}=Hh;function ih(l){if(Array.isArray(l))return ih(l[0]);return typeof l==="string"?1009:0}var Jh=function(l){let n=Qh(l||{});return{serializers:Object.assign({},an,n.serializers),parsers:Object.assign({},en,n.parsers)}};function Qh(l){return Object.keys(l).reduce((n,u)=>{if(l[u].from&&[].concat(l[u].from).forEach((c)=>n.parsers[c]=l[u].parse),l[u].serialize)n.serializers[l[u].to]=l[u].serialize,l[u].from&&[].concat(l[u].from).forEach((c)=>n.serializers[c]=l[u].serialize);return n},{parsers:{},serializers:{}})}function _h(l,{transform:{column:n}}){return l.map((u)=>el(n.to?n.to(u):u)).join(",")}var el=function(n){return'"'+n.replace(/"/g,'""').replace(/\./g,'"."')+'"'},vl=function l(n){return n instanceof wl?n.type:n instanceof Date?1184:n instanceof Uint8Array?17:n===!0||n===!1?16:typeof n==="bigint"?20:Array.isArray(n)?l(n[0]):0},kn=/\\/g,on=/"/g;function pn(l){return l.replace(kn,"\\\\").replace(on,"\\\"")}var Vh=function l(n,u,c,w){if(Array.isArray(n)===!1)return n;if(!n.length)return"{}";let E=n[0],t=w===1020?";":",";if(Array.isArray(E)&&!E.type)return"{"+n.map((_)=>l(_,u,c,w)).join(t)+"}";return"{"+n.map((_)=>{if(_===void 0){if(_=c.transform.undefined,_===void 0)throw K.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return _===null?"null":'"'+pn(u?u(_.type?_.value:_):""+_)+'"'}).join(t)+"}"},fh={i:0,char:null,str:"",quoted:!1,last:0},Wh=function(n,u,c){return fh.i=fh.last=0,Kh(fh,n,u,c)};function Kh(l,n,u,c){let w=[],E=c===1020?";":",";for(;l.i<n.length;l.i++){if(l.char=n[l.i],l.quoted)if(l.char==="\\")l.str+=n[++l.i];else if(l.char==='"')w.push(u?u(l.str):l.str),l.str="",l.quoted=n[l.i+1]==='"',l.last=l.i+2;else l.str+=l.char;else if(l.char==='"')l.quoted=!0;else if(l.char==="{")l.last=++l.i,w.push(Kh(l,n,u,c));else if(l.char==="}"){l.quoted=!1,l.last<l.i&&w.push(u?u(n.slice(l.last,l.i)):n.slice(l.last,l.i)),l.last=l.i+1;break}else if(l.char===E&&l.p!=="}"&&l.p!=='"')w.push(u?u(n.slice(l.last,l.i)):n.slice(l.last,l.i)),l.last=l.i+1;l.p=l.char}return l.last<l.i&&w.push(u?u(n.slice(l.last,l.i+1)):n.slice(l.last,l.i+1)),w}var Sl=(l)=>{let n=l[0];for(let u=1;u<l.length;u++)n+=l[u]==="_"?l[++u].toUpperCase():l[u];return n},Gl=(l)=>{let n=l[0].toUpperCase();for(let u=1;u<l.length;u++)n+=l[u]==="_"?l[++u].toUpperCase():l[u];return n},jl=(l)=>l.replace(/_/g,"-"),Fl=(l)=>l.replace(/([A-Z])/g,"_$1").toLowerCase(),Hl=(l)=>(l.slice(0,1)+l.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),zl=(l)=>l.replace(/-/g,"_");function Oh(l){return function n(u,c){return typeof u==="object"&&u!==null&&(c.type===114||c.type===3802)?Array.isArray(u)?u.map((w)=>n(w,c)):Object.entries(u).reduce((w,[E,t])=>Object.assign(w,{[l(E)]:n(t,c)}),{}):u}}Sl.column={from:Sl};Sl.value={from:Oh(Sl)};Fl.column={to:Fl};var Eh={...Sl};Eh.column.to=Fl;Gl.column={from:Gl};Gl.value={from:Oh(Gl)};Hl.column={to:Hl};var Ah={...Gl};Ah.column.to=Hl;jl.column={from:jl};jl.value={from:Oh(jl)};zl.column={to:zl};var Uh={...jl};Uh.column.to=zl;import vh from"net";import qn from"tls";import Jl from"crypto";import $h from"stream";import{performance as mh}from"perf_hooks";class Ml extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var hl=yn;function yn(l=[]){let n=l.slice(),u=0;return{get length(){return n.length-u},remove:(c)=>{let w=n.indexOf(c);return w===-1?null:(n.splice(w,1),c)},push:(c)=>(n.push(c),c),shift:()=>{let c=n[u++];if(u===n.length)u=0,n=[];else n[u-1]=void 0;return c}}}var p=Buffer.allocUnsafe(256),rn="BCcDdEFfHPpQSX".split("").reduce((l,n)=>{let u=n.charCodeAt(0);return l[n]=()=>{return p[0]=u,R.i=5,R},l},{}),R=Object.assign(sn,rn,{N:String.fromCharCode(0),i:0,inc(l){return R.i+=l,R},str(l){let n=Buffer.byteLength(l);return kl(n),R.i+=p.write(l,R.i,n,"utf8"),R},i16(l){return kl(2),p.writeUInt16BE(l,R.i),R.i+=2,R},i32(l,n){if(n||n===0)return p.writeUInt32BE(l,n),R;return kl(4),p.writeUInt32BE(l,R.i),R.i+=4,R},z(l){return kl(l),p.fill(0,R.i,R.i+l),R.i+=l,R},raw(l){return p=Buffer.concat([p.subarray(0,R.i),l]),R.i=p.length,R},end(l=1){p.writeUInt32BE(R.i-l,l);let n=p.subarray(0,R.i);return R.i=0,p=Buffer.allocUnsafe(256),n}}),$=R;function kl(l){if(p.length-R.i<l){let n=p,u=n.length;p=Buffer.allocUnsafe(u+(u>>1)+l),n.copy(p)}}function sn(){return R.i=0,R}var Bh=eh,xn=1,Bl=$().S().end(),bh=$().H().end(),lu=$().i32(8).i32(80877103).end(8),hu=Buffer.concat([$().E().str($.N).i32(0).end(),Bl]),nu=$().D().str("S").str($.N).end(),Rl=()=>{},uu=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),fu={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function eh(l,n={},{onopen:u=Rl,onend:c=Rl,onclose:w=Rl}={}){let{sslnegotiation:E,ssl:t,max:_,user:B,host:Q,port:T,database:Y,parsers:j,transform:M,onnotice:H,onnotify:I,onparameter:b,max_pipeline:Z,keep_alive:cl,backoff:nl,target_session_attrs:x}=l,d=hl(),Ul=xn++,_l={pid:null,secret:null},Pl=gh(xl,l.idle_timeout),Il=gh(xl,l.max_lifetime),L=gh(xh,l.connect_timeout),U=null,Ol,q=null,N=new Ml,y=Buffer.alloc(0),dl=l.fetch_types,El={},O={},S=Math.random().toString(36).slice(2),F=1,v=0,V=0,G=0,D=0,i=0,J=0,m=0,r=null,X=null,Al=!1,tl=null,$l=null,e=null,z=null,C=null,ll=null,Ql=null,sl=null,A=null,Tl=null,k={queue:n.closed,idleTimer:Pl,connect(h){e=h,Lh()},terminate:Zl,execute:Xl,cancel:yh,end:xl,count:0,id:Ul};return n.closed&&n.closed.push(k),k;async function ph(){let h;try{h=l.socket?await Promise.resolve(l.socket(l)):new vh.Socket}catch(f){Nl(f);return}return h.on("error",Nl),h.on("close",Nh),h.on("drain",Ph),h}async function yh({pid:h,secret:f},g,P){try{Ol=$().i32(16).i32(80877102).i32(h).i32(f).end(16),await dh(),U.once("error",P),U.once("close",g)}catch(W){P(W)}}function Xl(h){if(Al)return Cl(h,K.connection("CONNECTION_DESTROYED",l));if(C)return Cl(h,K.generic("COPY_IN_PROGRESS","You cannot execute queries during copy"));if(h.cancelled)return;try{return h.state=_l,A?d.push(h):(A=h,A.active=!0),qh(h),a(rh(h))&&!h.describeFirst&&!h.cursorFn&&d.length<Z&&(!h.options.onexecute||h.options.onexecute(k))}catch(f){return d.length===0&&a(Bl),ul(f),!0}}function rh(h){if(h.parameters.length>=65534)throw K.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return h.options.simple?$().Q().str(h.statement.string+$.N).end():h.describeFirst?Buffer.concat([Gh(h),bh]):h.prepare?h.prepared?Vl(h):Buffer.concat([Gh(h),Vl(h)]):sh(h)}function Gh(h){return Buffer.concat([Yh(h.statement.string,h.parameters,h.statement.types,h.statement.name),Vn("S",h.statement.name)])}function Vl(h){return Buffer.concat([Qn(h.parameters,h.statement.types,h.statement.name,h.cursorName),h.cursorFn?Rh("",h.cursorRows):hu])}function sh(h){return Buffer.concat([Yh(h.statement.string,h.parameters,h.statement.types),nu,Vl(h)])}function qh(h){let f=[],g=[],P=th(h,h.strings[0],h.args[0],f,g,l);!h.tagged&&h.args.forEach((W)=>al(W,f,g,l)),h.prepare=l.prepare&&("prepare"in h.options?h.options.prepare:!0),h.string=P,h.signature=h.prepare&&g+P,h.onlyDescribe&&delete O[h.signature],h.parameters=h.parameters||f,h.prepared=h.prepare&&h.signature in O,h.describeFirst=h.onlyDescribe||f.length&&!h.prepared,h.statement=h.prepared?O[h.signature]:{string:P,types:g,name:h.prepare?S+F++:""},typeof l.debug==="function"&&l.debug(Ul,P,f,g)}function a(h,f){if(ll=ll?Buffer.concat([ll,h]):Buffer.from(h),f||ll.length>=1024)return jh(f);return X===null&&(X=setImmediate(jh)),!0}function jh(h){let f=U.write(ll,h);return X!==null&&clearImmediate(X),ll=X=null,f}function xh(){ul(K.connection("CONNECT_TIMEOUT",l,U)),U.destroy()}async function Mh(){if(E!=="direct"){if(a(lu),!await new Promise((g)=>U.once("data",(P)=>g(P[0]===83)))&&t==="prefer")return Ll()}let h={socket:U,servername:vh.isIP(U.host)?void 0:U.host};if(E==="direct")h.ALPNProtocols=["postgresql"];if(t==="require"||t==="allow"||t==="prefer")h.rejectUnauthorized=!1;else if(typeof t==="object")Object.assign(h,t);U.removeAllListeners(),U=qn.connect(h),U.on("secureConnect",Ll),U.on("error",Nl),U.on("close",Nh),U.on("drain",Ph)}function Ph(){!A&&u(k)}function ql(h){if(tl){if(tl.push(h),V-=h.length,V>0)return}y=tl?Buffer.concat(tl,i-V):y.length===0?h:Buffer.concat([y,h],y.length+h.length);while(y.length>4){if(i=y.readUInt32BE(1),i>=y.length){V=i-y.length,tl=[y];break}try{ln(y.subarray(0,i+1))}catch(f){A&&(A.cursorFn||A.describeFirst)&&a(Bl),ul(f)}y=y.subarray(i+1),V=0,tl=null}}async function dh(){if(Al=!1,El={},U||(U=await ph()),!U)return;if(L.start(),l.socket)return t?Mh():Ll();if(U.on("connect",t?Mh:Ll),l.path)return U.connect(l.path);U.ssl=t,U.connect(T[G],Q[G]),U.host=Q[G],U.port=T[G],G=(G+1)%T.length}function Lh(){setTimeout(dh,v?Math.max(0,v+J-mh.now()):0)}function Ll(){try{O={},dl=l.fetch_types,S=Math.random().toString(36).slice(2),F=1,Il.start(),U.on("data",ql),cl&&U.setKeepAlive&&U.setKeepAlive(!0,1000*cl);let h=Kn();a(h)}catch(h){Nl(h)}}function Nl(h){if(k.queue===n.connecting&&l.host[D+1])return;ul(h);while(d.length)Cl(d.shift(),h)}function ul(h){C&&(C.destroy(h),C=null),A&&Cl(A,h),e&&(Cl(e,h),e=null)}function Cl(h,f){if(h.reserve)return h.reject(f);if(!f||typeof f!=="object")f=Error(f);"query"in f||"parameters"in f||Object.defineProperties(f,{stack:{value:f.stack+h.origin.replace(/.*\n/,`
|
|
3
3
|
`),enumerable:l.debug},query:{value:h.string,enumerable:l.debug},parameters:{value:h.parameters,enumerable:l.debug},args:{value:h.args,enumerable:l.debug},types:{value:h.statement&&h.statement.types,enumerable:l.debug}}),h.reject(f)}function xl(){return z||(!k.reserved&&c(k),!k.reserved&&!e&&!A&&d.length===0?(Zl(),new Promise((h)=>U&&U.readyState!=="closed"?U.once("close",h):h())):z=new Promise((h)=>Ql=h))}function Zl(){if(Al=!0,C||A||e||d.length)Nl(K.connection("CONNECTION_DESTROYED",l));if(clearImmediate(X),U)U.removeListener("data",ql),U.removeListener("connect",Ll),U.readyState==="open"&&U.end($().X().end());Ql&&(Ql(),z=Ql=null)}async function Nh(h){if(y=Buffer.alloc(0),V=0,tl=null,clearImmediate(X),U.removeListener("data",ql),U.removeListener("connect",Ll),Pl.cancel(),Il.cancel(),L.cancel(),U.removeAllListeners(),U=null,e)return Lh();!h&&(A||d.length)&&Nl(K.connection("CONNECTION_CLOSED",l,U)),v=mh.now(),h&&l.shared.retries++,J=(typeof nl==="function"?nl(l.shared.retries):nl)*1000,w(k,K.connection("CONNECTION_CLOSED",l,U))}function ln(h,f=h[0]){(f===68?hn:f===100?Tn:f===65?dn:f===83?nn:f===90?un:f===67?fn:f===50?Dh:f===49?cn:f===116?tn:f===84?wn:f===82?_n:f===110?gn:f===75?Bn:f===69?Mn:f===115?Ln:f===51?Nn:f===71?Dn:f===78?Cn:f===72?Yn:f===99?Xn:f===73?Zn:f===86?Fn:f===118?Hn:f===87?Rn:zn)(h)}function hn(h){let f=7,g,P,W,o=A.isRaw?Array(A.statement.columns.length):{};for(let s=0;s<A.statement.columns.length;s++)P=A.statement.columns[s],g=h.readInt32BE(f),f+=4,W=g===-1?null:A.isRaw===!0?h.subarray(f,f+=g):P.parser===void 0?h.toString("utf8",f,f+=g):P.parser.array===!0?P.parser(h.toString("utf8",f+1,f+=g)):P.parser(h.toString("utf8",f,f+=g)),A.isRaw?o[s]=A.isRaw===!0?W:M.value.from?M.value.from(W,P):W:o[P.name]=M.value.from?M.value.from(W,P):W;A.forEachFn?A.forEachFn(M.row.from?M.row.from(o):o,N):N[m++]=M.row.from?M.row.from(o):o}function nn(h){let[f,g]=h.toString("utf8",5,h.length-1).split($.N);if(El[f]=g,l.parameters[f]!==g)l.parameters[f]=g,b&&b(f,g)}function un(h){if(A)if(q)A.retried?ul(A.retried):A.prepared&&uu.has(q.routine)?Pn(A,q):ul(q);else A.resolve($l||N);else if(q)ul(q);if(A=$l=q=null,N=new Ml,L.cancel(),e){if(x){if(!El.in_hot_standby||!El.default_transaction_read_only)return jn();else if(Gn(x,El))return Zl()}if(dl)return e.reserve&&(e=null),In();e&&!e.reserve&&Xl(e),l.shared.retries=D=0,e=null;return}while(d.length&&(A=d.shift())&&(A.active=!0,A.cancelled))eh(l).cancel(A.state,A.cancelled.resolve,A.cancelled.reject);if(A)return;k.reserved?!k.reserved.release&&h[5]===73?z?Zl():(k.reserved=null,u(k)):k.reserved():z?Zl():u(k)}function fn(h){m=0;for(let f=h.length-1;f>0;f--){if(h[f]===32&&h[f+1]<58&&N.count===null)N.count=+h.toString("utf8",f+1,h.length-1);if(h[f-1]>=65){N.command=h.toString("utf8",5,f),N.state=_l;break}}if(Tl&&(Tl(),Tl=null),N.command==="BEGIN"&&_!==1&&!k.reserved)return ul(K.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(A.options.simple)return Dh();if(A.cursorFn)N.count&&A.cursorFn(N),a(Bl)}function cn(){A.parsing=!1}function Dh(){!N.statement&&(N.statement=A.statement),N.columns=A.statement.columns}function tn(h){let f=h.readUInt16BE(5);for(let g=0;g<f;++g)!A.statement.types[g]&&(A.statement.types[g]=h.readUInt32BE(7+g*4));A.prepare&&(O[A.signature]=A.statement),A.describeFirst&&!A.onlyDescribe&&(a(Vl(A)),A.describeFirst=!1)}function wn(h){if(N.command)$l=$l||[N],$l.push(N=new Ml),N.count=null,A.statement.columns=null;let f=h.readUInt16BE(5),g=7,P;A.statement.columns=Array(f);for(let W=0;W<f;++W){P=g;while(h[g++]!==0);let o=h.readUInt32BE(g),s=h.readUInt16BE(g+4),gl=h.readUInt32BE(g+6);A.statement.columns[W]={name:M.column.from?M.column.from(h.toString("utf8",P,g-1)):h.toString("utf8",P,g-1),parser:j[gl],table:o,number:s,type:gl},g+=18}if(N.statement=A.statement,A.onlyDescribe)return A.resolve(A.statement),a(Bl)}async function _n(h,f=h.readUInt32BE(5)){(f===3?On:f===5?En:f===10?An:f===11?Un:f===12?$n:f!==0?Jn:Rl)(h,f)}async function On(){let h=await lh();a($().p().str(h).z(1).end())}async function En(h){let f="md5"+await ah(Buffer.concat([Buffer.from(await ah(await lh()+B)),h.subarray(9)]));a($().p().str(f).z(1).end())}async function An(){sl=(await Jl.randomBytes(18)).toString("base64"),$().p().str("SCRAM-SHA-256"+$.N);let h=$.i;a($.inc(4).str("n,,n=*,r="+sl).i32($.i-h-4,h).end())}async function Un(h){let f=h.toString("utf8",9).split(",").reduce((s,gl)=>(s[gl[0]]=gl.slice(2),s),{}),g=await Jl.pbkdf2Sync(await lh(),Buffer.from(f.s,"base64"),parseInt(f.i),32,"sha256"),P=await pl(g,"Client Key"),W="n=*,r="+sl+",r="+f.r+",s="+f.s+",i="+f.i+",c=biws,r="+f.r;r=(await pl(await pl(g,"Server Key"),W)).toString("base64");let o="c=biws,r="+f.r+",p="+tu(P,Buffer.from(await pl(await cu(P),W))).toString("base64");a($().p().str(o).end())}function $n(h){if(h.toString("utf8",9).split($.N,1)[0].slice(2)===r)return;ul(K.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),U.destroy()}function lh(){return Promise.resolve(typeof l.pass==="function"?l.pass():l.pass)}function gn(){if(N.statement=A.statement,N.statement.columns=[],A.onlyDescribe)return A.resolve(A.statement),a(Bl)}function Bn(h){_l.pid=h.readUInt32BE(5),_l.secret=h.readUInt32BE(9)}async function In(){dl=!1,(await new fl([`
|
|
4
4
|
select b.oid, b.typarray
|
|
5
5
|
from pg_catalog.pg_type a
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{vk as I,wk as N,xk as A,yk as x,zk as k}from"./chunk-s2y2b8tz.js";import{realpathSync as r}from"fs";import{relative as t,sep as n}from"path";var g=44,p=59,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=new Uint8Array(64),l=new Uint8Array(128);for(let z=0;z<T.length;z++){let J=T.charCodeAt(z);b[z]=J,l[J]=z}function q(z,J,K){let X=J-K;X=X<0?-X<<1|1:X<<1;do{let Z=X&31;if(X>>>=5,X>0)Z|=32;z.write(b[Z])}while(X>0);return J}var v=16384,R=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(z){return Buffer.from(z.buffer,z.byteOffset,z.byteLength).toString()}}:{decode(z){let J="";for(let K=0;K<z.length;K++)J+=String.fromCharCode(z[K]);return J}},h=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(v)}write(z){let{buffer:J}=this;if(J[this.pos++]=z,this.pos===v)this.out+=R.decode(J),this.pos=0}flush(){let{buffer:z,out:J,pos:K}=this;return K>0?J+R.decode(z.subarray(0,K)):J}};function L(z){let J=new h,K=0,X=0,Z=0,$=0;for(let W=0;W<z.length;W++){let F=z[W];if(W>0)J.write(p);if(F.length===0)continue;let G=0;for(let H=0;H<F.length;H++){let Q=F[H];if(H>0)J.write(g);if(G=q(J,Q[0],G),Q.length===1)continue;if(K=q(J,Q[1],K),X=q(J,Q[2],X),Z=q(J,Q[3],Z),Q.length===4)continue;$=q(J,Q[4],$)}}return J.flush()}class P{constructor(z){this.bits=z instanceof P?z.bits.slice():[]}add(z){this.bits[z>>5]|=1<<(z&31)}has(z){return!!(this.bits[z>>5]&1<<(z&31))}}class j{constructor(z,J,K){this.start=z,this.end=J,this.original=K,this.intro="",this.outro="",this.content=K,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(z){this.outro+=z}appendRight(z){this.intro=this.intro+z}clone(){let z=new j(this.start,this.end,this.original);return z.intro=this.intro,z.outro=this.outro,z.content=this.content,z.storeName=this.storeName,z.edited=this.edited,z}contains(z){return this.start<z&&z<this.end}eachNext(z){let J=this;while(J)z(J),J=J.next}eachPrevious(z){let J=this;while(J)z(J),J=J.previous}edit(z,J,K){if(this.content=z,!K)this.intro="",this.outro="";return this.storeName=J,this.edited=!0,this}prependLeft(z){this.outro=z+this.outro}prependRight(z){this.intro=z+this.intro}reset(){if(this.intro="",this.outro="",this.edited)this.content=this.original,this.storeName=!1,this.edited=!1}split(z){let J=z-this.start,K=this.original.slice(0,J),X=this.original.slice(J);this.original=K;let Z=new j(z,this.end,X);if(Z.outro=this.outro,this.outro="",this.end=z,this.edited)Z.edit("",!1),this.content="";else this.content=K;if(Z.next=this.next,Z.next)Z.next.previous=Z;return Z.previous=this,this.next=Z,Z}toString(){return this.intro+this.content+this.outro}trimEnd(z){if(this.outro=this.outro.replace(z,""),this.outro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){if(this.split(this.start+J.length).edit("",void 0,!0),this.edited)this.edit(J,this.storeName,!0)}return!0}else if(this.edit("",void 0,!0),this.intro=this.intro.replace(z,""),this.intro.length)return!0}trimStart(z){if(this.intro=this.intro.replace(z,""),this.intro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){let K=this.split(this.end-J.length);if(this.edited)K.edit(J,this.storeName,!0);this.edit("",void 0,!0)}return!0}else if(this.edit("",void 0,!0),this.outro=this.outro.replace(z,""),this.outro.length)return!0}}function u(){if(typeof globalThis<"u"&&typeof globalThis.btoa==="function")return(z)=>globalThis.btoa(unescape(encodeURIComponent(z)));else if(typeof Buffer==="function")return(z)=>Buffer.from(z,"utf-8").toString("base64");else return()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var d=u();class w{constructor(z){if(this.version=3,this.file=z.file,this.sources=z.sources,this.sourcesContent=z.sourcesContent,this.names=z.names,this.mappings=L(z.mappings),typeof z.x_google_ignoreList<"u")this.x_google_ignoreList=z.x_google_ignoreList;if(typeof z.debugId<"u")this.debugId=z.debugId}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+d(this.toString())}}function a(z){let J=z.split(`
|
|
3
3
|
`),K=J.filter(($)=>/^\t+/.test($)),X=J.filter(($)=>/^ {2,}/.test($));if(K.length===0&&X.length===0)return null;if(K.length>=X.length)return"\t";let Z=X.reduce(($,W)=>{let F=/^ +/.exec(W)[0].length;return Math.min(F,$)},1/0);return Array(Z+1).join(" ")}function o(z,J){let K=z.split(/[/\\]/),X=J.split(/[/\\]/);K.pop();while(K[0]===X[0])K.shift(),X.shift();if(K.length){let Z=K.length;while(Z--)K[Z]=".."}return K.concat(X).join("/")}var s=Object.prototype.toString;function c(z){return s.call(z)==="[object Object]"}function f(z){let J=z.split(`
|
|
4
4
|
`),K=[];for(let X=0,Z=0;X<J.length;X++)K.push(Z),Z+=J[X].length+1;return function(Z){let $=0,W=K.length;while($<W){let H=$+W>>1;if(Z<K[H])W=H;else $=H+1}let F=$-1,G=Z-K[F];return{line:F,column:G}}}var i=/\w/;class C{constructor(z){this.hires=z,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(z,J,K,X){if(J.length){let Z=J.length-1,$=J.indexOf(`
|
|
5
5
|
`,0),W=-1;while($>=0&&Z>$){let G=[this.generatedCodeColumn,z,K.line,K.column];if(X>=0)G.push(X);this.rawSegments.push(G),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,W=$,$=J.indexOf(`
|
|
@@ -13,4 +13,4 @@ import{kk as I,lk as N,mk as A,nk as x,ok as k}from"./chunk-xe2pm36q.js";import{
|
|
|
13
13
|
`),{code:F.toString(),map:F.generateMap({hires:!0})}}}}
|
|
14
14
|
export{B as za,Gz as Aa};
|
|
15
15
|
|
|
16
|
-
//# debugId=
|
|
16
|
+
//# debugId=88FFD1D0A6B7220364756E2164756E21
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "88FFD1D0A6B7220364756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Xh as N,Yh as _0,Zh as L0}from"./chunk-erzfs4t2.js";import{ai as x0,di as b}from"./chunk-tabsxzg9.js";import{hk as BQ}from"./chunk-6gwxvmjv.js";import{Ak as Y0}from"./chunk-yhht1j7f.js";import{Hk as iZ}from"./chunk-hxn0s3zh.js";class o0{static kind="controller";constructor(){}}class bQ extends o0{}function N0(Q){let Z=new Map;if(!Q)return Z;for(let $ of Q.split(";")){let X=$.indexOf("=");if(X===-1)continue;let G=$.slice(0,X).trim();if(!G)continue;Z.set(G,$.slice(X+1).trim())}return Z}function W1(Q){return N0(Q.headers.get("cookie"))}function p(Q){if(!/^\d+$/.test(Q))return null;let Z=Number(Q);return Number.isSafeInteger(Z)?Z:null}function t0(Q){if(!Q)return null;let Z=Q.trim();if(!/^bytes=/i.test(Z))return null;let X=Z.slice(6).split(",").map((D)=>D.trim()).filter((D)=>D!=="");if(X.length!==1)return null;let G=X[0],H=G.indexOf("-");if(H===-1)return null;let Y=G.slice(0,H),M=G.slice(H+1);if(Y===""){let D=p(M);if(D===null)return null;return{kind:"suffix",suffixLength:D}}let K=p(Y);if(K===null)return null;if(M==="")return{kind:"offset",start:K,end:null};let J=p(M);if(J===null||J<K)return null;return{kind:"offset",start:K,end:J}}function s0(Q,Z){if(!Number.isFinite(Z)||Z<=0)return null;let $,X;if(Q.kind==="suffix"){if(Q.suffixLength<=0)return null;$=Math.max(0,Z-Q.suffixLength),X=Z-1}else{if(Q.start>=Z)return null;if($=Q.start,X=Q.end===null?Z-1:Math.min(Q.end,Z-1),X<$)return null}return{start:$,end:X,length:X-$+1}}function z1(Q){if(Q.kind==="suffix")return`bytes=-${Q.suffixLength}`;return Q.end===null?`bytes=${Q.start}-`:`bytes=${Q.start}-${Q.end}`}function U1(Q){if(!Q)return null;let Z=/^bytes\s+(\d+)-(\d+)\/(\d+)$/i.exec(Q.trim());if(!Z)return null;let $=p(Z[1]),X=p(Z[2]),G=p(Z[3]);if($===null||X===null||G===null||X<$)return null;return{start:$,end:X,total:G}}function V1(Q,Z,$){return`bytes ${Q}-${Z}/${$}`}function r0(Q){return`bytes */${Q}`}class s extends N{errors={};constructor(Q){super("Validation error");this.name="ValidationError",this.errors=Q,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:Q,status:400}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}function fQ(Q){let[Z,$]=Q.match(/\d+|\D+/g)??[];if(!Z||!$)return 0;let X=Number.parseInt(Z);switch($){case"B":return X;case"KB":return X*1024;case"MB":return X*1024*1024;case"GB":return X*1024*1024*1024;case"TB":return X*1024*1024*1024*1024;default:return 0}}function vQ(Q){switch(Q){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return Q}}function a0(Q){if(typeof Q==="string"||Array.isArray(Q))return Q.length;return}function q0(Q){return typeof Q==="number"&&!Number.isNaN(Q)}var hQ=["required","string","boolean","number","email","password","min","max","gte","lte","file","fileType","fileSize","array","object","in"];class k extends Error{name="InvalidValidationRuleError"}function z0(Q,Z){let $=Z===void 0||Z.trim()===""?Number.NaN:Number(Z);if(Number.isNaN($))throw new k(`Validation rule "${Q}:${Z??""}" needs a number, e.g. "${Q}:3"`);return $}function e0(Q){let Z=Q.indexOf(":"),$=Z===-1?Q:Q.slice(0,Z),X=Z===-1?void 0:Q.slice(Z+1);switch($){case"required":return(G)=>{if(G instanceof Blob)return G.size>0;if(G===null||G===void 0)return!1;if(typeof G==="string"||Array.isArray(G))return G.length>0;return!0};case"string":return(G)=>typeof G==="string";case"boolean":return(G)=>typeof G==="boolean";case"number":return(G)=>q0(G);case"password":return(G)=>{return typeof G==="string"&&/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(G)};case"min":{let G=z0($,X);return(H)=>{let Y=a0(H);return Y!==void 0&&Y>=G}}case"max":{let G=z0($,X);return(H)=>{let Y=a0(H);return Y!==void 0&&Y<=G}}case"gte":{let G=z0($,X);return(H)=>q0(H)&&H>=G}case"lte":{let G=z0($,X);return(H)=>q0(H)&&H<=G}case"email":return(G)=>{return typeof G==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(G)};case"file":return(G)=>{return G instanceof Blob};case"fileType":{if(!X)throw new k('Validation rule "fileType" needs a type, e.g. "fileType:png" or "fileType:image"');let G=vQ(X);return(H)=>H instanceof Blob&&H.type.startsWith(G)}case"fileSize":{let G=fQ(X??"");if(G===0&&!/^0+(B|KB|MB|GB|TB)$/.test(X??""))throw new k(`Validation rule "fileSize:${X??""}" needs a whole size in B, KB, MB, GB or TB, e.g. "fileSize:5MB"`);return(H)=>H instanceof Blob&&H.size<=G}case"array":return(G)=>Array.isArray(G);case"object":return(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G)&&!(G instanceof Blob);case"in":{let G=(X??"").split(",").filter((H)=>H!=="");if(G.length===0)throw new k('Validation rule "in" needs a comma-separated list, e.g. "in:draft,published"');return(H)=>typeof H==="string"&&G.includes(H)}default:throw new k(`Unknown validation rule "${Q}". Known rules: ${hQ.join(", ")}`)}}function u(Q){if(!Q.definition)throw Error(`gemi/ai: the recursive schema "${Q.name}" was used before its definition returned; \`self\` can be nested into the schema, but not parsed or emitted inside the callback`);return Q.definition}var R0=new WeakMap;function $Q(Q){return typeof Q==="object"&&Q!==null&&R0.has(Q)}function V0(Q){let Z=R0.get(Q);if(!Z)throw Error("gemi/ai: expected a schema built with `s`, got a foreign object");return Z}function mQ(Q){let Z={defs:{},cells:new Map},$=Q;if(Q.node.kind==="ref"){let G=u(Q.node.cell);$={...G,...Q.description?{description:Q.description}:{},optional:Q.optional,nullable:Q.nullable||G.nullable}}let X=a($,Z);return Object.keys(Z.defs).length>0?{...X,$defs:Z.defs}:X}function a(Q,Z){let $=(Q.optional||Q.nullable)&&Q.node.kind!=="json",X=uQ(pQ(Q.node,Z),$),G=[Q.description,cQ(Q.node)].filter(Boolean).join(" ");if(G&&X.$ref!==void 0)X={anyOf:[X]};return G?{description:G,...X}:X}function cQ(Q){let Z=[];if(Q.kind==="string"||Q.kind==="enum"){let $=Q.checks;if($?.format)Z.push(`Format: ${$.format.name}.`);if($?.minLength!==void 0)Z.push(`At least ${$.minLength} characters.`);if($?.maxLength!==void 0)Z.push(`At most ${$.maxLength} characters.`)}else if(Q.kind==="number"){let $=Q.checks;if($?.minimum!==void 0)Z.push(`Minimum ${$.minimum}.`);if($?.exclusiveMinimum!==void 0)Z.push(`Greater than ${$.exclusiveMinimum}.`);if($?.maximum!==void 0)Z.push(`Maximum ${$.maximum}.`);if($?.exclusiveMaximum!==void 0)Z.push(`Less than ${$.exclusiveMaximum}.`)}else if(Q.kind==="array"){let $=Q.checks;if($?.minItems!==void 0)Z.push(`At least ${$.minItems} items.`);if($?.maxItems!==void 0)Z.push(`At most ${$.maxItems} items.`)}return Z.join(" ")}function pQ(Q,Z){switch(Q.kind){case"string":return{type:"string"};case"number":return{type:Q.checks?.integer?"integer":"number"};case"boolean":return{type:"boolean"};case"literal":return{type:typeof Q.value,const:Q.value};case"enum":return{type:"string",enum:Q.values};case"array":return{type:"array",items:a(Q.item,Z)};case"object":return{type:"object",properties:Object.fromEntries(Object.entries(Q.shape).map(([$,X])=>[$,a(X,Z)])),required:Object.keys(Q.shape),additionalProperties:!1};case"union":return{anyOf:Q.members.map(($)=>a($,Z))};case"json":return{};case"ref":{let{cell:$}=Q,X=Z.cells.get($.name);if(X&&X!==$)throw Error(`gemi/ai: two different recursive schemas are named "${$.name}" in one schema; give each s.recursive(...) its own name`);if(!X)Z.cells.set($.name,$),Z.defs[$.name]={},Z.defs[$.name]=a(u($),Z);return{$ref:`#/$defs/${$.name}`}}}}function uQ(Q,Z){if(!Z)return Q;if(Q.anyOf)return{...Q,anyOf:[...Q.anyOf,{type:"null"}]};if(Q.enum||Q.const!==void 0)return{anyOf:[Q,{type:"null"}]};if(typeof Q.type==="string")return{...Q,type:[Q.type,"null"]};return{anyOf:[Q,{type:"null"}]}}function dQ(Q){if(Q===null)return"null";if(Array.isArray(Q))return"array";return typeof Q}function iQ(Q,Z){if(typeof Z==="number"&&!Number.isFinite(Z))return String(Z);if(Q.kind==="literal"||Q.kind==="enum"){if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")return JSON.stringify(Z)}return dQ(Z)}function XQ(Q){let Z=Q.node,$=(()=>{switch(Z.kind){case"number":return Z.checks?.integer?"integer":"number";case"string":case"boolean":return Z.kind;case"literal":return JSON.stringify(Z.value);case"enum":return`one of ${Z.values.map((X)=>JSON.stringify(X)).join(" | ")}`;case"array":return"array";case"object":return"object";case"union":return"one of the variants";case"json":return"a JSON value";case"ref":return XQ({...u(Z.cell),optional:!1,nullable:!1})}})();return Q.optional||Q.nullable?`${$} or null`:$}function lQ(Q){let Z="";for(let $ of Q)Z+=typeof $==="number"?`[${$}]`:Z?`.${$}`:$;return Z}function nQ(Q){let Z=lQ(Q);return Z?`${Z}: `:""}function w0(Q){return`${nQ(Q.path)}${Q.message}`}function B0(Q,Z){if(Z===null||Z===void 0)return Q.optional||Q.nullable?1:0;let $=Q.node;switch($.kind){case"string":return typeof Z==="string"?1:0;case"number":return typeof Z==="number"?1:0;case"boolean":return typeof Z==="boolean"?1:0;case"literal":return Z===$.value?10:0;case"enum":return typeof Z==="string"&&$.values.includes(Z)?10:0;case"array":return Array.isArray(Z)?1:0;case"object":{if(typeof Z!=="object"||Array.isArray(Z))return 0;let X=Z,G=1;for(let[H,Y]of Object.entries($.shape))G+=B0(Y,X[H]);return G}case"union":return $.members.reduce((X,G)=>Math.max(X,B0(G,Z)),0);case"json":return 1;case"ref":return GQ($.cell,Z,()=>1,()=>B0(u($.cell),Z))}}function GQ(Q,Z,$,X){if(typeof Z!=="object"||Z===null)return X();if(Q.active.has(Z))return $();Q.active.add(Z);try{return X()}finally{Q.active.delete(Z)}}function v(Q,Z,$,X){if(Q.optional&&(Z===null||Z===void 0))return{drop:!0,value:void 0};if(Q.nullable&&Z===null)return{drop:!1,value:null};return{drop:!1,value:oQ(Q,Z,$,X)}}function oQ(Q,Z,$,X){let G=Q.node,H=()=>{let Y=Z===void 0?"required":G.kind==="literal"?"const":G.kind==="enum"&&typeof Z==="string"?"enum":"type",M=Y==="const"?{allowedValue:G.value}:Y==="enum"?{allowedValues:G.values}:{};X.push({path:$,code:Y,message:`expected ${XQ(Q)}, got ${iQ(G,Z)}`,params:M});return};switch(G.kind){case"string":if(typeof Z!=="string")return H();return QQ(G.checks,Z,$,X),Z;case"number":if(typeof Z!=="number"||!Number.isFinite(Z))return H();if(G.checks?.integer&&!Number.isInteger(Z))return H();return sQ(G.checks,Z,$,X),Z;case"boolean":return typeof Z==="boolean"?Z:H();case"literal":return Z===G.value?Z:H();case"enum":if(typeof Z!=="string"||!G.values.includes(Z))return H();return QQ(G.checks,Z,$,X),Z;case"array":{if(!Array.isArray(Z))return H();let Y=Z.map((J,D)=>{let z=v(G.item,J,[...$,D],X);return z.drop?void 0:z.value}),{minItems:M,maxItems:K}=G.checks??{};if(M!==void 0&&Z.length<M)X.push({path:$,code:"minItems",message:`expected at least ${M} items, got ${Z.length}`,params:{limit:M}});if(K!==void 0&&Z.length>K)X.push({path:$,code:"maxItems",message:`expected at most ${K} items, got ${Z.length}`,params:{limit:K}});return Y}case"object":{if(typeof Z!=="object"||Z===null||Array.isArray(Z))return H();let Y=Z,M={};for(let[K,J]of Object.entries(G.shape)){let D=v(J,Y[K],[...$,K],X);if(!D.drop)M[K]=D.value}if(G.unknownKeys)for(let K of Object.keys(Y)){if(Object.hasOwn(G.shape,K)||Y[K]===void 0)continue;if(G.unknownKeys==="error"){X.push({path:[...$,K],code:"additionalProperties",message:"unknown key",params:{additionalProperty:K}});continue}Z0(Y[K],[...$,K],X,new Set),Object.defineProperty(M,K,{value:Y[K],enumerable:!0,writable:!0,configurable:!0})}return M}case"union":{let Y;for(let M of G.members){let K=[],J=v(M,Z,$,K);if(K.length===0)return J.drop?void 0:J.value;let D=B0(M,Z);if(!Y||D>Y.score)Y={issues:K,score:D}}X.push({path:$,code:"anyOf",message:`no matching variant; closest: ${Y.issues.map(w0).join("; ")}`,params:{closest:Y.issues}});return}case"json":if(Z===void 0)return H();return Z0(Z,$,X,new Set),Z;case"ref":return GQ(G.cell,Z,()=>{X.push({path:$,code:"type",message:"expected a finite tree, got a circular reference",params:{}});return},()=>v(u(G.cell),Z,$,X).value)}}function tQ(Q){let Z=0;for(let $ of Q)Z++;return Z}function QQ(Q,Z,$,X){if(!Q)return;let{minLength:G,maxLength:H,format:Y}=Q;if(G!==void 0||H!==void 0){let M=tQ(Z);if(G!==void 0&&M<G)X.push({path:$,code:"minLength",message:`expected at least ${G} characters, got ${M}`,params:{limit:G}});if(H!==void 0&&M>H)X.push({path:$,code:"maxLength",message:`expected at most ${H} characters, got ${M}`,params:{limit:H}})}if(Y){let M=!1;try{M=Y.test(Z)===!0}catch{}if(!M)X.push({path:$,code:"format",message:`expected a string in format "${Y.name}"`,params:{format:Y.name}})}}function sQ(Q,Z,$,X){if(!Q)return;let G=(H,Y,M,K)=>{if(Y===void 0||M(Y))return;X.push({path:$,code:H,message:`expected ${K} ${Y}, got ${Z}`,params:{limit:Y}})};G("minimum",Q.minimum,(H)=>Z>=H,"at least"),G("exclusiveMinimum",Q.exclusiveMinimum,(H)=>Z>H,"more than"),G("maximum",Q.maximum,(H)=>Z<=H,"at most"),G("exclusiveMaximum",Q.exclusiveMaximum,(H)=>Z<H,"less than")}function Z0(Q,Z,$,X,G=!0){let H=(M)=>{$.push({path:Z,code:"type",message:`expected a JSON value, got ${M}`,params:{}})};switch(typeof Q){case"undefined":case"string":case"boolean":return;case"number":if(!Number.isFinite(Q))H(String(Q));return;case"bigint":return H("a bigint");case"function":return H("a function");case"symbol":return H("a symbol")}if(Q===null)return;let Y=Q;if(X.has(Y))return H("a circular reference");X.add(Y);try{let M=G?Y.toJSON:void 0;if(typeof M==="function"){let K;try{K=M.call(Y)}catch{return H("a toJSON that threw")}if(K===void 0)return H("a toJSON that returns undefined");return Z0(K,Z,$,X,!1)}if(Array.isArray(Q))Q.forEach((K,J)=>Z0(K,[...Z,J],$,X));else for(let[K,J]of Object.entries(Y))Z0(J,[...Z,K],$,X)}finally{X.delete(Y)}}function E(Q){return P0(Q)}function P0(Q){let Z={toJSONSchema:()=>mQ(Q),parse($){let X=[],G=v(Q,$,[],X);if(X.length>0)throw Error(X.map(w0).join("; "));return G.drop?void 0:G.value},safeParse($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,errors:X.map(w0)};return{ok:!0,value:G.drop?void 0:G.value}},validate($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,issues:X};return{ok:!0,value:G.drop?void 0:G.value}},describe:($)=>P0({...Q,description:$}),optional:()=>P0({...Q,optional:!0}),nullable:()=>P0({...Q,nullable:!0,optional:!1})};return R0.set(Z,Q),Z}function x(Q){return{node:Q,optional:!1,nullable:!1}}var ZQ=["strip","error","passthrough"];class HQ extends Error{problems;constructor(Q){super(`gemi/ai: s.fromJSONSchema cannot model this schema:
|
|
2
|
+
import{di as N,ei as _0,fi as L0}from"./chunk-7eerqsg2.js";import{ki as x0,ni as b}from"./chunk-15bmfr7f.js";import{sk as BQ}from"./chunk-yg8se4vs.js";import{Lk as Y0}from"./chunk-9x0pgkns.js";import{Sk as iZ}from"./chunk-89swy5aq.js";class o0{static kind="controller";constructor(){}}class bQ extends o0{}function N0(Q){let Z=new Map;if(!Q)return Z;for(let $ of Q.split(";")){let X=$.indexOf("=");if(X===-1)continue;let G=$.slice(0,X).trim();if(!G)continue;Z.set(G,$.slice(X+1).trim())}return Z}function W1(Q){return N0(Q.headers.get("cookie"))}function p(Q){if(!/^\d+$/.test(Q))return null;let Z=Number(Q);return Number.isSafeInteger(Z)?Z:null}function t0(Q){if(!Q)return null;let Z=Q.trim();if(!/^bytes=/i.test(Z))return null;let X=Z.slice(6).split(",").map((D)=>D.trim()).filter((D)=>D!=="");if(X.length!==1)return null;let G=X[0],H=G.indexOf("-");if(H===-1)return null;let Y=G.slice(0,H),M=G.slice(H+1);if(Y===""){let D=p(M);if(D===null)return null;return{kind:"suffix",suffixLength:D}}let K=p(Y);if(K===null)return null;if(M==="")return{kind:"offset",start:K,end:null};let J=p(M);if(J===null||J<K)return null;return{kind:"offset",start:K,end:J}}function s0(Q,Z){if(!Number.isFinite(Z)||Z<=0)return null;let $,X;if(Q.kind==="suffix"){if(Q.suffixLength<=0)return null;$=Math.max(0,Z-Q.suffixLength),X=Z-1}else{if(Q.start>=Z)return null;if($=Q.start,X=Q.end===null?Z-1:Math.min(Q.end,Z-1),X<$)return null}return{start:$,end:X,length:X-$+1}}function z1(Q){if(Q.kind==="suffix")return`bytes=-${Q.suffixLength}`;return Q.end===null?`bytes=${Q.start}-`:`bytes=${Q.start}-${Q.end}`}function U1(Q){if(!Q)return null;let Z=/^bytes\s+(\d+)-(\d+)\/(\d+)$/i.exec(Q.trim());if(!Z)return null;let $=p(Z[1]),X=p(Z[2]),G=p(Z[3]);if($===null||X===null||G===null||X<$)return null;return{start:$,end:X,total:G}}function V1(Q,Z,$){return`bytes ${Q}-${Z}/${$}`}function r0(Q){return`bytes */${Q}`}class s extends N{errors={};constructor(Q){super("Validation error");this.name="ValidationError",this.errors=Q,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:Q,status:400}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}function fQ(Q){let[Z,$]=Q.match(/\d+|\D+/g)??[];if(!Z||!$)return 0;let X=Number.parseInt(Z);switch($){case"B":return X;case"KB":return X*1024;case"MB":return X*1024*1024;case"GB":return X*1024*1024*1024;case"TB":return X*1024*1024*1024*1024;default:return 0}}function vQ(Q){switch(Q){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return Q}}function a0(Q){if(typeof Q==="string"||Array.isArray(Q))return Q.length;return}function q0(Q){return typeof Q==="number"&&!Number.isNaN(Q)}var hQ=["required","string","boolean","number","email","password","min","max","gte","lte","file","fileType","fileSize","array","object","in"];class k extends Error{name="InvalidValidationRuleError"}function z0(Q,Z){let $=Z===void 0||Z.trim()===""?Number.NaN:Number(Z);if(Number.isNaN($))throw new k(`Validation rule "${Q}:${Z??""}" needs a number, e.g. "${Q}:3"`);return $}function e0(Q){let Z=Q.indexOf(":"),$=Z===-1?Q:Q.slice(0,Z),X=Z===-1?void 0:Q.slice(Z+1);switch($){case"required":return(G)=>{if(G instanceof Blob)return G.size>0;if(G===null||G===void 0)return!1;if(typeof G==="string"||Array.isArray(G))return G.length>0;return!0};case"string":return(G)=>typeof G==="string";case"boolean":return(G)=>typeof G==="boolean";case"number":return(G)=>q0(G);case"password":return(G)=>{return typeof G==="string"&&/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(G)};case"min":{let G=z0($,X);return(H)=>{let Y=a0(H);return Y!==void 0&&Y>=G}}case"max":{let G=z0($,X);return(H)=>{let Y=a0(H);return Y!==void 0&&Y<=G}}case"gte":{let G=z0($,X);return(H)=>q0(H)&&H>=G}case"lte":{let G=z0($,X);return(H)=>q0(H)&&H<=G}case"email":return(G)=>{return typeof G==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(G)};case"file":return(G)=>{return G instanceof Blob};case"fileType":{if(!X)throw new k('Validation rule "fileType" needs a type, e.g. "fileType:png" or "fileType:image"');let G=vQ(X);return(H)=>H instanceof Blob&&H.type.startsWith(G)}case"fileSize":{let G=fQ(X??"");if(G===0&&!/^0+(B|KB|MB|GB|TB)$/.test(X??""))throw new k(`Validation rule "fileSize:${X??""}" needs a whole size in B, KB, MB, GB or TB, e.g. "fileSize:5MB"`);return(H)=>H instanceof Blob&&H.size<=G}case"array":return(G)=>Array.isArray(G);case"object":return(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G)&&!(G instanceof Blob);case"in":{let G=(X??"").split(",").filter((H)=>H!=="");if(G.length===0)throw new k('Validation rule "in" needs a comma-separated list, e.g. "in:draft,published"');return(H)=>typeof H==="string"&&G.includes(H)}default:throw new k(`Unknown validation rule "${Q}". Known rules: ${hQ.join(", ")}`)}}function u(Q){if(!Q.definition)throw Error(`gemi/ai: the recursive schema "${Q.name}" was used before its definition returned; \`self\` can be nested into the schema, but not parsed or emitted inside the callback`);return Q.definition}var R0=new WeakMap;function $Q(Q){return typeof Q==="object"&&Q!==null&&R0.has(Q)}function V0(Q){let Z=R0.get(Q);if(!Z)throw Error("gemi/ai: expected a schema built with `s`, got a foreign object");return Z}function mQ(Q){let Z={defs:{},cells:new Map},$=Q;if(Q.node.kind==="ref"){let G=u(Q.node.cell);$={...G,...Q.description?{description:Q.description}:{},optional:Q.optional,nullable:Q.nullable||G.nullable}}let X=a($,Z);return Object.keys(Z.defs).length>0?{...X,$defs:Z.defs}:X}function a(Q,Z){let $=(Q.optional||Q.nullable)&&Q.node.kind!=="json",X=uQ(pQ(Q.node,Z),$),G=[Q.description,cQ(Q.node)].filter(Boolean).join(" ");if(G&&X.$ref!==void 0)X={anyOf:[X]};return G?{description:G,...X}:X}function cQ(Q){let Z=[];if(Q.kind==="string"||Q.kind==="enum"){let $=Q.checks;if($?.format)Z.push(`Format: ${$.format.name}.`);if($?.minLength!==void 0)Z.push(`At least ${$.minLength} characters.`);if($?.maxLength!==void 0)Z.push(`At most ${$.maxLength} characters.`)}else if(Q.kind==="number"){let $=Q.checks;if($?.minimum!==void 0)Z.push(`Minimum ${$.minimum}.`);if($?.exclusiveMinimum!==void 0)Z.push(`Greater than ${$.exclusiveMinimum}.`);if($?.maximum!==void 0)Z.push(`Maximum ${$.maximum}.`);if($?.exclusiveMaximum!==void 0)Z.push(`Less than ${$.exclusiveMaximum}.`)}else if(Q.kind==="array"){let $=Q.checks;if($?.minItems!==void 0)Z.push(`At least ${$.minItems} items.`);if($?.maxItems!==void 0)Z.push(`At most ${$.maxItems} items.`)}return Z.join(" ")}function pQ(Q,Z){switch(Q.kind){case"string":return{type:"string"};case"number":return{type:Q.checks?.integer?"integer":"number"};case"boolean":return{type:"boolean"};case"literal":return{type:typeof Q.value,const:Q.value};case"enum":return{type:"string",enum:Q.values};case"array":return{type:"array",items:a(Q.item,Z)};case"object":return{type:"object",properties:Object.fromEntries(Object.entries(Q.shape).map(([$,X])=>[$,a(X,Z)])),required:Object.keys(Q.shape),additionalProperties:!1};case"union":return{anyOf:Q.members.map(($)=>a($,Z))};case"json":return{};case"ref":{let{cell:$}=Q,X=Z.cells.get($.name);if(X&&X!==$)throw Error(`gemi/ai: two different recursive schemas are named "${$.name}" in one schema; give each s.recursive(...) its own name`);if(!X)Z.cells.set($.name,$),Z.defs[$.name]={},Z.defs[$.name]=a(u($),Z);return{$ref:`#/$defs/${$.name}`}}}}function uQ(Q,Z){if(!Z)return Q;if(Q.anyOf)return{...Q,anyOf:[...Q.anyOf,{type:"null"}]};if(Q.enum||Q.const!==void 0)return{anyOf:[Q,{type:"null"}]};if(typeof Q.type==="string")return{...Q,type:[Q.type,"null"]};return{anyOf:[Q,{type:"null"}]}}function dQ(Q){if(Q===null)return"null";if(Array.isArray(Q))return"array";return typeof Q}function iQ(Q,Z){if(typeof Z==="number"&&!Number.isFinite(Z))return String(Z);if(Q.kind==="literal"||Q.kind==="enum"){if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")return JSON.stringify(Z)}return dQ(Z)}function XQ(Q){let Z=Q.node,$=(()=>{switch(Z.kind){case"number":return Z.checks?.integer?"integer":"number";case"string":case"boolean":return Z.kind;case"literal":return JSON.stringify(Z.value);case"enum":return`one of ${Z.values.map((X)=>JSON.stringify(X)).join(" | ")}`;case"array":return"array";case"object":return"object";case"union":return"one of the variants";case"json":return"a JSON value";case"ref":return XQ({...u(Z.cell),optional:!1,nullable:!1})}})();return Q.optional||Q.nullable?`${$} or null`:$}function lQ(Q){let Z="";for(let $ of Q)Z+=typeof $==="number"?`[${$}]`:Z?`.${$}`:$;return Z}function nQ(Q){let Z=lQ(Q);return Z?`${Z}: `:""}function w0(Q){return`${nQ(Q.path)}${Q.message}`}function B0(Q,Z){if(Z===null||Z===void 0)return Q.optional||Q.nullable?1:0;let $=Q.node;switch($.kind){case"string":return typeof Z==="string"?1:0;case"number":return typeof Z==="number"?1:0;case"boolean":return typeof Z==="boolean"?1:0;case"literal":return Z===$.value?10:0;case"enum":return typeof Z==="string"&&$.values.includes(Z)?10:0;case"array":return Array.isArray(Z)?1:0;case"object":{if(typeof Z!=="object"||Array.isArray(Z))return 0;let X=Z,G=1;for(let[H,Y]of Object.entries($.shape))G+=B0(Y,X[H]);return G}case"union":return $.members.reduce((X,G)=>Math.max(X,B0(G,Z)),0);case"json":return 1;case"ref":return GQ($.cell,Z,()=>1,()=>B0(u($.cell),Z))}}function GQ(Q,Z,$,X){if(typeof Z!=="object"||Z===null)return X();if(Q.active.has(Z))return $();Q.active.add(Z);try{return X()}finally{Q.active.delete(Z)}}function v(Q,Z,$,X){if(Q.optional&&(Z===null||Z===void 0))return{drop:!0,value:void 0};if(Q.nullable&&Z===null)return{drop:!1,value:null};return{drop:!1,value:oQ(Q,Z,$,X)}}function oQ(Q,Z,$,X){let G=Q.node,H=()=>{let Y=Z===void 0?"required":G.kind==="literal"?"const":G.kind==="enum"&&typeof Z==="string"?"enum":"type",M=Y==="const"?{allowedValue:G.value}:Y==="enum"?{allowedValues:G.values}:{};X.push({path:$,code:Y,message:`expected ${XQ(Q)}, got ${iQ(G,Z)}`,params:M});return};switch(G.kind){case"string":if(typeof Z!=="string")return H();return QQ(G.checks,Z,$,X),Z;case"number":if(typeof Z!=="number"||!Number.isFinite(Z))return H();if(G.checks?.integer&&!Number.isInteger(Z))return H();return sQ(G.checks,Z,$,X),Z;case"boolean":return typeof Z==="boolean"?Z:H();case"literal":return Z===G.value?Z:H();case"enum":if(typeof Z!=="string"||!G.values.includes(Z))return H();return QQ(G.checks,Z,$,X),Z;case"array":{if(!Array.isArray(Z))return H();let Y=Z.map((J,D)=>{let z=v(G.item,J,[...$,D],X);return z.drop?void 0:z.value}),{minItems:M,maxItems:K}=G.checks??{};if(M!==void 0&&Z.length<M)X.push({path:$,code:"minItems",message:`expected at least ${M} items, got ${Z.length}`,params:{limit:M}});if(K!==void 0&&Z.length>K)X.push({path:$,code:"maxItems",message:`expected at most ${K} items, got ${Z.length}`,params:{limit:K}});return Y}case"object":{if(typeof Z!=="object"||Z===null||Array.isArray(Z))return H();let Y=Z,M={};for(let[K,J]of Object.entries(G.shape)){let D=v(J,Y[K],[...$,K],X);if(!D.drop)M[K]=D.value}if(G.unknownKeys)for(let K of Object.keys(Y)){if(Object.hasOwn(G.shape,K)||Y[K]===void 0)continue;if(G.unknownKeys==="error"){X.push({path:[...$,K],code:"additionalProperties",message:"unknown key",params:{additionalProperty:K}});continue}Z0(Y[K],[...$,K],X,new Set),Object.defineProperty(M,K,{value:Y[K],enumerable:!0,writable:!0,configurable:!0})}return M}case"union":{let Y;for(let M of G.members){let K=[],J=v(M,Z,$,K);if(K.length===0)return J.drop?void 0:J.value;let D=B0(M,Z);if(!Y||D>Y.score)Y={issues:K,score:D}}X.push({path:$,code:"anyOf",message:`no matching variant; closest: ${Y.issues.map(w0).join("; ")}`,params:{closest:Y.issues}});return}case"json":if(Z===void 0)return H();return Z0(Z,$,X,new Set),Z;case"ref":return GQ(G.cell,Z,()=>{X.push({path:$,code:"type",message:"expected a finite tree, got a circular reference",params:{}});return},()=>v(u(G.cell),Z,$,X).value)}}function tQ(Q){let Z=0;for(let $ of Q)Z++;return Z}function QQ(Q,Z,$,X){if(!Q)return;let{minLength:G,maxLength:H,format:Y}=Q;if(G!==void 0||H!==void 0){let M=tQ(Z);if(G!==void 0&&M<G)X.push({path:$,code:"minLength",message:`expected at least ${G} characters, got ${M}`,params:{limit:G}});if(H!==void 0&&M>H)X.push({path:$,code:"maxLength",message:`expected at most ${H} characters, got ${M}`,params:{limit:H}})}if(Y){let M=!1;try{M=Y.test(Z)===!0}catch{}if(!M)X.push({path:$,code:"format",message:`expected a string in format "${Y.name}"`,params:{format:Y.name}})}}function sQ(Q,Z,$,X){if(!Q)return;let G=(H,Y,M,K)=>{if(Y===void 0||M(Y))return;X.push({path:$,code:H,message:`expected ${K} ${Y}, got ${Z}`,params:{limit:Y}})};G("minimum",Q.minimum,(H)=>Z>=H,"at least"),G("exclusiveMinimum",Q.exclusiveMinimum,(H)=>Z>H,"more than"),G("maximum",Q.maximum,(H)=>Z<=H,"at most"),G("exclusiveMaximum",Q.exclusiveMaximum,(H)=>Z<H,"less than")}function Z0(Q,Z,$,X,G=!0){let H=(M)=>{$.push({path:Z,code:"type",message:`expected a JSON value, got ${M}`,params:{}})};switch(typeof Q){case"undefined":case"string":case"boolean":return;case"number":if(!Number.isFinite(Q))H(String(Q));return;case"bigint":return H("a bigint");case"function":return H("a function");case"symbol":return H("a symbol")}if(Q===null)return;let Y=Q;if(X.has(Y))return H("a circular reference");X.add(Y);try{let M=G?Y.toJSON:void 0;if(typeof M==="function"){let K;try{K=M.call(Y)}catch{return H("a toJSON that threw")}if(K===void 0)return H("a toJSON that returns undefined");return Z0(K,Z,$,X,!1)}if(Array.isArray(Q))Q.forEach((K,J)=>Z0(K,[...Z,J],$,X));else for(let[K,J]of Object.entries(Y))Z0(J,[...Z,K],$,X)}finally{X.delete(Y)}}function E(Q){return P0(Q)}function P0(Q){let Z={toJSONSchema:()=>mQ(Q),parse($){let X=[],G=v(Q,$,[],X);if(X.length>0)throw Error(X.map(w0).join("; "));return G.drop?void 0:G.value},safeParse($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,errors:X.map(w0)};return{ok:!0,value:G.drop?void 0:G.value}},validate($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,issues:X};return{ok:!0,value:G.drop?void 0:G.value}},describe:($)=>P0({...Q,description:$}),optional:()=>P0({...Q,optional:!0}),nullable:()=>P0({...Q,nullable:!0,optional:!1})};return R0.set(Z,Q),Z}function x(Q){return{node:Q,optional:!1,nullable:!1}}var ZQ=["strip","error","passthrough"];class HQ extends Error{problems;constructor(Q){super(`gemi/ai: s.fromJSONSchema cannot model this schema:
|
|
3
3
|
${Q.map((Z)=>`- ${Z}`).join(`
|
|
4
4
|
`)}`);this.name="JSONSchemaError",this.problems=Q}}var rQ=new Set(["title","$schema","$id","$comment","examples","default","deprecated","readOnly","writeOnly"]),r={string:["minLength","maxLength","format"],number:["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],integer:["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],boolean:[],object:["properties","required","additionalProperties"],array:["items","minItems","maxItems"]};function U0(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}function j0(Q,Z,$,X){let G=(W,V=$)=>{X.push(V?`${V}: ${W}`:W);return},H=(W)=>$?`${$}.${W}`:W;if(!U0(Q))return G("expected a schema object");let Y=new Set(Z.ignoreKeywords??[]),M=(W)=>rQ.has(W)||W.startsWith("x-")||Y.has(W),K=!1,J=Q.type;if(Array.isArray(J)){let W=J.filter((V)=>V!=="null");if(W.length!==1)return G(`type ${JSON.stringify(J)} is not supported; only one type, optionally with "null". Use anyOf for alternatives`,H("type"));K=W.length<J.length,J=W[0]}if(J!==void 0&&(typeof J!=="string"||!(J in r)))return G(`type ${JSON.stringify(J)} is not supported; expected one of ${Object.keys(r).join(", ")}`,H("type"));let D=new Set(["type","description","enum","const","anyOf",...J?r[J]:[]]),z=!1;for(let W of Object.keys(Q)){if(D.has(W)||M(W))continue;z=!0;let V=Object.entries(r).find(([,U])=>U.includes(W));G(V&&V[0]!==J?`"${W}" applies to type ${V[0]}, and this schema is ${J?`type ${J}`:"untyped"}`:`"${W}" is not supported by s.fromJSONSchema`,H(W))}if(z)return;if(Q.description!==void 0&&typeof Q.description!=="string")return G("expected a string",H("description"));let O=Q.description,B=(W)=>({node:W,optional:!1,nullable:K,...O?{description:O}:{}});if(Q.anyOf!==void 0){if(J!==void 0||Q.enum!==void 0||Q.const!==void 0)return G("anyOf cannot be combined with type, enum or const here",H("anyOf"));if(!Array.isArray(Q.anyOf)||Q.anyOf.length===0)return G("expected a non-empty array",H("anyOf"));let W=[],V=!1;if(Q.anyOf.forEach((U,P)=>{if(U0(U)&&U.type==="null"&&Object.keys(U).length===1){K=!0;return}let F=j0(U,Z,H(`anyOf[${P}]`),X);if(F)W.push(F);else V=!0}),V)return;if(W.length===0)return G("anyOf has only null in it",H("anyOf"));if(W.length===1){let U=W[0];return{...U,nullable:U.nullable||K,...O?{description:O}:{}}}return B({kind:"union",members:W})}if(Q.const!==void 0){let W=Q.const;if(typeof W!=="string"&&typeof W!=="number"&&typeof W!=="boolean")return G("only a string, number or boolean const is supported",H("const"));if(J!==void 0&&typeof W!==(J==="integer"?"number":J))return G(`const ${JSON.stringify(W)} is not of type ${J}`,H("const"));return B({kind:"literal",value:W})}let _;if(J==="string"){if(_=aQ(Q,Z,H,X),_===null)return}if(Q.enum!==void 0){if(!Array.isArray(Q.enum)||Q.enum.length===0)return G("expected a non-empty array",H("enum"));let W=Q.enum.filter((P)=>P!==null);if(W.length<Q.enum.length)K=!0;let V=W.find((P)=>!(typeof P==="string"||typeof P==="number"||typeof P==="boolean")||J!==void 0&&typeof P!==(J==="integer"?"number":J));if(V!==void 0||W.length===0)return G(J?`every value must be of type ${J}${W.length===0?", and there must be one":`; ${JSON.stringify(V)} is not`}`:"only strings, numbers and booleans are supported",H("enum"));if(W.every((P)=>typeof P==="string"))return B({kind:"enum",values:[...new Set(W)],..._?{checks:_}:{}});let U=[...new Set(W)];if(U.length===1)return B({kind:"literal",value:U[0]});return B({kind:"union",members:U.map((P)=>x({kind:"literal",value:P}))})}switch(J){case void 0:return G("a schema needs a type, an enum, a const or an anyOf");case"string":return B({kind:"string",..._?{checks:_}:{}});case"number":case"integer":{let W=J==="integer"?{integer:!0}:{},V=!1;for(let U of r.number){let P=Q[U];if(P===void 0)continue;if(typeof P!=="number"||!Number.isFinite(P)){G("expected a number",H(U)),V=!0;continue}W[U]=P}if(V)return;return B({kind:"number",...Object.keys(W).length>0?{checks:W}:{}})}case"boolean":return B({kind:"boolean"});case"array":{if(!U0(Q.items))return G('an array needs "items" to be one schema (tuples are not supported)',H("items"));let W={},V=!1;for(let P of["minItems","maxItems"]){let F=Q[P];if(F===void 0)continue;if(typeof F!=="number"||!Number.isInteger(F)||F<0){G("expected a non-negative integer",H(P)),V=!0;continue}W[P]=F}let U=j0(Q.items,Z,H("items"),X);if(!U||V)return;return B({kind:"array",item:U,...Object.keys(W).length>0?{checks:W}:{}})}case"object":{let W=Q.properties??{};if(!U0(W))return G("expected an object",H("properties"));if(Q.additionalProperties!==void 0&&Q.additionalProperties!==!1)return G("only false is supported; a record with arbitrary keys has no strict-mode form (use s.json())",H("additionalProperties"));let V=Q.required??[];if(!Array.isArray(V)||!V.every((A)=>typeof A==="string"))return G("expected an array of property names",H("required"));let U=V.filter((A)=>!Object.hasOwn(W,A));if(U.length>0)return G(`lists properties the schema doesn't have: ${U.join(", ")}`,H("required"));let P={},F=!1;for(let[A,C]of Object.entries(W)){let R=j0(C,Z,H(`properties.${A}`),X);if(!R){F=!0;continue}P[A]=V.includes(A)?R:{...R,optional:!0}}if(F)return;let I=Z.unknownKeys;return B({kind:"object",shape:P,...I==="error"||I==="passthrough"?{unknownKeys:I}:{}})}}return}function aQ(Q,Z,$,X){let G={},H=!1;for(let Y of["minLength","maxLength"]){let M=Q[Y];if(M===void 0)continue;if(typeof M!=="number"||!Number.isInteger(M)||M<0){X.push(`${$(Y)}: expected a non-negative integer`),H=!0;continue}G[Y]=M}if(Q.format!==void 0){let Y=Q.format,M=typeof Y==="string"?Z.formats?.[Y]:void 0;if(typeof Y!=="string")X.push(`${$("format")}: expected a string`),H=!0;else if(!M||!Object.hasOwn(Z.formats,Y))X.push(`${$("format")}: unknown format ${JSON.stringify(Y)}; pass a check for it in the formats option`),H=!0;else G.format={name:Y,test:eQ(M)}}if(H)return null;return Object.keys(G).length>0?G:void 0}function eQ(Q){if(Q===!0)return()=>!0;if(Q instanceof RegExp)return(Z)=>{return Q.lastIndex=0,Q.test(Z)};return Q}var _1={string:()=>E(x({kind:"string"})),number:()=>E(x({kind:"number"})),boolean:()=>E(x({kind:"boolean"})),literal:(Q)=>E(x({kind:"literal",value:Q})),enum:(Q)=>E(x({kind:"enum",values:Q})),object:(Q)=>E(x({kind:"object",shape:Object.fromEntries(Object.entries(Q).map(([Z,$])=>[Z,V0($)]))})),array:(Q)=>E(x({kind:"array",item:V0(Q)})),union:(Q)=>E(x({kind:"union",members:Q.map(V0)})),json:()=>E(x({kind:"json"})),recursive:ZZ,fromJSONSchema:(Q,Z={})=>{let $=[];if(Z.unknownKeys!==void 0&&!ZQ.includes(Z.unknownKeys))throw Error(`gemi/ai: s.fromJSONSchema's unknownKeys option must be one of ${ZQ.map((G)=>JSON.stringify(G)).join(", ")}, got ${JSON.stringify(Z.unknownKeys)}`);let X=j0(Q,Z,"",$);if(!X||$.length>0)throw new HQ($.length>0?$:["unreadable schema"]);return E(X)}};function L1(Q){let Z=R0.get(Q);if(Z)return Q0(Z.node);return e(Q.toJSONSchema())}function e(Q){if(!(Q.$ref!==void 0||Q.type!==void 0||Q.enum!==void 0||Q.const!==void 0||Q.anyOf!==void 0||Q.properties!==void 0||Q.items!==void 0))return!1;for(let $ of Object.values(Q.properties??{}))if(!e($))return!1;if(Q.items&&!e(Q.items))return!1;for(let $ of Q.anyOf??[])if(!e($))return!1;for(let $ of Object.values(Q.$defs??{}))if(!e($))return!1;return!0}function Q0(Q,Z=new Set){switch(Q.kind){case"string":case"number":case"boolean":case"literal":case"enum":return!0;case"object":return Object.values(Q.shape).every(($)=>Q0($.node,Z));case"array":return Q0(Q.item.node,Z);case"union":return Q.members.every(($)=>Q0($.node,Z));case"json":return!1;case"ref":if(Z.has(Q.cell))return!0;return Z.add(Q.cell),Q0(u(Q.cell).node,Z)}}function E0(Q,Z,$=new Set){let X=Q.node;if(X.kind==="union")return X.members.some((G)=>E0(G,Z,$));if(X.kind!=="ref")return!1;if(X.cell===Z)return!0;if($.has(X.cell)||!X.cell.definition)return!1;return $.add(X.cell),E0(X.cell.definition,Z,$)}var QZ=/^[A-Za-z_][A-Za-z0-9_-]{0,63}$/;function ZZ(Q,Z){if(typeof Q!=="string"||!QZ.test(Q))throw Error(`gemi/ai: s.recursive needs a name of letters, digits, "_" and "-" (starting with a letter or "_", at most 64), got ${JSON.stringify(Q)}`);let $={name:Q,active:new Set},X=()=>x({kind:"ref",cell:$}),G=V0(Z(E(X())));if(G.optional)throw Error(`gemi/ai: the recursive schema "${Q}" is optional() as a whole; mark the places that use it optional instead`);if(E0(G,$))throw Error(`gemi/ai: the recursive schema "${Q}" refers to itself outside any object or array, so it describes no finite value; nest \`self\` in an s.object(...) field or an s.array(...)`);return $.definition=G,E(X())}function YQ(Q){if(typeof Q!=="string")return null;let[Z]=Q.split(";",1),$=Z.trim().toLowerCase();return $===""?null:$}function KQ(Q){if(Q===null)return!1;if(Q==="application/json")return!0;let Z=Q.indexOf("/");return Z>0&&Q.endsWith("+json")&&Q.length>Z+1+5}var $0=new WeakMap;function F1(Q,Z,$,X){$0.set(Q,{clientAddress:Z,...$?{grant:Object.freeze({...$,scopes:Object.freeze([...$.scopes])})}:{},...X?{progress:X}:{}})}function MQ(Q){return $0.get(Q)?.progress}function JQ(Q){return $0.get(Q)?.grant}function WQ(Q){return $0.has(Q)}function I1(Q){return $0.get(Q)?.clientAddress}var DQ=new WeakMap;function T1(Q,Z){DQ.set(Q,Z)}function zQ(Q){return DQ.get(Q)??null}var S0=new WeakMap;function N1(Q,Z){let $=S0.get(Q)??[];if(!$.includes(Z))S0.set(Q,[...$,Z])}function q1(Q){return S0.get(Q)??[]}class d{data;constructor(Q){this.data=Q}get(Q){return this.data[Q]}has(Q){return this.data[Q]!==void 0}toJSON(){return this.data}}function UQ(Q){return typeof Q==="object"&&Q!==null&&!(Q instanceof Blob)}function $Z(Q,Z){if(!Z.includes(".")||Object.hasOwn(Q,Z))return[{path:[Z],value:Q[Z]}];let $=[{path:[],value:Q}];for(let X of Z.split(".")){let G=[];for(let{path:H,value:Y}of $){if(X==="*"){if(Array.isArray(Y))Y.forEach((M,K)=>G.push({path:[...H,K],value:M}));else if(UQ(Y))for(let[M,K]of Object.entries(Y))G.push({path:[...H,M],value:K});continue}if(Array.isArray(Y)&&/^\d+$/.test(X)){G.push({path:[...H,Number(X)],value:Y[Number(X)]});continue}G.push({path:[...H,X],value:UQ(Y)&&Object.hasOwn(Y,X)?Y[X]:void 0})}$=G}return $}function VQ(Q){return Q.join(".")}class XZ{kind;rawRequest;headers;cookies;search;schema={};routePath;params;domain;state;constructor(Q,Z,$,X){if(!Q){let K=b.getStore().req;this.params=K.params,this.rawRequest=K.rawRequest,this.kind=K.kind,this.routePath=K.routePath,this.domain=K.domain??null,this.state=K.state??new x0}else this.params=Z,this.rawRequest=Q,this.routePath=X,this.kind=$??"api",this.domain=zQ(Q),this.state=new x0;this.headers=this.rawRequest.headers;let G=N0(this.rawRequest.headers.get("Cookie")),H=new URL(this.rawRequest.url),Y=new Map;for(let[K,J]of H.searchParams)if(Y.has(K)){let D=Y.get(K);if(Array.isArray(D))D.push(J),Y.set(K,D);else Y.set(K,[D,J])}else Y.set(K,J);let M=Object.fromEntries(Y.entries());this.search=new d(M),this.cookies=G}locale(){return b.getStore().locale}ctx(){return b.getStore()}isModelOriginated(){return WQ(this.rawRequest)}mcpGrant(){return JQ(this.rawRequest)??null}reportProgress(Q){let Z=MQ(this.rawRequest);if(!Z)return!1;return Z(Q),!0}get signal(){return this.rawRequest.signal}range(){return t0(this.rawRequest.headers.get("Range"))}refine(Q){return{}}async parseBody(){let Q=YQ(this.rawRequest.headers.get("Content-Type"));if(KQ(Q))return new d(await this.parseJsonBody());if(Q==="application/x-www-form-urlencoded"||Q==="multipart/form-data"){let Z;try{Z=await this.rawRequest.formData()}catch(X){if(X instanceof N)throw X;throw new N("The request body could not be read as a form.")}let $=new Map;for(let[X,G]of Z.entries())if($.has(X)){let H=$.get(X);if(Array.isArray(H))H.push(G);else $.set(X,[H,G])}else $.set(X,G);return new d(Object.fromEntries($.entries()))}return new d({})}async parseJsonBody(){if(!this.rawRequest.body)return{};let Q;try{Q=await this.rawRequest.text()}catch($){if($ instanceof N)throw $;throw new N("The request body could not be read.")}if(Q.trim()==="")return{};let Z;try{Z=JSON.parse(Q)}catch{throw new N("The request body is not valid JSON.")}if(Z===null||typeof Z!=="object")throw new N("The request body must be a JSON object.");return Z}validateInput(Q){if($Q(this.schema))return this.validateWithSchema(Q);let Z=Q.toJSON()??{},$={},X=Object.entries(this.schema).map(([G,H])=>({key:G,rules:Object.entries(H).map(([Y,M])=>({rule:Y,message:M,check:typeof M==="function"?null:this.ruleFor(G,Y)}))}));for(let{key:G,rules:H}of X)for(let{path:Y,value:M}of $Z(Z,G)){let K=this.checkField(M,H);if(K.length>0){let J=$[VQ(Y)]??=[];for(let D of K)if(!J.includes(D))J.push(D)}}if(this.addRefinements($,Z),Object.keys($).length>0)throw new s($);return Q}checkField(Q,Z){let $=Z.some(({rule:H})=>H==="required"),X=Q===void 0||Q===null||Q==="",G=[];for(let{rule:H,message:Y,check:M}of Z){let K=Y,J=!1;if(typeof Y==="function")K=Y(Q),J=typeof K>"u";else J=M(Q);if(J)continue;if(X&&!$)continue;if(H==="required")return[String(K)];if(!G.includes(String(K)))G.push(String(K))}return G}validateWithSchema(Q){let Z=this.schema.validate(Q.toJSON()),$={};if("issues"in Z)for(let G of Z.issues){let H=VQ(G.path),Y=$[H]??=[];if(!Y.includes(G.message))Y.push(G.message)}let X="value"in Z?new d(Z.value):Q;if(this.addRefinements($,X.toJSON()),Object.keys($).length>0)throw new s($);return X}addRefinements(Q,Z){for(let[$,X]of Object.entries(this.refine(Z)??{})){let G=Q[$]??[];Q[$]=G.includes(X)?G:[...G,X]}}ruleFor(Q,Z){try{return e0(Z)}catch($){if($ instanceof k)throw new k(`${this.constructor.name}.schema.${Q}: ${$.message}`);throw $}}async input(){return this.validateInput(await this.parseBody())}async safeInput(){let Q=await this.parseBody();try{return{isValid:!0,errors:{},input:this.validateInput(Q)}}catch(Z){if(!(Z instanceof s))throw Z;return{isValid:!1,errors:Z.errors,input:Q}}}}class GZ extends N{error;constructor(Q="Not authorized"){super(Q);this.name="AuthorizationError",this.error=Q,this.payload={api:{status:401,data:{error:L0("authorization",this.error,401)}},view:{}}}}class k0 extends N{static apiStatus=403;error;constructor(Q="Insufficient permissions"){super(Q);this.name="InsufficientPermissionsError",this.error=Q,this.payload={api:{status:k0.apiStatus,data:{error:L0("permission",this.error,k0.apiStatus)}},view:{status:403}}}}class g0 extends N{total;constructor(Q){super("Range not satisfiable");this.total=Q;this.name="RangeNotSatisfiableError",this.payload={api:{status:416,data:{error:_0("range_not_satisfiable","Range not satisfiable",416)},headers:{"Content-Range":r0(Q),"Accept-Ranges":"bytes","Cache-Control":"no-store"}},view:{}}}}class HZ extends N{constructor(Q="Not found"){super(Q);this.name="NotFoundError",this.payload={api:{status:404,data:{error:_0("not_found",Q,404)},headers:{"Cache-Control":"no-store"}},view:{status:404}}}}class h extends N{fileName;constructor(Q){super("File not found");this.fileName=Q;this.name="FileNotFoundError",this.payload={api:{status:404,data:{error:_0("not_found","Not found",404)},headers:{"Cache-Control":"no-store"}},view:{status:404}}}}class YZ extends N{constructor(Q={}){super("Authentication error");this.name="AuthenticationError";let Z=Q.redirectTo??"/auth/sign-in";this.payload={api:{status:401,data:{error:L0("authentication","Authentication error",401)}},viewData:{status:200,data:{},headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"},directive:{kind:"Redirect",path:Z}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:Z}}}}}class X0{static getFacadeAccessor(){throw Error(`Facade [${this.name}] does not implement getFacadeAccessor().`)}static getFacadeRoot(){return BQ(this.getFacadeAccessor())}}import{Buffer as KZ}from"buffer";function C0(Q){if(typeof Q!=="string"||/^[\s/.]*$/.test(Q))throw Error(`Refusing to delete by prefix ${JSON.stringify(Q)}: it would match the whole store`)}class G0{async putStream({body:Q,...Z},$={}){$.signal?.throwIfAborted();let X=[],G=Q.getReader();try{for(;;){$.signal?.throwIfAborted();let{done:H,value:Y}=await G.read();if(H)break;X.push(Y)}}catch(H){throw await G.cancel(H).catch(()=>{}),H}return this.put({...Z,body:KZ.concat(X)},$)}async*objects(Q,Z={}){throw Error(`${this.constructor.name} does not implement objects(). Override it to list objects in this backend.`)}async deletePrefix(Q,Z={}){C0(Q);let $=[];for await(let X of this.objects(Q,Z))$.push(X.name);for(let X of $)Z.signal?.throwIfAborted(),await this.delete({name:X,bucket:Z.bucket});return $.length}async delete(Q){throw Error(`${this.constructor.name} does not implement delete(). Override it to remove objects from this backend.`)}async read(Q){let Z=typeof Q==="string"?{name:Q}:Q,$=await this.fetch({name:Z.name,bucket:Z.bucket});if(!$.ok)throw new h(Z.name);let X=$.headers.get("Content-Type")??"application/octet-stream",G=$.headers.get("ETag")??void 0,H=$.headers.get("Last-Modified"),Y=H?new Date(H):void 0;if(Z.range){let J=await $.blob();return{body:J,start:0,end:J.size-1,total:J.size,partial:!1,type:X,etag:G,lastModified:Y,name:Z.name}}let M=Number($.headers.get("Content-Length")),K=Number.isFinite(M)?M:0;return{body:$.body,start:0,end:K-1,total:K,partial:!1,type:X,etag:G,lastModified:Y,name:Z.name}}async size(Q){let Z=typeof Q==="string"?Q:Q.name,$=typeof Q==="string"?void 0:Q.bucket,X=await this.fetch({name:Z,bucket:$});if(!X.ok)throw new h(Z);let G=Number(X.headers.get("Content-Length"));if(Number.isFinite(G))return await X.body?.cancel(),G;return(await X.blob()).size}}function PQ(Q,Z){if(!Z)return Q;let $=Q.getReader(),X=!1,G,H=()=>{if(X=!0,G)Z.removeEventListener("abort",G)};return new ReadableStream({start(Y){if(G=()=>{if(X)return;H(),Y.error(Z.reason),$.cancel(Z.reason).catch(()=>{})},Z.aborted)G();else Z.addEventListener("abort",G,{once:!0})},async pull(Y){let M;try{M=await $.read()}catch(K){if(X)return;H(),Y.error(K);return}if(X)return;if(M.done){H(),Y.close();return}Y.enqueue(M.value)},cancel(Y){return H(),$.cancel(Y)}},{highWaterMark:0})}import{mkdir as MZ,open as JZ,readdir as y0,rename as WZ,rmdir as DZ,stat as zZ,unlink as jQ}from"fs/promises";import{dirname as UZ,isAbsolute as b0,relative as H0,resolve as i,sep as f}from"path";class f0 extends G0{configured;constructor(Q){super();this.configured=Q}get folderPath(){return this.configured??`${Y0()}/storage`}async put(Q,{signal:Z}={}){Z?.throwIfAborted();let $,X;if(Q instanceof Blob)$=Q,X=`${Bun.randomUUIDv7()}.${Q.type.split("/")[1].split(";")[0]}`;else $=Q.body,X=Q.name;let G=$ instanceof Buffer?$:$ instanceof Blob||$ instanceof File?Buffer.from(await $.arrayBuffer()):"",H=`${this.folderPath}/${X}`;return Z?.throwIfAborted(),await Bun.write(H,G),X}async putStream({name:Q,body:Z},{signal:$}={}){let X=Z.getReader(),G=null;try{if($?.throwIfAborted(),!Q)throw Error("Object name has to be specified");let H=i(this.folderPath),Y=i(H,Q),M=H0(H,Y);if(!M||M===".."||M.startsWith(`..${f}`)||b0(M))throw Error(`Refusing to write "${Q}": it is outside the storage folder`);await MZ(UZ(Y),{recursive:!0}),G=`${Y}.${Bun.randomUUIDv7()}.partial`;let K=await JZ(G,"wx");try{for(;;){$?.throwIfAborted();let{done:J,value:D}=await X.read();if(J)break;for(let z=0;z<D.byteLength;){let{bytesWritten:O}=await K.write(D,z);z+=O}}}finally{await K.close()}return $?.throwIfAborted(),await WZ(G,Y),Q}catch(H){if(await X.cancel(H).catch(()=>{}),G)await jQ(G).catch(()=>{});throw H}}async fetch(Q,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,X;if(typeof Q==="string")X=Q;else $=Q.bucket??$,X=Q.name;if(!X)throw Error("Object name has to be specified");let G=`${this.folderPath}/${X}`,H=Bun.file(G),Y=PQ(Bun.file(G).stream(),Z),M=new Date(H.lastModified).toUTCString();return new Response(Y,{headers:{"Content-Type":H.type,"Content-Length":String(H.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":M}})}async read(Q){let Z=typeof Q==="string"?{name:Q}:Q,{name:$,range:X=null}=Z;if(!$)throw Error("Object name has to be specified");let G=Bun.file(`${this.folderPath}/${$}`);if(!await G.exists())throw new h($);let H=G.size,Y=X?s0(X,H):null;if(X&&!Y)throw new g0(H);let M=Y?.start??0,K=Y?Y.end:H-1;return{body:Y?G.slice(M,K+1):G,start:M,end:K,total:H,partial:Boolean(Y),type:G.type||"application/octet-stream",lastModified:new Date(G.lastModified),name:$}}async size(Q){let Z=typeof Q==="string"?Q:Q.name,$=Bun.file(`${this.folderPath}/${Z}`);if(!await $.exists())throw new h(Z);return $.size}async delete(Q){let Z=typeof Q==="string"?Q:Q.name;if(!Z)throw Error("Object name has to be specified");let $=i(this.folderPath),X=i($,Z),G=H0($,X);if(!G||G===".."||G.startsWith(`..${f}`)||b0(G))throw Error(`Refusing to delete "${Z}": it is outside the storage folder`);try{await jQ(X)}catch(H){if(H?.code==="ENOENT")return;throw H}}resolvePrefix(Q){let Z=i(this.folderPath),$=Q.lastIndexOf("/"),X=$===-1?"":Q.slice(0,$),G=$===-1?Q:Q.slice($+1),H=i(Z,X),Y=H0(Z,H);if(Y===".."||Y.startsWith(`..${f}`)||b0(Y))throw Error(`Refusing to list "${Q}": it is outside the storage folder`);let M=Y.split(f).join("/");return{root:Z,dir:H,match:M?`${M}/${G}`:G}}async*objects(Q,{signal:Z}={}){Z?.throwIfAborted();let{root:$,dir:X,match:G}=this.resolvePrefix(Q),H=[],Y=async(M)=>{let K;try{K=await y0(M,{withFileTypes:!0})}catch(J){if(J?.code==="ENOENT"||J?.code==="ENOTDIR")return;throw J}for(let J of K){let D=`${M}${f}${J.name}`,z=H0($,D).split(f).join("/");if(J.isDirectory()){if(`${z}/`.startsWith(G)||G.startsWith(`${z}/`))await Y(D)}else if(J.isFile()&&z.startsWith(G))H.push(z)}};await Y(X),H.sort();for(let M of H){Z?.throwIfAborted();let K;try{K=await zZ(`${$}/${M}`)}catch(J){if(J?.code==="ENOENT")continue;throw J}yield{name:M,size:K.size,lastModified:K.mtime}}}async deletePrefix(Q,Z={}){C0(Q);let{root:$,match:X}=this.resolvePrefix(Q);C0(X);let G=await super.deletePrefix(Q,Z);if(G>0)await this.pruneEmptyDirs($,X);return G}async pruneEmptyDirs(Q,Z){let $=[],X=async(G)=>{let H;try{H=await y0(G,{withFileTypes:!0})}catch{return}for(let Y of H){if(!Y.isDirectory())continue;let M=`${G}${f}${Y.name}`,K=H0(Q,M).split(f).join("/");if(`${K}/`.startsWith(Z)||Z.startsWith(`${K}/`)){if(await X(M),`${K}/`.startsWith(Z))$.push(M)}}};await X(Q);for(let G of $)try{await DZ(G)}catch{}}async list(){return await y0(this.folderPath)}}function Y8(Q){return Q}function RQ(){return{driver:new f0}}class v0{static token="filesystem";driver;constructor(Q={}){this.driver=Q.driver??RQ().driver}}class q extends Error{code="safe-fetch";url;constructor(Q,Z,$){super(Q,$);this.name=new.target.name,this.url=Z}}class m extends q{reason;code="invalid-url";constructor(Q,Z,$){super($,Q);this.reason=Z}}class O0 extends q{host;reason;code="blocked-host";constructor(Q,Z,$){super($==="denied"?`Requests to ${Z} are not allowed.`:`${Z} is not on the list of hosts this request may reach.`,Q);this.host=Z;this.reason=$}}class l extends q{host;address;range;code="blocked-address";constructor(Q,Z,$,X){super(Z===$?`${$} is not a public address (${X}).`:`${Z} resolves to ${$}, which is not a public address (${X}).`,Q);this.host=Z;this.address=$;this.range=X}}class F0 extends q{host;code="dns";constructor(Q,Z,$){super(`Couldn't resolve ${Z}.`,Q,{cause:$});this.host=Z}}class I0 extends q{phase;ms;code="timeout";constructor(Q,Z,$){super(Z==="connect"?`Couldn't connect within ${$} ms.`:`The request didn't finish within ${$} ms.`,Q);this.phase=Z;this.ms=$}}class A0 extends q{limit;code="too-large";constructor(Q,Z){super(`The response is larger than ${Z} bytes.`,Q);this.limit=Z}}class K0 extends q{contentType;allowed;code="content-type";constructor(Q,Z,$){super(`The response is ${Z??"of no content type"}, not ${$.join(" or ")}.`,Q);this.contentType=Z;this.allowed=$}}class h0 extends q{limit;code="too-many-redirects";constructor(Q,Z){super(`More than ${Z} redirects.`,Q);this.limit=Z}}class n extends q{code="network";constructor(Q,Z){super(`The request failed: ${Z instanceof Error?Z.message:String(Z)}`,Q,{cause:Z})}}class m0 extends q{status;code="http-status";constructor(Q,Z){super(`The server answered ${Z}.`,Q);this.status=Z}}function VZ(Q){if(Q==="")return null;let Z=Q.split(".");if(Z.length>1&&Z[Z.length-1]==="")Z.pop();if(Z.length===0||Z.length>4)return null;let $=[];for(let H of Z){let Y=BZ(H);if(Y===null)return null;$.push(Y)}let X=$.pop();for(let H of $)if(H>255)return null;if(X>=256**(4-$.length))return null;let G=X;return $.forEach((H,Y)=>{G+=H*256**(3-Y)}),new Uint8Array([Math.floor(G/16777216)&255,Math.floor(G/65536)&255,Math.floor(G/256)&255,G&255])}function BZ(Q){if(Q==="")return null;let Z=Q,$=10;if(/^0x/i.test(Z)){if(Z=Z.slice(2),$=16,Z==="")return 0}else if(Z.length>1&&Z.startsWith("0"))Z=Z.slice(1),$=8;if(!($===16?/^[0-9a-f]+$/i:$===8?/^[0-7]+$/:/^[0-9]+$/).test(Z))return null;let G=parseInt(Z,$);return Number.isSafeInteger(G)?G:null}function _Q(Q){let Z=Q;if(Z.startsWith("[")&&Z.endsWith("]"))Z=Z.slice(1,-1);let $=Z.indexOf("%");if($!==-1)Z=Z.slice(0,$);if(!Z.includes(":"))return null;let X=Z.split("::");if(X.length>2)return null;let G=(J,D)=>{if(J==="")return[];let z=[],O=J.split(":");for(let B=0;B<O.length;B++){let _=O[B];if(D&&B===O.length-1&&_.includes(".")){if(!/^\d{1,3}(\.\d{1,3}){3}$/.test(_))return null;let W=_.split(".").map(Number);if(W.some((V)=>V>255))return null;z.push(W[0]<<8|W[1],W[2]<<8|W[3]);continue}if(!/^[0-9a-f]{1,4}$/i.test(_))return null;z.push(parseInt(_,16))}return z},H=G(X[0],X.length===1),Y=X.length===2?G(X[1],!0):[];if(!H||!Y)return null;let M;if(X.length===2){let J=8-H.length-Y.length;if(J<1)return null;M=[...H,...Array.from({length:J},()=>0),...Y]}else M=H;if(M.length!==8)return null;let K=new Uint8Array(16);return M.forEach((J,D)=>{K[D*2]=J>>8,K[D*2+1]=J&255}),K}function M0(Q){let Z=_Q(Q);if(Z)return{family:6,bytes:Z};let $=VZ(Q);if($)return{family:4,bytes:$};return null}function c(Q){if(Q.family===6&&PZ(Q.bytes))return{family:4,bytes:Q.bytes.slice(12)};return Q}function PZ(Q){for(let Z=0;Z<10;Z++)if(Q[Z]!==0)return!1;return Q[10]===255&&Q[11]===255}function J0(Q){if(Q.family===4)return Array.from(Q.bytes).join(".");let Z=[];for(let $=0;$<16;$+=2)Z.push((Q.bytes[$]<<8|Q.bytes[$+1]).toString(16));return Z.join(":")}function o(Q){let Z=Q.lastIndexOf("/"),$=Z===-1?Q:Q.slice(0,Z),X=/^[0-9.]+$/.test($)?jZ($):_Q($);if(!X)return null;let G=c(X.length===4?{family:4,bytes:X}:{family:6,bytes:X}),H=G.family===4?32:128,Y=H;if(Z!==-1){let M=Q.slice(Z+1);if(!/^\d{1,3}$/.test(M))return null;if(Y=Number(M),X.length===16&&G.family===4)Y-=96;if(Y<0||Y>H)return null}return{family:G.family,bytes:G.bytes,prefix:Y}}function jZ(Q){return/^\d{1,3}(\.\d{1,3}){3}$/.test(Q)&&Q.split(".").every((Z)=>Number(Z)<=255)?new Uint8Array(Q.split(".").map(Number)):null}function g(Q,Z){let $=c(Q);if($.family!==Z.family)return!1;let X=Z.prefix;for(let G=0;X>0;G++){let H=Math.min(8,X),Y=255<<8-H&255;if(($.bytes[G]&Y)!==(Z.bytes[G]&Y))return!1;X-=H}return!0}var L=(Q,Z)=>({cidr:o(Q),kind:Z,text:Q}),RZ=[L("0.0.0.0/8","unspecified"),L("10.0.0.0/8","private"),L("100.64.0.0/10","shared"),L("127.0.0.0/8","loopback"),L("169.254.169.254/32","metadata"),L("169.254.0.0/16","link-local"),L("168.63.129.16/32","metadata"),L("172.16.0.0/12","private"),L("192.0.0.0/24","reserved"),L("192.0.2.0/24","documentation"),L("192.88.99.0/24","reserved"),L("192.168.0.0/16","private"),L("198.18.0.0/15","benchmarking"),L("198.51.100.0/24","documentation"),L("203.0.113.0/24","documentation"),L("224.0.0.0/4","multicast"),L("255.255.255.255/32","broadcast"),L("240.0.0.0/4","reserved")],_Z=[L("::/128","unspecified"),L("::1/128","loopback"),L("64:ff9b:1::/48","private"),L("::/8","reserved"),L("100::/64","reserved"),L("2001:db8::/32","documentation"),L("2001::/23","reserved"),L("3fff::/20","documentation"),L("fd00:ec2::254/128","metadata"),L("fc00::/7","unique-local"),L("fe80::/10","link-local"),L("fec0::/10","private"),L("ff00::/8","multicast")],LZ=o("64:ff9b::/96"),CZ=o("2002::/16"),OZ=o("2000::/3");function T0(Q){let Z=typeof Q==="string"?M0(Q):Q;if(!Z)return{kind:"reserved",range:"not an IP address"};let $=c(Z);if($.family===4){let G=RZ.find((H)=>g($,H.cidr));return G?{kind:G.kind,range:G.text}:null}if(g($,LZ))return T0({family:4,bytes:$.bytes.slice(12)});if(g($,CZ))return T0({family:4,bytes:$.bytes.slice(2,6)});let X=_Z.find((G)=>g($,G.cidr));if(X)return{kind:X.kind,range:X.text};return g($,OZ)?null:{kind:"reserved",range:"outside 2000::/3"}}function LQ(Q,Z){let $=c(Q),X=c(Z);return $.family===X.family&&$.bytes.every((G,H)=>G===X.bytes[H])}import{lookup as FZ}from"dns/promises";import*as IZ from"http";import*as AZ from"https";import*as t from"zlib";class c0 extends Response{#Q;#Z;address;constructor(Q,Z,$){super(Q,Z);this.#Q=$.url,this.#Z=$.redirected,this.address=$.address}get url(){return this.#Q}get redirected(){return this.#Z}}var W0={timeout:30000,connectTimeout:1e4,maxSize:10485760,maxRedirects:5,ports:[80,443]},TZ=new Set([301,302,303,307,308]),NZ=new Set([101,103,204,205,304]),qZ=["host","connection","content-length","transfer-encoding","keep-alive","upgrade"],wZ=["authorization","cookie","proxy-authorization"];async function FQ(Q,Z={}){let $=EZ(Z),X=Z.signal;X?.throwIfAborted();let G=new AbortController,H=G.signal,Y=String(Q),M=(z)=>{if(!H.aborted)G.abort(z)},K=setTimeout(()=>M(new I0(Y,"total",$.timeout)),$.timeout),J=()=>M(X.reason);X?.addEventListener("abort",J,{once:!0});let D=()=>{clearTimeout(K),X?.removeEventListener("abort",J)};try{let z=OQ(Y,$),O=(Z.method??"GET").toUpperCase(),B=new Headers(Z.headers);for(let W of qZ)B.delete(W);if(!B.has("accept"))B.set("accept","*/*");if(!B.has("user-agent"))B.set("user-agent","gemi");if(!B.has("accept-encoding"))B.set("accept-encoding","gzip, deflate, br");let _=await gZ(O,Z.body,B);for(let W=0;;W++){Y=z.href;let{request:V,response:U,address:P}=await yZ(z,O,B,_,$,H),F=U.statusCode??0,I=U.headers.location;if(TZ.has(F)&&I&&Z.redirect!=="manual"){if(V.destroy(),W>=$.maxRedirects)throw new h0(z.href,$.maxRedirects);let A;try{A=new URL(I,z)}catch{throw new m(I,"malformed",`The redirect to "${I}" is not a URL.`)}if(F===303?O!=="HEAD":(F===301||F===302)&&O==="POST"){O="GET",_=null;let C=[];B.forEach((R,j)=>{if(j.startsWith("content-"))C.push(j)});for(let R of C)B.delete(R)}if(A.origin!==z.origin)for(let C of wZ)B.delete(C);z=OQ(A.href,$);continue}return bZ({url:z,hop:W,method:O,request:V,response:U,address:P,policy:$,signal:H,release:D})}}catch(z){throw D(),H.aborted?H.reason:z}}function EZ(Q){let Z=(X,G)=>{let H={hosts:[],ranges:[]};for(let Y of X){let M=Y.includes("/")||Y.includes(":")||/^[\d.]+$/.test(Y),K=M?o(Y):null;if(K)H.ranges.push(K);else if(!M&&/^(\*\.)?[a-z0-9-]+(\.[a-z0-9-]+)*\.?$/i.test(Y))H.hosts.push(IQ(Y));else throw TypeError(`safeFetch: "${Y}" in ${G} is not a host name or an IP range.`)}return H},$=Q.allowPrivate;return{timeout:Q.timeout??W0.timeout,connectTimeout:Q.connectTimeout??W0.connectTimeout,maxSize:Q.maxSize??W0.maxSize,maxRedirects:Q.maxRedirects??W0.maxRedirects,ports:Q.ports??W0.ports,allow:Q.allow&&Q.allow.length>0?Z(Q.allow,"allow"):null,deny:Z(Q.deny??[],"deny"),allowPrivate:$===!0?!0:Z($||[],"allowPrivate").ranges,contentTypes:Q.contentTypes?.length?Q.contentTypes:null,resolve:Q.resolve??SZ}}async function SZ(Q){return(await FZ(Q,{all:!0,verbatim:!0})).map(($)=>$.address)}function IQ(Q){return Q.toLowerCase().replace(/\.$/,"")}function CQ(Q,Z){return Z.some(($)=>$.startsWith("*.")?Q.endsWith($.slice(1)):Q===$)}function OQ(Q,Z){let $;try{$=new URL(Q)}catch{throw new m(Q,"malformed",`"${Q}" is not a URL.`)}if($.protocol!=="http:"&&$.protocol!=="https:")throw new m($.href,"scheme",`Only http and https URLs can be fetched, not ${$.protocol.slice(0,-1)}.`);if($.username||$.password)throw new m($.href,"credentials","The URL has a username or password in it.");let X=AQ($);if(Z.ports!=="any"&&!Z.ports.includes(X))throw new m($.href,"port",`Port ${X} is not allowed.`);return $}function AQ(Q){return Q.port?Number(Q.port):Q.protocol==="https:"?443:80}async function xZ(Q,Z,$){let X=IQ(Q.hostname.replace(/^\[(.*)\]$/,"$1")),G=M0(X),H=G!==null&&(X.includes(":")||/^\d+\.\d+\.\d+\.\d+$/.test(X));if(!H&&CQ(X,Z.deny.hosts))throw new O0(Q.href,X,"denied");let Y=!H&&Z.allow!==null&&CQ(X,Z.allow.hosts);if(Z.allow&&!Y&&Z.allow.ranges.length===0)throw new O0(Q.href,X,"not-allowed");let M;if(H)M=[G];else{let K;try{K=await kZ(Z.resolve(X),$)}catch(J){if($.aborted)throw $.reason;throw new F0(Q.href,X,J)}if(M=K.map((J)=>M0(J)).filter((J)=>J!==null),M.length===0)throw new F0(Q.href,X)}for(let K of M){let J=J0(K);if(Z.deny.ranges.some((z)=>g(K,z)))throw new l(Q.href,X,J,"denied");if(Z.allow&&!Y&&!Z.allow.ranges.some((z)=>g(K,z)))throw new l(Q.href,X,J,"not-allowed");let D=T0(K);if(D&&Z.allowPrivate!==!0&&!Z.allowPrivate.some((z)=>g(K,z)))throw new l(Q.href,X,J,D.kind)}return{host:X,addresses:M,isLiteral:H}}function kZ(Q,Z){if(Z.aborted)return Promise.reject(Z.reason);return new Promise(($,X)=>{let G=()=>X(Z.reason);Z.addEventListener("abort",G,{once:!0}),Q.then((H)=>{Z.removeEventListener("abort",G),$(H)},(H)=>{Z.removeEventListener("abort",G),X(H)})})}async function gZ(Q,Z,$){if(Z===void 0||Z===null)return null;if(Q==="GET"||Q==="HEAD")throw TypeError(`safeFetch: a ${Q} request can't have a body.`);let X=new Request("http://body.invalid/",{method:"POST",body:Z}),G=X.headers.get("content-type");if(G&&!$.has("content-type"))$.set("content-type",G);return new Uint8Array(await X.arrayBuffer())}async function yZ(Q,Z,$,X,G,H){let Y=new AbortController,M=setTimeout(()=>Y.abort(new I0(Q.href,"connect",G.connectTimeout)),G.connectTimeout),K=AbortSignal.any([H,Y.signal]);try{let{host:J,addresses:D,isLiteral:z}=await xZ(Q,G,K),O=Q.protocol==="https:",B={};if($.forEach((_,W)=>{B[W]=_}),X)B["content-length"]=String(X.byteLength);return await new Promise((_,W)=>{let V={method:Z,host:J,port:AQ(Q),path:`${Q.pathname}${Q.search}`,headers:B,agent:!1,lookup:(C,R,j)=>{let w=R?.family,T=D.filter((D0)=>!w||D0.family===w);if(T.length===0)j(Object.assign(Error(`No IPv${w} address for ${J}`),{code:"ENOTFOUND"}));else if(R?.all)j(null,T.map((D0)=>({address:J0(D0),family:D0.family})));else j(null,J0(T[0]),T[0].family)}};if(O&&!z)V.servername=J;let U=(O?AZ:IZ).request(V),P=null,F=(C)=>{K.removeEventListener("abort",I),U.destroy(),W(C)},I=()=>F(K.aborted?K.reason:H.reason);K.addEventListener("abort",I,{once:!0});let A=(C)=>{let R=C?.remoteAddress;if(!R||P!==null)return!0;let j=M0(R);if(!j||!D.some((w)=>LQ(w,j)))return F(new l(Q.href,J,R,"not-allowed")),!1;return P=J0(c(j)),!0};U.once("socket",(C)=>{let R=()=>{if(A(C)&&!O)clearTimeout(M)};if(C.connecting)C.once("connect",R);else R();if(O)C.once("secureConnect",()=>clearTimeout(M))}),U.once("response",(C)=>{if(clearTimeout(M),C.on("error",()=>{}),!A(C.socket))return;K.removeEventListener("abort",I),_({request:U,response:C,address:P})}),U.on("error",(C)=>{if(K.aborted)return F(K.reason);F(C instanceof q?C:new n(Q.href,C))}),U.end(X??void 0)})}finally{clearTimeout(M)}}function bZ({url:Q,hop:Z,method:$,request:X,response:G,address:H,policy:Y,signal:M,release:K}){let J=G.statusCode??0;if(J<200||J>599)throw X.destroy(),new n(Q.href,Error(`Unexpected status ${J}`));let D=new Headers,z=G.rawHeaders;for(let R=0;R<z.length;R+=2)D.append(z[R],z[R+1]);if(Y.contentTypes){let R=D.get("content-type")?.split(";")[0].trim().toLowerCase()??null;if(!R||!Y.contentTypes.some((j)=>fZ(R,j)))throw X.destroy(),new K0(Q.href,R,Y.contentTypes)}let O={url:Q.href,redirected:Z>0,address:H},B={status:J,statusText:G.statusMessage??"",headers:D};if($==="HEAD"||NZ.has(J))return X.destroy(),K(),new c0(null,B,O);let _=D.get("content-encoding")?.trim().toLowerCase(),W=_==="gzip"||_==="x-gzip"?t.createGunzip():_==="deflate"?t.createInflate():_==="br"?t.createBrotliDecompress():null,V=Number(D.get("content-length"));if(!W&&Number.isFinite(V)&&V>Y.maxSize)throw X.destroy(),new A0(Q.href,Y.maxSize);if(W)D.delete("content-encoding"),D.delete("content-length");let U=W?G.pipe(W):G,P=0,F=!1,I=()=>{},A=()=>{F=!0,M.removeEventListener("abort",I),K()},C=new ReadableStream({start(R){let j=(T)=>{if(F)return;if(A(),T===void 0)R.close();else X.destroy(),W?.destroy(),R.error(T)};if(I=()=>j(M.reason),M.addEventListener("abort",I,{once:!0}),M.aborted)return I();U.on("data",(T)=>{if(F)return;if(P+=T.byteLength,P>Y.maxSize)return j(new A0(Q.href,Y.maxSize));if(R.enqueue(new Uint8Array(T)),(R.desiredSize??1)<=0)U.pause()}),U.once("end",()=>j());let w=(T)=>j(T instanceof q?T:new n(Q.href,T));if(U.on("error",w),W)G.on("error",w);G.once("aborted",()=>j(new n(Q.href,Error("The response was cut off."))))},pull(){U.resume()},cancel(){if(F)return;A(),X.destroy(),W?.destroy()}});return new c0(C,B,O)}function fZ(Q,Z){let $=Z.toLowerCase();return $.endsWith("/*")?Q.startsWith($.slice(0,-1)):Q===$}function NQ(Q){return mZ(Q)??pZ(Q)??uZ(Q)}var p0=4096,vZ={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/avif":"avif","image/heic":"heic","image/heif":"heif","image/bmp":"bmp","image/tiff":"tiff","image/x-icon":"ico","image/svg+xml":"svg","audio/mpeg":"mp3","audio/aac":"aac","audio/mp4":"m4a","audio/ogg":"ogg","audio/flac":"flac","audio/wav":"wav","video/mp4":"mp4","video/quicktime":"mov","video/webm":"webm","video/x-matroska":"mkv","video/x-msvideo":"avi","font/woff":"woff","font/woff2":"woff2","font/ttf":"ttf","font/otf":"otf","application/pdf":"pdf","application/zip":"zip","application/gzip":"gz","application/xml":"xml","text/html":"html","text/plain":"txt","application/octet-stream":"bin"};function qQ(Q){return vZ[Q]??"bin"}function S(Q,Z,$=0){if(Q.length<$+Z.length)return!1;return Z.every((X,G)=>Q[$+G]===X)}function y(Q,Z,$){return String.fromCharCode(...Q.subarray(Z,$))}var hZ={avif:"image/avif",avis:"image/avif",heic:"image/heic",heix:"image/heic",hevc:"image/heic",hevx:"image/heic",heim:"image/heic",heis:"image/heic",mif1:"image/heif",msf1:"image/heif","qt ":"video/quicktime","M4A ":"audio/mp4","M4B ":"audio/mp4"};function mZ(Q){if(S(Q,[137,80,78,71,13,10,26,10]))return"image/png";if(S(Q,[255,216,255]))return"image/jpeg";if(Q.length>=6&&(y(Q,0,6)==="GIF87a"||y(Q,0,6)==="GIF89a"))return"image/gif";if(Q.length>=12&&y(Q,0,4)==="RIFF"){let Z=y(Q,8,12);if(Z==="WEBP")return"image/webp";if(Z==="WAVE")return"audio/wav";if(Z==="AVI ")return"video/x-msvideo"}if(Q.length>=12&&y(Q,4,8)==="ftyp"){let Z=y(Q,8,12);return hZ[Z]??"video/mp4"}if(S(Q,[73,73,42,0])||S(Q,[77,77,0,42]))return"image/tiff";if(S(Q,[66,77])&&S(Q,[0,0,0,0],6))return"image/bmp";if(S(Q,[0,0,1,0])&&Q.length>=6&&Q[4]>0)return"image/x-icon";if(S(Q,[37,80,68,70,45]))return"application/pdf";if(S(Q,[80,75,3,4]))return"application/zip";if(S(Q,[31,139]))return"application/gzip";if(S(Q,[26,69,223,163]))return y(Q,0,Math.min(Q.length,64)).includes("webm")?"video/webm":"video/x-matroska";if(Q.length>=4){let Z=y(Q,0,4);if(Z==="OggS")return"audio/ogg";if(Z==="fLaC")return"audio/flac";if(Z==="wOFF")return"font/woff";if(Z==="wOF2")return"font/woff2";if(Z==="OTTO")return"font/otf"}if(S(Q,[0,1,0,0,0]))return"font/ttf";if(Q.length>=3&&y(Q,0,3)==="ID3")return"audio/mpeg";if(Q.length>=2&&Q[0]===255){if((Q[1]&246)===240)return"audio/aac";if((Q[1]&224)===224&&(Q[1]&6)!==0)return"audio/mpeg"}return null}var cZ=["!doctype html","html","head","script","iframe","h1","div","font","table","a","style","title","b","body","br","p","!--"];function pZ(Q){let Z=new TextDecoder("utf-8",{fatal:!1}).decode(Q);if(Z.charCodeAt(0)===65279)Z=Z.slice(1);if(Z=Z.trimStart(),!Z.startsWith("<"))return null;let $=Z.toLowerCase(),X=$;for(;;){X=X.trimStart();let G=/^(<\?[\s\S]*?\?>|<!--[\s\S]*?-->|<!doctype[^>]*>)/.exec(X);if(!G)break;X=X.slice(G[0].length)}if(/^<svg[\s>/]/.test(X))return"image/svg+xml";for(let G of cZ){if(!$.startsWith(`<${G}`))continue;if(/^[\s>]/.test($.charAt(G.length+1)))return"text/html"}if(/^<(html|head|body)[\s>]/.test(X))return"text/html";if($.startsWith("<?xml"))return"application/xml";return null}function uZ(Q){if(Q.length===0)return"application/octet-stream";for(let Z of Q)if(Z<32&&Z!==9&&Z!==10&&Z!==12&&Z!==13&&Z!==27)return"application/octet-stream";try{return new TextDecoder("utf-8",{fatal:!0}).decode(Q,{stream:!0}),"text/plain"}catch{return"application/octet-stream"}}var dZ=new Set(["text/html","application/xhtml+xml","image/svg+xml","text/xml","application/xml","text/xsl","application/xslt+xml"]);function TQ(Q){let Z=Q.split(";")[0].trim().toLowerCase();return dZ.has(Z)||Z.endsWith("+xml")}function wQ(Q,Z){let $=Q.split(";")[0].trim().toLowerCase();return Z.some((X)=>{let G=X.split(";")[0].trim().toLowerCase();if(G==="*/*"||G==="*")return!TQ($);if(G.endsWith("/*"))return $.startsWith(G.slice(0,-1))&&!TQ($);return $===G})}import{Buffer as nZ}from"buffer";async function EQ(Q){try{return(await import("sharp")).default}catch(Z){throw Error(`${Q} requires the 'sharp' package. Install it with \`bun add sharp\`.`,{cause:Z})}}async function SQ(Q,Z,$={}){let{name:X,directory:G,bucket:H,maxSize:Y,timeout:M,contentTypes:K,signal:J}=$;if(X!==void 0&&G!==void 0)throw TypeError("Storage.putFromUrl(): pass `name` or `directory`, not both.");if(X!==void 0&&!X)throw TypeError("Storage.putFromUrl(): `name` is empty.");let D=await FQ(Z,{...$.fetch,method:"GET",redirect:"follow",contentTypes:void 0,signal:J,timeout:M,maxSize:Y});if(!D.ok)throw await D.body?.cancel().catch(()=>{}),new m0(D.url,D.status);let z=(D.body??new Response(new Uint8Array).body).getReader(),O=async(j)=>{throw await z.cancel(j).catch(()=>{}),j},B=[],_=0,W=!1;while(_<p0){let{done:j,value:w}=await z.read();if(j){W=!0;break}B.push(w),_+=w.byteLength}let V=lZ(B,_),U=NQ(V.subarray(0,Math.min(_,p0))),P=K?.length?K:["*/*"];if(!wQ(U,P))await O(new K0(D.url,U,P));let F=X??[(G??"").replace(/\/+$/,""),`${Bun.randomUUIDv7()}.${qQ(U)}`].filter(Boolean).join("/"),I=_,A=new ReadableStream({start(j){if(_>0)j.enqueue(V);if(W)j.close()},async pull(j){let{done:w,value:T}=await z.read();if(w){j.close();return}I+=T.byteLength,j.enqueue(T)},cancel(j){return z.cancel(j)}}),C={name:F,bucket:H,body:A,contentType:U},R;try{R=Q.putStream?await Q.putStream(C,{signal:J}):await G0.prototype.putStream.call(Q,C,{signal:J})}catch(j){throw await O(j),j}return{name:R,contentType:U,size:I,url:D.url}}function lZ(Q,Z){if(Q.length===1)return Q[0];let $=new Uint8Array(Z),X=0;for(let G of Q)$.set(G,X),X+=G.byteLength;return $}class oZ extends X0{static getFacadeAccessor(){return v0}static async put(Q,Z={}){return this.getFacadeRoot().driver.put(Q,Z)}static async putFromUrl(Q,Z={}){return SQ(this.getFacadeRoot().driver,Q,Z)}static async metadata(Q){let Z=nZ.from(await Q.arrayBuffer()),$=await EQ("Storage.metadata()");try{return await $(Z).metadata()}catch{return{}}}static async fetch(Q,Z={}){return Z.signal?.throwIfAborted(),this.getFacadeRoot().driver.fetch(Q,Z)}static async read(Q,Z={}){let $=typeof Q==="string"?{name:Q}:{...Q},X="range"in Z?Z.range??null:$.range!==void 0?$.range:b.getStore()?.rangeRequest??null;return this.getFacadeRoot().driver.read({...$,range:X})}static list(Q){return this.getFacadeRoot().driver.list(Q)}static objects(Q,Z={}){return this.getFacadeRoot().driver.objects(Q,Z)}static async deletePrefix(Q,Z={}){return this.getFacadeRoot().driver.deletePrefix(Q,Z)}static async delete(Q){return this.getFacadeRoot().driver.delete(Q)}}import{mkdir as d0,readdir as aZ,access as eZ}from"fs/promises";var u0=["debug","info","notice","warning","error","critical","alert","emergency"],tZ=u0.indexOf("warning");function kQ(Q){if(!Q)return-1;if(Q===!0)return 0;let Z=u0.indexOf(Q);return Z===-1?0:Z}function sZ(){let Q=new WeakSet;return function(Z,$){if(typeof $==="bigint")return $.toString();if($ instanceof Error){let X={name:$.name,message:$.message,stack:$.stack};for(let G of Object.keys($))X[G]=$[G];if($.cause!==void 0)X.cause=$.cause;return X}if($!==null&&typeof $==="object"){if(Q.has($))return"[Circular]";Q.add($)}return $}}function xQ(Q){try{return JSON.stringify(Q,sZ())}catch{return'"[Unserializable]"'}}function rZ(Q,Z){if(Z==="json")return xQ({...Q.metadata,timestamp:Q.timestamp,level:Q.level,message:Q.message});let $=Object.keys(Q.metadata).length>0;return`${Q.timestamp} ${Q.level.toUpperCase()} ${Q.message}${$?` ${xQ(Q.metadata)}`:""}`}function gQ(Q,Z){let $=u0.indexOf(Q.level);if(Z.threshold===-1||$<Z.threshold)return;try{let X=rZ(Q,Z.format)+`
|
|
5
5
|
`;if($>=tZ)process.stderr.write(X);else process.stdout.write(X)}catch{}}async function i0(Q){try{return await eZ(Q),!0}catch{return!1}}class l0{config;static token="log";writer;isReady=!1;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;bootPromise=null;currentLogFilePath;get logsDirPath(){return`${Y0()}/storage/logs`}consoleThreshold;constructor(Q){this.config=Q;this.consoleThreshold=kQ(Q.console)}boot(){if(!this.bootPromise)this.bootPromise=this.createStorage().catch((Q)=>{console.error("Log storage unavailable, file logging disabled",Q)}).then(()=>{this.isReady=!0});return this.bootPromise}async createStorage(){let Q=`${Y0()}/storage`;if(!await i0(Q))await d0(Q);if(!await i0(this.logsDirPath))await d0(this.logsDirPath);await this.newLogFile()}async newLogFile(){if(!await i0(this.logsDirPath))await d0(this.logsDirPath);if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let $=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.config.onLogFileClosed($),this.fileSize=0,this.writerSize=0}let Z=(await aZ(this.logsDirPath)).sort().reverse()[0];if(Z){let $=Bun.file(`${this.logsDirPath}/${Z}`);if($.size<this.config.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${Z}`,this.writer=$.writer(),this.writer.write(await $.text()),this.writer.write(`
|
|
@@ -10,6 +10,6 @@ data: ${JSON.stringify(Q.event)}
|
|
|
10
10
|
`}var X1=5000,G1=`: keepalive
|
|
11
11
|
|
|
12
12
|
`;function H1(Q,Z=X1){let $=null,X=!1,G=()=>{if(X)return;if($!==null)clearTimeout($);$=setTimeout(()=>{if($=null,X)return;try{Q.enqueue(n0.encode(G1))}catch{H();return}G()},Z)},H=()=>{if(X=!0,$!==null)clearTimeout($);$=null};return G(),{touch:G,stop:H}}function Y1(){return{"Content-Type":"text/event-stream","Cache-Control":"no-store, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}}function m8(Q,Z=200){let $=Q[Symbol.asyncIterator](),X=-1,G,H=new ReadableStream({start(Y){G=H1(Y)},async pull(Y){try{let M=await $.next();if(M.done){G.stop(),Y.close();return}X=M.value.seq,Y.enqueue(n0.encode(yQ(M.value))),G.touch()}catch(M){let K={type:"error",error:M1(M)};G.stop(),Y.enqueue(n0.encode(yQ({seq:X+1,event:K}))),Y.close()}},cancel(Y){G.stop(),$.return?.(Y)}});return new Response(H,{status:Z,headers:Y1()})}var K1=new Set(["frame_cursor_evicted","live_run_not_found"]);function M1(Q){let Z=Q&&typeof Q==="object"?Q.code:void 0;if(Q instanceof Error&&typeof Z==="string"&&K1.has(Z))return{code:"unknown",message:Q.message,retryable:!1};return console.error("[gemi/ai] agent stream failed",Q),{code:"unknown",message:"The run's stream failed.",retryable:!1}}
|
|
13
|
-
export{o0 as
|
|
13
|
+
export{o0 as Vg,bQ as Wg,W1 as Xg,YQ as Yg,F1 as Zg,JQ as _g,I1 as $g,t0 as ah,s0 as bh,z1 as ch,U1 as dh,V1 as eh,r0 as fh,T1 as gh,zQ as hh,N1 as ih,q1 as jh,s as kh,k as lh,HQ as mh,_1 as nh,L1 as oh,XZ as ph,GZ as qh,k0 as rh,g0 as sh,HZ as th,h as uh,YZ as vh,X0 as wh,EQ as xh,C0 as yh,G0 as zh,PQ as Ah,f0 as Bh,Y8 as Ch,RQ as Dh,v0 as Eh,q as Fh,m as Gh,O0 as Hh,l as Ih,F0 as Jh,I0 as Kh,A0 as Lh,K0 as Mh,h0 as Nh,n as Oh,m0 as Ph,T0 as Qh,c0 as Rh,FQ as Sh,NQ as Th,TQ as Uh,oZ as Vh,l0 as Wh,Q1 as Xh,Z1 as Yh,G1 as Zh,H1 as _h,Y1 as $h,m8 as ai};
|
|
14
14
|
|
|
15
|
-
//# debugId=
|
|
15
|
+
//# debugId=8680849A366E2FC064756E2164756E21
|