gemi 0.38.0 → 0.40.1
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/app/App.d.ts +5 -3
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +2 -272
- package/dist/app/index.js.map +3 -9
- package/dist/auth/oauth/XOAuthProvider.d.ts +1 -1
- package/dist/auth/oauth/XOAuthProvider.d.ts.map +1 -1
- package/dist/bin/gemi.js +66804 -26887
- package/dist/bin/gemi.js.map +110 -20
- package/dist/broadcasting/index.js +1 -1
- package/dist/bun/plugin.js +4 -0
- package/dist/{chunk-hw6nrw6g.js.map → bun/plugin.js.map} +1 -1
- package/dist/bun/preload.js +4 -0
- package/dist/bun/preload.js.map +10 -0
- package/dist/{chunk-vgz78xam.js → chunk-0xabjqdt.js} +2 -2
- package/dist/{chunk-vgz78xam.js.map → chunk-0xabjqdt.js.map} +1 -1
- package/dist/chunk-1wv2m67p.js +4 -0
- package/dist/{chunk-kfekwtbp.js.map → chunk-1wv2m67p.js.map} +1 -1
- package/dist/{chunk-twncacnk.js → chunk-34bhbqbh.js} +2 -2
- package/dist/{chunk-twncacnk.js.map → chunk-34bhbqbh.js.map} +1 -1
- package/dist/{chunk-sm6zbv38.js → chunk-37qn44wf.js} +3 -3
- package/dist/{chunk-sm6zbv38.js.map → chunk-37qn44wf.js.map} +1 -1
- package/dist/{chunk-7fx4zpqd.js → chunk-46g7xzc3.js} +3 -3
- package/dist/{chunk-7fx4zpqd.js.map → chunk-46g7xzc3.js.map} +1 -1
- package/dist/{chunk-nacrt2vw.js → chunk-55jrzaj0.js} +2 -2
- package/dist/{chunk-nacrt2vw.js.map → chunk-55jrzaj0.js.map} +1 -1
- package/dist/{chunk-a44rr4a0.js → chunk-5jar30t5.js} +2 -2
- package/dist/{chunk-a44rr4a0.js.map → chunk-5jar30t5.js.map} +1 -1
- package/dist/{chunk-kt67sv2v.js → chunk-6nm2pt02.js} +2 -2
- package/dist/{chunk-kt67sv2v.js.map → chunk-6nm2pt02.js.map} +1 -1
- package/dist/{chunk-871hrt5k.js → chunk-71e1rmh4.js} +21 -21
- package/dist/{chunk-871hrt5k.js.map → chunk-71e1rmh4.js.map} +6 -5
- package/dist/{chunk-frdxhs0s.js → chunk-7219pj06.js} +3 -3
- package/dist/{chunk-frdxhs0s.js.map → chunk-7219pj06.js.map} +1 -1
- package/dist/chunk-8z5r7z7w.js +5 -0
- package/dist/chunk-8z5r7z7w.js.map +10 -0
- package/dist/{chunk-g9htz9wp.js → chunk-8zrzjvj8.js} +4 -4
- package/dist/{chunk-g9htz9wp.js.map → chunk-8zrzjvj8.js.map} +1 -1
- package/dist/{chunk-9p8h8aej.js → chunk-9x52jhc8.js} +2 -2
- package/dist/{chunk-9p8h8aej.js.map → chunk-9x52jhc8.js.map} +1 -1
- package/dist/{chunk-gm3gevhz.js → chunk-ar3kj71m.js} +2 -2
- package/dist/{chunk-gm3gevhz.js.map → chunk-ar3kj71m.js.map} +1 -1
- package/dist/{chunk-rda8ja4x.js → chunk-b2f631nw.js} +2 -2
- package/dist/{chunk-rda8ja4x.js.map → chunk-b2f631nw.js.map} +1 -1
- package/dist/{chunk-zf8mc5nr.js → chunk-cy0yet3t.js} +2 -2
- package/dist/{chunk-zf8mc5nr.js.map → chunk-cy0yet3t.js.map} +1 -1
- package/dist/{chunk-e4v7ay0q.js → chunk-e40j5tgj.js} +3 -3
- package/dist/{chunk-e4v7ay0q.js.map → chunk-e40j5tgj.js.map} +1 -1
- package/dist/{chunk-pwhb292c.js → chunk-e43m0sz9.js} +29 -29
- package/dist/{chunk-pwhb292c.js.map → chunk-e43m0sz9.js.map} +7 -5
- package/dist/{chunk-ektbs6gq.js → chunk-e7wdb957.js} +3 -3
- package/dist/{chunk-ektbs6gq.js.map → chunk-e7wdb957.js.map} +1 -1
- package/dist/chunk-ffj2g6wn.js +101 -0
- package/dist/chunk-ffj2g6wn.js.map +48 -0
- package/dist/{chunk-kv145fsh.js → chunk-fs8zhe24.js} +2 -2
- package/dist/{chunk-kv145fsh.js.map → chunk-fs8zhe24.js.map} +1 -1
- package/dist/{chunk-fa8tk1f8.js → chunk-gky8x4rv.js} +2 -2
- package/dist/{chunk-fa8tk1f8.js.map → chunk-gky8x4rv.js.map} +1 -1
- package/dist/{chunk-3464zptf.js → chunk-he4nzstf.js} +2 -2
- package/dist/{chunk-3464zptf.js.map → chunk-he4nzstf.js.map} +1 -1
- package/dist/chunk-hq4yhfaq.js +274 -0
- package/dist/chunk-hq4yhfaq.js.map +15 -0
- package/dist/{chunk-kfekwtbp.js → chunk-j6eh0etj.js} +2 -2
- package/dist/chunk-j6eh0etj.js.map +9 -0
- package/dist/{chunk-qmpybvq3.js → chunk-jhp3h3kc.js} +3 -3
- package/dist/{chunk-qmpybvq3.js.map → chunk-jhp3h3kc.js.map} +1 -1
- package/dist/{chunk-wspcma7s.js → chunk-jnbtsgrp.js} +3 -3
- package/dist/{chunk-wspcma7s.js.map → chunk-jnbtsgrp.js.map} +1 -1
- package/dist/chunk-k4kdssr3.js +5 -0
- package/dist/{chunk-34ac0e8a.js.map → chunk-k4kdssr3.js.map} +1 -1
- package/dist/{chunk-gyhg162v.js → chunk-kk353x3p.js} +1 -1
- package/dist/{chunk-y9m0jemc.js → chunk-m1vjp86n.js} +3 -3
- package/dist/{chunk-y9m0jemc.js.map → chunk-m1vjp86n.js.map} +1 -1
- package/dist/{chunk-md7n9kmr.js → chunk-m5nxws92.js} +3 -3
- package/dist/{chunk-md7n9kmr.js.map → chunk-m5nxws92.js.map} +1 -1
- package/dist/{chunk-3s6dm0ff.js → chunk-pca557td.js} +2 -2
- package/dist/{chunk-3s6dm0ff.js.map → chunk-pca557td.js.map} +1 -1
- package/dist/chunk-py00anah.js +6 -0
- package/dist/chunk-py00anah.js.map +14 -0
- package/dist/{chunk-sbt387js.js → chunk-qksh8x1f.js} +2 -2
- package/dist/{chunk-sbt387js.js.map → chunk-qksh8x1f.js.map} +1 -1
- package/dist/{chunk-j06ebr2s.js → chunk-tgrnmmg5.js} +2 -2
- package/dist/{chunk-j06ebr2s.js.map → chunk-tgrnmmg5.js.map} +1 -1
- package/dist/{chunk-b8t8hrgm.js → chunk-wss9zewk.js} +4 -4
- package/dist/{chunk-b8t8hrgm.js.map → chunk-wss9zewk.js.map} +1 -1
- package/dist/{chunk-9krpj7nc.js → chunk-ww5pp0rp.js} +3 -3
- package/dist/{chunk-9krpj7nc.js.map → chunk-ww5pp0rp.js.map} +1 -1
- package/dist/{chunk-3hb1j6ty.js → chunk-wypjxj9v.js} +3 -3
- package/dist/{chunk-3hb1j6ty.js.map → chunk-wypjxj9v.js.map} +1 -1
- package/dist/{chunk-ks022k0g.js → chunk-xdsym1c8.js} +2 -2
- package/dist/{chunk-ks022k0g.js.map → chunk-xdsym1c8.js.map} +1 -1
- package/dist/{chunk-703zn6wy.js → chunk-xfeqd7as.js} +2 -2
- package/dist/{chunk-703zn6wy.js.map → chunk-xfeqd7as.js.map} +1 -1
- package/dist/{chunk-rtmsz7yd.js → chunk-xxdb06dz.js} +3 -3
- package/dist/{chunk-rtmsz7yd.js.map → chunk-xxdb06dz.js.map} +1 -1
- package/dist/{chunk-8by5dnz7.js → chunk-yhphtr31.js} +3 -3
- package/dist/{chunk-8by5dnz7.js.map → chunk-yhphtr31.js.map} +1 -1
- package/dist/{chunk-05yzymd6.js → chunk-z3tgcb5r.js} +2 -2
- package/dist/{chunk-05yzymd6.js.map → chunk-z3tgcb5r.js.map} +1 -1
- package/dist/chunk-zjxbe8tx.js +5 -0
- package/dist/chunk-zjxbe8tx.js.map +10 -0
- package/dist/client/Head.d.ts.map +1 -1
- package/dist/client/HttpReload.d.ts.map +1 -1
- package/dist/client/index.js +26975 -35189
- package/dist/client/index.js.map +1 -1
- package/dist/client/init.d.ts +2 -2
- package/dist/client/init.d.ts.map +1 -1
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +10 -0
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +2 -2
- package/dist/facades/Redis.d.ts +12 -0
- package/dist/facades/Redis.d.ts.map +1 -0
- 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/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/internal/gemiExternals.d.ts +3 -0
- package/dist/internal/gemiExternals.d.ts.map +1 -0
- package/dist/kernel/Kernel.d.ts +2 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +5 -6
- package/dist/server/Server.d.ts +12 -0
- package/dist/server/Server.d.ts.map +1 -0
- package/dist/server/banner.d.ts +5 -0
- package/dist/server/banner.d.ts.map +1 -0
- package/dist/server/generateEtag.d.ts +2 -0
- package/dist/server/generateEtag.d.ts.map +1 -0
- package/dist/server/httpDev.d.ts +26 -0
- package/dist/server/httpDev.d.ts.map +1 -0
- package/dist/server/httpProd.d.ts +4 -0
- package/dist/server/httpProd.d.ts.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +2 -51
- package/dist/server/index.js.map +4 -9
- package/dist/server/renderErrorPage.d.ts +2 -0
- package/dist/server/renderErrorPage.d.ts.map +1 -0
- package/dist/server/styles.d.ts +18 -0
- package/dist/server/styles.d.ts.map +1 -0
- package/dist/server/types.d.ts +2 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/watchEnv.d.ts +7 -0
- package/dist/server/watchEnv.d.ts.map +1 -0
- package/dist/services/cron/CronJob.d.ts +1 -1
- package/dist/services/cron/CronJob.d.ts.map +1 -1
- package/dist/services/cron/CronServiceContainer.d.ts +5 -0
- package/dist/services/cron/CronServiceContainer.d.ts.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/redis/RedisServiceContainer.d.ts +10 -0
- package/dist/services/redis/RedisServiceContainer.d.ts.map +1 -0
- package/dist/services/redis/RedisServiceProvider.d.ts +8 -0
- package/dist/services/redis/RedisServiceProvider.d.ts.map +1 -0
- package/dist/services/router/ViewRouterServiceContainer.d.ts.map +1 -1
- package/dist/vite/index.mjs +62 -3
- package/package.json +16 -10
- package/dist/chunk-34ac0e8a.js +0 -5
- package/dist/chunk-hw6nrw6g.js +0 -4
- package/dist/chunk-jk9aba71.js +0 -61
- package/dist/chunk-jk9aba71.js.map +0 -55
- package/dist/vite/index-3fSp4NVF.mjs +0 -20135
- package/dist/vite/typescript-1ZdUKbbC.mjs +0 -14693
- /package/dist/{chunk-gyhg162v.js.map → chunk-kk353x3p.js.map} +0 -0
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type { HttpRequest } from \"../http/HttpRequest\";\nimport { ServiceContainer } from \"../services/ServiceContainer\";\nimport type { I18nServiceProvider } from \"./I18nServiceProvider\";\n\nexport class I18nServiceContainer extends ServiceContainer {\n static _name = \"I18nServiceContainer\";\n translations = {};\n isEnabled = false;\n constructor(public service: I18nServiceProvider) {\n super();\n\n const translations = {};\n\n for (const [route, dicArray] of Object.entries(this.service.prefetch)) {\n for (const locale of this.service.supportedLocales) {\n if (!translations[locale]) {\n translations[locale] = {};\n }\n translations[locale][route] = {};\n for (const dic of dicArray) {\n translations[locale][route][dic.name] = {};\n for (const [key, value] of Object.entries(dic.dictionary)) {\n this.isEnabled = true;\n translations[locale][route][dic.name][key] = value[locale];\n }\n }\n }\n }\n this.translations = translations;\n }\n\n detectLocale(req: HttpRequest<any, any>) {\n const fallbackLocale =\n this.service.defaultLocale ?? this.service.supportedLocales[0] ?? \"en-US\";\n const detectedLocale = this.service.detectLocale(req);\n if (this.service.supportedLocales.includes(detectedLocale)) {\n return detectedLocale;\n }\n\n const previousLocale = req.cookies.get(\"i18n-locale\");\n const locale =\n previousLocale ?? (req.headers.get(\"accept-language\") || fallbackLocale);\n\n const [_locale] = locale.split(\",\");\n\n if (this.service.supportedLocales.includes(_locale)) {\n return _locale;\n }\n\n if (_locale.length === 2) {\n for (const supportedLocale of this.service.supportedLocales) {\n if (supportedLocale.startsWith(_locale)) {\n return supportedLocale;\n }\n }\n }\n\n return fallbackLocale;\n }\n\n getPageTranslations(locale: string, scope: string) {\n if (this.translations[locale][scope]) {\n return this.translations[locale][scope];\n }\n return {};\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";yCAIO,MAAM,UAA6B,CAAiB,CAItC,cAHZ,OAAQ,uBACf,aAAe,CAAC,EAChB,UAAY,GACZ,WAAW,CAAQ,EAA8B,CAC/C,MAAM,EADW,eAGjB,IAAM,EAAe,CAAC,EAEtB,QAAY,EAAO,KAAa,OAAO,QAAQ,KAAK,QAAQ,QAAQ,EAClE,QAAW,KAAU,KAAK,QAAQ,iBAAkB,CAClD,GAAI,CAAC,EAAa,GAChB,EAAa,GAAU,CAAC,EAE1B,EAAa,GAAQ,GAAS,CAAC,EAC/B,QAAW,KAAO,EAAU,CAC1B,EAAa,GAAQ,GAAO,EAAI,MAAQ,CAAC,EACzC,QAAY,EAAK,KAAU,OAAO,QAAQ,EAAI,UAAU,EACtD,KAAK,UAAY,GACjB,EAAa,GAAQ,GAAO,EAAI,MAAM,GAAO,EAAM,IAK3D,KAAK,aAAe,EAGtB,YAAY,CAAC,EAA4B,CACvC,IAAM,EACJ,KAAK,QAAQ,eAAiB,KAAK,QAAQ,iBAAiB,IAAM,QAC9D,EAAiB,KAAK,QAAQ,aAAa,CAAG,EACpD,GAAI,KAAK,QAAQ,iBAAiB,SAAS,CAAc,EACvD,OAAO,EAIT,IAAM,EADiB,EAAI,QAAQ,IAAI,aAAa,IAE/B,EAAI,QAAQ,IAAI,iBAAiB,GAAK,IAEpD,GAAW,EAAO,MAAM,GAAG,EAElC,GAAI,KAAK,QAAQ,iBAAiB,SAAS,CAAO,EAChD,OAAO,EAGT,GAAI,EAAQ,SAAW,GACrB,QAAW,KAAmB,KAAK,QAAQ,iBACzC,GAAI,EAAgB,WAAW,CAAO,EACpC,OAAO,EAKb,OAAO,EAGT,mBAAmB,CAAC,EAAgB,EAAe,CACjD,GAAI,KAAK,aAAa,GAAQ,GAC5B,OAAO,KAAK,aAAa,GAAQ,GAEnC,MAAO,CAAC,EAEZ",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "C79E7B6D18D2F28064756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{jb as B,lb as p,rb as _}from"./chunk-wss9zewk.js";import{sb as v}from"./chunk-37qn44wf.js";import"./chunk-m5nxws92.js";import"./chunk-7219pj06.js";import{wb as D}from"./chunk-xxdb06dz.js";import{xb as d}from"./chunk-e40j5tgj.js";import"./chunk-46g7xzc3.js";import"./chunk-m1vjp86n.js";import{Kb as n}from"./chunk-cy0yet3t.js";var x=n(D(),1),E=n(B(),1),i=n(d(),1);import M from"fs/promises";var C=n(d(),1);var A="169.254.170.2",O="169.254.170.23",b="[fd00:ec2::23]",S=(e,a)=>{if(e.protocol==="https:")return;if(e.hostname===A||e.hostname===O||e.hostname===b)return;if(e.hostname.includes("[")){if(e.hostname==="[::1]"||e.hostname==="[0000:0000:0000:0000:0000:0000:0000:0001]")return}else{if(e.hostname==="localhost")return;let c=e.hostname.split("."),r=(t)=>{let s=parseInt(t,10);return 0<=s&&s<=255};if(c[0]==="127"&&r(c[1])&&r(c[2])&&r(c[3])&&c.length===4)return}throw new C.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
|
|
3
3
|
- loopback CIDR 127.0.0.0/8 or [::1/128]
|
|
4
4
|
- ECS container host 169.254.170.2
|
|
5
5
|
- EKS container host 169.254.170.23 or [fd00:ec2::23]`,{logger:a})};var o=n(d(),1),g=n(v(),1),w=n(_(),1),I=n(p(),1);function P(e){return new g.HttpRequest({protocol:e.protocol,hostname:e.hostname,port:Number(e.port),path:e.pathname,query:Array.from(e.searchParams.entries()).reduce((a,[c,r])=>{return a[c]=r,a},{}),fragment:e.hash})}async function K(e,a){let r=await I.sdkStreamMixin(e.body).transformToString();if(e.statusCode===200){let t=JSON.parse(r);if(typeof t.AccessKeyId!=="string"||typeof t.SecretAccessKey!=="string"||typeof t.Token!=="string"||typeof t.Expiration!=="string")throw new o.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }",{logger:a});return{accessKeyId:t.AccessKeyId,secretAccessKey:t.SecretAccessKey,sessionToken:t.Token,expiration:w.parseRfc3339DateTime(t.Expiration)}}if(e.statusCode>=400&&e.statusCode<500){let t={};try{t=JSON.parse(r)}catch(s){}throw Object.assign(new o.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:a}),{Code:t.Code,Message:t.Message})}throw new o.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:a})}var T=(e,a,c)=>{return async()=>{for(let r=0;r<a;++r)try{return await e()}catch(t){await new Promise((s)=>setTimeout(s,c))}return await e()}};var N="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",j="http://169.254.170.2",H="AWS_CONTAINER_CREDENTIALS_FULL_URI",J="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",$="AWS_CONTAINER_AUTHORIZATION_TOKEN",G=(e={})=>{e.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let a,c=e.awsContainerCredentialsRelativeUri??process.env[N],r=e.awsContainerCredentialsFullUri??process.env[H],t=e.awsContainerAuthorizationToken??process.env[$],s=e.awsContainerAuthorizationTokenFile??process.env[J],m=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?.warn?console.warn:e.logger.warn.bind(e.logger);if(c&&r)m("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."),m("awsContainerCredentialsFullUri will take precedence.");if(t&&s)m("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."),m("awsContainerAuthorizationToken will take precedence.");if(r)a=r;else if(c)a=`${j}${c}`;else throw new i.CredentialsProviderError(`No HTTP credential provider host provided.
|
|
6
6
|
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`,{logger:e.logger});let y=new URL(a);S(y,e.logger);let R=E.NodeHttpHandler.create({requestTimeout:e.timeout??1000,connectionTimeout:e.timeout??1000});return T(async()=>{let f=P(y);if(t)f.headers.Authorization=t;else if(s)f.headers.Authorization=(await M.readFile(s)).toString();try{let h=await R.handle(f);return K(h.response).then((u)=>x.setCredentialFeature(u,"CREDENTIALS_HTTP","z"))}catch(h){throw new i.CredentialsProviderError(String(h),{logger:e.logger})}},e.maxRetries??3,e.timeout??1000)};export{G as fromHttp};
|
|
7
7
|
|
|
8
|
-
//# debugId=
|
|
8
|
+
//# debugId=685AD2D80185E28E64756E2164756E21
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "685AD2D80185E28E64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import{AsyncLocalStorage as c}from"async_hooks";var p=new c;class f{static _name;service;static use(){let m=p.getStore();if(!m)return;if(!m?.[this._name])console.log("Container is not registered",this._name),console.log("Available containers",Object.keys(m));return m[this._name]}}
|
|
3
|
-
export{p as
|
|
3
|
+
export{p as Ib,f as Jb};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=F07B5E701FB0C3A664756E2164756E21
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import { kernelContext } from \"../kernel/context\";\nimport type { ServiceProvider } from \"./ServiceProvider\";\n\nexport class ServiceContainer {\n static _name: string;\n service: ServiceProvider;\n\n static use<T extends ServiceContainer>(\n this: new (\n service: ServiceProvider,\n ) => T,\n ): T {\n const store = kernelContext.getStore();\n if (!store) {\n // console.error(\"Kernel is not available\");\n return;\n }\n // @ts-ignore\n if (!store?.[this._name]) {\n // @ts-ignore\n console.log(\"Container is not registered\", this._name);\n console.log(\"Available containers\", Object.keys(store));\n }\n\n // @ts-ignore\n return store[this._name];\n }\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": ";AAAA,4BAAS,oBAEF,IAAM,EAAgB,IAAI,ECC1B,MAAM,CAAiB,OACrB,OACP,cAEO,IAA+B,EAIjC,CACH,IAAM,EAAQ,EAAc,SAAS,EACrC,GAAI,CAAC,EAEH,OAGF,GAAI,CAAC,IAAQ,KAAK,OAEhB,QAAQ,IAAI,8BAA+B,KAAK,KAAK,EACrD,QAAQ,IAAI,uBAAwB,OAAO,KAAK,CAAK,CAAC,EAIxD,OAAO,EAAM,KAAK,OAEtB",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "F07B5E701FB0C3A664756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Lb as n}from"./chunk-cy0yet3t.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
|
|
6
6
|
updates please upgrade to a supported Node.js LTS version.
|
|
7
7
|
|
|
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
|
-
export{w as
|
|
9
|
+
export{w as wb};
|
|
10
10
|
|
|
11
|
-
//# debugId=
|
|
11
|
+
//# debugId=BA97198D588F949464756E2164756E21
|
|
@@ -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": "BA97198D588F949464756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{P as
|
|
2
|
+
import{ub as F}from"./chunk-e7wdb957.js";import{xb as w}from"./chunk-e40j5tgj.js";import{Lb as h}from"./chunk-cy0yet3t.js";var P=h((p)=>{var t=w(),l=F();function d(e){try{let o=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return o.delete("CONFIG"),o.delete("CONFIG_PREFIX_SEPARATOR"),o.delete("ENV"),[...o].join(", ")}catch(o){return e}}var u=(e,o)=>async()=>{try{let r=e(process.env,o);if(r===void 0)throw Error();return r}catch(r){throw new t.CredentialsProviderError(r.message||`Not found in ENV: ${d(e.toString())}`,{logger:o?.logger})}},C=(e,{preferredFile:o="config",...r}={})=>async()=>{let n=l.getProfileName(r),{configFile:i,credentialsFile:c}=await l.loadSharedConfigFiles(r),s=c[n]||{},g=i[n]||{},m=o==="config"?{...s,...g}:{...g,...s};try{let f=e(m,o==="config"?i:c);if(f===void 0)throw Error();return f}catch(a){throw new t.CredentialsProviderError(a.message||`Not found in config files w/ profile [${n}]: ${d(e.toString())}`,{logger:r.logger})}},y=(e)=>typeof e==="function",E=(e)=>y(e)?async()=>await e():t.fromStatic(e),N=({environmentVariableSelector:e,configFileSelector:o,default:r},n={})=>{let{signingName:i,logger:c}=n,s={signingName:i,logger:c};return t.memoize(t.chain(u(e,s),C(o,n),E(r)))};p.loadConfig=N});
|
|
3
|
+
export{P as fb};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=D481A4CA7E7ED1B864756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"'use strict';\n\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\n\nfunction getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n }\n catch (e) {\n return functionString;\n }\n}\n\nconst fromEnv = (envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });\n }\n};\n\nconst fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = sharedIniFileLoader.getProfileName(init);\n const { configFile, credentialsFile } = await sharedIniFileLoader.loadSharedConfigFiles(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });\n }\n};\n\nconst isFunction = (func) => typeof func === \"function\";\nconst fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : propertyProvider.fromStatic(defaultValue);\n\nconst loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return propertyProvider.memoize(propertyProvider.chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));\n};\n\nexports.loadConfig = loadConfig;\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";qJAEA,FAAI,AACA,MAEJ,SAAS,CAAe,CAAC,EAAgB,CACrC,GAAI,CACA,IAAM,EAAY,IAAI,IAAI,MAAM,KAAK,EAAe,MAAM,eAAe,GAAK,CAAC,CAAC,CAAC,EAIjF,OAHA,EAAU,OAAO,QAAQ,EACzB,EAAU,OAAO,yBAAyB,EAC1C,EAAU,OAAO,KAAK,EACf,CAAC,GAAG,CAAS,EAAE,KAAK,IAAI,EAEnC,MAAO,EAAG,CACN,OAAO,GAIf,IAAM,EAAU,CAAC,EAAgB,IAAY,SAAY,CACrD,GAAI,CACA,IAAM,EAAS,EAAe,QAAQ,IAAK,CAAO,EAClD,GAAI,IAAW,OACX,MAAU,MAAM,EAEpB,OAAO,EAEX,MAAO,EAAG,CACN,MAAM,IAAI,EAAiB,yBAAyB,EAAE,SAAW,qBAAqB,EAAgB,EAAe,SAAS,CAAC,IAAK,CAAE,OAAQ,GAAS,MAAO,CAAC,IAIjK,EAAwB,CAAC,GAAkB,gBAAgB,YAAa,GAAS,CAAC,IAAM,SAAY,CACtG,IAAM,EAAU,EAAoB,eAAe,CAAI,GAC/C,aAAY,mBAAoB,MAAM,EAAoB,sBAAsB,CAAI,EACtF,EAAyB,EAAgB,IAAY,CAAC,EACtD,EAAoB,EAAW,IAAY,CAAC,EAC5C,EAAgB,IAAkB,SAClC,IAAK,KAA2B,CAAkB,EAClD,IAAK,KAAsB,CAAuB,EACxD,GAAI,CAEA,IAAM,EAAc,EAAe,EADnB,IAAkB,SAAW,EAAa,CACD,EACzD,GAAI,IAAgB,OAChB,MAAU,MAAM,EAEpB,OAAO,EAEX,MAAO,EAAG,CACN,MAAM,IAAI,EAAiB,yBAAyB,EAAE,SAAW,yCAAyC,OAAa,EAAgB,EAAe,SAAS,CAAC,IAAK,CAAE,OAAQ,EAAK,MAAO,CAAC,IAI9L,EAAa,CAAC,IAAS,OAAO,IAAS,WACvC,EAAa,CAAC,IAAiB,EAAW,CAAY,EAAI,SAAY,MAAM,EAAa,EAAI,EAAiB,WAAW,CAAY,EAErI,EAAa,EAAG,8BAA6B,qBAAoB,QAAS,GAAgB,EAAgB,CAAC,IAAM,CACnH,IAAQ,cAAa,UAAW,EAC1B,EAAa,CAAE,cAAa,QAAO,EACzC,OAAO,EAAiB,QAAQ,EAAiB,MAAM,EAAQ,EAA6B,CAAU,EAAG,EAAsB,EAAoB,CAAa,EAAG,EAAW,CAAY,CAAC,CAAC,GAGxL,aAAa",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "D481A4CA7E7ED1B864756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var l="GEMI_REQUEST_BREAKER_ERROR";class a extends Error{kind="GEMI_REQUEST_BREAKER_ERROR";payload={api:{},view:{}}}function R(r,t){return r.replace(/:([^/]+[*?]?)/g,(c,e)=>{let s=e.endsWith("?")||e.endsWith("*"),n=s?e.slice(0,-1):e,o=t[n];if(o===void 0){if(s)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${n}`);console.error(`Missing parameter: ${n} in URL: ${r}`)}return String(o)}).replace(/\/\//g,"/").replace(/\/$/,"")}class i extends a{constructor(r,t=307){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:r}},view:{status:t,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:r}}}}}class d{static to(r,...t){let[c={}]=t,{search:e={},params:s={},permanent:n,status:o}={params:{},status:307,permanent:!1,...c},p=new URLSearchParams(e).toString();throw new i([R(r,s),p.toString()].filter(Boolean).join("?"),o??(n?301:307))}static external(r,t=307){throw new i(r,t)}}class E{}
|
|
3
|
-
export{l as
|
|
3
|
+
export{l as Db,a as Eb,R as Fb,d as Gb,E as Hb};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=C3C690E70339642A64756E2164756E21
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"export abstract class ServiceProvider {\n abstract boot(...p: any[]): Promise<any> | any;\n}\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": ";AAAO,IAAM,EAA6B,6BAEnC,MAAM,UAA4B,KAAM,CACtC,KAHiC,6BAIjC,QAGH,CAAE,IAAK,CAAC,EAAG,KAAM,CAAC,CAAE,CAC1B,CCRO,SAAS,CAA6B,CAC3C,EACA,EACQ,CACR,OACE,EACG,QAAQ,iBAAkB,CAAC,EAAG,IAAQ,CACrC,IAAM,EAAY,EAAI,SAAS,GAAG,GAAK,EAAI,SAAS,GAAG,EACjD,EAAY,EAAY,EAAI,MAAM,EAAG,EAAE,EAAI,EAC3C,EAAQ,EAAO,GAErB,GAAI,IAAU,OAAW,CACvB,GAAI,EACF,MAAO,GAGT,GAAI,YAAY,IAAI,IAClB,MAAU,MAAM,sBAAsB,GAAW,EAEnD,QAAQ,MAAM,sBAAsB,aAAqB,GAAK,EAGhE,OAAO,OAAO,CAAK,EACpB,EAEA,QAAQ,QAAS,GAAG,EAEpB,QAAQ,MAAO,EAAE,ECvBxB,MAAM,UAAsB,CAAoB,CAC9C,WAAW,CAAC,EAAc,EAAS,IAAK,CACtC,MAAM,gBAAgB,EACtB,KAAK,KAAO,gBACZ,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAC,EACP,UAAW,CAAE,KAAM,WAAY,MAAK,CACtC,EACA,KAAM,CACJ,SACA,QAAS,CACP,gBACE,0DACF,SAAU,CACZ,CACF,CACF,EAEJ,CAeO,MAAM,CAAS,OACb,GAAuB,CAC5B,KACG,EAGH,CACA,IAAO,EAAU,CAAC,GAAK,GAErB,SAAS,CAAC,EACV,SAAS,CAAC,EACV,YACA,UACE,CACF,OAAQ,CAAC,EACT,OAAQ,IACR,UAAW,MACR,CACL,EACM,EAAe,IAAI,gBAAgB,CAAM,EAAE,SAAS,EAC1D,MAAM,IAAI,EACR,CAAC,EAAY,EAAM,CAAM,EAAG,EAAa,SAAS,CAAC,EAChD,OAAO,OAAO,EACd,KAAK,GAAG,EACX,IAAW,EAAY,IAAM,IAC/B,QAGK,SAAQ,CAAC,EAAa,EAAS,IAAK,CACzC,MAAM,IAAI,EAAc,EAAK,CAAM,EAEvC,CCtEO,MAAe,CAAgB,CAEtC",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "C3C690E70339642A64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../server/watchEnv.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { watch, existsSync, readFileSync, type FSWatcher } from \"node:fs\";\nimport { join } from \"node:path\";\n\ndeclare global {\n // A single directory watcher, kept on globalThis so `bun --hot` reloads (which\n // re-run `Server.start`) don't stack duplicate watchers.\n var __gemiEnvWatcher: FSWatcher | undefined;\n}\n\n// Minimal `.env` parser: `KEY=VALUE` lines, `#` comments, an optional leading\n// `export`, and surrounding single/double quotes stripped. Multi-line values and\n// `${VAR}` interpolation are intentionally not handled (uncommon subset).\nfunction parseEnv(content: string): Record<string, string> {\n const out: Record<string, string> = {};\n for (const raw of content.split(\"\\n\")) {\n const line = raw.trim();\n if (!line || line.startsWith(\"#\")) continue;\n const body = line.startsWith(\"export \") ? line.slice(7).trim() : line;\n const eq = body.indexOf(\"=\");\n if (eq === -1) continue;\n const key = body.slice(0, eq).trim();\n if (!key) continue;\n let value = body.slice(eq + 1).trim();\n if (\n value.length >= 2 &&\n ((value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\")))\n ) {\n value = value.slice(1, -1);\n }\n out[key] = value;\n }\n return out;\n}\n\n// The `.env` files Bun loads, in increasing precedence (later overrides earlier).\n// `.env.local` is skipped for `NODE_ENV=test`, matching Bun/dotenv conventions.\nexport function envFiles(rootDir: string): string[] {\n const nodeEnv = process.env.NODE_ENV;\n const names = [\".env\"];\n if (nodeEnv) names.push(`.env.${nodeEnv}`);\n if (nodeEnv !== \"test\") {\n names.push(\".env.local\");\n if (nodeEnv) names.push(`.env.${nodeEnv}.local`);\n }\n return names.map((name) => join(rootDir, name));\n}\n\n// Re-read the env files and apply them to `process.env`. Only adds/updates keys\n// (a value edit is the common case); a key removed from the file keeps its last\n// value until the next full restart, so we never clobber the real OS environment.\nfunction applyEnv(rootDir: string): string[] {\n const merged: Record<string, string> = {};\n for (const file of envFiles(rootDir)) {\n if (existsSync(file)) {\n Object.assign(merged, parseEnv(readFileSync(file, \"utf8\")));\n }\n }\n const changed: string[] = [];\n for (const [key, value] of Object.entries(merged)) {\n if (process.env[key] !== value) {\n process.env[key] = value;\n changed.push(key);\n }\n }\n return changed;\n}\n\n// Watch the project's `.env` files and re-apply them to `process.env` on change,\n// so edits take effect without restarting the dev server. Bun loads `.env` only\n// at startup and does not reload it (even under `--hot`), so this fills that gap.\n// Dev only — called from `Server.start()`'s dev branch, not in production.\n// Idempotent: keeps a single watcher across `bun --hot` reloads.\n//\n// Note: this updates `process.env`, so config read at request time picks up the\n// new value immediately; values a service reads once at boot (e.g. a client\n// constructed from an env var) are cached and won't change until that code\n// re-runs (a hot reload in dev, a restart in prod).\nexport function watchEnv(rootDir: string = process.cwd()) {\n if (globalThis.__gemiEnvWatcher) return;\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n globalThis.__gemiEnvWatcher = watch(rootDir, (_event, filename) => {\n // Non-recursive: only direct children of `rootDir`. Filter to `.env*`.\n if (!filename || !String(filename).startsWith(\".env\")) return;\n clearTimeout(timer);\n timer = setTimeout(() => {\n try {\n const changed = applyEnv(rootDir);\n if (changed.length) {\n console.log(`[gemi] .env reloaded: ${changed.join(\", \")}`);\n }\n } catch (error) {\n console.error(\"[gemi] failed to reload .env:\", error);\n }\n }, 50);\n });\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";AACA,eAAS,aAoCF,SAAS,CAAQ,CAAC,EAA2B,CAElD,IAAM,EAAQ,CAAC,MAAM,EAMrB,OALa,EAAM,KAAK,iBAAiB,EAEvC,EAAM,KAAK,YAAY,EACV,EAAM,KAAK,uBAAuB,EAE1C,EAAM,IAAI,CAAC,IAAS,EAAK,EAAS,CAAI,CAAC",
|
|
8
|
+
"debugId": "03F66DCA328982B464756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../client/Head.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAGnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,QAgBnC;AAmED,eAAO,MAAM,IAAI,GAAI,wBAGlB;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../client/Head.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAGnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,QAgBnC;AAmED,eAAO,MAAM,IAAI,GAAI,wBAGlB;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,4CAuB5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpReload.d.ts","sourceRoot":"","sources":["../../client/HttpReload.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"HttpReload.d.ts","sourceRoot":"","sources":["../../client/HttpReload.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,mCAmDtB,CAAC"}
|