@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
@@ -43,8 +43,11 @@ const eventSelected = (event, evidence) => {
43
43
  return false;
44
44
  };
45
45
  const interruptDetail = (event) => {
46
- if (event.kind === "ask")
47
- return event.question;
46
+ if (event.kind === "ask") {
47
+ return event.context === undefined
48
+ ? event.question
49
+ : `${event.question} context=${safeJson(event.context)}`;
50
+ }
48
51
  if (event.kind === "approve")
49
52
  return event.request;
50
53
  return "<custom>";
@@ -189,6 +192,11 @@ const progressLine = (event, agentTextAllotments, toolTextAllotments, renderedTo
189
192
  };
190
193
  const eventLine = (event, agentTextAllotments, toolTextAllotments, renderedToolText) => {
191
194
  if (event.type === "interrupt") {
195
+ // Native question tools may put their actual choices and headers in context,
196
+ // rather than duplicating them in the human-readable question string.
197
+ if (event.kind === "ask") {
198
+ return `interrupt(ask): ${boundedText(interruptDetail(event), 4_000, "ask interrupt")}`;
199
+ }
192
200
  return `interrupt(${event.kind}): ${interruptDetail(event).slice(0, 160)}`;
193
201
  }
194
202
  if (event.type === "responded") {
@@ -272,6 +280,28 @@ const MAX_TOOL_CHARS = 60_000;
272
280
  const MAX_ARTIFACT_CHARS = 80_000;
273
281
  const MAX_ARTIFACT_EXCERPT = 20_000;
274
282
  const boundedText = (value, limit, label) => value.length <= limit ? value : `${value.slice(0, limit)}\n[... ${label} truncated ...]`;
283
+ const OPTIONAL_TRACE_TRUNCATION = "[... optional recent trace truncated from start ...]\n";
284
+ const OPTIONAL_ARTIFACT_TRUNCATION = "\n[... optional artifact evidence truncated ...]";
285
+ const OPTIONAL_EVIDENCE_OMISSION = "[... optional evidence omitted: prompt budget ...]";
286
+ // Complete invocation evidence is protected. Share the remaining prompt capacity
287
+ // between contextual trace and artifacts, including the omission markers themselves.
288
+ const fitOptionalEvidence = (trace, artifacts, available) => {
289
+ if (trace.length + artifacts.length <= available)
290
+ return [trace, artifacts];
291
+ const traceMarker = OPTIONAL_TRACE_TRUNCATION;
292
+ const artifactMarker = OPTIONAL_ARTIFACT_TRUNCATION;
293
+ const discretionary = Math.max(0, available - traceMarker.length - artifactMarker.length);
294
+ const traceBudget = traceMarker.length +
295
+ Math.floor((discretionary * trace.length) / (trace.length + artifacts.length));
296
+ const artifactBudget = available - traceBudget;
297
+ const traceTake = Math.max(0, traceBudget - traceMarker.length);
298
+ // Recent evidence is chronological: preserve the final answer and newest context.
299
+ const fittedTrace = trace.length <= traceBudget ? trace : `${traceMarker}${trace.slice(trace.length - traceTake)}`;
300
+ const fittedArtifacts = artifacts.length <= artifactBudget
301
+ ? artifacts
302
+ : `${artifacts.slice(0, Math.max(0, artifactBudget - artifactMarker.length))}${artifactMarker}`;
303
+ return [fittedTrace, fittedArtifacts];
304
+ };
275
305
  const artifactListing = (paths) => {
276
306
  const listed = [];
277
307
  let listingChars = 0;
@@ -294,9 +324,16 @@ export const sampleArtifacts = async (run, perFileLimit, evidence) => {
294
324
  return "(no artifacts captured)";
295
325
  const selected = evidence
296
326
  ? run.artifacts.filter((artifact) => matchesAnyGlob(artifact.path, evidence.artifactPatterns))
297
- : run.artifacts;
327
+ : [...run.artifacts];
298
328
  if (selected.length === 0)
299
329
  return "(no artifacts matched the rubric evidence selector)";
330
+ // Keep the complete index visible, but spend excerpt budget on delivered changes first.
331
+ const priority = (origin) => {
332
+ if (origin === "fixture")
333
+ return 2;
334
+ return origin === undefined ? 1 : 0;
335
+ };
336
+ selected.sort((left, right) => priority(left.origin) - priority(right.origin));
300
337
  const listed = artifactListing(selected.map((artifact) => artifact.path));
301
338
  const out = [
302
339
  `Files selected (${selected.length} of ${run.artifacts.length}):\n${listed.join("\n")}`,
@@ -321,9 +358,58 @@ export const sampleArtifacts = async (run, perFileLimit, evidence) => {
321
358
  }
322
359
  return out.join("\n\n");
323
360
  };
324
- export const buildJudgePrompt = async (config, run) => {
361
+ export class IncompleteInvocationEvidence extends Error {
362
+ detail;
363
+ constructor(message, detail) {
364
+ super(message);
365
+ this.detail = detail;
366
+ }
367
+ }
368
+ const allToolInvocations = (run, budget) => {
369
+ const calls = run.events.filter((event) => event.type === "progress" && event.kind === "tool-call");
370
+ const detail = {
371
+ complete: false,
372
+ total: calls.length,
373
+ included: 0,
374
+ bytes: 0,
375
+ };
376
+ const lines = [];
377
+ try {
378
+ for (const event of calls) {
379
+ const payload = event.payload;
380
+ if (typeof payload?.name !== "string" ||
381
+ !("input" in payload) ||
382
+ payload.input === undefined) {
383
+ throw new Error("tool invocation lacks a name or input");
384
+ }
385
+ lines.push(JSON.stringify({ name: payload.name, input: payload.input }));
386
+ }
387
+ }
388
+ catch {
389
+ throw new IncompleteInvocationEvidence("Complete tool invocation evidence cannot be serialized.", detail);
390
+ }
391
+ const inventory = lines.join("\n");
392
+ detail.bytes = Buffer.byteLength(inventory, "utf8");
393
+ if (inventory.length > budget) {
394
+ throw new IncompleteInvocationEvidence("Complete tool invocation evidence exceeds the explicit invocation-character budget.", detail);
395
+ }
396
+ detail.complete = true;
397
+ detail.included = calls.length;
398
+ return {
399
+ text: `Complete chronological tool invocations: ${JSON.stringify(detail)}\nThis inventory includes every recorded tool invocation independently of omissions in the recent trace. It does not establish completeness of tool results or artifact contents.\n${inventory}`,
400
+ detail,
401
+ };
402
+ };
403
+ export const buildJudgeEvidence = async (config, run) => {
404
+ const invocations = config.evidence.toolInvocations === "all"
405
+ ? allToolInvocations(run, config.evidence.maxInvocationChars)
406
+ : undefined;
325
407
  if (config.promptOverride) {
326
- return boundedText(config.promptOverride, JUDGE_PROMPT_CHARS, "judge prompt override");
408
+ if (invocations)
409
+ throw new IncompleteInvocationEvidence("A prompt override cannot establish complete tool invocation evidence.", { ...invocations.detail, complete: false, included: 0 });
410
+ return {
411
+ prompt: boundedText(config.promptOverride, JUDGE_PROMPT_CHARS, "judge prompt override"),
412
+ };
327
413
  }
328
414
  const evidence = {
329
415
  ...config.evidence,
@@ -332,19 +418,43 @@ export const buildJudgePrompt = async (config, run) => {
332
418
  maxToolChars: Math.min(config.evidence.maxToolChars, MAX_TOOL_CHARS),
333
419
  maxArtifactChars: Math.min(config.evidence.maxArtifactChars, MAX_ARTIFACT_CHARS),
334
420
  };
335
- const prompt = [
421
+ if (invocations) {
422
+ evidence.eventTypes = evidence.eventTypes.filter((type) => type !== "tool-call");
423
+ }
424
+ const required = [
336
425
  `Agent task: ${boundedText(run.case.prompt, 20_000, "agent task")}`,
337
426
  "",
338
427
  `Criterion to judge: ${boundedText(config.criteria, 8_000, "criterion")}`,
339
428
  "",
340
- "Recent run trace:",
341
- summarizeEvents(run.events, evidence.maxEvents, evidence),
342
- "",
343
- "Captured artifacts (excerpted):",
344
- await sampleArtifacts(run, Math.min(config.maxArtifactExcerpt, MAX_ARTIFACT_EXCERPT), evidence),
429
+ ...(invocations ? [invocations.text, ""] : []),
345
430
  ].join("\n");
346
- return boundedText(prompt, JUDGE_PROMPT_CHARS, "judge prompt");
431
+ const assemble = (recent, files) => `${required}\nRecent run trace:\n${recent}\n\nCaptured artifacts (excerpted):\n${files}`;
432
+ const available = JUDGE_PROMPT_CHARS - assemble("", "").length;
433
+ if (invocations) {
434
+ // Reserve the minimal explicit omission notice, not verbose optional section markers.
435
+ if (`${required}\n${OPTIONAL_EVIDENCE_OMISSION}`.length > JUDGE_PROMPT_CHARS) {
436
+ throw new IncompleteInvocationEvidence("Complete tool invocation evidence and required framing exceed the judge-prompt budget.", { ...invocations.detail, complete: false, included: 0 });
437
+ }
438
+ }
439
+ let trace = summarizeEvents(run.events, evidence.maxEvents, evidence);
440
+ let artifacts = await sampleArtifacts(run, Math.min(config.maxArtifactExcerpt, MAX_ARTIFACT_EXCERPT), evidence);
441
+ let prompt;
442
+ if (invocations &&
443
+ trace.length + artifacts.length > available &&
444
+ available < OPTIONAL_TRACE_TRUNCATION.length + OPTIONAL_ARTIFACT_TRUNCATION.length) {
445
+ prompt = `${required}\n${OPTIONAL_EVIDENCE_OMISSION}`;
446
+ }
447
+ else {
448
+ if (invocations)
449
+ [trace, artifacts] = fitOptionalEvidence(trace, artifacts, available);
450
+ prompt = assemble(trace, artifacts);
451
+ }
452
+ return {
453
+ prompt: boundedText(prompt, JUDGE_PROMPT_CHARS, "judge prompt"),
454
+ ...(invocations ? { toolInvocations: invocations.detail } : {}),
455
+ };
347
456
  };
457
+ export const buildJudgePrompt = async (config, run) => (await buildJudgeEvidence(config, run)).prompt;
348
458
  const JudgeResponseSchema = z.union([
349
459
  z.object({ score: z.number().min(0).max(1), comment: z.string().min(1).max(2_000) }).strict(),
350
460
  z
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/assertions/rubric/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/assertions/rubric/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const InheritEnvironmentSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<true>]>;
3
+ export type InheritEnvironment = z.infer<typeof InheritEnvironmentSchema>;
4
+ export declare const agentEnvironment: (parent: NodeJS.ProcessEnv, inherit?: InheritEnvironment, overrides?: NodeJS.ProcessEnv) => Record<string, string>;
5
+ //# sourceMappingURL=agent-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-environment.d.ts","sourceRoot":"","sources":["../../src/core/agent-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB,oEAAyD,CAAC;AAC/F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAuC1E,eAAO,MAAM,gBAAgB,WACnB,MAAM,CAAC,UAAU,YAChB,kBAAkB,cACf,MAAM,CAAC,UAAU,KAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBvB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ export const InheritEnvironmentSchema = z.union([z.array(z.string().min(1)), z.literal(true)]);
3
+ const nativeEnvironment = new Set([
4
+ "PATH",
5
+ "HOME",
6
+ "USER",
7
+ "LOGNAME",
8
+ "SHELL",
9
+ "TMPDIR",
10
+ "TMP",
11
+ "TEMP",
12
+ "LANG",
13
+ "LANGUAGE",
14
+ "TERM",
15
+ "COLORTERM",
16
+ "NO_COLOR",
17
+ "FORCE_COLOR",
18
+ "CI",
19
+ "TZ",
20
+ "XDG_CONFIG_HOME",
21
+ "XDG_DATA_HOME",
22
+ "XDG_CACHE_HOME",
23
+ "XDG_STATE_HOME",
24
+ "CODEX_HOME",
25
+ "CLAUDE_CONFIG_DIR",
26
+ "CLAUDE_SECURESTORAGE_CONFIG_DIR",
27
+ "GROK_HOME",
28
+ "SYSTEMROOT",
29
+ "WINDIR",
30
+ "COMSPEC",
31
+ "PATHEXT",
32
+ "APPDATA",
33
+ "LOCALAPPDATA",
34
+ "USERPROFILE",
35
+ "HOMEDRIVE",
36
+ "HOMEPATH",
37
+ "USERNAME",
38
+ ]);
39
+ export const agentEnvironment = (parent, inherit = true, overrides) => {
40
+ const selected = inherit === true
41
+ ? { ...parent }
42
+ : Object.fromEntries(Object.entries(parent).filter(([name]) => nativeEnvironment.has(name.toUpperCase()) ||
43
+ name.startsWith("LC_") ||
44
+ inherit.includes(name)));
45
+ return Object.fromEntries(Object.entries({ ...selected, ...overrides }).filter((entry) => entry[1] !== undefined));
46
+ };
47
+ //# sourceMappingURL=agent-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-environment.js","sourceRoot":"","sources":["../../src/core/agent-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAG/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,UAAU;IACV,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IACb,IAAI;IACJ,IAAI;IACJ,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,iCAAiC;IACjC,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,cAAc;IACd,aAAa;IACb,WAAW;IACX,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAyB,EACzB,OAAO,GAAuB,IAAI,EAClC,SAA6B,EACL,EAAE;IAC1B,MAAM,QAAQ,GACZ,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE;QACf,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3B,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACT,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CACF,CAAC;IACR,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAC7D,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Run } from "./run.js";
2
+ /** Internal: live execution state is deliberately absent from persisted run evidence. */
3
+ export declare const bindRunExecutionWorkspace: (run: Run, root: string) => void;
4
+ export declare const runExecutionWorkspace: (run: Run) => string | undefined;
5
+ /** A disposable command tree preserves dependencies without exposing host symlink targets. */
6
+ export declare const copyCommandWorkspace: (source: string, signal?: AbortSignal) => Promise<{
7
+ root: string;
8
+ close: () => Promise<void>;
9
+ }>;
10
+ //# sourceMappingURL=command-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-verification.d.ts","sourceRoot":"","sources":["../../src/core/command-verification.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAKpC,yFAAyF;AACzF,eAAO,MAAM,yBAAyB,QAAS,GAAG,QAAQ,MAAM,KAAG,IAElE,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAS,GAAG,KAAG,MAAM,GAAG,SAAyC,CAAC;AAOpG,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,WACvB,MAAM,WACL,WAAW,KACnB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CA8CA,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { chmod, lstat, mkdir, mkdtemp, readdir, realpath, rm, symlink } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
4
+ import { copyRegularFileNoFollow } from "./secure-copy.js";
5
+ const executionWorkspaces = new WeakMap();
6
+ /** Internal: live execution state is deliberately absent from persisted run evidence. */
7
+ export const bindRunExecutionWorkspace = (run, root) => {
8
+ executionWorkspaces.set(run, resolve(root));
9
+ };
10
+ export const runExecutionWorkspace = (run) => executionWorkspaces.get(run);
11
+ const within = (root, path) => {
12
+ const rel = relative(root, path);
13
+ return rel !== ".." && !rel.startsWith(`..${sep}`) && !isAbsolute(rel);
14
+ };
15
+ /** A disposable command tree preserves dependencies without exposing host symlink targets. */
16
+ export const copyCommandWorkspace = async (source, signal) => {
17
+ const sourceRoot = await realpath(source);
18
+ if (!(await lstat(source)).isDirectory() || (await lstat(source)).isSymbolicLink()) {
19
+ throw new Error(`verification workspace must be a real directory: ${source}`);
20
+ }
21
+ const root = await mkdtemp(join(tmpdir(), "lux-command-verification-"));
22
+ const close = () => rm(root, { recursive: true, force: true });
23
+ let entries = 0;
24
+ const copy = async (directory) => {
25
+ if (!within(sourceRoot, await realpath(directory))) {
26
+ throw new Error(`verification directory escapes its workspace: ${directory}`);
27
+ }
28
+ for (const entry of await readdir(directory, { withFileTypes: true })) {
29
+ signal?.throwIfAborted();
30
+ if (++entries > 100_000)
31
+ throw new Error("verification workspace exceeds 100000 entries");
32
+ if (directory === sourceRoot && entry.name === ".lux-claude")
33
+ continue;
34
+ const path = join(directory, entry.name);
35
+ const target = join(root, relative(sourceRoot, path));
36
+ const metadata = await lstat(path);
37
+ if (metadata.isSymbolicLink()) {
38
+ const resolved = await realpath(path);
39
+ if (!within(sourceRoot, resolved)) {
40
+ throw new Error(`verification symlink escapes its workspace: ${path}`);
41
+ }
42
+ await symlink(relative(dirname(target), join(root, relative(sourceRoot, resolved))), target);
43
+ }
44
+ else if (metadata.isDirectory()) {
45
+ await mkdir(target, { mode: (metadata.mode & 0o777) | 0o700 });
46
+ await copy(path);
47
+ await chmod(target, metadata.mode & 0o777);
48
+ }
49
+ else if (metadata.isFile()) {
50
+ await copyRegularFileNoFollow(sourceRoot, path, target);
51
+ }
52
+ else {
53
+ throw new Error(`verification workspace contains an unsupported entry: ${path}`);
54
+ }
55
+ }
56
+ };
57
+ try {
58
+ await copy(sourceRoot);
59
+ return { root, close };
60
+ }
61
+ catch (error) {
62
+ await close();
63
+ throw error;
64
+ }
65
+ };
66
+ //# sourceMappingURL=command-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-verification.js","sourceRoot":"","sources":["../../src/core/command-verification.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ import type { FixtureValueBinding } from "./lifecycle-hooks.js";
7
7
  export declare const ArtifactSchema: z.ZodObject<{
8
8
  path: z.ZodString;
9
9
  root: z.ZodExactOptional<z.ZodString>;
10
+ origin: z.ZodExactOptional<z.ZodEnum<{
11
+ fixture: "fixture";
12
+ generated: "generated";
13
+ modified: "modified";
14
+ }>>;
10
15
  contentType: z.ZodExactOptional<z.ZodString>;
11
16
  size: z.ZodExactOptional<z.ZodNumber>;
12
17
  meta: z.ZodExactOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -61,6 +66,8 @@ export interface AgentDriver {
61
66
  * responsible for stopping background writers before this promise resolves.
62
67
  */
63
68
  collect(): Promise<Artifact[]>;
69
+ /** Optional quiesced full execution tree for private command verification, until close. */
70
+ verificationWorkspace?(): Promise<string | undefined>;
64
71
  close(): Promise<void>;
65
72
  }
66
73
  export declare const DriverCapabilitySchema: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export const ArtifactSchema = z.object({
7
7
  * Consumers resolve `path` against this before falling back to the default.
8
8
  */
9
9
  root: z.exactOptional(z.string()),
10
+ /** Assigned by Lux against fixture bytes frozen before the subject starts. */
11
+ origin: z.exactOptional(z.enum(["generated", "modified", "fixture"])),
10
12
  contentType: z.exactOptional(z.string()),
11
13
  size: z.exactOptional(z.number()),
12
14
  meta: z.exactOptional(z.record(z.string(), z.unknown())),
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAqDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAqCH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAe,EACf,SAA2B,EAClB,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EAClB,SAA2B,EACwC,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,MAAM;IACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,8EAA8E;IAC9E,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAuDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAqCH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAe,EACf,SAA2B,EAClB,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EAClB,SAA2B,EACwC,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,MAAM;IACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./action-events.js";
2
2
  export * from "./agent-activity.js";
3
+ export * from "./agent-environment.js";
3
4
  export * from "./agent-events.js";
4
5
  export * from "./annotation.js";
5
6
  export * from "./answerer.js";
@@ -7,6 +8,7 @@ export * from "./artifact-evidence.js";
7
8
  export * from "./artifact-snapshot.js";
8
9
  export * from "./assertion.js";
9
10
  export * from "./case.js";
11
+ export * from "./command-verification.js";
10
12
  export * from "./conversation-turn.js";
11
13
  export * from "./driver.js";
12
14
  export * from "./driver-metrics.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/lib/core/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./action-events.js";
2
2
  export * from "./agent-activity.js";
3
+ export * from "./agent-environment.js";
3
4
  export * from "./agent-events.js";
4
5
  export * from "./annotation.js";
5
6
  export * from "./answerer.js";
@@ -7,6 +8,7 @@ export * from "./artifact-evidence.js";
7
8
  export * from "./artifact-snapshot.js";
8
9
  export * from "./assertion.js";
9
10
  export * from "./case.js";
11
+ export * from "./command-verification.js";
10
12
  export * from "./conversation-turn.js";
11
13
  export * from "./driver.js";
12
14
  export * from "./driver-metrics.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { type InheritEnvironment } from "./agent-environment.js";
2
3
  import { type ReasoningEffort } from "./harness-catalog.js";
3
4
  import { type TokenUsage } from "./usage.js";
4
5
  export declare const ModelCliProviderSchema: z.ZodEnum<{
@@ -18,6 +19,8 @@ export declare const HarnessModelConfigSchema: z.ZodObject<{
18
19
  }>;
19
20
  model: z.ZodString;
20
21
  command: z.ZodOptional<z.ZodString>;
22
+ inheritEnv: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<true>]>>;
23
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
21
24
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
22
25
  high: "high";
23
26
  low: "low";
@@ -34,6 +37,8 @@ export type HarnessModelConfig = z.infer<typeof HarnessModelConfigSchema>;
34
37
  export declare const mergeHarnessModelConfig: (harness: HarnessModelConfig, local: unknown) => Record<string, unknown>;
35
38
  export type ModelCliOptions = {
36
39
  provider: ModelCliProvider;
40
+ inheritEnv?: InheritEnvironment | undefined;
41
+ env?: Record<string, string> | undefined;
37
42
  command?: string | undefined;
38
43
  model?: string | undefined;
39
44
  reasoningEffort?: ReasoningEffort | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"model-cli.d.ts","sourceRoot":"","sources":["../../src/core/model-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1E,eAAO,MAAM,sBAAsB;;;EAAmC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAc,gBAAgB,KAAG,MACE,CAAC;AAkBpE,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAM9E,CAAC;AAaF,kEAAkE;AAClE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;kBAejC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,YACzB,kBAAkB,SACpB,OAAO,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAUxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC,CAAC;AAsLF,eAAO,MAAM,YAAY,YACd,eAAe,KACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CACO,CAAC"}
1
+ {"version":3,"file":"model-cli.d.ts","sourceRoot":"","sources":["../../src/core/model-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1E,eAAO,MAAM,sBAAsB;;;EAAmC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAc,gBAAgB,KAAG,MACE,CAAC;AAkBpE,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAM9E,CAAC;AAaF,kEAAkE;AAClE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;kBAiBjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,YACzB,kBAAkB,SACpB,OAAO,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAUxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC,CAAC;AAyLF,eAAO,MAAM,YAAY,YACd,eAAe,KACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CACO,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { rm } from "node:fs/promises";
2
2
  import { temporaryDirectory } from "tempy";
3
3
  import { z } from "zod";
4
+ import { agentEnvironment, InheritEnvironmentSchema, } from "./agent-environment.js";
4
5
  import { exec } from "./exec.js";
5
6
  import { defaultCatalogEffort, effortIssue, ReasoningEffortSchema, } from "./harness-catalog.js";
6
7
  import { claudeCodeCatalog, codexCatalog } from "./harness-catalogs/index.js";
@@ -45,6 +46,8 @@ export const HarnessModelConfigSchema = z
45
46
  provider: ModelCliProviderSchema,
46
47
  model: z.string().min(1),
47
48
  command: z.string().optional(),
49
+ inheritEnv: InheritEnvironmentSchema.optional(),
50
+ env: z.record(z.string(), z.string()).optional(),
48
51
  reasoningEffort: ReasoningEffortSchema.optional(),
49
52
  })
50
53
  .strict()
@@ -129,7 +132,9 @@ const runClaude = async (options) => {
129
132
  // empty value disables user/project/local settings for this one-shot.
130
133
  "--setting-sources",
131
134
  "",
132
- ...(process.env.ANTHROPIC_API_KEY ? ["--bare"] : []),
135
+ ...(agentEnvironment(process.env, options.inheritEnv, options.env).ANTHROPIC_API_KEY
136
+ ? ["--bare"]
137
+ : []),
133
138
  "--settings",
134
139
  JSON.stringify({ disableAllHooks: true }),
135
140
  "--system-prompt",
@@ -139,7 +144,7 @@ const runClaude = async (options) => {
139
144
  timeoutMs: options.timeoutMs,
140
145
  cwd: workspace,
141
146
  env: {
142
- ...process.env,
147
+ ...agentEnvironment(process.env, options.inheritEnv, options.env),
143
148
  CLAUDE_CODE_DISABLE_AUTO_MEMORY: "1",
144
149
  CLAUDE_CODE_DISABLE_CLAUDE_MDS: "1",
145
150
  CLAUDE_CODE_SKIP_PROMPT_HISTORY: "1",
@@ -208,6 +213,7 @@ const runCodex = async (options) => {
208
213
  input,
209
214
  timeoutMs: options.timeoutMs,
210
215
  cwd: modelCwd,
216
+ env: agentEnvironment(process.env, options.inheritEnv, options.env),
211
217
  ...(options.signal ? { signal: options.signal } : {}),
212
218
  });
213
219
  if (result.timedOut)