@langchain/core 1.1.27 → 1.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/callbacks/base.cjs.map +1 -1
  3. package/dist/callbacks/base.d.cts +12 -2
  4. package/dist/callbacks/base.d.cts.map +1 -1
  5. package/dist/callbacks/base.d.ts +12 -2
  6. package/dist/callbacks/base.d.ts.map +1 -1
  7. package/dist/callbacks/base.js.map +1 -1
  8. package/dist/callbacks/manager.cjs +20 -7
  9. package/dist/callbacks/manager.cjs.map +1 -1
  10. package/dist/callbacks/manager.d.cts +2 -1
  11. package/dist/callbacks/manager.d.cts.map +1 -1
  12. package/dist/callbacks/manager.d.ts +2 -1
  13. package/dist/callbacks/manager.d.ts.map +1 -1
  14. package/dist/callbacks/manager.js +20 -7
  15. package/dist/callbacks/manager.js.map +1 -1
  16. package/dist/language_models/base.cjs +11 -0
  17. package/dist/language_models/base.cjs.map +1 -1
  18. package/dist/language_models/base.d.cts +1 -0
  19. package/dist/language_models/base.d.cts.map +1 -1
  20. package/dist/language_models/base.d.ts +1 -0
  21. package/dist/language_models/base.d.ts.map +1 -1
  22. package/dist/language_models/base.js +11 -0
  23. package/dist/language_models/base.js.map +1 -1
  24. package/dist/messages/ai.cjs +4 -2
  25. package/dist/messages/ai.cjs.map +1 -1
  26. package/dist/messages/ai.d.cts.map +1 -1
  27. package/dist/messages/ai.d.ts.map +1 -1
  28. package/dist/messages/ai.js +4 -2
  29. package/dist/messages/ai.js.map +1 -1
  30. package/dist/messages/base.cjs +14 -6
  31. package/dist/messages/base.cjs.map +1 -1
  32. package/dist/messages/base.d.cts.map +1 -1
  33. package/dist/messages/base.d.ts.map +1 -1
  34. package/dist/messages/base.js +14 -6
  35. package/dist/messages/base.js.map +1 -1
  36. package/dist/messages/content/index.cjs.map +1 -1
  37. package/dist/messages/content/index.d.cts +2 -2
  38. package/dist/messages/content/index.d.ts +2 -2
  39. package/dist/messages/content/index.js.map +1 -1
  40. package/dist/messages/content/tools.cjs.map +1 -1
  41. package/dist/messages/content/tools.d.cts +1 -1
  42. package/dist/messages/content/tools.d.ts +1 -1
  43. package/dist/messages/content/tools.js.map +1 -1
  44. package/dist/runnables/iter.cjs +17 -0
  45. package/dist/runnables/iter.cjs.map +1 -1
  46. package/dist/runnables/iter.js +16 -1
  47. package/dist/runnables/iter.js.map +1 -1
  48. package/dist/tools/index.cjs +15 -6
  49. package/dist/tools/index.cjs.map +1 -1
  50. package/dist/tools/index.d.cts +3 -3
  51. package/dist/tools/index.d.cts.map +1 -1
  52. package/dist/tools/index.d.ts +3 -3
  53. package/dist/tools/index.d.ts.map +1 -1
  54. package/dist/tools/index.js +15 -6
  55. package/dist/tools/index.js.map +1 -1
  56. package/dist/tools/types.cjs.map +1 -1
  57. package/dist/tools/types.d.cts +2 -2
  58. package/dist/tools/types.d.cts.map +1 -1
  59. package/dist/tools/types.d.ts +2 -2
  60. package/dist/tools/types.d.ts.map +1 -1
  61. package/dist/tools/types.js.map +1 -1
  62. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @langchain/core
2
2
 
