From ee26bec5a503e59d4f748de2ee48703a8dd3cf36 Mon Sep 17 00:00:00 2001 From: can1357 Date: Mon, 20 Jul 2026 22:28:08 +0200 Subject: [PATCH] fix(catalog): drop redundant swe-1-7 static seed main already bundles devin/swe-1-7 (discovered live, with image input); the text-only seed wins the earlier-sources dedup in generate-models and downgrades the bundled entry to text-only. Carry-over from the previous snapshot already preserves the model across keyless regens. --- packages/catalog/scripts/generate-models.ts | 8 ------- packages/catalog/src/discovery/devin.ts | 24 --------------------- 2 files changed, 32 deletions(-) diff --git a/packages/catalog/scripts/generate-models.ts b/packages/catalog/scripts/generate-models.ts index 05679ccab..09c65d17a 100644 --- a/packages/catalog/scripts/generate-models.ts +++ b/packages/catalog/scripts/generate-models.ts @@ -17,7 +17,6 @@ import { getGitLabDuoModels } from "@oh-my-pi/pi-ai/providers/gitlab-duo"; import { $env } from "@oh-my-pi/pi-utils"; import { ANTIGRAVITY_PRIMARY_ENDPOINT, fetchAntigravityDiscoveryModels } from "../src/discovery/antigravity"; import { fetchCodexModels } from "../src/discovery/codex"; -import { DEVIN_STATIC_FALLBACK_MODELS } from "../src/discovery/devin"; import { buildGitLabDuoWorkflowFallbackModel } from "../src/discovery/gitlab-duo-workflow"; import { createModelManager } from "../src/model-manager"; import prevModelsJson from "../src/models.json" with { type: "json" }; @@ -542,13 +541,6 @@ async function generateModels() { if (!authoritativeCatalogProviders.has("gitlab-duo-agent")) { allModels.push(buildGitLabDuoWorkflowFallbackModel()); } - // Seed Devin fallback models so newly released free models (e.g. `swe-1-7`) - // are bundled even when catalog generation runs without a Devin session - // token. Devin is `dynamicModelsAuthoritative: true`, so live discovery - // replaces these at runtime when a key is present. - if (!authoritativeCatalogProviders.has("devin")) { - allModels.push(...DEVIN_STATIC_FALLBACK_MODELS); - } // Seed Fireworks "Fast" serving-path variants (`-fast`). Fast routers are // not enumerated by the serverless control-plane list, so discovery never // surfaces them; the seed projects each base entry into a fast variant. diff --git a/packages/catalog/src/discovery/devin.ts b/packages/catalog/src/discovery/devin.ts index aa2453554..0a95562c7 100644 --- a/packages/catalog/src/discovery/devin.ts +++ b/packages/catalog/src/discovery/devin.ts @@ -149,27 +149,3 @@ function normalizeDevinModels( } return [...byId.values()].sort((a, b) => a.id.localeCompare(b.id)); } - -/** - * Static fallback Devin models for catalog generation without a live API key. - * - * Devin discovery requires an authenticated session token; when catalog - * generation runs without one, these seeds ensure new free models (like - * `swe-1-7`) are still bundled. Live discovery is authoritative — when it - * succeeds, it replaces these seeds entirely (stale entries are pruned). - */ -export const DEVIN_STATIC_FALLBACK_MODELS: readonly ModelSpec<"devin-agent">[] = [ - { - id: "swe-1-7", - name: "SWE-1.7", - api: "devin-agent", - provider: "devin", - baseUrl: DEVIN_DEFAULT_BASE_URL, - reasoning: true, - input: ["text"], - supportsTools: true, - cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - contextWindow: 262_000, - maxTokens: DEFAULT_MAX_TOKENS, - }, -];