@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.
- package/CHANGELOG.md +20 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -1
- package/dist/callbacks/dispatch/index.cjs +2 -1
- package/dist/callbacks/dispatch/index.cjs.map +1 -1
- package/dist/callbacks/dispatch/index.js +2 -1
- package/dist/callbacks/dispatch/index.js.map +1 -1
- package/dist/indexing/base.cjs +10 -6
- package/dist/indexing/base.cjs.map +1 -1
- package/dist/indexing/base.js +10 -6
- package/dist/indexing/base.js.map +1 -1
- package/dist/language_models/base.cjs +1 -1
- package/dist/language_models/base.cjs.map +1 -1
- package/dist/language_models/base.js +1 -1
- package/dist/language_models/base.js.map +1 -1
- package/dist/language_models/chat_models.cjs +22 -17
- package/dist/language_models/chat_models.cjs.map +1 -1
- package/dist/language_models/chat_models.d.cts.map +1 -1
- package/dist/language_models/chat_models.d.ts.map +1 -1
- package/dist/language_models/chat_models.js +23 -18
- package/dist/language_models/chat_models.js.map +1 -1
- package/dist/language_models/stream.cjs +0 -2
- package/dist/language_models/stream.cjs.map +1 -1
- package/dist/language_models/stream.js +0 -2
- package/dist/language_models/stream.js.map +1 -1
- package/dist/load/index.cjs +7 -5
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.js +7 -5
- package/dist/load/index.js.map +1 -1
- package/dist/load/serializable.cjs +2 -1
- package/dist/load/serializable.cjs.map +1 -1
- package/dist/load/serializable.js +2 -1
- package/dist/load/serializable.js.map +1 -1
- package/dist/load/validation.cjs +4 -3
- package/dist/load/validation.cjs.map +1 -1
- package/dist/load/validation.js +4 -3
- package/dist/load/validation.js.map +1 -1
- package/dist/messages/base.cjs +13 -18
- package/dist/messages/base.cjs.map +1 -1
- package/dist/messages/base.d.cts.map +1 -1
- package/dist/messages/base.d.ts.map +1 -1
- package/dist/messages/base.js +13 -18
- package/dist/messages/base.js.map +1 -1
- package/dist/messages/block_translators/anthropic.cjs.map +1 -1
- package/dist/messages/block_translators/anthropic.js.map +1 -1
- package/dist/messages/block_translators/google.cjs +10 -9
- package/dist/messages/block_translators/google.cjs.map +1 -1
- package/dist/messages/block_translators/google.js +10 -9
- package/dist/messages/block_translators/google.js.map +1 -1
- package/dist/messages/block_translators/google_vertexai.cjs +14 -12
- package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
- package/dist/messages/block_translators/google_vertexai.js +14 -12
- package/dist/messages/block_translators/google_vertexai.js.map +1 -1
- package/dist/messages/block_translators/openai.cjs +212 -164
- package/dist/messages/block_translators/openai.cjs.map +1 -1
- package/dist/messages/block_translators/openai.js +212 -164
- package/dist/messages/block_translators/openai.js.map +1 -1
- package/dist/messages/message.cjs.map +1 -1
- package/dist/messages/message.d.cts.map +1 -1
- package/dist/messages/message.d.ts.map +1 -1
- package/dist/messages/message.js.map +1 -1
- package/dist/messages/transformers.cjs +12 -8
- package/dist/messages/transformers.cjs.map +1 -1
- package/dist/messages/transformers.js +12 -8
- package/dist/messages/transformers.js.map +1 -1
- package/dist/output_parsers/transform.cjs.map +1 -1
- package/dist/prompts/chat.cjs +2 -1
- package/dist/prompts/chat.cjs.map +1 -1
- package/dist/prompts/chat.js +2 -1
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/few_shot.cjs +6 -4
- package/dist/prompts/few_shot.cjs.map +1 -1
- package/dist/prompts/few_shot.js +6 -4
- package/dist/prompts/few_shot.js.map +1 -1
- package/dist/prompts/image.cjs +2 -1
- package/dist/prompts/image.cjs.map +1 -1
- package/dist/prompts/image.js +2 -1
- package/dist/prompts/image.js.map +1 -1
- package/dist/prompts/prompt.cjs.map +1 -1
- package/dist/prompts/prompt.d.cts.map +1 -1
- package/dist/prompts/prompt.d.ts.map +1 -1
- package/dist/prompts/prompt.js.map +1 -1
- package/dist/prompts/string.cjs +2 -1
- package/dist/prompts/string.cjs.map +1 -1
- package/dist/prompts/string.js +2 -1
- package/dist/prompts/string.js.map +1 -1
- package/dist/prompts/template.cjs.map +1 -1
- package/dist/prompts/template.js.map +1 -1
- package/dist/runnables/base.cjs +60 -40
- package/dist/runnables/base.cjs.map +1 -1
- package/dist/runnables/base.js +60 -40
- package/dist/runnables/base.js.map +1 -1
- package/dist/runnables/branch.cjs +16 -12
- package/dist/runnables/branch.cjs.map +1 -1
- package/dist/runnables/branch.js +16 -12
- package/dist/runnables/branch.js.map +1 -1
- package/dist/runnables/config.cjs +28 -23
- package/dist/runnables/config.cjs.map +1 -1
- package/dist/runnables/config.js +28 -23
- package/dist/runnables/config.js.map +1 -1
- package/dist/runnables/graph.cjs +2 -1
- package/dist/runnables/graph.cjs.map +1 -1
- package/dist/runnables/graph.js +2 -1
- package/dist/runnables/graph.js.map +1 -1
- package/dist/runnables/passthrough.cjs +8 -6
- package/dist/runnables/passthrough.cjs.map +1 -1
- package/dist/runnables/passthrough.js +8 -6
- package/dist/runnables/passthrough.js.map +1 -1
- package/dist/singletons/async_local_storage/context.cjs.map +1 -1
- package/dist/singletons/tracer.cjs +4 -1
- package/dist/singletons/tracer.cjs.map +1 -1
- package/dist/singletons/tracer.js +4 -1
- package/dist/singletons/tracer.js.map +1 -1
- package/dist/tools/index.cjs +22 -20
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.js +22 -20
- package/dist/tools/index.js.map +1 -1
- package/dist/tracers/base.cjs +11 -10
- package/dist/tracers/base.cjs.map +1 -1
- package/dist/tracers/base.js +11 -10
- package/dist/tracers/base.js.map +1 -1
- package/dist/tracers/log_stream.cjs +7 -6
- package/dist/tracers/log_stream.cjs.map +1 -1
- package/dist/tracers/log_stream.js +7 -6
- package/dist/tracers/log_stream.js.map +1 -1
- package/dist/tracers/tracer_langchain.cjs.map +1 -1
- package/dist/utils/env.cjs.map +1 -1
- package/dist/utils/env.d.cts.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/event_source_parse.cjs +1 -3
- package/dist/utils/event_source_parse.cjs.map +1 -1
- package/dist/utils/event_source_parse.js +1 -3
- package/dist/utils/event_source_parse.js.map +1 -1
- package/dist/utils/fast-json-patch/src/core.cjs +4 -2
- package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/core.js +4 -2
- package/dist/utils/fast-json-patch/src/core.js.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
- package/dist/utils/js-sha256/hash.cjs.map +1 -1
- package/dist/utils/js-sha256/hash.js.map +1 -1
- package/dist/utils/json_schema.cjs +4 -2
- package/dist/utils/json_schema.cjs.map +1 -1
- package/dist/utils/json_schema.js +4 -2
- package/dist/utils/json_schema.js.map +1 -1
- package/dist/utils/sax-js/sax.cjs +41 -35
- package/dist/utils/sax-js/sax.cjs.map +1 -1
- package/dist/utils/sax-js/sax.js +41 -35
- package/dist/utils/sax-js/sax.js.map +1 -1
- package/dist/utils/testing/chat_models.cjs +2 -1
- package/dist/utils/testing/chat_models.cjs.map +1 -1
- package/dist/utils/testing/chat_models.js +2 -1
- package/dist/utils/testing/chat_models.js.map +1 -1
- package/dist/utils/tiktoken.cjs.map +1 -1
- package/dist/utils/types/zod.cjs.map +1 -1
- package/dist/utils/types/zod.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +9 -9
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.js +9 -9
- package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.cjs +1 -3
- package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.js +1 -3
- package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.cjs +9 -9
- package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.js +9 -9
- package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.cjs +3 -13
- package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.js +3 -13
- package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
- package/package.json +6 -6
package/dist/runnables/base.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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)
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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)
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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)
|
|
466
|
-
|
|
467
|
-
|
|
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)
|
|
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)
|
|
955
|
-
const
|
|
956
|
-
|
|
957
|
-
|
|
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)
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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;
|