@prismatic-io/lux 0.0.2-preview.29 → 0.0.2-preview.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/lib/answerers/persona/index.d.ts +6 -0
  2. package/lib/answerers/persona/index.d.ts.map +1 -1
  3. package/lib/answerers/persona/index.js +5 -0
  4. package/lib/answerers/persona/index.js.map +1 -1
  5. package/lib/assertions/core/command-exits-zero.d.ts +2 -0
  6. package/lib/assertions/core/command-exits-zero.d.ts.map +1 -1
  7. package/lib/assertions/core/command-exits-zero.js +46 -4
  8. package/lib/assertions/core/command-exits-zero.js.map +1 -1
  9. package/lib/assertions/rubric/index.d.ts +16 -0
  10. package/lib/assertions/rubric/index.d.ts.map +1 -1
  11. package/lib/assertions/rubric/index.js +34 -3
  12. package/lib/assertions/rubric/index.js.map +1 -1
  13. package/lib/assertions/rubric/internal.d.ts +14 -0
  14. package/lib/assertions/rubric/internal.d.ts.map +1 -1
  15. package/lib/assertions/rubric/internal.js +122 -12
  16. package/lib/assertions/rubric/internal.js.map +1 -1
  17. package/lib/core/agent-environment.d.ts +5 -0
  18. package/lib/core/agent-environment.d.ts.map +1 -0
  19. package/lib/core/agent-environment.js +47 -0
  20. package/lib/core/agent-environment.js.map +1 -0
  21. package/lib/core/command-verification.d.ts +10 -0
  22. package/lib/core/command-verification.d.ts.map +1 -0
  23. package/lib/core/command-verification.js +66 -0
  24. package/lib/core/command-verification.js.map +1 -0
  25. package/lib/core/driver.d.ts +7 -0
  26. package/lib/core/driver.d.ts.map +1 -1
  27. package/lib/core/driver.js +2 -0
  28. package/lib/core/driver.js.map +1 -1
  29. package/lib/core/index.d.ts +2 -0
  30. package/lib/core/index.d.ts.map +1 -1
  31. package/lib/core/index.js +2 -0
  32. package/lib/core/index.js.map +1 -1
  33. package/lib/core/model-cli.d.ts +5 -0
  34. package/lib/core/model-cli.d.ts.map +1 -1
  35. package/lib/core/model-cli.js +8 -2
  36. package/lib/core/model-cli.js.map +1 -1
  37. package/lib/core/run.d.ts +5 -0
  38. package/lib/core/run.d.ts.map +1 -1
  39. package/lib/core/secure-copy.d.ts.map +1 -0
  40. package/lib/core/secure-copy.js.map +1 -0
  41. package/lib/drivers/antigravity/config.d.ts +3 -0
  42. package/lib/drivers/antigravity/config.d.ts.map +1 -1
  43. package/lib/drivers/antigravity/config.js +2 -0
  44. package/lib/drivers/antigravity/config.js.map +1 -1
  45. package/lib/drivers/antigravity/index.d.ts +4 -0
  46. package/lib/drivers/antigravity/index.d.ts.map +1 -1
  47. package/lib/drivers/antigravity/runtime.d.ts.map +1 -1
  48. package/lib/drivers/antigravity/runtime.js +7 -2
  49. package/lib/drivers/antigravity/runtime.js.map +1 -1
  50. package/lib/drivers/claude-code/index.d.ts +18 -4
  51. package/lib/drivers/claude-code/index.d.ts.map +1 -1
  52. package/lib/drivers/claude-code/index.js +97 -200
  53. package/lib/drivers/claude-code/index.js.map +1 -1
  54. package/lib/drivers/claude-code/isolation.d.ts +8 -0
  55. package/lib/drivers/claude-code/isolation.d.ts.map +1 -0
  56. package/lib/drivers/claude-code/isolation.js +199 -0
  57. package/lib/drivers/claude-code/isolation.js.map +1 -0
  58. package/lib/drivers/codex/config.d.ts +3 -0
  59. package/lib/drivers/codex/config.d.ts.map +1 -1
  60. package/lib/drivers/codex/config.js +2 -0
  61. package/lib/drivers/codex/config.js.map +1 -1
  62. package/lib/drivers/codex/index.d.ts +4 -0
  63. package/lib/drivers/codex/index.d.ts.map +1 -1
  64. package/lib/drivers/codex/index.js +52 -24
  65. package/lib/drivers/codex/index.js.map +1 -1
  66. package/lib/drivers/copilot/config.d.ts +3 -0
  67. package/lib/drivers/copilot/config.d.ts.map +1 -1
  68. package/lib/drivers/copilot/config.js +2 -0
  69. package/lib/drivers/copilot/config.js.map +1 -1
  70. package/lib/drivers/copilot/index.d.ts +4 -0
  71. package/lib/drivers/copilot/index.d.ts.map +1 -1
  72. package/lib/drivers/copilot/index.js +2 -1
  73. package/lib/drivers/copilot/index.js.map +1 -1
  74. package/lib/drivers/cursor/config.d.ts +1 -0
  75. package/lib/drivers/cursor/config.d.ts.map +1 -1
  76. package/lib/drivers/cursor/config.js +2 -0
  77. package/lib/drivers/cursor/config.js.map +1 -1
  78. package/lib/drivers/cursor/index.d.ts +2 -0
  79. package/lib/drivers/cursor/index.d.ts.map +1 -1
  80. package/lib/drivers/cursor/index.js +2 -1
  81. package/lib/drivers/cursor/index.js.map +1 -1
  82. package/lib/drivers/grok-build/config.d.ts +3 -0
  83. package/lib/drivers/grok-build/config.d.ts.map +1 -1
  84. package/lib/drivers/grok-build/config.js +2 -0
  85. package/lib/drivers/grok-build/config.js.map +1 -1
  86. package/lib/drivers/grok-build/index.d.ts +4 -0
  87. package/lib/drivers/grok-build/index.d.ts.map +1 -1
  88. package/lib/drivers/grok-build/index.js +2 -1
  89. package/lib/drivers/grok-build/index.js.map +1 -1
  90. package/lib/drivers/subprocess/index.d.ts +3 -3
  91. package/lib/drivers/subprocess/index.d.ts.map +1 -1
  92. package/lib/drivers/subprocess/index.js +5 -2
  93. package/lib/drivers/subprocess/index.js.map +1 -1
  94. package/lib/orchestrator/artifact-origin.d.ts +3 -0
  95. package/lib/orchestrator/artifact-origin.d.ts.map +1 -0
  96. package/lib/orchestrator/artifact-origin.js +40 -0
  97. package/lib/orchestrator/artifact-origin.js.map +1 -0
  98. package/lib/orchestrator/config.d.ts +6 -0
  99. package/lib/orchestrator/config.d.ts.map +1 -1
  100. package/lib/orchestrator/experiment-context.d.ts +2 -0
  101. package/lib/orchestrator/experiment-context.d.ts.map +1 -1
  102. package/lib/orchestrator/experiment-corpus.d.ts.map +1 -1
  103. package/lib/orchestrator/experiment-corpus.js +2 -2
  104. package/lib/orchestrator/experiment-corpus.js.map +1 -1
  105. package/lib/orchestrator/experiment-identity.d.ts.map +1 -1
  106. package/lib/orchestrator/experiment-identity.js +4 -4
  107. package/lib/orchestrator/experiment-identity.js.map +1 -1
  108. package/lib/orchestrator/fixture-identity.d.ts +1 -0
  109. package/lib/orchestrator/fixture-identity.d.ts.map +1 -1
  110. package/lib/orchestrator/fixture-identity.js +6 -1
  111. package/lib/orchestrator/fixture-identity.js.map +1 -1
  112. package/lib/orchestrator/orchestrator.d.ts.map +1 -1
  113. package/lib/orchestrator/orchestrator.js +2 -2
  114. package/lib/orchestrator/orchestrator.js.map +1 -1
  115. package/lib/orchestrator/run-execution.d.ts.map +1 -1
  116. package/lib/orchestrator/run-execution.js +14 -3
  117. package/lib/orchestrator/run-execution.js.map +1 -1
  118. package/package.json +1 -1
  119. package/skills/lux-answerer/SKILL.md +1 -1
  120. package/src/answerers/persona/index.ts +5 -0
  121. package/src/assertions/core/command-exits-zero.ts +57 -4
  122. package/src/assertions/rubric/index.ts +38 -3
  123. package/src/assertions/rubric/internal.ts +172 -11
  124. package/src/core/agent-environment.ts +64 -0
  125. package/src/core/command-verification.ts +74 -0
  126. package/src/core/driver.ts +4 -0
  127. package/src/core/index.ts +2 -0
  128. package/src/core/model-cli.ts +14 -2
  129. package/src/drivers/antigravity/config.ts +2 -0
  130. package/src/drivers/antigravity/runtime.ts +8 -2
  131. package/src/drivers/claude-code/index.ts +112 -221
  132. package/src/drivers/claude-code/isolation.ts +228 -0
  133. package/src/drivers/codex/config.ts +2 -0
  134. package/src/drivers/codex/index.ts +71 -31
  135. package/src/drivers/copilot/config.ts +2 -0
  136. package/src/drivers/copilot/index.ts +2 -1
  137. package/src/drivers/cursor/config.ts +2 -0
  138. package/src/drivers/cursor/index.ts +2 -1
  139. package/src/drivers/grok-build/config.ts +2 -0
  140. package/src/drivers/grok-build/index.ts +2 -1
  141. package/src/drivers/subprocess/index.ts +5 -2
  142. package/src/orchestrator/artifact-origin.ts +50 -0
  143. package/src/orchestrator/experiment-corpus.ts +10 -7
  144. package/src/orchestrator/experiment-identity.ts +16 -13
  145. package/src/orchestrator/fixture-identity.ts +9 -1
  146. package/src/orchestrator/orchestrator.ts +12 -6
  147. package/src/orchestrator/run-execution.ts +21 -4
  148. package/lib/drivers/shared/secure-copy.d.ts.map +0 -1
  149. package/lib/drivers/shared/secure-copy.js.map +0 -1
  150. /package/lib/{drivers/shared → core}/secure-copy.d.ts +0 -0
  151. /package/lib/{drivers/shared → core}/secure-copy.js +0 -0
  152. /package/src/{drivers/shared → core}/secure-copy.ts +0 -0
@@ -1,16 +1,17 @@
1
- import { cp, mkdir, readdir, realpath, rm, writeFile } from "node:fs/promises";
2
- import { homedir } from "node:os";
3
- import { dirname, join, resolve, sep } from "node:path";
1
+ import { cp, mkdir, realpath, rm, writeFile } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
4
3
  import { temporaryDirectory } from "tempy";
5
4
  import { z } from "zod";
5
+ import { agentEnvironment, InheritEnvironmentSchema } from "../../core/agent-environment.js";
6
6
  import { DurationSchema, durationMs } from "../../core/duration.js";
7
7
  import { applyCatalogEffort, claudeCodeCatalog, DEFAULT_CLAUDE_MODEL, defineDriver, discoverCliVersion, selectModelAndReasoningEffort, TypedEmitter, } from "../../core/index.js";
8
+ import { copyRegularFileNoFollow } from "../../core/secure-copy.js";
8
9
  import { walkArtifacts } from "../shared/artifacts.js";
9
10
  import { claudeConfigRoot, claudeUserBehaviorHash, configuredClaudeSourceHashes, } from "../shared/experiment-behavior.js";
10
11
  import { prepareClaudeExperimentConfig } from "../shared/experiment-policy.js";
11
- import { copyRegularFileNoFollow } from "../shared/secure-copy.js";
12
12
  import { subprocessDriver } from "../subprocess/index.js";
