Shared bounds
Local by default
bin, then NIKA_BIN, then the exact optional
platform package. Implicit PATH lookup is refused.
Remote when a URL is present
cwd and bin select the compatible local
engine that captures its immutable snapshot. Contained served names go
directly to the resident and do not require either local source or a binary.
Operation options
inputs is the application channel. Values are strict JSON and stay
literal — a string is never read as @env:NAME, an expression or a number,
and nothing is coerced to the declared type. The engine validates the map
(unknown key, type mismatch, missing required input) and refuses before any
run exists; a value JSON cannot carry rejects run() with
NikaConfigurationError instead of being dropped. The channel needs an
engine that advertises it — inputsLiteral natively (values ride stdin,
never argv), jobInputs over HTTP by served name — and an engine without
it rejects with NikaCompatibilityError; the SDK never falls back to
--var. An execution snapshot freezes its inputs, so an HTTP run of an
explicit local path refuses inputs. Never put a secret here.
vars is deprecated: the native --var KEY=VALUE operator channel —
the engine reads @env:NAME from its own environment and coerces text to
the declared type, so it cannot carry literal API values and has no HTTP
form. Combining vars with inputs rejects run().
Remote check refuses model and nativeStrict. Remote run requires
idempotencyKey (reuse the same key and request after an uncertain
response) and refuses vars, model and maxCostUsd. Signals stop a
request or observer; only run.cancel() requests cancellation of admitted
work; run.result() carries the actual outcome.
Method index
See where each option is consumed.
Type index
Read the exported projections.