mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 10:52:17 +03:00
Validado em lote numa worktree combinada com os 4 PRs desta leva sobre o tip de `release/v3.8.51`: `typecheck:core` limpo e **119/119** nos 9 arquivos de teste que trazem. Três dos quatro conflitavam apenas no `config/quality/file-size-baseline.json`, todos de forma aditiva (chaves `_rebaseline_` distintas que devem coexistir); resolvidos com validação de JSON a cada passo. Registro que o **#12637 não é duplicata do #12566**, apesar do título quase idêntico: o autor documenta que aquele escopou o cooldown de preflight por família e este cobre o `genericQuotaFetcher`, que é o que o roteamento reset-aware efetivamente chama. Traz também validação ao vivo em VPS (imagem X500, `onmi-gemini3.6` → HTTP 200), satisfazendo a Hard Rule #18. Obrigado, @HouMinXi.
34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import {
|
|
CLAUDE_CODE_CLIENT_VERSION,
|
|
CLAUDE_CODE_RUNTIME_VERSION,
|
|
CLAUDE_CODE_SDK_PACKAGE_VERSION,
|
|
getClaudeCodeClientVersion,
|
|
getClaudeCodeUserAgent,
|
|
} from "@/shared/constants/claudeCodeClient";
|
|
|
|
export const CLAUDE_CODE_COMPATIBLE_VERSION = CLAUDE_CODE_CLIENT_VERSION;
|
|
export function getClaudeCodeCompatibleVersion(): string {
|
|
return getClaudeCodeClientVersion();
|
|
}
|
|
/** Module-load snapshot. Wire UA uses getClaudeCodeUserAgent("sdk-cli"). */
|
|
export const CLAUDE_CODE_COMPATIBLE_USER_AGENT = getClaudeCodeUserAgent("sdk-cli");
|
|
export { getClaudeCodeUserAgent };
|
|
export const CLAUDE_CODE_COMPATIBLE_STAINLESS_PACKAGE_VERSION = CLAUDE_CODE_SDK_PACKAGE_VERSION;
|
|
export const CLAUDE_CODE_COMPATIBLE_STAINLESS_RUNTIME_VERSION = CLAUDE_CODE_RUNTIME_VERSION;
|
|
const CONTEXT_1M_NATIVE_MODELS = ["claude-fable-5-1", "claude-opus-5"];
|
|
|
|
export function modelHasNativeContext1m(model: string | null | undefined): boolean {
|
|
const normalizedModel = String(model || "")
|
|
.trim()
|
|
.toLowerCase()
|
|
.replace(/^.*?(?=claude-)/, "")
|
|
.replace(/-\d{8}$/, "");
|
|
|
|
return CONTEXT_1M_NATIVE_MODELS.some(
|
|
(supported) =>
|
|
normalizedModel === supported ||
|
|
(normalizedModel.startsWith(`${supported}-`) &&
|
|
!/^\d/.test(normalizedModel.slice(supported.length + 1)))
|
|
);
|
|
}
|