Runtime SDK
Supported package:
@proof-computer/liskov-runtime
github:proof-computer/liskov-runtime-js#v0.3.26
The main export keeps the compatibility name bootstrapSlipwayRuntime.
bootstrapLiskovRuntime is an alias in this release. Use the documented
high-level handle rather than low-level protocol modules.
Minimal call
const runtime = await bootstrapSlipwayRuntime({
component: "worker",
revision: "release-2026-07-28"
});
Handle
| Member | Contract |
|---|---|
home | Resolved SDK state directory. |
env.get(name) | Return a final runtime value or undefined. |
env.require(name) | Return a final runtime value or throw when absent. |
status() | Return current identity, blockers, and capability states. |
whenReady() | Resolve immediately when required capabilities are ready; otherwise throw SlipwayRuntimeNotReadyError. |
log(event, details?, options?) | Emit a structured Liskov log record. |
flush() | Bounded log flush returning counts and state. |
refreshNow() | Refresh runtime env, make one eligible background-secret attempt, then refresh logging. |
diagnostics.report(...) | Send an ordinary bounded signed diagnostic. |
diagnostics.fatal(...) | First-call-wins terminal boundary; close health/logging and make one bounded signed attempt. |
stop() | Synchronously and idempotently stop SDK timers/retries. |
stop() does not stop the Acurast job.
Capability states
runtimeEnv, secrets, logging, diagnostics, and the optional ingress
adapter use:
| State | Meaning |
|---|---|
off | Intentionally disabled. |
pending | Work has not reached a conclusion. |
ready | Current capability is usable. |
degraded | Partially available; inspect code/message. |
failed | Attempt failed. |
blocked | Prerequisite or trust condition prevents progress. |
Each capability also states whether it is required. status.ready is true only
when all required capabilities are ready.
Common bootstrap options
| Option | Values/default |
|---|---|
appId, component, revision | Optional diagnostic/log metadata. The SDK never derives Application UID from the slug. |
home | Explicit state root; otherwise compatibility env, user home, then /tmp/slipway. |
secrets.mode | required, background, or off; required when signed bootstrap says secrets are required. |
secrets.retry | Defaults: initial 0 ms, interval 5,000 ms, max elapsed 60,000 ms, max attempts 12. |
logging.mode | background by default; also required or off. |
logging.earlyBufferMaxRecords | Default 100 in-memory early records. |
logging.spoolMode | auto, disk, or memory. |
runtimeHealth | Optional interval, initial delay, and send-timeout overrides. |
diagnostics | Local callback for redacted SDK events. |
Transport, clock, environment, identity, randomness, and timer injection options are test hooks; production code normally leaves them unset.
Lookup and bootstrap order
Initial values are read from process environment, then Acurast _STD_.env,
then Acurast environment(name). Signed Liskov bootstrap is authoritative for
the current job, installs runtime-env values, obtains required secret grants,
and then attaches logging. Application code should read through runtime.env
only after bootstrap.
Reserved compact environment values are compatibility wire contracts supplied by Liskov. Customers should not create, expose, or copy them manually.
Logging types
Severity is debug, info, warn, or error. Labels are string pairs.
flush() returns {ok, state, flushed, pending, dropped, message?}.
Application log details must be JSON-safe and non-secret.
See Use the Liskov runtime SDK for a guided entrypoint.