createFlowRunner
@forge/monorepo / backend/src / createFlowRunner
Function: createFlowRunner()
createFlowRunner(
deps):object
Defined in: backend/src/flows/runner.ts:127
Parameters
deps
Returns
deliverSignal()
deliverSignal(
context,signal,value?):Promise<readonlyRunResult[]>
Everything parked on a signal, so delivering one can wake what was waiting.
Parameters
context
signal
string
value?
unknown
Returns
Promise<readonly RunResult[]>
notifyRunFinished()
notifyRunFinished(
context,runId):Promise<RunResult|null>
A child run settled — #202.
The fast path. Correctness does not depend on it: drive polls the child's state on every resume, so a
lost notification costs latency rather than a stuck flow. Returns null when no execution was waiting for
this run, which is the common case in a deployment where most runs are chat turns.
Parameters
context
runId
Returns
Promise<RunResult | null>
resume()
resume(
context,executionId):Promise<RunResult>
Continue a stored execution — after a restart, or after a slice ran out.
Parameters
context
executionId
string
Returns
Promise<RunResult>
resumeWith()
resumeWith(
context,executionId,value):Promise<RunResult>
Deliver an answer or a signal to a parked execution.
The value goes through the interpreter as a resumed outcome, so the parked step's assignTo receives it
exactly as any other step's result would. A separate "apply an answer" path would be a second way to write
state, and the two would eventually disagree about where an answer lands.
Parameters
context
executionId
string
value
unknown
Returns
Promise<RunResult>
start()
start(
context,input):Promise<RunResult>
Start a flow at its latest version, pinning that version for this execution's whole life.
Parameters
context
input
depth?
number
flowId
string
runId
state?
Readonly<Record<string, unknown>>
Returns
Promise<RunResult>