UNPKG

@posthog/ai

Version:
1 lines 186 kB
{"version":3,"file":"index.mjs","sources":["../src/typeGuards.ts","../src/sanitization/base64_recognizer.ts","../src/sanitization/media_type_context.ts","../src/sanitization/binary_content_redactor.ts","../src/sanitization.ts","../src/utils.ts","../src/serializeError.ts","../src/captureAiGeneration.ts","../src/openai/utils.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@1.1.29_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@2.2.0_@op_b5576b05b1f0c657108074bbb9246c56/node_modules/@langchain/core/dist/load/map_keys.js","../../../node_modules/.pnpm/@langchain+core@1.1.29_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@2.2.0_@op_b5576b05b1f0c657108074bbb9246c56/node_modules/@langchain/core/dist/load/validation.js","../../../node_modules/.pnpm/@langchain+core@1.1.29_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@2.2.0_@op_b5576b05b1f0c657108074bbb9246c56/node_modules/@langchain/core/dist/load/serializable.js","../../../node_modules/.pnpm/@langchain+core@1.1.29_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@2.2.0_@op_b5576b05b1f0c657108074bbb9246c56/node_modules/@langchain/core/dist/utils/env.js","../../../node_modules/.pnpm/@langchain+core@1.1.29_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@2.2.0_@op_b5576b05b1f0c657108074bbb9246c56/node_modules/@langchain/core/dist/callbacks/base.js","../src/langchain/callbacks.ts","../src/prompts.ts"],"sourcesContent":[null,null,null,null,null,null,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\";\n\n//#region src/load/map_keys.ts\nfunction keyToJson(key, map) {\n\treturn map?.[key] || snakeCase(key);\n}\nfunction keyFromJson(key, map) {\n\treturn map?.[key] || camelCase(key);\n}\nfunction mapKeys(fields, mapper, map) {\n\tconst mapped = {};\n\tfor (const key in fields) if (Object.hasOwn(fields, key)) mapped[mapper(key, map)] = fields[key];\n\treturn mapped;\n}\n\n//#endregion\nexport { keyFromJson, keyToJson, mapKeys };\n//# sourceMappingURL=map_keys.js.map","//#region src/load/validation.ts\n/**\n* Sentinel key used to mark escaped user objects during serialization.\n*\n* When a plain object contains 'lc' key (which could be confused with LC objects),\n* we wrap it as `{\"__lc_escaped__\": {...original...}}`.\n*/\nconst LC_ESCAPED_KEY = \"__lc_escaped__\";\n/**\n* Check if an object needs escaping to prevent confusion with LC objects.\n*\n* An object needs escaping if:\n* 1. It has an `'lc'` key (could be confused with LC serialization format)\n* 2. It has only the escape key (would be mistaken for an escaped object)\n*/\nfunction needsEscaping(obj) {\n\treturn \"lc\" in obj || Object.keys(obj).length === 1 && LC_ESCAPED_KEY in obj;\n}\n/**\n* Wrap an object in the escape marker.\n*\n* @example\n* ```typescript\n* {\"key\": \"value\"} // becomes {\"__lc_escaped__\": {\"key\": \"value\"}}\n* ```\n*/\nfunction escapeObject(obj) {\n\treturn { [LC_ESCAPED_KEY]: obj };\n}\n/**\n* Check if an object is an escaped user object.\n*\n* @example\n* ```typescript\n* {\"__lc_escaped__\": {...}} // is an escaped object\n* ```\n*/\nfunction isEscapedObject(obj) {\n\treturn Object.keys(obj).length === 1 && LC_ESCAPED_KEY in obj;\n}\n/**\n* Check if an object looks like a Serializable instance (duck typing).\n*/\nfunction isSerializableLike(obj) {\n\treturn obj !== null && typeof obj === \"object\" && \"lc_serializable\" in obj && typeof obj.toJSON === \"function\";\n}\n/**\n* Create a \"not_implemented\" serialization result for objects that cannot be serialized.\n*/\nfunction createNotImplemented(obj) {\n\tlet id;\n\tif (obj !== null && typeof obj === \"object\") if (\"lc_id\" in obj && Array.isArray(obj.lc_id)) id = obj.lc_id;\n\telse id = [obj.constructor?.name ?? \"Object\"];\n\telse id = [typeof obj];\n\treturn {\n\t\tlc: 1,\n\t\ttype: \"not_implemented\",\n\t\tid\n\t};\n}\n/**\n* Escape a value if it needs escaping (contains `lc` key).\n*\n* This is a simpler version of `serializeValue` that doesn't handle Serializable\n* objects - it's meant to be called on kwargs values that have already been\n* processed by `toJSON()`.\n*\n* @param value - The value to potentially escape.\n* @param pathSet - WeakSet to track ancestor objects in the current path to detect circular references.\n* Objects are removed after processing to allow shared references (same object in\n* multiple places) while still detecting true circular references (ancestor in descendant).\n* @returns The value with any `lc`-containing objects wrapped in escape markers.\n*/\nfunction escapeIfNeeded(value, pathSet = /* @__PURE__ */ new WeakSet()) {\n\tif (value !== null && typeof value === \"object\" && !Array.isArray(value)) {\n\t\tif (pathSet.has(value)) return createNotImplemented(value);\n\t\tif (isSerializableLike(value)) return value;\n\t\tpathSet.add(value);\n\t\tconst record = value;\n\t\tif (needsEscaping(record)) {\n\t\t\tpathSet.delete(value);\n\t\t\treturn escapeObject(record);\n\t\t}\n\t\tconst result = {};\n\t\tfor (const [key, val] of Object.entries(record)) result[key] = escapeIfNeeded(val, pathSet);\n\t\tpathSet.delete(value);\n\t\treturn result;\n\t}\n\tif (Array.isArray(value)) return value.map((item) => escapeIfNeeded(item, pathSet));\n\treturn value;\n}\n/**\n* Unescape a value, processing escape markers in object values and arrays.\n*\n* When an escaped object is encountered (`{\"__lc_escaped__\": ...}`), it's\n* unwrapped and the contents are returned AS-IS (no further processing).\n* The contents represent user data that should not be modified.\n*\n* For regular objects and arrays, we recurse to find any nested escape markers.\n*\n* @param obj - The value to unescape.\n* @returns The unescaped value.\n*/\nfunction unescapeValue(obj) {\n\tif (obj !== null && typeof obj === \"object\" && !Array.isArray(obj)) {\n\t\tconst record = obj;\n\t\tif (isEscapedObject(record)) return record[LC_ESCAPED_KEY];\n\t\tconst result = {};\n\t\tfor (const [key, value] of Object.entries(record)) result[key] = unescapeValue(value);\n\t\treturn result;\n\t}\n\tif (Array.isArray(obj)) return obj.map((item) => unescapeValue(item));\n\treturn obj;\n}\n\n//#endregion\nexport { escapeIfNeeded, isEscapedObject, unescapeValue };\n//# sourceMappingURL=validation.js.map","import { __exportAll } from \"../_virtual/_rolldown/runtime.js\";\nimport { keyToJson, mapKeys } from \"./map_keys.js\";\nimport { escapeIfNeeded } from \"./validation.js\";\n\n//#region src/load/serializable.ts\nvar serializable_exports = /* @__PURE__ */ __exportAll({\n\tSerializable: () => Serializable,\n\tget_lc_unique_name: () => get_lc_unique_name\n});\nfunction shallowCopy(obj) {\n\treturn Array.isArray(obj) ? [...obj] : { ...obj };\n}\nfunction replaceSecrets(root, secretsMap) {\n\tconst result = shallowCopy(root);\n\tfor (const [path, secretId] of Object.entries(secretsMap)) {\n\t\tconst [last, ...partsReverse] = path.split(\".\").reverse();\n\t\tlet current = result;\n\t\tfor (const part of partsReverse.reverse()) {\n\t\t\tif (current[part] === void 0) break;\n\t\t\tcurrent[part] = shallowCopy(current[part]);\n\t\t\tcurrent = current[part];\n\t\t}\n\t\tif (current[last] !== void 0) current[last] = {\n\t\t\tlc: 1,\n\t\t\ttype: \"secret\",\n\t\t\tid: [secretId]\n\t\t};\n\t}\n\treturn 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*/\nfunction get_lc_unique_name(serializableClass) {\n\tconst parentClass = Object.getPrototypeOf(serializableClass);\n\tif (typeof serializableClass.lc_name === \"function\" && (typeof parentClass.lc_name !== \"function\" || serializableClass.lc_name() !== parentClass.lc_name())) return serializableClass.lc_name();\n\telse return serializableClass.name;\n}\nvar Serializable = class Serializable {\n\tlc_serializable = false;\n\tlc_kwargs;\n\t/**\n\t* The name of the serializable. Override to provide an alias or\n\t* to preserve the serialized module name in minified environments.\n\t*\n\t* Implemented as a static method to support loading logic.\n\t*/\n\tstatic lc_name() {\n\t\treturn this.name;\n\t}\n\t/**\n\t* The final serialized identifier for the module.\n\t*/\n\tget lc_id() {\n\t\treturn [...this.lc_namespace, get_lc_unique_name(this.constructor)];\n\t}\n\t/**\n\t* A map of secrets, which will be omitted from serialization.\n\t* Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n\t* Values are the secret ids, which will be used when deserializing.\n\t*/\n\tget lc_secrets() {}\n\t/**\n\t* A map of additional attributes to merge with constructor args.\n\t* Keys are the attribute names, e.g. \"foo\".\n\t* Values are the attribute values, which will be serialized.\n\t* These attributes need to be accepted by the constructor as arguments.\n\t*/\n\tget lc_attributes() {}\n\t/**\n\t* A map of aliases for constructor args.\n\t* Keys are the attribute names, e.g. \"foo\".\n\t* Values are the alias that will replace the key in serialization.\n\t* This is used to eg. make argument names match Python.\n\t*/\n\tget lc_aliases() {}\n\t/**\n\t* A manual list of keys that should be serialized.\n\t* If not overridden, all fields passed into the constructor will be serialized.\n\t*/\n\tget lc_serializable_keys() {}\n\tconstructor(kwargs, ..._args) {\n\t\tif (this.lc_serializable_keys !== void 0) this.lc_kwargs = Object.fromEntries(Object.entries(kwargs || {}).filter(([key]) => this.lc_serializable_keys?.includes(key)));\n\t\telse this.lc_kwargs = kwargs ?? {};\n\t}\n\ttoJSON() {\n\t\tif (!this.lc_serializable) return this.toJSONNotImplemented();\n\t\tif (this.lc_kwargs instanceof Serializable || typeof this.lc_kwargs !== \"object\" || Array.isArray(this.lc_kwargs)) return this.toJSONNotImplemented();\n\t\tconst aliases = {};\n\t\tconst secrets = {};\n\t\tconst kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n\t\t\tacc[key] = key in this ? this[key] : this.lc_kwargs[key];\n\t\t\treturn acc;\n\t\t}, {});\n\t\tfor (let current = Object.getPrototypeOf(this); current; current = Object.getPrototypeOf(current)) {\n\t\t\tObject.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n\t\t\tObject.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n\t\t\tObject.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n\t\t}\n\t\tObject.keys(secrets).forEach((keyPath) => {\n\t\t\tlet read = this;\n\t\t\tlet write = kwargs;\n\t\t\tconst [last, ...partsReverse] = keyPath.split(\".\").reverse();\n\t\t\tfor (const key of partsReverse.reverse()) {\n\t\t\t\tif (!(key in read) || read[key] === void 0) return;\n\t\t\t\tif (!(key in write) || write[key] === void 0) {\n\t\t\t\t\tif (typeof read[key] === \"object\" && read[key] != null) write[key] = {};\n\t\t\t\t\telse if (Array.isArray(read[key])) write[key] = [];\n\t\t\t\t}\n\t\t\t\tread = read[key];\n\t\t\t\twrite = write[key];\n\t\t\t}\n\t\t\tif (last in read && read[last] !== void 0) write[last] = write[last] || read[last];\n\t\t});\n\t\tconst escapedKwargs = {};\n\t\tconst pathSet = /* @__PURE__ */ new WeakSet();\n\t\tpathSet.add(this);\n\t\tfor (const [key, value] of Object.entries(kwargs)) escapedKwargs[key] = escapeIfNeeded(value, pathSet);\n\t\tconst processedKwargs = mapKeys(Object.keys(secrets).length ? replaceSecrets(escapedKwargs, secrets) : escapedKwargs, keyToJson, aliases);\n\t\treturn {\n\t\t\tlc: 1,\n\t\t\ttype: \"constructor\",\n\t\t\tid: this.lc_id,\n\t\t\tkwargs: processedKwargs\n\t\t};\n\t}\n\ttoJSONNotImplemented() {\n\t\treturn {\n\t\t\tlc: 1,\n\t\t\ttype: \"not_implemented\",\n\t\t\tid: this.lc_id\n\t\t};\n\t}\n};\n\n//#endregion\nexport { Serializable, get_lc_unique_name, serializable_exports };\n//# sourceMappingURL=serializable.js.map","import { __exportAll } from \"../_virtual/_rolldown/runtime.js\";\n\n//#region src/utils/env.ts\nvar env_exports = /* @__PURE__ */ __exportAll({\n\tgetEnv: () => getEnv,\n\tgetEnvironmentVariable: () => getEnvironmentVariable,\n\tgetRuntimeEnvironment: () => getRuntimeEnvironment,\n\tisBrowser: () => isBrowser,\n\tisDeno: () => isDeno,\n\tisJsDom: () => isJsDom,\n\tisNode: () => isNode,\n\tisWebWorker: () => isWebWorker\n});\nconst isBrowser = () => typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nconst isWebWorker = () => typeof globalThis === \"object\" && globalThis.constructor && globalThis.constructor.name === \"DedicatedWorkerGlobalScope\";\nconst isJsDom = () => typeof window !== \"undefined\" && window.name === \"nodejs\" || typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"jsdom\");\nconst isDeno = () => typeof Deno !== \"undefined\";\nconst isNode = () => typeof process !== \"undefined\" && typeof process.versions !== \"undefined\" && typeof process.versions.node !== \"undefined\" && !isDeno();\nconst getEnv = () => {\n\tlet env;\n\tif (isBrowser()) env = \"browser\";\n\telse if (isNode()) env = \"node\";\n\telse if (isWebWorker()) env = \"webworker\";\n\telse if (isJsDom()) env = \"jsdom\";\n\telse if (isDeno()) env = \"deno\";\n\telse env = \"other\";\n\treturn env;\n};\nlet runtimeEnvironment;\nfunction getRuntimeEnvironment() {\n\tif (runtimeEnvironment === void 0) runtimeEnvironment = {\n\t\tlibrary: \"langchain-js\",\n\t\truntime: getEnv()\n\t};\n\treturn runtimeEnvironment;\n}\nfunction getEnvironmentVariable(name) {\n\ttry {\n\t\tif (typeof process !== \"undefined\") return process.env?.[name];\n\t\telse if (isDeno()) return Deno?.env.get(name);\n\t\telse return;\n\t} catch {\n\t\treturn;\n\t}\n}\n\n//#endregion\nexport { env_exports, getEnv, getEnvironmentVariable, getRuntimeEnvironment, isBrowser, isDeno, isJsDom, isNode, isWebWorker };\n//# sourceMappingURL=env.js.map","import { __exportAll } from \"../_virtual/_rolldown/runtime.js\";\nimport { Serializable, get_lc_unique_name } from \"../load/serializable.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\nimport * as uuid from \"uuid\";\n\n//#region src/callbacks/base.ts\nvar base_exports = /* @__PURE__ */ __exportAll({\n\tBaseCallbackHandler: () => BaseCallbackHandler,\n\tcallbackHandlerPrefersStreaming: () => callbackHandlerPrefersStreaming,\n\tisBaseCallbackHandler: () => isBaseCallbackHandler\n});\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*/\nvar BaseCallbackHandlerMethodsClass = class {};\nfunction callbackHandlerPrefersStreaming(x) {\n\treturn \"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*/\nvar BaseCallbackHandler = class extends BaseCallbackHandlerMethodsClass {\n\tlc_serializable = false;\n\tget lc_namespace() {\n\t\treturn [\n\t\t\t\"langchain_core\",\n\t\t\t\"callbacks\",\n\t\t\tthis.name\n\t\t];\n\t}\n\tget lc_secrets() {}\n\tget lc_attributes() {}\n\tget lc_aliases() {}\n\tget lc_serializable_keys() {}\n\t/**\n\t* The name of the serializable. Override to provide an alias or\n\t* to preserve the serialized module name in minified environments.\n\t*\n\t* Implemented as a static method to support loading logic.\n\t*/\n\tstatic lc_name() {\n\t\treturn this.name;\n\t}\n\t/**\n\t* The final serialized identifier for the module.\n\t*/\n\tget lc_id() {\n\t\treturn [...this.lc_namespace, get_lc_unique_name(this.constructor)];\n\t}\n\tlc_kwargs;\n\tignoreLLM = false;\n\tignoreChain = false;\n\tignoreAgent = false;\n\tignoreRetriever = false;\n\tignoreCustomEvent = false;\n\traiseError = false;\n\tawaitHandlers = getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.lc_kwargs = input || {};\n\t\tif (input) {\n\t\t\tthis.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n\t\t\tthis.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n\t\t\tthis.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n\t\t\tthis.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n\t\t\tthis.ignoreCustomEvent = input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n\t\t\tthis.raiseError = input.raiseError ?? this.raiseError;\n\t\t\tthis.awaitHandlers = this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n\t\t}\n\t}\n\tcopy() {\n\t\treturn new this.constructor(this);\n\t}\n\ttoJSON() {\n\t\treturn Serializable.prototype.toJSON.call(this);\n\t}\n\ttoJSONNotImplemented() {\n\t\treturn Serializable.prototype.toJSONNotImplemented.call(this);\n\t}\n\tstatic fromMethods(methods) {\n\t\tclass Handler extends BaseCallbackHandler {\n\t\t\tname = uuid.v7();\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\t\t\t\tObject.assign(this, methods);\n\t\t\t}\n\t\t}\n\t\treturn new Handler();\n\t}\n};\nconst isBaseCallbackHandler = (x) => {\n\tconst callbackHandler = x;\n\treturn callbackHandler !== void 0 && typeof callbackHandler.copy === \"function\" && typeof callbackHandler.name === \"string\" && typeof callbackHandler.awaitHandlers === \"boolean\";\n};\n\n//#endregion\nexport { BaseCallbackHandler, base_exports, callbackHandlerPrefersStreaming, isBaseCallbackHandler };\n//# sourceMappingURL=base.js.map",null,null],"names":["isString","value","DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","constructor","parent","key","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","undefined","hint","v","fmt","format","has","toLowerCase","t","type","includes","signalsBinary","EMPTY","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","recognizer","visited","WeakSet","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","Array","isArray","map","item","obj","out","k","Object","keys","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactBase64DataUrl","str","sanitizeOpenAI","data","sanitizeOpenAIResponse","sanitizeAnthropic","sanitizeGemini","sanitizeLangChain","TOKEN_PROPERTY_KEYS","getTokensSource","posthogProperties","some","MAX_OUTPUT_SIZE","STRING_FORMAT","sharedTextEncoder","TextEncoder","sharedTextDecoder","TextDecoder","fatal","utf8ByteLength","encode","byteLength","toContentString","content","JSON","stringify","String","getModelParams","params","modelParams","paramKeys","formatResponseAnthropic","response","output","choice","text","push","name","id","function","arguments","input","role","formatResponseOpenAI","choices","message","tool_calls","toolCall","audio","contentItem","image_url","image","call_id","buildInlineDataBlock","mimeType","startsWith","mime_type","inline_data","formatResponseGemini","candidates","candidate","parts","part","functionCall","args","inlineData","Buffer","from","toString","binary","i","fromCharCode","btoa","mergeSystemPrompt","provider","messages","system","systemMessage","withPrivacyMode","client","privacyMode","privacy_mode","toSafeString","console","warn","truncate","buffer","decode","truncatedBuffer","truncatedStr","endsWith","calculateWebSearchCount","result","count","citations","search_results","usage","search_context_size","delta","annotations","hasUrlCitation","ann","grounding_metadata","extractAvailableToolCalls","tools","config","AIEvent","sanitizeValues","jsonSafe","parse","fromEntries","entries","POSTHOG_PARAMS_MAP","posthogDistinctId","posthogTraceId","posthogPrivacyMode","posthogGroups","posthogModelOverride","posthogProviderOverride","posthogCostOverride","posthogCaptureImmediate","extractPosthogParams","body","providerParams","posthogParams","addDefaults","traceId","uuidv4","formatOpenAIResponsesInput","instructions","DEFAULT_MAX_DEPTH","MAX_STACK_LINES","serializeError","depth","Error","stack","truncateStack","cause","stringifyError","error","lines","split","join","captureAiGeneration","options","capture","eventType","Generation","safeInput","safeOutput","httpStatus","errorData","status","exceptionId","enableExceptionAutocapture","uuidv7","captureException","$ai_trace_id","__posthog_previously_captured_error","$ai_is_error","$ai_error","$exception_event_id","costOverrideData","costOverride","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","webSearchCount","$ai_web_search_count","rawUsage","$ai_usage","properties","$ai_lib","$ai_lib_version","version","$ai_provider","providerOverride","$ai_model","modelOverride","model","$ai_model_parameters","modelParameters","$ai_input","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","$ai_latency","latency","timeToFirstToken","$ai_time_to_first_token","$ai_base_url","baseURL","$ai_tokens_source","distinctId","$process_person_profile","stopReason","$ai_stop_reason","$ai_tools","event","groups","captureImmediate","isResponseTokenChunk","chunk","Chat","OpenAIOrignal","Completions","Responses","Embeddings","Audio","Transcriptions","PostHogOpenAI","posthog","openAIConfig","phClient","chat","WrappedChat","responses","WrappedResponses","embeddings","WrappedEmbeddings","WrappedAudio","parentClient","completions","WrappedCompletions","create","openAIParams","startTime","Date","now","parentPromise","stream","then","stream1","stream2","tee","contentBlocks","accumulatedContent","modelFromResponse","firstTokenTime","toolCallsInProgress","Map","rawUsageData","finish_reason","chunkWebSearchCount","deltaContent","deltaToolCalls","index","set","inProgressCall","get","prompt_tokens","completion_tokens","completion_tokens_details","reasoning_tokens","prompt_tokens_details","cached_tokens","values","formattedOutput","availableTools","wrappedPromise","finalContent","input_tokens","output_tokens","output_tokens_details","input_tokens_details","originalCreate","bind","originalSelfRecord","tempCreate","Embedding","transcriptions","WrappedTranscriptions","doneEvent","prompt","PostHogAzureOpenAI","AzureOpenAI","isV3Model","specificationVersion","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","mapVercelPrompt","inputs","c","fileData","contentData","URL","file","reasoning","toolCallId","toolName","isError","messageSizes","m","totalBytes","Math","max","size","removedCount","splice","unshift","mapVercelOutput","rawArgs","sourceType","url","title","jsonOutput","extractProvider","providerName","extractWebSearchCount","providerMetadata","anthropic","serverToolUse","server_tool_use","web_search_requests","extractTokenCount","total","extractReasoningTokens","extractCacheReadTokens","cachedInputTokens","cacheRead","extractCacheWriteTokens","cacheWrite","extractAdditionalTokenValues","isAnthropicClaudeModel","modelId","adjustAnthropicV3CacheTokens","cacheReadTokens","cacheWriteTokens","cacheTokens","wrapVercelLanguageModel","mergedOptions","$ai_framework","$ai_framework_version","baseOptions","wrappedModel","doGenerate","mergedParams","usageObj","responseBody","rawResponse","usageMetadata","rawFinishReason","finishReason","finishReasonStr","unified","writable","configurable","enumerable","doStream","generatedText","reasoningText","rest","transformStream","TransformStream","transform","controller","chunkUsage","enqueue","flush","finalUsage","pipeThrough","PostHogAnthropic","AnthropicOriginal","anthropicConfig","WrappedMessages","Messages","anthropicParams","toolsInProgress","currentTextBlock","lastRawUsage","content_block","toolBlock","block","inputString","toolId","tool","partial_json","e","delete","cache_creation_input_tokens","cache_read_input_tokens","stop_reason","PostHogGoogleGenAI","geminiConfig","GoogleGenAI","models","WrappedModels","generateContent","geminiParams","metadata","formatInputForPostHog","promptTokenCount","candidatesTokenCount","thoughtsTokenCount","cachedContentTokenCount","calculateGoogleWebSearchCount","generateContentStream","lastTextItem","funcCall","embedContent","extractEmbeddingTokenCount","contents","formatPartsAsContentBlocks","blocks","formatInput","extractSystemInstruction","systemInstruction","sanitized","hasSystemMessage","msg","embedding","statistics","tokenCount","hasGrounding","groundingMetadata","webSearchQueries","groundingChunks","camelcaseModule","LangChainCallbackHandler","BaseCallbackHandler","runs","parentTree","debug","handleChainStart","chain","runId","parentRunId","tags","_runType","runName","_logDebugEvent","_setParentOfRun","_setTraceOrSpanMetadata","handleChainEnd","outputs","_kwargs","_popRunAndCaptureTraceOrSpan","handleChainError","handleChatModelStart","serialized","extraParams","flat","_convertMessageToDict","_setLLMMetadata","handleLLMStart","prompts","handleLLMEnd","_extraParams","_popRunAndCaptureGeneration","handleLLMError","err","handleToolStart","handleToolEnd","handleToolError","handleRetrieverStart","retriever","query","handleRetrieverEnd","documents","handleRetrieverError","handleAgentAction","action","handleAgentEnd","_popParentOfRun","_findRootRun","defaultName","_getLangchainRunName","runNameFound","generation","invocation_params","ls_model_name","ls_provider","kwargs","openai_api_base","baseUrl","_popRunMetadata","endTime","run","_getTraceId","_getParentRunId","_runId","actualParentRunId","_captureTraceOrSpan","eventName","eventProperties","$ai_input_state","$ai_span_name","$ai_span_id","assign","_captureGeneration","$ai_parent_id","additionalTokenData","parseUsage","cacheWriteInputTokens","_extractStopReason","generations","lastGeneration","isChatGeneration","gen","_extractRawResponse","extra","log","arg","_convertLcToolCallsToOai","toolCalls","trim","additional_kwargs","additionalKwargs","messageDict","messageType","getType","generationInfo","response_metadata","_parseUsageModel","conversionList","parsedUsage","reduce","acc","modelKey","typeKey","finalCount","sum","input_token_details","cache_read","cachedPromptTokens","cache_creation","output_token_details","grounding_support","web_search_queries","isAnthropic","llmUsage","llmUsageKeys","llmOutput","find","genChunk","usage_metadata","messageChunk","responseMetadata","DEFAULT_CACHE_TTL_SECONDS","DEFAULT_PROMPTS_HOST","normalizeApiKey","normalizeHost","normalizedHost","replace","isPromptApiResponse","record","isPromptsWithPostHog","Prompts","cache","hasWarnedDeprecation","defaultCacheTtlSeconds","personalApiKey","projectApiKey","apiKey","host","getPromptCache","getOrCreatePromptCache","cachedPromptVersions","promptVersions","getPromptLabel","withMetadata","getInternal","fallback","promptLabel","source","cacheTtlSeconds","cached","isFresh","fetchedAt","_","cachedResult","fetched","fetchPromptFromApi","compile","variables","match","variableName","clearCache","clear","encodedPromptName","encodeURIComponent","encodedProjectApiKey","versionQuery","fetch","method","headers","Authorization","ok","json"],"mappings":"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