@kyro-cms/core 0.12.48 → 0.12.49
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/README.md +1 -0
- package/dist/api-handler-graphql.cjs +1 -1
- package/dist/api-handler-graphql.js +1 -1
- package/dist/api-handler-trpc.cjs +1 -1
- package/dist/api-handler-trpc.js +1 -1
- package/dist/api-handler.cjs +1 -1
- package/dist/api-handler.js +1 -1
- package/dist/auth-session-DHVGXHOH.cjs +1 -0
- package/dist/auth-session-O7IIH7EP.js +1 -0
- package/dist/bcryptjs-ZEEHSMAG.js +2 -0
- package/dist/{better-sqlite3-42Q3FG3E.js → better-sqlite3-B34RIU4C.js} +1 -1
- package/dist/bootstrap-4FK3LPPH.js +1 -0
- package/dist/bootstrap-F4SDJLPK.cjs +1 -0
- package/dist/{bowser-FI5JQGKZ.js → bowser-SB3ZUPO4.js} +1 -1
- package/dist/chokidar-5RVQZVHP.cjs +5 -0
- package/dist/chokidar-BOYGRT4Q.js +6 -0
- package/dist/{chunk-DS5DE5BU.js → chunk-24L3UEJJ.js} +1 -1
- package/dist/{chunk-HT44I66C.js → chunk-2HA6EKXX.js} +1 -1
- package/dist/{chunk-7AQSH3KR.js → chunk-3NSZZCOJ.js} +1 -1
- package/dist/{chunk-VIUU4D5I.js → chunk-47CXBWMA.js} +1 -1
- package/dist/{chunk-6MSS5X77.js → chunk-5M3FKE2V.js} +1 -1
- package/dist/chunk-63BSQ3FK.cjs +1 -0
- package/dist/chunk-6TPICJ2L.js +7 -0
- package/dist/{chunk-K7YNEKVE.js → chunk-7FXEXHK6.js} +1 -1
- package/dist/{chunk-WSP7PSXC.js → chunk-7MNDQU6K.js} +1 -1
- package/dist/{chunk-7V67ONUD.js → chunk-7N7U2ERH.js} +1 -1
- package/dist/{chunk-BPMA2ECA.js → chunk-7NH7H3WA.js} +1 -1
- package/dist/{chunk-ZJE3VAAW.js → chunk-BU6O3TP7.js} +3 -3
- package/dist/{chunk-W46LZ4MY.js → chunk-C7QCZX7X.js} +1 -1
- package/dist/chunk-CFZVJTXW.cjs +264 -0
- package/dist/{chunk-2WFTETFB.js → chunk-CIVA6SKW.js} +1 -1
- package/dist/chunk-EFGOYI57.js +265 -0
- package/dist/{chunk-2BUODBE2.js → chunk-EML5FDUU.js} +1 -1
- package/dist/{chunk-66BJXVFJ.js → chunk-FLMUMPDE.js} +1 -1
- package/dist/{chunk-QYI3GOHF.cjs → chunk-HKNQVI76.cjs} +1 -1
- package/dist/{chunk-IP6JUEH3.js → chunk-HRAY65XH.js} +1 -1
- package/dist/{chunk-KH7LM52S.js → chunk-IKGVPXMK.js} +1 -1
- package/dist/{chunk-M2QRXAWT.js → chunk-JR6IOJO7.js} +2 -2
- package/dist/{chunk-XOACKBG7.js → chunk-JRUQ5ABB.js} +2 -2
- package/dist/{chunk-OMWQVPV7.js → chunk-JV4HJBXW.js} +1 -1
- package/dist/{chunk-X54XZACS.cjs → chunk-KZHXYXSH.cjs} +2 -2
- package/dist/{chunk-UD6ZPO7T.js → chunk-L2QXP26Q.js} +1 -1
- package/dist/{chunk-ORG67NXX.js → chunk-L3Q64RUX.js} +1 -1
- package/dist/chunk-LELK3TYX.js +3 -0
- package/dist/chunk-LGYBTBWE.js +2 -0
- package/dist/{chunk-7I6URA6F.js → chunk-LVBHOZZF.js} +1 -1
- package/dist/{chunk-R3NEPC4I.js → chunk-LWM4WABU.js} +1 -1
- package/dist/{chunk-TR3ZS3T3.js → chunk-M75VGFCI.js} +1 -1
- package/dist/chunk-MCIZG4A3.cjs +1 -0
- package/dist/{chunk-VBPAAQEF.js → chunk-N5POANYV.js} +1 -1
- package/dist/chunk-O4YE57OS.cjs +6 -0
- package/dist/{chunk-A73AVVFR.js → chunk-OBYAIJVU.js} +1 -1
- package/dist/chunk-OLRCZ6E3.js +2 -0
- package/dist/{chunk-WGESLAWV.js → chunk-OXGJOYEO.js} +1 -1
- package/dist/{chunk-CGPAS4U5.js → chunk-P6JITOFF.js} +1 -1
- package/dist/{chunk-JUJZOG6P.js → chunk-PA4ZZREG.js} +1 -1
- package/dist/{chunk-45TJAB5X.js → chunk-PENOCINR.js} +3 -3
- package/dist/{chunk-MZOWPV4D.js → chunk-PRMILS4Y.js} +1 -1
- package/dist/chunk-QDBGBDCT.js +2 -0
- package/dist/{chunk-XBH4YMC7.js → chunk-R25WLKX4.js} +1 -1
- package/dist/{chunk-J6U5LWZ7.js → chunk-RPRGGGIW.js} +3 -3
- package/dist/{chunk-E27KEZPT.js → chunk-RTHJ6SS5.js} +1 -1
- package/dist/{chunk-MCZ3YZ2L.js → chunk-SLMIYECU.js} +1 -1
- package/dist/{chunk-IPXOY4RI.js → chunk-SQBTIMWF.js} +1 -1
- package/dist/{chunk-VJ2WMKPK.js → chunk-SZT6BLUR.js} +1 -1
- package/dist/{chunk-6KRR7YHA.js → chunk-TBHNE4VV.js} +1 -1
- package/dist/{chunk-OSAVAYJZ.js → chunk-TYQYKKWJ.js} +1 -1
- package/dist/{chunk-ICVQWR2A.js → chunk-U6KFONKM.js} +1 -1
- package/dist/chunk-UT7RGIYS.js +2 -0
- package/dist/{chunk-PBOZJOKN.js → chunk-UWHWSWDE.js} +1 -1
- package/dist/chunk-VVVCCB6R.js +2 -0
- package/dist/{chunk-MY42EWZP.js → chunk-W45TLOOT.js} +1 -1
- package/dist/{chunk-FAAAHE5O.cjs → chunk-WC7H45ZG.cjs} +3 -3
- package/dist/chunk-WJBQ2NBD.cjs +1 -0
- package/dist/{chunk-ATBH763U.js → chunk-WPM6LFCY.js} +1 -1
- package/dist/chunk-XBQ6HV3T.cjs +114 -0
- package/dist/{chunk-C2PXMVR5.js → chunk-Y2YAKDEQ.js} +1 -1
- package/dist/chunk-YENNL5HG.js +2 -0
- package/dist/{chunk-SYEP5QLG.js → chunk-YUUXFD73.js} +1 -1
- package/dist/{chunk-NWCREF47.js → chunk-YZEMLLD2.js} +1 -1
- package/dist/chunk-ZKHTFR5S.cjs +2 -0
- package/dist/{chunk-7T35572E.js → chunk-ZMG7Z3KF.js} +1 -1
- package/dist/{chunk-HLAEJB5R.js → chunk-ZRIBWDYJ.js} +1 -1
- package/dist/chunk-ZWDBPEXL.js +115 -0
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/client.js +1 -1
- package/dist/{d1-VPH75GI2.js → d1-HPB6B253.js} +1 -1
- package/dist/{dist-es-6TQTDPE7.js → dist-es-64F22JL2.js} +2 -2
- package/dist/{dist-es-XZBHIIKY.js → dist-es-F2ZR55UK.js} +2 -2
- package/dist/dist-es-IPSSZNFP.js +1 -0
- package/dist/{dist-es-SJ76GYCI.js → dist-es-M2F7M27Y.js} +1 -1
- package/dist/{dist-es-U4ZB3ZDA.js → dist-es-M66JKZF5.js} +1 -1
- package/dist/{dist-es-MNIQZC4U.js → dist-es-OKLLRYI3.js} +2 -2
- package/dist/{dist-es-TX4DBXEW.js → dist-es-SVHZDVUF.js} +2 -2
- package/dist/{dist-es-EMUQ6ZNZ.js → dist-es-WFI55HKT.js} +1 -1
- package/dist/drizzle/index.cjs +1 -1
- package/dist/drizzle/index.d.cts +1 -0
- package/dist/drizzle/index.d.ts +1 -0
- package/dist/drizzle/index.js +1 -1
- package/dist/drizzle-orm-XRTSOQJS.js +1 -0
- package/dist/event-streams-7NAWZW2I.js +1 -0
- package/dist/fields/index.js +1 -1
- package/dist/fs-KWBRQ6T6.js +1 -0
- package/dist/fs-ZQYOJOIO.cjs +1 -0
- package/dist/graphql/index.js +1 -1
- package/dist/index.cjs +9 -9
- package/dist/index.js +10 -10
- package/dist/integration.js +1 -1
- package/dist/{jsonwebtoken-S7BG2YWK.js → jsonwebtoken-OD67R5JS.js} +3 -3
- package/dist/{lib-IYW32OER.js → lib-XXYYUPMW.js} +3 -3
- package/dist/{loadSso-YTG2GQGW.js → loadSso-UQR6545M.js} +1 -1
- package/dist/local-3V3XEQUY.js +1 -0
- package/dist/media-E762GEHL.js +1 -0
- package/dist/mongo-auth-adapter-QDXVHREJ.js +1 -0
- package/dist/{mongo-auth-adapter-7K64Y2QM.cjs → mongo-auth-adapter-W3HLB7OR.cjs} +1 -1
- package/dist/mongodb/index.cjs +1 -1
- package/dist/mongodb/index.js +1 -1
- package/dist/{nodemailer-AXROO37D.js → nodemailer-NITB45SS.js} +3 -3
- package/dist/postgres-auth-adapter-SK3N3OSS.js +1 -0
- package/dist/postgres-auth-adapter-ZO6HK5AK.cjs +1 -0
- package/dist/postgres-js-3Y54EXVQ.cjs +1 -1
- package/dist/postgres-js-4CI7FMYS.js +1 -0
- package/dist/redis-adapter-QPCTMF55.js +1 -0
- package/dist/rest/index.cjs +1 -1
- package/dist/rest/index.js +1 -1
- package/dist/schema-YFMSJK2P.js +2 -0
- package/dist/{signin-KZBIAHGS.js → signin-N3T2KF5Q.js} +1 -1
- package/dist/sqlite-adapter-4TPNROJK.js +1 -0
- package/dist/src-QBADSZV4.js +1 -0
- package/dist/{sso-oidc-SX5OIQGG.js → sso-oidc-UB7G4END.js} +1 -1
- package/dist/{sts-HVGDJYIF.js → sts-WAA6I22C.js} +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/trpc/index.js +1 -1
- package/dist/ws/index.js +1 -1
- package/package.json +2 -2
- package/dist/bcryptjs-AZA6WEN2.js +0 -2
- package/dist/bootstrap-7CI3NVSY.js +0 -1
- package/dist/bootstrap-DOOM2CNQ.cjs +0 -1
- package/dist/chokidar-24HVS6XD.cjs +0 -5
- package/dist/chokidar-43DT7CVN.js +0 -6
- package/dist/chunk-5DWYVUQR.cjs +0 -1
- package/dist/chunk-6QWLXJ7L.js +0 -2
- package/dist/chunk-B3GDQ7UI.cjs +0 -114
- package/dist/chunk-BLH2MRK4.js +0 -2
- package/dist/chunk-EOOZDOL7.js +0 -3
- package/dist/chunk-IIOVJTCD.cjs +0 -1
- package/dist/chunk-L4ZAI2XB.cjs +0 -269
- package/dist/chunk-PL5AIE6F.js +0 -2
- package/dist/chunk-QDHP5E4P.cjs +0 -2
- package/dist/chunk-R2CLQMNJ.js +0 -270
- package/dist/chunk-R4LXRAMX.js +0 -2
- package/dist/chunk-SVYUTQVE.js +0 -115
- package/dist/chunk-UB5TJHQR.js +0 -2
- package/dist/chunk-XPPVX4GQ.cjs +0 -1
- package/dist/chunk-XRINX47D.js +0 -2
- package/dist/dist-es-6SVFVYN3.js +0 -1
- package/dist/drizzle-orm-7YTX5NTT.js +0 -1
- package/dist/event-streams-25YJ2Z6R.js +0 -1
- package/dist/fs-DGKZLRM6.cjs +0 -1
- package/dist/fs-YZJ5FM6J.js +0 -2
- package/dist/local-VDCSEMC2.js +0 -1
- package/dist/media-HK2IZMUZ.js +0 -1
- package/dist/mongo-auth-adapter-BUKINEZL.js +0 -1
- package/dist/postgres-auth-adapter-2M4RNEY3.cjs +0 -1
- package/dist/postgres-auth-adapter-MKSHIJDL.js +0 -1
- package/dist/postgres-js-INQPBHJP.js +0 -1
- package/dist/redis-adapter-SXOXLHNH.js +0 -1
- package/dist/schema-XC5ISGNR.js +0 -2
- package/dist/sqlite-adapter-DV7ZX2EJ.js +0 -1
- package/dist/src-GZRZ4VAO.js +0 -1
- /package/dist/{chunk-P7XYIKL6.cjs → chunk-YUER4JU3.cjs} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
g$1();g$1();g$1();g$1();g$1();var v=(e,t,r$1)=>{let o={EcsContainer:async i=>{let{fromHttp:c}=await import('./dist-es-
|
|
1
|
+
import {b as b$1}from'./chunk-OBYAIJVU.js';import {A as A$1,v as v$1,p,r}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g as g$1}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
|
+
g$1();g$1();g$1();g$1();g$1();var v=(e,t,r$1)=>{let o={EcsContainer:async i=>{let{fromHttp:c}=await import('./dist-es-M66JKZF5.js'),{fromContainerMetadata:n}=await import('./dist-es-WFI55HKT.js');return r$1?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"),async()=>r(c(i??{}),n(i))().then(C)},Ec2InstanceMetadata:async i=>{r$1?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");let{fromInstanceMetadata:c}=await import('./dist-es-WFI55HKT.js');return async()=>c(i)().then(C)},Environment:async i=>{r$1?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");let{fromEnv:c}=await import('./dist-es-IPSSZNFP.js');return async()=>c(i)().then(C)}};if(e in o)return o[e];throw new p(`Unsupported credential source in profile ${t}. Got ${e}, expected EcsContainer or Ec2InstanceMetadata or Environment.`,{logger:r$1})},C=e=>b$1(e,"CREDENTIALS_PROFILE_NAMED_PROVIDER","p");var R=(e,{profile:t="default",logger:r}={})=>!!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&&(N(e,{profile:t,logger:r})||j(e,{profile:t,logger:r})),N=(e,{profile:t,logger:r})=>{let o=typeof e.source_profile=="string"&&typeof e.credential_source>"u";return o&&r?.debug?.(` ${t} isAssumeRoleWithSourceProfile source_profile=${e.source_profile}`),o},j=(e,{profile:t,logger:r})=>{let o=typeof e.credential_source=="string"&&typeof e.source_profile>"u";return o&&r?.debug?.(` ${t} isCredentialSourceProfile credential_source=${e.credential_source}`),o},A=async(e,t,r,o,i={},c)=>{r.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");let n=t[e],{source_profile:f,region:T}=n;if(!r.roleAssumer){let{getDefaultRoleAssumer:u}=await import('./sts-WAA6I22C.js');r.roleAssumer=u({...r.clientConfig,credentialProviderLogger:r.logger,parentClientConfig:{...o,...r?.parentClientConfig,region:T??r?.parentClientConfig?.region??o?.region}},r.clientPlugins);}if(f&&f in i)throw new p(`Detected a cycle attempting to resolve credentials for profile ${v$1(r)}. Profiles visited: `+Object.keys(i).join(", "),{logger:r.logger});r.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${f?`source_profile=[${f}]`:`profile=[${e}]`}`);let E=f?c(f,t,r,o,{...i,[f]:true},I(t[f]??{})):(await v(n.credential_source,e,r.logger)(r))();if(I(n))return E.then(u=>b$1(u,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"));{let u={RoleArn:n.role_arn,RoleSessionName:n.role_session_name||`aws-sdk-js-${Date.now()}`,ExternalId:n.external_id,DurationSeconds:parseInt(n.duration_seconds||"3600",10)},{mfa_serial:p$1}=n;if(p$1){if(!r.mfaCodeProvider)throw new p(`Profile ${e} requires multi-factor authentication, but no MFA code callback was provided.`,{logger:r.logger,tryNextLink:false});u.SerialNumber=p$1,u.TokenCode=await r.mfaCodeProvider(p$1);}let $=await E;return r.roleAssumer($,u).then(W=>b$1(W,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"))}},I=e=>!e.role_arn&&!!e.credential_source;g$1();var L=e=>!!(e&&e.login_session),O=async(e,t,r)=>{let{fromLoginCredentials:o}=await import('./dist-es-SVHZDVUF.js'),i=await o({...t,profile:e})({callerClientConfig:r});return b$1(i,"CREDENTIALS_PROFILE_LOGIN","AC")};g$1();var b=e=>!!e&&typeof e=="object"&&typeof e.credential_process=="string",x=async(e,t)=>{let{fromProcess:r}=await import('./dist-es-M2F7M27Y.js'),o=await r({...e,profile:t})();return b$1(o,"CREDENTIALS_PROFILE_PROCESS","v")};g$1();var k=async(e,t,r={},o)=>{let{fromSSO:i}=await import('./dist-es-F2ZR55UK.js');return i({profile:e,logger:r.logger,parentClientConfig:r.parentClientConfig,clientConfig:r.clientConfig})({callerClientConfig:o}).then(c=>t.sso_session?b$1(c,"CREDENTIALS_PROFILE_SSO","r"):b$1(c,"CREDENTIALS_PROFILE_SSO_LEGACY","t"))},F=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");g$1();var y=e=>!!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,g=async(e,t)=>{t?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");let r={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 b$1(r,"CREDENTIALS_PROFILE","n")};g$1();var h=e=>!!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,D=async(e,t,r)=>{let{fromTokenFile:o}=await import('./dist-es-OKLLRYI3.js'),i=await o({webIdentityTokenFile:e.web_identity_token_file,roleArn:e.role_arn,roleSessionName:e.role_session_name,roleAssumerWithWebIdentity:t.roleAssumerWithWebIdentity,logger:t.logger,parentClientConfig:t.parentClientConfig})({callerClientConfig:r});return b$1(i,"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN","q")};var w=async(e,t,r,o,i={},c=false)=>{let n=t[e];if(Object.keys(i).length>0&&y(n))return g(n,r);if(c||R(n,{profile:e,logger:r.logger}))return A(e,t,r,o,i,w);if(y(n))return g(n,r);if(h(n))return D(n,r,o);if(b(n))return x(r,e);if(F(n))return await k(e,n,r,o);if(L(n))return O(e,r,o);throw new p(`Could not resolve credentials using profile: [${e}] in configuration/credentials file(s).`,{logger:r.logger})};var M=(e={})=>async({callerClientConfig:t}={})=>{e.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");let r=await A$1(e);return w(v$1({profile:e.profile??t?.profile}),r,e,t)};export{M as fromIni};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
g();g();g();var F=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");g();g();g();g();var T="To refresh this SSO session run 'aws sso login' with the corresponding profile.";g();g();var z=async(e,s={},t)=>{let{SSOOIDCClient:n}=await import('./sso-oidc-
|
|
1
|
+
import {b as b$1}from'./chunk-OBYAIJVU.js';import {p,v,A,z as z$1,x,q,w}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import {promises}from'fs';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
|
+
g();g();g();var F=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");g();g();g();g();var T="To refresh this SSO session run 'aws sso login' with the corresponding profile.";g();g();var z=async(e,s={},t)=>{let{SSOOIDCClient:n}=await import('./sso-oidc-UB7G4END.js'),i=p=>s.clientConfig?.[p]??s.parentClientConfig?.[p]??t?.[p];return new n(Object.assign({},s.clientConfig??{},{region:e??s.clientConfig?.region,logger:i("logger"),userAgentAppId:i("userAgentAppId")}))};var J=async(e,s,t={},n)=>{let{CreateTokenCommand:i}=await import('./sso-oidc-UB7G4END.js');return (await z(s,t,n)).send(new i({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))};g();var $=e=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new q(`Token is expired. ${T}`,false)};g();var h=(e,s,t=false)=>{if(typeof s>"u")throw new q(`Value not present for '${e}' in SSO Token${t?". Cannot refresh":""}. ${T}`,false)};g();var{writeFile:Z}=promises,V=(e,s)=>{let t=w(e),n=JSON.stringify(s,null,2);return Z(t,n)};var Y=new Date(0),L=(e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");let t=await A(e),n=v({profile:e.profile??s?.profile}),i=t[n];if(i){if(!i.sso_session)throw new q(`Profile '${n}' is missing required property 'sso_session'.`)}else throw new q(`Profile '${n}' could not be found in shared credentials file.`,false);let l=i.sso_session,d=(await z$1(e))[l];if(!d)throw new q(`Sso session '${l}' could not be found in shared credentials file.`,false);for(let a of ["sso_start_url","sso_region"])if(!d[a])throw new q(`Sso session '${l}' is missing required property '${a}'.`,false);d.sso_start_url;let y=d.sso_region,r;try{r=await x(l);}catch{throw new q(`The SSO session token associated with profile=${n} was not found or is invalid. ${T}`,false)}h("accessToken",r.accessToken),h("expiresAt",r.expiresAt);let{accessToken:x$1,expiresAt:C}=r,c={token:x$1,expiration:new Date(C)};if(c.expiration.getTime()-Date.now()>3e5)return c;if(Date.now()-Y.getTime()<30*1e3)return $(c),c;h("clientId",r.clientId,true),h("clientSecret",r.clientSecret,true),h("refreshToken",r.refreshToken,true);try{Y.setTime(Date.now());let a=await J(r,y,e,s);h("accessToken",a.accessToken),h("expiresIn",a.expiresIn);let u=new Date(Date.now()+a.expiresIn*1e3);try{await V(l,{...r,accessToken:a.accessToken,expiresAt:u.toISOString(),refreshToken:a.refreshToken});}catch{}return {token:a.accessToken,expiration:u}}catch{return $(c),c}};var O=false,M=async({ssoStartUrl:e,ssoSession:s,ssoAccountId:t,ssoRegion:n,ssoRoleName:i,ssoClient:l,clientConfig:p$1,parentClientConfig:d,callerClientConfig:m,profile:y,filepath:r,configFilepath:x$1,ignoreCache:C,logger:c})=>{let a,u="To refresh this SSO session run aws sso login with the corresponding profile.";if(s)try{let _=await L({profile:y,filepath:r,configFilepath:x$1,ignoreCache:C,clientConfig:p$1,parentClientConfig:d,logger:c})({callerClientConfig:m});a={accessToken:_.token,expiresAt:new Date(_.expiration).toISOString()};}catch(_){throw new p(_.message,{tryNextLink:O,logger:c})}else try{a=await x(e);}catch{throw new p(`The SSO session associated with this profile is invalid. ${u}`,{tryNextLink:O,logger:c})}if(new Date(a.expiresAt).getTime()-Date.now()<=0)throw new p(`The SSO session associated with this profile has expired. ${u}`,{tryNextLink:O,logger:c});let{accessToken:v}=a,{SSOClient:k,GetRoleCredentialsCommand:E}=await import('./loadSso-UQR6545M.js'),B=l||new k(Object.assign({},p$1??{},{logger:p$1?.logger??m?.logger??d?.logger,region:p$1?.region??n,userAgentAppId:p$1?.userAgentAppId??m?.userAgentAppId??d?.userAgentAppId})),G;try{G=await B.send(new E({accountId:t,roleName:i,accessToken:v}));}catch(_){throw new p(_,{tryNextLink:O,logger:c})}let{roleCredentials:{accessKeyId:K,secretAccessKey:H,sessionToken:U,expiration:j,credentialScope:q,accountId:W}={}}=G;if(!K||!H||!U||!j)throw new p("SSO returns an invalid temporary credential.",{tryNextLink:O,logger:c});let P={accessKeyId:K,secretAccessKey:H,sessionToken:U,expiration:new Date(j),...q&&{credentialScope:q},...W&&{accountId:W}};return s?b$1(P,"CREDENTIALS_SSO","s"):b$1(P,"CREDENTIALS_SSO_LEGACY","u"),P};g();var b=(e,s)=>{let{sso_start_url:t,sso_account_id:n,sso_region:i,sso_role_name:l}=e;if(!t||!n||!i||!l)throw new p(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}
|
|
3
3
|
Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:false,logger:s});return e};var oe=(e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");let{ssoStartUrl:t,ssoAccountId:n,ssoRegion:i,ssoRoleName:l,ssoSession:p$1}=e,{ssoClient:d}=e,m=v({profile:e.profile??s?.profile});if(!t&&!n&&!i&&!l&&!p$1){let r=(await A(e))[m];if(!r)throw new p(`Profile ${m} was not found.`,{logger:e.logger});if(!F(r))throw new p(`Profile ${m} is not configured with SSO credentials.`,{logger:e.logger});if(r?.sso_session){let k=(await z$1(e))[r.sso_session],E=` configurations in profile ${m} and sso-session ${r.sso_session}`;if(i&&i!==k.sso_region)throw new p("Conflicting SSO region"+E,{tryNextLink:false,logger:e.logger});if(t&&t!==k.sso_start_url)throw new p("Conflicting SSO start_url"+E,{tryNextLink:false,logger:e.logger});r.sso_region=k.sso_region,r.sso_start_url=k.sso_start_url;}let{sso_start_url:x,sso_account_id:C,sso_region:c,sso_role_name:a,sso_session:u}=b(r,e.logger);return M({ssoStartUrl:x,ssoSession:u,ssoAccountId:C,ssoRegion:c,ssoRoleName:a,ssoClient:d,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:m,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})}else {if(!t||!n||!i||!l)throw new p('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:false,logger:e.logger});return M({ssoStartUrl:t,ssoSession:p$1,ssoAccountId:n,ssoRegion:i,ssoRoleName:l,ssoClient:d,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:m,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})}};
|
|
4
4
|
export{oe as fromSSO,F as isSsoProfile,b as validateSsoProfile};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{f as ENV_ACCOUNT_ID,e as ENV_CREDENTIAL_SCOPE,d as ENV_EXPIRATION,a as ENV_KEY,b as ENV_SECRET,c as ENV_SESSION,g as fromEnv}from'./chunk-W45TLOOT.js';import'./chunk-OBYAIJVU.js';import'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {b}from'./chunk-OBYAIJVU.js';import {A,v,B,p}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import {exec}from'child_process';import {promisify}from'util';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
2
|
g();g();g();g();var m=(r,e,o)=>{if(e.Version!==1)throw Error(`Profile ${r} credential_process did not return Version 1.`);if(e.AccessKeyId===void 0||e.SecretAccessKey===void 0)throw Error(`Profile ${r} credential_process returned invalid credentials.`);if(e.Expiration){let d=new Date;if(new Date(e.Expiration)<d)throw Error(`Profile ${r} credential_process returned expired credentials.`)}let t=e.AccountId;!t&&o?.[r]?.aws_account_id&&(t=o[r].aws_account_id);let n={accessKeyId:e.AccessKeyId,secretAccessKey:e.SecretAccessKey,...e.SessionToken&&{sessionToken:e.SessionToken},...e.Expiration&&{expiration:new Date(e.Expiration)},...e.CredentialScope&&{credentialScope:e.CredentialScope},...t&&{accountId:t}};return b(n,"CREDENTIALS_PROCESS","w"),n};var x=async(r,e,o)=>{let t=e[r];if(e[r]){let n=t.credential_process;if(n!==void 0){let d=promisify(B?.getTokenRecord?.().exec??exec);try{let{stdout:c}=await d(n),p;try{p=JSON.parse(c.trim());}catch{throw Error(`Profile ${r} credential_process returned invalid JSON.`)}return m(r,p,e)}catch(c){throw new p(c.message,{logger:o})}}else throw new p(`Profile ${r} did not contain credential_process.`,{logger:o})}else throw new p(`Profile ${r} could not be found in shared credentials file.`,{logger:o})};var y=(r={})=>async({callerClientConfig:e}={})=>{r.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");let o=await A(r);return x(v({profile:r.profile??e?.profile}),o,r.logger)};export{y as fromProcess};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {a}from'./chunk-LVBHOZZF.js';import {b}from'./chunk-OBYAIJVU.js';import {p,e}from'./chunk-JRUQ5ABB.js';import {A,g as g$1}from'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import U from'fs/promises';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
2
|
g();g();g();var y="169.254.170.2",v="169.254.170.23",L="[fd00:ec2::23]",u=(e,o)=>{if(e.protocol!=="https:"&&!(e.hostname===y||e.hostname===v||e.hostname===L)){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 n=e.hostname.split("."),r=t=>{let i=parseInt(t,10);return 0<=i&&i<=255};if(n[0]==="127"&&r(n[1])&&r(n[2])&&r(n[3])&&n.length===4)return}throw new p(`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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
g();g();g();var c=e=>async s=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");let{roleArn:o,roleSessionName:n,webIdentityToken:i,providerId:t,policyArns:p,policy:_,durationSeconds:S}=e,{roleAssumerWithWebIdentity:l}=e;if(!l){let{getDefaultRoleAssumerWithWebIdentity:T}=await import('./sts-
|
|
1
|
+
import {b}from'./chunk-OBYAIJVU.js';import {p,B}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import {readFileSync}from'fs';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
|
+
g();g();g();var c=e=>async s=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");let{roleArn:o,roleSessionName:n,webIdentityToken:i,providerId:t,policyArns:p,policy:_,durationSeconds:S}=e,{roleAssumerWithWebIdentity:l}=e;if(!l){let{getDefaultRoleAssumerWithWebIdentity:T}=await import('./sts-WAA6I22C.js');l=T({...e.clientConfig,credentialProviderLogger:e.logger,parentClientConfig:{...s?.callerClientConfig,...e.parentClientConfig}},e.clientPlugins);}return l({RoleArn:o,RoleSessionName:n??`aws-sdk-js-session-${Date.now()}`,WebIdentityToken:i,ProviderId:t,PolicyArns:p,Policy:_,DurationSeconds:S})};var E="AWS_WEB_IDENTITY_TOKEN_FILE",I="AWS_ROLE_ARN",y="AWS_ROLE_SESSION_NAME",A=(e={})=>async s=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");let o=e?.webIdentityTokenFile??process.env[E],n=e?.roleArn??process.env[I],i=e?.roleSessionName??process.env[y];if(!o||!n)throw new p("Web identity configuration not specified",{logger:e.logger});let t=await c({...e,webIdentityToken:B?.getTokenRecord?.()[o]??readFileSync(o,{encoding:"ascii"}),roleArn:n,roleSessionName:i})(s);return o===process.env[E]&&b(t,"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN","h"),t};export{A as fromTokenFile,c as fromWebToken};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
g();g();g();var k=class g{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300*1e3;constructor(r,e,o){this.profileData=r,this.init=e,this.callerClientConfig=o;}async loadCredentials(){let r=await this.loadToken();if(!r)throw new p(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:false,logger:this.logger});let e=r.accessToken,o=Date.now();return new Date(e.expiresAt).getTime()-o<=g.REFRESH_THRESHOLD?this.refresh(r):{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}async refresh(r){let{SigninClient:e,CreateOAuth2TokenCommand:o}=await import('./signin-
|
|
1
|
+
import {b}from'./chunk-OBYAIJVU.js';import {A,v,p,y,e}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import {createHash,createPrivateKey,createPublicKey,sign}from'crypto';import {promises}from'fs';import {homedir}from'os';import {dirname,join}from'path';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
|
+
g();g();g();var k=class g{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300*1e3;constructor(r,e,o){this.profileData=r,this.init=e,this.callerClientConfig=o;}async loadCredentials(){let r=await this.loadToken();if(!r)throw new p(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:false,logger:this.logger});let e=r.accessToken,o=Date.now();return new Date(e.expiresAt).getTime()-o<=g.REFRESH_THRESHOLD?this.refresh(r):{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}async refresh(r){let{SigninClient:e,CreateOAuth2TokenCommand:o}=await import('./signin-N3T2KF5Q.js'),{logger:t,userAgentAppId:i}=this.callerClientConfig??{},l=(n=>n?.metadata?.handlerProtocol==="h2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,p$1=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,y=new e({credentials:{accessKeyId:"",secretAccessKey:""},region:p$1,requestHandler:l,logger:t,userAgentAppId:i,...this.init?.clientConfig});this.createDPoPInterceptor(y.middlewareStack);let T={tokenInput:{clientId:r.clientId,refreshToken:r.refreshToken,grantType:"refresh_token"}};try{let n=await y.send(new o(T)),{accessKeyId:d,secretAccessKey:a,sessionToken:u}=n.tokenOutput?.accessToken??{},{refreshToken:m,expiresIn:C}=n.tokenOutput??{};if(!d||!a||!u||!m)throw new p("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let I=(C??900)*1e3,f=new Date(Date.now()+I),E={...r,accessToken:{...r.accessToken,accessKeyId:d,secretAccessKey:a,sessionToken:u,expiresAt:f.toISOString()},refreshToken:m};await this.saveToken(E);let w=E.accessToken;return {accessKeyId:w.accessKeyId,secretAccessKey:w.secretAccessKey,sessionToken:w.sessionToken,accountId:w.accountId,expiration:f}}catch(n){if(n.name==="AccessDeniedException"){let d=n.error,a;switch(d){case "TOKEN_EXPIRED":a="Your session has expired. Please reauthenticate.";break;case "USER_CREDENTIALS_CHANGED":a="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case "INSUFFICIENT_PERMISSIONS":a="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:a=`Failed to refresh token: ${String(n)}. Please re-authenticate using \`aws login\``;}throw new p(a,{logger:this.logger,tryNextLink:false})}throw new p(`Failed to refresh token: ${String(n)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let r=this.getTokenFilePath();try{let e;try{e=await y(r,{ignoreCache:this.init?.ignoreCache});}catch{e=await promises.readFile(r,"utf8");}let o=JSON.parse(e),t=["accessToken","clientId","refreshToken","dpopKey"].filter(i=>!o[i]);if(o.accessToken?.accountId||t.push("accountId"),t.length>0)throw new p(`Token validation failed, missing fields: ${t.join(", ")}`,{logger:this.logger,tryNextLink:!1});return o}catch(e){throw new p(`Failed to load token from ${r}: ${String(e)}`,{logger:this.logger,tryNextLink:false})}}async saveToken(r){let e=this.getTokenFilePath(),o=dirname(e);try{await promises.mkdir(o,{recursive:!0});}catch{}await promises.writeFile(e,JSON.stringify(r,null,2),"utf8");}getTokenFilePath(){let r=process.env.AWS_LOGIN_CACHE_DIRECTORY??join(homedir(),".aws","login","cache"),e=Buffer.from(this.loginSession,"utf8"),o=createHash("sha256").update(e).digest("hex");return join(r,`${o}.json`)}derToRawSignature(r){let e=2;if(r[e]!==2)throw new Error("Invalid DER signature");e++;let o=r[e++],t=r.subarray(e,e+o);if(e+=o,r[e]!==2)throw new Error("Invalid DER signature");e++;let i=r[e++],s=r.subarray(e,e+i);t=t[0]===0?t.subarray(1):t,s=s[0]===0?s.subarray(1):s;let l=Buffer.concat([Buffer.alloc(32-t.length),t]),p=Buffer.concat([Buffer.alloc(32-s.length),s]);return Buffer.concat([l,p])}createDPoPInterceptor(r){r.add(e$1=>async o=>{if(e.isInstance(o.request)){let t=o.request,i=`${t.protocol}//${t.hostname}${t.port?`:${t.port}`:""}${t.path}`,s=await this.generateDpop(t.method,i);t.headers={...t.headers,DPoP:s};}return e$1(o)},{step:"finalizeRequest",name:"dpopInterceptor",override:true});}async generateDpop(r="POST",e){let o=await this.loadToken();try{let t=createPrivateKey({key:o.dpopKey,format:"pem",type:"sec1"}),s=createPublicKey(t).export({format:"der",type:"spki"}),l=-1;for(let f=0;f<s.length;f++)if(s[f]===4){l=f;break}let p=s.slice(l+1,l+33),y=s.slice(l+33,l+65),T={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:p.toString("base64url"),y:y.toString("base64url")}},n={jti:crypto.randomUUID(),htm:r,htu:e,iat:Math.floor(Date.now()/1e3)},d=Buffer.from(JSON.stringify(T)).toString("base64url"),a=Buffer.from(JSON.stringify(n)).toString("base64url"),u=`${d}.${a}`,m=sign("sha256",Buffer.from(u),t),I=this.derToRawSignature(m).toString("base64url");return `${u}.${I}`}catch(t){throw new p(`Failed to generate Dpop proof: ${t instanceof Error?t.message:String(t)}`,{logger:this.logger,tryNextLink:false})}}};var _=g=>async({callerClientConfig:r}={})=>{g?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let e=await A(g||{}),o=v({profile:g?.profile??r?.profile}),t=e[o];if(!t?.login_session)throw new p(`Profile ${o} does not contain login_session.`,{tryNextLink:true,logger:g?.logger});let s=await new k(t,g,r).loadCredentials();return b(s,"CREDENTIALS_LOGIN","AD")};
|
|
3
3
|
export{_ as fromLoginCredentials};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {o,i,C as C$1,p}from'./chunk-JRUQ5ABB.js';import'./chunk-TYQYKKWJ.js';import {g}from'./chunk-Y2YAKDEQ.js';import F from'http';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
2
2
|
g();g();g();var O=e=>!!e&&typeof e=="object"&&typeof e.AccessKeyId=="string"&&typeof e.SecretAccessKey=="string"&&typeof e.Token=="string"&&typeof e.Expiration=="string",D=e=>({accessKeyId:e.AccessKeyId,secretAccessKey:e.SecretAccessKey,sessionToken:e.Token,expiration:new Date(e.Expiration),...e.AccountId&&{accountId:e.AccountId}});g();var G=1e3,H=0,N=({maxRetries:e=0,timeout:t=1e3})=>({maxRetries:e,timeout:t});g();g();function _(e){return new Promise((t,a)=>{let r=F.request({method:"GET",...e,hostname:e.hostname?.replace(/^\[(.+)\]$/,"$1")});r.on("error",n=>{a(Object.assign(new o("Unable to connect to instance metadata service"),n)),r.destroy();}),r.on("timeout",()=>{a(new o("TimeoutError from instance metadata service")),r.destroy();}),r.on("response",n=>{let{statusCode:d=400}=n;(d<200||300<=d)&&(a(Object.assign(new o("Error response received from instance metadata service"),{statusCode:d})),r.destroy());let I=[];n.on("data",l=>{I.push(l);}),n.on("end",()=>{t(Buffer.concat(I)),r.destroy();});}),r.end();})}g();var v=(e,t)=>{let a=e();for(let r=0;r<t;r++)a=a.catch(e);return a};var C="AWS_CONTAINER_CREDENTIALS_FULL_URI",w="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",x="AWS_CONTAINER_AUTHORIZATION_TOKEN",q=(e={})=>{let{timeout:t,maxRetries:a}=N(e);return ()=>v(async()=>{let r=await z({logger:e.logger}),n=JSON.parse(await j(t,r));if(!O(n))throw new p("Invalid response received from instance metadata service.",{logger:e.logger});return D(n)},a)},j=async(e,t)=>(process.env[x]&&(t.headers={...t.headers,Authorization:process.env[x]}),(await _({...t,timeout:e})).toString()),Y="169.254.170.2",J=new Set(["localhost","127.0.0.1"]),X=new Set(["http:","https:"]),z=async({logger:e})=>{if(process.env[w])return {hostname:Y,path:process.env[w]};if(process.env[C]){let t;try{t=new URL(process.env[C]);}catch{throw new p(`${process.env[C]} is not a valid container metadata service URL`,{tryNextLink:false,logger:e})}if(!t.hostname||!J.has(t.hostname))throw new p(`${t.hostname} is not a valid container metadata service hostname`,{tryNextLink:false,logger:e});if(!t.protocol||!X.has(t.protocol))throw new p(`${t.protocol} is not a valid container metadata service protocol`,{tryNextLink:false,logger:e});return {protocol:t.protocol,hostname:t.hostname,path:t.pathname+t.search,port:t.port?parseInt(t.port,10):void 0}}throw new p(`The container metadata credential provider cannot be used unless the ${w} or ${C} environment variable is set`,{tryNextLink:false,logger:e})};g();g();var M=class e extends p{tryNextLink;name="InstanceMetadataV1FallbackError";constructor(t,a=true){super(t,a),this.tryNextLink=a,Object.setPrototypeOf(this,e.prototype);}};g();g();var A;(function(e){e.IPv4="http://169.254.169.254",e.IPv6="http://[fd00:ec2::254]";})(A||(A={}));g();var Z="AWS_EC2_METADATA_SERVICE_ENDPOINT",Q="ec2_metadata_service_endpoint",b={environmentVariableSelector:e=>e[Z],configFileSelector:e=>e[Q],default:void 0};g();var E;(function(e){e.IPv4="IPv4",e.IPv6="IPv6";})(E||(E={}));g();var ee="AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE",te="ec2_metadata_service_endpoint_mode",V={environmentVariableSelector:e=>e[ee],configFileSelector:e=>e[te],default:E.IPv4};var R=async()=>i(await oe()||await re()),oe=async()=>C$1(b)(),re=async()=>{let e=await C$1(V)();switch(e){case E.IPv4:return A.IPv4;case E.IPv6:return A.IPv6;default:throw new Error(`Unsupported endpoint mode: ${e}. Select from ${Object.values(E)}`)}};g();g();var ne="https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html",y=(e,t)=>{let a=300+Math.floor(Math.random()*300),r=new Date(Date.now()+a*1e3);t.warn(`Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(r)}.
|
|
3
3
|
For more information, please visit: `+ne);let n=e.originalExpiration??e.expiration;return {...e,...n?{originalExpiration:n}:{},expiration:r}};var k=(e,t={})=>{let a=t?.logger||console,r;return async()=>{let n;try{n=await e(),n.expiration&&n.expiration.getTime()<Date.now()&&(n=y(n,a));}catch(d){if(r)a.warn("Credential renew failed: ",d),n=y(r,a);else throw d}return r=n,n}};var K="/latest/meta-data/iam/security-credentials/",ae="/latest/api/token",P="AWS_EC2_METADATA_V1_DISABLED",U="ec2_metadata_v1_disabled",W="x-aws-ec2-metadata-token",se=(e={})=>k(ie(e),{logger:e.logger}),ie=(e={})=>{let t=false,{logger:a,profile:r}=e,{timeout:n,maxRetries:d}=N(e),I=async(l,T)=>{if(t||T.headers?.[W]==null){let p$1=false,m=false,B=await C$1({environmentVariableSelector:f=>{let u=f[P];if(m=!!u&&u!=="false",u===void 0)throw new p(`${P} not set in env, checking config file next.`,{logger:e.logger});return m},configFileSelector:f=>{let u=f[U];return p$1=!!u&&u!=="false",p$1},default:false},{profile:r})();if(e.ec2MetadataV1Disabled||B){let f=[];throw e.ec2MetadataV1Disabled&&f.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"),p$1&&f.push(`config file profile (${U})`),m&&f.push(`process environment variable (${P})`),new M(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${f.join(", ")}].`)}}let $=(await v(async()=>{let p;try{p=await de(T);}catch(m){throw m.statusCode===401&&(t=false),m}return p},l)).trim();return v(async()=>{let p;try{p=await le($,T,e);}catch(m){throw m.statusCode===401&&(t=false),m}return p},l)};return async()=>{let l=await R();if(t)return a?.debug("AWS SDK Instance Metadata","using v1 fallback (no token fetch)"),I(d,{...l,timeout:n});{let T;try{T=(await ce({...l,timeout:n})).toString();}catch(S){if(S?.statusCode===400)throw Object.assign(S,{message:"EC2 Metadata token request returned error"});return (S.message==="TimeoutError"||[403,404,405].includes(S.statusCode))&&(t=true),a?.debug("AWS SDK Instance Metadata","using v1 fallback (initial)"),I(d,{...l,timeout:n})}return I(d,{...l,headers:{[W]:T},timeout:n})}}},ce=async e=>_({...e,path:ae,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}}),de=async e=>(await _({...e,path:K})).toString(),le=async(e,t,a)=>{let r=JSON.parse((await _({...t,path:K+e})).toString());if(!O(r))throw new p("Invalid response received from instance metadata service.",{logger:a.logger});return D(r)};export{H as DEFAULT_MAX_RETRIES,G as DEFAULT_TIMEOUT,x as ENV_CMDS_AUTH_TOKEN,C as ENV_CMDS_FULL_URI,w as ENV_CMDS_RELATIVE_URI,A as Endpoint,q as fromContainerMetadata,se as fromInstanceMetadata,R as getInstanceMetadataEndpoint,_ as httpRequest,N as providerConfigFromInit};
|
package/dist/drizzle/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';require('../chunk-AMGJ5AFH.cjs');var chunk6KUL2BSA_cjs=require('../chunk-6KUL2BSA.cjs')
|
|
1
|
+
'use strict';require('../chunk-AMGJ5AFH.cjs');var chunk6KUL2BSA_cjs=require('../chunk-6KUL2BSA.cjs'),chunkXBQ6HV3T_cjs=require('../chunk-XBQ6HV3T.cjs');require('../chunk-7JWQ2PZP.cjs'),require('../chunk-NGNJSUGL.cjs'),require('../chunk-KCHPADCH.cjs'),require('../chunk-BAVN7VDR.cjs'),require('../chunk-LY7N3UHH.cjs'),require('../chunk-7ACHOBWY.cjs'),require('../chunk-GNOSG3PK.cjs'),require('../chunk-BCEE4NBZ.cjs'),require('../chunk-VRZC4TTF.cjs'),require('../chunk-VQ53TFYA.cjs'),require('../chunk-F4ITQ6XQ.cjs'),require('../chunk-HTYVI2HK.cjs'),require('../chunk-ZOVH6QT5.cjs'),require('../chunk-7WMMKGEO.cjs'),require('../chunk-BUNLC3II.cjs');Object.defineProperty(exports,"DrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.c}});Object.defineProperty(exports,"collectionToDrizzleSchema",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.b}});Object.defineProperty(exports,"createDatabase",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.f}});Object.defineProperty(exports,"createDrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.d}});Object.defineProperty(exports,"fieldToDrizzleType",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.a}});Object.defineProperty(exports,"runMigrations",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.g}});Object.defineProperty(exports,"seedDefaultRoles",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.h}});Object.defineProperty(exports,"PostgresAuthAdapter",{enumerable:true,get:function(){return chunkXBQ6HV3T_cjs.a}});
|
package/dist/drizzle/index.d.cts
CHANGED
|
@@ -91,6 +91,7 @@ declare class PostgresAuthAdapter implements AuthAdapter {
|
|
|
91
91
|
role?: UserRole;
|
|
92
92
|
avatar?: string;
|
|
93
93
|
tenantId?: string;
|
|
94
|
+
emailVerified?: boolean;
|
|
94
95
|
}): Promise<AuthUser>;
|
|
95
96
|
findUserByEmail(email: string): Promise<AuthUser | null>;
|
|
96
97
|
findUserById(id: string): Promise<AuthUser | null>;
|
package/dist/drizzle/index.d.ts
CHANGED
|
@@ -91,6 +91,7 @@ declare class PostgresAuthAdapter implements AuthAdapter {
|
|
|
91
91
|
role?: UserRole;
|
|
92
92
|
avatar?: string;
|
|
93
93
|
tenantId?: string;
|
|
94
|
+
emailVerified?: boolean;
|
|
94
95
|
}): Promise<AuthUser>;
|
|
95
96
|
findUserByEmail(email: string): Promise<AuthUser | null>;
|
|
96
97
|
findUserById(id: string): Promise<AuthUser | null>;
|
package/dist/drizzle/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import'../chunk-QDBGBDCT.js';export{c as DrizzleAdapter,b as collectionToDrizzleSchema,f as createDatabase,d as createDrizzleAdapter,a as fieldToDrizzleType,g as runMigrations,h as seedDefaultRoles}from'../chunk-BU6O3TP7.js';export{a as PostgresAuthAdapter}from'../chunk-ZWDBPEXL.js';import'../chunk-47CXBWMA.js';import'../chunk-EML5FDUU.js';import'../chunk-OXGJOYEO.js';import'../chunk-FLMUMPDE.js';import'../chunk-2HA6EKXX.js';import'../chunk-JV4HJBXW.js';import'../chunk-N5POANYV.js';import'../chunk-HRAY65XH.js';import'../chunk-3NSZZCOJ.js';import'../chunk-SLMIYECU.js';import'../chunk-P6JITOFF.js';import'../chunk-7NH7H3WA.js';import'../chunk-VVVCCB6R.js';import'../chunk-TBHNE4VV.js';import'../chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{c as avg,d as avgDistinct,l as cosineDistance,a as count,b as countDistinct,m as hammingDistance,k as innerProduct,n as jaccardDistance,j as l1Distance,i as l2Distance,g as max,h as min,e as sum,f as sumDistinct}from'./chunk-EML5FDUU.js';export{a as ColumnAliasProxyHandler,_ as ConsoleLogWriter,$ as DefaultLogger,j as DrizzleError,k as DrizzleQueryError,Q as Many,aa as NoopLogger,P as One,i as QueryPromise,N as Relation,c as RelationTableAliasProxyHandler,O as Relations,b as TableAliasProxyHandler,l as TransactionRollbackError,e as aliasedRelation,d as aliasedTable,f as aliasedTableColumn,p as and,J as arrayContained,I as arrayContains,K as arrayOverlaps,L as asc,C as between,m as bindIfParam,W as createMany,V as createOne,Y as createTableRelationsHelpers,M as desc,n as eq,A as exists,T as extractTablesRelationalConfig,R as getOperators,S as getOrderByOperators,s as gt,t as gte,G as ilike,w as inArray,z as isNotNull,y as isNull,E as like,u as lt,v as lte,g as mapColumnsInAliasedSQLToAlias,h as mapColumnsInSQLToAlias,Z as mapRelationalRow,o as ne,X as normalizeRelation,r as not,D as notBetween,B as notExists,H as notIlike,x as notInArray,F as notLike,q as or,U as relations}from'./chunk-HRAY65XH.js';export{q as BaseName,d as Column,e as ColumnBuilder,n as Columns,s as ExtraConfigBuilder,o as ExtraConfigColumns,x as FakePrimitiveParam,r as IsAlias,B as Name,p as OriginalName,H as Param,K as Placeholder,A as SQL,m as Schema,z as StringChunk,i as Subquery,t as Table,N as View,l as ViewBaseConfig,j as WithSubquery,U as applyMixins,a as entityKind,M as fillPlaceholders,Y as getColumnNameAndConfig,V as getTableColumns,X as getTableLikeName,v as getTableName,w as getTableUniqueName,P as getViewName,W as getViewSelectedFields,b as hasOwnEntityKind,S as haveSameKeys,c as is,Z as isConfig,D as isDriverValueEncoder,y as isSQLWrapper,u as isTable,O as isView,Q as mapResultRow,T as mapUpdateSet,C as name,E as noopDecoder,F as noopEncoder,G as noopMapper,R as orderSelectedFields,I as param,L as placeholder,J as sql,_ as textDecoder}from'./chunk-3NSZZCOJ.js';import'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{c as EventStreamCodec,m as EventStreamMarshaller,r as EventStreamSerde,b as HeaderMarshaller,a as Int64,d as MessageDecoderStream,e as MessageEncoderStream,f as SmithyMessageDecoderStream,g as SmithyMessageEncoderStream,k as UniversalEventStreamMarshaller,n as eventStreamSerdeProvider,h as getChunkedStream,j as getMessageUnmarshaller,i as getUnmarshalledStream,p as iterableToReadableStream,o as readableStreamToIterable,q as resolveEventStreamSerdeConfig,l as universalEventStreamSerdeProvider}from'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
package/dist/fields/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{q as ALL_FIELD_TYPES,n as COMPLEX_FIELD_TYPES,p as LAYOUT_FIELD_TYPES,m as PRIMITIVE_FIELD_TYPES,o as RELATIONAL_FIELD_TYPES,r as createRelationshipFieldConfig,d as isArrayField,f as isBlocksField,e as isGroupField,l as isIconField,h as isImageField,k as isLayoutField,b as isNumberField,c as isRelationshipField,i as isRichTextField,j as isSelectField,a as isTextField,g as isUploadField,t as normalizeRichTextValue,u as renderRichText,s as richTextStyles}from'../chunk-ZRIBWDYJ.js';export{a as generateSEOFields}from'../chunk-SQBTIMWF.js';import'../chunk-7MNDQU6K.js';import'../chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as default}from'./chunk-RPRGGGIW.js';import'./chunk-YENNL5HG.js';import'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkKZHXYXSH_cjs=require('./chunk-KZHXYXSH.cjs');require('./chunk-MCIZG4A3.cjs'),require('./chunk-BUNLC3II.cjs');module.exports=chunkKZHXYXSH_cjs.a;
|
package/dist/graphql/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{H as RelationLoader,J as buildGraphQLSchema,K as createGraphQLSchema,I as depthLimit,G as printSchema}from'../chunk-ZMG7Z3KF.js';import'../chunk-RTHJ6SS5.js';import'../chunk-TBHNE4VV.js';import'../chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
|
package/dist/index.cjs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
'use strict';var chunkXDE7CFV6_cjs=require('./chunk-XDE7CFV6.cjs'),chunkS5HTTLN7_cjs=require('./chunk-S5HTTLN7.cjs'),chunkX54XZACS_cjs=require('./chunk-X54XZACS.cjs'),chunk26Q7JXM4_cjs=require('./chunk-26Q7JXM4.cjs'),chunkSTX5V7HG_cjs=require('./chunk-STX5V7HG.cjs'),chunkFAAAHE5O_cjs=require('./chunk-FAAAHE5O.cjs'),chunkQYI3GOHF_cjs=require('./chunk-QYI3GOHF.cjs');require('./chunk-7GGZA5YU.cjs');var chunkJT36FTHY_cjs=require('./chunk-JT36FTHY.cjs'),chunkQC4YXUBT_cjs=require('./chunk-QC4YXUBT.cjs');require('./chunk-5LPNEYK5.cjs');var chunkMP5VC5ER_cjs=require('./chunk-MP5VC5ER.cjs'),chunkVOQUO2EZ_cjs=require('./chunk-VOQUO2EZ.cjs'),chunkL4ZAI2XB_cjs=require('./chunk-L4ZAI2XB.cjs'),chunkP7XYIKL6_cjs=require('./chunk-P7XYIKL6.cjs');require('./chunk-HPYH7GTS.cjs');var chunkBHR7OAU4_cjs=require('./chunk-BHR7OAU4.cjs');require('./chunk-XPPVX4GQ.cjs'),require('./chunk-35PGCW3S.cjs'),require('./chunk-UNYXWPLZ.cjs'),require('./chunk-PITMDQYN.cjs'),require('./chunk-GIS6X43A.cjs'),require('./chunk-LEBM6ZSZ.cjs'),require('./chunk-GNEVCEJU.cjs'),require('./chunk-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs');var chunkAK754S3T_cjs=require('./chunk-AK754S3T.cjs'),chunkDUO523BH_cjs=require('./chunk-DUO523BH.cjs'),chunkWCFHS7EZ_cjs=require('./chunk-WCFHS7EZ.cjs');require('./chunk-73D2PNHD.cjs'),require('./chunk-AMGJ5AFH.cjs');var chunk6KUL2BSA_cjs=require('./chunk-6KUL2BSA.cjs');require('./chunk-KCHPADCH.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-GNOSG3PK.cjs');var chunkB3GDQ7UI_cjs=require('./chunk-B3GDQ7UI.cjs');require('./chunk-7JWQ2PZP.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-VRZC4TTF.cjs');var chunkQDHP5E4P_cjs=require('./chunk-QDHP5E4P.cjs'),chunk5DWYVUQR_cjs=require('./chunk-5DWYVUQR.cjs'),chunkVQ53TFYA_cjs=require('./chunk-VQ53TFYA.cjs'),chunkF4ITQ6XQ_cjs=require('./chunk-F4ITQ6XQ.cjs');require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs'),Z=require('crypto'),fs=require('fs'),Xe=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Z__default=/*#__PURE__*/_interopDefault(Z);var Xe__default=/*#__PURE__*/_interopDefault(Xe);chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();async function He(n,e){let t=e.data;for(let r of n){let o=await r({...e,data:t});o!==void 0&&(t=o);}return t}async function zr(n,e){return He(n,e)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var L=class extends chunkVQ53TFYA_cjs.a{connectionString;constructor(e){super(),this.connectionString=e.connectionString;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.connectionString)throw new Error("NeonAdapter: Connection string is required.");try{let r=await fetch(`${this.connectionString}/sql`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,params:t})});return r.ok?(await r.json()).rows||[]:[]}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Fe(n){return new L(n)}chunkBUNLC3II_cjs.h();var E=class extends chunkVQ53TFYA_cjs.a{url;authToken;constructor(e){super(),this.url=e.url.replace(/^libsql:\/\//,"https://"),this.authToken=e.authToken;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.url)throw new Error("TursoAdapter: Database URL is required.");try{let r={"Content-Type":"application/json"};this.authToken&&(r.Authorization=`Bearer ${this.authToken}`);let o=await fetch(`${this.url}/v2/pipeline`,{method:"POST",headers:r,body:JSON.stringify({requests:[{type:"execute",stmt:{sql:e,args:t.map(l=>({type:"text",value:String(l)}))}},{type:"close"}]})});if(!o.ok)return [];let i=(await o.json())?.results?.[0]?.response?.result;if(!i||!i.rows)return [];let c=i.cols.map(l=>l.name);return i.rows.map(l=>{let d={};return c.forEach((p,g)=>{d[p]=l[g]?.value??null;}),d})}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Ke(n){return new E(n)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var jr={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3},C=class{redis;prefix;config;constructor(e,t={},r="kyro:lockout:"){this.redis=e,this.prefix=r,this.config={...jr,...t};}lockKey(e){return `${this.prefix}${e}`}historyKey(e){return `${this.prefix}${e}:history`}async checkLockout(e){let t=this.lockKey(e),r=await this.redis.hgetall(t);if(!r||Object.keys(r).length===0)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let o=parseInt(r.attempts,10),s=r.lockedUntil?new Date(parseInt(r.lockedUntil,10)):void 0;return s&&s>new Date?{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:o}:s&&s<=new Date?(await this.unlockAccount(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0}):{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=this.lockKey(e),r=this.historyKey(e),o=Date.now(),s=await this.redis.hincrby(t,"attempts",1);if(await this.redis.hset(t,"lastAttempt",o.toString()),await this.redis.lpush(r,o.toString()),await this.redis.ltrim(r,0,99),s>=this.config.maxAttempts){let i=new Date(o+this.config.lockDuration);return await this.redis.hset(t,{lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),await this.redis.expire(t,Math.ceil(this.config.lockDuration/1e3)+3600),{locked:true,attemptsRemaining:0,lockedUntil:i,totalAttempts:s}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-s),totalAttempts:s}}async lockAccount(e,t){let r=this.lockKey(e),o=Date.now(),s=t||this.config.lockDuration,i=new Date(o+s),c=this.redis.pipeline();c.hset(r,{attempts:this.config.maxAttempts.toString(),lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),c.expire(r,Math.ceil(s/1e3)+3600),await c.exec();}async unlockAccount(e){let t=this.lockKey(e);await this.redis.del(t);}async resetAttempts(e){let t=this.lockKey(e);(await this.redis.hgetall(t)).lockedAt?await this.redis.hset(t,{attempts:"0",lockedAt:"",lockedUntil:""}):await this.redis.del(t);}async getLockoutHistory(e,t=10){let r=this.historyKey(e);return (await this.redis.lrange(r,0,t-1)).map(s=>new Date(parseInt(s,10)))}async getLockoutStats(e){let t=this.historyKey(e),r=await this.redis.lrange(t,0,-1),o=r.filter((i,c)=>(c+1)%this.config.maxAttempts===0).length,s=await this.redis.hget(this.lockKey(e),"lockedAt");return {totalFailedAttempts:r.length,lockoutCount:o,lastLockout:s?new Date(parseInt(s,10)):null,averageAttemptsBeforeLockout:o>0?this.config.maxAttempts:0}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};chunkBUNLC3II_cjs.h();var Wr={"auth:login":{window:9e5,max:5},"auth:register":{window:36e5,max:3},"auth:forgot":{window:36e5,max:3},"auth:reset":{window:36e5,max:5},"auth:verify":{window:36e5,max:5},"api:general":{window:6e4,max:100},"api:authenticated":{window:6e4,max:200}},R=class{redis;prefix;limits;userLimits;constructor(e,t,r,o="kyro:ratelimit:"){this.redis=e,this.prefix=o,this.limits={...Wr,...t},this.userLimits=r||{"user:api":{window:6e4,max:500},"user:write":{window:36e5,max:100}};}getKey(e,t){return `${this.prefix}${e}:${t}`}async check(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window,c=this.redis.pipeline();c.zremrangebyscore(o,0,i),c.zcard(o),c.zadd(o,s,`${s}:${Math.random()}`),c.expire(o,Math.ceil(r.window/1e3)+1);let d=(await c.exec())?.[1]?.[1]||0;if(d>=r.max){let p=await this.redis.zrange(o,0,0,"WITHSCORES"),g=p.length>1?parseInt(p[1],10)+r.window:s+r.window;return {allowed:false,remaining:0,resetAt:g,retryAfter:Math.ceil((g-s)/1e3)}}return {allowed:true,remaining:r.max-d-1,resetAt:s+r.window}}async checkUser(e,t,r){let o=this.userLimits[e]||this.userLimits["user:api"],s=this.getKey(`user:${e}:${t}`,r),i=Date.now(),c=i-o.window,l=this.redis.pipeline();l.zremrangebyscore(s,0,c),l.zcard(s),l.zadd(s,i,`${i}:${Math.random()}`),l.expire(s,Math.ceil(o.window/1e3)+1);let p=(await l.exec())?.[1]?.[1]||0;if(p>=o.max){let g=await this.redis.zrange(s,0,0,"WITHSCORES"),m=g.length>1?parseInt(g[1],10)+o.window:i+o.window;return {allowed:false,remaining:0,resetAt:m,retryAfter:Math.ceil((m-i)/1e3)}}return {allowed:true,remaining:o.max-p-1,resetAt:i+o.window}}async reset(e,t){let r=this.getKey(e,t);await this.redis.del(r);}async resetUser(e,t,r){let o=this.getKey(`user:${e}:${t}`,r);await this.redis.del(o);}async getStatus(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window;await this.redis.zremrangebyscore(o,0,i);let c=await this.redis.zcard(o);return {count:c,limit:r.max,remaining:Math.max(0,r.max-c),resetAt:s+r.window}}setLimit(e,t){this.limits[e]=t;}setUserLimit(e,t){this.userLimits[e]=t;}};chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var v=class{users=new Map;sessions=new Map;refreshTokens=new Map;emailToUserId=new Map;passwordHistory=new Map;emailVerificationTokens=new Map;passwordResetTokens=new Map;auditLogs=[];externalDb=false;constructor(){}async connect(){}async disconnect(){this.users.clear(),this.sessions.clear(),this.refreshTokens.clear(),this.emailToUserId.clear(),this.passwordHistory.clear();}async createUser(e){let t=Z.randomBytes(16).toString("hex"),r=new Date().toISOString(),o=await this.hashPassword(e.password),s={id:t,email:e.email.toLowerCase(),passwordHash:o,role:e.role||"customer",tenantId:e.tenantId,createdAt:r,updatedAt:r};return this.users.set(t,s),this.emailToUserId.set(e.email.toLowerCase(),t),this.passwordHistory.set(t,[]),s}async findUserByEmail(e){let t=this.emailToUserId.get(e.toLowerCase());return t?this.findUserById(t):null}async findUserById(e){return this.users.get(e)||null}async updateUser(e,t){let r=await this.findUserById(e);if(!r)return null;let o={...r,...t,id:e,updatedAt:new Date().toISOString()};return t.email&&t.email!==r.email&&(this.emailToUserId.delete(r.email.toLowerCase()),this.emailToUserId.set(t.email.toLowerCase(),e)),this.users.set(e,o),o}async deleteUser(e){let t=await this.findUserById(e);return t?(this.users.delete(e),this.emailToUserId.delete(t.email.toLowerCase()),this.refreshTokens.forEach((r,o)=>{this.sessions.get(r)?.userId===e&&(this.refreshTokens.delete(o),this.sessions.delete(r));}),this.passwordHistory.delete(e),this.sessions.forEach((r,o)=>{r.userId===e&&this.sessions.delete(o);}),true):false}async hashPassword(e){return (await import('./bcryptjs-WIQSWJGK.cjs')).default.hash(e,12)}async verifyPassword(e,t){let r=await this.findUserByEmail(e);return !r||!r.passwordHash?null:await(await import('./bcryptjs-WIQSWJGK.cjs')).default.compare(t,r.passwordHash)?r:null}async createSession(e,t={}){let r=Z.randomBytes(32).toString("hex"),o=Z.randomBytes(32).toString("base64url"),s=Z.randomBytes(32).toString("base64url"),i=new Date,c={id:r,userId:e,token:o,refreshToken:s,expiresAt:new Date(i.getTime()+86400*1e3).toISOString(),createdAt:i.toISOString(),ipAddress:t.ipAddress,userAgent:t.userAgent};return this.sessions.set(r,c),this.refreshTokens.set(s,r),c}async findSessionByToken(e){return this.sessions.get(e)||null}async findSessionByRefreshToken(e){let t=this.refreshTokens.get(e);return t&&this.sessions.get(t)||null}async deleteSession(e){let t=this.sessions.get(e);return t?(t.refreshToken&&this.refreshTokens.delete(t.refreshToken),this.sessions.delete(e),true):false}async deleteUserSessions(e){let t=0;return this.sessions.forEach((r,o)=>{r.userId===e&&(r.refreshToken&&this.refreshTokens.delete(r.refreshToken),this.sessions.delete(o),t++);}),t}async addPasswordToHistory(e,t){let r=this.passwordHistory.get(e)||[];r.push(t),r.length>5&&r.splice(0,r.length-5),this.passwordHistory.set(e,r);}async getPasswordHistory(e,t=5){return this.passwordHistory.get(e)||[]}async isPasswordInHistory(e,t,r=5){let o=await this.getPasswordHistory(t,r),s=(await import('./bcryptjs-WIQSWJGK.cjs')).default;for(let i of o)if(await s.compare(e,i))return true;return false}async createEmailVerificationToken(e){let t=Z.randomBytes(32).toString("hex"),r=new Date(Date.now()+1440*60*1e3);return this.emailVerificationTokens.set(t,{userId:e,expiresAt:r}),{token:t,expiresAt:r}}async verifyEmailToken(e){let t=this.emailVerificationTokens.get(e);return !t||t.expiresAt<new Date?(this.emailVerificationTokens.delete(e),{success:false,error:"Invalid or expired token"}):(this.emailVerificationTokens.delete(e),{success:true,userId:t.userId})}async createPasswordResetToken(e){let t=await this.findUserByEmail(e);if(!t)return {token:"",expiresAt:new Date,error:"User not found"};let r=Z.randomBytes(32).toString("hex"),o=new Date(Date.now()+3600*1e3);return this.passwordResetTokens.set(r,{userId:t.id,expiresAt:o}),{token:r,expiresAt:o}}async resetPasswordWithToken(e,t){let r=this.passwordResetTokens.get(e);if(!r||r.expiresAt<new Date)return this.passwordResetTokens.delete(e),{success:false,error:"Invalid or expired token"};let o=await this.hashPassword(t);return await this.updateUser(r.userId,{passwordHash:o}),this.passwordResetTokens.delete(e),{success:true}}async hasAnyUsers(){return this.users.size>0}async findAuditLogs(e){let{limit:t=50,offset:r=0}=e,o=this.auditLogs.slice().reverse();return e.userId&&(o=o.filter(s=>s.userId===e.userId)),e.action&&(Array.isArray(e.action)?o=o.filter(s=>e.action.includes(String(s.action))):o=o.filter(s=>s.action===e.action)),e.resource&&(o=o.filter(s=>s.resource===e.resource)),e.success!==void 0&&(o=o.filter(s=>s.success===e.success)),{logs:o.slice(r,r+t),total:o.length}}async createAuditLog(e){let t=Z.randomBytes(16).toString("hex"),o={...e,id:t,timestamp:new Date};return this.auditLogs.push(o),o}};chunkBUNLC3II_cjs.h();var D=class{storage=new Map;history=new Map;config;constructor(e={}){this.config={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3,...e};}async checkLockout(e){let t=Date.now(),r=this.storage.get(e);if(r&&r.lockedUntil!==null&&r.lockedUntil<=t)return await this.resetAttempts(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};if(!r)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let{attempts:o,lockedUntil:s}=r;return s!==null&&s>t?{locked:true,attemptsRemaining:0,lockedUntil:new Date(s),totalAttempts:o}:{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=Date.now(),r=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};r.attempts+=1,r.lastAttempt=t;let o=this.history.get(e)||[];if(o.push(t),o.length>100&&o.splice(0,o.length-100),this.history.set(e,o),this.storage.set(e,r),r.attempts>=this.config.maxAttempts){let s=new Date(t+this.config.lockDuration);return r.lockedAt=t,r.lockedUntil=s.getTime(),this.storage.set(e,r),{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:r.attempts}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-r.attempts),totalAttempts:r.attempts}}async lockAccount(e,t){let r=Date.now(),o=t||this.config.lockDuration,s=new Date(r+o),i=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};i.attempts=this.config.maxAttempts,i.lockedAt=r,i.lockedUntil=s.getTime(),this.storage.set(e,i);}async unlockAccount(e){await this.resetAttempts(e);}async resetAttempts(e){let t=this.storage.get(e);t&&(t.attempts=0,t.lockedAt=null,t.lockedUntil=null,this.storage.set(e,t)),this.history.delete(e);}async getLockoutHistory(e,t=10){return (this.history.get(e)||[]).slice(-t).reverse().map(o=>new Date(o))}async getLockoutStats(e){let r=(this.history.get(e)||[]).length,o=Math.floor(r/this.config.maxAttempts),s=null,i=this.storage.get(e);i&&i.lockedAt!==null&&(s=new Date(i.lockedAt));let c=o>0?this.config.maxAttempts:0;return {totalFailedAttempts:r,lockoutCount:o,lastLockout:s,averageAttemptsBeforeLockout:c}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};function w(n,e=""){return process.env[n]||e}function S(n,e=false){let t=process.env[n];return t?t.toLowerCase()==="true":e}function f(n,e=0){let t=process.env[n];return t?parseInt(t,10):e}function Be(){let n=process.env.KYRO_AUTH_DATABASE?.toLowerCase();if(n&&["sqlite","postgres","mongodb","memory"].includes(n))return n;try{let e=Xe.join(process.cwd(),"kyro.config.ts"),t=fs.readFileSync(e,"utf8");if(t.includes("createLocalAdapter"))return "sqlite";if(t.includes("createDrizzleAdapter"))return t.includes("postgres")||t.includes("postgresql"),"postgres";if(t.includes("createMongoDBAdapter"))return "mongodb"}catch{}return "memory"}async function Qr(n){let e=process.cwd(),t=e.endsWith("admin")?Xe.join(e,".."):e,r=Xe.resolve(t,"data","auth.db");switch(n){case "sqlite":return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)});case "postgres":{let o=w("DATABASE_URL","");if(o){let s,i;try{s=(await import('./postgres-js-3Y54EXVQ.cjs')).drizzle,i=await import('./src-6LAUXXDM.cjs');}catch{chunkF4ITQ6XQ_cjs.a(["postgres","drizzle-orm"]),s=(await import('./postgres-js-3Y54EXVQ.cjs')).drizzle,i=await import('./src-6LAUXXDM.cjs');}let c=i.default(o,{onnotice:()=>{}}),l=s(c);return new chunkB3GDQ7UI_cjs.a({db:l})}return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)})}case "mongodb":{let o=w("MONGODB_URI","");if(o){let s;try{s=(await import('./lib-5QYYN6ML.cjs')).MongoClient;}catch{chunkF4ITQ6XQ_cjs.a(["mongodb"]),s=(await import('./lib-5QYYN6ML.cjs')).MongoClient;}let i=new s(o);await i.connect();let l=new URL(o).pathname.replace(/^\//,"")||"kyro_cms",d=i.db(l);return new chunk5DWYVUQR_cjs.a({db:d})}return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)})}default:return new v}}async function q(n,e){let t=S("KYRO_DISTRIBUTED",false),r;if(t){let{RedisAuthAdapter:g}=await import('./redis-adapter-EGMUN65D.cjs'),m=w("REDIS_URL","redis://localhost:6379"),A=S("REDIS_TLS",false),y=new g({url:m,tls:A});await y.connect?.(),r=y;}else {let g=n||Be();r=await Qr(g),r.connect&&await r.connect();}let o=e?await chunkP7XYIKL6_cjs.k.fromConfig(e).catch(()=>null)||chunkP7XYIKL6_cjs.k.fromEnv()||void 0:chunkP7XYIKL6_cjs.k.fromEnv()||void 0,s=new chunkP7XYIKL6_cjs.l({minLength:f("PASSWORD_MIN_LENGTH",12),requireUppercase:S("PASSWORD_REQUIRE_UPPERCASE",true),requireLowercase:S("PASSWORD_REQUIRE_LOWERCASE",true),requireNumbers:S("PASSWORD_REQUIRE_NUMBERS",true),requireSpecialChars:S("PASSWORD_REQUIRE_SPECIAL",true),preventReuse:f("PASSWORD_PREVENT_REUSE",5),maxLength:f("PASSWORD_MAX_LENGTH",128)}),i,c,l;if(t){let m=r.redis;i=new C(m,{maxAttempts:f("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:f("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new R(m,{"auth:login":{window:f("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:f("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:f("RATE_LIMIT_WINDOW_MS",6e4),max:f("RATE_LIMIT_MAX_REQUESTS",100)}}),l=new chunkL4ZAI2XB_cjs.jb(m,f("AUDIT_LOG_RETENTION_DAYS",30));}else i=new D({maxAttempts:f("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:f("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new chunkL4ZAI2XB_cjs.ib({"auth:login":{window:f("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:f("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:f("RATE_LIMIT_WINDOW_MS",6e4),max:f("RATE_LIMIT_MAX_REQUESTS",100)}}),l=S("AUDIT_LOG_ENABLED",true)?new chunkL4ZAI2XB_cjs.lb(f("AUDIT_LOG_RETENTION_DAYS",30)):void 0;let d=new chunkL4ZAI2XB_cjs.mb({redis:r,email:o,jwtSecret:w("APP_SECRET","change-me"),jwtExpiresIn:w("JWT_EXPIRES_IN","24h"),jwtIssuer:w("JWT_ISSUER","kyro-cms"),jwtAudience:w("JWT_AUDIENCE","kyro-cms-client"),passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l,baseUrl:w("EMAIL_BASE_URL","http://localhost:4321"),emailVerificationRequired:S("EMAIL_VERIFICATION_REQUIRED",true)}),p=t?"distributed":n||Be();return {authAdapter:r,databaseType:p,email:o,passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l,routes:d}}var $e=q().catch(n=>(console.warn("[AuthConfig] Failed to initialize auth config:",n.message),null));var Yr=12,Jr="24h",Xr="7d",K=class{adapter;config;constructor(e,t){this.adapter=e,this.config={secret:t.secret,expiresIn:t.expiresIn??Jr,refreshExpiresIn:t.refreshExpiresIn??Xr,issuer:t.issuer??"kyro-cms",audience:t.audience??[],saltRounds:t.saltRounds??Yr};}async register(e){try{if(await this.adapter.findUserByEmail(e.email))return {success:!1,error:"Email already registered"};let r=await this.adapter.createUser({email:e.email,password:e.password,role:e.role??"customer",tenantId:e.tenantId});return this.createSessionForUser(r)}catch(t){return {success:false,error:String(t)}}}async login(e){try{let t=await this.adapter.verifyPassword(e.email,e.password);return t?this.createSessionForUser(t):{success:!1,error:"Invalid credentials"}}catch(t){return {success:false,error:String(t)}}}async logout(e){await this.adapter.deleteSession(e);}async refreshToken(e){try{let t=await this.adapter.findSessionByToken(e);if(!t||new Date(t.expiresAt)<new Date)return {success:!1,error:"Invalid or expired refresh token"};let r=await this.adapter.findUserById(t.userId);return r?(await this.adapter.deleteSession(e),this.createSessionForUser(r)):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async verifyToken(e){try{let{default:t}=await import('./jsonwebtoken-DFB6ZBZA.cjs');return t.verify(e,this.config.secret,{issuer:this.config.issuer,audience:this.config.audience.length>0?this.config.audience[0]:void 0})}catch{return null}}async getUserFromToken(e){let t=await this.verifyToken(e);return t?this.adapter.findUserById(t.sub):null}async changePassword(e,t,r){try{let o=await this.adapter.findUserById(e);return o?await this.adapter.verifyPassword(o.email,t)?(await this.adapter.updateUser(e,{password:r}),await this.adapter.deleteUserSessions(e),{success:!0,user:o}):{success:!1,error:"Current password is incorrect"}:{success:!1,error:"User not found"}}catch(o){return {success:false,error:String(o)}}}async resetPassword(e,t){try{let r=await this.adapter.findUserByEmail(e);return r?(await this.adapter.updateUser(r.id,{password:t}),await this.adapter.deleteUserSessions(r.id),{success:!0,user:r}):{success:!1,error:"User not found"}}catch(r){return {success:false,error:String(r)}}}async sendEmailVerification(e){try{let{token:t,expiresAt:r}=await this.adapter.createEmailVerificationToken(e);return {success:!0}}catch(t){return {success:false,error:String(t)}}}async verifyEmail(e){try{return await this.adapter.verifyEmailToken(e)}catch(t){return {success:false,error:String(t)}}}async requestPasswordReset(e){try{let t=await this.adapter.createPasswordResetToken(e);return t.error?{success:!1,error:t.error}:{success:!0}}catch(t){return {success:false,error:String(t)}}}async resetPasswordWithToken(e,t){try{return await this.adapter.resetPasswordWithToken(e,t)}catch(r){return {success:false,error:String(r)}}}async deleteAccount(e){try{return await this.adapter.findUserById(e)?(await this.adapter.deleteUserSessions(e),await this.adapter.deleteUser(e),{success:!0}):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async createSessionForUser(e){let t=await this.generateToken(e),r=await this.adapter.createSession(e.id);return {success:true,user:e,session:r,token:t}}async generateToken(e){let{default:t}=await import('./jsonwebtoken-DFB6ZBZA.cjs'),r={sub:e.id,email:e.email,role:e.role,tenantId:e.tenantId},o={expiresIn:this.parseExpiresIn(this.config.expiresIn)/1e3,issuer:this.config.issuer};return this.config.audience.length>0&&(o.audience=this.config.audience[0]),t.sign(r,this.config.secret,o)}async hashPassword(e){let{default:t}=await import('./bcryptjs-WIQSWJGK.cjs');return t.hash(e,this.config.saltRounds)}parseExpiresIn(e){if(typeof e=="number")return e;let t=e.match(/^(\d+)([smhd])$/);if(!t)return 864e5;let r=parseInt(t[1],10);switch(t[2]){case "s":return r*1e3;case "m":return r*6e4;case "h":return r*36e5;case "d":return r*864e5;default:return 864e5}}};function Zr(n,e){return new K(n,e)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();function B(){return {enabled:true,draftsEnabled:true,publishEnabled:true,scheduleEnabled:false,versioningEnabled:true,maxVersionsPerDocument:50,autoPublish:false,requirePublishPermission:true}}var N=class{adapter;config;constructor(e,t){this.adapter=e,this.config={...B(),...t};}async createVersion(e){let r=((await this.adapter.getLatestVersion(e.collection,e.documentId))?.version??0)+1,o={...e,version:r},s=await this.adapter.createVersion(o);return this.config.maxVersionsPerDocument>0&&await this.pruneOldVersions(e.collection,e.documentId),s}async publishVersion(e){let t=await this.adapter.getVersion(e.collection,e.versionId);if(!t)throw new Error("Version not found");if(t.status==="published")throw new Error("Version is already published");await this.adapter.publishVersion(e);}async unpublishDocument(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:1e3});for(let o of r)if(o.status==="published"){await this.createVersion({collection:e,documentId:t,data:o.data,status:"draft",createdBy:"system",changeDescription:"Unpublished document"});break}}async revertToVersion(e,t,r,o){if(!await this.adapter.getVersion(e,r))throw new Error("Version not found");return await this.adapter.revertToVersion({collection:e,documentId:t,versionId:r,userId:o})}async getVersionHistory(e,t,r=20,o=0){return this.adapter.getVersions({collection:e,documentId:t,limit:r,offset:o})}async compareTwoVersions(e,t,r,o){return this.adapter.compareVersions({collection:e,documentId:t,versionA:r,versionB:o})}async getLatestDraft(e,t){return this.adapter.getLatestVersion(e,t)}async getPublishedVersion(e,t){return this.adapter.getPublishedVersion(e,t)}async getVersion(e,t){return this.adapter.getVersion(e,t)}async schedulePublish(e,t,r,o){if(!this.config.scheduleEnabled)throw new Error("Scheduled publishing is not enabled");if(!await this.adapter.getVersion(e,r))throw new Error("Version not found")}async deleteVersionHistory(e,t){await this.adapter.deleteVersions(e,t);}async pruneOldVersions(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:this.config.maxVersionsPerDocument+100});if(r.length<=this.config.maxVersionsPerDocument)return;r.slice(0,this.config.maxVersionsPerDocument);let s=r.slice(this.config.maxVersionsPerDocument);for(let i of s)if(i.status!=="published"){await this.adapter.deleteVersions(e,t);break}}};function eo(n,e){return new N(n,e)}function to(n){return n==="published"}function ro(n){return n==="draft"}function oo(n){return n==="archived"}chunkBUNLC3II_cjs.h();function no(n){return n?Array.isArray(n)?n:Object.values(n):[]}function so(n){return n?Array.isArray(n)?n:Object.values(n):[]}function ze(n){return {collections:no(n.collections),globals:so(n.globals),adapter:n.adapter,plugins:n.plugins,auth:n.auth,cors:n.cors,admin:n.admin,upload:n.upload,graphQL:n.graphQL,typescript:n.typescript,localization:n.localization,rateLimit:n.rateLimit,debug:n.debug}}var io=ze;chunkBUNLC3II_cjs.h();function ao(n){let{siteSettings:e,seoSettings:t,title:r,description:o,image:s,url:i}=n;if(!e)return "";let c=e.siteName||"",l=r||t?.defaultTitle||c,d=t?.titleTemplate,p=t?.separator||" | ",g=t?.siteNameInTitle!==false,m=d?d.replace(/\{\{title\}\}/g,l).replace(/\{\{siteName\}\}/g,g?c:"").replace(/\{\{separator\}\}/g,p).replace(/\s+/g," ").trim():l,A=o||t?.defaultDescription||e.siteDescription||"",y=s||e.siteOgImage?.url||"",U=i||e.siteUrl||"",h=`
|
|
1
|
+
'use strict';var chunkXDE7CFV6_cjs=require('./chunk-XDE7CFV6.cjs'),chunkS5HTTLN7_cjs=require('./chunk-S5HTTLN7.cjs'),chunkKZHXYXSH_cjs=require('./chunk-KZHXYXSH.cjs'),chunk26Q7JXM4_cjs=require('./chunk-26Q7JXM4.cjs'),chunkSTX5V7HG_cjs=require('./chunk-STX5V7HG.cjs'),chunkWC7H45ZG_cjs=require('./chunk-WC7H45ZG.cjs'),chunkHKNQVI76_cjs=require('./chunk-HKNQVI76.cjs');require('./chunk-7GGZA5YU.cjs');var chunkJT36FTHY_cjs=require('./chunk-JT36FTHY.cjs'),chunkQC4YXUBT_cjs=require('./chunk-QC4YXUBT.cjs');require('./chunk-5LPNEYK5.cjs');var chunkMP5VC5ER_cjs=require('./chunk-MP5VC5ER.cjs'),chunkVOQUO2EZ_cjs=require('./chunk-VOQUO2EZ.cjs'),chunkCFZVJTXW_cjs=require('./chunk-CFZVJTXW.cjs'),chunkYUER4JU3_cjs=require('./chunk-YUER4JU3.cjs');require('./chunk-HPYH7GTS.cjs');var chunkBHR7OAU4_cjs=require('./chunk-BHR7OAU4.cjs'),chunkO4YE57OS_cjs=require('./chunk-O4YE57OS.cjs');require('./chunk-MCIZG4A3.cjs'),require('./chunk-35PGCW3S.cjs'),require('./chunk-UNYXWPLZ.cjs'),require('./chunk-PITMDQYN.cjs'),require('./chunk-GIS6X43A.cjs'),require('./chunk-LEBM6ZSZ.cjs'),require('./chunk-GNEVCEJU.cjs'),require('./chunk-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs');var chunkAK754S3T_cjs=require('./chunk-AK754S3T.cjs'),chunkDUO523BH_cjs=require('./chunk-DUO523BH.cjs'),chunkWCFHS7EZ_cjs=require('./chunk-WCFHS7EZ.cjs');require('./chunk-73D2PNHD.cjs'),require('./chunk-AMGJ5AFH.cjs');var chunk6KUL2BSA_cjs=require('./chunk-6KUL2BSA.cjs'),chunkXBQ6HV3T_cjs=require('./chunk-XBQ6HV3T.cjs');require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-KCHPADCH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-VRZC4TTF.cjs');var chunkZKHTFR5S_cjs=require('./chunk-ZKHTFR5S.cjs'),chunkWJBQ2NBD_cjs=require('./chunk-WJBQ2NBD.cjs'),chunkVQ53TFYA_cjs=require('./chunk-VQ53TFYA.cjs'),chunkF4ITQ6XQ_cjs=require('./chunk-F4ITQ6XQ.cjs');require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs'),Z=require('crypto'),fs=require('fs'),Je=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Z__default=/*#__PURE__*/_interopDefault(Z);var Je__default=/*#__PURE__*/_interopDefault(Je);chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();async function Me(n,e){let t=e.data;for(let r of n){let o=await r({...e,data:t});o!==void 0&&(t=o);}return t}async function Br(n,e){return Me(n,e)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var L=class extends chunkVQ53TFYA_cjs.a{connectionString;constructor(e){super(),this.connectionString=e.connectionString;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.connectionString)throw new Error("NeonAdapter: Connection string is required.");try{let r=await fetch(`${this.connectionString}/sql`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,params:t})});return r.ok?(await r.json()).rows||[]:[]}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function He(n){return new L(n)}chunkBUNLC3II_cjs.h();var E=class extends chunkVQ53TFYA_cjs.a{url;authToken;constructor(e){super(),this.url=e.url.replace(/^libsql:\/\//,"https://"),this.authToken=e.authToken;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.url)throw new Error("TursoAdapter: Database URL is required.");try{let r={"Content-Type":"application/json"};this.authToken&&(r.Authorization=`Bearer ${this.authToken}`);let o=await fetch(`${this.url}/v2/pipeline`,{method:"POST",headers:r,body:JSON.stringify({requests:[{type:"execute",stmt:{sql:e,args:t.map(l=>({type:"text",value:String(l)}))}},{type:"close"}]})});if(!o.ok)return [];let i=(await o.json())?.results?.[0]?.response?.result;if(!i||!i.rows)return [];let c=i.cols.map(l=>l.name);return i.rows.map(l=>{let d={};return c.forEach((p,g)=>{d[p]=l[g]?.value??null;}),d})}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Fe(n){return new E(n)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var Nr={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3},C=class{redis;prefix;config;constructor(e,t={},r="kyro:lockout:"){this.redis=e,this.prefix=r,this.config={...Nr,...t};}lockKey(e){return `${this.prefix}${e}`}historyKey(e){return `${this.prefix}${e}:history`}async checkLockout(e){let t=this.lockKey(e),r=await this.redis.hgetall(t);if(!r||Object.keys(r).length===0)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let o=parseInt(r.attempts,10),s=r.lockedUntil?new Date(parseInt(r.lockedUntil,10)):void 0;return s&&s>new Date?{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:o}:s&&s<=new Date?(await this.unlockAccount(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0}):{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=this.lockKey(e),r=this.historyKey(e),o=Date.now(),s=await this.redis.hincrby(t,"attempts",1);if(await this.redis.hset(t,"lastAttempt",o.toString()),await this.redis.lpush(r,o.toString()),await this.redis.ltrim(r,0,99),s>=this.config.maxAttempts){let i=new Date(o+this.config.lockDuration);return await this.redis.hset(t,{lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),await this.redis.expire(t,Math.ceil(this.config.lockDuration/1e3)+3600),{locked:true,attemptsRemaining:0,lockedUntil:i,totalAttempts:s}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-s),totalAttempts:s}}async lockAccount(e,t){let r=this.lockKey(e),o=Date.now(),s=t||this.config.lockDuration,i=new Date(o+s),c=this.redis.pipeline();c.hset(r,{attempts:this.config.maxAttempts.toString(),lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),c.expire(r,Math.ceil(s/1e3)+3600),await c.exec();}async unlockAccount(e){let t=this.lockKey(e);await this.redis.del(t);}async resetAttempts(e){let t=this.lockKey(e);(await this.redis.hgetall(t)).lockedAt?await this.redis.hset(t,{attempts:"0",lockedAt:"",lockedUntil:""}):await this.redis.del(t);}async getLockoutHistory(e,t=10){let r=this.historyKey(e);return (await this.redis.lrange(r,0,t-1)).map(s=>new Date(parseInt(s,10)))}async getLockoutStats(e){let t=this.historyKey(e),r=await this.redis.lrange(t,0,-1),o=r.filter((i,c)=>(c+1)%this.config.maxAttempts===0).length,s=await this.redis.hget(this.lockKey(e),"lockedAt");return {totalFailedAttempts:r.length,lockoutCount:o,lastLockout:s?new Date(parseInt(s,10)):null,averageAttemptsBeforeLockout:o>0?this.config.maxAttempts:0}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};chunkBUNLC3II_cjs.h();var $r={"auth:login":{window:9e5,max:5},"auth:register":{window:36e5,max:3},"auth:forgot":{window:36e5,max:3},"auth:reset":{window:36e5,max:5},"auth:verify":{window:36e5,max:5},"api:general":{window:6e4,max:100},"api:authenticated":{window:6e4,max:200}},R=class{redis;prefix;limits;userLimits;constructor(e,t,r,o="kyro:ratelimit:"){this.redis=e,this.prefix=o,this.limits={...$r,...t},this.userLimits=r||{"user:api":{window:6e4,max:500},"user:write":{window:36e5,max:100}};}getKey(e,t){return `${this.prefix}${e}:${t}`}async check(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window,c=this.redis.pipeline();c.zremrangebyscore(o,0,i),c.zcard(o),c.zadd(o,s,`${s}:${Math.random()}`),c.expire(o,Math.ceil(r.window/1e3)+1);let d=(await c.exec())?.[1]?.[1]||0;if(d>=r.max){let p=await this.redis.zrange(o,0,0,"WITHSCORES"),g=p.length>1?parseInt(p[1],10)+r.window:s+r.window;return {allowed:false,remaining:0,resetAt:g,retryAfter:Math.ceil((g-s)/1e3)}}return {allowed:true,remaining:r.max-d-1,resetAt:s+r.window}}async checkUser(e,t,r){let o=this.userLimits[e]||this.userLimits["user:api"],s=this.getKey(`user:${e}:${t}`,r),i=Date.now(),c=i-o.window,l=this.redis.pipeline();l.zremrangebyscore(s,0,c),l.zcard(s),l.zadd(s,i,`${i}:${Math.random()}`),l.expire(s,Math.ceil(o.window/1e3)+1);let p=(await l.exec())?.[1]?.[1]||0;if(p>=o.max){let g=await this.redis.zrange(s,0,0,"WITHSCORES"),m=g.length>1?parseInt(g[1],10)+o.window:i+o.window;return {allowed:false,remaining:0,resetAt:m,retryAfter:Math.ceil((m-i)/1e3)}}return {allowed:true,remaining:o.max-p-1,resetAt:i+o.window}}async reset(e,t){let r=this.getKey(e,t);await this.redis.del(r);}async resetUser(e,t,r){let o=this.getKey(`user:${e}:${t}`,r);await this.redis.del(o);}async getStatus(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window;await this.redis.zremrangebyscore(o,0,i);let c=await this.redis.zcard(o);return {count:c,limit:r.max,remaining:Math.max(0,r.max-c),resetAt:s+r.window}}setLimit(e,t){this.limits[e]=t;}setUserLimit(e,t){this.userLimits[e]=t;}};chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();var v=class{users=new Map;sessions=new Map;refreshTokens=new Map;emailToUserId=new Map;passwordHistory=new Map;emailVerificationTokens=new Map;passwordResetTokens=new Map;auditLogs=[];externalDb=false;constructor(){}async connect(){}async disconnect(){this.users.clear(),this.sessions.clear(),this.refreshTokens.clear(),this.emailToUserId.clear(),this.passwordHistory.clear();}async createUser(e){let t=Z.randomBytes(16).toString("hex"),r=new Date().toISOString(),o=await this.hashPassword(e.password),s={id:t,email:e.email.toLowerCase(),passwordHash:o,role:e.role||"customer",tenantId:e.tenantId,createdAt:r,updatedAt:r};return this.users.set(t,s),this.emailToUserId.set(e.email.toLowerCase(),t),this.passwordHistory.set(t,[]),s}async findUserByEmail(e){let t=this.emailToUserId.get(e.toLowerCase());return t?this.findUserById(t):null}async findUserById(e){return this.users.get(e)||null}async updateUser(e,t){let r=await this.findUserById(e);if(!r)return null;let o={...r,...t,id:e,updatedAt:new Date().toISOString()};return t.email&&t.email!==r.email&&(this.emailToUserId.delete(r.email.toLowerCase()),this.emailToUserId.set(t.email.toLowerCase(),e)),this.users.set(e,o),o}async deleteUser(e){let t=await this.findUserById(e);return t?(this.users.delete(e),this.emailToUserId.delete(t.email.toLowerCase()),this.refreshTokens.forEach((r,o)=>{this.sessions.get(r)?.userId===e&&(this.refreshTokens.delete(o),this.sessions.delete(r));}),this.passwordHistory.delete(e),this.sessions.forEach((r,o)=>{r.userId===e&&this.sessions.delete(o);}),true):false}async hashPassword(e){return (await import('./bcryptjs-WIQSWJGK.cjs')).default.hash(e,12)}async verifyPassword(e,t){let r=await this.findUserByEmail(e);return !r||!r.passwordHash?null:await(await import('./bcryptjs-WIQSWJGK.cjs')).default.compare(t,r.passwordHash)?r:null}async createSession(e,t={}){let r=Z.randomBytes(32).toString("hex"),o=Z.randomBytes(32).toString("base64url"),s=Z.randomBytes(32).toString("base64url"),i=new Date,c={id:r,userId:e,token:o,refreshToken:s,expiresAt:new Date(i.getTime()+86400*1e3).toISOString(),createdAt:i.toISOString(),ipAddress:t.ipAddress,userAgent:t.userAgent};return this.sessions.set(r,c),this.refreshTokens.set(s,r),c}async findSessionByToken(e){return this.sessions.get(e)||null}async findSessionByRefreshToken(e){let t=this.refreshTokens.get(e);return t&&this.sessions.get(t)||null}async deleteSession(e){let t=this.sessions.get(e);return t?(t.refreshToken&&this.refreshTokens.delete(t.refreshToken),this.sessions.delete(e),true):false}async deleteUserSessions(e){let t=0;return this.sessions.forEach((r,o)=>{r.userId===e&&(r.refreshToken&&this.refreshTokens.delete(r.refreshToken),this.sessions.delete(o),t++);}),t}async addPasswordToHistory(e,t){let r=this.passwordHistory.get(e)||[];r.push(t),r.length>5&&r.splice(0,r.length-5),this.passwordHistory.set(e,r);}async getPasswordHistory(e,t=5){return this.passwordHistory.get(e)||[]}async isPasswordInHistory(e,t,r=5){let o=await this.getPasswordHistory(t,r),s=(await import('./bcryptjs-WIQSWJGK.cjs')).default;for(let i of o)if(await s.compare(e,i))return true;return false}async createEmailVerificationToken(e){let t=Z.randomBytes(32).toString("hex"),r=new Date(Date.now()+1440*60*1e3);return this.emailVerificationTokens.set(t,{userId:e,expiresAt:r}),{token:t,expiresAt:r}}async verifyEmailToken(e){let t=this.emailVerificationTokens.get(e);return !t||t.expiresAt<new Date?(this.emailVerificationTokens.delete(e),{success:false,error:"Invalid or expired token"}):(this.emailVerificationTokens.delete(e),{success:true,userId:t.userId})}async createPasswordResetToken(e){let t=await this.findUserByEmail(e);if(!t)return {token:"",expiresAt:new Date,error:"User not found"};let r=Z.randomBytes(32).toString("hex"),o=new Date(Date.now()+3600*1e3);return this.passwordResetTokens.set(r,{userId:t.id,expiresAt:o}),{token:r,expiresAt:o}}async resetPasswordWithToken(e,t){let r=this.passwordResetTokens.get(e);if(!r||r.expiresAt<new Date)return this.passwordResetTokens.delete(e),{success:false,error:"Invalid or expired token"};let o=await this.hashPassword(t);return await this.updateUser(r.userId,{passwordHash:o}),this.passwordResetTokens.delete(e),{success:true}}async hasAnyUsers(){return this.users.size>0}async findAuditLogs(e){let{limit:t=50,offset:r=0}=e,o=this.auditLogs.slice().reverse();return e.userId&&(o=o.filter(s=>s.userId===e.userId)),e.action&&(Array.isArray(e.action)?o=o.filter(s=>e.action.includes(String(s.action))):o=o.filter(s=>s.action===e.action)),e.resource&&(o=o.filter(s=>s.resource===e.resource)),e.success!==void 0&&(o=o.filter(s=>s.success===e.success)),{logs:o.slice(r,r+t),total:o.length}}async createAuditLog(e){let t=Z.randomBytes(16).toString("hex"),o={...e,id:t,timestamp:new Date};return this.auditLogs.push(o),o}};chunkBUNLC3II_cjs.h();var D=class{storage=new Map;history=new Map;config;constructor(e={}){this.config={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3,...e};}async checkLockout(e){let t=Date.now(),r=this.storage.get(e);if(r&&r.lockedUntil!==null&&r.lockedUntil<=t)return await this.resetAttempts(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};if(!r)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let{attempts:o,lockedUntil:s}=r;return s!==null&&s>t?{locked:true,attemptsRemaining:0,lockedUntil:new Date(s),totalAttempts:o}:{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=Date.now(),r=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};r.attempts+=1,r.lastAttempt=t;let o=this.history.get(e)||[];if(o.push(t),o.length>100&&o.splice(0,o.length-100),this.history.set(e,o),this.storage.set(e,r),r.attempts>=this.config.maxAttempts){let s=new Date(t+this.config.lockDuration);return r.lockedAt=t,r.lockedUntil=s.getTime(),this.storage.set(e,r),{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:r.attempts}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-r.attempts),totalAttempts:r.attempts}}async lockAccount(e,t){let r=Date.now(),o=t||this.config.lockDuration,s=new Date(r+o),i=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};i.attempts=this.config.maxAttempts,i.lockedAt=r,i.lockedUntil=s.getTime(),this.storage.set(e,i);}async unlockAccount(e){await this.resetAttempts(e);}async resetAttempts(e){let t=this.storage.get(e);t&&(t.attempts=0,t.lockedAt=null,t.lockedUntil=null,this.storage.set(e,t)),this.history.delete(e);}async getLockoutHistory(e,t=10){return (this.history.get(e)||[]).slice(-t).reverse().map(o=>new Date(o))}async getLockoutStats(e){let r=(this.history.get(e)||[]).length,o=Math.floor(r/this.config.maxAttempts),s=null,i=this.storage.get(e);i&&i.lockedAt!==null&&(s=new Date(i.lockedAt));let c=o>0?this.config.maxAttempts:0;return {totalFailedAttempts:r,lockoutCount:o,lastLockout:s,averageAttemptsBeforeLockout:c}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};function w(n,e=""){return process.env[n]||e}function S(n,e=false){let t=process.env[n];return t?t.toLowerCase()==="true":e}function f(n,e=0){let t=process.env[n];return t?parseInt(t,10):e}function Ke(){let n=process.env.KYRO_AUTH_DATABASE?.toLowerCase();if(n&&["sqlite","postgres","mongodb","memory"].includes(n))return n;try{let e=Je.join(process.cwd(),"kyro.config.ts"),t=fs.readFileSync(e,"utf8");if(t.includes("createLocalAdapter"))return "sqlite";if(t.includes("createDrizzleAdapter"))return t.includes("postgres")||t.includes("postgresql"),"postgres";if(t.includes("createMongoDBAdapter"))return "mongodb"}catch{}return "memory"}async function Wr(n){let e=process.cwd(),t=e.endsWith("admin")?Je.join(e,".."):e,r=Je.resolve(t,"data","auth.db");switch(n){case "sqlite":return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)});case "postgres":{let o=w("DATABASE_URL","");if(o){let s,i;try{s=(await import('./postgres-js-3Y54EXVQ.cjs')).drizzle,i=await import('./src-6LAUXXDM.cjs');}catch{chunkF4ITQ6XQ_cjs.a(["postgres","drizzle-orm"]),s=(await import('./postgres-js-3Y54EXVQ.cjs')).drizzle,i=await import('./src-6LAUXXDM.cjs');}let c=i.default(o,{onnotice:()=>{}}),l=s(c);return new chunkXBQ6HV3T_cjs.a({db:l})}return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)})}case "mongodb":{let o=w("MONGODB_URI","");if(o){let s;try{let p=await import('./lib-5QYYN6ML.cjs');s=p.MongoClient??p.default?.MongoClient;}catch{chunkF4ITQ6XQ_cjs.a(["mongodb"]);let g=await import('./lib-5QYYN6ML.cjs');s=g.MongoClient??g.default?.MongoClient;}let i=new s(o);await i.connect();let l=new URL(o).pathname.replace(/^\//,"")||"kyro_cms",d=i.db(l);return new chunkWJBQ2NBD_cjs.a({db:d})}return new chunkBHR7OAU4_cjs.a({path:w("KYRO_AUTH_DB_PATH",r)})}default:return new v}}async function q(n,e){let t=S("KYRO_DISTRIBUTED",false),r;if(t){let{RedisAuthAdapter:g}=await import('./redis-adapter-EGMUN65D.cjs'),m=w("REDIS_URL","redis://localhost:6379"),A=S("REDIS_TLS",false),y=new g({url:m,tls:A});await y.connect?.(),r=y;}else {let g=n||Ke();r=await Wr(g),r.connect&&await r.connect();}let o=e?await chunkYUER4JU3_cjs.k.fromConfig(e).catch(()=>null)||chunkYUER4JU3_cjs.k.fromEnv()||void 0:chunkYUER4JU3_cjs.k.fromEnv()||void 0,s=new chunkYUER4JU3_cjs.l({minLength:f("PASSWORD_MIN_LENGTH",12),requireUppercase:S("PASSWORD_REQUIRE_UPPERCASE",true),requireLowercase:S("PASSWORD_REQUIRE_LOWERCASE",true),requireNumbers:S("PASSWORD_REQUIRE_NUMBERS",true),requireSpecialChars:S("PASSWORD_REQUIRE_SPECIAL",true),preventReuse:f("PASSWORD_PREVENT_REUSE",5),maxLength:f("PASSWORD_MAX_LENGTH",128)}),i,c,l;if(t){let m=r.redis;i=new C(m,{maxAttempts:f("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:f("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new R(m,{"auth:login":{window:f("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:f("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:f("RATE_LIMIT_WINDOW_MS",6e4),max:f("RATE_LIMIT_MAX_REQUESTS",100)}}),l=new chunkCFZVJTXW_cjs.bb(m,f("AUDIT_LOG_RETENTION_DAYS",30));}else i=new D({maxAttempts:f("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:f("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new chunkCFZVJTXW_cjs.ab({"auth:login":{window:f("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:f("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:f("RATE_LIMIT_WINDOW_MS",6e4),max:f("RATE_LIMIT_MAX_REQUESTS",100)}}),l=S("AUDIT_LOG_ENABLED",true)?new chunkCFZVJTXW_cjs.db(f("AUDIT_LOG_RETENTION_DAYS",30)):void 0;let d=new chunkCFZVJTXW_cjs.eb({redis:r,email:o,jwtSecret:w("APP_SECRET","change-me"),jwtExpiresIn:w("JWT_EXPIRES_IN","24h"),jwtIssuer:w("JWT_ISSUER","kyro-cms"),jwtAudience:w("JWT_AUDIENCE","kyro-cms-client"),passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l,baseUrl:w("EMAIL_BASE_URL","http://localhost:4321"),emailVerificationRequired:S("EMAIL_VERIFICATION_REQUIRED",true)}),p=t?"distributed":n||Ke();return {authAdapter:r,databaseType:p,email:o,passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l,routes:d}}var Ne=q().catch(n=>(console.warn("[AuthConfig] Failed to initialize auth config:",n.message),null));var qr=12,Gr="24h",Qr="7d",K=class{adapter;config;constructor(e,t){this.adapter=e,this.config={secret:t.secret,expiresIn:t.expiresIn??Gr,refreshExpiresIn:t.refreshExpiresIn??Qr,issuer:t.issuer??"kyro-cms",audience:t.audience??[],saltRounds:t.saltRounds??qr};}async register(e){try{if(await this.adapter.findUserByEmail(e.email))return {success:!1,error:"Email already registered"};let r=await this.adapter.createUser({email:e.email,password:e.password,role:e.role??"customer",tenantId:e.tenantId});return this.createSessionForUser(r)}catch(t){return {success:false,error:String(t)}}}async login(e){try{let t=await this.adapter.verifyPassword(e.email,e.password);return t?this.createSessionForUser(t):{success:!1,error:"Invalid credentials"}}catch(t){return {success:false,error:String(t)}}}async logout(e){await this.adapter.deleteSession(e);}async refreshToken(e){try{let t=await this.adapter.findSessionByToken(e);if(!t||new Date(t.expiresAt)<new Date)return {success:!1,error:"Invalid or expired refresh token"};let r=await this.adapter.findUserById(t.userId);return r?(await this.adapter.deleteSession(e),this.createSessionForUser(r)):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async verifyToken(e){try{let{default:t}=await import('./jsonwebtoken-DFB6ZBZA.cjs');return t.verify(e,this.config.secret,{issuer:this.config.issuer,audience:this.config.audience.length>0?this.config.audience[0]:void 0})}catch{return null}}async getUserFromToken(e){let t=await this.verifyToken(e);return t?this.adapter.findUserById(t.sub):null}async changePassword(e,t,r){try{let o=await this.adapter.findUserById(e);return o?await this.adapter.verifyPassword(o.email,t)?(await this.adapter.updateUser(e,{password:r}),await this.adapter.deleteUserSessions(e),{success:!0,user:o}):{success:!1,error:"Current password is incorrect"}:{success:!1,error:"User not found"}}catch(o){return {success:false,error:String(o)}}}async resetPassword(e,t){try{let r=await this.adapter.findUserByEmail(e);return r?(await this.adapter.updateUser(r.id,{password:t}),await this.adapter.deleteUserSessions(r.id),{success:!0,user:r}):{success:!1,error:"User not found"}}catch(r){return {success:false,error:String(r)}}}async sendEmailVerification(e){try{let{token:t,expiresAt:r}=await this.adapter.createEmailVerificationToken(e);return {success:!0}}catch(t){return {success:false,error:String(t)}}}async verifyEmail(e){try{return await this.adapter.verifyEmailToken(e)}catch(t){return {success:false,error:String(t)}}}async requestPasswordReset(e){try{let t=await this.adapter.createPasswordResetToken(e);return t.error?{success:!1,error:t.error}:{success:!0}}catch(t){return {success:false,error:String(t)}}}async resetPasswordWithToken(e,t){try{return await this.adapter.resetPasswordWithToken(e,t)}catch(r){return {success:false,error:String(r)}}}async deleteAccount(e){try{return await this.adapter.findUserById(e)?(await this.adapter.deleteUserSessions(e),await this.adapter.deleteUser(e),{success:!0}):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async createSessionForUser(e){let t=await this.generateToken(e),r=await this.adapter.createSession(e.id);return {success:true,user:e,session:r,token:t}}async generateToken(e){let{default:t}=await import('./jsonwebtoken-DFB6ZBZA.cjs'),r={sub:e.id,email:e.email,role:e.role,tenantId:e.tenantId},o={expiresIn:this.parseExpiresIn(this.config.expiresIn)/1e3,issuer:this.config.issuer};return this.config.audience.length>0&&(o.audience=this.config.audience[0]),t.sign(r,this.config.secret,o)}async hashPassword(e){let{default:t}=await import('./bcryptjs-WIQSWJGK.cjs');return t.hash(e,this.config.saltRounds)}parseExpiresIn(e){if(typeof e=="number")return e;let t=e.match(/^(\d+)([smhd])$/);if(!t)return 864e5;let r=parseInt(t[1],10);switch(t[2]){case "s":return r*1e3;case "m":return r*6e4;case "h":return r*36e5;case "d":return r*864e5;default:return 864e5}}};function Yr(n,e){return new K(n,e)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();function B(){return {enabled:true,draftsEnabled:true,publishEnabled:true,scheduleEnabled:false,versioningEnabled:true,maxVersionsPerDocument:50,autoPublish:false,requirePublishPermission:true}}var N=class{adapter;config;constructor(e,t){this.adapter=e,this.config={...B(),...t};}async createVersion(e){let r=((await this.adapter.getLatestVersion(e.collection,e.documentId))?.version??0)+1,o={...e,version:r},s=await this.adapter.createVersion(o);return this.config.maxVersionsPerDocument>0&&await this.pruneOldVersions(e.collection,e.documentId),s}async publishVersion(e){let t=await this.adapter.getVersion(e.collection,e.versionId);if(!t)throw new Error("Version not found");if(t.status==="published")throw new Error("Version is already published");await this.adapter.publishVersion(e);}async unpublishDocument(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:1e3});for(let o of r)if(o.status==="published"){await this.createVersion({collection:e,documentId:t,data:o.data,status:"draft",createdBy:"system",changeDescription:"Unpublished document"});break}}async revertToVersion(e,t,r,o){if(!await this.adapter.getVersion(e,r))throw new Error("Version not found");return await this.adapter.revertToVersion({collection:e,documentId:t,versionId:r,userId:o})}async getVersionHistory(e,t,r=20,o=0){return this.adapter.getVersions({collection:e,documentId:t,limit:r,offset:o})}async compareTwoVersions(e,t,r,o){return this.adapter.compareVersions({collection:e,documentId:t,versionA:r,versionB:o})}async getLatestDraft(e,t){return this.adapter.getLatestVersion(e,t)}async getPublishedVersion(e,t){return this.adapter.getPublishedVersion(e,t)}async getVersion(e,t){return this.adapter.getVersion(e,t)}async schedulePublish(e,t,r,o){if(!this.config.scheduleEnabled)throw new Error("Scheduled publishing is not enabled");if(!await this.adapter.getVersion(e,r))throw new Error("Version not found")}async deleteVersionHistory(e,t){await this.adapter.deleteVersions(e,t);}async pruneOldVersions(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:this.config.maxVersionsPerDocument+100});if(r.length<=this.config.maxVersionsPerDocument)return;r.slice(0,this.config.maxVersionsPerDocument);let s=r.slice(this.config.maxVersionsPerDocument);for(let i of s)if(i.status!=="published"){await this.adapter.deleteVersions(e,t);break}}};function Jr(n,e){return new N(n,e)}function Xr(n){return n==="published"}function Zr(n){return n==="draft"}function eo(n){return n==="archived"}chunkBUNLC3II_cjs.h();function to(n){return n?Array.isArray(n)?n:Object.values(n):[]}function ro(n){return n?Array.isArray(n)?n:Object.values(n):[]}function $e(n){return {collections:to(n.collections),globals:ro(n.globals),adapter:n.adapter,plugins:n.plugins,auth:n.auth,cors:n.cors,admin:n.admin,upload:n.upload,graphQL:n.graphQL,typescript:n.typescript,localization:n.localization,rateLimit:n.rateLimit,debug:n.debug}}var oo=$e;chunkBUNLC3II_cjs.h();function no(n){let{siteSettings:e,seoSettings:t,title:r,description:o,image:s,url:i}=n;if(!e)return "";let c=e.siteName||"",l=r||t?.defaultTitle||c,d=t?.titleTemplate,p=t?.separator||" | ",g=t?.siteNameInTitle!==false,m=d?d.replace(/\{\{title\}\}/g,l).replace(/\{\{siteName\}\}/g,g?c:"").replace(/\{\{separator\}\}/g,p).replace(/\s+/g," ").trim():l,A=o||t?.defaultDescription||e.siteDescription||"",y=s||e.siteOgImage?.url||"",U=i||e.siteUrl||"",h=`
|
|
2
2
|
<title>${m}</title>
|
|
3
3
|
<meta name="description" content="${A}">
|
|
4
4
|
`;e.siteFavicon?.url&&(h+=`
|
|
5
5
|
<link rel="icon" type="${e.siteFavicon.mimeType||"image/x-icon"}" href="${e.siteFavicon.url}">`);let re=t?.meta?.robots;re&&(h+=`
|
|
6
6
|
<meta name="robots" content="${re}">`);let oe=t?.meta?.canonicalUrl||U;oe&&(h+=`
|
|
7
|
-
<link rel="canonical" href="${oe}">`);let
|
|
8
|
-
<meta property="og:type" content="${
|
|
7
|
+
<link rel="canonical" href="${oe}">`);let Ze=t?.meta?.ogType||"website";h+=`
|
|
8
|
+
<meta property="og:type" content="${Ze}">
|
|
9
9
|
<meta property="og:title" content="${m}">
|
|
10
10
|
<meta property="og:description" content="${A}">
|
|
11
11
|
<meta property="og:site_name" content="${c}">
|
|
12
12
|
`,U&&(h+=`
|
|
13
13
|
<meta property="og:url" content="${U}">`),y&&(h+=`
|
|
14
14
|
<meta property="og:image" content="${y}">`),t?.social?.fbAppId&&(h+=`
|
|
15
|
-
<meta property="fb:app_id" content="${t.social.fbAppId}">`);let
|
|
16
|
-
<meta name="twitter:card" content="${
|
|
15
|
+
<meta property="fb:app_id" content="${t.social.fbAppId}">`);let et=t?.social?.twitterCardType||"summary_large_image";return h+=`
|
|
16
|
+
<meta name="twitter:card" content="${et}">
|
|
17
17
|
<meta name="twitter:title" content="${m}">
|
|
18
18
|
<meta name="twitter:description" content="${A}">
|
|
19
19
|
`,t?.social?.twitterHandle&&(h+=`
|
|
20
20
|
<meta name="twitter:site" content="${t.social.twitterHandle}">`),y&&(h+=`
|
|
21
21
|
<meta name="twitter:image" content="${y}">`),e.enableI18n&&e.i18n?.language&&(h+=`
|
|
22
|
-
<meta http-equiv="content-language" content="${e.i18n.language}">`),h}function
|
|
22
|
+
<meta http-equiv="content-language" content="${e.i18n.language}">`),h}function so(n){if(!n||!n.analyticsEnabled||!n.analytics)return "";let{googleAnalyticsId:e,googleTagManagerId:t,plausibleDomain:r}=n.analytics,o="";return e&&(o+=`
|
|
23
23
|
<!-- Google Analytics -->
|
|
24
24
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${e}"></script>
|
|
25
25
|
<script>
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
`),r&&(o+=`
|
|
41
41
|
<!-- Plausible Analytics -->
|
|
42
42
|
<script defer data-domain="${r}" src="https://plausible.io/js/script.js"></script>
|
|
43
|
-
`),o}chunkBUNLC3II_cjs.h();var
|
|
43
|
+
`),o}chunkBUNLC3II_cjs.h();var io={facebook:{label:"Facebook"},twitter:{label:"Twitter / X"},instagram:{label:"Instagram"},linkedin:{label:"LinkedIn"},youtube:{label:"YouTube"},tiktok:{label:"TikTok"},pinterest:{label:"Pinterest"},discord:{label:"Discord"},twitch:{label:"Twitch"},github:{label:"GitHub"},mastodon:{label:"Mastodon"}},ao=["facebook","twitter","instagram","linkedin","youtube","tiktok","pinterest","discord","twitch","github","mastodon"];function ze(n){if(!n)return [];let e=n.showAll===true,t=[];for(let r of ao){let o=n[r];if(!o||["tiktok","pinterest","discord","twitch","github","mastodon"].includes(r)&&!e)continue;let i=io[r];t.push({platform:r,url:o,label:i?.label||r});}return t}async function co(n,e){try{let t=await n.findOne({collection:"_globals_social-settings",where:{},draft:e?.draft??!1});return ze(t)}catch{return []}}chunkBUNLC3II_cjs.h();function je(n){return n?{storeName:n.storeName,storeEmail:n.storeEmail,storePhone:n.storePhone,address:n.address,currency:n.currency,tax:n.tax,shipping:n.shipping,orders:n.orders}:{}}async function lo(n,e){try{let t=await n.findOne({collection:"_globals_store-settings",where:{},draft:e?.draft??!1});return je(t)}catch{return {}}}chunkBUNLC3II_cjs.h();function We(n){return n?{testMode:n.testMode,provider:n.provider,stripe:n.stripe,paypal:n.paypal,square:n.square,methods:n.methods,bankTransfer:n.bankTransfer}:{}}async function uo(n,e){try{let t=await n.findOne({collection:"_globals_payment-settings",where:{},draft:e?.draft??!1});return We(t)}catch{return {}}}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();function T(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error);})}function Q(n,e){let t,r=()=>{if(t)return t;let o=indexedDB.open(n);return o.onupgradeneeded=()=>o.result.createObjectStore(e),t=T(o),t.then(s=>{s.onclose=()=>t=void 0;},()=>{t=void 0;}),t};return (o,s)=>r().then(i=>s(i.transaction(e,o).objectStore(e)))}var G;function O(){return G||(G=Q("keyval-store","keyval")),G}function $(n,e=O()){return e("readonly",t=>T(t.get(n)))}function Y(n,e,t=O()){return t("readwrite",r=>(r.put(e,n),T(r.transaction)))}function qe(n,e=O()){return e("readwrite",t=>(t.delete(n),T(t.transaction)))}function Ge(n=O()){return n("readwrite",e=>(e.clear(),T(e.transaction)))}function po(n,e){return n.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue());},T(n.transaction)}function Qe(n=O()){return n("readonly",e=>{if(e.getAllKeys)return T(e.getAllKeys());let t=[];return po(e,r=>t.push(r.key)).then(()=>t)})}var go="idb-keyval",Ye=(n={})=>{let e=n.base&&n.base.length>0?`${n.base}:`:"",t=o=>e+o,r;return n.dbName&&n.storeName&&(r=Q(n.dbName,n.storeName)),{name:go,options:n,async hasItem(o){return await $(t(o),r)!==void 0},async getItem(o){return await $(t(o),r)??null},async getItemRaw(o){return await $(t(o),r)??null},setItem(o,s){return Y(t(o),s,r)},setItemRaw(o,s){return Y(t(o),s,r)},removeItem(o){return qe(t(o),r)},getKeys(){return Qe(r)},clear(){return Ge(r)}}};async function J(n={}){let{namespace:e="kyro",ttl:t}=n,r=chunkO4YE57OS_cjs.f({driver:Ye({dbName:"kyro-cms",storeName:e})}),o=e?`${e}:`:"";return {storage:{getItem:async i=>{let c=`${o}${i}`,l=await r.getItem(c);if(l==null)return null;try{let d=JSON.parse(l);return d.expiry&&Date.now()>d.expiry?(await r.removeItem(c),null):d.value}catch{return l}},setItem:async(i,c)=>{let l=`${o}${i}`,d=JSON.stringify(t?{value:c,expiry:Date.now()+t}:{value:c});await r.setItem(l,d);},removeItem:async i=>{await r.removeItem(`${o}${i}`);}},cleanup:async()=>{await r.dispose?.();}}}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();function X(n){let e=n||process.env.APP_SECRET||process.env.AUTH_SECRET||"development-secret-key";return Z__default.default.createHash("sha256").update(e).digest("hex")}function fo(n,e){let t=Z__default.default.randomBytes(16),r=Z__default.default.createCipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),t),o=r.update(n,"utf8","hex");o+=r.final("hex");let s=r.getAuthTag().toString("hex");return `${t.toString("hex")}:${s}:${o}`}function yo(n,e){let[t,r,o]=n.split(":"),s=Buffer.from(t,"hex"),i=Buffer.from(r,"hex"),c=Z__default.default.createDecipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),s);c.setAuthTag(i);let l=c.update(o,"hex","utf8");return l+=c.final("utf8"),l}async function ee(n={}){let{namespace:e="kyro",ttl:t,encryption:r=true,secret:o,basePath:s}=n,i=s?Je__default.default.join(s,".astro","kyro.json"):Je__default.default.join(process.cwd(),".astro","kyro.json"),c=chunkO4YE57OS_cjs.f({driver:chunkKZHXYXSH_cjs.a({base:i})}),l=r?X(o):null,d=e?`${e}:`:"";return {storage:{getItem:async p=>{let g=`${d}${p}`,m=await c.getItem(g);if(m==null)return null;try{let A=l?yo(m,l):m,y=JSON.parse(A);return y.expiry&&Date.now()>y.expiry?(await c.removeItem(g),null):y.value}catch{return m}},setItem:async(p,g)=>{let m=`${d}${p}`,A=JSON.stringify(t?{value:g,expiry:Date.now()+t}:{value:g});await c.setItem(m,l?fo(A,l):A);},removeItem:async p=>{await c.removeItem(`${d}${p}`);}},cleanup:async()=>{await c.dispose?.();}}}async function te(n){let{environment:e,adapter:t,connectionString:r,encryption:o}=n,s=process.env.APP_SECRET||process.env.AUTH_SECRET,i={enabled:o?.enabled??true,algorithm:o?.algorithm};return e==="browser"?J({namespace:"kyro"}):ee({namespace:"kyro",encryption:i.enabled,secret:s})}async function Xe(n){let e={...n,encryption:{enabled:true,algorithm:n.encryption?.algorithm}};return te(e)}chunkBUNLC3II_cjs.h();function ho(n){return {name:"kyro-loader",load:async e=>{let{store:t,logger:r,parseData:o}=e;r.info(`Loading Kyro CMS collection: "${n.collection}"`);try{let s=[];t.clear();for(let i of s){let c=String(i.id||i._id),l=await o({id:c,data:i});t.set({id:c,data:l,digest:JSON.stringify(l)});}r.info(`Successfully synced ${s.length} entries for "${n.collection}" into Astro store.`);}catch(s){r.error(`Failed to load Kyro collection "${n.collection}": ${s.message}`);}},schema:chunkWC7H45ZG_cjs.f.object({id:chunkWC7H45ZG_cjs.f.string(),createdAt:chunkWC7H45ZG_cjs.f.string().optional(),updatedAt:chunkWC7H45ZG_cjs.f.string().optional()}).passthrough()}}chunkBUNLC3II_cjs.h();function Ao(n){return {input:n.schema||chunkWC7H45ZG_cjs.f.object({}).passthrough(),handler:async(t,r)=>{try{return {success:!0,collection:n.collection,action:n.action,data:t,timestamp:new Date().toISOString()}}catch(o){return {success:false,error:o.message||"CMS Action Execution Failed"}}}}}chunkBUNLC3II_cjs.h();function wo(n={}){let e=n.protectedRoutes||[],t=n.loginPath||"/admin/login",r=n.cookieName||"kyro_session";return async(o,s)=>{let{request:i,cookies:c,redirect:l,locals:d}=o,p=new URL(i.url),g=c?.get?.(r)?.value||i.headers.get("authorization")?.replace("Bearer ",""),m=null;return g&&(m={id:"user_1",email:"admin@kyro-cms.com",role:"admin"}),d.kyroUser=m,e.some(y=>new RegExp("^"+y.replace(/\*/g,".*")+"$").test(p.pathname))&&!m?l(`${t}?redirect=${encodeURIComponent(p.pathname)}`):s()}}chunkBUNLC3II_cjs.h();function bo(n){let e=n?.collections||[],t=`// Auto-generated by Kyro CMS
|
|
44
44
|
declare module 'kyro:collections' {
|
|
45
45
|
export interface KyroCollections {
|
|
46
46
|
`;for(let r of e){let o=r.name||r.slug;t+=` '${o}': Record<string, any>;
|
|
47
47
|
`;}return t+=` }
|
|
48
48
|
}
|
|
49
|
-
`,t}chunkBUNLC3II_cjs.h();function
|
|
50
|
-
Object.defineProperty(exports,"LocalAdapter",{enumerable:true,get:function(){return chunkXDE7CFV6_cjs.a}});Object.defineProperty(exports,"createLocalAdapter",{enumerable:true,get:function(){return chunkXDE7CFV6_cjs.b}});Object.defineProperty(exports,"RedisAuthAdapter",{enumerable:true,get:function(){return chunkS5HTTLN7_cjs.a}});Object.defineProperty(exports,"allGlobalSettings",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.k}});Object.defineProperty(exports,"blogCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.q}});Object.defineProperty(exports,"coreGlobalSettings",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.l}});Object.defineProperty(exports,"createTemplateConfig",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.V}});Object.defineProperty(exports,"ecommerceCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.r}});Object.defineProperty(exports,"ecommerceGlobals",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.s}});Object.defineProperty(exports,"kitchenSinkCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.t}});Object.defineProperty(exports,"mediaCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.v}});Object.defineProperty(exports,"minimalCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.a}});Object.defineProperty(exports,"templateCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.U}});Object.defineProperty(exports,"kyro",{enumerable:true,get:function(){return chunkSTX5V7HG_cjs.a}});Object.defineProperty(exports,"AnalyticsPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.t}});Object.defineProperty(exports,"CommentsPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.u}});Object.defineProperty(exports,"ConfigValidationError",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.a}});Object.defineProperty(exports,"Kyro",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.z}});Object.defineProperty(exports,"KyroPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.q}});Object.defineProperty(exports,"Logger",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.B}});Object.defineProperty(exports,"PluginManager",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.r}});Object.defineProperty(exports,"Registry",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.m}});Object.defineProperty(exports,"ReviewsPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.v}});Object.defineProperty(exports,"SEOPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.s}});Object.defineProperty(exports,"WishlistPlugin",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.w}});Object.defineProperty(exports,"applyCollectionOverrides",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.y}});Object.defineProperty(exports,"collectionToCreateZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.i}});Object.defineProperty(exports,"collectionToUpdateZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.j}});Object.defineProperty(exports,"collectionToWhereZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.k}});Object.defineProperty(exports,"collectionToZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.h}});Object.defineProperty(exports,"createKyro",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.A}});Object.defineProperty(exports,"createRegistry",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.p}});Object.defineProperty(exports,"fieldToZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.g}});Object.defineProperty(exports,"getRegistry",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.n}});Object.defineProperty(exports,"globalToZod",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.l}});Object.defineProperty(exports,"logger",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.C}});Object.defineProperty(exports,"presetPlugins",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.x}});Object.defineProperty(exports,"resetRegistry",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.o}});Object.defineProperty(exports,"validateCollection",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.b}});Object.defineProperty(exports,"validateConfig",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.e}});Object.defineProperty(exports,"validateFields",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.d}});Object.defineProperty(exports,"validateGlobal",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.c}});Object.defineProperty(exports,"z",{enumerable:true,get:function(){return chunkFAAAHE5O_cjs.f}});Object.defineProperty(exports,"autoBootstrap",{enumerable:true,get:function(){return chunkQYI3GOHF_cjs.e}});Object.defineProperty(exports,"bootstrapAdmin",{enumerable:true,get:function(){return chunkQYI3GOHF_cjs.a}});Object.defineProperty(exports,"bootstrapWithRetry",{enumerable:true,get:function(){return chunkQYI3GOHF_cjs.f}});Object.defineProperty(exports,"getBootstrapFromEnv",{enumerable:true,get:function(){return chunkQYI3GOHF_cjs.d}});Object.defineProperty(exports,"CSSGenerator",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.a}});Object.defineProperty(exports,"createAdminStyling",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.g}});Object.defineProperty(exports,"defaultDarkTheme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.d}});Object.defineProperty(exports,"defaultFieldStyling",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.h}});Object.defineProperty(exports,"defaultLightTheme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.c}});Object.defineProperty(exports,"ecommerce2026Theme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.e}});Object.defineProperty(exports,"generateCSSVariables",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.f}});Object.defineProperty(exports,"generateTailwindConfig",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.b}});Object.defineProperty(exports,"ALL_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.q}});Object.defineProperty(exports,"COMPLEX_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.n}});Object.defineProperty(exports,"LAYOUT_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.p}});Object.defineProperty(exports,"PRIMITIVE_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.m}});Object.defineProperty(exports,"RELATIONAL_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.o}});Object.defineProperty(exports,"isArrayField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.d}});Object.defineProperty(exports,"isBlocksField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.f}});Object.defineProperty(exports,"isGroupField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.e}});Object.defineProperty(exports,"isImageField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.h}});Object.defineProperty(exports,"isLayoutField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.k}});Object.defineProperty(exports,"isNumberField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.b}});Object.defineProperty(exports,"isRelationshipField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.c}});Object.defineProperty(exports,"isRichTextField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.i}});Object.defineProperty(exports,"isSelectField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.j}});Object.defineProperty(exports,"isTextField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.a}});Object.defineProperty(exports,"isUploadField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.g}});Object.defineProperty(exports,"normalizeRichTextValue",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.t}});Object.defineProperty(exports,"renderRichText",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.u}});Object.defineProperty(exports,"richTextStyles",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.s}});Object.defineProperty(exports,"createContext",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.a}});Object.defineProperty(exports,"createCountProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.g}});Object.defineProperty(exports,"createCreateProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.d}});Object.defineProperty(exports,"createDeleteProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.f}});Object.defineProperty(exports,"createDynamicRouter",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.h}});Object.defineProperty(exports,"createFindByIDProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.c}});Object.defineProperty(exports,"createFindProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.b}});Object.defineProperty(exports,"createKyroServer",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.i}});Object.defineProperty(exports,"createUpdateProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.e}});Object.defineProperty(exports,"buildGraphQLSchema",{enumerable:true,get:function(){return chunkVOQUO2EZ_cjs.J}});Object.defineProperty(exports,"createGraphQLSchema",{enumerable:true,get:function(){return chunkVOQUO2EZ_cjs.K}});Object.defineProperty(exports,"AuditLogger",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.jb}});Object.defineProperty(exports,"InMemoryAuditLogger",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.lb}});Object.defineProperty(exports,"InMemoryRateLimiter",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.ib}});Object.defineProperty(exports,"MediaService",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.pb}});Object.defineProperty(exports,"createAuditContext",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.kb}});Object.defineProperty(exports,"createHonoApp",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.qb}});Object.defineProperty(exports,"createLocalStorage",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs._a}});Object.defineProperty(exports,"createRESTAPI",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.rb}});Object.defineProperty(exports,"getAppSecret",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.cb}});Object.defineProperty(exports,"getEncryptionKey",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.db}});Object.defineProperty(exports,"getSessionConfig",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.eb}});Object.defineProperty(exports,"isEdgeRuntime",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.ob}});Object.defineProperty(exports,"loadSecrets",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.bb}});Object.defineProperty(exports,"resolveProvider",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.Za}});Object.defineProperty(exports,"setDbAdapter",{enumerable:true,get:function(){return chunkL4ZAI2XB_cjs.ab}});Object.defineProperty(exports,"ConfigService",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.j}});Object.defineProperty(exports,"EmailTransport",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.k}});Object.defineProperty(exports,"PasswordPolicy",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.l}});Object.defineProperty(exports,"getEmailTemplates",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.i}});Object.defineProperty(exports,"renderAccountLocked",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.g}});Object.defineProperty(exports,"renderBaseLayout",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.a}});Object.defineProperty(exports,"renderMagicLink",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.f}});Object.defineProperty(exports,"renderPasswordChanged",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.e}});Object.defineProperty(exports,"renderResetPassword",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.c}});Object.defineProperty(exports,"renderUserInvite",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.h}});Object.defineProperty(exports,"renderVerifyEmail",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.b}});Object.defineProperty(exports,"renderWelcome",{enumerable:true,get:function(){return chunkP7XYIKL6_cjs.d}});Object.defineProperty(exports,"SQLiteAuthAdapter",{enumerable:true,get:function(){return chunkBHR7OAU4_cjs.a}});Object.defineProperty(exports,"ALL_WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkAK754S3T_cjs.e}});Object.defineProperty(exports,"WEBHOOK_COLLECTION",{enumerable:true,get:function(){return chunkAK754S3T_cjs.f}});Object.defineProperty(exports,"WEBHOOK_DELIVERY_COLLECTION",{enumerable:true,get:function(){return chunkAK754S3T_cjs.g}});Object.defineProperty(exports,"WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkAK754S3T_cjs.d}});Object.defineProperty(exports,"WebhookService",{enumerable:true,get:function(){return chunkAK754S3T_cjs.n}});Object.defineProperty(exports,"buildDeliveryRecord",{enumerable:true,get:function(){return chunkAK754S3T_cjs.l}});Object.defineProperty(exports,"createTestPayload",{enumerable:true,get:function(){return chunkAK754S3T_cjs.m}});Object.defineProperty(exports,"createWebhookService",{enumerable:true,get:function(){return chunkAK754S3T_cjs.o}});Object.defineProperty(exports,"deliverWebhook",{enumerable:true,get:function(){return chunkAK754S3T_cjs.j}});Object.defineProperty(exports,"deliverWithRetry",{enumerable:true,get:function(){return chunkAK754S3T_cjs.k}});Object.defineProperty(exports,"generateWebhookSecret",{enumerable:true,get:function(){return chunkAK754S3T_cjs.i}});Object.defineProperty(exports,"signPayload",{enumerable:true,get:function(){return chunkAK754S3T_cjs.h}});Object.defineProperty(exports,"evaluateAccess",{enumerable:true,get:function(){return chunkDUO523BH_cjs.a}});Object.defineProperty(exports,"getWhereClause",{enumerable:true,get:function(){return chunkDUO523BH_cjs.c}});Object.defineProperty(exports,"mergeWhereClauses",{enumerable:true,get:function(){return chunkDUO523BH_cjs.b}});Object.defineProperty(exports,"KyroPubSub",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.b}});Object.defineProperty(exports,"KyroWSServer",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.c}});Object.defineProperty(exports,"PubSub",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.a}});Object.defineProperty(exports,"createWSServer",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.d}});Object.defineProperty(exports,"DrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.c}});Object.defineProperty(exports,"collectionToDrizzleSchema",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.b}});Object.defineProperty(exports,"createDatabase",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.f}});Object.defineProperty(exports,"createDrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.d}});Object.defineProperty(exports,"fieldToDrizzleType",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.a}});Object.defineProperty(exports,"runMigrations",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.g}});Object.defineProperty(exports,"seedDefaultRoles",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.h}});Object.defineProperty(exports,"PostgresAuthAdapter",{enumerable:true,get:function(){return chunkB3GDQ7UI_cjs.a}});Object.defineProperty(exports,"MongoDBAdapter",{enumerable:true,get:function(){return chunkQDHP5E4P_cjs.a}});Object.defineProperty(exports,"createMongoDBAdapter",{enumerable:true,get:function(){return chunkQDHP5E4P_cjs.b}});Object.defineProperty(exports,"MongoDBAuthAdapter",{enumerable:true,get:function(){return chunk5DWYVUQR_cjs.a}});Object.defineProperty(exports,"AbstractBaseAdapter",{enumerable:true,get:function(){return chunkVQ53TFYA_cjs.a}});exports.AccountLockout=C;exports.Auth=K;exports.InMemoryAccountLockout=D;exports.InMemoryAuthAdapter=v;exports.NeonAdapter=L;exports.RateLimiter=R;exports.TursoAdapter=E;exports.VersionManager=N;exports.authConfig=$e;exports.createAuth=Zr;exports.createAuthConfig=q;exports.createAuthStorage=Ze;exports.createNeonAdapter=Fe;exports.createStorage=te;exports.createTursoAdapter=Ke;exports.createVersionManager=eo;exports.defineConfig=ze;exports.defineKyroConfig=io;exports.generateAnalyticsTags=co;exports.generateKyroAstroTypes=To;exports.generateSeoTags=ao;exports.getDefaultDraftPublishConfig=B;exports.getPaymentConfig=mo;exports.getPaymentConfigFromSettings=qe;exports.getSocialLinks=po;exports.getSocialLinksFromSettings=je;exports.getStoreConfig=go;exports.getStoreConfigFromSettings=We;exports.isArchived=oo;exports.isDraft=ro;exports.isPublished=to;exports.kyroAction=So;exports.kyroAuthMiddleware=ko;exports.kyroDevToolbarIntegration=Po;exports.kyroEnvSchema=xo;exports.kyroLoader=bo;exports.runFieldHooks=zr;exports.runHooks=He;
|
|
49
|
+
`,t}chunkBUNLC3II_cjs.h();function So(n={}){return {APP_SECRET:{context:"server",access:"secret",type:"string",optional:false},DATABASE_URL:{context:"server",access:"secret",type:"string",optional:!n.requireDatabase},PUBLIC_KYRO_URL:{context:"client",access:"public",type:"string",optional:true,default:"http://localhost:4321"}}}chunkBUNLC3II_cjs.h();function ko(n={}){return {name:"kyro-dev-toolbar-integration",hooks:{"astro:config:setup":({addDevToolbarApp:e})=>{n.enabled!==false&&typeof e=="function"&&e({id:"kyro-cms",name:"Kyro CMS",icon:'<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>',entrypoint:"@kyro-cms/core/dev-toolbar-app"});}}}}
|
|
50
|
+
Object.defineProperty(exports,"LocalAdapter",{enumerable:true,get:function(){return chunkXDE7CFV6_cjs.a}});Object.defineProperty(exports,"createLocalAdapter",{enumerable:true,get:function(){return chunkXDE7CFV6_cjs.b}});Object.defineProperty(exports,"RedisAuthAdapter",{enumerable:true,get:function(){return chunkS5HTTLN7_cjs.a}});Object.defineProperty(exports,"allGlobalSettings",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.k}});Object.defineProperty(exports,"blogCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.q}});Object.defineProperty(exports,"coreGlobalSettings",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.l}});Object.defineProperty(exports,"createTemplateConfig",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.V}});Object.defineProperty(exports,"ecommerceCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.r}});Object.defineProperty(exports,"ecommerceGlobals",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.s}});Object.defineProperty(exports,"kitchenSinkCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.t}});Object.defineProperty(exports,"mediaCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.v}});Object.defineProperty(exports,"minimalCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.a}});Object.defineProperty(exports,"templateCollections",{enumerable:true,get:function(){return chunk26Q7JXM4_cjs.U}});Object.defineProperty(exports,"kyro",{enumerable:true,get:function(){return chunkSTX5V7HG_cjs.a}});Object.defineProperty(exports,"AnalyticsPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.t}});Object.defineProperty(exports,"CommentsPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.u}});Object.defineProperty(exports,"ConfigValidationError",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.a}});Object.defineProperty(exports,"Kyro",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.z}});Object.defineProperty(exports,"KyroPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.q}});Object.defineProperty(exports,"Logger",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.B}});Object.defineProperty(exports,"PluginManager",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.r}});Object.defineProperty(exports,"Registry",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.m}});Object.defineProperty(exports,"ReviewsPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.v}});Object.defineProperty(exports,"SEOPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.s}});Object.defineProperty(exports,"WishlistPlugin",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.w}});Object.defineProperty(exports,"applyCollectionOverrides",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.y}});Object.defineProperty(exports,"collectionToCreateZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.i}});Object.defineProperty(exports,"collectionToUpdateZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.j}});Object.defineProperty(exports,"collectionToWhereZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.k}});Object.defineProperty(exports,"collectionToZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.h}});Object.defineProperty(exports,"createKyro",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.A}});Object.defineProperty(exports,"createRegistry",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.p}});Object.defineProperty(exports,"fieldToZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.g}});Object.defineProperty(exports,"getRegistry",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.n}});Object.defineProperty(exports,"globalToZod",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.l}});Object.defineProperty(exports,"logger",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.C}});Object.defineProperty(exports,"presetPlugins",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.x}});Object.defineProperty(exports,"resetRegistry",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.o}});Object.defineProperty(exports,"validateCollection",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.b}});Object.defineProperty(exports,"validateConfig",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.e}});Object.defineProperty(exports,"validateFields",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.d}});Object.defineProperty(exports,"validateGlobal",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.c}});Object.defineProperty(exports,"z",{enumerable:true,get:function(){return chunkWC7H45ZG_cjs.f}});Object.defineProperty(exports,"autoBootstrap",{enumerable:true,get:function(){return chunkHKNQVI76_cjs.e}});Object.defineProperty(exports,"bootstrapAdmin",{enumerable:true,get:function(){return chunkHKNQVI76_cjs.a}});Object.defineProperty(exports,"bootstrapWithRetry",{enumerable:true,get:function(){return chunkHKNQVI76_cjs.f}});Object.defineProperty(exports,"getBootstrapFromEnv",{enumerable:true,get:function(){return chunkHKNQVI76_cjs.d}});Object.defineProperty(exports,"CSSGenerator",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.a}});Object.defineProperty(exports,"createAdminStyling",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.g}});Object.defineProperty(exports,"defaultDarkTheme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.d}});Object.defineProperty(exports,"defaultFieldStyling",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.h}});Object.defineProperty(exports,"defaultLightTheme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.c}});Object.defineProperty(exports,"ecommerce2026Theme",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.e}});Object.defineProperty(exports,"generateCSSVariables",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.f}});Object.defineProperty(exports,"generateTailwindConfig",{enumerable:true,get:function(){return chunkJT36FTHY_cjs.b}});Object.defineProperty(exports,"ALL_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.q}});Object.defineProperty(exports,"COMPLEX_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.n}});Object.defineProperty(exports,"LAYOUT_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.p}});Object.defineProperty(exports,"PRIMITIVE_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.m}});Object.defineProperty(exports,"RELATIONAL_FIELD_TYPES",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.o}});Object.defineProperty(exports,"isArrayField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.d}});Object.defineProperty(exports,"isBlocksField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.f}});Object.defineProperty(exports,"isGroupField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.e}});Object.defineProperty(exports,"isImageField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.h}});Object.defineProperty(exports,"isLayoutField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.k}});Object.defineProperty(exports,"isNumberField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.b}});Object.defineProperty(exports,"isRelationshipField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.c}});Object.defineProperty(exports,"isRichTextField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.i}});Object.defineProperty(exports,"isSelectField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.j}});Object.defineProperty(exports,"isTextField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.a}});Object.defineProperty(exports,"isUploadField",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.g}});Object.defineProperty(exports,"normalizeRichTextValue",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.t}});Object.defineProperty(exports,"renderRichText",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.u}});Object.defineProperty(exports,"richTextStyles",{enumerable:true,get:function(){return chunkQC4YXUBT_cjs.s}});Object.defineProperty(exports,"createContext",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.a}});Object.defineProperty(exports,"createCountProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.g}});Object.defineProperty(exports,"createCreateProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.d}});Object.defineProperty(exports,"createDeleteProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.f}});Object.defineProperty(exports,"createDynamicRouter",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.h}});Object.defineProperty(exports,"createFindByIDProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.c}});Object.defineProperty(exports,"createFindProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.b}});Object.defineProperty(exports,"createKyroServer",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.i}});Object.defineProperty(exports,"createUpdateProcedure",{enumerable:true,get:function(){return chunkMP5VC5ER_cjs.e}});Object.defineProperty(exports,"buildGraphQLSchema",{enumerable:true,get:function(){return chunkVOQUO2EZ_cjs.J}});Object.defineProperty(exports,"createGraphQLSchema",{enumerable:true,get:function(){return chunkVOQUO2EZ_cjs.K}});Object.defineProperty(exports,"AuditLogger",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.bb}});Object.defineProperty(exports,"InMemoryAuditLogger",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.db}});Object.defineProperty(exports,"InMemoryRateLimiter",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.ab}});Object.defineProperty(exports,"MediaService",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.hb}});Object.defineProperty(exports,"createAuditContext",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.cb}});Object.defineProperty(exports,"createHonoApp",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.ib}});Object.defineProperty(exports,"createLocalStorage",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs._a}});Object.defineProperty(exports,"createRESTAPI",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.jb}});Object.defineProperty(exports,"isEdgeRuntime",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.gb}});Object.defineProperty(exports,"resolveProvider",{enumerable:true,get:function(){return chunkCFZVJTXW_cjs.Za}});Object.defineProperty(exports,"ConfigService",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.j}});Object.defineProperty(exports,"EmailTransport",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.k}});Object.defineProperty(exports,"PasswordPolicy",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.l}});Object.defineProperty(exports,"getEmailTemplates",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.i}});Object.defineProperty(exports,"renderAccountLocked",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.g}});Object.defineProperty(exports,"renderBaseLayout",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.a}});Object.defineProperty(exports,"renderMagicLink",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.f}});Object.defineProperty(exports,"renderPasswordChanged",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.e}});Object.defineProperty(exports,"renderResetPassword",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.c}});Object.defineProperty(exports,"renderUserInvite",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.h}});Object.defineProperty(exports,"renderVerifyEmail",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.b}});Object.defineProperty(exports,"renderWelcome",{enumerable:true,get:function(){return chunkYUER4JU3_cjs.d}});Object.defineProperty(exports,"SQLiteAuthAdapter",{enumerable:true,get:function(){return chunkBHR7OAU4_cjs.a}});Object.defineProperty(exports,"getAppSecret",{enumerable:true,get:function(){return chunkO4YE57OS_cjs.c}});Object.defineProperty(exports,"getEncryptionKey",{enumerable:true,get:function(){return chunkO4YE57OS_cjs.d}});Object.defineProperty(exports,"getSessionConfig",{enumerable:true,get:function(){return chunkO4YE57OS_cjs.e}});Object.defineProperty(exports,"loadSecrets",{enumerable:true,get:function(){return chunkO4YE57OS_cjs.b}});Object.defineProperty(exports,"setDbAdapter",{enumerable:true,get:function(){return chunkO4YE57OS_cjs.a}});Object.defineProperty(exports,"ALL_WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkAK754S3T_cjs.e}});Object.defineProperty(exports,"WEBHOOK_COLLECTION",{enumerable:true,get:function(){return chunkAK754S3T_cjs.f}});Object.defineProperty(exports,"WEBHOOK_DELIVERY_COLLECTION",{enumerable:true,get:function(){return chunkAK754S3T_cjs.g}});Object.defineProperty(exports,"WEBHOOK_EVENTS",{enumerable:true,get:function(){return chunkAK754S3T_cjs.d}});Object.defineProperty(exports,"WebhookService",{enumerable:true,get:function(){return chunkAK754S3T_cjs.n}});Object.defineProperty(exports,"buildDeliveryRecord",{enumerable:true,get:function(){return chunkAK754S3T_cjs.l}});Object.defineProperty(exports,"createTestPayload",{enumerable:true,get:function(){return chunkAK754S3T_cjs.m}});Object.defineProperty(exports,"createWebhookService",{enumerable:true,get:function(){return chunkAK754S3T_cjs.o}});Object.defineProperty(exports,"deliverWebhook",{enumerable:true,get:function(){return chunkAK754S3T_cjs.j}});Object.defineProperty(exports,"deliverWithRetry",{enumerable:true,get:function(){return chunkAK754S3T_cjs.k}});Object.defineProperty(exports,"generateWebhookSecret",{enumerable:true,get:function(){return chunkAK754S3T_cjs.i}});Object.defineProperty(exports,"signPayload",{enumerable:true,get:function(){return chunkAK754S3T_cjs.h}});Object.defineProperty(exports,"evaluateAccess",{enumerable:true,get:function(){return chunkDUO523BH_cjs.a}});Object.defineProperty(exports,"getWhereClause",{enumerable:true,get:function(){return chunkDUO523BH_cjs.c}});Object.defineProperty(exports,"mergeWhereClauses",{enumerable:true,get:function(){return chunkDUO523BH_cjs.b}});Object.defineProperty(exports,"KyroPubSub",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.b}});Object.defineProperty(exports,"KyroWSServer",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.c}});Object.defineProperty(exports,"PubSub",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.a}});Object.defineProperty(exports,"createWSServer",{enumerable:true,get:function(){return chunkWCFHS7EZ_cjs.d}});Object.defineProperty(exports,"DrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.c}});Object.defineProperty(exports,"collectionToDrizzleSchema",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.b}});Object.defineProperty(exports,"createDatabase",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.f}});Object.defineProperty(exports,"createDrizzleAdapter",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.d}});Object.defineProperty(exports,"fieldToDrizzleType",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.a}});Object.defineProperty(exports,"runMigrations",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.g}});Object.defineProperty(exports,"seedDefaultRoles",{enumerable:true,get:function(){return chunk6KUL2BSA_cjs.h}});Object.defineProperty(exports,"PostgresAuthAdapter",{enumerable:true,get:function(){return chunkXBQ6HV3T_cjs.a}});Object.defineProperty(exports,"MongoDBAdapter",{enumerable:true,get:function(){return chunkZKHTFR5S_cjs.a}});Object.defineProperty(exports,"createMongoDBAdapter",{enumerable:true,get:function(){return chunkZKHTFR5S_cjs.b}});Object.defineProperty(exports,"MongoDBAuthAdapter",{enumerable:true,get:function(){return chunkWJBQ2NBD_cjs.a}});Object.defineProperty(exports,"AbstractBaseAdapter",{enumerable:true,get:function(){return chunkVQ53TFYA_cjs.a}});exports.AccountLockout=C;exports.Auth=K;exports.InMemoryAccountLockout=D;exports.InMemoryAuthAdapter=v;exports.NeonAdapter=L;exports.RateLimiter=R;exports.TursoAdapter=E;exports.VersionManager=N;exports.authConfig=Ne;exports.createAuth=Yr;exports.createAuthConfig=q;exports.createAuthStorage=Xe;exports.createNeonAdapter=He;exports.createStorage=te;exports.createTursoAdapter=Fe;exports.createVersionManager=Jr;exports.defineConfig=$e;exports.defineKyroConfig=oo;exports.generateAnalyticsTags=so;exports.generateKyroAstroTypes=bo;exports.generateSeoTags=no;exports.getDefaultDraftPublishConfig=B;exports.getPaymentConfig=uo;exports.getPaymentConfigFromSettings=We;exports.getSocialLinks=co;exports.getSocialLinksFromSettings=ze;exports.getStoreConfig=lo;exports.getStoreConfigFromSettings=je;exports.isArchived=eo;exports.isDraft=Zr;exports.isPublished=Xr;exports.kyroAction=Ao;exports.kyroAuthMiddleware=wo;exports.kyroDevToolbarIntegration=ko;exports.kyroEnvSchema=So;exports.kyroLoader=ho;exports.runFieldHooks=Br;exports.runHooks=Me;
|