decord/source/931_addOriginToSpan.js

277 lines
13 KiB
JavaScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 931
2026-07-25 08:10:48 +00:00
// Function ID: 10121
2026-07-20 16:05:17 +00:00
// Name: addOriginToSpan
2026-07-23 10:11:24 +00:00
// Dependencies: [816, 796, 932, 933, 934, 935]
2026-07-20 16:05:17 +00:00
// Module 931 (addOriginToSpan)
2026-07-23 10:11:24 +00:00
const require = arg1;
const dependencyMap = arg6;
2026-07-20 16:05:17 +00:00
function addOriginToSpan(setAttribute, arg1) {
2026-07-23 10:11:24 +00:00
const attr = setAttribute.setAttribute(require(816).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, "auto.vercelai.otel");
2026-07-20 16:05:17 +00:00
}
function onVercelAiSpanStart(setAttribute) {
let data;
let description;
2026-07-23 10:11:24 +00:00
const obj = require(796) /* convertSpanLinksForEnvelope */;
({ data, description } = require(796) /* convertSpanLinksForEnvelope */.spanToJSON(setAttribute));
2026-07-20 16:05:17 +00:00
if (description) {
2026-07-23 10:11:24 +00:00
if (data[require(undefined, 932).AI_TOOL_CALL_NAME_ATTRIBUTE]) {
if (data[require(undefined, 932).AI_TOOL_CALL_ID_ATTRIBUTE]) {
2026-07-20 16:05:17 +00:00
if ("ai.toolCall" === description) {
addOriginToSpan(setAttribute, "auto.vercelai.otel");
2026-07-23 10:11:24 +00:00
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"];
2026-07-20 16:05:17 +00:00
if ("string" === typeof gen_ai_tool_call_id) {
2026-07-23 10:11:24 +00:00
const toolCallSpanMap = require(935) /* map */.toolCallSpanMap;
2026-07-20 16:05:17 +00:00
const result = toolCallSpanMap.set(gen_ai_tool_call_id, setAttribute);
}
2026-07-23 10:11:24 +00:00
if (!data["gen_ai.tool.type"]) {
2026-07-20 16:05:17 +00:00
const attr1 = setAttribute.setAttribute("gen_ai.tool.type", "function");
}
2026-07-23 10:11:24 +00:00
gen_ai_tool_name = data["gen_ai.tool.name"];
2026-07-20 16:05:17 +00:00
if (gen_ai_tool_name) {
const _HermesInternal7 = HermesInternal;
setAttribute.updateName("execute_tool " + gen_ai_tool_name);
}
}
}
}
2026-07-23 10:11:24 +00:00
let startsWithResult = data[require(undefined, 932).AI_OPERATION_ID_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
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);
2026-07-23 10:11:24 +00:00
const tmp16 = data[require(undefined, 932).AI_TELEMETRY_FUNCTION_ID_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
let tmp17 = tmp16;
2026-07-23 10:11:24 +00:00
if (tmp16) {
2026-07-20 16:05:17 +00:00
tmp17 = "string" === typeof tmp16;
}
if (tmp17) {
const _HermesInternal = HermesInternal;
setAttribute.updateName("" + replaced + " " + tmp16);
const attr3 = setAttribute.setAttribute("gen_ai.function_id", tmp16);
}
2026-07-23 10:11:24 +00:00
const messagesFromPrompt = require(933) /* convertPromptToMessages */.requestMessagesFromPrompt(setAttribute, data);
let tmp24 = data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
if (tmp24) {
2026-07-23 10:11:24 +00:00
tmp24 = !data[require(undefined, 934).GEN_AI_RESPONSE_MODEL_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
}
if (tmp24) {
2026-07-23 10:11:24 +00:00
const attr4 = setAttribute.setAttribute(require(934).GEN_AI_RESPONSE_MODEL_ATTRIBUTE, data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE]);
2026-07-20 16:05:17 +00:00
}
const attr5 = setAttribute.setAttribute("ai.streaming", description.includes("stream"));
2026-07-23 10:11:24 +00:00
const obj2 = require(933) /* convertPromptToMessages */;
const spanOpFromName = require(933) /* convertPromptToMessages */.getSpanOpFromName(description);
2026-07-20 16:05:17 +00:00
if (spanOpFromName) {
2026-07-23 10:11:24 +00:00
const attr6 = setAttribute.setAttribute(require(816).SEMANTIC_ATTRIBUTE_SENTRY_OP, spanOpFromName);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
const tmp39 = data[require(undefined, 932).AI_MODEL_ID_ATTRIBUTE];
if (tmp39) {
2026-07-20 16:05:17 +00:00
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);
}
}
2026-07-23 10:11:24 +00:00
const obj3 = require(933) /* convertPromptToMessages */;
2026-07-20 16:05:17 +00:00
}
}
}
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);
2026-07-23 10:11:24 +00:00
let tmp11 = require;
let tmp12 = dependencyMap;
let obj = require(933) /* convertPromptToMessages */;
2026-07-20 16:05:17 +00:00
let tmp13 = map;
let result = obj.accumulateTokensForParent(nextResult, tmp5);
2026-07-23 10:11:24 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
const spans2 = type.spans;
const iter2 = spans2[Symbol.iterator]();
const nextResult1 = iter2.next();
while (iter2 !== undefined) {
if ("gen_ai.invoke_agent" === nextResult1.op) {
2026-07-23 10:11:24 +00:00
let tmp19 = require;
let tmp20 = dependencyMap;
let obj2 = require(933) /* convertPromptToMessages */;
2026-07-20 16:05:17 +00:00
let tmp21 = nextResult1;
let tmp22 = map;
let result1 = obj2.applyAccumulatedTokens(tmp18, tmp5);
}
2026-07-23 10:11:24 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
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) {
2026-07-23 10:11:24 +00:00
const result2 = require(933) /* convertPromptToMessages */.applyAccumulatedTokens(trace, map);
const obj3 = require(933) /* convertPromptToMessages */;
2026-07-20 16:05:17 +00:00
}
}
}
return type;
}
function processEndedVercelAiSpan(nextResult) {
const data = nextResult.data;
if ("auto.vercelai.otel" === nextResult.origin) {
let keys = renameAttributeKey;
keys = data;
2026-07-23 10:11:24 +00:00
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];
2026-07-20 16:05:17 +00:00
if (tmp4) {
keys = data;
2026-07-23 10:11:24 +00:00
tmp4 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
}
if (tmp4) {
2026-07-23 10:11:24 +00:00
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];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let tmp11 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
if (tmp11) {
2026-07-23 10:11:24 +00:00
tmp11 = "number" === typeof data[require(undefined, 934).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
}
if (tmp11) {
2026-07-23 10:11:24 +00:00
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];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let isArray = data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE];
2026-07-20 16:05:17 +00:00
if (isArray) {
const _Array = Array;
2026-07-23 10:11:24 +00:00
isArray = Array.isArray(data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE]);
2026-07-20 16:05:17 +00:00
}
if (isArray) {
2026-07-23 10:11:24 +00:00
data[require(932).AI_PROMPT_TOOLS_ATTRIBUTE] = require(933) /* convertPromptToMessages */.convertAvailableToolsToJsonString(data[require(undefined, 932).AI_PROMPT_TOOLS_ATTRIBUTE]);
const obj = require(933) /* convertPromptToMessages */;
2026-07-20 16:05:17 +00:00
}
let str = data;
2026-07-23 10:11:24 +00:00
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) {
2026-07-20 16:05:17 +00:00
const _JSON = JSON;
const parsed = JSON.parse(tmp43);
const openai = parsed.openai;
if (null != openai) {
let azure = openai;
} else {
azure = tmp47.azure;
}
if (azure) {
2026-07-23 10:11:24 +00:00
setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, azure.cachedPromptTokens);
2026-07-20 16:05:17 +00:00
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) {
2026-07-23 10:11:24 +00:00
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);
2026-07-20 16:05:17 +00:00
}
if (tmp47.deepseek) {
2026-07-23 10:11:24 +00:00
setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, parsed.deepseek.promptCacheHitTokens);
2026-07-20 16:05:17 +00:00
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;
}
2026-07-23 10:11:24 +00:00
setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHED_ATTRIBUTE, cacheReadInputTokens);
2026-07-20 16:05:17 +00:00
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;
}
2026-07-23 10:11:24 +00:00
tmp75 = setAttributeIfDefined(tmp42, require(934).GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE_ATTRIBUTE, cacheCreationInputTokens);
2026-07-20 16:05:17 +00:00
}
}
const _Object = Object;
keys = Object.keys(str);
keys = keys[Symbol.iterator]();
str = "vercel.";
while (true) {
let tmp98 = __exception;
2026-07-23 10:11:24 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
}
}
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];
2026-07-23 10:11:24 +00:00
delete tmp2[tmp];
2026-07-20 16:05:17 +00:00
}
}
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" }));
};