mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-23 15:42:12 +03:00
test(context): align non-hyperagent getTokenLimit assert with #8228/#11034 contract (#9985)
The 'does not force 1M onto non-hyperagent providers' assertion expected windsurf's per-model 200000 pin for claude-opus-4.7-max. That premise is stale after two intentional base merges, both already on release/v3.8.50: -acc066db3f(#8228) retired windsurf as a built-in provider (replaced by devin-desktop), removing its explicit contextLength pin; -00dfdadf93(#11034) added effort-suffix variant resolution in getResolvedModelCapabilities: when no direct source resolves, stripKnownEffortSuffix maps claude-opus-4.7-max to its base model claude-opus-4.7 -> canonical claude-opus-4-7, whose real catalog window is 1M (cursor catalogs the same id as 'Opus 4.7 1M Max'). So the 1M now comes from the shared model catalog via legitimate base-model resolution, not from the forbidden hyperagent-default leak the test guards against. Discrimination evidence: reproduces on the pure tip with zero diff (git log -p origin/release/v3.8.50 on both source and test); the test file itself was untouched sinced54a659804while both source merges landed later. The bluesminds/claude-opus-4-5 -> 200000 assertion is unchanged and still guards the original #8496 intent: a non-hyperagent provider's own pin must win over name heuristics and sibling windows.
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user