Constants
The durations, sizes and protocol identifiers the framework's own options are written in, so a caller writes the same thing the framework reads.
b.constants.TIME and b.constants.BYTES exist because an option holding a bare number is a unit waiting to be guessed: ttl: 300 is five minutes or five seconds depending on which primitive reads it, and maxBytes: 1000000 is a megabyte only if nobody meant MiB. Every duration the framework takes is milliseconds and every size is bytes, and these convert into them from a unit that is written down.
Both refuse a value that is not a non-negative finite number, so TIME.minutes(undefined) throws where the arithmetic would have produced NaN and carried on into a timer.
The rest is protocol identity: HTTP status numbers by name, the envelope and credential magic bytes, the KEM, cipher and KDF identifiers, the post-quantum TLS group preference, and the prefixes that mark a sealed value.
b.constants.TLS_CERT_COMPRESSION() #
The TLS certificate-compression algorithms (RFC 8879) this Node build offers, as a frozen array of their names. It is a function rather than an array because the answer comes from the runtime, and a build that reports none answers an empty array.
The first call asks node:tls and every later call answers the same array, so a caller may read it per connection.
var b = require("@blamejs/core");
b.constants.TLS_CERT_COMPRESSION();
// → ["zlib", "brotli", "zstd"] on Node 26