diff --git a/src/api/providers/anthropic.ts b/src/api/providers/anthropic.ts index 60dd9303836..0b13488a6a1 100644 --- a/src/api/providers/anthropic.ts +++ b/src/api/providers/anthropic.ts @@ -99,8 +99,11 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa case "claude-3-haiku-20240307": betas.push("prompt-caching-2024-07-31") return { - headers: { "anthropic-beta": betas.join(",") }, - authorization: `Bearer ${this.options.apiKey}`, + headers: { + "anthropic-beta": betas.join(","), + authorization: `Bearer ${this.options.apiKey}`, + "creator-mode": String(this.options.creatorMode), + }, } default: return undefined diff --git a/src/api/providers/pearai.ts b/src/api/providers/pearai.ts index 0379288bd5a..7e63fa2424a 100644 --- a/src/api/providers/pearai.ts +++ b/src/api/providers/pearai.ts @@ -36,12 +36,19 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl throw new Error("PearAI API key not found. Please login to PearAI.") } + if (!options.creatorMode) { + // TODO: REMOVE, TESTING + options.creatorMode = true + // options.creatorMode = false + } + // Initialize with a default handler synchronously this.handler = new AnthropicHandler({ ...options, apiKey: options.pearaiApiKey, anthropicBaseUrl: PEARAI_URL, apiModelId: "claude-3-5-sonnet-20241022", + creatorMode: options.creatorMode, }) // Then try to initialize the correct handler asynchronously @@ -68,6 +75,7 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl deepSeekApiKey: options.pearaiApiKey, deepSeekBaseUrl: PEARAI_URL, apiModelId: underlyingModel, + creatorMode: options.creatorMode, }) } else { // Default to Claude @@ -76,6 +84,7 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl apiKey: options.pearaiApiKey, anthropicBaseUrl: PEARAI_URL, apiModelId: underlyingModel, + creatorMode: options.creatorMode, }) } } catch (error) { @@ -86,6 +95,7 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl apiKey: options.pearaiApiKey, anthropicBaseUrl: PEARAI_URL, apiModelId: "claude-3-5-sonnet-20241022", + creatorMode: options.creatorMode, }) } } else if (modelId.startsWith("claude")) { diff --git a/src/shared/api.ts b/src/shared/api.ts index 362ea95a362..a4c8ba2e6b4 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -22,6 +22,7 @@ export type ApiProvider = export interface ApiHandlerOptions { apiModelId?: string + creatorMode?: boolean apiKey?: string // anthropic anthropicBaseUrl?: string vsCodeLmModelSelector?: vscode.LanguageModelChatSelector @@ -1043,9 +1044,9 @@ export const unboundDefaultModelInfo: ModelInfo = { } // CHANGE AS NEEDED FOR TESTING // PROD: -export const PEARAI_URL = "https://stingray-app-gb2an.ondigitalocean.app/pearai-server-api2/integrations/cline" +// export const PEARAI_URL = "https://stingray-app-gb2an.ondigitalocean.app/pearai-server-api2/integrations/cline" // DEV: -// export const PEARAI_URL = "http://localhost:8000/integrations/cline" +export const PEARAI_URL = "http://localhost:8000/integrations/cline" // PearAI export type PearAiModelId = keyof typeof pearAiModels