Keep Stagehand selectors local instead of duplicating them in Jev state and target criteria, and bound the visible snapshot sent to the classifier. This keeps dense pages such as Google Flights within Jev's combined context budget.
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-09-21 21:00:42 +00:00
Harrison Chaseandopen-swe[bot] <open-swe@users.noreply.github.com>
TypeSafe Choice questions accept at most 255 options, while Stagehand snapshots can expose more actionable elements. Cap target heads at the API limit to avoid HTTP 400 responses on dense pages.
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-09-21 19:25:51 +00:00
Harrison Chaseandopen-swe[bot] <open-swe@users.noreply.github.com>
Add a standalone recovery tool at `examples/delta-channel-dump/` for
operators rolling back from langgraph >= 1.2 / deepagents 0.6.x to an
older runtime that does not understand `EXT_DELTA_SNAPSHOT` msgpack
blobs. Without this, channels like `messages` can appear empty after
rollback because the old reducer does not decode delta snapshots.
`dump.py` connects directly to Postgres, walks the checkpoint parent
chain (mirroring `aget_delta_channel_history`), decodes msgpack blobs
via `ormsgpack` with a hand-rolled EXT 0–7 hook (no langgraph imports),
and emits JSON with per-channel `seed` + oldest-to-newest `writes`. The
operator reduces and re-applies via `update_state` manually.
## Scope
- Postgres checkpointer only
- Deps: `psycopg[binary]`, `ormsgpack` (not added to repo
`pyproject.toml` — operator installs at runtime)
- No reducer application, no DB writes, no AES/custom encryption support
(fails loudly on encrypted blob types)
## How verified
- E2E against local Postgres: 15 runs of `delta_channel_messages_freq`
(`snapshot_frequency=10`)
- Asserted `delta_kind == "snapshot"`, `len(seed) == 10`, `len(writes)
== 5`, message ids `ai-0`..`ai-14`
- Confirmed portability: fresh venv with only `pip install
"psycopg[binary]" ormsgpack` produced identical output
Aligns the repository's package READMEs around a shared documentation
shape so users see consistent install, positioning, docs, release, and
contribution guidance across LangGraph packages.
Addresses some comments in #6682
- Update links in notebooks to point to the new documentation location.
- Add archival notices indicating that the examples are no longer
updated.
- Remove some obsolete notebooks that have been moved to the new
documentation.
Please comment here if you encounter any issues
* Updated the relocation notice in `examples/persistence_postgres.ipynb`
to reference the correct new documentation at `add-memory.md` instead of
the previous notebook link.
**docs: The notebook redirects to a page that does not exist**
- **Description:** The current documentation redirects to a file that
does not exist. I have removed the doc to avoid confusion.
- **Issue:** Fixes#5637
**Description:**
Removed 4 broken notebooks in `examples/human_in_the_loop/` that
referenced missing files (list below). These notebooks displayed
redirect messages but the new paths are either invalid or don’t contain
content.
Filenames:
1. examples/human_in_the_loop/dynamic_breakpoints.ipynb
2. examples/human_in_the_loop/edit-graph-state.ipynb
3. examples/human_in_the_loop/review-tool-calls.ipynb
4. examples/human_in_the_loop/time-travel.ipynb
**Issue:**
Closes#5642
**Dependencies:**
None
Co-authored-by: gawhaarya <gawhaneaarya@gmail.com>