Edit: /tmp/tsx-0/17887-f49809244fc4ec3bedf8f2d5041bbdb26d3f6651 (18969B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/dist/plugins/oauth-proxy/index.mjs\";(()=>{\nvar __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var oauth_proxy_exports={};__export(oauth_proxy_exports,{oAuthProxy:()=>oAuthProxy});module.exports=__toCommonJS(oauth_proxy_exports);var import_url=require(\"../../utils/url.mjs\");var import_origin_check=require(\"../../api/middlewares/origin-check.mjs\");var import_crypto=require(\"../../crypto/index.mjs\");var import_cookie_utils=require(\"../../cookies/cookie-utils.mjs\");var import_cookies=require(\"../../cookies/index.mjs\");var import_state=require(\"../../state.mjs\");var import_link_account=require(\"../../oauth2/link-account.mjs\");var import_api=require(\"../../api/index.mjs\");var import_parser=require(\"../../client/parser.mjs\");var import_utils=require(\"./utils.mjs\");var import_api2=require(\"@better-auth/core/api\");var z=__toESM(require(\"zod\"));const oauthProxyQuerySchema=z.object({callbackURL:z.string().meta({description:\"The URL to redirect to after the proxy\"}),profile:z.string().optional().meta({description:\"Encrypted OAuth profile data\"})});const oauthCallbackQuerySchema=z.object({code:z.string().optional(),error:z.string().optional()});const oAuthProxy=__name(opts=>{const maxAge=opts?.maxAge??60;return{id:\"oauth-proxy\",options:opts,endpoints:{oAuthProxy:(0,import_api2.createAuthEndpoint)(\"/oauth-proxy-callback\",{method:\"GET\",operationId:\"oauthProxyCallback\",query:oauthProxyQuerySchema,use:[(0,import_origin_check.originCheck)(ctx=>ctx.query.callbackURL)],metadata:{openapi:{operationId:\"oauthProxyCallback\",description:\"OAuth Proxy Callback\",parameters:[{in:\"query\",name:\"callbackURL\",required:true,description:\"The URL to redirect to after the proxy\"},{in:\"query\",name:\"profile\",required:false,description:\"Encrypted OAuth profile data\"}],responses:{302:{description:\"Redirect\",headers:{Location:{description:\"The URL to redirect to\",schema:{type:\"string\"}}}}}}}},async ctx=>{const baseURLStr=typeof ctx.context.options.baseURL===\"string\"?ctx.context.options.baseURL:(0,import_url.getOrigin)(ctx.context.baseURL)||\"\";const defaultErrorURL=ctx.context.options.onAPIError?.errorURL||`${(0,import_utils.stripTrailingSlash)(baseURLStr)}/api/auth/error`;const encryptedProfile=ctx.query.profile;if(!encryptedProfile){ctx.context.logger.error(\"OAuth proxy callback missing profile data\");throw(0,import_utils.redirectOnError)(ctx,defaultErrorURL,\"missing_profile\")}let decryptedPayload;try{decryptedPayload=await(0,import_crypto.symmetricDecrypt)({key:ctx.context.secretConfig,data:encryptedProfile})}catch(e){ctx.context.logger.error(\"Failed to decrypt OAuth proxy profile\",e);throw(0,import_utils.redirectOnError)(ctx,defaultErrorURL,\"invalid_profile\")}let payload;try{payload=(0,import_parser.parseJSON)(decryptedPayload)}catch(e){ctx.context.logger.error(\"Failed to parse OAuth proxy payload\",e);throw(0,import_utils.redirectOnError)(ctx,defaultErrorURL,\"invalid_payload\")}if(typeof payload.timestamp!==\"number\"||!payload.userInfo||!payload.account||!payload.callbackURL){ctx.context.logger.error(\"Failed to parse OAuth proxy payload\");throw(0,import_utils.redirectOnError)(ctx,defaultErrorURL,\"invalid_payload\")}const errorURL=payload.errorURL||defaultErrorURL;const age=(Date.now()-payload.timestamp)/1e3;if(age>maxAge||age<-10){ctx.context.logger.error(`OAuth proxy payload expired or invalid (age: ${age}s, maxAge: ${maxAge}s)`);throw(0,import_utils.redirectOnError)(ctx,errorURL,\"payload_expired\")}try{await(0,import_state.parseGenericState)(ctx,payload.state)}catch(e){ctx.context.logger.warn(\"Failed to clean up OAuth state\",e)}const result=await(0,import_link_account.handleOAuthUserInfo)(ctx,{userInfo:payload.userInfo,account:payload.account,callbackURL:payload.callbackURL,disableSignUp:payload.disableSignUp});if(result.error||!result.data){ctx.context.logger.error(\"Failed to create user or session\",result.error);throw(0,import_utils.redirectOnError)(ctx,errorURL,\"user_creation_failed\")}await(0,import_cookies.setSessionCookie)(ctx,result.data);const finalURL=result.isRegister?payload.newUserURL||payload.callbackURL:payload.callbackURL;throw ctx.redirect(finalURL)})},hooks:{before:[{matcher(context){return!!(context.path?.startsWith(\"/sign-in/social\")||context.path?.startsWith(\"/sign-in/oauth2\"))},handler:(0,import_api2.createAuthMiddleware)(async ctx=>{if((0,import_utils.checkSkipProxy)(ctx,opts))return;const currentURL=(0,import_utils.resolveCurrentURL)(ctx,opts);const productionURL=opts?.productionURL;const originalCallbackURL=ctx.body?.callbackURL||ctx.context.baseURL;if(productionURL){const productionBaseURL=`${(0,import_utils.stripTrailingSlash)(productionURL)}${ctx.context.options.basePath||\"/api/auth\"}`;ctx.context.baseURL=productionBaseURL}const newCallbackURL=`${(0,import_utils.stripTrailingSlash)(currentURL.origin)}${ctx.context.options.basePath||\"/api/auth\"}/oauth-proxy-callback?callbackURL=${encodeURIComponent(originalCallbackURL)}`;if(!ctx.body)return;ctx.body.callbackURL=newCallbackURL})},{matcher(context){return context.path===\"/callback/:id\"},handler:(0,import_api2.createAuthMiddleware)(async ctx=>{const state=ctx.query?.state||ctx.body?.state;if(!state||typeof state!==\"string\")return;let statePackage;try{statePackage=(0,import_parser.parseJSON)(await(0,import_crypto.symmetricDecrypt)({key:ctx.context.secretConfig,data:state}))}catch{return}if(!statePackage.isOAuthProxy||!statePackage.state||!statePackage.stateCookie){ctx.context.logger.warn(\"Invalid OAuth proxy state package\");return}const query=oauthCallbackQuerySchema.safeParse(ctx.query);if(!query.success){ctx.context.logger.warn(\"Invalid OAuth callback query\",query.error);return}const{code,error}=query.data;let stateData;try{stateData=(0,import_parser.parseJSON)(await(0,import_crypto.symmetricDecrypt)({key:ctx.context.secretConfig,data:statePackage.stateCookie}))}catch(e){ctx.context.logger.error(\"Failed to decrypt OAuth proxy state cookie:\",e);return}const errorURL=stateData.errorURL||ctx.context.options.onAPIError?.errorURL||`${ctx.context.baseURL}/error`;if(error)throw(0,import_utils.redirectOnError)(ctx,errorURL,error);if(!code){ctx.context.logger.error(\"OAuth callback missing authorization code\");throw(0,import_utils.redirectOnError)(ctx,errorURL,\"no_code\")}const providerId=ctx.params?.id;const provider=ctx.context.socialProviders.find(p=>p.id===providerId);if(!provider){ctx.context.logger.error(\"OAuth provider not found\",providerId);throw(0,import_utils.redirectOnError)(ctx,errorURL,\"oauth_provider_not_found\")}let tokens;try{tokens=await provider.validateAuthorizationCode({code,codeVerifier:stateData.codeVerifier,redirectURI:`${ctx.context.baseURL}/callback/${provider.id}`})}catch(e){ctx.context.logger.error(\"Failed to validate authorization code\",e);throw(0,import_utils.redirectOnError)(ctx,errorURL,\"invalid_code\")}if(!tokens)throw(0,import_utils.redirectOnError)(ctx,errorURL,\"invalid_code\");const userInfo=(await provider.getUserInfo(tokens))?.user;if(!userInfo){ctx.context.logger.error(\"Unable to get user info from provider\");throw(0,import_utils.redirectOnError)(ctx,errorURL,\"unable_to_get_user_info\")}if(!userInfo.email){ctx.context.logger.error(\"Provider did not return email\");throw(0,import_utils.redirectOnError)(ctx,errorURL,\"email_not_found\")}const proxyCallbackURL=new URL(stateData.callbackURL);const finalCallbackURL=proxyCallbackURL.searchParams.get(\"callbackURL\")||stateData.callbackURL;const payload={userInfo:{id:String(userInfo.id),email:userInfo.email,name:userInfo.name||\"\",image:userInfo.image,emailVerified:userInfo.emailVerified},account:{providerId:provider.id,accountId:String(userInfo.id),accessToken:tokens.accessToken,refreshToken:tokens.refreshToken,idToken:tokens.idToken,accessTokenExpiresAt:tokens.accessTokenExpiresAt,refreshTokenExpiresAt:tokens.refreshTokenExpiresAt,scope:tokens.scopes?.join(\",\")},state:statePackage.state,callbackURL:finalCallbackURL,newUserURL:stateData.newUserURL,errorURL:stateData.errorURL,disableSignUp:provider.disableImplicitSignUp&&!stateData.requestSignUp||provider.options?.disableSignUp,timestamp:Date.now()};const encryptedPayload=await(0,import_crypto.symmetricEncrypt)({key:ctx.context.secretConfig,data:JSON.stringify(payload)});proxyCallbackURL.searchParams.set(\"profile\",encryptedPayload);throw ctx.redirect(proxyCallbackURL.toString())})}],after:[{matcher(context){return!!(context.path?.startsWith(\"/sign-in/social\")||context.path?.startsWith(\"/sign-in/oauth2\"))},handler:(0,import_api2.createAuthMiddleware)(async ctx=>{if((0,import_utils.checkSkipProxy)(ctx,opts))return;const signInResponse=ctx.context.returned;if(!signInResponse||typeof signInResponse!==\"object\"||!(\"url\"in signInResponse))return;const{url:providerURL}=signInResponse;if(typeof providerURL!==\"string\")return;const oauthURL=new URL(providerURL);const originalState=oauthURL.searchParams.get(\"state\");if(!originalState)return;let stateCookieValue;if(ctx.context.oauthConfig.storeStateStrategy===\"cookie\"){const setCookieHeader=ctx.context.responseHeaders?.get(\"set-cookie\");if(setCookieHeader){const parsedCookies=(0,import_cookie_utils.parseSetCookieHeader)(setCookieHeader);const stateCookie=ctx.context.createAuthCookie(\"oauth_state\");stateCookieValue=parsedCookies.get(stateCookie.name)?.value}}else{const verification=await ctx.context.internalAdapter.findVerificationValue(originalState);if(verification)stateCookieValue=await(0,import_crypto.symmetricEncrypt)({key:ctx.context.secretConfig,data:verification.value})}if(!stateCookieValue){ctx.context.logger.warn(\"No OAuth state cookie value found\");return}try{const statePackage={state:originalState,stateCookie:stateCookieValue,isOAuthProxy:true};const encryptedPackage=await(0,import_crypto.symmetricEncrypt)({key:ctx.context.secretConfig,data:JSON.stringify(statePackage)});oauthURL.searchParams.set(\"state\",encryptedPackage);ctx.context.returned={...signInResponse,url:oauthURL.toString()}}catch(e){ctx.context.logger.error(\"Failed to encrypt OAuth proxy state package:\",e)}})},{matcher(context){return context.path===\"/callback/:id\"},handler:(0,import_api2.createAuthMiddleware)(async ctx=>{const location=ctx.context.responseHeaders?.get(\"location\");if(!location?.includes(\"/oauth-proxy-callback?callbackURL\")||!location.startsWith(\"http\"))return;const productionOrigin=(0,import_url.getOrigin)(opts?.productionURL||(typeof ctx.context.options.baseURL===\"string\"?ctx.context.options.baseURL:void 0)||ctx.context.baseURL);const locationURL=new URL(location);if(locationURL.origin===productionOrigin){const newLocation=locationURL.searchParams.get(\"callbackURL\");if(!newLocation)return;ctx.setHeader(\"location\",newLocation);return}ctx.context.logger.warn(\"OAuth proxy: cross-origin callback reached after hook unexpectedly\")})}]}}},\"oAuthProxy\");0&&(module.exports={oAuthProxy});\n})()\n","warnings":[],"map":{"version":3,"mappings":";i/BAAA,qJAA0B,+BAC1B,wBAA4B,kDAC5B,kBAAmD,kCACnD,wBAAqC,0CACrC,mBAAiC,mCACjC,iBAAkC,2BAClC,wBAAoC,yCACpC,eAAO,+BACP,kBAA0B,mCAC1B,iBAAuF,uBACvF,IAAAA,YAAyD,iCACzD,MAAmB,wBAGnB,MAAM,sBAAwB,EAAE,OAAO,CACtC,YAAa,EAAE,OAAO,EAAE,KAAK,CAAE,YAAa,wCAAyC,CAAC,EACtF,QAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAE,YAAa,8BAA+B,CAAC,CACpF,CAAC,EACD,MAAM,yBAA2B,EAAE,OAAO,CACzC,KAAM,EAAE,OAAO,EAAE,SAAS,EAC1B,MAAO,EAAE,OAAO,EAAE,SAAS,CAC5B,CAAC,EACD,MAAM,WAAa,OAAC,MAAS,CAC5B,MAAM,OAAS,MAAM,QAAU,GAC/B,MAAO,CACN,GAAI,cACJ,QAAS,KACT,UAAW,CAAE,cAAY,gCAAmB,wBAAyB,CACpE,OAAQ,MACR,YAAa,qBACb,MAAO,sBACP,IAAK,IAAC,iCAAa,KAAQ,IAAI,MAAM,WAAW,CAAC,EACjD,SAAU,CAAE,QAAS,CACpB,YAAa,qBACb,YAAa,uBACb,WAAY,CAAC,CACZ,GAAI,QACJ,KAAM,cACN,SAAU,KACV,YAAa,wCACd,EAAG,CACF,GAAI,QACJ,KAAM,UACN,SAAU,MACV,YAAa,8BACd,CAAC,EACD,UAAW,CAAE,IAAK,CACjB,YAAa,WACb,QAAS,CAAE,SAAU,CACpB,YAAa,yBACb,OAAQ,CAAE,KAAM,QAAS,CAC1B,CAAE,CACH,CAAE,CACH,CAAE,CACH,EAAG,MAAO,KAAQ,CACjB,MAAM,WAAa,OAAO,IAAI,QAAQ,QAAQ,UAAY,SAAW,IAAI,QAAQ,QAAQ,WAAU,sBAAU,IAAI,QAAQ,OAAO,GAAK,GACrI,MAAM,gBAAkB,IAAI,QAAQ,QAAQ,YAAY,UAAY,MAAG,iCAAmB,UAAU,CAAC,kBACrG,MAAM,iBAAmB,IAAI,MAAM,QACnC,GAAI,CAAC,iBAAkB,CACtB,IAAI,QAAQ,OAAO,MAAM,2CAA2C,EACpE,QAAM,8BAAgB,IAAK,gBAAiB,iBAAiB,CAC9D,CACA,IAAI,iBACJ,GAAI,CACH,iBAAmB,QAAM,gCAAiB,CACzC,IAAK,IAAI,QAAQ,aACjB,KAAM,gBACP,CAAC,CACF,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,MAAM,wCAAyC,CAAC,EACnE,QAAM,8BAAgB,IAAK,gBAAiB,iBAAiB,CAC9D,CACA,IAAI,QACJ,GAAI,CACH,WAAU,yBAAU,gBAAgB,CACrC,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,MAAM,sCAAuC,CAAC,EACjE,QAAM,8BAAgB,IAAK,gBAAiB,iBAAiB,CAC9D,CACA,GAAI,OAAO,QAAQ,YAAc,UAAY,CAAC,QAAQ,UAAY,CAAC,QAAQ,SAAW,CAAC,QAAQ,YAAa,CAC3G,IAAI,QAAQ,OAAO,MAAM,qCAAqC,EAC9D,QAAM,8BAAgB,IAAK,gBAAiB,iBAAiB,CAC9D,CACA,MAAM,SAAW,QAAQ,UAAY,gBACrC,MAAM,KAAO,KAAK,IAAI,EAAI,QAAQ,WAAa,IAC/C,GAAI,IAAM,QAAU,IAAM,IAAK,CAC9B,IAAI,QAAQ,OAAO,MAAM,gDAAgD,GAAG,cAAc,MAAM,IAAI,EACpG,QAAM,8BAAgB,IAAK,SAAU,iBAAiB,CACvD,CACA,GAAI,CACH,QAAM,gCAAkB,IAAK,QAAQ,KAAK,CAC3C,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,KAAK,iCAAkC,CAAC,CAC5D,CACA,MAAM,OAAS,QAAM,yCAAoB,IAAK,CAC7C,SAAU,QAAQ,SAClB,QAAS,QAAQ,QACjB,YAAa,QAAQ,YACrB,cAAe,QAAQ,aACxB,CAAC,EACD,GAAI,OAAO,OAAS,CAAC,OAAO,KAAM,CACjC,IAAI,QAAQ,OAAO,MAAM,mCAAoC,OAAO,KAAK,EACzE,QAAM,8BAAgB,IAAK,SAAU,sBAAsB,CAC5D,CACA,QAAM,iCAAiB,IAAK,OAAO,IAAI,EACvC,MAAM,SAAW,OAAO,WAAa,QAAQ,YAAc,QAAQ,YAAc,QAAQ,YACzF,MAAM,IAAI,SAAS,QAAQ,CAC5B,CAAC,CAAE,EACH,MAAO,CACN,OAAQ,CAAC,CACR,QAAQ,QAAS,CAChB,MAAO,CAAC,EAAE,QAAQ,MAAM,WAAW,iBAAiB,GAAK,QAAQ,MAAM,WAAW,iBAAiB,EACpG,EACA,WAAS,kCAAqB,MAAO,KAAQ,CAC5C,MAAI,6BAAe,IAAK,IAAI,EAAG,OAC/B,MAAM,cAAa,gCAAkB,IAAK,IAAI,EAC9C,MAAM,cAAgB,MAAM,cAC5B,MAAM,oBAAsB,IAAI,MAAM,aAAe,IAAI,QAAQ,QACjE,GAAI,cAAe,CAClB,MAAM,kBAAoB,MAAG,iCAAmB,aAAa,CAAC,GAAG,IAAI,QAAQ,QAAQ,UAAY,WAAW,GAC5G,IAAI,QAAQ,QAAU,iBACvB,CACA,MAAM,eAAiB,MAAG,iCAAmB,WAAW,MAAM,CAAC,GAAG,IAAI,QAAQ,QAAQ,UAAY,WAAW,qCAAqC,mBAAmB,mBAAmB,CAAC,GACzL,GAAI,CAAC,IAAI,KAAM,OACf,IAAI,KAAK,YAAc,cACxB,CAAC,CACF,EAAG,CACF,QAAQ,QAAS,CAChB,OAAO,QAAQ,OAAS,eACzB,EACA,WAAS,kCAAqB,MAAO,KAAQ,CAC5C,MAAM,MAAQ,IAAI,OAAO,OAAS,IAAI,MAAM,MAC5C,GAAI,CAAC,OAAS,OAAO,QAAU,SAAU,OACzC,IAAI,aACJ,GAAI,CACH,gBAAe,yBAAU,QAAM,gCAAiB,CAC/C,IAAK,IAAI,QAAQ,aACjB,KAAM,KACP,CAAC,CAAC,CACH,MAAQ,CACP,MACD,CACA,GAAI,CAAC,aAAa,cAAgB,CAAC,aAAa,OAAS,CAAC,aAAa,YAAa,CACnF,IAAI,QAAQ,OAAO,KAAK,mCAAmC,EAC3D,MACD,CACA,MAAM,MAAQ,yBAAyB,UAAU,IAAI,KAAK,EAC1D,GAAI,CAAC,MAAM,QAAS,CACnB,IAAI,QAAQ,OAAO,KAAK,+BAAgC,MAAM,KAAK,EACnE,MACD,CACA,KAAM,CAAE,KAAM,KAAM,EAAI,MAAM,KAC9B,IAAI,UACJ,GAAI,CACH,aAAY,yBAAU,QAAM,gCAAiB,CAC5C,IAAK,IAAI,QAAQ,aACjB,KAAM,aAAa,WACpB,CAAC,CAAC,CACH,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,MAAM,8CAA+C,CAAC,EACzE,MACD,CACA,MAAM,SAAW,UAAU,UAAY,IAAI,QAAQ,QAAQ,YAAY,UAAY,GAAG,IAAI,QAAQ,OAAO,SACzG,GAAI,MAAO,QAAM,8BAAgB,IAAK,SAAU,KAAK,EACrD,GAAI,CAAC,KAAM,CACV,IAAI,QAAQ,OAAO,MAAM,2CAA2C,EACpE,QAAM,8BAAgB,IAAK,SAAU,SAAS,CAC/C,CACA,MAAM,WAAa,IAAI,QAAQ,GAC/B,MAAM,SAAW,IAAI,QAAQ,gBAAgB,KAAM,GAAM,EAAE,KAAO,UAAU,EAC5E,GAAI,CAAC,SAAU,CACd,IAAI,QAAQ,OAAO,MAAM,2BAA4B,UAAU,EAC/D,QAAM,8BAAgB,IAAK,SAAU,0BAA0B,CAChE,CACA,IAAI,OACJ,GAAI,CACH,OAAS,MAAM,SAAS,0BAA0B,CACjD,KACA,aAAc,UAAU,aACxB,YAAa,GAAG,IAAI,QAAQ,OAAO,aAAa,SAAS,EAAE,EAC5D,CAAC,CACF,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,MAAM,wCAAyC,CAAC,EACnE,QAAM,8BAAgB,IAAK,SAAU,cAAc,CACpD,CACA,GAAI,CAAC,OAAQ,QAAM,8BAAgB,IAAK,SAAU,cAAc,EAChE,MAAM,UAAY,MAAM,SAAS,YAAY,MAAM,IAAI,KACvD,GAAI,CAAC,SAAU,CACd,IAAI,QAAQ,OAAO,MAAM,uCAAuC,EAChE,QAAM,8BAAgB,IAAK,SAAU,yBAAyB,CAC/D,CACA,GAAI,CAAC,SAAS,MAAO,CACpB,IAAI,QAAQ,OAAO,MAAM,+BAA+B,EACxD,QAAM,8BAAgB,IAAK,SAAU,iBAAiB,CACvD,CACA,MAAM,iBAAmB,IAAI,IAAI,UAAU,WAAW,EACtD,MAAM,iBAAmB,iBAAiB,aAAa,IAAI,aAAa,GAAK,UAAU,YACvF,MAAM,QAAU,CACf,SAAU,CACT,GAAI,OAAO,SAAS,EAAE,EACtB,MAAO,SAAS,MAChB,KAAM,SAAS,MAAQ,GACvB,MAAO,SAAS,MAChB,cAAe,SAAS,aACzB,EACA,QAAS,CACR,WAAY,SAAS,GACrB,UAAW,OAAO,SAAS,EAAE,EAC7B,YAAa,OAAO,YACpB,aAAc,OAAO,aACrB,QAAS,OAAO,QAChB,qBAAsB,OAAO,qBAC7B,sBAAuB,OAAO,sBAC9B,MAAO,OAAO,QAAQ,KAAK,GAAG,CAC/B,EACA,MAAO,aAAa,MACpB,YAAa,iBACb,WAAY,UAAU,WACtB,SAAU,UAAU,SACpB,cAAe,SAAS,uBAAyB,CAAC,UAAU,eAAiB,SAAS,SAAS,cAC/F,UAAW,KAAK,IAAI,CACrB,EACA,MAAM,iBAAmB,QAAM,gCAAiB,CAC/C,IAAK,IAAI,QAAQ,aACjB,KAAM,KAAK,UAAU,OAAO,CAC7B,CAAC,EACD,iBAAiB,aAAa,IAAI,UAAW,gBAAgB,EAC7D,MAAM,IAAI,SAAS,iBAAiB,SAAS,CAAC,CAC/C,CAAC,CACF,CAAC,EACD,MAAO,CAAC,CACP,QAAQ,QAAS,CAChB,MAAO,CAAC,EAAE,QAAQ,MAAM,WAAW,iBAAiB,GAAK,QAAQ,MAAM,WAAW,iBAAiB,EACpG,EACA,WAAS,kCAAqB,MAAO,KAAQ,CAC5C,MAAI,6BAAe,IAAK,IAAI,EAAG,OAC/B,MAAM,eAAiB,IAAI,QAAQ,SACnC,GAAI,CAAC,gBAAkB,OAAO,iBAAmB,UAAY,EAAE,QAAS,gBAAiB,OACzF,KAAM,CAAE,IAAK,WAAY,EAAI,eAC7B,GAAI,OAAO,cAAgB,SAAU,OACrC,MAAM,SAAW,IAAI,IAAI,WAAW,EACpC,MAAM,cAAgB,SAAS,aAAa,IAAI,OAAO,EACvD,GAAI,CAAC,cAAe,OACpB,IAAI,iBACJ,GAAI,IAAI,QAAQ,YAAY,qBAAuB,SAAU,CAC5D,MAAM,gBAAkB,IAAI,QAAQ,iBAAiB,IAAI,YAAY,EACrE,GAAI,gBAAiB,CACpB,MAAM,iBAAgB,0CAAqB,eAAe,EAC1D,MAAM,YAAc,IAAI,QAAQ,iBAAiB,aAAa,EAC9D,iBAAmB,cAAc,IAAI,YAAY,IAAI,GAAG,KACzD,CACD,KAAO,CACN,MAAM,aAAe,MAAM,IAAI,QAAQ,gBAAgB,sBAAsB,aAAa,EAC1F,GAAI,aAAc,iBAAmB,QAAM,gCAAiB,CAC3D,IAAK,IAAI,QAAQ,aACjB,KAAM,aAAa,KACpB,CAAC,CACF,CACA,GAAI,CAAC,iBAAkB,CACtB,IAAI,QAAQ,OAAO,KAAK,mCAAmC,EAC3D,MACD,CACA,GAAI,CACH,MAAM,aAAe,CACpB,MAAO,cACP,YAAa,iBACb,aAAc,IACf,EACA,MAAM,iBAAmB,QAAM,gCAAiB,CAC/C,IAAK,IAAI,QAAQ,aACjB,KAAM,KAAK,UAAU,YAAY,CAClC,CAAC,EACD,SAAS,aAAa,IAAI,QAAS,gBAAgB,EACnD,IAAI,QAAQ,SAAW,CACtB,GAAG,eACH,IAAK,SAAS,SAAS,CACxB,CACD,OAAS,EAAG,CACX,IAAI,QAAQ,OAAO,MAAM,+CAAgD,CAAC,CAC3E,CACD,CAAC,CACF,EAAG,CACF,QAAQ,QAAS,CAChB,OAAO,QAAQ,OAAS,eACzB,EACA,WAAS,kCAAqB,MAAO,KAAQ,CAC5C,MAAM,SAAW,IAAI,QAAQ,iBAAiB,IAAI,UAAU,EAC5D,GAAI,CAAC,UAAU,SAAS,mCAAmC,GAAK,CAAC,SAAS,WAAW,MAAM,EAAG,OAC9F,MAAM,oBAAmB,sBAAU,MAAM,gBAAkB,OAAO,IAAI,QAAQ,QAAQ,UAAY,SAAW,IAAI,QAAQ,QAAQ,QAAU,SAAW,IAAI,QAAQ,OAAO,EACzK,MAAM,YAAc,IAAI,IAAI,QAAQ,EACpC,GAAI,YAAY,SAAW,iBAAkB,CAC5C,MAAM,YAAc,YAAY,aAAa,IAAI,aAAa,EAC9D,GAAI,CAAC,YAAa,OAClB,IAAI,UAAU,WAAY,WAAW,EACrC,MACD,CACA,IAAI,QAAQ,OAAO,KAAK,oEAAoE,CAC7F,CAAC,CACF,CAAC,CACF,CACD,CACD,EAvRmB","names":["import_api"],"ignoreList":[],"sources":["/opt/canhelp/node_modules/better-auth/dist/plugins/oauth-proxy/index.mjs"],"sourcesContent":[null]}}