langchain 0.0.195 → 0.0.197-rc.0

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 (236) hide show
  1. package/LICENSE +21 -0
  2. package/dist/agents/openai/index.cjs +6 -2
  3. package/dist/agents/openai/index.js +6 -2
  4. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +1 -1
  5. package/dist/base_language/count_tokens.cjs +5 -70
  6. package/dist/base_language/count_tokens.d.ts +1 -10
  7. package/dist/base_language/count_tokens.js +1 -65
  8. package/dist/base_language/index.cjs +6 -196
  9. package/dist/base_language/index.d.ts +1 -111
  10. package/dist/base_language/index.js +1 -191
  11. package/dist/cache/base.cjs +15 -37
  12. package/dist/cache/base.d.ts +1 -20
  13. package/dist/cache/base.js +1 -33
  14. package/dist/cache/index.cjs +2 -46
  15. package/dist/cache/index.d.ts +1 -29
  16. package/dist/cache/index.js +1 -45
  17. package/dist/callbacks/base.cjs +3 -139
  18. package/dist/callbacks/base.d.ts +1 -266
  19. package/dist/callbacks/base.js +1 -126
  20. package/dist/callbacks/handlers/console.cjs +14 -221
  21. package/dist/callbacks/handlers/console.d.ts +1 -117
  22. package/dist/callbacks/handlers/console.js +1 -217
  23. package/dist/callbacks/handlers/initialize.cjs +15 -30
  24. package/dist/callbacks/handlers/initialize.d.ts +1 -16
  25. package/dist/callbacks/handlers/initialize.js +1 -27
  26. package/dist/callbacks/handlers/log_stream.cjs +15 -293
  27. package/dist/callbacks/handlers/log_stream.d.ts +1 -100
  28. package/dist/callbacks/handlers/log_stream.js +1 -289
  29. package/dist/callbacks/handlers/run_collector.cjs +15 -48
  30. package/dist/callbacks/handlers/run_collector.d.ts +1 -26
  31. package/dist/callbacks/handlers/run_collector.js +1 -46
  32. package/dist/callbacks/handlers/tracer.cjs +15 -375
  33. package/dist/callbacks/handlers/tracer.d.ts +1 -70
  34. package/dist/callbacks/handlers/tracer.js +1 -373
  35. package/dist/callbacks/handlers/tracer_langchain.cjs +15 -104
  36. package/dist/callbacks/handlers/tracer_langchain.d.ts +1 -41
  37. package/dist/callbacks/handlers/tracer_langchain.js +1 -102
  38. package/dist/callbacks/handlers/tracer_langchain_v1.cjs +15 -197
  39. package/dist/callbacks/handlers/tracer_langchain_v1.d.ts +1 -57
  40. package/dist/callbacks/handlers/tracer_langchain_v1.js +1 -195
  41. package/dist/callbacks/manager.cjs +15 -676
  42. package/dist/callbacks/manager.d.ts +1 -180
  43. package/dist/callbacks/manager.js +1 -666
  44. package/dist/callbacks/promises.cjs +14 -42
  45. package/dist/callbacks/promises.d.ts +1 -11
  46. package/dist/callbacks/promises.js +1 -37
  47. package/dist/chains/graph_qa/prompts.d.ts +1 -1
  48. package/dist/chains/openai_functions/structured_output.cjs +2 -2
  49. package/dist/chains/openai_functions/structured_output.d.ts +1 -1
  50. package/dist/chains/openai_functions/structured_output.js +1 -1
  51. package/dist/chat_models/anthropic.cjs +15 -348
  52. package/dist/chat_models/anthropic.d.ts +1 -156
  53. package/dist/chat_models/anthropic.js +1 -346
  54. package/dist/chat_models/baiduwenxin.d.ts +1 -1
  55. package/dist/chat_models/base.cjs +15 -296
  56. package/dist/chat_models/base.d.ts +1 -122
  57. package/dist/chat_models/base.js +1 -292
  58. package/dist/chat_models/bedrock/web.cjs +21 -1
  59. package/dist/chat_models/bedrock/web.d.ts +2 -2
  60. package/dist/chat_models/bedrock/web.js +21 -1
  61. package/dist/chat_models/fireworks.d.ts +1 -1
  62. package/dist/document.cjs +2 -24
  63. package/dist/document.d.ts +1 -12
  64. package/dist/document.js +1 -23
  65. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +1 -1
  66. package/dist/document_loaders/web/github.cjs +105 -0
  67. package/dist/document_loaders/web/github.d.ts +26 -0
  68. package/dist/document_loaders/web/github.js +105 -0
  69. package/dist/document_loaders/web/s3.d.ts +1 -1
  70. package/dist/embeddings/base.cjs +15 -22
  71. package/dist/embeddings/base.d.ts +1 -33
  72. package/dist/embeddings/base.js +1 -20
  73. package/dist/embeddings/cache_backed.cjs +2 -2
  74. package/dist/embeddings/cache_backed.js +1 -1
  75. package/dist/evaluation/agents/trajectory.d.ts +1 -1
  76. package/dist/evaluation/criteria/prompt.d.ts +2 -2
  77. package/dist/evaluation/qa/prompt.d.ts +2 -2
  78. package/dist/experimental/hubs/makersuite/googlemakersuitehub.d.ts +1 -1
  79. package/dist/experimental/plan_and_execute/prompt.d.ts +1 -1
  80. package/dist/llms/base.cjs +15 -278
  81. package/dist/llms/base.d.ts +1 -115
  82. package/dist/llms/base.js +1 -275
  83. package/dist/llms/bedrock/web.cjs +21 -1
  84. package/dist/llms/bedrock/web.d.ts +2 -2
  85. package/dist/llms/bedrock/web.js +21 -1
  86. package/dist/llms/fireworks.d.ts +1 -1
  87. package/dist/load/import_map.cjs +2 -1
  88. package/dist/load/import_map.d.ts +1 -0
  89. package/dist/load/import_map.js +1 -0
  90. package/dist/load/index.cjs +7 -148
  91. package/dist/load/index.js +7 -148
  92. package/dist/load/map_keys.cjs +0 -24
  93. package/dist/load/map_keys.d.ts +0 -6
  94. package/dist/load/map_keys.js +1 -17
  95. package/dist/load/serializable.cjs +15 -178
  96. package/dist/load/serializable.d.ts +1 -66
  97. package/dist/load/serializable.js +1 -175
  98. package/dist/memory/base.cjs +17 -92
  99. package/dist/memory/base.d.ts +2 -68
  100. package/dist/memory/base.js +2 -87
  101. package/dist/output_parsers/list.cjs +4 -122
  102. package/dist/output_parsers/list.d.ts +1 -57
  103. package/dist/output_parsers/list.js +1 -119
  104. package/dist/output_parsers/openai_functions.cjs +2 -2
  105. package/dist/output_parsers/openai_functions.d.ts +1 -1
  106. package/dist/output_parsers/openai_functions.js +1 -1
  107. package/dist/output_parsers/regex.d.ts +1 -1
  108. package/dist/output_parsers/structured.d.ts +1 -1
  109. package/dist/prompts/base.cjs +8 -183
  110. package/dist/prompts/base.d.ts +3 -132
  111. package/dist/prompts/base.js +3 -178
  112. package/dist/prompts/chat.cjs +13 -477
  113. package/dist/prompts/chat.d.ts +2 -219
  114. package/dist/prompts/chat.js +2 -466
  115. package/dist/prompts/few_shot.cjs +3 -352
  116. package/dist/prompts/few_shot.d.ts +1 -192
  117. package/dist/prompts/few_shot.js +1 -350
  118. package/dist/prompts/index.cjs +3 -2
  119. package/dist/prompts/index.d.ts +2 -1
  120. package/dist/prompts/index.js +2 -1
  121. package/dist/prompts/pipeline.cjs +2 -141
  122. package/dist/prompts/pipeline.d.ts +1 -98
  123. package/dist/prompts/pipeline.js +1 -140
  124. package/dist/prompts/prompt.cjs +2 -145
  125. package/dist/prompts/prompt.d.ts +1 -92
  126. package/dist/prompts/prompt.js +1 -144
  127. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +2 -147
  128. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +1 -89
  129. package/dist/prompts/selectors/LengthBasedExampleSelector.js +1 -146
  130. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +15 -137
  131. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +1 -91
  132. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +1 -135
  133. package/dist/prompts/selectors/conditional.cjs +5 -73
  134. package/dist/prompts/selectors/conditional.d.ts +1 -63
  135. package/dist/prompts/selectors/conditional.js +1 -69
  136. package/dist/prompts/serde.d.ts +1 -43
  137. package/dist/prompts/template.cjs +8 -88
  138. package/dist/prompts/template.d.ts +1 -36
  139. package/dist/prompts/template.js +1 -83
  140. package/dist/{util/@cfworker/json-schema → runnables}/index.cjs +1 -1
  141. package/dist/runnables/index.d.ts +1 -0
  142. package/dist/runnables/index.js +1 -0
  143. package/dist/schema/document.cjs +3 -34
  144. package/dist/schema/document.d.ts +2 -29
  145. package/dist/schema/document.js +2 -32
  146. package/dist/schema/index.cjs +37 -612
  147. package/dist/schema/index.d.ts +11 -311
  148. package/dist/schema/index.js +8 -583
  149. package/dist/schema/output_parser.cjs +15 -309
  150. package/dist/schema/output_parser.d.ts +1 -173
  151. package/dist/schema/output_parser.js +1 -301
  152. package/dist/schema/retriever.cjs +15 -77
  153. package/dist/schema/retriever.d.ts +1 -43
  154. package/dist/schema/retriever.js +1 -75
  155. package/dist/schema/runnable/base.cjs +10 -1072
  156. package/dist/schema/runnable/base.d.ts +1 -356
  157. package/dist/schema/runnable/base.js +1 -1060
  158. package/dist/schema/runnable/branch.cjs +2 -131
  159. package/dist/schema/runnable/branch.d.ts +1 -94
  160. package/dist/schema/runnable/branch.js +1 -130
  161. package/dist/schema/runnable/config.cjs +0 -6
  162. package/dist/schema/runnable/config.d.ts +1 -3
  163. package/dist/schema/runnable/config.js +1 -4
  164. package/dist/schema/runnable/index.cjs +15 -16
  165. package/dist/schema/runnable/index.d.ts +1 -5
  166. package/dist/schema/runnable/index.js +1 -4
  167. package/dist/schema/runnable/passthrough.cjs +3 -113
  168. package/dist/schema/runnable/passthrough.d.ts +1 -72
  169. package/dist/schema/runnable/passthrough.js +1 -111
  170. package/dist/schema/runnable/router.cjs +2 -71
  171. package/dist/schema/runnable/router.d.ts +1 -29
  172. package/dist/schema/runnable/router.js +1 -70
  173. package/dist/schema/storage.cjs +15 -8
  174. package/dist/schema/storage.d.ts +1 -57
  175. package/dist/schema/storage.js +1 -6
  176. package/dist/tools/bingserpapi.d.ts +1 -1
  177. package/dist/tools/searchapi.d.ts +1 -1
  178. package/dist/tools/serpapi.d.ts +1 -1
  179. package/dist/tools/serper.d.ts +1 -1
  180. package/dist/util/async_caller.cjs +14 -128
  181. package/dist/util/async_caller.d.ts +1 -45
  182. package/dist/util/async_caller.js +1 -124
  183. package/dist/vectorstores/momento_vector_index.cjs +39 -0
  184. package/dist/vectorstores/momento_vector_index.d.ts +17 -1
  185. package/dist/vectorstores/momento_vector_index.js +40 -1
  186. package/dist/vectorstores/mongodb_atlas.cjs +22 -2
  187. package/dist/vectorstores/mongodb_atlas.d.ts +13 -0
  188. package/dist/vectorstores/mongodb_atlas.js +22 -2
  189. package/package.json +18 -11
  190. package/runnables.cjs +1 -0
  191. package/runnables.d.ts +1 -0
  192. package/runnables.js +1 -0
  193. package/dist/util/@cfworker/json-schema/index.d.ts +0 -1
  194. package/dist/util/@cfworker/json-schema/index.js +0 -1
  195. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.cjs +0 -43
  196. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.d.ts +0 -1
  197. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.js +0 -39
  198. package/dist/util/@cfworker/json-schema/src/dereference.cjs +0 -169
  199. package/dist/util/@cfworker/json-schema/src/dereference.d.ts +0 -12
  200. package/dist/util/@cfworker/json-schema/src/dereference.js +0 -165
  201. package/dist/util/@cfworker/json-schema/src/format.cjs +0 -139
  202. package/dist/util/@cfworker/json-schema/src/format.d.ts +0 -2
  203. package/dist/util/@cfworker/json-schema/src/format.js +0 -136
  204. package/dist/util/@cfworker/json-schema/src/index.cjs +0 -24
  205. package/dist/util/@cfworker/json-schema/src/index.d.ts +0 -8
  206. package/dist/util/@cfworker/json-schema/src/index.js +0 -8
  207. package/dist/util/@cfworker/json-schema/src/pointer.cjs +0 -11
  208. package/dist/util/@cfworker/json-schema/src/pointer.d.ts +0 -2
  209. package/dist/util/@cfworker/json-schema/src/pointer.js +0 -6
  210. package/dist/util/@cfworker/json-schema/src/types.cjs +0 -2
  211. package/dist/util/@cfworker/json-schema/src/types.d.ts +0 -72
  212. package/dist/util/@cfworker/json-schema/src/types.js +0 -1
  213. package/dist/util/@cfworker/json-schema/src/ucs2-length.cjs +0 -28
  214. package/dist/util/@cfworker/json-schema/src/ucs2-length.d.ts +0 -6
  215. package/dist/util/@cfworker/json-schema/src/ucs2-length.js +0 -24
  216. package/dist/util/@cfworker/json-schema/src/validate.cjs +0 -808
  217. package/dist/util/@cfworker/json-schema/src/validate.d.ts +0 -3
  218. package/dist/util/@cfworker/json-schema/src/validate.js +0 -804
  219. package/dist/util/@cfworker/json-schema/src/validator.cjs +0 -44
  220. package/dist/util/@cfworker/json-schema/src/validator.d.ts +0 -10
  221. package/dist/util/@cfworker/json-schema/src/validator.js +0 -40
  222. package/dist/util/fast-json-patch/index.cjs +0 -49
  223. package/dist/util/fast-json-patch/index.d.ts +0 -22
  224. package/dist/util/fast-json-patch/index.js +0 -16
  225. package/dist/util/fast-json-patch/src/core.cjs +0 -469
  226. package/dist/util/fast-json-patch/src/core.d.ts +0 -111
  227. package/dist/util/fast-json-patch/src/core.js +0 -459
  228. package/dist/util/fast-json-patch/src/duplex.cjs +0 -237
  229. package/dist/util/fast-json-patch/src/duplex.d.ts +0 -23
  230. package/dist/util/fast-json-patch/src/duplex.js +0 -230
  231. package/dist/util/fast-json-patch/src/helpers.cjs +0 -194
  232. package/dist/util/fast-json-patch/src/helpers.d.ts +0 -36
  233. package/dist/util/fast-json-patch/src/helpers.js +0 -181
  234. package/dist/util/js-sha1/hash.cjs +0 -358
  235. package/dist/util/js-sha1/hash.d.ts +0 -1
  236. package/dist/util/js-sha1/hash.js +0 -355
