mister-wolf 2.4.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
- package/dist/adapters/cli/cli-entry.js +2 -0
- package/dist/adapters/cli/cli-entry.js.map +1 -1
- package/dist/adapters/cli/commands/analytics.d.ts +7 -2
- package/dist/adapters/cli/commands/analytics.d.ts.map +1 -1
- package/dist/adapters/cli/commands/analytics.js +45 -22
- package/dist/adapters/cli/commands/analytics.js.map +1 -1
- package/dist/adapters/cli/commands/dashboard.d.ts +1 -1
- package/dist/adapters/cli/commands/dashboard.d.ts.map +1 -1
- package/dist/adapters/cli/commands/dashboard.js +22 -16
- package/dist/adapters/cli/commands/dashboard.js.map +1 -1
- package/dist/adapters/cli/commands/memory-effectiveness.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-effectiveness.js +3 -3
- package/dist/adapters/cli/commands/memory-effectiveness.js.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.js +28 -0
- package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
- package/dist/adapters/cli/commands/memory-run.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-run.js +36 -23
- package/dist/adapters/cli/commands/memory-run.js.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.js +4 -3
- package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
- package/dist/adapters/cli/commands/table-render.d.ts +0 -3
- package/dist/adapters/cli/commands/table-render.d.ts.map +1 -1
- package/dist/adapters/cli/commands/table-render.js +0 -9
- package/dist/adapters/cli/commands/table-render.js.map +1 -1
- package/dist/adapters/cli/commands/task-eval.d.ts +3 -0
- package/dist/adapters/cli/commands/task-eval.d.ts.map +1 -0
- package/dist/adapters/cli/commands/task-eval.js +38 -0
- package/dist/adapters/cli/commands/task-eval.js.map +1 -0
- package/dist/adapters/fs/run-log-migration.d.ts +18 -0
- package/dist/adapters/fs/run-log-migration.d.ts.map +1 -0
- package/dist/adapters/fs/run-log-migration.js +63 -0
- package/dist/adapters/fs/run-log-migration.js.map +1 -0
- package/dist/adapters/fs/session-metrics-log.d.ts +104 -42
- package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
- package/dist/adapters/fs/session-metrics-log.js +132 -10
- package/dist/adapters/fs/session-metrics-log.js.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.d.ts +1 -1
- package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.js +12 -1
- package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
- package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-tools.js +66 -24
- package/dist/adapters/mcp/mcp-tools.js.map +1 -1
- package/dist/app/use-cases/build-analytics.d.ts +43 -9
- package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
- package/dist/app/use-cases/build-analytics.js +134 -33
- package/dist/app/use-cases/build-analytics.js.map +1 -1
- package/dist/app/use-cases/build-dashboard.d.ts +5 -0
- package/dist/app/use-cases/build-dashboard.d.ts.map +1 -1
- package/dist/app/use-cases/build-dashboard.js +1 -0
- package/dist/app/use-cases/build-dashboard.js.map +1 -1
- package/dist/app/use-cases/effectiveness.d.ts +4 -4
- package/dist/app/use-cases/effectiveness.d.ts.map +1 -1
- package/dist/app/use-cases/effectiveness.js +15 -13
- package/dist/app/use-cases/effectiveness.js.map +1 -1
- package/dist/app/use-cases/run-source.d.ts +15 -0
- package/dist/app/use-cases/run-source.d.ts.map +1 -0
- package/dist/app/use-cases/run-source.js +26 -0
- package/dist/app/use-cases/run-source.js.map +1 -0
- package/dist/app/use-cases/snapshot-delta.js +3 -3
- package/dist/app/use-cases/snapshot-delta.js.map +1 -1
- package/dist/app/use-cases/tool-stats.d.ts +5 -1
- package/dist/app/use-cases/tool-stats.d.ts.map +1 -1
- package/dist/app/use-cases/tool-stats.js +6 -13
- package/dist/app/use-cases/tool-stats.js.map +1 -1
- package/package.json +1 -1
- package/templates/base/agents/worker-implementer.md +2 -0
- package/templates/base/agents/worker-researcher.md +2 -0
- package/templates/base/agents/worker-reviewer.md +2 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
-
import {
|
|
2
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
3
4
|
import { join } from 'node:path';
|
|
4
5
|
import { Command, Option } from 'commander';
|
|
5
6
|
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
@@ -38,11 +39,28 @@ export function memoryRunCommand() {
|
|
|
38
39
|
.option('--tool <name>', 'Mark this run as using tool(s) (repeatable)', collect, [])
|
|
39
40
|
.option('--experiment <id>', 'Experiment id (comparative methodologies, e.g. RCT)')
|
|
40
41
|
.addOption(new Option('--arm <choice>', 'Experiment arm').choices(['wolf', 'baseline']))
|
|
41
|
-
.option('--task-id <id>', 'Task id
|
|
42
|
+
.option('--task-id <id>', 'Task id (written as top-level task_id; duplicated in experiment when --experiment)')
|
|
43
|
+
.option('--trace-id <id>', 'Trace id (defaults to a fresh uuid)')
|
|
44
|
+
.option('--attempt <n>', 'Attempt number within the task', (v) => parseInt(v, 10))
|
|
42
45
|
.argument('<prompt>', 'Prompt passed to opencode')
|
|
43
46
|
.action(async (prompt, options) => {
|
|
44
47
|
const model = await resolveModel();
|
|
45
48
|
const startedAt = Date.now();
|
|
49
|
+
// P1 D3: identity прогона — run_id/trace_id/config- и prompt-подпись (v2-поля сигнала)
|
|
50
|
+
const runId = randomUUID();
|
|
51
|
+
const traceId = options.traceId ?? randomUUID();
|
|
52
|
+
const configHash = (() => {
|
|
53
|
+
try {
|
|
54
|
+
return createHash('sha256')
|
|
55
|
+
.update(readFileSync(join(process.cwd(), '.wolf', 'config.yaml'), 'utf-8'))
|
|
56
|
+
.digest('hex')
|
|
57
|
+
.slice(0, 12);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return undefined; // нет конфига — нет подписи
|
|
61
|
+
}
|
|
62
|
+
})();
|
|
63
|
+
const promptHash = createHash('sha256').update(prompt).digest('hex').slice(0, 12);
|
|
46
64
|
const args = ['run', '--format', 'json', '--agent', options.agent, '--model', model];
|
|
47
65
|
if (options.session)
|
|
48
66
|
args.push('--session', options.session);
|
|
@@ -80,9 +98,10 @@ export function memoryRunCommand() {
|
|
|
80
98
|
const durationMs = Date.now() - startedAt;
|
|
81
99
|
// M1 (D5): experiment пишется только полным набором --experiment + --arm;
|
|
82
100
|
// arm — union 'wolf' | 'baseline' (обязателен в типе сигнала), поэтому
|
|
83
|
-
// experiment без arm не записывается, как и arm
|
|
84
|
-
|
|
85
|
-
|
|
101
|
+
// experiment без arm не записывается, как и arm без experiment.
|
|
102
|
+
// P1 D3: --task-id легален и без --experiment (топ-левел task_id).
|
|
103
|
+
if (options.experiment === undefined && options.arm !== undefined) {
|
|
104
|
+
console.error('[wolf-run] Warning: --arm without --experiment is ignored');
|
|
86
105
|
}
|
|
87
106
|
if (options.experiment !== undefined && options.arm === undefined) {
|
|
88
107
|
console.error('[wolf-run] Warning: --experiment without --arm: experiment fields are not recorded');
|
|
@@ -94,24 +113,10 @@ export function memoryRunCommand() {
|
|
|
94
113
|
...(options.taskId !== undefined ? { task_id: options.taskId } : {}),
|
|
95
114
|
}
|
|
96
115
|
: undefined;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
ts: new Date().toISOString(),
|
|
102
|
-
model,
|
|
103
|
-
agent: options.agent,
|
|
104
|
-
title: options.title,
|
|
105
|
-
session: metrics.session,
|
|
106
|
-
weighted: metrics.weighted,
|
|
107
|
-
verdict_pending: true,
|
|
108
|
-
duration_ms: durationMs,
|
|
109
|
-
tokens: { input: metrics.tokensIn, output: metrics.tokensOut, cache_read: metrics.cacheRead },
|
|
110
|
-
...(experiment !== undefined ? { experiment } : {}),
|
|
111
|
-
...(options.tool.length > 0 ? { tools: options.tool } : {}),
|
|
112
|
-
}) + '\n');
|
|
113
|
-
console.error(`[wolf-run] model=${model} weighted=${metrics.weighted} log=${logPath}`);
|
|
114
|
-
// Ф20 (а): событие metrics в сигнальный лог контура самообучения
|
|
116
|
+
// P1 D3: .wolf/run-log.jsonl больше не пишется — канонический источник run-метрик
|
|
117
|
+
// сигнальный лог (.wolf/metrics/session-metrics.jsonl), legacy-файл мержится на чтении.
|
|
118
|
+
console.error(`[wolf-run] model=${model} weighted=${metrics.weighted} run_id=${runId} trace_id=${traceId}`);
|
|
119
|
+
// Ф20 (а) + P1 D3: событие metrics в сигнальный лог контура самообучения, writer v2
|
|
115
120
|
appendRunSignal(process.cwd(), {
|
|
116
121
|
model,
|
|
117
122
|
agent: options.agent,
|
|
@@ -122,6 +127,14 @@ export function memoryRunCommand() {
|
|
|
122
127
|
actor: resolveCreatedBy(undefined),
|
|
123
128
|
durationMs,
|
|
124
129
|
tokens: { input: metrics.tokensIn, output: metrics.tokensOut, cache_read: metrics.cacheRead },
|
|
130
|
+
eventId: randomUUID(),
|
|
131
|
+
runId,
|
|
132
|
+
traceId,
|
|
133
|
+
...(options.attempt !== undefined && Number.isInteger(options.attempt) ? { attempt: options.attempt } : {}),
|
|
134
|
+
...(options.taskId !== undefined ? { taskId: options.taskId } : {}),
|
|
135
|
+
...(configHash !== undefined ? { configHash } : {}),
|
|
136
|
+
promptHash,
|
|
137
|
+
...(options.tool.length > 0 ? { tools: options.tool } : {}),
|
|
125
138
|
...(experiment !== undefined
|
|
126
139
|
? {
|
|
127
140
|
experiment: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-run.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-run.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tool.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAwB5C,wBAAgB,iBAAiB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"memory-tool.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAwB5C,wBAAgB,iBAAiB,IAAI,OAAO,CAoK3C"}
|
|
@@ -5,7 +5,7 @@ import { registerTool, listTools, useTool, exposeTool, deprecateTool, reviveTool
|
|
|
5
5
|
import { toolStats } from '../../../app/use-cases/tool-stats.js';
|
|
6
6
|
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
7
7
|
import { resolveCreatedBy } from '../../../domain/actor.js';
|
|
8
|
-
import { appendDeliverySignal } from '../../../adapters/fs/session-metrics-log.js';
|
|
8
|
+
import { appendDeliverySignal, readSignals } from '../../../adapters/fs/session-metrics-log.js';
|
|
9
9
|
function printContractReminder(tool) {
|
|
10
10
|
console.log(`Input: ${tool.contract_input ?? '—'}`);
|
|
11
11
|
console.log(`Output: ${tool.contract_output ?? '—'}`);
|
|
@@ -101,12 +101,13 @@ export function memoryToolCommand() {
|
|
|
101
101
|
});
|
|
102
102
|
cmd
|
|
103
103
|
.command('stats')
|
|
104
|
-
.description('Usage counters per tool + reuse economy
|
|
104
|
+
.description('Usage counters per tool + reuse economy (signal log + legacy run-log)')
|
|
105
105
|
.action(async () => {
|
|
106
106
|
const { store } = createCliContainer(process.cwd());
|
|
107
107
|
const logPath = join(process.cwd(), '.wolf', 'run-log.jsonl');
|
|
108
108
|
const runLogText = existsSync(logPath) ? readFileSync(logPath, 'utf-8') : null;
|
|
109
|
-
const
|
|
109
|
+
const signals = readSignals(process.cwd());
|
|
110
|
+
const result = await toolStats({ store }, { signals, runLogText });
|
|
110
111
|
console.log(`tools: ${result.tools.length}`);
|
|
111
112
|
for (const t of result.tools) {
|
|
112
113
|
console.log(` ${t.name.padEnd(24)}${t.status.padEnd(12)}used ${String(t.usage_count).padEnd(6)}last: ${t.last_used_at ?? '—'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tool.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,OAAO,EACP,UAAU,EACV,aAAa,EACb,UAAU,GAEX,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-tool.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,4 @@ export declare function clip(text: string): string;
|
|
|
12
12
|
/** Unicode-таблица: `│` между колонками, рамки ┌┬┐├┼┤└┴┘; ширины колонок —
|
|
13
13
|
* от клипнутых ячеек (header тоже клипается — инвариант длин строк безусловный). */
|
|
14
14
|
export declare function renderTable(headers: string[], rows: string[][]): string;
|
|
15
|
-
/** Отношение воронки: null → '-'; >100% — delivery-события кратны сессиям,
|
|
16
|
-
* честнее показывать множитель ×N.N; иначе обычные проценты N.N%. */
|
|
17
|
-
export declare function formatFunnelRatio(pct: number | null): string;
|
|
18
15
|
//# sourceMappingURL=table-render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-render.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/table-render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;uDACuD;AACvD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWzC;AASD;oFACoF;AACpF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAevE
|
|
1
|
+
{"version":3,"file":"table-render.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/table-render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;uDACuD;AACvD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWzC;AASD;oFACoF;AACpF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAevE"}
|
|
@@ -62,13 +62,4 @@ export function renderTable(headers, rows) {
|
|
|
62
62
|
border('└', '┴', '┘'),
|
|
63
63
|
].join('\n');
|
|
64
64
|
}
|
|
65
|
-
/** Отношение воронки: null → '-'; >100% — delivery-события кратны сессиям,
|
|
66
|
-
* честнее показывать множитель ×N.N; иначе обычные проценты N.N%. */
|
|
67
|
-
export function formatFunnelRatio(pct) {
|
|
68
|
-
if (pct === null)
|
|
69
|
-
return '-';
|
|
70
|
-
if (pct > 100)
|
|
71
|
-
return `×${(pct / 100).toFixed(1)}`;
|
|
72
|
-
return `${pct.toFixed(1)}%`;
|
|
73
|
-
}
|
|
74
65
|
//# sourceMappingURL=table-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-render.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/table-render.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table-render.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/table-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-eval.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/task-eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAsCpE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
|
+
import { safeCwd } from '../cli-entry.js';
|
|
3
|
+
import { appendTaskEvaluatedSignal } from '../../fs/session-metrics-log.js';
|
|
4
|
+
// P0 D3: `wolf task-eval` — ручная фиксация вердикта по задаче в сигнальный лог
|
|
5
|
+
// (event task_evaluated, writer (д) в session-metrics-log.ts). Дефолт scorer=human
|
|
6
|
+
// живёт здесь (спека D3); baseDir инъектится для тестов (прецедент: analytics.ts).
|
|
7
|
+
export function taskEvalCommand(baseDir = safeCwd()) {
|
|
8
|
+
return (new Command('task-eval')
|
|
9
|
+
.description('Record a task verdict into the signal log (event task_evaluated)')
|
|
10
|
+
.addOption(new Option('--verdict <verdict>', 'Task verdict')
|
|
11
|
+
.choices(['accepted', 'rejected', 'partial', 'inconclusive'])
|
|
12
|
+
.makeOptionMandatory())
|
|
13
|
+
.addOption(new Option('--scorer <scorer>', 'Who evaluated the task')
|
|
14
|
+
.choices(['human', 'deterministic', 'llm_judge', 'hidden_tests'])
|
|
15
|
+
.default('human'))
|
|
16
|
+
.option('--session <id>', 'Session id')
|
|
17
|
+
.option('--task-id <id>', 'Task id')
|
|
18
|
+
.option('--note <text>', 'Free-form note')
|
|
19
|
+
// ponytail: явный radix 10 — commander передаёт дефолт как previous, bare parseInt принял бы его за radix
|
|
20
|
+
.option('--criteria-passed <n>', 'Criteria passed count', (v) => parseInt(v, 10))
|
|
21
|
+
.option('--criteria-total <m>', 'Criteria total count', (v) => parseInt(v, 10))
|
|
22
|
+
.option('--critical-failure', 'Mark a critical failure', false)
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
appendTaskEvaluatedSignal(baseDir, {
|
|
25
|
+
verdict: options.verdict,
|
|
26
|
+
scorer: options.scorer,
|
|
27
|
+
...(options.session !== undefined ? { sessionId: options.session } : {}),
|
|
28
|
+
...(options.taskId !== undefined ? { taskId: options.taskId } : {}),
|
|
29
|
+
...(options.criteriaPassed !== undefined ? { criteriaPassed: options.criteriaPassed } : {}),
|
|
30
|
+
...(options.criteriaTotal !== undefined ? { criteriaTotal: options.criteriaTotal } : {}),
|
|
31
|
+
...(options.criticalFailure ? { criticalFailure: true } : {}),
|
|
32
|
+
...(options.note !== undefined ? { note: options.note } : {}),
|
|
33
|
+
});
|
|
34
|
+
console.log(`task verdict recorded: verdict=${options.verdict} scorer=${options.scorer}` +
|
|
35
|
+
(options.session !== undefined ? ` session=${options.session}` : ''));
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=task-eval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-eval.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/task-eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,gFAAgF;AAChF,mFAAmF;AACnF,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,UAAkB,OAAO,EAAE;IACzD,OAAO,CACL,IAAI,OAAO,CAAC,WAAW,CAAC;SACrB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,SAAS,CACR,IAAI,MAAM,CAAC,qBAAqB,EAAE,cAAc,CAAC;SAC9C,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;SAC5D,mBAAmB,EAAE,CACzB;SACA,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACtD,OAAO,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;SAChE,OAAO,CAAC,OAAO,CAAC,CACpB;SACA,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;QAC1C,0GAA0G;SACzG,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACxF,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACtF,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,KAAK,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,yBAAyB,CAAC,OAAO,EAAE;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CACT,kCAAkC,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,MAAM,EAAE;YAC1E,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type RunLogMigrationReport = {
|
|
2
|
+
moved: false;
|
|
3
|
+
} | {
|
|
4
|
+
moved: true;
|
|
5
|
+
from: string;
|
|
6
|
+
to: string;
|
|
7
|
+
lineCount: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Одноразовая архивация legacy .wolf/run-log.jsonl (P1 D4): сигнальный лог —
|
|
11
|
+
* канонический источник, но analytics на переходном периоде конкатенирует
|
|
12
|
+
* legacy-файл с сигналами → двойной счёт у обновившихся. Команда выносит файл
|
|
13
|
+
* в .wolf/metrics/archive/run-log-<дата>-legacy.jsonl (rename, содержимое не
|
|
14
|
+
* переписывается — файл может быть большим). Идемпотентна: файла нет →
|
|
15
|
+
* moved: false без побочных действий (archive-каталог не создаётся).
|
|
16
|
+
*/
|
|
17
|
+
export declare function migrateRunLog(baseDir: string): Promise<RunLogMigrationReport>;
|
|
18
|
+
//# sourceMappingURL=run-log-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log-migration.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/run-log-migration.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpH;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BnF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import { createReadStream, existsSync } from 'fs';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
/**
|
|
5
|
+
* Одноразовая архивация legacy .wolf/run-log.jsonl (P1 D4): сигнальный лог —
|
|
6
|
+
* канонический источник, но analytics на переходном периоде конкатенирует
|
|
7
|
+
* legacy-файл с сигналами → двойной счёт у обновившихся. Команда выносит файл
|
|
8
|
+
* в .wolf/metrics/archive/run-log-<дата>-legacy.jsonl (rename, содержимое не
|
|
9
|
+
* переписывается — файл может быть большим). Идемпотентна: файла нет →
|
|
10
|
+
* moved: false без побочных действий (archive-каталог не создаётся).
|
|
11
|
+
*/
|
|
12
|
+
export async function migrateRunLog(baseDir) {
|
|
13
|
+
const from = join(baseDir, '.wolf', 'run-log.jsonl');
|
|
14
|
+
if (!existsSync(from))
|
|
15
|
+
return { moved: false };
|
|
16
|
+
// счётчик строк — ДО rename (после файла на старом месте уже нет)
|
|
17
|
+
let lineCount;
|
|
18
|
+
try {
|
|
19
|
+
lineCount = await countLines(from);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
throw new Error(`read ${from} (run-log migration): ${errText(err)}`);
|
|
23
|
+
}
|
|
24
|
+
const archiveDir = join(baseDir, '.wolf', 'metrics', 'archive');
|
|
25
|
+
await fs.mkdir(archiveDir, { recursive: true }).catch((err) => {
|
|
26
|
+
throw new Error(`mkdir ${archiveDir} (run-log migration): ${errText(err)}`);
|
|
27
|
+
});
|
|
28
|
+
// дата — ЛОКАЛЬНЫЙ день запуска (не UTC); коллизия имени → следующий
|
|
29
|
+
// свободный суффикс -2, -3, … — детерминированно, без перезаписи
|
|
30
|
+
const date = localDateStamp();
|
|
31
|
+
let to = join(archiveDir, `run-log-${date}-legacy.jsonl`);
|
|
32
|
+
for (let n = 2; existsSync(to); n++)
|
|
33
|
+
to = join(archiveDir, `run-log-${date}-legacy-${n}.jsonl`);
|
|
34
|
+
await fs.rename(from, to).catch((err) => {
|
|
35
|
+
throw new Error(`rename ${from} -> ${to} (run-log migration): ${errText(err)}`);
|
|
36
|
+
});
|
|
37
|
+
return { moved: true, from, to, lineCount };
|
|
38
|
+
}
|
|
39
|
+
/** Локальная дата YYYY-MM-DD (не UTC) — архив привязан к дню запуска машины. */
|
|
40
|
+
function localDateStamp(d = new Date()) {
|
|
41
|
+
return [d.getFullYear(), d.getMonth() + 1, d.getDate()].map((n) => String(n).padStart(2, '0')).join('-');
|
|
42
|
+
}
|
|
43
|
+
/** Потоковый подсчёт строк: считаем '\n'; последняя строка без '\n' — тоже строка; пустой файл → 0. */
|
|
44
|
+
function countLines(path) {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
const stream = createReadStream(path);
|
|
47
|
+
let newlines = 0;
|
|
48
|
+
let lastByte = -1;
|
|
49
|
+
stream.on('data', (chunk) => {
|
|
50
|
+
const buf = typeof chunk === 'string' ? Buffer.from(chunk) : chunk;
|
|
51
|
+
for (let i = 0; i < buf.length; i++)
|
|
52
|
+
if (buf[i] === 0x0a)
|
|
53
|
+
newlines++;
|
|
54
|
+
lastByte = buf[buf.length - 1];
|
|
55
|
+
});
|
|
56
|
+
stream.on('end', () => resolve(lastByte === -1 ? 0 : lastByte === 0x0a ? newlines : newlines + 1));
|
|
57
|
+
stream.on('error', reject);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function errText(err) {
|
|
61
|
+
return err instanceof Error ? err.message : String(err);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=run-log-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log-migration.js","sourceRoot":"","sources":["../../../src/adapters/fs/run-log-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export type SignalEventName = 'run' | 'complaint' | 'delivery' | 'tool_error' | 'task_evaluated' | 'mcp_call';
|
|
3
|
+
/**
|
|
4
|
+
* Схема сигнального лога (P0 D6): чтение лога валидируется Zod, неизвестные поля
|
|
5
|
+
* отбрасываются (strip — дефолт zod-object). Тип SignalEvent выводится из схемы.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SignalEventSchema: z.ZodObject<{
|
|
8
|
+
ts: z.ZodString;
|
|
9
|
+
event: z.ZodEnum<{
|
|
10
|
+
complaint: "complaint";
|
|
11
|
+
run: "run";
|
|
12
|
+
delivery: "delivery";
|
|
13
|
+
tool_error: "tool_error";
|
|
14
|
+
task_evaluated: "task_evaluated";
|
|
15
|
+
mcp_call: "mcp_call";
|
|
16
|
+
}>;
|
|
17
|
+
session_id: z.ZodNullable<z.ZodString>;
|
|
18
|
+
gen_ai: z.ZodObject<{
|
|
19
|
+
modelID: z.ZodNullable<z.ZodString>;
|
|
20
|
+
agent: z.ZodNullable<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
orchestration: z.ZodObject<{
|
|
23
|
+
task: z.ZodNullable<z.ZodString>;
|
|
24
|
+
actor: z.ZodString;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
weighted: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
duration_ms: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
tokens: z.ZodOptional<z.ZodObject<{
|
|
29
|
+
input: z.ZodNumber;
|
|
30
|
+
output: z.ZodNumber;
|
|
31
|
+
cache_read: z.ZodNumber;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
experiment: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
id: z.ZodString;
|
|
35
|
+
arm: z.ZodEnum<{
|
|
36
|
+
wolf: "wolf";
|
|
37
|
+
baseline: "baseline";
|
|
38
|
+
}>;
|
|
39
|
+
task_id: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
outcome: z.ZodOptional<z.ZodString>;
|
|
42
|
+
tool_name: z.ZodOptional<z.ZodString>;
|
|
43
|
+
error_class_id: z.ZodOptional<z.ZodString>;
|
|
44
|
+
event_id: z.ZodOptional<z.ZodString>;
|
|
45
|
+
schema_version: z.ZodOptional<z.ZodLiteral<2>>;
|
|
46
|
+
run_id: z.ZodOptional<z.ZodString>;
|
|
47
|
+
trace_id: z.ZodOptional<z.ZodString>;
|
|
48
|
+
parent_span_id: z.ZodOptional<z.ZodString>;
|
|
49
|
+
role_level: z.ZodOptional<z.ZodEnum<{
|
|
50
|
+
L0: "L0";
|
|
51
|
+
L1: "L1";
|
|
52
|
+
L2: "L2";
|
|
53
|
+
}>>;
|
|
54
|
+
attempt: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
task_id: z.ZodOptional<z.ZodString>;
|
|
56
|
+
config_hash: z.ZodOptional<z.ZodString>;
|
|
57
|
+
prompt_hash: z.ZodOptional<z.ZodString>;
|
|
58
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
59
|
+
detail: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
export type SignalEvent = z.infer<typeof SignalEventSchema>;
|
|
41
62
|
export interface PatternRecord {
|
|
42
63
|
ts: string;
|
|
43
64
|
event: 'pattern';
|
|
@@ -55,9 +76,19 @@ export declare function patternThreshold(baseDir: string): number;
|
|
|
55
76
|
/**
|
|
56
77
|
* Ключ кластеризации Ф21 (детерминированный, O(n)-группировка):
|
|
57
78
|
* tool_error → `tool_name:error_class_id`; complaint/delivery → `тип:цель`;
|
|
58
|
-
* run → null (контекст-событие, не кластеризуется).
|
|
79
|
+
* run/task_evaluated → null (контекст-событие, не кластеризуется).
|
|
59
80
|
*/
|
|
60
81
|
export declare function signalKey(ev: SignalEvent): string | null;
|
|
82
|
+
export interface SignalLogStats {
|
|
83
|
+
/** Валидные события в порядке записи. */
|
|
84
|
+
events: SignalEvent[];
|
|
85
|
+
/** Не-JSON строки + строки, не прошедшие схему. */
|
|
86
|
+
malformedLines: number;
|
|
87
|
+
/** Все непустые строки лога. */
|
|
88
|
+
totalLines: number;
|
|
89
|
+
}
|
|
90
|
+
/** Сигнальный лог со счётчиком малформа (P0 D6: честная статистика аналитики). */
|
|
91
|
+
export declare function readSignalLog(baseDir: string): SignalLogStats;
|
|
61
92
|
/** Все сигналы лога (порядок записи); отсутствующий/битый лог → максимально читаемое. */
|
|
62
93
|
export declare function readSignals(baseDir: string): SignalEvent[];
|
|
63
94
|
/** Зафиксированные паттерны (события пересечения порога). */
|
|
@@ -74,7 +105,10 @@ export declare function appendSignal(baseDir: string, ev: SignalEvent): {
|
|
|
74
105
|
count: number;
|
|
75
106
|
patternFixed: boolean;
|
|
76
107
|
};
|
|
77
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* Writer (а): `wolf run` — метрики сессии (модель из routing, weighted, outcome; M1: duration/tokens/experiment).
|
|
110
|
+
* P1 D3: writer перешёл на v2 — schema_version: 2 всегда, identity-поля опциональны.
|
|
111
|
+
*/
|
|
78
112
|
export declare function appendRunSignal(baseDir: string, input: {
|
|
79
113
|
model: string;
|
|
80
114
|
agent: string;
|
|
@@ -95,6 +129,15 @@ export declare function appendRunSignal(baseDir: string, input: {
|
|
|
95
129
|
arm: 'wolf' | 'baseline';
|
|
96
130
|
taskId?: string;
|
|
97
131
|
};
|
|
132
|
+
/** P1 D3: identity-поля v2 (event_id/run_id/trace_id/attempt/task_id/config_hash/prompt_hash/tools). */
|
|
133
|
+
eventId?: string;
|
|
134
|
+
runId?: string;
|
|
135
|
+
traceId?: string;
|
|
136
|
+
attempt?: number;
|
|
137
|
+
taskId?: string;
|
|
138
|
+
configHash?: string;
|
|
139
|
+
promptHash?: string;
|
|
140
|
+
tools?: string[];
|
|
98
141
|
}): {
|
|
99
142
|
key: string | null;
|
|
100
143
|
count: number;
|
|
@@ -142,4 +185,23 @@ export declare function recordToolError(baseDir: string, input: {
|
|
|
142
185
|
count: number;
|
|
143
186
|
patternFixed: boolean;
|
|
144
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* Writer (д): task_evaluated (P0 D2) — вердикт по задаче от скорера. Контекст-событие:
|
|
190
|
+
* signalKey → null (как run), пороги Ф21 не считаются. Дефолт scorer='human'
|
|
191
|
+
* задаётся на уровне CLI-команды `wolf task-eval` (P0 D3).
|
|
192
|
+
*/
|
|
193
|
+
export declare function appendTaskEvaluatedSignal(baseDir: string, input: {
|
|
194
|
+
verdict: 'accepted' | 'rejected' | 'partial' | 'inconclusive';
|
|
195
|
+
scorer: 'human' | 'deterministic' | 'llm_judge' | 'hidden_tests';
|
|
196
|
+
sessionId?: string | null;
|
|
197
|
+
taskId?: string;
|
|
198
|
+
criteriaPassed?: number;
|
|
199
|
+
criteriaTotal?: number;
|
|
200
|
+
criticalFailure?: boolean;
|
|
201
|
+
note?: string;
|
|
202
|
+
}): {
|
|
203
|
+
key: string | null;
|
|
204
|
+
count: number;
|
|
205
|
+
patternFixed: boolean;
|
|
206
|
+
};
|
|
145
207
|
//# sourceMappingURL=session-metrics-log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-metrics-log.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/session-metrics-log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-metrics-log.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/session-metrics-log.ts"],"names":[],"mappings":"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"}
|