Files
2026-05-27 23:47:53 +01:00

70 lines
2.0 KiB
TypeScript

// 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";