@agent-inspect/langchain 1.6.0 → 1.8.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.
- package/dist/index.cjs +144 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +144 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -109,6 +109,71 @@ function safePreview(value, maxChars) {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
var MAX_METADATA_KEYS = 40;
|
|
112
|
+
var LANGGRAPH_ALIASES = [
|
|
113
|
+
{ out: "graphId", aliases: ["graphId", "graph_id", "langgraph_graph_id"] },
|
|
114
|
+
{ out: "graphName", aliases: ["graphName", "graph_name", "langgraph_graph_name"] },
|
|
115
|
+
{ out: "nodeId", aliases: ["nodeId", "node_id", "langgraph_node_id"] },
|
|
116
|
+
{ out: "nodeName", aliases: ["nodeName", "node_name", "langgraph_node"] },
|
|
117
|
+
{ out: "subgraphId", aliases: ["subgraphId", "subgraph_id", "langgraph_subgraph_id"] },
|
|
118
|
+
{ out: "subgraphName", aliases: ["subgraphName", "subgraph_name", "langgraph_subgraph"] },
|
|
119
|
+
{ out: "taskId", aliases: ["taskId", "task_id", "langgraph_task_id"] },
|
|
120
|
+
{ out: "taskName", aliases: ["taskName", "task_name", "langgraph_task"] },
|
|
121
|
+
{ out: "branch", aliases: ["branch", "branchName", "branch_name", "langgraph_branch"] },
|
|
122
|
+
{ out: "branchPath", aliases: ["branchPath", "branch_path", "langgraph_path"] },
|
|
123
|
+
{ out: "checkpointId", aliases: ["checkpointId", "checkpoint_id", "langgraph_checkpoint_id"] },
|
|
124
|
+
{
|
|
125
|
+
out: "checkpointNamespace",
|
|
126
|
+
aliases: ["checkpointNamespace", "checkpoint_ns", "langgraph_checkpoint_ns"]
|
|
127
|
+
},
|
|
128
|
+
{ out: "threadId", aliases: ["threadId", "thread_id", "langgraph_thread_id"] },
|
|
129
|
+
{ out: "sessionId", aliases: ["sessionId", "session_id", "langgraph_session_id"] },
|
|
130
|
+
{ out: "retryAttempt", aliases: ["retryAttempt", "retry_attempt", "attempt"] },
|
|
131
|
+
{ out: "handoffFrom", aliases: ["handoffFrom", "handoff_from", "langgraph_handoff_from"] },
|
|
132
|
+
{ out: "handoffTo", aliases: ["handoffTo", "handoff_to", "langgraph_handoff_to"] }
|
|
133
|
+
];
|
|
134
|
+
var LANGGRAPH_SUMMARY_ALIASES = [
|
|
135
|
+
{ out: "checkpointSummary", aliases: ["checkpoint", "langgraph_checkpoint"] },
|
|
136
|
+
{ out: "branchSummary", aliases: ["branches", "langgraph_branches", "langgraph_triggers"] },
|
|
137
|
+
{ out: "taskSummary", aliases: ["tasks", "langgraph_tasks"] }
|
|
138
|
+
];
|
|
139
|
+
function boundedValue(value) {
|
|
140
|
+
if (value === null) return null;
|
|
141
|
+
if (typeof value === "string") return value.length <= 200 ? value : `${value.slice(0, 200)}\u2026`;
|
|
142
|
+
if (typeof value === "number" || typeof value === "boolean") return value;
|
|
143
|
+
if (typeof value === "bigint") return value.toString();
|
|
144
|
+
if (Array.isArray(value)) {
|
|
145
|
+
const items = value.slice(0, 10).map((item) => {
|
|
146
|
+
if (item === null) return null;
|
|
147
|
+
if (typeof item === "string" || typeof item === "number" || typeof item === "boolean") {
|
|
148
|
+
return item;
|
|
149
|
+
}
|
|
150
|
+
if (typeof item === "bigint") return item.toString();
|
|
151
|
+
return summarizeValue(item);
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
type: "array",
|
|
155
|
+
itemCount: value.length,
|
|
156
|
+
items,
|
|
157
|
+
truncated: value.length > items.length ? true : void 0
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return summarizeValue(value);
|
|
161
|
+
}
|
|
162
|
+
function summarizeValue(value) {
|
|
163
|
+
if (Array.isArray(value)) return { type: "array", itemCount: value.length };
|
|
164
|
+
if (isRecord(value)) return { type: "object", keyCount: Object.keys(value).length };
|
|
165
|
+
return { type: typeof value };
|
|
166
|
+
}
|
|
167
|
+
function getAliasValue(sources, aliases) {
|
|
168
|
+
for (const source of sources) {
|
|
169
|
+
for (const alias of aliases) {
|
|
170
|
+
if (Object.prototype.hasOwnProperty.call(source, alias)) {
|
|
171
|
+
return source[alias];
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return void 0;
|
|
176
|
+
}
|
|
112
177
|
function toPlainMetadata(value) {
|
|
113
178
|
try {
|
|
114
179
|
if (!isRecord(value)) return {};
|
|
@@ -145,6 +210,32 @@ function toPlainMetadata(value) {
|
|
|
145
210
|
return {};
|
|
146
211
|
}
|
|
147
212
|
}
|
|
213
|
+
function extractLangGraphMetadata(value) {
|
|
214
|
+
try {
|
|
215
|
+
if (!isRecord(value)) return void 0;
|
|
216
|
+
const sources = [value];
|
|
217
|
+
for (const key of ["langgraph", "configurable"]) {
|
|
218
|
+
const nested = value[key];
|
|
219
|
+
if (isRecord(nested)) sources.push(nested);
|
|
220
|
+
}
|
|
221
|
+
const config = value.config;
|
|
222
|
+
if (isRecord(config) && isRecord(config.configurable)) {
|
|
223
|
+
sources.push(config.configurable);
|
|
224
|
+
}
|
|
225
|
+
const out = {};
|
|
226
|
+
for (const { out: outKey, aliases } of LANGGRAPH_ALIASES) {
|
|
227
|
+
const raw = getAliasValue(sources, aliases);
|
|
228
|
+
if (raw !== void 0) out[outKey] = boundedValue(raw);
|
|
229
|
+
}
|
|
230
|
+
for (const { out: outKey, aliases } of LANGGRAPH_SUMMARY_ALIASES) {
|
|
231
|
+
const raw = getAliasValue(sources, aliases);
|
|
232
|
+
if (raw !== void 0) out[outKey] = summarizeValue(raw);
|
|
233
|
+
}
|
|
234
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
235
|
+
} catch {
|
|
236
|
+
return void 0;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
148
239
|
|
|
149
240
|
// packages/langchain/src/streaming-metadata.ts
|
|
150
241
|
function createLlmStreamState() {
|
|
@@ -284,6 +375,11 @@ var LangChainTracePersistence = class {
|
|
|
284
375
|
const stepId = createStepId();
|
|
285
376
|
this.#lcToStepId.set(params.lcRunId, stepId);
|
|
286
377
|
const parentId = this.resolveParentId(params.lcParentRunId);
|
|
378
|
+
const metadata = toStepMetadata(params.attributes);
|
|
379
|
+
if (params.lcParentRunId && !parentId) {
|
|
380
|
+
metadata.parentMapping = "unresolved";
|
|
381
|
+
metadata.unresolvedParentRunId = params.lcParentRunId;
|
|
382
|
+
}
|
|
287
383
|
const event = {
|
|
288
384
|
schemaVersion: "0.1",
|
|
289
385
|
event: "step_started",
|
|
@@ -294,7 +390,7 @@ var LangChainTracePersistence = class {
|
|
|
294
390
|
name: params.name,
|
|
295
391
|
type: kindToStepType(params.kind),
|
|
296
392
|
startTime: params.startTime,
|
|
297
|
-
metadata
|
|
393
|
+
metadata
|
|
298
394
|
};
|
|
299
395
|
await this.#write(event);
|
|
300
396
|
} catch (err) {
|
|
@@ -308,6 +404,11 @@ var LangChainTracePersistence = class {
|
|
|
308
404
|
stepId = createStepId();
|
|
309
405
|
this.#lcToStepId.set(params.lcRunId, stepId);
|
|
310
406
|
const parentId = this.resolveParentId(params.lcParentRunId);
|
|
407
|
+
const metadata = toStepMetadata(params.completionAttributes);
|
|
408
|
+
if (params.lcParentRunId && !parentId) {
|
|
409
|
+
metadata.parentMapping = "unresolved";
|
|
410
|
+
metadata.unresolvedParentRunId = params.lcParentRunId;
|
|
411
|
+
}
|
|
311
412
|
const startTime = params.endTime - (params.durationMs ?? 0);
|
|
312
413
|
const started = {
|
|
313
414
|
schemaVersion: "0.1",
|
|
@@ -321,7 +422,7 @@ var LangChainTracePersistence = class {
|
|
|
321
422
|
params.completionAttributes.kind ?? "LLM"
|
|
322
423
|
),
|
|
323
424
|
startTime,
|
|
324
|
-
metadata
|
|
425
|
+
metadata
|
|
325
426
|
};
|
|
326
427
|
await this.#write(started);
|
|
327
428
|
}
|
|
@@ -360,6 +461,11 @@ var LangChainTracePersistence = class {
|
|
|
360
461
|
const stepId = createStepId();
|
|
361
462
|
this.#lcToStepId.set(params.lcRunId, stepId);
|
|
362
463
|
const parentId = this.resolveParentId(params.lcParentRunId);
|
|
464
|
+
const metadata = toStepMetadata(params.attributes);
|
|
465
|
+
if (params.lcParentRunId && !parentId) {
|
|
466
|
+
metadata.parentMapping = "unresolved";
|
|
467
|
+
metadata.unresolvedParentRunId = params.lcParentRunId;
|
|
468
|
+
}
|
|
363
469
|
const started = {
|
|
364
470
|
schemaVersion: "0.1",
|
|
365
471
|
event: "step_started",
|
|
@@ -370,7 +476,7 @@ var LangChainTracePersistence = class {
|
|
|
370
476
|
name: params.name,
|
|
371
477
|
type: kindToStepType(params.kind),
|
|
372
478
|
startTime: params.timestamp,
|
|
373
|
-
metadata
|
|
479
|
+
metadata
|
|
374
480
|
};
|
|
375
481
|
await this.#write(started);
|
|
376
482
|
const completed = {
|
|
@@ -441,6 +547,9 @@ var LangChainTracePersistence = class {
|
|
|
441
547
|
};
|
|
442
548
|
|
|
443
549
|
// packages/langchain/src/agent-inspect-callback.ts
|
|
550
|
+
function isRecord2(v) {
|
|
551
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
552
|
+
}
|
|
444
553
|
function serializedLabel(s) {
|
|
445
554
|
if (typeof s.name === "string" && s.name.trim()) return s.name;
|
|
446
555
|
if (Array.isArray(s.id) && s.id.length > 0) return s.id[s.id.length - 1];
|
|
@@ -574,6 +683,15 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
574
683
|
#rememberStart(lcRunId, kind) {
|
|
575
684
|
this.#starts.set(lcRunId, { ts: Date.now(), kind });
|
|
576
685
|
}
|
|
686
|
+
#rememberStartMetadata(lcRunId, attrs) {
|
|
687
|
+
const start = this.#starts.get(lcRunId);
|
|
688
|
+
if (!start || !isRecord2(attrs.langGraph)) return;
|
|
689
|
+
this.#starts.set(lcRunId, { ...start, langGraph: { ...attrs.langGraph } });
|
|
690
|
+
}
|
|
691
|
+
#attachStartMetadata(attrs, lcRunId) {
|
|
692
|
+
const langGraph = this.#starts.get(lcRunId)?.langGraph;
|
|
693
|
+
if (langGraph && !attrs.langGraph) attrs.langGraph = { ...langGraph };
|
|
694
|
+
}
|
|
577
695
|
#clearStart(lcRunId) {
|
|
578
696
|
this.#starts.delete(lcRunId);
|
|
579
697
|
}
|
|
@@ -592,6 +710,8 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
592
710
|
#mergeMetadata(attrs, metadata) {
|
|
593
711
|
if (this.#opts.capture === "none" || !metadata) return;
|
|
594
712
|
attrs.metadata = this.#redactor.redactRecord(toPlainMetadata(metadata));
|
|
713
|
+
const langGraph = extractLangGraphMetadata(metadata);
|
|
714
|
+
if (langGraph) attrs.langGraph = this.#redactor.redactRecord(langGraph);
|
|
595
715
|
}
|
|
596
716
|
#applyPreview(attrs, previews) {
|
|
597
717
|
if (this.#opts.capture !== "preview") return;
|
|
@@ -655,6 +775,7 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
655
775
|
};
|
|
656
776
|
this.#mergeMetadata(attrs, metadata);
|
|
657
777
|
this.#applyPreview(attrs, previews);
|
|
778
|
+
this.#rememberStartMetadata(runId, attrs);
|
|
658
779
|
const ts = Date.now();
|
|
659
780
|
this.#pushEvent({
|
|
660
781
|
eventId: `${runId}:CHAIN:start`,
|
|
@@ -673,12 +794,13 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
673
794
|
async handleChainEnd(outputs, runId, parentRunId, tags, _kwargs) {
|
|
674
795
|
this.#ensureRoot(runId, parentRunId);
|
|
675
796
|
const durationMs = this.#durationFor(runId);
|
|
676
|
-
this.#clearStart(runId);
|
|
677
797
|
const previews = {};
|
|
678
798
|
if (this.#opts.capture === "preview") previews.outputPreview = outputs;
|
|
679
799
|
const attrs = {
|
|
680
800
|
...this.#baseAttrs(runId, parentRunId, tags, void 0)
|
|
681
801
|
};
|
|
802
|
+
this.#attachStartMetadata(attrs, runId);
|
|
803
|
+
this.#clearStart(runId);
|
|
682
804
|
this.#applyPreview(attrs, previews);
|
|
683
805
|
const ts = Date.now();
|
|
684
806
|
this.#pushEvent({
|
|
@@ -699,13 +821,14 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
699
821
|
async handleChainError(err, runId, parentRunId, tags, _kwargs) {
|
|
700
822
|
this.#ensureRoot(runId, parentRunId);
|
|
701
823
|
const durationMs = this.#durationFor(runId);
|
|
702
|
-
this.#clearStart(runId);
|
|
703
824
|
const { errorName, errorMessage } = errorShape(err);
|
|
704
825
|
const attrs = {
|
|
705
826
|
...this.#baseAttrs(runId, parentRunId, tags, void 0),
|
|
706
827
|
errorName,
|
|
707
828
|
errorMessage
|
|
708
829
|
};
|
|
830
|
+
this.#attachStartMetadata(attrs, runId);
|
|
831
|
+
this.#clearStart(runId);
|
|
709
832
|
const ts = Date.now();
|
|
710
833
|
this.#pushEvent({
|
|
711
834
|
eventId: `${runId}:CHAIN:error`,
|
|
@@ -737,6 +860,7 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
737
860
|
this.#mergeMetadata(attrs, metadata);
|
|
738
861
|
this.#mergeCorrelation(attrs);
|
|
739
862
|
this.#applyPreview(attrs, previews);
|
|
863
|
+
this.#rememberStartMetadata(runId, attrs);
|
|
740
864
|
const ts = Date.now();
|
|
741
865
|
const stepName = `llm:${model ?? "llm"}`;
|
|
742
866
|
this.#pushEvent({
|
|
@@ -766,6 +890,7 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
766
890
|
this.#mergeMetadata(attrs, metadata);
|
|
767
891
|
this.#mergeCorrelation(attrs);
|
|
768
892
|
this.#applyPreview(attrs, previews);
|
|
893
|
+
this.#rememberStartMetadata(runId, attrs);
|
|
769
894
|
const ts = Date.now();
|
|
770
895
|
const stepName = `llm:${model ?? "llm"}`;
|
|
771
896
|
this.#pushEvent({
|
|
@@ -800,7 +925,6 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
800
925
|
async handleLLMEnd(output, runId, parentRunId, tags, _extraParams) {
|
|
801
926
|
this.#ensureRoot(runId, parentRunId);
|
|
802
927
|
const durationMs = this.#durationFor(runId);
|
|
803
|
-
this.#clearStart(runId);
|
|
804
928
|
const tokens = extractTokenUsage(output);
|
|
805
929
|
const model = extractModelName(output);
|
|
806
930
|
const previews = {};
|
|
@@ -810,6 +934,8 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
810
934
|
};
|
|
811
935
|
if (model && this.#opts.capture !== "none") attrs.model = model;
|
|
812
936
|
if (tokens && this.#opts.capture !== "none") attrs.tokens = tokens;
|
|
937
|
+
this.#attachStartMetadata(attrs, runId);
|
|
938
|
+
this.#clearStart(runId);
|
|
813
939
|
this.#attachStreamMetadata(attrs, runId);
|
|
814
940
|
this.#mergeCorrelation(attrs);
|
|
815
941
|
this.#applyPreview(attrs, previews);
|
|
@@ -838,13 +964,14 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
838
964
|
async handleLLMError(err, runId, parentRunId, tags, _extraParams) {
|
|
839
965
|
this.#ensureRoot(runId, parentRunId);
|
|
840
966
|
const durationMs = this.#durationFor(runId);
|
|
841
|
-
this.#clearStart(runId);
|
|
842
967
|
const { errorName, errorMessage } = errorShape(err);
|
|
843
968
|
const attrs = {
|
|
844
969
|
...this.#baseAttrs(runId, parentRunId, tags, void 0),
|
|
845
970
|
errorName,
|
|
846
971
|
errorMessage
|
|
847
972
|
};
|
|
973
|
+
this.#attachStartMetadata(attrs, runId);
|
|
974
|
+
this.#clearStart(runId);
|
|
848
975
|
this.#attachStreamMetadata(attrs, runId);
|
|
849
976
|
this.#mergeCorrelation(attrs);
|
|
850
977
|
const ts = Date.now();
|
|
@@ -881,6 +1008,7 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
881
1008
|
};
|
|
882
1009
|
this.#mergeMetadata(attrs, metadata);
|
|
883
1010
|
this.#applyPreview(attrs, previews);
|
|
1011
|
+
this.#rememberStartMetadata(runId, attrs);
|
|
884
1012
|
const ts = Date.now();
|
|
885
1013
|
const stepName = `tool:${toolName}`;
|
|
886
1014
|
this.#pushEvent({
|
|
@@ -900,12 +1028,13 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
900
1028
|
async handleToolEnd(output, runId, parentRunId, tags) {
|
|
901
1029
|
this.#ensureRoot(runId, parentRunId);
|
|
902
1030
|
const durationMs = this.#durationFor(runId);
|
|
903
|
-
this.#clearStart(runId);
|
|
904
1031
|
const previews = {};
|
|
905
1032
|
if (this.#opts.capture === "preview") previews.outputPreview = output;
|
|
906
1033
|
const attrs = {
|
|
907
1034
|
...this.#baseAttrs(runId, parentRunId, tags, void 0)
|
|
908
1035
|
};
|
|
1036
|
+
this.#attachStartMetadata(attrs, runId);
|
|
1037
|
+
this.#clearStart(runId);
|
|
909
1038
|
this.#applyPreview(attrs, previews);
|
|
910
1039
|
const ts = Date.now();
|
|
911
1040
|
this.#pushEvent({
|
|
@@ -926,13 +1055,14 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
926
1055
|
async handleToolError(err, runId, parentRunId, tags) {
|
|
927
1056
|
this.#ensureRoot(runId, parentRunId);
|
|
928
1057
|
const durationMs = this.#durationFor(runId);
|
|
929
|
-
this.#clearStart(runId);
|
|
930
1058
|
const { errorName, errorMessage } = errorShape(err);
|
|
931
1059
|
const attrs = {
|
|
932
1060
|
...this.#baseAttrs(runId, parentRunId, tags, void 0),
|
|
933
1061
|
errorName,
|
|
934
1062
|
errorMessage
|
|
935
1063
|
};
|
|
1064
|
+
this.#attachStartMetadata(attrs, runId);
|
|
1065
|
+
this.#clearStart(runId);
|
|
936
1066
|
const ts = Date.now();
|
|
937
1067
|
this.#pushEvent({
|
|
938
1068
|
eventId: `${runId}:TOOL:error`,
|
|
@@ -958,6 +1088,7 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
958
1088
|
retriever: rname
|
|
959
1089
|
};
|
|
960
1090
|
this.#mergeMetadata(attrs, metadata);
|
|
1091
|
+
this.#rememberStartMetadata(runId, attrs);
|
|
961
1092
|
const ts = Date.now();
|
|
962
1093
|
const stepName = `retriever:${rname}`;
|
|
963
1094
|
this.#pushEvent({
|
|
@@ -977,7 +1108,6 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
977
1108
|
async handleRetrieverEnd(documents, runId, parentRunId, tags) {
|
|
978
1109
|
this.#ensureRoot(runId, parentRunId);
|
|
979
1110
|
const durationMs = this.#durationFor(runId);
|
|
980
|
-
this.#clearStart(runId);
|
|
981
1111
|
const previews = {};
|
|
982
1112
|
if (this.#opts.capture === "preview" && documents.length > 0) {
|
|
983
1113
|
previews.documentPreview = documents.slice(0, 3);
|
|
@@ -986,6 +1116,8 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
986
1116
|
...this.#baseAttrs(runId, parentRunId, tags, void 0),
|
|
987
1117
|
documentCount: documents.length
|
|
988
1118
|
};
|
|
1119
|
+
this.#attachStartMetadata(attrs, runId);
|
|
1120
|
+
this.#clearStart(runId);
|
|
989
1121
|
this.#applyPreview(attrs, previews);
|
|
990
1122
|
const ts = Date.now();
|
|
991
1123
|
this.#pushEvent({
|
|
@@ -1006,13 +1138,14 @@ var AgentInspectCallback = class extends BaseCallbackHandler {
|
|
|
1006
1138
|
async handleRetrieverError(err, runId, parentRunId, tags) {
|
|
1007
1139
|
this.#ensureRoot(runId, parentRunId);
|
|
1008
1140
|
const durationMs = this.#durationFor(runId);
|
|
1009
|
-
this.#clearStart(runId);
|
|
1010
1141
|
const { errorName, errorMessage } = errorShape(err);
|
|
1011
1142
|
const attrs = {
|
|
1012
1143
|
...this.#baseAttrs(runId, parentRunId, tags, void 0),
|
|
1013
1144
|
errorName,
|
|
1014
1145
|
errorMessage
|
|
1015
1146
|
};
|
|
1147
|
+
this.#attachStartMetadata(attrs, runId);
|
|
1148
|
+
this.#clearStart(runId);
|
|
1016
1149
|
const ts = Date.now();
|
|
1017
1150
|
this.#pushEvent({
|
|
1018
1151
|
eventId: `${runId}:RETRIEVER:error`,
|