Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
28e2c9a
Reject placeholder list names from grammar matches
datduyng Jul 31, 2026
49a9c69
style: apply prettier formatting and policy fixes
typeagent-bot[bot] Jul 31, 2026
e6a8526
Harden listName normalize/reject for determiner captures
datduyng Jul 31, 2026
d2c9336
style: apply prettier formatting and policy fixes
typeagent-bot[bot] Jul 31, 2026
fb8cb39
Merge remote-tracking branch 'origin/main' into domnguyen/repurpose-s…
datduyng Aug 21, 2026
f108b60
Remove superseded list agent changes
datduyng Aug 21, 2026
cdc601c
Make translation bench checkpoints crash-safe
datduyng Aug 21, 2026
fddbcca
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 21, 2026
025b7da
refactor: reuse checkpoint line parser
datduyng Aug 21, 2026
1705030
Remove unused checkpoint merge helper
datduyng Aug 21, 2026
0e7886c
Add checkpoint shard merge command
datduyng Aug 21, 2026
9d37436
style: apply prettier formatting and policy fixes
typeagent-bot[bot] Aug 21, 2026
4f5e0b4
Merge remote-tracking branch 'origin/main' into _heal
typeagent-bot[bot] Aug 21, 2026
e2ac481
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 21, 2026
0aac503
Merge remote-tracking branch 'origin/main' into _heal
typeagent-bot[bot] Aug 21, 2026
b0a7a3e
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 21, 2026
b4ee5d8
Merge remote-tracking branch 'origin/main' into _heal
typeagent-bot[bot] Aug 22, 2026
2b13d9c
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 22, 2026
5e731b1
Merge remote-tracking branch 'origin/main' into _heal
typeagent-bot[bot] Aug 26, 2026
b2bbaf5
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 26, 2026
0acfc92
Merge remote-tracking branch 'origin/main' into _heal
typeagent-bot[bot] Aug 27, 2026
533b30f
docs: regenerate README.AUTOGEN.md, command reference, and action bro…
typeagent-bot[bot] Aug 27, 2026
c62f840
Merge remote-tracking branch 'origin/main' into domnguyen/tb-checkpoi…
datduyng Aug 28, 2026
31d4932
Fix checkpoint merge output lint
datduyng Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ts/packages/benchmarks/README.AUTOGEN.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<!-- AUTOGEN:DOCS:START -->

<!-- AUTOGEN:DOCS:HASH:sha256=8eabbae68e1f9fdf52bb037829f135283b7032402a9b0a9c857c6108c2f0fe9f -->
<!-- AUTOGEN:DOCS:HASH:sha256=e263a2331f39cbba485c9bda960404c751bb06759e09ef1bd89683a6639f027c -->
<!-- AUTOGEN:DOCS:SOURCE: ./README.md (hand-written documentation; this file is the AI-generated companion) -->

# @typeagent/benchmarks — AI-generated documentation
Expand Down Expand Up @@ -52,10 +52,10 @@ _None._
- [./src/core/prices.ts](./src/core/prices.ts)
- [./src/core/rateLimiter.ts](./src/core/rateLimiter.ts)
- [./src/core/tokenEstimate.ts](./src/core/tokenEstimate.ts)
- _…and 53 more under `./src/`._
- _…and 54 more under `./src/`._

---

_Auto-generated against commit `493931d64a0633ed8909c52b3e84ff536fdab1ce` on `2026-08-27T00:20:31.457Z` by `docs-generate.yml`. Links validated at that commit; the working tree may have drifted by up to 24h. Re-run `pnpm --filter @typeagent/benchmarks docs:verify-links` to spot-check._
_Auto-generated against commit `0acfc92bdba7c88a3026b17cc7048233458d67a4` on `2026-08-27T08:27:30.753Z` by `docs-generate.yml`. Links validated at that commit; the working tree may have drifted by up to 24h. Re-run `pnpm --filter @typeagent/benchmarks docs:verify-links` to spot-check._

<!-- AUTOGEN:DOCS:END -->
1 change: 1 addition & 0 deletions ts/packages/benchmarks/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"gen-action-parameters-grader": "pnpm run build && node --max-old-space-size=4096 dist/translationBench/scripts/genActionParametersGrader.js",
"gen-catalog": "pnpm run build && node --max-old-space-size=4096 dist/translationBench/scripts/genCatalog.js && node --max-old-space-size=4096 dist/translationBench/scripts/genActionParametersGrader.js",
"jest-esm": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js",
"merge-checkpoints": "pnpm run build && node dist/translationBench/scripts/mergeCheckpoints.js",
"prettier": "prettier --check package.json tsconfig.json src scripts test --ignore-path ../../.prettierignore",
"prettier:fix": "prettier --write package.json tsconfig.json src scripts test --ignore-path ../../.prettierignore",
"test": "npm run test:local",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import { Command } from "commander";
import {
mergeTranslationBenchCheckpoints,
readTranslationBenchCheckpoint,
} from "../synthesizer/generationSupport.js";

const files = new Command().argument("<checkpoints...>").parse().args;
const merged = mergeTranslationBenchCheckpoints(
files.map((filePath) => readTranslationBenchCheckpoint(filePath)),
);
process.stdout.write(`${JSON.stringify(merged.rows, null, 2)}\n`);
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,60 @@ export function appendTranslationBenchCheckpointRows<T = unknown>(
};
}

export function mergeTranslationBenchCheckpoints<T = unknown>(
checkpoints: readonly TranslationBenchCheckpoint<T>[],
): TranslationBenchCheckpoint<T> {
if (checkpoints.length === 0) {
throw new Error("No translation bench checkpoints to merge");
}
const first = checkpoints[0]!.header;
const byShard = new Map<number, TranslationBenchCheckpoint<T>>();
for (const checkpoint of checkpoints) {
assertTranslationBenchCheckpointHeadersCompatible(checkpoint.header, {
...first,
shardIndex: checkpoint.header.shardIndex,
});
if (byShard.has(checkpoint.header.shardIndex)) {
throw new Error(
`Duplicate translation bench checkpoint shard ${checkpoint.header.shardIndex}`,
);
}
byShard.set(checkpoint.header.shardIndex, checkpoint);
}

const rows: TranslationBenchCheckpointRow<T>[] = [];
const resumeKeys = new Set<string>();
for (let index = 0; index < first.shardCount; index++) {
const checkpoint = byShard.get(index);
if (checkpoint === undefined) {
throw new Error(`Missing checkpoint shard: ${index}`);
}
for (const row of checkpoint.rows) {
const normalized = parseTranslationBenchCheckpointRow<T>(row);
validateTranslationBenchCheckpointRowShard(
normalized,
checkpoint.header,
);
const key = translationBenchResumeKey(normalized);
if (resumeKeys.has(key)) {
throw new Error(
`Duplicate translation bench resume key '${key}'`,
);
}
resumeKeys.add(key);
rows.push(normalized);
}
}
rows.sort((left, right) =>
compareText(
translationBenchResumeKey(left),
translationBenchResumeKey(right),
),
);

return { header: byShard.get(0)!.header, rows, resumeKeys };
}

export function getTranslationBenchCatalogCensus(
schemas: readonly TranslationBenchBenchmarkSchema[],
): TranslationBenchCatalogCensus {
Expand Down
Loading