fix(merge): restore chat.js imports, trust-vision floor, gitignore entries
Audit of every branch-owned line the -X theirs merge dropped from the 32 pre-merge commits found three more real regressions: * src/sse/handlers/chat.js: merge kept the capsOverride feature (bb8d67ba) but reverted the import block, so getCustomModels and capabilitiesFromServiceKind were undefined. The runtime error was swallowed by the feature's own fail-open try/catch — custom models silently lost their vision override. Restored both imports. * open-sse/providers/capabilities.js: TRUST_UPSTREAM_VISION (the floor that keeps vision on for unknown models on upstream-validating gateways like openrouter) was left as dead code by the merge — upstream rewrote step 4 as refine() and dropped the check. Re-applied it on top of the new refine() so catalog/limits refinement still applies. * tests/unit/chat-connection-pin.test.js: mock auth module lacked isModelAllowedForKey added byf0adfb20. * .gitignore: re-add .pi-subagents/.
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -91,4 +91,7 @@ graphify-out/*
|
||||
.kiro/
|
||||
|
||||
# CommandCode CLI local state (auth/taste/projects)
|
||||
.commandcode/
|
||||
.commandcode/
|
||||
|
||||
# Pi subagent run artifacts
|
||||
.pi-subagents/
|
||||
@@ -476,6 +476,9 @@ export function getCapabilitiesForModel(provider, model) {
|
||||
}
|
||||
}
|
||||
|
||||
// 4. Floor
|
||||
// 4. Floor (upstream-validated gateways keep vision on for unknown models)
|
||||
if (provider && TRUST_UPSTREAM_VISION.has(provider)) {
|
||||
return { ...refine(null, provider, model), vision: true };
|
||||
}
|
||||
return refine(null, provider, model);
|
||||
}
|
||||
|
||||
@@ -10,8 +10,9 @@ import {
|
||||
isModelAllowedForKey,
|
||||
} from "../services/auth.js";
|
||||
import { handleAntigravityQuotaError, clearAntigravityStrikes } from "../services/antigravityQuota.js";
|
||||
import { getSettings } from "@/lib/localDb";
|
||||
import { getSettings, getCustomModels } from "@/lib/localDb";
|
||||
import { getModelInfo, getComboModels } from "../services/model.js";
|
||||
import { capabilitiesFromServiceKind } from "open-sse/providers/capabilities.js";
|
||||
import { handleChatCore } from "open-sse/handlers/chatCore.js";
|
||||
import { DEFAULT_HEADROOM_URL } from "@/lib/headroom/detect";
|
||||
import { getTransform as getPxpipeTransform } from "@/lib/pxpipe/loader.js";
|
||||
|
||||
@@ -16,6 +16,7 @@ const authMocks = vi.hoisted(() => ({
|
||||
clearAccountError: vi.fn(async () => {}),
|
||||
extractApiKey: vi.fn(() => null),
|
||||
isValidApiKey: vi.fn(async () => true),
|
||||
isModelAllowedForKey: vi.fn(() => true),
|
||||
}));
|
||||
const tokenMocks = vi.hoisted(() => ({
|
||||
checkAndRefreshToken: vi.fn(async (_p, creds) => creds),
|
||||
|
||||
Reference in New Issue
Block a user