Skip to main content

Shared bounds

Local by default

Engine resolution is explicit bin, then NIKA_BIN, then the exact optional platform package. Implicit PATH lookup is refused.

Remote when a URL is present

For an explicit local path, 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.