@cicctencent/agent-server 0.2.69 → 0.2.71
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/cjs/agent/agent-server.d.ts.map +1 -1
- package/dist/cjs/agent/agent-server.js +6 -30
- package/dist/cjs/agent/agent-server.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sandbox/local-sandbox.d.ts +16 -0
- package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/cjs/sandbox/local-sandbox.js +77 -5
- package/dist/cjs/sandbox/local-sandbox.js.map +1 -1
- package/dist/cjs/service/observability-exporter.d.ts +0 -14
- package/dist/cjs/service/observability-exporter.d.ts.map +1 -1
- package/dist/cjs/service/observability-exporter.js +4 -157
- package/dist/cjs/service/observability-exporter.js.map +1 -1
- package/dist/cjs/spi/store-sink-factory.d.ts +13 -1
- package/dist/cjs/spi/store-sink-factory.d.ts.map +1 -1
- package/dist/cjs/spi/store-sink-factory.js +148 -65
- package/dist/cjs/spi/store-sink-factory.js.map +1 -1
- package/dist/cjs/tool/tools/filesystem.d.ts.map +1 -1
- package/dist/cjs/tool/tools/filesystem.js +15 -1
- package/dist/cjs/tool/tools/filesystem.js.map +1 -1
- package/dist/cjs/types.d.ts +8 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/agent/agent-server.d.ts.map +1 -1
- package/dist/esm/agent/agent-server.js +7 -31
- package/dist/esm/agent/agent-server.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sandbox/local-sandbox.d.ts +16 -0
- package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/esm/sandbox/local-sandbox.js +77 -5
- package/dist/esm/sandbox/local-sandbox.js.map +1 -1
- package/dist/esm/service/observability-exporter.d.ts +0 -14
- package/dist/esm/service/observability-exporter.d.ts.map +1 -1
- package/dist/esm/service/observability-exporter.js +3 -155
- package/dist/esm/service/observability-exporter.js.map +1 -1
- package/dist/esm/spi/store-sink-factory.d.ts +13 -1
- package/dist/esm/spi/store-sink-factory.d.ts.map +1 -1
- package/dist/esm/spi/store-sink-factory.js +148 -65
- package/dist/esm/spi/store-sink-factory.js.map +1 -1
- package/dist/esm/tool/tools/filesystem.d.ts.map +1 -1
- package/dist/esm/tool/tools/filesystem.js +15 -1
- package/dist/esm/tool/tools/filesystem.js.map +1 -1
- package/dist/esm/types.d.ts +8 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// ============================================================
|
|
2
|
-
// Observability Exporters - OTLP
|
|
2
|
+
// Observability Exporters - OTLP export
|
|
3
3
|
// ============================================================
|
|
4
4
|
import * as http from 'http';
|
|
5
5
|
import * as https from 'https';
|
|
6
6
|
// ============================================================
|
|
7
|
-
// OtlpExporter - exports traces as OTLP JSON to OTLP Collector
|
|
7
|
+
// OtlpExporter - exports traces as OTLP JSON to OTLP Collector
|
|
8
8
|
// ============================================================
|
|
9
9
|
export class OtlpExporter {
|
|
10
10
|
name = 'otlp';
|
|
@@ -171,7 +171,7 @@ export class OtlpExporter {
|
|
|
171
171
|
'Content-Length': String(Buffer.byteLength(body)),
|
|
172
172
|
...this.config.headers,
|
|
173
173
|
};
|
|
174
|
-
// Basic Auth
|
|
174
|
+
// Basic Auth (publicKey:secretKey -> base64)
|
|
175
175
|
if (this.config.publicKey && this.config.secretKey) {
|
|
176
176
|
const auth = Buffer.from(`${this.config.publicKey}:${this.config.secretKey}`).toString('base64');
|
|
177
177
|
headers['Authorization'] = `Basic ${auth}`;
|
|
@@ -204,158 +204,6 @@ export class OtlpExporter {
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
// ============================================================
|
|
207
|
-
// LangfuseExporter - exports via Langfuse Ingestion REST API
|
|
208
|
-
// ============================================================
|
|
209
|
-
export class LangfuseExporter {
|
|
210
|
-
name = 'langfuse';
|
|
211
|
-
config;
|
|
212
|
-
timer;
|
|
213
|
-
pending = [];
|
|
214
|
-
maxQueueSize = 10000;
|
|
215
|
-
constructor(config) {
|
|
216
|
-
this.config = {
|
|
217
|
-
exportIntervalMs: 1000,
|
|
218
|
-
maxBatchSize: 100,
|
|
219
|
-
...config,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
enqueueTrace(trace) {
|
|
223
|
-
if (!this.config.enabled)
|
|
224
|
-
return;
|
|
225
|
-
const event = {
|
|
226
|
-
id: trace.traceId,
|
|
227
|
-
type: 'trace-create',
|
|
228
|
-
timestamp: new Date(trace.startTime).toISOString(),
|
|
229
|
-
body: {
|
|
230
|
-
id: trace.traceId,
|
|
231
|
-
name: trace.name || 'agent.trace',
|
|
232
|
-
sessionId: trace.sessionId,
|
|
233
|
-
userId: trace.userId ? String(trace.userId) : undefined,
|
|
234
|
-
metadata: {
|
|
235
|
-
threadId: trace.threadId,
|
|
236
|
-
applicationId: trace.applicationId,
|
|
237
|
-
agentProfileId: trace.agentProfileId,
|
|
238
|
-
},
|
|
239
|
-
input: trace.input,
|
|
240
|
-
output: trace.output,
|
|
241
|
-
},
|
|
242
|
-
};
|
|
243
|
-
if (this.pending.length < this.maxQueueSize) {
|
|
244
|
-
this.pending.push(event);
|
|
245
|
-
}
|
|
246
|
-
if (this.pending.length >= (this.config.maxBatchSize || 100)) {
|
|
247
|
-
this.flush().catch(() => { });
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
enqueueObservation(obs) {
|
|
251
|
-
if (!this.config.enabled)
|
|
252
|
-
return;
|
|
253
|
-
const event = {
|
|
254
|
-
id: obs.id,
|
|
255
|
-
type: obs.type === 'generation' ? 'generation-create' : obs.type === 'event' ? 'event-create' : 'span-create',
|
|
256
|
-
timestamp: new Date(obs.startTime).toISOString(),
|
|
257
|
-
body: {
|
|
258
|
-
id: obs.id,
|
|
259
|
-
traceId: obs.traceId,
|
|
260
|
-
parentObservationId: obs.parentObservationId,
|
|
261
|
-
name: obs.name,
|
|
262
|
-
startTime: new Date(obs.startTime).toISOString(),
|
|
263
|
-
endTime: obs.endTime ? new Date(obs.endTime).toISOString() : undefined,
|
|
264
|
-
model: obs.model,
|
|
265
|
-
input: obs.input,
|
|
266
|
-
output: obs.output,
|
|
267
|
-
metadata: {
|
|
268
|
-
provider: obs.provider,
|
|
269
|
-
type: obs.type,
|
|
270
|
-
...(obs.metadata || {}),
|
|
271
|
-
},
|
|
272
|
-
usage: obs.usage ? {
|
|
273
|
-
promptTokens: obs.usage.promptTokens,
|
|
274
|
-
completionTokens: obs.usage.completionTokens,
|
|
275
|
-
totalTokens: obs.usage.totalTokens,
|
|
276
|
-
} : undefined,
|
|
277
|
-
status: obs.status === 'error' ? 'ERROR' : 'OK',
|
|
278
|
-
level: obs.status === 'error' ? 'ERROR' : 'DEFAULT',
|
|
279
|
-
},
|
|
280
|
-
};
|
|
281
|
-
if (this.pending.length < this.maxQueueSize) {
|
|
282
|
-
this.pending.push(event);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
start() {
|
|
286
|
-
if (!this.config.enabled)
|
|
287
|
-
return;
|
|
288
|
-
this.stop();
|
|
289
|
-
this.timer = setInterval(() => {
|
|
290
|
-
this.flush().catch(() => { });
|
|
291
|
-
}, this.config.exportIntervalMs || 1000);
|
|
292
|
-
if (this.timer && typeof this.timer === 'object' && 'unref' in this.timer)
|
|
293
|
-
this.timer.unref();
|
|
294
|
-
}
|
|
295
|
-
stop() {
|
|
296
|
-
if (this.timer) {
|
|
297
|
-
clearInterval(this.timer);
|
|
298
|
-
this.timer = undefined;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
async flush() {
|
|
302
|
-
if (!this.config.enabled || !this.config.endpoint)
|
|
303
|
-
return;
|
|
304
|
-
if (this.pending.length === 0)
|
|
305
|
-
return;
|
|
306
|
-
const batch = [...this.pending];
|
|
307
|
-
this.pending = [];
|
|
308
|
-
try {
|
|
309
|
-
await this.sendIngestion(batch);
|
|
310
|
-
}
|
|
311
|
-
catch (e) {
|
|
312
|
-
const reQueue = batch.slice(0, this.maxQueueSize - this.pending.length);
|
|
313
|
-
this.pending.unshift(...reQueue);
|
|
314
|
-
console.error('[LangfuseExporter] ingestion failed:', e);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
async sendIngestion(events) {
|
|
318
|
-
const payload = JSON.stringify({ batchEvents: events });
|
|
319
|
-
const url = new URL(this.config.endpoint);
|
|
320
|
-
const isHttps = url.protocol === 'https:';
|
|
321
|
-
const httpModule = isHttps ? https : http;
|
|
322
|
-
const headers = {
|
|
323
|
-
'Content-Type': 'application/json',
|
|
324
|
-
'Content-Length': String(Buffer.byteLength(payload)),
|
|
325
|
-
};
|
|
326
|
-
// Langfuse uses Basic Auth with public key : secret key
|
|
327
|
-
if (this.config.publicKey && this.config.secretKey) {
|
|
328
|
-
const auth = Buffer.from(`${this.config.publicKey}:${this.config.secretKey}`).toString('base64');
|
|
329
|
-
headers['Authorization'] = `Basic ${auth}`;
|
|
330
|
-
}
|
|
331
|
-
return new Promise((resolve, reject) => {
|
|
332
|
-
const req = httpModule.request({
|
|
333
|
-
hostname: url.hostname,
|
|
334
|
-
port: url.port || (isHttps ? 443 : 80),
|
|
335
|
-
path: url.pathname + url.search,
|
|
336
|
-
method: 'POST',
|
|
337
|
-
headers,
|
|
338
|
-
timeout: 30000,
|
|
339
|
-
}, (res) => {
|
|
340
|
-
let data = '';
|
|
341
|
-
res.on('data', chunk => data += chunk);
|
|
342
|
-
res.on('end', () => {
|
|
343
|
-
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
344
|
-
resolve();
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
reject(new Error(`Langfuse ingestion failed: ${res.statusCode} ${data}`));
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
});
|
|
351
|
-
req.on('error', reject);
|
|
352
|
-
req.on('timeout', () => { req.destroy(new Error('Langfuse ingestion timeout')); });
|
|
353
|
-
req.write(payload);
|
|
354
|
-
req.end();
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
// ============================================================
|
|
359
207
|
// Exporter Manager - manages multiple exporters
|
|
360
208
|
// ============================================================
|
|
361
209
|
export class ObservabilityExporterManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability-exporter.js","sourceRoot":"","sources":["../../../src/service/observability-exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observability-exporter.js","sourceRoot":"","sources":["../../../src/service/observability-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import type { ObservabilitySink } from '@cicctencent/agent-core';
|
|
2
2
|
import type { ObservabilityStoreProvider } from './observability-store.js';
|
|
3
|
+
import type { ObservabilityExporter } from '../service/observability-exporter.js';
|
|
4
|
+
/**
|
|
5
|
+
* 导出器只需提供两个入队方法(OtlpExporter 与 ObservabilityExporterManager 都满足)。
|
|
6
|
+
* 用结构化的 Pick 而非完整 ObservabilityExporter,避免 Manager 缺少 name/config/start/stop 而无法传入。
|
|
7
|
+
*/
|
|
8
|
+
type EnqueueOnlyExporter = Pick<ObservabilityExporter, 'enqueueTrace' | 'enqueueObservation'>;
|
|
3
9
|
/**
|
|
4
10
|
* 创建一个将数据转发到 ObservabilityStoreProvider 的 Sink 实现。
|
|
5
11
|
* 所有方法吞掉错误,不影响主业务流程。
|
|
6
12
|
*
|
|
7
13
|
* 共享实现,供 agent-server 和 work-client 复用,避免代码重复。
|
|
14
|
+
*
|
|
15
|
+
* @param provider 存储实现(InMemory / TypeORM / 文件 等)
|
|
16
|
+
* @param exporter 可选。非空时,在 endTrace/endObservation 落库完成后,把**完整**记录
|
|
17
|
+
* 推入导出器(OTLP / Langfuse),实现真实导出。之前版本只在 endTrace 推
|
|
18
|
+
* trace、且从不推 observation,导致 OTLP 导出只有 trace span、缺 generation/tool span。
|
|
8
19
|
*/
|
|
9
|
-
export declare function createStoreSink(provider: ObservabilityStoreProvider): ObservabilitySink;
|
|
20
|
+
export declare function createStoreSink(provider: ObservabilityStoreProvider, exporter?: EnqueueOnlyExporter): ObservabilitySink;
|
|
21
|
+
export {};
|
|
10
22
|
//# sourceMappingURL=store-sink-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-sink-factory.d.ts","sourceRoot":"","sources":["../../../src/spi/store-sink-factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"store-sink-factory.d.ts","sourceRoot":"","sources":["../../../src/spi/store-sink-factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAElF;;;GAGG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,oBAAoB,CAAC,CAAC;AAE9F;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,0BAA0B,EACpC,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,iBAAiB,CAoMnB"}
|
|
@@ -6,14 +6,33 @@
|
|
|
6
6
|
* 所有方法吞掉错误,不影响主业务流程。
|
|
7
7
|
*
|
|
8
8
|
* 共享实现,供 agent-server 和 work-client 复用,避免代码重复。
|
|
9
|
+
*
|
|
10
|
+
* @param provider 存储实现(InMemory / TypeORM / 文件 等)
|
|
11
|
+
* @param exporter 可选。非空时,在 endTrace/endObservation 落库完成后,把**完整**记录
|
|
12
|
+
* 推入导出器(OTLP / Langfuse),实现真实导出。之前版本只在 endTrace 推
|
|
13
|
+
* trace、且从不推 observation,导致 OTLP 导出只有 trace span、缺 generation/tool span。
|
|
9
14
|
*/
|
|
10
|
-
export function createStoreSink(provider) {
|
|
15
|
+
export function createStoreSink(provider, exporter) {
|
|
16
|
+
// 进行中的“start”写操作。start 改为 fire-and-forget(不阻塞主流程 / agent 循环),
|
|
17
|
+
// 但记录其 Promise,在对应的 end 更新前 await 一次,确保行已落库后再 update,
|
|
18
|
+
// 避免“update 早于 insert 完成导致整条记录丢失”的竞态。
|
|
19
|
+
// 由于 end 发生在 LLM 调用 / 工具执行之后,此时 start 的写通常早已完成,await 近乎零成本。
|
|
20
|
+
const inflightTraces = new Map();
|
|
21
|
+
const inflightObservations = new Map();
|
|
22
|
+
// 缓存 start 时已落库的记录快照,供 end 时拼出完整记录再推给导出器(此时才有 output/usage 等)。
|
|
23
|
+
const savedTraces = new Map();
|
|
24
|
+
const savedObservations = new Map();
|
|
25
|
+
const track = (map, key, p) => {
|
|
26
|
+
map.set(key, p);
|
|
27
|
+
p.finally(() => { if (map.get(key) === p)
|
|
28
|
+
map.delete(key); });
|
|
29
|
+
};
|
|
11
30
|
return {
|
|
12
|
-
|
|
31
|
+
startTrace(ctx) {
|
|
13
32
|
const traceId = ctx.traceId || `trace_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
14
33
|
const startTime = Date.now();
|
|
15
|
-
|
|
16
|
-
|
|
34
|
+
const p = (async () => {
|
|
35
|
+
const record = {
|
|
17
36
|
traceId,
|
|
18
37
|
sessionId: ctx.sessionId,
|
|
19
38
|
threadId: ctx.threadId,
|
|
@@ -25,68 +44,107 @@ export function createStoreSink(provider) {
|
|
|
25
44
|
status: 'active',
|
|
26
45
|
startTime,
|
|
27
46
|
metadata: ctx.metadata,
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
await provider.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
await provider.saveTrace(record);
|
|
50
|
+
savedTraces.set(traceId, record);
|
|
51
|
+
if (ctx.sessionId) {
|
|
52
|
+
await provider.upsertSession({
|
|
53
|
+
sessionId: ctx.sessionId,
|
|
54
|
+
userId: ctx.userId,
|
|
55
|
+
threadId: ctx.threadId,
|
|
56
|
+
applicationId: ctx.applicationId,
|
|
57
|
+
agentProfileId: ctx.agentProfileId,
|
|
58
|
+
}).catch(() => { });
|
|
59
|
+
}
|
|
37
60
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.warn('[Observability] startTrace failed:', e instanceof Error ? e.message : e);
|
|
63
|
+
}
|
|
64
|
+
})();
|
|
65
|
+
track(inflightTraces, traceId, p);
|
|
66
|
+
// 立即返回 handle,不 await DB 写入(fire-and-forget)
|
|
67
|
+
return Promise.resolve({ traceId, startTime, sampled: true });
|
|
43
68
|
},
|
|
44
69
|
async endTrace(traceId, data) {
|
|
70
|
+
const pending = inflightTraces.get(traceId);
|
|
45
71
|
try {
|
|
72
|
+
// 等待 start 落库(通常已完成),保证 update 能命中已插入的行
|
|
73
|
+
if (pending)
|
|
74
|
+
await pending;
|
|
46
75
|
const endTime = Date.now();
|
|
76
|
+
const durationMs = data?.startTime != null ? endTime - data.startTime : undefined;
|
|
47
77
|
await provider.updateTrace(traceId, {
|
|
48
78
|
output: data?.output,
|
|
49
79
|
status: data?.status ?? 'ok',
|
|
50
80
|
endTime,
|
|
51
|
-
durationMs
|
|
81
|
+
durationMs,
|
|
52
82
|
usage: data?.usage,
|
|
53
83
|
cost: data?.cost,
|
|
54
84
|
error: data?.error,
|
|
55
85
|
});
|
|
86
|
+
// 真实导出:把完整 trace(含 output/usage/cost/duration)推给导出器。
|
|
87
|
+
// observation 已在各自 endObservation 时入队,导出器在 flush 时按 traceId 自动配对。
|
|
88
|
+
if (exporter) {
|
|
89
|
+
const base = savedTraces.get(traceId);
|
|
90
|
+
if (base) {
|
|
91
|
+
exporter.enqueueTrace({
|
|
92
|
+
...base,
|
|
93
|
+
output: data?.output ?? base.output,
|
|
94
|
+
status: data?.status ?? base.status,
|
|
95
|
+
endTime,
|
|
96
|
+
durationMs: durationMs ?? base.durationMs,
|
|
97
|
+
usage: data?.usage ?? base.usage,
|
|
98
|
+
cost: data?.cost ?? base.cost,
|
|
99
|
+
error: data?.error ?? base.error,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
56
103
|
}
|
|
57
104
|
catch (e) {
|
|
58
105
|
console.warn('[Observability] endTrace failed:', e instanceof Error ? e.message : e);
|
|
59
106
|
}
|
|
60
107
|
},
|
|
61
|
-
|
|
108
|
+
startObservation(ctx) {
|
|
62
109
|
const observationId = `obs_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
63
110
|
const startTime = Date.now();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
111
|
+
const record = {
|
|
112
|
+
id: observationId,
|
|
113
|
+
traceId: ctx.traceId || '',
|
|
114
|
+
parentObservationId: ctx.parentObservationId,
|
|
115
|
+
type: ctx.type,
|
|
116
|
+
name: ctx.name,
|
|
117
|
+
model: ctx.model,
|
|
118
|
+
provider: ctx.provider,
|
|
119
|
+
input: ctx.input,
|
|
120
|
+
status: 'active',
|
|
121
|
+
startTime,
|
|
122
|
+
metadata: ctx.metadata,
|
|
123
|
+
};
|
|
124
|
+
const p = (async () => {
|
|
125
|
+
try {
|
|
126
|
+
await provider.saveObservation(record);
|
|
127
|
+
savedObservations.set(observationId, record);
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
console.warn('[Observability] startObservation failed:', e instanceof Error ? e.message : e);
|
|
131
|
+
}
|
|
132
|
+
})();
|
|
133
|
+
track(inflightObservations, observationId, p);
|
|
134
|
+
// 立即返回 handle,不 await DB 写入(fire-and-forget)
|
|
135
|
+
return Promise.resolve({ observationId, traceId: ctx.traceId || '', startTime, sampled: true });
|
|
83
136
|
},
|
|
84
137
|
async endObservation(observationId, data) {
|
|
138
|
+
const pending = inflightObservations.get(observationId);
|
|
85
139
|
try {
|
|
140
|
+
// 等待 start 落库(通常已完成),保证 update 能命中已插入的行
|
|
141
|
+
if (pending)
|
|
142
|
+
await pending;
|
|
143
|
+
const endTime = Date.now();
|
|
86
144
|
await provider.updateObservation(observationId, {
|
|
87
145
|
output: data?.output,
|
|
88
146
|
status: data?.status ?? 'ok',
|
|
89
|
-
endTime
|
|
147
|
+
endTime,
|
|
90
148
|
durationMs: data?.durationMs,
|
|
91
149
|
usage: data?.usage,
|
|
92
150
|
model: data?.model,
|
|
@@ -94,37 +152,62 @@ export function createStoreSink(provider) {
|
|
|
94
152
|
error: data?.error,
|
|
95
153
|
metadata: data?.metadata,
|
|
96
154
|
});
|
|
155
|
+
// 真实导出:把完整 observation(含 output/usage/duration)推给导出器。
|
|
156
|
+
// 必须在 trace 的 enqueueTrace 之前入队,导出器 flush 时才能按 traceId 配对到 trace。
|
|
157
|
+
if (exporter) {
|
|
158
|
+
const base = savedObservations.get(observationId);
|
|
159
|
+
if (base) {
|
|
160
|
+
exporter.enqueueObservation({
|
|
161
|
+
...base,
|
|
162
|
+
output: data?.output ?? base.output,
|
|
163
|
+
status: data?.status ?? base.status,
|
|
164
|
+
endTime,
|
|
165
|
+
durationMs: data?.durationMs ?? base.durationMs,
|
|
166
|
+
usage: data?.usage ?? base.usage,
|
|
167
|
+
model: data?.model ?? base.model,
|
|
168
|
+
provider: data?.provider ?? base.provider,
|
|
169
|
+
error: data?.error ?? base.error,
|
|
170
|
+
metadata: data?.metadata ?? base.metadata,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
97
174
|
}
|
|
98
175
|
catch (e) {
|
|
99
176
|
console.warn('[Observability] endObservation failed:', e instanceof Error ? e.message : e);
|
|
100
177
|
}
|
|
101
178
|
},
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
179
|
+
recordEvent(ctx) {
|
|
180
|
+
const observationId = `evt_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
181
|
+
(async () => {
|
|
182
|
+
try {
|
|
183
|
+
await provider.saveObservation({
|
|
184
|
+
id: observationId,
|
|
185
|
+
traceId: ctx.traceId || '',
|
|
186
|
+
type: 'event',
|
|
187
|
+
name: ctx.name,
|
|
188
|
+
input: ctx.input,
|
|
189
|
+
output: ctx.output,
|
|
190
|
+
status: 'ok',
|
|
191
|
+
startTime: Date.now(),
|
|
192
|
+
metadata: ctx.metadata,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
catch (e) {
|
|
196
|
+
console.warn('[Observability] recordEvent failed:', e instanceof Error ? e.message : e);
|
|
197
|
+
}
|
|
198
|
+
})();
|
|
199
|
+
return Promise.resolve();
|
|
120
200
|
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
201
|
+
recordScore(score) {
|
|
202
|
+
(async () => {
|
|
203
|
+
try {
|
|
204
|
+
await provider.saveScore(score);
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
console.warn('[Observability] recordScore failed:', e instanceof Error ? e.message : e);
|
|
208
|
+
}
|
|
209
|
+
})();
|
|
210
|
+
return Promise.resolve();
|
|
128
211
|
},
|
|
129
212
|
};
|
|
130
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-sink-factory.js","sourceRoot":"","sources":["../../../src/spi/store-sink-factory.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8DAA8D;AAC9D,+DAA+D;
|
|
1
|
+
{"version":3,"file":"store-sink-factory.js","sourceRoot":"","sources":["../../../src/spi/store-sink-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvE,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvE,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CA+YxD"}
|
|
@@ -17,7 +17,9 @@ export function createFilesystemTools() {
|
|
|
17
17
|
'IMPORTANT: Do NOT use heredoc (cat > file << EOF) to write scripts - the content will be truncated. ' +
|
|
18
18
|
'To write script files, use write_file (or append_file for long scripts), then use execute_command with a short command to run them. ' +
|
|
19
19
|
'SANDBOX RESTRICTIONS: Commands run inside a sandboxed directory. ' +
|
|
20
|
-
'
|
|
20
|
+
'ALL file access (reads AND writes) is restricted to the sandbox directory by a path-isolation guard. ' +
|
|
21
|
+
'NEVER use absolute paths or ~/ for file paths (like /Users/..., /home/..., ~/.codebuddy/...) - ' +
|
|
22
|
+
'any command referencing a path OUTSIDE the sandbox will be BLOCKED. ' +
|
|
21
23
|
'Use relative paths: "report.html", "gen.cjs", etc. ' +
|
|
22
24
|
'NEVER use `find /` for filesystem search - use `find . -name "file"` or `ls -la` instead.',
|
|
23
25
|
parameters: {
|
|
@@ -270,6 +272,18 @@ export function createFilesystemTools() {
|
|
|
270
272
|
const fs = await import('fs');
|
|
271
273
|
const path = await import('path');
|
|
272
274
|
const sandbox = ctx.custom?.sandbox;
|
|
275
|
+
// 沙箱隔离:search_code 只能在沙箱目录内搜索,禁止传入宿主机绝对路径
|
|
276
|
+
// (如 /Users/...、/home/...、/etc/...),防止借搜索能力遍历宿主机文件系统。
|
|
277
|
+
if (args.path && typeof args.path === 'string' && path.isAbsolute(args.path)) {
|
|
278
|
+
const sandboxRoot = sandbox?.rootDir;
|
|
279
|
+
if (sandboxRoot) {
|
|
280
|
+
const rel = path.relative(path.resolve(sandboxRoot), path.resolve(args.path));
|
|
281
|
+
if (rel.startsWith('..') || path.isAbsolute(rel)) {
|
|
282
|
+
return `[Sandbox blocked] search_code path "${args.path}" is outside the sandbox directory. ` +
|
|
283
|
+
`Search is restricted to the sandbox (use a relative path or omit "path" to search the whole sandbox).`;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
273
287
|
const rootPath = args.path || sandbox?.rootDir || process.cwd();
|
|
274
288
|
const pattern = args.pattern;
|
|
275
289
|
const globPattern = args.glob || '**/*';
|