@deepthonk/core 0.1.3 → 0.1.4

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 CHANGED
@@ -31,7 +31,7 @@ deepthonk plan --profile paper
31
31
 
32
32
  The paper profile plans 285 model calls and 8 sequential rounds. Confirm budget and provider pricing before pointing it at paid models. The short alias `dt` is installed alongside `deepthonk`. Develop from source: see [Development](#development).
33
33
 
34
- > v0.1 scope: an independent TypeScript reimplementation of the OpenDeepThink algorithm as a CLI + MCP server. The published algorithm is the load-bearing part; this release is a practical integration layer with explicit limits documented below. Cost guarantees rely on provider pricing being present in config; resume only inspects trace state, it does not replay; the MCP HTTP transport is loopback-only. The included acceptance smoke uses the deterministic fake provider and a toy task — it is not a CF-73 / HLE reproduction; see `docs/` and [Acknowledgments](#acknowledgments) for the canonical paper and Python reference.
34
+ > v0.1 scope: an independent TypeScript reimplementation of the OpenDeepThink algorithm as a CLI + MCP server. The published algorithm is the load-bearing part; this release is a practical integration layer with explicit limits documented below. Cost guarantees rely on provider pricing being present in config; resume inspects trace state by default and can replay from validated phase boundaries with `--continue` / MCP `continue: true`; the MCP HTTP transport is loopback-only. The included acceptance smoke uses the deterministic fake provider and a toy task — it is not a CF-73 / HLE reproduction; see `docs/` and [Acknowledgments](#acknowledgments) for the canonical paper and Python reference.
35
35
 
36
36
  ## Setup
37
37
 
@@ -177,22 +177,26 @@ For local web hosts, or when stdio isn't available:
177
177
  deepthonk serve-mcp --transport http --port 3333
178
178
  ```
179
179
 
180
- The server binds `127.0.0.1:3333` only (loopback) and the endpoint is `POST http://127.0.0.1:3333/mcp`. DNS rebinding protection is on (CVE-2025-66414): requests with `Host` headers outside `127.0.0.1:3333` / `localhost:3333` are rejected. Do not expose this port through a reverse proxy without re-evaluating that trust boundary.
180
+ The server binds `127.0.0.1:3333` only (loopback) and the endpoint is `POST http://127.0.0.1:3333/mcp`. DNS rebinding protection is on (CVE-2025-66414): requests with `Host` headers outside `127.0.0.1:3333` / `localhost:3333` are rejected. The HTTP wrapper also rejects non-`application/json` POSTs, non-loopback `Origin` headers, and `Sec-Fetch-Site: cross-site` before reading the body. It has no bearer auth. Do not expose this port through a reverse proxy without re-evaluating that trust boundary.
181
181
 
182
182
  ### Tools
183
183
 
184
184
  | Tool | Purpose |
185
185
  |---|---|
186
186
  | `deepthonk.plan` | Estimate calls and sequential rounds for a profile (no model calls). Use before paid runs. |
187
- | `deepthonk.start` | Start a run in the background; returns `run_dir` + `job_id`. |
187
+ | `deepthonk.start` | Start a run in the background; returns `run_dir`, `job_id`, and job-scoped artifact resources. |
188
188
  | `deepthonk.status` | Poll job status from a `run_dir`. |
189
189
  | `deepthonk.result` | Return final summary + winner once a job is complete. |
190
190
  | `deepthonk.cancel` | Request cancellation by writing `cancel.json` into the run directory. |
191
191
  | `deepthonk.run` | Blocking convenience: start + await completion in one call. Prefer `start` + polling for long-running jobs. |
192
192
  | `deepthonk.rank` | Rank a user-supplied candidate set with pairwise judging + Bradley-Terry (skip generation). |
193
193
  | `deepthonk.mutate` | Mutate one supplied candidate with critique (one-shot). |
194
- | `deepthonk.resume` | Detect whether a run can be resumed. Reports state only; does not replay yet. |
194
+ | `deepthonk.resume` | Detect whether a run can be resumed; with `continue: true`, replay from the last validated phase boundary. |
195
195
  | `deepthonk.export` | Export run summary or full trace in JSON or markdown. |
196
+ | `deepthonk.profile_list` | List saved named profile bundles. |
197
+ | `deepthonk.profile_show` | Show one saved profile; manually edited secret-shaped values are rejected on load. |
198
+ | `deepthonk.profile_save` | Save a reusable named profile bundle. |
199
+ | `deepthonk.profile_delete` | Delete a saved named profile bundle. |
196
200
 
197
201
  All tools accept inline provider/model fields, or `config_path` pointing at a DeepThonk YAML config.
198
202
 
@@ -205,7 +209,8 @@ All tools accept inline provider/model fields, or `config_path` pointing at a De
205
209
  - `deepthonk://runs/{run_id}/population/{generation}` — population snapshot for a generation (JSON).
206
210
  - `deepthonk://runs/{run_id}/{winner|final}` — text artifacts.
207
211
  - `deepthonk://runs/{run_id}/status` — run state (JSON).
208
- - `deepthonk://jobs/{job_id}/{status|result}?run_dir=...` — job-scoped lookup; the `run_dir` query param is required.
212
+ - `deepthonk://jobs/{job_id}/{status|result|config|candidates|comparisons|scores|usage|trace|final|winner}?run_dir=...` — job-scoped lookup; the `run_dir` query param is required.
213
+ - `deepthonk://jobs/{job_id}/population/{generation}?run_dir=...` — job-scoped population snapshots before or after completion.
209
214
 
210
215
  ### Prompts
211
216
 
@@ -213,7 +218,7 @@ Four templates mirror the core loop: `deepthonk/generate`, `deepthonk/compare`,
213
218
 
214
219
  ### Limits
215
220
 
216
- `deepthonk.resume` reports trace state and safe phase boundaries but does not replay interrupted runs. The HTTP transport is loopback-only by design. MCP Sampling depends on the host's sampling implementation; model hints are preferences, token usage may be unavailable, and sampling concurrency is capped at 4.
221
+ `deepthonk.resume` reports trace state by default. With `continue: true`, it validates the stored config/version/provider, prunes to the last completed phase boundary, and replays from there without reusing partial in-flight outputs. The HTTP transport is loopback-only by design. MCP Sampling depends on the host's sampling implementation; model hints are preferences, token usage may be unavailable, and sampling concurrency is capped at 4.
217
222
 
218
223
  ## Customization
219
224
 
@@ -259,6 +264,8 @@ runs/{run_id}/
259
264
  comparisons.jsonl
260
265
  scores.jsonl
261
266
  usage.jsonl
267
+ population-0.json
268
+ population-{generation}.json
262
269
  summary.json
263
270
  artifacts/winner.txt
264
271
  artifacts/final.txt
@@ -283,9 +290,11 @@ pnpm run lint
283
290
 
284
291
  This repository is source-only. Generated run traces, paper notes, build output, coverage, logs, and `node_modules` are intentionally ignored.
285
292
 
293
+ Release publishing is tag-triggered through npm Trusted Publishing. See [docs/release.md](https://github.com/linxule/deepthonk/blob/main/docs/release.md) before bumping versions or pushing a `v*` tag.
294
+
286
295
  Known limits for this release:
287
296
 
288
- - Conservative resume reports trace state and safe phase boundaries, but does not replay interrupted runs yet.
297
+ - Conservative resume reports trace state by default; replay requires an explicit `--continue` / MCP `continue: true` and only starts from validated phase boundaries.
289
298
  - MCP Sampling is MCP-host-only. Standalone CLI runs need a direct provider.
290
299
  - `maxUsd` requires known model pricing; add explicit prices in YAML for custom providers and model IDs. Optional fields `longContextThresholdTokens`, `inputUsdPerMillionLong`, and `outputUsdPerMillionLong` enable tiered pricing for models with a long-context surcharge (e.g., Gemini at 200K input tokens). Cache hit/miss rates remain flat.
291
300
 
@@ -149,7 +149,10 @@ function gradient(scores, outcomes, lambda) {
149
149
  return grad;
150
150
  }
151
151
  function loss(scores, outcomes, lambda) {
152
- let total = 0.5 * lambda * scores.reduce((sum, score) => sum + score * score, 0);
152
+ let scoreNorm = 0;
153
+ for (let i = 0; i < scores.length; i += 1)
154
+ scoreNorm += scores[i] * scores[i];
155
+ let total = 0.5 * lambda * scoreNorm;
153
156
  for (const outcome of outcomes) {
154
157
  const diff = scores[outcome.i] - scores[outcome.j];
155
158
  total += softplus(diff) - outcome.y * diff;
@@ -168,7 +171,10 @@ function softplus(value) {
168
171
  return value > 30 ? value : Math.log1p(Math.exp(value));
169
172
  }
170
173
  function center(values) {
171
- const mean = values.reduce((sum, value) => sum + value, 0) / values.length;
174
+ let total = 0;
175
+ for (let i = 0; i < values.length; i += 1)
176
+ total += values[i];
177
+ const mean = total / values.length;
172
178
  for (let i = 0; i < values.length; i += 1)
173
179
  values[i] -= mean;
174
180
  }
@@ -179,7 +185,10 @@ function center(values) {
179
185
  // step. We adopt it so logged `score:` values are directly comparable to the
180
186
  // reference's outputs.
181
187
  function zScore(values) {
182
- const mean = values.reduce((sum, value) => sum + value, 0) / values.length;
188
+ let total = 0;
189
+ for (let i = 0; i < values.length; i += 1)
190
+ total += values[i];
191
+ const mean = total / values.length;
183
192
  let variance = 0;
184
193
  for (let i = 0; i < values.length; i += 1) {
185
194
  const centered = values[i] - mean;
@@ -194,14 +203,20 @@ function zScore(values) {
194
203
  values[i] /= std;
195
204
  }
196
205
  function dot(left, right) {
197
- return left.reduce((sum, value, i) => sum + value * right[i], 0);
206
+ let total = 0;
207
+ for (let i = 0; i < left.length; i += 1)
208
+ total += left[i] * right[i];
209
+ return total;
198
210
  }
199
211
  function addScaled(target, vector, scale) {
200
212
  for (let i = 0; i < target.length; i += 1)
201
213
  target[i] += scale * vector[i];
202
214
  }
203
215
  function vectorNorm(values) {
204
- return Math.sqrt(values.reduce((sum, value) => sum + value * value, 0));
216
+ let total = 0;
217
+ for (let i = 0; i < values.length; i += 1)
218
+ total += values[i] * values[i];
219
+ return Math.sqrt(total);
205
220
  }
206
221
  function finite(value) {
207
222
  return Number.isFinite(value) ? value : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"bradleyTerry.js","sourceRoot":"","sources":["../src/bradleyTerry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bradleyTerry.js","sourceRoot":"","sources":["../src/bradleyTerry.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from "./errors.js";
7
7
  export * from "./json.js";
8
8
  export * from "./lifecycle.js";
9
9
  export * from "./pairScheduler.js";
10
+ export * from "./phaseRunner.js";
10
11
  export * from "./prompts.js";
11
12
  export * from "./rng.js";
12
13
  export * from "./runner.js";
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export * from "./errors.js";
7
7
  export * from "./json.js";
8
8
  export * from "./lifecycle.js";
9
9
  export * from "./pairScheduler.js";
10
+ export * from "./phaseRunner.js";
10
11
  export * from "./prompts.js";
11
12
  export * from "./rng.js";
12
13
  export * from "./runner.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,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,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,6 +1,6 @@
1
1
  import { ConfigError } from "./errors.js";
2
2
  export function makeKRegularPairs(candidateIds, k, rng) {
3
- const ids = [...candidateIds];
3
+ const ids = rng.shuffle(candidateIds);
4
4
  const n = ids.length;
5
5
  if (n < 2)
6
6
  throw new ConfigError("Pair scheduling requires at least two candidates.");
@@ -9,54 +9,23 @@ export function makeKRegularPairs(candidateIds, k, rng) {
9
9
  if ((n * k) % 2 !== 0) {
10
10
  throw new ConfigError(`Invalid pair schedule: n * k must be even, got ${n} * ${k}.`);
11
11
  }
12
- for (let attempt = 0; attempt < 300; attempt += 1) {
13
- const stubs = rng.shuffle(ids.flatMap((id) => Array.from({ length: k }, () => id)));
14
- const pairs = [];
15
- const seen = new Set();
16
- let ok = true;
17
- for (let i = 0; i < stubs.length; i += 2) {
18
- const a = stubs[i];
19
- const b = stubs[i + 1];
20
- const key = unorderedKey(a, b);
21
- if (a === b || seen.has(key)) {
22
- ok = false;
23
- break;
24
- }
25
- seen.add(key);
26
- pairs.push({ a, b });
12
+ const pairs = [];
13
+ const halfDegree = Math.floor(k / 2);
14
+ for (let offset = 1; offset <= halfDegree; offset += 1) {
15
+ for (let i = 0; i < n; i += 1) {
16
+ pairs.push({ a: ids[i], b: ids[(i + offset) % n] });
27
17
  }
28
- if (ok && hasDegree(ids, pairs, k))
29
- return pairs;
30
18
  }
31
- return greedyKRegular(ids, k, rng);
32
- }
33
- function greedyKRegular(ids, k, rng) {
34
- const remaining = new Map(ids.map((id) => [id, k]));
35
- const pairs = [];
36
- const seen = new Set();
37
- while ([...remaining.values()].some((degree) => degree > 0)) {
38
- const available = [...remaining.entries()]
39
- .filter(([, degree]) => degree > 0)
40
- .sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]));
41
- const a = available[0]?.[0];
42
- if (!a)
43
- break;
44
- const candidates = rng.shuffle(available.slice(1).map(([id]) => id)).sort((left, right) => {
45
- return (remaining.get(right) ?? 0) - (remaining.get(left) ?? 0) || left.localeCompare(right);
46
- });
47
- const b = candidates.find((id) => id !== a && !seen.has(unorderedKey(a, id)));
48
- if (!b) {
49
- throw new ConfigError(`Could not construct ${k}-regular pair schedule for ${ids.length} candidates.`);
19
+ if (k % 2 === 1) {
20
+ const opposite = n / 2;
21
+ for (let i = 0; i < opposite; i += 1) {
22
+ pairs.push({ a: ids[i], b: ids[i + opposite] });
50
23
  }
51
- seen.add(unorderedKey(a, b));
52
- remaining.set(a, (remaining.get(a) ?? 0) - 1);
53
- remaining.set(b, (remaining.get(b) ?? 0) - 1);
54
- pairs.push({ a, b });
55
24
  }
56
25
  if (!hasDegree(ids, pairs, k)) {
57
26
  throw new ConfigError(`Could not construct ${k}-regular pair schedule for ${ids.length} candidates.`);
58
27
  }
59
- return pairs;
28
+ return rng.shuffle(pairs);
60
29
  }
61
30
  function unorderedKey(a, b) {
62
31
  return a < b ? `${a}::${b}` : `${b}::${a}`;
@@ -1 +1 @@
1
- {"version":3,"file":"pairScheduler.js","sourceRoot":"","sources":["../src/pairScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pairScheduler.js","sourceRoot":"","sources":["../src/pairScheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function runLimitedPhase<T>(jobs: ReadonlyArray<() => Promise<T>>, concurrency: number): Promise<T[]>;
@@ -0,0 +1,26 @@
1
+ import pLimit from "p-limit";
2
+ export async function runLimitedPhase(jobs, concurrency) {
3
+ const limit = pLimit(concurrency);
4
+ const results = new Array(jobs.length);
5
+ const completed = new Array(jobs.length).fill(false);
6
+ let firstError;
7
+ await Promise.all(jobs.map((job, index) => limit(async () => {
8
+ if (firstError !== undefined)
9
+ return;
10
+ try {
11
+ results[index] = await job();
12
+ completed[index] = true;
13
+ }
14
+ catch (error) {
15
+ if (firstError === undefined)
16
+ firstError = error;
17
+ }
18
+ })));
19
+ if (firstError !== undefined)
20
+ throw firstError;
21
+ if (completed.some((value) => !value)) {
22
+ throw new Error("Phase completed without producing every result.");
23
+ }
24
+ return results;
25
+ }
26
+ //# sourceMappingURL=phaseRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phaseRunner.js","sourceRoot":"","sources":["../src/phaseRunner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAqC,EACrC,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,KAAK,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,UAAmB,CAAC;IAExB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACtB,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO;QACrC,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,KAAK,SAAS;gBAAE,UAAU,GAAG,KAAK,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CACH,CACF,CAAC;IAEF,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,UAAU,CAAC;IAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/runner.d.ts CHANGED
@@ -3,6 +3,7 @@ import { type PhaseCursor } from "./resume.js";
3
3
  import { type BtScore, type Candidate, type Comparison, type ModelDriver, type PhaseName, type RunConfig, type RunResult } from "./schemas.js";
4
4
  export interface RunControl {
5
5
  jobId?: string;
6
+ lockClaimed?: boolean;
6
7
  shouldCancel?: () => boolean | Promise<boolean>;
7
8
  }
8
9
  export interface ResumeDeepThonkOptions {
package/dist/runner.js CHANGED
@@ -1,4 +1,3 @@
1
- import pLimit from "p-limit";
2
1
  import { readFile } from "node:fs/promises";
3
2
  import { join } from "node:path";
4
3
  import { z } from "zod";
@@ -10,6 +9,7 @@ import { runArtifactFiles } from "./artifacts.js";
10
9
  import { parseJsonObject } from "./json.js";
11
10
  import { claimRunLock, emptyUsage, releaseRunLock } from "./lifecycle.js";
12
11
  import { makeKRegularPairs } from "./pairScheduler.js";
12
+ import { runLimitedPhase } from "./phaseRunner.js";
13
13
  import { comparePrompt, finalizePrompt, generatePrompt, mutatePrompt } from "./prompts.js";
14
14
  import { createRng } from "./rng.js";
15
15
  import { assertNoPruneInProgress, buildPopulationMap, buildResumePlan, groupComparisons, persistPrunedTrace, pruneTraceToPlan, readResumeTrace, reconstructScores, replayBudgetUsage, resolveResumeRunId, resumeConfigError, toResumePlanStatus } from "./resume.js";
@@ -34,19 +34,20 @@ export async function runDeepThonk(configInput, driver, control = {}, resumeStat
34
34
  const rng = createRng(config.seed);
35
35
  const tracker = resumeState?.tracker ?? new BudgetTracker(config);
36
36
  const startedAt = resumeState?.startedAt ?? new Date().toISOString();
37
- if (!resumeState) {
38
- await trace.init({ ...config, version: await currentPackageVersion() }, runId);
39
- }
40
- else {
41
- await trace.event({
42
- type: "run.resumed",
43
- run_id: runId,
44
- resumed_at: new Date().toISOString(),
45
- next_phase: resumeState.nextPhase.phase,
46
- generation: resumeState.nextPhase.generation
47
- });
37
+ let ownsLock = false;
38
+ if (!resumeState && !control.lockClaimed) {
39
+ const claimed = await claimRunLock(config.runDir, control.jobId ?? runId);
40
+ if (!claimed) {
41
+ throw new ConfigError(`Run directory is already claimed: ${config.runDir}`, {
42
+ code: "run.directory_locked",
43
+ retryable: false,
44
+ fix: "Wait for the active run to finish, or choose a fresh run directory."
45
+ });
46
+ }
47
+ ownsLock = true;
48
48
  }
49
49
  let stopped = false;
50
+ let caughtError;
50
51
  const writeStatus = async (state, phase, extra = {}) => {
51
52
  await trace.writeStatus({
52
53
  job_id: control.jobId,
@@ -77,7 +78,7 @@ export async function runDeepThonk(configInput, driver, control = {}, resumeStat
77
78
  catch (error) {
78
79
  if (error instanceof BudgetExceededError) {
79
80
  stopped = true;
80
- await trace.event({ type: "budget.exceeded", phase, usage: cloneUsage(tracker.usage), error: serializeRunError(error) });
81
+ await bestEffortTraceWrite("budget exceeded event", () => trace.event({ type: "budget.exceeded", phase, usage: cloneUsage(tracker.usage), error: serializeRunError(error) }));
81
82
  }
82
83
  throw error;
83
84
  }
@@ -95,6 +96,18 @@ export async function runDeepThonk(configInput, driver, control = {}, resumeStat
95
96
  }
96
97
  };
97
98
  try {
99
+ if (!resumeState) {
100
+ await trace.init({ ...config, version: await currentPackageVersion() }, runId);
101
+ }
102
+ else {
103
+ await trace.event({
104
+ type: "run.resumed",
105
+ run_id: runId,
106
+ resumed_at: new Date().toISOString(),
107
+ next_phase: resumeState.nextPhase.phase,
108
+ generation: resumeState.nextPhase.generation
109
+ });
110
+ }
98
111
  await writeStatus("running", resumeState ? "resume_replay" : "initialized");
99
112
  let population;
100
113
  if (isResumePhaseCompleted(resumeState, "initial_generation")) {
@@ -238,12 +251,28 @@ export async function runDeepThonk(configInput, driver, control = {}, resumeStat
238
251
  };
239
252
  }
240
253
  catch (error) {
254
+ caughtError = error;
241
255
  const serialized = serializeRunError(error);
242
256
  const state = error instanceof CancelledError ? "cancelled" : error instanceof BudgetExceededError ? "budget_exceeded" : "failed";
243
- await trace.event({ type: `run.${state}`, run_id: runId, error: serialized, updated_at: new Date().toISOString() });
244
- await writeStatus(state, state, { error: serialized });
257
+ await bestEffortTraceWrite("run failure event", () => trace.event({ type: `run.${state}`, run_id: runId, error: serialized, updated_at: new Date().toISOString() }));
258
+ await bestEffortTraceWrite("run failure status", () => writeStatus(state, state, { error: serialized }));
245
259
  throw error;
246
260
  }
261
+ finally {
262
+ if (ownsLock) {
263
+ try {
264
+ await releaseRunLock(config.runDir);
265
+ }
266
+ catch (error) {
267
+ if (caughtError !== undefined) {
268
+ process.stderr.write(`deepthonk: failed to release run lock: ${error.message}\n`);
269
+ }
270
+ else {
271
+ throw error;
272
+ }
273
+ }
274
+ }
275
+ }
247
276
  }
248
277
  export async function resumeDeepThonk(runDir, driver, options = {}) {
249
278
  const existingSummary = await readOptionalJson(runDir, runArtifactFiles.summary);
@@ -566,13 +595,12 @@ async function traceDiscardedCandidates(trace, ranked, carriedIds, bottomQuartil
566
595
  }
567
596
  }
568
597
  async function generateInitialPopulation(config, driver, trace, rng, runId, tracker, guards) {
569
- const limit = pLimit(config.concurrency.generate);
570
598
  const jobs = Array.from({ length: config.profile.n }, (_, index) => ({
571
599
  index,
572
600
  id: `g0_c${index}_${rng.id("c")}`,
573
601
  prompt: generatePrompt(config.task, config.rubric, config.promptStyle, config.promptOverrides?.generate)
574
602
  }));
575
- const candidates = await Promise.all(jobs.map((job) => limit(async () => {
603
+ const candidates = await runLimitedPhase(jobs.map((job) => async () => {
576
604
  await guards.beforeCall("initial population call");
577
605
  const result = await driver.generate({
578
606
  task: config.task,
@@ -603,12 +631,11 @@ async function generateInitialPopulation(config, driver, trace, rng, runId, trac
603
631
  await trace.writeCandidate(candidate);
604
632
  await trace.event({ type: "candidate.generated", run_id: runId, candidate_id: candidate.id });
605
633
  return candidate;
606
- })));
634
+ }), config.concurrency.generate);
607
635
  return candidates;
608
636
  }
609
637
  async function judgePairs(args) {
610
638
  const byId = new Map(args.population.map((candidate) => [candidate.id, candidate]));
611
- const limit = pLimit(args.config.concurrency.judge);
612
639
  const jobs = args.pairs.map((pair, pairIndex) => {
613
640
  const originalA = byId.get(pair.a);
614
641
  const originalB = byId.get(pair.b);
@@ -627,7 +654,7 @@ async function judgePairs(args) {
627
654
  prompt: comparePrompt(args.config.task, presentedA, presentedB, args.config.rubric, args.config.promptStyle, args.config.promptOverrides?.compare)
628
655
  };
629
656
  });
630
- const comparisons = await Promise.all(jobs.map((job) => limit(async () => {
657
+ const comparisons = await runLimitedPhase(jobs.map((job) => async () => {
631
658
  let parsed;
632
659
  let rawOutput;
633
660
  let invalidJson = false;
@@ -726,12 +753,11 @@ async function judgePairs(args) {
726
753
  generation: args.generation
727
754
  });
728
755
  return comparison;
729
- })));
756
+ }), args.config.concurrency.judge);
730
757
  return comparisons;
731
758
  }
732
759
  async function mutateSurvivors(args) {
733
- const limit = pLimit(args.config.concurrency.mutate);
734
- const mutants = await Promise.all(args.survivors.map((candidate, index) => limit(async () => {
760
+ const mutants = await runLimitedPhase(args.survivors.map((candidate, index) => async () => {
735
761
  const critique = args.critiquesByCandidate.get(candidate.id) ?? "";
736
762
  const prompt = mutatePrompt(args.config.task, candidate, critique, args.config.rubric, args.config.promptStyle, args.config.promptOverrides?.mutate);
737
763
  await args.guards.beforeCall(`generation ${args.generation} mutation call`);
@@ -766,7 +792,7 @@ async function mutateSurvivors(args) {
766
792
  await args.trace.writeCandidate(mutant);
767
793
  await args.trace.event({ type: "candidate.mutated", candidate_id: mutant.id, parent_id: mutant.parentId });
768
794
  return mutant;
769
- })));
795
+ }), args.config.concurrency.mutate);
770
796
  return mutants;
771
797
  }
772
798
  async function maybeFinalize(winner, config, driver, trace, tracker, guards) {
@@ -891,6 +917,14 @@ function cloneUsage(usage) {
891
917
  ...usage
892
918
  };
893
919
  }
920
+ async function bestEffortTraceWrite(label, action) {
921
+ try {
922
+ await action();
923
+ }
924
+ catch (error) {
925
+ process.stderr.write(`deepthonk: failed to persist ${label}: ${error.message}\n`);
926
+ }
927
+ }
894
928
  function serializeRunError(error) {
895
929
  if (error instanceof DeepThonkError) {
896
930
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -312,6 +312,83 @@ export declare const runConfigSchema: z.ZodObject<{
312
312
  runDir: z.ZodString;
313
313
  seed: z.ZodNumber;
314
314
  provider: z.ZodString;
315
+ providerReplay: z.ZodOptional<z.ZodObject<{
316
+ provider: z.ZodString;
317
+ baseUrl: z.ZodOptional<z.ZodString>;
318
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
319
+ supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
320
+ models: z.ZodObject<{
321
+ generator: z.ZodString;
322
+ mutator: z.ZodString;
323
+ judge: z.ZodString;
324
+ finalizer: z.ZodOptional<z.ZodString>;
325
+ }, "strip", z.ZodTypeAny, {
326
+ generator: string;
327
+ mutator: string;
328
+ judge: string;
329
+ finalizer?: string | undefined;
330
+ }, {
331
+ generator: string;
332
+ mutator: string;
333
+ judge: string;
334
+ finalizer?: string | undefined;
335
+ }>;
336
+ roleProviders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
337
+ provider: z.ZodString;
338
+ baseUrl: z.ZodOptional<z.ZodString>;
339
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
340
+ model: z.ZodString;
341
+ supportsJsonMode: z.ZodOptional<z.ZodBoolean>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ model: string;
344
+ provider: string;
345
+ baseUrl?: string | undefined;
346
+ apiKeyEnv?: string | undefined;
347
+ supportsJsonMode?: boolean | undefined;
348
+ }, {
349
+ model: string;
350
+ provider: string;
351
+ baseUrl?: string | undefined;
352
+ apiKeyEnv?: string | undefined;
353
+ supportsJsonMode?: boolean | undefined;
354
+ }>>>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ provider: string;
357
+ models: {
358
+ generator: string;
359
+ mutator: string;
360
+ judge: string;
361
+ finalizer?: string | undefined;
362
+ };
363
+ baseUrl?: string | undefined;
364
+ apiKeyEnv?: string | undefined;
365
+ supportsJsonMode?: boolean | undefined;
366
+ roleProviders?: Record<string, {
367
+ model: string;
368
+ provider: string;
369
+ baseUrl?: string | undefined;
370
+ apiKeyEnv?: string | undefined;
371
+ supportsJsonMode?: boolean | undefined;
372
+ }> | undefined;
373
+ }, {
374
+ provider: string;
375
+ models: {
376
+ generator: string;
377
+ mutator: string;
378
+ judge: string;
379
+ finalizer?: string | undefined;
380
+ };
381
+ baseUrl?: string | undefined;
382
+ apiKeyEnv?: string | undefined;
383
+ supportsJsonMode?: boolean | undefined;
384
+ roleProviders?: Record<string, {
385
+ model: string;
386
+ provider: string;
387
+ baseUrl?: string | undefined;
388
+ apiKeyEnv?: string | undefined;
389
+ supportsJsonMode?: boolean | undefined;
390
+ }> | undefined;
391
+ }>>;
315
392
  generatorModel: z.ZodString;
316
393
  mutatorModel: z.ZodString;
317
394
  judgeModel: z.ZodString;
@@ -495,6 +572,25 @@ export declare const runConfigSchema: z.ZodObject<{
495
572
  user?: string | undefined;
496
573
  } | undefined;
497
574
  } | undefined;
575
+ providerReplay?: {
576
+ provider: string;
577
+ models: {
578
+ generator: string;
579
+ mutator: string;
580
+ judge: string;
581
+ finalizer?: string | undefined;
582
+ };
583
+ baseUrl?: string | undefined;
584
+ apiKeyEnv?: string | undefined;
585
+ supportsJsonMode?: boolean | undefined;
586
+ roleProviders?: Record<string, {
587
+ model: string;
588
+ provider: string;
589
+ baseUrl?: string | undefined;
590
+ apiKeyEnv?: string | undefined;
591
+ supportsJsonMode?: boolean | undefined;
592
+ }> | undefined;
593
+ } | undefined;
498
594
  finalizerModel?: string | undefined;
499
595
  budget?: {
500
596
  maxCalls?: number | undefined;
@@ -563,6 +659,25 @@ export declare const runConfigSchema: z.ZodObject<{
563
659
  user?: string | undefined;
564
660
  } | undefined;
565
661
  } | undefined;
662
+ providerReplay?: {
663
+ provider: string;
664
+ models: {
665
+ generator: string;
666
+ mutator: string;
667
+ judge: string;
668
+ finalizer?: string | undefined;
669
+ };
670
+ baseUrl?: string | undefined;
671
+ apiKeyEnv?: string | undefined;
672
+ supportsJsonMode?: boolean | undefined;
673
+ roleProviders?: Record<string, {
674
+ model: string;
675
+ provider: string;
676
+ baseUrl?: string | undefined;
677
+ apiKeyEnv?: string | undefined;
678
+ supportsJsonMode?: boolean | undefined;
679
+ }> | undefined;
680
+ } | undefined;
566
681
  finalizerModel?: string | undefined;
567
682
  budget?: {
568
683
  maxCalls?: number | undefined;
package/dist/schemas.js CHANGED
@@ -52,6 +52,26 @@ const promptOverridesSchema = z.object({
52
52
  mutate: promptOverrideSchema.optional(),
53
53
  finalize: promptOverrideSchema.optional()
54
54
  });
55
+ const providerReplayRoleSchema = z.object({
56
+ provider: z.string().min(1),
57
+ baseUrl: z.string().optional(),
58
+ apiKeyEnv: z.string().optional(),
59
+ model: z.string().min(1),
60
+ supportsJsonMode: z.boolean().optional()
61
+ });
62
+ const providerReplaySchema = z.object({
63
+ provider: z.string().min(1),
64
+ baseUrl: z.string().optional(),
65
+ apiKeyEnv: z.string().optional(),
66
+ supportsJsonMode: z.boolean().optional(),
67
+ models: z.object({
68
+ generator: z.string().min(1),
69
+ mutator: z.string().min(1),
70
+ judge: z.string().min(1),
71
+ finalizer: z.string().optional()
72
+ }),
73
+ roleProviders: z.record(providerReplayRoleSchema).optional()
74
+ });
55
75
  export const runConfigSchema = z.object({
56
76
  version: z.string().optional(),
57
77
  runId: z.string().optional(),
@@ -63,6 +83,7 @@ export const runConfigSchema = z.object({
63
83
  runDir: z.string().min(1),
64
84
  seed: z.number().int(),
65
85
  provider: z.string().min(1),
86
+ providerReplay: providerReplaySchema.optional(),
66
87
  generatorModel: z.string().min(1),
67
88
  mutatorModel: z.string().min(1),
68
89
  judgeModel: z.string().min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/dist/services.js CHANGED
@@ -1,8 +1,8 @@
1
- import pLimit from "p-limit";
2
1
  import { z } from "zod";
3
2
  import { fitBradleyTerry } from "./bradleyTerry.js";
4
3
  import { ConfigError } from "./errors.js";
5
4
  import { parseJsonObject } from "./json.js";
5
+ import { runLimitedPhase } from "./phaseRunner.js";
6
6
  import { comparePrompt, mutatePrompt } from "./prompts.js";
7
7
  const compareOutputSchema = z.object({
8
8
  winner: z.enum(["A", "B", "tie"]),
@@ -15,12 +15,10 @@ const compareOutputSchema = z.object({
15
15
  });
16
16
  export async function rankCandidates(options) {
17
17
  const candidates = normalizeCandidates(options.candidates);
18
- const comparisons = [];
19
- const limit = pLimit(options.concurrency ?? 1);
20
- const tasks = [];
18
+ const jobs = [];
21
19
  for (let i = 0; i < candidates.length; i += 1) {
22
20
  for (let j = i + 1; j < candidates.length; j += 1) {
23
- tasks.push(limit(async () => {
21
+ jobs.push(async () => {
24
22
  const candidateA = candidates[i];
25
23
  const candidateB = candidates[j];
26
24
  const prompt = comparePrompt(options.task, candidateA, candidateB, options.rubric, options.promptStyle, options.promptOverrides?.compare);
@@ -47,7 +45,7 @@ export async function rankCandidates(options) {
47
45
  fix: "The judge model is producing unparseable output. Inspect the raw response, switch judge models, or use a different judge that returns strict JSON."
48
46
  });
49
47
  }
50
- const comparison = {
48
+ return {
51
49
  id: `rank-${i}-${j}`,
52
50
  runId: options.runId ?? "rank",
53
51
  generation: options.generation ?? "final",
@@ -67,11 +65,10 @@ export async function rankCandidates(options) {
67
65
  provider_retry_count: result.retryCount || undefined
68
66
  })
69
67
  };
70
- return comparison;
71
- }));
68
+ });
72
69
  }
73
70
  }
74
- comparisons.push(...(await Promise.all(tasks)));
71
+ const comparisons = await runLimitedPhase(jobs, options.concurrency ?? 1);
75
72
  return {
76
73
  candidates,
77
74
  comparisons,
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6C3D,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAqC,EAAE,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC1I,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,OAAO,CAAC,UAAU;oBACzB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;oBACrC,UAAU;oBACV,UAAU;oBACV,MAAM;iBACP,CAAC,CAAC;gBACH,IAAI,MAAuD,CAAC;gBAC5D,IAAI,CAAC;oBACH,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,SAAS,CAAC;gBACrB,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,WAAW,CACnB,+DAA+D,CAAC,IAAI,CAAC,yDAAyD,EAC9H;wBACE,IAAI,EAAE,+BAA+B;wBACrC,SAAS,EAAE,KAAK;wBAChB,GAAG,EAAE,oJAAoJ;qBAC1J,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;oBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO;oBACzC,YAAY,EAAE,UAAU,CAAC,EAAE;oBAC3B,YAAY,EAAE,UAAU,CAAC,EAAE;oBAC3B,oBAAoB,EAAE,UAAU,CAAC,EAAE;oBACnC,oBAAoB,EAAE,UAAU,CAAC,EAAE;oBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE;oBAC9D,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE;oBAC9D,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;oBAC9C,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,eAAe,CAAC;wBACxB,gBAAgB,EAAE,CAAC;wBACnB,oBAAoB,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;qBACrD,CAAC;iBACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,UAAU;QACV,WAAW;QACX,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;QACvC,SAAS;QACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;KACtI,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAA4B;IAC9D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAyB,EAAE,KAAa;IAClE,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,aAAa,KAAK,GAAG,CAAC,EAAE;QACxC,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAiC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC"}
@@ -17,6 +17,7 @@ export declare class TraceStore {
17
17
  readJsonl<T>(fileName: string): Promise<T[]>;
18
18
  listFiles(): Promise<string[]>;
19
19
  private appendJsonl;
20
+ private appendJsonlMany;
20
21
  private writeJson;
21
22
  private assertFreshTrace;
22
23
  }
@@ -27,8 +27,7 @@ export class TraceStore {
27
27
  await this.appendJsonl(runArtifactFiles.comparisons, comparison);
28
28
  }
29
29
  async writeScores(generation, scores) {
30
- for (const score of scores)
31
- await this.appendJsonl(runArtifactFiles.scores, score);
30
+ await this.appendJsonlMany(runArtifactFiles.scores, scores);
32
31
  await this.event({ type: "scores.computed", generation });
33
32
  }
34
33
  async writePopulation(generation, population) {
@@ -65,8 +64,13 @@ export class TraceStore {
65
64
  return readdir(this.runDir);
66
65
  }
67
66
  async appendJsonl(fileName, value) {
67
+ await this.appendJsonlMany(fileName, [value]);
68
+ }
69
+ async appendJsonlMany(fileName, values) {
70
+ if (values.length === 0)
71
+ return;
68
72
  await mkdir(this.runDir, { recursive: true });
69
- const next = this.writeQueue.then(() => writeFile(join(this.runDir, fileName), `${JSON.stringify(value)}\n`, { encoding: "utf8", flag: "a" }));
73
+ const next = this.writeQueue.then(() => writeFile(join(this.runDir, fileName), values.map((value) => JSON.stringify(value)).join("\n") + "\n", { encoding: "utf8", flag: "a" }));
70
74
  // Keep the queue alive even if one write rejects, so subsequent appends are not blocked.
71
75
  this.writeQueue = next.then(() => undefined, () => undefined);
72
76
  await next;
@@ -93,7 +97,7 @@ function redactConfig(config) {
93
97
  return redactValue(config);
94
98
  }
95
99
  function redactValue(value, key = "") {
96
- if (/apiKey|api_key|token|secret|password/i.test(key))
100
+ if (isSecretValueKey(key))
97
101
  return "[redacted]";
98
102
  if (Array.isArray(value))
99
103
  return value.map((item) => redactValue(item));
@@ -102,4 +106,9 @@ function redactValue(value, key = "") {
102
106
  }
103
107
  return value;
104
108
  }
109
+ function isSecretValueKey(key) {
110
+ if (/^(apiKeyEnv|api_key_env|apiKeyFile|api_key_file|apiKeyStdin|api_key_stdin)$/i.test(key))
111
+ return false;
112
+ return /apiKey|api_key|token|secret|password|authorization|bearer|cookie|credential/i.test(key);
113
+ }
105
114
  //# sourceMappingURL=traceStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traceStore.js","sourceRoot":"","sources":["../src/traceStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traceStore.js","sourceRoot":"","sources":["../src/traceStore.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepthonk/core",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Core OpenDeepThink execution engine for DeepThonk.",
5
5
  "license": "MIT",
6
6
  "author": "Xule Lin",