Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/types/src/providers/roo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type { ModelInfo } from "../model.js"
* Roo Code Cloud is a dynamic provider - models are loaded from the /v1/models API endpoint.
* Default model ID used as fallback when no model is specified.
*/
export const rooDefaultModelId = "xai/grok-code-fast-1"
export const rooDefaultModelId = "anthropic/claude-sonnet-4.5"

/**
* Empty models object maintained for type compatibility.
Expand Down
18 changes: 9 additions & 9 deletions src/api/providers/__tests__/roo.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,14 @@ vitest.mock("../../providers/fetchers/modelCache", () => ({
getModelsFromCache: vitest.fn((provider: string) => {
if (provider === "roo") {
return {
"xai/grok-code-fast-1": {
maxTokens: 16_384,
contextWindow: 262_144,
supportsImages: false,
supportsReasoningEffort: true, // Enable reasoning for tests
"anthropic/claude-sonnet-4.5": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think opus might be a better choice? Could end up being cheaper than sonnet if you use the full 1M token context window that we normally provide in the Roo Code Router.

maxTokens: 8_192,
contextWindow: 200_000,
supportsImages: true,
supportsReasoningEffort: true,
supportsPromptCache: true,
inputPrice: 0,
outputPrice: 0,
inputPrice: 3,
outputPrice: 15,
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to add the cache price too

"minimax/minimax-m2:free": {
maxTokens: 32_768,
Expand Down Expand Up @@ -141,7 +141,7 @@ describe("RooHandler", () => {

beforeEach(() => {
mockOptions = {
apiModelId: "xai/grok-code-fast-1",
apiModelId: "anthropic/claude-sonnet-4.5",
}
// Set up CloudService mocks for successful authentication
mockHasInstanceFn.mockReturnValue(true)
Expand Down Expand Up @@ -410,7 +410,7 @@ describe("RooHandler", () => {

it("should handle any model ID since models are loaded dynamically", () => {
// Test with various model IDs - they should all work since models are loaded dynamically
const testModelIds = ["xai/grok-code-fast-1", "roo/sonic", "deepseek/deepseek-chat-v3.1"]
const testModelIds = ["anthropic/claude-sonnet-4.5", "roo/sonic", "deepseek/deepseek-chat-v3.1"]

for (const modelId of testModelIds) {
const handlerWithModel = new RooHandler({ apiModelId: modelId })
Expand Down
8 changes: 4 additions & 4 deletions src/api/providers/fetchers/__tests__/roo.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ describe("getRooModels", () => {
object: "list",
data: [
{
id: "xai/grok-code-fast-1",
id: "anthropic/claude-sonnet-4.5",
object: "model",
created: 1234567890,
owned_by: "xai",
name: "Grok Code Fast 1",
owned_by: "anthropic",
name: "Claude Sonnet 4.5",
description: "Fast coding model",
context_window: 262144,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess doesn't matter for a test, but these stats don't match

max_tokens: 16384,
Expand Down Expand Up @@ -63,7 +63,7 @@ describe("getRooModels", () => {
)

expect(models).toEqual({
"xai/grok-code-fast-1": {
"anthropic/claude-sonnet-4.5": {
maxTokens: 16384,
contextWindow: 262144,
supportsImages: true,
Expand Down
Loading