claude-mycelium 2.0.0
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/.claude/settings.local.json +14 -0
- package/README.md +304 -0
- package/dist/coordination/gradient-cache.d.ts +48 -0
- package/dist/coordination/gradient-cache.d.ts.map +1 -0
- package/dist/coordination/gradient-cache.js +145 -0
- package/dist/coordination/gradient-cache.js.map +1 -0
- package/dist/coordination/index.d.ts +10 -0
- package/dist/coordination/index.d.ts.map +1 -0
- package/dist/coordination/index.js +10 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/core/agent-executor.d.ts +31 -0
- package/dist/core/agent-executor.d.ts.map +1 -0
- package/dist/core/agent-executor.js +257 -0
- package/dist/core/agent-executor.js.map +1 -0
- package/dist/core/change-applier.d.ts +10 -0
- package/dist/core/change-applier.d.ts.map +1 -0
- package/dist/core/change-applier.js +32 -0
- package/dist/core/change-applier.js.map +1 -0
- package/dist/core/gradient.d.ts +60 -0
- package/dist/core/gradient.d.ts.map +1 -0
- package/dist/core/gradient.js +191 -0
- package/dist/core/gradient.js.map +1 -0
- package/dist/core/index.d.ts +24 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/mode-selector.d.ts +44 -0
- package/dist/core/mode-selector.d.ts.map +1 -0
- package/dist/core/mode-selector.js +208 -0
- package/dist/core/mode-selector.js.map +1 -0
- package/dist/core/signals/centrality.d.ts +44 -0
- package/dist/core/signals/centrality.d.ts.map +1 -0
- package/dist/core/signals/centrality.js +264 -0
- package/dist/core/signals/centrality.js.map +1 -0
- package/dist/core/signals/churn.d.ts +41 -0
- package/dist/core/signals/churn.d.ts.map +1 -0
- package/dist/core/signals/churn.js +188 -0
- package/dist/core/signals/churn.js.map +1 -0
- package/dist/core/signals/complexity.d.ts +29 -0
- package/dist/core/signals/complexity.d.ts.map +1 -0
- package/dist/core/signals/complexity.js +169 -0
- package/dist/core/signals/complexity.js.map +1 -0
- package/dist/core/signals/debt.d.ts +27 -0
- package/dist/core/signals/debt.d.ts.map +1 -0
- package/dist/core/signals/debt.js +80 -0
- package/dist/core/signals/debt.js.map +1 -0
- package/dist/core/signals/errors.d.ts +32 -0
- package/dist/core/signals/errors.d.ts.map +1 -0
- package/dist/core/signals/errors.js +73 -0
- package/dist/core/signals/errors.js.map +1 -0
- package/dist/core/signals/index.d.ts +19 -0
- package/dist/core/signals/index.d.ts.map +1 -0
- package/dist/core/signals/index.js +19 -0
- package/dist/core/signals/index.js.map +1 -0
- package/dist/cost/cost-tracker.d.ts +90 -0
- package/dist/cost/cost-tracker.d.ts.map +1 -0
- package/dist/cost/cost-tracker.js +305 -0
- package/dist/cost/cost-tracker.js.map +1 -0
- package/dist/cost/index.d.ts +56 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +111 -0
- package/dist/cost/index.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/anthropic-client.d.ts +52 -0
- package/dist/llm/anthropic-client.d.ts.map +1 -0
- package/dist/llm/anthropic-client.js +310 -0
- package/dist/llm/anthropic-client.js.map +1 -0
- package/dist/llm/index.d.ts +27 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +34 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/prompts/complexity-reducer.d.ts +7 -0
- package/dist/prompts/complexity-reducer.d.ts.map +1 -0
- package/dist/prompts/complexity-reducer.js +55 -0
- package/dist/prompts/complexity-reducer.js.map +1 -0
- package/dist/prompts/debt-payer.d.ts +7 -0
- package/dist/prompts/debt-payer.d.ts.map +1 -0
- package/dist/prompts/debt-payer.js +55 -0
- package/dist/prompts/debt-payer.js.map +1 -0
- package/dist/prompts/error-reducer.d.ts +7 -0
- package/dist/prompts/error-reducer.d.ts.map +1 -0
- package/dist/prompts/error-reducer.js +54 -0
- package/dist/prompts/error-reducer.js.map +1 -0
- package/dist/prompts/index.d.ts +22 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +112 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/stabilizer.d.ts +7 -0
- package/dist/prompts/stabilizer.d.ts.map +1 -0
- package/dist/prompts/stabilizer.js +55 -0
- package/dist/prompts/stabilizer.js.map +1 -0
- package/dist/prompts/types.d.ts +14 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +5 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/trace/index.d.ts +51 -0
- package/dist/trace/index.d.ts.map +1 -0
- package/dist/trace/index.js +60 -0
- package/dist/trace/index.js.map +1 -0
- package/dist/trace/trace-event.d.ts +72 -0
- package/dist/trace/trace-event.d.ts.map +1 -0
- package/dist/trace/trace-event.js +244 -0
- package/dist/trace/trace-event.js.map +1 -0
- package/dist/types/index.d.ts +206 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/ci-provider.d.ts +43 -0
- package/dist/utils/ci-provider.d.ts.map +1 -0
- package/dist/utils/ci-provider.js +130 -0
- package/dist/utils/ci-provider.js.map +1 -0
- package/dist/utils/config.d.ts +31 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +85 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/error-provider.d.ts +51 -0
- package/dist/utils/error-provider.d.ts.map +1 -0
- package/dist/utils/error-provider.js +123 -0
- package/dist/utils/error-provider.js.map +1 -0
- package/dist/utils/file-utils.d.ts +18 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +95 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +36 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +74 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/IMPLEMENTATION-STATUS.md +199 -0
- package/docs/PHASE-0-COMPLETE.md +252 -0
- package/docs/PHASE-1-COMPLETE.md +204 -0
- package/docs/PHASE-2-COMPLETE.md +233 -0
- package/docs/PHASE2_COMPLETION_CHECKLIST.md +290 -0
- package/docs/PHASE2_INTEGRATION_SUMMARY.md +255 -0
- package/docs/PHASE2_QUICK_REFERENCE.md +365 -0
- package/docs/PHASE2_TEST_RESULTS.md +282 -0
- package/docs/ROADMAP.md +746 -0
- package/docs/SNAPSHOT.md +376 -0
- package/docs/adrs/ADR-001-signal-computation.md +76 -0
- package/docs/adrs/ADR-002-inhibitor-signals.md +108 -0
- package/docs/adrs/ADR-003-llm-integration.md +156 -0
- package/docs/adrs/ADR-004-process-architecture.md +175 -0
- package/docs/adrs/ADR-005-testing-strategy.md +243 -0
- package/docs/pitch.md +94 -0
- package/docs/specs/fourth-spec.md +1973 -0
- package/docs/specs/initial-spec.md +2096 -0
- package/docs/specs/second-spec.md +2690 -0
- package/package.json +50 -0
- package/src/coordination/gradient-cache.ts +185 -0
- package/src/coordination/index.ts +10 -0
- package/src/core/agent-executor.ts +327 -0
- package/src/core/change-applier.ts +338 -0
- package/src/core/gradient.ts +258 -0
- package/src/core/index.ts +24 -0
- package/src/core/mode-selector.ts +243 -0
- package/src/core/signals/centrality.ts +328 -0
- package/src/core/signals/churn.ts +239 -0
- package/src/core/signals/complexity.ts +206 -0
- package/src/core/signals/debt.ts +111 -0
- package/src/core/signals/errors.ts +93 -0
- package/src/core/signals/index.ts +19 -0
- package/src/cost/cost-tracker.ts +410 -0
- package/src/cost/index.ts +143 -0
- package/src/index.ts +43 -0
- package/src/llm/anthropic-client.ts +415 -0
- package/src/llm/index.ts +43 -0
- package/src/prompts/complexity-reducer.ts +59 -0
- package/src/prompts/debt-payer.ts +59 -0
- package/src/prompts/error-reducer.ts +58 -0
- package/src/prompts/index.ts +128 -0
- package/src/prompts/stabilizer.ts +59 -0
- package/src/prompts/types.ts +15 -0
- package/src/trace/README.md +178 -0
- package/src/trace/index.ts +88 -0
- package/src/trace/trace-event.ts +324 -0
- package/src/types/index.ts +271 -0
- package/src/utils/ci-provider.ts +145 -0
- package/src/utils/config.ts +95 -0
- package/src/utils/error-provider.ts +138 -0
- package/src/utils/file-utils.ts +111 -0
- package/src/utils/index.ts +10 -0
- package/src/utils/logger.ts +94 -0
- package/test-8d713cc8-f4b7-403d-8153-57573172b94c.ts +3 -0
- package/tests/coordination/gradient-cache.test.ts +270 -0
- package/tests/core/agent-executor.test.ts +217 -0
- package/tests/core/change-applier.test.ts +336 -0
- package/tests/core/gradient.test.ts +263 -0
- package/tests/core/mode-selector.test.ts +239 -0
- package/tests/core/signals/centrality.test.ts +512 -0
- package/tests/core/signals/churn.test.ts +355 -0
- package/tests/core/signals/complexity.test.ts +284 -0
- package/tests/core/signals/debt.test.ts +437 -0
- package/tests/core/signals/errors.test.ts +350 -0
- package/tests/cost/cost-tracker.test.ts +475 -0
- package/tests/integration/phase2.test.ts +405 -0
- package/tests/llm/anthropic-client.test.ts +437 -0
- package/tests/prompts/prompts.test.ts +266 -0
- package/tests/trace/trace-event.test.ts +666 -0
- package/tests/utils/file-utils.test.ts +148 -0
- package/tsconfig.json +24 -0
- package/vitest.config.ts +28 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace Event System for Claude-Mycelium
|
|
3
|
+
* Records agent actions for learning and analysis
|
|
4
|
+
* Storage: .agent-meta/traces.jsonl (JSON Lines format)
|
|
5
|
+
*/
|
|
6
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import * as fs from 'fs';
|
|
9
|
+
import { appendFile, readFile, fileExists, ensureDir } from '../utils/file-utils.js';
|
|
10
|
+
import { logInfo, logError, logDebug } from '../utils/logger.js';
|
|
11
|
+
const TRACES_FILE = '.agent-meta/traces.jsonl';
|
|
12
|
+
const MAX_TRACES = 1000; // Keep last 1000 traces
|
|
13
|
+
/**
|
|
14
|
+
* Record a trace event to the append-only log
|
|
15
|
+
*/
|
|
16
|
+
export async function recordTrace(event) {
|
|
17
|
+
try {
|
|
18
|
+
// Ensure .agent-meta directory exists
|
|
19
|
+
ensureDir('.agent-meta');
|
|
20
|
+
// Calculate gradient delta if not provided
|
|
21
|
+
if (event.gradient_delta === undefined) {
|
|
22
|
+
event.gradient_delta = event.gradient_before - event.gradient_after;
|
|
23
|
+
}
|
|
24
|
+
// Serialize to JSON and append
|
|
25
|
+
const line = JSON.stringify(event) + '\n';
|
|
26
|
+
appendFile(TRACES_FILE, line);
|
|
27
|
+
// Log summary
|
|
28
|
+
logInfo('Trace recorded', {
|
|
29
|
+
file: event.file_path,
|
|
30
|
+
mode: event.mode,
|
|
31
|
+
delta: event.gradient_delta.toFixed(3),
|
|
32
|
+
cost: `$${event.cost_usd.toFixed(4)}`,
|
|
33
|
+
success: event.success,
|
|
34
|
+
});
|
|
35
|
+
// Check if cleanup needed (every 100 traces)
|
|
36
|
+
await maybeCleanupTraces();
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
logError('Failed to record trace', error, { event });
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read traces with optional filters
|
|
45
|
+
* Returns traces sorted by timestamp (newest first)
|
|
46
|
+
*/
|
|
47
|
+
export async function readTraces(filters) {
|
|
48
|
+
try {
|
|
49
|
+
if (!fileExists(TRACES_FILE)) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
const content = readFile(TRACES_FILE);
|
|
53
|
+
const lines = content.trim().split('\n').filter(line => line.length > 0);
|
|
54
|
+
// Parse all traces
|
|
55
|
+
const traces = [];
|
|
56
|
+
for (const line of lines) {
|
|
57
|
+
try {
|
|
58
|
+
const trace = JSON.parse(line);
|
|
59
|
+
traces.push(trace);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
logError('Failed to parse trace line', error, { line: line.substring(0, 100) });
|
|
63
|
+
// Skip corrupted lines
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Apply filters
|
|
67
|
+
let filtered = traces;
|
|
68
|
+
if (filters?.file) {
|
|
69
|
+
filtered = filtered.filter(t => t.file_path === filters.file);
|
|
70
|
+
}
|
|
71
|
+
if (filters?.mode) {
|
|
72
|
+
filtered = filtered.filter(t => t.mode === filters.mode);
|
|
73
|
+
}
|
|
74
|
+
if (filters?.since) {
|
|
75
|
+
const sinceMs = filters.since.getTime();
|
|
76
|
+
filtered = filtered.filter(t => new Date(t.timestamp).getTime() >= sinceMs);
|
|
77
|
+
}
|
|
78
|
+
// Sort by timestamp (newest first)
|
|
79
|
+
filtered.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
80
|
+
// Apply limit
|
|
81
|
+
if (filters?.limit && filters.limit > 0) {
|
|
82
|
+
filtered = filtered.slice(0, filters.limit);
|
|
83
|
+
}
|
|
84
|
+
return filtered;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
logError('Failed to read traces', error);
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Calculate recent efficiency for a file
|
|
93
|
+
* Efficiency = gradient improvement per dollar spent
|
|
94
|
+
* Returns null if insufficient data
|
|
95
|
+
*/
|
|
96
|
+
export async function getRecentEfficiency(file, lastN = 5) {
|
|
97
|
+
try {
|
|
98
|
+
const traces = await readTraces({ file, limit: lastN });
|
|
99
|
+
if (traces.length < 3) {
|
|
100
|
+
// Need at least 3 samples
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const efficiency = calculateEfficiency(traces);
|
|
104
|
+
return efficiency;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
logError('Failed to calculate efficiency', error, { file, lastN });
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Calculate efficiency from traces
|
|
113
|
+
* Efficiency = sum(gradient_delta) / sum(cost_usd)
|
|
114
|
+
*/
|
|
115
|
+
export function calculateEfficiency(traces) {
|
|
116
|
+
if (traces.length === 0) {
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
const totalDelta = traces.reduce((sum, t) => sum + t.gradient_delta, 0);
|
|
120
|
+
const totalCost = traces.reduce((sum, t) => sum + t.cost_usd, 0);
|
|
121
|
+
// Prevent division by zero
|
|
122
|
+
if (totalCost === 0) {
|
|
123
|
+
return totalDelta > 0 ? Infinity : 0;
|
|
124
|
+
}
|
|
125
|
+
return totalDelta / totalCost;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get statistics from traces
|
|
129
|
+
*/
|
|
130
|
+
export function getTraceStats(traces) {
|
|
131
|
+
if (traces.length === 0) {
|
|
132
|
+
return {
|
|
133
|
+
totalCost: 0,
|
|
134
|
+
avgDelta: 0,
|
|
135
|
+
successRate: 0,
|
|
136
|
+
totalTraces: 0,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
const totalCost = traces.reduce((sum, t) => sum + t.cost_usd, 0);
|
|
140
|
+
const totalDelta = traces.reduce((sum, t) => sum + t.gradient_delta, 0);
|
|
141
|
+
const successCount = traces.filter(t => t.success).length;
|
|
142
|
+
return {
|
|
143
|
+
totalCost,
|
|
144
|
+
avgDelta: totalDelta / traces.length,
|
|
145
|
+
successRate: successCount / traces.length,
|
|
146
|
+
totalTraces: traces.length,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Cleanup old traces to keep file size manageable
|
|
151
|
+
* Keeps last MAX_TRACES traces
|
|
152
|
+
*/
|
|
153
|
+
async function maybeCleanupTraces() {
|
|
154
|
+
try {
|
|
155
|
+
if (!fileExists(TRACES_FILE)) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const traces = await readTraces();
|
|
159
|
+
if (traces.length <= MAX_TRACES) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
logInfo('Cleaning up traces', {
|
|
163
|
+
current: traces.length,
|
|
164
|
+
keeping: MAX_TRACES,
|
|
165
|
+
});
|
|
166
|
+
// Keep last MAX_TRACES traces
|
|
167
|
+
const kept = traces.slice(0, MAX_TRACES);
|
|
168
|
+
// Archive older traces
|
|
169
|
+
const archived = traces.slice(MAX_TRACES);
|
|
170
|
+
await archiveTraces(archived);
|
|
171
|
+
// Rewrite traces file
|
|
172
|
+
const lines = kept.map(t => JSON.stringify(t) + '\n').join('');
|
|
173
|
+
fs.writeFileSync(TRACES_FILE, lines, 'utf-8');
|
|
174
|
+
logInfo('Trace cleanup complete', {
|
|
175
|
+
archived: archived.length,
|
|
176
|
+
remaining: kept.length,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
logError('Failed to cleanup traces', error);
|
|
181
|
+
// Non-fatal, continue
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Archive old traces to dated files
|
|
186
|
+
*/
|
|
187
|
+
async function archiveTraces(traces) {
|
|
188
|
+
if (traces.length === 0) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const archiveDir = '.agent-meta/traces-archive';
|
|
192
|
+
ensureDir(archiveDir);
|
|
193
|
+
// Group by date
|
|
194
|
+
const byDate = new Map();
|
|
195
|
+
for (const trace of traces) {
|
|
196
|
+
const date = trace.timestamp.split('T')[0]; // Extract YYYY-MM-DD
|
|
197
|
+
if (!byDate.has(date)) {
|
|
198
|
+
byDate.set(date, []);
|
|
199
|
+
}
|
|
200
|
+
byDate.get(date).push(trace);
|
|
201
|
+
}
|
|
202
|
+
// Write to dated archive files
|
|
203
|
+
for (const [date, dateTraces] of byDate.entries()) {
|
|
204
|
+
const archiveFile = path.join(archiveDir, `traces-${date}.jsonl`);
|
|
205
|
+
const lines = dateTraces.map(t => JSON.stringify(t) + '\n').join('');
|
|
206
|
+
appendFile(archiveFile, lines);
|
|
207
|
+
}
|
|
208
|
+
logDebug('Traces archived', { dates: Array.from(byDate.keys()) });
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Generate a unique trace ID
|
|
212
|
+
*/
|
|
213
|
+
export function generateTraceId() {
|
|
214
|
+
return uuidv4();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Calculate cost from token usage
|
|
218
|
+
* Based on model pricing (Claude Sonnet 4)
|
|
219
|
+
*/
|
|
220
|
+
export function calculateCost(tokensIn, tokensOut, model = 'claude-sonnet-4') {
|
|
221
|
+
// Pricing per million tokens (as of 2025)
|
|
222
|
+
const PRICING = {
|
|
223
|
+
'claude-sonnet-4': { input: 3.00, output: 15.00 },
|
|
224
|
+
'claude-sonnet-4-20250514': { input: 3.00, output: 15.00 },
|
|
225
|
+
'claude-haiku-4': { input: 0.25, output: 1.25 },
|
|
226
|
+
'claude-haiku-4-20250514': { input: 0.25, output: 1.25 },
|
|
227
|
+
};
|
|
228
|
+
const pricing = PRICING[model] || PRICING['claude-sonnet-4'];
|
|
229
|
+
const inputCost = (tokensIn / 1_000_000) * pricing.input;
|
|
230
|
+
const outputCost = (tokensOut / 1_000_000) * pricing.output;
|
|
231
|
+
return inputCost + outputCost;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Create a trace event with defaults
|
|
235
|
+
*/
|
|
236
|
+
export function createTraceEvent(partial) {
|
|
237
|
+
return {
|
|
238
|
+
id: generateTraceId(),
|
|
239
|
+
timestamp: new Date().toISOString(),
|
|
240
|
+
gradient_delta: partial.gradient_before - partial.gradient_after,
|
|
241
|
+
...partial,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=trace-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-event.js","sourceRoot":"","sources":["../../src/trace/trace-event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude-Mycelium v2 Type Definitions
|
|
3
|
+
* Complete TypeScript interfaces from Appendix A of the specification
|
|
4
|
+
*/
|
|
5
|
+
export type Mode = 'error_reducer' | 'complexity_reducer' | 'debt_payer' | 'stabilizer' | 'explorer';
|
|
6
|
+
export type TaskMode = Mode | 'create';
|
|
7
|
+
export type TaskStatus = 'pending' | 'planning' | 'in_progress' | 'validating' | 'completed' | 'failed' | 'blocked';
|
|
8
|
+
export interface FileMetrics {
|
|
9
|
+
path: string;
|
|
10
|
+
complexity: number;
|
|
11
|
+
churn: number;
|
|
12
|
+
error_rate: number;
|
|
13
|
+
debt: number;
|
|
14
|
+
centrality: number;
|
|
15
|
+
loc: number;
|
|
16
|
+
}
|
|
17
|
+
export interface Gradient {
|
|
18
|
+
file: string;
|
|
19
|
+
score: number;
|
|
20
|
+
baseScore: number;
|
|
21
|
+
impactMultiplier: number;
|
|
22
|
+
efficiencyPenalty: number;
|
|
23
|
+
dominantSignal: 'complexity' | 'churn' | 'error_rate' | 'debt';
|
|
24
|
+
}
|
|
25
|
+
export interface TraceEvent {
|
|
26
|
+
id: string;
|
|
27
|
+
timestamp: string;
|
|
28
|
+
file_path: string;
|
|
29
|
+
mode: Mode;
|
|
30
|
+
gradient_before: number;
|
|
31
|
+
gradient_after: number;
|
|
32
|
+
gradient_delta: number;
|
|
33
|
+
metabolic_cost: number;
|
|
34
|
+
efficiency: number;
|
|
35
|
+
ci_passed: boolean;
|
|
36
|
+
changes: ChangeSet;
|
|
37
|
+
notes: string[];
|
|
38
|
+
task_id?: string;
|
|
39
|
+
agent_id?: string;
|
|
40
|
+
cost: CostRecord;
|
|
41
|
+
}
|
|
42
|
+
export interface ChangeSet {
|
|
43
|
+
additions: number;
|
|
44
|
+
deletions: number;
|
|
45
|
+
files_touched: string[];
|
|
46
|
+
}
|
|
47
|
+
export interface CostRecord {
|
|
48
|
+
tokens_in: number;
|
|
49
|
+
tokens_out: number;
|
|
50
|
+
model: string;
|
|
51
|
+
estimated_usd: number;
|
|
52
|
+
}
|
|
53
|
+
export interface QuarantineEntry {
|
|
54
|
+
file: string;
|
|
55
|
+
quarantined_at: string;
|
|
56
|
+
reason: string;
|
|
57
|
+
attempts_before_quarantine: number;
|
|
58
|
+
explorer_attempts: number;
|
|
59
|
+
max_explorer_attempts: 3;
|
|
60
|
+
}
|
|
61
|
+
export interface GCReport {
|
|
62
|
+
timestamp: string;
|
|
63
|
+
deleted: number;
|
|
64
|
+
compacted: number;
|
|
65
|
+
size_before_mb: number;
|
|
66
|
+
size_after_mb: number;
|
|
67
|
+
errors: string[];
|
|
68
|
+
duration_ms: number;
|
|
69
|
+
}
|
|
70
|
+
export interface EventSummary {
|
|
71
|
+
__summary__: true;
|
|
72
|
+
mode: Mode;
|
|
73
|
+
avg_efficiency: number;
|
|
74
|
+
efficiency_range: [number, number];
|
|
75
|
+
count: number;
|
|
76
|
+
date_range: [string, string];
|
|
77
|
+
success_rate: number;
|
|
78
|
+
notes: string;
|
|
79
|
+
}
|
|
80
|
+
export interface Task {
|
|
81
|
+
id: string;
|
|
82
|
+
description: string;
|
|
83
|
+
target?: string;
|
|
84
|
+
status: TaskStatus;
|
|
85
|
+
created_at: string;
|
|
86
|
+
completed_at?: string;
|
|
87
|
+
plan?: TaskPlan;
|
|
88
|
+
acceptance_criteria: AcceptanceCriterion[];
|
|
89
|
+
steps_completed: number;
|
|
90
|
+
steps_total: number;
|
|
91
|
+
files_created: string[];
|
|
92
|
+
files_modified: string[];
|
|
93
|
+
traces: string[];
|
|
94
|
+
error?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface TaskPlan {
|
|
97
|
+
summary: string;
|
|
98
|
+
steps: TaskStep[];
|
|
99
|
+
estimated_complexity: 'small' | 'medium' | 'large';
|
|
100
|
+
risks: string[];
|
|
101
|
+
}
|
|
102
|
+
export interface TaskStep {
|
|
103
|
+
order: number;
|
|
104
|
+
description: string;
|
|
105
|
+
target_file: string;
|
|
106
|
+
mode: TaskMode;
|
|
107
|
+
depends_on: number[];
|
|
108
|
+
completed: boolean;
|
|
109
|
+
trace_id?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface AcceptanceCriterion {
|
|
112
|
+
description: string;
|
|
113
|
+
type: 'file_exists' | 'test_passes' | 'no_lint_errors' | 'custom';
|
|
114
|
+
check: string;
|
|
115
|
+
met: boolean;
|
|
116
|
+
}
|
|
117
|
+
export interface LockFile {
|
|
118
|
+
agent_id: string;
|
|
119
|
+
file: string;
|
|
120
|
+
mode: Mode;
|
|
121
|
+
acquired_at: string;
|
|
122
|
+
expires_at: string;
|
|
123
|
+
pid: number;
|
|
124
|
+
task_id?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface GradientCache {
|
|
127
|
+
computed_at: string;
|
|
128
|
+
expires_at: string;
|
|
129
|
+
gradients: Gradient[];
|
|
130
|
+
}
|
|
131
|
+
export interface AgentResult {
|
|
132
|
+
success: boolean;
|
|
133
|
+
changes?: ChangeSet;
|
|
134
|
+
cost?: CostRecord;
|
|
135
|
+
efficiency?: number;
|
|
136
|
+
error?: string;
|
|
137
|
+
}
|
|
138
|
+
export interface CostMetrics {
|
|
139
|
+
total_usd: number;
|
|
140
|
+
total_tokens_in: number;
|
|
141
|
+
total_tokens_out: number;
|
|
142
|
+
avg_cost_per_run: number;
|
|
143
|
+
avg_cost_per_improvement: number;
|
|
144
|
+
cost_efficiency_trend: 'improving' | 'stable' | 'degrading';
|
|
145
|
+
}
|
|
146
|
+
export interface DailyCostSummary {
|
|
147
|
+
date: string;
|
|
148
|
+
runs: number;
|
|
149
|
+
total_cost_usd: number;
|
|
150
|
+
total_tokens_in: number;
|
|
151
|
+
total_tokens_out: number;
|
|
152
|
+
avg_efficiency: number;
|
|
153
|
+
cost_per_improvement: number;
|
|
154
|
+
}
|
|
155
|
+
export interface Inhibitor {
|
|
156
|
+
id: string;
|
|
157
|
+
timestamp: string;
|
|
158
|
+
trigger: {
|
|
159
|
+
file?: string;
|
|
160
|
+
pattern?: string;
|
|
161
|
+
mode?: Mode;
|
|
162
|
+
};
|
|
163
|
+
signal: string;
|
|
164
|
+
origin: {
|
|
165
|
+
agent_id: string;
|
|
166
|
+
trace_id: string;
|
|
167
|
+
energy_wasted: number;
|
|
168
|
+
failure_type: 'ci_failed' | 'regression' | 'reverted' | 'loop_detected';
|
|
169
|
+
};
|
|
170
|
+
strength: number;
|
|
171
|
+
half_life_days: number;
|
|
172
|
+
}
|
|
173
|
+
export interface InhibitorState {
|
|
174
|
+
updated_at: string;
|
|
175
|
+
inhibitors: Inhibitor[];
|
|
176
|
+
}
|
|
177
|
+
export interface ErrorProvider {
|
|
178
|
+
getErrors(file: string): Promise<{
|
|
179
|
+
count: number;
|
|
180
|
+
types: string[];
|
|
181
|
+
}>;
|
|
182
|
+
}
|
|
183
|
+
export interface CIProvider {
|
|
184
|
+
run(changes: ChangeSet): Promise<{
|
|
185
|
+
passed: boolean;
|
|
186
|
+
output: string;
|
|
187
|
+
}>;
|
|
188
|
+
}
|
|
189
|
+
export interface SystemConfig {
|
|
190
|
+
version: string;
|
|
191
|
+
created_at: string;
|
|
192
|
+
error_provider: 'file' | string;
|
|
193
|
+
error_file: string;
|
|
194
|
+
ci_command: string;
|
|
195
|
+
spawn_count: number;
|
|
196
|
+
last_gc_at_spawn: number;
|
|
197
|
+
}
|
|
198
|
+
export interface ErrorProviderData {
|
|
199
|
+
updated_at: string;
|
|
200
|
+
errors: Array<{
|
|
201
|
+
file: string;
|
|
202
|
+
count: number;
|
|
203
|
+
types: string[];
|
|
204
|
+
}>;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { CIProvider, ChangeSet } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* CI provider that runs tests and linters
|
|
4
|
+
* Per spec §16 (second-spec.md)
|
|
5
|
+
*
|
|
6
|
+
* Default command: "npm test && npm run lint"
|
|
7
|
+
* Configurable via .agent-meta/config.json
|
|
8
|
+
*/
|
|
9
|
+
export declare class NpmCIProvider implements CIProvider {
|
|
10
|
+
private ciCommand;
|
|
11
|
+
constructor(ciCommand?: string);
|
|
12
|
+
/**
|
|
13
|
+
* Run CI checks (tests + lint)
|
|
14
|
+
* Returns whether all checks passed and output
|
|
15
|
+
*/
|
|
16
|
+
run(changes: ChangeSet): Promise<{
|
|
17
|
+
passed: boolean;
|
|
18
|
+
output: string;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Run only tests (skip lint)
|
|
22
|
+
*/
|
|
23
|
+
runTests(): Promise<{
|
|
24
|
+
passed: boolean;
|
|
25
|
+
output: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Run only lint (skip tests)
|
|
29
|
+
*/
|
|
30
|
+
runLint(): Promise<{
|
|
31
|
+
passed: boolean;
|
|
32
|
+
output: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Check if CI is configured (npm scripts exist)
|
|
36
|
+
*/
|
|
37
|
+
isConfigured(): Promise<boolean>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Default CI provider instance
|
|
41
|
+
*/
|
|
42
|
+
export declare const ciProvider: NpmCIProvider;
|
|
43
|
+
//# sourceMappingURL=ci-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-provider.d.ts","sourceRoot":"","sources":["../../src/utils/ci-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM/D;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,CAAC,EAAE,MAAM;IAU9B;;;OAGG;IACG,GAAG,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAyC3E;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB9D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB7D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAWvC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,eAAsB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { exec } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { loadConfig } from './config.js';
|
|
4
|
+
import { logInfo, logError } from './logger.js';
|
|
5
|
+
const execAsync = promisify(exec);
|
|
6
|
+
/**
|
|
7
|
+
* CI provider that runs tests and linters
|
|
8
|
+
* Per spec §16 (second-spec.md)
|
|
9
|
+
*
|
|
10
|
+
* Default command: "npm test && npm run lint"
|
|
11
|
+
* Configurable via .agent-meta/config.json
|
|
12
|
+
*/
|
|
13
|
+
export class NpmCIProvider {
|
|
14
|
+
ciCommand;
|
|
15
|
+
constructor(ciCommand) {
|
|
16
|
+
if (ciCommand) {
|
|
17
|
+
this.ciCommand = ciCommand;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// Load from config
|
|
21
|
+
const config = loadConfig();
|
|
22
|
+
this.ciCommand = config.ci_command;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run CI checks (tests + lint)
|
|
27
|
+
* Returns whether all checks passed and output
|
|
28
|
+
*/
|
|
29
|
+
async run(changes) {
|
|
30
|
+
logInfo('Running CI checks', {
|
|
31
|
+
command: this.ciCommand,
|
|
32
|
+
files: changes.files_touched.length,
|
|
33
|
+
});
|
|
34
|
+
try {
|
|
35
|
+
const { stdout, stderr } = await execAsync(this.ciCommand, {
|
|
36
|
+
maxBuffer: 1024 * 1024 * 10, // 10MB buffer for large test output
|
|
37
|
+
timeout: 300000, // 5 minute timeout
|
|
38
|
+
});
|
|
39
|
+
const output = [stdout, stderr].filter(Boolean).join('\n');
|
|
40
|
+
logInfo('CI checks passed', {
|
|
41
|
+
additions: changes.additions,
|
|
42
|
+
deletions: changes.deletions,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
passed: true,
|
|
46
|
+
output,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
// exec throws error when command exits with non-zero code
|
|
51
|
+
const output = [error.stdout || '', error.stderr || '']
|
|
52
|
+
.filter(Boolean)
|
|
53
|
+
.join('\n');
|
|
54
|
+
logError('CI checks failed', error, {
|
|
55
|
+
exitCode: error.code,
|
|
56
|
+
signal: error.signal,
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
passed: false,
|
|
60
|
+
output: output || error.message,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Run only tests (skip lint)
|
|
66
|
+
*/
|
|
67
|
+
async runTests() {
|
|
68
|
+
const testCommand = 'npm test';
|
|
69
|
+
try {
|
|
70
|
+
const { stdout, stderr } = await execAsync(testCommand, {
|
|
71
|
+
maxBuffer: 1024 * 1024 * 10,
|
|
72
|
+
timeout: 300000,
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
passed: true,
|
|
76
|
+
output: [stdout, stderr].filter(Boolean).join('\n'),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
return {
|
|
81
|
+
passed: false,
|
|
82
|
+
output: [error.stdout, error.stderr].filter(Boolean).join('\n') ||
|
|
83
|
+
error.message,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Run only lint (skip tests)
|
|
89
|
+
*/
|
|
90
|
+
async runLint() {
|
|
91
|
+
const lintCommand = 'npm run lint';
|
|
92
|
+
try {
|
|
93
|
+
const { stdout, stderr } = await execAsync(lintCommand, {
|
|
94
|
+
maxBuffer: 1024 * 1024 * 10,
|
|
95
|
+
timeout: 60000, // 1 minute for lint
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
passed: true,
|
|
99
|
+
output: [stdout, stderr].filter(Boolean).join('\n'),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return {
|
|
104
|
+
passed: false,
|
|
105
|
+
output: [error.stdout, error.stderr].filter(Boolean).join('\n') ||
|
|
106
|
+
error.message,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if CI is configured (npm scripts exist)
|
|
112
|
+
*/
|
|
113
|
+
async isConfigured() {
|
|
114
|
+
try {
|
|
115
|
+
// Check if npm test is defined
|
|
116
|
+
await execAsync('npm run test --help', {
|
|
117
|
+
timeout: 5000,
|
|
118
|
+
});
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Default CI provider instance
|
|
128
|
+
*/
|
|
129
|
+
export const ciProvider = new NpmCIProvider();
|
|
130
|
+
//# sourceMappingURL=ci-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-provider.js","sourceRoot":"","sources":["../../src/utils/ci-provider.ts"],"names":[],"mappings":"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"}
|