1- import { OpenAiHandler } from "./openai"
21import * as vscode from "vscode"
3- import { ApiHandlerOptions , PEARAI_URL } from "../../shared/api"
2+ import { ApiHandlerOptions , PEARAI_URL , AnthropicModelId , ModelInfo } from "../../shared/api"
43import { AnthropicHandler } from "./anthropic"
54
65export class PearAiHandler extends AnthropicHandler {
@@ -10,12 +9,9 @@ export class PearAiHandler extends AnthropicHandler {
109 if ( selection === "Login to PearAI" ) {
1110 const extensionUrl = `${ vscode . env . uriScheme } ://pearai.pearai/auth`
1211 const callbackUri = await vscode . env . asExternalUri ( vscode . Uri . parse ( extensionUrl ) )
13-
1412 vscode . env . openExternal (
1513 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 ( ) } ` ) ,
1915 ) ,
2016 )
2117 }
@@ -28,4 +24,18 @@ export class PearAiHandler extends AnthropicHandler {
2824 anthropicBaseUrl : PEARAI_URL ,
2925 } )
3026 }
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+ }
3141}
0 commit comments