Skip to content

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

Open
nicohrubec wants to merge 1 commit into
ref/move-ai-workers-ai-2from
ref/move-ai-langchain-langgraph-2
Open

ref(langchain)!: Move LangChain and LangGraph integrations to @sentry/server-utils#22962
nicohrubec wants to merge 1 commit into
ref/move-ai-workers-ai-2from
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.91 kB - -
@sentry/browser - with treeshaking flags 28.12 kB - -
@sentry/browser (incl. Tracing) 47.36 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.36 kB - -
@sentry/browser (incl. Tracing, Profiling) 52.13 kB - -
@sentry/browser (incl. Tracing, Replay) 86.7 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 76.13 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 91.41 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 104.05 kB - -
@sentry/browser (incl. Feedback) 47.22 kB - -
@sentry/browser (incl. sendFeedback) 34.76 kB - -
@sentry/browser (incl. FeedbackAsync) 39.87 kB - -
@sentry/browser (incl. Metrics) 30.99 kB - -
@sentry/browser (incl. Logs) 31.22 kB - -
@sentry/browser (incl. Metrics & Logs) 31.9 kB - -
@sentry/react 31.73 kB - -
@sentry/react (incl. Tracing) 49.61 kB - -
@sentry/vue 34.98 kB - -
@sentry/vue (incl. Tracing) 49.34 kB - -
@sentry/svelte 29.94 kB - -
CDN Bundle 32.01 kB - -
CDN Bundle (incl. Tracing) 47.72 kB - -
CDN Bundle (incl. Logs, Metrics) 33.55 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.08 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 72.9 kB - -
CDN Bundle (incl. Tracing, Replay) 85.35 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.65 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.14 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.46 kB - -
CDN Bundle - uncompressed 95.52 kB - -
CDN Bundle (incl. Tracing) - uncompressed 143.1 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 100.23 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.08 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 224.99 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 262.36 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 266.33 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 276.07 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 280.02 kB - -
@sentry/nextjs (client) 52.21 kB - -
@sentry/sveltekit (client) 47.81 kB - -
@sentry/core/server 69.69 kB -12.91% -10.33 kB 🔽
@sentry/core/browser 51.97 kB - -
@sentry/node 121.23 kB +0.28% +338 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection) 0 B added added
@sentry/node - without tracing 84.26 kB - -
@sentry/aws-serverless 92.94 kB +0.01% +1 B 🔺
@sentry/cloudflare (withSentry) - minified 224.93 kB +2.54% +5.57 kB 🔺
@sentry/cloudflare (withSentry) 553.24 kB +2.37% +12.76 kB 🔺

View base workflow run

@nicohrubec
nicohrubec force-pushed the ref/move-ai-langchain-langgraph-2 branch from dd86ee6 to 4355a4a Compare August 3, 2026 15:37
…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 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
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.

2 participants