Interrupts the execution of a graph node.
This function can be used to pause execution of a node, and return the value of the resume
input when the graph is re-invoked using Command.
Multiple interrupts can be called within a single node, and each will be handled sequentially.
When an interrupt is called:
resume value available (from a previous Command), it returns that value.GraphInterrupt with the provided valueCommand with a resume valueBecause the interrupt function propagates by throwing a special GraphInterrupt error,
you should avoid using try/catch blocks around the interrupt function,
or if you do, ensure that the GraphInterrupt error is thrown again within your catch block.
| Name | Type | Description |
|---|---|---|
value* | I | The value to include in the interrupt. This will be available in task.interrupts[].value |
// Define a node that uses multiple interrupts
const nodeWithInterrupts = () => {
// First interrupt - will pause execution and include {value: 1} in task values
const answer1 = interrupt({ value: 1 });
// Second interrupt - only called after first interrupt is resumed
const answer2 = interrupt({ value: 2 });
// Use the resume values
return { myKey: answer1 + " " + answer2 };
};
// Resume the graph after first interrupt
await graph.stream(new Command({ resume: "answer 1" }));
// Resume the graph after second interrupt
await graph.stream(new Command({ resume: "answer 2" }));
// Final result: { myKey: "answer 1 answer 2" }