diff --git a/src/api/providers/pearai/pearai.ts b/src/api/providers/pearai/pearai.ts index d180ac175f8..5ed332436e6 100644 --- a/src/api/providers/pearai/pearai.ts +++ b/src/api/providers/pearai/pearai.ts @@ -82,6 +82,7 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl apiModelId: underlyingModel, }) } else { + // Use OpenAI fields here as we are using the same handler structure as OpenAI Hander lin PearAIGenericHandler this.handler = new PearAIGenericHandler({ ...options, openAiBaseUrl: PEARAI_URL, diff --git a/src/api/providers/pearai/pearaiGeneric.ts b/src/api/providers/pearai/pearaiGeneric.ts index 96c401f9b71..15509de95b3 100644 --- a/src/api/providers/pearai/pearaiGeneric.ts +++ b/src/api/providers/pearai/pearaiGeneric.ts @@ -221,28 +221,30 @@ export class PearAIGenericHandler extends BaseProvider implements SingleCompleti } override getModel(): { id: string; info: ModelInfo } { - const modelId = this.options.openAiModelId ?? "none" + const modelId = this.options.openAiModelId // Prioritize serverside model info - if (this.options.apiModelId && this.options.pearaiAgentModels) { + if (modelId && this.options.pearaiAgentModels) { let modelInfo = null - if (this.options.apiModelId.startsWith("pearai")) { - modelInfo = this.options.pearaiAgentModels.models[this.options.apiModelId].underlyingModelUpdated + if (modelId.startsWith("pearai")) { + modelInfo = this.options.pearaiAgentModels.models[modelId].underlyingModelUpdated } else { - modelInfo = this.options.pearaiAgentModels.models[this.options.apiModelId || "pearai-model"] + modelInfo = this.options.pearaiAgentModels.models[modelId || "pearai-model"] } if (modelInfo) { - return { - id: this.options.apiModelId, + const result = { + id: modelId, info: modelInfo, } + return result } } - return { - id: modelId, - info: allModels[modelId], + + const result = { + id: modelId ?? pearAiDefaultModelId, + info: allModels[modelId ?? pearAiDefaultModelId], } + return result } - async completePrompt(prompt: string): Promise { try { const requestOptions: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming = { diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index a113472d734..5ed045aaa47 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -462,12 +462,19 @@ export class ClineProvider extends EventEmitter implements } public async getPearAIAgentModels() { - const response = await fetch(`${PEARAI_URL}/getPearAIAgentModels`) - if (!response.ok) { - throw new Error(`Failed to fetch models: ${response.statusText}`) + try { + const response = await fetch(`${PEARAI_URL}/getPearAIAgentModels`) + if (!response.ok) { + throw new Error(`Failed to fetch models: ${response.statusText}`) + } + const data = (await response.json()) as PearAIAgentModelsConfig + return data + } catch (error) { + vscode.window.showErrorMessage( + "Failed to fetch PearAI Agent Models. PearAI services may be down, please contact PearAI Support.", + ) + return undefined } - const data = (await response.json()) as PearAIAgentModelsConfig - return data } public async initClineWithSubTask(parent: Cline, task?: string, images?: string[]) { @@ -655,7 +662,7 @@ export class ClineProvider extends EventEmitter implements - Roo Code + Agent
diff --git a/src/integrations/editor/DiffViewProvider.ts b/src/integrations/editor/DiffViewProvider.ts index 0bf494854a4..86eddf115e1 100644 --- a/src/integrations/editor/DiffViewProvider.ts +++ b/src/integrations/editor/DiffViewProvider.ts @@ -299,7 +299,7 @@ export class DiffViewProvider { query: Buffer.from(this.originalContent ?? "").toString("base64"), }), uri, - `${fileName}: ${fileExists ? "Original ↔ Roo's Changes" : "New File"} (Editable)`, + `${fileName}: ${fileExists ? "Original ↔ Agent's Changes" : "New File"} (Editable)`, ) // This may happen on very slow machines ie project idx setTimeout(() => {