@cicctencent/agent-server 0.2.68 → 0.2.70

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.
Files changed (73) hide show
  1. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  2. package/dist/cjs/agent/agent-server.js +76 -11
  3. package/dist/cjs/agent/agent-server.js.map +1 -1
  4. package/dist/cjs/index.d.ts +5 -0
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +10 -3
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/sandbox/local-sandbox.d.ts +16 -0
  9. package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -1
  10. package/dist/cjs/sandbox/local-sandbox.js +77 -5
  11. package/dist/cjs/sandbox/local-sandbox.js.map +1 -1
  12. package/dist/cjs/service/observability-exporter.d.ts +51 -0
  13. package/dist/cjs/service/observability-exporter.d.ts.map +1 -0
  14. package/dist/cjs/service/observability-exporter.js +285 -0
  15. package/dist/cjs/service/observability-exporter.js.map +1 -0
  16. package/dist/cjs/service/observability.service.d.ts +2 -0
  17. package/dist/cjs/service/observability.service.d.ts.map +1 -1
  18. package/dist/cjs/service/observability.service.js +4 -2
  19. package/dist/cjs/service/observability.service.js.map +1 -1
  20. package/dist/cjs/spi/index.d.ts +3 -0
  21. package/dist/cjs/spi/index.d.ts.map +1 -1
  22. package/dist/cjs/spi/index.js +6 -1
  23. package/dist/cjs/spi/index.js.map +1 -1
  24. package/dist/cjs/spi/observability-store.d.ts +67 -0
  25. package/dist/cjs/spi/observability-store.d.ts.map +1 -0
  26. package/dist/cjs/spi/observability-store.js +329 -0
  27. package/dist/cjs/spi/observability-store.js.map +1 -0
  28. package/dist/cjs/spi/store-sink-factory.d.ts +10 -0
  29. package/dist/cjs/spi/store-sink-factory.d.ts.map +1 -0
  30. package/dist/cjs/spi/store-sink-factory.js +134 -0
  31. package/dist/cjs/spi/store-sink-factory.js.map +1 -0
  32. package/dist/cjs/tool/tools/filesystem.d.ts.map +1 -1
  33. package/dist/cjs/tool/tools/filesystem.js +15 -1
  34. package/dist/cjs/tool/tools/filesystem.js.map +1 -1
  35. package/dist/cjs/types.d.ts +8 -1
  36. package/dist/cjs/types.d.ts.map +1 -1
  37. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  38. package/dist/esm/agent/agent-server.js +77 -12
  39. package/dist/esm/agent/agent-server.js.map +1 -1
  40. package/dist/esm/index.d.ts +5 -0
  41. package/dist/esm/index.d.ts.map +1 -1
  42. package/dist/esm/index.js +3 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/sandbox/local-sandbox.d.ts +16 -0
  45. package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -1
  46. package/dist/esm/sandbox/local-sandbox.js +77 -5
  47. package/dist/esm/sandbox/local-sandbox.js.map +1 -1
  48. package/dist/esm/service/observability-exporter.d.ts +51 -0
  49. package/dist/esm/service/observability-exporter.d.ts.map +1 -0
  50. package/dist/esm/service/observability-exporter.js +247 -0
  51. package/dist/esm/service/observability-exporter.js.map +1 -0
  52. package/dist/esm/service/observability.service.d.ts +2 -0
  53. package/dist/esm/service/observability.service.d.ts.map +1 -1
  54. package/dist/esm/service/observability.service.js +2 -1
  55. package/dist/esm/service/observability.service.js.map +1 -1
  56. package/dist/esm/spi/index.d.ts +3 -0
  57. package/dist/esm/spi/index.d.ts.map +1 -1
  58. package/dist/esm/spi/index.js +3 -0
  59. package/dist/esm/spi/index.js.map +1 -1
  60. package/dist/esm/spi/observability-store.d.ts +67 -0
  61. package/dist/esm/spi/observability-store.d.ts.map +1 -0
  62. package/dist/esm/spi/observability-store.js +325 -0
  63. package/dist/esm/spi/observability-store.js.map +1 -0
  64. package/dist/esm/spi/store-sink-factory.d.ts +10 -0
  65. package/dist/esm/spi/store-sink-factory.d.ts.map +1 -0
  66. package/dist/esm/spi/store-sink-factory.js +131 -0
  67. package/dist/esm/spi/store-sink-factory.js.map +1 -0
  68. package/dist/esm/tool/tools/filesystem.d.ts.map +1 -1
  69. package/dist/esm/tool/tools/filesystem.js +15 -1
  70. package/dist/esm/tool/tools/filesystem.js.map +1 -1
  71. package/dist/esm/types.d.ts +8 -1
  72. package/dist/esm/types.d.ts.map +1 -1
  73. package/package.json +5 -5
