mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-22 15:12:23 +03:00
Compare commits
1 Commits
release/v3
...
fix/10997-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b5203d68a |
1
changelog.d/fixes/10997-blackbox-deprecation.md
Normal file
1
changelog.d/fixes/10997-blackbox-deprecation.md
Normal file
@@ -0,0 +1 @@
|
||||
- fix(providers): mark the blackbox provider deprecated — api.blackbox.ai returns HTTP 404 on every path variant (sweep 2026-08-21), so the public inference surface is dead and the catalog entry now carries a deprecation notice. ([#10997](https://github.com/diegosouzapw/OmniRoute/issues/10997))
|
||||
@@ -5,6 +5,12 @@ export const blackboxProvider: RegistryEntry = {
|
||||
alias: "bb",
|
||||
format: "openai",
|
||||
executor: "default",
|
||||
// NOTE: api.blackbox.ai returns HTTP 404 on /v1/chat/completions and /v1/models
|
||||
// (empty body, all path variants) since sweep 2026-08-21; the public inference
|
||||
// surface has moved to the gated enterprise.blackbox.ai/v1 endpoint. The provider
|
||||
// is marked deprecated in src/shared/constants/providers/apikey/frontier-labs.ts —
|
||||
// this registry entry is kept intact (registration/execution unaffected), so
|
||||
// existing configured keys keep working if a restored/enterprise host is reachable.
|
||||
baseUrl: "https://api.blackbox.ai/v1/chat/completions",
|
||||
modelsUrl: "https://api.blackbox.ai/v1/models",
|
||||
authType: "apikey",
|
||||
|
||||
@@ -91,6 +91,11 @@ export const APIKEY_PROVIDERS_FRONTIER = {
|
||||
hasFree: true,
|
||||
freeNote:
|
||||
"Limited free access is available through Blackbox; model availability and account limits apply",
|
||||
subscriptionRisk: true,
|
||||
riskNoticeVariant: "deprecated",
|
||||
deprecated: true,
|
||||
deprecationReason:
|
||||
"api.blackbox.ai returns HTTP 404 on every path variant (sweep 2026-08-21); the public inference surface has moved to the gated enterprise.blackbox.ai/v1 endpoint.",
|
||||
},
|
||||
xai: {
|
||||
id: "xai",
|
||||
|
||||
29
tests/unit/blackbox-deprecation-probe.test.ts
Normal file
29
tests/unit/blackbox-deprecation-probe.test.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { test } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { dirname, join } from "node:path";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const blackboxRegistryPath = join(
|
||||
__dirname,
|
||||
"../../open-sse/config/providers/registry/blackbox/index.ts",
|
||||
);
|
||||
const blackboxMetaPath = join(
|
||||
__dirname,
|
||||
"../../src/shared/constants/providers/apikey/frontier-labs.ts",
|
||||
);
|
||||
|
||||
test("probe: blackbox runtime registry still points at api.blackbox.ai (bug present)", () => {
|
||||
const src = readFileSync(blackboxRegistryPath, "utf8");
|
||||
assert.match(src, /api\.blackbox\.ai\/v1\/chat\/completions/);
|
||||
assert.match(src, /api\.blackbox\.ai\/v1\/models/);
|
||||
});
|
||||
|
||||
test("guard: blackbox metadata is marked deprecated because api.blackbox.ai is dead", () => {
|
||||
const meta = readFileSync(blackboxMetaPath, "utf8");
|
||||
const block = meta.split(/\n\s*blackbox:\s*\{/)[1]?.split(/\n\s*\w+:\s*\{/)[0] ?? "";
|
||||
assert.ok(block.includes("deprecated: true"));
|
||||
assert.ok(block.includes('riskNoticeVariant: "deprecated"'));
|
||||
assert.ok(block.includes("deprecationReason"));
|
||||
});
|
||||
Reference in New Issue
Block a user