@@ -1,634 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Docstore = exports.BaseEntityStore = exports.BaseFileStore = exports.BaseCache = exports.BaseListChatMessageHistory = exports.BaseChatMessageHistory = exports.BasePromptValue = exports.mapStoredMessageToChatMessage = exports.ChatGenerationChunk = exports.ChatMessageChunk = exports.coerceMessageLikeToMessage = exports.isBaseMessageChunk = exports.isBaseMessage = exports.ChatMessage = exports.ToolMessageChunk = exports.ToolMessage = exports.FunctionMessageChunk = exports.FunctionMessage = exports.SystemChatMessage = exports.AIChatMessage = exports.HumanChatMessage = exports.BaseChatMessage = exports.SystemMessageChunk = exports.SystemMessage = exports.AIMessageChunk = exports.AIMessage = exports.HumanMessageChunk = exports.HumanMessage = exports.BaseMessageChunk = exports.BaseMessage = exports.GenerationChunk = exports.RUN_KEY = void 0;
3
+ exports.Docstore = exports.BaseEntityStore = exports.BaseFileStore = exports.BaseCache = exports.BaseListChatMessageHistory = exports.BaseChatMessageHistory = exports.BasePromptValue = exports.ChatGenerationChunk = exports.GenerationChunk = exports.SystemChatMessage = exports.AIChatMessage = exports.HumanChatMessage = exports.BaseChatMessage = exports.SystemMessage = exports.AIMessage = exports.HumanMessage = exports.BaseMessage = exports.isBaseMessageChunk = exports.isBaseMessage = exports.coerceMessageLikeToMessage = exports.ChatMessageChunk = exports.mapStoredMessageToChatMessage = exports.ChatMessage = exports.ToolMessageChunk = exports.ToolMessage = exports.FunctionMessageChunk = exports.FunctionMessage = exports.SystemMessageChunk = exports.AIMessageChunk = exports.HumanMessageChunk = exports.BaseMessageChunk = exports.RUN_KEY = void 0;
4
+ const messages_1 = require("langchain-core/messages");
5
+ Object.defineProperty(exports, "BaseMessage", { enumerable: true, get: function () { return messages_1.BaseMessage; } });
6
+ Object.defineProperty(exports, "HumanMessage", { enumerable: true, get: function () { return messages_1.HumanMessage; } });
7
+ Object.defineProperty(exports, "AIMessage", { enumerable: true, get: function () { return messages_1.AIMessage; } });
8
+ Object.defineProperty(exports, "SystemMessage", { enumerable: true, get: function () { return messages_1.SystemMessage; } });
4
9
  const serializable_js_1 = require("../load/serializable.cjs");
