@langchain/core 1.3.2 → 1.3.3

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @langchain/core
2
2
 
3
+ ## 1.3.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#11567](https://github.com/langchain-ai/langchainjs/pull/11567) [`d92aba6`](https://github.com/langchain-ai/langchainjs/commit/d92aba67d3ffef8e1e0fa62cdb97cbd6e7022582) Thanks [@hntrl](https://github.com/hntrl)! - Add `tracePolicy` to `RunnableSequence`. Its `processInputs`/`processOutputs` shape only what `LangChainTracer` sends to LangSmith for the sequence's own run. Batched sequence runs now each record their own output.
8
+
3
9
  ## 1.3.2
4
10
 
5
11
  ### Patch Changes
@@ -139,7 +139,7 @@ var BaseLangChain = class extends require_base.Runnable {
139
139
  this.callbacks = params.callbacks;
140
140
  this.tags = params.tags ?? [];
141
141
  this.metadata = params.metadata ?? {};
142
- this._addVersion("@langchain/core", "1.3.2");
142
+ this._addVersion("@langchain/core", "1.3.3");
143
143
  }
144
144
  _addVersion(pkg, version) {
145
145
  const existing = this.metadata?.versions;
@@ -138,7 +138,7 @@ var BaseLangChain = class extends Runnable {
138
138
  this.callbacks = params.callbacks;
139
139
  this.tags = params.tags ?? [];
140
140
  this.metadata = params.metadata ?? {};
141
- this._addVersion("@langchain/core", "1.3.2");
141
+ this._addVersion("@langchain/core", "1.3.3");
142
142
  }
143
143
  _addVersion(pkg, version) {
144
144
  const existing = this.metadata?.versions;
@@ -1,6 +1,7 @@
1
1
  const require_utils = require("../tools/utils.cjs");
2
2
  const require_load_serializable = require("../load/serializable.cjs");
3
3
  const require_utils_uuid_index = require("../utils/uuid/index.cjs");
4
+ const require_trace_policy = require("../tracers/trace_policy.cjs");
4
5
  const require_index = require("../singletons/async_local_storage/index.cjs");
5
6
  require("../singletons/index.cjs");
6
7
  const require_config = require("./config.cjs");
@@ -915,15 +916,22 @@ var RunnableSequence = class RunnableSequence extends Runnable {
915
916
  middle = [];
916
917
  last;
917
918
  omitSequenceTags = false;
919
+ _tracePolicy;
918
920
  lc_serializable = true;
919
921
  lc_namespace = ["langchain_core", "runnables"];
920
922
  constructor(fields) {
921
- super(fields);
923
+ const { tracePolicy, ...serializableFields } = fields;
924
+ super(serializableFields);
922
925
  this.first = fields.first;
923
926
  this.middle = fields.middle ?? this.middle;
924
927
  this.last = fields.last;
925
928
  this.name = fields.name;
926
929
  this.omitSequenceTags = fields.omitSequenceTags ?? this.omitSequenceTags;
930
+ this._tracePolicy = tracePolicy;
931
+ }
932
+ /** `extra` for this sequence's run, carrying its trace policy. */
933
+ get _runExtra() {
934
+ return this._tracePolicy ? { [require_trace_policy.TRACE_POLICY_KEY]: this._tracePolicy } : void 0;
927
935
  }
928
936
  get steps() {
929
937
  return [
@@ -934,7 +942,7 @@ var RunnableSequence = class RunnableSequence extends Runnable {
934
942
  }
935
943
  async invoke(input, options) {
936
944
  const config = require_config.ensureConfig(options);
937
- const runManager = await (await require_config.getCallbackManagerForConfig(config))?.handleChainStart(this.toJSON(), _coerceToDict(input, "input"), config.runId, void 0, void 0, void 0, config?.runName);
945
+ const runManager = await (await require_config.getCallbackManagerForConfig(config))?.handleChainStart(this.toJSON(), _coerceToDict(input, "input"), config.runId, void 0, void 0, void 0, config?.runName, void 0, this._runExtra);
938
946
  delete config.runId;
939
947
  let nextStepInput = input;
940
948
  let finalOutput;
@@ -957,7 +965,7 @@ var RunnableSequence = class RunnableSequence extends Runnable {
957
965
  const configList = this._getOptionsList(options ?? {}, inputs.length);
958
966
  const callbackManagers = await Promise.all(configList.map(require_config.getCallbackManagerForConfig));
959
967
  const runManagers = await Promise.all(callbackManagers.map(async (callbackManager, i) => {
960
- const handleStartRes = await callbackManager?.handleChainStart(this.toJSON(), _coerceToDict(inputs[i], "input"), configList[i].runId, void 0, void 0, void 0, configList[i].runName);
968
+ const handleStartRes = await callbackManager?.handleChainStart(this.toJSON(), _coerceToDict(inputs[i], "input"), configList[i].runId, void 0, void 0, void 0, configList[i].runName, void 0, this._runExtra);
961
969
  delete configList[i].runId;
962
970
  return handleStartRes;
963
971
  }));
@@ -974,7 +982,7 @@ var RunnableSequence = class RunnableSequence extends Runnable {
974
982
  await Promise.all(runManagers.map((runManager) => runManager?.handleChainError(e)));
975
983
  throw e;
976
984
  }
977
- await Promise.all(runManagers.map((runManager) => runManager?.handleChainEnd(_coerceToDict(nextStepInputs, "output"))));
985
+ await Promise.all(runManagers.map((runManager, i) => runManager?.handleChainEnd(_coerceToDict(nextStepInputs[i], "output"))));
978
986
  return nextStepInputs;
979
987
  }
980
988
  /** @internal */
@@ -984,7 +992,7 @@ var RunnableSequence = class RunnableSequence extends Runnable {
984
992
  async *_streamIterator(input, options) {
985
993
  const callbackManager_ = await require_config.getCallbackManagerForConfig(options);
986
994
  const { runId, ...otherOptions } = options ?? {};
987
- const runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, "input"), runId, void 0, void 0, void 0, otherOptions?.runName);
995
+ const runManager = await callbackManager_?.handleChainStart(this.toJSON(), _coerceToDict(input, "input"), runId, void 0, void 0, void 0, otherOptions?.runName, void 0, this._runExtra);
988
996
  const steps = [
989
997
  this.first,
990
998
  ...this.middle,