Jev Config Builder
Builder for JevConfig. Each setting resolves as: explicit value, then environment variable, then default. String settings are trimmed, and a leading byte-order mark is dropped, so the trailing newline or the mark of a value read from a file is harmless, and a value that is blank after trimming counts as unset. build fails on a missing API key first, on its own, and otherwise reports every problem it finds at once, without echoing a secret.
Properties
Allows a plain http:// baseUrl on a host other than this machine, such as an Ollaya server elsewhere on the network. Off by default: without TLS, the API key and every state cross the network in cleartext. A loopback host (localhost, 127.x.x.x, ::1) never needs it.
Model used when a call doesn't name one; falls back to TYPESAFE_DEFAULT_MODEL, then jev-latest.
A Ktor engine to use instead of the platform default (CIO on the JVM, Darwin on Apple platforms, Curl on Linux, WinHttp on Windows, Js on Node.js), e.g. a MockEngine in tests. The client does not close it.
Extra headers sent with every request.
timeout in milliseconds, for Java, which can't call its Duration setter.