@@ -44,6 +44,7 @@ const fs = __importStar(require("fs/promises"));
44
44
  const fs_1 = require("fs");
45
45
  const path = __importStar(require("path"));
46
46
  const crypto = __importStar(require("crypto"));
47
+ const os = __importStar(require("os"));
47
48
  const agent_core_1 = require("@cicctencent/agent-core");
48
49
  const agent_core_2 = require("@cicctencent/agent-core");
49
50
  const data_dir_ts_1 = require("../utils/data-dir.js");
@@ -199,7 +200,16 @@ class SandboxShellExecutor {
199
200
  this.sandboxEnv = filterEnvForSandbox(process.env);
200
201
  }
201
202
  async exec(command, timeout = 2000) {
202
- // 命令安全检查
203
+ // 沙箱隔离(始终强制执行,与命令黑名单开关无关):
204
+ // 拦截任何引用沙箱目录之外路径的命令。cwd 虽已限制在沙箱内,但命令仍可通过
205
+ // 绝对路径、~/、$HOME、file://、父目录穿越(..) 等方式逃逸到宿主机文件系统。
206
+ // 例:cat ~/.codebuddy/models.json、python3 -c "open('/Users/x')"、curl file:///etc/passwd。
207
+ const outside = this.findOutsideSandboxPath(command);
208
+ if (outside) {
209
+ return `[Sandbox blocked] Command references a path outside the sandbox (${outside}). ` +
210
+ `All file access must stay within the sandbox directory. Use relative paths (e.g. "report.html").`;
211
+ }
212
+ // 命令黑名单 / 删除保护检查(可开关)
203
213
  if (this.commandRestriction) {
204
214
  const sanitized = this.guard.sanitize(command.trim());
205
215
  if (!sanitized.safe) {
@@ -251,6 +261,66 @@ class SandboxShellExecutor {
251
261
  const start = Math.max(0, this.outputBuffer.length - lines);
252
262
  return this.outputBuffer.slice(start).join('\n') || '(no terminal output)';
253
263
  }
264
+ /**
265
+ * 判断 target 是否位于 base 目录内(含 base 自身)。
266
+ */
267
+ isInside(target, base) {
268
+ const rel = path.relative(path.resolve(base), path.resolve(target));
269
+ return !rel.startsWith('..') && !path.isAbsolute(rel);
270
+ }
271
+ /**
272
+ * 检测命令中是否引用了沙箱目录之外的路径。
273
+ *
274
+ * 覆盖常见逃逸写法:
275
+ * - 绝对路径:/Users/...、/home/...、/etc/...、/private/...、/System/...、/root/...、/var/...、Windows 盘符路径
276
+ * - 用户主目录:~/...、$HOME/...
277
+ * - file:// 协议:file:///Users/...、file:///etc/...
278
+ *
279
+ * 仅当命中路径确实位于沙箱 rootDir 之外时才返回该片段;
280
+ * 沙箱自身的脚本绝对路径(位于 rootDir 内)不会被拦截。
281
+ */
282
+ findOutsideSandboxPath(command) {
283
+ const home = process.env.HOME || process.env.USERPROFILE || os.homedir();
284
+ const pattern = /(~(?:\/[^\s"'<>|;()&\\]*)?)|(\$HOME|\$\{HOME\})(?:\/[^\s"'<>|;()&\\]*)?|(\/Users(?:\/[^\s"'<>|;()&\\]*)?|\/home(?:\/[^\s"'<>|;()&\\]*)?|\/etc(?:\/[^\s"'<>|;()&\\]*)?|\/private(?:\/[^\s"'<>|;()&\\]*)?|\/System(?:\/[^\s"'<>|;()&\\]*)?|\/root(?:\/[^\s"'<>|;()&\\]*)?|\/var(?:\/[^\s"'<>|;()&\\]*)?|(?<![:A-Za-z])[A-Za-z]:[\\/][^\s"'<>|;()&\\]*)|(file:\/\/[^\s"'<>|;()&\\]*)/g;
285
+ let m;
286
+ while ((m = pattern.exec(command))) {
287
+ let candidate;
288
+ if (m[1]) {
289
+ // ~ 形式:~/foo → $HOME/foo;单独的 ~ → $HOME
290
+ const tail = m[1].slice(1);
291
+ candidate = tail ? path.join(home, tail) : home;
292
+ }
293
+ else if (m[2]) {
294
+ // $HOME / ${HOME} 形式:沙箱环境变量 HOME 指向真实用户主目录,属逃逸
295
+ const tail = m[0].slice(m[2].length);
296
+ candidate = tail ? path.join(home, tail) : home;
297
+ }
298
+ else if (m[4]) {
299
+ // file:// 形式:file:///Users/x → /Users/x
300
+ candidate = m[4].replace(/^file:\/\//, '');
301
+ }
302
+ else {
303
+ // 绝对路径 / 盘符形式
304
+ candidate = m[3];
305
+ }
306
+ if (!this.isInside(candidate, this.rootDir)) {
307
+ return m[0];
308
+ }
309
+ }
310
+ // 父目录穿越(相对路径 ..):cat ../../secrets.txt、python3 ../../../x.py
311
+ const tokRe = /(?:[^\s"']+|"[^"]*"|'[^']*')+/g;
312
+ let t;
313
+ while ((t = tokRe.exec(command))) {
314
+ const tok = t[0].replace(/^["']|["']$/g, '');
315
+ if (/^(?:\.\.\/?)+$/.test(tok) || /\.\.\//.test(tok) || /\/\.\.(?:\/|$)/.test(tok)) {
316
+ const resolved = path.resolve(this.rootDir, tok);
317
+ if (!this.isInside(resolved, this.rootDir)) {
318
+ return t[0];
319
+ }
320
+ }
321
+ }
322
+ return null;
323
+ }
254
324
  }
255
325
  exports.SandboxShellExecutor = SandboxShellExecutor;
256
326
  // ---- JSON Builder 辅助模块 ----
@@ -396,11 +466,13 @@ class LocalSandbox {
396
466
  if (!langConfig) {
397
467
  throw new Error(`Sandbox: unsupported language "${language}"`);
398
468
  }
399
- // 安全检查:拦截脚本内容中向用户目录的绝对路径写操作
400
- const absPathPattern = /(?:writeFile|writeFileSync|createWriteStream|open\s*\(|savefig|to_csv|to_excel|to_parquet|to_html)\s*\(?\s*['"][^'"]*\/(Users|home)\//i;
401
- const cpMvPattern = /\b(?:cp|mv|tee)\s+[^|;&\n]*\s+['"]?\/(Users|home)\//i;
469
+ // 安全检查:拦截脚本内容中向沙箱外(用户目录/系统目录)的绝对路径读写操作。
470
+ // 覆盖常见读取(readFileSync/open/readJson...)与写入(writeFileSync/savefig/to_csv...)调用,
471
+ // 防止脚本通过 Node.js/Python 直接读取宿主机文件(如 ~/.codebuddy/models.json)。
472
+ const absPathPattern = /(?:writeFile|writeFileSync|createWriteStream|readFile|readFileSync|readFileBuffer|readdirSync|readlinkSync|existsSync|statSync|stat\b|createReadStream|accessSync|realpathSync|open\s*\(|readJson|readText|readCsv|savefig|to_csv|to_excel|to_parquet|to_html|imread|loadtxt|pd\.read_|np\.load|numpy\.load)\s*\(?\s*['"][^'"]*\/(?:Users|home|etc|private|System|root|var)\//i;
473
+ const cpMvPattern = /\b(?:cp|mv|tee)\s+[^|;&\n]*\s+['"]?\/(?:Users|home|etc|private|System|root|var)\//i;
402
474
  if (absPathPattern.test(code) || cpMvPattern.test(code)) {
403
- return '[Sandbox blocked] Script contains absolute path write to user directory. Use relative paths instead (e.g. "report.html", "data.json").';
475
+ return '[Sandbox blocked] Script contains absolute path access to a location outside the sandbox (user/system directory). Use relative paths within the sandbox instead (e.g. "report.html", "data.json").';
404
476
  }
405
477
  // Node.js 脚本:自动 patch fs 方法以自动创建父目录
406
478
  // 防止 pptxgenjs/docx 等库写入子目录时因目录不存在而静默失败
@@ -1 +1 @@
1
- {"version":3,"file":"local-sandbox.js","sourceRoot":"","sources":["../../../src/sandbox/local-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-sandbox.js","sourceRoot":"","sources":["../../../src/sandbox/local-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { ObservationRecord, TraceRecord } from '@cicctencent/agent-core';
2
+ export interface ExporterConfig {
3
+ enabled: boolean;
4
+ endpoint: string;
5
+ publicKey?: string;
6
+ secretKey?: string;
7
+ headers?: Record<string, string>;
8
+ exportIntervalMs?: number;
9
+ maxBatchSize?: number;
10
+ }
11
+ export interface ObservabilityExporter {
12
+ name: string;
13
+ config: ExporterConfig;
14
+ enqueueTrace(trace: TraceRecord): void;
15
+ enqueueObservation(observation: ObservationRecord): void;
16
+ flush(): Promise<void>;
17
+ start(): void;
18
+ stop(): void;
19
+ }
20
+ export declare class OtlpExporter implements ObservabilityExporter {
21
+ readonly name = "otlp";
22
+ config: ExporterConfig;
23
+ private timer?;
24
+ private pending;
25
+ private traceObservationMap;
26
+ private readonly maxQueueSize;
27
+ constructor(config: ExporterConfig);
28
+ enqueueTrace(trace: TraceRecord): void;
29
+ enqueueObservation(observation: ObservationRecord): void;
30
+ start(): void;
31
+ stop(): void;
32
+ flush(): Promise<void>;
33
+ private sendOtlp;
34
+ private traceToOtlpSpan;
35
+ private observationToOtlpSpan;
36
+ private toOtlpAttributes;
37
+ private deriveSpanId;
38
+ private httpPost;
39
+ }
40
+ export declare class ObservabilityExporterManager {
41
+ private exporters;
42
+ addExporter(exporter: ObservabilityExporter): void;
43
+ removeExporter(name: string): void;
44
+ getExporters(): ObservabilityExporter[];
45
+ getExporter(name: string): ObservabilityExporter | undefined;
46
+ enqueueTrace(trace: TraceRecord): void;
47
+ enqueueObservation(observation: ObservationRecord): void;
48
+ flushAll(): Promise<void>;
49
+ stopAll(): void;
50
+ }
51
+ //# sourceMappingURL=observability-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-exporter.d.ts","sourceRoot":"","sources":["../../../src/service/observability-exporter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAMjC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAMD,qBAAa,YAAa,YAAW,qBAAqB;IACxD,QAAQ,CAAC,IAAI,UAAU;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAwE;IACvF,OAAO,CAAC,mBAAmB,CAA0C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,cAAc;IAQlC,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAYtC,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAOxD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAON,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBd,QAAQ;IA0BtB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,QAAQ;CAyCjB;AAMD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,SAAS,CAA+B;IAEhD,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKlD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQlC,YAAY,IAAI,qBAAqB,EAAE;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI5D,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAMtC,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAMlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Observability Exporters - OTLP export
4
+ // ============================================================
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ObservabilityExporterManager = exports.OtlpExporter = void 0;
40
+ const http = __importStar(require("http"));
41
+ const https = __importStar(require("https"));
42
+ // ============================================================
43
+ // OtlpExporter - exports traces as OTLP JSON to OTLP Collector
44
+ // ============================================================
45
+ class OtlpExporter {
46
+ name = 'otlp';
47
+ config;
48
+ timer;
49
+ pending = [];
50
+ traceObservationMap = new Map();
51
+ maxQueueSize = 10000;
52
+ constructor(config) {
53
+ this.config = {
54
+ exportIntervalMs: 5000,
55
+ maxBatchSize: 100,
56
+ ...config,
57
+ };
58
+ }
59
+ enqueueTrace(trace) {
60
+ if (!this.config.enabled)
61
+ return;
62
+ const observations = this.traceObservationMap.get(trace.traceId) || [];
63
+ this.traceObservationMap.delete(trace.traceId);
64
+ if (this.pending.length < this.maxQueueSize) {
65
+ this.pending.push({ trace, observations });
66
+ }
67
+ if (this.pending.length >= (this.config.maxBatchSize || 100)) {
68
+ this.flush().catch(() => { });
69
+ }
70
+ }
71
+ enqueueObservation(observation) {
72
+ if (!this.config.enabled)
73
+ return;
74
+ const list = this.traceObservationMap.get(observation.traceId) || [];
75
+ list.push(observation);
76
+ this.traceObservationMap.set(observation.traceId, list);
77
+ }
78
+ start() {
79
+ if (!this.config.enabled)
80
+ return;
81
+ this.stop();
82
+ this.timer = setInterval(() => {
83
+ this.flush().catch(() => { });
84
+ }, this.config.exportIntervalMs || 5000);
85
+ if (this.timer && typeof this.timer === 'object' && 'unref' in this.timer)
86
+ this.timer.unref();
87
+ }
88
+ stop() {
89
+ if (this.timer) {
90
+ clearInterval(this.timer);
91
+ this.timer = undefined;
92
+ }
93
+ }
94
+ async flush() {
95
+ if (!this.config.enabled || !this.config.endpoint)
96
+ return;
97
+ if (this.pending.length === 0)
98
+ return;
99
+ const batch = [...this.pending];
100
+ this.pending = [];
101
+ try {
102
+ await this.sendOtlp(batch);
103
+ }
104
+ catch (e) {
105
+ // re-queue on failure, but cap queue size to prevent OOM
106
+ const reQueue = batch.slice(0, this.maxQueueSize - this.pending.length);
107
+ this.pending.unshift(...reQueue);
108
+ console.error('[OtlpExporter] export failed:', e);
109
+ }
110
+ }
111
+ async sendOtlp(batch) {
112
+ const spans = batch.flatMap(({ trace, observations }) => {
113
+ const traceSpans = [
114
+ this.traceToOtlpSpan(trace),
115
+ ...observations.map(o => this.observationToOtlpSpan(o, trace)),
116
+ ];
117
+ return traceSpans;
118
+ });
119
+ const payload = {
120
+ resourceSpans: [{
121
+ resource: {
122
+ attributes: [
123
+ { key: 'service.name', value: { stringValue: 'agent-server' } },
124
+ ],
125
+ },
126
+ scopeSpans: [{
127
+ scope: { name: 'agent-observability' },
128
+ spans,
129
+ }],
130
+ }],
131
+ };
132
+ await this.httpPost(JSON.stringify(payload));
133
+ }
134
+ traceToOtlpSpan(trace) {
135
+ const startNs = (trace.startTime * 1_000_000).toString();
136
+ const endNs = (trace.endTime ? trace.endTime * 1_000_000 : Date.now() * 1_000_000).toString();
137
+ return {
138
+ traceId: trace.traceId,
139
+ spanId: this.deriveSpanId(trace.traceId),
140
+ name: trace.name || 'agent.trace',
141
+ kind: 1,
142
+ startTimeUnixNano: startNs,
143
+ endTimeUnixNano: endNs,
144
+ status: { code: trace.status === 'error' ? 2 : 1 },
145
+ attributes: this.toOtlpAttributes({
146
+ 'gen_ai.system': 'agent',
147
+ 'session.id': trace.sessionId,
148
+ 'thread.id': trace.threadId,
149
+ 'application.id': trace.applicationId,
150
+ 'agent.profile.id': trace.agentProfileId,
151
+ 'user.id': trace.userId,
152
+ 'trace.status': trace.status,
153
+ 'trace.duration_ms': trace.durationMs,
154
+ 'trace.total_tokens': trace.usage?.totalTokens,
155
+ 'trace.cost': trace.usage?.cost,
156
+ }),
157
+ };
158
+ }
159
+ observationToOtlpSpan(obs, trace) {
160
+ const startNs = (obs.startTime * 1_000_000).toString();
161
+ const endNs = (obs.endTime ? obs.endTime * 1_000_000 : Date.now() * 1_000_000).toString();
162
+ const isGeneration = obs.type === 'generation';
163
+ return {
164
+ traceId: trace.traceId,
165
+ spanId: obs.id,
166
+ parentSpanId: obs.parentObservationId || this.deriveSpanId(trace.traceId),
167
+ name: obs.name,
168
+ kind: isGeneration ? 3 : 1, // SPAN_KIND_CLIENT for generation, INTERNAL for span
169
+ startTimeUnixNano: startNs,
170
+ endTimeUnixNano: endNs,
171
+ status: { code: obs.status === 'error' ? 2 : 1 },
172
+ attributes: this.toOtlpAttributes({
173
+ 'gen_ai.system': obs.provider || 'unknown',
174
+ 'gen_ai.request.model': obs.model,
175
+ 'gen_ai.usage.prompt_tokens': obs.usage?.promptTokens,
176
+ 'gen_ai.usage.completion_tokens': obs.usage?.completionTokens,
177
+ 'gen_ai.usage.total_tokens': obs.usage?.totalTokens,
178
+ 'observation.type': obs.type,
179
+ 'observation.duration_ms': obs.durationMs,
180
+ 'observation.error': obs.error,
181
+ }),
182
+ };
183
+ }
184
+ toOtlpAttributes(obj) {
185
+ return Object.entries(obj)
186
+ .filter(([, v]) => v !== undefined && v !== null)
187
+ .map(([k, v]) => ({ key: k, value: { stringValue: String(v) } }));
188
+ }
189
+ deriveSpanId(traceId) {
190
+ // 使用确定性 hash 生成 16 位 hex span ID,避免不同 traceId 产生重复 span ID
191
+ let hash = 0;
192
+ for (let i = 0; i < traceId.length; i++) {
193
+ const ch = traceId.charCodeAt(i);
194
+ hash = ((hash << 5) - hash + ch) | 0; // 32 位整数溢出
195
+ }
196
+ const hex = Math.abs(hash).toString(16).padStart(8, '0');
197
+ // 补充 traceId 中的 hex 字符凑齐 16 位
198
+ const traceHex = (traceId.replace(/[^a-f0-9]/gi, '').padEnd(8, '0').slice(0, 8));
199
+ return (hex + traceHex).padEnd(16, '0').slice(0, 16);
200
+ }
201
+ httpPost(body) {
202
+ const url = new URL(this.config.endpoint);
203
+ const isHttps = url.protocol === 'https:';
204
+ const httpModule = isHttps ? https : http;
205
+ const headers = {
206
+ 'Content-Type': 'application/json',
207
+ 'Content-Length': String(Buffer.byteLength(body)),
208
+ ...this.config.headers,
209
+ };
210
+ // Basic Auth (publicKey:secretKey -> base64)
211
+ if (this.config.publicKey && this.config.secretKey) {
212
+ const auth = Buffer.from(`${this.config.publicKey}:${this.config.secretKey}`).toString('base64');
213
+ headers['Authorization'] = `Basic ${auth}`;
214
+ }
215
+ return new Promise((resolve, reject) => {
216
+ const req = httpModule.request({
217
+ hostname: url.hostname,
218
+ port: url.port || (isHttps ? 443 : 80),
219
+ path: url.pathname + url.search,
220
+ method: 'POST',
221
+ headers,
222
+ timeout: 30000,
223
+ }, (res) => {
224
+ let data = '';
225
+ res.on('data', chunk => data += chunk);
226
+ res.on('end', () => {
227
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
228
+ resolve();
229
+ }
230
+ else {
231
+ reject(new Error(`OTLP export failed: ${res.statusCode} ${data}`));
232
+ }
233
+ });
234
+ });
235
+ req.on('error', reject);
236
+ req.on('timeout', () => { req.destroy(new Error('OTLP export timeout')); });
237
+ req.write(body);
238
+ req.end();
239
+ });
240
+ }
241
+ }
242
+ exports.OtlpExporter = OtlpExporter;
243
+ // ============================================================
244
+ // Exporter Manager - manages multiple exporters
245
+ // ============================================================
246
+ class ObservabilityExporterManager {
247
+ exporters = [];
248
+ addExporter(exporter) {
249
+ this.exporters.push(exporter);
250
+ exporter.start();
251
+ }
252
+ removeExporter(name) {
253
+ const idx = this.exporters.findIndex(e => e.name === name);
254
+ if (idx !== -1) {
255
+ this.exporters[idx].stop();
256
+ this.exporters.splice(idx, 1);
257
+ }
258
+ }
259
+ getExporters() {
260
+ return [...this.exporters];
261
+ }
262
+ getExporter(name) {
263
+ return this.exporters.find(e => e.name === name);
264
+ }
265
+ enqueueTrace(trace) {
266
+ for (const e of this.exporters) {
267
+ e.enqueueTrace(trace);
268
+ }
269
+ }
270
+ enqueueObservation(observation) {
271
+ for (const e of this.exporters) {
272
+ e.enqueueObservation(observation);
273
+ }
274
+ }
275
+ async flushAll() {
276
+ await Promise.allSettled(this.exporters.map(e => e.flush()));
277
+ }
278
+ stopAll() {
279
+ for (const e of this.exporters) {
280
+ e.stop();
281
+ }
282
+ }
283
+ }
284
+ exports.ObservabilityExporterManager = ObservabilityExporterManager;
285
+ //# sourceMappingURL=observability-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-exporter.js","sourceRoot":"","sources":["../../../src/service/observability-exporter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export { logEvent, setLogTransport } from '@cicctencent/agent-core';
2
2
  export type { LogLevel, ObservabilityEvent, LogTransport } from '@cicctencent/agent-core';
3
+ export { InMemoryObservabilityStore } from '../spi/observability-store.js';
4
+ export type { ObservabilityStoreProvider } from '../spi/observability-store.js';
3
5
  //# sourceMappingURL=observability.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.service.d.ts","sourceRoot":"","sources":["../../../src/service/observability.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"observability.service.d.ts","sourceRoot":"","sources":["../../../src/service/observability.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  // ============================================================
3
- // ObservabilityService 可观测性服务(封装 agent-core)
3
+ // ObservabilityService - 可观测性服务(封装 agent-core + agent-server SPI
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setLogTransport = exports.logEvent = void 0;
6
+ exports.InMemoryObservabilityStore = exports.setLogTransport = exports.logEvent = void 0;
7
7
  var agent_core_1 = require("@cicctencent/agent-core");
8
8
  Object.defineProperty(exports, "logEvent", { enumerable: true, get: function () { return agent_core_1.logEvent; } });
9
9
  Object.defineProperty(exports, "setLogTransport", { enumerable: true, get: function () { return agent_core_1.setLogTransport; } });
10
+ var observability_store_ts_1 = require("../spi/observability-store.js");
11
+ Object.defineProperty(exports, "InMemoryObservabilityStore", { enumerable: true, get: function () { return observability_store_ts_1.InMemoryObservabilityStore; } });
10
12
  //# sourceMappingURL=observability.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.service.js","sourceRoot":"","sources":["../../../src/service/observability.service.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;;;AAE/D,sDAAoE;AAA3D,sGAAA,QAAQ,OAAA;AAAE,6GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"observability.service.js","sourceRoot":"","sources":["../../../src/service/observability.service.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kEAAkE;AAClE,+DAA+D;;;AAE/D,sDAAoE;AAA3D,sGAAA,QAAQ,OAAA;AAAE,6GAAA,eAAe,OAAA;AAGlC,wEAA2E;AAAlE,oIAAA,0BAA0B,OAAA"}
@@ -86,6 +86,9 @@ export type { BaseThreadEntity, BaseMessageEntity, BaseWorkspaceEntity, BaseAgen
86
86
  export { JsonFileKVStorage, JsonFileListStorage, InMemoryKVStorage, InMemoryListStorage, DatabaseListStorage, createJsonFileStorage, createInMemoryStorage, } from './storage.js';
87
87
  export { ExpressSSEAdapter, KoaSSEAdapter, FastifySSEAdapter, NativeHttpSSEAdapter, adaptSSE, ExpressRequestAdapter, KoaRequestAdapter, adaptRequest, CustomSSEAdapter, } from './adapters.js';
88
88
  export * from './store-interfaces.js';
89
+ export { InMemoryObservabilityStore, } from './observability-store.js';
90
+ export type { ObservabilityStoreProvider, } from './observability-store.js';
91
+ export { createStoreSink } from './store-sink-factory.js';
89
92
  export * from './channel-types.js';
90
93
  /**
91
94
  * ## SPI 使用示例
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAGH,YAAY,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAGlB,aAAa,EAGb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAGZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAGnB,kBAAkB,EAClB,qBAAqB,EAGrB,qBAAqB,EAGrB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EAGnB,iBAAiB,EACjB,mBAAmB,EAGnB,mBAAmB,EAGnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAGR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EAGZ,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAMnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAGH,YAAY,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAGlB,aAAa,EAGb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAGZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAGnB,kBAAkB,EAClB,qBAAqB,EAGrB,qBAAqB,EAGrB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EAGnB,iBAAiB,EACjB,mBAAmB,EAGnB,mBAAmB,EAGnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAGR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EAGZ,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,cAAc,oBAAoB,CAAC;AAMnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
@@ -101,7 +101,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
101
101
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
102
102
  };
103
103
  Object.defineProperty(exports, "__esModule", { value: true });
104
- exports.CustomSSEAdapter = exports.adaptRequest = exports.KoaRequestAdapter = exports.ExpressRequestAdapter = exports.adaptSSE = exports.NativeHttpSSEAdapter = exports.FastifySSEAdapter = exports.KoaSSEAdapter = exports.ExpressSSEAdapter = exports.createInMemoryStorage = exports.createJsonFileStorage = exports.DatabaseListStorage = exports.InMemoryListStorage = exports.InMemoryKVStorage = exports.JsonFileListStorage = exports.JsonFileKVStorage = void 0;
104
+ exports.createStoreSink = exports.InMemoryObservabilityStore = exports.CustomSSEAdapter = exports.adaptRequest = exports.KoaRequestAdapter = exports.ExpressRequestAdapter = exports.adaptSSE = exports.NativeHttpSSEAdapter = exports.FastifySSEAdapter = exports.KoaSSEAdapter = exports.ExpressSSEAdapter = exports.createInMemoryStorage = exports.createJsonFileStorage = exports.DatabaseListStorage = exports.InMemoryListStorage = exports.InMemoryKVStorage = exports.JsonFileListStorage = exports.JsonFileKVStorage = void 0;
105
105
  // ---- 存储适配器(参考实现) ----
106
106
  var storage_ts_1 = require("./storage.js");
107
107
  // JSON 文件存储(默认实现)
@@ -131,6 +131,11 @@ Object.defineProperty(exports, "adaptRequest", { enumerable: true, get: function
131
131
  Object.defineProperty(exports, "CustomSSEAdapter", { enumerable: true, get: function () { return adapters_ts_1.CustomSSEAdapter; } });
132
132
  // ---- Store 接口(从 agent-midway 迁移) ----
133
133
  __exportStar(require("./store-interfaces.js"), exports);
134
+ // ---- 可观测性 SPI ----
135
+ var observability_store_ts_1 = require("./observability-store.js");
136
+ Object.defineProperty(exports, "InMemoryObservabilityStore", { enumerable: true, get: function () { return observability_store_ts_1.InMemoryObservabilityStore; } });
137
+ var store_sink_factory_ts_1 = require("./store-sink-factory.js");
138
+ Object.defineProperty(exports, "createStoreSink", { enumerable: true, get: function () { return store_sink_factory_ts_1.createStoreSink; } });
134
139
  // ---- 渠道类型(从 agent-midway 迁移) ----
135
140
  __exportStar(require("./channel-types.js"), exports);
136
141
  // ============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;;;;;;;;;;;;;;;;AAyCH,wBAAwB;AACxB,2CAesB;AAdpB,kBAAkB;AAClB,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,YAAY;AACZ,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,iBAAiB;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,OAAO;AACP,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AAGvB,wBAAwB;AACxB,6CAeuB;AAdrB,UAAU;AACV,gHAAA,iBAAiB,OAAA;AACjB,4GAAA,aAAa,OAAA;AACb,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AACpB,uGAAA,QAAQ,OAAA;AAER,QAAQ;AACR,oHAAA,qBAAqB,OAAA;AACrB,gHAAA,iBAAiB,OAAA;AACjB,2GAAA,YAAY,OAAA;AAEZ,WAAW;AACX,+GAAA,gBAAgB,OAAA;AAGlB,wCAAwC;AACxC,wDAAsC;AAEtC,oCAAoC;AACpC,qDAAmC;AAEnC,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;;;;;;;;;;;;;;;;AAyCH,wBAAwB;AACxB,2CAesB;AAdpB,kBAAkB;AAClB,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,YAAY;AACZ,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,iBAAiB;AACjB,iHAAA,mBAAmB,OAAA;AAEnB,OAAO;AACP,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AAGvB,wBAAwB;AACxB,6CAeuB;AAdrB,UAAU;AACV,gHAAA,iBAAiB,OAAA;AACjB,4GAAA,aAAa,OAAA;AACb,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AACpB,uGAAA,QAAQ,OAAA;AAER,QAAQ;AACR,oHAAA,qBAAqB,OAAA;AACrB,gHAAA,iBAAiB,OAAA;AACjB,2GAAA,YAAY,OAAA;AAEZ,WAAW;AACX,+GAAA,gBAAgB,OAAA;AAGlB,wCAAwC;AACxC,wDAAsC;AAEtC,qBAAqB;AACrB,mEAEkC;AADhC,oIAAA,0BAA0B,OAAA;AAK5B,iEAA0D;AAAjD,wHAAA,eAAe,OAAA;AAExB,oCAAoC;AACpC,qDAAmC;AAEnC,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}