Skip to content

Commit 80212a2

Browse files
committed
fix(deepagent-code): isolate http api exerciser state
1 parent 07e7e40 commit 80212a2

3 files changed

Lines changed: 39 additions & 17 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
await import("../test/server/httpapi-exercise/environment-bootstrap")
12
await import("../test/server/httpapi-exercise/index")
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import path from "path"
2+
3+
export const preserveExerciseGlobalRoot = !!process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_GLOBAL
4+
export const exerciseGlobalRoot =
5+
process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_GLOBAL ??
6+
path.join(process.env.TMPDIR ?? "/tmp", `deepagent-code-httpapi-global-${process.pid}`)
7+
8+
process.env.XDG_DATA_HOME = path.join(exerciseGlobalRoot, "data")
9+
process.env.XDG_CONFIG_HOME = path.join(exerciseGlobalRoot, "config")
10+
process.env.XDG_STATE_HOME = path.join(exerciseGlobalRoot, "state")
11+
process.env.XDG_CACHE_HOME = path.join(exerciseGlobalRoot, "cache")
12+
process.env.DEEPAGENT_CODE_DISABLE_SHARE = "true"
13+
14+
export const exerciseConfigDirectory = path.join(exerciseGlobalRoot, "config", "deepagent-code")
15+
export const exerciseDataDirectory = path.join(exerciseGlobalRoot, "data", "deepagent-code")
16+
process.env.DEEPAGENT_CODE_HOME = exerciseDataDirectory
17+
process.env.DEEPAGENT_CODE_EXPERIMENTAL_EXPERT_PANEL = "false"
18+
process.env.DEEPAGENT_CODE_EXPERIMENTAL_GOAL_LOOP = "false"
19+
process.env.DEEPAGENT_CODE_EXPERIMENTAL_WIKI = "false"
20+
process.env.DEEPAGENT_CODE_V4_FILE_UPLOAD_ENABLED = "false"
21+
process.env.DEEPAGENT_CODE_V4_MULTI_AGENT_RUNTIME = "false"
22+
process.env.DEEPAGENT_CODE_V4_THREAD_ENABLED = "false"
23+
24+
export const preserveExerciseDatabase = !!process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_DB
25+
export const exerciseDatabasePath =
26+
process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_DB ??
27+
path.join(process.env.TMPDIR ?? "/tmp", `deepagent-code-httpapi-exercise-${process.pid}.db`)
28+
29+
process.env.DEEPAGENT_CODE_DB = exerciseDatabasePath

packages/deepagent-code/test/server/httpapi-exercise/environment.ts

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
import { Flag } from "@deepagent-code/core/flag/flag"
22
import { Effect } from "effect"
3-
import path from "path"
3+
import {
4+
exerciseConfigDirectory,
5+
exerciseDataDirectory,
6+
exerciseDatabasePath,
7+
exerciseGlobalRoot,
8+
preserveExerciseDatabase,
9+
preserveExerciseGlobalRoot,
10+
} from "./environment-bootstrap"
411

5-
const preserveExerciseGlobalRoot = !!process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_GLOBAL
6-
export const exerciseGlobalRoot =
7-
process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_GLOBAL ??
8-
path.join(process.env.TMPDIR ?? "/tmp", `deepagent-code-httpapi-global-${process.pid}`)
9-
process.env.XDG_DATA_HOME = path.join(exerciseGlobalRoot, "data")
10-
process.env.XDG_CONFIG_HOME = path.join(exerciseGlobalRoot, "config")
11-
process.env.XDG_STATE_HOME = path.join(exerciseGlobalRoot, "state")
12-
process.env.XDG_CACHE_HOME = path.join(exerciseGlobalRoot, "cache")
13-
process.env.DEEPAGENT_CODE_DISABLE_SHARE = "true"
14-
export const exerciseConfigDirectory = path.join(exerciseGlobalRoot, "config", "deepagent-code")
15-
export const exerciseDataDirectory = path.join(exerciseGlobalRoot, "data", "deepagent-code")
12+
export { exerciseConfigDirectory, exerciseDataDirectory, exerciseDatabasePath, exerciseGlobalRoot }
1613

17-
const preserveExerciseDatabase = !!process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_DB
18-
export const exerciseDatabasePath =
19-
process.env.DEEPAGENT_CODE_HTTPAPI_EXERCISE_DB ??
20-
path.join(process.env.TMPDIR ?? "/tmp", `deepagent-code-httpapi-exercise-${process.pid}.db`)
21-
process.env.DEEPAGENT_CODE_DB = exerciseDatabasePath
2214
Flag.DEEPAGENT_CODE_DB = exerciseDatabasePath
2315

2416
export const original = {

0 commit comments

Comments
 (0)