// Module ID: 931 // Function ID: 10121 // Name: addOriginToSpan // Dependencies: [816, 796, 932, 933, 934, 935] // Module 931 (addOriginToSpan) const require = arg1; const dependencyMap = arg6; function addOriginToSpan(setAttribute, arg1) { const attr = setAttribute.setAttribute(require(816).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, "auto.vercelai.otel"); } function onVercelAiSpanStart(setAttribute) { let data; let description; const obj = require(796) /* convertSpanLinksForEnvelope */; ({ data, description } = require(796) /* convertSpanLinksForEnvelope */.spanToJSON(setAttribute)); if (description) { if (data[require(undefined, 932).AI_TOOL_CALL_NAME_ATTRIBUTE]) { if (data[require(undefined, 932).AI_TOOL_CALL_ID_ATTRIBUTE]) { if ("ai.toolCall" === description) { addOriginToSpan(setAttribute, "auto.vercelai.otel"); const attr = setAttribute.setAttribute(require(816).SEMANTIC_ATTRIBUTE_SENTRY_OP, "gen_ai.execute_tool"); renameAttributeKey(data, require(932).AI_TOOL_CALL_NAME_ATTRIBUTE, "gen_ai.tool.name"); renameAttributeKey(data, require(932).AI_TOOL_CALL_ID_ATTRIBUTE, "gen_ai.tool.call.id"); gen_ai_tool_call_id = data["gen_ai.tool.call.id"]; if ("string" === typeof gen_ai_tool_call_id) { const toolCallSpanMap = require(935) /* map */.toolCallSpanMap; const result = toolCallSpanMap.set(gen_ai_tool_call_id, setAttribute); } if (!data["gen_ai.tool.type"]) { const attr1 = setAttribute.setAttribute("gen_ai.tool.type", "function"); } gen_ai_tool_name = data["gen_ai.tool.name"]; if (gen_ai_tool_name) { const _HermesInternal7 = HermesInternal; setAttribute.updateName("execute_tool " + gen_ai_tool_name); } } } } let startsWithResult = data[require(undefined, 932).AI_OPERATION_ID_ATTRIBUTE]; if (!startsWithResult) { startsWithResult = description.startsWith("ai."); } if (startsWithResult) { addOriginToSpan(setAttribute, "auto.vercelai.otel"); const replaced = description.replace("ai.", ""); const attr2 = setAttribute.setAttribute("ai.pipeline.name", replaced); setAttribute.updateName(replaced); const tmp16 = data[require(undefined, 932).AI_TELEMETRY_FUNCTION_ID_ATTRIBUTE]; let tmp17 = tmp16; if (tmp16) { tmp17 = "string" === typeof tmp16; } if (tmp17) { const _HermesInternal = HermesInternal; setAttribute.updateName("" + replaced + " " + tmp16); const attr3 = setAttribute.setAttribute("gen_ai.function_id", tmp16); } const messagesFromPrompt = require(933) /* convertPromptToMessages */.requestMessagesFromPrompt(setAttribute, data); let tmp24 = data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE]; if (tmp24) { tmp24 = !data[require(undefined, 934).GEN_AI_RESPONSE_MODEL_ATTRIBUTE]; } if (tmp24) { const attr4 = setAttribute.setAttribute(require(934).GEN_AI_RESPONSE_MODEL_ATTRIBUTE, data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE]); } const attr5 = setAttribute.setAttribute("ai.streaming", description.includes("stream")); const obj2 = require(933) /* convertPromptToMessages */; const spanOpFromName = require(933) /* convertPromptToMessages */.getSpanOpFromName(description); if (spanOpFromName) { const attr6 = setAttribute.setAttribute(require(816).SEMANTIC_ATTRIBUTE_SENTRY_OP, spanOpFromName); } const tmp39 = data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE]; if (tmp39) { if ("ai.generateText.doGenerate" === description) { const _HermesInternal6 = HermesInternal; setAttribute.updateName("generate_text " + tmp39); } else if ("ai.streamText.doStream" === description) { const _HermesInternal5 = HermesInternal; setAttribute.updateName("stream_text " + tmp39); } else if ("ai.generateObject.doGenerate" === description) { const _HermesInternal4 = HermesInternal; setAttribute.updateName("generate_object " + tmp39); } else if ("ai.streamObject.doStream" === description) { const _HermesInternal3 = HermesInternal; setAttribute.updateName("stream_object " + tmp39); } else if ("ai.embed.doEmbed" === description) { const _HermesInternal2 = HermesInternal; setAttribute.updateName("embed " + tmp39); } else if ("ai.embedMany.doEmbed" === description) { const _HermesInternal8 = HermesInternal; setAttribute.updateName("embed_many " + tmp39); } } const obj3 = require(933) /* convertPromptToMessages */; } } } function vercelAiEventProcessor(type) { if ("transaction" === type.type) { if (type.spans) { const _Map = Map; const map = new Map(); const spans = type.spans; const iter = spans[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { let tmp9 = processEndedVercelAiSpan; let tmp10 = processEndedVercelAiSpan(nextResult); let tmp11 = require; let tmp12 = dependencyMap; let obj = require(933) /* convertPromptToMessages */; let tmp13 = map; let result = obj.accumulateTokensForParent(nextResult, tmp5); continue; } const spans2 = type.spans; const iter2 = spans2[Symbol.iterator](); const nextResult1 = iter2.next(); while (iter2 !== undefined) { if ("gen_ai.invoke_agent" === nextResult1.op) { let tmp19 = require; let tmp20 = dependencyMap; let obj2 = require(933) /* convertPromptToMessages */; let tmp21 = nextResult1; let tmp22 = map; let result1 = obj2.applyAccumulatedTokens(tmp18, tmp5); } continue; } const contexts = type.contexts; let trace; if (null != contexts) { trace = contexts.trace; } let tmp26 = trace; if (trace) { tmp26 = "gen_ai.invoke_agent" === trace.op; } if (tmp26) { const result2 = require(933) /* convertPromptToMessages */.applyAccumulatedTokens(trace, map); const obj3 = require(933) /* convertPromptToMessages */; } } } return type; } function processEndedVercelAiSpan(nextResult) { const data = nextResult.data; if ("auto.vercelai.otel" === nextResult.origin) { let keys = renameAttributeKey; keys = data; keys = require; keys = dependencyMap; keys = renameAttributeKey(data, require(932).AI_USAGE_COMPLETION_TOKENS_ATTRIBUTE, require(934).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE); keys = renameAttributeKey(data, require(932).AI_USAGE_PROMPT_TOKENS_ATTRIBUTE, require(934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE); keys = renameAttributeKey(data, require(932).AI_USAGE_CACHED_INPUT_TOKENS_ATTRIBUTE, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE); let tmp4 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE]; if (tmp4) { keys = data; tmp4 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE]; } if (tmp4) { data[require(934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE] = data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE] + data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE]; } let tmp11 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE]; if (tmp11) { tmp11 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE]; } if (tmp11) { data["gen_ai.usage.total_tokens"] = data[require(undefined, 934).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE] + data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE]; } let isArray = data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE]; if (isArray) { const _Array = Array; isArray = Array.isArray(data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE]); } if (isArray) { data[require(932).AI_PROMPT_TOOLS_ATTRIBUTE] = require(933) /* convertPromptToMessages */.convertAvailableToolsToJsonString(data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE]); const obj = require(933) /* convertPromptToMessages */; } let str = data; renameAttributeKey(data, require(932).OPERATION_NAME_ATTRIBUTE, require(934).GEN_AI_OPERATION_NAME_ATTRIBUTE); renameAttributeKey(data, require(932).AI_PROMPT_MESSAGES_ATTRIBUTE, require(934).GEN_AI_REQUEST_MESSAGES_ATTRIBUTE); renameAttributeKey(data, require(932).AI_RESPONSE_TEXT_ATTRIBUTE, "gen_ai.response.text"); renameAttributeKey(data, require(932).AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, "gen_ai.response.tool_calls"); renameAttributeKey(data, require(932).AI_RESPONSE_OBJECT_ATTRIBUTE, "gen_ai.response.object"); renameAttributeKey(data, require(932).AI_PROMPT_TOOLS_ATTRIBUTE, "gen_ai.request.available_tools"); renameAttributeKey(data, require(932).AI_TOOL_CALL_ARGS_ATTRIBUTE, "gen_ai.tool.input"); renameAttributeKey(data, require(932).AI_TOOL_CALL_RESULT_ATTRIBUTE, "gen_ai.tool.output"); renameAttributeKey(data, require(932).AI_SCHEMA_ATTRIBUTE, "gen_ai.request.schema"); renameAttributeKey(data, require(932).AI_MODEL_ID_ATTRIBUTE, require(934).GEN_AI_REQUEST_MODEL_ATTRIBUTE); const tmp43 = data[require(undefined, 932).AI_RESPONSE_PROVIDER_METADATA_ATTRIBUTE]; if (tmp43) { const _JSON = JSON; const parsed = JSON.parse(tmp43); const openai = parsed.openai; if (null != openai) { let azure = openai; } else { azure = tmp47.azure; } if (azure) { setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, azure.cachedPromptTokens); setAttributeIfDefined(tmp42, "gen_ai.usage.output_tokens.reasoning", azure.reasoningTokens); setAttributeIfDefined(tmp42, "gen_ai.usage.output_tokens.prediction_accepted", azure.acceptedPredictionTokens); setAttributeIfDefined(tmp42, "gen_ai.usage.output_tokens.prediction_rejected", azure.rejectedPredictionTokens); setAttributeIfDefined(tmp42, "gen_ai.conversation.id", azure.responseId); } if (!parsed.anthropic) { const bedrock = tmp47.bedrock; let usage3 = tmp83; if (null != bedrock) { usage3 = bedrock.usage; } if (usage3) { setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, tmp47.bedrock.usage.cacheReadInputTokens); setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE_ATTRIBUTE, tmp47.bedrock.usage.cacheWriteInputTokens); } if (tmp47.deepseek) { setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, parsed.deepseek.promptCacheHitTokens); setAttributeIfDefined(tmp42, "gen_ai.usage.input_tokens.cache_miss", parsed.deepseek.promptCacheMissTokens); } } else { const usage = tmp47.anthropic.usage; let prop; if (null != usage) { prop = usage.cache_read_input_tokens; } if (null != prop) { let cacheReadInputTokens = prop; } else { cacheReadInputTokens = tmp47.anthropic.cacheReadInputTokens; } setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, cacheReadInputTokens); const usage2 = tmp47.anthropic.usage; let prop1; if (null != usage2) { prop1 = usage2.cache_creation_input_tokens; } let tmp75 = prop1; if (null != prop1) { let cacheCreationInputTokens = tmp75; } else { cacheCreationInputTokens = tmp47.anthropic.cacheCreationInputTokens; } tmp75 = setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE_ATTRIBUTE, cacheCreationInputTokens); } } const _Object = Object; keys = Object.keys(str); keys = keys[Symbol.iterator](); str = "vercel."; while (true) { let tmp98 = __exception; continue; } } } function renameAttributeKey(data, AI_MODEL_ID_ATTRIBUTE, GEN_AI_OPERATION_NAME_ATTRIBUTE) { if (null != data[AI_MODEL_ID_ATTRIBUTE]) { data[GEN_AI_OPERATION_NAME_ATTRIBUTE] = data[AI_MODEL_ID_ATTRIBUTE]; delete tmp2[tmp]; } } function setAttributeIfDefined(arg0, GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, cacheReadInputTokens) { if (null != cacheReadInputTokens) { arg0[GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE] = cacheReadInputTokens; } } Object.defineProperty(arg5, Symbol.toStringTag, { value: "Module" }); arg5.addVercelAiProcessors = function addVercelAiProcessors(on) { on.on("spanStart", onVercelAiSpanStart); on.addEventProcessor(Object.assign(vercelAiEventProcessor, { id: "VercelAiEventProcessor" })); };