@posthog/ai
Version:
PostHog Node.js AI integrations
1 lines • 124 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../src/utils.ts","../src/typeGuards.ts","../src/sanitization.ts","../src/openai/index.ts","../src/openai/azure.ts","../src/vercel/middleware.ts","../src/anthropic/index.ts","../src/gemini/index.ts","../../../node_modules/.pnpm/decamelize@1.2.0/node_modules/decamelize/index.js","../../../node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.js","../../../node_modules/.pnpm/@langchain+core@0.3.66_@opentelemetry+api@1.9.0_openai@5.10.1_ws@8.18.3_zod@3.25.76_/node_modules/@langchain/core/dist/load/map_keys.js","../../../node_modules/.pnpm/@langchain+core@0.3.66_@opentelemetry+api@1.9.0_openai@5.10.1_ws@8.18.3_zod@3.25.76_/node_modules/@langchain/core/dist/load/serializable.js","../../../node_modules/.pnpm/@langchain+core@0.3.66_@opentelemetry+api@1.9.0_openai@5.10.1_ws@8.18.3_zod@3.25.76_/node_modules/@langchain/core/dist/utils/env.js","../../../node_modules/.pnpm/@langchain+core@0.3.66_@opentelemetry+api@1.9.0_openai@5.10.1_ws@8.18.3_zod@3.25.76_/node_modules/@langchain/core/dist/callbacks/base.js","../src/langchain/callbacks.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,"'use strict';\nmodule.exports = function (str, sep) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tsep = typeof sep === 'undefined' ? '_' : sep;\n\n\treturn str\n\t\t.replace(/([a-z\\d])([A-Z])/g, '$1' + sep + '$2')\n\t\t.replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, '$1' + sep + '$2')\n\t\t.toLowerCase();\n};\n","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import snakeCase from \"decamelize\";\nimport camelCase from \"camelcase\";\nexport function keyToJson(key, map) {\n return map?.[key] || snakeCase(key);\n}\nexport function keyFromJson(key, map) {\n return map?.[key] || camelCase(key);\n}\nexport function mapKeys(fields, mapper, map) {\n const mapped = {};\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n mapped[mapper(key, map)] = fields[key];\n }\n }\n return mapped;\n}\n","import { keyToJson, mapKeys } from \"./map_keys.js\";\nfunction shallowCopy(obj) {\n return Array.isArray(obj) ? [...obj] : { ...obj };\n}\nfunction replaceSecrets(root, secretsMap) {\n const result = shallowCopy(root);\n for (const [path, secretId] of Object.entries(secretsMap)) {\n const [last, ...partsReverse] = path.split(\".\").reverse();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let current = result;\n for (const part of partsReverse.reverse()) {\n if (current[part] === undefined) {\n break;\n }\n current[part] = shallowCopy(current[part]);\n current = current[part];\n }\n if (current[last] !== undefined) {\n current[last] = {\n lc: 1,\n type: \"secret\",\n id: [secretId],\n };\n }\n }\n return result;\n}\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport function get_lc_unique_name(\n// eslint-disable-next-line @typescript-eslint/no-use-before-define\nserializableClass) {\n // \"super\" here would refer to the parent class of Serializable,\n // when we want the parent class of the module actually calling this method.\n const parentClass = Object.getPrototypeOf(serializableClass);\n const lcNameIsSubclassed = typeof serializableClass.lc_name === \"function\" &&\n (typeof parentClass.lc_name !== \"function\" ||\n serializableClass.lc_name() !== parentClass.lc_name());\n if (lcNameIsSubclassed) {\n return serializableClass.lc_name();\n }\n else {\n return serializableClass.name;\n }\n}\nexport class Serializable {\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name() {\n return this.name;\n }\n /**\n * The final serialized identifier for the module.\n */\n get lc_id() {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor),\n ];\n }\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets() {\n return undefined;\n }\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes() {\n return undefined;\n }\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases() {\n return undefined;\n }\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys() {\n return undefined;\n }\n constructor(kwargs, ..._args) {\n Object.defineProperty(this, \"lc_serializable\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"lc_kwargs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n if (this.lc_serializable_keys !== undefined) {\n this.lc_kwargs = Object.fromEntries(Object.entries(kwargs || {}).filter(([key]) => this.lc_serializable_keys?.includes(key)));\n }\n else {\n this.lc_kwargs = kwargs ?? {};\n }\n }\n toJSON() {\n if (!this.lc_serializable) {\n return this.toJSONNotImplemented();\n }\n if (\n // eslint-disable-next-line no-instanceof/no-instanceof\n this.lc_kwargs instanceof Serializable ||\n typeof this.lc_kwargs !== \"object\" ||\n Array.isArray(this.lc_kwargs)) {\n // We do not support serialization of classes with arg not a POJO\n // I'm aware the check above isn't as strict as it could be\n return this.toJSONNotImplemented();\n }\n const aliases = {};\n const secrets = {};\n const kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n acc[key] = key in this ? this[key] : this.lc_kwargs[key];\n return acc;\n }, {});\n // get secrets, attributes and aliases from all superclasses\n for (\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let current = Object.getPrototypeOf(this); current; current = Object.getPrototypeOf(current)) {\n Object.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n Object.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n Object.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n }\n // include all secrets used, even if not in kwargs,\n // will be replaced with sentinel value in replaceSecrets\n Object.keys(secrets).forEach((keyPath) => {\n // eslint-disable-next-line @typescript-eslint/no-this-alias, @typescript-eslint/no-explicit-any\n let read = this;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let write = kwargs;\n const [last, ...partsReverse] = keyPath.split(\".\").reverse();\n for (const key of partsReverse.reverse()) {\n if (!(key in read) || read[key] === undefined)\n return;\n if (!(key in write) || write[key] === undefined) {\n if (typeof read[key] === \"object\" && read[key] != null) {\n write[key] = {};\n }\n else if (Array.isArray(read[key])) {\n write[key] = [];\n }\n }\n read = read[key];\n write = write[key];\n }\n if (last in read && read[last] !== undefined) {\n write[last] = write[last] || read[last];\n }\n });\n return {\n lc: 1,\n type: \"constructor\",\n id: this.lc_id,\n kwargs: mapKeys(Object.keys(secrets).length ? replaceSecrets(kwargs, secrets) : kwargs, keyToJson, aliases),\n };\n }\n toJSONNotImplemented() {\n return {\n lc: 1,\n type: \"not_implemented\",\n id: this.lc_id,\n };\n }\n}\n","export const isBrowser = () => typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nexport const isWebWorker = () => typeof globalThis === \"object\" &&\n globalThis.constructor &&\n globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\nexport const isJsDom = () => (typeof window !== \"undefined\" && window.name === \"nodejs\") ||\n (typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\"));\n// Supabase Edge Function provides a `Deno` global object\n// without `version` property\nexport const isDeno = () => typeof Deno !== \"undefined\";\n// Mark not-as-node if in Supabase Edge Function\nexport const isNode = () => typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\" &&\n !isDeno();\nexport const getEnv = () => {\n let env;\n if (isBrowser()) {\n env = \"browser\";\n }\n else if (isNode()) {\n env = \"node\";\n }\n else if (isWebWorker()) {\n env = \"webworker\";\n }\n else if (isJsDom()) {\n env = \"jsdom\";\n }\n else if (isDeno()) {\n env = \"deno\";\n }\n else {\n env = \"other\";\n }\n return env;\n};\nlet runtimeEnvironment;\n/**\n * @deprecated Use getRuntimeEnvironmentSync instead\n */\nexport async function getRuntimeEnvironment() {\n return getRuntimeEnvironmentSync();\n}\nexport function getRuntimeEnvironmentSync() {\n if (runtimeEnvironment === undefined) {\n const env = getEnv();\n runtimeEnvironment = {\n library: \"langchain-js\",\n runtime: env,\n };\n }\n return runtimeEnvironment;\n}\nexport function getEnvironmentVariable(name) {\n // Certain Deno setups will throw an error if you try to access environment variables\n // https://github.com/langchain-ai/langchainjs/issues/1412\n try {\n if (typeof process !== \"undefined\") {\n // eslint-disable-next-line no-process-env\n return process.env?.[name];\n }\n else if (isDeno()) {\n return Deno?.env.get(name);\n }\n else {\n return undefined;\n }\n }\n catch (e) {\n return undefined;\n }\n}\n","import * as uuid from \"uuid\";\nimport { Serializable, get_lc_unique_name, } from \"../load/serializable.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\n/**\n * Abstract class that provides a set of optional methods that can be\n * overridden in derived classes to handle various events during the\n * execution of a LangChain application.\n */\nclass BaseCallbackHandlerMethodsClass {\n}\nexport function callbackHandlerPrefersStreaming(x) {\n return \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n/**\n * Abstract base class for creating callback handlers in the LangChain\n * framework. It provides a set of optional methods that can be overridden\n * in derived classes to handle various events during the execution of a\n * LangChain application.\n */\nexport class BaseCallbackHandler extends BaseCallbackHandlerMethodsClass {\n get lc_namespace() {\n return [\"langchain_core\", \"callbacks\", this.name];\n }\n get lc_secrets() {\n return undefined;\n }\n get lc_attributes() {\n return undefined;\n }\n get lc_aliases() {\n return undefined;\n }\n get lc_serializable_keys() {\n return undefined;\n }\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name() {\n return this.name;\n }\n /**\n * The final serialized identifier for the module.\n */\n get lc_id() {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor),\n ];\n }\n constructor(input) {\n super();\n Object.defineProperty(this, \"lc_serializable\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"lc_kwargs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"ignoreLLM\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"ignoreChain\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"ignoreAgent\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"ignoreRetriever\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"ignoreCustomEvent\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"raiseError\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"awaitHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\"\n });\n this.lc_kwargs = input || {};\n if (input) {\n this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n this.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n this.ignoreCustomEvent =\n input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n this.raiseError = input.raiseError ?? this.raiseError;\n this.awaitHandlers =\n this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n }\n }\n copy() {\n return new this.constructor(this);\n }\n toJSON() {\n return Serializable.prototype.toJSON.call(this);\n }\n toJSONNotImplemented() {\n return Serializable.prototype.toJSONNotImplemented.call(this);\n }\n static fromMethods(methods) {\n class Handler extends BaseCallbackHandler {\n constructor() {\n super();\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: uuid.v4()\n });\n Object.assign(this, methods);\n }\n }\n return new Handler();\n }\n}\nexport const isBaseCallbackHandler = (x) => {\n const callbackHandler = x;\n return (callbackHandler !== undefined &&\n typeof callbackHandler.copy === \"function\" &&\n typeof callbackHandler.name === \"string\" &&\n typeof callbackHandler.awaitHandlers === \"boolean\");\n};\n",null],"names":["MAX_OUTPUT_SIZE","STRING_FORMAT","getModelParams","params","modelParams","paramKeys","key","undefined","formatResponseAnthropic","response","output","content","choice","type","text","push","name","id","function","arguments","input","length","role","formatResponseOpenAI","choices","message","tool_calls","toolCall","item","Array","isArray","contentItem","image_url","image","String","call_id","formatResponseGemini","candidates","candidate","parts","part","functionCall","args","mergeSystemPrompt","provider","messages","system","systemMessage","withPrivacyMode","client","privacyMode","privacy_mode","truncate","str","buffer","Buffer","from","truncatedBuffer","slice","toString","error","console","extractAvailableToolCalls","tools","config","mode","sanitizeValues","obj","jsonSafe","JSON","parse","stringify","map","Object","fromEntries","entries","k","v","sendEventToPosthog","distinctId","traceId","model","latency","baseURL","httpStatus","usage","isError","captureImmediate","capture","Promise","resolve","safeInput","safeOutput","safeError","errorData","$ai_is_error","$ai_error","costOverrideData","posthogCostOverride","inputCostUSD","inputCost","inputTokens","outputCostUSD","outputCost","outputTokens","$ai_input_cost_usd","$ai_output_cost_usd","$ai_total_cost_usd","additionalTokenValues","reasoningTokens","$ai_reasoning_tokens","cacheReadInputTokens","$ai_cache_read_input_tokens","cacheCreationInputTokens","$ai_cache_creation_input_tokens","properties","$ai_provider","posthogProviderOverride","$ai_model","posthogModelOverride","$ai_model_parameters","$ai_input","posthogPrivacyMode","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","$ai_latency","$ai_trace_id","$ai_base_url","posthogProperties","$process_person_profile","$ai_tools","event","groups","posthogGroups","isString","value","isObject","REDACTED_IMAGE_PLACEHOLDER","isBase64DataUrl","test","isValidUrl","URL","startsWith","isRawBase64","redactBase64DataUrl","processMessages","transformContent","processContent","processMessage","msg","sanitizeOpenAIImage","url","sanitizeOpenAIResponseImage","sanitizeAnthropicImage","source","data","sanitizeGeminiPart","inlineData","processGeminiItem","sanitizeLangChainImage","sanitizeOpenAI","sanitizeOpenAIResponse","sanitizeAnthropic","sanitizeGemini","sanitizeLangChain","Chat","OpenAIOrignal","Completions","Responses","PostHogOpenAI","constructor","posthog","openAIConfig","phClient","chat","WrappedChat","responses","WrappedResponses","parentClient","completions","WrappedCompletions","create","body","options","posthogDistinctId","posthogTraceId","posthogCaptureImmediate","openAIParams","uuidv4","startTime","Date","now","parentPromise","stream","then","stream1","stream2","tee","accumulatedContent","chunk","delta","prompt_tokens","completion_tokens","completion_tokens_details","reasoning_tokens","prompt_tokens_details","cached_tokens","availableTools","status","wrappedPromise","result","finalContent","input_tokens","output_tokens","output_tokens_details","input_tokens_details","originalCreate","bind","originalSelf","tempCreate","PostHogAzureOpenAI","AzureOpenAI","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","mapVercelPrompt","inputs","c","fileData","contentData","file","mediaType","reasoning","toolCallId","toolName","serialized","removedCount","initialSize","i","byteLength","shift","unshift","mapVercelOutput","sourceType","title","jsonOutput","extractProvider","toLowerCase","providerName","split","createInstrumentationMiddleware","middleware","wrapGenerate","doGenerate","mergedParams","modelId","providerMetadata","anthropic","cachedInputTokens","prompt","wrapStream","doStream","generatedText","reasoningText","rest","transformStream","TransformStream","transform","controller","enqueue","flush","pipeThrough","wrapVercelLanguageModel","wrappedModel","wrapLanguageModel","PostHogAnthropic","AnthropicOriginal","anthropicConfig","WrappedMessages","Messages","anthropicParams","cache_creation_input_tokens","cache_read_input_tokens","PostHogGoogleGenAI","geminiConfig","GoogleGenAI","models","WrappedModels","generateContent","geminiParams","formatInputForPostHog","contents","usageMetadata","promptTokenCount","candidatesTokenCount","thoughtsTokenCount","cachedContentTokenCount","generateContentStream","formatInput","sanitized","camelcaseModule","LangChainCallbackHandler","BaseCallbackHandler","Error","runs","parentTree","debug","handleChainStart","chain","runId","parentRunId","tags","metadata","runType","runName","_logDebugEvent","_setParentOfRun","_setTraceOrSpanMetadata","handleChainEnd","outputs","kwargs","_popRunAndCaptureTraceOrSpan","handleChainError","handleChatModelStart","extraParams","flat","m","_convertMessageToDict","_setLLMMetadata","handleLLMStart","prompts","handleLLMEnd","_popRunAndCaptureGeneration","handleLLMError","err","handleToolStart","tool","handleToolEnd","handleToolError","handleRetrieverStart","retriever","query","handleRetrieverEnd","documents","handleRetrieverError","handleAgentAction","action","handleAgentEnd","_popParentOfRun","_findRootRun","defaultName","_getLangchainRunName","runNameFound","generation","invocation_params","ls_model_name","ls_provider","openai_api_base","baseUrl","_popRunMetadata","endTime","run","warn","_getTraceId","_getParentRunId","actualParentRunId","_captureTraceOrSpan","eventName","eventProperties","$ai_input_state","$ai_span_name","$ai_span_id","assign","_captureGeneration","$ai_parent_id","additionalTokenData","parseUsage","generations","lastGeneration","isChatGeneration","gen","_extractRawResponse","extra","log","arg","_convertLcToolCallsToOai","toolCalls","trim","additional_kwargs","additionalKwargs","messageDict","messageType","getType","_parseUsageModel","conversionList","parsedUsage","reduce","acc","modelKey","typeKey","finalCount","sum","tokenCount","input_token_details","cache_read","cachedPromptTokens","output_token_details","llmUsage","llmUsageKeys","llmOutput","find","genChunk","generationInfo","usage_metadata","messageChunk","responseMetadata","response_metadata","chunkUsage"],"mappings":"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