@langchain/core 1.1.42 → 1.1.43

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 (121) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -1
  3. package/dist/callbacks/base.cjs +5 -0
  4. package/dist/callbacks/base.cjs.map +1 -1
  5. package/dist/callbacks/base.d.cts +20 -1
  6. package/dist/callbacks/base.d.cts.map +1 -1
  7. package/dist/callbacks/base.d.ts +20 -1
  8. package/dist/callbacks/base.d.ts.map +1 -1
  9. package/dist/callbacks/base.js +5 -1
  10. package/dist/callbacks/base.js.map +1 -1
  11. package/dist/callbacks/manager.cjs +10 -0
  12. package/dist/callbacks/manager.cjs.map +1 -1
  13. package/dist/callbacks/manager.d.cts +2 -0
  14. package/dist/callbacks/manager.d.cts.map +1 -1
  15. package/dist/callbacks/manager.d.ts +2 -0
  16. package/dist/callbacks/manager.d.ts.map +1 -1
  17. package/dist/callbacks/manager.js +10 -0
  18. package/dist/callbacks/manager.js.map +1 -1
  19. package/dist/language_models/base.cjs +1 -1
  20. package/dist/language_models/base.js +1 -1
  21. package/dist/language_models/chat_models.cjs +103 -1
  22. package/dist/language_models/chat_models.cjs.map +1 -1
  23. package/dist/language_models/chat_models.d.cts +55 -0
  24. package/dist/language_models/chat_models.d.cts.map +1 -1
  25. package/dist/language_models/chat_models.d.ts +55 -0
  26. package/dist/language_models/chat_models.d.ts.map +1 -1
  27. package/dist/language_models/chat_models.js +104 -2
  28. package/dist/language_models/chat_models.js.map +1 -1
  29. package/dist/language_models/compat.cjs +412 -0
  30. package/dist/language_models/compat.cjs.map +1 -0
  31. package/dist/language_models/compat.d.cts +20 -0
  32. package/dist/language_models/compat.d.cts.map +1 -0
  33. package/dist/language_models/compat.d.ts +20 -0
  34. package/dist/language_models/compat.d.ts.map +1 -0
  35. package/dist/language_models/compat.js +404 -0
  36. package/dist/language_models/compat.js.map +1 -0
  37. package/dist/language_models/event.cjs +12 -0
  38. package/dist/language_models/event.cjs.map +1 -0
  39. package/dist/language_models/event.d.cts +185 -0
  40. package/dist/language_models/event.d.cts.map +1 -0
  41. package/dist/language_models/event.d.ts +185 -0
  42. package/dist/language_models/event.d.ts.map +1 -0
  43. package/dist/language_models/event.js +7 -0
  44. package/dist/language_models/event.js.map +1 -0
  45. package/dist/language_models/stream.cjs +464 -0
  46. package/dist/language_models/stream.cjs.map +1 -0
  47. package/dist/language_models/stream.d.cts +106 -0
  48. package/dist/language_models/stream.d.cts.map +1 -0
  49. package/dist/language_models/stream.d.ts +106 -0
  50. package/dist/language_models/stream.d.ts.map +1 -0
  51. package/dist/language_models/stream.js +453 -0
  52. package/dist/language_models/stream.js.map +1 -0
  53. package/dist/load/import_map.cjs +6 -0
  54. package/dist/load/import_map.cjs.map +1 -1
  55. package/dist/load/import_map.js +8 -2
  56. package/dist/load/import_map.js.map +1 -1
  57. package/dist/load/map_keys.cjs +2 -2
  58. package/dist/messages/ai.cjs +11 -8
  59. package/dist/messages/ai.cjs.map +1 -1
  60. package/dist/messages/ai.d.cts.map +1 -1
  61. package/dist/messages/ai.d.ts.map +1 -1
  62. package/dist/messages/ai.js +11 -8
  63. package/dist/messages/ai.js.map +1 -1
  64. package/dist/messages/content/index.cjs.map +1 -1
  65. package/dist/messages/content/index.d.cts +5 -1
  66. package/dist/messages/content/index.d.cts.map +1 -1
  67. package/dist/messages/content/index.d.ts +5 -1
  68. package/dist/messages/content/index.d.ts.map +1 -1
  69. package/dist/messages/content/index.js.map +1 -1
  70. package/dist/messages/index.d.cts +2 -2
  71. package/dist/messages/index.d.ts +2 -2
  72. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -1
  73. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -1
  74. package/dist/output_parsers/standard_schema.cjs +3 -0
  75. package/dist/output_parsers/standard_schema.cjs.map +1 -1
  76. package/dist/output_parsers/standard_schema.d.cts +2 -0
  77. package/dist/output_parsers/standard_schema.d.cts.map +1 -1
  78. package/dist/output_parsers/standard_schema.d.ts +2 -0
  79. package/dist/output_parsers/standard_schema.d.ts.map +1 -1
  80. package/dist/output_parsers/standard_schema.js +3 -0
  81. package/dist/output_parsers/standard_schema.js.map +1 -1
  82. package/dist/output_parsers/structured.cjs +3 -0
  83. package/dist/output_parsers/structured.cjs.map +1 -1
  84. package/dist/output_parsers/structured.d.cts +2 -0
  85. package/dist/output_parsers/structured.d.cts.map +1 -1
  86. package/dist/output_parsers/structured.d.ts +2 -0
  87. package/dist/output_parsers/structured.d.ts.map +1 -1
  88. package/dist/output_parsers/structured.js +3 -0
  89. package/dist/output_parsers/structured.js.map +1 -1
  90. package/dist/prompts/template.cjs +1 -1
  91. package/dist/singletons/callbacks.cjs +1 -1
  92. package/dist/tracers/console.cjs +1 -1
  93. package/dist/types/type-utils.d.cts +2 -1
  94. package/dist/types/type-utils.d.cts.map +1 -1
  95. package/dist/types/type-utils.d.ts +2 -1
  96. package/dist/types/type-utils.d.ts.map +1 -1
  97. package/dist/utils/async_caller.cjs +3 -2
  98. package/dist/utils/async_caller.cjs.map +1 -1
  99. package/dist/utils/async_caller.js +2 -1
  100. package/dist/utils/async_caller.js.map +1 -1
  101. package/dist/utils/event_source_parse.cjs +5 -12
  102. package/dist/utils/event_source_parse.cjs.map +1 -1
  103. package/dist/utils/event_source_parse.js +5 -12
  104. package/dist/utils/event_source_parse.js.map +1 -1
  105. package/dist/utils/uuid/max.d.cts +1 -1
  106. package/dist/utils/uuid/max.d.ts +1 -1
  107. package/dist/utils/uuid/nil.d.cts +1 -1
  108. package/dist/utils/uuid/nil.d.ts +1 -1
  109. package/language_models/compat.cjs +1 -0
  110. package/language_models/compat.d.cts +1 -0
  111. package/language_models/compat.d.ts +1 -0
  112. package/language_models/compat.js +1 -0
  113. package/language_models/event.cjs +1 -0
  114. package/language_models/event.d.cts +1 -0
  115. package/language_models/event.d.ts +1 -0
  116. package/language_models/event.js +1 -0
  117. package/language_models/stream.cjs +1 -0
  118. package/language_models/stream.d.cts +1 -0
  119. package/language_models/stream.d.ts +1 -0
  120. package/language_models/stream.js +1 -0
  121. package/package.json +34 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @langchain/core
