Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions changelog.d/fixes/release-v3850-basereds-tests-i18n.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- fix(i18n): complete Vietnamese translations for recently added UI strings (#9985)
9 changes: 5 additions & 4 deletions tests/unit/capture-critical-db-state.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ import path from "node:path";

// Shared across all tests — the module caches DATA_DIR / SQLITE_FILE at load time,
// so we must create the temp dir and import exactly once.
type CoreModule = typeof import("../../src/lib/db/core.ts");
let tempDir: string;
let originalDataDir: string | undefined;
let getDbInstance: any;
let resetDbInstance: any;
let ensureDbInitialized: any;
let closeDbInstance: any;
let getDbInstance: CoreModule["getDbInstance"];
let resetDbInstance: CoreModule["resetDbInstance"];
let ensureDbInitialized: CoreModule["ensureDbInitialized"];
let closeDbInstance: CoreModule["closeDbInstance"];

before(async () => {
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "omniroute-db-test-"));
Expand Down
13 changes: 9 additions & 4 deletions tests/unit/context-manager.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,15 @@ for (const modelId of HYPERAGENT_FALLBACK_MODEL_IDS) {
}

test("getTokenLimit: does not force 1M onto non-hyperagent providers serving the same model ids", () => {
// windsurf declares an explicit per-model contextLength of 200000 for this exact id —
// a provider-unscoped substring match on "claude-opus-4" would have clobbered it to 1M.
assert.equal(getTokenLimit("windsurf", "claude-opus-4.7-max"), 200000);
// bluesminds likewise pins its own claude-opus-4-5 entry to 200000.
// windsurf used to pin this exact id at 200000, but its built-in provider entry was
// retired (#8228 — replaced by devin-desktop). With no per-provider source left,
// #11034 resolves the effort-suffixed variant via its BASE model (`claude-opus-4.7-max`
// → `claude-opus-4.7` → canonical `claude-opus-4-7`), whose real catalog window IS 1M.
// This is a legitimate base-model resolution, not the forbidden hyperagent default leak:
// it comes from the shared model catalog, never from the hyperagent registry scope.
assert.equal(getTokenLimit("windsurf", "claude-opus-4.7-max"), 1_000_000);
// bluesminds still pins its own claude-opus-4-5 entry to 200000, and that pin must win
// over both the name heuristic and any 1M window from sibling providers/catalogs.
assert.equal(getTokenLimit("bluesminds", "claude-opus-4-5"), 200000);
});

Expand Down
Loading