@langchain/core 0.3.59-rc.2 → 0.3.60

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 (100) hide show
  1. package/dist/caches/base.cjs +28 -5
  2. package/dist/caches/base.d.ts +13 -1
  3. package/dist/caches/base.js +25 -2
  4. package/dist/callbacks/base.cjs +19 -9
  5. package/dist/callbacks/base.d.ts +37 -22
  6. package/dist/callbacks/dispatch/index.cjs +1 -2
  7. package/dist/callbacks/dispatch/web.cjs +1 -2
  8. package/dist/callbacks/manager.cjs +4 -4
  9. package/dist/callbacks/manager.d.ts +2 -2
  10. package/dist/errors/index.cjs +1 -2
  11. package/dist/example_selectors/conditional.cjs +3 -3
  12. package/dist/indexing/base.cjs +19 -7
  13. package/dist/indexing/base.d.ts +3 -0
  14. package/dist/indexing/base.js +14 -2
  15. package/dist/language_models/base.cjs +31 -7
  16. package/dist/language_models/base.d.ts +5 -0
  17. package/dist/language_models/base.js +29 -5
  18. package/dist/language_models/chat_models.cjs +2 -2
  19. package/dist/load/import_map.cjs +17 -7
  20. package/dist/load/index.cjs +18 -9
  21. package/dist/load/map_keys.cjs +3 -4
  22. package/dist/load/serializable.cjs +2 -2
  23. package/dist/memory.cjs +2 -2
  24. package/dist/messages/ai.cjs +3 -3
  25. package/dist/messages/base.cjs +10 -10
  26. package/dist/messages/chat.cjs +3 -3
  27. package/dist/messages/content_blocks.cjs +9 -10
  28. package/dist/messages/function.cjs +3 -3
  29. package/dist/messages/human.cjs +3 -3
  30. package/dist/messages/system.cjs +3 -3
  31. package/dist/messages/tool.cjs +5 -5
  32. package/dist/messages/transformers.cjs +4 -5
  33. package/dist/messages/utils.cjs +6 -7
  34. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +4 -4
  35. package/dist/output_parsers/xml.cjs +2 -2
  36. package/dist/prompts/base.cjs +36 -3
  37. package/dist/runnables/base.cjs +7 -5
  38. package/dist/runnables/base.d.ts +1 -1
  39. package/dist/runnables/base.js +3 -1
  40. package/dist/runnables/config.cjs +6 -6
  41. package/dist/runnables/graph_mermaid.cjs +2 -3
  42. package/dist/runnables/iter.cjs +5 -5
  43. package/dist/runnables/iter.d.ts +1 -1
  44. package/dist/runnables/utils.cjs +2 -2
  45. package/dist/runnables/wrappers.cjs +1 -2
  46. package/dist/runnables/wrappers.d.ts +1 -1
  47. package/dist/singletons/async_local_storage/context.cjs +3 -3
  48. package/dist/singletons/callbacks.cjs +3 -4
  49. package/dist/singletons/callbacks.d.ts +1 -1
  50. package/dist/structured_query/utils.cjs +7 -8
  51. package/dist/tools/index.cjs +2 -2
  52. package/dist/tools/types.cjs +4 -5
  53. package/dist/tools/utils.cjs +3 -3
  54. package/dist/tracers/base.cjs +2 -2
  55. package/dist/tracers/base.d.ts +84 -84
  56. package/dist/tracers/initialize.cjs +2 -3
  57. package/dist/utils/async_caller.cjs +9 -9
  58. package/dist/utils/async_caller.js +9 -9
  59. package/dist/utils/env.cjs +4 -4
  60. package/dist/utils/event_source_parse.cjs +5 -5
  61. package/dist/utils/fast-json-patch/index.cjs +17 -7
  62. package/dist/utils/fast-json-patch/index.d.ts +4 -4
  63. package/dist/utils/fast-json-patch/src/core.cjs +8 -8
  64. package/dist/utils/fast-json-patch/src/duplex.cjs +4 -5
  65. package/dist/utils/fast-json-patch/src/helpers.cjs +10 -10
  66. package/dist/utils/fast-json-patch/src/helpers.d.ts +3 -3
  67. package/dist/utils/function_calling.cjs +3 -3
  68. package/dist/utils/hash.cjs +3 -1
  69. package/dist/utils/hash.d.ts +7 -0
  70. package/dist/utils/hash.js +1 -0
  71. package/dist/utils/js-sha1/hash.cjs +17 -0
  72. package/dist/utils/js-sha1/hash.d.ts +4 -0
  73. package/dist/utils/js-sha1/hash.js +17 -0
  74. package/dist/utils/js-sha256/hash.cjs +448 -0
  75. package/dist/utils/js-sha256/hash.d.ts +1 -0
  76. package/dist/utils/js-sha256/hash.js +445 -0
  77. package/dist/utils/json.cjs +2 -3
  78. package/dist/utils/json_schema.cjs +11 -4
  79. package/dist/utils/json_schema.js +9 -2
  80. package/dist/utils/math.cjs +6 -7
  81. package/dist/utils/ml-distance/distances.cjs +1 -2
  82. package/dist/utils/ml-distance/similarities.cjs +1 -2
  83. package/dist/utils/ml-distance-euclidean/euclidean.cjs +2 -3
  84. package/dist/utils/sax-js/sax.cjs +35 -35
  85. package/dist/utils/sax-js/sax.js +35 -35
  86. package/dist/utils/signal.cjs +1 -2
  87. package/dist/utils/stream.cjs +4 -4
  88. package/dist/utils/tiktoken.cjs +2 -3
  89. package/dist/utils/types/zod.cjs +223 -56
  90. package/dist/utils/types/zod.d.ts +38 -1
  91. package/dist/utils/types/zod.js +202 -39
  92. package/package.json +30 -4
  93. package/utils/hash/insecure.cjs +1 -0
  94. package/utils/hash/insecure.d.cts +1 -0
  95. package/utils/hash/insecure.d.ts +1 -0
  96. package/utils/hash/insecure.js +1 -0
  97. package/utils/hash/sha256.cjs +1 -0
  98. package/utils/hash/sha256.d.cts +1 -0
  99. package/utils/hash/sha256.d.ts +1 -0
  100. package/utils/hash/sha256.js +1 -0
