@langchain/core 0.3.63 → 0.3.64
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/tracers/base.cjs
CHANGED
|
@@ -26,6 +26,7 @@ function convertRunToRunTree(run, parentRun) {
|
|
|
26
26
|
}
|
|
27
27
|
return new run_trees_1.RunTree({
|
|
28
28
|
...run,
|
|
29
|
+
start_time: run._serialized_start_time ?? run.start_time,
|
|
29
30
|
parent_run: convertRunToRunTree(parentRun),
|
|
30
31
|
child_runs: run.child_runs
|
|
31
32
|
.map((r) => convertRunToRunTree(r))
|
|
@@ -43,13 +44,6 @@ function _coerceToDict(value, defaultKey) {
|
|
|
43
44
|
? value
|
|
44
45
|
: { [defaultKey]: value };
|
|
45
46
|
}
|
|
46
|
-
function stripNonAlphanumeric(input) {
|
|
47
|
-
return input.replace(/[-:.]/g, "");
|
|
48
|
-
}
|
|
49
|
-
function convertToDottedOrderFormat(epoch, runId, executionOrder) {
|
|
50
|
-
const paddedOrder = executionOrder.toFixed(0).slice(0, 3).padStart(3, "0");
|
|
51
|
-
return (stripNonAlphanumeric(`${new Date(epoch).toISOString().slice(0, -1)}${paddedOrder}Z`) + runId);
|
|
52
|
-
}
|
|
53
47
|
function isBaseTracer(x) {
|
|
54
48
|
return typeof x._addRunToRunMap === "function";
|
|
55
49
|
}
|
|
@@ -101,7 +95,7 @@ class BaseTracer extends base_js_1.BaseCallbackHandler {
|
|
|
101
95
|
parentRun.child_runs.push(childRun);
|
|
102
96
|
}
|
|
103
97
|
_addRunToRunMap(run) {
|
|
104
|
-
const currentDottedOrder = convertToDottedOrderFormat(run.start_time, run.id, run.execution_order);
|
|
98
|
+
const { dottedOrder: currentDottedOrder, microsecondPrecisionDatestring } = (0, run_trees_1.convertToDottedOrderFormat)(new Date(run.start_time).getTime(), run.id, run.execution_order);
|
|
105
99
|
const storedRun = { ...run };
|
|
106
100
|
const parentRun = this.getRunById(storedRun.parent_run_id);
|
|
107
101
|
if (storedRun.parent_run_id !== undefined) {
|
|
@@ -114,6 +108,7 @@ class BaseTracer extends base_js_1.BaseCallbackHandler {
|
|
|
114
108
|
parentRun.dotted_order,
|
|
115
109
|
currentDottedOrder,
|
|
116
110
|
].join(".");
|
|
111
|
+
storedRun._serialized_start_time = microsecondPrecisionDatestring;
|
|
117
112
|
}
|
|
118
113
|
else {
|
|
119
114
|
// This can happen naturally for callbacks added within a run
|
|
@@ -130,6 +125,7 @@ class BaseTracer extends base_js_1.BaseCallbackHandler {
|
|
|
130
125
|
else {
|
|
131
126
|
storedRun.trace_id = storedRun.id;
|
|
132
127
|
storedRun.dotted_order = currentDottedOrder;
|
|
128
|
+
storedRun._serialized_start_time = microsecondPrecisionDatestring;
|
|
133
129
|
}
|
|
134
130
|
if (this.usesRunTreeMap) {
|
|
135
131
|
const runTree = convertRunToRunTree(storedRun, parentRun);
|
package/dist/tracers/base.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export type RunType = string;
|
|
|
11
11
|
export interface Run extends BaseRun {
|
|
12
12
|
id: string;
|
|
13
13
|
start_time: number;
|
|
14
|
+
end_time?: number;
|
|
14
15
|
execution_order: number;
|
|
15
16
|
child_runs: this[];
|
|
16
17
|
child_execution_order: number;
|
|
@@ -21,6 +22,8 @@ export interface Run extends BaseRun {
|
|
|
21
22
|
}>;
|
|
22
23
|
trace_id?: string;
|
|
23
24
|
dotted_order?: string;
|
|
25
|
+
/** @internal */
|
|
26
|
+
_serialized_start_time?: string;
|
|
24
27
|
}
|
|
25
28
|
export interface AgentRun extends Run {
|
|
26
29
|
actions: AgentAction[];
|
|
@@ -40,6 +43,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
40
43
|
_addRunToRunMap(run: Run): {
|
|
41
44
|
id: string;
|
|
42
45
|
start_time: number;
|
|
46
|
+
end_time?: number;
|
|
43
47
|
execution_order: number;
|
|
44
48
|
child_runs: Run[];
|
|
45
49
|
child_execution_order: number;
|
|
@@ -50,9 +54,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
50
54
|
}>;
|
|
51
55
|
trace_id?: string;
|
|
52
56
|
dotted_order?: string;
|
|
57
|
+
/** @internal */
|
|
58
|
+
_serialized_start_time?: string;
|
|
53
59
|
name: string;
|
|
54
60
|
run_type: string;
|
|
55
|
-
end_time?: number;
|
|
56
61
|
extra?: KVMap;
|
|
57
62
|
error?: string;
|
|
58
63
|
serialized?: object;
|
|
@@ -73,6 +78,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
73
78
|
_createRunForLLMStart(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap, name?: string): {
|
|
74
79
|
id: string;
|
|
75
80
|
start_time: number;
|
|
81
|
+
end_time?: number;
|
|
76
82
|
execution_order: number;
|
|
77
83
|
child_runs: Run[];
|
|
78
84
|
child_execution_order: number;
|
|
@@ -83,9 +89,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
83
89
|
}>;
|
|
84
90
|
trace_id?: string;
|
|
85
91
|
dotted_order?: string;
|
|
92
|
+
/** @internal */
|
|
93
|
+
_serialized_start_time?: string;
|
|
86
94
|
name: string;
|
|
87
95
|
run_type: string;
|
|
88
|
-
end_time?: number;
|
|
89
96
|
extra?: KVMap;
|
|
90
97
|
error?: string;
|
|
91
98
|
serialized?: object;
|
|
@@ -105,6 +112,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
105
112
|
_createRunForChatModelStart(llm: Serialized, messages: BaseMessage[][], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap, name?: string): {
|
|
106
113
|
id: string;
|
|
107
114
|
start_time: number;
|
|
115
|
+
end_time?: number;
|
|
108
116
|
execution_order: number;
|
|
109
117
|
child_runs: Run[];
|
|
110
118
|
child_execution_order: number;
|
|
@@ -115,9 +123,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
115
123
|
}>;
|
|
116
124
|
trace_id?: string;
|
|
117
125
|
dotted_order?: string;
|
|
126
|
+
/** @internal */
|
|
127
|
+
_serialized_start_time?: string;
|
|
118
128
|
name: string;
|
|
119
129
|
run_type: string;
|
|
120
|
-
end_time?: number;
|
|
121
130
|
extra?: KVMap;
|
|
122
131
|
error?: string;
|
|
123
132
|
serialized?: object;
|
|
@@ -139,6 +148,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
139
148
|
_createRunForChainStart(chain: Serialized, inputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, runType?: string, name?: string): {
|
|
140
149
|
id: string;
|
|
141
150
|
start_time: number;
|
|
151
|
+
end_time?: number;
|
|
142
152
|
execution_order: number;
|
|
143
153
|
child_runs: Run[];
|
|
144
154
|
child_execution_order: number;
|
|
@@ -149,9 +159,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
149
159
|
}>;
|
|
150
160
|
trace_id?: string;
|
|
151
161
|
dotted_order?: string;
|
|
162
|
+
/** @internal */
|
|
163
|
+
_serialized_start_time?: string;
|
|
152
164
|
name: string;
|
|
153
165
|
run_type: string;
|
|
154
|
-
end_time?: number;
|
|
155
166
|
extra?: KVMap;
|
|
156
167
|
error?: string;
|
|
157
168
|
serialized?: object;
|
|
@@ -177,6 +188,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
177
188
|
_createRunForToolStart(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, name?: string): {
|
|
178
189
|
id: string;
|
|
179
190
|
start_time: number;
|
|
191
|
+
end_time?: number;
|
|
180
192
|
execution_order: number;
|
|
181
193
|
child_runs: Run[];
|
|
182
194
|
child_execution_order: number;
|
|
@@ -187,9 +199,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
187
199
|
}>;
|
|
188
200
|
trace_id?: string;
|
|
189
201
|
dotted_order?: string;
|
|
202
|
+
/** @internal */
|
|
203
|
+
_serialized_start_time?: string;
|
|
190
204
|
name: string;
|
|
191
205
|
run_type: string;
|
|
192
|
-
end_time?: number;
|
|
193
206
|
extra?: KVMap;
|
|
194
207
|
error?: string;
|
|
195
208
|
serialized?: object;
|
|
@@ -213,6 +226,7 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
213
226
|
_createRunForRetrieverStart(retriever: Serialized, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, name?: string): {
|
|
214
227
|
id: string;
|
|
215
228
|
start_time: number;
|
|
229
|
+
end_time?: number;
|
|
216
230
|
execution_order: number;
|
|
217
231
|
child_runs: Run[];
|
|
218
232
|
child_execution_order: number;
|
|
@@ -223,9 +237,10 @@ export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
|
223
237
|
}>;
|
|
224
238
|
trace_id?: string;
|
|
225
239
|
dotted_order?: string;
|
|
240
|
+
/** @internal */
|
|
241
|
+
_serialized_start_time?: string;
|
|
226
242
|
name: string;
|
|
227
243
|
run_type: string;
|
|
228
|
-
end_time?: number;
|
|
229
244
|
extra?: KVMap;
|
|
230
245
|
error?: string;
|
|
231
246
|
serialized?: object;
|
package/dist/tracers/base.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RunTree } from "langsmith/run_trees";
|
|
1
|
+
import { RunTree, convertToDottedOrderFormat } from "langsmith/run_trees";
|
|
2
2
|
import { BaseCallbackHandler, } from "../callbacks/base.js";
|
|
3
3
|
import { getRuntimeEnvironmentSync } from "../utils/env.js";
|
|
4
4
|
// TODO: Remove and just use base LangSmith Run type
|
|
@@ -22,6 +22,7 @@ function convertRunToRunTree(run, parentRun) {
|
|
|
22
22
|
}
|
|
23
23
|
return new RunTree({
|
|
24
24
|
...run,
|
|
25
|
+
start_time: run._serialized_start_time ?? run.start_time,
|
|
25
26
|
parent_run: convertRunToRunTree(parentRun),
|
|
26
27
|
child_runs: run.child_runs
|
|
27
28
|
.map((r) => convertRunToRunTree(r))
|
|
@@ -39,13 +40,6 @@ function _coerceToDict(value, defaultKey) {
|
|
|
39
40
|
? value
|
|
40
41
|
: { [defaultKey]: value };
|
|
41
42
|
}
|
|
42
|
-
function stripNonAlphanumeric(input) {
|
|
43
|
-
return input.replace(/[-:.]/g, "");
|
|
44
|
-
}
|
|
45
|
-
function convertToDottedOrderFormat(epoch, runId, executionOrder) {
|
|
46
|
-
const paddedOrder = executionOrder.toFixed(0).slice(0, 3).padStart(3, "0");
|
|
47
|
-
return (stripNonAlphanumeric(`${new Date(epoch).toISOString().slice(0, -1)}${paddedOrder}Z`) + runId);
|
|
48
|
-
}
|
|
49
43
|
export function isBaseTracer(x) {
|
|
50
44
|
return typeof x._addRunToRunMap === "function";
|
|
51
45
|
}
|
|
@@ -97,7 +91,7 @@ export class BaseTracer extends BaseCallbackHandler {
|
|
|
97
91
|
parentRun.child_runs.push(childRun);
|
|
98
92
|
}
|
|
99
93
|
_addRunToRunMap(run) {
|
|
100
|
-
const currentDottedOrder = convertToDottedOrderFormat(run.start_time, run.id, run.execution_order);
|
|
94
|
+
const { dottedOrder: currentDottedOrder, microsecondPrecisionDatestring } = convertToDottedOrderFormat(new Date(run.start_time).getTime(), run.id, run.execution_order);
|
|
101
95
|
const storedRun = { ...run };
|
|
102
96
|
const parentRun = this.getRunById(storedRun.parent_run_id);
|
|
103
97
|
if (storedRun.parent_run_id !== undefined) {
|
|
@@ -110,6 +104,7 @@ export class BaseTracer extends BaseCallbackHandler {
|
|
|
110
104
|
parentRun.dotted_order,
|
|
111
105
|
currentDottedOrder,
|
|
112
106
|
].join(".");
|
|
107
|
+
storedRun._serialized_start_time = microsecondPrecisionDatestring;
|
|
113
108
|
}
|
|
114
109
|
else {
|
|
115
110
|
// This can happen naturally for callbacks added within a run
|
|
@@ -126,6 +121,7 @@ export class BaseTracer extends BaseCallbackHandler {
|
|
|
126
121
|
else {
|
|
127
122
|
storedRun.trace_id = storedRun.id;
|
|
128
123
|
storedRun.dotted_order = currentDottedOrder;
|
|
124
|
+
storedRun._serialized_start_time = microsecondPrecisionDatestring;
|
|
129
125
|
}
|
|
130
126
|
if (this.usesRunTreeMap) {
|
|
131
127
|
const runTree = convertRunToRunTree(storedRun, parentRun);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LangSmithTracingClientInterface } from "langsmith";
|
|
2
|
-
import { RunTree } from "langsmith/run_trees";
|
|
2
|
+
import { RunTree, type RunTreeConfig } from "langsmith/run_trees";
|
|
3
3
|
import { BaseRun, RunCreate, RunUpdate as BaseRunUpdate, KVMap } from "langsmith/schemas";
|
|
4
4
|
import { BaseTracer } from "./base.js";
|
|
5
5
|
import { BaseCallbackHandlerInput } from "../callbacks/base.js";
|
|
@@ -24,14 +24,14 @@ export interface LangChainTracerFields extends BaseCallbackHandlerInput {
|
|
|
24
24
|
exampleId?: string;
|
|
25
25
|
projectName?: string;
|
|
26
26
|
client?: LangSmithTracingClientInterface;
|
|
27
|
-
replicas?:
|
|
27
|
+
replicas?: RunTreeConfig["replicas"];
|
|
28
28
|
}
|
|
29
29
|
export declare class LangChainTracer extends BaseTracer implements LangChainTracerFields {
|
|
30
30
|
name: string;
|
|
31
31
|
projectName?: string;
|
|
32
32
|
exampleId?: string;
|
|
33
33
|
client: LangSmithTracingClientInterface;
|
|
34
|
-
replicas?:
|
|
34
|
+
replicas?: RunTreeConfig["replicas"];
|
|
35
35
|
usesRunTreeMap: boolean;
|
|
36
36
|
constructor(fields?: LangChainTracerFields);
|
|
37
37
|
protected persistRun(_run: Run): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@langchain/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.64",
|
|
4
4
|
"description": "Core LangChain.js abstractions and schemas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"camelcase": "6",
|
|
39
39
|
"decamelize": "1.2.0",
|
|
40
40
|
"js-tiktoken": "^1.0.12",
|
|
41
|
-
"langsmith": "^0.3.
|
|
41
|
+
"langsmith": "^0.3.46",
|
|
42
42
|
"mustache": "^4.2.0",
|
|
43
43
|
"p-queue": "^6.6.2",
|
|
44
44
|
"p-retry": "4",
|