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:
Markus Hartung
2026-08-28 01:56:17 -03:00
parent 761ebbf97a
commit f8233343fa
4 changed files with 20 additions and 20 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 };

View File

@@ -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'"