5
- exports.RUN_KEY = "__run";
6
- /**
7
- * Chunk of a single generation. Used for streaming.
8
- */
9
- class GenerationChunk {
10
- constructor(fields) {
11
- Object.defineProperty(this, "text", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: void 0
16
- });
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- Object.defineProperty(this, "generationInfo", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: void 0
23
- });
24
- this.text = fields.text;
25
- this.generationInfo = fields.generationInfo;
26
- }
27
- concat(chunk) {
28
- return new GenerationChunk({
29
- text: this.text + chunk.text,
30
- generationInfo: {
31
- ...this.generationInfo,
32
- ...chunk.generationInfo,
33
- },
34
- });
35
- }
36
- }
37
- exports.GenerationChunk = GenerationChunk;
38
- function mergeContent(firstContent, secondContent) {
39
- // If first content is a string
40
- if (typeof firstContent === "string") {
41
- if (typeof secondContent === "string") {
42
- return firstContent + secondContent;
43
- }
44
- else {
45
- return [{ type: "text", text: firstContent }, ...secondContent];
46
- }
47
- // If both are arrays
48
- }
49
- else if (Array.isArray(secondContent)) {
50
- return [...firstContent, ...secondContent];
51
- // If the first content is a list and second is a string
52
- }
53
- else {
54
- // Otherwise, add the second content as a new element of the list
55
- return [...firstContent, { type: "text", text: secondContent }];
56
- }
57
- }
58
- /**
59
- * Base class for all types of messages in a conversation. It includes
60
- * properties like `content`, `name`, and `additional_kwargs`. It also
61
- * includes methods like `toDict()` and `_getType()`.
62
- */
63
- class BaseMessage extends serializable_js_1.Serializable {
64
- /**
65
- * @deprecated
66
- * Use {@link BaseMessage.content} instead.
67
- */
68
- get text() {
69
- return typeof this.content === "string" ? this.content : "";
70
- }
71
- constructor(fields,
72
- /** @deprecated */
73
- kwargs) {
74
- if (typeof fields === "string") {
75
- // eslint-disable-next-line no-param-reassign
76
- fields = { content: fields, additional_kwargs: kwargs };
77
- }
78
- // Make sure the default value for additional_kwargs is passed into super() for serialization
79
- if (!fields.additional_kwargs) {
80
- // eslint-disable-next-line no-param-reassign
81
- fields.additional_kwargs = {};
82
- }
83
- super(fields);
84
- Object.defineProperty(this, "lc_namespace", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: ["langchain", "schema"]
89
- });
90
- Object.defineProperty(this, "lc_serializable", {
91
- enumerable: true,
92
- configurable: true,
93
- writable: true,
94
- value: true
95
- });
96
- /** The content of the message. */
97
- Object.defineProperty(this, "content", {
98
- enumerable: true,
99
- configurable: true,
100
- writable: true,
101
- value: void 0
102
- });
103
- /** The name of the message sender in a multi-user chat. */
104
- Object.defineProperty(this, "name", {
105
- enumerable: true,
106
- configurable: true,
107
- writable: true,
108
- value: void 0
109
- });
110
- /** Additional keyword arguments */
111
- Object.defineProperty(this, "additional_kwargs", {
112
- enumerable: true,
113
- configurable: true,
114
- writable: true,
115
- value: void 0
116
- });
117
- this.name = fields.name;
118
- this.content = fields.content;
119
- this.additional_kwargs = fields.additional_kwargs;
120
- }
121
- toDict() {
122
- return {
123
- type: this._getType(),
124
- data: this.toJSON()
125
- .kwargs,
126
- };
127
- }
128
- toChunk() {
129
- const type = this._getType();
130
- if (type === "human") {
131
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
132
- return new HumanMessageChunk({ ...this });
133
- }
134
- else if (type === "ai") {
135
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
136
- return new AIMessageChunk({ ...this });
137
- }
138
- else if (type === "system") {
139
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
140
- return new SystemMessageChunk({ ...this });
141
- }
142
- else if (type === "function") {
143
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
144
- return new FunctionMessageChunk({ ...this });
145
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
146
- }
147
- else if (ChatMessage.isInstance(this)) {
148
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
149
- return new ChatMessageChunk({ ...this });
150
- }
151
- else {
152
- throw new Error("Unknown message type.");
153
- }
154
- }
155
- }
156
- exports.BaseMessage = BaseMessage;
157
- function isOpenAIToolCallArray(value) {
158
- return (Array.isArray(value) &&
159
- value.every((v) => typeof v.index === "number"));
160
- }
161
- /**
162
- * Represents a chunk of a message, which can be concatenated with other
163
- * message chunks. It includes a method `_merge_kwargs_dict()` for merging
164
- * additional keyword arguments from another `BaseMessageChunk` into this
165
- * one. It also overrides the `__add__()` method to support concatenation
166
- * of `BaseMessageChunk` instances.
167
- */
168
- class BaseMessageChunk extends BaseMessage {
169
- static _mergeAdditionalKwargs(left, right) {
170
- const merged = { ...left };
171
- for (const [key, value] of Object.entries(right)) {
172
- if (merged[key] === undefined) {
173
- merged[key] = value;
174
- }
175
- else if (typeof merged[key] !== typeof value) {
176
- throw new Error(`additional_kwargs[${key}] already exists in the message chunk, but with a different type.`);
177
- }
178
- else if (typeof merged[key] === "string") {
179
- merged[key] = merged[key] + value;
180
- }
181
- else if (!Array.isArray(merged[key]) &&
182
- typeof merged[key] === "object") {
183
- merged[key] = this._mergeAdditionalKwargs(merged[key], value);
184
- }
185
- else if (key === "tool_calls" &&
186
- isOpenAIToolCallArray(merged[key]) &&
187
- isOpenAIToolCallArray(value)) {
188
- for (const toolCall of value) {
189
- if (merged[key]?.[toolCall.index] !== undefined) {
190
- merged[key] = merged[key]?.map((value, i) => {
191
- if (i !== toolCall.index) {
192
- return value;
193
- }
194
- return {
195
- ...value,
196
- ...toolCall,
197
- function: {
198
- name: toolCall.function.name ?? value.function.name,
199
- arguments: (value.function.arguments ?? "") +
200
- (toolCall.function.arguments ?? ""),
201
- },
202
- };
203
- });
204
- }
205
- else {
206
- merged[key][toolCall.index] = toolCall;
207
- }
208
- }
209
- }
210
- else {
211
- throw new Error(`additional_kwargs[${key}] already exists in this message chunk.`);
212
- }
213
- }
214
- return merged;
215
- }
216
- }
217
- exports.BaseMessageChunk = BaseMessageChunk;
218
- /**
219
- * Represents a human message in a conversation.
220
- */
221
- class HumanMessage extends BaseMessage {
222
- static lc_name() {
223
- return "HumanMessage";
224
- }
225
- _getType() {
226
- return "human";
227
- }
228
- }
229
- exports.HumanMessage = HumanMessage;
230
- /**
231
- * Represents a chunk of a human message, which can be concatenated with
232
- * other human message chunks.
233
- */
234
- class HumanMessageChunk extends BaseMessageChunk {
235
- static lc_name() {
236
- return "HumanMessageChunk";
237
- }
238
- _getType() {
239
- return "human";
240
- }
241
- concat(chunk) {
242
- return new HumanMessageChunk({
243
- content: mergeContent(this.content, chunk.content),
244
- additional_kwargs: HumanMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
245
- });
246
- }
247
- }
248
- exports.HumanMessageChunk = HumanMessageChunk;
249
- /**
250
- * Represents an AI message in a conversation.
251
- */
252
- class AIMessage extends BaseMessage {
253
- static lc_name() {
254
- return "AIMessage";
255
- }
256
- _getType() {
257
- return "ai";
258
- }
259
- }
260
- exports.AIMessage = AIMessage;
261
- /**
262
- * Represents a chunk of an AI message, which can be concatenated with
263
- * other AI message chunks.
264
- */
265
- class AIMessageChunk extends BaseMessageChunk {
266
- static lc_name() {
267
- return "AIMessageChunk";
268
- }
269
- _getType() {
270
- return "ai";
271
- }
272
- concat(chunk) {
273
- return new AIMessageChunk({
274
- content: mergeContent(this.content, chunk.content),
275
- additional_kwargs: AIMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
276
- });
277
- }
278
- }
279
- exports.AIMessageChunk = AIMessageChunk;
280
- /**
281
- * Represents a system message in a conversation.
282
- */
283
- class SystemMessage extends BaseMessage {
284
- static lc_name() {
285
- return "SystemMessage";
286
- }
287
- _getType() {
288
- return "system";
289
- }
290
- }
291
- exports.SystemMessage = SystemMessage;
292
- /**
293
- * Represents a chunk of a system message, which can be concatenated with
294
- * other system message chunks.
295
- */
296
- class SystemMessageChunk extends BaseMessageChunk {
297
- static lc_name() {
298
- return "SystemMessageChunk";
299
- }
300
- _getType() {
301
- return "system";
302
- }
303
- concat(chunk) {
304
- return new SystemMessageChunk({
305
- content: mergeContent(this.content, chunk.content),
306
- additional_kwargs: SystemMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
307
- });
308
- }
309
- }
310
- exports.SystemMessageChunk = SystemMessageChunk;
10
+ var outputs_1 = require("langchain-core/outputs");
11
+ Object.defineProperty(exports, "RUN_KEY", { enumerable: true, get: function () { return outputs_1.RUN_KEY; } });
12
+ var messages_2 = require("langchain-core/messages");
13
+ Object.defineProperty(exports, "BaseMessageChunk", { enumerable: true, get: function () { return messages_2.BaseMessageChunk; } });
14
+ Object.defineProperty(exports, "HumanMessageChunk", { enumerable: true, get: function () { return messages_2.HumanMessageChunk; } });
15
+ Object.defineProperty(exports, "AIMessageChunk", { enumerable: true, get: function () { return messages_2.AIMessageChunk; } });
16
+ Object.defineProperty(exports, "SystemMessageChunk", { enumerable: true, get: function () { return messages_2.SystemMessageChunk; } });
17
+ Object.defineProperty(exports, "FunctionMessage", { enumerable: true, get: function () { return messages_2.FunctionMessage; } });
18
+ Object.defineProperty(exports, "FunctionMessageChunk", { enumerable: true, get: function () { return messages_2.FunctionMessageChunk; } });
19
+ Object.defineProperty(exports, "ToolMessage", { enumerable: true, get: function () { return messages_2.ToolMessage; } });
20
+ Object.defineProperty(exports, "ToolMessageChunk", { enumerable: true, get: function () { return messages_2.ToolMessageChunk; } });
21
+ Object.defineProperty(exports, "ChatMessage", { enumerable: true, get: function () { return messages_2.ChatMessage; } });
22
+ Object.defineProperty(exports, "mapStoredMessageToChatMessage", { enumerable: true, get: function () { return messages_2.mapStoredMessageToChatMessage; } });
23
+ Object.defineProperty(exports, "ChatMessageChunk", { enumerable: true, get: function () { return messages_2.ChatMessageChunk; } });
24
+ Object.defineProperty(exports, "coerceMessageLikeToMessage", { enumerable: true, get: function () { return messages_2.coerceMessageLikeToMessage; } });
25
+ Object.defineProperty(exports, "isBaseMessage", { enumerable: true, get: function () { return messages_2.isBaseMessage; } });
26
+ Object.defineProperty(exports, "isBaseMessageChunk", { enumerable: true, get: function () { return messages_2.isBaseMessageChunk; } });
311
27
  /**
312
28
  * @deprecated
313
29
  * Use {@link BaseMessage} instead.
314
30
  */
