@langchain/core 1.2.9 → 1.2.11

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 (173) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/_virtual/_rolldown/runtime.cjs +1 -1
  3. package/dist/callbacks/dispatch/index.cjs +2 -1
  4. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  5. package/dist/callbacks/dispatch/index.js +2 -1
  6. package/dist/callbacks/dispatch/index.js.map +1 -1
  7. package/dist/indexing/base.cjs +10 -6
  8. package/dist/indexing/base.cjs.map +1 -1
  9. package/dist/indexing/base.js +10 -6
  10. package/dist/indexing/base.js.map +1 -1
  11. package/dist/language_models/base.cjs +1 -1
  12. package/dist/language_models/base.cjs.map +1 -1
  13. package/dist/language_models/base.js +1 -1
  14. package/dist/language_models/base.js.map +1 -1
  15. package/dist/language_models/chat_models.cjs +22 -17
  16. package/dist/language_models/chat_models.cjs.map +1 -1
  17. package/dist/language_models/chat_models.d.cts.map +1 -1
  18. package/dist/language_models/chat_models.d.ts.map +1 -1
  19. package/dist/language_models/chat_models.js +23 -18
  20. package/dist/language_models/chat_models.js.map +1 -1
  21. package/dist/language_models/stream.cjs +0 -2
  22. package/dist/language_models/stream.cjs.map +1 -1
  23. package/dist/language_models/stream.js +0 -2
  24. package/dist/language_models/stream.js.map +1 -1
  25. package/dist/load/index.cjs +7 -5
  26. package/dist/load/index.cjs.map +1 -1
  27. package/dist/load/index.js +7 -5
  28. package/dist/load/index.js.map +1 -1
  29. package/dist/load/serializable.cjs +2 -1
  30. package/dist/load/serializable.cjs.map +1 -1
  31. package/dist/load/serializable.js +2 -1
  32. package/dist/load/serializable.js.map +1 -1
  33. package/dist/load/validation.cjs +4 -3
  34. package/dist/load/validation.cjs.map +1 -1
  35. package/dist/load/validation.js +4 -3
  36. package/dist/load/validation.js.map +1 -1
  37. package/dist/messages/base.cjs +13 -18
  38. package/dist/messages/base.cjs.map +1 -1
  39. package/dist/messages/base.d.cts.map +1 -1
  40. package/dist/messages/base.d.ts.map +1 -1
  41. package/dist/messages/base.js +13 -18
  42. package/dist/messages/base.js.map +1 -1
  43. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  44. package/dist/messages/block_translators/anthropic.js.map +1 -1
  45. package/dist/messages/block_translators/google.cjs +10 -9
  46. package/dist/messages/block_translators/google.cjs.map +1 -1
  47. package/dist/messages/block_translators/google.js +10 -9
  48. package/dist/messages/block_translators/google.js.map +1 -1
  49. package/dist/messages/block_translators/google_vertexai.cjs +14 -12
  50. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  51. package/dist/messages/block_translators/google_vertexai.js +14 -12
  52. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  53. package/dist/messages/block_translators/openai.cjs +212 -164
  54. package/dist/messages/block_translators/openai.cjs.map +1 -1
  55. package/dist/messages/block_translators/openai.js +212 -164
  56. package/dist/messages/block_translators/openai.js.map +1 -1
  57. package/dist/messages/message.cjs.map +1 -1
  58. package/dist/messages/message.d.cts.map +1 -1
  59. package/dist/messages/message.d.ts.map +1 -1
  60. package/dist/messages/message.js.map +1 -1
  61. package/dist/messages/transformers.cjs +12 -8
  62. package/dist/messages/transformers.cjs.map +1 -1
  63. package/dist/messages/transformers.js +12 -8
  64. package/dist/messages/transformers.js.map +1 -1
  65. package/dist/output_parsers/transform.cjs.map +1 -1
  66. package/dist/prompts/chat.cjs +2 -1
  67. package/dist/prompts/chat.cjs.map +1 -1
  68. package/dist/prompts/chat.js +2 -1
  69. package/dist/prompts/chat.js.map +1 -1
  70. package/dist/prompts/few_shot.cjs +6 -4
  71. package/dist/prompts/few_shot.cjs.map +1 -1
  72. package/dist/prompts/few_shot.js +6 -4
  73. package/dist/prompts/few_shot.js.map +1 -1
  74. package/dist/prompts/image.cjs +2 -1
  75. package/dist/prompts/image.cjs.map +1 -1
  76. package/dist/prompts/image.js +2 -1
  77. package/dist/prompts/image.js.map +1 -1
  78. package/dist/prompts/prompt.cjs.map +1 -1
  79. package/dist/prompts/prompt.d.cts.map +1 -1
  80. package/dist/prompts/prompt.d.ts.map +1 -1
  81. package/dist/prompts/prompt.js.map +1 -1
  82. package/dist/prompts/string.cjs +2 -1
  83. package/dist/prompts/string.cjs.map +1 -1
  84. package/dist/prompts/string.js +2 -1
  85. package/dist/prompts/string.js.map +1 -1
  86. package/dist/prompts/template.cjs.map +1 -1
  87. package/dist/prompts/template.js.map +1 -1
  88. package/dist/runnables/base.cjs +60 -40
  89. package/dist/runnables/base.cjs.map +1 -1
  90. package/dist/runnables/base.js +60 -40
  91. package/dist/runnables/base.js.map +1 -1
  92. package/dist/runnables/branch.cjs +16 -12
  93. package/dist/runnables/branch.cjs.map +1 -1
  94. package/dist/runnables/branch.js +16 -12
  95. package/dist/runnables/branch.js.map +1 -1
  96. package/dist/runnables/config.cjs +28 -23
  97. package/dist/runnables/config.cjs.map +1 -1
  98. package/dist/runnables/config.js +28 -23
  99. package/dist/runnables/config.js.map +1 -1
  100. package/dist/runnables/graph.cjs +2 -1
  101. package/dist/runnables/graph.cjs.map +1 -1
  102. package/dist/runnables/graph.js +2 -1
  103. package/dist/runnables/graph.js.map +1 -1
  104. package/dist/runnables/passthrough.cjs +8 -6
  105. package/dist/runnables/passthrough.cjs.map +1 -1
  106. package/dist/runnables/passthrough.js +8 -6
  107. package/dist/runnables/passthrough.js.map +1 -1
  108. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  109. package/dist/singletons/tracer.cjs +4 -1
  110. package/dist/singletons/tracer.cjs.map +1 -1
  111. package/dist/singletons/tracer.js +4 -1
  112. package/dist/singletons/tracer.js.map +1 -1
  113. package/dist/tools/index.cjs +22 -20
  114. package/dist/tools/index.cjs.map +1 -1
  115. package/dist/tools/index.js +22 -20
  116. package/dist/tools/index.js.map +1 -1
  117. package/dist/tracers/base.cjs +11 -10
  118. package/dist/tracers/base.cjs.map +1 -1
  119. package/dist/tracers/base.js +11 -10
  120. package/dist/tracers/base.js.map +1 -1
  121. package/dist/tracers/log_stream.cjs +7 -6
  122. package/dist/tracers/log_stream.cjs.map +1 -1
  123. package/dist/tracers/log_stream.js +7 -6
  124. package/dist/tracers/log_stream.js.map +1 -1
  125. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  126. package/dist/utils/env.cjs.map +1 -1
  127. package/dist/utils/env.d.cts.map +1 -1
  128. package/dist/utils/env.d.ts.map +1 -1
  129. package/dist/utils/env.js.map +1 -1
  130. package/dist/utils/event_source_parse.cjs +1 -3
  131. package/dist/utils/event_source_parse.cjs.map +1 -1
  132. package/dist/utils/event_source_parse.js +1 -3
  133. package/dist/utils/event_source_parse.js.map +1 -1
  134. package/dist/utils/fast-json-patch/src/core.cjs +4 -2
  135. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  136. package/dist/utils/fast-json-patch/src/core.js +4 -2
  137. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  138. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  139. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  140. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  141. package/dist/utils/js-sha256/hash.js.map +1 -1
  142. package/dist/utils/json_schema.cjs +4 -2
  143. package/dist/utils/json_schema.cjs.map +1 -1
  144. package/dist/utils/json_schema.js +4 -2
  145. package/dist/utils/json_schema.js.map +1 -1
  146. package/dist/utils/sax-js/sax.cjs +41 -35
  147. package/dist/utils/sax-js/sax.cjs.map +1 -1
  148. package/dist/utils/sax-js/sax.js +41 -35
  149. package/dist/utils/sax-js/sax.js.map +1 -1
  150. package/dist/utils/testing/chat_models.cjs +2 -1
  151. package/dist/utils/testing/chat_models.cjs.map +1 -1
  152. package/dist/utils/testing/chat_models.js +2 -1
  153. package/dist/utils/testing/chat_models.js.map +1 -1
  154. package/dist/utils/tiktoken.cjs.map +1 -1
  155. package/dist/utils/types/zod.cjs.map +1 -1
  156. package/dist/utils/types/zod.js.map +1 -1
  157. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +9 -9
  158. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  159. package/dist/utils/zod-to-json-schema/parsers/bigint.js +9 -9
  160. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  161. package/dist/utils/zod-to-json-schema/parsers/date.cjs +1 -3
  162. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  163. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -3
  164. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  165. package/dist/utils/zod-to-json-schema/parsers/number.cjs +9 -9
  166. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  167. package/dist/utils/zod-to-json-schema/parsers/number.js +9 -9
  168. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  169. package/dist/utils/zod-to-json-schema/parsers/string.cjs +3 -13
  170. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  171. package/dist/utils/zod-to-json-schema/parsers/string.js +3 -13
  172. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  173. package/package.json +6 -6