@@ -185,13 +185,37 @@ export class BaseLanguageModel extends BaseLangChain {
185
185
  }
186
186
  this.caller = new AsyncCaller(params ?? {});
187
187
  }
188
+ /**
189
+ * Get the number of tokens in the content.
190
+ * @param content The content to get the number of tokens for.
191
+ * @returns The number of tokens in the content.
192
+ */
188
193
  async getNumTokens(content) {
189
- // TODO: Figure out correct value.
190
- if (typeof content !== "string") {
191
- return 0;
194
+ // Extract text content from MessageContent
195
+ let textContent;
196
+ if (typeof content === "string") {
197
+ textContent = content;
198
+ }
199
+ else {
200
+ /**
201
+ * Content is an array of MessageContentComplex
202
+ *
203
+ * ToDo(@christian-bromann): This is a temporary fix to get the number of tokens for the content.
204
+ * We need to find a better way to do this.
205
+ * @see https://github.com/langchain-ai/langchainjs/pull/8341#pullrequestreview-2933713116
206
+ */
207
+ textContent = content
208
+ .map((item) => {
209
+ if (typeof item === "string")
210
+ return item;
211
+ if (item.type === "text" && "text" in item)
212
+ return item.text;
213
+ return "";
214
+ })
215
+ .join("");
192
216
  }
193
217
  // fallback to approximate calculation if tiktoken is not available
194
- let numTokens = Math.ceil(content.length / 4);
218
+ let numTokens = Math.ceil(textContent.length / 4);
195
219
  if (!this._encoding) {
196
220
  try {
197
221
  this._encoding = await encodingForModel("modelName" in this
@@ -204,7 +228,7 @@ export class BaseLanguageModel extends BaseLangChain {
204
228
  }
205
229
  if (this._encoding) {
206
230
  try {
207
- numTokens = this._encoding.encode(content).length;
231
+ numTokens = this._encoding.encode(textContent).length;
208
232
  }
209
233
  catch (error) {
210
234
  console.warn("Failed to calculate number of tokens, falling back to approximate count", error);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SimpleChatModel = exports.BaseChatModel = exports.createChatMessageChunkEncoderStream = void 0;
3
+ exports.SimpleChatModel = exports.BaseChatModel = void 0;
4
+ exports.createChatMessageChunkEncoderStream = createChatMessageChunkEncoderStream;
4
5
  const index_js_1 = require("../messages/index.cjs");
5
6
  const outputs_js_1 = require("../outputs.cjs");
6
7
  const base_js_1 = require("./base.cjs");
@@ -26,7 +27,6 @@ function createChatMessageChunkEncoderStream() {
26
27
  },
27
28
  });
28
29
  }
29
- exports.createChatMessageChunkEncoderStream = createChatMessageChunkEncoderStream;
30
30
  function _formatForTracing(messages) {
31
31
  const messagesToTrace = [];
32
32
  for (const message of messages) {
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  Object.defineProperty(exports, "__esModule", { value: true });
27
37
  exports.vectorstores = exports.utils__types = exports.utils__tiktoken = exports.utils__testing = exports.utils__stream = exports.utils__math = exports.utils__json_schema = exports.utils__json_patch = exports.utils__hash = exports.utils__function_calling = exports.utils__env = exports.utils__chunk_array = exports.utils__async_caller = exports.tracers__tracer_langchain_v1 = exports.tracers__tracer_langchain = exports.tracers__run_collector = exports.tracers__log_stream = exports.tracers__initialize = exports.tracers__console = exports.tracers__base = exports.tools = exports.stores = exports.retrievers = exports.runnables = exports.prompt_values = exports.prompts = exports.outputs = exports.output_parsers = exports.messages = exports.memory = exports.load__serializable = exports.language_models__llms = exports.language_models__chat_models = exports.language_models__base = exports.example_selectors = exports.embeddings = exports.documents = exports.chat_history = exports.callbacks__promises = exports.callbacks__manager = exports.callbacks__base = exports.caches = exports.agents = void 0;
28
38
  exports.agents = __importStar(require("../agents.cjs"));
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.load = void 0;
36
+ exports.load = load;
27
37
  const serializable_js_1 = require("./serializable.cjs");
28
38
  const import_constants_js_1 = require("./import_constants.cjs");
29
39
  const coreImportMap = __importStar(require("./import_map.cjs"));
@@ -186,4 +196,3 @@ async function load(text, mappings) {
186
196
  const json = JSON.parse(text);
187
197
  return reviver.call({ ...mappings }, json);
188
198
  }
189
- exports.load = load;
@@ -3,17 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.mapKeys = exports.keyFromJson = exports.keyToJson = void 0;
6
+ exports.keyToJson = keyToJson;
7
+ exports.keyFromJson = keyFromJson;
8
+ exports.mapKeys = mapKeys;
7
9
  const decamelize_1 = __importDefault(require("decamelize"));
8
10
  const camelcase_1 = __importDefault(require("camelcase"));
9
11
  function keyToJson(key, map) {
10
12
  return map?.[key] || (0, decamelize_1.default)(key);
11
13
  }
12
- exports.keyToJson = keyToJson;
13
14
  function keyFromJson(key, map) {
14
15
  return map?.[key] || (0, camelcase_1.default)(key);
15
16
  }
16
- exports.keyFromJson = keyFromJson;
17
17
  function mapKeys(fields, mapper, map) {
18
18
  const mapped = {};
19
19
  for (const key in fields) {
@@ -23,4 +23,3 @@ function mapKeys(fields, mapper, map) {
23
23
  }
24
24
  return mapped;
25
25
  }
26
- exports.mapKeys = mapKeys;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Serializable = exports.get_lc_unique_name = void 0;
3
+ exports.Serializable = void 0;
4
+ exports.get_lc_unique_name = get_lc_unique_name;
4
5
  const map_keys_js_1 = require("./map_keys.cjs");
5
6
  function shallowCopy(obj) {
6
7
  return Array.isArray(obj) ? [...obj] : { ...obj };
@@ -48,7 +49,6 @@ serializableClass) {
48
49
  return serializableClass.name;
49
50
  }
50
51
  }
51
- exports.get_lc_unique_name = get_lc_unique_name;
52
52
  class Serializable {
53
53
  /**
54
54
  * The name of the serializable. Override to provide an alias or
package/dist/memory.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPromptInputKey = exports.getOutputValue = exports.getInputValue = exports.BaseMemory = void 0;
3
+ exports.getOutputValue = exports.getInputValue = exports.BaseMemory = void 0;
4
+ exports.getPromptInputKey = getPromptInputKey;
4
5
  /**
5
6
  * Abstract base class for memory in LangChain's Chains. Memory refers to
6
7
  * the state in Chains. It can be used to store information about past
@@ -60,4 +61,3 @@ function getPromptInputKey(inputs, memoryVariables) {
60
61
  }
61
62
  return promptInputKeys[0];
62
63
  }
63
- exports.getPromptInputKey = getPromptInputKey;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIMessageChunk = exports.isAIMessageChunk = exports.isAIMessage = exports.AIMessage = void 0;
3
+ exports.AIMessageChunk = exports.AIMessage = void 0;
4
+ exports.isAIMessage = isAIMessage;
5
+ exports.isAIMessageChunk = isAIMessageChunk;
4
6
  const json_js_1 = require("../utils/json.cjs");
5
7
  const base_js_1 = require("./base.cjs");
6
8
  const tool_js_1 = require("./tool.cjs");
@@ -111,11 +113,9 @@ exports.AIMessage = AIMessage;
111
113
  function isAIMessage(x) {
112
114
  return x._getType() === "ai";
113
115
  }
114
- exports.isAIMessage = isAIMessage;
115
116
  function isAIMessageChunk(x) {
116
117
  return x._getType() === "ai";
117
118
  }
118
- exports.isAIMessageChunk = isAIMessageChunk;
119
119
  /**
120
120
  * Represents a chunk of an AI message, which can be concatenated with
121
121
  * other AI message chunks.
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBaseMessageChunk = exports.isBaseMessage = exports._isMessageFieldWithRole = exports.BaseMessageChunk = exports._mergeObj = exports._mergeLists = exports._mergeDicts = exports.isOpenAIToolCallArray = exports.BaseMessage = exports._mergeStatus = exports.mergeContent = void 0;
3
+ exports.BaseMessageChunk = exports.BaseMessage = void 0;
4
+ exports.mergeContent = mergeContent;
5
+ exports._mergeStatus = _mergeStatus;
6
+ exports.isOpenAIToolCallArray = isOpenAIToolCallArray;
7
+ exports._mergeDicts = _mergeDicts;
8
+ exports._mergeLists = _mergeLists;
9
+ exports._mergeObj = _mergeObj;
10
+ exports._isMessageFieldWithRole = _isMessageFieldWithRole;
11
+ exports.isBaseMessage = isBaseMessage;
12
+ exports.isBaseMessageChunk = isBaseMessageChunk;
4
13
  const serializable_js_1 = require("../load/serializable.cjs");
5
14
  const content_blocks_js_1 = require("./content_blocks.cjs");
6
15
  function mergeContent(firstContent, secondContent) {
@@ -54,7 +63,6 @@ function mergeContent(firstContent, secondContent) {
54
63
  }
55
64
  }
56
65
  }
57
- exports.mergeContent = mergeContent;
58
66
  /**
59
67
  * 'Merge' two statuses. If either value passed is 'error', it will return 'error'. Else
60
68
  * it will return 'success'.
@@ -69,7 +77,6 @@ function _mergeStatus(left, right) {
69
77
  }
70
78
  return "success";
71
79
  }
72
- exports._mergeStatus = _mergeStatus;
73
80
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
81
  function stringifyWithDepthLimit(obj, depthLimit) {
75
82
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -254,7 +261,6 @@ function isOpenAIToolCallArray(value) {
254
261
  return (Array.isArray(value) &&
255
262
  value.every((v) => typeof v.index === "number"));
256
263
  }
257
- exports.isOpenAIToolCallArray = isOpenAIToolCallArray;
258
264
  function _mergeDicts(
259
265
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
260
266
  left,
@@ -296,7 +302,6 @@ right
296
302
  }
297
303
  return merged;
298
304
  }
299
- exports._mergeDicts = _mergeDicts;
300
305
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
301
306
  function _mergeLists(left, right) {
302
307
  if (left === undefined && right === undefined) {
@@ -332,7 +337,6 @@ function _mergeLists(left, right) {
332
337
  return merged;
333
338
  }
334
339
  }
335
- exports._mergeLists = _mergeLists;
336
340
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
341
  function _mergeObj(left, right) {
338
342
  if (!left && !right) {
@@ -360,7 +364,6 @@ function _mergeObj(left, right) {
360
364
  throw new Error(`Can not merge objects of different types.\nLeft ${left}\nRight ${right}`);
361
365
  }
362
366
  }
363
- exports._mergeObj = _mergeObj;
364
367
  /**
365
368
  * Represents a chunk of a message, which can be concatenated with other
366
369
  * message chunks. It includes a method `_merge_kwargs_dict()` for merging
@@ -374,13 +377,10 @@ exports.BaseMessageChunk = BaseMessageChunk;
374
377
  function _isMessageFieldWithRole(x) {
375
378
  return typeof x.role === "string";
376
379
  }
377
- exports._isMessageFieldWithRole = _isMessageFieldWithRole;
378
380
  function isBaseMessage(messageLike) {
379
381
  return typeof messageLike?._getType === "function";
380
382
  }
381
- exports.isBaseMessage = isBaseMessage;
382
383
  function isBaseMessageChunk(messageLike) {
383
384
  return (isBaseMessage(messageLike) &&
384
385
  typeof messageLike.concat === "function");
385
386
  }
386
- exports.isBaseMessageChunk = isBaseMessageChunk;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isChatMessageChunk = exports.isChatMessage = exports.ChatMessageChunk = exports.ChatMessage = void 0;
3
+ exports.ChatMessageChunk = exports.ChatMessage = void 0;
4
+ exports.isChatMessage = isChatMessage;
5
+ exports.isChatMessageChunk = isChatMessageChunk;
4
6
  const base_js_1 = require("./base.cjs");
5
7
  /**
6
8
  * Represents a chat message in a conversation.
@@ -85,8 +87,6 @@ exports.ChatMessageChunk = ChatMessageChunk;
85
87
  function isChatMessage(x) {
86
88
  return x._getType() === "generic";
87
89
  }
88
- exports.isChatMessage = isChatMessage;
89
90
  function isChatMessageChunk(x) {
90
91
  return x._getType() === "generic";
91
92
  }
92
- exports.isChatMessageChunk = isChatMessageChunk;
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToProviderContentBlock = exports.parseBase64DataUrl = exports.parseMimeType = exports.convertToOpenAIImageBlock = exports.isIDContentBlock = exports.isPlainTextContentBlock = exports.isBase64ContentBlock = exports.isURLContentBlock = exports.isDataContentBlock = void 0;
3
+ exports.isDataContentBlock = isDataContentBlock;
4
+ exports.isURLContentBlock = isURLContentBlock;
5
+ exports.isBase64ContentBlock = isBase64ContentBlock;
6
+ exports.isPlainTextContentBlock = isPlainTextContentBlock;
7
+ exports.isIDContentBlock = isIDContentBlock;
8
+ exports.convertToOpenAIImageBlock = convertToOpenAIImageBlock;
9
+ exports.parseMimeType = parseMimeType;
10
+ exports.parseBase64DataUrl = parseBase64DataUrl;
11
+ exports.convertToProviderContentBlock = convertToProviderContentBlock;
4
12
  function isDataContentBlock(content_block) {
5
13
  return (typeof content_block === "object" &&
6
14
  content_block !== null &&
@@ -12,35 +20,30 @@ function isDataContentBlock(content_block) {
12
20
  content_block.source_type === "text" ||
13
21
  content_block.source_type === "id"));
14
22
  }
15
- exports.isDataContentBlock = isDataContentBlock;
16
23
  function isURLContentBlock(content_block) {
17
24
  return (isDataContentBlock(content_block) &&
18
25
  content_block.source_type === "url" &&
19
26
  "url" in content_block &&
20
27
  typeof content_block.url === "string");
21
28
  }
22
- exports.isURLContentBlock = isURLContentBlock;
23
29
  function isBase64ContentBlock(content_block) {
24
30
  return (isDataContentBlock(content_block) &&
25
31
  content_block.source_type === "base64" &&
26
32
  "data" in content_block &&
27
33
  typeof content_block.data === "string");
28
34
  }
29
- exports.isBase64ContentBlock = isBase64ContentBlock;
30
35
  function isPlainTextContentBlock(content_block) {
31
36
  return (isDataContentBlock(content_block) &&
32
37
  content_block.source_type === "text" &&
33
38
  "text" in content_block &&
34
39
  typeof content_block.text === "string");
35
40
  }
36
- exports.isPlainTextContentBlock = isPlainTextContentBlock;
37
41
  function isIDContentBlock(content_block) {
38
42
  return (isDataContentBlock(content_block) &&
39
43
  content_block.source_type === "id" &&
40
44
  "id" in content_block &&
41
45
  typeof content_block.id === "string");
42
46
  }
43
- exports.isIDContentBlock = isIDContentBlock;
44
47
  function convertToOpenAIImageBlock(content_block) {
45
48
  if (isDataContentBlock(content_block)) {
46
49
  if (content_block.source_type === "url") {
@@ -66,7 +69,6 @@ function convertToOpenAIImageBlock(content_block) {
66
69
  }
67
70
  throw new Error("Unsupported source type. Only 'url' and 'base64' are supported.");
68
71
  }
69
- exports.convertToOpenAIImageBlock = convertToOpenAIImageBlock;
70
72
  /**
71
73
  * Utility function for ChatModelProviders. Parses a mime type into a type, subtype, and parameters.
72
74
  *
@@ -102,7 +104,6 @@ function parseMimeType(mime_type) {
102
104
  parameters,
103
105
  };
104
106
  }
105
- exports.parseMimeType = parseMimeType;
106
107
  /**
107
108
  * Utility function for ChatModelProviders. Parses a base64 data URL into a typed array or string.
108
109
  *
@@ -125,7 +126,6 @@ function parseBase64DataUrl({ dataUrl: data_url, asTypedArray = false, }) {
125
126
  }
126
127
  return undefined;
127
128
  }
128
- exports.parseBase64DataUrl = parseBase64DataUrl;
129
129
  /**
130
130
  * Convert from a standard data content block to a provider's proprietary data content block format.
131
131
  *
@@ -163,4 +163,3 @@ function convertToProviderContentBlock(block, converter) {
163
163
  }
164
164
  throw new Error(`Unable to convert content block type '${block.type}' to provider-specific format: not recognized.`);
165
165
  }
166
- exports.convertToProviderContentBlock = convertToProviderContentBlock;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFunctionMessageChunk = exports.isFunctionMessage = exports.FunctionMessageChunk = exports.FunctionMessage = void 0;
3
+ exports.FunctionMessageChunk = exports.FunctionMessage = void 0;
4
+ exports.isFunctionMessage = isFunctionMessage;
5
+ exports.isFunctionMessageChunk = isFunctionMessageChunk;
4
6
  const base_js_1 = require("./base.cjs");
5
7
  /**
6
8
  * Represents a function message in a conversation.
@@ -48,8 +50,6 @@ exports.FunctionMessageChunk = FunctionMessageChunk;
48
50
  function isFunctionMessage(x) {
49
51
  return x._getType() === "function";
50
52
  }
51
- exports.isFunctionMessage = isFunctionMessage;
52
53
  function isFunctionMessageChunk(x) {
53
54
  return x._getType() === "function";
54
55
  }
55
- exports.isFunctionMessageChunk = isFunctionMessageChunk;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isHumanMessageChunk = exports.isHumanMessage = exports.HumanMessageChunk = exports.HumanMessage = void 0;
3
+ exports.HumanMessageChunk = exports.HumanMessage = void 0;
4
+ exports.isHumanMessage = isHumanMessage;
5
+ exports.isHumanMessageChunk = isHumanMessageChunk;
4
6
  const base_js_1 = require("./base.cjs");
5
7
  /**
6
8
  * Represents a human message in a conversation.
@@ -48,8 +50,6 @@ exports.HumanMessageChunk = HumanMessageChunk;
48
50
  function isHumanMessage(x) {
49
51
  return x.getType() === "human";
50
52
  }
51
- exports.isHumanMessage = isHumanMessage;
52
53
  function isHumanMessageChunk(x) {
53
54
  return x.getType() === "human";
54
55
  }
55
- exports.isHumanMessageChunk = isHumanMessageChunk;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSystemMessageChunk = exports.isSystemMessage = exports.SystemMessageChunk = exports.SystemMessage = void 0;
3
+ exports.SystemMessageChunk = exports.SystemMessage = void 0;
4
+ exports.isSystemMessage = isSystemMessage;
5
+ exports.isSystemMessageChunk = isSystemMessageChunk;
4
6
  const base_js_1 = require("./base.cjs");
5
7
  /**
6
8
  * Represents a system message in a conversation.
@@ -48,8 +50,6 @@ exports.SystemMessageChunk = SystemMessageChunk;
48
50
  function isSystemMessage(x) {
49
51
  return x._getType() === "system";
50
52
  }
51
- exports.isSystemMessage = isSystemMessage;
52
53
  function isSystemMessageChunk(x) {
53
54
  return x._getType() === "system";
54
55
  }
55
- exports.isSystemMessageChunk = isSystemMessageChunk;
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isToolMessageChunk = exports.isToolMessage = exports.defaultToolCallParser = exports.ToolMessageChunk = exports.ToolMessage = exports.isDirectToolOutput = void 0;
3
+ exports.ToolMessageChunk = exports.ToolMessage = void 0;
4
+ exports.isDirectToolOutput = isDirectToolOutput;
5
+ exports.defaultToolCallParser = defaultToolCallParser;
6
+ exports.isToolMessage = isToolMessage;
7
+ exports.isToolMessageChunk = isToolMessageChunk;
4
8
  const base_js_1 = require("./base.cjs");
5
9
  function isDirectToolOutput(x) {
6
10
  return (x != null &&
@@ -8,7 +12,6 @@ function isDirectToolOutput(x) {
8
12
  "lc_direct_tool_output" in x &&
9
13
  x.lc_direct_tool_output === true);
10
14
  }
11
- exports.isDirectToolOutput = isDirectToolOutput;
12
15
  /**
13
16
  * Represents a tool message in a conversation.
14
17
  */
@@ -180,12 +183,9 @@ rawToolCalls) {
180
183
  }
181
184
  return [toolCalls, invalidToolCalls];
182
185
  }
183
- exports.defaultToolCallParser = defaultToolCallParser;
184
186
  function isToolMessage(x) {
185
187
  return x._getType() === "tool";
186
188
  }
187
- exports.isToolMessage = isToolMessage;
188
189
  function isToolMessageChunk(x) {
189
190
  return x._getType() === "tool";
190
191
  }
191
- exports.isToolMessageChunk = isToolMessageChunk;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultTextSplitter = exports.trimMessages = exports.mergeMessageRuns = exports.filterMessages = void 0;
3
+ exports.filterMessages = filterMessages;
4
+ exports.mergeMessageRuns = mergeMessageRuns;
5
+ exports.trimMessages = trimMessages;
6
+ exports.defaultTextSplitter = defaultTextSplitter;
4
7
  const base_js_1 = require("../runnables/base.cjs");
5
8
  const ai_js_1 = require("./ai.cjs");
6
9
  const base_js_2 = require("./base.cjs");
@@ -37,7 +40,6 @@ function filterMessages(messagesOrOptions, options) {
37
40
  return _filterMessages(input, messagesOrOptions);
38
41
  });
39
42
  }
40
- exports.filterMessages = filterMessages;
41
43
  function _filterMessages(messages, options = {}) {
42
44
  const { includeNames, excludeNames, includeTypes, excludeTypes, includeIds, excludeIds, } = options;
43
45
  const filtered = [];
@@ -75,7 +77,6 @@ function mergeMessageRuns(messages) {
75
77
  }
76
78
  return base_js_1.RunnableLambda.from(_mergeMessageRuns);
77
79
  }
78
- exports.mergeMessageRuns = mergeMessageRuns;
79
80
  function _mergeMessageRuns(messages) {
80
81
  if (!messages.length) {
81
82
  return [];
@@ -119,7 +120,6 @@ function trimMessages(messagesOrOptions, options) {
119
120
  });
120
121
  }
121
122
  }
122
- exports.trimMessages = trimMessages;
123
123
  async function _trimMessagesHelper(messages, options) {
124
124
  const { maxTokens, tokenCounter, strategy = "last", allowPartial = false, endOn, startOn, includeSystem = false, textSplitter, } = options;
125
125
  if (startOn && strategy === "first") {
@@ -456,4 +456,3 @@ function defaultTextSplitter(text) {
456
456
  splits[splits.length - 1],
457
457
  ]);
458
458
  }
459
- exports.defaultTextSplitter = defaultTextSplitter;
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertToChunk = exports.mapChatMessagesToStoredMessages = exports.mapStoredMessagesToChatMessages = exports.mapStoredMessageToChatMessage = exports.getBufferString = exports.coerceMessageLikeToMessage = void 0;
3
+ exports.coerceMessageLikeToMessage = coerceMessageLikeToMessage;
4
+ exports.getBufferString = getBufferString;
5
+ exports.mapStoredMessageToChatMessage = mapStoredMessageToChatMessage;
6
+ exports.mapStoredMessagesToChatMessages = mapStoredMessagesToChatMessages;
7
+ exports.mapChatMessagesToStoredMessages = mapChatMessagesToStoredMessages;
8
+ exports.convertToChunk = convertToChunk;
4
9
  const index_js_1 = require("../errors/index.cjs");
5
10
  const utils_js_1 = require("../tools/utils.cjs");
6
11
  const ai_js_1 = require("./ai.cjs");
@@ -132,7 +137,6 @@ function coerceMessageLikeToMessage(messageLike) {
132
137
  return _constructMessageFromParams(messageLike);
133
138
  }
134
139
  }
135
- exports.coerceMessageLikeToMessage = coerceMessageLikeToMessage;
136
140
  /**
137
141
  * This function is used by memory classes to get a string representation
138
142
  * of the chat message history, based on the message content and role.
@@ -170,7 +174,6 @@ function getBufferString(messages, humanPrefix = "Human", aiPrefix = "AI") {
170
174
  }
171
175
  return string_messages.join("\n");
172
176
  }
173
- exports.getBufferString = getBufferString;
174
177
  /**
175
178
  * Maps messages from an older format (V1) to the current `StoredMessage`
176
179
  * format. If the message is already in the `StoredMessage` format, it is
@@ -225,7 +228,6 @@ function mapStoredMessageToChatMessage(message) {
225
228
  throw new Error(`Got unexpected type: ${storedMessage.type}`);
226
229
  }
227
230
  }
228
- exports.mapStoredMessageToChatMessage = mapStoredMessageToChatMessage;
229
231
  /**
230
232
  * Transforms an array of `StoredMessage` instances into an array of
231
233
  * `BaseMessage` instances. It uses the `mapV1MessageToStoredMessage`
@@ -237,7 +239,6 @@ exports.mapStoredMessageToChatMessage = mapStoredMessageToChatMessage;
237
239
  function mapStoredMessagesToChatMessages(messages) {
238
240
  return messages.map(mapStoredMessageToChatMessage);
239
241
  }
240
- exports.mapStoredMessagesToChatMessages = mapStoredMessagesToChatMessages;
241
242
  /**
242
243
  * Transforms an array of `BaseMessage` instances into an array of
243
244
  * `StoredMessage` instances. It does this by calling the `toDict` method
@@ -247,7 +248,6 @@ exports.mapStoredMessagesToChatMessages = mapStoredMessagesToChatMessages;
247
248
  function mapChatMessagesToStoredMessages(messages) {
248
249
  return messages.map((message) => message.toDict());
249
250
  }
250
- exports.mapChatMessagesToStoredMessages = mapChatMessagesToStoredMessages;
251
251
  function convertToChunk(message) {
252
252
  const type = message._getType();
253
253
  if (type === "human") {
@@ -289,4 +289,3 @@ function convertToChunk(message) {
289
289
  throw new Error("Unknown message type.");
290
290
  }
291
291
  }
292
- exports.convertToChunk = convertToChunk;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonOutputKeyToolsParser = exports.JsonOutputToolsParser = exports.makeInvalidToolCall = exports.convertLangChainToolCallToOpenAI = exports.parseToolCall = void 0;
3
+ exports.JsonOutputKeyToolsParser = exports.JsonOutputToolsParser = void 0;
4
+ exports.parseToolCall = parseToolCall;
5
+ exports.convertLangChainToolCallToOpenAI = convertLangChainToolCallToOpenAI;
6
+ exports.makeInvalidToolCall = makeInvalidToolCall;
4
7
  const base_js_1 = require("../base.cjs");
5
8
  const json_js_1 = require("../json.cjs");
6
9
  const transform_js_1 = require("../transform.cjs");
@@ -47,7 +50,6 @@ rawToolCall, options) {
47
50
  }
48
51
  return parsedToolCall;
49
52
  }
50
- exports.parseToolCall = parseToolCall;
51
53
  function convertLangChainToolCallToOpenAI(toolCall) {
52
54
  if (toolCall.id === undefined) {
53
55
  throw new Error(`All OpenAI tool calls must have an "id" field.`);
@@ -61,7 +63,6 @@ function convertLangChainToolCallToOpenAI(toolCall) {
61
63
  },
62
64
  };
63
65
  }
64
- exports.convertLangChainToolCallToOpenAI = convertLangChainToolCallToOpenAI;
65
66
  function makeInvalidToolCall(
66
67
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
68
  rawToolCall, errorMsg) {
@@ -73,7 +74,6 @@ rawToolCall, errorMsg) {
73
74
  type: "invalid_tool_call",
74
75
  };
75
76
  }
76
- exports.makeInvalidToolCall = makeInvalidToolCall;
77
77
  /**
78
78
  * Class for parsing the output of a tool-calling LLM into a JSON object.
79
79
  */
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseXMLMarkdown = exports.XMLOutputParser = exports.XML_FORMAT_INSTRUCTIONS = void 0;
3
+ exports.XMLOutputParser = exports.XML_FORMAT_INSTRUCTIONS = void 0;
4
+ exports.parseXMLMarkdown = parseXMLMarkdown;
4
5
  const transform_js_1 = require("./transform.cjs");
5
6
  const json_patch_js_1 = require("../utils/json_patch.cjs");
6
7
  const sax_js_1 = require("../utils/sax-js/sax.cjs");
@@ -143,4 +144,3 @@ function parseXMLMarkdown(s) {
143
144
  }
144
145
  return parseParsedResult(parsedResult);
145
146
  }
146
- exports.parseXMLMarkdown = parseXMLMarkdown;