reeval 0.0.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/LICENSE +202 -0
- package/THIRD_PARTY_NOTICES.md +2160 -0
- package/assets/package.json +9 -0
- package/assets/pnpm-lock.yaml +1336 -0
- package/dist/agent-DVHkx8aT.js +532 -0
- package/dist/agent-DVHkx8aT.js.map +1 -0
- package/dist/analysis-CxSCt1YY.js +16 -0
- package/dist/analysis-CxSCt1YY.js.map +1 -0
- package/dist/assemble-B-nmz8oH.js +695 -0
- package/dist/assemble-B-nmz8oH.js.map +1 -0
- package/dist/assemble-CmRVDZ2Q.js +2 -0
- package/dist/attempt-BdRQ9jKX.js +176 -0
- package/dist/attempt-BdRQ9jKX.js.map +1 -0
- package/dist/bridge/index.mjs +1911 -0
- package/dist/bridge/package.json +13 -0
- package/dist/bridge/pnpm-lock.yaml +1041 -0
- package/dist/bridge/pnpm-workspace.yaml +2 -0
- package/dist/budget-DBUrH4jX.js +8 -0
- package/dist/budget-DBUrH4jX.js.map +1 -0
- package/dist/cli--CQ3Iy9q.js +1865 -0
- package/dist/cli--CQ3Iy9q.js.map +1 -0
- package/dist/cli-spec-DKAu09Gi.js +478 -0
- package/dist/cli-spec-DKAu09Gi.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -0
- package/dist/colors-QV9dFVhN.js +34 -0
- package/dist/colors-QV9dFVhN.js.map +1 -0
- package/dist/command-BSJzHMtP.js +280 -0
- package/dist/command-BSJzHMtP.js.map +1 -0
- package/dist/command-CEm8PZ1N.js +1043 -0
- package/dist/command-CEm8PZ1N.js.map +1 -0
- package/dist/command-D-jnQWVG.js +673 -0
- package/dist/command-D-jnQWVG.js.map +1 -0
- package/dist/command-DQAvbG7d.js +432 -0
- package/dist/command-DQAvbG7d.js.map +1 -0
- package/dist/commands-A4udfyKZ.js +2 -0
- package/dist/commands-CF8mOfiu.js +207 -0
- package/dist/commands-CF8mOfiu.js.map +1 -0
- package/dist/config-Cuj0kVYj.js +415 -0
- package/dist/config-Cuj0kVYj.js.map +1 -0
- package/dist/context-loi9OCZv.js +106 -0
- package/dist/context-loi9OCZv.js.map +1 -0
- package/dist/core-tLN-z1Be.js +96 -0
- package/dist/core-tLN-z1Be.js.map +1 -0
- package/dist/db-Cjj2ZsfQ.js +2 -0
- package/dist/db-DxDzMhtB.js +827 -0
- package/dist/db-DxDzMhtB.js.map +1 -0
- package/dist/debug-D24NOQH1.js +89 -0
- package/dist/debug-D24NOQH1.js.map +1 -0
- package/dist/debug-SEmW4w8f.js +2 -0
- package/dist/dist-BZXYHN2X.js +1673 -0
- package/dist/dist-BZXYHN2X.js.map +1 -0
- package/dist/docker-DQDZWXF9.js +20 -0
- package/dist/docker-DQDZWXF9.js.map +1 -0
- package/dist/docker-DnWAVdEm.js +2 -0
- package/dist/docker-oSbCExHL.js +153 -0
- package/dist/docker-oSbCExHL.js.map +1 -0
- package/dist/doctor-CxlH1pDM.js +525 -0
- package/dist/doctor-CxlH1pDM.js.map +1 -0
- package/dist/egress-73SQfKdx.js +619 -0
- package/dist/egress-73SQfKdx.js.map +1 -0
- package/dist/env-BQqj93gu.js +21 -0
- package/dist/env-BQqj93gu.js.map +1 -0
- package/dist/environment-Mz7wvrtD.js +552 -0
- package/dist/environment-Mz7wvrtD.js.map +1 -0
- package/dist/errors-C9w_ud7g.js +160 -0
- package/dist/errors-C9w_ud7g.js.map +1 -0
- package/dist/errors-CSxfJ4qu.js +11 -0
- package/dist/errors-CSxfJ4qu.js.map +1 -0
- package/dist/files--6CEUXm7.js +2 -0
- package/dist/files-BLlrhU4-.js +62 -0
- package/dist/files-BLlrhU4-.js.map +1 -0
- package/dist/files-Bd25OAQH.js +2 -0
- package/dist/files-BvHCFWgD.js +2 -0
- package/dist/files-D2-qn_Dl.js +275 -0
- package/dist/files-D2-qn_Dl.js.map +1 -0
- package/dist/files-bF2fPuT9.js +99 -0
- package/dist/files-bF2fPuT9.js.map +1 -0
- package/dist/git-D6hMeieS.js +44 -0
- package/dist/git-D6hMeieS.js.map +1 -0
- package/dist/harness-ls5aX1UO.js +131 -0
- package/dist/harness-ls5aX1UO.js.map +1 -0
- package/dist/harness.d.ts +74 -0
- package/dist/harness.js +2 -0
- package/dist/header-DzFDoMCI.js +78 -0
- package/dist/header-DzFDoMCI.js.map +1 -0
- package/dist/ids-Bp6ut7ZD.js +49 -0
- package/dist/ids-Bp6ut7ZD.js.map +1 -0
- package/dist/images-Cc1-coFc.js +286 -0
- package/dist/images-Cc1-coFc.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.js +1959 -0
- package/dist/index.js.map +1 -0
- package/dist/init-CFljS8BJ.js +344 -0
- package/dist/init-CFljS8BJ.js.map +1 -0
- package/dist/init-z2ZPn9Tj.js +2 -0
- package/dist/invocations-rXktgSAn.js +157 -0
- package/dist/invocations-rXktgSAn.js.map +1 -0
- package/dist/jiti-BOLXpKyG.js +46 -0
- package/dist/jiti-BOLXpKyG.js.map +1 -0
- package/dist/judge-D8Uf4dA9.js +146 -0
- package/dist/judge-D8Uf4dA9.js.map +1 -0
- package/dist/judge.d.ts +21 -0
- package/dist/judge.js +19 -0
- package/dist/judge.js.map +1 -0
- package/dist/live-Bs3LReMV.js +98 -0
- package/dist/live-Bs3LReMV.js.map +1 -0
- package/dist/matchers-DyLvm7EG.js +374 -0
- package/dist/matchers-DyLvm7EG.js.map +1 -0
- package/dist/model-BdO79gWz.js +44 -0
- package/dist/model-BdO79gWz.js.map +1 -0
- package/dist/model-CDL98xue.js +725 -0
- package/dist/model-CDL98xue.js.map +1 -0
- package/dist/model-v-0_Ik7S.js +2 -0
- package/dist/node-kG64XxdE.js +506 -0
- package/dist/node-kG64XxdE.js.map +1 -0
- package/dist/opencode-providers-DZuD_oYt.js +3149 -0
- package/dist/opencode-providers-DZuD_oYt.js.map +1 -0
- package/dist/options-CAQhu--C.js +452 -0
- package/dist/options-CAQhu--C.js.map +1 -0
- package/dist/patch-BkKje4cp.js +69 -0
- package/dist/patch-BkKje4cp.js.map +1 -0
- package/dist/paths-CBvm6pap.js +72 -0
- package/dist/paths-CBvm6pap.js.map +1 -0
- package/dist/plan-gwk6dJ8c.js +237 -0
- package/dist/plan-gwk6dJ8c.js.map +1 -0
- package/dist/preflight-BtubXKQ8.js +2 -0
- package/dist/preflight-BypZMNBG.js +185 -0
- package/dist/preflight-BypZMNBG.js.map +1 -0
- package/dist/prepare-Cwv0bHs_.js +3 -0
- package/dist/prepare-D6Uzcubb.js +213 -0
- package/dist/prepare-D6Uzcubb.js.map +1 -0
- package/dist/provenance-Dfb8YY5Y.js +129 -0
- package/dist/provenance-Dfb8YY5Y.js.map +1 -0
- package/dist/provider-BDbNOQhQ.js +2 -0
- package/dist/provider-CmAYTQQs.js +14 -0
- package/dist/provider-CmAYTQQs.js.map +1 -0
- package/dist/providers-2p3ylMHI.js +107 -0
- package/dist/providers-2p3ylMHI.js.map +1 -0
- package/dist/providers-BUOxitcT.js +2 -0
- package/dist/query-CFATHZmV.js +91 -0
- package/dist/query-CFATHZmV.js.map +1 -0
- package/dist/query-DR4m6CXf.js +2 -0
- package/dist/record-DQ8wzyco.js +99 -0
- package/dist/record-DQ8wzyco.js.map +1 -0
- package/dist/redact-C4fL_bZP.js +167 -0
- package/dist/redact-C4fL_bZP.js.map +1 -0
- package/dist/results-CeXb8Wde.js +37 -0
- package/dist/results-CeXb8Wde.js.map +1 -0
- package/dist/root-CFDjpWuc.js +110 -0
- package/dist/root-CFDjpWuc.js.map +1 -0
- package/dist/sandbox-By2gkdkC.js +133 -0
- package/dist/sandbox-By2gkdkC.js.map +1 -0
- package/dist/sandbox.d.ts +41 -0
- package/dist/sandbox.js +2 -0
- package/dist/server-Bi61uiY0.js +350 -0
- package/dist/server-Bi61uiY0.js.map +1 -0
- package/dist/server-CsSBL8NC.js +2 -0
- package/dist/source-BXzrmof5.js +2 -0
- package/dist/source-Bsfa3LZH.js +40 -0
- package/dist/source-Bsfa3LZH.js.map +1 -0
- package/dist/src-55j1zNHH.js +3 -0
- package/dist/src-AEwxd1UP.js +602 -0
- package/dist/src-AEwxd1UP.js.map +1 -0
- package/dist/src-BDwSuyIo.js +3 -0
- package/dist/src-BQyMiWri.js +490 -0
- package/dist/src-BQyMiWri.js.map +1 -0
- package/dist/src-C-LHyTSV.js +3 -0
- package/dist/src-Cmp-7YrD.js +1136 -0
- package/dist/src-Cmp-7YrD.js.map +1 -0
- package/dist/src-D0RdqpNb.js +252 -0
- package/dist/src-D0RdqpNb.js.map +1 -0
- package/dist/src-D8KYzxBX.js +793 -0
- package/dist/src-D8KYzxBX.js.map +1 -0
- package/dist/src-DEgff9Z7.js +4 -0
- package/dist/src-DXx_29pq.js +567 -0
- package/dist/src-DXx_29pq.js.map +1 -0
- package/dist/src-DwwiVLqv.js +2937 -0
- package/dist/src-DwwiVLqv.js.map +1 -0
- package/dist/src-N7E_mfcZ.js +2 -0
- package/dist/src-W9g-y5X5.js +3 -0
- package/dist/src-daS0wKH2.js +3 -0
- package/dist/state-Cyw3QTsN.js +2 -0
- package/dist/state-DZ7eqb1F.js +167 -0
- package/dist/state-DZ7eqb1F.js.map +1 -0
- package/dist/stats-BNAHlNMD.js +114 -0
- package/dist/stats-BNAHlNMD.js.map +1 -0
- package/dist/studio-app/assets/index-D6XyfFSH.js +58 -0
- package/dist/studio-app/assets/index-xwzWdcE_.css +2 -0
- package/dist/studio-app/favicon.svg +1 -0
- package/dist/studio-app/index.html +15 -0
- package/dist/summary-D7Ttky0z.js +166 -0
- package/dist/summary-D7Ttky0z.js.map +1 -0
- package/dist/text-gEcKjAyp.js +29 -0
- package/dist/text-gEcKjAyp.js.map +1 -0
- package/dist/types-C5vI3g1C.js +9 -0
- package/dist/types-C5vI3g1C.js.map +1 -0
- package/dist/types-DLec-6Cx.d.ts +1535 -0
- package/dist/usage-DsYUqIUM.js +24 -0
- package/dist/usage-DsYUqIUM.js.map +1 -0
- package/dist/view/index.d.ts +645 -0
- package/dist/view/index.js +8 -0
- package/dist/views-BrHOv6wg.js +220 -0
- package/dist/views-BrHOv6wg.js.map +1 -0
- package/dist/views-CwCWLWqo.js +3 -0
- package/dist/worker-entry-DnYkANPG.js +506 -0
- package/dist/worker-entry-DnYkANPG.js.map +1 -0
- package/dist/workspace-C2S0Z6gl.js +327 -0
- package/dist/workspace-C2S0Z6gl.js.map +1 -0
- package/dist/workspace-CyoXG6CY.js +2 -0
- package/docker/Dockerfile +19 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-D-jnQWVG.js","names":[],"sources":["../src/report/collect.ts","../src/report/issue.ts","../src/report/render.ts","../src/report/tar.ts","../src/report/command.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
import { t as UsageError } from "./errors-CSxfJ4qu.js";
|
|
2
|
+
import { a as registerSecret, i as redactSecrets } from "./redact-C4fL_bZP.js";
|
|
3
|
+
import { t as RUN_ID } from "./paths-CBvm6pap.js";
|
|
4
|
+
import { a as fromCwd } from "./ids-Bp6ut7ZD.js";
|
|
5
|
+
import { a as sortAnalyses } from "./analysis-CxSCt1YY.js";
|
|
6
|
+
import { s as readableTranscriptLine } from "./record-DQ8wzyco.js";
|
|
7
|
+
import { a as renderSummary } from "./summary-D7Ttky0z.js";
|
|
8
|
+
import { o as readRecord } from "./files-D2-qn_Dl.js";
|
|
9
|
+
import { c as resolveRun } from "./views-BrHOv6wg.js";
|
|
10
|
+
import { a as compareView, h as showRecord, n as allRuns, s as historyView } from "./commands-CF8mOfiu.js";
|
|
11
|
+
import { r as VIEW_NAMES, s as openHistoryDb } from "./db-DxDzMhtB.js";
|
|
12
|
+
import { r as statementCount } from "./query-CFATHZmV.js";
|
|
13
|
+
import { n as resolveFile } from "./source-Bsfa3LZH.js";
|
|
14
|
+
import { basename } from "node:path";
|
|
15
|
+
import { timingSafeEqual } from "node:crypto";
|
|
16
|
+
import { readFile } from "node:fs/promises";
|
|
17
|
+
import { z } from "zod";
|
|
18
|
+
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/server";
|
|
19
|
+
const MAX_ROWS = 1e3;
|
|
20
|
+
/** What each view has one row per, for its tool's description. */
|
|
21
|
+
const VIEW_ROWS = {
|
|
22
|
+
lift: "variant cell per run: its control, both sides’ pass counts, lift points and the 95% interval (lo, hi), within_noise",
|
|
23
|
+
effort: "cell per run: attempts, median tool calls and agent seconds; for a variant, the ratios to its control, p-values and a verdict",
|
|
24
|
+
factor_effects: "factor contrast (environment, harness, model) by evidence tier, with pass-rate and effort verdicts",
|
|
25
|
+
skill_reads: "attempt and skill its environment placed: the transcript line of its first read, and how many",
|
|
26
|
+
flaky_cells: "cell with mixed outcomes pooled over comparable runs: counts, a Wilson interval, a verdict and a likely cause",
|
|
27
|
+
drift: "run where a cell’s fingerprint changed from its previous run, what changed, and noise = 1 when only agent runtime state did",
|
|
28
|
+
failing_attempts: "failed attempt, with its harness, model, environment skill and error",
|
|
29
|
+
eval_trend: "eval per run: outcome, pass rate, branch, PR and fingerprint",
|
|
30
|
+
verdict_flips: "judge question per cell whose pass rate changed from its previous run"
|
|
31
|
+
};
|
|
32
|
+
const READ_ONLY = {
|
|
33
|
+
readOnlyHint: true,
|
|
34
|
+
destructiveHint: false,
|
|
35
|
+
idempotentHint: true,
|
|
36
|
+
openWorldHint: false
|
|
37
|
+
};
|
|
38
|
+
const RUN_REF = "A run: latest (default), latest~N, a run id or unique prefix of one, or a git SHA prefix";
|
|
39
|
+
/** A tool's answer: the JSON as text and as structured content, masked like everything reeval writes. */
|
|
40
|
+
function result(value) {
|
|
41
|
+
const text = redactSecrets(JSON.stringify(value, null, 2));
|
|
42
|
+
let structured;
|
|
43
|
+
try {
|
|
44
|
+
structured = JSON.parse(text);
|
|
45
|
+
} catch {
|
|
46
|
+
structured = { text };
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
content: [{
|
|
50
|
+
type: "text",
|
|
51
|
+
text
|
|
52
|
+
}],
|
|
53
|
+
structuredContent: structured
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function failure(error) {
|
|
57
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
58
|
+
return {
|
|
59
|
+
content: [{
|
|
60
|
+
type: "text",
|
|
61
|
+
text: redactSecrets(message)
|
|
62
|
+
}],
|
|
63
|
+
isError: true
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const guard = (run) => async (args) => {
|
|
67
|
+
try {
|
|
68
|
+
return result(await run(args));
|
|
69
|
+
} catch (error) {
|
|
70
|
+
return failure(error);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/** The first keyword of `sql`, past whitespace and comments, upper-cased. */
|
|
74
|
+
function firstKeyword(sql) {
|
|
75
|
+
const rest = sql.replace(/^(?:\s+|--[^\n]*(?:\n|$)|\/\*[\s\S]*?\*\/)*/, "");
|
|
76
|
+
return (/^[A-Za-z]+/.exec(rest)?.[0] ?? "").toUpperCase();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Why `reeval mcp` won't run `sql`, or null. On top of the read-only connection: one `SELECT` or
|
|
80
|
+
* `WITH` statement, so no `ATTACH` (another file), `PRAGMA` or `VACUUM INTO` (a new file).
|
|
81
|
+
*/
|
|
82
|
+
function sqlProblem(sql) {
|
|
83
|
+
if (statementCount(sql) !== 1) return "Send exactly one SQL statement.";
|
|
84
|
+
const keyword = firstKeyword(sql);
|
|
85
|
+
if (keyword !== "SELECT" && keyword !== "WITH") return `Only SELECT and WITH statements run here (got ${keyword || "nothing"}); the history is read-only.`;
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
/** Each view's columns, as `reeval query --schema --json` lists them. */
|
|
89
|
+
async function viewColumns(config) {
|
|
90
|
+
const db = await openHistoryDb(config.root, config.history.dir);
|
|
91
|
+
try {
|
|
92
|
+
const schema = db.schema();
|
|
93
|
+
return Object.fromEntries(VIEW_NAMES.map((name) => [name, schema.find((o) => o.name === name)?.columns ?? []]));
|
|
94
|
+
} finally {
|
|
95
|
+
db.close();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function withDb(config, use) {
|
|
99
|
+
const db = await openHistoryDb(config.root, config.history.dir);
|
|
100
|
+
try {
|
|
101
|
+
return use(db);
|
|
102
|
+
} finally {
|
|
103
|
+
db.close();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const cell = z.union([
|
|
107
|
+
z.string(),
|
|
108
|
+
z.number(),
|
|
109
|
+
z.boolean(),
|
|
110
|
+
z.null()
|
|
111
|
+
]);
|
|
112
|
+
const limitField = (max, fallback, what) => z.number().int().min(1).max(max).optional().describe(`At most this many ${what} (default ${fallback}, at most ${max})`);
|
|
113
|
+
const source = (config) => ({
|
|
114
|
+
root: config.root,
|
|
115
|
+
historyDir: config.history.dir,
|
|
116
|
+
scratch: true
|
|
117
|
+
});
|
|
118
|
+
const transcriptUri = (runId, attemptKey) => `reeval://runs/${runId}/transcripts/${encodeURIComponent(attemptKey)}`;
|
|
119
|
+
/** The attempt `ref` names in `run`: its key, or an attempt id (`<cell>#<n>`) unique in the run. */
|
|
120
|
+
function findAttempt(run, ref) {
|
|
121
|
+
const attempts = run.evals.flatMap((e) => e.attempts);
|
|
122
|
+
const exact = attempts.find((a) => a.key === ref);
|
|
123
|
+
if (exact) return exact;
|
|
124
|
+
const byId = attempts.filter((a) => a.id === ref);
|
|
125
|
+
if (byId.length === 1 && byId[0]) return byId[0];
|
|
126
|
+
const keys = attempts.map((a) => a.key);
|
|
127
|
+
const listed = `${keys.slice(0, 20).join("; ")}${keys.length > 20 ? `; … ${keys.length - 20} more` : ""}`;
|
|
128
|
+
throw new Error(byId.length > 1 ? `"${ref}" is an attempt of ${byId.length} evals in ${run.runId}; use its key: ${byId.map((a) => a.key).join("; ")}` : `No attempt "${ref}" in ${run.runId}. Attempts: ${listed}`);
|
|
129
|
+
}
|
|
130
|
+
async function readTranscript(config, run, ref) {
|
|
131
|
+
const attempt = findAttempt(run, ref);
|
|
132
|
+
const path = attempt.files.transcript?.path;
|
|
133
|
+
const file = path && await resolveFile(source(config), {
|
|
134
|
+
kind: "artifact",
|
|
135
|
+
runId: run.runId,
|
|
136
|
+
segments: path.split("/")
|
|
137
|
+
});
|
|
138
|
+
if (!file) throw new Error(`${run.runId} kept no transcript for ${attempt.key} (recorded with --artifacts failures or none?)`);
|
|
139
|
+
const lines = [];
|
|
140
|
+
for (const line of (await readFile(file, "utf8")).split("\n")) {
|
|
141
|
+
if (!line.trim()) continue;
|
|
142
|
+
try {
|
|
143
|
+
lines.push(readableTranscriptLine(JSON.parse(line)));
|
|
144
|
+
} catch {}
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
attempt,
|
|
148
|
+
lines
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/** Reads the record of a run named by id, recorded or scratch; null if there's none. */
|
|
152
|
+
async function recordById(config, runId) {
|
|
153
|
+
if (!RUN_ID.test(runId)) return null;
|
|
154
|
+
const file = await resolveFile(source(config), {
|
|
155
|
+
kind: "record",
|
|
156
|
+
runId
|
|
157
|
+
});
|
|
158
|
+
return file ? readRecord(file) : null;
|
|
159
|
+
}
|
|
160
|
+
const INSTRUCTIONS = `Read-only access to this project's reeval run history: runs of evals for coding agents, recorded in git and scratch runs in .reeval/runs.
|
|
161
|
+
Start with history (pass/fail per eval over recent runs) or show (one run). compare diffs two runs (regressions, fixes, stack changes). The query_* tools answer common questions across runs (lift, flaky cells, drift, failures); query runs any read-only SQL (query_schema lists tables and columns). transcript reads what an agent did in one attempt. analysis returns saved reeval analyze results. Runs are named latest, latest~N, a run id prefix or a git SHA prefix. Nothing here runs evals: that's reeval run in a terminal.`;
|
|
162
|
+
/** Builds the factory `reeval mcp` serves: one McpServer per connection (stdio) or request (HTTP). */
|
|
163
|
+
async function serverFactory(config, version) {
|
|
164
|
+
const columns = await viewColumns(config);
|
|
165
|
+
return () => {
|
|
166
|
+
const server = new McpServer({
|
|
167
|
+
name: "reeval",
|
|
168
|
+
title: "reeval run history",
|
|
169
|
+
version
|
|
170
|
+
}, { instructions: INSTRUCTIONS });
|
|
171
|
+
server.registerTool("history", {
|
|
172
|
+
title: "Run history",
|
|
173
|
+
description: "Pass/fail of each eval over recent runs, oldest first (reeval history --json): runs[] with their ids, commits and summaries, and rows[] with one outcome per run (null when not run) and drift, the runs where the eval or its stack changed.",
|
|
174
|
+
inputSchema: z.object({
|
|
175
|
+
filter: z.string().optional().describe("Only evals whose id contains this"),
|
|
176
|
+
limit: limitField(500, 20, "runs"),
|
|
177
|
+
all: z.boolean().optional().describe("Include scratch runs that were never recorded")
|
|
178
|
+
}),
|
|
179
|
+
annotations: READ_ONLY
|
|
180
|
+
}, guard(async ({ filter, limit, all }) => historyView(config, {
|
|
181
|
+
filter,
|
|
182
|
+
limit,
|
|
183
|
+
all
|
|
184
|
+
})));
|
|
185
|
+
server.registerTool("show", {
|
|
186
|
+
title: "Show a run",
|
|
187
|
+
description: "One run: its full record (reeval show --json: stack, plan, evals, cells with lift and effort, attempts with verdicts, errors, token usage and file references) or, with format md, its summary.md.",
|
|
188
|
+
inputSchema: z.object({
|
|
189
|
+
run: z.string().optional().describe(RUN_REF),
|
|
190
|
+
format: z.enum(["json", "md"]).optional().describe("json (default) or md")
|
|
191
|
+
}),
|
|
192
|
+
annotations: READ_ONLY
|
|
193
|
+
}, guard(async ({ run, format }) => {
|
|
194
|
+
const record = await showRecord(config, run);
|
|
195
|
+
return format === "md" ? {
|
|
196
|
+
runId: record.runId,
|
|
197
|
+
markdown: renderSummary(record).trimEnd()
|
|
198
|
+
} : record;
|
|
199
|
+
}));
|
|
200
|
+
server.registerTool("compare", {
|
|
201
|
+
title: "Compare two runs",
|
|
202
|
+
description: "Diffs two runs eval by eval (reeval compare --json): each row's base and head outcome and status (regressed, fixed, same, drift = not comparable, added, removed, infra), per-cell lift and effort, and what changed in the stack. With only head, the base is head's nearest recorded ancestor.",
|
|
203
|
+
inputSchema: z.object({
|
|
204
|
+
base: z.string().optional().describe(`${RUN_REF}; needs head too`),
|
|
205
|
+
head: z.string().optional().describe(RUN_REF)
|
|
206
|
+
}),
|
|
207
|
+
annotations: READ_ONLY
|
|
208
|
+
}, guard(async ({ base, head }) => {
|
|
209
|
+
return (await compareView(config, base ? [base, head ?? "latest"] : head ? [head] : [])).json;
|
|
210
|
+
}));
|
|
211
|
+
server.registerTool("analysis", {
|
|
212
|
+
title: "Saved analyses of a run",
|
|
213
|
+
description: "The analyses reeval analyze saved for a run (in its history folder) and cached ones anchored on it, newest first: claims with citations, anomalies and suggested actions. Never calls a model; empty when the run hasn't been analysed.",
|
|
214
|
+
inputSchema: z.object({ run: z.string().optional().describe(RUN_REF) }),
|
|
215
|
+
annotations: READ_ONLY
|
|
216
|
+
}, guard(async ({ run }) => {
|
|
217
|
+
const entry = resolveRun(await allRuns(config), run);
|
|
218
|
+
const { listAnalyses } = await import("./files-Bd25OAQH.js");
|
|
219
|
+
const entries = await listAnalyses(config.root, [config.history.dir], entry.runId, true);
|
|
220
|
+
return {
|
|
221
|
+
runId: entry.runId,
|
|
222
|
+
entries: sortAnalyses(entries)
|
|
223
|
+
};
|
|
224
|
+
}));
|
|
225
|
+
server.registerTool("transcript", {
|
|
226
|
+
title: "Attempt transcript",
|
|
227
|
+
description: "What the agent did in one attempt: its transcript.jsonl lines (prompts, messages, tool calls with inputs and outputs), a page at a time. Attempt keys are in show's evals[].attempts[].key.",
|
|
228
|
+
inputSchema: z.object({
|
|
229
|
+
run: z.string().optional().describe(RUN_REF),
|
|
230
|
+
attempt: z.string().describe("The attempt key, or its id (<cell>#<n>) when only one eval has it"),
|
|
231
|
+
offset: z.number().int().min(0).optional().describe("Lines to skip (default 0)"),
|
|
232
|
+
limit: limitField(MAX_ROWS, 200, "lines")
|
|
233
|
+
}),
|
|
234
|
+
annotations: READ_ONLY
|
|
235
|
+
}, guard(async ({ run, attempt, offset = 0, limit = 200 }) => {
|
|
236
|
+
const record = await showRecord(config, run);
|
|
237
|
+
const read = await readTranscript(config, record, attempt);
|
|
238
|
+
return {
|
|
239
|
+
runId: record.runId,
|
|
240
|
+
attempt: read.attempt.key,
|
|
241
|
+
uri: transcriptUri(record.runId, read.attempt.key),
|
|
242
|
+
total: read.lines.length,
|
|
243
|
+
offset,
|
|
244
|
+
lines: read.lines.slice(offset, offset + limit)
|
|
245
|
+
};
|
|
246
|
+
}));
|
|
247
|
+
for (const view of VIEW_NAMES) {
|
|
248
|
+
const cols = columns[view] ?? [];
|
|
249
|
+
const where = z.strictObject(Object.fromEntries(cols.map((c) => [c, cell.optional()]))).optional().describe("Only rows where each named column equals its value (null matches NULL)");
|
|
250
|
+
server.registerTool(`query_${view}`, {
|
|
251
|
+
title: `Query ${view}`,
|
|
252
|
+
description: `The ${view} view of reeval query: one row per ${VIEW_ROWS[view] ?? "row"}. Columns: ${cols.join(", ")}.`,
|
|
253
|
+
inputSchema: z.object({
|
|
254
|
+
where,
|
|
255
|
+
limit: limitField(MAX_ROWS, 100, "rows")
|
|
256
|
+
}),
|
|
257
|
+
annotations: READ_ONLY
|
|
258
|
+
}, guard(async ({ where, limit = 100 }) => {
|
|
259
|
+
const filters = Object.entries(where ?? {}).filter(([, v]) => v !== void 0);
|
|
260
|
+
const sql = `SELECT * FROM "${view}"${filters.length ? ` WHERE ${filters.map(([c]) => `"${c}" IS ?`).join(" AND ")}` : ""} LIMIT ?`;
|
|
261
|
+
const params = filters.map(([, v]) => typeof v === "boolean" ? Number(v) : v);
|
|
262
|
+
return withDb(config, (db) => {
|
|
263
|
+
const found = db.query(sql, [...params, limit + 1]);
|
|
264
|
+
return rowsOf({
|
|
265
|
+
...found,
|
|
266
|
+
columns: found.columns.length ? found.columns : cols
|
|
267
|
+
}, limit);
|
|
268
|
+
});
|
|
269
|
+
}));
|
|
270
|
+
}
|
|
271
|
+
server.registerTool("query", {
|
|
272
|
+
title: "Query run history with SQL",
|
|
273
|
+
description: "One read-only SQLite SELECT or WITH statement over .reeval/history.db, the projection of every recorded and scratch run (reeval query). Tables include runs, evals, cells, attempts, judgements, tool_calls; the views are the query_* tools. query_schema lists every table's columns.",
|
|
274
|
+
inputSchema: z.object({
|
|
275
|
+
sql: z.string().describe("One SELECT or WITH statement"),
|
|
276
|
+
limit: limitField(MAX_ROWS, 100, "rows")
|
|
277
|
+
}),
|
|
278
|
+
annotations: READ_ONLY
|
|
279
|
+
}, guard(async ({ sql, limit = 100 }) => {
|
|
280
|
+
const problem = sqlProblem(sql);
|
|
281
|
+
if (problem) throw new Error(problem);
|
|
282
|
+
return withDb(config, (db) => rowsOf(db.query(sql), limit));
|
|
283
|
+
}));
|
|
284
|
+
server.registerTool("query_schema", {
|
|
285
|
+
title: "History tables and views",
|
|
286
|
+
description: "Every table and view in .reeval/history.db with its columns (reeval query --schema --json), for the query tool.",
|
|
287
|
+
annotations: READ_ONLY
|
|
288
|
+
}, guard(async () => withDb(config, (db) => ({ objects: db.schema() }))));
|
|
289
|
+
server.registerResource("run", new ResourceTemplate("reeval://runs/{runId}", { list: async () => {
|
|
290
|
+
const { listHeaders } = await import("./source-BXzrmof5.js");
|
|
291
|
+
return { resources: [...await listHeaders(source(config))].reverse().map((r) => ({
|
|
292
|
+
uri: `reeval://runs/${r.runId}`,
|
|
293
|
+
name: r.runId,
|
|
294
|
+
title: `${r.runId} (${r.recorded ? "recorded" : "scratch"})`,
|
|
295
|
+
mimeType: "application/json"
|
|
296
|
+
})) };
|
|
297
|
+
} }), {
|
|
298
|
+
title: "Run record",
|
|
299
|
+
description: "A run record, as reeval show --json prints it",
|
|
300
|
+
mimeType: "application/json",
|
|
301
|
+
cacheHint: {
|
|
302
|
+
ttlMs: 0,
|
|
303
|
+
cacheScope: "private"
|
|
304
|
+
}
|
|
305
|
+
}, async (uri, { runId }) => {
|
|
306
|
+
const record = await recordById(config, String(runId));
|
|
307
|
+
if (!record) throw new Error(`No run ${String(runId)}`);
|
|
308
|
+
return { contents: [{
|
|
309
|
+
uri: uri.href,
|
|
310
|
+
mimeType: "application/json",
|
|
311
|
+
text: redactSecrets(JSON.stringify(record, null, 2))
|
|
312
|
+
}] };
|
|
313
|
+
});
|
|
314
|
+
server.registerResource("transcript", new ResourceTemplate("reeval://runs/{runId}/transcripts/{attempt}", { list: void 0 }), {
|
|
315
|
+
title: "Attempt transcript",
|
|
316
|
+
description: "An attempt's transcript.jsonl; the attempt key is percent-encoded (the transcript tool returns the URI)",
|
|
317
|
+
mimeType: "application/jsonl",
|
|
318
|
+
cacheHint: {
|
|
319
|
+
ttlMs: 0,
|
|
320
|
+
cacheScope: "private"
|
|
321
|
+
}
|
|
322
|
+
}, async (uri, { runId, attempt }) => {
|
|
323
|
+
const record = await recordById(config, String(runId));
|
|
324
|
+
if (!record) throw new Error(`No run ${String(runId)}`);
|
|
325
|
+
const read = await readTranscript(config, record, decode(String(attempt)));
|
|
326
|
+
return { contents: [{
|
|
327
|
+
uri: uri.href,
|
|
328
|
+
mimeType: "application/jsonl",
|
|
329
|
+
text: redactSecrets(read.lines.map((l) => JSON.stringify(l)).join("\n"))
|
|
330
|
+
}] };
|
|
331
|
+
});
|
|
332
|
+
return server;
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
const decode = (s) => {
|
|
336
|
+
try {
|
|
337
|
+
return decodeURIComponent(s);
|
|
338
|
+
} catch {
|
|
339
|
+
return s;
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
function rowsOf(result, limit) {
|
|
343
|
+
return {
|
|
344
|
+
columns: result.columns,
|
|
345
|
+
rows: result.rows.slice(0, limit),
|
|
346
|
+
truncated: result.rows.length > limit
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
//#endregion
|
|
350
|
+
//#region src/mcp/command.ts
|
|
351
|
+
const DEFAULT_MCP_PORT = 4986;
|
|
352
|
+
const report = (error) => console.error(`reeval mcp: ${redactSecrets(error.message)}`);
|
|
353
|
+
const stopped = () => new Promise((resolve) => {
|
|
354
|
+
process.once("SIGINT", () => resolve());
|
|
355
|
+
process.once("SIGTERM", () => resolve());
|
|
356
|
+
});
|
|
357
|
+
async function mcpCommand({ config, flags, version }) {
|
|
358
|
+
if (!flags.http) {
|
|
359
|
+
for (const name of [
|
|
360
|
+
"port",
|
|
361
|
+
"host",
|
|
362
|
+
"token"
|
|
363
|
+
]) if (flags[name] !== void 0) throw new UsageError(`--${name} needs --http`);
|
|
364
|
+
}
|
|
365
|
+
const factory = await serverFactory(config, version);
|
|
366
|
+
if (!flags.http) {
|
|
367
|
+
const { serveStdio } = await import("@modelcontextprotocol/server/stdio");
|
|
368
|
+
const handle = serveStdio(factory, { onerror: report });
|
|
369
|
+
await Promise.race([new Promise((resolve) => {
|
|
370
|
+
process.stdin.once("end", resolve);
|
|
371
|
+
process.stdin.once("close", resolve);
|
|
372
|
+
}), stopped()]);
|
|
373
|
+
await handle.close();
|
|
374
|
+
return 0;
|
|
375
|
+
}
|
|
376
|
+
return serveHttp(factory, config, flags);
|
|
377
|
+
}
|
|
378
|
+
const sameToken = (a, b) => {
|
|
379
|
+
const x = Buffer.from(a);
|
|
380
|
+
const y = Buffer.from(b);
|
|
381
|
+
return x.length === y.length && timingSafeEqual(x, y);
|
|
382
|
+
};
|
|
383
|
+
async function serveHttp(factory, config, flags) {
|
|
384
|
+
const port = flags.port === void 0 ? DEFAULT_MCP_PORT : Number(flags.port);
|
|
385
|
+
if (!(Number.isInteger(port) && port > 0 && port < 65536)) throw new UsageError(`--port must be a port number (got ${flags.port})`);
|
|
386
|
+
const host = flags.host ?? "127.0.0.1";
|
|
387
|
+
if (host !== "127.0.0.1" && host !== "localhost" && host !== "::1") console.error(`warning: reeval mcp is listening on ${host}, reachable beyond this machine`);
|
|
388
|
+
const token = flags.token ?? (process.env.REEVAL_MCP_TOKEN || void 0);
|
|
389
|
+
if (token !== void 0 && !token.trim()) throw new UsageError("--token needs a value");
|
|
390
|
+
registerSecret(token);
|
|
391
|
+
const { createMcpHandler } = await import("@modelcontextprotocol/server");
|
|
392
|
+
const { Hono } = await import("hono");
|
|
393
|
+
const { serve } = await import("@hono/node-server");
|
|
394
|
+
const { allowedHosts } = await import("./server-CsSBL8NC.js");
|
|
395
|
+
const hosts = allowedHosts(host, port);
|
|
396
|
+
const handler = createMcpHandler(factory, { onerror: report });
|
|
397
|
+
const app = new Hono();
|
|
398
|
+
app.use("*", async (c, next) => {
|
|
399
|
+
if (!hosts.includes(c.req.header("host") ?? "")) return c.text("Unknown host", 403);
|
|
400
|
+
const origin = c.req.header("origin");
|
|
401
|
+
if (origin && !hosts.some((h) => origin === `http://${h}`)) return c.text("Cross-origin requests are not allowed", 403);
|
|
402
|
+
if (token) {
|
|
403
|
+
const offered = /^Bearer (.+)$/.exec(c.req.header("authorization") ?? "")?.[1];
|
|
404
|
+
if (!offered || !sameToken(offered, token)) return c.text("reeval mcp needs its bearer token (--token or REEVAL_MCP_TOKEN)", 401, { "WWW-Authenticate": "Bearer" });
|
|
405
|
+
}
|
|
406
|
+
return next();
|
|
407
|
+
});
|
|
408
|
+
app.post("/mcp", (c) => handler.fetch(c.req.raw));
|
|
409
|
+
app.all("/mcp", (c) => c.text("Method not allowed", 405, { Allow: "POST" }));
|
|
410
|
+
const server = await new Promise((resolve, reject) => {
|
|
411
|
+
const s = serve({
|
|
412
|
+
fetch: app.fetch,
|
|
413
|
+
hostname: host,
|
|
414
|
+
port
|
|
415
|
+
});
|
|
416
|
+
s.once("error", (error) => reject(error.code === "EADDRINUSE" ? new UsageError(`Port ${port} is in use; pass --port`) : error));
|
|
417
|
+
s.once("listening", () => resolve(s));
|
|
418
|
+
});
|
|
419
|
+
const url = `http://${host.includes(":") ? `[${host}]` : host}:${port}/mcp`;
|
|
420
|
+
console.log(`reeval mcp · ${basename(config.root)} · ${fromCwd(config.history.dir) || "."}/`);
|
|
421
|
+
console.log(` ${url}`);
|
|
422
|
+
if (token) console.log(" requires Authorization: Bearer <the --token or REEVAL_MCP_TOKEN value>");
|
|
423
|
+
console.log("Ctrl-C to stop.");
|
|
424
|
+
await stopped();
|
|
425
|
+
await handler.close();
|
|
426
|
+
server.close();
|
|
427
|
+
return 0;
|
|
428
|
+
}
|
|
429
|
+
//#endregion
|
|
430
|
+
export { mcpCommand };
|
|
431
|
+
|
|
432
|
+
//# sourceMappingURL=command-DQAvbG7d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-DQAvbG7d.js","names":[],"sources":["../src/mcp/server.ts","../src/mcp/command.ts"],"mappings":"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"}
|