Files
discord-decomp/_bundle/asString.js
T
2026-11-01 12:12:55 +02:00

404 lines
12 KiB
JavaScript

// 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());
}