1
- import { OpenAiHandler } from "./openai"
2
1
import * as vscode from "vscode"
3
- import { ApiHandlerOptions , PEARAI_URL } from "../../shared/api"
2
+ import { ApiHandlerOptions , PEARAI_URL , AnthropicModelId , ModelInfo } from "../../shared/api"
4
3
import { AnthropicHandler } from "./anthropic"
5
4
6
5
export class PearAiHandler extends AnthropicHandler {
@@ -10,12 +9,9 @@ export class PearAiHandler extends AnthropicHandler {
10
9
if ( selection === "Login to PearAI" ) {
11
10
const extensionUrl = `${ vscode . env . uriScheme } ://pearai.pearai/auth`
12
11
const callbackUri = await vscode . env . asExternalUri ( vscode . Uri . parse ( extensionUrl ) )
13
-
14
12
vscode . env . openExternal (
15
13
await vscode . env . asExternalUri (
16
- vscode . Uri . parse (
17
- `https://trypear.ai/signin?callback=${ callbackUri . toString ( ) } ` , // Change to localhost if running locally
18
- ) ,
14
+ vscode . Uri . parse ( `https://trypear.ai/signin?callback=${ callbackUri . toString ( ) } ` ) ,
19
15
) ,
20
16
)
21
17
}
@@ -28,4 +24,18 @@ export class PearAiHandler extends AnthropicHandler {
28
24
anthropicBaseUrl : PEARAI_URL ,
29
25
} )
30
26
}
27
+
28
+ override getModel ( ) : { id : AnthropicModelId ; info : ModelInfo } {
29
+ const baseModel = super . getModel ( )
30
+ return {
31
+ id : baseModel . id ,
32
+ info : {
33
+ ...baseModel . info ,
34
+ inputPrice : ( baseModel . info . inputPrice || 0 ) * 1.03 ,
35
+ outputPrice : ( baseModel . info . outputPrice || 0 ) * 1.03 ,
36
+ cacheWritesPrice : baseModel . info . cacheWritesPrice ? baseModel . info . cacheWritesPrice * 1.03 : undefined ,
37
+ cacheReadsPrice : baseModel . info . cacheReadsPrice ? baseModel . info . cacheReadsPrice * 1.03 : undefined ,
38
+ } ,
39
+ }
40
+ }
31
41
}
0 commit comments