Runtime Suppport

Obelisk provides built-in runtime support functions that can be accessed by workflows and activities.

These functions offer essential capabilities like logging, random number generation, creating join sets, and, others. Activities and webhook endpoints have access to logging support functions, but not to the other workflow-specific functions.

The runtime support functions are defined using WIT (WebAssembly Interface Type) files.

Available Support Types

Used by other Obelisk WIT interfaces as well as the generated extension, contains time and execution interfaces with types like execution-id and others.

obelisk:types/types@4.2.0

Available Support Functions

Here's a breakdown of the available functions, grouped by their WIT interface:

obelisk:log/log@1.0.0

Available to:

This interface provides standard logging functions. All messages are strings.

Example (Rust):

use obelisk::log::log;

log::info("This is an informational message.");
log::error("This is an error message!");

obelisk:workflow/workflow-support@5.1.0

Available to:

Some of these functions act like host-based activities - they avoid the need to spawn a WASM activity to obtain e.g. a random number. Other functions are related to persistent sleep and join set construction.

Join set resource functions