Skip to content

ref(langchain)!: Move LangChain and LangGraph integrations to @sentry/server-utils - #22962

Merged
nicohrubec merged 1 commit into
developfrom
ref/move-ai-langchain-langgraph-2
Aug 4, 2026
Merged

ref(langchain)!: Move LangChain and LangGraph integrations to @sentry/server-utils#22962
nicohrubec merged 1 commit into
developfrom
ref/move-ai-langchain-langgraph-2

Conversation

@nicohrubec

@nicohrubec nicohrubec commented Aug 3, 2026

Copy link
Copy Markdown
Member

This moves the LangChain and LangGraph integration core logic from @sentry/core to @sentry/server-utils, dropping all exports except createLangChainCallbackHandler, instrumentLangChainEmbeddings, instrumentStateGraph, instrumentStateGraphCompile and instrumentCreateReactAgent. Moving these together because they have some interdependencies that make this a bit tedious otherwise.

vercel-edge re-exports createLangChainCallbackHandler, instrumentLangChainEmbeddings and instrumentStateGraph from @sentry/server-utils/no-diagnostic-channels to keep the edge build free of node:diagnostics_channel.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 29.81 kB - -
@sentry/browser - with treeshaking flags 28.03 kB - -
@sentry/browser (incl. Tracing) 47.28 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.29 kB - -
@sentry/browser (incl. Tracing, Profiling) 52.05 kB - -
@sentry/browser (incl. Tracing, Replay) 86.6 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 76.04 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 91.33 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 103.97 kB - -
@sentry/browser (incl. Feedback) 47.13 kB - -
@sentry/browser (incl. sendFeedback) 34.66 kB - -
@sentry/browser (incl. FeedbackAsync) 39.77 kB - -
@sentry/browser (incl. Metrics) 30.88 kB - -
@sentry/browser (incl. Logs) 31.12 kB - -
@sentry/browser (incl. Metrics & Logs) 31.79 kB - -
@sentry/react 31.61 kB - -
@sentry/react (incl. Tracing) 49.54 kB - -
@sentry/vue 34.88 kB - -
@sentry/vue (incl. Tracing) 49.27 kB - -
@sentry/svelte 29.83 kB - -
CDN Bundle 31.9 kB - -
CDN Bundle (incl. Tracing) 47.6 kB - -
CDN Bundle (incl. Logs, Metrics) 33.45 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.02 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 72.81 kB - -
CDN Bundle (incl. Tracing, Replay) 85.26 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.57 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.08 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.4 kB - -
CDN Bundle - uncompressed 94.8 kB - -
CDN Bundle (incl. Tracing) - uncompressed 142.47 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 99.51 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.44 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 224.26 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 261.72 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 265.69 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 275.43 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 279.38 kB - -
@sentry/nextjs (client) 52.1 kB - -
@sentry/sveltekit (client) 47.72 kB - -
@sentry/core/server 69.57 kB -5.64% -4.15 kB 🔽
@sentry/core/browser 51.86 kB - -
@sentry/node 121.06 kB -0.09% -98 B 🔽
@sentry/node/import (ESM hook with diagnostics-channel injection) 0 B added added
@sentry/node - without tracing 84.03 kB - -
@sentry/aws-serverless 92.69 kB -0.01% -1 B 🔽
@sentry/cloudflare (withSentry) - minified 224.2 kB - -
@sentry/cloudflare (withSentry) 551.35 kB - -

View base workflow run

@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch 2 times, most recently from 4355a4a to 71328de Compare August 4, 2026 07:13
@nicohrubec
nicohrubec marked this pull request as ready for review August 4, 2026 07:16
@nicohrubec
nicohrubec requested review from a team as code owners August 4, 2026 07:16
@nicohrubec
nicohrubec requested review from JPeer264, andreiborza and mydea and removed request for a team and mydea August 4, 2026 07:16
@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch from 71328de to a953aef Compare August 4, 2026 09:29
@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch from a953aef to 63c1443 Compare August 4, 2026 09:48
Comment thread packages/server-utils/src/ai/index.ts
@@ -1,7 +1,7 @@
/* eslint-disable max-lines */

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why now?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

not sure

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ah there was an override in core for this file (removed it now)

Base automatically changed from ref/move-ai-workers-ai-2 to develop August 4, 2026 12:01
@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch from 63c1443 to 965dec3 Compare August 4, 2026 12:06
…y/server-utils`

Move the LangChain and LangGraph gen-ai instrumentation from `@sentry/core` to
`@sentry/server-utils/src/ai/{langchain,langgraph}`, consuming the shared `ai/core`
base. The public helpers (`createLangChainCallbackHandler`, `instrumentLangChainEmbeddings`,
`instrumentStateGraph`, `instrumentStateGraphCompile`, `instrumentCreateReactAgent`) are
re-exported from `@sentry/server-utils` by node/cloudflare/vercel-edge, so the platform
SDK public API is unchanged.

LangChain and LangGraph move together because core's LangGraph imports functions and
types from LangChain (`createLangChainCallbackHandler`, `normalizeLangChainMessages`,
`_INTERNAL_mergeLangChainCallbackHandler`, `BaseChatModel`/`LangChainMessage`); splitting
them across PRs would require a temporary core->server-utils import (circular dep) or
duplicated code. Moving both keeps LangGraph on relative `../langchain` imports.

As with the other providers, `vercel-edge` re-exports from
`@sentry/server-utils/no-diagnostic-channels` to keep the edge build free of
`node:diagnostics_channel`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch from 965dec3 to abe877b Compare August 4, 2026 12:11
@nicohrubec
nicohrubec merged commit 590b924 into develop Aug 4, 2026
266 checks passed
@nicohrubec
nicohrubec deleted the ref/move-ai-langchain-langgraph-2 branch August 4, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants