mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 02:42:24 +03:00
fix(providers): renumber ChatGPT Web migration 163→168, drop unrelated test-perf hunk, and fix async getExecutor assertion for v3.8.51
- src/lib/db/migrations: 163 collided with radar_feed_cache_generated_at and 4 other provenance-sweep retirement migrations already in this batch (164 Designer, 165 Felo, 166 GPL-derived, 167 Qwen); renumbered to 168. - open-sse/services/__tests__/claudeTlsClient.test.ts: dropped an unrelated static-import perf optimization the PR's own diff assumed already existed on its base — it doesn't exist on release/v3.8.51's current tip, so introducing it here would be out of this PR's scope. - src/app/api/providers/[id]/test/route.ts: kept the PR's own lastErrorType dedup (reusing the const it introduces) over the duplicated inline ternary. - tests/unit/chatgpt-web-retirement.test.ts: getExecutor became async on v3.8.51 (#11220 lazy-loading refactor); switched assert.throws to assert.rejects. - docs/reference/PROVIDER_REFERENCE.md: regenerated via npm run gen:provider-reference.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
---
|
||||
title: "Provider Reference"
|
||||
version: 3.8.51
|
||||
lastUpdated: 2026-08-27
|
||||
lastUpdated: 2026-08-28
|
||||
---
|
||||
|
||||
# Provider Reference
|
||||
|
||||
> **Auto-generated** from `src/shared/constants/providers.ts` — do not edit by hand.
|
||||
> Regenerate with: `npm run gen:provider-reference`
|
||||
> **Last generated:** 2026-08-27
|
||||
> **Last generated:** 2026-08-28
|
||||
|
||||
Total providers: **357**. See category breakdown below.
|
||||
Total providers: **356**. See category breakdown below.
|
||||
|
||||
## Categories
|
||||
|
||||
@@ -444,7 +444,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each
|
||||
|
||||
- Catalog: [`src/shared/constants/providers.ts`](../../src/shared/constants/providers.ts)
|
||||
- Registry (per-model details): [`open-sse/config/providerRegistry.ts`](../../open-sse/config/providerRegistry.ts)
|
||||
- Executors: [`open-sse/executors/`](../../open-sse/executors/) (112 implementations)
|
||||
- Executors: [`open-sse/executors/`](../../open-sse/executors/) (110 implementations)
|
||||
- Translators: [`open-sse/translator/`](../../open-sse/translator/)
|
||||
|
||||
## See Also
|
||||
|
||||
@@ -29,7 +29,7 @@ UPDATE provider_connections
|
||||
SET is_active = 0,
|
||||
test_status = 'unavailable',
|
||||
error_code = 'PROVIDER_REMOVED',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.50',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.51',
|
||||
last_error_type = 'provider_removed',
|
||||
last_error_source = 'migration:retire-chatgpt-web',
|
||||
last_error_at = datetime('now'),
|
||||
@@ -40,7 +40,7 @@ WHERE lower(trim(provider, char(9,10,11,12,13,32,160,5760,8192,8193,8194,8195,81
|
||||
is_active IS NOT 0
|
||||
OR test_status IS NOT 'unavailable'
|
||||
OR error_code IS NOT 'PROVIDER_REMOVED'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.50'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.51'
|
||||
OR last_error_type IS NOT 'provider_removed'
|
||||
OR last_error_source IS NOT 'migration:retire-chatgpt-web'
|
||||
OR last_error_at IS NULL
|
||||
@@ -59,7 +59,7 @@ BEGIN
|
||||
SET is_active = 0,
|
||||
test_status = 'unavailable',
|
||||
error_code = 'PROVIDER_REMOVED',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.50',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.51',
|
||||
last_error_type = 'provider_removed',
|
||||
last_error_source = 'migration:retire-chatgpt-web',
|
||||
last_error_at = datetime('now'),
|
||||
@@ -69,7 +69,7 @@ BEGIN
|
||||
is_active IS NOT 0
|
||||
OR test_status IS NOT 'unavailable'
|
||||
OR error_code IS NOT 'PROVIDER_REMOVED'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.50'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.51'
|
||||
OR last_error_type IS NOT 'provider_removed'
|
||||
OR last_error_source IS NOT 'migration:retire-chatgpt-web'
|
||||
OR last_error_at IS NULL
|
||||
@@ -93,7 +93,7 @@ BEGIN
|
||||
SET is_active = 0,
|
||||
test_status = 'unavailable',
|
||||
error_code = 'PROVIDER_REMOVED',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.50',
|
||||
last_error = 'Provider integration retired from OmniRoute v3.8.51',
|
||||
last_error_type = 'provider_removed',
|
||||
last_error_source = 'migration:retire-chatgpt-web',
|
||||
last_error_at = datetime('now'),
|
||||
@@ -103,7 +103,7 @@ BEGIN
|
||||
is_active IS NOT 0
|
||||
OR test_status IS NOT 'unavailable'
|
||||
OR error_code IS NOT 'PROVIDER_REMOVED'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.50'
|
||||
OR last_error IS NOT 'Provider integration retired from OmniRoute v3.8.51'
|
||||
OR last_error_type IS NOT 'provider_removed'
|
||||
OR last_error_source IS NOT 'migration:retire-chatgpt-web'
|
||||
OR last_error_at IS NULL
|
||||
@@ -7,14 +7,14 @@ import { AI_PROVIDERS } from "../../src/shared/constants/providers.ts";
|
||||
|
||||
const RETIRED_PROVIDER_IDS = ["chatgpt-web", "cgpt-web"] as const;
|
||||
|
||||
test("common ChatGPT Web is unavailable while ChatGPT Web Codex remains registered", () => {
|
||||
test("common ChatGPT Web is unavailable while ChatGPT Web Codex remains registered", async () => {
|
||||
assert.equal(REGISTRY["chatgpt-web"], undefined);
|
||||
assert.equal(AI_PROVIDERS["chatgpt-web"], undefined);
|
||||
|
||||
for (const providerId of RETIRED_PROVIDER_IDS) {
|
||||
assert.equal(getRegistryEntry(providerId), null);
|
||||
assert.equal(hasSpecializedExecutor(providerId), false);
|
||||
assert.throws(
|
||||
await assert.rejects(
|
||||
() => getExecutor(providerId),
|
||||
(error: unknown) => {
|
||||
const typed = error as Error & { code?: string; status?: number };
|
||||
|
||||
@@ -38,16 +38,16 @@ test.after(() => {
|
||||
fs.rmSync(TEST_DATA_DIR, { recursive: true, force: true });
|
||||
});
|
||||
|
||||
test("migration 163 retires every common ChatGPT Web id fail-closed and preserves audit history", async () => {
|
||||
test("migration 168 retires every common ChatGPT Web id fail-closed and preserves audit history", async () => {
|
||||
const db = core.getDbInstance();
|
||||
|
||||
const applied = db
|
||||
.prepare("SELECT version FROM _omniroute_migrations WHERE version = 163")
|
||||
.prepare("SELECT version FROM _omniroute_migrations WHERE version = 168")
|
||||
.get() as { version: number } | undefined;
|
||||
assert.ok(applied, "migration 163 must be recorded as applied");
|
||||
assert.ok(applied, "migration 168 must be recorded as applied");
|
||||
|
||||
// Recreate a pre-migration fixture even though a fresh test database already
|
||||
// applied migration 163 during startup.
|
||||
// applied migration 168 during startup.
|
||||
db.exec(`
|
||||
DROP TRIGGER IF EXISTS provider_connections_retire_chatgpt_web_insert;
|
||||
DROP TRIGGER IF EXISTS provider_connections_retire_chatgpt_web_update;
|
||||
@@ -189,7 +189,7 @@ test("migration 163 retires every common ChatGPT Web id fail-closed and preserve
|
||||
(db.prepare("SELECT total_changes() AS changes").get() as { changes: number }).changes;
|
||||
|
||||
const sql = fs.readFileSync(
|
||||
path.join(process.cwd(), "src/lib/db/migrations/163_retire_chatgpt_web.sql"),
|
||||
path.join(process.cwd(), "src/lib/db/migrations/168_retire_chatgpt_web.sql"),
|
||||
"utf8"
|
||||
);
|
||||
db.exec(sql);
|
||||
@@ -223,7 +223,7 @@ test("migration 163 retires every common ChatGPT Web id fail-closed and preserve
|
||||
assert.equal(connection.is_active, 0);
|
||||
assert.equal(connection.test_status, "unavailable");
|
||||
assert.equal(connection.error_code, "PROVIDER_REMOVED");
|
||||
assert.equal(connection.last_error, "Provider integration retired from OmniRoute v3.8.50");
|
||||
assert.equal(connection.last_error, "Provider integration retired from OmniRoute v3.8.51");
|
||||
assert.equal(connection.last_error_type, "provider_removed");
|
||||
assert.equal(connection.last_error_source, "migration:retire-chatgpt-web");
|
||||
assert.notEqual(connection.last_error_at, "2000-01-01T00:00:00.000Z");
|
||||
@@ -394,7 +394,7 @@ test("migration 163 retires every common ChatGPT Web id fail-closed and preserve
|
||||
"last_error_type, last_error_source, last_error_at, created_at, updated_at) " +
|
||||
"VALUES ('already-tombstoned-cgpt-web-insert-connection', '\u00a0chatgpt-web\uFEFF', " +
|
||||
"'apikey', 'already tombstoned restore', 0, 'unavailable', 'PROVIDER_REMOVED', " +
|
||||
"'Provider integration retired from OmniRoute v3.8.50', 'provider_removed', " +
|
||||
"'Provider integration retired from OmniRoute v3.8.51', 'provider_removed', " +
|
||||
"'migration:retire-chatgpt-web', '2001-01-01T00:00:00.000Z', datetime('now'), datetime('now'))"
|
||||
).run();
|
||||
assert.equal(readLease(alreadyTombstonedInsertLeaseId).state, "INVALIDATED");
|
||||
@@ -414,7 +414,7 @@ test("migration 163 retires every common ChatGPT Web id fail-closed and preserve
|
||||
db.prepare(
|
||||
"UPDATE provider_connections SET provider = '\u2003CGPT-WEB\u2029', is_active = 0, " +
|
||||
"test_status = 'unavailable', error_code = 'PROVIDER_REMOVED', " +
|
||||
"last_error = 'Provider integration retired from OmniRoute v3.8.50', " +
|
||||
"last_error = 'Provider integration retired from OmniRoute v3.8.51', " +
|
||||
"last_error_type = 'provider_removed', last_error_source = 'migration:retire-chatgpt-web', " +
|
||||
"last_error_at = '2001-01-01T00:00:00.000Z' " +
|
||||
"WHERE id = 'already-tombstoned-cgpt-web-update-connection'"
|
||||
Reference in New Issue
Block a user