/* Metro module 986; source: unknown; dependencies: [77, 987, 966, 848, 969] */ function _fun10379(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#10379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:6, offset: 0x00d8ba46, size: 195 bytes, params: 8, frame: 19 const env0_0 = require; const asString = function(a0) { var JSON; var value; var error; if (typeof a0 === 'string') { return a0; } try { JSON = global.JSON; value = JSON.stringify(a0); } catch (error) { return (0, global.String)(a0); } return value; }; const normalizeMessageRole = function(a0) { var value = a0.toLowerCase(); return require(dependencyMap[1]).ROLE_MAP[value] ?? value; }; const closure = function(a0) { return a0.map(_fun10384); }; const env0_2 = require(77) /* metro dependency 77 */; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); const setIfDefined = function(a0, a1, a2) { if (a2 != null) { a0[a1] = a2; } }; const setNumberIfDefined = function(a0, a1, a2) { var value = (0, global.Number)(a2); var Number = global.Number; if (!Number.isNaN(value)) { a0[a1] = value; } }; exports.extractChatModelRequestAttributes = extractChatModelRequestAttributes; exports.extractLLMRequestAttributes = extractLLMRequestAttributes; exports.extractLlmResponseAttributes = extractLlmResponseAttributes; exports.getInvocationParams = function(a0) { if (a0) { if (global.Array.isArray(a0)) { return undefined; } return a0.invocation_params; } }; exports.normalizeLangChainMessages = closure; } function normalizeRoleNameFromCtor(a0) { // fn#10382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:449, offset: 0x00d8bb85, size: 161 bytes, params: 2, frame: 16 var r0; var value3; let value = a0.includes('System'); if (value) { r0 = 'system'; } else { value = a0.includes('Human'); value3 = 'user'; r0 = value ? value3 : a0.includes('AI') || a0.includes('Assistant') ? 'assistant' : a0.includes('Function') ? 'function' : a0.includes('Tool') ? 'tool' : value3; } return r0; } function normalizeLangChainMessages(a0) { // fn#10383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:672, offset: 0x00d8bc26, size: 22 bytes, params: 2, frame: 11 return a0.map(_fun10384); } function baseRequestAttributes(a0, a1, a2, a3, a4, a5) { // fn#10385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:1463, offset: 0x00d8be2d, size: 662 bytes, params: 7, frame: 27 let value = a0; const value2 = a4; const Object = global.Object; const assign = Object.assign; const binding = env0_2; const value4 = undefined; const GEN_AI_SYSTEM_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_SYSTEM_ATTRIBUTE; value = asString(value ?? 'langchain'); value = binding({}, GEN_AI_SYSTEM_ATTRIBUTE, value); const GEN_AI_OPERATION_NAME_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_OPERATION_NAME_ATTRIBUTE; value = binding(value, GEN_AI_OPERATION_NAME_ATTRIBUTE, a2); const GEN_AI_REQUEST_MODEL_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MODEL_ATTRIBUTE; value = binding(value, GEN_AI_REQUEST_MODEL_ATTRIBUTE, asString(a1)); const SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = (require(848) /* metro dependency 848 */).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN; const LANGCHAIN_ORIGIN = (require(987) /* metro dependency 987 */).LANGCHAIN_ORIGIN; value = binding(value, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, LANGCHAIN_ORIGIN); const object2 = {}; const kwargs = 'kwargs' in a3 ? a3.kwargs : value4; let r14 = (value2 == null ? value4 : value2.temperature) ?? (a5 == null ? value4 : a5.ls_temperature); r14 = r14 ?? (kwargs == null ? value4 : kwargs.temperature); let setNumberIfDefinedBinding = setNumberIfDefined; const GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE; setNumberIfDefinedBinding(object2, GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE, r14); let r13 = (value2 == null ? value4 : value2.max_tokens) ?? (a5 == null ? value4 : a5.ls_max_tokens); r13 = r13 ?? (kwargs == null ? value4 : kwargs.max_tokens); setNumberIfDefinedBinding = setNumberIfDefined; const GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE; setNumberIfDefinedBinding(object2, GEN_AI_REQUEST_MAX_TOKENS_ATTRIBUTE, r13); const r12 = (value2 == null ? value4 : value2.top_p) ?? (kwargs == null ? value4 : kwargs.top_p); setNumberIfDefinedBinding = setNumberIfDefined; const GEN_AI_REQUEST_TOP_P_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_TOP_P_ATTRIBUTE; setNumberIfDefinedBinding(object2, GEN_AI_REQUEST_TOP_P_ATTRIBUTE, r12); const frequency_penalty = value2 == null ? value4 : value2.frequency_penalty; setNumberIfDefinedBinding = setNumberIfDefined; const GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE; setNumberIfDefinedBinding(object2, GEN_AI_REQUEST_FREQUENCY_PENALTY_ATTRIBUTE, frequency_penalty); const presence_penalty = value2 == null ? value4 : value2.presence_penalty; setNumberIfDefinedBinding = setNumberIfDefined; const GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE; setNumberIfDefinedBinding(object2, GEN_AI_REQUEST_PRESENCE_PENALTY_ATTRIBUTE, presence_penalty); if (value2 && 'stream' in value2) { setIfDefined(object2, (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_STREAM_ATTRIBUTE, global.Boolean(value2.stream)); } return Reflect.apply(assign, Object, [value, object2]); } function extractChatModelRequestAttributes(a0, a1, a2, a3, a4) { // fn#10388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:2650, offset: 0x00d8c0f5, size: 307 bytes, params: 6, frame: 25 var Array; var value5; const baseRequestAttributesBinding = baseRequestAttributes; const value2 = undefined; const value4 = baseRequestAttributesBinding((a4 == null ? value2 : a4.ls_provider) ?? (a0.id == null ? value2 : a0.id[2]), (a3 == null ? value2 : a3.model) ?? (a4 == null ? value2 : a4.ls_model_name) ?? 'unknown', 'chat', a0, a3, a4); if (a2) { Array = global.Array; if (Array.isArray(a1)) { if (a1.length > 0) { value5 = normalizeLangChainMessages(a1.flat()); setIfDefined(value4, (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, value5.length); setIfDefined(value4, (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MESSAGES_ATTRIBUTE, asString((require(969) /* metro dependency 969 */).truncateGenAiMessages(value5))); } } } return value4; } function extractLLMRequestAttributes(a0, a1, a2, a3, a4) { // fn#10389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:3202, offset: 0x00d8c228, size: 250 bytes, params: 6, frame: 24 var Array; const baseRequestAttributesBinding = baseRequestAttributes; const value2 = undefined; const value4 = baseRequestAttributesBinding(a4 == null ? value2 : a4.ls_provider, (a3 == null ? value2 : a3.model) ?? (a4 == null ? value2 : a4.ls_model_name) ?? 'unknown', 'pipeline', a0, a3, a4); if (a2) { Array = global.Array; if (Array.isArray(a1)) { if (a1.length > 0) { setIfDefined(value4, (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MESSAGES_ORIGINAL_LENGTH_ATTRIBUTE, a1.length); setIfDefined(value4, (require(966) /* metro dependency 966 */).GEN_AI_REQUEST_MESSAGES_ATTRIBUTE, asString(a1.map(function(a0) { return {role: 'user', content: a0}; }))); } } } return value4; } function extractLlmResponseAttributes(a0, a1) { // fn#10391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:3685, offset: 0x00d8c336, size: 1309 bytes, params: 3, frame: 29 var environment; var r8; var content; var r15; var r9; var r7; var r5; var message; var model_name; var model; var id; var stop_reason; var finish_reason; var object2; var Array; var isArray; var generations; var flat; var value; var map; var filter; var length; var value2; var setIfDefinedBinding; var GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE; var items2; var iterator; var iterator2; var item; var item2; var value3; var isArray2; var iterator3; var item3; var value4; var type; var value5; var push; var error; var value6; var GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE; var value7; var value8; var value9; var value10; var GEN_AI_RESPONSE_TEXT_ATTRIBUTE; var llmOutput; var tokenUsage; var usage; var setNumberIfDefinedBinding; const GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE; var input_tokens; const GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE; var output_tokens; var Number; var value11; var value12; var isNaN; var isNaN2; var value13; var value14; const GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE; var cache_creation_input_tokens; var GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE; var cache_read_input_tokens; var GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE; var promptTokens; var completionTokens; var totalTokens; var property; var response_metadata; var value15; var GEN_AI_RESPONSE_MODEL_ATTRIBUTE; var value16; var GEN_AI_RESPONSE_ID_ATTRIBUTE; var value17; var GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE; exceptionSkip34: while (true) { exceptionLanding34: while (true) { exceptionSkip31: while (true) { exceptionLanding31: while (true) { if (a0) { object2 = {}; Array = global.Array; isArray = Array.isArray; generations = a0.generations; if (Reflect.apply(isArray, Array, [generations])) { generations = a0.generations; flat = generations.flat; value = Reflect.apply(flat, generations, []); map = value.map; value = Reflect.apply(map, value, [function(a0) { var property = a0.generationInfo; var value = null; return value == property ? value != a0.generation_info && a0.generation_info.finish_reason ? a0.generation_info.finish_reason : value : property.finish_reason ? a0.generationInfo.finish_reason : value != a0.generation_info && a0.generation_info.finish_reason ? a0.generation_info.finish_reason : value; }]); filter = value.filter; value = Reflect.apply(filter, value, [_fun10393]); length = value.length; if (!(length > 0)) { continue; } value2 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE, asString(value)); generations = a0.generations; value = undefined; items2 = []; flat = generations.flat; iterator = Reflect.apply(flat, generations, [])[Symbol.iterator](); iterator2 = iterator.next; r8 = iterator; while (true) { item2 = Reflect.apply(iterator2, r8, []); item = item2.value; item2 = item2.done ? undefined : r8; if (item2 === value) { break; } try { message = item.message; } catch (error) { break exceptionLanding34; } try { value3 = message == null; } catch (error) { break exceptionLanding34; } if (value3) { content = value; continue; } try { content = message.content; } catch (error) { break exceptionLanding34; } try { Array = global.Array; } catch (error) { break exceptionLanding34; } try { isArray = Array.isArray; } catch (error) { break exceptionLanding34; } try { isArray2 = Reflect.apply(isArray, Array, [content]); } catch (error) { break exceptionLanding34; } if (!isArray2) { r8 = item2; continue; } try { iterator = content[Symbol.iterator](); iterator3 = iterator.next; } catch (error) { break exceptionLanding34; } r15 = iterator; while (true) { try { item3 = Reflect.apply(iterator3, r15, []); item = item3.value; item3 = item3.done ? undefined : r15; } catch (error) { break exceptionLanding34; } try { value4 = item3 === value; } catch (error) { break exceptionLanding34; } if (value4) { r8 = item2; break; } try { try { type = item.type; } catch (error) { break exceptionLanding31; } } catch (error) { break exceptionLanding34; } try { try { value5 = type !== 'tool_use'; } catch (error) { break exceptionLanding31; } } catch (error) { break exceptionLanding34; } if (value5) { continue; } try { try { push = items2.push; } catch (error) { break exceptionLanding31; } } catch (error) { break exceptionLanding34; } try { try { Reflect.apply(push, items2, [item]); } catch (error) { break exceptionLanding31; } } catch (error) { break exceptionLanding34; } r15 = item3; } } length = items2.length; if (!(length > 0)) { continue; } value6 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, asString(items2)); if (a1) { generations = a0.generations; flat = generations.flat; value7 = Reflect.apply(flat, generations, []); map = value7.map; value8 = Reflect.apply(map, value7, [_fun10394]); filter = value8.filter; value9 = Reflect.apply(filter, value8, [_fun10395]); length = value9.length; if (length > 0) { value10 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_TEXT_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_TEXT_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_TEXT_ATTRIBUTE, asString(value9)); break; } break; } break; } llmOutput = a0.llmOutput; if (llmOutput) { tokenUsage = llmOutput.tokenUsage; usage = llmOutput.usage; if (tokenUsage) { value = environment; setNumberIfDefinedBinding = setNumberIfDefined; promptTokens = tokenUsage.promptTokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, promptTokens); setNumberIfDefinedBinding = setNumberIfDefined; completionTokens = tokenUsage.completionTokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, completionTokens); setNumberIfDefinedBinding = setNumberIfDefined; totalTokens = tokenUsage.totalTokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, totalTokens); break; } if (usage) { value = environment; setNumberIfDefinedBinding = setNumberIfDefined; input_tokens = usage.input_tokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, input_tokens); setNumberIfDefinedBinding = setNumberIfDefined; output_tokens = usage.output_tokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, output_tokens); Number = global.Number; input_tokens = usage.input_tokens; value11 = Number(input_tokens); Number = global.Number; output_tokens = usage.output_tokens; value12 = Number(output_tokens); Number = global.Number; isNaN = Number.isNaN; isNaN2 = Reflect.apply(isNaN, Number, [value11]); value13 = 0; if (isNaN2) { r9 = value13; continue; } r9 = value11; continue; Number = global.Number; isNaN = Number.isNaN; if (Reflect.apply(isNaN, Number, [value12])) { r7 = value13; continue; } r7 = value12; continue; value14 = r9 + r7; if (!(value14 > value13)) { continue; } setNumberIfDefined(object2, GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, value14); cache_creation_input_tokens = usage.cache_creation_input_tokens; if (cache_creation_input_tokens === undefined) { continue; } setNumberIfDefinedBinding = setNumberIfDefined; GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE; cache_creation_input_tokens = usage.cache_creation_input_tokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS_ATTRIBUTE, cache_creation_input_tokens); cache_read_input_tokens = usage.cache_read_input_tokens; if (cache_read_input_tokens === undefined) { break; } setNumberIfDefinedBinding = setNumberIfDefined; GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE; cache_read_input_tokens = usage.cache_read_input_tokens; setNumberIfDefinedBinding(object2, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS_ATTRIBUTE, cache_read_input_tokens); break; } break; } llmOutput = a0.llmOutput; generations = a0.generations; value = undefined; if (generations != null) { property = generations[0]; if (property == null) { r5 = value; break; } property = property[0]; r5 = property; break; } r5 = value; message = r5 == null ? value : r5.message; model_name = llmOutput == null ? value : llmOutput.model_name; if (model_name != null) { r7 = model_name; } else { if (llmOutput == null) { model = value; continue; } model = llmOutput.model; r7 = model; } if (r7 == null) { if (message == null) { model_name = value; continue; } response_metadata = message.response_metadata; if (response_metadata == null) { model_name = value; continue; } model_name = response_metadata.model_name; r7 = model_name; } if (r7) { value15 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_MODEL_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_MODEL_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_MODEL_ATTRIBUTE, r7); } id = llmOutput == null ? value : llmOutput.id; if (id != null) { r7 = id; } else { if (message == null) { id = value; continue; } id = message.id; r7 = id; } if (r7) { value16 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_ID_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_ID_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_ID_ATTRIBUTE, r7); } stop_reason = llmOutput == null ? value : llmOutput.stop_reason; if (stop_reason != null) { r5 = stop_reason; } else { if (message == null) { finish_reason = value; continue; } response_metadata = message.response_metadata; if (response_metadata == null) { finish_reason = value; continue; } finish_reason = response_metadata.finish_reason; r5 = finish_reason; } if (r5) { value17 = environment; setIfDefinedBinding = setIfDefined; GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE; setIfDefinedBinding(object2, GEN_AI_RESPONSE_STOP_REASON_ATTRIBUTE, asString(r5)); } return object2; } return undefined; break exceptionSkip31; } try { try { item3.return(); } catch { } } catch (error) { break exceptionLanding34; } try { throw error; } catch (error) { break exceptionLanding34; } break exceptionSkip31; } break exceptionSkip34; } try { item2.return(); } catch { } throw error; break exceptionSkip34; } } function _fun10384(a0) { // fn#10384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:725, offset: 0x00d8bc3c, size: 497 bytes, params: 2, frame: 20 var r10; var value; var object2; var value2; var asStringBinding; var id; var value4; var normalizeMessageRoleBinding; var value7; var value8; var value9; var value10; const _getType = a0._getType; if (typeof _getType === 'function') { object2 = {}; value = environment.__proto__; object2.role = normalizeMessageRole(_getType.call(a0)); } else { var constructor = a0.constructor; value = undefined; var name = constructor == null ? value : constructor.name; if (name) { object2 = {}; value10 = environment.__proto__; object2.role = normalizeMessageRole(normalizeRoleNameFromCtor(name)); object2.content = asString(a0.content); return object2; } if (a0.type) { object2 = {}; value8 = environment.__proto__; normalizeMessageRoleBinding = normalizeMessageRole; value9 = global.String(a0.type); object2.role = normalizeMessageRoleBinding(value9.toLowerCase()); object2.content = asString(a0.content); return object2; } if (a0.role) { object2 = {}; value7 = environment.__proto__; object2.role = normalizeMessageRole(global.String(a0.role)); object2.content = asString(a0.content); return object2; } if (a0.lc !== 1) { object2 = {role: 'user'}; value2 = environment.__proto__; object2.content = asString(a0.content); return object2; } var kwargs = a0.kwargs; if (kwargs) { id = a0.id; r10 = global.Array.isArray(id) && id.length > 0 ? id[id.length - 1] : ''; object2 = {}; value4 = environment.__proto__; object2.role = normalizeMessageRole(typeof r10 !== 'string' ? 'user' : normalizeRoleNameFromCtor(r10)); asStringBinding = asString; kwargs = a0.kwargs; object2.content = asStringBinding(kwargs == null ? value : kwargs.content); return object2; } object2 = {role: 'user'}; } object2.content = asString(a0.content); return object2; } function _fun10394(a0) { // fn#10394, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1113:4465, offset: 0x00d8c8b1, size: 38 bytes, params: 2, frame: 4 return a0.text ?? a0.message?.content; }