// Errors // Client role export { clientFinishHandshake } from "./client/client-finish.js"; export { clientStartHandshake } from "./client/client-start.js"; export { clientVerifyServerProof } from "./client/client-verify.js"; export { SRP_CODES, SrpError, type SrpErrorCode, srpError, } from "./errors/errors.js"; // Default group constants — non-default sizes live under subpath modules // (`@suaveplan/srp/groups/{1024,1536,3072,4096,6144,8192}`). export { BIT_LENGTH, g_2048, N_2048 } from "./groups/groups-2048.js"; // Hash bridge export { defaultHashBridge, digestSync, nobleHashBridge, type SrpHashAlgorithm, subtleHashBridge, } from "./hash/hash-bridge.js"; // Math primitives export { computeK } from "./math/k.js"; export { bigIntToBytes, bytesToBigInt, modPow } from "./math/modpow.js"; export { PAD } from "./math/pad.js"; export { computeM1, computeM2 } from "./math/proof.js"; export { rngBytes } from "./math/rng-bytes.js"; export { computeU } from "./math/u.js"; export { computeX } from "./math/x.js"; // Observability export { recordDuration, recordOutcome, recordSrpError, resetSrpMetricsForTesting, type SrpOutcome, type SrpPhase, type SrpRole, } from "./observability/metrics.js"; export { srpPakeProvider } from "./pake/pake-provider.js"; // PAKE bridge export type { PakeClientHandshake, PakeOutcome, PakeProvider, PakeRegistration, PakeServerHandshake, } from "./pake/pake-provider.types.js"; // Params export { params2048Sha256, type SrpParams, validateSrpParams, } from "./params/params.js"; // Schemas export { parseSrpParams, SrpHandshakeStateSchema, SrpParamsSchema, VerifierSchema, } from "./schemas/schemas.js"; export { serverFinishHandshake } from "./server/server-finish.js"; // Server role export { serverComputeM2 } from "./server/server-m2.js"; export { serverStartHandshake } from "./server/server-start.js"; // Verifier export { computeVerifier } from "./verifier/verifier.js";