1 |
- {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { BaseCallbackHandler } from \"./base.js\";\nimport { ConsoleCallbackHandler } from \"../tracers/console.js\";\nimport { getBufferString } from \"../messages/utils.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\nimport { LangChainTracer } from \"../tracers/tracer_langchain.js\";\nimport { consumeCallback } from \"./promises.js\";\nimport { isTracingEnabled } from \"../utils/callbacks.js\";\nimport { isBaseTracer } from \"../tracers/base.js\";\nexport function parseCallbackConfigArg(arg) {\n if (!arg) {\n return {};\n } else if (Array.isArray(arg) || \"name\" in arg) {\n return {\n callbacks: arg\n };\n } else {\n return arg;\n }\n}\n/**\n * Manage callbacks from different components of LangChain.\n */\nexport class BaseCallbackManager {\n setHandler(handler) {\n return this.setHandlers([handler]);\n }\n}\n/**\n * Base class for run manager in LangChain.\n */\nexport class BaseRunManager {\n constructor(runId, handlers, inheritableHandlers, tags, inheritableTags, metadata, inheritableMetadata, _parentRunId) {\n Object.defineProperty(this, \"runId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: runId\n });\n Object.defineProperty(this, \"handlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: handlers\n });\n Object.defineProperty(this, \"inheritableHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableHandlers\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: tags\n });\n Object.defineProperty(this, \"inheritableTags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableTags\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: metadata\n });\n Object.defineProperty(this, \"inheritableMetadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableMetadata\n });\n Object.defineProperty(this, \"_parentRunId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _parentRunId\n });\n }\n get parentRunId() {\n return this._parentRunId;\n }\n handleText(text) {\n var _this = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleText;\n yield (_handler$handleText = handler.handleText) === null || _handler$handleText === void 0 ? void 0 : _handler$handleText.call(handler, text, _this.runId, _this._parentRunId, _this.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleText: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleCustomEvent(eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data, _runId, _tags,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _metadata) {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this2.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleCustom;\n yield (_handler$handleCustom = handler.handleCustomEvent) === null || _handler$handleCustom === void 0 ? void 0 : _handler$handleCustom.call(handler, eventName, data, _this2.runId, _this2.tags, _this2.metadata);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleCustomEvent: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n}\n/**\n * Manages callbacks for retriever runs.\n */\nexport class CallbackManagerForRetrieverRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n handleRetrieverEnd(documents) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this3.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreRetriever) {\n try {\n var _handler$handleRetrie;\n yield (_handler$handleRetrie = handler.handleRetrieverEnd) === null || _handler$handleRetrie === void 0 ? void 0 : _handler$handleRetrie.call(handler, documents, _this3.runId, _this3._parentRunId, _this3.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetriever`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleRetrieverError(err) {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this4.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreRetriever) {\n try {\n var _handler$handleRetrie2;\n yield (_handler$handleRetrie2 = handler.handleRetrieverError) === null || _handler$handleRetrie2 === void 0 ? void 0 : _handler$handleRetrie2.call(handler, err, _this4.runId, _this4._parentRunId, _this4.tags);\n } catch (error) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetrieverError: ${error}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n}\nexport class CallbackManagerForLLMRun extends BaseRunManager {\n handleLLMNewToken(token, idx, _runId, _parentRunId, _tags, fields) {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this5.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreLLM) {\n try {\n var _handler$handleLLMNew;\n yield (_handler$handleLLMNew = handler.handleLLMNewToken) === null || _handler$handleLLMNew === void 0 ? void 0 : _handler$handleLLMNew.call(handler, token, idx !== null && idx !== void 0 ? idx : {\n prompt: 0,\n completion: 0\n }, _this5.runId, _this5._parentRunId, _this5.tags, fields);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMNewToken: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleLLMError(err) {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this6.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreLLM) {\n try {\n var _handler$handleLLMErr;\n yield (_handler$handleLLMErr = handler.handleLLMError) === null || _handler$handleLLMErr === void 0 ? void 0 : _handler$handleLLMErr.call(handler, err, _this6.runId, _this6._parentRunId, _this6.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleLLMEnd(output) {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this7.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreLLM) {\n try {\n var _handler$handleLLMEnd;\n yield (_handler$handleLLMEnd = handler.handleLLMEnd) === null || _handler$handleLLMEnd === void 0 ? void 0 : _handler$handleLLMEnd.call(handler, output, _this7.runId, _this7._parentRunId, _this7.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n}\nexport class CallbackManagerForChainRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n handleChainError(err, _runId, _parentRunId, _tags, kwargs) {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this8.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreChain) {\n try {\n var _handler$handleChainE;\n yield (_handler$handleChainE = handler.handleChainError) === null || _handler$handleChainE === void 0 ? void 0 : _handler$handleChainE.call(handler, err, _this8.runId, _this8._parentRunId, _this8.tags, kwargs);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleChainEnd(output, _runId, _parentRunId, _tags, kwargs) {\n var _this9 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this9.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreChain) {\n try {\n var _handler$handleChainE2;\n yield (_handler$handleChainE2 = handler.handleChainEnd) === null || _handler$handleChainE2 === void 0 ? void 0 : _handler$handleChainE2.call(handler, output, _this9.runId, _this9._parentRunId, _this9.tags, kwargs);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleAgentAction(action) {\n var _this10 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this10.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreAgent) {\n try {\n var _handler$handleAgentA;\n yield (_handler$handleAgentA = handler.handleAgentAction) === null || _handler$handleAgentA === void 0 ? void 0 : _handler$handleAgentA.call(handler, action, _this10.runId, _this10._parentRunId, _this10.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleAgentAction: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n handleAgentEnd(action) {\n var _this11 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this11.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreAgent) {\n try {\n var _handler$handleAgentE;\n yield (_handler$handleAgentE = handler.handleAgentEnd) === null || _handler$handleAgentE === void 0 ? void 0 : _handler$handleAgentE.call(handler, action, _this11.runId, _this11._parentRunId, _this11.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleAgentEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n}\nexport class CallbackManagerForToolRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n handleToolError(err) {\n var _this12 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this12.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreAgent) {\n try {\n var _handler$handleToolEr;\n yield (_handler$handleToolEr = handler.handleToolError) === null || _handler$handleToolEr === void 0 ? void 0 : _handler$handleToolEr.call(handler, err, _this12.runId, _this12._parentRunId, _this12.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleToolEnd(output) {\n var _this13 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this13.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreAgent) {\n try {\n var _handler$handleToolEn;\n yield (_handler$handleToolEn = handler.handleToolEnd) === null || _handler$handleToolEn === void 0 ? void 0 : _handler$handleToolEn.call(handler, output, _this13.runId, _this13._parentRunId, _this13.tags);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n}\n/**\n * @example\n * ```typescript\n * const prompt = PromptTemplate.fromTemplate(\"What is the answer to {question}?\");\n *\n * // Example of using LLMChain with OpenAI and a simple prompt\n * const chain = new LLMChain({\n * llm: new ChatOpenAI({ temperature: 0.9 }),\n * prompt,\n * });\n *\n * // Running the chain with a single question\n * const result = await chain.call({\n * question: \"What is the airspeed velocity of an unladen swallow?\",\n * });\n * console.log(\"The answer is:\", result);\n * ```\n */\nexport class CallbackManager extends BaseCallbackManager {\n constructor(parentRunId, options) {\n var _options$handlers, _options$inheritableH, _options$tags, _options$inheritableT, _options$metadata, _options$inheritableM;\n super();\n Object.defineProperty(this, \"handlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"inheritableHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"inheritableTags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"inheritableMetadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"callback_manager\"\n });\n Object.defineProperty(this, \"_parentRunId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.handlers = (_options$handlers = options === null || options === void 0 ? void 0 : options.handlers) !== null && _options$handlers !== void 0 ? _options$handlers : this.handlers;\n this.inheritableHandlers = (_options$inheritableH = options === null || options === void 0 ? void 0 : options.inheritableHandlers) !== null && _options$inheritableH !== void 0 ? _options$inheritableH : this.inheritableHandlers;\n this.tags = (_options$tags = options === null || options === void 0 ? void 0 : options.tags) !== null && _options$tags !== void 0 ? _options$tags : this.tags;\n this.inheritableTags = (_options$inheritableT = options === null || options === void 0 ? void 0 : options.inheritableTags) !== null && _options$inheritableT !== void 0 ? _options$inheritableT : this.inheritableTags;\n this.metadata = (_options$metadata = options === null || options === void 0 ? void 0 : options.metadata) !== null && _options$metadata !== void 0 ? _options$metadata : this.metadata;\n this.inheritableMetadata = (_options$inheritableM = options === null || options === void 0 ? void 0 : options.inheritableMetadata) !== null && _options$inheritableM !== void 0 ? _options$inheritableM : this.inheritableMetadata;\n this._parentRunId = parentRunId;\n }\n /**\n * Gets the parent run ID, if any.\n *\n * @returns The parent run ID.\n */\n getParentRunId() {\n return this._parentRunId;\n }\n handleLLMStart(llm, prompts, runId = undefined, _parentRunId = undefined, extraParams = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n var _this14 = this;\n return _asyncToGenerator(function* () {\n return Promise.all(prompts.map( /*#__PURE__*/function () {\n var _ref14 = _asyncToGenerator(function* (prompt, idx) {\n // Can't have duplicate runs with the same run ID (if provided)\n const runId_ = idx === 0 && runId ? runId : uuidv4();\n yield Promise.all(_this14.handlers.map(handler => {\n if (handler.ignoreLLM) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForLLMStart(llm, [prompt], runId_, _this14._parentRunId, extraParams, _this14.tags, _this14.metadata, runName);\n }\n return consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleLLMSta;\n yield (_handler$handleLLMSta = handler.handleLLMStart) === null || _handler$handleLLMSta === void 0 ? void 0 : _handler$handleLLMSta.call(handler, llm, [prompt], runId_, _this14._parentRunId, extraParams, _this14.tags, _this14.metadata, runName);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers);\n }));\n return new CallbackManagerForLLMRun(runId_, _this14.handlers, _this14.inheritableHandlers, _this14.tags, _this14.inheritableTags, _this14.metadata, _this14.inheritableMetadata, _this14._parentRunId);\n });\n return function (_x, _x2) {\n return _ref14.apply(this, arguments);\n };\n }()));\n })();\n }\n handleChatModelStart(llm, messages, runId = undefined, _parentRunId = undefined, extraParams = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n var _this15 = this;\n return _asyncToGenerator(function* () {\n return Promise.all(messages.map( /*#__PURE__*/function () {\n var _ref16 = _asyncToGenerator(function* (messageGroup, idx) {\n // Can't have duplicate runs with the same run ID (if provided)\n const runId_ = idx === 0 && runId ? runId : uuidv4();\n yield Promise.all(_this15.handlers.map(handler => {\n if (handler.ignoreLLM) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForChatModelStart(llm, [messageGroup], runId_, _this15._parentRunId, extraParams, _this15.tags, _this15.metadata, runName);\n }\n return consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n if (handler.handleChatModelStart) {\n var _handler$handleChatMo;\n yield (_handler$handleChatMo = handler.handleChatModelStart) === null || _handler$handleChatMo === void 0 ? void 0 : _handler$handleChatMo.call(handler, llm, [messageGroup], runId_, _this15._parentRunId, extraParams, _this15.tags, _this15.metadata, runName);\n } else if (handler.handleLLMStart) {\n var _handler$handleLLMSta2;\n const messageString = getBufferString(messageGroup);\n yield (_handler$handleLLMSta2 = handler.handleLLMStart) === null || _handler$handleLLMSta2 === void 0 ? void 0 : _handler$handleLLMSta2.call(handler, llm, [messageString], runId_, _this15._parentRunId, extraParams, _this15.tags, _this15.metadata, runName);\n }\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers);\n }));\n return new CallbackManagerForLLMRun(runId_, _this15.handlers, _this15.inheritableHandlers, _this15.tags, _this15.inheritableTags, _this15.metadata, _this15.inheritableMetadata, _this15._parentRunId);\n });\n return function (_x3, _x4) {\n return _ref16.apply(this, arguments);\n };\n }()));\n })();\n }\n handleChainStart(chain, inputs, runId = uuidv4(), runType = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n var _this16 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this16.handlers.map(handler => {\n if (handler.ignoreChain) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForChainStart(chain, inputs, runId, _this16._parentRunId, _this16.tags, _this16.metadata, runType, runName);\n }\n return consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleChainS;\n yield (_handler$handleChainS = handler.handleChainStart) === null || _handler$handleChainS === void 0 ? void 0 : _handler$handleChainS.call(handler, chain, inputs, runId, _this16._parentRunId, _this16.tags, _this16.metadata, runType, runName);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers);\n }));\n return new CallbackManagerForChainRun(runId, _this16.handlers, _this16.inheritableHandlers, _this16.tags, _this16.inheritableTags, _this16.metadata, _this16.inheritableMetadata, _this16._parentRunId);\n })();\n }\n handleToolStart(tool, input, runId = uuidv4(), _parentRunId = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n var _this17 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this17.handlers.map(handler => {\n if (handler.ignoreAgent) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForToolStart(tool, input, runId, _this17._parentRunId, _this17.tags, _this17.metadata, runName);\n }\n return consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleToolSt;\n yield (_handler$handleToolSt = handler.handleToolStart) === null || _handler$handleToolSt === void 0 ? void 0 : _handler$handleToolSt.call(handler, tool, input, runId, _this17._parentRunId, _this17.tags, _this17.metadata, runName);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers);\n }));\n return new CallbackManagerForToolRun(runId, _this17.handlers, _this17.inheritableHandlers, _this17.tags, _this17.inheritableTags, _this17.metadata, _this17.inheritableMetadata, _this17._parentRunId);\n })();\n }\n handleRetrieverStart(retriever, query, runId = uuidv4(), _parentRunId = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n var _this18 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this18.handlers.map(handler => {\n if (handler.ignoreRetriever) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForRetrieverStart(retriever, query, runId, _this18._parentRunId, _this18.tags, _this18.metadata, runName);\n }\n return consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n try {\n var _handler$handleRetrie3;\n yield (_handler$handleRetrie3 = handler.handleRetrieverStart) === null || _handler$handleRetrie3 === void 0 ? void 0 : _handler$handleRetrie3.call(handler, retriever, query, runId, _this18._parentRunId, _this18.tags, _this18.metadata, runName);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetrieverStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }), handler.awaitHandlers);\n }));\n return new CallbackManagerForRetrieverRun(runId, _this18.handlers, _this18.inheritableHandlers, _this18.tags, _this18.inheritableTags, _this18.metadata, _this18.inheritableMetadata, _this18._parentRunId);\n })();\n }\n handleCustomEvent(eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data, runId, _tags,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _metadata) {\n var _this19 = this;\n return _asyncToGenerator(function* () {\n yield Promise.all(_this19.handlers.map(handler => consumeCallback( /*#__PURE__*/_asyncToGenerator(function* () {\n if (!handler.ignoreCustomEvent) {\n try {\n var _handler$handleCustom2;\n yield (_handler$handleCustom2 = handler.handleCustomEvent) === null || _handler$handleCustom2 === void 0 ? void 0 : _handler$handleCustom2.call(handler, eventName, data, runId, _this19.tags, _this19.metadata);\n } catch (err) {\n const logFunction = handler.raiseError ? console.error : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleCustomEvent: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }), handler.awaitHandlers)));\n })();\n }\n addHandler(handler, inherit = true) {\n this.handlers.push(handler);\n if (inherit) {\n this.inheritableHandlers.push(handler);\n }\n }\n removeHandler(handler) {\n this.handlers = this.handlers.filter(_handler => _handler !== handler);\n this.inheritableHandlers = this.inheritableHandlers.filter(_handler => _handler !== handler);\n }\n setHandlers(handlers, inherit = true) {\n this.handlers = [];\n this.inheritableHandlers = [];\n for (const handler of handlers) {\n this.addHandler(handler, inherit);\n }\n }\n addTags(tags, inherit = true) {\n this.removeTags(tags); // Remove duplicates\n this.tags.push(...tags);\n if (inherit) {\n this.inheritableTags.push(...tags);\n }\n }\n removeTags(tags) {\n this.tags = this.tags.filter(tag => !tags.includes(tag));\n this.inheritableTags = this.inheritableTags.filter(tag => !tags.includes(tag));\n }\n addMetadata(metadata, inherit = true) {\n this.metadata = {\n ...this.metadata,\n ...metadata\n };\n if (inherit) {\n this.inheritableMetadata = {\n ...this.inheritableMetadata,\n ...metadata\n };\n }\n }\n removeMetadata(metadata) {\n for (const key of Object.keys(metadata)) {\n delete this.metadata[key];\n delete this.inheritableMetadata[key];\n }\n }\n copy(additionalHandlers = [], inherit = true) {\n const manager = new CallbackManager(this._parentRunId);\n for (const handler of this.handlers) {\n const inheritable = this.inheritableHandlers.includes(handler);\n manager.addHandler(handler, inheritable);\n }\n for (const tag of this.tags) {\n const inheritable = this.inheritableTags.includes(tag);\n manager.addTags([tag], inheritable);\n }\n for (const key of Object.keys(this.metadata)) {\n const inheritable = Object.keys(this.inheritableMetadata).includes(key);\n manager.addMetadata({\n [key]: this.metadata[key]\n }, inheritable);\n }\n for (const handler of additionalHandlers) {\n if (\n // Prevent multiple copies of console_callback_handler\n manager.handlers.filter(h => h.name === \"console_callback_handler\").some(h => h.name === handler.name)) {\n continue;\n }\n manager.addHandler(handler, inherit);\n }\n return manager;\n }\n static fromHandlers(handlers) {\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: uuidv4()\n });\n Object.assign(this, handlers);\n }\n }\n const manager = new this();\n manager.addHandler(new Handler());\n return manager;\n }\n static configure(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options) {\n return this._configureSync(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options);\n }\n // TODO: Deprecate async method in favor of this one.\n static _configureSync(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options) {\n var _LangChainTracer$getT, _getEnvironmentVariab;\n let callbackManager;\n if (inheritableHandlers || localHandlers) {\n if (Array.isArray(inheritableHandlers) || !inheritableHandlers) {\n var _inheritableHandlers$;\n callbackManager = new CallbackManager();\n callbackManager.setHandlers((_inheritableHandlers$ = inheritableHandlers === null || inheritableHandlers === void 0 ? void 0 : inheritableHandlers.map(ensureHandler)) !== null && _inheritableHandlers$ !== void 0 ? _inheritableHandlers$ : [], true);\n } else {\n callbackManager = inheritableHandlers;\n }\n callbackManager = callbackManager.copy(Array.isArray(localHandlers) ? localHandlers.map(ensureHandler) : localHandlers === null || localHandlers === void 0 ? void 0 : localHandlers.handlers, false);\n }\n const verboseEnabled = getEnvironmentVariable(\"LANGCHAIN_VERBOSE\") === \"true\" || (options === null || options === void 0 ? void 0 : options.verbose);\n const tracingV2Enabled = ((_LangChainTracer$getT = LangChainTracer.getTraceableRunTree()) === null || _LangChainTracer$getT === void 0 ? void 0 : _LangChainTracer$getT.tracingEnabled) || isTracingEnabled();\n const tracingEnabled = tracingV2Enabled || ((_getEnvironmentVariab = getEnvironmentVariable(\"LANGCHAIN_TRACING\")) !== null && _getEnvironmentVariab !== void 0 ? _getEnvironmentVariab : false);\n if (verboseEnabled || tracingEnabled) {\n if (!callbackManager) {\n callbackManager = new CallbackManager();\n }\n if (verboseEnabled && !callbackManager.handlers.some(handler => handler.name === ConsoleCallbackHandler.prototype.name)) {\n const consoleHandler = new ConsoleCallbackHandler();\n callbackManager.addHandler(consoleHandler, true);\n }\n if (tracingEnabled && !callbackManager.handlers.some(handler => handler.name === \"langchain_tracer\")) {\n if (tracingV2Enabled) {\n var _LangChainTracer$getT2, _LangChainTracer$getT3;\n const tracerV2 = new LangChainTracer();\n callbackManager.addHandler(tracerV2, true);\n // handoff between langchain and langsmith/traceable\n // override the parent run ID\n callbackManager._parentRunId = (_LangChainTracer$getT2 = (_LangChainTracer$getT3 = LangChainTracer.getTraceableRunTree()) === null || _LangChainTracer$getT3 === void 0 ? void 0 : _LangChainTracer$getT3.id) !== null && _LangChainTracer$getT2 !== void 0 ? _LangChainTracer$getT2 : callbackManager._parentRunId;\n }\n }\n }\n if (inheritableTags || localTags) {\n if (callbackManager) {\n callbackManager.addTags(inheritableTags !== null && inheritableTags !== void 0 ? inheritableTags : []);\n callbackManager.addTags(localTags !== null && localTags !== void 0 ? localTags : [], false);\n }\n }\n if (inheritableMetadata || localMetadata) {\n if (callbackManager) {\n callbackManager.addMetadata(inheritableMetadata !== null && inheritableMetadata !== void 0 ? inheritableMetadata : {});\n callbackManager.addMetadata(localMetadata !== null && localMetadata !== void 0 ? localMetadata : {}, false);\n }\n }\n return callbackManager;\n }\n}\nexport function ensureHandler(handler) {\n if (\"name\" in handler) {\n return handler;\n }\n return BaseCallbackHandler.fromMethods(handler);\n}\n/**\n * @deprecated Use [`traceable`](https://docs.smith.langchain.com/observability/how_to_guides/tracing/annotate_code)\n * from \"langsmith\" instead.\n */\nexport class TraceGroup {\n constructor(groupName, options) {\n Object.defineProperty(this, \"groupName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: groupName\n });\n Object.defineProperty(this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(this, \"runManager\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n getTraceGroupCallbackManager(group_name, inputs, options) {\n return _asyncToGenerator(function* () {\n const cb = new LangChainTracer(options);\n const cm = yield CallbackManager.configure([cb]);\n const runManager = yield cm === null || cm === void 0 ? void 0 : cm.handleChainStart({\n lc: 1,\n type: \"not_implemented\",\n id: [\"langchain\", \"callbacks\", \"groups\", group_name]\n }, inputs !== null && inputs !== void 0 ? inputs : {});\n if (!runManager) {\n throw new Error(\"Failed to create run group callback manager.\");\n }\n return runManager;\n })();\n }\n start(inputs) {\n var _this20 = this;\n return _asyncToGenerator(function* () {\n if (!_this20.runManager) {\n _this20.runManager = yield _this20.getTraceGroupCallbackManager(_this20.groupName, inputs, _this20.options);\n }\n return _this20.runManager.getChild();\n })();\n }\n error(err) {\n var _this21 = this;\n return _asyncToGenerator(function* () {\n if (_this21.runManager) {\n yield _this21.runManager.handleChainError(err);\n _this21.runManager = undefined;\n }\n })();\n }\n end(output) {\n var _this22 = this;\n return _asyncToGenerator(function* () {\n if (_this22.runManager) {\n yield _this22.runManager.handleChainEnd(output !== null && output !== void 0 ? output : {});\n _this22.runManager = undefined;\n }\n })();\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _coerceToDict(value, defaultKey) {\n return value && !Array.isArray(value) && typeof value === \"object\" ? value : {\n [defaultKey]: value\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function traceAsGroup(_x5, _x6) {\n return _traceAsGroup.apply(this, arguments);\n}\nfunction _traceAsGroup() {\n _traceAsGroup = _asyncToGenerator(function* (groupOptions, enclosedCode, ...args) {\n const traceGroup = new TraceGroup(groupOptions.name, groupOptions);\n const callbackManager = yield traceGroup.start({\n ...args\n });\n try {\n const result = yield enclosedCode(callbackManager, ...args);\n yield traceGroup.end(_coerceToDict(result, \"output\"));\n return result;\n } catch (err) {\n yield traceGroup.error(err);\n throw err;\n }\n });\n return _traceAsGroup.apply(this, arguments);\n}","map":{"version":3,"names":["v4","uuidv4","BaseCallbackHandler","ConsoleCallbackHandler","getBufferString","getEnvironmentVariable","LangChainTracer","consumeCallback","isTracingEnabled","isBaseTracer","parseCallbackConfigArg","arg","Array","isArray","callbacks","BaseCallbackManager","setHandler","handler","setHandlers","BaseRunManager","constructor","runId","handlers","inheritableHandlers","tags","inheritableTags","metadata","inheritableMetadata","_parentRunId","Object","defineProperty","enumerable","configurable","writable","value","parentRunId","handleText","text","_this","_asyncToGenerator","Promise","all","map","_handler$handleText","call","err","logFunction","raiseError","console","error","warn","name","awaitHandlers","handleCustomEvent","eventName","data","_runId","_tags","_metadata","_this2","_handler$handleCustom","CallbackManagerForRetrieverRun","getChild","tag","manager","CallbackManager","addTags","addMetadata","handleRetrieverEnd","documents","_this3","ignoreRetriever","_handler$handleRetrie","handleRetrieverError","_this4","_handler$handleRetrie2","CallbackManagerForLLMRun","handleLLMNewToken","token","idx","fields","_this5","ignoreLLM","_handler$handleLLMNew","prompt","completion","handleLLMError","_this6","_handler$handleLLMErr","handleLLMEnd","output","_this7","_handler$handleLLMEnd","CallbackManagerForChainRun","handleChainError","kwargs","_this8","ignoreChain","_handler$handleChainE","handleChainEnd","_this9","_handler$handleChainE2","handleAgentAction","action","_this10","ignoreAgent","_handler$handleAgentA","handleAgentEnd","_this11","_handler$handleAgentE","CallbackManagerForToolRun","handleToolError","_this12","_handler$handleToolEr","handleToolEnd","_this13","_handler$handleToolEn","options","_options$handlers","_options$inheritableH","_options$tags","_options$inheritableT","_options$metadata","_options$inheritableM","getParentRunId","handleLLMStart","llm","prompts","undefined","extraParams","runName","_this14","_ref14","runId_","_createRunForLLMStart","_handler$handleLLMSta","_x","_x2","apply","arguments","handleChatModelStart","messages","_this15","_ref16","messageGroup","_createRunForChatModelStart","_handler$handleChatMo","_handler$handleLLMSta2","messageString","_x3","_x4","handleChainStart","chain","inputs","runType","_this16","_createRunForChainStart","_handler$handleChainS","handleToolStart","tool","input","_this17","_createRunForToolStart","_handler$handleToolSt","handleRetrieverStart","retriever","query","_this18","_createRunForRetrieverStart","_handler$handleRetrie3","_this19","ignoreCustomEvent","_handler$handleCustom2","addHandler","inherit","push","removeHandler","filter","_handler","removeTags","includes","removeMetadata","key","keys","copy","additionalHandlers","inheritable","h","some","fromHandlers","Handler","assign","configure","localHandlers","localTags","localMetadata","_configureSync","_LangChainTracer$getT","_getEnvironmentVariab","callbackManager","_inheritableHandlers$","ensureHandler","verboseEnabled","verbose","tracingV2Enabled","getTraceableRunTree","tracingEnabled","prototype","consoleHandler","_LangChainTracer$getT2","_LangChainTracer$getT3","tracerV2","id","fromMethods","TraceGroup","groupName","getTraceGroupCallbackManager","group_name","cb","cm","runManager","lc","type","Error","start","_this20","_this21","end","_this22","_coerceToDict","defaultKey","traceAsGroup","_x5","_x6","_traceAsGroup","groupOptions","enclosedCode","args","traceGroup","result"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@langchain/core/dist/callbacks/manager.js"],"sourcesContent":["import { v4 as uuidv4 } from \"uuid\";\nimport { BaseCallbackHandler, } from \"./base.js\";\nimport { ConsoleCallbackHandler } from \"../tracers/console.js\";\nimport { getBufferString } from \"../messages/utils.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\nimport { LangChainTracer, } from \"../tracers/tracer_langchain.js\";\nimport { consumeCallback } from \"./promises.js\";\nimport { isTracingEnabled } from \"../utils/callbacks.js\";\nimport { isBaseTracer } from \"../tracers/base.js\";\nexport function parseCallbackConfigArg(arg) {\n if (!arg) {\n return {};\n }\n else if (Array.isArray(arg) || \"name\" in arg) {\n return { callbacks: arg };\n }\n else {\n return arg;\n }\n}\n/**\n * Manage callbacks from different components of LangChain.\n */\nexport class BaseCallbackManager {\n setHandler(handler) {\n return this.setHandlers([handler]);\n }\n}\n/**\n * Base class for run manager in LangChain.\n */\nexport class BaseRunManager {\n constructor(runId, handlers, inheritableHandlers, tags, inheritableTags, metadata, inheritableMetadata, _parentRunId) {\n Object.defineProperty(this, \"runId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: runId\n });\n Object.defineProperty(this, \"handlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: handlers\n });\n Object.defineProperty(this, \"inheritableHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableHandlers\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: tags\n });\n Object.defineProperty(this, \"inheritableTags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableTags\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: metadata\n });\n Object.defineProperty(this, \"inheritableMetadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: inheritableMetadata\n });\n Object.defineProperty(this, \"_parentRunId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _parentRunId\n });\n }\n get parentRunId() {\n return this._parentRunId;\n }\n async handleText(text) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n try {\n await handler.handleText?.(text, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleText: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleCustomEvent(eventName, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data, _runId, _tags, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _metadata) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n try {\n await handler.handleCustomEvent?.(eventName, data, this.runId, this.tags, this.metadata);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleCustomEvent: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers)));\n }\n}\n/**\n * Manages callbacks for retriever runs.\n */\nexport class CallbackManagerForRetrieverRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n async handleRetrieverEnd(documents) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreRetriever) {\n try {\n await handler.handleRetrieverEnd?.(documents, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetriever`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleRetrieverError(err) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreRetriever) {\n try {\n await handler.handleRetrieverError?.(err, this.runId, this._parentRunId, this.tags);\n }\n catch (error) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetrieverError: ${error}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n}\nexport class CallbackManagerForLLMRun extends BaseRunManager {\n async handleLLMNewToken(token, idx, _runId, _parentRunId, _tags, fields) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreLLM) {\n try {\n await handler.handleLLMNewToken?.(token, idx ?? { prompt: 0, completion: 0 }, this.runId, this._parentRunId, this.tags, fields);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMNewToken: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleLLMError(err) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreLLM) {\n try {\n await handler.handleLLMError?.(err, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleLLMEnd(output) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreLLM) {\n try {\n await handler.handleLLMEnd?.(output, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n}\nexport class CallbackManagerForChainRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n async handleChainError(err, _runId, _parentRunId, _tags, kwargs) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreChain) {\n try {\n await handler.handleChainError?.(err, this.runId, this._parentRunId, this.tags, kwargs);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleChainEnd(output, _runId, _parentRunId, _tags, kwargs) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreChain) {\n try {\n await handler.handleChainEnd?.(output, this.runId, this._parentRunId, this.tags, kwargs);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleAgentAction(action) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreAgent) {\n try {\n await handler.handleAgentAction?.(action, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleAgentAction: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n async handleAgentEnd(action) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreAgent) {\n try {\n await handler.handleAgentEnd?.(action, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleAgentEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n}\nexport class CallbackManagerForToolRun extends BaseRunManager {\n getChild(tag) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const manager = new CallbackManager(this.runId);\n manager.setHandlers(this.inheritableHandlers);\n manager.addTags(this.inheritableTags);\n manager.addMetadata(this.inheritableMetadata);\n if (tag) {\n manager.addTags([tag], false);\n }\n return manager;\n }\n async handleToolError(err) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreAgent) {\n try {\n await handler.handleToolError?.(err, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolError: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async handleToolEnd(output) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreAgent) {\n try {\n await handler.handleToolEnd?.(output, this.runId, this._parentRunId, this.tags);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolEnd: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n}\n/**\n * @example\n * ```typescript\n * const prompt = PromptTemplate.fromTemplate(\"What is the answer to {question}?\");\n *\n * // Example of using LLMChain with OpenAI and a simple prompt\n * const chain = new LLMChain({\n * llm: new ChatOpenAI({ temperature: 0.9 }),\n * prompt,\n * });\n *\n * // Running the chain with a single question\n * const result = await chain.call({\n * question: \"What is the airspeed velocity of an unladen swallow?\",\n * });\n * console.log(\"The answer is:\", result);\n * ```\n */\nexport class CallbackManager extends BaseCallbackManager {\n constructor(parentRunId, options) {\n super();\n Object.defineProperty(this, \"handlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"inheritableHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"tags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"inheritableTags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"metadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"inheritableMetadata\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"callback_manager\"\n });\n Object.defineProperty(this, \"_parentRunId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.handlers = options?.handlers ?? this.handlers;\n this.inheritableHandlers =\n options?.inheritableHandlers ?? this.inheritableHandlers;\n this.tags = options?.tags ?? this.tags;\n this.inheritableTags = options?.inheritableTags ?? this.inheritableTags;\n this.metadata = options?.metadata ?? this.metadata;\n this.inheritableMetadata =\n options?.inheritableMetadata ?? this.inheritableMetadata;\n this._parentRunId = parentRunId;\n }\n /**\n * Gets the parent run ID, if any.\n *\n * @returns The parent run ID.\n */\n getParentRunId() {\n return this._parentRunId;\n }\n async handleLLMStart(llm, prompts, runId = undefined, _parentRunId = undefined, extraParams = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n return Promise.all(prompts.map(async (prompt, idx) => {\n // Can't have duplicate runs with the same run ID (if provided)\n const runId_ = idx === 0 && runId ? runId : uuidv4();\n await Promise.all(this.handlers.map((handler) => {\n if (handler.ignoreLLM) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForLLMStart(llm, [prompt], runId_, this._parentRunId, extraParams, this.tags, this.metadata, runName);\n }\n return consumeCallback(async () => {\n try {\n await handler.handleLLMStart?.(llm, [prompt], runId_, this._parentRunId, extraParams, this.tags, this.metadata, runName);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers);\n }));\n return new CallbackManagerForLLMRun(runId_, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);\n }));\n }\n async handleChatModelStart(llm, messages, runId = undefined, _parentRunId = undefined, extraParams = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n return Promise.all(messages.map(async (messageGroup, idx) => {\n // Can't have duplicate runs with the same run ID (if provided)\n const runId_ = idx === 0 && runId ? runId : uuidv4();\n await Promise.all(this.handlers.map((handler) => {\n if (handler.ignoreLLM) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForChatModelStart(llm, [messageGroup], runId_, this._parentRunId, extraParams, this.tags, this.metadata, runName);\n }\n return consumeCallback(async () => {\n try {\n if (handler.handleChatModelStart) {\n await handler.handleChatModelStart?.(llm, [messageGroup], runId_, this._parentRunId, extraParams, this.tags, this.metadata, runName);\n }\n else if (handler.handleLLMStart) {\n const messageString = getBufferString(messageGroup);\n await handler.handleLLMStart?.(llm, [messageString], runId_, this._parentRunId, extraParams, this.tags, this.metadata, runName);\n }\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleLLMStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers);\n }));\n return new CallbackManagerForLLMRun(runId_, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);\n }));\n }\n async handleChainStart(chain, inputs, runId = uuidv4(), runType = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n await Promise.all(this.handlers.map((handler) => {\n if (handler.ignoreChain) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForChainStart(chain, inputs, runId, this._parentRunId, this.tags, this.metadata, runType, runName);\n }\n return consumeCallback(async () => {\n try {\n await handler.handleChainStart?.(chain, inputs, runId, this._parentRunId, this.tags, this.metadata, runType, runName);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleChainStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers);\n }));\n return new CallbackManagerForChainRun(runId, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);\n }\n async handleToolStart(tool, input, runId = uuidv4(), _parentRunId = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n await Promise.all(this.handlers.map((handler) => {\n if (handler.ignoreAgent) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForToolStart(tool, input, runId, this._parentRunId, this.tags, this.metadata, runName);\n }\n return consumeCallback(async () => {\n try {\n await handler.handleToolStart?.(tool, input, runId, this._parentRunId, this.tags, this.metadata, runName);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleToolStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers);\n }));\n return new CallbackManagerForToolRun(runId, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);\n }\n async handleRetrieverStart(retriever, query, runId = uuidv4(), _parentRunId = undefined, _tags = undefined, _metadata = undefined, runName = undefined) {\n await Promise.all(this.handlers.map((handler) => {\n if (handler.ignoreRetriever) {\n return;\n }\n if (isBaseTracer(handler)) {\n // Create and add run to the run map.\n // We do this synchronously to avoid race conditions\n // when callbacks are backgrounded.\n handler._createRunForRetrieverStart(retriever, query, runId, this._parentRunId, this.tags, this.metadata, runName);\n }\n return consumeCallback(async () => {\n try {\n await handler.handleRetrieverStart?.(retriever, query, runId, this._parentRunId, this.tags, this.metadata, runName);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleRetrieverStart: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }, handler.awaitHandlers);\n }));\n return new CallbackManagerForRetrieverRun(runId, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);\n }\n async handleCustomEvent(eventName, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data, runId, _tags, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _metadata) {\n await Promise.all(this.handlers.map((handler) => consumeCallback(async () => {\n if (!handler.ignoreCustomEvent) {\n try {\n await handler.handleCustomEvent?.(eventName, data, runId, this.tags, this.metadata);\n }\n catch (err) {\n const logFunction = handler.raiseError\n ? console.error\n : console.warn;\n logFunction(`Error in handler ${handler.constructor.name}, handleCustomEvent: ${err}`);\n if (handler.raiseError) {\n throw err;\n }\n }\n }\n }, handler.awaitHandlers)));\n }\n addHandler(handler, inherit = true) {\n this.handlers.push(handler);\n if (inherit) {\n this.inheritableHandlers.push(handler);\n }\n }\n removeHandler(handler) {\n this.handlers = this.handlers.filter((_handler) => _handler !== handler);\n this.inheritableHandlers = this.inheritableHandlers.filter((_handler) => _handler !== handler);\n }\n setHandlers(handlers, inherit = true) {\n this.handlers = [];\n this.inheritableHandlers = [];\n for (const handler of handlers) {\n this.addHandler(handler, inherit);\n }\n }\n addTags(tags, inherit = true) {\n this.removeTags(tags); // Remove duplicates\n this.tags.push(...tags);\n if (inherit) {\n this.inheritableTags.push(...tags);\n }\n }\n removeTags(tags) {\n this.tags = this.tags.filter((tag) => !tags.includes(tag));\n this.inheritableTags = this.inheritableTags.filter((tag) => !tags.includes(tag));\n }\n addMetadata(metadata, inherit = true) {\n this.metadata = { ...this.metadata, ...metadata };\n if (inherit) {\n this.inheritableMetadata = { ...this.inheritableMetadata, ...metadata };\n }\n }\n removeMetadata(metadata) {\n for (const key of Object.keys(metadata)) {\n delete this.metadata[key];\n delete this.inheritableMetadata[key];\n }\n }\n copy(additionalHandlers = [], inherit = true) {\n const manager = new CallbackManager(this._parentRunId);\n for (const handler of this.handlers) {\n const inheritable = this.inheritableHandlers.includes(handler);\n manager.addHandler(handler, inheritable);\n }\n for (const tag of this.tags) {\n const inheritable = this.inheritableTags.includes(tag);\n manager.addTags([tag], inheritable);\n }\n for (const key of Object.keys(this.metadata)) {\n const inheritable = Object.keys(this.inheritableMetadata).includes(key);\n manager.addMetadata({ [key]: this.metadata[key] }, inheritable);\n }\n for (const handler of additionalHandlers) {\n if (\n // Prevent multiple copies of console_callback_handler\n manager.handlers\n .filter((h) => h.name === \"console_callback_handler\")\n .some((h) => h.name === handler.name)) {\n continue;\n }\n manager.addHandler(handler, inherit);\n }\n return manager;\n }\n static fromHandlers(handlers) {\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: uuidv4()\n });\n Object.assign(this, handlers);\n }\n }\n const manager = new this();\n manager.addHandler(new Handler());\n return manager;\n }\n static configure(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options) {\n return this._configureSync(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options);\n }\n // TODO: Deprecate async method in favor of this one.\n static _configureSync(inheritableHandlers, localHandlers, inheritableTags, localTags, inheritableMetadata, localMetadata, options) {\n let callbackManager;\n if (inheritableHandlers || localHandlers) {\n if (Array.isArray(inheritableHandlers) || !inheritableHandlers) {\n callbackManager = new CallbackManager();\n callbackManager.setHandlers(inheritableHandlers?.map(ensureHandler) ?? [], true);\n }\n else {\n callbackManager = inheritableHandlers;\n }\n callbackManager = callbackManager.copy(Array.isArray(localHandlers)\n ? localHandlers.map(ensureHandler)\n : localHandlers?.handlers, false);\n }\n const verboseEnabled = getEnvironmentVariable(\"LANGCHAIN_VERBOSE\") === \"true\" ||\n options?.verbose;\n const tracingV2Enabled = LangChainTracer.getTraceableRunTree()?.tracingEnabled ||\n isTracingEnabled();\n const tracingEnabled = tracingV2Enabled ||\n (getEnvironmentVariable(\"LANGCHAIN_TRACING\") ?? false);\n if (verboseEnabled || tracingEnabled) {\n if (!callbackManager) {\n callbackManager = new CallbackManager();\n }\n if (verboseEnabled &&\n !callbackManager.handlers.some((handler) => handler.name === ConsoleCallbackHandler.prototype.name)) {\n const consoleHandler = new ConsoleCallbackHandler();\n callbackManager.addHandler(consoleHandler, true);\n }\n if (tracingEnabled &&\n !callbackManager.handlers.some((handler) => handler.name === \"langchain_tracer\")) {\n if (tracingV2Enabled) {\n const tracerV2 = new LangChainTracer();\n callbackManager.addHandler(tracerV2, true);\n // handoff between langchain and langsmith/traceable\n // override the parent run ID\n callbackManager._parentRunId =\n LangChainTracer.getTraceableRunTree()?.id ??\n callbackManager._parentRunId;\n }\n }\n }\n if (inheritableTags || localTags) {\n if (callbackManager) {\n callbackManager.addTags(inheritableTags ?? []);\n callbackManager.addTags(localTags ?? [], false);\n }\n }\n if (inheritableMetadata || localMetadata) {\n if (callbackManager) {\n callbackManager.addMetadata(inheritableMetadata ?? {});\n callbackManager.addMetadata(localMetadata ?? {}, false);\n }\n }\n return callbackManager;\n }\n}\nexport function ensureHandler(handler) {\n if (\"name\" in handler) {\n return handler;\n }\n return BaseCallbackHandler.fromMethods(handler);\n}\n/**\n * @deprecated Use [`traceable`](https://docs.smith.langchain.com/observability/how_to_guides/tracing/annotate_code)\n * from \"langsmith\" instead.\n */\nexport class TraceGroup {\n constructor(groupName, options) {\n Object.defineProperty(this, \"groupName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: groupName\n });\n Object.defineProperty(this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(this, \"runManager\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n async getTraceGroupCallbackManager(group_name, inputs, options) {\n const cb = new LangChainTracer(options);\n const cm = await CallbackManager.configure([cb]);\n const runManager = await cm?.handleChainStart({\n lc: 1,\n type: \"not_implemented\",\n id: [\"langchain\", \"callbacks\", \"groups\", group_name],\n }, inputs ?? {});\n if (!runManager) {\n throw new Error(\"Failed to create run group callback manager.\");\n }\n return runManager;\n }\n async start(inputs) {\n if (!this.runManager) {\n this.runManager = await this.getTraceGroupCallbackManager(this.groupName, inputs, this.options);\n }\n return this.runManager.getChild();\n }\n async error(err) {\n if (this.runManager) {\n await this.runManager.handleChainError(err);\n this.runManager = undefined;\n }\n }\n async end(output) {\n if (this.runManager) {\n await this.runManager.handleChainEnd(output ?? {});\n this.runManager = undefined;\n }\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _coerceToDict(value, defaultKey) {\n return value && !Array.isArray(value) && typeof value === \"object\"\n ? value\n : { [defaultKey]: value };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function traceAsGroup(groupOptions, enclosedCode, ...args) {\n const traceGroup = new TraceGroup(groupOptions.name, groupOptions);\n const callbackManager = await traceGroup.start({ ...args });\n try {\n const result = await enclosedCode(callbackManager, ...args);\n await traceGroup.end(_coerceToDict(result, \"output\"));\n return result;\n }\n catch (err) {\n await traceGroup.error(err);\n throw err;\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|