Fix GPT-5.6 gate: identify as devin-desktop, not windsurf

With ide=windsurf, GetChatMessage rejects every GPT-5.6 variant with
'This model is only in Devin Local.' Switching the client identity to
devin-desktop makes the server serve them; response-header wire echo
confirms the exact model (gpt-5-6-sol-high -> 'GPT-5.6 Sol High Thinking').
Unknown UIDs still hard-error, so there is no silent fallback.
This commit is contained in:
local-patch
2026-08-29 19:09:06 +00:00
parent 4642d2f7ee
commit 275cd5a493
+6 -5
View File
@@ -7,10 +7,11 @@ import {
} from "./wire.js"; } from "./wire.js";
/** /**
* Cognition version-gates GetChatMessage against a known Windsurf/Devin Desktop * Cognition gates Devin Local-only models (every GPT-5.6 variant: Sol, Terra,
* release. The Devin CLI build id (`3000.4.25`) is not that string and the * Luna) by client ide name. With ide="windsurf" GetChatMessage rejects them
* server answers: "Your Windsurf version is out of date." * with "This model is only in Devin Local."; with ide="devin-desktop" the
* Prefer the installed Devin.app product.json, then a current desktop release. * server serves them and the response header echoes the exact model
* (verified: "GPT-5.6 Sol High Thinking" for gpt-5-6-sol-high, 2026-08-29).
*/ */
const FALLBACK_WINDSURF_VERSION = "3.6.27"; const FALLBACK_WINDSURF_VERSION = "3.6.27";
const PRODUCT_JSON = const PRODUCT_JSON =
@@ -29,7 +30,7 @@ function desktopWindsurfVersion(): string {
} }
export const CLIENT_VERSION = desktopWindsurfVersion(); export const CLIENT_VERSION = desktopWindsurfVersion();
export const CLIENT_IDE = "windsurf"; export const CLIENT_IDE = "devin-desktop";
export interface MetadataInput { export interface MetadataInput {
apiKey: string; apiKey: string;