Skip to content

Commit 5662341

Browse files
committed
Merge branch 'main' into feat-task-header-api-cost
2 parents 6d26edd + 9a50235 commit 5662341

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+866
-895
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Roo Code Changelog
22

3+
## [3.11.17] - 2025-04-14
4+
5+
- Improvements to OpenAI cache reporting and cost estimates (thanks @monotykamary and Cline!)
6+
- Visual improvements to the auto-approve toggles (thanks @sachasayan!)
7+
- Bugfix to diff apply logic (thanks @avtc for the test case!) and telemetry to track errors going forward
8+
- Fix race condition in capturing short-running terminal commands (thanks @KJ7LNW!)
9+
- Fix eslint error (thanks @nobu007!)
10+
11+
## [3.11.16] - 2025-04-14
12+
13+
- Add gpt-4.1, gpt-4.1-mini, and gpt-4.1-nano to the OpenAI provider
14+
- Include model ID in environment details and when exporting tasks (thanks @feifei325!)
15+
316
## [3.11.15] - 2025-04-13
417

518
- Add ability to filter task history by workspace (thanks @samhvw8!)

e2e/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"private": true,
55
"scripts": {
6-
"lint": "eslint src --ext ts",
6+
"lint": "eslint src/**/*.ts",
77
"check-types": "tsc --noEmit",
88
"test": "npm run build && npx dotenvx run -f .env.local -- node ./out/runTest.js",
99
"ci": "npm run vscode-test && npm run test",

evals/apps/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"private": true,
44
"type": "module",
55
"scripts": {
6-
"lint": "eslint src --ext ts --max-warnings=0",
6+
"lint": "eslint src/**/*.ts --max-warnings=0",
77
"check-types": "tsc --noEmit",
88
"format": "prettier --write src",
99
"dev": "dotenvx run -f ../../.env -- tsx src/index.ts"

evals/apps/cli/src/index.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ const runUnitTest = async ({ task }: { task: Task }) => {
372372
})
373373

374374
console.log(
375-
`${Date.now()} [cli#runUnitTest | ${task.language} / ${task.exercise}] "${command.join(" ")}": ${subprocess.pid} -> ${JSON.stringify(descendants)}`,
375+
`${Date.now()} [cli#runUnitTest | ${task.language} / ${task.exercise}] "${command.join(" ")}": unit tests timed out, killing ${subprocess.pid} + ${JSON.stringify(descendants)}`,
376376
)
377377

378378
if (descendants.length > 0) {
@@ -384,7 +384,10 @@ const runUnitTest = async ({ task }: { task: Task }) => {
384384

385385
await execa`kill -9 ${descendant}`
386386
} catch (error) {
387-
console.error("Error killing descendant processes:", error)
387+
console.error(
388+
`${Date.now()} [cli#runUnitTest | ${task.language} / ${task.exercise}] Error killing descendant processes:`,
389+
error,
390+
)
388391
}
389392
}
390393
}
@@ -396,7 +399,10 @@ const runUnitTest = async ({ task }: { task: Task }) => {
396399
try {
397400
await execa`kill -9 ${subprocess.pid!}`
398401
} catch (error) {
399-
console.error("Error killing process:", error)
402+
console.error(
403+
`${Date.now()} [cli#runUnitTest | ${task.language} / ${task.exercise}] Error killing process:`,
404+
error,
405+
)
400406
}
401407
}, UNIT_TEST_TIMEOUT)
402408

