Skip to content

fix(langchain): preserve Store persistence and discovery contracts - #7038

Merged
ZaynJarvis merged 6 commits into
volcengine:mainfrom
ehz0ah:consolidate/langchain-store-20261104
Nov 6, 2026
Merged

ZaynJarvis merged 6 commits into
volcengine:mainfrom
ehz0ah:consolidate/langchain-store-20261104

Conversation

@ehz0ah

@ehz0ah ehz0ah commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Description

LangGraph Store keys containing separators are rejected by the server, empty index field selections remain searchable, and backend write/listing failures can be hidden. This change preserves opaque keys in one URI segment, removes the semantic projection for index=[], and propagates backend failures through the existing Store owner.

For example, /AGENTS.md and literal !sAGENTS.md remain distinct records. Writing index=[] keeps the complete JSON value available to get and nonsemantic search while removing its searchable projection. Replacement writes occur only after an explicit existing-target error.

Consolidates #4335, #6786, #6965 and #6966. Original author commits retain their dates and cherry-pick source SHAs. A separate test repair checks stable async error type, arguments, message and SDK code instead of relying on TimeoutError identity across worker threads.

English and Chinese Unreleased notes document that nonsemantic search() and list_namespaces() now propagate listing failures, including permission and availability errors. Explicitly missing namespace roots still return empty results.

Fixes #4334. Fixes #6785. Fixes #6962. Fixes #6963.

Validation against upstream dfb9eb8: 875 passed on Python 3.12/current frameworks; 873 passed with 2 expected skips on Python 3.10/framework 1.0.0. The combined candidate passes 923 tests on Python 3.12 and 921 with 2 expected skips on Python 3.10/framework 1.0.0. Ruff lint/format, mypy, diff checks, wheel/sdist builds and Twine pass for all three branches and the combined candidate. All 16 runtime files in each distribution match its Git head. A clean installation of the combined wheel with published SDK 0.1.18 passes 918 adapter tests, retrieval and LangGraph agent smoke checks, and dependency checks.

Merge this before #7039, which now includes these Store commits. #7040 is independent. The combined candidate retains both Store contracts and cleanup draining.

Contributors: codesheepchen, ydflow and stefanielizeth73-art. Hao Zhe authored the separate repairs and release note and is the cherry-pick committer.

Landing: preserve the original commits through merge/rebase merging. If squashing is required, retain contributor credit explicitly. Mark the original proposals covered after the accepted consolidated change lands.

Human Involvement

  • A human participated in the implementation or review loop
  • This PR was generated entirely by AI agents without human participation in the loop

Type of Change

  • Bug fix
  • Test update
  • Documentation update

Checklist

  • Final diff reviewed
  • New and existing local tests pass
  • Package build and installed-wheel checks pass

Mchenr and others added 6 commits November 6, 2026 13:11
Merge upstream main while preserving both separator-key regressions and upstream mapping-value tests. Use the relocated package in the boundary check.

Validation: 404 tests passed, 1 skipped (optional SQLite checkpointer unavailable); Ruff, mypy, build and twine checks passed.
(cherry picked from commit a5752a0)
Signed-off-by: Hao Zhe <haozhe4547@gmail.com>
Signed-off-by: Hao Zhe <haozhe4547@gmail.com>
@ehz0ah
ehz0ah force-pushed the consolidate/langchain-store-20261104 branch from 8e99dac to d544a8b Compare November 6, 2026 05:37
@ehz0ah
ehz0ah marked this pull request as ready for review November 6, 2026 06:27

@ZaynJarvis ZaynJarvis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ZaynJarvis
ZaynJarvis merged commit f5ffab0 into volcengine:main Nov 6, 2026
14 of 15 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in OpenViking project Nov 6, 2026
donghao95 added a commit to donghao95/OpenViking that referenced this pull request Nov 6, 2026
* fix(langchain): preserve Store persistence and discovery contracts (volcengine#7038)

* fix(langchain): resolve framework relocation conflicts

Merge upstream main while preserving both separator-key regressions and upstream mapping-value tests. Use the relocated package in the boundary check.

Validation: 404 tests passed, 1 skipped (optional SQLite checkpointer unavailable); Ruff, mypy, build and twine checks passed.
(cherry picked from commit a5752a0)

* fix(langchain): propagate Store directory listing failures

(cherry picked from commit dac457e)

* fix(langchain): skip projection for empty Store index fields

(cherry picked from commit 50b5286)

* fix(langchain): preserve Store index write failures

(cherry picked from commit 20a4da1)

* test(langchain): assert stable async Store timeout errors

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>

* docs(langchain): note propagated Store discovery errors

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>

---------

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>
Co-authored-by: codesheepchen <chenjiaxun2@163.com>
Co-authored-by: ydflow <314143294+ydflow@users.noreply.github.com>
Co-authored-by: stefanielizeth73-art <stefanielizeth73@gmail.com>

* fix(langchain): preserve Unicode archive query terms (volcengine#7040)

(cherry picked from commit 4197176)

Co-authored-by: ktz03 <2484593937@qq.com>

* feat(langchain): preserve owned-client authentication and Store cleanup (volcengine#7039)

* feat(langchain): forward explicit SDK authentication mode

(cherry picked from commit 1c8d25e)

* fix(langchain): drain Store-owned requests during shutdown

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>

* fix(langchain): reject reentrant Store shutdown

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>

---------

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>
Co-authored-by: Xinmin Zeng <135568692+fancyboi999@users.noreply.github.com>

---------

Signed-off-by: Hao Zhe <haozhe4547@gmail.com>
Co-authored-by: z1gon <130889443+ehz0ah@users.noreply.github.com>
Co-authored-by: codesheepchen <chenjiaxun2@163.com>
Co-authored-by: ydflow <314143294+ydflow@users.noreply.github.com>
Co-authored-by: stefanielizeth73-art <stefanielizeth73@gmail.com>
Co-authored-by: ktz03 <2484593937@qq.com>
Co-authored-by: Xinmin Zeng <135568692+fancyboi999@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

5 participants