3
+ ## 1.1.29
4
+
5
+ ### Patch Changes
6
+
7
+ - [#10106](https://github.com/langchain-ai/langchainjs/pull/10106) [`9f30267`](https://github.com/langchain-ai/langchainjs/commit/9f30267e95a2a42fac71f1d3674b84c5a190dbbc) Thanks [@hntrl](https://github.com/hntrl)! - Add package version metadata to runnable traces. Each package now stamps its version in `this.metadata.versions` at construction time, making version info available in LangSmith trace metadata.
8
+
9
+ - [#10154](https://github.com/langchain-ai/langchainjs/pull/10154) [`403a99f`](https://github.com/langchain-ai/langchainjs/commit/403a99fd826383f30300809ae077e1c967023520) Thanks [@kanweiwei](https://github.com/kanweiwei)! - fix(core): add usage_metadata to AIMessage lc_aliases
10
+
11
+ - [#10169](https://github.com/langchain-ai/langchainjs/pull/10169) [`3b1fd54`](https://github.com/langchain-ai/langchainjs/commit/3b1fd5458a4aa29c398122829f383f21b5ac39da) Thanks [@hntrl](https://github.com/hntrl)! - fix(core, langchain): bump uuid dependency from ^10.0.0 to ^11.0.0 to fix Metro bundler error
12
+
13
+ The `uuid` v10 package has ambiguous `exports` in its `package.json` which causes Metro (used by Expo/React Native) to resolve the wrong entry point, resulting in `Cannot read properties of undefined (reading 'v1')`. The `uuid` v11 package fixes its exports map to work correctly with Metro's package exports resolution.
14
+
15
+ - [#10044](https://github.com/langchain-ai/langchainjs/pull/10044) [`77bd982`](https://github.com/langchain-ai/langchainjs/commit/77bd98274a885e947d76f7a9c6dd0b3763453218) Thanks [@hntrl](https://github.com/hntrl)! - fix(core): remove inherited LangChainTracer handlers when tracingEnabled is false
16
+
17
+ When a RunTree explicitly disables tracing via `tracingEnabled: false`, `CallbackManager._configureSync` now strips any inherited `LangChainTracer` handlers so child runs don't produce traces.
18
+
19
+ ## 1.1.28
20
+
21
+ ### Patch Changes
22
+
23
+ - [#10140](https://github.com/langchain-ai/langchainjs/pull/10140) [`10a876c`](https://github.com/langchain-ai/langchainjs/commit/10a876c7d5ff27d8f2889761ee20e95f76a50518) Thanks [@hntrl](https://github.com/hntrl)! - Merge content blocks by string index during streaming.
24
+
25
+ - [#10102](https://github.com/langchain-ai/langchainjs/pull/10102) [`b46d96a`](https://github.com/langchain-ai/langchainjs/commit/b46d96a508a8bf212561dbb6f025e35c75f16257) Thanks [@colifran](https://github.com/colifran)! - feat: implement aynchronous generator tool calling for streaming partial tool results
26
+
3
27
  ## 1.1.27
4
28
 
5
29
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"base.cjs","names":["get_lc_unique_name","getEnvironmentVariable","Serializable"],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"uuid\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { AgentAction, AgentFinish } from \"../agents.js\";\nimport type {\n ChatGenerationChunk,\n GenerationChunk,\n LLMResult,\n} from \"../outputs.js\";\nimport {\n Serializable,\n Serialized,\n SerializedNotImplemented,\n get_lc_unique_name,\n} from \"../load/serializable.js\";\nimport type { SerializedFields } from \"../load/map_keys.js\";\nimport type { DocumentInterface } from \"../documents/document.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Error = any;\n\n/**\n * Interface for the input parameters of the BaseCallbackHandler class. It\n * allows to specify which types of events should be ignored by the\n * callback handler.\n */\nexport interface BaseCallbackHandlerInput {\n ignoreLLM?: boolean;\n ignoreChain?: boolean;\n ignoreAgent?: boolean;\n ignoreRetriever?: boolean;\n ignoreCustomEvent?: boolean;\n _awaitHandler?: boolean;\n raiseError?: boolean;\n}\n\n/**\n * Interface for the indices of a new token produced by an LLM or Chat\n * Model in streaming mode.\n */\nexport interface NewTokenIndices {\n prompt: number;\n completion: number;\n}\n\n// TODO: Add all additional callback fields here\nexport type HandleLLMNewTokenCallbackFields = {\n chunk?: GenerationChunk | ChatGenerationChunk;\n};\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 */\nabstract class BaseCallbackHandlerMethodsClass {\n /**\n * Called at the start of an LLM or Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleLLMStart?(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when an LLM/ChatModel in `streaming` mode produces a new token\n */\n handleLLMNewToken?(\n token: string,\n /**\n * idx.prompt is the index of the prompt that produced the token\n * (if there are multiple prompts)\n * idx.completion is the index of the completion that produced the token\n * (if multiple completions per prompt are requested)\n */\n idx: NewTokenIndices,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n fields?: HandleLLMNewTokenCallbackFields\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if an LLM/ChatModel run encounters an error\n */\n handleLLMError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of an LLM/ChatModel run, with the output and the run ID.\n */\n handleLLMEnd?(\n output: LLMResult,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleChatModelStart?(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chain run, with the chain name and inputs\n * and the run ID.\n */\n handleChainStart?(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n runType?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n parentRunId?: string,\n extra?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Chain run encounters an error\n */\n handleChainError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Chain run, with the outputs and the run ID.\n */\n handleChainEnd?(\n outputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Tool run, with the tool name and input\n * and the run ID.\n */\n handleToolStart?(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Tool run encounters an error\n */\n handleToolError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Tool run, with the tool output and the run ID.\n */\n handleToolEnd?(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleText?(\n text: string,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent is about to execute an action,\n * with the action and the run ID.\n */\n handleAgentAction?(\n action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent finishes execution, before it exits.\n * with the final output and the run ID.\n */\n handleAgentEnd?(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n handleRetrieverStart?(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverEnd?(\n documents: DocumentInterface[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n}\n\n/**\n * Base interface for callbacks. All methods are optional. If a method is not\n * implemented, it will be ignored. If a method is implemented, it will be\n * called at the appropriate time. All methods are called with the run ID of\n * the LLM/ChatModel/Chain that is running, which is generated by the\n * CallbackManager.\n *\n * @interface\n */\nexport type CallbackHandlerMethods = BaseCallbackHandlerMethodsClass;\n\n/**\n * Interface for handlers that can indicate a preference for streaming responses.\n * When implemented, this allows the handler to signal whether it prefers to receive\n * streaming responses from language models rather than complete responses.\n */\nexport interface CallbackHandlerPrefersStreaming {\n readonly lc_prefer_streaming: boolean;\n}\n\nexport function callbackHandlerPrefersStreaming(x: BaseCallbackHandler) {\n return \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n\n/**\n * Abstract base class for creating callback handlers in the LangChain\n * framework. It provides a set of optional methods that can be overridden\n * in derived classes to handle various events during the execution of a\n * LangChain application.\n */\nexport abstract class BaseCallbackHandler\n extends BaseCallbackHandlerMethodsClass\n implements BaseCallbackHandlerInput, Serializable\n{\n lc_serializable = false;\n\n get lc_namespace(): [\"langchain_core\", \"callbacks\", string] {\n return [\"langchain_core\", \"callbacks\", this.name];\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_attributes(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof BaseCallbackHandler),\n ];\n }\n\n lc_kwargs: SerializedFields;\n\n abstract name: string;\n\n ignoreLLM = false;\n\n ignoreChain = false;\n\n ignoreAgent = false;\n\n ignoreRetriever = false;\n\n ignoreCustomEvent = false;\n\n raiseError = false;\n\n awaitHandlers =\n getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\n constructor(input?: BaseCallbackHandlerInput) {\n super();\n this.lc_kwargs = input || {};\n if (input) {\n this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n this.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n this.ignoreCustomEvent =\n input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n this.raiseError = input.raiseError ?? this.raiseError;\n this.awaitHandlers =\n this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n }\n }\n\n copy(): BaseCallbackHandler {\n return new (this.constructor as new (\n input?: BaseCallbackHandlerInput\n ) => BaseCallbackHandler)(this);\n }\n\n toJSON(): Serialized {\n return Serializable.prototype.toJSON.call(this);\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return Serializable.prototype.toJSONNotImplemented.call(this);\n }\n\n static fromMethods(methods: CallbackHandlerMethods) {\n class Handler extends BaseCallbackHandler {\n name = uuid.v7();\n\n constructor() {\n super();\n Object.assign(this, methods);\n }\n }\n return new Handler();\n }\n}\n\nexport const isBaseCallbackHandler = (x: unknown) => {\n const callbackHandler = x as BaseCallbackHandler;\n return (\n callbackHandler !== undefined &&\n typeof callbackHandler.copy === \"function\" &&\n typeof callbackHandler.name === \"string\" &&\n typeof callbackHandler.awaitHandlers === \"boolean\"\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwDA,IAAe,kCAAf,MAA+C;AAmP/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;;;;;;;AASzC,IAAsB,sBAAtB,cACU,gCAEV;CACE,kBAAkB;CAElB,IAAI,eAAwD;AAC1D,SAAO;GAAC;GAAkB;GAAa,KAAK;GAAK;;CAGnD,IAAI,aAAoD;CAIxD,IAAI,gBAAuD;CAI3D,IAAI,aAAoD;CAIxD,IAAI,uBAA6C;;;;;;;CAUjD,OAAO,UAAkB;AACvB,SAAO,KAAK;;;;;CAMd,IAAI,QAAkB;AACpB,SAAO,CACL,GAAG,KAAK,cACRA,6CAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACEC,yCAAuB,iCAAiC,KAAK;CAE/D,YAAY,OAAkC;AAC5C,SAAO;AACP,OAAK,YAAY,SAAS,EAAE;AAC5B,MAAI,OAAO;AACT,QAAK,YAAY,MAAM,aAAa,KAAK;AACzC,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,kBAAkB,MAAM,mBAAmB,KAAK;AACrD,QAAK,oBACH,MAAM,qBAAqB,KAAK;AAClC,QAAK,aAAa,MAAM,cAAc,KAAK;AAC3C,QAAK,gBACH,KAAK,eAAe,MAAM,iBAAiB,KAAK;;;CAItD,OAA4B;AAC1B,SAAO,IAAK,KAAK,YAES,KAAK;;CAGjC,SAAqB;AACnB,SAAOC,uCAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAOA,uCAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAO,KAAK,IAAI;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,UACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
1
+ {"version":3,"file":"base.cjs","names":["get_lc_unique_name","getEnvironmentVariable","Serializable"],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"uuid\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { AgentAction, AgentFinish } from \"../agents.js\";\nimport type {\n ChatGenerationChunk,\n GenerationChunk,\n LLMResult,\n} from \"../outputs.js\";\nimport {\n Serializable,\n Serialized,\n SerializedNotImplemented,\n get_lc_unique_name,\n} from \"../load/serializable.js\";\nimport type { SerializedFields } from \"../load/map_keys.js\";\nimport type { DocumentInterface } from \"../documents/document.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Error = any;\n\n/**\n * Interface for the input parameters of the BaseCallbackHandler class. It\n * allows to specify which types of events should be ignored by the\n * callback handler.\n */\nexport interface BaseCallbackHandlerInput {\n ignoreLLM?: boolean;\n ignoreChain?: boolean;\n ignoreAgent?: boolean;\n ignoreRetriever?: boolean;\n ignoreCustomEvent?: boolean;\n _awaitHandler?: boolean;\n raiseError?: boolean;\n}\n\n/**\n * Interface for the indices of a new token produced by an LLM or Chat\n * Model in streaming mode.\n */\nexport interface NewTokenIndices {\n prompt: number;\n completion: number;\n}\n\n// TODO: Add all additional callback fields here\nexport type HandleLLMNewTokenCallbackFields = {\n chunk?: GenerationChunk | ChatGenerationChunk;\n};\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 */\nabstract class BaseCallbackHandlerMethodsClass {\n /**\n * Called at the start of an LLM or Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleLLMStart?(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when an LLM/ChatModel in `streaming` mode produces a new token\n */\n handleLLMNewToken?(\n token: string,\n /**\n * idx.prompt is the index of the prompt that produced the token\n * (if there are multiple prompts)\n * idx.completion is the index of the completion that produced the token\n * (if multiple completions per prompt are requested)\n */\n idx: NewTokenIndices,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n fields?: HandleLLMNewTokenCallbackFields\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if an LLM/ChatModel run encounters an error\n */\n handleLLMError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of an LLM/ChatModel run, with the output and the run ID.\n */\n handleLLMEnd?(\n output: LLMResult,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleChatModelStart?(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chain run, with the chain name and inputs\n * and the run ID.\n */\n handleChainStart?(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n runType?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n parentRunId?: string,\n extra?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Chain run encounters an error\n */\n handleChainError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Chain run, with the outputs and the run ID.\n */\n handleChainEnd?(\n outputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Tool run, with the tool name and input\n * and the run ID.\n */\n handleToolStart?(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n toolCallId?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Tool run encounters an error\n */\n handleToolError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Tool run, with the tool output and the run ID.\n */\n handleToolEnd?(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when a streaming tool yields a partial value. Tools that are async generators\n * invoke this once per yielded value.\n */\n handleToolEvent?(\n chunk: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleText?(\n text: string,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent is about to execute an action,\n * with the action and the run ID.\n */\n handleAgentAction?(\n action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent finishes execution, before it exits.\n * with the final output and the run ID.\n */\n handleAgentEnd?(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n handleRetrieverStart?(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverEnd?(\n documents: DocumentInterface[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n}\n\n/**\n * Base interface for callbacks. All methods are optional. If a method is not\n * implemented, it will be ignored. If a method is implemented, it will be\n * called at the appropriate time. All methods are called with the run ID of\n * the LLM/ChatModel/Chain that is running, which is generated by the\n * CallbackManager.\n *\n * @interface\n */\nexport type CallbackHandlerMethods = BaseCallbackHandlerMethodsClass;\n\n/**\n * Interface for handlers that can indicate a preference for streaming responses.\n * When implemented, this allows the handler to signal whether it prefers to receive\n * streaming responses from language models rather than complete responses.\n */\nexport interface CallbackHandlerPrefersStreaming {\n readonly lc_prefer_streaming: boolean;\n}\n\nexport function callbackHandlerPrefersStreaming(x: BaseCallbackHandler) {\n return \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n\n/**\n * Abstract base class for creating callback handlers in the LangChain\n * framework. It provides a set of optional methods that can be overridden\n * in derived classes to handle various events during the execution of a\n * LangChain application.\n */\nexport abstract class BaseCallbackHandler\n extends BaseCallbackHandlerMethodsClass\n implements BaseCallbackHandlerInput, Serializable\n{\n lc_serializable = false;\n\n get lc_namespace(): [\"langchain_core\", \"callbacks\", string] {\n return [\"langchain_core\", \"callbacks\", this.name];\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_attributes(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof BaseCallbackHandler),\n ];\n }\n\n lc_kwargs: SerializedFields;\n\n abstract name: string;\n\n ignoreLLM = false;\n\n ignoreChain = false;\n\n ignoreAgent = false;\n\n ignoreRetriever = false;\n\n ignoreCustomEvent = false;\n\n raiseError = false;\n\n awaitHandlers =\n getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\n constructor(input?: BaseCallbackHandlerInput) {\n super();\n this.lc_kwargs = input || {};\n if (input) {\n this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n this.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n this.ignoreCustomEvent =\n input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n this.raiseError = input.raiseError ?? this.raiseError;\n this.awaitHandlers =\n this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n }\n }\n\n copy(): BaseCallbackHandler {\n return new (this.constructor as new (\n input?: BaseCallbackHandlerInput\n ) => BaseCallbackHandler)(this);\n }\n\n toJSON(): Serialized {\n return Serializable.prototype.toJSON.call(this);\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return Serializable.prototype.toJSONNotImplemented.call(this);\n }\n\n static fromMethods(methods: CallbackHandlerMethods) {\n class Handler extends BaseCallbackHandler {\n name = uuid.v7();\n\n constructor() {\n super();\n Object.assign(this, methods);\n }\n }\n return new Handler();\n }\n}\n\nexport const isBaseCallbackHandler = (x: unknown) => {\n const callbackHandler = x as BaseCallbackHandler;\n return (\n callbackHandler !== undefined &&\n typeof callbackHandler.copy === \"function\" &&\n typeof callbackHandler.name === \"string\" &&\n typeof callbackHandler.awaitHandlers === \"boolean\"\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwDA,IAAe,kCAAf,MAA+C;AAgQ/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;;;;;;;AASzC,IAAsB,sBAAtB,cACU,gCAEV;CACE,kBAAkB;CAElB,IAAI,eAAwD;AAC1D,SAAO;GAAC;GAAkB;GAAa,KAAK;GAAK;;CAGnD,IAAI,aAAoD;CAIxD,IAAI,gBAAuD;CAI3D,IAAI,aAAoD;CAIxD,IAAI,uBAA6C;;;;;;;CAUjD,OAAO,UAAkB;AACvB,SAAO,KAAK;;;;;CAMd,IAAI,QAAkB;AACpB,SAAO,CACL,GAAG,KAAK,cACRA,6CAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACEC,yCAAuB,iCAAiC,KAAK;CAE/D,YAAY,OAAkC;AAC5C,SAAO;AACP,OAAK,YAAY,SAAS,EAAE;AAC5B,MAAI,OAAO;AACT,QAAK,YAAY,MAAM,aAAa,KAAK;AACzC,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,kBAAkB,MAAM,mBAAmB,KAAK;AACrD,QAAK,oBACH,MAAM,qBAAqB,KAAK;AAClC,QAAK,aAAa,MAAM,cAAc,KAAK;AAC3C,QAAK,gBACH,KAAK,eAAe,MAAM,iBAAiB,KAAK;;;CAItD,OAA4B;AAC1B,SAAO,IAAK,KAAK,YAES,KAAK;;CAGjC,SAAqB;AACnB,SAAOC,uCAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAOA,uCAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAO,KAAK,IAAI;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,UACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
@@ -91,7 +91,7 @@ declare abstract class BaseCallbackHandlerMethodsClass {
91
91
  * Called at the start of a Tool run, with the tool name and input
92
92
  * and the run ID.
93
93
  */
94
- handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<any> | any;
94
+ handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, toolCallId?: string): Promise<any> | any;
95
95
  /**
96
96
  * Called if a Tool run encounters an error
97
97
  */
@@ -100,6 +100,11 @@ declare abstract class BaseCallbackHandlerMethodsClass {
100
100
  * Called at the end of a Tool run, with the tool output and the run ID.
101
101
  */
102
102
  handleToolEnd?(output: any, runId: string, parentRunId?: string, tags?: string[]): Promise<any> | any;
103
+ /**
104
+ * Called when a streaming tool yields a partial value. Tools that are async generators
105
+ * invoke this once per yielded value.
106
+ */
107
+ handleToolEvent?(chunk: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<any> | any;
103
108
  handleText?(text: string, runId: string, parentRunId?: string, tags?: string[]): Promise<void> | void;
104
109
  /**
105
110
  * Called when an agent is about to execute an action,
@@ -223,7 +228,7 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
223
228
  * Called at the start of a Tool run, with the tool name and input
224
229
  * and the run ID.
225
230
  */
226
- handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined, metadata?: Record<string, unknown> | undefined, runName?: string | undefined): any;
231
+ handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined, metadata?: Record<string, unknown> | undefined, runName?: string | undefined, toolCallId?: string | undefined): any;
227
232
  /**
228
233
  * Called if a Tool run encounters an error
229
234
  */
@@ -232,6 +237,11 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
232
237
  * Called at the end of a Tool run, with the tool output and the run ID.
233
238
  */
234
239
  handleToolEnd?(output: any, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): any;
240
+ /**
241
+ * Called when a streaming tool yields a partial value. Tools that are async generators
242
+ * invoke this once per yielded value.
243
+ */
244
+ handleToolEvent?(chunk: unknown, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): any;
235
245
  handleText?(text: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): void | Promise<void>;
236
246
  /**
237
247
  * Called when an agent is about to execute an action,
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.cts","names":[],"sources":["../../src/callbacks/base.ts"],"mappings":"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"}
1
+ {"version":3,"file":"base.d.cts","names":[],"sources":["../../src/callbacks/base.ts"],"mappings":"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"}
@@ -91,7 +91,7 @@ declare abstract class BaseCallbackHandlerMethodsClass {
91
91
  * Called at the start of a Tool run, with the tool name and input
92
92
  * and the run ID.
93
93
  */
94
- handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<any> | any;
94
+ handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string, toolCallId?: string): Promise<any> | any;
95
95
  /**
96
96
  * Called if a Tool run encounters an error
97
97
  */
@@ -100,6 +100,11 @@ declare abstract class BaseCallbackHandlerMethodsClass {
100
100
  * Called at the end of a Tool run, with the tool output and the run ID.
101
101
  */
102
102
  handleToolEnd?(output: any, runId: string, parentRunId?: string, tags?: string[]): Promise<any> | any;
103
+ /**
104
+ * Called when a streaming tool yields a partial value. Tools that are async generators
105
+ * invoke this once per yielded value.
106
+ */
107
+ handleToolEvent?(chunk: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<any> | any;
103
108
  handleText?(text: string, runId: string, parentRunId?: string, tags?: string[]): Promise<void> | void;
104
109
  /**
105
110
  * Called when an agent is about to execute an action,
@@ -223,7 +228,7 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
223
228
  * Called at the start of a Tool run, with the tool name and input
224
229
  * and the run ID.
225
230
  */
226
- handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined, metadata?: Record<string, unknown> | undefined, runName?: string | undefined): any;
231
+ handleToolStart?(tool: Serialized, input: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined, metadata?: Record<string, unknown> | undefined, runName?: string | undefined, toolCallId?: string | undefined): any;
227
232
  /**
228
233
  * Called if a Tool run encounters an error
229
234
  */
@@ -232,6 +237,11 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
232
237
  * Called at the end of a Tool run, with the tool output and the run ID.
233
238
  */
234
239
  handleToolEnd?(output: any, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): any;
240
+ /**
241
+ * Called when a streaming tool yields a partial value. Tools that are async generators
242
+ * invoke this once per yielded value.
243
+ */
244
+ handleToolEvent?(chunk: unknown, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): any;
235
245
  handleText?(text: string, runId: string, parentRunId?: string | undefined, tags?: string[] | undefined): void | Promise<void>;
236
246
  /**
237
247
  * Called when an agent is about to execute an action,
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/callbacks/base.ts"],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/callbacks/base.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"uuid\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { AgentAction, AgentFinish } from \"../agents.js\";\nimport type {\n ChatGenerationChunk,\n GenerationChunk,\n LLMResult,\n} from \"../outputs.js\";\nimport {\n Serializable,\n Serialized,\n SerializedNotImplemented,\n get_lc_unique_name,\n} from \"../load/serializable.js\";\nimport type { SerializedFields } from \"../load/map_keys.js\";\nimport type { DocumentInterface } from \"../documents/document.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Error = any;\n\n/**\n * Interface for the input parameters of the BaseCallbackHandler class. It\n * allows to specify which types of events should be ignored by the\n * callback handler.\n */\nexport interface BaseCallbackHandlerInput {\n ignoreLLM?: boolean;\n ignoreChain?: boolean;\n ignoreAgent?: boolean;\n ignoreRetriever?: boolean;\n ignoreCustomEvent?: boolean;\n _awaitHandler?: boolean;\n raiseError?: boolean;\n}\n\n/**\n * Interface for the indices of a new token produced by an LLM or Chat\n * Model in streaming mode.\n */\nexport interface NewTokenIndices {\n prompt: number;\n completion: number;\n}\n\n// TODO: Add all additional callback fields here\nexport type HandleLLMNewTokenCallbackFields = {\n chunk?: GenerationChunk | ChatGenerationChunk;\n};\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 */\nabstract class BaseCallbackHandlerMethodsClass {\n /**\n * Called at the start of an LLM or Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleLLMStart?(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when an LLM/ChatModel in `streaming` mode produces a new token\n */\n handleLLMNewToken?(\n token: string,\n /**\n * idx.prompt is the index of the prompt that produced the token\n * (if there are multiple prompts)\n * idx.completion is the index of the completion that produced the token\n * (if multiple completions per prompt are requested)\n */\n idx: NewTokenIndices,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n fields?: HandleLLMNewTokenCallbackFields\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if an LLM/ChatModel run encounters an error\n */\n handleLLMError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of an LLM/ChatModel run, with the output and the run ID.\n */\n handleLLMEnd?(\n output: LLMResult,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleChatModelStart?(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chain run, with the chain name and inputs\n * and the run ID.\n */\n handleChainStart?(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n runType?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n parentRunId?: string,\n extra?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Chain run encounters an error\n */\n handleChainError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Chain run, with the outputs and the run ID.\n */\n handleChainEnd?(\n outputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Tool run, with the tool name and input\n * and the run ID.\n */\n handleToolStart?(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Tool run encounters an error\n */\n handleToolError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Tool run, with the tool output and the run ID.\n */\n handleToolEnd?(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleText?(\n text: string,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent is about to execute an action,\n * with the action and the run ID.\n */\n handleAgentAction?(\n action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent finishes execution, before it exits.\n * with the final output and the run ID.\n */\n handleAgentEnd?(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n handleRetrieverStart?(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverEnd?(\n documents: DocumentInterface[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n}\n\n/**\n * Base interface for callbacks. All methods are optional. If a method is not\n * implemented, it will be ignored. If a method is implemented, it will be\n * called at the appropriate time. All methods are called with the run ID of\n * the LLM/ChatModel/Chain that is running, which is generated by the\n * CallbackManager.\n *\n * @interface\n */\nexport type CallbackHandlerMethods = BaseCallbackHandlerMethodsClass;\n\n/**\n * Interface for handlers that can indicate a preference for streaming responses.\n * When implemented, this allows the handler to signal whether it prefers to receive\n * streaming responses from language models rather than complete responses.\n */\nexport interface CallbackHandlerPrefersStreaming {\n readonly lc_prefer_streaming: boolean;\n}\n\nexport function callbackHandlerPrefersStreaming(x: BaseCallbackHandler) {\n return \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n\n/**\n * Abstract base class for creating callback handlers in the LangChain\n * framework. It provides a set of optional methods that can be overridden\n * in derived classes to handle various events during the execution of a\n * LangChain application.\n */\nexport abstract class BaseCallbackHandler\n extends BaseCallbackHandlerMethodsClass\n implements BaseCallbackHandlerInput, Serializable\n{\n lc_serializable = false;\n\n get lc_namespace(): [\"langchain_core\", \"callbacks\", string] {\n return [\"langchain_core\", \"callbacks\", this.name];\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_attributes(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof BaseCallbackHandler),\n ];\n }\n\n lc_kwargs: SerializedFields;\n\n abstract name: string;\n\n ignoreLLM = false;\n\n ignoreChain = false;\n\n ignoreAgent = false;\n\n ignoreRetriever = false;\n\n ignoreCustomEvent = false;\n\n raiseError = false;\n\n awaitHandlers =\n getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\n constructor(input?: BaseCallbackHandlerInput) {\n super();\n this.lc_kwargs = input || {};\n if (input) {\n this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n this.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n this.ignoreCustomEvent =\n input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n this.raiseError = input.raiseError ?? this.raiseError;\n this.awaitHandlers =\n this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n }\n }\n\n copy(): BaseCallbackHandler {\n return new (this.constructor as new (\n input?: BaseCallbackHandlerInput\n ) => BaseCallbackHandler)(this);\n }\n\n toJSON(): Serialized {\n return Serializable.prototype.toJSON.call(this);\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return Serializable.prototype.toJSONNotImplemented.call(this);\n }\n\n static fromMethods(methods: CallbackHandlerMethods) {\n class Handler extends BaseCallbackHandler {\n name = uuid.v7();\n\n constructor() {\n super();\n Object.assign(this, methods);\n }\n }\n return new Handler();\n }\n}\n\nexport const isBaseCallbackHandler = (x: unknown) => {\n const callbackHandler = x as BaseCallbackHandler;\n return (\n callbackHandler !== undefined &&\n typeof callbackHandler.copy === \"function\" &&\n typeof callbackHandler.name === \"string\" &&\n typeof callbackHandler.awaitHandlers === \"boolean\"\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAwDA,IAAe,kCAAf,MAA+C;AAmP/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;;;;;;;AASzC,IAAsB,sBAAtB,cACU,gCAEV;CACE,kBAAkB;CAElB,IAAI,eAAwD;AAC1D,SAAO;GAAC;GAAkB;GAAa,KAAK;GAAK;;CAGnD,IAAI,aAAoD;CAIxD,IAAI,gBAAuD;CAI3D,IAAI,aAAoD;CAIxD,IAAI,uBAA6C;;;;;;;CAUjD,OAAO,UAAkB;AACvB,SAAO,KAAK;;;;;CAMd,IAAI,QAAkB;AACpB,SAAO,CACL,GAAG,KAAK,cACR,mBAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACE,uBAAuB,iCAAiC,KAAK;CAE/D,YAAY,OAAkC;AAC5C,SAAO;AACP,OAAK,YAAY,SAAS,EAAE;AAC5B,MAAI,OAAO;AACT,QAAK,YAAY,MAAM,aAAa,KAAK;AACzC,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,kBAAkB,MAAM,mBAAmB,KAAK;AACrD,QAAK,oBACH,MAAM,qBAAqB,KAAK;AAClC,QAAK,aAAa,MAAM,cAAc,KAAK;AAC3C,QAAK,gBACH,KAAK,eAAe,MAAM,iBAAiB,KAAK;;;CAItD,OAA4B;AAC1B,SAAO,IAAK,KAAK,YAES,KAAK;;CAGjC,SAAqB;AACnB,SAAO,aAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAO,aAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAO,KAAK,IAAI;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,UACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"uuid\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { AgentAction, AgentFinish } from \"../agents.js\";\nimport type {\n ChatGenerationChunk,\n GenerationChunk,\n LLMResult,\n} from \"../outputs.js\";\nimport {\n Serializable,\n Serialized,\n SerializedNotImplemented,\n get_lc_unique_name,\n} from \"../load/serializable.js\";\nimport type { SerializedFields } from \"../load/map_keys.js\";\nimport type { DocumentInterface } from \"../documents/document.js\";\nimport { getEnvironmentVariable } from \"../utils/env.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Error = any;\n\n/**\n * Interface for the input parameters of the BaseCallbackHandler class. It\n * allows to specify which types of events should be ignored by the\n * callback handler.\n */\nexport interface BaseCallbackHandlerInput {\n ignoreLLM?: boolean;\n ignoreChain?: boolean;\n ignoreAgent?: boolean;\n ignoreRetriever?: boolean;\n ignoreCustomEvent?: boolean;\n _awaitHandler?: boolean;\n raiseError?: boolean;\n}\n\n/**\n * Interface for the indices of a new token produced by an LLM or Chat\n * Model in streaming mode.\n */\nexport interface NewTokenIndices {\n prompt: number;\n completion: number;\n}\n\n// TODO: Add all additional callback fields here\nexport type HandleLLMNewTokenCallbackFields = {\n chunk?: GenerationChunk | ChatGenerationChunk;\n};\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 */\nabstract class BaseCallbackHandlerMethodsClass {\n /**\n * Called at the start of an LLM or Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleLLMStart?(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when an LLM/ChatModel in `streaming` mode produces a new token\n */\n handleLLMNewToken?(\n token: string,\n /**\n * idx.prompt is the index of the prompt that produced the token\n * (if there are multiple prompts)\n * idx.completion is the index of the completion that produced the token\n * (if multiple completions per prompt are requested)\n */\n idx: NewTokenIndices,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n fields?: HandleLLMNewTokenCallbackFields\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if an LLM/ChatModel run encounters an error\n */\n handleLLMError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of an LLM/ChatModel run, with the output and the run ID.\n */\n handleLLMEnd?(\n output: LLMResult,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n extraParams?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chat Model run, with the prompt(s)\n * and the run ID.\n */\n handleChatModelStart?(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Chain run, with the chain name and inputs\n * and the run ID.\n */\n handleChainStart?(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n runType?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n parentRunId?: string,\n extra?: Record<string, unknown>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Chain run encounters an error\n */\n handleChainError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Chain run, with the outputs and the run ID.\n */\n handleChainEnd?(\n outputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> }\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the start of a Tool run, with the tool name and input\n * and the run ID.\n */\n handleToolStart?(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n runName?: string,\n toolCallId?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called if a Tool run encounters an error\n */\n handleToolError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called at the end of a Tool run, with the tool output and the run ID.\n */\n handleToolEnd?(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when a streaming tool yields a partial value. Tools that are async generators\n * invoke this once per yielded value.\n */\n handleToolEvent?(\n chunk: unknown,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleText?(\n text: string,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent is about to execute an action,\n * with the action and the run ID.\n */\n handleAgentAction?(\n action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n /**\n * Called when an agent finishes execution, before it exits.\n * with the final output and the run ID.\n */\n handleAgentEnd?(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> | void;\n\n handleRetrieverStart?(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverEnd?(\n documents: DocumentInterface[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleRetrieverError?(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n}\n\n/**\n * Base interface for callbacks. All methods are optional. If a method is not\n * implemented, it will be ignored. If a method is implemented, it will be\n * called at the appropriate time. All methods are called with the run ID of\n * the LLM/ChatModel/Chain that is running, which is generated by the\n * CallbackManager.\n *\n * @interface\n */\nexport type CallbackHandlerMethods = BaseCallbackHandlerMethodsClass;\n\n/**\n * Interface for handlers that can indicate a preference for streaming responses.\n * When implemented, this allows the handler to signal whether it prefers to receive\n * streaming responses from language models rather than complete responses.\n */\nexport interface CallbackHandlerPrefersStreaming {\n readonly lc_prefer_streaming: boolean;\n}\n\nexport function callbackHandlerPrefersStreaming(x: BaseCallbackHandler) {\n return \"lc_prefer_streaming\" in x && x.lc_prefer_streaming;\n}\n\n/**\n * Abstract base class for creating callback handlers in the LangChain\n * framework. It provides a set of optional methods that can be overridden\n * in derived classes to handle various events during the execution of a\n * LangChain application.\n */\nexport abstract class BaseCallbackHandler\n extends BaseCallbackHandlerMethodsClass\n implements BaseCallbackHandlerInput, Serializable\n{\n lc_serializable = false;\n\n get lc_namespace(): [\"langchain_core\", \"callbacks\", string] {\n return [\"langchain_core\", \"callbacks\", this.name];\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_attributes(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof BaseCallbackHandler),\n ];\n }\n\n lc_kwargs: SerializedFields;\n\n abstract name: string;\n\n ignoreLLM = false;\n\n ignoreChain = false;\n\n ignoreAgent = false;\n\n ignoreRetriever = false;\n\n ignoreCustomEvent = false;\n\n raiseError = false;\n\n awaitHandlers =\n getEnvironmentVariable(\"LANGCHAIN_CALLBACKS_BACKGROUND\") === \"false\";\n\n constructor(input?: BaseCallbackHandlerInput) {\n super();\n this.lc_kwargs = input || {};\n if (input) {\n this.ignoreLLM = input.ignoreLLM ?? this.ignoreLLM;\n this.ignoreChain = input.ignoreChain ?? this.ignoreChain;\n this.ignoreAgent = input.ignoreAgent ?? this.ignoreAgent;\n this.ignoreRetriever = input.ignoreRetriever ?? this.ignoreRetriever;\n this.ignoreCustomEvent =\n input.ignoreCustomEvent ?? this.ignoreCustomEvent;\n this.raiseError = input.raiseError ?? this.raiseError;\n this.awaitHandlers =\n this.raiseError || (input._awaitHandler ?? this.awaitHandlers);\n }\n }\n\n copy(): BaseCallbackHandler {\n return new (this.constructor as new (\n input?: BaseCallbackHandlerInput\n ) => BaseCallbackHandler)(this);\n }\n\n toJSON(): Serialized {\n return Serializable.prototype.toJSON.call(this);\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return Serializable.prototype.toJSONNotImplemented.call(this);\n }\n\n static fromMethods(methods: CallbackHandlerMethods) {\n class Handler extends BaseCallbackHandler {\n name = uuid.v7();\n\n constructor() {\n super();\n Object.assign(this, methods);\n }\n }\n return new Handler();\n }\n}\n\nexport const isBaseCallbackHandler = (x: unknown) => {\n const callbackHandler = x as BaseCallbackHandler;\n return (\n callbackHandler !== undefined &&\n typeof callbackHandler.copy === \"function\" &&\n typeof callbackHandler.name === \"string\" &&\n typeof callbackHandler.awaitHandlers === \"boolean\"\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAwDA,IAAe,kCAAf,MAA+C;AAgQ/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;;;;;;;AASzC,IAAsB,sBAAtB,cACU,gCAEV;CACE,kBAAkB;CAElB,IAAI,eAAwD;AAC1D,SAAO;GAAC;GAAkB;GAAa,KAAK;GAAK;;CAGnD,IAAI,aAAoD;CAIxD,IAAI,gBAAuD;CAI3D,IAAI,aAAoD;CAIxD,IAAI,uBAA6C;;;;;;;CAUjD,OAAO,UAAkB;AACvB,SAAO,KAAK;;;;;CAMd,IAAI,QAAkB;AACpB,SAAO,CACL,GAAG,KAAK,cACR,mBAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACE,uBAAuB,iCAAiC,KAAK;CAE/D,YAAY,OAAkC;AAC5C,SAAO;AACP,OAAK,YAAY,SAAS,EAAE;AAC5B,MAAI,OAAO;AACT,QAAK,YAAY,MAAM,aAAa,KAAK;AACzC,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,cAAc,MAAM,eAAe,KAAK;AAC7C,QAAK,kBAAkB,MAAM,mBAAmB,KAAK;AACrD,QAAK,oBACH,MAAM,qBAAqB,KAAK;AAClC,QAAK,aAAa,MAAM,cAAc,KAAK;AAC3C,QAAK,gBACH,KAAK,eAAe,MAAM,iBAAiB,KAAK;;;CAItD,OAA4B;AAC1B,SAAO,IAAK,KAAK,YAES,KAAK;;CAGjC,SAAqB;AACnB,SAAO,aAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAO,aAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAO,KAAK,IAAI;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,UACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
@@ -212,6 +212,15 @@ var CallbackManagerForToolRun = class extends BaseRunManager {
212
212
  }
213
213
  }, handler.awaitHandlers)));
214
214
  }
215
+ async handleToolEvent(chunk) {
216
+ await Promise.all(this.handlers.map((handler) => require_callbacks.consumeCallback(async () => {
217
+ if (!handler.ignoreAgent) try {
218
+ await handler.handleToolEvent?.(chunk, this.runId, this._parentRunId, this.tags);
219
+ } catch (err) {
220
+ if (handler.raiseError) throw err;
221
+ }
222
+ }, handler.awaitHandlers)));
223
+ }
215
224
  async handleToolEnd(output) {
216
225
  await Promise.all(this.handlers.map((handler) => require_callbacks.consumeCallback(async () => {
217
226
  if (!handler.ignoreAgent) try {
@@ -323,13 +332,13 @@ var CallbackManager = class CallbackManager extends BaseCallbackManager {
323
332
  }));
324
333
  return new CallbackManagerForChainRun(runId, this.handlers, this.inheritableHandlers, this.tags, this.inheritableTags, this.metadata, this.inheritableMetadata, this._parentRunId);
325
334
  }
326
- async handleToolStart(tool, input, runId = (0, uuid.v7)(), _parentRunId = void 0, _tags = void 0, _metadata = void 0, runName = void 0) {
335
+ async handleToolStart(tool, input, runId = (0, uuid.v7)(), _parentRunId = void 0, _tags = void 0, _metadata = void 0, runName = void 0, toolCallId = void 0) {
327
336
  await Promise.all(this.handlers.map((handler) => {
328
337
  if (handler.ignoreAgent) return;
329
338
  if (require_tracers_base.isBaseTracer(handler)) handler._createRunForToolStart(tool, input, runId, this._parentRunId, this.tags, this.metadata, runName);
330
339
  return require_callbacks.consumeCallback(async () => {
331
340
  try {
332
- await handler.handleToolStart?.(tool, input, runId, this._parentRunId, this.tags, this.metadata, runName);
341
+ await handler.handleToolStart?.(tool, input, runId, this._parentRunId, this.tags, this.metadata, runName, toolCallId);
333
342
  } catch (err) {
334
343
  (handler.raiseError ? console.error : console.warn)(`Error in handler ${handler.constructor.name}, handleToolStart: ${err}`);
335
344
  if (handler.raiseError) throw err;
@@ -446,7 +455,12 @@ var CallbackManager = class CallbackManager extends BaseCallbackManager {
446
455
  callbackManager = callbackManager.copy(Array.isArray(localHandlers) ? localHandlers.map(ensureHandler) : localHandlers?.handlers, false);
447
456
  }
448
457
  const verboseEnabled = require_utils_env.getEnvironmentVariable("LANGCHAIN_VERBOSE") === "true" || options?.verbose;
449
- const tracingV2Enabled = require_tracers_tracer_langchain.LangChainTracer.getTraceableRunTree()?.tracingEnabled ?? require_callbacks$1.isTracingEnabled();
458
+ const traceableRunTree = require_tracers_tracer_langchain.LangChainTracer.getTraceableRunTree();
459
+ const tracingV2Enabled = traceableRunTree?.tracingEnabled ?? require_callbacks$1.isTracingEnabled();
460
+ if (traceableRunTree?.tracingEnabled === false && callbackManager) {
461
+ const inheritedTracers = callbackManager.handlers.filter((handler) => handler.name === "langchain_tracer");
462
+ for (const tracer of inheritedTracers) callbackManager.removeHandler(tracer);
463
+ }
450
464
  const tracingEnabled = tracingV2Enabled || (require_utils_env.getEnvironmentVariable("LANGCHAIN_TRACING") ?? false);
451
465
  if (verboseEnabled || tracingEnabled) {
452
466
  if (!callbackManager) callbackManager = new CallbackManager();
@@ -461,10 +475,9 @@ var CallbackManager = class CallbackManager extends BaseCallbackManager {
461
475
  }
462
476
  }
463
477
  if (tracingV2Enabled) {
464
- const implicitRunTree = require_tracers_tracer_langchain.LangChainTracer.getTraceableRunTree();
465
- if (implicitRunTree && callbackManager._parentRunId === void 0) {
466
- callbackManager._parentRunId = implicitRunTree.id;
467
- callbackManager.handlers.find((handler) => handler.name === "langchain_tracer")?.updateFromRunTree(implicitRunTree);
478
+ if (traceableRunTree && callbackManager._parentRunId === void 0) {
479
+ callbackManager._parentRunId = traceableRunTree.id;
480
+ callbackManager.handlers.find((handler) => handler.name === "langchain_tracer")?.updateFromRunTree(traceableRunTree);
468
481
  }
469
482
  }
470
483
  }