@@ -85,8 +85,9 @@ var Runnable = class extends Serializable {
85
85
  }
86
86
  async batch(inputs, options, batchOptions) {
87
87
  const configList = this._getOptionsList(options ?? {}, inputs.length);
88
+ const maxConcurrency = configList[0]?.maxConcurrency ?? batchOptions?.maxConcurrency;
88
89
  const caller = new AsyncCaller({
89
- maxConcurrency: configList[0]?.maxConcurrency ?? batchOptions?.maxConcurrency,
90
+ maxConcurrency,
90
91
  onFailedAttempt: (e) => {
91
92
  throw e;
92
93
  }
@@ -159,7 +160,8 @@ var Runnable = class extends Serializable {
159
160
  delete config.runId;
160
161
  let output;
161
162
  try {
162
- output = await raceWithSignal(func.call(this, input, config, runManager), config.signal);
163
+ const promise = func.call(this, input, config, runManager);
164
+ output = await raceWithSignal(promise, config.signal);
163
165
  } catch (e) {
164
166
  await runManager?.handleChainError(e);
165
167
  throw e;
@@ -186,7 +188,8 @@ var Runnable = class extends Serializable {
186
188
  }));
187
189
  let outputs;
188
190
  try {
189
- outputs = await raceWithSignal(func.call(this, inputs, optionsList, runManagers, batchOptions), optionsList?.[0]?.signal);
191
+ const promise = func.call(this, inputs, optionsList, runManagers, batchOptions);
192
+ outputs = await raceWithSignal(promise, optionsList?.[0]?.signal);
190
193
  } catch (e) {
191
194
  await Promise.all(runManagers.map((runManager) => runManager?.handleChainError(e)));
192
195
  throw e;
@@ -213,12 +216,14 @@ var Runnable = class extends Serializable {
213
216
  const outerThis = this;
214
217
  async function* wrapInputForTracing() {
215
218
  for await (const chunk of inputGenerator) {
216
- if (finalInputSupported) if (finalInput === void 0) finalInput = chunk;
217
- else try {
218
- finalInput = outerThis._concatOutputChunks(finalInput, chunk);
219
- } catch {
220
- finalInput = void 0;
221
- finalInputSupported = false;
219
+ if (finalInputSupported) {
220
+ if (finalInput === void 0) finalInput = chunk;
221
+ else try {
222
+ finalInput = outerThis._concatOutputChunks(finalInput, chunk);
223
+ } catch {
224
+ finalInput = void 0;
225
+ finalInputSupported = false;
226
+ }
222
227
  }
223
228
  yield chunk;
224
229
  }
@@ -235,12 +240,14 @@ var Runnable = class extends Serializable {
235
240
  if (streamLogHandler !== void 0 && runManager !== void 0) iterator = streamLogHandler.tapOutputIterable(runManager.runId, iterator);
236
241
  for await (const chunk of iterator) {
237
242
  yield chunk;
238
- if (finalOutputSupported) if (finalOutput === void 0) finalOutput = chunk;
239
- else try {
240
- finalOutput = this._concatOutputChunks(finalOutput, chunk);
241
- } catch {
242
- finalOutput = void 0;
243
- finalOutputSupported = false;
243
+ if (finalOutputSupported) {
244
+ if (finalOutput === void 0) finalOutput = chunk;
245
+ else try {
246
+ finalOutput = this._concatOutputChunks(finalOutput, chunk);
247
+ } catch {
248
+ finalOutput = void 0;
249
+ finalOutputSupported = false;
250
+ }
244
251
  }
245
252
  }
246
253
  } catch (e) {
@@ -385,14 +392,15 @@ var Runnable = class extends Serializable {
385
392
  async function consumeRunnableStream() {
386
393
  let signal;
387
394
  try {
388
- if (config.signal) if ("any" in AbortSignal) signal = AbortSignal.any([abortController.signal, config.signal]);
389
- else {
390
- const composed = new AbortController();
391
- config.signal.addEventListener("abort", () => composed.abort(), { once: true });
392
- abortController.signal.addEventListener("abort", () => composed.abort(), { once: true });
393
- signal = composed.signal;
394
- }
395
- else signal = abortController.signal;
395
+ if (config.signal) {
396
+ if ("any" in AbortSignal) signal = AbortSignal.any([abortController.signal, config.signal]);
397
+ else {
398
+ const composed = new AbortController();
399
+ config.signal.addEventListener("abort", () => composed.abort(), { once: true });
400
+ abortController.signal.addEventListener("abort", () => composed.abort(), { once: true });
401
+ signal = composed.signal;
402
+ }
403
+ } else signal = abortController.signal;
396
404
  const runnableStream = await outerThis.stream(input, {
397
405
  ...config,
398
406
  signal
@@ -462,9 +470,10 @@ var Runnable = class extends Serializable {
462
470
  let eventType;
463
471
  let data = {};
464
472
  const logEntry = runLog.state.logs[path];
465
- if (logEntry.end_time === void 0) if (logEntry.streamed_output.length > 0) eventType = "stream";
466
- else eventType = "start";
467
- else eventType = "end";
473
+ if (logEntry.end_time === void 0) {
474
+ if (logEntry.streamed_output.length > 0) eventType = "stream";
475
+ else eventType = "start";
476
+ } else eventType = "end";
468
477
  if (eventType === "start") {
469
478
  if (logEntry.inputs !== void 0) data.input = logEntry.inputs;
470
479
  } else if (eventType === "end") {
@@ -931,7 +940,10 @@ var RunnableSequence = class RunnableSequence extends Runnable {
931
940
  let finalOutput;
932
941
  try {
933
942
  const initialSteps = [this.first, ...this.middle];
934
- for (let i = 0; i < initialSteps.length; i += 1) nextStepInput = await raceWithSignal(initialSteps[i].invoke(nextStepInput, patchConfig(config, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`) })), config.signal);
943
+ for (let i = 0; i < initialSteps.length; i += 1) {
944
+ const promise = initialSteps[i].invoke(nextStepInput, patchConfig(config, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`) }));
945
+ nextStepInput = await raceWithSignal(promise, config.signal);
946
+ }
935
947
  if (config.signal?.aborted) throw getAbortSignalError(config.signal);
936
948
  finalOutput = await this.last.invoke(nextStepInput, patchConfig(config, { callbacks: runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${this.steps.length}`) }));
937
949
  } catch (e) {
@@ -951,10 +963,13 @@ var RunnableSequence = class RunnableSequence extends Runnable {
951
963
  }));
952
964
  let nextStepInputs = inputs;
953
965
  try {
954
- for (let i = 0; i < this.steps.length; i += 1) nextStepInputs = await raceWithSignal(this.steps[i].batch(nextStepInputs, runManagers.map((runManager, j) => {
955
- const childRunManager = runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`);
956
- return patchConfig(configList[j], { callbacks: childRunManager });
957
- }), batchOptions), configList[0]?.signal);
966
+ for (let i = 0; i < this.steps.length; i += 1) {
967
+ const promise = this.steps[i].batch(nextStepInputs, runManagers.map((runManager, j) => {
968
+ const childRunManager = runManager?.getChild(this.omitSequenceTags ? void 0 : `seq:step:${i + 1}`);
969
+ return patchConfig(configList[j], { callbacks: childRunManager });
970
+ }), batchOptions);
971
+ nextStepInputs = await raceWithSignal(promise, configList[0]?.signal);
972
+ }
958
973
  } catch (e) {
959
974
  await Promise.all(runManagers.map((runManager) => runManager?.handleChainError(e)));
960
975
  throw e;
@@ -986,12 +1001,14 @@ var RunnableSequence = class RunnableSequence extends Runnable {
986
1001
  for await (const chunk of finalGenerator) {
987
1002
  options?.signal?.throwIfAborted();
988
1003
  yield chunk;
989
- if (concatSupported) if (finalOutput === void 0) finalOutput = chunk;
990
- else try {
991
- finalOutput = this._concatOutputChunks(finalOutput, chunk);
992
- } catch {
993
- finalOutput = void 0;
994
- concatSupported = false;
1004
+ if (concatSupported) {
1005
+ if (finalOutput === void 0) finalOutput = chunk;
1006
+ else try {
1007
+ finalOutput = this._concatOutputChunks(finalOutput, chunk);
1008
+ } catch {
1009
+ finalOutput = void 0;
1010
+ concatSupported = false;
1011
+ }
995
1012
  }
996
1013
  }
997
1014
  } catch (e) {
@@ -1111,7 +1128,8 @@ var RunnableMap = class RunnableMap extends Runnable {
1111
1128
  }))];
1112
1129
  }));
1113
1130
  while (tasks.size) {
1114
- const { key, result, gen } = await raceWithSignal(Promise.race(tasks.values()), options?.signal);
1131
+ const promise = Promise.race(tasks.values());
1132
+ const { key, result, gen } = await raceWithSignal(promise, options?.signal);
1115
1133
  tasks.delete(key);
1116
1134
  if (!result.done) {
1117
1135
  yield { [key]: result.value };
@@ -1154,7 +1172,8 @@ var RunnableTraceable = class RunnableTraceable extends Runnable {
1154
1172
  async invoke(input, options) {
1155
1173
  const [config] = this._getOptionsList(options ?? {}, 1);
1156
1174
  const callbacks = await getCallbackManagerForConfig(config);
1157
- return raceWithSignal(this.func(patchConfig(config, { callbacks }), input), config?.signal);
1175
+ const promise = this.func(patchConfig(config, { callbacks }), input);
1176
+ return raceWithSignal(promise, config?.signal);
1158
1177
  }
1159
1178
  async *_streamIterator(input, options) {
1160
1179
  const [config] = this._getOptionsList(options ?? {}, 1);
@@ -1482,7 +1501,8 @@ var RunnableWithFallbacks = class extends Runnable {
1482
1501
  config?.signal?.throwIfAborted();
1483
1502
  const childConfig = patchConfig(otherConfigFields, { callbacks: runManager?.getChild() });
1484
1503
  try {
1485
- stream = consumeAsyncIterableInContext(childConfig, await runnable.stream(input, childConfig));
1504
+ const originalStream = await runnable.stream(input, childConfig);
1505
+ stream = consumeAsyncIterableInContext(childConfig, originalStream);
1486
1506
  break;
1487
1507
  } catch (e) {
1488
1508
  if (firstError === void 0) firstError = e;