Skip to content
Thyme Docs

Tasks, Releases, Executables, and Executions

TermMeaning
TaskA TypeScript module exporting defineTask({ schema, run, ...callbacks }).
Function releaseAn immutable uploaded bundle, identified by function ID and version tag. The API calls it a function.
ExecutableA release bound to args, a profile, schedule, secrets, gas settings, runtime, and persistent state.
ExecutionOne invocation, with its own status, logs, code-version snapshot, and transaction metadata.
ProfileThe chain-specific execution identity and its authorization model.
Task source → local run → uploaded release → configured executable → executions
                                               │
                          profile + args + schedule + secrets + storage

Code and operations

The SDK defines decisions: read with ctx.client, inspect ctx.args, ctx.account, and ctx.secrets, update ctx.storage, and return calls or a skip reason. It does not supply a signing key.

The console, management CLI, and API configure and operate cloud resources. They can manage executable settings, run or simulate work, inspect execution logs, and manage storage subject to role and scope checks. Wallet signatures for profile ownership remain a separate authorization step.

Immutable releases

A function family is a name within a project. Each uploaded tag identifies an immutable bundle. An executable pins one function ID; uploading a newer tag does not update existing executables. Historical executions retain the ID that actually ran.

To change code, pause the executable and stage a version switch. The old version remains committed until the replacement sandbox is ready. See release management.

Invocation and outcomes

An executable has a cron or interval schedule. Manual runs and webhooks are additional invocation channels. canExec: false records a skipped run; canExec: true enters permission checks and submission. The returned calls still need to pass the profile's authorization and gas checks.

Lifecycle callbacks distinguish a task skip or exception from transaction confirmation or submission failure. See storage for when each phase commits state.