13
13
  import { runDeferredProcess } from "./deferred-process.js";
14
+ import { isolatedLaunch } from "./isolation.js";
14
15
  import { ClaudeCodeLineSchema, makeParseEvent } from "./parse-events.js";
15
16
  const LUX_BOOKKEEPING_FILES = new Set([
16
17
  "events.jsonl",
@@ -23,12 +24,23 @@ const LUX_BOOKKEEPING_FILES = new Set([
23
24
  const commandName = (command) => command.split(/[\\/]/).at(-1) ?? command;
24
25
  const ISOLATION_RESERVED_ARGS = new Set([
25
26
  "--add-dir",
27
+ "--dangerously-skip-permissions",
28
+ "--allow-dangerously-skip-permissions",
29
+ "--permission-mode",
30
+ "--teleport",
31
+ "--continue",
32
+ "-c",
33
+ "--resume",
34
+ "-r",
35
+ "--fork-session",
36
+ "--session-id",
26
37
  "--agent",
27
38
  "--agents",
28
39
  "--bare",
29
40
  "--mcp-config",
30
41
  "--no-session-persistence",
31
42
  "--plugin-dir",
43
+ "--plugin-dir-no-mcp",
32
44
  "--plugin-url",
33
45
  "--safe-mode",
34
46
  "--setting-sources",
@@ -43,6 +55,8 @@ const IsolationSchema = z
43
55
  * and `addDirs` paths are included automatically.
44
56
  */
45
57
  allowRead: z.array(z.string()).default([]),
58
+ /** Additional protected trees and files, including other evaluation runs. */
59
+ denyRead: z.array(z.string()).optional(),
46
60
  })
47
61
  .strict();
48
62
  export const ClaudeCodeDriverConfigSchema = z
@@ -54,6 +68,7 @@ export const ClaudeCodeDriverConfigSchema = z
54
68
  cwdMode: z.enum(["artifacts", "runDir"]).default("artifacts"),
55
69
  cwd: z.string().optional(),
56
70
  env: z.record(z.string(), z.string()).optional(),
71
+ inheritEnv: InheritEnvironmentSchema.default(true),
57
72
  /** Low-cost by default; choose a larger model explicitly when needed. */
58
73
  model: z.string().min(1).default(DEFAULT_CLAUDE_MODEL),
59
74
  reasoningEffort: z.enum(claudeCodeCatalog.efforts).optional(),
@@ -103,7 +118,15 @@ export const ClaudeCodeDriverConfigSchema = z
103
118
  });
104
119
  }
105
120
  if (config.interactionMode === "defer-resume") {
106
- const reserved = config.extraArgs?.find((arg) => ["--input-format", "--no-session-persistence", "--resume", "-r", "--settings"].some((name) => arg === name || arg.startsWith(`${name}=`)));
121
+ const reserved = config.extraArgs?.find((arg) => [
122
+ "--input-format",
123
+ "--no-session-persistence",
124
+ "--resume",
125
+ "-r",
126
+ "--settings",
127
+ "--permission-prompt-tool",
128
+ "--permission-prompts",
129
+ ].some((name) => arg === name || arg.startsWith(`${name}=`)));
107
130
  if (reserved) {
108
131
  ctx.addIssue({
109
132
  code: "custom",
@@ -121,11 +144,11 @@ export const ClaudeCodeDriverConfigSchema = z
121
144
  message: "isolation requires permissionMode to be omitted or 'default'; Claude Code forces default mode while subprocess environment scrubbing is enabled",
122
145
  });
123
146
  }
124
- if (config.interactionMode === "defer-resume") {
147
+ if (config.interactionMode === "defer-resume" && config.pluginDirs?.length) {
125
148
  ctx.addIssue({
126
149
  code: "custom",
127
- path: ["interactionMode"],
128
- message: "defer-resume requires session persistence and is incompatible with isolation",
150
+ path: ["pluginDirs"],
151
+ message: "isolated defer-resume cannot load plugin hooks; use addDirs for read-only skill files",
129
152
  });
130
153
  }
131
154
  if (config.cwd || config.cwdMode !== "artifacts") {
@@ -192,8 +215,17 @@ const allowedTools = (config) => [
192
215
  ...(config.allowedTools ?? []),
193
216
  ]),
194
217
  ];
195
- const buildDeferredArgs = (config, hookPath, sessionId) => {
196
- const out = ["--print", "--output-format", "stream-json", "--verbose"];
218
+ const buildDeferredArgs = (config, hookPath, sessionId, isolation) => {
219
+ // Native print mode removes AskUserQuestion unless a host permission surface exists.
220
+ // The trusted PreToolUse hook handles the question before that surface is consulted.
221
+ const out = [
222
+ "--print",
223
+ "--output-format",
224
+ "stream-json",
225
+ "--verbose",
226
+ "--permission-prompt-tool",
227
+ "stdio",
228
+ ];
197
229
  out.push("--model", config.model, ...effortArgs(config));
198
230
  if (config.permissionMode)
199
231
  out.push("--permission-mode", config.permissionMode);
@@ -202,9 +234,16 @@ const buildDeferredArgs = (config, hookPath, sessionId) => {
202
234
  out.push("--plugin-dir", dir);
203
235
  if (config.agent)
204
236
  out.push("--agent", config.agent);
205
- for (const dir of config.addDirs ?? [])
206
- out.push("--add-dir", dir);
207
- out.push("--settings", JSON.stringify(deferredHookSettings(config, hookPath)));
237
+ if (!isolation)
238
+ for (const dir of config.addDirs ?? [])
239
+ out.push("--add-dir", dir);
240
+ out.push("--settings", JSON.stringify({
241
+ ...isolation?.settings,
242
+ ...deferredHookSettings(config, hookPath),
243
+ ...(isolation ? { disableAllHooks: false } : {}),
244
+ }));
245
+ if (isolation)
246
+ out.push("--strict-mcp-config", "--setting-sources", "");
208
247
  if (sessionId)
209
248
  out.push("--resume", sessionId);
210
249
  if (config.extraArgs)
@@ -260,163 +299,6 @@ process.stdin.on("end", () => {
260
299
  }));
261
300
  });
262
301
  `;
263
- const isWithin = (parent, child) => child === parent || child.startsWith(`${parent}${sep}`);
264
- const permissionPath = (tool, path, directory) => {
265
- const absolute = resolve(path).replaceAll("\\", "/");
266
- return `${tool}(//${absolute.replace(/^\/+/, "")}${directory ? "/**" : ""})`;
267
- };
268
- /**
269
- * Permission rules have no "allow inside deny" override, so isolate a root by
270
- * denying every sibling around explicitly allowed descendants.
271
- */
272
- const carvedPermissionDenials = async (tool, root, allowed) => {
273
- const normalizedRoot = resolve(root);
274
- const inside = allowed
275
- .map((path) => resolve(path))
276
- .filter((path) => isWithin(normalizedRoot, path));
277
- if (inside.some((path) => path === normalizedRoot))
278
- return [];
279
- if (inside.length === 0)
280
- return [permissionPath(tool, normalizedRoot, true)];
281
- const out = [];
282
- const walk = async (dir) => {
283
- const entries = await readdir(dir, { withFileTypes: true });
284
- entries.sort((a, b) => a.name.localeCompare(b.name));
285
- for (const entry of entries) {
286
- const path = join(dir, entry.name);
287
- if (inside.some((allowedPath) => allowedPath === path))
288
- continue;
289
- if (entry.isDirectory() && inside.some((allowedPath) => isWithin(path, allowedPath))) {
290
- await walk(path);
291
- }
292
- else {
293
- out.push(permissionPath(tool, path, entry.isDirectory()));
294
- }
295
- }
296
- };
297
- await walk(normalizedRoot);
298
- return out;
299
- };
300
- const carvedReadDenials = (root, allowed) => carvedPermissionDenials("Read", root, allowed);
301
- const existingRealpaths = async (paths) => {
302
- const found = await Promise.all(paths.map(async (path) => {
303
- try {
304
- return await realpath(resolve(path));
305
- }
306
- catch {
307
- return null;
308
- }
309
- }));
310
- return [...new Set(found.filter((path) => path !== null))];
311
- };
312
- const compactRoots = (paths) => [...new Set(paths)]
313
- .sort((a, b) => a.length - b.length || a.localeCompare(b))
314
- .filter((path, index, roots) => !roots.slice(0, index).some((root) => isWithin(root, path)));
315
- const isolatedLaunch = async (config, ctx, workspace) => {
316
- const homeRoots = await existingRealpaths([
317
- homedir(),
318
- ...(config.env?.HOME ? [config.env.HOME] : []),
319
- ]);
320
- const sensitiveHomePaths = homeRoots.flatMap((home) => [
321
- join(home, ".aws"),
322
- join(home, ".config", "gcloud"),
323
- join(home, ".docker", "config.json"),
324
- join(home, ".git-credentials"),
325
- join(home, ".gnupg"),
326
- join(home, ".kube"),
327
- join(home, ".netrc"),
328
- join(home, ".npmrc"),
329
- join(home, ".ssh"),
330
- ]);
331
- const protectedRoots = await existingRealpaths([
332
- ...(ctx.runsRoot ? [ctx.runsRoot] : [ctx.runDir]),
333
- ...(process.env.CLAUDE_CONFIG_DIR ? [process.env.CLAUDE_CONFIG_DIR] : []),
334
- ...(config.env?.CLAUDE_CONFIG_DIR ? [config.env.CLAUDE_CONFIG_DIR] : []),
335
- ...sensitiveHomePaths,
336
- ...homeRoots.flatMap((home) => [
337
- join(home, ".claude", "projects"),
338
- join(home, ".claude", "memory"),
339
- ]),
340
- ]);
341
- const denyRoots = compactRoots(protectedRoots);
342
- const allowed = compactRoots(await existingRealpaths([
343
- ...(config.pluginDirs ?? []),
344
- ...(config.addDirs ?? []),
345
- ...(config.isolation?.allowRead ?? []),
346
- ]));
347
- const overlapping = allowed.find((path) => (path !== workspace && isWithin(path, workspace)) ||
348
- denyRoots.some((root) => isWithin(path, root)) ||
349
- protectedRoots.some((root) => isWithin(root, path)));
350
- if (overlapping) {
351
- throw new Error(`isolation read carve-out overlaps a protected boundary: ${overlapping}`);
352
- }
353
- const readOnlyRoots = allowed.filter((path) => !isWithin(workspace, path));
354
- const editDenyRoots = compactRoots([...denyRoots, ...readOnlyRoots]);
355
- const [readDenials, writeDenials] = await Promise.all([
356
- Promise.all(denyRoots.map((root) => carvedPermissionDenials("Read", root, allowed))),
357
- Promise.all(editDenyRoots.map((root) => carvedPermissionDenials("Edit", root, []))),
358
- ]);
359
- const denyRules = [...readDenials.flat(), ...writeDenials.flat()];
360
- const sandboxSettings = {
361
- disableAllHooks: true,
362
- permissions: { deny: denyRules },
363
- sandbox: {
364
- enabled: true,
365
- failIfUnavailable: true,
366
- allowUnsandboxedCommands: false,
367
- filesystem: {
368
- denyRead: denyRoots,
369
- denyWrite: denyRoots,
370
- allowRead: allowed,
371
- },
372
- // Filesystem isolation does not disable the live docs and package
373
- // registry access that cases are intended to exercise.
374
- network: { allowedDomains: ["*"] },
375
- },
376
- };
377
- const stateDir = join(workspace, ".lux-claude");
378
- const tmpDir = join(stateDir, "tmp");
379
- const cacheDir = join(stateDir, "cache");
380
- const pluginCacheDir = join(stateDir, "plugins");
381
- await Promise.all([
382
- mkdir(tmpDir, { recursive: true }),
383
- mkdir(cacheDir, { recursive: true }),
384
- mkdir(pluginCacheDir, { recursive: true }),
385
- ]);
386
- return {
387
- args: [
388
- // --add-dir also discovers skills and agents. Isolation treats addDirs
389
- // as data-only read grants, so expose them through the filesystem policy
390
- // above without passing the discovery flag to Claude.
391
- ...buildArgs({ ...config, addDirs: undefined }),
392
- "--no-session-persistence",
393
- "--strict-mcp-config",
394
- // Authentication is independent of filesystem setting sources. Keep
395
- // these empty instead of using --safe-mode: safe mode would also disable
396
- // the explicitly requested plugin's skills, commands, and agents.
397
- "--setting-sources",
398
- "",
399
- "--settings",
400
- JSON.stringify(sandboxSettings),
401
- ],
402
- env: {
403
- ...(config.env ?? {}),
404
- CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",
405
- CLAUDE_CODE_DISABLE_CLAUDE_MDS: "1",
406
- CLAUDE_CODE_SKIP_PROMPT_HISTORY: "1",
407
- CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1",
408
- CLAUDE_CODE_SUBPROCESS_ENV_SCRUB: "1",
409
- CLAUDE_CODE_AUTO_CONNECT_IDE: "false",
410
- CLAUDE_CODE_PLUGIN_CACHE_DIR: pluginCacheDir,
411
- CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL: "1",
412
- DISABLE_AUTOUPDATER: "1",
413
- TMPDIR: tmpDir,
414
- XDG_CACHE_HOME: cacheDir,
415
- npm_config_cache: join(cacheDir, "npm"),
416
- BUN_INSTALL_CACHE_DIR: join(cacheDir, "bun"),
417
- },
418
- };
419
- };
420
302
  const formatPrompt = (text) => `${JSON.stringify({
421
303
  type: "user",
422
304
  message: { role: "user", content: [{ type: "text", text }] },
@@ -444,15 +326,15 @@ const formatAnswer = (answer) => {
444
326
  class ClaudeCodeDriverImpl {
445
327
  inner = null;
446
328
  emitter = new TypedEmitter();
447
- // The attach closure captures its (event, handler) pair with narrow types,
448
- // so the queue stays type-safe without per-entry casts; the identity pair
449
- // rides along so off() can drop a queued attach symmetrically.
329
+ // Typed closures retain handler identity so off() can detach queued listeners.
450
330
  pendingAttach = [];
451
331
  config;
452
332
  collectDir = null;
453
333
  artifactsDir = null;
454
334
  runDir = null;
455
335
  isolatedWorkspace = null;
336
+ isolationControlDir = null;
337
+ deferredIsolation;
456
338
  deferredContext = null;
457
339
  deferredCwd = null;
458
340
  deferredHookPath = null;
@@ -498,15 +380,20 @@ class ClaudeCodeDriverImpl {
498
380
  }
499
381
  let cwd = this.config.cwd ?? (this.config.cwdMode === "artifacts" ? ctx.artifactsDir : ctx.runDir);
500
382
  let args = buildArgs(this.config);
501
- let env = this.config.env;
383
+ let env = agentEnvironment(process.env, this.config.inheritEnv, this.config.env);
502
384
  if (this.config.isolation) {
503
- const workspace = await realpath(temporaryDirectory({ prefix: "lux-claude-workspace-" }));
504
- await cp(ctx.artifactsDir, workspace, { recursive: true });
505
- this.isolatedWorkspace = workspace;
506
- cwd = workspace;
507
- const launch = await isolatedLaunch(this.config, ctx, workspace);
508
- args = launch.args;
509
- env = launch.env;
385
+ const launch = await this.prepareIsolation(ctx);
386
+ cwd = this.isolatedWorkspace;
387
+ args = [
388
+ ...buildArgs({ ...this.config, addDirs: undefined }),
389
+ "--no-session-persistence",
390
+ "--strict-mcp-config",
391
+ "--setting-sources",
392
+ "",
393
+ "--settings",
394
+ JSON.stringify(launch.settings),
395
+ ];
396
+ env = agentEnvironment(process.env, this.config.inheritEnv, launch.env);
510
397
  }
511
398
  this.collectDir = cwd;
512
399
  this.artifactsDir = ctx.artifactsDir;
@@ -519,6 +406,7 @@ class ClaudeCodeDriverImpl {
519
406
  args,
520
407
  cwd,
521
408
  env,
409
+ inheritEnv: false,
522
410
  protocol: "custom",
523
411
  parseEvent: makeParseEvent(this.config, cliVersion),
524
412
  formatAnswer,
@@ -553,9 +441,7 @@ class ClaudeCodeDriverImpl {
553
441
  async collect() {
554
442
  if (!this.collectDir)
555
443
  return [];
556
- // A terminal protocol event can arrive before the CLI and its descendants
557
- // have exited. Quiesce the whole process tree before walking/copying files
558
- // so it cannot swap a checked regular file into a symlink.
444
+ // Stop descendants before collecting: terminal events can precede their exit.
559
445
  await this.quiesce();
560
446
  const artifacts = await walkArtifacts(this.collectDir);
561
447
  if (this.isolatedWorkspace && this.artifactsDir) {
@@ -567,19 +453,20 @@ class ClaudeCodeDriverImpl {
567
453
  }));
568
454
  return artifacts;
569
455
  }
570
- // Consumers resolve artifact paths against <runDir>/artifacts by default;
571
- // a walk of any other root must say what its paths are relative to, or
572
- // the judge and file assertions silently miss every file.
456
+ // Assertions need an explicit root for artifacts collected outside artifactsDir.
573
457
  if (this.collectDir === this.artifactsDir)
574
458
  return artifacts;
575
459
  const root = this.collectDir;
576
- // Walking the run dir itself would list Lux's own bookkeeping as agent
577
- // work product; only top-level files can collide with these names.
460
+ // Top-level bookkeeping in runDir is not agent work product.
578
461
  const withRoot = artifacts.map((a) => ({ ...a, root }));
579
462
  return root === this.runDir
580
463
  ? withRoot.filter((a) => !LUX_BOOKKEEPING_FILES.has(a.path))
581
464
  : withRoot;
582
465
  }
466
+ async verificationWorkspace() {
467
+ await this.quiesce();
468
+ return this.isolatedWorkspace ?? undefined;
469
+ }
583
470
  async quiesce() {
584
471
  if (this.config.interactionMode === "defer-resume") {
585
472
  this.deferredAbort.abort();
@@ -603,14 +490,25 @@ class ClaudeCodeDriverImpl {
603
490
  }
604
491
  }
605
492
  finally {
606
- if (this.isolatedWorkspace) {
607
- await rm(this.isolatedWorkspace, { recursive: true, force: true });
608
- this.isolatedWorkspace = null;
609
- }
493
+ await Promise.all([this.isolatedWorkspace, this.isolationControlDir]
494
+ .filter((path) => path !== null)
495
+ .map((path) => rm(path, { recursive: true, force: true })));
496
+ this.isolatedWorkspace = null;
497
+ this.isolationControlDir = null;
610
498
  }
611
499
  }
500
+ async prepareIsolation(ctx) {
501
+ this.isolatedWorkspace = await realpath(temporaryDirectory({ prefix: "lux-claude-workspace-" }));
502
+ this.isolationControlDir = await realpath(temporaryDirectory({ prefix: "lux-claude-control-" }));
503
+ await cp(ctx.artifactsDir, this.isolatedWorkspace, { recursive: true });
504
+ return isolatedLaunch(this.config, ctx, this.isolatedWorkspace, this.isolationControlDir);
505
+ }
612
506
  async startDeferred(ctx) {
613
- const cwd = this.config.cwd ?? (this.config.cwdMode === "artifacts" ? ctx.artifactsDir : ctx.runDir);
507
+ let cwd = this.config.cwd ?? (this.config.cwdMode === "artifacts" ? ctx.artifactsDir : ctx.runDir);
508
+ if (this.config.isolation) {
509
+ this.deferredIsolation = await this.prepareIsolation(ctx);
510
+ cwd = this.isolatedWorkspace;
511
+ }
614
512
  this.collectDir = cwd;
615
513
  this.artifactsDir = ctx.artifactsDir;
616
514
  this.runDir = ctx.runDir;
@@ -662,15 +560,14 @@ class ClaudeCodeDriverImpl {
662
560
  }
663
561
  const terminal = await runDeferredProcess({
664
562
  command: this.config.command,
665
- args: buildDeferredArgs(this.config, hookPath, this.deferredSessionId ?? undefined),
563
+ args: buildDeferredArgs(this.config, hookPath, this.deferredSessionId ?? undefined, this.deferredIsolation),
666
564
  cwd,
667
- env: {
668
- ...process.env,
565
+ env: agentEnvironment(process.env, this.config.inheritEnv, {
566
+ ...(this.deferredIsolation?.env ?? this.config.env),
669
567
  LUX_RUN_DIR: ctx.runDir,
670
568
  LUX_ARTIFACTS_DIR: ctx.artifactsDir,
671
- ...this.config.env,
672
569
  ...(answer ? { LUX_CLAUDE_DEFERRED_ANSWER: JSON.stringify(answer) } : {}),
673
- },
570
+ }),
674
571
  ...input,
675
572
  idleTimeoutMs: durationMs(this.config.idleTimeout),
676
573
  ...(this.config.turnTimeout === undefined
@@ -812,5 +709,5 @@ export const claudeCodeDriver = defineDriver({
812
709
  create: (config) => new ClaudeCodeDriverImpl(config),
813
710
  });
814
711
  // Internal exports for testing
815
- export { buildArgs, buildDeferredArgs, carvedReadDenials, copyRegularFileNoFollow, formatAnswer, formatPrompt, makeParseEvent, walkArtifacts, };
712
+ export { buildArgs, buildDeferredArgs, copyRegularFileNoFollow, formatAnswer, formatPrompt, makeParseEvent, walkArtifacts, };
816
713
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/claude-code/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/claude-code/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { StartContext } from "../../core/index.js";
2
+ import type { ClaudeCodeDriverConfig } from "./index.js";
3
+ export declare const carvedReadDenials: (root: string, allowed: readonly string[]) => Promise<string[]>;
4
+ export declare const isolatedLaunch: (config: ClaudeCodeDriverConfig, ctx: StartContext, workspace: string, controlDir: string) => Promise<{
5
+ env: Record<string, string>;
6
+ settings: object;
7
+ }>;
8
+ //# sourceMappingURL=isolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../../../src/drivers/claude-code/isolation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA+CzD,eAAO,MAAM,iBAAiB,SAAU,MAAM,WAAW,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,EAAE,CAC7C,CAAC;AAoBjD,eAAO,MAAM,cAAc,WACjB,sBAAsB,OACzB,YAAY,aACN,MAAM,cACL,MAAM,KACjB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAsJ3D,CAAC"}