From f2ad55bd6284433ff2bb8b939ebd523ca8041557 Mon Sep 17 00:00:00 2001 From: Austin Liu <193228693+Dingding-leo@users.noreply.github.com> Date: Tue, 28 Jul 2026 05:54:31 +0930 Subject: [PATCH] fix(providers): deprecate Monster API provider (fixes #8676) (#8691) Monster API shuttered operations on 2026-06-30. Mark monsterapi entry as isDeprecated with deprecationReason in INFERENCE_HOSTS catalog. Co-authored-by: Austin Liu --- .../providers/apikey/inference-hosts.ts | 6 +++++- tests/unit/8676-monsterapi-deprecation.test.ts | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/unit/8676-monsterapi-deprecation.test.ts diff --git a/src/shared/constants/providers/apikey/inference-hosts.ts b/src/shared/constants/providers/apikey/inference-hosts.ts index c51a3285a6..6eeebfdd6a 100644 --- a/src/shared/constants/providers/apikey/inference-hosts.ts +++ b/src/shared/constants/providers/apikey/inference-hosts.ts @@ -29,7 +29,8 @@ export const APIKEY_PROVIDERS_INFERENCE = { textIcon: "OV", website: "https://openvecta.com", hasFree: true, - freeNote: "Free credits on signup for OpenAI-compatible inference across LLMs, embeddings, and reasoning models", + freeNote: + "Free credits on signup for OpenAI-compatible inference across LLMs, embeddings, and reasoning models", }, fireworks: { id: "fireworks", @@ -292,6 +293,9 @@ export const APIKEY_PROVIDERS_INFERENCE = { "One-time signup trial credits for decentralized GPU inference (no recurring free plan). No credit card required.", passthroughModels: true, authHint: "Get API key at monsterapi.ai", + isDeprecated: true, + deprecationReason: + "Monster API shuttered operations on 2026-06-30. Use alternative OpenAI-compatible providers.", }, modelscope: { id: "modelscope", diff --git a/tests/unit/8676-monsterapi-deprecation.test.ts b/tests/unit/8676-monsterapi-deprecation.test.ts new file mode 100644 index 0000000000..6f435957c8 --- /dev/null +++ b/tests/unit/8676-monsterapi-deprecation.test.ts @@ -0,0 +1,17 @@ +import assert from "node:assert/strict"; +import { test } from "node:test"; +import { APIKEY_PROVIDERS_INFERENCE } from "../../src/shared/constants/providers/apikey/inference-hosts.ts"; + +test("Monster API provider is marked as deprecated (fixes #8676)", () => { + const monsterEntry = APIKEY_PROVIDERS_INFERENCE.monsterapi; + assert.ok(monsterEntry, "monsterapi entry must exist in APIKEY_PROVIDERS_INFERENCE"); + assert.equal( + (monsterEntry as Record).isDeprecated, + true, + "monsterapi must be marked isDeprecated" + ); + assert.ok( + typeof (monsterEntry as Record).deprecationReason === "string", + "monsterapi must specify deprecationReason" + ); +});