2
2
 
3
+ ## 1.1.43
4
+
5
+ ### Patch Changes
6
+
7
+ - [#10814](https://github.com/langchain-ai/langchainjs/pull/10814) [`dfec1b7`](https://github.com/langchain-ai/langchainjs/commit/dfec1b7f8b2c530a43f639dc79d4965a80ea4b79) Thanks [@hntrl](https://github.com/hntrl)! - fix(google): restore structured output parsing with includeRaw and reasoning blocks
8
+
9
+ Ensure structured output parsers read `BaseMessage` text content when `includeRaw: true`, so responses that include reasoning/thought blocks plus JSON text continue to parse correctly.
10
+
11
+ - [#10772](https://github.com/langchain-ai/langchainjs/pull/10772) [`1ba7131`](https://github.com/langchain-ai/langchainjs/commit/1ba71319150847438fa517fe612f65cfed85ffab) Thanks [@christian-bromann](https://github.com/christian-bromann)! - chore(core): new stream primitives
12
+
3
13
  ## 1.1.42
4
14
 
5
15
  ### Patch Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 🦜🍎️ @langchain/core
2
2
 
3
- ![npm](https://img.shields.io/npm/dm/@langchain/core) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/langchain.svg?style=social&label=Follow%20%40LangChain)](https://x.com/langchain)
3
+ ![npm](https://img.shields.io/npm/dm/@langchain/core) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/langchain_js.svg?style=social&label=Follow%20%40LangChain)](https://x.com/langchain_js)
4
4
 
5
5
  `@langchain/core` contains the core abstractions and schemas of LangChain.js, including base classes for language models,
6
6
  chat models, vectorstores, retrievers, and runnables.
@@ -7,6 +7,7 @@ const require_utils_env = require("../utils/env.cjs");
7
7
  //#region src/callbacks/base.ts
8
8
  var base_exports = /* @__PURE__ */ require_runtime.__exportAll({
9
9
  BaseCallbackHandler: () => BaseCallbackHandler,
10
+ callbackHandlerPrefersChatModelStreamEvents: () => callbackHandlerPrefersChatModelStreamEvents,
10
11
  callbackHandlerPrefersStreaming: () => callbackHandlerPrefersStreaming,
11
12
  isBaseCallbackHandler: () => isBaseCallbackHandler
12
13
  });
@@ -19,6 +20,9 @@ var BaseCallbackHandlerMethodsClass = class {};
19
20
  function callbackHandlerPrefersStreaming(x) {
20
21
  return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
21
22
  }
23
+ function callbackHandlerPrefersChatModelStreamEvents(x) {
24
+ return "lc_prefer_chat_model_stream_events" in x && x.lc_prefer_chat_model_stream_events;
25
+ }
22
26
  /**
23
27
  * Abstract base class for creating callback handlers in the LangChain
24
28
  * framework. It provides a set of optional methods that can be overridden
@@ -106,6 +110,7 @@ Object.defineProperty(exports, "base_exports", {
106
110
  return base_exports;
107
111
  }
108
112
  });
113
+ exports.callbackHandlerPrefersChatModelStreamEvents = callbackHandlerPrefersChatModelStreamEvents;
109
114
  exports.callbackHandlerPrefersStreaming = callbackHandlerPrefersStreaming;
110
115
  exports.isBaseCallbackHandler = isBaseCallbackHandler;
111
116
 
@@ -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 \"../utils/uuid/index.js\";\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// oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // oxlint-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,0BAAAA,mBAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACEC,kBAAAA,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,SAAOC,0BAAAA,aAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAOA,0BAAAA,aAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAA,WAAA,SAAgB;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,KAAA,KACpB,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 \"../utils/uuid/index.js\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { ChatModelStreamEvent } from \"../language_models/event.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// oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when a Chat Model emits a content-block-centric stream event.\n */\n handleChatModelStreamEvent?(\n event: ChatModelStreamEvent,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // oxlint-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 * Interface for handlers that prefer chat model stream events instead of\n * legacy token/chunk callbacks.\n */\nexport interface CallbackHandlerPrefersChatModelStreamEvents {\n readonly lc_prefer_chat_model_stream_events: boolean;\n}\n\nexport function callbackHandlerPrefersChatModelStreamEvents(\n x: BaseCallbackHandler\n) {\n return (\n \"lc_prefer_chat_model_stream_events\" in x &&\n x.lc_prefer_chat_model_stream_events\n );\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":";;;;;;;;;;;;;;;;;;AAyDA,IAAe,kCAAf,MAA+C;AA2Q/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;AAWzC,SAAgB,4CACd,GACA;AACA,QACE,wCAAwC,KACxC,EAAE;;;;;;;;AAUN,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,0BAAAA,mBAAmB,KAAK,YAA0C,CACnE;;CAGH;CAIA,YAAY;CAEZ,cAAc;CAEd,cAAc;CAEd,kBAAkB;CAElB,oBAAoB;CAEpB,aAAa;CAEb,gBACEC,kBAAAA,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,SAAOC,0BAAAA,aAAa,UAAU,OAAO,KAAK,KAAK;;CAGjD,uBAAiD;AAC/C,SAAOA,0BAAAA,aAAa,UAAU,qBAAqB,KAAK,KAAK;;CAG/D,OAAO,YAAY,SAAiC;EAClD,MAAM,gBAAgB,oBAAoB;GACxC,OAAA,WAAA,SAAgB;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,KAAA,KACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
@@ -4,6 +4,7 @@ import { Serializable, Serialized, SerializedNotImplemented } from "../load/seri
4
4
  import { BaseMessage } from "../messages/base.cjs";
5
5
  import { ChatGenerationChunk, GenerationChunk, LLMResult } from "../outputs.cjs";
6
6
  import { ChainValues } from "../utils/types/index.cjs";
7
+ import { ChatModelStreamEvent } from "../language_models/event.cjs";
7
8
  import { DocumentInterface } from "../documents/document.cjs";
8
9
 
9
10
  //#region src/callbacks/base.d.ts
@@ -58,6 +59,11 @@ declare abstract class BaseCallbackHandlerMethodsClass {
58
59
 
59
60
  idx: NewTokenIndices, runId: string, parentRunId?: string, tags?: string[], fields?: HandleLLMNewTokenCallbackFields): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
60
61
  Promise<any> | any;
62
+ /**
63
+ * Called when a Chat Model emits a content-block-centric stream event.
64
+ */
65
+ handleChatModelStreamEvent?(event: ChatModelStreamEvent, runId: string, parentRunId?: string, tags?: string[]): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
66
+ Promise<any> | any;
61
67
  /**
62
68
  * Called if an LLM/ChatModel run encounters an error
63
69
  */
@@ -155,6 +161,14 @@ interface CallbackHandlerPrefersStreaming {
155
161
  readonly lc_prefer_streaming: boolean;
156
162
  }
157
163
  declare function callbackHandlerPrefersStreaming(x: BaseCallbackHandler): unknown;
164
+ /**
165
+ * Interface for handlers that prefer chat model stream events instead of
166
+ * legacy token/chunk callbacks.
167
+ */
168
+ interface CallbackHandlerPrefersChatModelStreamEvents {
169
+ readonly lc_prefer_chat_model_stream_events: boolean;
170
+ }
171
+ declare function callbackHandlerPrefersChatModelStreamEvents(x: BaseCallbackHandler): unknown;
158
172
  /**
159
173
  * Abstract base class for creating callback handlers in the LangChain
160
174
  * framework. It provides a set of optional methods that can be overridden
@@ -211,6 +225,11 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
211
225
  */
212
226
  handleLLMNewToken?(token: string, idx: NewTokenIndices, runId: string, parentRunId?: string, tags?: string[], fields?: HandleLLMNewTokenCallbackFields): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
213
227
  Promise<any> | any;
228
+ /**
229
+ * Called when a Chat Model emits a content-block-centric stream event.
230
+ */
231
+ handleChatModelStreamEvent?(event: ChatModelStreamEvent, runId: string, parentRunId?: string, tags?: string[]): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
232
+ Promise<any> | any;
214
233
  /**
215
234
  * Called if an LLM/ChatModel run encounters an error
216
235
  */
@@ -319,5 +338,5 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
319
338
  }
320
339
  declare const isBaseCallbackHandler: (x: unknown) => boolean;
321
340
  //#endregion
322
- export { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerMethods, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields, NewTokenIndices, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
341
+ export { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerMethods, CallbackHandlerPrefersChatModelStreamEvents, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields, NewTokenIndices, callbackHandlerPrefersChatModelStreamEvents, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
323
342
  //# sourceMappingURL=base.d.cts.map
@@ -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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"}
@@ -4,6 +4,7 @@ import { Serializable, Serialized, SerializedNotImplemented } from "../load/seri
4
4
  import { BaseMessage } from "../messages/base.js";
5
5
  import { ChatGenerationChunk, GenerationChunk, LLMResult } from "../outputs.js";
6
6
  import { ChainValues } from "../utils/types/index.js";
7
+ import { ChatModelStreamEvent } from "../language_models/event.js";
7
8
  import { DocumentInterface } from "../documents/document.js";
8
9
 
9
10
  //#region src/callbacks/base.d.ts
@@ -58,6 +59,11 @@ declare abstract class BaseCallbackHandlerMethodsClass {
58
59
 
59
60
  idx: NewTokenIndices, runId: string, parentRunId?: string, tags?: string[], fields?: HandleLLMNewTokenCallbackFields): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
60
61
  Promise<any> | any;
62
+ /**
63
+ * Called when a Chat Model emits a content-block-centric stream event.
64
+ */
65
+ handleChatModelStreamEvent?(event: ChatModelStreamEvent, runId: string, parentRunId?: string, tags?: string[]): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
66
+ Promise<any> | any;
61
67
  /**
62
68
  * Called if an LLM/ChatModel run encounters an error
63
69
  */
@@ -155,6 +161,14 @@ interface CallbackHandlerPrefersStreaming {
155
161
  readonly lc_prefer_streaming: boolean;
156
162
  }
157
163
  declare function callbackHandlerPrefersStreaming(x: BaseCallbackHandler): unknown;
164
+ /**
165
+ * Interface for handlers that prefer chat model stream events instead of
166
+ * legacy token/chunk callbacks.
167
+ */
168
+ interface CallbackHandlerPrefersChatModelStreamEvents {
169
+ readonly lc_prefer_chat_model_stream_events: boolean;
170
+ }
171
+ declare function callbackHandlerPrefersChatModelStreamEvents(x: BaseCallbackHandler): unknown;
158
172
  /**
159
173
  * Abstract base class for creating callback handlers in the LangChain
160
174
  * framework. It provides a set of optional methods that can be overridden
@@ -211,6 +225,11 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
211
225
  */
212
226
  handleLLMNewToken?(token: string, idx: NewTokenIndices, runId: string, parentRunId?: string, tags?: string[], fields?: HandleLLMNewTokenCallbackFields): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
213
227
  Promise<any> | any;
228
+ /**
229
+ * Called when a Chat Model emits a content-block-centric stream event.
230
+ */
231
+ handleChatModelStreamEvent?(event: ChatModelStreamEvent, runId: string, parentRunId?: string, tags?: string[]): // oxlint-disable-next-line @typescript-eslint/no-explicit-any
232
+ Promise<any> | any;
214
233
  /**
215
234
  * Called if an LLM/ChatModel run encounters an error
216
235
  */
@@ -319,5 +338,5 @@ declare abstract class BaseCallbackHandler extends BaseCallbackHandlerMethodsCla
319
338
  }
320
339
  declare const isBaseCallbackHandler: (x: unknown) => boolean;
321
340
  //#endregion
322
- export { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerMethods, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields, NewTokenIndices, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
341
+ export { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerMethods, CallbackHandlerPrefersChatModelStreamEvents, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields, NewTokenIndices, callbackHandlerPrefersChatModelStreamEvents, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
323
342
  //# sourceMappingURL=base.d.ts.map
@@ -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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"}
@@ -6,6 +6,7 @@ import { getEnvironmentVariable } from "../utils/env.js";
6
6
  //#region src/callbacks/base.ts
7
7
  var base_exports = /* @__PURE__ */ __exportAll({
8
8
  BaseCallbackHandler: () => BaseCallbackHandler,
9
+ callbackHandlerPrefersChatModelStreamEvents: () => callbackHandlerPrefersChatModelStreamEvents,
9
10
  callbackHandlerPrefersStreaming: () => callbackHandlerPrefersStreaming,
10
11
  isBaseCallbackHandler: () => isBaseCallbackHandler
11
12
  });
@@ -18,6 +19,9 @@ var BaseCallbackHandlerMethodsClass = class {};
18
19
  function callbackHandlerPrefersStreaming(x) {
19
20
  return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
20
21
  }
22
+ function callbackHandlerPrefersChatModelStreamEvents(x) {
23
+ return "lc_prefer_chat_model_stream_events" in x && x.lc_prefer_chat_model_stream_events;
24
+ }
21
25
  /**
22
26
  * Abstract base class for creating callback handlers in the LangChain
23
27
  * framework. It provides a set of optional methods that can be overridden
@@ -98,6 +102,6 @@ const isBaseCallbackHandler = (x) => {
98
102
  return callbackHandler !== void 0 && typeof callbackHandler.copy === "function" && typeof callbackHandler.name === "string" && typeof callbackHandler.awaitHandlers === "boolean";
99
103
  };
100
104
  //#endregion
101
- export { BaseCallbackHandler, base_exports, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
105
+ export { BaseCallbackHandler, base_exports, callbackHandlerPrefersChatModelStreamEvents, callbackHandlerPrefersStreaming, isBaseCallbackHandler };
102
106
 
103
107
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":["uuid.v7"],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"../utils/uuid/index.js\";\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// oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // oxlint-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,OAAOA,IAAS;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,KAAA,KACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
1
+ {"version":3,"file":"base.js","names":["uuid.v7"],"sources":["../../src/callbacks/base.ts"],"sourcesContent":["import * as uuid from \"../utils/uuid/index.js\";\nimport type { ChainValues } from \"../utils/types/index.js\";\nimport type { BaseMessage } from \"../messages/base.js\";\nimport type { ChatModelStreamEvent } from \"../language_models/event.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// oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n /**\n * Called when a Chat Model emits a content-block-centric stream event.\n */\n handleChatModelStreamEvent?(\n event: ChatModelStreamEvent,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output: any,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-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 ): // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n Promise<any> | any;\n\n handleCustomEvent?(\n eventName: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n data: any,\n runId: string,\n tags?: string[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n ): // oxlint-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 * Interface for handlers that prefer chat model stream events instead of\n * legacy token/chunk callbacks.\n */\nexport interface CallbackHandlerPrefersChatModelStreamEvents {\n readonly lc_prefer_chat_model_stream_events: boolean;\n}\n\nexport function callbackHandlerPrefersChatModelStreamEvents(\n x: BaseCallbackHandler\n) {\n return (\n \"lc_prefer_chat_model_stream_events\" in x &&\n x.lc_prefer_chat_model_stream_events\n );\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":";;;;;;;;;;;;;;;;;AAyDA,IAAe,kCAAf,MAA+C;AA2Q/C,SAAgB,gCAAgC,GAAwB;AACtE,QAAO,yBAAyB,KAAK,EAAE;;AAWzC,SAAgB,4CACd,GACA;AACA,QACE,wCAAwC,KACxC,EAAE;;;;;;;;AAUN,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,OAAOA,IAAS;GAEhB,cAAc;AACZ,WAAO;AACP,WAAO,OAAO,MAAM,QAAQ;;;AAGhC,SAAO,IAAI,SAAS;;;AAIxB,MAAa,yBAAyB,MAAe;CACnD,MAAM,kBAAkB;AACxB,QACE,oBAAoB,KAAA,KACpB,OAAO,gBAAgB,SAAS,cAChC,OAAO,gBAAgB,SAAS,YAChC,OAAO,gBAAgB,kBAAkB"}
@@ -122,6 +122,16 @@ var CallbackManagerForLLMRun = class extends BaseRunManager {
122
122
  }
123
123
  }, handler.awaitHandlers)));
124
124
  }
125
+ async handleChatModelStreamEvent(event) {
126
+ await Promise.all(this.handlers.map((handler) => require_callbacks.consumeCallback(async () => {
127
+ if (!handler.ignoreLLM) try {
128
+ await handler.handleChatModelStreamEvent?.(event, this.runId, this._parentRunId, this.tags);
129
+ } catch (err) {
130
+ (handler.raiseError ? console.error : console.warn)(`Error in handler ${handler.constructor.name}, handleChatModelStreamEvent: ${err}`);
131
+ if (handler.raiseError) throw err;
132
+ }
133
+ }, handler.awaitHandlers)));
134
+ }
125
135
  async handleLLMError(err, _runId, _parentRunId, _tags, extraParams) {
126
136
  await Promise.all(this.handlers.map((handler) => require_callbacks.consumeCallback(async () => {
127
137
  if (!handler.ignoreLLM) try {