{"version":3,"file":"node.mjs","names":["argon2id","hashWasmArgon2id","nodeProvider: CryptoProvider"],"sources":["../../../src/crypto/providers/node.ts"],"sourcesContent":["/**\n * Node provider: thin re-export of the WASM module + a hash-wasm Argon2id binding.\n *\n * This is the default provider — picked by package.json `exports.node` and `default`.\n * Server-side (essi.studio) uses this unchanged.\n */\n\nimport { argon2id as hashWasmArgon2id } from 'hash-wasm'\n\nimport * as wasm from '../../../wasm/vault_crypto.js'\nimport type { Argon2idOptions, CryptoProvider } from '../provider'\n\nasync function argon2id(opts: Argon2idOptions): Promise<Uint8Array> {\n  const hash = await hashWasmArgon2id({\n    password: opts.password,\n    salt: opts.salt,\n    parallelism: opts.parallelism,\n    iterations: opts.iterations,\n    memorySize: opts.memorySize,\n    hashLength: opts.hashLength,\n    outputType: 'binary',\n  })\n  return new Uint8Array(hash)\n}\n\nexport const nodeProvider: CryptoProvider = {\n  backend: 'wasm',\n\n  // AEAD\n  aesGcmEncrypt: wasm.aesGcmEncrypt,\n  aesGcmDecrypt: wasm.aesGcmDecrypt,\n  xchachaEncrypt: wasm.xchachaEncrypt,\n  xchachaDecrypt: wasm.xchachaDecrypt,\n\n  // Argon2id\n  argon2id,\n\n  // KDF\n  hkdfExpand: wasm.hkdfExpand,\n  hkdfJoin: wasm.hkdfJoin,\n  deriveCek: wasm.deriveCek,\n  deriveKid: wasm.deriveKid,\n  deriveSymmetricKid: wasm.deriveSymmetricKid,\n\n  // KEM\n  kemGenerateKeypair: wasm.kemGenerateKeypair,\n  kemEncapsulate: wasm.kemEncapsulate,\n  kemDecapsulate: wasm.kemDecapsulate,\n  kemWrapCek: wasm.kemWrapCek,\n  kemUnwrapCek: wasm.kemUnwrapCek,\n\n  // Shamir\n  shamirSplit: wasm.shamirSplit,\n  shamirReconstruct: wasm.shamirReconstruct,\n  shamirSplitAndWrap: wasm.shamirSplitAndWrap,\n  shamirUnwrapAndReconstruct: wasm.shamirUnwrapAndReconstruct,\n  SecretShare: wasm.SecretShare,\n\n  // Utilities\n  randomBytes: wasm.randomBytes,\n  generateCek: wasm.generateCek,\n  generateNonceAesGcm: wasm.generateNonceAesGcm,\n  generateNonceXchacha: wasm.generateNonceXchacha,\n  keyCommitment: wasm.keyCommitment,\n  verifyKeyCommitment: wasm.verifyKeyCommitment,\n  sha256: wasm.sha256,\n  blake2s256: wasm.blake2s256,\n  computeSummary: wasm.computeSummary,\n  constantTimeEq: wasm.constantTimeEq,\n  toBase64Url: wasm.toBase64Url,\n  fromBase64Url: wasm.fromBase64Url,\n  toHex: wasm.toHex,\n  fromHex: wasm.fromHex,\n  generateUuid: wasm.generateUuid,\n  zeroize: wasm.zeroize,\n  canonicalAad: wasm.canonicalAad,\n  buildContext: wasm.buildContext,\n}\n"],"mappings":";;;;;;;;;;;;AAYA,eAAeA,WAAS,MAA4C;CAClE,MAAM,OAAO,MAAMC,SAAiB;EAClC,UAAU,KAAK;EACf,MAAM,KAAK;EACX,aAAa,KAAK;EAClB,YAAY,KAAK;EACjB,YAAY,KAAK;EACjB,YAAY,KAAK;EACjB,YAAY;EACb,CAAC;AACF,QAAO,IAAI,WAAW,KAAK;;AAG7B,MAAaC,eAA+B;CAC1C,SAAS;CAGT,mCAAoB;CACpB,mCAAoB;CACpB,oCAAqB;CACrB,oCAAqB;CAGrB;CAGA,gCAAiB;CACjB,8BAAe;CACf,+BAAgB;CAChB,+BAAgB;CAChB,wCAAyB;CAGzB,wCAAyB;CACzB,oCAAqB;CACrB,oCAAqB;CACrB,gCAAiB;CACjB,kCAAmB;CAGnB,iCAAkB;CAClB,uCAAwB;CACxB,wCAAyB;CACzB,gDAAiC;CACjC,iCAAkB;CAGlB,iCAAkB;CAClB,iCAAkB;CAClB,yCAA0B;CAC1B,0CAA2B;CAC3B,mCAAoB;CACpB,yCAA0B;CAC1B,4BAAa;CACb,gCAAiB;CACjB,oCAAqB;CACrB,oCAAqB;CACrB,iCAAkB;CAClB,mCAAoB;CACpB,2BAAY;CACZ,6BAAc;CACd,kCAAmB;CACnB,6BAAc;CACd,kCAAmB;CACnB,kCAAmB;CACpB"}