Edit: /tmp/tsx-0/17887-944208fefa642039625a5a8f32bf7edac28708ab (7105B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/dist/crypto/index.mjs\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;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 __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var crypto_exports={};__export(crypto_exports,{constantTimeEqual:()=>import_buffer.constantTimeEqual,formatEnvelope:()=>formatEnvelope,generateRandomString:()=>import_random.generateRandomString,getCryptoKey:()=>getCryptoKey,hashPassword:()=>import_password.hashPassword,makeSignature:()=>makeSignature,parseEnvelope:()=>parseEnvelope,signJWT:()=>import_jwt.signJWT,symmetricDecodeJWT:()=>import_jwt.symmetricDecodeJWT,symmetricDecrypt:()=>symmetricDecrypt,symmetricEncodeJWT:()=>import_jwt.symmetricEncodeJWT,symmetricEncrypt:()=>symmetricEncrypt,verifyJWT:()=>import_jwt.verifyJWT,verifyPassword:()=>import_password.verifyPassword});module.exports=__toCommonJS(crypto_exports);var import_buffer=require(\"./buffer.mjs\");var import_jwt=require(\"./jwt.mjs\");var import_password=require(\"./password.mjs\");var import_random=require(\"./random.mjs\");var import_hash=require(\"@better-auth/utils/hash\");var import_utils=require(\"@better-auth/utils\");var import_chacha=require(\"@noble/ciphers/chacha.js\");var import_utils2=require(\"@noble/ciphers/utils.js\");const algorithm={name:\"HMAC\",hash:\"SHA-256\"};const ENVELOPE_PREFIX=\"$ba$\";function parseEnvelope(data){if(!data.startsWith(ENVELOPE_PREFIX))return null;const firstSep=4;const secondSep=data.indexOf(\"$\",firstSep);if(secondSep===-1)return null;const version=parseInt(data.slice(firstSep,secondSep),10);if(!Number.isInteger(version)||version<0)return null;return{version,ciphertext:data.slice(secondSep+1)}}__name(parseEnvelope,\"parseEnvelope\");function formatEnvelope(version,ciphertext){return`${ENVELOPE_PREFIX}${version}$${ciphertext}`}__name(formatEnvelope,\"formatEnvelope\");async function rawEncrypt(secret,data){const keyAsBytes=await(0,import_hash.createHash)(\"SHA-256\").digest(secret);const dataAsBytes=(0,import_utils2.utf8ToBytes)(data);return(0,import_utils2.bytesToHex)((0,import_utils2.managedNonce)(import_chacha.xchacha20poly1305)(new Uint8Array(keyAsBytes)).encrypt(dataAsBytes))}__name(rawEncrypt,\"rawEncrypt\");async function rawDecrypt(secret,hex){const keyAsBytes=await(0,import_hash.createHash)(\"SHA-256\").digest(secret);const dataAsBytes=(0,import_utils2.hexToBytes)(hex);const chacha=(0,import_utils2.managedNonce)(import_chacha.xchacha20poly1305)(new Uint8Array(keyAsBytes));return new TextDecoder().decode(chacha.decrypt(dataAsBytes))}__name(rawDecrypt,\"rawDecrypt\");const symmetricEncrypt=__name(async({key,data})=>{if(typeof key===\"string\")return rawEncrypt(key,data);const secret=key.keys.get(key.currentVersion);if(!secret)throw new Error(`Secret version ${key.currentVersion} not found in keys`);const ciphertext=await rawEncrypt(secret,data);return formatEnvelope(key.currentVersion,ciphertext)},\"symmetricEncrypt\");const symmetricDecrypt=__name(async({key,data})=>{if(typeof key===\"string\")return rawDecrypt(key,data);const envelope=parseEnvelope(data);if(envelope){const secret=key.keys.get(envelope.version);if(!secret)throw new Error(`Secret version ${envelope.version} not found in keys (key may have been retired)`);return rawDecrypt(secret,envelope.ciphertext)}if(key.legacySecret)return rawDecrypt(key.legacySecret,data);throw new Error(\"Cannot decrypt legacy bare-hex payload: no legacy secret available. Set BETTER_AUTH_SECRET for backwards compatibility.\")},\"symmetricDecrypt\");const getCryptoKey=__name(async secret=>{const secretBuf=typeof secret===\"string\"?new TextEncoder().encode(secret):secret;return await(0,import_utils.getWebcryptoSubtle)().importKey(\"raw\",secretBuf,algorithm,false,[\"sign\",\"verify\"])},\"getCryptoKey\");const makeSignature=__name(async(value,secret)=>{const key=await getCryptoKey(secret);const signature=await(0,import_utils.getWebcryptoSubtle)().sign(algorithm.name,key,new TextEncoder().encode(value));return btoa(String.fromCharCode(...new Uint8Array(signature)))},\"makeSignature\");0&&(module.exports={constantTimeEqual,formatEnvelope,generateRandomString,getCryptoKey,hashPassword,makeSignature,parseEnvelope,signJWT,symmetricDecodeJWT,symmetricDecrypt,symmetricEncodeJWT,symmetricEncrypt,verifyJWT,verifyPassword});\n})()\n","warnings":[],"map":{"version":3,"mappings":";suBAAA,yrBAAkC,wBAClC,eAA2E,qBAC3E,oBAA6C,0BAC7C,kBAAqC,wBACrC,gBAA2B,mCAC3B,iBAAmC,8BACnC,kBAAkC,oCAClC,IAAAA,cAAkE,mCAGlE,MAAM,UAAY,CACjB,KAAM,OACN,KAAM,SACP,EACA,MAAM,gBAAkB,OACxB,SAAS,cAAc,KAAM,CAC5B,GAAI,CAAC,KAAK,WAAW,eAAe,EAAG,OAAO,KAC9C,MAAM,SAAW,EACjB,MAAM,UAAY,KAAK,QAAQ,IAAK,QAAQ,EAC5C,GAAI,YAAc,GAAI,OAAO,KAC7B,MAAM,QAAU,SAAS,KAAK,MAAM,SAAU,SAAS,EAAG,EAAE,EAC5D,GAAI,CAAC,OAAO,UAAU,OAAO,GAAK,QAAU,EAAG,OAAO,KACtD,MAAO,CACN,QACA,WAAY,KAAK,MAAM,UAAY,CAAC,CACrC,CACD,CAXS,sCAYT,SAAS,eAAe,QAAS,WAAY,CAC5C,MAAO,GAAG,eAAe,GAAG,OAAO,IAAI,UAAU,EAClD,CAFS,wCAGT,eAAe,WAAW,OAAQ,KAAM,CACvC,MAAM,WAAa,QAAM,wBAAW,SAAS,EAAE,OAAO,MAAM,EAC5D,MAAM,eAAc,2BAAY,IAAI,EACpC,SAAO,6BAAW,4BAAa,+BAAiB,EAAE,IAAI,WAAW,UAAU,CAAC,EAAE,QAAQ,WAAW,CAAC,CACnG,CAJe,gCAKf,eAAe,WAAW,OAAQ,IAAK,CACtC,MAAM,WAAa,QAAM,wBAAW,SAAS,EAAE,OAAO,MAAM,EAC5D,MAAM,eAAc,0BAAW,GAAG,EAClC,MAAM,UAAS,4BAAa,+BAAiB,EAAE,IAAI,WAAW,UAAU,CAAC,EACzE,OAAO,IAAI,YAAY,EAAE,OAAO,OAAO,QAAQ,WAAW,CAAC,CAC5D,CALe,gCAMf,MAAM,iBAAmB,aAAO,CAAE,IAAK,IAAK,IAAM,CACjD,GAAI,OAAO,MAAQ,SAAU,OAAO,WAAW,IAAK,IAAI,EACxD,MAAM,OAAS,IAAI,KAAK,IAAI,IAAI,cAAc,EAC9C,GAAI,CAAC,OAAQ,MAAM,IAAI,MAAM,kBAAkB,IAAI,cAAc,oBAAoB,EACrF,MAAM,WAAa,MAAM,WAAW,OAAQ,IAAI,EAChD,OAAO,eAAe,IAAI,eAAgB,UAAU,CACrD,EANyB,oBAOzB,MAAM,iBAAmB,aAAO,CAAE,IAAK,IAAK,IAAM,CACjD,GAAI,OAAO,MAAQ,SAAU,OAAO,WAAW,IAAK,IAAI,EACxD,MAAM,SAAW,cAAc,IAAI,EACnC,GAAI,SAAU,CACb,MAAM,OAAS,IAAI,KAAK,IAAI,SAAS,OAAO,EAC5C,GAAI,CAAC,OAAQ,MAAM,IAAI,MAAM,kBAAkB,SAAS,OAAO,gDAAgD,EAC/G,OAAO,WAAW,OAAQ,SAAS,UAAU,CAC9C,CACA,GAAI,IAAI,aAAc,OAAO,WAAW,IAAI,aAAc,IAAI,EAC9D,MAAM,IAAI,MAAM,yHAAyH,CAC1I,EAVyB,oBAWzB,MAAM,aAAe,aAAO,QAAW,CACtC,MAAM,UAAY,OAAO,SAAW,SAAW,IAAI,YAAY,EAAE,OAAO,MAAM,EAAI,OAClF,OAAO,QAAM,iCAAmB,EAAE,UAAU,MAAO,UAAW,UAAW,MAAO,CAAC,OAAQ,QAAQ,CAAC,CACnG,EAHqB,gBAIrB,MAAM,cAAgB,aAAO,MAAO,SAAW,CAC9C,MAAM,IAAM,MAAM,aAAa,MAAM,EACrC,MAAM,UAAY,QAAM,iCAAmB,EAAE,KAAK,UAAU,KAAM,IAAK,IAAI,YAAY,EAAE,OAAO,KAAK,CAAC,EACtG,OAAO,KAAK,OAAO,aAAa,GAAG,IAAI,WAAW,SAAS,CAAC,CAAC,CAC9D,EAJsB","names":["import_utils"],"ignoreList":[],"sources":["/opt/canhelp/node_modules/better-auth/dist/crypto/index.mjs"],"sourcesContent":[null]}}