@aionlabsai/aion 0.2.12 → 0.2.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuGpD"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0GpD"}
@@ -132,6 +132,7 @@ export function registerAudit(program) {
132
132
  }
133
133
  const renderer = new Renderer();
134
134
  const orch = new Orchestrator(process.cwd(), policyInput);
135
+ orch.startTrace('audit');
135
136
  orch.on('agent:start', ({ agentName }) => renderer.agentStart(agentName));
136
137
  orch.on('agent:output', ({ agentName, text }) => renderer.agentChunk(agentName, text));
137
138
  orch.on('agent:done', ({ agentName, durationMs }) => renderer.agentDone(agentName, durationMs));
@@ -177,10 +178,12 @@ export function registerAudit(program) {
177
178
  console.log(chalk.gray(`\nhtml: ${saved.html}`));
178
179
  console.log(chalk.gray(`dashboard: ${saved.dashboard}`));
179
180
  console.log(chalk.dim(orch.costs.summary()));
181
+ orch.flushTrace();
180
182
  await maybeAutoFix(options, report, orch);
181
183
  process.exit(report.criticalCount > 0 ? 2 : report.highCount > 0 ? 1 : 0);
182
184
  }
183
185
  catch (err) {
186
+ orch.flushTrace();
184
187
  renderer.showError(err);
185
188
  process.exit(1);
186
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerEval(program: Command): void;
3
+ //# sourceMappingURL=eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4JnD"}
@@ -0,0 +1,160 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
4
+ import { join } from 'path';
5
+ import { embedTextRemote, embedText } from '../../infra/embeddings.js';
6
+ import { createVectorStore } from '../../infra/vector-store.js';
7
+ import { rerankWithLLM, rerankLocal } from '../../infra/reranker.js';
8
+ import { BM25Index, rrfScore } from '../../infra/bm25.js';
9
+ function loadGoldenSet(path) {
10
+ try {
11
+ return JSON.parse(readFileSync(path, 'utf8'));
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ function scaffoldGoldenSet(path) {
18
+ mkdirSync(join(path, '..'), { recursive: true });
19
+ const example = {
20
+ queries: [
21
+ { query: 'embedding vector similarity', expected: ['src/infra/embeddings.ts'], note: 'example — edit expected files' },
22
+ { query: 'BM25 ranking score', expected: ['src/infra/bm25.ts'] },
23
+ { query: 'audit pipeline scanner agents', expected: ['src/core/pipelines/audit-pipeline.ts'] },
24
+ ],
25
+ };
26
+ writeFileSync(path, JSON.stringify(example, null, 2), 'utf8');
27
+ }
28
+ export function registerEval(program) {
29
+ const evalCmd = program
30
+ .command('eval')
31
+ .description('Evaluate retrieval quality and agent output quality');
32
+ // ── aion eval retrieval ───────────────────────────────────────────────────
33
+ evalCmd
34
+ .command('retrieval')
35
+ .description('Measure recall@3, recall@5, MRR of memory search against a golden set')
36
+ .option('--rerank <mode>', 'none | local | llm — apply re-ranking after retrieval (default: none)', 'none')
37
+ .option('--top-k <n>', 'candidates to retrieve before re-ranking', '10')
38
+ .option('--scaffold', 'create example golden set at .ai-memory/eval/retrieval.json and exit')
39
+ .option('--json', 'output results as JSON')
40
+ .action(async (options) => {
41
+ const cwd = process.cwd();
42
+ const goldenPath = join(cwd, '.ai-memory', 'eval', 'retrieval.json');
43
+ if (options.scaffold) {
44
+ scaffoldGoldenSet(goldenPath);
45
+ console.log(chalk.green(`Created: ${goldenPath}`));
46
+ console.log(chalk.gray('Edit the file with your project-specific queries and expected files, then run `aion eval retrieval`.'));
47
+ return;
48
+ }
49
+ if (!existsSync(goldenPath)) {
50
+ console.error(chalk.yellow(`No golden set found at ${goldenPath}`));
51
+ console.error(chalk.gray('Run `aion eval retrieval --scaffold` to create an example.'));
52
+ process.exit(1);
53
+ }
54
+ const golden = loadGoldenSet(goldenPath);
55
+ if (!golden || golden.queries.length === 0) {
56
+ console.error(chalk.red('Golden set is empty or invalid.'));
57
+ process.exit(1);
58
+ }
59
+ const topK = Math.max(5, parseInt(options.topK, 10) || 10);
60
+ const spinner = ora(`Evaluating ${golden.queries.length} queries (rerank: ${options.rerank})...`).start();
61
+ const vectorStore = createVectorStore(cwd);
62
+ if (vectorStore.size() === 0) {
63
+ spinner.fail(chalk.yellow('No vector index. Run `aion memory build` first.'));
64
+ process.exit(1);
65
+ }
66
+ const results = [];
67
+ for (const { query, expected } of golden.queries) {
68
+ // 1. Embed query
69
+ const remote = await embedTextRemote(query);
70
+ const queryVec = remote ? remote : Array.from(embedText(query, 500));
71
+ // 2. Vector search → top-K candidates
72
+ const vecResults = await vectorStore.search(queryVec, topK);
73
+ // 3. BM25 over the same candidates (in-memory)
74
+ const bm25 = new BM25Index();
75
+ for (const r of vecResults) {
76
+ bm25.add(r.id, String(r.payload['preview'] ?? r.id));
77
+ }
78
+ const bm25Results = bm25.score(query);
79
+ // 4. RRF fusion
80
+ const fused = rrfScore(vecResults.map((r, i) => ({ id: r.id, score: vecResults.length - i })), bm25Results);
81
+ // 5. Optional re-ranking
82
+ let finalIds;
83
+ if (options.rerank === 'llm') {
84
+ const candidates = fused.slice(0, topK).map((r) => {
85
+ const hit = vecResults.find((v) => v.id === r.id);
86
+ return { id: r.id, content: String(hit?.payload['preview'] ?? r.id) };
87
+ });
88
+ const reranked = await rerankWithLLM(query, candidates, 5);
89
+ finalIds = reranked.map((r) => r.id);
90
+ }
91
+ else if (options.rerank === 'local') {
92
+ const candidates = fused.slice(0, topK).map((r) => {
93
+ const hit = vecResults.find((v) => v.id === r.id);
94
+ return { id: r.id, content: String(hit?.payload['preview'] ?? r.id) };
95
+ });
96
+ finalIds = rerankLocal(query, candidates, 5).map((r) => r.id);
97
+ }
98
+ else {
99
+ finalIds = fused.slice(0, 5).map((r) => r.id);
100
+ }
101
+ // 6. Score: match by file path substring
102
+ const matchesExpected = (id) => expected.some((exp) => id.includes(exp) || exp.includes(id.split(':')[0] ?? ''));
103
+ const rankOfFirst = finalIds.findIndex(matchesExpected);
104
+ results.push({
105
+ query,
106
+ expected,
107
+ retrieved: finalIds,
108
+ hitAt3: rankOfFirst >= 0 && rankOfFirst < 3,
109
+ hitAt5: rankOfFirst >= 0 && rankOfFirst < 5,
110
+ rr: rankOfFirst >= 0 ? 1 / (rankOfFirst + 1) : 0,
111
+ });
112
+ }
113
+ spinner.stop();
114
+ const n = results.length;
115
+ const recall3 = results.filter((r) => r.hitAt3).length / n;
116
+ const recall5 = results.filter((r) => r.hitAt5).length / n;
117
+ const mrr = results.reduce((s, r) => s + r.rr, 0) / n;
118
+ const { embeddingProvider } = await import('../../infra/embeddings.js');
119
+ const { vectorStoreBackend } = await import('../../infra/vector-store.js');
120
+ const report = {
121
+ provider: embeddingProvider(),
122
+ backend: vectorStoreBackend(),
123
+ rerankMode: options.rerank,
124
+ queries: n,
125
+ recall3: Math.round(recall3 * 1000) / 1000,
126
+ recall5: Math.round(recall5 * 1000) / 1000,
127
+ mrr: Math.round(mrr * 1000) / 1000,
128
+ results,
129
+ ranAt: new Date().toISOString(),
130
+ };
131
+ if (options.json) {
132
+ console.log(JSON.stringify(report, null, 2));
133
+ return;
134
+ }
135
+ // Human-readable output
136
+ console.log(chalk.bold(`\nRetrieval Evaluation — ${n} queries\n`));
137
+ console.log(` Provider: ${chalk.cyan(report.provider)}`);
138
+ console.log(` Backend: ${chalk.cyan(report.backend)}`);
139
+ console.log(` Re-rank: ${chalk.cyan(options.rerank)}\n`);
140
+ const pct = (v) => chalk.bold(`${(v * 100).toFixed(1)}%`);
141
+ console.log(` recall@3 ${pct(recall3)}`);
142
+ console.log(` recall@5 ${pct(recall5)}`);
143
+ console.log(` MRR ${pct(mrr)}\n`);
144
+ for (const r of results) {
145
+ const status = r.hitAt3 ? chalk.green('✓') : r.hitAt5 ? chalk.yellow('~') : chalk.red('✗');
146
+ console.log(` ${status} ${chalk.gray(r.query.slice(0, 60))}`);
147
+ if (!r.hitAt5) {
148
+ console.log(chalk.gray(` expected: ${r.expected.join(', ')}`));
149
+ console.log(chalk.gray(` got: ${r.retrieved.slice(0, 3).join(', ')}`));
150
+ }
151
+ }
152
+ // Save report
153
+ const outDir = join(cwd, '.ai-runtime', 'eval');
154
+ mkdirSync(outDir, { recursive: true });
155
+ const outPath = join(outDir, `retrieval-${Date.now()}.json`);
156
+ writeFileSync(outPath, JSON.stringify(report, null, 2), 'utf8');
157
+ console.log(chalk.gray(`\n Report saved: ${outPath}`));
158
+ });
159
+ }
160
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerTrace(program: Command): void;
3
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6DpD"}
@@ -0,0 +1,87 @@
1
+ import chalk from 'chalk';
2
+ import { loadTraces, formatDuration } from '../../infra/tracer.js';
3
+ export function registerTrace(program) {
4
+ program
5
+ .command('trace')
6
+ .description('Show agent run traces: cost, tokens, and latency per agent')
7
+ .option('-n, --last <n>', 'number of recent runs to show', '10')
8
+ .option('--id <traceId>', 'show full span breakdown for a specific trace')
9
+ .option('--json', 'output raw JSON')
10
+ .action((options) => {
11
+ const cwd = process.cwd();
12
+ const limit = Math.max(1, parseInt(options.last, 10) || 10);
13
+ const traces = loadTraces(cwd, limit);
14
+ if (traces.length === 0) {
15
+ console.log(chalk.gray('No traces found. Run `aion audit` or `aion fix` first.'));
16
+ console.log(chalk.gray('Traces are saved to .ai-runtime/traces.jsonl'));
17
+ return;
18
+ }
19
+ if (options.json) {
20
+ const data = options.id ? traces.find((t) => t.traceId.startsWith(options.id)) : traces;
21
+ console.log(JSON.stringify(data, null, 2));
22
+ return;
23
+ }
24
+ if (options.id) {
25
+ const trace = traces.find((t) => t.traceId.startsWith(options.id));
26
+ if (!trace) {
27
+ console.error(chalk.red(`Trace not found: ${options.id}`));
28
+ return;
29
+ }
30
+ printSpanBreakdown(trace);
31
+ return;
32
+ }
33
+ // Summary table
34
+ console.log(chalk.bold(`\nRecent runs (${traces.length})\n`));
35
+ console.log(chalk.gray(' ' + [
36
+ 'traceId'.padEnd(10),
37
+ 'command'.padEnd(10),
38
+ 'agents'.padStart(7),
39
+ 'tokens'.padStart(8),
40
+ 'cost'.padStart(8),
41
+ 'duration'.padStart(10),
42
+ 'status'.padStart(8),
43
+ ].join(' ')));
44
+ console.log(chalk.gray(' ' + '─'.repeat(70)));
45
+ for (const t of traces) {
46
+ const id = t.traceId.slice(0, 8);
47
+ const cmd = t.command.slice(0, 10);
48
+ const agents = String(t.spans.length).padStart(7);
49
+ const tokens = String(t.totalTokens).padStart(8);
50
+ const cost = `$${t.totalCostUsd.toFixed(4)}`.padStart(8);
51
+ const dur = formatDuration(t.endMs - t.startMs).padStart(10);
52
+ const hasError = t.spans.some((s) => s.status === 'error');
53
+ const status = hasError ? chalk.red(' error') : chalk.green(' ok');
54
+ const date = new Date(t.startMs).toLocaleTimeString();
55
+ console.log(` ${chalk.cyan(id)} ${cmd.padEnd(10)} ${agents} ${tokens} ${chalk.yellow(cost)} ${dur} ${status} ${chalk.gray(date)}`);
56
+ }
57
+ console.log(chalk.gray(`\n Use --id <traceId> for span breakdown, --json for raw output`));
58
+ });
59
+ }
60
+ function printSpanBreakdown(trace) {
61
+ console.log(chalk.bold(`\nTrace: ${trace.traceId}`));
62
+ console.log(` Command: ${chalk.cyan(trace.command)}`);
63
+ console.log(` Duration: ${formatDuration(trace.endMs - trace.startMs)}`);
64
+ console.log(` Total: ${chalk.yellow('$' + trace.totalCostUsd.toFixed(4))}\n`);
65
+ console.log(chalk.gray(' ' + [
66
+ 'agent'.padEnd(28),
67
+ 'model'.padEnd(20),
68
+ 'in'.padStart(7),
69
+ 'out'.padStart(7),
70
+ 'cache'.padStart(7),
71
+ 'cost'.padStart(8),
72
+ 'dur'.padStart(8),
73
+ ].join(' ')));
74
+ console.log(chalk.gray(' ' + '─'.repeat(95)));
75
+ for (const s of trace.spans) {
76
+ const agent = s.agent.slice(0, 28).padEnd(28);
77
+ const model = s.model.replace('claude-', '').slice(0, 20).padEnd(20);
78
+ const statusMark = s.status === 'error' ? chalk.red('✗') : chalk.green('✓');
79
+ console.log(` ${statusMark} ${agent} ${chalk.gray(model)} ` +
80
+ `${String(s.inputTokens).padStart(7)} ${String(s.outputTokens).padStart(7)} ` +
81
+ `${String(s.cacheTokens).padStart(7)} ${chalk.yellow(('$' + s.costUsd.toFixed(4)).padStart(8))} ` +
82
+ `${formatDuration(s.durationMs).padStart(8)}`);
83
+ if (s.error)
84
+ console.log(chalk.red(` ${s.error.slice(0, 80)}`));
85
+ }
86
+ }
87
+ //# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/cli/commands/trace.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,12 @@ export declare class Orchestrator extends EventEmitter {
33
33
  private readonly knowledge;
34
34
  private readonly policy;
35
35
  readonly costs: CostTracker;
36
+ private tracer;
36
37
  constructor(cwd: string, policyInput?: RuntimePolicyInput);
37
38
  private static readonly TOKEN_RE;
38
39
  private static readonly USAGE_UNAVAILABLE_RE;
40
+ startTrace(command: string): void;
41
+ flushTrace(): void;
39
42
  private onChunk;
40
43
  private get pipelineContext();
41
44
  runFixPipeline(target: string): Promise<TaskResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAA2C,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIpF,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACrD,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,aAAa,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,qBAAa,YAAa,SAAQ,YAAY;IAKhC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,KAAK,cAAqB;gBAEN,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,kBAAuB;IAO9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAEnE,OAAO,CAAC,OAAO,CAgBb;IAEF,OAAO,KAAK,eAAe,GAQ1B;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAInD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIvD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,UAAU,EAAE,EAC9B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC;CAUxB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAA2C,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIpF,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACrD,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,aAAa,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,qBAAa,YAAa,SAAQ,YAAY;IAMhC,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,KAAK,cAAqB;IACnC,OAAO,CAAC,MAAM,CAAuB;gBAER,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,kBAAuB;IAO9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAEnE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,UAAU,IAAI,IAAI;IAKlB,OAAO,CAAC,OAAO,CAuBb;IAEF,OAAO,KAAK,eAAe,GAe1B;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAInD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIvD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,UAAU,EAAE,EAC9B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC;CAUxB"}
@@ -2,6 +2,7 @@ import { EventEmitter } from 'events';
2
2
  import { KnowledgeStore } from '../infra/knowledge.js';
3
3
  import { createRuntimePolicy } from './runtime-policy.js';
4
4
  import { CostTracker } from './cost-tracker.js';
5
+ import { Tracer } from '../infra/tracer.js';
5
6
  import { AuditPipeline } from './pipelines/audit-pipeline.js';
6
7
  import { runFixPipeline } from './pipelines/fix-pipeline.js';
7
8
  import { runAnalyzePipeline } from './pipelines/analyze-pipeline.js';
@@ -12,6 +13,7 @@ export class Orchestrator extends EventEmitter {
12
13
  knowledge;
13
14
  policy;
14
15
  costs = new CostTracker();
16
+ tracer = null;
15
17
  constructor(cwd, policyInput = {}) {
16
18
  super();
17
19
  this.cwd = cwd;
@@ -21,15 +23,28 @@ export class Orchestrator extends EventEmitter {
21
23
  // TOKEN_PATTERN: matches " tokens:IN:OUT:CACHE_READ:CACHE_WRITE "
22
24
  static TOKEN_RE = /tokens:(\d+):(\d+):(\d+):(\d+)/;
23
25
  static USAGE_UNAVAILABLE_RE = /usage-unavailable/;
26
+ startTrace(command) {
27
+ this.tracer = new Tracer(command);
28
+ }
29
+ flushTrace() {
30
+ this.tracer?.flush(this.cwd);
31
+ this.tracer = null;
32
+ }
24
33
  onChunk = (agentName, text) => {
25
34
  const match = Orchestrator.TOKEN_RE.exec(text);
26
35
  if (match) {
36
+ const input = parseInt(match[1]);
37
+ const output = parseInt(match[2]);
38
+ const cacheRead = parseInt(match[3]);
39
+ const cacheWrite = parseInt(match[4]);
27
40
  this.costs.record(agentName, this.policy.claudeModel, {
28
- inputTokens: parseInt(match[1]),
29
- outputTokens: parseInt(match[2]),
30
- cacheReadTokens: parseInt(match[3]),
31
- cacheWriteTokens: parseInt(match[4]),
41
+ inputTokens: input, outputTokens: output,
42
+ cacheReadTokens: cacheRead, cacheWriteTokens: cacheWrite,
32
43
  }, 0);
44
+ if (this.tracer) {
45
+ const costUsd = this.costs.byAgent().find((e) => e.agentName === agentName)?.costUsd ?? 0;
46
+ this.tracer.endSpan(agentName, this.policy.claudeModel, { input, output, cache: cacheRead + cacheWrite }, costUsd);
47
+ }
33
48
  return;
34
49
  }
35
50
  if (Orchestrator.USAGE_UNAVAILABLE_RE.test(text)) {
@@ -39,11 +54,18 @@ export class Orchestrator extends EventEmitter {
39
54
  this.emit('agent:output', { agentName, text });
40
55
  };
41
56
  get pipelineContext() {
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ const emit = (event, payload) => {
59
+ if (event === 'agent:start' && payload && typeof payload === 'object') {
60
+ this.tracer?.startSpan(payload['agentName'] ?? '');
61
+ }
62
+ return this.emit(event, payload);
63
+ };
42
64
  return {
43
65
  cwd: this.cwd,
44
66
  policy: this.policy,
45
67
  knowledge: this.knowledge,
46
- emit: this.emit.bind(this),
68
+ emit: emit,
47
69
  onChunk: this.onChunk,
48
70
  };
49
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,6 +25,8 @@ import { registerSearch } from './cli/commands/search.js';
25
25
  import { registerTree } from './cli/commands/tree.js';
26
26
  import { registerNext } from './cli/commands/next.js';
27
27
  import { registerCi } from './cli/commands/ci.js';
28
+ import { registerEval } from './cli/commands/eval.js';
29
+ import { registerTrace } from './cli/commands/trace.js';
28
30
  import { runNaturalLanguage } from './cli/interactive.js';
29
31
  import { runMenu } from './cli/menu.js';
30
32
  runMigrations();
@@ -84,6 +86,8 @@ registerSearch(program);
84
86
  registerTree(program);
85
87
  registerNext(program);
86
88
  registerCi(program);
89
+ registerEval(program);
90
+ registerTrace(program);
87
91
  // Explicit menu command
88
92
  program
89
93
  .command('menu')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface RerankCandidate {
2
+ id: string;
3
+ content: string;
4
+ }
5
+ export interface RerankResult {
6
+ id: string;
7
+ rank: number;
8
+ reason?: string;
9
+ }
10
+ /**
11
+ * Re-rank candidates using Claude as a cross-encoder.
12
+ * Retrieves top-20, re-ranks to top-K. Cost: ~500 tokens per call.
13
+ * Falls back to original order if API unavailable.
14
+ */
15
+ export declare function rerankWithLLM(query: string, candidates: RerankCandidate[], topK?: number): Promise<RerankResult[]>;
16
+ /**
17
+ * Lightweight re-rank using keyword overlap score — zero cost, no API.
18
+ * Useful as fallback or for testing without spending tokens.
19
+ */
20
+ export declare function rerankLocal(query: string, candidates: RerankCandidate[], topK?: number): RerankResult[];
21
+ //# sourceMappingURL=reranker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reranker.d.ts","sourceRoot":"","sources":["../../src/infra/reranker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,SAAI,GACP,OAAO,CAAC,YAAY,EAAE,CAAC,CAgDzB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,SAAI,GACP,YAAY,EAAE,CAahB"}
@@ -0,0 +1,68 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ /**
3
+ * Re-rank candidates using Claude as a cross-encoder.
4
+ * Retrieves top-20, re-ranks to top-K. Cost: ~500 tokens per call.
5
+ * Falls back to original order if API unavailable.
6
+ */
7
+ export async function rerankWithLLM(query, candidates, topK = 5) {
8
+ if (candidates.length <= 1) {
9
+ return candidates.slice(0, topK).map((c, i) => ({ id: c.id, rank: i }));
10
+ }
11
+ const apiKey = process.env.ANTHROPIC_API_KEY;
12
+ if (!apiKey) {
13
+ return candidates.slice(0, topK).map((c, i) => ({ id: c.id, rank: i }));
14
+ }
15
+ const numbered = candidates
16
+ .slice(0, 20) // re-rank at most 20 candidates
17
+ .map((c, i) => `[${i + 1}] ${c.content.slice(0, 300)}`)
18
+ .join('\n\n');
19
+ const prompt = `You are a code search relevance judge.
20
+
21
+ Query: "${query}"
22
+
23
+ Rank these code chunks from most to least relevant. Return ONLY a JSON array of numbers representing the ranking (1-indexed), most relevant first.
24
+ Example: [3, 1, 7, 2, 5] means chunk 3 is most relevant, then 1, then 7, etc.
25
+
26
+ Chunks:
27
+ ${numbered}
28
+
29
+ JSON array (top ${topK} only):`;
30
+ try {
31
+ const client = new Anthropic({ apiKey });
32
+ const response = await client.messages.create({
33
+ model: 'claude-haiku-4-5-20251001',
34
+ max_tokens: 100,
35
+ messages: [{ role: 'user', content: prompt }],
36
+ });
37
+ const text = response.content[0]?.type === 'text' ? response.content[0].text.trim() : '';
38
+ const match = /\[[\d,\s]+\]/.exec(text);
39
+ if (!match)
40
+ throw new Error('No JSON array in response');
41
+ const ranks = JSON.parse(match[0]);
42
+ return ranks
43
+ .filter((r) => r >= 1 && r <= candidates.length)
44
+ .slice(0, topK)
45
+ .map((r, i) => ({ id: candidates[r - 1].id, rank: i }));
46
+ }
47
+ catch {
48
+ // Fallback: return original order
49
+ return candidates.slice(0, topK).map((c, i) => ({ id: c.id, rank: i }));
50
+ }
51
+ }
52
+ /**
53
+ * Lightweight re-rank using keyword overlap score — zero cost, no API.
54
+ * Useful as fallback or for testing without spending tokens.
55
+ */
56
+ export function rerankLocal(query, candidates, topK = 5) {
57
+ const queryTerms = query.toLowerCase().match(/[a-z0-9_]{2,}/g) ?? [];
58
+ const scored = candidates.map((c, i) => {
59
+ const text = c.content.toLowerCase();
60
+ const score = queryTerms.reduce((s, t) => s + (text.includes(t) ? 1 : 0), 0);
61
+ return { id: c.id, originalRank: i, score };
62
+ });
63
+ return scored
64
+ .sort((a, b) => b.score - a.score || a.originalRank - b.originalRank)
65
+ .slice(0, topK)
66
+ .map((r, i) => ({ id: r.id, rank: i }));
67
+ }
68
+ //# sourceMappingURL=reranker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../src/infra/reranker.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAa1C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,UAA6B,EAC7B,IAAI,GAAG,CAAC;IAER,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU;SACxB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gCAAgC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;SACtD,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;;UAEP,KAAK;;;;;;EAMb,QAAQ;;kBAEQ,IAAI,SAAS,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,KAAK,EAAE,2BAA2B;YAClC,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAa,CAAC;QAC/C,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;aAC/C,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;QAClC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,UAA6B,EAC7B,IAAI,GAAG,CAAC;IAER,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM;SACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;SACpE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,42 @@
1
+ export interface Span {
2
+ traceId: string;
3
+ spanId: string;
4
+ command: string;
5
+ agent: string;
6
+ startMs: number;
7
+ endMs: number;
8
+ durationMs: number;
9
+ model: string;
10
+ inputTokens: number;
11
+ outputTokens: number;
12
+ cacheTokens: number;
13
+ costUsd: number;
14
+ status: 'ok' | 'error';
15
+ error?: string;
16
+ }
17
+ export interface Trace {
18
+ traceId: string;
19
+ command: string;
20
+ startMs: number;
21
+ endMs: number;
22
+ totalCostUsd: number;
23
+ totalTokens: number;
24
+ spans: Span[];
25
+ }
26
+ export declare class Tracer {
27
+ private readonly command;
28
+ readonly traceId: `${string}-${string}-${string}-${string}-${string}`;
29
+ private spans;
30
+ private pending;
31
+ constructor(command: string);
32
+ startSpan(agent: string): void;
33
+ endSpan(agent: string, model: string, tokens: {
34
+ input: number;
35
+ output: number;
36
+ cache: number;
37
+ }, costUsd: number, error?: string): void;
38
+ flush(cwd: string): void;
39
+ }
40
+ export declare function loadTraces(cwd: string, limit?: number): Trace[];
41
+ export declare function formatDuration(ms: number): string;
42
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/infra/tracer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,qBAAa,MAAM;IAKL,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,QAAQ,CAAC,OAAO,sDAAgB;IAChC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAA0D;gBAE5C,OAAO,EAAE,MAAM;IAE5C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACxD,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAuBP,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAkBzB;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,EAAE,CAW3D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD"}
@@ -0,0 +1,81 @@
1
+ import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { randomUUID } from 'crypto';
4
+ export class Tracer {
5
+ command;
6
+ traceId = randomUUID();
7
+ spans = [];
8
+ pending = new Map();
9
+ constructor(command) {
10
+ this.command = command;
11
+ }
12
+ startSpan(agent) {
13
+ this.pending.set(agent, { spanId: randomUUID(), startMs: Date.now() });
14
+ }
15
+ endSpan(agent, model, tokens, costUsd, error) {
16
+ const p = this.pending.get(agent);
17
+ if (!p)
18
+ return;
19
+ this.pending.delete(agent);
20
+ const endMs = Date.now();
21
+ this.spans.push({
22
+ traceId: this.traceId,
23
+ spanId: p.spanId,
24
+ command: this.command,
25
+ agent,
26
+ startMs: p.startMs,
27
+ endMs,
28
+ durationMs: endMs - p.startMs,
29
+ model,
30
+ inputTokens: tokens.input,
31
+ outputTokens: tokens.output,
32
+ cacheTokens: tokens.cache,
33
+ costUsd,
34
+ status: error ? 'error' : 'ok',
35
+ error,
36
+ });
37
+ }
38
+ flush(cwd) {
39
+ if (this.spans.length === 0)
40
+ return;
41
+ const dir = join(cwd, '.ai-runtime');
42
+ mkdirSync(dir, { recursive: true });
43
+ const endMs = Date.now();
44
+ const trace = {
45
+ traceId: this.traceId,
46
+ command: this.command,
47
+ startMs: this.spans[0]?.startMs ?? endMs,
48
+ endMs,
49
+ totalCostUsd: this.spans.reduce((s, sp) => s + sp.costUsd, 0),
50
+ totalTokens: this.spans.reduce((s, sp) => s + sp.inputTokens + sp.outputTokens, 0),
51
+ spans: this.spans,
52
+ };
53
+ appendFileSync(join(dir, 'traces.jsonl'), JSON.stringify(trace) + '\n', 'utf8');
54
+ }
55
+ }
56
+ // ── Reader ────────────────────────────────────────────────────────────────────
57
+ export function loadTraces(cwd, limit = 20) {
58
+ const path = join(cwd, '.ai-runtime', 'traces.jsonl');
59
+ if (!existsSync(path))
60
+ return [];
61
+ return readFileSync(path, 'utf8')
62
+ .split('\n')
63
+ .filter(Boolean)
64
+ .map((line) => { try {
65
+ return JSON.parse(line);
66
+ }
67
+ catch {
68
+ return null;
69
+ } })
70
+ .filter((t) => t !== null)
71
+ .slice(-limit)
72
+ .reverse();
73
+ }
74
+ export function formatDuration(ms) {
75
+ if (ms < 1000)
76
+ return `${ms}ms`;
77
+ if (ms < 60000)
78
+ return `${(ms / 1000).toFixed(1)}s`;
79
+ return `${Math.floor(ms / 60000)}m${Math.floor((ms % 60000) / 1000)}s`;
80
+ }
81
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/infra/tracer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aionlabsai/aion",
3
- "version": "0.2.12",
3
+ "version": "0.2.14",
4
4
  "description": "Multi-agent AI engineering runtime — audit, fix, graph, analyze",
5
5
  "type": "module",
6
6
  "bin": {