Files
OmniRoute/tests/unit/zcode-provider.test.ts
Mr White 6f914b7a32 feat(zai): add GLM-5.3-Flash Coding Plan support (#11801)
Adiciona suporte ao GLM-5.3-Flash Coding Plan (endpoint OpenAI-compatible, tiers de esforço low/high/max via reasoning_effort). Boa cobertura de testes. Validado no worktree combinado.

Dois problemas resolvidos antes de mergear:
1. **Duplicata silenciosa de "glm-5.3-flash"** em `src/shared/constants/modelSpecs.ts` e `open-sse/config/glmProvider.ts` (#11830, já mergeado nesta sessão, e sua PR inserem a mesma entrada em pontos diferentes do arquivo — git não detecta como conflito textual). Removida a duplicata, preservando a ordem que o teste pré-existente `open-sse/mcp-server/__tests__/glmCodingProviderConfig.test.ts` espera (glm-5.3-flash primeiro no array `GLM_SHARED_MODELS`).
2. Conflito real em `zai/index.ts`, `default.ts`, `pricing/shared-tiers.ts` e no teste de catálogo — todos aditivos, resolvidos mantendo ambos os lados.

27/27 + 10/10 (vitest) testes focados verdes. Obrigado!
2026-08-30 11:37:32 -03:00

36 lines
1.1 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { zcodeProvider } from "../../open-sse/config/providers/registry/zcode/index.ts";
test("ZCode provider registry exposes a local no-auth GLM Coding Plan backend", () => {
assert.equal(zcodeProvider.id, "zcode");
assert.equal(zcodeProvider.alias, "zc");
assert.equal(zcodeProvider.executor, "zcode");
assert.equal(zcodeProvider.format, "openai");
assert.equal(zcodeProvider.baseUrl, "zcode://app-server/stdio");
assert.equal(zcodeProvider.authType, "none");
assert.equal(zcodeProvider.authHeader, "none");
assert.equal(
zcodeProvider.models.some((model) => model.id === "glm-5.2"),
true
);
for (const alias of [
"glm-5.3-high",
"glm-5.3-low",
"glm-5.3-flash-high",
"glm-5.3-flash-low",
"glm-5.3-flash-max",
"glm-5.2-high",
"glm-5.2-max",
]) {
assert.equal(
zcodeProvider.models.some((model) => model.id === alias),
false,
alias
);
}
for (const model of zcodeProvider.models) {
assert.deepEqual(model.supportedThinkingEfforts, [], model.id);
}
});