From b76f09db2da7e5436e44e80ac706b2f4af317098 Mon Sep 17 00:00:00 2001 From: Kacper Date: Tue, 30 Dec 2025 00:25:37 +0100 Subject: [PATCH] refactor(types): Use ModelProvider type instead of hardcoded union MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 'claude' | 'cursor' literal unions with ModelProvider type from @automaker/types for better extensibility when adding new providers. - Update ProviderFactory.getProviderNameForModel() return type - Update RunningFeature.provider type in auto-mode-service - Update getRunningAgents() return type 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- apps/server/src/providers/provider-factory.ts | 6 +++--- apps/server/src/services/auto-mode-service.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/server/src/providers/provider-factory.ts b/apps/server/src/providers/provider-factory.ts index 9ed540b2..ed784a90 100644 --- a/apps/server/src/providers/provider-factory.ts +++ b/apps/server/src/providers/provider-factory.ts @@ -10,16 +10,16 @@ import { BaseProvider } from './base-provider.js'; import { ClaudeProvider } from './claude-provider.js'; import { CursorProvider } from './cursor-provider.js'; import type { InstallationStatus, ModelDefinition } from './types.js'; -import { CURSOR_MODEL_MAP } from '@automaker/types'; +import { CURSOR_MODEL_MAP, type ModelProvider } from '@automaker/types'; export class ProviderFactory { /** * Determine which provider to use for a given model * * @param model Model identifier - * @returns Provider name ('claude' | 'cursor') + * @returns Provider name (ModelProvider type) */ - static getProviderNameForModel(model: string): 'claude' | 'cursor' { + static getProviderNameForModel(model: string): ModelProvider { const lowerModel = model.toLowerCase(); // Check for explicit cursor prefix diff --git a/apps/server/src/services/auto-mode-service.ts b/apps/server/src/services/auto-mode-service.ts index 6e47cae0..fdcfa952 100644 --- a/apps/server/src/services/auto-mode-service.ts +++ b/apps/server/src/services/auto-mode-service.ts @@ -10,7 +10,7 @@ */ import { ProviderFactory } from '../providers/provider-factory.js'; -import type { ExecuteOptions, Feature } from '@automaker/types'; +import type { ExecuteOptions, Feature, ModelProvider } from '@automaker/types'; import { buildPromptWithImages, isAbortError, @@ -317,7 +317,7 @@ interface RunningFeature { isAutoMode: boolean; startTime: number; model?: string; - provider?: 'claude' | 'cursor'; + provider?: ModelProvider; } interface AutoLoopState { @@ -1238,7 +1238,7 @@ Format your response as a structured markdown document.`; projectName: string; isAutoMode: boolean; model?: string; - provider?: 'claude' | 'cursor'; + provider?: ModelProvider; }> { return Array.from(this.runningFeatures.values()).map((rf) => ({ featureId: rf.featureId,