/* Metro module 990; source: unknown; dependencies: [65, 966, 986] */ function _fun10410(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#10410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:6, offset: 0x00d8d18f, size: 155 bytes, params: 8, frame: 21 const env0_0 = require; const closure = extractToolCalls; const closure2 = extractTokenUsageFromMessage; const closure3 = extractModelMetadata; const env0_2 = require(65) /* metro dependency 65 */; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); exports.extractModelMetadata = closure3; exports.extractTokenUsageFromMessage = closure2; exports.extractToolCalls = closure; exports.extractToolsFromCompiledGraph = extractToolsFromCompiledGraph; exports.setResponseAttributes = setResponseAttributes; } function extractToolCalls(a0) { // fn#10411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:44, offset: 0x00d8d22a, size: 183 bytes, params: 2, frame: 24 var r3; var r10; var length; var items2; var iterator; var iterator2; var value; var item; var item2; var value2; var tool_calls; var Array; var isArray; var isArray2; var push; var apply; var binding; var value3; var error; reducibleJoin4: while (true) { reducibleJoin25: while (true) { if (a0) { length = a0.length; if (length === 0) { break reducibleJoin25; } items2 = []; iterator = a0[Symbol.iterator](); iterator2 = iterator.next; value = environment; r3 = iterator; item2 = Reflect.apply(iterator2, r3, []); item = item2.value; item2 = item2.done ? undefined : r3; if (item2 === undefined) { return items2.length > 0 ? items2 : null; } break reducibleJoin4; } break reducibleJoin25; } return null; } reducibleLoop4: while (true) { reducibleJoin3: while (true) { if (item) { try { value2 = typeof item !== 'object'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value2) { r3 = item2; break reducibleJoin3; } try { tool_calls = item.tool_calls; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin14: while (true) { if (tool_calls) { try { Array = global.Array; } catch (error) { try { item2.return(); } catch { } throw error; } try { isArray = Array.isArray; } catch (error) { try { item2.return(); } catch { } throw error; } try { isArray2 = Reflect.apply(isArray, Array, [tool_calls]); } catch (error) { try { item2.return(); } catch { } throw error; } r10 = isArray2; break reducibleJoin14; } r10 = tool_calls; break reducibleJoin14; } if (r10) { try { push = items2.push; } catch (error) { try { item2.return(); } catch { } throw error; } try { apply = push.apply; } catch (error) { try { item2.return(); } catch { } throw error; } try { binding = env0_2; } catch (error) { try { item2.return(); } catch { } throw error; } try { value3 = binding(tool_calls); } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(apply, push, [items2, value3]); } catch (error) { try { item2.return(); } catch { } throw error; } r3 = item2; break reducibleJoin3; } r3 = item2; break reducibleJoin3; } r3 = item2; break reducibleJoin3; } item2 = Reflect.apply(iterator2, r3, []); item = item2.value; item2 = item2.done ? undefined : r3; if (item2 === undefined) { break reducibleLoop4; } continue reducibleLoop4; } return items2.length > 0 ? items2 : null; } function extractTokenUsageFromMessage(a0) { // fn#10412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:241, offset: 0x00d8d2e1, size: 312 bytes, params: 2, frame: 10 var promptTokens; var completionTokens; var totalTokens; var r3; var r4; var input_tokens; var output_tokens; var total_tokens; var value; var tokenUsage; let usage_metadata = a0.usage_metadata; if (usage_metadata) { usage_metadata = a0.usage_metadata; if (typeof usage_metadata === 'object') { usage_metadata = a0.usage_metadata; input_tokens = usage_metadata.input_tokens; value = 0; input_tokens = typeof input_tokens !== 'number' ? value : usage_metadata.input_tokens; output_tokens = usage_metadata.output_tokens; output_tokens = typeof output_tokens !== 'number' ? value : usage_metadata.output_tokens; total_tokens = usage_metadata.total_tokens; total_tokens = typeof total_tokens !== 'number' ? value : usage_metadata.total_tokens; return {inputTokens: input_tokens, outputTokens: output_tokens, totalTokens: total_tokens}; } } let response_metadata = a0.response_metadata; value = 0; if (response_metadata) { response_metadata = a0.response_metadata; if (typeof response_metadata !== 'object') { totalTokens = value; r3 = value; r4 = value; } else { response_metadata = a0.response_metadata; tokenUsage = response_metadata.tokenUsage; if (tokenUsage) { tokenUsage = response_metadata.tokenUsage; if (typeof tokenUsage !== 'object') { totalTokens = value; r3 = value; r4 = value; } else { tokenUsage = response_metadata.tokenUsage; promptTokens = tokenUsage.promptTokens; promptTokens = typeof promptTokens !== 'number' ? value : tokenUsage.promptTokens; completionTokens = tokenUsage.completionTokens; completionTokens = typeof completionTokens !== 'number' ? value : tokenUsage.completionTokens; totalTokens = tokenUsage.totalTokens; if (typeof totalTokens !== 'number') { totalTokens = value; r3 = completionTokens; r4 = promptTokens; } else { totalTokens = tokenUsage.totalTokens; r3 = completionTokens; r4 = promptTokens; } } } else { totalTokens = value; r3 = value; r4 = value; } } } else { totalTokens = value; r3 = value; r4 = value; } return {inputTokens: r4, outputTokens: r3, totalTokens: totalTokens}; } function extractModelMetadata(a0, a1) { // fn#10413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:959, offset: 0x00d8d419, size: 212 bytes, params: 3, frame: 15 var r1; let response_metadata = a1.response_metadata; if (response_metadata) { response_metadata = a1.response_metadata; if (typeof response_metadata === 'object') { response_metadata = a1.response_metadata; r1 = response_metadata.model_name && typeof response_metadata.model_name === 'string'; if (r1) { a0.setAttribute((require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_MODEL_ATTRIBUTE, response_metadata.model_name); } r1 = response_metadata.finish_reason && typeof response_metadata.finish_reason === 'string'; if (r1) { a0.setAttribute((require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_FINISH_REASONS_ATTRIBUTE, [response_metadata.finish_reason]); } } } } function extractToolsFromCompiledGraph(a0) { // fn#10414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:1572, offset: 0x00d8d4ed, size: 197 bytes, params: 2, frame: 13 var value2; let builder = a0.builder; let value = null; if (value != builder) { var nodes = builder.nodes; if (value == nodes) { return value; } var tools = nodes.tools; if (value == tools) { return value; } var runnable = tools.runnable; if (value == runnable) { return value; } tools = runnable.tools; if (tools) { builder = a0.builder; value2 = undefined; if (value == builder) { tools = value2; } else { nodes = builder.nodes; if (value == nodes) { tools = value2; } else { tools = nodes.tools; tools = value == tools || value == tools.runnable ? value2 : tools.runnable.tools; } } return tools && global.Array.isArray(tools) ? tools.length === 0 ? value : tools.map(function(a0) { var object = {}; var property = a0.lc_kwargs; var value = undefined; object.name = property == null ? value : property.name; property = a0.lc_kwargs; object.description = property == null ? value : property.description; property = a0.lc_kwargs; object.schema = property == null ? value : property.schema; return object; }) : value; } } return value; } function setResponseAttributes(a0, a1, a2) { // fn#10416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1117:2080, offset: 0x00d8d605, size: 513 bytes, params: 4, frame: 24 var messages; var length; var r6; var r10; var r1; var r4; var r7; var r9; var value; var Array; var isArray; var value2; var slice; var value3; var value4; var value5; var setAttribute; var GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE; var JSON; var stringify; var moduleValue; var normalizeLangChainMessages; var value6; var GEN_AI_RESPONSE_TEXT_ATTRIBUTE; var iterator; var iterator2; var item; var item2; var extractTokenUsageFromMessageBinding; var value7; var inputTokens; var value8; var outputTokens; var value9; var totalTokens; var value10; var extractModelMetadataBinding; var error; var GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE; var GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE; var GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE; exceptionSkip29: while (true) { exceptionLanding29: while (true) { value = undefined; messages = a2 == null ? value : a2.messages; if (messages) { Array = global.Array; isArray = Array.isArray; if (Reflect.apply(isArray, Array, [messages])) { if (a1 == null) { length = value; continue; } length = a1.length; value2 = 0; if (length != null) { r6 = length; continue; } r6 = value2; continue; length = messages.length; if (length > r6) { slice = messages.slice; value3 = Reflect.apply(slice, messages, [r6]); r10 = value3; } else { r10 = []; } length = r10.length; if (value2 === length) { break; } value4 = environment; value5 = extractToolCalls(r10); if (!value5) { continue; } setAttribute = a0.setAttribute; GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE; JSON = global.JSON; Reflect.apply(setAttribute, a0, [GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE, JSON.stringify(value5)]); moduleValue = require(986) /* metro dependency 986 */; normalizeLangChainMessages = moduleValue.normalizeLangChainMessages; value6 = Reflect.apply(normalizeLangChainMessages, moduleValue, [r10]); setAttribute = a0.setAttribute; GEN_AI_RESPONSE_TEXT_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_RESPONSE_TEXT_ATTRIBUTE; JSON = global.JSON; stringify = JSON.stringify; Reflect.apply(setAttribute, a0, [GEN_AI_RESPONSE_TEXT_ATTRIBUTE, Reflect.apply(stringify, JSON, [value6])]); iterator = r10[Symbol.iterator](); iterator2 = iterator.next; r1 = value2; r4 = value2; r7 = value2; for (r9 = iterator; true; r9 = item2) { item2 = Reflect.apply(iterator2, r9, []); item = item2.value; item2 = item2.done ? undefined : r9; if (item2 === value) { break; } try { extractTokenUsageFromMessageBinding = extractTokenUsageFromMessage; } catch (error) { break exceptionLanding29; } try { value7 = extractTokenUsageFromMessageBinding(item); } catch (error) { break exceptionLanding29; } try { inputTokens = value7.inputTokens; } catch (error) { break exceptionLanding29; } try { value8 = r7 + inputTokens; } catch (error) { break exceptionLanding29; } try { outputTokens = value7.outputTokens; } catch (error) { break exceptionLanding29; } try { value9 = r4 + outputTokens; } catch (error) { break exceptionLanding29; } try { totalTokens = value7.totalTokens; } catch (error) { break exceptionLanding29; } try { value10 = r1 + totalTokens; } catch (error) { break exceptionLanding29; } try { extractModelMetadataBinding = extractModelMetadata; } catch (error) { break exceptionLanding29; } try { extractModelMetadataBinding(a0, item); } catch (error) { break exceptionLanding29; } r1 = value10; r4 = value9; r7 = value8; } if (!(r7 > value2)) { continue; } setAttribute = a0.setAttribute; GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE; Reflect.apply(setAttribute, a0, [GEN_AI_USAGE_INPUT_TOKENS_ATTRIBUTE, r7]); if (!(r4 > value2)) { continue; } setAttribute = a0.setAttribute; GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE; Reflect.apply(setAttribute, a0, [GEN_AI_USAGE_OUTPUT_TOKENS_ATTRIBUTE, r4]); if (r1 > value2) { setAttribute = a0.setAttribute; GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE = (require(966) /* metro dependency 966 */).GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE; Reflect.apply(setAttribute, a0, [GEN_AI_USAGE_TOTAL_TOKENS_ATTRIBUTE, r1]); break; } break; } break; } return value; break exceptionSkip29; } try { item2.return(); } catch { } throw error; break exceptionSkip29; } }