Status: Durable run streaming is available against the partner-preview gateway. Exact browser approval events remain pending production activation. Cancellation-reconciliation code is deployed, but final-status behavior remains pending a separate live canary. The SDK is source-available but is not published to npm.Use
streamRunEvents() for GET /v1/runs/:id/events. Each event has this
shared envelope:
Durable event vocabulary
Only
run.completed, run.failed, and run.cancelled are terminal. Rich
candidate model, text, tool, memory, output, usage, and request.* turn events
in the source repository are offline schemas. They are not emitted by the
public task projector and have no public streaming method.
Consume events
cancelRun() separately if you intend to request cancellation.
Reconnect with Last-Event-ID
Persist a sequence only after your event handler commits its work. Pass that
sequence as lastEventId when reconnecting:
Last-Event-ID and verifies that every returned SSE id is
numeric and equals the event’s sequence. It also verifies the run_id,
strictly increasing sequences, terminal ordering, and EOF behavior. Reconnect
explicitly after a transport failure; the SDK does not retry a stream
automatically.
Reconciliation final-status contract
The migration and compatible Workers are deployed, but this path remains pending a separate live canary. Once that gate clears, reconciliation usesrun.progress; it does not add a status or event type.
The stream remains open while the run projects as running. Treat this exact
message as a no-retry signal:
run.failed, failure.code: "run_outcome_unknown", and retryable: false.
Inspect the external system before submitting replacement work.
Approval events after activation
approval.required contains the exact server-issued summary and action digest.
Render the summary unchanged. Return the digest through approveRun() or
denyRun(). The server re-derives the presentation and rejects a missing,
stale, unsupported, foreign, or mismatched digest.
Continue with Errors and retries for request
failures and cancellation semantics.