The technology

Execution state that survives the process.

Trigora transforms supported programs into resumable executions. At durable boundaries, execution state can be committed and later restored without reconstructing the current program position through prefix replay.

Programming model

Write ordinary programs.

Trigora doesn't require you to express execution as a workflow graph. Ordinary control flow stays ordinary. Durable operations are explicit.

  • if
  • for
  • try / catch / finally
  • Promise.all
  • external waits
  • child execution

TypeScript

export async function researchAgent(input) {
  const sources = await effect("search", () =>
    search(input.query)
  );

  const reports = await Promise.all(
    sources.map((source) => invoke(analyze, source))
  );

  const approval = await waitForEvent("approved");

  return effect("publish", () => publish(approval));
}

Durable boundaries

Durability is part of execution.

Effects, waits, child executions, and other durable operations create points where execution can safely survive interruption.

Effects

External work whose committed outcome can be reused during recovery.

Waits

Execution can suspend without keeping a process alive.

Children

Long-running work can compose into durable execution trees.

Recovery

The process is disposable. The execution isn't.

A Trigora execution is not tied to the lifetime of the worker running it. Once continuation state is committed, another process can restore that execution and continue from the saved boundary.

Recovery from a committed continuation checkpoint does not require prefix replay.

The engine

Transparent Continuation Checkpointing

TCC is the execution mechanism underneath Trigora that makes resumable execution possible.

Programming models

The execution model isn't tied to one language.

TypeScript is Trigora's first frontend. The execution architecture is designed to support additional languages and framework integrations over the same durable execution model.

Trigora Cloud

From execution engine to infrastructure.

We're productizing this execution model as managed infrastructure for long-running software.

Deploy

Ship durable programs without operating the execution infrastructure yourself.

Observe

Inspect running, suspended, failed, and completed executions.

Integrate

Start and resume executions through APIs, events, schedules, webhooks, and external systems.

Get early access →