[pull] main from danny-avila:main#123
Merged
Merged
Conversation
* chore: bump @langchain/anthropic to 1.5.1 with upstream parity
- Bump @langchain/anthropic ^1.3.28 -> ^1.5.1 (install + build clean).
- Reconcile invocationParams against 1.5.x: gate `thinking` on the new thinkingExplicitlySet so we omit it (not send {type:'disabled'}, an unsupported param on some models) when the user didn't set it; forward `strict` to tool formatting; forward the top-level `cache_control` call option.
- Fix handleToolChoice (stale copy): map OpenAI-style 'required' -> {type:'any'} and 'none' -> {type:'none'}; previously both fell through to {type:'tool', name:...}, so 'none' forced a tool named "none" instead of disabling tools.
- Inherit upstream 1.5.1 tests against the fork: strict tool calling (17), stream-events (29), standard-content/message_outputs/tools (14), + thinking/cache_control invocationParams tests in llm.spec.ts. Register the new specs in eslint ignores. Live llm.spec tests left to CI.
* chore: drop @anthropic-ai/sdk override, align to ^0.103.0
@langchain/anthropic 1.5.1 declares @anthropic-ai/sdk ^0.103.0, but the `$@anthropic-ai/sdk` override was forcing the whole tree down to our old ^0.92.0. Bump our dep to ^0.103.0 (the version langchain-anthropic expects) and remove the override: npm now dedupes to a single 0.103.0 copy naturally (vertex-sdk wants >=0.50.3 <1, langchain-anthropic wants ^0.103.0 — both satisfied), preserving the single-SDK-copy invariant the override existed to enforce. Build clean; 107 anthropic tests pass.
…ai (#267) * chore: bump @langchain/deepseek + @langchain/xai with test parity - Bump @langchain/deepseek ^1.0.25 -> ^1.1.3 and @langchain/xai ^1.3.17 -> ^1.4.3. Both pin @langchain/openai 1.5.3 (matching our forced version), so a single openai copy; install + build clean, no fork changes needed. - Inherit upstream deterministic tests against the forks (vitest -> jest): ChatDeepSeek reasoning/<think>/streamEvents (14), ChatXAI completions/serialization/server-tools/streamEvents (23). Confirmed our ChatDeepSeek <think> reasoning parser reproduces upstream's content/reasoning split exactly. New specs registered in eslint ignores; live tests to CI. * chore: bump @langchain/mistralai to 1.2.0 Version-only bump (^1.0.8 -> ^1.2.0). ChatMistralAI is used directly (no fork) in the provider/type maps; build clean, no behavior change.
* chore: bump @langchain/google-* to 2.2.0 Bump the four @langchain/google-* packages (common/gauth/genai/vertexai) 2.1.31 -> 2.2.0. The existing `$@langchain/google-*` overrides dedupe all transitive copies to a single 2.2.0 each. Build clean; the forks (CustomChatGoogleGenerativeAI, ChatVertexAI) compile against the new base classes with no fork changes. 19 deterministic google/vertexai unit tests pass; the live llm.spec suites run in CI. * test: inherit google/vertexai streamEvents tests against the forks Inherit upstream 2.2.0 streamEvents + stream-converter tests (vitest -> jest) against CustomChatGoogleGenerativeAI (9) and ChatVertexAI (7), verifying the forks' inherited native ChatModelStreamEvent path. convertGoogleGeminiStream unit-tested directly (exported); convertGoogleGenAIStream routed through the fork's streamEvents (not exported). Registered in eslint ignores. One intentional divergence asserted: the fork's legacy .stream() path applies system instructions via client.systemInstruction (old @google/generative-ai convention) rather than request.systemInstruction. * chore: drop redundant @langchain/google-* overrides The `$@langchain/google-*` overrides (added in #155 to pin around a broken core/uuid CJS release) are redundant at 2.2.0: our four google deps pin exact 2.2.0, the family inter-deps pin each other exact 2.2.0 (gauth->common, vertexai->gauth), and nothing else in the tree pulls google-*. Verified by reinstalling without them: a single 2.2.0 copy of each package, build clean, 16 inherited tests pass. The exact direct-dep pins are the real version lock now. (The separate `uuid` override is kept — independent.)
…269) * chore: bump @langchain/aws to 1.4.2 with cache_control + test parity - Bump @langchain/aws ^1.3.5 -> ^1.4.2 (build clean; @aws-sdk/* floats up to the ^3.1059.0 1.4.2 wants). - Forward request-level cache_control: 1.4.2 added a `cache_control` call option applied via the *unexported* `applyCachePointsToConversePayload`. Vendored it (src/llm/bedrock/cachePoints.ts) and wired it into our reimplemented `_streamResponseChunks`. The non-streaming path delegates to super, which already applies it, so only the streaming reimpl needed the fix. - Inherit upstream deterministic tests against CustomChatBedrockConverse: cache_control request mapping (2) + streamEvents/invocationParams/message_outputs (17). Confirmed our fork keeps Bedrock cache tokens additive (NOT folded into input_tokens) per the #13795 double-count fix. Registered in eslint ignores; live llm.spec -> CI. * chore: raise @aws-sdk/client-bedrock-runtime floor to ^3.1075.0 @langchain/aws 1.4.2 requires @aws-sdk/client-bedrock-runtime ^3.1059.0; our declared floor was a stale ^3.1013.0. It already resolved up to 3.1075.0 (one copy — the 3.x caret is wide, unlike anthropic's 0.x), so this is hygiene: make the declared floor match what the bump requires / the lockfile pins. No resolution change.
Version-only bump (^1.2.9 -> ^1.4.5); langgraph is the graph runtime, no LLM fork. Single copy, build clean, 2461 deterministic tests pass (live specs run in CI). The 1.3/1.4 additions (native streamEvents runtime, ToolNode runtime.state, RunControl draining, DeltaChannel, HITL resume+update+goto) are scoped separately as enablers for upcoming work.
…ntTaskInput (#273) Adopt langgraph 1.4.1's ToolRuntime.state. Our forked ToolNode (extends RunnableCallable, not langgraph's prebuilt) now threads the run input (graph state) through run() -> runTool -> tool.invoke, building langgraph's exact runtime shape ({...config, state, toolCallId, config, context, store, writer}) so tools read graph state off their 2nd argument. Replaces getCurrentTaskInput() (relies on node:async_hooks, browser-incompatible, deprecated) in MultiAgentGraph's two handoff tools and the handoff-test dev script with runtime.state. Zero getCurrentTaskInput() calls remain. Adds ToolNode.runtimeState.test.ts proving forwarding (message-state, array, Send-de-enveloped) + toolCallId. LEFT INTACT (verified independent of state access, removing them is wrong): the run.ts __pregel_scratchpad.currentTaskInput leak cleanup (langgraph populates currentTaskInput unconditionally in pregel/algo.js) and the ToolNode interrupt() AsyncLocalStorage shim (interrupt() requires the ALS frame, interrupt.js).
* feat(run): forward update + goto on resume (langgraph 1.4.5)
Run.resume() gains an optional 4th commandOptions param ({ update?, goto? }, typed off the Command constructor), threaded into the resume Command. A human-in-the-loop approval can now commit a state edit AND reroute in the SAME superstep (one checkpoint, no flicker) per langgraph 1.4.5, instead of resume-only. Backward-compatible: existing callers are untouched (update omitted, goto stays []). Adds a Run.create-harness test asserting forwarding + backward-compat.
* docs(run): clarify update/goto resume semantics (codex P2 caveats)
* test(run): prove langgraph applies update on an input resume Command (executing e2e)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )