Files
klz-cables.com/.pnpm-store/v10/files/38/f901368223b049a2a3c50f43f73754b0d2680076039cf14515be8f92d70e91c03f24afa91238c8f8d292f40af557d0359e2ff7c97dc06451fc1c1f2332afc8
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

117 lines
3.4 KiB
Plaintext

Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const core = require('@sentry/core');
const nodeCore = require('@sentry/node-core');
const instrumentation = require('./instrumentation.js');
const instrumentLangChain = nodeCore.generateInstrumentOnce(
core.LANGCHAIN_INTEGRATION_NAME,
options => new instrumentation.SentryLangChainInstrumentation(options),
);
const _langChainIntegration = ((options = {}) => {
return {
name: core.LANGCHAIN_INTEGRATION_NAME,
setupOnce() {
instrumentLangChain(options);
},
};
}) ;
/**
* Adds Sentry tracing instrumentation for LangChain.
*
* This integration is enabled by default.
*
* When configured, this integration automatically instruments LangChain runnable instances
* to capture telemetry data by injecting Sentry callback handlers into all LangChain calls.
*
* **Important:** This integration automatically skips wrapping the OpenAI, Anthropic, and Google GenAI
* providers to prevent duplicate spans when using LangChain with these AI providers.
* LangChain handles the instrumentation for all underlying AI providers.
*
* @example
* ```javascript
* import * as Sentry from '@sentry/node';
* import { ChatOpenAI } from '@langchain/openai';
*
* Sentry.init({
* integrations: [Sentry.langChainIntegration()],
* sendDefaultPii: true, // Enable to record inputs/outputs
* });
*
* // LangChain calls are automatically instrumented
* const model = new ChatOpenAI();
* await model.invoke("What is the capital of France?");
* ```
*
* ## Manual Callback Handler
*
* You can also manually add the Sentry callback handler alongside other callbacks:
*
* @example
* ```javascript
* import * as Sentry from '@sentry/node';
* import { ChatOpenAI } from '@langchain/openai';
*
* const sentryHandler = Sentry.createLangChainCallbackHandler({
* recordInputs: true,
* recordOutputs: true
* });
*
* const model = new ChatOpenAI();
* await model.invoke(
* "What is the capital of France?",
* { callbacks: [sentryHandler, myOtherCallback] }
* );
* ```
*
* ## Options
*
* - `recordInputs`: Whether to record input messages/prompts (default: respects `sendDefaultPii` client option)
* - `recordOutputs`: Whether to record response text (default: respects `sendDefaultPii` client option)
*
* ### Default Behavior
*
* By default, the integration will:
* - Record inputs and outputs ONLY if `sendDefaultPii` is set to `true` in your Sentry client options
* - Otherwise, inputs and outputs are NOT recorded unless explicitly enabled
*
* @example
* ```javascript
* // Record inputs and outputs when sendDefaultPii is false
* Sentry.init({
* integrations: [
* Sentry.langChainIntegration({
* recordInputs: true,
* recordOutputs: true
* })
* ],
* });
*
* // Never record inputs/outputs regardless of sendDefaultPii
* Sentry.init({
* sendDefaultPii: true,
* integrations: [
* Sentry.langChainIntegration({
* recordInputs: false,
* recordOutputs: false
* })
* ],
* });
* ```
*
* ## Supported Events
*
* The integration captures the following LangChain lifecycle events:
* - LLM/Chat Model: start, end, error
* - Chain: start, end, error
* - Tool: start, end, error
*
*/
const langChainIntegration = core.defineIntegration(_langChainIntegration);
exports.instrumentLangChain = instrumentLangChain;
exports.langChainIntegration = langChainIntegration;
//# sourceMappingURL=index.js.map