interface PregelOptionsStatic context for the graph run, like userId, dbConnection etc.
Optional run control used to request cooperative drain. When RunControl#requestDrain is called (e.g. from a SIGTERM handler or a node), the graph stops at the next superstep boundary, persists its checkpoint, and throws GraphDrained. The run can then be resumed later from the saved checkpoint.
Enables detailed debug logging during graph execution. When enabled, prints information about:
Whether to checkpoint during the run (or only at the end/interruption).
"async": Save checkpoint asynchronously while the next step executes (default)."sync": Save checkpoint synchronously before the next step starts."exit": Save checkpoint only when the graph exits.The encoding to use for the stream.
undefined: Use the default format."text/event-stream": Use the Server-Sent Events format.Specifies which channel keys to retrieve from the checkpoint when resuming execution. This is an advanced option that you generally don't need to set manually. The graph will automatically determine the appropriate input keys based on its configuration.
List of nodes where execution should be interrupted AFTER the node runs. Similar to interruptBefore, but interrupts after node completion. Useful when the node's output needs to be reviewed before proceeding.
// Interrupt after specific nodes
interruptAfter: ["generateContent", "analyze"]
// Interrupt after all nodes
interruptAfter: "all"List of nodes where execution should be interrupted BEFORE the node runs. Can be used for debugging and advanced state manipulation use cases. For human-in-the-loop workflows, developers should prefer the
// Interrupt before specific nodes
interruptBefore: ["humanReview", "qualityCheck"]
// Interrupt before all nodes
interruptBefore: "all"Specifies which channel keys to include in the output stream and final result. Use this to filter which parts of the graph state you want to observe.
// Stream only the 'result' channel
outputKeys: "result"
// Stream multiple channels
outputKeys: ["result", "intermediateState"]The run ID for the current execution. Undefined when runId is not provided in the config.
A shared value store that allows you to store and retrieve state across threads. Useful for implementing long-term memory patterns.
Controls what information is streamed during graph execution. Multiple modes can be enabled simultaneously.
Supported modes:
// Stream only values
streamMode: "values"
// Stream both values and debug info
streamMode: ["values", "debug"]Whether to include subgraph execution details in the stream. When true, state updates from nested graphs will also be streamed.
The value (ms) of the timeout that fired (runTimeout or idleTimeout).
Whether to checkpoint intermediate steps, defaults to true.
If false, only the final checkpoint is saved.
Configuration options for executing a Pregel graph. These options control how the graph executes, what data is streamed, and how interrupts are handled.