From 579c7831b915d7e596d612333da4b94be7000c72 Mon Sep 17 00:00:00 2001 From: Lauren Hirata Singh Date: Fri, 11 Jul 2025 17:07:43 -0400 Subject: [PATCH] docs: static vs dynamic interrupts (#5426) * docs: static vs dynamic interrupts * fixes based on feedback * fix image * Add section about debugging in Studio * Reorg content based on feedback * fix * fix links * fix wording * fix wording --- docs/_scripts/notebook_hooks.py | 9 +- .../cloud/how-tos/add-human-in-the-loop.md | 181 ++++++++- .../how-tos/human_in_the_loop_breakpoint.md | 185 ---------- docs/docs/cloud/how-tos/invoke_studio.md | 2 +- docs/docs/concepts/breakpoints.md | 18 - docs/docs/concepts/human_in_the_loop.md | 13 +- .../human_in_the_loop/static-interrupt.png | Bin 0 -> 123514 bytes docs/docs/concepts/persistence.md | 4 +- docs/docs/guides/index.md | 3 +- .../add-human-in-the-loop.md | 176 ++++++++- .../how-tos/human_in_the_loop/breakpoints.md | 342 ------------------ .../how-tos/human_in_the_loop/time-travel.md | 2 +- docs/mkdocs.yml | 4 - 13 files changed, 368 insertions(+), 571 deletions(-) delete mode 100644 docs/docs/cloud/how-tos/human_in_the_loop_breakpoint.md delete mode 100644 docs/docs/concepts/breakpoints.md create mode 100644 docs/docs/concepts/img/human_in_the_loop/static-interrupt.png delete mode 100644 docs/docs/how-tos/human_in_the_loop/breakpoints.md diff --git a/docs/_scripts/notebook_hooks.py b/docs/_scripts/notebook_hooks.py index 5ddb38289..81882d397 100644 --- a/docs/_scripts/notebook_hooks.py +++ b/docs/_scripts/notebook_hooks.py @@ -101,10 +101,6 @@ REDIRECT_MAP = { "how-tos/create-react-agent-memory.ipynb": "agents/memory.md", "how-tos/create-react-agent-system-prompt.ipynb": "agents/context.md#prompts", "how-tos/create-react-agent-structured-output.ipynb": "agents/agents.md#structured-output", - # Time-travel - "how-tos/human_in_the_loop/edit-graph-state.ipynb": "how-tos/human_in_the_loop/time-travel.md", - # breakpoints - "how-tos/human_in_the_loop/dynamic_breakpoints.ipynb": "how-tos/human_in_the_loop/breakpoints.md", # misc "prebuilt.md": "agents/prebuilt.md", "reference/prebuilt.md": "reference/agents.md", @@ -126,6 +122,11 @@ REDIRECT_MAP = { "how-tos/review-tool-calls-functional.ipynb": "how-tos/use-functional-api.md", "how-tos/create-react-agent-hitl.ipynb": "how-tos/human_in_the_loop/add-human-in-the-loop.md", "agents/human-in-the-loop.md": "how-tos/human_in_the_loop/add-human-in-the-loop.md", + "how-tos/human_in_the_loop/dynamic_breakpoints.ipynb": "how-tos/human_in_the_loop/breakpoints.md", + "concepts/breakpoints.md": "concepts/human_in_the_loop.md", + "how-tos/human_in_the_loop/breakpoints.md": "how-tos/human_in_the_loop/add-human-in-the-loop.md", + "cloud/how-tos/human_in_the_loop_breakpoint.md": "cloud/how-tos/add-human-in-the-loop.md", + "how-tos/human_in_the_loop/edit-graph-state.ipynb": "how-tos/human_in_the_loop/time-travel.md", } diff --git a/docs/docs/cloud/how-tos/add-human-in-the-loop.md b/docs/docs/cloud/how-tos/add-human-in-the-loop.md index ecdd2004c..1df6c0c4e 100644 --- a/docs/docs/cloud/how-tos/add-human-in-the-loop.md +++ b/docs/docs/cloud/how-tos/add-human-in-the-loop.md @@ -2,7 +2,7 @@ To review, edit, and approve tool calls in an agent or workflow, use LangGraph's [human-in-the-loop](../../concepts/human_in_the_loop.md) features. -## LangGraph API invoke & resume +## Dynamic interrupts === "Python" @@ -305,6 +305,185 @@ To review, edit, and approve tool calls in an agent or workflow, use LangGraph's }" ``` +## Static interrupts + +Static interrupts (also known as static breakpoints) are triggered either before or after a node executes. + +!!! warning + + Static interrupts are **not** recommended for human-in-the-loop workflows. They are best used for debugging and testing. + +You can set static interrupts by specifying `interrupt_before` and `interrupt_after` at compile time: + +```python +# highlight-next-line +graph = graph_builder.compile( # (1)! + # highlight-next-line + interrupt_before=["node_a"], # (2)! + # highlight-next-line + interrupt_after=["node_b", "node_c"], # (3)! +) +``` + +1. The breakpoints are set during `compile` time. +2. `interrupt_before` specifies the nodes where execution should pause before the node is executed. +3. `interrupt_after` specifies the nodes where execution should pause after the node is executed. + +Alternatively, you can set static interrupts at run time: + +=== "Python" + + ```python + # highlight-next-line + await client.runs.wait( # (1)! + thread_id, + assistant_id, + inputs=inputs, + # highlight-next-line + interrupt_before=["node_a"], # (2)! + # highlight-next-line + interrupt_after=["node_b", "node_c"] # (3)! + ) + ``` + + 1. `client.runs.wait` is called with the `interrupt_before` and `interrupt_after` parameters. This is a run-time configuration and can be changed for every invocation. + 2. `interrupt_before` specifies the nodes where execution should pause before the node is executed. + 3. `interrupt_after` specifies the nodes where execution should pause after the node is executed. + +=== "JavaScript" + + ```js + // highlight-next-line + await client.runs.wait( // (1)! + threadID, + assistantID, + { + input: input, + // highlight-next-line + interruptBefore: ["node_a"], // (2)! + // highlight-next-line + interruptAfter: ["node_b", "node_c"] // (3)! + } + ) + ``` + + 1. `client.runs.wait` is called with the `interruptBefore` and `interruptAfter` parameters. This is a run-time configuration and can be changed for every invocation. + 2. `interruptBefore` specifies the nodes where execution should pause before the node is executed. + 3. `interruptAfter` specifies the nodes where execution should pause after the node is executed. + +=== "cURL" + + ```bash + curl --request POST \ + --url /threads//runs/wait \ + --header 'Content-Type: application/json' \ + --data "{ + \"assistant_id\": \"agent\", + \"interrupt_before\": [\"node_a\"], + \"interrupt_after\": [\"node_b\", \"node_c\"], + \"input\": + }" + ``` + +The following example shows how to add static interrupts: + +=== "Python" + + ```python + from langgraph_sdk import get_client + client = get_client(url=) + + # Using the graph deployed with the name "agent" + assistant_id = "agent" + + # create a thread + thread = await client.threads.create() + thread_id = thread["thread_id"] + + # Run the graph until the breakpoint + result = await client.runs.wait( + thread_id, + assistant_id, + input=inputs # (1)! + ) + + # Resume the graph + await client.runs.wait( + thread_id, + assistant_id, + input=None # (2)! + ) + ``` + + 1. The graph is run until the first breakpoint is hit. + 2. The graph is resumed by passing in `None` for the input. This will run the graph until the next breakpoint is hit. + +=== "JavaScript" + + ```js + import { Client } from "@langchain/langgraph-sdk"; + const client = new Client({ apiUrl: }); + + // Using the graph deployed with the name "agent" + const assistantID = "agent"; + + // create a thread + const thread = await client.threads.create(); + const threadID = thread["thread_id"]; + + // Run the graph until the breakpoint + const result = await client.runs.wait( + threadID, + assistantID, + { input: input } // (1)! + ); + + // Resume the graph + await client.runs.wait( + threadID, + assistantID, + { input: null } // (2)! + ); + ``` + + 1. The graph is run until the first breakpoint is hit. + 2. The graph is resumed by passing in `null` for the input. This will run the graph until the next breakpoint is hit. + +=== "cURL" + + Create a thread: + + ```bash + curl --request POST \ + --url /threads \ + --header 'Content-Type: application/json' \ + --data '{}' + ``` + + Run the graph until the breakpoint: + + ```bash + curl --request POST \ + --url /threads//runs/wait \ + --header 'Content-Type: application/json' \ + --data "{ + \"assistant_id\": \"agent\", + \"input\": + }" + ``` + + Resume the graph: + + ```bash + curl --request POST \ + --url /threads//runs/wait \ + --header 'Content-Type: application/json' \ + --data "{ + \"assistant_id\": \"agent\" + }" + ``` + + ## Learn more - [Human-in-the-loop conceptual guide](../../concepts/human_in_the_loop.md): learn more about LangGraph human-in-the-loop features. diff --git a/docs/docs/cloud/how-tos/human_in_the_loop_breakpoint.md b/docs/docs/cloud/how-tos/human_in_the_loop_breakpoint.md deleted file mode 100644 index f52c96954..000000000 --- a/docs/docs/cloud/how-tos/human_in_the_loop_breakpoint.md +++ /dev/null @@ -1,185 +0,0 @@ -# Set breakpoints using Server API - -[Breakpoints](../../concepts/breakpoints.md) pause graph execution at defined points and let you step through each stage. They use LangGraph's [**persistence layer**](../../concepts/persistence.md), which saves the graph state after each step. - -With breakpoints, you can inspect the graph's state and node inputs at any point. Execution pauses indefinitely until you resume, as the checkpointer preserves the state. - -!!! tip - - For conceptual information on breakpoints, see [Breakpoints](../../concepts/breakpoints.md). - -## Set static breakpoints - -Static breakpoints are triggered either before or after a node executes. You can set static breakpoints by specifying `interrupt_before` and `interrupt_after` at compile time or run time. - -=== "Compile time" - - ```python - # highlight-next-line - graph = graph_builder.compile( # (1)! - # highlight-next-line - interrupt_before=["node_a"], # (2)! - # highlight-next-line - interrupt_after=["node_b", "node_c"], # (3)! - ) - ``` - - 1. The breakpoints are set during `compile` time. - 2. `interrupt_before` specifies the nodes where execution should pause before the node is executed. - 3. `interrupt_after` specifies the nodes where execution should pause after the node is executed. - -=== "Run time" - - === "Python" - - ```python - # highlight-next-line - await client.runs.wait( # (1)! - thread_id, - assistant_id, - inputs=inputs, - # highlight-next-line - interrupt_before=["node_a"], # (2)! - # highlight-next-line - interrupt_after=["node_b", "node_c"] # (3)! - ) - ``` - - 1. `client.runs.wait` is called with the `interrupt_before` and `interrupt_after` parameters. This is a run-time configuration and can be changed for every invocation. - 2. `interrupt_before` specifies the nodes where execution should pause before the node is executed. - 3. `interrupt_after` specifies the nodes where execution should pause after the node is executed. - - === "JavaScript" - - ```js - // highlight-next-line - await client.runs.wait( // (1)! - threadID, - assistantID, - { - input: input, - // highlight-next-line - interruptBefore: ["node_a"], // (2)! - // highlight-next-line - interruptAfter: ["node_b", "node_c"] // (3)! - } - ) - ``` - - 1. `client.runs.wait` is called with the `interruptBefore` and `interruptAfter` parameters. This is a run-time configuration and can be changed for every invocation. - 2. `interruptBefore` specifies the nodes where execution should pause before the node is executed. - 3. `interruptAfter` specifies the nodes where execution should pause after the node is executed. - - === "cURL" - - ```bash - curl --request POST \ - --url /threads//runs/wait \ - --header 'Content-Type: application/json' \ - --data "{ - \"assistant_id\": \"agent\", - \"interrupt_before\": [\"node_a\"], - \"interrupt_after\": [\"node_b\", \"node_c\"], - \"input\": - }" - ``` - -## Example - -This example shows how to add **static** breakpoints. See [Use breakpoints](../../how-tos/human_in_the_loop/breakpoints.md) for more options on adding breakpoints. - -=== "Python" - - ```python - from langgraph_sdk import get_client - client = get_client(url=) - - # Using the graph deployed with the name "agent" - assistant_id = "agent" - - # create a thread - thread = await client.threads.create() - thread_id = thread["thread_id"] - - # Run the graph until the breakpoint - result = await client.runs.wait( - thread_id, - assistant_id, - input=inputs # (1)! - ) - - # Resume the graph - await client.runs.wait( - thread_id, - assistant_id, - input=None # (2)! - ) - ``` - - 1. The graph is run until the first breakpoint is hit. - 2. The graph is resumed by passing in `None` for the input. This will run the graph until the next breakpoint is hit. - -=== "JavaScript" - - ```js - import { Client } from "@langchain/langgraph-sdk"; - const client = new Client({ apiUrl: }); - - // Using the graph deployed with the name "agent" - const assistantID = "agent"; - - // create a thread - const thread = await client.threads.create(); - const threadID = thread["thread_id"]; - - // Run the graph until the breakpoint - const result = await client.runs.wait( - threadID, - assistantID, - { input: input } // (1)! - ); - - // Resume the graph - await client.runs.wait( - threadID, - assistantID, - { input: null } // (2)! - ); - ``` - - 1. The graph is run until the first breakpoint is hit. - 2. The graph is resumed by passing in `null` for the input. This will run the graph until the next breakpoint is hit. - -=== "cURL" - - Create a thread: - - ```bash - curl --request POST \ - --url /threads \ - --header 'Content-Type: application/json' \ - --data '{}' - ``` - - Run the graph until the breakpoint: - - ```bash - curl --request POST \ - --url /threads//runs/wait \ - --header 'Content-Type: application/json' \ - --data "{ - \"assistant_id\": \"agent\", - \"input\": - }" - ``` - - Resume the graph: - - ```bash - curl --request POST \ - --url /threads//runs/wait \ - --header 'Content-Type: application/json' \ - --data "{ - \"assistant_id\": \"agent\" - }" - ``` \ No newline at end of file diff --git a/docs/docs/cloud/how-tos/invoke_studio.md b/docs/docs/cloud/how-tos/invoke_studio.md index 0548373e1..d01b8eeb3 100644 --- a/docs/docs/cloud/how-tos/invoke_studio.md +++ b/docs/docs/cloud/how-tos/invoke_studio.md @@ -29,7 +29,7 @@ Click the dropdown next to "Submit" and click the toggle to enable/disable strea To run your graph with breakpoints, click the "Interrupt" button. Select a node and whether to pause before and/or after that node has executed. Click "Continue" in the thread log to resume execution. -For more information on breakpoints see [here](../../concepts/breakpoints.md). +For more information on breakpoints see [here](../../concepts/human_in_the_loop.md). ### Submit run diff --git a/docs/docs/concepts/breakpoints.md b/docs/docs/concepts/breakpoints.md deleted file mode 100644 index ecd580271..000000000 --- a/docs/docs/concepts/breakpoints.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -search: - boost: 2 ---- - -# Breakpoints - -[Breakpoints](../how-tos/human_in_the_loop/breakpoints.md) pause graph execution at defined points and let you step through each stage. They use LangGraph's [**persistence layer**](./persistence.md), which saves the graph state after each step. - -With breakpoints, you can inspect the graph's state and node inputs at any point. Execution pauses **indefinitely** until you resume, as the checkpointer preserves the state. - -
-![image](img/breakpoints.png){: style="max-height:400px"} -
An example graph consisting of 3 sequential steps with a breakpoint before step_3.
- -!!! tip - - For information on how to use breakpoints, see [Set breakpoints](../how-tos/human_in_the_loop/breakpoints.md) and [Set breakpoints using Server API](../cloud/how-tos/human_in_the_loop_breakpoint.md). \ No newline at end of file diff --git a/docs/docs/concepts/human_in_the_loop.md b/docs/docs/concepts/human_in_the_loop.md index b11e5c2ae..eabe5fe85 100644 --- a/docs/docs/concepts/human_in_the_loop.md +++ b/docs/docs/concepts/human_in_the_loop.md @@ -23,9 +23,18 @@ To review, edit, and approve tool calls in an agent or workflow, [use LangGraph' ## Key capabilities -* **Persistent execution state**: LangGraph allows you to pause execution **indefinitely** — for minutes, hours, or even days—until human input is received. This is possible because LangGraph checkpoints the graph state after each step, which allows the system to persist execution context and later resume the workflow, continuing from where it left off. This supports asynchronous human review or input without time constraints. +* **Persistent execution state**: Interrupts use LangGraph's [persistence](../../concepts/persistence.md) layer, which saves the graph state, to indefinitely pause graph execution until you resume. This is possible because LangGraph checkpoints the graph state after each step, which allows the system to persist execution context and later resume the workflow, continuing from where it left off. This supports asynchronous human review or input without time constraints. -* **Flexible integration points**: HIL logic can be introduced at any point in the workflow. This allows targeted human involvement, such as approving API calls, correcting outputs, or guiding conversations. + There are two ways to pause a graph: + + - [Dynamic interrupts](../how-tos/human_in_the_loop/add-human-in-the-loop.md#pause-using-interrupt): Use `interrupt` to pause a graph from inside a specific node, based on the current state of the graph. + - [Static interrupts](../how-tos/human_in_the_loop/add-human-in-the-loop.md#debug-with-interrupts): Use `interrupt_before` and `interrupt_after` to pause the graph at defined points, either before or after a node executes. + +
+ ![image](./img/breakpoints.png){: style="max-height:400px"} +
An example graph consisting of 3 sequential steps with a breakpoint before step_3.
+ +* **Flexible integration points**: Human-in-the-loop logic can be introduced at any point in the workflow. This allows targeted human involvement, such as approving API calls, correcting outputs, or guiding conversations. ## Patterns diff --git a/docs/docs/concepts/img/human_in_the_loop/static-interrupt.png b/docs/docs/concepts/img/human_in_the_loop/static-interrupt.png new file mode 100644 index 0000000000000000000000000000000000000000..d095dd2d7e6ce68a1e9f0d75496962459dbb8713 GIT binary patch literal 123514 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�JcG-E9;`^Kx$tmjq~C!+M$gG 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 State: - # highlight-next-line - if len(state["input"]) > 5: - # highlight-next-line - raise NodeInterrupt( # (1)! - f"Received input that is longer than 5 characters: {state['foo']}" - ) - return state -``` - -1. raise NodeInterrupt exception based on a some condition. In this example, we create a dynamic breakpoint if the length of the attribute `input` is longer than 5 characters. - -
Using dynamic breakpoints - -```python -from typing_extensions import TypedDict -from IPython.display import Image, display - -from langgraph.graph import StateGraph, START, END -from langgraph.checkpoint.memory import MemorySaver -from langgraph.errors import NodeInterrupt - - -class State(TypedDict): - input: str - - -def step_1(state: State) -> State: - print("---Step 1---") - return state - - -def step_2(state: State) -> State: - # Let's optionally raise a NodeInterrupt - # if the length of the input is longer than 5 characters - if len(state["input"]) > 5: - raise NodeInterrupt( - f"Received input that is longer than 5 characters: {state['input']}" - ) - print("---Step 2---") - return state - - -def step_3(state: State) -> State: - print("---Step 3---") - return state - - -builder = StateGraph(State) -builder.add_node("step_1", step_1) -builder.add_node("step_2", step_2) -builder.add_node("step_3", step_3) -builder.add_edge(START, "step_1") -builder.add_edge("step_1", "step_2") -builder.add_edge("step_2", "step_3") -builder.add_edge("step_3", END) - -# Set up memory -memory = MemorySaver() - -# Compile the graph with memory -graph = builder.compile(checkpointer=memory) - -# View -display(Image(graph.get_graph().draw_mermaid_png())) -``` - -First, let's run the graph with an input that <= 5 characters long. This should safely ignore the interrupt condition we defined and return the original input at the end of the graph execution. - -```python -initial_input = {"input": "hello"} -thread_config = {"configurable": {"thread_id": "1"}} - -for event in graph.stream(initial_input, thread_config, stream_mode="values"): - print(event) -``` - -If we inspect the graph at this point, we can see that there are no more tasks left to run and that the graph indeed finished execution. - -```python -state = graph.get_state(thread_config) -print(state.next) -print(state.tasks) -``` - -Now, let's run the graph with an input that's longer than 5 characters. This should trigger the dynamic interrupt we defined via raising a `NodeInterrupt` error inside the `step_2` node. - -```python -initial_input = {"input": "hello world"} -thread_config = {"configurable": {"thread_id": "2"}} - -# Run the graph until the first interruption -for event in graph.stream(initial_input, thread_config, stream_mode="values"): - print(event) -``` - -We can see that the graph now stopped while executing `step_2`. If we inspect the graph state at this point, we can see the information on what node is set to execute next (`step_2`), as well as what node raised the interrupt (also `step_2`), and additional information about the interrupt. - -```python -state = graph.get_state(thread_config) -print(state.next) -print(state.tasks) -``` - -If we try to resume the graph from the breakpoint, we will simply interrupt again as our inputs & graph state haven't changed. - -```python -# NOTE: to resume the graph from a dynamic interrupt we use the same syntax as with regular interrupts -- we pass None as the input -for event in graph.stream(None, thread_config, stream_mode="values"): - print(event) -``` - -```python -state = graph.get_state(thread_config) -print(state.next) -print(state.tasks) -``` - -
- -## Use with subgraphs - -To add breakpoints to subgraph either: - -* Define [static breakpoints](#static-breakpoints) by specifying them when **compiling** the subgraph. -* Define [dynamic breakpoints](#dynamic-breakpoints). - -
Add breakpoints to subgraphs - -```python -from typing_extensions import TypedDict - -from langgraph.graph import START, StateGraph -from langgraph.checkpoint.memory import InMemorySaver -from langgraph.types import interrupt - - -class State(TypedDict): - foo: str - - -def subgraph_node_1(state: State): - return {"foo": state["foo"]} - - -subgraph_builder = StateGraph(State) -subgraph_builder.add_node(subgraph_node_1) -subgraph_builder.add_edge(START, "subgraph_node_1") - -subgraph = subgraph_builder.compile(interrupt_before=["subgraph_node_1"]) - -builder = StateGraph(State) -builder.add_node("node_1", subgraph) # directly include subgraph as a node -builder.add_edge(START, "node_1") - -checkpointer = InMemorySaver() -graph = builder.compile(checkpointer=checkpointer) - -config = {"configurable": {"thread_id": "1"}} - -graph.invoke({"foo": ""}, config) - -# Fetch state including subgraph state. -print(graph.get_state(config, subgraphs=True).tasks[0].state) - -# resume the subgraph -graph.invoke(None, config) -``` - -
\ No newline at end of file diff --git a/docs/docs/how-tos/human_in_the_loop/time-travel.md b/docs/docs/how-tos/human_in_the_loop/time-travel.md index 4b1a78182..84ded8410 100644 --- a/docs/docs/how-tos/human_in_the_loop/time-travel.md +++ b/docs/docs/how-tos/human_in_the_loop/time-travel.md @@ -4,7 +4,7 @@ To use [time-travel](../../concepts/time-travel.md) in LangGraph: 1. [Run the graph](#1-run-the-graph) with initial inputs using [`invoke`][langgraph.graph.state.CompiledStateGraph.invoke] or [`stream`][langgraph.graph.state.CompiledStateGraph.stream] methods. 2. [Identify a checkpoint in an existing thread](#2-identify-a-checkpoint): Use the [`get_state_history()`][langgraph.graph.state.CompiledStateGraph.get_state_history] method to retrieve the execution history for a specific `thread_id` and locate the desired `checkpoint_id`. - Alternatively, set a [breakpoint](../../concepts/breakpoints.md) before the node(s) where you want execution to pause. You can then find the most recent checkpoint recorded up to that breakpoint. + Alternatively, set an [interrupt](../../how-tos/human_in_the_loop/add-human-in-the-loop.md) before the node(s) where you want execution to pause. You can then find the most recent checkpoint recorded up to that interrupt. 3. [Update the graph state (optional)](#3-update-the-state-optional): Use the [`update_state`][langgraph.graph.state.CompiledStateGraph.update_state] method to modify the graph's state at the checkpoint and resume execution from alternative state. 4. [Resume execution from the checkpoint](#4-resume-execution-from-the-checkpoint): Use the `invoke` or `stream` methods with an input of `None` and a configuration containing the appropriate `thread_id` and `checkpoint_id`. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index fa5f26c7b..1a37f4c46 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -142,10 +142,6 @@ nav: - Overview: concepts/human_in_the_loop.md - Add human intervention: how-tos/human_in_the_loop/add-human-in-the-loop.md - Use Server API: cloud/how-tos/add-human-in-the-loop.md - - Breakpoints: - - Overview: concepts/breakpoints.md - - Set breakpoints: how-tos/human_in_the_loop/breakpoints.md - - Use Server API: cloud/how-tos/human_in_the_loop_breakpoint.md - Time travel: - Overview: concepts/time-travel.md - Use time travel: how-tos/human_in_the_loop/time-travel.md