Skip to content

Graphorin API reference v0.7.0


Graphorin API reference / @graphorin/workflow / / Workflow

Interface: Workflow<TState, TInput>

Defined in: packages/workflow/src/types.ts:431

Top-level handle returned by createWorkflow.

Stable

Type Parameters

Type ParameterDefault type
TState extends objectRecord<string, unknown>
TInputPartial<TState>

Properties

PropertyModifierTypeDefined in
namereadonlystringpackages/workflow/src/types.ts:435
nodeNamesreadonlyreadonly string[]packages/workflow/src/types.ts:436

Methods

approve()

ts
approve(
   threadId, 
   name, 
   decision, 
opts?): AsyncIterable<WorkflowEvent<TState>>;

Defined in: packages/workflow/src/types.ts:478

Resolve a named persisted approval (D1) - sugar over resolveAwakeable for requestApproval(name) suspensions.

Parameters

ParameterType
threadIdstring
namestring
decisionunknown
opts?WorkflowResumeOptions

Returns

AsyncIterable<WorkflowEvent&lt;TState&gt;>


deleteThread()

ts
deleteThread(threadId): Promise<void>;

Defined in: packages/workflow/src/types.ts:493

Delete every checkpoint and pending write of threadId across all namespaces (W-005) - the operator lever for per-thread hygiene and targeted erasure requests. Idempotent: deleting an unknown thread is a no-op. Deleting a merely-suspended thread (pending approval / timer / awakeable) destroys its resume state - the caller decides.

Parameters

ParameterType
threadIdstring

Returns

Promise&lt;void&gt;


execute()

ts
execute(input, opts?): AsyncIterable<WorkflowEvent<TState>>;

Defined in: packages/workflow/src/types.ts:437

Parameters

ParameterType
inputTInput
opts?WorkflowExecuteOptions

Returns

AsyncIterable<WorkflowEvent&lt;TState&gt;>


fork()

ts
fork(threadId, fromCheckpointId): Promise<{
  newThreadId: string;
}>;

Defined in: packages/workflow/src/types.ts:494

Parameters

ParameterType
threadIdstring
fromCheckpointIdstring

Returns

Promise<{ newThreadId: string; }>


getState()

ts
getState(threadId): Promise<WorkflowState<TState>>;

Defined in: packages/workflow/src/types.ts:484

Parameters

ParameterType
threadIdstring

Returns

Promise<WorkflowState&lt;TState&gt;>


listCheckpoints()

ts
listCheckpoints(threadId): Promise<readonly Checkpoint[]>;

Defined in: packages/workflow/src/types.ts:485

Parameters

ParameterType
threadIdstring

Returns

Promise&lt;readonly Checkpoint[]&gt;


resolveAwakeable()

ts
resolveAwakeable(
   threadId, 
   name, 
   value?, 
opts?): AsyncIterable<WorkflowEvent<TState>>;

Defined in: packages/workflow/src/types.ts:468

Resolve a named awakeable (durable promise, D1): the suspended awaitExternal(name) call returns value and the thread resumes. Fails with pause-not-found when no pending pause carries the name.

Parameters

ParameterType
threadIdstring
namestring
value?unknown
opts?WorkflowResumeOptions

Returns

AsyncIterable<WorkflowEvent&lt;TState&gt;>


resume()

ts
resume(
   threadId, 
   directive?, 
opts?): AsyncIterable<WorkflowEvent<TState>>;

Defined in: packages/workflow/src/types.ts:438

Parameters

ParameterType
threadIdstring
directive?Directive<Record&lt;string, unknown&gt;, unknown>
opts?WorkflowResumeOptions

Returns

AsyncIterable<WorkflowEvent&lt;TState&gt;>


retry()

ts
retry(threadId, opts?): AsyncIterable<WorkflowEvent<TState>>;

Defined in: packages/workflow/src/types.ts:448

Restart a 'failed' thread from its last failure checkpoint (WF-3/WF-6): successful sibling tasks of the failed step replay from their persisted pending writes; only the failed work re-runs.

Parameters

ParameterType
threadIdstring
opts?WorkflowResumeOptions

Returns

AsyncIterable<WorkflowEvent&lt;TState&gt;>


tick()

ts
tick(threadId, opts?): Promise<{
  fired: boolean;
  nextWakeAt: number | null;
}>;

Defined in: packages/workflow/src/types.ts:456

Fire due durable timers (D1). Scans the thread's pending pauses for sleepUntil records whose wakeAt has passed; when one is due the thread resumes (draining the resulting events internally). Returns whether a timer fired and the next earliest wake-at (epoch ms) still pending, so schedulers know when to call again.

Parameters

ParameterType
threadIdstring
opts?{ now?: number; }
opts.now?number

Returns

Promise<{ fired: boolean; nextWakeAt: number | null; }>