Skip to content

Commit 5214c7a

Browse files
committed
Merge main and resolve pnpm-lock.yaml conflicts
2 parents 1a4a733 + 1e71015 commit 5214c7a

File tree

498 files changed

+33516
-9091
lines changed

Some content is hidden

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

498 files changed

+33516
-9091
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ body:
8181
- DeepSeek
8282
- Featherless AI
8383
- Fireworks AI
84-
- Glama
8584
- Google Gemini
8685
- Google Vertex AI
8786
- Groq

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,6 @@ logs
4949

5050
# Qdrant
5151
qdrant_storage/
52+
53+
# Architect plans
54+
plans/

.roo/roomotes.yml

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,6 @@
11
version: "1.0"
22

33
commands:
4-
- name: Pull latest changes
5-
run: git pull
6-
timeout: 60
7-
execution_phase: task_run
84
- name: Install dependencies
95
run: pnpm install
106
timeout: 60
11-
execution_phase: task_run
12-
13-
github_events:
14-
- event: issues.opened
15-
action:
16-
name: github.issue.fix
17-
- event: issue_comment.created
18-
action:
19-
name: github.issue.comment.respond
20-
- event: pull_request.opened
21-
action:
22-
name: github.pr.review
23-
- event: pull_request_review_comment.created
24-
action:
25-
name: github.pr.comment.respond

CHANGELOG.md

Lines changed: 220 additions & 1 deletion
Large diffs are not rendered by default.

apps/web-evals/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"cmdk": "^1.1.0",
3636
"fuzzysort": "^3.1.0",
3737
"lucide-react": "^0.518.0",
38-
"next": "~15.2.6",
38+
"next": "~15.2.8",
3939
"next-themes": "^0.4.6",
4040
"p-map": "^7.0.3",
4141
"react": "^18.3.1",

apps/web-evals/src/app/api/runs/[id]/logs/failed/route.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,26 +61,44 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
6161
archive.on("error", reject)
6262
})
6363

64-
// Add each failed task's log file to the archive
64+
// Add each failed task's log file and history files to the archive
6565
const logDir = path.join(LOG_BASE_PATH, String(runId))
6666
let filesAdded = 0
6767

6868
for (const task of failedTasks) {
6969
// Sanitize language and exercise to prevent path traversal
7070
const safeLanguage = sanitizePathComponent(task.language)
7171
const safeExercise = sanitizePathComponent(task.exercise)
72+
const expectedBase = path.resolve(LOG_BASE_PATH)
73+
74+
// Add the log file
7275
const logFileName = `${safeLanguage}-${safeExercise}.log`
7376
const logFilePath = path.join(logDir, logFileName)
7477

7578
// Verify the resolved path is within the expected directory (defense in depth)
76-
const resolvedPath = path.resolve(logFilePath)
77-
const expectedBase = path.resolve(LOG_BASE_PATH)
78-
if (!resolvedPath.startsWith(expectedBase)) {
79-
continue // Skip files with suspicious paths
79+
const resolvedLogPath = path.resolve(logFilePath)
80+
if (resolvedLogPath.startsWith(expectedBase) && fs.existsSync(logFilePath)) {
81+
archive.file(logFilePath, { name: logFileName })
82+
filesAdded++
8083
}
8184

82-
if (fs.existsSync(logFilePath)) {
83-
archive.file(logFilePath, { name: logFileName })
85+
// Add the API conversation history file
86+
// Format: {language}-{exercise}.{iteration}_api_conversation_history.json
87+
const apiHistoryFileName = `${safeLanguage}-${safeExercise}.${task.iteration}_api_conversation_history.json`
88+
const apiHistoryFilePath = path.join(logDir, apiHistoryFileName)
89+
const resolvedApiHistoryPath = path.resolve(apiHistoryFilePath)
90+
if (resolvedApiHistoryPath.startsWith(expectedBase) && fs.existsSync(apiHistoryFilePath)) {
91+
archive.file(apiHistoryFilePath, { name: apiHistoryFileName })
92+
filesAdded++
93+
}
94+
95+
// Add the UI messages file
96+
// Format: {language}-{exercise}.{iteration}_ui_messages.json
97+
const uiMessagesFileName = `${safeLanguage}-${safeExercise}.${task.iteration}_ui_messages.json`
98+
const uiMessagesFilePath = path.join(logDir, uiMessagesFileName)
99+
const resolvedUiMessagesPath = path.resolve(uiMessagesFilePath)
100+
if (resolvedUiMessagesPath.startsWith(expectedBase) && fs.existsSync(uiMessagesFilePath)) {
101+
archive.file(uiMessagesFilePath, { name: uiMessagesFileName })
84102
filesAdded++
85103
}
86104
}

0 commit comments

Comments
 (0)