gemi 0.101.0 → 0.103.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.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +13 -13
- package/dist/ai/index.js.map +3 -3
- package/dist/app/index.js +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-f6s7ddjz.js → chunk-0fney17e.js} +2 -2
- package/dist/{chunk-f6s7ddjz.js.map → chunk-0fney17e.js.map} +1 -1
- package/dist/{chunk-z8jf7jwg.js → chunk-18aqqrev.js} +2 -2
- package/dist/{chunk-z8jf7jwg.js.map → chunk-18aqqrev.js.map} +1 -1
- package/dist/{chunk-68zf43ah.js → chunk-1xzdexbq.js} +2 -2
- package/dist/{chunk-68zf43ah.js.map → chunk-1xzdexbq.js.map} +1 -1
- package/dist/{chunk-99wzvsz5.js → chunk-214av8am.js} +4 -4
- package/dist/{chunk-99wzvsz5.js.map → chunk-214av8am.js.map} +1 -1
- package/dist/{chunk-adm5g1v8.js → chunk-22k4b395.js} +2 -2
- package/dist/{chunk-adm5g1v8.js.map → chunk-22k4b395.js.map} +1 -1
- package/dist/{chunk-nffk2cj3.js → chunk-2baxmae9.js} +2 -2
- package/dist/{chunk-nffk2cj3.js.map → chunk-2baxmae9.js.map} +1 -1
- package/dist/{chunk-4x41cmg3.js → chunk-3cxbvrts.js} +3 -3
- package/dist/{chunk-4x41cmg3.js.map → chunk-3cxbvrts.js.map} +1 -1
- package/dist/chunk-3e73zaft.js +5 -0
- package/dist/{chunk-8v5z6646.js.map → chunk-3e73zaft.js.map} +3 -3
- package/dist/{chunk-2tm56xq1.js → chunk-3m93v7bt.js} +2 -2
- package/dist/{chunk-2tm56xq1.js.map → chunk-3m93v7bt.js.map} +1 -1
- package/dist/{chunk-63cp4s8g.js → chunk-47dqttnk.js} +2 -2
- package/dist/{chunk-63cp4s8g.js.map → chunk-47dqttnk.js.map} +1 -1
- package/dist/{chunk-qttatc7h.js → chunk-4f7n1r02.js} +2 -2
- package/dist/{chunk-qttatc7h.js.map → chunk-4f7n1r02.js.map} +1 -1
- package/dist/{chunk-6397mbr2.js → chunk-4p752vk2.js} +3 -3
- package/dist/{chunk-6397mbr2.js.map → chunk-4p752vk2.js.map} +1 -1
- package/dist/{chunk-br9p390p.js → chunk-5dwtmkk8.js} +2 -2
- package/dist/{chunk-br9p390p.js.map → chunk-5dwtmkk8.js.map} +1 -1
- package/dist/{chunk-a9nxjfdy.js → chunk-5k3rm4b6.js} +2 -2
- package/dist/{chunk-a9nxjfdy.js.map → chunk-5k3rm4b6.js.map} +1 -1
- package/dist/{chunk-bvsevtpp.js → chunk-5ngv175h.js} +1 -1
- package/dist/{chunk-jhaeemjf.js → chunk-62cv9vjt.js} +2 -2
- package/dist/{chunk-jhaeemjf.js.map → chunk-62cv9vjt.js.map} +1 -1
- package/dist/{chunk-msg6re1f.js → chunk-63hvh35x.js} +2 -2
- package/dist/{chunk-msg6re1f.js.map → chunk-63hvh35x.js.map} +1 -1
- package/dist/{chunk-69yw2pb1.js → chunk-8nkdvgd9.js} +2 -2
- package/dist/{chunk-69yw2pb1.js.map → chunk-8nkdvgd9.js.map} +1 -1
- package/dist/{chunk-eqtsfvvd.js → chunk-ayss2f8c.js} +2 -2
- package/dist/{chunk-eqtsfvvd.js.map → chunk-ayss2f8c.js.map} +1 -1
- package/dist/{chunk-bf1q3m7a.js → chunk-b0jpvp5t.js} +3 -3
- package/dist/{chunk-bf1q3m7a.js.map → chunk-b0jpvp5t.js.map} +1 -1
- package/dist/{chunk-3tn480wt.js → chunk-b1dqx3b9.js} +2 -2
- package/dist/{chunk-3tn480wt.js.map → chunk-b1dqx3b9.js.map} +1 -1
- package/dist/{chunk-pjg7gqnh.js → chunk-bsq80942.js} +2 -2
- package/dist/{chunk-pjg7gqnh.js.map → chunk-bsq80942.js.map} +1 -1
- package/dist/{chunk-aa13sgs2.js → chunk-cbywzv21.js} +1 -1
- package/dist/{chunk-snz7nze3.js → chunk-cw7qfcvt.js} +2 -2
- package/dist/{chunk-snz7nze3.js.map → chunk-cw7qfcvt.js.map} +1 -1
- package/dist/{chunk-4rns9cnb.js → chunk-dtybftkq.js} +2 -2
- package/dist/{chunk-4rns9cnb.js.map → chunk-dtybftkq.js.map} +1 -1
- package/dist/{chunk-8ma08vxq.js → chunk-dyew1yf7.js} +2 -2
- package/dist/{chunk-8ma08vxq.js.map → chunk-dyew1yf7.js.map} +1 -1
- package/dist/{chunk-cp8gxeqs.js → chunk-ee92kx8s.js} +2 -2
- package/dist/{chunk-cp8gxeqs.js.map → chunk-ee92kx8s.js.map} +1 -1
- package/dist/chunk-f2n21fef.js +5 -0
- package/dist/{chunk-yhkffean.js.map → chunk-f2n21fef.js.map} +1 -1
- package/dist/{chunk-ghz3e8b7.js → chunk-fcsq613t.js} +2 -2
- package/dist/{chunk-ghz3e8b7.js.map → chunk-fcsq613t.js.map} +1 -1
- package/dist/chunk-g8qp01t6.js +17 -0
- package/dist/{chunk-d6prwkff.js.map → chunk-g8qp01t6.js.map} +4 -4
- package/dist/{chunk-c9vga0sk.js → chunk-gvv2trvz.js} +3 -3
- package/dist/{chunk-c9vga0sk.js.map → chunk-gvv2trvz.js.map} +1 -1
- package/dist/{chunk-4qjy1bts.js → chunk-gy6d6jeg.js} +2 -2
- package/dist/{chunk-4qjy1bts.js.map → chunk-gy6d6jeg.js.map} +1 -1
- package/dist/{chunk-64j3yef2.js → chunk-gyareq03.js} +2 -2
- package/dist/{chunk-64j3yef2.js.map → chunk-gyareq03.js.map} +1 -1
- package/dist/{chunk-5wgx5n2q.js → chunk-h945tg0r.js} +2 -2
- package/dist/{chunk-5wgx5n2q.js.map → chunk-h945tg0r.js.map} +1 -1
- package/dist/{chunk-hsec03gh.js → chunk-hwc8gt4n.js} +2 -2
- package/dist/{chunk-hsec03gh.js.map → chunk-hwc8gt4n.js.map} +1 -1
- package/dist/{chunk-gykbgtvg.js → chunk-hzmnqe4x.js} +2 -2
- package/dist/{chunk-gykbgtvg.js.map → chunk-hzmnqe4x.js.map} +1 -1
- package/dist/{chunk-shb51m4y.js → chunk-j041a7ej.js} +2 -2
- package/dist/{chunk-shb51m4y.js.map → chunk-j041a7ej.js.map} +1 -1
- package/dist/{chunk-pdvsc6jd.js → chunk-j3y6cs0z.js} +2 -2
- package/dist/{chunk-pdvsc6jd.js.map → chunk-j3y6cs0z.js.map} +1 -1
- package/dist/{chunk-xf9axxzx.js → chunk-j6e99sra.js} +3 -3
- package/dist/{chunk-xf9axxzx.js.map → chunk-j6e99sra.js.map} +1 -1
- package/dist/{chunk-9xf2fx98.js → chunk-j9deswmn.js} +2 -2
- package/dist/{chunk-9xf2fx98.js.map → chunk-j9deswmn.js.map} +1 -1
- package/dist/{chunk-epwaxctc.js → chunk-jfnhzza6.js} +2 -2
- package/dist/{chunk-epwaxctc.js.map → chunk-jfnhzza6.js.map} +1 -1
- package/dist/{chunk-prg5k57m.js → chunk-kwkbzswm.js} +2 -2
- package/dist/{chunk-prg5k57m.js.map → chunk-kwkbzswm.js.map} +1 -1
- package/dist/{chunk-n63xjrck.js → chunk-ma5rmcbe.js} +2 -2
- package/dist/{chunk-n63xjrck.js.map → chunk-ma5rmcbe.js.map} +1 -1
- package/dist/{chunk-6abjjfjr.js → chunk-mnctdd8r.js} +2 -2
- package/dist/{chunk-6abjjfjr.js.map → chunk-mnctdd8r.js.map} +1 -1
- package/dist/{chunk-y4fp0eg9.js → chunk-p2jn4bnx.js} +2 -2
- package/dist/{chunk-y4fp0eg9.js.map → chunk-p2jn4bnx.js.map} +1 -1
- package/dist/{chunk-xp6nr441.js → chunk-pfjr510h.js} +2 -2
- package/dist/{chunk-xp6nr441.js.map → chunk-pfjr510h.js.map} +1 -1
- package/dist/{chunk-dn2mw39y.js → chunk-q8r9mvzx.js} +2 -2
- package/dist/{chunk-dn2mw39y.js.map → chunk-q8r9mvzx.js.map} +1 -1
- package/dist/{chunk-1vs4xhcg.js → chunk-r5pnz4nn.js} +2 -2
- package/dist/{chunk-1vs4xhcg.js.map → chunk-r5pnz4nn.js.map} +1 -1
- package/dist/{chunk-yk2mtcwv.js → chunk-rjcmbwcc.js} +2 -2
- package/dist/{chunk-yk2mtcwv.js.map → chunk-rjcmbwcc.js.map} +1 -1
- package/dist/{chunk-80t4tfke.js → chunk-rkre6bqc.js} +1 -1
- package/dist/{chunk-mekw2ap4.js → chunk-sedwjgvf.js} +2 -2
- package/dist/{chunk-mekw2ap4.js.map → chunk-sedwjgvf.js.map} +1 -1
- package/dist/{chunk-ztcsyeg7.js → chunk-spgpvz77.js} +2 -2
- package/dist/{chunk-ztcsyeg7.js.map → chunk-spgpvz77.js.map} +1 -1
- package/dist/{chunk-3fr22rtg.js → chunk-st0d3ndv.js} +2 -2
- package/dist/{chunk-3fr22rtg.js.map → chunk-st0d3ndv.js.map} +1 -1
- package/dist/{chunk-tymhsmgq.js → chunk-szrgwggb.js} +3 -3
- package/dist/{chunk-tymhsmgq.js.map → chunk-szrgwggb.js.map} +1 -1
- package/dist/{chunk-jyswmx60.js → chunk-tcce63wk.js} +2 -2
- package/dist/{chunk-jyswmx60.js.map → chunk-tcce63wk.js.map} +1 -1
- package/dist/{chunk-7vjbebst.js → chunk-v4exgqbp.js} +2 -2
- package/dist/{chunk-7vjbebst.js.map → chunk-v4exgqbp.js.map} +1 -1
- package/dist/{chunk-7fn3wwyq.js → chunk-vh1hxm9y.js} +2 -2
- package/dist/{chunk-7fn3wwyq.js.map → chunk-vh1hxm9y.js.map} +1 -1
- package/dist/{chunk-1pbwrzwp.js → chunk-vqvdptx4.js} +2 -2
- package/dist/{chunk-1pbwrzwp.js.map → chunk-vqvdptx4.js.map} +1 -1
- package/dist/{chunk-48dek9s7.js → chunk-xnggfm0s.js} +3 -3
- package/dist/{chunk-48dek9s7.js.map → chunk-xnggfm0s.js.map} +1 -1
- package/dist/{chunk-n4807648.js → chunk-xxkk60aw.js} +3 -3
- package/dist/{chunk-n4807648.js.map → chunk-xxkk60aw.js.map} +1 -1
- package/dist/{chunk-xmjhensy.js → chunk-yxh4xs3k.js} +2 -2
- package/dist/{chunk-xmjhensy.js.map → chunk-yxh4xs3k.js.map} +1 -1
- package/dist/{chunk-77kw61f4.js → chunk-zhk3z9zk.js} +3 -3
- package/dist/{chunk-77kw61f4.js.map → chunk-zhk3z9zk.js.map} +1 -1
- package/dist/{chunk-f9t39vwk.js → chunk-zm00crsx.js} +2 -2
- package/dist/{chunk-f9t39vwk.js.map → chunk-zm00crsx.js.map} +1 -1
- package/dist/{chunk-np5b3cd7.js → chunk-zmag8k0z.js} +2 -2
- package/dist/{chunk-np5b3cd7.js.map → chunk-zmag8k0z.js.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/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/http/McpRouter.d.ts +210 -16
- package/dist/http/McpRouter.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 +2 -2
- package/dist/kernel/index.js.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/index.d.ts +2 -2
- 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/mcp/McpRegistry.d.ts +67 -5
- package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
- package/dist/services/mcp/toAgentTools.d.ts +57 -1
- package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/ApiRouteDispatcher.d.ts +27 -1
- package/dist/services/router/ApiRouteDispatcher.d.ts.map +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-8v5z6646.js +0 -5
- package/dist/chunk-d6prwkff.js +0 -17
- package/dist/chunk-yhkffean.js +0 -5
- /package/dist/{chunk-bvsevtpp.js.map → chunk-5ngv175h.js.map} +0 -0
- /package/dist/{chunk-aa13sgs2.js.map → chunk-cbywzv21.js.map} +0 -0
- /package/dist/{chunk-80t4tfke.js.map → chunk-rkre6bqc.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{L as B,N as p,T as _}from"./chunk-
|
|
2
|
+
import{L as B,N as p,T as _}from"./chunk-gvv2trvz.js";import{U as v}from"./chunk-gy6d6jeg.js";import{V as D}from"./chunk-hwc8gt4n.js";import"./chunk-rjcmbwcc.js";import"./chunk-62cv9vjt.js";import"./chunk-q8r9mvzx.js";import{$ as d}from"./chunk-ee92kx8s.js";import"./chunk-vh1hxm9y.js";import{_g as n}from"./chunk-1xzdexbq.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=ADF9F3280822A68764756E2164756E21
|
|
@@ -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": "ADF9F3280822A68764756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{H as _}from"./chunk-snz7nze3.js";import{U as ue}from"./chunk-4qjy1bts.js";import{V as w}from"./chunk-hsec03gh.js";import"./chunk-dn2mw39y.js";import{$ as l}from"./chunk-cp8gxeqs.js";import{Zg as o,bh as d}from"./chunk-68zf43ah.js";var g=o(_(),1);var ie=o(l(),1);var O=o(w(),1),R=o(l(),1),J=o(_(),1);var j=o(w(),1),E=o(l(),1),U=(e,s,t)=>{let n={EcsContainer:async(r)=>{let{fromHttp:a}=await import("./chunk-gykbgtvg.js"),{fromContainerMetadata:c}=await import("./chunk-nffk2cj3.js");return t?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"),async()=>E.chain(a(r??{}),c(r))().then(L)},Ec2InstanceMetadata:async(r)=>{t?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");let{fromInstanceMetadata:a}=await import("./chunk-nffk2cj3.js");return async()=>a(r)().then(L)},Environment:async(r)=>{t?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");let{fromEnv:a}=await import("./chunk-bvsevtpp.js");return async()=>a(r)().then(L)}};if(e in n)return n[e];else throw new E.CredentialsProviderError(`Unsupported credential source in profile ${s}. Got ${e}, expected EcsContainer or Ec2InstanceMetadata or Environment.`,{logger:t})},L=(e)=>j.setCredentialFeature(e,"CREDENTIALS_PROFILE_NAMED_PROVIDER","p");var N=(e,{profile:s="default",logger:t}={})=>{return Boolean(e)&&typeof e==="object"&&typeof e.role_arn==="string"&&["undefined","string"].indexOf(typeof e.role_session_name)>-1&&["undefined","string"].indexOf(typeof e.external_id)>-1&&["undefined","string"].indexOf(typeof e.mfa_serial)>-1&&(he(e,{profile:s,logger:t})||ye(e,{profile:s,logger:t}))},he=(e,{profile:s,logger:t})=>{let n=typeof e.source_profile==="string"&&typeof e.credential_source>"u";if(n)t?.debug?.(` ${s} isAssumeRoleWithSourceProfile source_profile=${e.source_profile}`);return n},ye=(e,{profile:s,logger:t})=>{let n=typeof e.credential_source==="string"&&typeof e.source_profile>"u";if(n)t?.debug?.(` ${s} isCredentialSourceProfile credential_source=${e.credential_source}`);return n},v=async(e,s,t,n,r={},a)=>{t.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");let c=s[e],{source_profile:h,region:I}=c;if(!t.roleAssumer){let{getDefaultRoleAssumer:i}=await import("./chunk-prg5k57m.js").then((m)=>o(m.default,1));t.roleAssumer=i({...t.clientConfig,credentialProviderLogger:t.logger,parentClientConfig:{...n,...t?.parentClientConfig,region:I??t?.parentClientConfig?.region??n?.region}},t.clientPlugins)}if(h&&h in r)throw new R.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${J.getProfileName(t)}. Profiles visited: `+Object.keys(r).join(", "),{logger:t.logger});t.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${h?`source_profile=[${h}]`:`profile=[${e}]`}`);let T=h?a(h,s,t,n,{...r,[h]:!0},G(s[h]??{})):(await U(c.credential_source,e,t.logger)(t))();if(G(c))return T.then((i)=>O.setCredentialFeature(i,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"));else{let i={RoleArn:c.role_arn,RoleSessionName:c.role_session_name||`aws-sdk-js-${Date.now()}`,ExternalId:c.external_id,DurationSeconds:parseInt(c.duration_seconds||"3600",10)},{mfa_serial:u}=c;if(u){if(!t.mfaCodeProvider)throw new R.CredentialsProviderError(`Profile ${e} requires multi-factor authentication, but no MFA code callback was provided.`,{logger:t.logger,tryNextLink:!1});i.SerialNumber=u,i.TokenCode=await t.mfaCodeProvider(u)}let y=await T;return t.roleAssumer(y,i).then((m)=>O.setCredentialFeature(m,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"))}},G=(e)=>{return!e.role_arn&&!!e.credential_source};var V=o(w(),1);var C=o(w(),1),X=o(l(),1),K=o(_(),1);var k=o(l(),1),W=o(ue(),1),z=o(_(),1);import{createHash as de,createPrivateKey as we,createPublicKey as ke,sign as me}from"crypto";import{promises as D}from"fs";import{homedir as fe}from"os";import{dirname as Ie,join as Y}from"path";class b{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,s,t){this.profileData=e,this.init=s,this.callerClientConfig=t}async loadCredentials(){let e=await this.loadToken();if(!e)throw new k.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let s=e.accessToken,t=Date.now();if(new Date(s.expiresAt).getTime()-t<=b.REFRESH_THRESHOLD)return this.refresh(e);return{accessKeyId:s.accessKeyId,secretAccessKey:s.secretAccessKey,sessionToken:s.sessionToken,accountId:s.accountId,expiration:new Date(s.expiresAt)}}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}async refresh(e){let{SigninClient:s,CreateOAuth2TokenCommand:t}=await import("./chunk-np5b3cd7.js").then((m)=>o(m.default,1)),{logger:n,userAgentAppId:r}=this.callerClientConfig??{},c=((i)=>{return i?.metadata?.handlerProtocol==="h2"})(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,h=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,I=new s({credentials:{accessKeyId:"",secretAccessKey:""},region:h,requestHandler:c,logger:n,userAgentAppId:r,...this.init?.clientConfig});this.createDPoPInterceptor(I.middlewareStack);let T={tokenInput:{clientId:e.clientId,refreshToken:e.refreshToken,grantType:"refresh_token"}};try{let i=await I.send(new t(T)),{accessKeyId:u,secretAccessKey:y,sessionToken:m}=i.tokenOutput?.accessToken??{},{refreshToken:x,expiresIn:H}=i.tokenOutput??{};if(!u||!y||!m||!x)throw new k.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let A=(H??900)*1000,f=new Date(Date.now()+A),q={...e,accessToken:{...e.accessToken,accessKeyId:u,secretAccessKey:y,sessionToken:m,expiresAt:f.toISOString()},refreshToken:x};await this.saveToken(q);let S=q.accessToken;return{accessKeyId:S.accessKeyId,secretAccessKey:S.secretAccessKey,sessionToken:S.sessionToken,accountId:S.accountId,expiration:f}}catch(i){if(i.name==="AccessDeniedException"){let u=i.error,y;switch(u){case"TOKEN_EXPIRED":y="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":y="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":y="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:y=`Failed to refresh token: ${String(i)}. Please re-authenticate using \`aws login\``}throw new k.CredentialsProviderError(y,{logger:this.logger,tryNextLink:!1})}throw new k.CredentialsProviderError(`Failed to refresh token: ${String(i)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let s;try{s=await z.readFile(e,{ignoreCache:this.init?.ignoreCache})}catch{s=await D.readFile(e,"utf8")}let t=JSON.parse(s),n=["accessToken","clientId","refreshToken","dpopKey"].filter((r)=>!t[r]);if(!t.accessToken?.accountId)n.push("accountId");if(n.length>0)throw new k.CredentialsProviderError(`Token validation failed, missing fields: ${n.join(", ")}`,{logger:this.logger,tryNextLink:!1});return t}catch(s){throw new k.CredentialsProviderError(`Failed to load token from ${e}: ${String(s)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let s=this.getTokenFilePath(),t=Ie(s);try{await D.mkdir(t,{recursive:!0})}catch(n){}await D.writeFile(s,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??Y(fe(),".aws","login","cache"),s=Buffer.from(this.loginSession,"utf8"),t=de("sha256").update(s).digest("hex");return Y(e,`${t}.json`)}derToRawSignature(e){let s=2;if(e[s]!==2)throw Error("Invalid DER signature");s++;let t=e[s++],n=e.subarray(s,s+t);if(s+=t,e[s]!==2)throw Error("Invalid DER signature");s++;let r=e[s++],a=e.subarray(s,s+r);n=n[0]===0?n.subarray(1):n,a=a[0]===0?a.subarray(1):a;let c=Buffer.concat([Buffer.alloc(32-n.length),n]),h=Buffer.concat([Buffer.alloc(32-a.length),a]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add((s)=>async(t)=>{if(W.HttpRequest.isInstance(t.request)){let n=t.request,r=`${n.protocol}//${n.hostname}${n.port?`:${n.port}`:""}${n.path}`,a=await this.generateDpop(n.method,r);n.headers={...n.headers,DPoP:a}}return s(t)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",s){let t=await this.loadToken();try{let n=we({key:t.dpopKey,format:"pem",type:"sec1"}),a=ke(n).export({format:"der",type:"spki"}),c=-1;for(let f=0;f<a.length;f++)if(a[f]===4){c=f;break}let h=a.slice(c+1,c+33),I=a.slice(c+33,c+65),T={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:I.toString("base64url")}},i={jti:crypto.randomUUID(),htm:e,htu:s,iat:Math.floor(Date.now()/1000)},u=Buffer.from(JSON.stringify(T)).toString("base64url"),y=Buffer.from(JSON.stringify(i)).toString("base64url"),m=`${u}.${y}`,x=me("sha256",Buffer.from(m),n),A=this.derToRawSignature(x).toString("base64url");return`${m}.${A}`}catch(n){throw new k.CredentialsProviderError(`Failed to generate Dpop proof: ${n instanceof Error?n.message:String(n)}`,{logger:this.logger,tryNextLink:!1})}}}var Q=(e)=>async({callerClientConfig:s}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let t=await K.parseKnownFiles(e||{}),n=K.getProfileName({profile:e?.profile??s?.profile}),r=t[n];if(!r?.login_session)throw new X.CredentialsProviderError(`Profile ${n} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new b(r,e,s).loadCredentials();return C.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};var Z=(e)=>{return Boolean(e&&e.login_session)},M=async(e,s,t)=>{let n=await Q({...s,profile:e})({callerClientConfig:t});return V.setCredentialFeature(n,"CREDENTIALS_PROFILE_LOGIN","AC")};var p=o(w(),1),ee=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.credential_process==="string",te=async(e,s)=>import("./chunk-msg6re1f.js").then(({fromProcess:t})=>t({...e,profile:s})().then((n)=>p.setCredentialFeature(n,"CREDENTIALS_PROFILE_PROCESS","v")));var $=o(w(),1),se=async(e,s,t={},n)=>{let{fromSSO:r}=await import("./chunk-63cp4s8g.js");return r({profile:e,logger:t.logger,parentClientConfig:t.parentClientConfig,clientConfig:t.clientConfig})({callerClientConfig:n}).then((a)=>{if(s.sso_session)return $.setCredentialFeature(a,"CREDENTIALS_PROFILE_SSO","r");else return $.setCredentialFeature(a,"CREDENTIALS_PROFILE_SSO_LEGACY","t")})},ne=(e)=>e&&(typeof e.sso_start_url==="string"||typeof e.sso_account_id==="string"||typeof e.sso_session==="string"||typeof e.sso_region==="string"||typeof e.sso_role_name==="string");var ce=o(w(),1),P=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.aws_access_key_id==="string"&&typeof e.aws_secret_access_key==="string"&&["undefined","string"].indexOf(typeof e.aws_session_token)>-1&&["undefined","string"].indexOf(typeof e.aws_account_id)>-1,F=async(e,s)=>{s?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");let t={accessKeyId:e.aws_access_key_id,secretAccessKey:e.aws_secret_access_key,sessionToken:e.aws_session_token,...e.aws_credential_scope&&{credentialScope:e.aws_credential_scope},...e.aws_account_id&&{accountId:e.aws_account_id}};return ce.setCredentialFeature(t,"CREDENTIALS_PROFILE","n")};var re=o(w(),1),ae=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.web_identity_token_file==="string"&&typeof e.role_arn==="string"&&["undefined","string"].indexOf(typeof e.role_session_name)>-1,oe=async(e,s,t)=>import("./chunk-a9nxjfdy.js").then(({fromTokenFile:n})=>n({webIdentityTokenFile:e.web_identity_token_file,roleArn:e.role_arn,roleSessionName:e.role_session_name,roleAssumerWithWebIdentity:s.roleAssumerWithWebIdentity,logger:s.logger,parentClientConfig:s.parentClientConfig})({callerClientConfig:t}).then((r)=>re.setCredentialFeature(r,"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN","q")));var B=async(e,s,t,n,r={},a=!1)=>{let c=s[e];if(Object.keys(r).length>0&&P(c))return F(c,t);if(a||N(c,{profile:e,logger:t.logger}))return v(e,s,t,n,r,B);if(P(c))return F(c,t);if(ae(c))return oe(c,t,n);if(ee(c))return te(t,e);if(ne(c))return await se(e,c,t,n);if(Z(c))return M(e,t,n);throw new ie.CredentialsProviderError(`Could not resolve credentials using profile: [${e}] in configuration/credentials file(s).`,{logger:t.logger})};var Ne=(e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");let t=await g.parseKnownFiles(e);return B(g.getProfileName({profile:e.profile??s?.profile}),t,e,s)};export{Ne as fromIni};
|
|
2
|
+
import{H as _}from"./chunk-cw7qfcvt.js";import{U as ue}from"./chunk-gy6d6jeg.js";import{V as w}from"./chunk-hwc8gt4n.js";import"./chunk-q8r9mvzx.js";import{$ as l}from"./chunk-ee92kx8s.js";import{_g as o,ch as d}from"./chunk-1xzdexbq.js";var g=o(_(),1);var ie=o(l(),1);var O=o(w(),1),R=o(l(),1),J=o(_(),1);var j=o(w(),1),E=o(l(),1),U=(e,s,t)=>{let n={EcsContainer:async(r)=>{let{fromHttp:a}=await import("./chunk-hzmnqe4x.js"),{fromContainerMetadata:c}=await import("./chunk-2baxmae9.js");return t?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"),async()=>E.chain(a(r??{}),c(r))().then(L)},Ec2InstanceMetadata:async(r)=>{t?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");let{fromInstanceMetadata:a}=await import("./chunk-2baxmae9.js");return async()=>a(r)().then(L)},Environment:async(r)=>{t?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");let{fromEnv:a}=await import("./chunk-5ngv175h.js");return async()=>a(r)().then(L)}};if(e in n)return n[e];else throw new E.CredentialsProviderError(`Unsupported credential source in profile ${s}. Got ${e}, expected EcsContainer or Ec2InstanceMetadata or Environment.`,{logger:t})},L=(e)=>j.setCredentialFeature(e,"CREDENTIALS_PROFILE_NAMED_PROVIDER","p");var N=(e,{profile:s="default",logger:t}={})=>{return Boolean(e)&&typeof e==="object"&&typeof e.role_arn==="string"&&["undefined","string"].indexOf(typeof e.role_session_name)>-1&&["undefined","string"].indexOf(typeof e.external_id)>-1&&["undefined","string"].indexOf(typeof e.mfa_serial)>-1&&(he(e,{profile:s,logger:t})||ye(e,{profile:s,logger:t}))},he=(e,{profile:s,logger:t})=>{let n=typeof e.source_profile==="string"&&typeof e.credential_source>"u";if(n)t?.debug?.(` ${s} isAssumeRoleWithSourceProfile source_profile=${e.source_profile}`);return n},ye=(e,{profile:s,logger:t})=>{let n=typeof e.credential_source==="string"&&typeof e.source_profile>"u";if(n)t?.debug?.(` ${s} isCredentialSourceProfile credential_source=${e.credential_source}`);return n},v=async(e,s,t,n,r={},a)=>{t.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");let c=s[e],{source_profile:h,region:I}=c;if(!t.roleAssumer){let{getDefaultRoleAssumer:i}=await import("./chunk-kwkbzswm.js").then((m)=>o(m.default,1));t.roleAssumer=i({...t.clientConfig,credentialProviderLogger:t.logger,parentClientConfig:{...n,...t?.parentClientConfig,region:I??t?.parentClientConfig?.region??n?.region}},t.clientPlugins)}if(h&&h in r)throw new R.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${J.getProfileName(t)}. Profiles visited: `+Object.keys(r).join(", "),{logger:t.logger});t.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${h?`source_profile=[${h}]`:`profile=[${e}]`}`);let T=h?a(h,s,t,n,{...r,[h]:!0},G(s[h]??{})):(await U(c.credential_source,e,t.logger)(t))();if(G(c))return T.then((i)=>O.setCredentialFeature(i,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"));else{let i={RoleArn:c.role_arn,RoleSessionName:c.role_session_name||`aws-sdk-js-${Date.now()}`,ExternalId:c.external_id,DurationSeconds:parseInt(c.duration_seconds||"3600",10)},{mfa_serial:u}=c;if(u){if(!t.mfaCodeProvider)throw new R.CredentialsProviderError(`Profile ${e} requires multi-factor authentication, but no MFA code callback was provided.`,{logger:t.logger,tryNextLink:!1});i.SerialNumber=u,i.TokenCode=await t.mfaCodeProvider(u)}let y=await T;return t.roleAssumer(y,i).then((m)=>O.setCredentialFeature(m,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"))}},G=(e)=>{return!e.role_arn&&!!e.credential_source};var V=o(w(),1);var C=o(w(),1),X=o(l(),1),K=o(_(),1);var k=o(l(),1),W=o(ue(),1),z=o(_(),1);import{createHash as de,createPrivateKey as we,createPublicKey as ke,sign as me}from"crypto";import{promises as D}from"fs";import{homedir as fe}from"os";import{dirname as Ie,join as Y}from"path";class b{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,s,t){this.profileData=e,this.init=s,this.callerClientConfig=t}async loadCredentials(){let e=await this.loadToken();if(!e)throw new k.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let s=e.accessToken,t=Date.now();if(new Date(s.expiresAt).getTime()-t<=b.REFRESH_THRESHOLD)return this.refresh(e);return{accessKeyId:s.accessKeyId,secretAccessKey:s.secretAccessKey,sessionToken:s.sessionToken,accountId:s.accountId,expiration:new Date(s.expiresAt)}}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}async refresh(e){let{SigninClient:s,CreateOAuth2TokenCommand:t}=await import("./chunk-zmag8k0z.js").then((m)=>o(m.default,1)),{logger:n,userAgentAppId:r}=this.callerClientConfig??{},c=((i)=>{return i?.metadata?.handlerProtocol==="h2"})(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,h=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,I=new s({credentials:{accessKeyId:"",secretAccessKey:""},region:h,requestHandler:c,logger:n,userAgentAppId:r,...this.init?.clientConfig});this.createDPoPInterceptor(I.middlewareStack);let T={tokenInput:{clientId:e.clientId,refreshToken:e.refreshToken,grantType:"refresh_token"}};try{let i=await I.send(new t(T)),{accessKeyId:u,secretAccessKey:y,sessionToken:m}=i.tokenOutput?.accessToken??{},{refreshToken:x,expiresIn:H}=i.tokenOutput??{};if(!u||!y||!m||!x)throw new k.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let A=(H??900)*1000,f=new Date(Date.now()+A),q={...e,accessToken:{...e.accessToken,accessKeyId:u,secretAccessKey:y,sessionToken:m,expiresAt:f.toISOString()},refreshToken:x};await this.saveToken(q);let S=q.accessToken;return{accessKeyId:S.accessKeyId,secretAccessKey:S.secretAccessKey,sessionToken:S.sessionToken,accountId:S.accountId,expiration:f}}catch(i){if(i.name==="AccessDeniedException"){let u=i.error,y;switch(u){case"TOKEN_EXPIRED":y="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":y="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":y="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:y=`Failed to refresh token: ${String(i)}. Please re-authenticate using \`aws login\``}throw new k.CredentialsProviderError(y,{logger:this.logger,tryNextLink:!1})}throw new k.CredentialsProviderError(`Failed to refresh token: ${String(i)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let s;try{s=await z.readFile(e,{ignoreCache:this.init?.ignoreCache})}catch{s=await D.readFile(e,"utf8")}let t=JSON.parse(s),n=["accessToken","clientId","refreshToken","dpopKey"].filter((r)=>!t[r]);if(!t.accessToken?.accountId)n.push("accountId");if(n.length>0)throw new k.CredentialsProviderError(`Token validation failed, missing fields: ${n.join(", ")}`,{logger:this.logger,tryNextLink:!1});return t}catch(s){throw new k.CredentialsProviderError(`Failed to load token from ${e}: ${String(s)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let s=this.getTokenFilePath(),t=Ie(s);try{await D.mkdir(t,{recursive:!0})}catch(n){}await D.writeFile(s,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??Y(fe(),".aws","login","cache"),s=Buffer.from(this.loginSession,"utf8"),t=de("sha256").update(s).digest("hex");return Y(e,`${t}.json`)}derToRawSignature(e){let s=2;if(e[s]!==2)throw Error("Invalid DER signature");s++;let t=e[s++],n=e.subarray(s,s+t);if(s+=t,e[s]!==2)throw Error("Invalid DER signature");s++;let r=e[s++],a=e.subarray(s,s+r);n=n[0]===0?n.subarray(1):n,a=a[0]===0?a.subarray(1):a;let c=Buffer.concat([Buffer.alloc(32-n.length),n]),h=Buffer.concat([Buffer.alloc(32-a.length),a]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add((s)=>async(t)=>{if(W.HttpRequest.isInstance(t.request)){let n=t.request,r=`${n.protocol}//${n.hostname}${n.port?`:${n.port}`:""}${n.path}`,a=await this.generateDpop(n.method,r);n.headers={...n.headers,DPoP:a}}return s(t)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",s){let t=await this.loadToken();try{let n=we({key:t.dpopKey,format:"pem",type:"sec1"}),a=ke(n).export({format:"der",type:"spki"}),c=-1;for(let f=0;f<a.length;f++)if(a[f]===4){c=f;break}let h=a.slice(c+1,c+33),I=a.slice(c+33,c+65),T={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:I.toString("base64url")}},i={jti:crypto.randomUUID(),htm:e,htu:s,iat:Math.floor(Date.now()/1000)},u=Buffer.from(JSON.stringify(T)).toString("base64url"),y=Buffer.from(JSON.stringify(i)).toString("base64url"),m=`${u}.${y}`,x=me("sha256",Buffer.from(m),n),A=this.derToRawSignature(x).toString("base64url");return`${m}.${A}`}catch(n){throw new k.CredentialsProviderError(`Failed to generate Dpop proof: ${n instanceof Error?n.message:String(n)}`,{logger:this.logger,tryNextLink:!1})}}}var Q=(e)=>async({callerClientConfig:s}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let t=await K.parseKnownFiles(e||{}),n=K.getProfileName({profile:e?.profile??s?.profile}),r=t[n];if(!r?.login_session)throw new X.CredentialsProviderError(`Profile ${n} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new b(r,e,s).loadCredentials();return C.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};var Z=(e)=>{return Boolean(e&&e.login_session)},M=async(e,s,t)=>{let n=await Q({...s,profile:e})({callerClientConfig:t});return V.setCredentialFeature(n,"CREDENTIALS_PROFILE_LOGIN","AC")};var p=o(w(),1),ee=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.credential_process==="string",te=async(e,s)=>import("./chunk-63hvh35x.js").then(({fromProcess:t})=>t({...e,profile:s})().then((n)=>p.setCredentialFeature(n,"CREDENTIALS_PROFILE_PROCESS","v")));var $=o(w(),1),se=async(e,s,t={},n)=>{let{fromSSO:r}=await import("./chunk-47dqttnk.js");return r({profile:e,logger:t.logger,parentClientConfig:t.parentClientConfig,clientConfig:t.clientConfig})({callerClientConfig:n}).then((a)=>{if(s.sso_session)return $.setCredentialFeature(a,"CREDENTIALS_PROFILE_SSO","r");else return $.setCredentialFeature(a,"CREDENTIALS_PROFILE_SSO_LEGACY","t")})},ne=(e)=>e&&(typeof e.sso_start_url==="string"||typeof e.sso_account_id==="string"||typeof e.sso_session==="string"||typeof e.sso_region==="string"||typeof e.sso_role_name==="string");var ce=o(w(),1),P=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.aws_access_key_id==="string"&&typeof e.aws_secret_access_key==="string"&&["undefined","string"].indexOf(typeof e.aws_session_token)>-1&&["undefined","string"].indexOf(typeof e.aws_account_id)>-1,F=async(e,s)=>{s?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");let t={accessKeyId:e.aws_access_key_id,secretAccessKey:e.aws_secret_access_key,sessionToken:e.aws_session_token,...e.aws_credential_scope&&{credentialScope:e.aws_credential_scope},...e.aws_account_id&&{accountId:e.aws_account_id}};return ce.setCredentialFeature(t,"CREDENTIALS_PROFILE","n")};var re=o(w(),1),ae=(e)=>Boolean(e)&&typeof e==="object"&&typeof e.web_identity_token_file==="string"&&typeof e.role_arn==="string"&&["undefined","string"].indexOf(typeof e.role_session_name)>-1,oe=async(e,s,t)=>import("./chunk-5k3rm4b6.js").then(({fromTokenFile:n})=>n({webIdentityTokenFile:e.web_identity_token_file,roleArn:e.role_arn,roleSessionName:e.role_session_name,roleAssumerWithWebIdentity:s.roleAssumerWithWebIdentity,logger:s.logger,parentClientConfig:s.parentClientConfig})({callerClientConfig:t}).then((r)=>re.setCredentialFeature(r,"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN","q")));var B=async(e,s,t,n,r={},a=!1)=>{let c=s[e];if(Object.keys(r).length>0&&P(c))return F(c,t);if(a||N(c,{profile:e,logger:t.logger}))return v(e,s,t,n,r,B);if(P(c))return F(c,t);if(ae(c))return oe(c,t,n);if(ee(c))return te(t,e);if(ne(c))return await se(e,c,t,n);if(Z(c))return M(e,t,n);throw new ie.CredentialsProviderError(`Could not resolve credentials using profile: [${e}] in configuration/credentials file(s).`,{logger:t.logger})};var Ne=(e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");let t=await g.parseKnownFiles(e);return B(g.getProfileName({profile:e.profile??s?.profile}),t,e,s)};export{Ne as fromIni};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=4C2C323666A60E0A64756E2164756E21
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
"import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import(\"@aws-sdk/credential-provider-web-identity\").then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})({\n callerClientConfig,\n}).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\")));\n"
|
|
16
16
|
],
|
|
17
17
|
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
18
|
+
"debugId": "4C2C323666A60E0A64756E2164756E21",
|
|
19
19
|
"names": []
|
|
20
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{i as B,j as e}from"./chunk-
|
|
2
|
+
import{i as B,j as e}from"./chunk-tcce63wk.js";import{ka as D,oa as I,pa as r}from"./chunk-zq5m4scz.js";import"./chunk-8z37k28d.js";import{hc as c,vd as o,wd as P}from"./chunk-g8qp01t6.js";import"./chunk-b0jpvp5t.js";import"./chunk-22k4b395.js";import{Te as f,Ue as u,Xe as m}from"./chunk-3cxbvrts.js";import{Cf as n}from"./chunk-j9deswmn.js";import"./chunk-ayss2f8c.js";import"./chunk-5dwtmkk8.js";import"./chunk-xxkk60aw.js";import"./chunk-fcsq613t.js";import"./chunk-v4exgqbp.js";import"./chunk-st0d3ndv.js";import"./chunk-4f7n1r02.js";import"./chunk-xnggfm0s.js";import"./chunk-0fney17e.js";import{Xg as a}from"./chunk-ma5rmcbe.js";import{Yg as _}from"./chunk-3m93v7bt.js";import"./chunk-1xzdexbq.js";import{join as M,resolve as yJ,sep as vJ}from"path";import{Duplex as KJ}from"stream";import{constants as L,createBrotliCompress as OJ,createGzip as YJ}from"zlib";var UJ=["br","gzip"],xJ=1024,VJ=5,IJ=19,CJ=6;function LJ(J){if(J===void 0)return 1;if(!/^\d+(\.\d{0,3})?$/.test(J.trim()))return 1;let $=Number(J.trim());return Number.isFinite($)?Math.min($,1):1}function AJ(J){if(J===null||J===void 0)return null;let $=new Map;for(let X of J.split(",")){let[Z,...Q]=X.split(";"),W=Z.trim().toLowerCase();if(W==="")continue;let j=1;for(let G of Q){let Y=G.indexOf("=");if(Y===-1)continue;if(G.slice(0,Y).trim().toLowerCase()==="q"){j=LJ(G.slice(Y+1));break}}$.set(W,j)}return $}function PJ(J,$=UJ){let X=AJ(J);if(!X)return null;let Z=X.get("*"),Q=null,W=0;for(let j of $){let G=X.get(j)??Z??0;if(G>W)Q=j,W=G}return Q}function _J(J,$){if(!J)return!1;return J.split(",").some((X)=>X.trim().toLowerCase().split("=")[0].trim()===$)}function SJ(J,$){if(J==="HEAD")return!1;if($.status<200||$.status===204||$.status===206||$.status===304)return!1;if($.headers.has("Content-Range"))return!1;let X=$.headers.get("Content-Type");if(!X||!/^\s*text\/html\s*(;|$)/i.test(X))return!1;if(!$.body)return!1;let Z=$.headers.get("Content-Encoding");if(Z&&Z.trim().toLowerCase()!=="identity")return!1;if(_J($.headers.get("Cache-Control"),"no-transform"))return!1;let Q=$.headers.get("Content-Length");if(Q!==null&&Number(Q)<xJ)return!1;return!0}function TJ(J){let $=J==="br"?OJ({params:{[L.BROTLI_PARAM_QUALITY]:VJ,[L.BROTLI_PARAM_LGWIN]:IJ},flush:L.BROTLI_OPERATION_FLUSH}):YJ({level:CJ,flush:L.Z_SYNC_FLUSH});return KJ.toWeb($)}function DJ(J){let $=J.get("Vary");if(!$){J.set("Vary","Accept-Encoding");return}let X=$.split(",").map((Z)=>Z.trim().toLowerCase());if(X.includes("*")||X.includes("accept-encoding"))return;J.append("Vary","Accept-Encoding")}function g(J,$){if(!SJ(J.method,$))return $;let X=new Headers($.headers);DJ(X);let Z=PJ(J.headers.get("Accept-Encoding"));if(!Z)return new Response($.body,{status:$.status,statusText:$.statusText,headers:X});let Q;try{Q=TJ(Z)}catch{return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}return X.set("Content-Encoding",Z),X.delete("Content-Length"),new Response($.body.pipeThrough(Q),{status:$.status,statusText:$.statusText,headers:X})}import{readdir as FJ,stat as NJ}from"fs/promises";import{join as BJ}from"path";function w(J){let $=J.toString(),X=new Bun.CryptoHasher("sha1");return X.update($),X.digest("hex")}async function h(J){let $=new Set;async function X(Z,Q){let W;try{W=await FJ(Z,{withFileTypes:!0})}catch{return}for(let j of W){if(j.name.startsWith("."))continue;if(Q&&j.name==="assets")continue;let G=BJ(Z,j.name),Y=j.isDirectory(),V=j.isFile();if(j.isSymbolicLink())try{let C=await NJ(G);Y=C.isDirectory(),V=C.isFile()}catch{continue}if(V)$.add(G);else if(Y&&!j.isSymbolicLink())await X(G,!1)}}return await X(J,!0),$}var bJ="public, max-age=31536000, must-revalidate";function p(J,$){let X=Bun.file($),Z=X.size,Q=w(X.lastModified),W={"Content-Type":X.type||"application/octet-stream","Cache-Control":bJ,"Accept-Ranges":"bytes",ETag:Q},j=f(J.headers.get("Range"));if(j){let G=u(j,Z);if(!G)return c(Z);return new Response(X.slice(G.start,G.end+1).stream(),{status:206,headers:{...W,"Content-Range":m(G.start,G.end,Z),"Content-Length":String(G.length)}})}return new Response(X.stream(),{headers:{...W,"Content-Length":String(Z)}})}import{stat as EJ}from"fs/promises";var A="app/client.tsx";function d(J,$=D){let X=J[A]?.file;if(!X)return;return{module:I(X,$),preload:F(J,A,$)}}function F(J,$,X=D){let Z=[],Q=new Set,W=(j)=>{if(Q.has(j))return;Q.add(j);let G=J[j];if(!G?.file)return;Z.push(I(G.file,X));for(let Y of G.imports??[])W(Y)};return W($),Z}function l(J,$=30000){let X=JSON.stringify("gemi:chunk-reload"),Z=JSON.stringify(`Failed to fetch dynamically imported module: ${J}`);return`var r=!1;try{var s=window.sessionStorage,m=JSON.parse(s.getItem(${X})||"null");var d=m?Date.now()-m.at:NaN;if(navigator.onLine!==!1&&!(d>=0&&d<${$})){s.setItem(${X},JSON.stringify({url:window.location.href,at:Date.now()}));r=!0}}catch(e){}if(r)window.location.reload();else throw new Error(${Z});export {}`}var MJ=new RegExp(`^${o}/.+\\.m?js$`);function qJ(J){return MJ.test(J)}function i(J){if(qJ(J))return new Response(l(J),{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store"}});if(P(J))return new Response("Not found",{status:404});return}var RJ=`<!DOCTYPE html>
|
|
3
3
|
<html lang="en">
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8" />
|
|
@@ -21,4 +21,4 @@ import{i as B,j as e}from"./chunk-jyswmx60.js";import{ka as D,oa as I,pa as r}fr
|
|
|
21
21
|
</html>`;function N(J,$,X){if(!X)console.error(J);else try{X(J instanceof Error?J:Error(String(J),{cause:J}))}catch(Z){console.error(J),console.error(Z)}if(_($))return new Response(JSON.stringify({error:n("server_error","Internal Server Error",500)}),{status:500,headers:{"Content-Type":"application/json"}});return new Response(RJ,{status:500,headers:{"Content-Type":"text/html; charset=utf-8"}})}var kJ={kind:"none"};function s(J){let $=(J??"").trim().toLowerCase();if($===""||$==="false"||$==="off"||$==="0")return kJ;if($==="true")return{kind:"all"};if(/^[1-9]\d*$/.test($))return{kind:"hops",hops:Number($)};throw Error(`GEMI_TRUST_PROXY must be "false", "true" or the number of proxies in front of the app (e.g. 1). Got ${JSON.stringify(J)}.`)}function t(J,$,X){if(X.kind==="all"){if(!J.get("x-forwarded-for")&&$)J.set("x-forwarded-for",$);return}J.delete("x-real-ip");let Z=$;if(X.kind==="hops"){let Q=(J.get("x-forwarded-for")??"").split(",").map((j)=>j.trim()).filter(Boolean),W=Q.length-X.hops;Z=W>=0?Q[W]:Q[0]??$}if(Z)J.set("x-forwarded-for",Z);else J.delete("x-forwarded-for")}var S=a(),gJ=M(S,"app"),x=M(S,"dist"),b=M(x,"client");function wJ(J){let $;try{$=decodeURIComponent(J)}catch{return null}let X=yJ(b,"."+$.replace("/assets/assets","/assets"));return X.startsWith(b+vJ)?X:null}async function fJ(J){try{return(await EJ(J)).isFile()}catch{return!1}}async function L3(J,$){let X=await import(`${x}/client/.vite/manifest.json`),Z=await import(`${x}/server/.vite/manifest.json`),Q=await r(`${x}/client`);process.env.ROOT_DIR=S,process.env.APP_DIR=gJ,process.env.DIST_DIR=x;let W={},j={},G={},Y={},V={},C=(z,H)=>`"${z}": () => import("${H}")`,q=[];for(let z of["404",...J.getFlatComponentTree.call(J)]){let H=Z[`app/views/${z}.tsx`];if(!H?.file){console.log(`Server file not found for ${z}`),console.log(H);let U=Object.keys(Z),y=`app/views/${z}.tsx`;console.log(`${y} not found in server manifest`),console.log(U)}let O=await import(`${process.env.DIST_DIR}/server/${H?.file}`);W[z]=O.default,j[z]=O.OpenGraph,G[z]=O;let K=X[`app/views/${z}.tsx`];if(K?.css&&K?.css.length>0)Y[z]=K?.css;if(K)q.push(C(z,I(K?.file,Q))),V[z]=F(X,`app/views/${z}.tsx`,Q)}let JJ=`{${q.join(",")}}`,R=d(X,Q);if(!R)console.error(`Client manifest has no "${A}" entry \u2014 dist/client is incomplete, so documents will render but never hydrate.`);let $J=X["app/client.tsx"]?.css??[],XJ=(await Promise.all($J.map((z)=>Bun.file(`${x}/client/${z}`).text()))).join(`
|
|
22
22
|
`),ZJ=await h(b);async function zJ(z){let{pathname:H}=new URL(z.url);if(_(H))return await T(z,H);let O=wJ(H);if(P(H)||H.startsWith("/.well-known")||O!==null&&ZJ.has(O)){if(!O||!await fJ(O))return i(H)??await T(z,H);try{return p(z,O)}catch(U){return J.onException?.(U),new Response("Not found",{status:404})}}return await T(z,H)}async function T(z,H){let O=J.fetch.bind(J);try{let K=await O(z);if(K instanceof Response)return K;else{let U=[];return U.push({content:XJ}),await K({getStyles:async(v)=>{if(!v)return B([]);for(let GJ of v){let WJ=X[`app/views/${GJ}.tsx`];for(let E of WJ?.css??[]){let HJ=Bun.file(`${process.env.DIST_DIR}/client/${E}`);U.push({id:E,content:await HJ.text()})}}return B(U)},clientEntry:R,modulePreloadManifest:V,loaders:JJ,viewImportMap:W,viewModules:G,ogMap:j,cssManifest:Y,assetBase:Q})}}catch(K){return N(K,H,J.onException)}}let QJ=(process.env.GEMI_COMPRESSION??"auto").toLowerCase()!=="off",jJ=s(process.env.GEMI_TRUST_PROXY),k=Bun.serve({maxRequestBodySize:10737418240,fetch:async(z,H)=>{t(z.headers,H.requestIP(z)?.address??null,jJ);let O=await $(z,(K)=>J.withGlobalMiddleware(K,zJ,(U)=>N(U,new URL(K.url).pathname,J.onException)));return QJ?g(z,O):O},idleTimeout:Number(process.env.SERVER_IDLE_TIMEOUT??10),port:process.env.PORT||5173});return e({port:k.port,rootDir:S}),k}export{L3 as httpProd};
|
|
23
23
|
|
|
24
|
-
//# debugId=
|
|
24
|
+
//# debugId=3420B1E0F85ED7CA64756E2164756E21
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
"/**\n * Which `X-Forwarded-For` entries the production server believes (#8).\n *\n * `X-Forwarded-For` is written by whoever sends the request. A client talking\n * to the app directly — or through a proxy that appends to the header rather\n * than replacing it — picks any address it likes, and `clientIp` (the rate\n * limiter's default key) used to read the left-most entry, which is exactly\n * the one the client wrote. So the server decides here, once, at the edge,\n * and hands the app a single address it can rely on:\n *\n * - `none` (the default): no proxy is trusted. The header is replaced with the\n * socket's peer address, and `X-Real-IP` is dropped.\n * - `hops` (`GEMI_TRUST_PROXY=<n>`): the `n` proxies nearest the app are\n * trusted. Each appends the address it was reached from, so the client is\n * the `n`-th entry from the right of `X-Forwarded-For`. Anything\n * further left was written by someone the app does not trust and is dropped.\n * - `all` (`GEMI_TRUST_PROXY=true`): the inbound header is passed through\n * unchanged, as before 0.88. Only sound behind a proxy that overwrites\n * `X-Forwarded-For` (and `X-Real-IP`) rather than appending to it.\n */\nexport type ForwardedTrust =\n | { kind: \"none\" }\n | { kind: \"all\" }\n | { kind: \"hops\"; hops: number };\n\nconst NONE: ForwardedTrust = { kind: \"none\" };\n\n/**\n * `GEMI_TRUST_PROXY` as a policy. Unset, empty, `false`, `off` and `0` trust\n * nothing; `true` trusts everything; a positive integer is a hop count.\n * Anything else throws, so a typo fails the boot instead of silently trusting\n * nothing (every client sharing the proxy's address) or everything.\n */\nexport function parseTrustProxy(value: string | undefined): ForwardedTrust {\n const raw = (value ?? \"\").trim().toLowerCase();\n if (raw === \"\" || raw === \"false\" || raw === \"off\" || raw === \"0\") {\n return NONE;\n }\n if (raw === \"true\") {\n return { kind: \"all\" };\n }\n if (/^[1-9]\\d*$/.test(raw)) {\n return { kind: \"hops\", hops: Number(raw) };\n }\n throw new Error(\n `GEMI_TRUST_PROXY must be \"false\", \"true\" or the number of proxies in front of the app (e.g. 1). Got ${JSON.stringify(value)}.`,\n );\n}\n\n/**\n * Rewrites `headers` so `X-Forwarded-For` holds what `trust` says the client\n * address is. `peer` is the socket's remote address — `null` for a unix\n * socket, where the immediate hop is still counted as one proxy.\n */\nexport function applyForwardedTrust(\n headers: Headers,\n peer: string | null,\n trust: ForwardedTrust,\n): void {\n if (trust.kind === \"all\") {\n if (!headers.get(\"x-forwarded-for\") && peer) {\n headers.set(\"x-forwarded-for\", peer);\n }\n return;\n }\n\n // Under any other policy `X-Real-IP` is as client-written as the rest; the\n // address the app should use is the one left in `X-Forwarded-For`.\n headers.delete(\"x-real-ip\");\n\n let client: string | null = peer;\n if (trust.kind === \"hops\") {\n const entries = (headers.get(\"x-forwarded-for\") ?? \"\")\n .split(\",\")\n .map((entry) => entry.trim())\n .filter(Boolean);\n // The chain is `entries` + `peer`; the client sits `hops` places left of\n // its end, i.e. `entries[entries.length - hops]`. A shorter chain than\n // expected means the request skipped a proxy, so its left-most hop is the\n // furthest thing seen — never anything further left than that.\n const index = entries.length - trust.hops;\n client = index >= 0 ? entries[index]! : (entries[0] ?? peer);\n }\n\n if (client) {\n headers.set(\"x-forwarded-for\", client);\n } else {\n headers.delete(\"x-forwarded-for\");\n }\n}\n"
|
|
14
14
|
],
|
|
15
15
|
"mappings": "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",
|
|
16
|
-
"debugId": "
|
|
16
|
+
"debugId": "3420B1E0F85ED7CA64756E2164756E21",
|
|
17
17
|
"names": []
|
|
18
18
|
}
|