Files
langgraph/libs/cli/js-examples
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>John Kennedy
d8b742a4b3 chore(deps): bump the minor-and-patch group in /libs/cli/js-examples with 3 updates (#7295)
Bumps the minor-and-patch group in /libs/cli/js-examples with 3 updates:
[@langchain/core](https://github.com/langchain-ai/langchainjs),
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
and
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).

Updates `@langchain/core` from 1.1.35 to 1.1.36
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/langchain-ai/langchainjs/releases"><code>@​langchain/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​langchain/core</code><a
href="https://github.com/1"><code>@​1</code></a>.1.36</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/langchain-ai/langchainjs/pull/10512">#10512</a>
<a
href="https://github.com/langchain-ai/langchainjs/commit/bbbfea185c0777ae06df2b24a1a84f941d499c2a"><code>bbbfea1</code></a>
Thanks <a href="https://github.com/hntrl"><code>@​hntrl</code></a>! -
fix(core): fix streaming chunk merge for providers without
<code>index</code> on tool call deltas</p>
<p><code>_mergeLists</code> now falls back to <code>id</code>-based
matching when items don't have an <code>index</code> field. Previously,
providers routing through the OpenAI-compatible API without
<code>index</code> on streaming tool call deltas (e.g. Anthropic models
via <code>ChatOpenAI</code>) would accumulate hundreds of individual raw
deltas in <code>tool_call_chunks</code> and
<code>additional_kwargs.tool_calls</code> instead of merging them into a
single entry per tool call. In a real trace with 3 concurrent subagents,
this caused a single AI message to balloon from ~4KB to 146KB -- with
826 uncollapsed streaming fragments carrying a few bytes each.</p>
<p>Also fixes <code>SystemMessage.concat()</code> which used
<code>...this</code> to spread all instance properties (including
<code>lc_kwargs</code>) into the new constructor, causing each chained
<code>concat()</code> call to nest one level deeper. After 7 middleware
<code>concat()</code> calls (typical in deepagents), a 7KB system prompt
would serialize to 81KB due to content being duplicated at every nesting
level.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/d2a0c2d5b5a23a60791d01c98874c53f555ed5d8"><code>d2a0c2d</code></a>
chore: version packages (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10508">#10508</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/bbbfea185c0777ae06df2b24a1a84f941d499c2a"><code>bbbfea1</code></a>
fix(core): fix _mergeLists id-only fallback and SystemMessage.concat
lc_kwarg...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/478652c01cdae0703415febd250b6c2656b36410"><code>478652c</code></a>
fix(openai): detect DeepSeek context overflow errors as ContextOverfl…
(<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10481">#10481</a>)</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/3d35eb112b46b36aea80cebe0147e315d03a1d8e"><code>3d35eb1</code></a>
fix(langchain): add &quot;aws&quot; alias to MODEL_PROVIDER_CONFIG for
Bedrock hub prom...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/52e501b44ee54ace1889ec9149a3617c4409db51"><code>52e501b</code></a>
fix(openai): guard JSON.parse in streaming json_schema when text is
empty (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/1">#1</a>...</li>
<li><a
href="https://github.com/langchain-ai/langchainjs/commit/ae4122f9523904423504e5a92c134c625977261d"><code>ae4122f</code></a>
Align Zod Importation For 'libs/langchain/src/agents/nodes/utils.ts' (<a
href="https://redirect.github.com/langchain-ai/langchainjs/issues/10258">#10258</a>)</li>
<li>See full diff in <a
href="https://github.com/langchain-ai/langchainjs/compare/@langchain/core@1.1.35...@langchain/core@1.1.36">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 8.57.1 to 8.57.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.2</h2>
<h2>8.57.2 (2026-03-23)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] remove
dangling closing parenthesis (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865">#11865</a>)</li>
<li><strong>eslint-plugin:</strong> [array-type] ignore Array and
ReadonlyArray without type arguments (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971">#11971</a>)</li>
<li><strong>eslint-plugin:</strong> [no-restricted-types] flag banned
generics in extends or implements (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120">#12120</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-return] false positive on
unwrapping generic (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125">#12125</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-return] false positive on
unwrapping generic (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125">#12125</a>)</li>
<li><strong>eslint-plugin:</strong> [no-useless-default-assignment] skip
reporting false positives for unresolved type parameters (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127">#12127</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types]
preserve type alias infomation (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954">#11954</a>)</li>
<li><strong>typescript-estree:</strong> skip createIsolatedProgram
fallback for projectService (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066">#12066</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065">#12065</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>Konv Suu</li>
<li>mdm317</li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
<li>RyoheiYamamoto</li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@​SungHyun627</code></a></li>
<li>Tamashoo <a
href="https://github.com/Tamashoo"><code>@​Tamashoo</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.2">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.2 (2026-03-23)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types]
preserve type alias infomation (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954">#11954</a>)</li>
<li><strong>eslint-plugin:</strong> [no-useless-default-assignment] skip
reporting false positives for unresolved type parameters (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127">#12127</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-return] false positive on
unwrapping generic (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125">#12125</a>)</li>
<li><strong>eslint-plugin:</strong> [no-restricted-types] flag banned
generics in extends or implements (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120">#12120</a>)</li>
<li><strong>eslint-plugin:</strong> [array-type] ignore Array and
ReadonlyArray without type arguments (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971">#11971</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] remove
dangling closing parenthesis (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865">#11865</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>Konv Suu</li>
<li>mdm317</li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@​SungHyun627</code></a></li>
<li>Tamashoo <a
href="https://github.com/Tamashoo"><code>@​Tamashoo</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.2">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f"><code>be4d54d</code></a>
chore(release): publish 8.57.2</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f68c8e4baca096281b458ccb6ff16ca6c5a1d199"><code>f68c8e4</code></a>
fix(eslint-plugin): [prefer-readonly-parameter-types] preserve type
alias inf...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/73acd2e6833c4757d2743a8dbb979154d31a1e98"><code>73acd2e</code></a>
fix(eslint-plugin): [no-useless-default-assignment] skip reporting false
posi...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/3d21482030e4fd220f466cea7036e07695277364"><code>3d21482</code></a>
fix(eslint-plugin): [no-unsafe-return] false positive on unwrapping
generic (...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/e128548b50573ebe3904662222e05be63970fc32"><code>e128548</code></a>
fix(eslint-plugin): [no-restricted-types] flag banned generics in
extends or ...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2b7f63f9cdf91dc216678f9a0d1ffe1aaf2ff0af"><code>2b7f63f</code></a>
chore(eslint-plugin): correct tsutils.isTypeFlag usage post-merge</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/65175cdfb564218a785e0b63056eee3b113d287f"><code>65175cd</code></a>
fix(eslint-plugin): [array-type] ignore Array and ReadonlyArray without
type ...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/9c9ab5e8a37a2db49bde7255337f64d1140ee640"><code>9c9ab5e</code></a>
feat(eslint-plugin): [no-unnecessary-type-arguments] report inferred
required...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/42a1c89c89e7fe1c13962b2e41cb78611ad16d41"><code>42a1c89</code></a>
fix(eslint-plugin): [prefer-optional-chain] remove dangling closing
parenthes...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/71855ff116a074e1ee5e2d804cf5cf493ee49e98"><code>71855ff</code></a>
docs(eslint-plugin): [no-unnecessary-condition] add link to TS handbook
(<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12131">#12131</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.57.1 to 8.57.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.2</h2>
<h2>8.57.2 (2026-03-23)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] remove
dangling closing parenthesis (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865">#11865</a>)</li>
<li><strong>eslint-plugin:</strong> [array-type] ignore Array and
ReadonlyArray without type arguments (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971">#11971</a>)</li>
<li><strong>eslint-plugin:</strong> [no-restricted-types] flag banned
generics in extends or implements (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120">#12120</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-return] false positive on
unwrapping generic (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125">#12125</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-return] false positive on
unwrapping generic (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125">#12125</a>)</li>
<li><strong>eslint-plugin:</strong> [no-useless-default-assignment] skip
reporting false positives for unresolved type parameters (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127">#12127</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types]
preserve type alias infomation (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954">#11954</a>)</li>
<li><strong>typescript-estree:</strong> skip createIsolatedProgram
fallback for projectService (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066">#12066</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065">#12065</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>Konv Suu</li>
<li>mdm317</li>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
<li>RyoheiYamamoto</li>
<li>SungHyun627 <a
href="https://github.com/SungHyun627"><code>@​SungHyun627</code></a></li>
<li>Tamashoo <a
href="https://github.com/Tamashoo"><code>@​Tamashoo</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.2">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.2 (2026-03-23)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.2">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f"><code>be4d54d</code></a>
chore(release): publish 8.57.2</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/parser">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kennedy <65985482+jkennedyvz@users.noreply.github.com>
2026-03-29 23:30:30 +00:00
..

New LangGraph.js Project

CI Integration Tests Open in - LangGraph Studio

This template demonstrates a simple chatbot implemented using LangGraph.js, designed for LangGraph Studio. The chatbot maintains persistent chat memory, allowing for coherent conversations across multiple interactions.

Graph view in LangGraph studio UI

The core logic, defined in src/agent/graph.ts, showcases a straightforward chatbot that responds to user queries while maintaining context from previous messages.

What it does

The simple chatbot:

  1. Takes a user message as input
  2. Maintains a history of the conversation
  3. Returns a placeholder response, updating the conversation history

This template provides a foundation that can be easily customized and extended to create more complex conversational agents.

Getting Started

Assuming you have already installed LangGraph Studio, to set up:

  1. Create a .env file. This template does not require any environment variables by default, but you will likely want to add some when customizing.
cp .env.example .env
  1. Open the folder in LangGraph Studio!
  2. Customize the code as needed.

How to customize

  1. Add an LLM call: You can select and install a chat model wrapper from the LangChain.js ecosystem, or use LangGraph.js without LangChain.js.
  2. Extend the graph: The core logic of the chatbot is defined in graph.ts. You can modify this file to add new nodes, edges, or change the flow of the conversation.

You can also extend this template by:

  • Adding custom tools or functions to enhance the chatbot's capabilities.
  • Implementing additional logic for handling specific types of user queries or tasks.
  • Add retrieval-augmented generation (RAG) capabilities by integrating external APIs or databases to provide more customized responses.

Development

While iterating on your graph, you can edit past state and rerun your app from previous states to debug specific nodes. Local changes will be automatically applied via hot reload. Try experimenting with:

  • Modifying the system prompt to give your chatbot a unique personality.
  • Adding new nodes to the graph for more complex conversation flows.
  • Implementing conditional logic to handle different types of user inputs.

Follow-up requests will be appended to the same thread. You can create an entirely new thread, clearing previous history, using the + button in the top right.

For more advanced features and examples, refer to the LangGraph.js documentation. These resources can help you adapt this template for your specific use case and build more sophisticated conversational agents.

LangGraph Studio also integrates with LangSmith for more in-depth tracing and collaboration with teammates, allowing you to analyze and optimize your chatbot's performance.