lightrace 0.1.13 → 0.1.15
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/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +47 -16
- package/dist/client.js.map +1 -1
- package/dist/dev-server.d.ts +3 -0
- package/dist/dev-server.d.ts.map +1 -1
- package/dist/dev-server.js +3 -1
- package/dist/dev-server.js.map +1 -1
- package/dist/integrations/claude-agent-sdk.d.ts +8 -1
- package/dist/integrations/claude-agent-sdk.d.ts.map +1 -1
- package/dist/integrations/claude-agent-sdk.js +93 -28
- package/dist/integrations/claude-agent-sdk.js.map +1 -1
- package/dist/trace.d.ts +1 -0
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +6 -0
- package/dist/trace.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export interface LightraceOptions {
|
|
|
24
24
|
devServer?: boolean;
|
|
25
25
|
/** Port for the dev server (0 = auto-discover free port). Default: 0. */
|
|
26
26
|
devServerPort?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Host to use in the callback URL registered with the backend.
|
|
29
|
+
* Default: "127.0.0.1". Set to "host.docker.internal" when backend runs in Docker.
|
|
30
|
+
* Also configurable via LIGHTRACE_DEV_SERVER_HOST env var.
|
|
31
|
+
*/
|
|
32
|
+
devServerHost?: string;
|
|
27
33
|
}
|
|
28
34
|
export declare class Lightrace {
|
|
29
35
|
private static instance;
|
|
@@ -35,6 +41,8 @@ export declare class Lightrace {
|
|
|
35
41
|
private secretKey;
|
|
36
42
|
private devServerEnabled;
|
|
37
43
|
private devServerPort;
|
|
44
|
+
private devServerHost;
|
|
45
|
+
private registrationTimer;
|
|
38
46
|
readonly userId: string | undefined;
|
|
39
47
|
readonly sessionId: string | undefined;
|
|
40
48
|
constructor(options?: LightraceOptions);
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { LightraceOtelExporter } from "./otel-exporter.js";
|
|
5
5
|
import { AS_ROOT, TRACE_NAME } from "./otel-exporter.js";
|
|
6
|
-
import { _setOtelExporter, _setClientDefaults, _getTraceContext, _getToolRegistry, } from "./trace.js";
|
|
6
|
+
import { _setOtelExporter, _setClientDefaults, _getTraceContext, _getToolRegistry, _setOnToolRegistered, } from "./trace.js";
|
|
7
7
|
import { DevServer } from "./dev-server.js";
|
|
8
8
|
import { Observation } from "./observation.js";
|
|
9
9
|
import { generateId } from "./utils.js";
|
|
@@ -17,6 +17,8 @@ export class Lightrace {
|
|
|
17
17
|
secretKey;
|
|
18
18
|
devServerEnabled;
|
|
19
19
|
devServerPort;
|
|
20
|
+
devServerHost;
|
|
21
|
+
registrationTimer = null;
|
|
20
22
|
userId;
|
|
21
23
|
sessionId;
|
|
22
24
|
constructor(options = {}) {
|
|
@@ -28,6 +30,8 @@ export class Lightrace {
|
|
|
28
30
|
this.sessionId = options.sessionId;
|
|
29
31
|
this.devServerEnabled = options.devServer !== false;
|
|
30
32
|
this.devServerPort = options.devServerPort ?? 0;
|
|
33
|
+
this.devServerHost =
|
|
34
|
+
options.devServerHost ?? process.env.LIGHTRACE_DEV_SERVER_HOST ?? "127.0.0.1";
|
|
31
35
|
if (!this.enabled)
|
|
32
36
|
return;
|
|
33
37
|
this.otelExporter = new LightraceOtelExporter({
|
|
@@ -58,12 +62,22 @@ export class Lightrace {
|
|
|
58
62
|
this._devServer = new DevServer({
|
|
59
63
|
port: this.devServerPort,
|
|
60
64
|
publicKey: this.publicKey,
|
|
65
|
+
callbackHost: this.devServerHost,
|
|
61
66
|
});
|
|
62
67
|
this._devServer
|
|
63
68
|
.start()
|
|
64
69
|
.then((port) => {
|
|
65
70
|
console.log(`[lightrace] Dev server listening on http://127.0.0.1:${port}`);
|
|
66
71
|
this.registerToolsHttp();
|
|
72
|
+
// Re-register when new tools are added after init (debounced)
|
|
73
|
+
_setOnToolRegistered(() => {
|
|
74
|
+
if (this.registrationTimer)
|
|
75
|
+
clearTimeout(this.registrationTimer);
|
|
76
|
+
this.registrationTimer = setTimeout(() => {
|
|
77
|
+
this.registrationTimer = null;
|
|
78
|
+
this.registerToolsHttp();
|
|
79
|
+
}, 200);
|
|
80
|
+
});
|
|
67
81
|
})
|
|
68
82
|
.catch((err) => {
|
|
69
83
|
console.error("[lightrace] Failed to start dev server:", err);
|
|
@@ -82,27 +96,44 @@ export class Lightrace {
|
|
|
82
96
|
description: entry.description ?? null,
|
|
83
97
|
}));
|
|
84
98
|
const auth = Buffer.from(`${this.publicKey}:${this.secretKey}`).toString("base64");
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
const maxRetries = 3;
|
|
100
|
+
const attempt = async (n) => {
|
|
101
|
+
try {
|
|
102
|
+
const res = await fetch(`${this.host}/api/public/tools/register`, {
|
|
103
|
+
method: "POST",
|
|
104
|
+
headers: {
|
|
105
|
+
"Content-Type": "application/json",
|
|
106
|
+
Authorization: `Basic ${auth}`,
|
|
107
|
+
},
|
|
108
|
+
body: JSON.stringify({ callbackUrl, tools }),
|
|
109
|
+
});
|
|
110
|
+
if (res.ok) {
|
|
111
|
+
console.log(`[lightrace] Registered ${tools.length} tool(s): ${tools.map((t) => t.name).join(", ")}`);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
console.warn(`[lightrace] Tool registration returned ${res.status} (attempt ${n + 1}/${maxRetries})`);
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.warn(`[lightrace] Tool registration failed (attempt ${n + 1}/${maxRetries}):`, err instanceof Error ? err.message : err);
|
|
118
|
+
}
|
|
119
|
+
if (n < maxRetries - 1) {
|
|
120
|
+
await new Promise((r) => setTimeout(r, 1000 * 2 ** n));
|
|
121
|
+
return attempt(n + 1);
|
|
122
|
+
}
|
|
123
|
+
console.error("[lightrace] Tool registration failed after all retries");
|
|
124
|
+
};
|
|
125
|
+
attempt(0);
|
|
100
126
|
}
|
|
101
127
|
// -- Flush / shutdown --------------------------------------------------------
|
|
102
128
|
flush() {
|
|
103
129
|
this.otelExporter?.flush();
|
|
104
130
|
}
|
|
105
131
|
async shutdown() {
|
|
132
|
+
_setOnToolRegistered(null);
|
|
133
|
+
if (this.registrationTimer) {
|
|
134
|
+
clearTimeout(this.registrationTimer);
|
|
135
|
+
this.registrationTimer = null;
|
|
136
|
+
}
|
|
106
137
|
if (this._devServer) {
|
|
107
138
|
await this._devServer.stop();
|
|
108
139
|
this._devServer = null;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/dev-server.d.ts
CHANGED
|
@@ -3,12 +3,15 @@ export interface DevServerOptions {
|
|
|
3
3
|
port?: number;
|
|
4
4
|
/** Public key for request authentication. */
|
|
5
5
|
publicKey?: string;
|
|
6
|
+
/** Host to use in the callback URL registered with the backend. Default: "127.0.0.1". */
|
|
7
|
+
callbackHost?: string;
|
|
6
8
|
}
|
|
7
9
|
export declare class DevServer {
|
|
8
10
|
private server;
|
|
9
11
|
private publicKey;
|
|
10
12
|
private assignedPort;
|
|
11
13
|
private requestedPort;
|
|
14
|
+
private callbackHost;
|
|
12
15
|
constructor(options?: DevServerOptions);
|
|
13
16
|
start(): Promise<number>;
|
|
14
17
|
stop(): Promise<void>;
|
package/dist/dev-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,GAAE,gBAAqB;IAMpC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAkExB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,cAAc,IAAI,MAAM,GAAG,IAAI;CAIhC"}
|
package/dist/dev-server.js
CHANGED
|
@@ -12,9 +12,11 @@ export class DevServer {
|
|
|
12
12
|
publicKey;
|
|
13
13
|
assignedPort = null;
|
|
14
14
|
requestedPort;
|
|
15
|
+
callbackHost;
|
|
15
16
|
constructor(options = {}) {
|
|
16
17
|
this.requestedPort = options.port ?? 0;
|
|
17
18
|
this.publicKey = options.publicKey ?? "";
|
|
19
|
+
this.callbackHost = options.callbackHost ?? "127.0.0.1";
|
|
18
20
|
}
|
|
19
21
|
async start() {
|
|
20
22
|
if (this.server)
|
|
@@ -89,7 +91,7 @@ export class DevServer {
|
|
|
89
91
|
getCallbackUrl() {
|
|
90
92
|
if (!this.assignedPort)
|
|
91
93
|
return null;
|
|
92
|
-
return `http
|
|
94
|
+
return `http://${this.callbackHost}:${this.assignedPort}`;
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
//# sourceMappingURL=dev-server.js.map
|
package/dist/dev-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,SAAS,WAAW,CAAC,CAAU,EAAE,IAAY,EAAE,OAAe,EAAE,WAAoB,IAAI;IACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAA4B,CAAC,CAAC;AAC3E,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,SAAS,WAAW,CAAC,CAAU,EAAE,IAAY,EAAE,OAAe,EAAE,WAAoB,IAAI;IACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAA4B,CAAC,CAAC;AAC3E,CAAC;AAWD,MAAM,OAAO,SAAS;IACZ,MAAM,GAAkB,IAAI,CAAC;IAC7B,SAAS,CAAS;IAClB,YAAY,GAAkB,IAAI,CAAC;IACnC,aAAa,CAAS;IACtB,YAAY,CAAS;IAE7B,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,YAAa,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAExD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEvE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,UAAU,SAAS,EAAE,EAAE,CAAC;gBACzE,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAwC,CAAC;YAEjE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,MAAe,CAAC;gBACpB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChE,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;gBACpE,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;gBACzD,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;gBACzD,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC/B,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAClB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,EACrE,CAAC,IAAI,EAAE,EAAE;oBACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,IAAI,CAAC,MAAM,GAAG,MAAgB,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,UAAU,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -59,12 +59,19 @@ export declare class LightraceAgentHandler extends TracingMixin {
|
|
|
59
59
|
private prompt;
|
|
60
60
|
private agentRunId;
|
|
61
61
|
private toolRunIds;
|
|
62
|
-
private
|
|
62
|
+
private initTools;
|
|
63
|
+
private initModel;
|
|
64
|
+
private currentGenRunId;
|
|
65
|
+
private currentMessageId;
|
|
66
|
+
private currentOutputBlocks;
|
|
67
|
+
private currentUsage;
|
|
63
68
|
constructor(opts?: LightraceAgentHandlerOptions);
|
|
64
69
|
/** Process a single message from the agent SDK stream. */
|
|
65
70
|
handle(message: SDKMessageLike): void;
|
|
66
71
|
private onSystem;
|
|
67
72
|
private onAssistant;
|
|
73
|
+
private processContentBlocks;
|
|
74
|
+
private flushGeneration;
|
|
68
75
|
private onUser;
|
|
69
76
|
private onResult;
|
|
70
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent-sdk.d.ts","sourceRoot":"","sources":["../../src/integrations/claude-agent-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,YAAY,EAAkB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIpF,wFAAwF;AACxF,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"claude-agent-sdk.d.ts","sourceRoot":"","sources":["../../src/integrations/claude-agent-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,YAAY,EAAkB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIpF,wFAAwF;AACxF,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAAuB;IAIxC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,YAAY,CAAuC;gBAE/C,IAAI,CAAC,EAAE,4BAA4B;IAO/C,0DAA0D;IAC1D,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IA0BrC,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,MAAM;IAuCd,OAAO,CAAC,QAAQ;CAkCjB;AAID;;;;;GAKG;AACH,wBAAuB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CA4BjG"}
|
|
@@ -46,7 +46,14 @@ export class LightraceAgentHandler extends TracingMixin {
|
|
|
46
46
|
prompt;
|
|
47
47
|
agentRunId = null;
|
|
48
48
|
toolRunIds = new Map(); // tool_use_id → runId
|
|
49
|
-
|
|
49
|
+
initTools = null;
|
|
50
|
+
initModel = null;
|
|
51
|
+
// Generation span accumulation — SDK yields multiple AssistantMessages
|
|
52
|
+
// per turn (thinking + tool_use) sharing the same message_id.
|
|
53
|
+
currentGenRunId = null;
|
|
54
|
+
currentMessageId = null;
|
|
55
|
+
currentOutputBlocks = [];
|
|
56
|
+
currentUsage = null;
|
|
50
57
|
constructor(opts) {
|
|
51
58
|
super(opts);
|
|
52
59
|
this.prompt = opts?.prompt;
|
|
@@ -70,84 +77,136 @@ export class LightraceAgentHandler extends TracingMixin {
|
|
|
70
77
|
break;
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
|
-
catch {
|
|
80
|
+
catch (err) {
|
|
74
81
|
// Tracing errors should never break the agent loop
|
|
82
|
+
if (typeof console !== "undefined") {
|
|
83
|
+
console.warn("[lightrace] Error handling message:", err);
|
|
84
|
+
}
|
|
75
85
|
}
|
|
76
86
|
}
|
|
77
87
|
// ── Message handlers ───────────────────────────────────────────────
|
|
78
88
|
onSystem(msg) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
//
|
|
89
|
+
if (msg.subtype === "init") {
|
|
90
|
+
// Tools/model are nested in a `data` dict
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
const data = msg.data;
|
|
93
|
+
const source = data ?? msg;
|
|
94
|
+
const tools = source.tools;
|
|
95
|
+
if (tools)
|
|
96
|
+
this.initTools = [...tools];
|
|
97
|
+
const model = source.model;
|
|
98
|
+
if (model)
|
|
99
|
+
this.initModel = model;
|
|
82
100
|
}
|
|
83
101
|
}
|
|
84
102
|
onAssistant(msg) {
|
|
85
103
|
// Start root agent span on first assistant message
|
|
86
104
|
if (this.agentRunId === null) {
|
|
87
105
|
this.agentRunId = generateId();
|
|
106
|
+
const input = { prompt: this.prompt };
|
|
107
|
+
if (this.initTools)
|
|
108
|
+
input.tools = this.initTools;
|
|
109
|
+
if (this.initModel)
|
|
110
|
+
input.model = this.initModel;
|
|
88
111
|
this.registerRun(this.agentRunId, undefined, {
|
|
89
112
|
type: "span",
|
|
90
113
|
name: this.traceName ?? "claude-agent",
|
|
91
114
|
startTime: new Date(),
|
|
92
|
-
input
|
|
115
|
+
input,
|
|
93
116
|
});
|
|
94
117
|
}
|
|
95
|
-
this.turnCount++;
|
|
96
118
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
97
119
|
const raw = msg;
|
|
98
120
|
const betaMessage = raw.message;
|
|
121
|
+
const messageId = raw.message_id ?? betaMessage?.id;
|
|
122
|
+
// SDK yields multiple AssistantMessages per turn sharing the same
|
|
123
|
+
// message_id (e.g. thinking block, then tool_use block). Accumulate
|
|
124
|
+
// content blocks into a single generation span.
|
|
125
|
+
if (messageId && messageId === this.currentMessageId && this.currentGenRunId !== null) {
|
|
126
|
+
this.processContentBlocks(raw);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
// New turn — flush any pending generation from the previous turn.
|
|
130
|
+
this.flushGeneration();
|
|
99
131
|
const model = raw.model ?? betaMessage?.model;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
this.
|
|
132
|
+
this.currentMessageId = messageId ?? null;
|
|
133
|
+
this.currentGenRunId = generateId();
|
|
134
|
+
this.currentOutputBlocks = [];
|
|
135
|
+
this.currentUsage = null;
|
|
136
|
+
this.registerRun(this.currentGenRunId, this.agentRunId ?? undefined, {
|
|
104
137
|
type: "generation",
|
|
105
138
|
name: model ?? "claude",
|
|
106
139
|
startTime: new Date(),
|
|
107
140
|
input: undefined,
|
|
108
141
|
model,
|
|
109
142
|
});
|
|
110
|
-
|
|
143
|
+
this.processContentBlocks(raw);
|
|
144
|
+
}
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
|
+
processContentBlocks(raw) {
|
|
147
|
+
const betaMessage = raw.message;
|
|
111
148
|
const content = betaMessage?.content ?? raw.content ?? [];
|
|
112
|
-
const
|
|
149
|
+
const usage = betaMessage?.usage ?? raw.usage;
|
|
113
150
|
for (const block of content) {
|
|
114
151
|
const b = block;
|
|
115
152
|
const blockType = b.type;
|
|
116
|
-
|
|
117
|
-
|
|
153
|
+
const hasText = "text" in b && !("id" in b);
|
|
154
|
+
const hasTool = "id" in b && "name" in b && "input" in b;
|
|
155
|
+
const hasThinking = "thinking" in b;
|
|
156
|
+
if (blockType === "text" || (!blockType && hasText)) {
|
|
157
|
+
this.currentOutputBlocks.push({ type: "text", text: b.text ?? "" });
|
|
118
158
|
}
|
|
119
|
-
else if (blockType === "tool_use") {
|
|
159
|
+
else if (blockType === "tool_use" || (!blockType && hasTool)) {
|
|
120
160
|
const toolId = b.id;
|
|
121
161
|
const toolName = b.name;
|
|
122
162
|
const toolInput = b.input;
|
|
123
|
-
|
|
163
|
+
this.currentOutputBlocks.push({
|
|
124
164
|
type: "tool_use",
|
|
125
165
|
id: toolId,
|
|
126
166
|
name: toolName,
|
|
127
|
-
input:
|
|
167
|
+
input: toolInput,
|
|
128
168
|
});
|
|
129
169
|
// Start a tool span (ended when matching user message arrives)
|
|
130
170
|
const toolRunId = generateId();
|
|
131
171
|
this.toolRunIds.set(toolId, toolRunId);
|
|
132
|
-
this.registerRun(toolRunId, this.agentRunId, {
|
|
172
|
+
this.registerRun(toolRunId, this.agentRunId ?? undefined, {
|
|
133
173
|
type: "tool",
|
|
134
174
|
name: toolName,
|
|
135
175
|
startTime: new Date(),
|
|
136
176
|
input: toolInput,
|
|
137
177
|
});
|
|
138
178
|
}
|
|
179
|
+
else if (blockType === "thinking" || (!blockType && hasThinking)) {
|
|
180
|
+
this.currentOutputBlocks.push({ type: "thinking", thinking: b.thinking ?? "" });
|
|
181
|
+
}
|
|
139
182
|
else {
|
|
140
|
-
|
|
183
|
+
this.currentOutputBlocks.push(jsonSerializable(b));
|
|
141
184
|
}
|
|
142
185
|
}
|
|
143
|
-
//
|
|
144
|
-
|
|
145
|
-
|
|
186
|
+
// Keep the latest usage (last AssistantMessage in this turn wins)
|
|
187
|
+
if (usage) {
|
|
188
|
+
this.currentUsage = normalizeUsage(usage);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
flushGeneration() {
|
|
192
|
+
if (this.currentGenRunId === null)
|
|
193
|
+
return;
|
|
194
|
+
const output = {
|
|
195
|
+
role: "assistant",
|
|
196
|
+
content: this.currentOutputBlocks,
|
|
197
|
+
};
|
|
198
|
+
this.endRun(this.currentGenRunId, output, "DEFAULT", null, this.currentUsage ?? undefined);
|
|
199
|
+
this.currentGenRunId = null;
|
|
200
|
+
this.currentMessageId = null;
|
|
201
|
+
this.currentOutputBlocks = [];
|
|
202
|
+
this.currentUsage = null;
|
|
146
203
|
}
|
|
147
204
|
onUser(msg) {
|
|
205
|
+
this.flushGeneration();
|
|
148
206
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
149
207
|
const raw = msg;
|
|
150
208
|
const userMessage = raw.message;
|
|
209
|
+
const fallbackOutput = raw.tool_use_result;
|
|
151
210
|
// User messages contain tool results as content blocks
|
|
152
211
|
const content = Array.isArray(userMessage?.content)
|
|
153
212
|
? userMessage.content
|
|
@@ -156,24 +215,29 @@ export class LightraceAgentHandler extends TracingMixin {
|
|
|
156
215
|
: [];
|
|
157
216
|
for (const block of content) {
|
|
158
217
|
const b = block;
|
|
159
|
-
if (b.type === "tool_result" && typeof b.tool_use_id === "string") {
|
|
218
|
+
if ((b.type === "tool_result" || "tool_use_id" in b) && typeof b.tool_use_id === "string") {
|
|
160
219
|
const toolUseId = b.tool_use_id;
|
|
161
220
|
const toolRunId = this.toolRunIds.get(toolUseId);
|
|
162
221
|
if (toolRunId) {
|
|
163
222
|
this.toolRunIds.delete(toolUseId);
|
|
164
223
|
const isError = Boolean(b.is_error);
|
|
165
|
-
|
|
224
|
+
let output = b.content ?? b.output;
|
|
225
|
+
// Use fallback from tool_use_result when block has no output
|
|
226
|
+
if (output === undefined && fallbackOutput !== undefined) {
|
|
227
|
+
output = fallbackOutput;
|
|
228
|
+
}
|
|
166
229
|
if (isError) {
|
|
167
|
-
this.endRun(toolRunId,
|
|
230
|
+
this.endRun(toolRunId, output, "ERROR", String(output));
|
|
168
231
|
}
|
|
169
232
|
else {
|
|
170
|
-
this.endRun(toolRunId,
|
|
233
|
+
this.endRun(toolRunId, output);
|
|
171
234
|
}
|
|
172
235
|
}
|
|
173
236
|
}
|
|
174
237
|
}
|
|
175
238
|
}
|
|
176
239
|
onResult(msg) {
|
|
240
|
+
this.flushGeneration();
|
|
177
241
|
// End any remaining tool spans
|
|
178
242
|
for (const [, toolRunId] of this.toolRunIds) {
|
|
179
243
|
this.endRun(toolRunId, null);
|
|
@@ -194,6 +258,8 @@ export class LightraceAgentHandler extends TracingMixin {
|
|
|
194
258
|
output.duration_ms = raw.duration_ms;
|
|
195
259
|
if (raw.subtype !== undefined)
|
|
196
260
|
output.subtype = raw.subtype;
|
|
261
|
+
if (raw.model_usage !== undefined)
|
|
262
|
+
output.model_usage = jsonSerializable(raw.model_usage);
|
|
197
263
|
const usage = raw.usage ? normalizeUsage(raw.usage) : null;
|
|
198
264
|
const isError = Boolean(raw.is_error);
|
|
199
265
|
if (isError) {
|
|
@@ -204,7 +270,6 @@ export class LightraceAgentHandler extends TracingMixin {
|
|
|
204
270
|
this.endRun(this.agentRunId, output, "DEFAULT", null, usage ?? undefined);
|
|
205
271
|
}
|
|
206
272
|
this.agentRunId = null;
|
|
207
|
-
this.turnCount = 0;
|
|
208
273
|
}
|
|
209
274
|
}
|
|
210
275
|
// ── Wrapper ────────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent-sdk.js","sourceRoot":"","sources":["../../src/integrations/claude-agent-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAsBpF,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC7C,MAAM,CAAqB;IAC3B,UAAU,GAAkB,IAAI,CAAC;IACjC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,sBAAsB;IAC9D,SAAS,
|
|
1
|
+
{"version":3,"file":"claude-agent-sdk.js","sourceRoot":"","sources":["../../src/integrations/claude-agent-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/trace.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare function _getTraceContext(): {
|
|
|
12
12
|
observationId: string | null;
|
|
13
13
|
} | undefined;
|
|
14
14
|
export declare function _getToolRegistry(): Map<string, ToolRegistryEntry>;
|
|
15
|
+
export declare function _setOnToolRegistered(callback: ((name: string) => void) | null): void;
|
|
15
16
|
/**
|
|
16
17
|
* Unified trace wrapper.
|
|
17
18
|
*
|
package/dist/trace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgBlE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAED,wBAAgB,gBAAgB,IAAI,qBAAqB,GAAG,IAAI,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE1F;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CAQhG;AAED,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEjE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAEpF;AAiDD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,GAAG,YAAY,EAC7B,OAAO,CAAC,EAAE,CAAC,GACV,CAAC,CAqIH"}
|
package/dist/trace.js
CHANGED
|
@@ -13,6 +13,8 @@ let _otelExporter = null;
|
|
|
13
13
|
let _clientDefaults = {};
|
|
14
14
|
/** Global tool registry for invocable tools. */
|
|
15
15
|
const _toolRegistry = new Map();
|
|
16
|
+
/** Callback fired when a new tool is registered. */
|
|
17
|
+
let _onToolRegistered = null;
|
|
16
18
|
export function _setOtelExporter(exporter) {
|
|
17
19
|
_otelExporter = exporter;
|
|
18
20
|
}
|
|
@@ -36,6 +38,9 @@ export function _getTraceContext() {
|
|
|
36
38
|
export function _getToolRegistry() {
|
|
37
39
|
return _toolRegistry;
|
|
38
40
|
}
|
|
41
|
+
export function _setOnToolRegistered(callback) {
|
|
42
|
+
_onToolRegistered = callback;
|
|
43
|
+
}
|
|
39
44
|
/** Helper to set span attributes for a root trace or child observation. */
|
|
40
45
|
function setSpanAttributes(span, opts) {
|
|
41
46
|
if (opts.isRoot) {
|
|
@@ -101,6 +106,7 @@ export function trace(name, fnOrOptions, maybeFn) {
|
|
|
101
106
|
inputSchema,
|
|
102
107
|
description: null,
|
|
103
108
|
});
|
|
109
|
+
_onToolRegistered?.(obsName);
|
|
104
110
|
}
|
|
105
111
|
const wrapped = ((...args) => {
|
|
106
112
|
const tracer = _otelExporter?.tracer;
|
package/dist/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
|