UNPKG

@sentry/core

Version:
39 lines (35 loc) 1.42 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const isBrowser = require('../../utils/isBrowser.js'); const hasSpanStreamingEnabled = require('./hasSpanStreamingEnabled.js'); const spanJsonToStreamedSpan = require('./spanJsonToStreamedSpan.js'); function extractGenAiSpansFromEvent(event, client) { if (event.type !== "transaction" || !event.spans?.length || !event.sdkProcessingMetadata?.hasGenAiSpans || !client.getOptions().streamGenAiSpans || hasSpanStreamingEnabled.hasSpanStreamingEnabled(client)) { return void 0; } const genAiSpans = []; const remainingSpans = []; for (const span of event.spans) { if (span.op?.startsWith("gen_ai.")) { genAiSpans.push(spanJsonToStreamedSpan.spanJsonToSerializedStreamedSpan(span)); } else { remainingSpans.push(span); } } if (genAiSpans.length === 0) { return void 0; } event.spans = remainingSpans; const inferSetting = client.getOptions().sendDefaultPii ? "auto" : "never"; return [ { type: "span", item_count: genAiSpans.length, content_type: "application/vnd.sentry.items.span.v2+json" }, { version: 2, ...isBrowser.isBrowser() && { ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting } }, items: genAiSpans } ]; } exports.extractGenAiSpansFromEvent = extractGenAiSpansFromEvent; //# sourceMappingURL=extractGenAiSpans.js.map