// Metro module 978 (f979). import { ROLE_MAP, LANGCHAIN_ORIGIN } from "./Module979"; import { GEN_AI_SYSTEM_ATTRIBUTE, GEN_AI_OPERATION_NAME_ATTRIBUTE, GEN_AI_REQUEST_MODEL_ATTRIBUTE, GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE, GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE, GEN_AI_REQUEST_TOP_P_ATTRIBUTE, GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE, GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE, GEN_AI_REQUEST_STREAM_ATTRIBUTE, GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, GEN_AI_REQUEST_MESSAGES_ATTRIBUTE, GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE, GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, GEN_AI_RESPONSE_TEXT_ATTRIBUTE, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE, GEN_AI_RESPONSE_MODEL_ATTRIBUTE, GEN_AI_RESPONSE_ID_ATTRIBUTE, GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE } from "./Module958"; import { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from "./Module839"; import { truncateGenAiMessages } from "./truncateTextByBytes"; import { HermesBuiltin } from "../_hermes/prelude"; let setIfDefined, setNumberIfDefined, baseRequestAttributes, $mk67434 = function() { return (a0) => { const _getType = a0._getType; if (typeof _getType === "function") { const r141 = _getType.call(a0).toLowerCase(); let role5 = ROLE_MAP[r141]; if (role5 == null) { role5 = r141; } return { role: role5, content: asString(a0.content) }; } const name = a0.constructor?.name; if (name) { const r104 = name.includes("System"); let r105 = "system"; if (!r104) { const r108 = name.includes("Human"); let r109 = "user"; let r110 = "user"; if (!r108) { const r113 = name.includes("AI"); let r115 = "assistant"; if (!r113) { const r118 = name.includes("Assistant"); r115 = "assistant"; if (!r118) { const r121 = name.includes("Function"); let r122 = "function"; if (!r121) { if (name.includes("Tool")) { r109 = "tool"; } r122 = r109; } r115 = r122; } } r110 = r115; } r105 = r110; } const r127 = r105.toLowerCase(); let role4 = ROLE_MAP[r127]; if (role4 == null) { role4 = r127; } return { role: role4, content: asString(a0.content) }; } if (a0.type) { const r91 = String(a0.type).toLowerCase().toLowerCase(); let role3 = ROLE_MAP[r91]; if (role3 == null) { role3 = r91; } return { role: role3, content: asString(a0.content) }; } if (a0.role) { const r73 = String(a0.role).toLowerCase(); let role2 = ROLE_MAP[r73]; if (role2 == null) { role2 = r73; } return { role: role2, content: asString(a0.content) }; } if (a0.lc === 1 && a0.kwargs) { const id = a0.id; const r17 = Array.isArray(id) ? id.length > 0 ? id[id.length - 1] : "" : ""; let r13 = "user"; let r34 = "user"; if (typeof r17 === "string") { const r37 = r17.includes("System"); let r38 = "system"; if (!r37) { const r40 = r17.includes("Human"); let r41 = "user"; if (!r40) { const r43 = r17.includes("AI"); let r44 = "assistant"; if (!r43) { const r46 = r17.includes("Assistant"); r44 = "assistant"; if (!r46) { const r49 = r17.includes("Function"); let r50 = "function"; if (!r49) { if (r17.includes("Tool")) { r13 = "tool"; } r50 = r13; } r44 = r50; } } r41 = r44; } r38 = r41; } r34 = r38; } const r55 = r34.toLowerCase(); let role = ROLE_MAP[r55]; if (role == null) { role = r55; } return { role, content: asString(a0.kwargs?.content) }; } return { role: "user", content: asString(a0.content) }; }; }; const asString = function asString(content) { let r4; if (typeof content === "string") { return content; } try { r4 = JSON.stringify(content); } catch ($e) { return String(content); } return r4; }; baseRequestAttributes = function baseRequestAttributes(ls_provider, a1, a2, a3, a4, a5) { const r8 = ls_provider == null ? "langchain" : ls_provider; const r20 = {}; r20[GEN_AI_SYSTEM_ATTRIBUTE] = asString(r8); r20[GEN_AI_OPERATION_NAME_ATTRIBUTE] = a2; r20[GEN_AI_REQUEST_MODEL_ATTRIBUTE] = asString(a1); r20[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = LANGCHAIN_ORIGIN; const r36 = "kwargs" in a3 ? a3.kwargs : void 0; let r15 = a4?.temperature; if (r15 == null) { r15 = a5?.ls_temperature; } if (r15 == null) { r15 = r36?.temperature; } const r47 = {}; const r50 = Number(r15); if (!Number.isNaN(r50)) { r47[GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE] = r50; } let r54 = a4?.max_tokens; if (r54 == null) { r54 = a5?.ls_max_tokens; } if (r54 == null) { r54 = r36?.max_tokens; } const r65 = Number(r54); if (!Number.isNaN(r65)) { r47[GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE] = r65; } let r70 = a4?.top_p; if (r70 == null) { r70 = r36?.top_p; } const r79 = Number(r70); if (!Number.isNaN(r79)) { r47[GEN_AI_REQUEST_TOP_P_ATTRIBUTE] = r79; } const r91 = Number(a4?.frequency_penalty); if (!Number.isNaN(r91)) { r47[GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE] = r91; } const r103 = Number(a4?.presence_penalty); if (!Number.isNaN(r103)) { r47[GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE] = r103; } if (a4 ? "stream" in a4 : a4) { const r115 = Boolean(a4.stream); if (r115 != null) { r47[GEN_AI_REQUEST_STREAM_ATTRIBUTE] = r115; } } HermesBuiltin.copyDataProperties(r20, r47); return r20; }; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); setIfDefined = (a0, a1, a2) => { if (a2 != null) { a0[a1] = a2; } }; setNumberIfDefined = (a0, a1, a2) => {}; export function extractChatModelRequestAttributes(a0, a1, a2, a3, a4) { let r10 = a4?.ls_provider; if (r10 == null) { const id = a0.id; r10 = id == null ? void 0 : id[2]; } let r7 = a3?.model; if (r7 == null) { r7 = a4?.ls_model_name; } if (r7 == null) { r7 = "unknown"; } const r25 = baseRequestAttributes(r10, r7, "chat", a0, a3, a4); if (a2 && Array.isArray(a1) && a1.length > 0) { const r36 = a1.flat().map($mk67434()); const length = r36.length; if (length != null) { r25[GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE] = length; } const r54 = asString(truncateGenAiMessages(r36)); if (r54 != null) { r25[GEN_AI_REQUEST_MESSAGES_ATTRIBUTE] = r54; } } return r25; } export function extractLLMRequestAttributes(a0, a1, a2, a3, a4) { const ls_provider = a4?.ls_provider; let r8 = a3?.model; if (r8 == null) { r8 = a4?.ls_model_name; } if (r8 == null) { r8 = "unknown"; } const r22 = baseRequestAttributes(ls_provider, r8, "pipeline", a0, a3, a4); if (a2 && Array.isArray(a1) && a1.length > 0) { const length = a1.length; if (length != null) { r22[GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE] = length; } const r44 = asString(a1.map((item) => ({ role: "user", content: item }))); if (r44 != null) { r22[GEN_AI_REQUEST_MESSAGES_ATTRIBUTE] = r44; } } return r22; } export function extractLlmResponseAttributes(a0, a1) { if (a0) { const r4 = {}; if (Array.isArray(a0.generations)) { const r11 = a0.generations.flat().map((item) => item.generationInfo?.finish_reason ? item.generationInfo.finish_reason : item.generation_info?.finish_reason ? item.generation_info.finish_reason : null).filter((item) => typeof item === "string"); if (r11.length > 0) { const r37 = asString(r11); if (r37 != null) { r4[GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE] = r37; } } (function addToolCallsAttributes(a0, a1) { const r5 = []; for (const item of a0.flat()) { const content = item.message?.content; if (Array.isArray(content)) { for (const item2 of content) { if (item2.type === "tool_use") { r5.push(item2); } } } } if (r5.length > 0) { setIfDefined(a1, GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, asString(r5)); } })(a0.generations, r4); if (a1) { const r51 = a0.generations.flat().map((item) => { let text = item.text; if (text == null) { text = item.message?.content; } return text; }).filter((item) => typeof item === "string"); if (r51.length > 0) { const r60 = asString(r51); if (r60 != null) { r4[GEN_AI_RESPONSE_TEXT_ATTRIBUTE] = r60; } } } } const llmOutput = a0.llmOutput; if (llmOutput) { const { tokenUsage, usage } = llmOutput; if (tokenUsage) { const r149 = Number(tokenUsage.promptTokens); if (!Number.isNaN(r149)) { r4[GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE] = r149; } const r160 = Number(tokenUsage.completionTokens); if (!Number.isNaN(r160)) { r4[GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE] = r160; } const r171 = Number(tokenUsage.totalTokens); if (!Number.isNaN(r171)) { r4[GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE] = r171; } } else if (usage) { const r74 = Number(usage.input_tokens); if (!Number.isNaN(r74)) { r4[GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE] = r74; } const r84 = Number(usage.output_tokens); if (!Number.isNaN(r84)) { r4[GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE] = r84; } const r90 = Number(usage.input_tokens); const r93 = Number(usage.output_tokens); const r103 = (Number.isNaN(r90) ? 0 : r90) + (Number.isNaN(r93) ? 0 : r93); if (r103 > 0) { const r110 = Number(r103); if (!Number.isNaN(r110)) { r4[GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE] = r110; } } if (usage.cache_creation_input_tokens !== void 0) { const r122 = Number(usage.cache_creation_input_tokens); if (!Number.isNaN(r122)) { r4[GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE] = r122; } } if (usage.cache_read_input_tokens !== void 0) { const r134 = Number(usage.cache_read_input_tokens); if (!Number.isNaN(r134)) { r4[GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE] = r134; } } } } const { llmOutput: llmOutput2, generations } = a0; const r3 = generations == null; let r179 = void 0; if (!r3) { const r180 = generations[0]; r179 = r180 == null ? void 0 : r180[0]; } const message = r179?.message; let r185 = llmOutput2?.model_name; if (r185 == null) { r185 = llmOutput2?.model; } if (r185 == null) { r185 = message == null ? void 0 : message.response_metadata?.model_name; } if (r185) { if (r185 != null) { r4[GEN_AI_RESPONSE_MODEL_ATTRIBUTE] = r185; } } let r201 = llmOutput2?.id; if (r201 == null) { r201 = message?.id; } if (r201) { if (r201 != null) { r4[GEN_AI_RESPONSE_ID_ATTRIBUTE] = r201; } } let r213 = llmOutput2?.stop_reason; if (r213 == null) { r213 = message == null ? void 0 : message.response_metadata?.finish_reason; } if (r213) { const r225 = asString(r213); if (r225 != null) { r4[GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE] = r225; } } return r4; } } export function getInvocationParams(a0) { if (a0 && !Array.isArray(a0)) { return a0.invocation_params; } } export function normalizeLangChainMessages(a0) { return a0.map($mk67434()); }