Skip to content
Merged
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ body:
attributes:
value: |
---
Optional (for contributors): You can stop here if you're just proposing the improvement.
Optional: You can stop here if you're just proposing the improvement.
- type: textarea
id: acceptance-criteria
Expand Down
74 changes: 0 additions & 74 deletions .github/workflows/evals.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/update-contributors.yml

This file was deleted.

59 changes: 0 additions & 59 deletions .github/workflows/website-deploy.yml

This file was deleted.

102 changes: 0 additions & 102 deletions .github/workflows/website-preview.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ async function createSessionWithCustomId(
"dev",
"--print",
"--provider",
"roo",
"openrouter",
"--output-format",
"stream-json",
"--workspace",
Expand Down Expand Up @@ -148,7 +148,7 @@ async function resumeSessionAndSendMarker(
"--print",
"--stdin-prompt-stream",
"--provider",
"roo",
"openrouter",
"--output-format",
"stream-json",
"--workspace",
Expand Down
2 changes: 1 addition & 1 deletion apps/cli/scripts/integration/lib/stream-harness.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ export async function runStreamCase(options: RunStreamCaseOptions): Promise<void

const child = execa(
"pnpm",
["dev", "--print", "--stdin-prompt-stream", "--provider", "roo", "--output-format", "stream-json"],
["dev", "--print", "--stdin-prompt-stream", "--provider", "openrouter", "--output-format", "stream-json"],
{
cwd: cliRoot,
stdin: "pipe",
Expand Down
28 changes: 28 additions & 0 deletions apps/cli/src/commands/cli/__tests__/list.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { readWorkspaceTaskSessions } from "@/lib/task-history/index.js"
import { isRecord } from "@/lib/utils/guards.js"

import { listSessions, parseFormat } from "../list.js"

Expand Down Expand Up @@ -38,6 +39,33 @@ describe("parseFormat", () => {
})
})

describe("router model extraction", () => {
// This mirrors the extraction logic in requestOpenRouterModels (list.ts:226-228)
const extractOpenRouterModels = (routerModelsRaw: unknown) => {
const routerModels = isRecord(routerModelsRaw) ? routerModelsRaw : {}
const openRouterModels = routerModels.openrouter
return isRecord(openRouterModels) ? openRouterModels : {}
}

it("extracts openrouter models from valid routerModels", () => {
const models = { "openai/gpt-4.1": { contextWindow: 128000, supportsPromptCache: false } }
const result = extractOpenRouterModels({ openrouter: models })
expect(result).toEqual(models)
})

it("returns empty object when routerModels is null", () => {
expect(extractOpenRouterModels(null)).toEqual({})
})

it("returns empty object when openrouter key is missing", () => {
expect(extractOpenRouterModels({ requesty: {} })).toEqual({})
})

it("returns empty object when openrouter value is not a record", () => {
expect(extractOpenRouterModels({ openrouter: "invalid" })).toEqual({})
})
})

describe("listSessions", () => {
const workspacePath = process.cwd()

Expand Down
Loading
Loading