Skip to content

Commit 8052337

Browse files
committed
Progress
1 parent 2e9c7cd commit 8052337

1 file changed

Lines changed: 23 additions & 22 deletions

File tree

src/api/providers/pearai.ts

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import Anthropic from "@anthropic-ai/sdk"
66
import { BaseProvider } from "./base-provider"
77
import { SingleCompletionHandler } from "../"
88
import { OpenRouterHandler } from "./openrouter"
9+
import { GeminiHandler } from "./gemini"
10+
import { OpenAiHandler } from "./openai"
911

1012
interface PearAiModelsResponse {
1113
models: {
@@ -18,7 +20,7 @@ interface PearAiModelsResponse {
1820
}
1921

2022
export class PearAiHandler extends BaseProvider implements SingleCompletionHandler {
21-
private handler!: AnthropicHandler | DeepSeekHandler | OpenRouterHandler
23+
private handler!: AnthropicHandler | OpenAiHandler
2224

2325
constructor(options: ApiHandlerOptions) {
2426
super()
@@ -39,11 +41,11 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl
3941
vscode.commands.executeCommand("pearai.checkPearAITokens", undefined)
4042
}
4143

42-
this.handler = new OpenRouterHandler({
44+
this.handler = new OpenAiHandler({
4345
...options,
44-
openRouterBaseUrl: PEARAI_URL,
45-
openRouterApiKey: options.pearaiApiKey,
46-
openRouterModelId: "deepseek/deepseek-chat-v3-0324",
46+
openAiBaseUrl: PEARAI_URL,
47+
openAiApiKey: options.pearaiApiKey,
48+
openAiModelId: "deepseek/deepseek-chat",
4749
})
4850

4951
// Then try to initialize the correct handler asynchronously
@@ -63,21 +65,21 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl
6365
}
6466
const data = (await response.json()) as PearAiModelsResponse
6567
const underlyingModel = data.models[modelId]?.underlyingModelUpdated || "claude-3-5-sonnet-20241022"
66-
if (underlyingModel.startsWith("deepseek")) {
67-
this.handler = new OpenRouterHandler({
68-
...options,
69-
openRouterBaseUrl: PEARAI_URL,
70-
openRouterApiKey: options.pearaiApiKey,
71-
openRouterModelId: underlyingModel,
72-
})
73-
} else {
68+
if (underlyingModel.startsWith("claude")) {
7469
// Default to Claude
7570
this.handler = new AnthropicHandler({
7671
...options,
7772
apiKey: options.pearaiApiKey,
7873
anthropicBaseUrl: PEARAI_URL,
7974
apiModelId: underlyingModel,
8075
})
76+
} else {
77+
this.handler = new OpenAiHandler({
78+
...options,
79+
openAiBaseUrl: PEARAI_URL,
80+
openAiApiKey: options.pearaiApiKey,
81+
openAiModelId: underlyingModel,
82+
})
8183
}
8284
} catch (error) {
8385
console.error("Error fetching PearAI models:", error)
@@ -96,11 +98,11 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl
9698
anthropicBaseUrl: PEARAI_URL,
9799
})
98100
} else {
99-
this.handler = new OpenRouterHandler({
101+
this.handler = new OpenAiHandler({
100102
...options,
101-
openRouterBaseUrl: PEARAI_URL,
102-
openRouterApiKey: options.pearaiApiKey,
103-
openRouterModelId: modelId,
103+
openAiBaseUrl: PEARAI_URL,
104+
openAiApiKey: options.pearaiApiKey,
105+
openAiModelId: modelId,
104106
})
105107
}
106108
}
@@ -116,11 +118,10 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl
116118
supportsImages: baseModel.info.supportsImages,
117119
supportsComputerUse: baseModel.info.supportsComputerUse,
118120
supportsPromptCache: baseModel.info.supportsPromptCache,
119-
// Apply PearAI's price markup
120-
inputPrice: (baseModel.info.inputPrice || 0) * 1.03,
121-
outputPrice: (baseModel.info.outputPrice || 0) * 1.03,
122-
cacheWritesPrice: baseModel.info.cacheWritesPrice ? baseModel.info.cacheWritesPrice * 1.03 : undefined,
123-
cacheReadsPrice: baseModel.info.cacheReadsPrice ? baseModel.info.cacheReadsPrice * 1.03 : undefined,
121+
inputPrice: baseModel.info.inputPrice || 0,
122+
outputPrice: baseModel.info.outputPrice || 0,
123+
cacheWritesPrice: baseModel.info.cacheWritesPrice ? baseModel.info.cacheWritesPrice : undefined,
124+
cacheReadsPrice: baseModel.info.cacheReadsPrice ? baseModel.info.cacheReadsPrice : undefined,
124125
},
125126
}
126127
}

0 commit comments

Comments
 (0)