Family-shared BackendConfig builders for cross-process test backends.
Two consumer-facing factories — {@link make_default_ts_backend_config}
and {@link make_default_rust_backend_config} — own the common shape
for the JS-runtime (Deno/Node on V8) and Rust families respectively.
Per-backend factories in consumer projects compose a small
declaration against one of these and add consumer-specific env vars
via extra_env.
Defaults baked in by family:
- TS — 'memory://' PGlite, 30s startup window, capabilities
without trusted_proxy/login_rate_limit. The TS canonical path
leaves these limiters null in test mode.
- Rust — caller-supplied real Postgres URL (PGlite isn't reachable
from tokio-postgres), 120s startup window (cargo first-build cost),
capabilities including trusted_proxy + login_rate_limit + the
FUZ_TESTING_RESET_DB_ON_STARTUP=true self-wipe gate.
Both builders default port_env_var to 'PORT'. Consumers whose
binary reads a different name (e.g. zzz's ZZZ_PORT) override.
Common across both families: /api/rpc, /api/ws, /health,
/api/account/bootstrap, cookie_name: 'fuz_session', the standard
bootstrap block keyed off default_test_* constants. Builders call
build_test_backend_paths(name) internally when the optional paths
is omitted.