Repository navigation
·
32 commits
to main
since this release
A node can park the run until a verdict from outside resumes it. Event Histories recorded by 0.1.0 still replay; the breaking changes concern custom ports, stores and code that reads node results.
Added
TemporalWorkflowEngine.resolveNodeand theresolveNodeUpdateWorkflow Update (RESOLVE_NODE_UPDATE_NAME): a node executor can return{ waiting: true }to park the run untilresolveNodedelivers the node's completion. Refusals come back as aResolveNodeResult, andresolveTimeoutMsbounds the wait for acceptance.outcomeon a node completion: declares the run's result, which the terminalcompletedwrite passes toupdateExecutionStatusas a fourth argument.
Changed
- Breaking. Widen
NodeExecutionResulttoCompletedNodeExecution | WaitingNodeExecution. Narrow onwaitingbefore reading.output. - Breaking. Require
resolveNodeon a customWorkflowEnginePort. It takes aResolveNodeInput({ executionId, nodeId, resolution }). - Breaking. Send the
node_waitingevent and thewaitingandrunningstatuses to theExecutionStore. They can arrive after a cancel or a terminal status, so the store must not let them replace a cancel it recorded or a terminal status.