evals/packages/db/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "module",
55
"exports": "./src/index.ts",
66
"scripts": {
7-
"lint": "eslint src --ext ts --max-warnings=0",
7+
"lint": "eslint src/**/*.ts --max-warnings=0",
88
"check-types": "tsc --noEmit",
99
"format": "prettier --write src",
1010
"drizzle-kit": "dotenvx run -f ../../.env -- tsx node_modules/drizzle-kit/bin.cjs",
@@ -23,6 +23,7 @@
2323
"@libsql/client": "^0.14.0",
2424
"drizzle-orm": "^0.40.0",
2525
"drizzle-zod": "^0.7.0",
26+
"p-map": "^7.0.3",
2627
"zod": "^3.24.2"
2728
},
2829
"devDependencies": {

evals/packages/db/scripts/copy-run.mts

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { drizzle } from "drizzle-orm/libsql"
22
import { eq } from "drizzle-orm"
3+
import pMap from "p-map"
34

45
import { db as sourceDb } from "../src/db.js"
56
import { schema } from "../src/schema.js"
@@ -52,29 +53,33 @@ const copyRun = async (runId: number) => {
5253

5354
console.log(`Copying ${tasks.length} tasks`)
5455

55-
for (const task of tasks) {
56-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
57-
const { id: _, ...newTaskMetricsValues } = task.taskMetrics!
58-
const [newTaskMetrics] = await destDb.insert(schema.taskMetrics).values(newTaskMetricsValues).returning()
59-
60-
if (!newTaskMetrics) {
61-
throw new Error(`Failed to insert taskMetrics for task ${task.id}`)
62-
}
63-
64-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
65-
const { id: __, ...newTaskValues } = task
66-
67-
const [newTask] = await destDb
68-
.insert(schema.tasks)
69-
.values({ ...newTaskValues, runId: newRun.id, taskMetricsId: newTaskMetrics.id })
70-
.returning()
71-
72-
if (!newTask) {
73-
throw new Error(`Failed to insert task ${task.id}`)
74-
}
75-
}
76-
77-
console.log(`Successfully copied run ${runId} with ${tasks.length} tasks`)
56+
await pMap(
57+
tasks,
58+
async (task) => {
59+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
60+
const { id: _, ...newTaskMetricsValues } = task.taskMetrics!
61+
const [newTaskMetrics] = await destDb.insert(schema.taskMetrics).values(newTaskMetricsValues).returning()
62+
63+
if (!newTaskMetrics) {
64+
throw new Error(`Failed to insert taskMetrics for task ${task.id}`)
65+
}
66+
67+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
68+
const { id: __, ...newTaskValues } = task
69+
70+
const [newTask] = await destDb
71+
.insert(schema.tasks)
72+
.values({ ...newTaskValues, runId: newRun.id, taskMetricsId: newTaskMetrics.id })
73+
.returning()
74+
75+
if (!newTask) {
76+
throw new Error(`Failed to insert task ${task.id}`)
77+
}
78+
},
79+
{ concurrency: 25 },
80+
)
81+
82+
console.log(`\nSuccessfully copied run ${runId} with ${tasks.length} tasks`)
7883
}
7984

8085
const main = async () => {

evals/packages/ipc/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "module",
55
"exports": "./src/index.ts",
66
"scripts": {
7-
"lint": "eslint src --ext ts --max-warnings=0",
7+
"lint": "eslint src/**/*.ts --max-warnings=0",
88
"check-types": "tsc --noEmit",
99
"format": "prettier --write src"
1010
},

evals/packages/lib/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "module",
55
"exports": "./src/index.ts",
66
"scripts": {
7-
"lint": "eslint src --ext ts --max-warnings=0",
7+
"lint": "eslint src/**/*.ts --max-warnings=0",
88
"check-types": "tsc --noEmit",
99
"test": "vitest --globals --run",
1010
"format": "prettier --write src"

evals/packages/types/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "module",
55
"exports": "./src/index.ts",
66
"scripts": {
7-
"lint": "eslint src --ext ts --max-warnings=0",
7+
"lint": "eslint src/**/*.ts --max-warnings=0",
88
"check-types": "tsc --noEmit",
99
"format": "prettier --write src"
1010
},

evals/packages/types/src/roo-code-defaults.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export const rooCodeDefaults: RooCodeSettings = {
66

77
// modelTemperature: null,
88
// reasoningEffort: "high",
9+
rateLimitSeconds: 0,
910

1011
pinnedApiConfigs: {},
1112
lastShownAnnouncementId: "apr-04-2025-boomerang",
@@ -44,15 +45,15 @@ export const rooCodeDefaults: RooCodeSettings = {
4445
maxReadFileLine: 500,
4546

4647
terminalOutputLineLimit: 500,
47-
terminalShellIntegrationTimeout: 30_000,
48-
// terminalCommandDelay: 0,
49-
// terminalPowershellCounter: false,
50-
// terminalZshClearEolMark: true,
51-
// terminalZshOhMy: true,
52-
// terminalZshP10k: false,
53-
// terminalZdotdir: true,
48+
terminalShellIntegrationTimeout: 15_000,
49+
terminalCommandDelay: 0,
50+
terminalPowershellCounter: false,
51+
terminalZshClearEolMark: true,
52+
terminalZshOhMy: true,
53+
terminalZshP10k: false,
54+
terminalZdotdir: true,
5455

55-
diffEnabled: false,
56+
diffEnabled: true,
5657
fuzzyMatchThreshold: 1.0,
5758
experiments: {
5859
search_and_replace: false,

0 commit comments

Comments
 (0)