479 lines
17 KiB
JavaScript
479 lines
17 KiB
JavaScript
// Metro module 973 (f974).
|
|
import { GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, GEN_AI_REQUEST_MESSAGES_ATTRIBUTE } from "./Module958";
|
|
import { contentUnionToMessages } from "./contentUnionToMessages";
|
|
import { truncateGenAiMessages } from "./truncateTextByBytes";
|
|
import { getClient } from "./Module848";
|
|
import { HermesBuiltin, $createGenerator } from "../_hermes/prelude";
|
|
function $mk67411($env) {
|
|
return (a0, a1, a2) => {
|
|
let r155, model, model2;
|
|
const r3 = $env;
|
|
let env23937 = {
|
|
$parent: $env
|
|
};
|
|
env23937[0] = a0;
|
|
env23937[1] = a2;
|
|
const r25 = a2[0];
|
|
env23937[2] = r25;
|
|
const r8 = $env.$parent;
|
|
const r12 = r3[0];
|
|
const r13 = r3[1];
|
|
const attributes = {};
|
|
const r11 = r8[0];
|
|
const r10 = r8[1];
|
|
attributes[r11(r10[1]).GEN_AI_SYSTEM_ATTRIBUTE] = r11(r10[2]).GOOGLE_GENAI_SYSTEM_NAME;
|
|
attributes[r11(r10[1]).GEN_AI_OPERATION_NAME_ATTRIBUTE] = r11(r10[3]).getFinalOperationName(r12);
|
|
attributes[r11(r10[4]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = "auto.ai.google_genai";
|
|
const GEN_AI_REQUEST_MODEL_ATTRIBUTE = r11(r10[1]).GEN_AI_REQUEST_MODEL_ATTRIBUTE;
|
|
if (r25) {
|
|
L24: {
|
|
if ("model" in r25 && typeof r25.model === "string") {
|
|
model2 = r25.model;
|
|
} else {
|
|
model2 = "unknown";
|
|
if (r13) {
|
|
model2 = "unknown";
|
|
if (typeof r13 === "object") {
|
|
if ("model" in r13 && typeof r13.model === "string") {
|
|
model2 = r13.model;
|
|
break L24;
|
|
}
|
|
model2 = "modelVersion" in r13 ? typeof r13.modelVersion === "string" ? r13.modelVersion : "unknown" : "unknown";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
attributes[GEN_AI_REQUEST_MODEL_ATTRIBUTE] = model2;
|
|
if ("config" in r25 && typeof r25.config === "object" && r25.config) {
|
|
const config = r25.config;
|
|
const r65 = Object;
|
|
const r68 = "temperature" in config && typeof config.temperature === "number";
|
|
const r70 = {};
|
|
if (r68) {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE] = config.temperature;
|
|
}
|
|
if ("topP" in config && typeof config.topP === "number") {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_TOP_P_ATTRIBUTE] = config.topP;
|
|
}
|
|
if ("topK" in config && typeof config.topK === "number") {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_TOP_K_ATTRIBUTE] = config.topK;
|
|
}
|
|
if ("maxOutputTokens" in config && typeof config.maxOutputTokens === "number") {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE] = config.maxOutputTokens;
|
|
}
|
|
if ("frequencyPenalty" in config && typeof config.frequencyPenalty === "number") {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE] = config.frequencyPenalty;
|
|
}
|
|
if ("presencePenalty" in config && typeof config.presencePenalty === "number") {
|
|
r70[r11(r10[1]).GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE] = config.presencePenalty;
|
|
}
|
|
r65.assign(attributes, r70);
|
|
if ("tools" in config && Array.isArray(config.tools)) {
|
|
const r120 = config.tools.flatMap((tool) => tool.functionDeclarations);
|
|
attributes[r11(r10[1]).GEN_AI_REQUEST_AVAILABLE_TOOLS_ATTRIBUTE] = JSON.stringify(r120);
|
|
}
|
|
}
|
|
} else {
|
|
L12: {
|
|
const r15 = {};
|
|
if ("model" in r15 && typeof r15.model === "string") {
|
|
model = r15.model;
|
|
} else {
|
|
model = "unknown";
|
|
if (r13) {
|
|
model = "unknown";
|
|
if (typeof r13 === "object") {
|
|
if ("model" in r13 && typeof r13.model === "string") {
|
|
model = r13.model;
|
|
break L12;
|
|
}
|
|
model = "modelVersion" in r13 ? typeof r13.modelVersion === "string" ? r13.modelVersion : "unknown" : "unknown";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
attributes[GEN_AI_REQUEST_MODEL_ATTRIBUTE] = model;
|
|
}
|
|
let r18 = attributes[r11(r10[1]).GEN_AI_REQUEST_MODEL_ATTRIBUTE];
|
|
if (r18 == null) {
|
|
r18 = "unknown";
|
|
}
|
|
const finalOperationName = r11(r10[3]).getFinalOperationName(r12);
|
|
const isStreamingMethod = r11(r10[5]).isStreamingMethod(r12);
|
|
const r140 = r11(r10[7]);
|
|
if (isStreamingMethod) {
|
|
const r170 = {
|
|
name: `${finalOperationName} ${r18} stream-response`,
|
|
op: r11(r10[3]).getSpanOperation(r12),
|
|
attributes
|
|
};
|
|
let c23938_0 = (0, r8[2])(function(c31177_0) {
|
|
let c31177_1, c31177_2, c31177_3;
|
|
let c31177_5 = 0;
|
|
let c31177_6 = 0;
|
|
let c31177_4 = 0;
|
|
return $createGenerator(function(a0) {
|
|
let value2, value3;
|
|
let c31862_0, c31862_1, c31862_2;
|
|
const r0 = c31177_6;
|
|
if (r0 === 2) {
|
|
c31177_6 = 3;
|
|
HermesBuiltin.throwTypeError("Generator functions may not be called on executing generators");
|
|
throw new Error("unreachable");
|
|
}
|
|
const value = arguments[1];
|
|
const r10 = void 0;
|
|
const r9 = env23937.$parent;
|
|
if (r0 === 3) {
|
|
if (a0 === 1) {
|
|
throw value;
|
|
}
|
|
if (a0 === 2) {
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
while (true) {
|
|
L21: {
|
|
L19: {
|
|
L9: {
|
|
try {
|
|
c31177_6 = 2;
|
|
const r26 = c31177_5;
|
|
if (r26 === 0) {
|
|
if (a0 === 1) {
|
|
c31177_6 = 3;
|
|
throw value;
|
|
}
|
|
if (a0 === 2) {
|
|
c31177_6 = 3;
|
|
break L21;
|
|
}
|
|
c31177_2 = r10;
|
|
c31862_0 = c31177_0;
|
|
c31862_1 = void 0;
|
|
c31177_4 = 1;
|
|
if (r9[2].recordInputs && env23937[2]) {
|
|
(0, env23937.$parent.$parent[3])(c31177_0, env23937[2]);
|
|
}
|
|
value3 = env23937[0].apply(r9[1], env23937[1]);
|
|
c31177_5 = 2;
|
|
c31177_6 = 1;
|
|
break L19;
|
|
}
|
|
if (r26 === 1) {
|
|
const r44 = c31177_3;
|
|
c31177_4 = 0;
|
|
c31862_2 = r44;
|
|
const r45 = c31862_0;
|
|
const r47 = env23937.$parent.$parent;
|
|
r45.setStatus({
|
|
code: (0, r47[0])(r47[1][9]).SPAN_STATUS_ERROR,
|
|
message: "internal_error"
|
|
});
|
|
(0, r47[0])(r47[1][10]).captureException(c31862_2, {
|
|
mechanism: {
|
|
handled: false,
|
|
type: "auto.ai.google_genai",
|
|
data: {
|
|
function: env23937.$parent[0]
|
|
}
|
|
}
|
|
});
|
|
c31862_0.end();
|
|
throw c31862_2;
|
|
}
|
|
if (a0 === 1) {
|
|
c31177_6 = 3;
|
|
throw value;
|
|
}
|
|
if (a0 === 2) {
|
|
c31177_4 = 0;
|
|
c31177_6 = 3;
|
|
break L9;
|
|
}
|
|
c31862_1 = value;
|
|
const r15 = env23937.$parent.$parent;
|
|
value2 = (0, r15[0])(r15[1][8]).instrumentStream(c31862_1, c31862_0, Boolean(env23937.$parent[2].recordOutputs));
|
|
c31177_4 = 0;
|
|
c31177_6 = 3;
|
|
} catch (r91) {
|
|
c31177_3 = r91;
|
|
if (c31177_4 === 0) {
|
|
c31177_6 = 3;
|
|
throw r91;
|
|
}
|
|
c31177_5 = 1;
|
|
continue;
|
|
}
|
|
return {
|
|
value: value2,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: value3,
|
|
done: false
|
|
};
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
});
|
|
});
|
|
r155 = r140.startSpanManual(r170, function(a0) {
|
|
return c23938_0.apply(this, arguments);
|
|
});
|
|
} else {
|
|
const r142 = r3[3];
|
|
const concat = HermesInternal.concat;
|
|
r155 = r140.startSpan({
|
|
name: r142 ? concat.call("", finalOperationName, " ", r18, " create") : concat.call("", finalOperationName, " ", r18),
|
|
op: r11(r10[3]).getSpanOperation(r12),
|
|
attributes
|
|
}, (a0) => {
|
|
let c28698_0 = a0;
|
|
const r2 = env23937.$parent;
|
|
if (r2[2].recordInputs && env23937[2]) {
|
|
(0, env23937.$parent.$parent[3])(a0, env23937[2]);
|
|
}
|
|
const r16 = env23937.$parent.$parent;
|
|
return (0, r16[0])(r16[1][11]).handleCallbackErrors(() => env23937[0].apply(env23937.$parent[1], env23937[1]), $mk113538(r2), () => {}, (a0) => {
|
|
const r3 = env23937.$parent;
|
|
if (!r3[3]) {
|
|
const recordOutputs = r3[2].recordOutputs;
|
|
if (a0 && typeof a0 === "object") {
|
|
if (a0.modelVersion) {
|
|
const r14 = env23937.$parent.$parent;
|
|
c28698_0.setAttribute((0, r14[0])(r14[1][1]).GEN_AI_RESPONSE_MODEL_ATTRIBUTE, a0.modelVersion);
|
|
}
|
|
if (a0.usageMetadata && typeof a0.usageMetadata === "object") {
|
|
const usageMetadata = a0.usageMetadata;
|
|
if (typeof usageMetadata.promptTokenCount === "number") {
|
|
const r27 = {};
|
|
const r8 = env23937.$parent.$parent;
|
|
r27[(0, r8[0])(r8[1][1]).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE] = usageMetadata.promptTokenCount;
|
|
c28698_0.setAttributes(r27);
|
|
}
|
|
if (typeof usageMetadata.candidatesTokenCount === "number") {
|
|
const r37 = {};
|
|
const r38 = env23937.$parent.$parent;
|
|
r37[(0, r38[0])(r38[1][1]).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE] = usageMetadata.candidatesTokenCount;
|
|
c28698_0.setAttributes(r37);
|
|
}
|
|
if (typeof usageMetadata.totalTokenCount === "number") {
|
|
const r49 = {};
|
|
const r50 = env23937.$parent.$parent;
|
|
r49[(0, r50[0])(r50[1][1]).GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE] = usageMetadata.totalTokenCount;
|
|
c28698_0.setAttributes(r49);
|
|
}
|
|
}
|
|
if (recordOutputs && Array.isArray(a0.candidates) && a0.candidates.length > 0) {
|
|
const r10 = a0.candidates.map((candidate) => candidate.content?.parts ? Array.isArray(candidate.content.parts) ? candidate.content.parts.map((part) => typeof part.text === "string" ? part.text : "").filter((item) => item.length > 0).join("") : "" : "").filter((item) => item.length > 0);
|
|
if (r10.length > 0) {
|
|
const r75 = {};
|
|
const r76 = env23937.$parent.$parent;
|
|
r75[(0, r76[0])(r76[1][1]).GEN_AI_RESPONSE_TEXT_ATTRIBUTE] = r10.join("");
|
|
c28698_0.setAttributes(r75);
|
|
}
|
|
}
|
|
if (recordOutputs && a0.functionCalls) {
|
|
const functionCalls = a0.functionCalls;
|
|
if (Array.isArray(functionCalls) && functionCalls.length > 0) {
|
|
const r95 = {};
|
|
const r96 = env23937.$parent.$parent;
|
|
r95[(0, r96[0])(r96[1][1]).GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE] = JSON.stringify(functionCalls);
|
|
c28698_0.setAttributes(r95);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
return r155;
|
|
};
|
|
}
|
|
function $mk67412($env) {
|
|
return (a0, a1, a2) => {
|
|
let r28;
|
|
const r9 = $env;
|
|
const r6 = Reflect.get(a0, a1, a2);
|
|
const r18 = $env.$parent;
|
|
const r8 = r18[0];
|
|
const r19 = r18[1];
|
|
const r23 = r8(r19[3]).buildMethodPath(r9[0], String(a1));
|
|
if (typeof r6 === "function" && r8(r19[5]).shouldInstrument(r23)) {
|
|
if (r23 === r8(r19[2]).CHATS_CREATE_METHOD) {
|
|
let env23942;
|
|
let env23941 = {
|
|
$parent: $env
|
|
};
|
|
const r56 = r9[1];
|
|
const r57 = env23942 = {
|
|
$parent: r18
|
|
};
|
|
env23942[0] = r23;
|
|
env23942[1] = a0;
|
|
env23942[2] = r56;
|
|
env23942[3] = r23 === r8(r19[2]).CHATS_CREATE_METHOD;
|
|
env23941[0] = new Proxy(r6, {
|
|
apply: $mk67411(r57)
|
|
});
|
|
return function instrumentedAndProxiedCreate() {
|
|
const r6 = env23941[0].apply(void 0, [...Array.prototype.slice.call(arguments, 0)]);
|
|
let r17 = r6;
|
|
if (r6) {
|
|
r17 = r6;
|
|
if (typeof r17 === "object") {
|
|
let env28699;
|
|
const r4 = env23941.$parent.$parent;
|
|
let CHAT_PATH = (0, r4[0])(r4[1][2]).CHAT_PATH;
|
|
const r23 = env23941.$parent[1];
|
|
const r24 = env28699 = {
|
|
$parent: r4
|
|
};
|
|
env28699[0] = void 0;
|
|
env28699[1] = void 0;
|
|
if (CHAT_PATH === void 0) {
|
|
CHAT_PATH = "";
|
|
}
|
|
env28699[0] = CHAT_PATH;
|
|
env28699[1] = r23;
|
|
r17 = new Proxy(r6, {
|
|
get: $mk67412(r24)
|
|
});
|
|
}
|
|
}
|
|
return r17;
|
|
};
|
|
}
|
|
let env23940;
|
|
const r41 = r9[1];
|
|
const r42 = env23940 = {
|
|
$parent: r18
|
|
};
|
|
env23940[0] = r23;
|
|
env23940[1] = a0;
|
|
env23940[2] = r41;
|
|
env23940[3] = r23 === r8(r19[2]).CHATS_CREATE_METHOD;
|
|
return new Proxy(r6, {
|
|
apply: $mk67411(r42)
|
|
});
|
|
}
|
|
if (typeof r6 === "function") {
|
|
r28 = r6.bind(a0);
|
|
} else {
|
|
r28 = r6;
|
|
if (r6) {
|
|
r28 = r6;
|
|
if (typeof r28 === "object") {
|
|
const r29 = r9[1];
|
|
let r30 = r23;
|
|
if (r30 === void 0) {
|
|
r30 = "";
|
|
}
|
|
let env23939;
|
|
const r31 = env23939 = {
|
|
$parent: r18
|
|
};
|
|
env23939[0] = r30;
|
|
env23939[1] = r29;
|
|
r28 = new Proxy(r6, {
|
|
get: $mk67412(r31)
|
|
});
|
|
}
|
|
}
|
|
}
|
|
return r28;
|
|
};
|
|
}
|
|
function $mk113538($env) {
|
|
return (a0) => {
|
|
const r1 = $env.$parent;
|
|
(0, r1[0])(r1[1][10]).captureException(a0, {
|
|
mechanism: {
|
|
handled: false,
|
|
type: "auto.ai.google_genai",
|
|
data: {
|
|
function: $env[0]
|
|
}
|
|
}
|
|
});
|
|
};
|
|
}
|
|
let env801 = {};
|
|
const addPrivateRequestAttributes = function addPrivateRequestAttributes(a0, a1) {
|
|
const r14 = "config" in a1 && a1.config && typeof a1.config === "object" && "systemInstruction" in a1.config && a1.config.systemInstruction;
|
|
const r10 = [];
|
|
if (r14) {
|
|
r10.push.apply(r10, [...contentUnionToMessages(a1.config.systemInstruction, "system")]);
|
|
}
|
|
if ("history" in a1) {
|
|
r10.push.apply(r10, [...contentUnionToMessages(a1.history, "user")]);
|
|
}
|
|
if ("contents" in a1) {
|
|
r10.push.apply(r10, [...contentUnionToMessages(a1.contents, "user")]);
|
|
}
|
|
if ("message" in a1) {
|
|
r10.push.apply(r10, [...contentUnionToMessages(a1.message, "user")]);
|
|
}
|
|
if (Array.isArray(r10) && r10.length) {
|
|
const setAttributes = a0.setAttributes;
|
|
const r95 = {};
|
|
r95[GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE] = r10.length;
|
|
r95[GEN_AI_REQUEST_MESSAGES_ATTRIBUTE] = JSON.stringify(truncateGenAiMessages(r10));
|
|
setAttributes.call(a0, r95);
|
|
}
|
|
};
|
|
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
value: "Module"
|
|
});
|
|
export function extractModel(a0, a1) {
|
|
if ("model" in a0 && typeof a0.model === "string") {
|
|
return a0.model;
|
|
}
|
|
if (a1 && typeof a1 === "object") {
|
|
if ("model" in a1 && typeof a1.model === "string") {
|
|
return a1.model;
|
|
}
|
|
if ("modelVersion" in a1 && typeof a1.modelVersion === "string") {
|
|
return a1.modelVersion;
|
|
}
|
|
}
|
|
return "unknown";
|
|
}
|
|
export function instrumentGoogleGenAIClient(a0, a1) {
|
|
const r6 = Boolean;
|
|
const client = getClient();
|
|
const r15 = client == null ? void 0 : client.getOptions().sendDefaultPii;
|
|
let env12601;
|
|
const recordInputs = r6(r15);
|
|
const r20 = {
|
|
recordInputs,
|
|
recordOutputs: recordInputs,
|
|
...a1
|
|
};
|
|
const r22 = env12601 = {
|
|
$parent: env801
|
|
};
|
|
env12601[0] = "";
|
|
env12601[1] = r20;
|
|
return new Proxy(a0, {
|
|
get: $mk67412(r22)
|
|
});
|
|
}
|