@deepthonk/core 0.1.4 → 0.2.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/README.md +26 -11
- package/dist/artifacts.js +178 -11
- package/dist/artifacts.js.map +1 -1
- package/dist/bradleyTerry.d.ts +1 -0
- package/dist/bradleyTerry.js +27 -2
- package/dist/bradleyTerry.js.map +1 -1
- package/dist/budget.d.ts +7 -1
- package/dist/budget.js +6 -1
- package/dist/budget.js.map +1 -1
- package/dist/budgetTracker.d.ts +6 -1
- package/dist/budgetTracker.js +32 -1
- package/dist/budgetTracker.js.map +1 -1
- package/dist/checkpointStore.d.ts +56 -0
- package/dist/checkpointStore.js +351 -0
- package/dist/checkpointStore.js.map +1 -0
- package/dist/critique.d.ts +3 -1
- package/dist/critique.js +24 -9
- package/dist/critique.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +33 -1
- package/dist/lifecycle.js +207 -6
- package/dist/lifecycle.js.map +1 -1
- package/dist/phaseRunner.d.ts +6 -1
- package/dist/phaseRunner.js +53 -19
- package/dist/phaseRunner.js.map +1 -1
- package/dist/resume.d.ts +10 -3
- package/dist/resume.js +357 -39
- package/dist/resume.js.map +1 -1
- package/dist/runner.d.ts +3 -1
- package/dist/runner.js +894 -246
- package/dist/runner.js.map +1 -1
- package/dist/schemas.d.ts +397 -47
- package/dist/schemas.js +67 -5
- package/dist/schemas.js.map +1 -1
- package/dist/services.d.ts +9 -0
- package/dist/services.js +115 -12
- package/dist/services.js.map +1 -1
- package/dist/traceStore.d.ts +31 -2
- package/dist/traceStore.js +182 -21
- package/dist/traceStore.js.map +1 -1
- package/package.json +1 -1
package/dist/budgetTracker.js
CHANGED
|
@@ -4,6 +4,7 @@ export class BudgetTracker {
|
|
|
4
4
|
config;
|
|
5
5
|
usage = emptyUsage();
|
|
6
6
|
prices;
|
|
7
|
+
callReservations = new Set();
|
|
7
8
|
constructor(config) {
|
|
8
9
|
this.config = config;
|
|
9
10
|
this.prices = config.budget?.prices ?? [];
|
|
@@ -28,8 +29,38 @@ export class BudgetTracker {
|
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
reserveCall(phase) {
|
|
33
|
+
const maxCalls = this.config.budget?.maxCalls;
|
|
34
|
+
if (maxCalls !== undefined && this.usage.calls + this.callReservations.size >= maxCalls) {
|
|
35
|
+
throw new BudgetExceededError(`Cannot dispatch ${phase}: calls ${this.usage.calls} plus ${this.callReservations.size} active reservations reached maxCalls ${maxCalls}.`, {
|
|
36
|
+
code: "budget.calls_exhausted",
|
|
37
|
+
fix: "Raise maxCalls or use a smaller profile."
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const reservation = Symbol(phase);
|
|
41
|
+
this.callReservations.add(reservation);
|
|
42
|
+
return reservation;
|
|
43
|
+
}
|
|
44
|
+
releaseCall(reservation) {
|
|
45
|
+
this.callReservations.delete(reservation);
|
|
46
|
+
}
|
|
47
|
+
failCall(reservation) {
|
|
48
|
+
if (!this.callReservations.delete(reservation)) {
|
|
49
|
+
throw new ConfigError("Model call reservation was already settled.", { code: "budget.reservation_invalid" });
|
|
50
|
+
}
|
|
51
|
+
this.usage.calls += 1;
|
|
52
|
+
return { calls: 1, inputTokens: 0, outputTokens: 0, totalTokens: 0 };
|
|
53
|
+
}
|
|
54
|
+
record(result, fallback = { model: "unknown" }, reservation) {
|
|
32
55
|
const calls = fallback.calls ?? 1;
|
|
56
|
+
if (reservation !== undefined) {
|
|
57
|
+
if (!this.callReservations.delete(reservation)) {
|
|
58
|
+
throw new ConfigError("Model call reservation was already settled.", { code: "budget.reservation_invalid" });
|
|
59
|
+
}
|
|
60
|
+
if (calls !== 1) {
|
|
61
|
+
throw new ConfigError("A reserved model call must settle exactly one logical invocation.", { code: "budget.reservation_invalid" });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
33
64
|
this.usage.calls += calls;
|
|
34
65
|
const inputCacheHitTokens = result.usage?.inputCacheHitTokens ?? 0;
|
|
35
66
|
const inputCacheMissTokens = result.usage?.inputCacheMissTokens ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budgetTracker.js","sourceRoot":"","sources":["../src/budgetTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"budgetTracker.js","sourceRoot":"","sources":["../src/budgetTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const traceSchemaVersion: 2;
|
|
2
|
+
export interface CheckpointJob<T> {
|
|
3
|
+
id: string;
|
|
4
|
+
input: unknown;
|
|
5
|
+
run(signal: AbortSignal): Promise<T>;
|
|
6
|
+
receiptUsage?: () => unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface PhaseManifest {
|
|
9
|
+
schema_version: 2;
|
|
10
|
+
phase_key: string;
|
|
11
|
+
manifest_hash: string;
|
|
12
|
+
work: Array<{
|
|
13
|
+
work_id: string;
|
|
14
|
+
input_hash: string;
|
|
15
|
+
}>;
|
|
16
|
+
created_at: string;
|
|
17
|
+
}
|
|
18
|
+
export interface WorkCheckpoint<T = unknown> {
|
|
19
|
+
schema_version: 2;
|
|
20
|
+
phase_key: string;
|
|
21
|
+
work_id: string;
|
|
22
|
+
input_hash: string;
|
|
23
|
+
output_hash: string;
|
|
24
|
+
output: T;
|
|
25
|
+
usage?: unknown;
|
|
26
|
+
usage_hash: string;
|
|
27
|
+
attempt_id: string;
|
|
28
|
+
completed_at: string;
|
|
29
|
+
}
|
|
30
|
+
export interface PhaseCommit {
|
|
31
|
+
schema_version: 2;
|
|
32
|
+
phase_key: string;
|
|
33
|
+
manifest_hash: string;
|
|
34
|
+
checkpoint_hashes: Record<string, string>;
|
|
35
|
+
artifact_hashes: Record<string, string>;
|
|
36
|
+
committed_at: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function runCheckpointedPhase<T>(options: {
|
|
39
|
+
runDir: string;
|
|
40
|
+
phaseKey: string;
|
|
41
|
+
jobs: readonly CheckpointJob<T>[];
|
|
42
|
+
concurrency: number;
|
|
43
|
+
signal?: AbortSignal;
|
|
44
|
+
validateOutput?: (output: unknown) => output is T;
|
|
45
|
+
onResult?: (output: T, context: {
|
|
46
|
+
workId: string;
|
|
47
|
+
reused: boolean;
|
|
48
|
+
receiptUsage: unknown;
|
|
49
|
+
}) => Promise<void>;
|
|
50
|
+
}): Promise<T[]>;
|
|
51
|
+
export declare function writePhaseCommit(runDir: string, phaseKey: string, artifacts: Record<string, unknown>): Promise<PhaseCommit>;
|
|
52
|
+
export declare function validatePhaseCommit(runDir: string, phaseKey: string, artifacts?: Record<string, unknown>): Promise<PhaseCommit>;
|
|
53
|
+
export declare function validatePhaseCommitIfPresent(runDir: string, phaseKey: string, artifacts: Record<string, unknown>): Promise<PhaseCommit | undefined>;
|
|
54
|
+
export declare function readValidatedPhaseReceiptUsage(runDir: string, phaseKey: string): Promise<unknown[]>;
|
|
55
|
+
export declare function hashValue(value: unknown): string;
|
|
56
|
+
export declare function stableJson(value: unknown): string;
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { ConfigError } from "./errors.js";
|
|
5
|
+
import { runLimitedPhase } from "./phaseRunner.js";
|
|
6
|
+
export const traceSchemaVersion = 2;
|
|
7
|
+
export async function runCheckpointedPhase(options) {
|
|
8
|
+
assertUniqueWorkIds(options.jobs);
|
|
9
|
+
const manifest = await ensurePhaseManifest(options.runDir, options.phaseKey, options.jobs);
|
|
10
|
+
const results = new Array(options.jobs.length);
|
|
11
|
+
const missing = [];
|
|
12
|
+
const reused = [];
|
|
13
|
+
for (let index = 0; index < options.jobs.length; index += 1) {
|
|
14
|
+
const job = options.jobs[index];
|
|
15
|
+
const inputHash = manifest.work[index].input_hash;
|
|
16
|
+
const checkpoint = await readValidCheckpoint(options.runDir, options.phaseKey, job.id, inputHash, options.validateOutput);
|
|
17
|
+
if (!checkpoint) {
|
|
18
|
+
missing.push({ index, job, inputHash });
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
results[index] = checkpoint.output;
|
|
22
|
+
reused.push({ job, checkpoint });
|
|
23
|
+
}
|
|
24
|
+
if (options.onResult && reused.length > 0) {
|
|
25
|
+
function* reusedCallbacks() {
|
|
26
|
+
for (const item of reused) {
|
|
27
|
+
yield async () => {
|
|
28
|
+
await options.onResult(item.checkpoint.output, {
|
|
29
|
+
workId: item.job.id,
|
|
30
|
+
reused: true,
|
|
31
|
+
receiptUsage: item.checkpoint.usage
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Receipt replay is local I/O, not provider work. Give it a separate bounded
|
|
37
|
+
// fan-out so TraceStore can coalesce append-ready rows even when model
|
|
38
|
+
// concurrency is deliberately one.
|
|
39
|
+
await runLimitedPhase(reusedCallbacks(), Math.min(32, reused.length), { signal: options.signal });
|
|
40
|
+
}
|
|
41
|
+
function* pendingJobs() {
|
|
42
|
+
for (const pending of missing) {
|
|
43
|
+
yield async (signal) => {
|
|
44
|
+
const output = await pending.job.run(signal);
|
|
45
|
+
if (options.validateOutput && !options.validateOutput(output)) {
|
|
46
|
+
throw new ConfigError(`Checkpoint job ${pending.job.id} produced an invalid output.`, {
|
|
47
|
+
code: "trace.checkpoint_output_invalid",
|
|
48
|
+
retryable: false
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const usage = pending.job.receiptUsage?.();
|
|
52
|
+
await writeCheckpoint(options.runDir, options.phaseKey, pending.job.id, pending.inputHash, output, usage);
|
|
53
|
+
await options.onResult?.(output, { workId: pending.job.id, reused: false, receiptUsage: usage });
|
|
54
|
+
return { index: pending.index, output };
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const completed = await runLimitedPhase(pendingJobs(), options.concurrency, { signal: options.signal });
|
|
59
|
+
for (const item of completed)
|
|
60
|
+
results[item.index] = item.output;
|
|
61
|
+
if (results.some((value) => value === undefined)) {
|
|
62
|
+
throw new ConfigError(`Phase ${options.phaseKey} did not produce every checkpointed result.`, {
|
|
63
|
+
code: "trace.checkpoint_incomplete",
|
|
64
|
+
retryable: true
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return results;
|
|
68
|
+
}
|
|
69
|
+
export async function writePhaseCommit(runDir, phaseKey, artifacts) {
|
|
70
|
+
await readJsonStrictOptional(commitPath(runDir, phaseKey));
|
|
71
|
+
const manifest = await readPhaseManifest(runDir, phaseKey);
|
|
72
|
+
if (!manifest)
|
|
73
|
+
throw traceIntegrityError(`Missing manifest for phase ${phaseKey}.`);
|
|
74
|
+
validateManifest(manifest, phaseKey);
|
|
75
|
+
const checkpointHashes = {};
|
|
76
|
+
for (const work of manifest.work) {
|
|
77
|
+
const checkpoint = await readValidCheckpoint(runDir, phaseKey, work.work_id, work.input_hash);
|
|
78
|
+
if (!checkpoint)
|
|
79
|
+
throw traceIntegrityError(`Missing or invalid checkpoint ${work.work_id} for phase ${phaseKey}.`);
|
|
80
|
+
checkpointHashes[work.work_id] = checkpointBindingHash(checkpoint);
|
|
81
|
+
}
|
|
82
|
+
const commit = {
|
|
83
|
+
schema_version: 2,
|
|
84
|
+
phase_key: phaseKey,
|
|
85
|
+
manifest_hash: manifest.manifest_hash,
|
|
86
|
+
checkpoint_hashes: checkpointHashes,
|
|
87
|
+
artifact_hashes: Object.fromEntries(Object.entries(artifacts).map(([name, value]) => [name, hashValue(value)])),
|
|
88
|
+
committed_at: new Date().toISOString()
|
|
89
|
+
};
|
|
90
|
+
await writeJsonAtomic(commitPath(runDir, phaseKey), commit);
|
|
91
|
+
return commit;
|
|
92
|
+
}
|
|
93
|
+
export async function validatePhaseCommit(runDir, phaseKey, artifacts) {
|
|
94
|
+
const commit = await readJsonStrictOptional(commitPath(runDir, phaseKey));
|
|
95
|
+
if (!commit || commit.schema_version !== 2 || commit.phase_key !== phaseKey) {
|
|
96
|
+
throw traceIntegrityError(`Missing or invalid phase commit for ${phaseKey}.`);
|
|
97
|
+
}
|
|
98
|
+
const manifest = await readPhaseManifest(runDir, phaseKey);
|
|
99
|
+
if (!manifest)
|
|
100
|
+
throw traceIntegrityError(`Missing manifest for committed phase ${phaseKey}.`);
|
|
101
|
+
validateManifest(manifest, phaseKey);
|
|
102
|
+
if (commit.manifest_hash !== manifest.manifest_hash) {
|
|
103
|
+
throw traceIntegrityError(`Manifest hash changed for committed phase ${phaseKey}.`);
|
|
104
|
+
}
|
|
105
|
+
const expectedCheckpointHashes = {};
|
|
106
|
+
for (const work of manifest.work) {
|
|
107
|
+
const checkpoint = await readValidCheckpoint(runDir, phaseKey, work.work_id, work.input_hash);
|
|
108
|
+
if (!checkpoint)
|
|
109
|
+
throw traceIntegrityError(`Checkpoint ${work.work_id} is invalid for committed phase ${phaseKey}.`);
|
|
110
|
+
expectedCheckpointHashes[work.work_id] = checkpointBindingHash(checkpoint);
|
|
111
|
+
}
|
|
112
|
+
if (stableJson(commit.checkpoint_hashes) !== stableJson(expectedCheckpointHashes)) {
|
|
113
|
+
throw traceIntegrityError(`Checkpoint bindings changed for committed phase ${phaseKey}.`);
|
|
114
|
+
}
|
|
115
|
+
if (artifacts) {
|
|
116
|
+
const expectedArtifacts = Object.fromEntries(Object.entries(artifacts).map(([name, value]) => [name, hashValue(value)]));
|
|
117
|
+
if (stableJson(commit.artifact_hashes) !== stableJson(expectedArtifacts)) {
|
|
118
|
+
throw traceIntegrityError(`Artifact bindings changed for committed phase ${phaseKey}.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return commit;
|
|
122
|
+
}
|
|
123
|
+
export async function validatePhaseCommitIfPresent(runDir, phaseKey, artifacts) {
|
|
124
|
+
const commit = await readJsonStrictOptional(commitPath(runDir, phaseKey));
|
|
125
|
+
if (!commit)
|
|
126
|
+
return undefined;
|
|
127
|
+
return validatePhaseCommit(runDir, phaseKey, artifacts);
|
|
128
|
+
}
|
|
129
|
+
export async function readValidatedPhaseReceiptUsage(runDir, phaseKey) {
|
|
130
|
+
const manifest = await readPhaseManifest(runDir, phaseKey);
|
|
131
|
+
if (!manifest)
|
|
132
|
+
return [];
|
|
133
|
+
validateManifest(manifest, phaseKey);
|
|
134
|
+
const usage = [];
|
|
135
|
+
for (const work of manifest.work) {
|
|
136
|
+
const checkpoint = await readValidCheckpoint(runDir, phaseKey, work.work_id, work.input_hash);
|
|
137
|
+
if (!checkpoint)
|
|
138
|
+
continue;
|
|
139
|
+
if (Array.isArray(checkpoint.usage))
|
|
140
|
+
usage.push(...checkpoint.usage);
|
|
141
|
+
}
|
|
142
|
+
return usage;
|
|
143
|
+
}
|
|
144
|
+
export function hashValue(value) {
|
|
145
|
+
return `sha256:${createHash("sha256").update(stableJson(value)).digest("hex")}`;
|
|
146
|
+
}
|
|
147
|
+
export function stableJson(value) {
|
|
148
|
+
if (Array.isArray(value))
|
|
149
|
+
return `[${value.map(stableJson).join(",")}]`;
|
|
150
|
+
if (value && typeof value === "object") {
|
|
151
|
+
const entries = Object.entries(value)
|
|
152
|
+
.filter(([, inner]) => inner !== undefined)
|
|
153
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
154
|
+
.map(([key, inner]) => `${JSON.stringify(key)}:${stableJson(inner)}`);
|
|
155
|
+
return `{${entries.join(",")}}`;
|
|
156
|
+
}
|
|
157
|
+
return JSON.stringify(value) ?? "null";
|
|
158
|
+
}
|
|
159
|
+
async function ensurePhaseManifest(runDir, phaseKey, jobs) {
|
|
160
|
+
const work = jobs.map((job) => ({ work_id: job.id, input_hash: hashValue(job.input) }));
|
|
161
|
+
const manifestHash = hashValue({ schema_version: 2, phase_key: phaseKey, work });
|
|
162
|
+
const existing = await readPhaseManifest(runDir, phaseKey);
|
|
163
|
+
if (existing) {
|
|
164
|
+
validateManifest(existing, phaseKey);
|
|
165
|
+
if (existing.manifest_hash !== manifestHash || stableJson(existing.work) !== stableJson(work)) {
|
|
166
|
+
throw traceIntegrityError(`Manifest inputs changed for phase ${phaseKey}.`);
|
|
167
|
+
}
|
|
168
|
+
return existing;
|
|
169
|
+
}
|
|
170
|
+
const manifest = {
|
|
171
|
+
schema_version: 2,
|
|
172
|
+
phase_key: phaseKey,
|
|
173
|
+
manifest_hash: manifestHash,
|
|
174
|
+
work,
|
|
175
|
+
created_at: new Date().toISOString()
|
|
176
|
+
};
|
|
177
|
+
await writeJsonAtomic(manifestPath(runDir, phaseKey), manifest);
|
|
178
|
+
return manifest;
|
|
179
|
+
}
|
|
180
|
+
async function readPhaseManifest(runDir, phaseKey) {
|
|
181
|
+
return readJsonStrictOptional(manifestPath(runDir, phaseKey));
|
|
182
|
+
}
|
|
183
|
+
function validateManifest(manifest, phaseKey) {
|
|
184
|
+
const workValid = Array.isArray(manifest.work) &&
|
|
185
|
+
new Set(manifest.work.map((item) => item.work_id)).size === manifest.work.length &&
|
|
186
|
+
manifest.work.every((item) => item &&
|
|
187
|
+
typeof item.work_id === "string" &&
|
|
188
|
+
item.work_id.length > 0 &&
|
|
189
|
+
typeof item.input_hash === "string" &&
|
|
190
|
+
/^sha256:[0-9a-f]{64}$/.test(item.input_hash));
|
|
191
|
+
const expectedHash = hashValue({ schema_version: 2, phase_key: phaseKey, work: manifest.work });
|
|
192
|
+
if (manifest.schema_version !== 2 ||
|
|
193
|
+
manifest.phase_key !== phaseKey ||
|
|
194
|
+
manifest.manifest_hash !== expectedHash ||
|
|
195
|
+
!workValid) {
|
|
196
|
+
throw traceIntegrityError(`Manifest is invalid for phase ${phaseKey}.`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async function readValidCheckpoint(runDir, phaseKey, workId, inputHash, validateOutput) {
|
|
200
|
+
const checkpoint = await readJson(checkpointPath(runDir, phaseKey, workId));
|
|
201
|
+
if (!checkpoint)
|
|
202
|
+
return undefined;
|
|
203
|
+
if (checkpoint.schema_version !== 2 ||
|
|
204
|
+
checkpoint.phase_key !== phaseKey ||
|
|
205
|
+
checkpoint.work_id !== workId ||
|
|
206
|
+
checkpoint.input_hash !== inputHash ||
|
|
207
|
+
checkpoint.output_hash !== hashValue(checkpoint.output) ||
|
|
208
|
+
checkpoint.usage_hash !== hashValue(checkpoint.usage ?? null) ||
|
|
209
|
+
!/^sha256:[0-9a-f]{64}$/.test(checkpoint.output_hash) ||
|
|
210
|
+
!/^sha256:[0-9a-f]{64}$/.test(checkpoint.usage_hash) ||
|
|
211
|
+
!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(checkpoint.attempt_id) ||
|
|
212
|
+
typeof checkpoint.completed_at !== "string" ||
|
|
213
|
+
!Number.isFinite(Date.parse(checkpoint.completed_at)) ||
|
|
214
|
+
new Date(checkpoint.completed_at).toISOString() !== checkpoint.completed_at ||
|
|
215
|
+
(validateOutput && !validateOutput(checkpoint.output))) {
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
if (!(await promptReferencesValid(runDir, checkpoint.output)))
|
|
219
|
+
return undefined;
|
|
220
|
+
return checkpoint;
|
|
221
|
+
}
|
|
222
|
+
async function promptReferencesValid(runDir, value) {
|
|
223
|
+
const references = [];
|
|
224
|
+
collectPromptReferences(value, references);
|
|
225
|
+
for (const reference of references) {
|
|
226
|
+
if (!/^sha256:[0-9a-f]{64}$/.test(reference.sha256))
|
|
227
|
+
return false;
|
|
228
|
+
const path = `artifacts/prompts/${reference.sha256.slice("sha256:".length)}.json`;
|
|
229
|
+
if (reference.path !== path)
|
|
230
|
+
return false;
|
|
231
|
+
try {
|
|
232
|
+
const raw = await readFile(join(runDir, path), "utf8");
|
|
233
|
+
const digest = `sha256:${createHash("sha256").update(raw).digest("hex")}`;
|
|
234
|
+
if (digest !== reference.sha256)
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
function collectPromptReferences(value, out) {
|
|
244
|
+
if (Array.isArray(value)) {
|
|
245
|
+
for (const item of value)
|
|
246
|
+
collectPromptReferences(item, out);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
if (!value || typeof value !== "object")
|
|
250
|
+
return;
|
|
251
|
+
const record = value;
|
|
252
|
+
const promptRef = record.promptRef;
|
|
253
|
+
if (promptRef && typeof promptRef === "object" && !Array.isArray(promptRef)) {
|
|
254
|
+
const reference = promptRef;
|
|
255
|
+
if (typeof reference.sha256 === "string" && typeof reference.path === "string") {
|
|
256
|
+
out.push({ sha256: reference.sha256, path: reference.path });
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
out.push({ sha256: "invalid", path: "invalid" });
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
for (const [key, inner] of Object.entries(record)) {
|
|
263
|
+
if (key !== "promptRef")
|
|
264
|
+
collectPromptReferences(inner, out);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
async function writeCheckpoint(runDir, phaseKey, workId, inputHash, output, usage) {
|
|
268
|
+
const checkpoint = {
|
|
269
|
+
schema_version: 2,
|
|
270
|
+
phase_key: phaseKey,
|
|
271
|
+
work_id: workId,
|
|
272
|
+
input_hash: inputHash,
|
|
273
|
+
output_hash: hashValue(output),
|
|
274
|
+
output,
|
|
275
|
+
usage,
|
|
276
|
+
usage_hash: hashValue(usage ?? null),
|
|
277
|
+
attempt_id: randomUUID(),
|
|
278
|
+
completed_at: new Date().toISOString()
|
|
279
|
+
};
|
|
280
|
+
await writeJsonAtomic(checkpointPath(runDir, phaseKey, workId), checkpoint);
|
|
281
|
+
}
|
|
282
|
+
function checkpointBindingHash(checkpoint) {
|
|
283
|
+
return hashValue({
|
|
284
|
+
schema_version: checkpoint.schema_version,
|
|
285
|
+
phase_key: checkpoint.phase_key,
|
|
286
|
+
work_id: checkpoint.work_id,
|
|
287
|
+
input_hash: checkpoint.input_hash,
|
|
288
|
+
output_hash: checkpoint.output_hash,
|
|
289
|
+
usage_hash: checkpoint.usage_hash,
|
|
290
|
+
attempt_id: checkpoint.attempt_id,
|
|
291
|
+
completed_at: checkpoint.completed_at
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
function assertUniqueWorkIds(jobs) {
|
|
295
|
+
const ids = new Set();
|
|
296
|
+
for (const job of jobs) {
|
|
297
|
+
if (!job.id || ids.has(job.id)) {
|
|
298
|
+
throw new ConfigError(`Checkpoint work IDs must be non-empty and unique; received ${job.id || "empty ID"}.`, {
|
|
299
|
+
code: "trace.work_id_invalid",
|
|
300
|
+
retryable: false
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
ids.add(job.id);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function manifestPath(runDir, phaseKey) {
|
|
307
|
+
return join(runDir, "manifests", `${phaseFileKey(phaseKey)}.json`);
|
|
308
|
+
}
|
|
309
|
+
function commitPath(runDir, phaseKey) {
|
|
310
|
+
return join(runDir, "commits", `${phaseFileKey(phaseKey)}.json`);
|
|
311
|
+
}
|
|
312
|
+
function checkpointPath(runDir, phaseKey, workId) {
|
|
313
|
+
return join(runDir, "checkpoints", phaseFileKey(phaseKey), `${hashValue(workId).slice("sha256:".length)}.json`);
|
|
314
|
+
}
|
|
315
|
+
function phaseFileKey(phaseKey) {
|
|
316
|
+
return encodeURIComponent(phaseKey).replaceAll("%", "_");
|
|
317
|
+
}
|
|
318
|
+
async function readJson(path) {
|
|
319
|
+
try {
|
|
320
|
+
return JSON.parse(await readFile(path, "utf8"));
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
if (error.code === "ENOENT")
|
|
324
|
+
return undefined;
|
|
325
|
+
return undefined;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
async function readJsonStrictOptional(path) {
|
|
329
|
+
try {
|
|
330
|
+
return JSON.parse(await readFile(path, "utf8"));
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
if (error.code === "ENOENT")
|
|
334
|
+
return undefined;
|
|
335
|
+
throw traceIntegrityError(`Could not parse ${path}: ${error.message}`);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
async function writeJsonAtomic(path, value) {
|
|
339
|
+
await mkdir(dirname(path), { recursive: true });
|
|
340
|
+
const temporary = `${path}.${randomUUID()}.tmp`;
|
|
341
|
+
await writeFile(temporary, `${JSON.stringify(value, null, 2)}\n`, "utf8");
|
|
342
|
+
await rename(temporary, path);
|
|
343
|
+
}
|
|
344
|
+
function traceIntegrityError(message) {
|
|
345
|
+
return new ConfigError(message, {
|
|
346
|
+
code: "resume.trace_v2_integrity",
|
|
347
|
+
retryable: false,
|
|
348
|
+
fix: "Restore the matching manifest/checkpoint/commit files, or start a fresh run."
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
//# sourceMappingURL=checkpointStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpointStore.js","sourceRoot":"","sources":["../src/checkpointStore.ts"],"names":[],"mappings":"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"}
|
package/dist/critique.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { Candidate, Comparison } from "./schemas.js";
|
|
2
|
-
export declare function aggregateCritiques(candidates: Candidate[], comparisons: Comparison[]
|
|
2
|
+
export declare function aggregateCritiques(candidates: Candidate[], comparisons: Comparison[], options?: {
|
|
3
|
+
aggregateChars?: number;
|
|
4
|
+
}): Map<string, string>;
|
package/dist/critique.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
export function aggregateCritiques(candidates, comparisons) {
|
|
1
|
+
export function aggregateCritiques(candidates, comparisons, options = {}) {
|
|
2
|
+
const aggregateChars = options.aggregateChars ?? 16_000;
|
|
2
3
|
const chunks = new Map(candidates.map((candidate) => [
|
|
3
4
|
candidate.id,
|
|
4
5
|
{
|
|
5
6
|
wins: [],
|
|
6
7
|
ties: [],
|
|
7
|
-
losses: []
|
|
8
|
+
losses: [],
|
|
9
|
+
seen: new Set()
|
|
8
10
|
}
|
|
9
11
|
]));
|
|
10
12
|
for (const comparison of comparisons) {
|
|
11
13
|
const aBucket = bucketFor("A", comparison.winner);
|
|
12
14
|
const bBucket = bucketFor("B", comparison.winner);
|
|
13
|
-
chunks.get(comparison.presentedAOriginalId)
|
|
14
|
-
chunks.get(comparison.presentedBOriginalId)
|
|
15
|
+
addCritique(chunks.get(comparison.presentedAOriginalId), aBucket, selfRelative(comparison.critiqueForA, "A"));
|
|
16
|
+
addCritique(chunks.get(comparison.presentedBOriginalId), bBucket, selfRelative(comparison.critiqueForB, "B"));
|
|
15
17
|
}
|
|
16
|
-
return new Map([...chunks.entries()].map(([id, critiques]) =>
|
|
17
|
-
|
|
18
|
-
[...critiques.wins, ...critiques.ties, ...critiques.losses].filter(Boolean).length > 0
|
|
18
|
+
return new Map([...chunks.entries()].map(([id, critiques]) => {
|
|
19
|
+
const value = [...critiques.wins, ...critiques.ties, ...critiques.losses].filter(Boolean).length > 0
|
|
19
20
|
? [
|
|
20
21
|
formatSection("Feedback from comparisons this solution won", critiques.wins),
|
|
21
22
|
formatSection("Feedback from comparisons this solution tied", critiques.ties),
|
|
@@ -23,8 +24,22 @@ export function aggregateCritiques(candidates, comparisons) {
|
|
|
23
24
|
]
|
|
24
25
|
.filter(Boolean)
|
|
25
26
|
.join("\n\n")
|
|
26
|
-
: "No specific critique was produced. Improve correctness, completeness, and clarity."
|
|
27
|
-
|
|
27
|
+
: "No specific critique was produced. Improve correctness, completeness, and clarity.";
|
|
28
|
+
return [id, truncateCritique(value, aggregateChars)];
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
function addCritique(chunks, bucket, critique) {
|
|
32
|
+
const normalized = critique.trim();
|
|
33
|
+
if (!chunks || !normalized || chunks.seen.has(normalized))
|
|
34
|
+
return;
|
|
35
|
+
chunks.seen.add(normalized);
|
|
36
|
+
chunks[bucket].push(normalized);
|
|
37
|
+
}
|
|
38
|
+
function truncateCritique(value, maxChars) {
|
|
39
|
+
if (value.length <= maxChars)
|
|
40
|
+
return value;
|
|
41
|
+
const marker = "\n\n[Critique truncated.]";
|
|
42
|
+
return `${value.slice(0, Math.max(0, maxChars - marker.length))}${marker}`.slice(0, maxChars);
|
|
28
43
|
}
|
|
29
44
|
function bucketFor(side, winner) {
|
|
30
45
|
if (winner === "tie")
|
package/dist/critique.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"critique.js","sourceRoot":"","sources":["../src/critique.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"critique.js","sourceRoot":"","sources":["../src/critique.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./bradleyTerry.js";
|
|
|
2
2
|
export * from "./artifacts.js";
|
|
3
3
|
export * from "./budget.js";
|
|
4
4
|
export * from "./budgetTracker.js";
|
|
5
|
+
export * from "./checkpointStore.js";
|
|
5
6
|
export * from "./critique.js";
|
|
6
7
|
export * from "./errors.js";
|
|
7
8
|
export * from "./json.js";
|
|
@@ -10,6 +11,7 @@ export * from "./pairScheduler.js";
|
|
|
10
11
|
export * from "./phaseRunner.js";
|
|
11
12
|
export * from "./prompts.js";
|
|
12
13
|
export * from "./rng.js";
|
|
14
|
+
export { assertNoLegacyRedactedBudget, repairLegacyBudgetConfig } from "./resume.js";
|
|
13
15
|
export * from "./runner.js";
|
|
14
16
|
export * from "./schemas.js";
|
|
15
17
|
export * from "./services.js";
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./bradleyTerry.js";
|
|
|
2
2
|
export * from "./artifacts.js";
|
|
3
3
|
export * from "./budget.js";
|
|
4
4
|
export * from "./budgetTracker.js";
|
|
5
|
+
export * from "./checkpointStore.js";
|
|
5
6
|
export * from "./critique.js";
|
|
6
7
|
export * from "./errors.js";
|
|
7
8
|
export * from "./json.js";
|
|
@@ -10,6 +11,7 @@ export * from "./pairScheduler.js";
|
|
|
10
11
|
export * from "./phaseRunner.js";
|
|
11
12
|
export * from "./prompts.js";
|
|
12
13
|
export * from "./rng.js";
|
|
14
|
+
export { assertNoLegacyRedactedBudget, repairLegacyBudgetConfig } from "./resume.js";
|
|
13
15
|
export * from "./runner.js";
|
|
14
16
|
export * from "./schemas.js";
|
|
15
17
|
export * from "./services.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACrF,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|