New: the Beacon study — the whole platform in one workflow

Durable execution for AI agents.

Give kyrie your code. It runs reliably — retries on failure, remembers progress, pauses for human approval, and notifies — without you running a single server.

refund_agent.ts
// A run that survives crashes, never double-charges, and waits for a human.
export default async (order, ctx) => {
  // runs once — memoized across retries & resumes
  const charge = await ctx.step("charge", () => stripe.charge(order));

  // parks the run for hours at zero cost, then resumes here
  const ok = await ctx.waitFor("manager-approval");

  return { charged: charge.id, approved: ok.approve };
};

The hard parts, handled.

Durable workflows usually mean queues, retries, idempotency keys, a scheduler, and a state machine. On kyrie they’re a few lines of business logic.

The hard part On kyrie
Don’t re-charge / re-publish on retry ctx.step() — runs once, ever
Survive a crash mid-workflow The run resumes from its last step
Pause for a human for hours ctx.waitFor(key) → ResolveRun
Retry flaky HTTP safely Transient steps retry; memo keeps the rest
Recur every X without drift Self-rescheduling run + idempotency_key

Three nouns. That’s the model.

01 · Task

Define the work once

A unit of work — an HTTP call, a wasm module, or a TypeScript function — with an input and output schema.

02 · Run

Trigger an execution

Each run is recorded, retried, and resumable. Watch every step, retry, and wait on the timeline.

03 · Flow

Chain tasks into a pipeline

A DAG that maps outputs between steps, runs independent steps in parallel, and branches on failure.

Three primitives, one platform.

Mix them freely inside a flow — call the messy outside world, run deterministic compiled logic, and orchestrate it all durably.

customer.http

Call anything

Hit any URL or third-party/LLM API with a guarded HTTP step. Templated inputs, injected secrets, automatic retries on transient failure.

customer.wasm

Run compiled logic

Ship a sandboxed WebAssembly module for deterministic, auditable computation — scoring, validation, policy. Same input, same answer, every time.

customer.script

Orchestrate in TypeScript

Write durable TypeScript with ctx.step and ctx.waitFor. Memoized steps, crash-safe resume, and pause-for-a-human built in.

What you get for free.

Never double-pay

ctx.step memoizes — an expensive call runs once, even across retries and crashes.

Survive crashes

A killed worker resumes the run from its last completed step. No lost progress.

Pause for humans

ctx.waitFor parks a run at zero cost for hours or days, then resumes exactly where it left off.

Safe flaky integrations

Transient failures retry with backoff, without re-running the work that already succeeded.

Recurring without cron

Compose schedules from self-rescheduling runs with idempotent re-arms — no extra infra.

Runs untrusted code

Deno and wasmtime sandboxes with SSRF-guarded egress execute customer code safely.

FOR AI AGENTS

Built for agents — works with Claude Code.

Agents are brilliant but ephemeral — when the process ends or crashes, in-flight work is lost. kyrie is the durable layer underneath an agent’s actions, and it’s MCP-native, so Claude Code can drive it directly.

Claude does the thinking

Your agent reasons, plans, and decides what to do next — with Claude or any model.

kyrie makes the doing durable

Every action is a durable step: it runs once, resumes after a crash, retries flaky calls, pauses for human approval, and can schedule itself — all observable.

MCP-native

Add kyrie to Claude Code (or any MCP client) and the agent gets tools to define tasks, run them, start flows, read run timelines, and manage secrets — the same API a human uses. Your agent can give itself durable execution.

  • kyrie_create_task
  • kyrie_run_task
  • kyrie_start_flow
  • kyrie_get_run
  • kyrie_list_runs
  • kyrie_put_secret
.mcp.json
{
  "mcpServers": {
    "kyrie": {
      "command": "deno",
      "args": ["run", "--allow-net", "--allow-env",
               "kyrie_mcp/server.ts"],
      "env": { "KYRIE_API_KEY": "kyrie_sk_live_…" }
    }
  }
}
CASE STUDY

Beacon: a durable AI content-publishing agent

One workflow that exercises the entire platform — HTTP + wasm + TypeScript in a flow, a human-approval gate, notifications, and a recurring self-rescheduling job. All 19 acceptance checks pass against the live engine — including a real worker crash.

Usage-based pricing.

Pay for what you run. Two simple meters, a free tier to start, no servers to provision.

Executions

$20 per 1M

Every run, flow step, and notification. The core meter for orchestrated work.

Sandbox compute

$15 per 1M compute-seconds

Only for code you run in the script and wasm sandboxes. Waits are free.

See plans & pricing Free tier: 100k executions + 10h compute / mo.

Ship durable workflows today.

Define a task, trigger a run, and let kyrie handle the retries, resumes, waits, and notifications.