mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import * as fs from "fs"
|
|
|
|
import { run, command, option, flag, number, boolean } from "cmd-ts"
|
|
|
|
import { EVALS_REPO_PATH } from "../exercises/index.js"
|
|
|
|
import { runCi } from "./runCi.js"
|
|
import { runEvals } from "./runEvals.js"
|
|
import { processTask } from "./processTask.js"
|
|
|
|
const main = async () => {
|
|
await run(
|
|
command({
|
|
name: "cli",
|
|
description: "Execute an eval run.",
|
|
version: "0.0.0",
|
|
args: {
|
|
ci: flag({ type: boolean, long: "ci", defaultValue: () => false }),
|
|
runId: option({ type: number, long: "runId", short: "r", defaultValue: () => -1 }),
|
|
taskId: option({ type: number, long: "taskId", short: "t", defaultValue: () => -1 }),
|
|
},
|
|
handler: async (args) => {
|
|
const { runId, taskId, ci } = args
|
|
|
|
try {
|
|
if (ci) {
|
|
await runCi({ concurrency: 3, exercisesPerLanguage: 5 })
|
|
} else if (runId !== -1) {
|
|
await runEvals(runId)
|
|
} else if (taskId !== -1) {
|
|
await processTask({ taskId, jobToken: process.env.ROO_CODE_CLOUD_TOKEN || null })
|
|
} else {
|
|
throw new Error("Either runId or taskId must be provided.")
|
|
}
|
|
} catch (error) {
|
|
console.error(error)
|
|
process.exit(1)
|
|
}
|
|
},
|
|
}),
|
|
process.argv.slice(2),
|
|
)
|
|
|
|
process.exit(0)
|
|
}
|
|
|
|
if (!fs.existsSync(EVALS_REPO_PATH)) {
|
|
console.error(
|
|
`Exercises do not exist at ${EVALS_REPO_PATH}. Please run "git clone https://github.com/RooCodeInc/Roo-Code-Evals.git evals".`,
|
|
)
|
|
|
|
process.exit(1)
|
|
}
|
|
|
|
main()
|