diff --git a/src/types/combo.ts b/src/types/combo.ts deleted file mode 100644 index b5befd8e57..0000000000 --- a/src/types/combo.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Combo — a routing group that distributes requests across provider nodes. - */ -export interface Combo { - id: string; - name: string; - model: string; - strategy: ComboStrategy; - isActive: boolean; - nodes: ComboNode[]; - maxRetries: number; - retryDelayMs: number; - fallbackDelayMs?: number; - timeoutMs: number; - healthCheckEnabled: boolean; - createdAt: string; - updatedAt: string; -} - -export type ComboStrategy = "priority" | "weighted" | "round-robin" | "context-relay"; - -export interface ComboNode { - connectionId: string; - provider: string; - weight: number; - priority: number; -} diff --git a/src/types/index.ts b/src/types/index.ts index f32fb2a5b5..0f49a4a5b4 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -7,7 +7,6 @@ export type { ProviderConnection, ProviderNode, ModelCooldownErrorPayload } from "./provider"; export type { ApiKey } from "./apiKey"; -export type { Combo, ComboStrategy, ComboNode } from "./combo"; export type { UsageEntry, UsageStats, ProviderUsageStats, ModelUsageStats, CallLog } from "./usage"; export type { DatabaseSettings } from "./databaseSettings"; export { DEFAULT_DATABASE_SETTINGS } from "./databaseSettings"; diff --git a/tests/unit/error-message-sanitization.test.ts b/tests/unit/error-message-sanitization.test.ts index 6c4a1d7192..3224a65d55 100644 --- a/tests/unit/error-message-sanitization.test.ts +++ b/tests/unit/error-message-sanitization.test.ts @@ -342,6 +342,21 @@ test("createErrorResult — exposes error code/type on the result object", async assert.equal(result.errorType, "timeout"); }); +test("buildModelCooldownBody returns the public cooldown error payload shape", async () => { + const { buildModelCooldownBody } = await import("../../open-sse/utils/error.ts"); + const body = buildModelCooldownBody({ model: "gpt-4o", retryAfterSec: 1.2 }); + + assert.deepEqual(body, { + error: { + message: "All credentials for model gpt-4o are cooling down", + type: "rate_limit_error", + code: "model_cooldown", + model: "gpt-4o", + reset_seconds: 2, + }, + }); +}); + test("regression: upstream_details never contains stack trace text", async () => { const { createErrorResult } = await import("../../open-sse/utils/error.ts"); const upstream = { error: { message: "err" }, stack: "Error\n at /abs/path.ts:1:2" };