Skip to content

Commit 9466f05

Browse files
committed
More progress
1 parent e8db2fb commit 9466f05

File tree

17 files changed

+121
-132
lines changed

17 files changed

+121
-132
lines changed

benchmark/.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,3 @@ yarn-error.log*
3737
# Misc
3838
.DS_Store
3939
*.pem
40-
41-
# Roo-Code-Benchmark
42-
exercises

benchmark/apps/cli/src/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import { runTests } from "@vscode/test-electron"
99
import { type Language, languages, type Run, findRun, createRun, getTask } from "@benchmark/db"
1010

1111
const __dirname = path.dirname(fileURLToPath(import.meta.url))
12-
const extensionDevelopmentPath = path.resolve(__dirname, "../../../..")
12+
const extensionDevelopmentPath = path.resolve(__dirname, "..", "..", "..", "..")
1313
const extensionTestsPath = path.resolve(extensionDevelopmentPath, "benchmark/packages/runner/dist")
14-
const exercisesPath = path.resolve(extensionDevelopmentPath, "benchmark/exercises")
14+
const exercisesPath = path.resolve(extensionDevelopmentPath, "..", "exercises")
1515

1616
export const isLanguage = (language: string): language is Language => languages.includes(language as Language)
1717

@@ -87,10 +87,12 @@ const runExercise = async ({ run, language, exercise }: { run: Run; language: La
8787
extensionTestsPath,
8888
launchArgs: [workspacePath, "--disable-extensions"],
8989
extensionTestsEnv: {
90+
RUN_ID: run.id.toString(),
91+
LANGUAGE: language,
92+
EXERCISE: exercise,
9093
PROMPT_PATH: promptPath,
9194
WORKSPACE_PATH: workspacePath,
9295
OPENROUTER_MODEL_ID: run.model,
93-
RUN_ID: run.id.toString(),
9496
},
9597
})
9698

benchmark/apps/web/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"lint": "next lint",
66
"check-types": "tsc -b",
77
"dev": "dotenvx run -f ../../.env -- next dev --turbopack",
8+
"format": "prettier --write src",
89
"build": "echo 'NOP' || next build",
9-
"start": "next start",
10-
"format": "prettier --write src"
10+
"start": "next start"
1111
},
1212
"dependencies": {
1313
"@benchmark/db": "workspace:^",

benchmark/packages/db/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"lint": "eslint src --ext ts --max-warnings=0",
1313
"check-types": "tsc --noEmit",
1414
"format": "prettier --write src",
15+
"build": "tsup",
1516
"drizzle-kit": "dotenvx run -f ../../.env -- tsx node_modules/drizzle-kit/bin.cjs",
1617
"db:generate": "pnpm drizzle-kit generate",
1718
"db:migrate": "pnpm drizzle-kit migrate",
@@ -25,7 +26,6 @@
2526
"@libsql/client": "^0.14.0",
2627
"drizzle-orm": "^0.40.0",
2728
"drizzle-zod": "^0.7.0",
28-
"libsql": "^0.5.1",
2929
"zod": "^3.24.2"
3030
},
3131
"devDependencies": {

benchmark/packages/db/src/queries/tasks.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,13 @@ export const createTask = async (args: InsertTask) => {
3434
return task
3535
}
3636

37-
export const getTask = async ({ runId, language, exercise }: { runId: number; language: Language; exercise: string }) =>
37+
type GetTask = {
38+
runId: number
39+
language: Language
40+
exercise: string
41+
}
42+
43+
export const getTask = async ({ runId, language, exercise }: GetTask) =>
3844
db.query.tasks.findFirst({
3945
where: and(eq(tasks.runId, runId), eq(tasks.language, language), eq(tasks.exercise, exercise)),
4046
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "@benchmark/typescript-config/cjs.json",
3+
"compilerOptions": {
4+
"outDir": "dist"
5+
},
6+
"include": ["src"],
7+
"exclude": ["node_modules"]
8+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { defineConfig } from "tsup"
2+
3+
export default defineConfig({
4+
entry: ["src/index.ts"],
5+
format: ["cjs"],
6+
dts: true,
7+
sourcemap: true,
8+
clean: true,
9+
outExtension: ({ format }) => ({ js: format === "cjs" ? ".cjs" : ".js" }),
10+
tsconfig: "tsconfig.cjs.json",
11+
})

benchmark/packages/ipc/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
"lint": "eslint src --ext ts --max-warnings=0",
1313
"check-types": "tsc --noEmit",
1414
"format": "prettier --write src",
15-
"build": "tsup",
16-
"test:server": "tsx scripts/server.ts",
17-
"test:client": "tsx scripts/client.ts"
15+
"build": "tsup"
1816
},
1917
"dependencies": {
2018
"node-ipc": "^12.0.0",

benchmark/packages/ipc/src/ipcServer.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
import { Socket } from "node:net"
22
import * as crypto from "node:crypto"
3+
import EventEmitter from "node:events"
34

45
import ipc from "node-ipc"
56

67
import { ClientMessageType, ServerMessage, ServerMessageType, clientMessageSchema } from "./types.js"
78

8-
export class IpcServer {
9+
type IpcServerEvents = {
10+
client: [id: string]
11+
}
12+
13+
export class IpcServer extends EventEmitter<IpcServerEvents> {
914
private readonly _socketPath: string
1015
private readonly _log: (...args: unknown[]) => void
1116
private readonly _clients: Map<string, Socket>
1217

1318
private _isListening = false
1419

1520
constructor(socketPath: string, log = console.log) {
21+
super()
22+
1623
this._socketPath = socketPath
1724
this._log = log
1825
this._clients = new Map()
@@ -37,6 +44,7 @@ export class IpcServer {
3744
this._clients.set(clientId, socket)
3845
this.log(`[server#onConnect] clientId = ${clientId}, # clients = ${this._clients.size}`)
3946
this.send(socket, { type: ServerMessageType.Hello, data: { clientId } })
47+
this.emit("client", clientId)
4048
}
4149

4250
private onMessage(data: unknown, socket: Socket) {
@@ -88,9 +96,18 @@ export class IpcServer {
8896
ipc.server.broadcast("message", message)
8997
}
9098

91-
public send(socket: Socket, message: ServerMessage) {
99+
public send(client: string | Socket, message: ServerMessage) {
92100
this.log("[server#send] message =", message)
93-
ipc.server.emit(socket, "message", message)
101+
102+
if (typeof client === "string") {
103+
const socket = this._clients.get(client)
104+
105+
if (socket) {
106+
ipc.server.emit(socket, "message", message)
107+
}
108+
} else {
109+
ipc.server.emit(client, "message", message)
110+
}
94111
}
95112

96113
public get socketPath() {

benchmark/packages/ipc/tsup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ export default defineConfig({
88
clean: true,
99
outExtension: ({ format }) => ({ js: format === "cjs" ? ".cjs" : ".js" }),
1010
tsconfig: "tsconfig.cjs.json",
11-
noExternal: ["node-ipc", "zod"],
11+
noExternal: ["node-ipc"],
1212
})

0 commit comments

Comments
 (0)