Files
OmniRoute/tests/unit/opencode-zen-muse-spark-targetformat-11046.test.ts
Dizzle 666e4aaca2 fix(providers): route Muse Spark to the Responses API on opencode-zen too (#11049)
5 — Muse Spark responde só na Responses API; #10874 corrigiu só o provider `opencode`, mas `opencode-zen` (faltava targetFormat em 2 entries) e `opencode-go` (6 entries effort-tier) nunca receberam. Espelha a declaração. freebuff NÃO tocado (backend codebuff.com /chat/completions distinto, verificado). TDD 2/2 + 18/18 irmãos. Fecha #11048. Base-red #9985 inherited.
2026-08-21 20:55:07 -03:00

44 lines
1.9 KiB
TypeScript

import assert from "node:assert/strict";
import test from "node:test";
import { opencode_zenProvider } from "../../open-sse/config/providers/registry/opencode/zen/index.ts";
import { opencode_goProvider } from "../../open-sse/config/providers/registry/opencode/go/index.ts";
// opencode-zen and opencode-go both serve the same upstream family
// (opencode.ai/zen/*) as the opencode provider for Muse Spark, but neither
// got the targetFormat:"openai-responses" declaration that #10874 added to
// the opencode provider's entries — so requests routed to either still hit
// /chat/completions and the upstream returns an empty message.
test("muse-spark-1.2 and muse-spark-1.2-contributor-free route to the Responses API on opencode-zen too", () => {
for (const id of ["muse-spark-1.2", "muse-spark-1.2-contributor-free"]) {
const model = opencode_zenProvider.models.find((m) => m.id === id);
assert.ok(model, `${id} should be registered in the opencode-zen provider`);
assert.equal(
model?.targetFormat,
"openai-responses",
`${id} must target the Responses API, not the default chat/completions pass-through`
);
assert.equal(model?.supportsReasoning, true);
}
});
test("all muse-spark-1.2-contributor effort-tier entries route to the Responses API on opencode-go too", () => {
const ids = [
"muse-spark-1.2-contributor",
"muse-spark-1.2-contributor-minimal",
"muse-spark-1.2-contributor-low",
"muse-spark-1.2-contributor-medium",
"muse-spark-1.2-contributor-high",
"muse-spark-1.2-contributor-xhigh",
];
for (const id of ids) {
const model = opencode_goProvider.models.find((m) => m.id === id);
assert.ok(model, `${id} should be registered in the opencode-go provider`);
assert.equal(
model?.targetFormat,
"openai-responses",
`${id} must target the Responses API, not the default chat/completions pass-through`
);
}
});