315
- exports.BaseChatMessage = BaseMessage;
31
+ exports.BaseChatMessage = messages_1.BaseMessage;
316
32
  /**
317
33
  * @deprecated
318
34
  * Use {@link HumanMessage} instead.
319
35
  */
320
- exports.HumanChatMessage = HumanMessage;
36
+ exports.HumanChatMessage = messages_1.HumanMessage;
321
37
  /**
322
38
  * @deprecated
323
39
  * Use {@link AIMessage} instead.
324
40
  */
325
- exports.AIChatMessage = AIMessage;
41
+ exports.AIChatMessage = messages_1.AIMessage;
326
42
  /**
327
43
  * @deprecated
328
44
  * Use {@link SystemMessage} instead.
329
45
  */
330
- exports.SystemChatMessage = SystemMessage;
331
- /**
332
- * Represents a function message in a conversation.
333
- */
334
- class FunctionMessage extends BaseMessage {
335
- static lc_name() {
336
- return "FunctionMessage";
337
- }
338
- constructor(fields,
339
- /** @deprecated */
340
- name) {
341
- if (typeof fields === "string") {
342
- // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion
343
- fields = { content: fields, name: name };
344
- }
345
- super(fields);
346
- }
347
- _getType() {
348
- return "function";
349
- }
350
- }
351
- exports.FunctionMessage = FunctionMessage;
352
- /**
353
- * Represents a chunk of a function message, which can be concatenated
354
- * with other function message chunks.
355
- */
356
- class FunctionMessageChunk extends BaseMessageChunk {
357
- static lc_name() {
358
- return "FunctionMessageChunk";
359
- }
360
- _getType() {
361
- return "function";
362
- }
363
- concat(chunk) {
364
- return new FunctionMessageChunk({
365
- content: mergeContent(this.content, chunk.content),
366
- additional_kwargs: FunctionMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
367
- name: this.name ?? "",
368
- });
369
- }
370
- }
371
- exports.FunctionMessageChunk = FunctionMessageChunk;
372
- /**
373
- * Represents a tool message in a conversation.
374
- */
375
- class ToolMessage extends BaseMessage {
376
- static lc_name() {
377
- return "ToolMessage";
378
- }
379
- constructor(fields, tool_call_id, name) {
380
- if (typeof fields === "string") {
381
- // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion
382
- fields = { content: fields, name, tool_call_id: tool_call_id };
383
- }
384
- super(fields);
385
- Object.defineProperty(this, "tool_call_id", {
386
- enumerable: true,
387
- configurable: true,
388
- writable: true,
389
- value: void 0
390
- });
391
- this.tool_call_id = fields.tool_call_id;
392
- }
393
- _getType() {
394
- return "tool";
395
- }
396
- }
397
- exports.ToolMessage = ToolMessage;
398
- /**
399
- * Represents a chunk of a tool message, which can be concatenated
400
- * with other tool message chunks.
401
- */
402
- class ToolMessageChunk extends BaseMessageChunk {
403
- constructor(fields) {
404
- super(fields);
405
- Object.defineProperty(this, "tool_call_id", {
406
- enumerable: true,
407
- configurable: true,
408
- writable: true,
409
- value: void 0
410
- });
411
- this.tool_call_id = fields.tool_call_id;
412
- }
413
- static lc_name() {
414
- return "ToolMessageChunk";
415
- }
416
- _getType() {
417
- return "tool";
418
- }
419
- concat(chunk) {
420
- return new ToolMessageChunk({
421
- content: mergeContent(this.content, chunk.content),
422
- additional_kwargs: ToolMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
423
- tool_call_id: this.tool_call_id,
424
- });
425
- }
426
- }
427
- exports.ToolMessageChunk = ToolMessageChunk;
428
- /**
429
- * Represents a chat message in a conversation.
430
- */
431
- class ChatMessage extends BaseMessage {
432
- static lc_name() {
433
- return "ChatMessage";
434
- }
435
- constructor(fields, role) {
436
- if (typeof fields === "string") {
437
- // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion
438
- fields = { content: fields, role: role };
439
- }
440
- super(fields);
441
- Object.defineProperty(this, "role", {
442
- enumerable: true,
443
- configurable: true,
444
- writable: true,
445
- value: void 0
446
- });
447
- this.role = fields.role;
448
- }
449
- _getType() {
450
- return "generic";
451
- }
452
- static isInstance(message) {
453
- return message._getType() === "generic";
454
- }
455
- }
456
- exports.ChatMessage = ChatMessage;
457
- function isBaseMessage(messageLike) {
458
- return typeof messageLike?._getType === "function";
459
- }
460
- exports.isBaseMessage = isBaseMessage;
461
- function isBaseMessageChunk(messageLike) {
462
- return (isBaseMessage(messageLike) &&
463
- typeof messageLike.concat === "function");
464
- }
465
- exports.isBaseMessageChunk = isBaseMessageChunk;
466
- function coerceMessageLikeToMessage(messageLike) {
467
- if (typeof messageLike === "string") {
468
- return new HumanMessage(messageLike);
469
- }
470
- else if (isBaseMessage(messageLike)) {
471
- return messageLike;
472
- }
473
- const [type, content] = messageLike;
474
- if (type === "human" || type === "user") {
475
- return new HumanMessage({ content });
476
- }
477
- else if (type === "ai" || type === "assistant") {
478
- return new AIMessage({ content });
479
- }
480
- else if (type === "system") {
481
- return new SystemMessage({ content });
482
- }
483
- else {
484
- throw new Error(`Unable to coerce message from array: only human, AI, or system message coercion is currently supported.`);
485
- }
486
- }
487
- exports.coerceMessageLikeToMessage = coerceMessageLikeToMessage;
488
- /**
489
- * Represents a chunk of a chat message, which can be concatenated with
490
- * other chat message chunks.
491
- */
492
- class ChatMessageChunk extends BaseMessageChunk {
493
- static lc_name() {
494
- return "ChatMessageChunk";
495
- }
496
- constructor(fields, role) {
497
- if (typeof fields === "string") {
498
- // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion
499
- fields = { content: fields, role: role };
500
- }
501
- super(fields);
502
- Object.defineProperty(this, "role", {
503
- enumerable: true,
504
- configurable: true,
505
- writable: true,
506
- value: void 0
507
- });
508
- this.role = fields.role;
509
- }
510
- _getType() {
511
- return "generic";
512
- }
513
- concat(chunk) {
514
- return new ChatMessageChunk({
515
- content: mergeContent(this.content, chunk.content),
516
- additional_kwargs: ChatMessageChunk._mergeAdditionalKwargs(this.additional_kwargs, chunk.additional_kwargs),
517
- role: this.role,
518
- });
519
- }
520
- }
521
- exports.ChatMessageChunk = ChatMessageChunk;
522
- class ChatGenerationChunk extends GenerationChunk {
523
- constructor(fields) {
524
- super(fields);
525
- Object.defineProperty(this, "message", {
526
- enumerable: true,
527
- configurable: true,
528
- writable: true,
529
- value: void 0
530
- });
531
- this.message = fields.message;
532
- }
533
- concat(chunk) {
534
- return new ChatGenerationChunk({
535
- text: this.text + chunk.text,
536
- generationInfo: {
537
- ...this.generationInfo,
538
- ...chunk.generationInfo,
539
- },
540
- message: this.message.concat(chunk.message),
541
- });
542
- }
543
- }
544
- exports.ChatGenerationChunk = ChatGenerationChunk;
545
- /**
546
- * Maps messages from an older format (V1) to the current `StoredMessage`
547
- * format. If the message is already in the `StoredMessage` format, it is
548
- * returned as is. Otherwise, it transforms the V1 message into a
549
- * `StoredMessage`. This function is important for maintaining
550
- * compatibility with older message formats.
551
- */
552
- function mapV1MessageToStoredMessage(message) {
553
- // TODO: Remove this mapper when we deprecate the old message format.
554
- if (message.data !== undefined) {
555
- return message;
556
- }
557
- else {
558
- const v1Message = message;
559
- return {
560
- type: v1Message.type,
561
- data: {
562
- content: v1Message.text,
563
- role: v1Message.role,
564
- name: undefined,
565
- tool_call_id: undefined,
566
- },
567
- };
568
- }
569
- }
570
- function mapStoredMessageToChatMessage(message) {
571
- const storedMessage = mapV1MessageToStoredMessage(message);
572
- switch (storedMessage.type) {
573
- case "human":
574
- return new HumanMessage(storedMessage.data);
575
- case "ai":
576
- return new AIMessage(storedMessage.data);
577
- case "system":
578
- return new SystemMessage(storedMessage.data);
579
- case "function":
580
- if (storedMessage.data.name === undefined) {
581
- throw new Error("Name must be defined for function messages");
582
- }
583
- return new FunctionMessage(storedMessage.data);
584
- case "tool":
585
- if (storedMessage.data.tool_call_id === undefined) {
586
- throw new Error("Tool call ID must be defined for tool messages");
587
- }
588
- return new ToolMessage(storedMessage.data);
589
- case "chat": {
590
- if (storedMessage.data.role === undefined) {
591
- throw new Error("Role must be defined for chat messages");
592
- }
593
- return new ChatMessage(storedMessage.data);
594
- }
595
- default:
596
- throw new Error(`Got unexpected type: ${storedMessage.type}`);
597
- }
598
- }
599
- exports.mapStoredMessageToChatMessage = mapStoredMessageToChatMessage;
600
- /**
601
- * Base PromptValue class. All prompt values should extend this class.
602
- */
603
- class BasePromptValue extends serializable_js_1.Serializable {
604
- }
605
- exports.BasePromptValue = BasePromptValue;
606
- /**
607
- * Base class for all chat message histories. All chat message histories
608
- * should extend this class.
609
- */
610
- class BaseChatMessageHistory extends serializable_js_1.Serializable {
611
- }
612
- exports.BaseChatMessageHistory = BaseChatMessageHistory;
613
- /**
614
- * Base class for all list chat message histories. All list chat message
615
- * histories should extend this class.
616
- */
617
- class BaseListChatMessageHistory extends serializable_js_1.Serializable {
618
- addUserMessage(message) {
619
- return this.addMessage(new HumanMessage(message));
620
- }
621
- addAIChatMessage(message) {
622
- return this.addMessage(new AIMessage(message));
623
- }
624
- }
625
- exports.BaseListChatMessageHistory = BaseListChatMessageHistory;
626
- /**
627
- * Base class for all caches. All caches should extend this class.
628
- */
629
- class BaseCache {
630
- }
631
- exports.BaseCache = BaseCache;
46
+ exports.SystemChatMessage = messages_1.SystemMessage;
47
+ var outputs_2 = require("langchain-core/outputs");
48
+ Object.defineProperty(exports, "GenerationChunk", { enumerable: true, get: function () { return outputs_2.GenerationChunk; } });
49
+ Object.defineProperty(exports, "ChatGenerationChunk", { enumerable: true, get: function () { return outputs_2.ChatGenerationChunk; } });
50
+ var prompt_values_1 = require("langchain-core/prompt_values");
51
+ Object.defineProperty(exports, "BasePromptValue", { enumerable: true, get: function () { return prompt_values_1.BasePromptValue; } });
52
+ var chat_history_1 = require("langchain-core/chat_history");
53
+ Object.defineProperty(exports, "BaseChatMessageHistory", { enumerable: true, get: function () { return chat_history_1.BaseChatMessageHistory; } });
54
+ Object.defineProperty(exports, "BaseListChatMessageHistory", { enumerable: true, get: function () { return chat_history_1.BaseListChatMessageHistory; } });
55
+ var caches_1 = require("langchain-core/caches");
56
+ Object.defineProperty(exports, "BaseCache", { enumerable: true, get: function () { return caches_1.BaseCache; } });
632
57
  /**
633
58
  * Base class for all file stores. All file stores should extend this
634
59
  * class.