Commit Graph
6455 Commits
Author SHA1 Message Date
Nuno Campos 34d591dedf Improve logic for drawing virtual end node
- Don't draw unexpected edges to END node
- If a conditional edge has a custom label for END node then draw it
2025-04-25 14:37:53 -07:00
Daehwi KimandGitHub 746b5f0730 fix(docs): fix typo (#4411) 2025-04-25 17:10:47 -04:00
Vadym BardaandGitHub 64448404de ci: don't try to render mermaid images when testing notebooks (#4414) 2025-04-25 17:09:18 -04:00
Andrew NguonlyandGitHub 9637f3b1be docs: Document API endpoint for creating new project (#4413) 2025-04-25 10:42:20 -07:00
Sydney Runkle 50449af1a9 add convenient interrupt access to StateSnapshot 2025-04-24 14:52:54 -07:00
Sydney Runkle c2fa33e055 linting etc 2025-04-24 13:28:29 -07:00
Sydney Runkle 644a6c3b63 use resume instead of resume_map and deprecate old mapping task_id -> resume logic 2025-04-24 13:26:01 -07:00
Jacob LeeandGitHub c7fe85585b docs: Adds additional Google Analytics tag to docs (#4402)
CC @danielrlambert3
2025-04-24 13:17:52 -07:00
Sydney Runkle 847b9c13ac adding docs example 2025-04-24 12:36:35 -07:00
Sydney Runkle b6963d35aa multi hitl with new hash pattern 2025-04-24 11:21:25 -07:00
dependabot[bot]andGitHub c6971c6a58 build(deps): bump h11 from 0.14.0 to 0.16.0 in /libs/checkpoint-sqlite
Bumps [h11](https://github.com/python-hyper/h11) from 0.14.0 to 0.16.0.
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

---
updated-dependencies:
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 17:46:01 +00:00
Sydney RunkleandGitHub 2327f8619f docs: fix xlinks (api and general) (#4391)
Mostly focusing on the API docs xrefs now working, for example:

<img width="728" alt="Screenshot 2025-04-23 at 6 43 40 PM"
src="https://github.com/user-attachments/assets/e0939edb-2088-4b4e-92b0-8009aac6a86e"
/>

--> 

<img width="737" alt="Screenshot 2025-04-23 at 7 57 28 PM"
src="https://github.com/user-attachments/assets/d05e28b5-cf4f-41e0-96f8-9910d19f4657"
/>

Also fixed some other broken links / references.

There are lots of broken links related to langgraph plans / deployment
options, I think our new docs writer was going to work on those.
2025-04-24 08:47:08 -07:00
Sydney RunkleandGitHub 4eb124e83d [breaking]: Improve interrupt behavior when stream_mode='values' (#4374)
This PR does a few things:
1. Surfaces interrupts when `stream_mode='values'` (particularly
relevant for `invoke`, where this is the default behavior)
2. Adds an `interrupt_id` property to the `Interrupt` dataclass so that
interrupts can effectively be mapped to resumes
3. Minor docs updates to reflect the new pattern (no need for a special
section on interrupts with `invoke` and `ainvoke`)

* In a different PR (the one with the multiple resume values), as it's
more relevant there: add an `interrupts` property to `StateSnapshot` so
that `interrupts` can easily be iterated over if users are attempting to
map interrupts to resumes.

I **don't** recommend we release this until we have multi-resumes
working.

## Example

We have the following setup where we're sending multiple prompts to the
child graph, which uses `interrupt`:

```py
def child_graph(state):
    human_input = interrupt(state["prompt"])

    return {
        "human_inputs": [human_input],
    }
```

<img width="142" alt="Screenshot 2025-04-23 at 10 01 12 AM"
src="https://github.com/user-attachments/assets/c6238bf1-54ad-4e48-ab0b-60a0bfc18485"
/>

Old behavior:

```py
initial_input = {"prompts": ["a", "b"]}

print(parent_graph.invoke(input=initial_input,config=thread_config,stream_mode="values"))
#> {'prompts': ['a', 'b'], 'human_inputs': []}

print(parent_graph.invoke(Command(resume="hello 1"),config=thread_config,stream_mode="values"))
#> {'prompts': ['a', 'b'], 'human_inputs': ['hello 1']}

print(parent_graph.invoke(Command(resume="hello 2"),config=thread_config,stream_mode="values"))
#> {'prompts': ['a', 'b'], 'human_inputs': ['hello 1', 'hello 2']}
```

New behavior:

```py
initial_input = {"prompts": ["a", "b"]}

print(parent_graph.invoke(input=initial_input,config=thread_config,stream_mode="values"))
"""
{
  "prompts": ["a", "b"],
  "human_inputs": [],
  "__interrupt__": [
    Interrupt(
      value="a",
      resumable=True,
      ns=["child_graph:38d43a18-a5e7-8ab2-ca83-9d80f6e9ca83"]
    ),
    Interrupt(
      value="b",
      resumable=True,
      ns=["child_graph:dad810e8-738e-9f90-41cd-30c0091eb79b"]
    )
  ]
}
"""

print(parent_graph.invoke(Command(resume="hello 1"),config=thread_config,stream_mode="values"))
"""
{
  "prompts": ["a", "b"],
  "human_inputs": ["hello 1"],
  "__interrupt__": [
    Interrupt(
      value="b",
      resumable=True,
      ns=["child_graph:dad810e8-738e-9f90-41cd-30c0091eb79b"]
    )
  ]
}
"""

print(parent_graph.invoke(Command(resume="hello 2"),config=thread_config,stream_mode="values"))
#> {'prompts': ['a', 'b'], 'human_inputs': ['hello 1', 'hello 2']}
```
2025-04-24 08:21:28 -07:00
Sydney Runkle 84e9ebda91 add back auto gen content 2025-04-24 08:16:03 -07:00
Sydney Runkle 48e8576fcf remove auto gen file 2025-04-24 08:15:06 -07:00
William FHandGitHub 6263c2f710 Copy with cached property (#4399) 0.3.34 2025-04-24 07:16:37 -07:00
David DuongandGitHub 17bc55028e docs(js): update semver constraints (#4401) 2025-04-24 15:48:17 +02:00
Tat Dat Duong cd8443f5ce docs(js): update semver constraints 2025-04-24 15:47:38 +02:00
David DuongandGitHub 7e3f31f97c docs(js): update required semver ranges (#4396) 2025-04-24 12:41:12 +02:00
Tat Dat Duong 3db9bf325c docs(js): update required semver ranges 2025-04-24 12:37:26 +02:00
Sydney Runkle 97337355a2 formatting 2025-04-23 21:21:02 -07:00
Sydney Runkle d6c12133ad fixing links 2025-04-23 21:15:55 -07:00
Sydney Runkle d67abdd112 fix docs build 2025-04-23 20:07:16 -07:00
Sydney Runkle 8dec77e129 remove bounds on mkdocs deps 2025-04-23 18:42:42 -07:00
Sydney Runkle b81c21f311 docs updates 2025-04-23 17:48:47 -07:00
Sydney Runkle cd6b086374 await 2025-04-23 16:36:37 -07:00
Sydney Runkle 5929b0b08d more test fixes 2025-04-23 16:19:46 -07:00
Sydney Runkle 9f33b4e529 fix test to reflect bug fix 2025-04-23 16:03:08 -07:00
Sydney RunkleandGitHub f0fb8d9187 Merge branch 'main' into sr/better-interrupts 2025-04-23 15:58:57 -07:00
Sydney RunkleandGitHub 0ff913c50b Fix double interrupt return caused by dynamic tasks (#4389)
Fix issue found in
https://github.com/langchain-ai/langgraph/pull/4374#discussion_r2056701206
2025-04-23 15:56:47 -07:00
Sydney RunkleandGitHub 67075bfb7f Update libs/langgraph/tests/test_pregel_async.py 2025-04-23 15:50:22 -07:00
Sydney Runkle 37b2956758 helpful comments + test 2025-04-23 14:24:57 -07:00
Sydney Runkle f42fc971e3 fix double interrupt raise with task path bool flag 2025-04-23 14:16:35 -07:00
Vadym BardaandGitHub 6bcab08f55 langgraph: release 0.3.33 (#4388) 2025-04-23 16:28:12 -04:00
Sydney Runkle 8fe7c8101f more explicit tests 2025-04-23 11:49:26 -07:00
Vadym BardaandGitHub 6bca615e6a langgraph: allow nested lists/dicts of primitives in RemoteGraph config (#4387) 2025-04-23 14:04:54 -04:00
Vadym BardaandGitHub 0147790937 langgraph: release 0.3.32 (#4386) 0.3.32 2025-04-23 11:51:29 -04:00
Vadym BardaandGitHub 364c572f0f langgraph: fix messages streaming for list of Commands (#4379)
Fixes #4372
2025-04-23 11:46:57 -04:00
langchain-infraandGitHub 8af4b63c69 docs: Add docs for REDIS_KEY_PREFIX, REDIS_CLUSTER env vars (#4334)
# Description 

Add documentation for using the REDIS_KEY_PREFIX, REDIS_CLUSTER env
vars.
2025-04-23 11:17:03 -04:00
Asamu DavidandGitHub 941b4b1287 Merge branch 'main' into da/4-17/add-redis-prefix-support 2025-04-23 15:52:30 +01:00
Asamu DavidandGitHub 24f04fba37 Update REDIS_CLUSTER env doc.md 2025-04-23 15:52:07 +01:00
William FHandGitHub 05f21a384b Add image arg to up command (#4385)
Using this argument, you can get more customization since you can do
`langgraph build` or directly `docker build` your image and then re-use
the `langgraph up --image my-image` and have it also spin up redis &
postgres for you.

Easier then writing your own compose file
cli==0.2.7
2025-04-23 07:48:01 -07:00
Vadym BardaandGitHub 29e9ee2d7b docs(agents): use list of messages format (#4378) 2025-04-23 01:25:00 +00:00
Sydney Runkle d6b4ee348f goodness, last test fix 2025-04-22 17:32:13 -07:00
Sydney Runkle 9e89b68596 fixing prebuilt tests 2025-04-22 17:24:54 -07:00
Sydney Runkle 1251eeaa48 final test fixes, hopefully 2025-04-22 17:21:56 -07:00
Sydney Runkle 85e73653f9 linting and test fixes 2025-04-22 17:10:54 -07:00
Sydney RunkleandGitHub a8b70cb23c Merge branch 'main' into sr/better-interrupts 2025-04-22 13:48:03 -07:00
Sydney RunkleandGitHub 173627a94c langgraph[lint]: Upgrade to Python 3.9+ syntax (#4368)
Also added "UP" (pyupgrade) rule to `pyproject.toml`
2025-04-22 13:47:18 -07:00
Sydney Runkle edd7d608cd final linting 2025-04-22 13:40:53 -07:00