@lesliechan721/aw 0.1.0-beta.6 → 0.1.0-beta.8

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 (237) hide show
  1. package/dist/authoring/scripts/init-plugin.mjs +4 -33
  2. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  3. package/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
  4. package/dist/authoring/scripts/plugin-status.mjs +8 -11
  5. package/dist/authoring/scripts/plugin-status.mjs.map +1 -1
  6. package/dist/authoring/scripts/remove-plugin.mjs +1 -0
  7. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -1
  8. package/dist/authoring/scripts/validate-plugin.mjs +104 -54
  9. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  10. package/dist/scripts/codex-eval-app-server.d.ts +2 -0
  11. package/dist/scripts/codex-eval-app-server.js +107 -1
  12. package/dist/scripts/codex-eval-app-server.js.map +1 -1
  13. package/dist/scripts/eval-plugin-skills.js +5 -2
  14. package/dist/scripts/eval-plugin-skills.js.map +1 -1
  15. package/dist/scripts/plugin-eval-contract.d.ts +5 -1
  16. package/dist/scripts/plugin-eval-contract.js +54 -4
  17. package/dist/scripts/plugin-eval-contract.js.map +1 -1
  18. package/dist/scripts/plugin-staging.d.ts +6 -7
  19. package/dist/scripts/plugin-staging.js +11 -23
  20. package/dist/scripts/plugin-staging.js.map +1 -1
  21. package/dist/scripts/test-plugin-scripts.js +2 -33
  22. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  23. package/dist/src/adapters/helpers.js +2 -2
  24. package/dist/src/adapters/helpers.js.map +1 -1
  25. package/dist/src/authoring/workspace-commands.d.ts +17 -2
  26. package/dist/src/authoring/workspace-commands.js +21 -4
  27. package/dist/src/authoring/workspace-commands.js.map +1 -1
  28. package/dist/src/commands/aw-capabilities.d.ts +78 -0
  29. package/dist/src/commands/aw-capabilities.js +259 -0
  30. package/dist/src/commands/aw-capabilities.js.map +1 -0
  31. package/dist/src/commands/catalog-context.d.ts +52 -0
  32. package/dist/src/commands/catalog-context.js +156 -0
  33. package/dist/src/commands/catalog-context.js.map +1 -0
  34. package/dist/src/commands/catalog-dev-source.d.ts +112 -0
  35. package/dist/src/commands/catalog-dev-source.js +481 -0
  36. package/dist/src/commands/catalog-dev-source.js.map +1 -0
  37. package/dist/src/commands/catalog-generation.d.ts +26 -0
  38. package/dist/src/commands/catalog-generation.js +14 -0
  39. package/dist/src/commands/catalog-generation.js.map +1 -0
  40. package/dist/src/commands/catalog-publication-inspection.d.ts +1 -1
  41. package/dist/src/commands/catalog-publication-inspection.js +4 -5
  42. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  43. package/dist/src/commands/catalog-publication-target.d.ts +17 -0
  44. package/dist/src/commands/catalog-publication-target.js +60 -0
  45. package/dist/src/commands/catalog-publication-target.js.map +1 -0
  46. package/dist/src/commands/catalog-publish.d.ts +8 -1
  47. package/dist/src/commands/catalog-publish.js +25 -2
  48. package/dist/src/commands/catalog-publish.js.map +1 -1
  49. package/dist/src/commands/catalog-source.d.ts +23 -1
  50. package/dist/src/commands/catalog-source.js +126 -40
  51. package/dist/src/commands/catalog-source.js.map +1 -1
  52. package/dist/src/commands/catalog-status.d.ts +18 -2
  53. package/dist/src/commands/catalog-status.js +122 -18
  54. package/dist/src/commands/catalog-status.js.map +1 -1
  55. package/dist/src/commands/init.js +1 -1
  56. package/dist/src/commands/init.js.map +1 -1
  57. package/dist/src/commands/offline-cleanup-evidence.d.ts +23 -0
  58. package/dist/src/commands/offline-cleanup-evidence.js +38 -0
  59. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
  60. package/dist/src/commands/options.d.ts +1 -0
  61. package/dist/src/commands/options.js +1 -0
  62. package/dist/src/commands/options.js.map +1 -1
  63. package/dist/src/commands/plugin-capabilities.js +1 -1
  64. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  65. package/dist/src/commands/rebuild-command.d.ts +19 -7
  66. package/dist/src/commands/rebuild-command.js +415 -205
  67. package/dist/src/commands/rebuild-command.js.map +1 -1
  68. package/dist/src/commands/rebuild-integration.d.ts +10 -3
  69. package/dist/src/commands/rebuild-integration.js +73 -76
  70. package/dist/src/commands/rebuild-integration.js.map +1 -1
  71. package/dist/src/commands/rebuild-operations.d.ts +0 -8
  72. package/dist/src/commands/rebuild-operations.js +17 -115
  73. package/dist/src/commands/rebuild-operations.js.map +1 -1
  74. package/dist/src/commands/runtime.js +21 -34
  75. package/dist/src/commands/runtime.js.map +1 -1
  76. package/dist/src/commands/{status-v4.d.ts → status-v5.d.ts} +67 -21
  77. package/dist/src/commands/{status-v4.js → status-v5.js} +260 -30
  78. package/dist/src/commands/status-v5.js.map +1 -0
  79. package/dist/src/commands/wizard.d.ts +2 -2
  80. package/dist/src/commands/wizard.js +2 -2
  81. package/dist/src/commands/wizard.js.map +1 -1
  82. package/dist/src/commands/write-commands.js +73 -17
  83. package/dist/src/commands/write-commands.js.map +1 -1
  84. package/dist/src/constants.d.ts +6 -1
  85. package/dist/src/constants.js +6 -1
  86. package/dist/src/constants.js.map +1 -1
  87. package/dist/src/generators/local-plugin.js +57 -3
  88. package/dist/src/generators/local-plugin.js.map +1 -1
  89. package/dist/src/index.d.ts +4 -1
  90. package/dist/src/index.js +562 -85
  91. package/dist/src/index.js.map +1 -1
  92. package/dist/src/output/model.d.ts +1 -34
  93. package/dist/src/output/model.js +1 -144
  94. package/dist/src/output/model.js.map +1 -1
  95. package/dist/src/output/rebuild-progress.js +0 -3
  96. package/dist/src/output/rebuild-progress.js.map +1 -1
  97. package/dist/src/portable/commands.d.ts +4 -0
  98. package/dist/src/portable/commands.js +61 -4
  99. package/dist/src/portable/commands.js.map +1 -1
  100. package/dist/src/portable/materializer.d.ts +3 -0
  101. package/dist/src/portable/materializer.js +61 -10
  102. package/dist/src/portable/materializer.js.map +1 -1
  103. package/dist/src/tui/catalog-generation.d.ts +56 -0
  104. package/dist/src/tui/catalog-generation.js +244 -0
  105. package/dist/src/tui/catalog-generation.js.map +1 -0
  106. package/dist/src/tui/console-app-v4.d.ts +1 -1
  107. package/dist/src/tui/console-app-v4.js +446 -126
  108. package/dist/src/tui/console-app-v4.js.map +1 -1
  109. package/dist/src/tui/controller-runtime.d.ts +8 -2
  110. package/dist/src/tui/controller-runtime.js +606 -92
  111. package/dist/src/tui/controller-runtime.js.map +1 -1
  112. package/dist/src/tui/controller.d.ts +71 -6
  113. package/dist/src/tui/controller.js +377 -83
  114. package/dist/src/tui/controller.js.map +1 -1
  115. package/dist/src/tui/index.d.ts +1 -0
  116. package/dist/src/tui/index.js +1 -0
  117. package/dist/src/tui/index.js.map +1 -1
  118. package/dist/src/tui/input-display.d.ts +8 -0
  119. package/dist/src/tui/input-display.js +36 -0
  120. package/dist/src/tui/input-display.js.map +1 -0
  121. package/dist/src/tui/model.d.ts +27 -7
  122. package/dist/src/tui/model.js +273 -65
  123. package/dist/src/tui/model.js.map +1 -1
  124. package/dist/src/tui/router.d.ts +26 -0
  125. package/dist/src/tui/router.js.map +1 -1
  126. package/dist/src/tui/source-ref-presets.d.ts +3 -0
  127. package/dist/src/tui/source-ref-presets.js +11 -0
  128. package/dist/src/tui/source-ref-presets.js.map +1 -0
  129. package/dist/src/tui/views.js +31 -3
  130. package/dist/src/tui/views.js.map +1 -1
  131. package/dist/src/types.d.ts +90 -6
  132. package/dist/src/types.js.map +1 -1
  133. package/dist/src/utils/agent-version.d.ts +3 -0
  134. package/dist/src/utils/agent-version.js +13 -5
  135. package/dist/src/utils/agent-version.js.map +1 -1
  136. package/dist/src/utils/aw-home-mutation-lock.d.ts +1 -0
  137. package/dist/src/utils/aw-home-mutation-lock.js +32 -4
  138. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -1
  139. package/dist/src/utils/bundle-integrity.d.ts +0 -1
  140. package/dist/src/utils/bundle-integrity.js +0 -25
  141. package/dist/src/utils/bundle-integrity.js.map +1 -1
  142. package/dist/src/utils/bundle-layout.js +8 -6
  143. package/dist/src/utils/bundle-layout.js.map +1 -1
  144. package/dist/src/utils/catalog-digests.js +13 -2
  145. package/dist/src/utils/catalog-digests.js.map +1 -1
  146. package/dist/src/utils/catalog-generation-error.d.ts +12 -0
  147. package/dist/src/utils/catalog-generation-error.js +16 -0
  148. package/dist/src/utils/catalog-generation-error.js.map +1 -0
  149. package/dist/src/utils/catalog-generation-resolver.d.ts +13 -0
  150. package/dist/src/utils/catalog-generation-resolver.js +129 -0
  151. package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
  152. package/dist/src/utils/catalog-generation-service.d.ts +52 -0
  153. package/dist/src/utils/catalog-generation-service.js +620 -0
  154. package/dist/src/utils/catalog-generation-service.js.map +1 -0
  155. package/dist/src/utils/catalog-generation-state.d.ts +13 -0
  156. package/dist/src/utils/catalog-generation-state.js +201 -0
  157. package/dist/src/utils/catalog-generation-state.js.map +1 -0
  158. package/dist/src/utils/catalog-generation-store.d.ts +44 -0
  159. package/dist/src/utils/catalog-generation-store.js +387 -0
  160. package/dist/src/utils/catalog-generation-store.js.map +1 -0
  161. package/dist/src/utils/catalog-manifest-v5.d.ts +5 -0
  162. package/dist/src/utils/{catalog-manifest-v4.js → catalog-manifest-v5.js} +39 -35
  163. package/dist/src/utils/{catalog-manifest-v4.js.map → catalog-manifest-v5.js.map} +1 -1
  164. package/dist/src/utils/catalog-operation-context.d.ts +28 -0
  165. package/dist/src/utils/catalog-operation-context.js +242 -0
  166. package/dist/src/utils/catalog-operation-context.js.map +1 -0
  167. package/dist/src/utils/catalog-public-error.d.ts +7 -3
  168. package/dist/src/utils/catalog-public-error.js +20 -4
  169. package/dist/src/utils/catalog-public-error.js.map +1 -1
  170. package/dist/src/utils/catalog-snapshot.d.ts +5 -3
  171. package/dist/src/utils/catalog-snapshot.js +11 -3
  172. package/dist/src/utils/catalog-snapshot.js.map +1 -1
  173. package/dist/src/utils/catalog-source-cache.d.ts +1 -1
  174. package/dist/src/utils/catalog-source-cache.js +37 -12
  175. package/dist/src/utils/catalog-source-cache.js.map +1 -1
  176. package/dist/src/utils/catalog-source-identity.d.ts +1 -0
  177. package/dist/src/utils/catalog-source-identity.js +21 -2
  178. package/dist/src/utils/catalog-source-identity.js.map +1 -1
  179. package/dist/src/utils/catalog-sources.d.ts +1 -0
  180. package/dist/src/utils/catalog-sources.js +30 -11
  181. package/dist/src/utils/catalog-sources.js.map +1 -1
  182. package/dist/src/utils/codex-config.js +4 -4
  183. package/dist/src/utils/codex-config.js.map +1 -1
  184. package/dist/src/utils/codex-manager.d.ts +33 -0
  185. package/dist/src/utils/codex-manager.js +656 -0
  186. package/dist/src/utils/codex-manager.js.map +1 -0
  187. package/dist/src/utils/codex-skill-staging.d.ts +2 -0
  188. package/dist/src/utils/codex-skill-staging.js.map +1 -1
  189. package/dist/src/utils/dynamic-skill-tree.d.ts +4 -0
  190. package/dist/src/utils/dynamic-skill-tree.js +35 -5
  191. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  192. package/dist/src/utils/git-catalog-provider.js +10 -25
  193. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  194. package/dist/src/utils/lifecycle-active-store.d.ts +0 -28
  195. package/dist/src/utils/lifecycle-active-store.js +35 -247
  196. package/dist/src/utils/lifecycle-active-store.js.map +1 -1
  197. package/dist/src/utils/multi-source-catalog.d.ts +3 -0
  198. package/dist/src/utils/multi-source-catalog.js +120 -10
  199. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  200. package/dist/src/utils/native-cli.d.ts +15 -6
  201. package/dist/src/utils/native-cli.js +31 -39
  202. package/dist/src/utils/native-cli.js.map +1 -1
  203. package/dist/src/utils/orphan-marketplace-cleanup.js +0 -3
  204. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
  205. package/dist/src/utils/ownership.d.ts +10 -1
  206. package/dist/src/utils/ownership.js +52 -24
  207. package/dist/src/utils/ownership.js.map +1 -1
  208. package/dist/src/utils/path-catalog-provider.js +12 -8
  209. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  210. package/dist/src/utils/plugin-config-write.js +18 -35
  211. package/dist/src/utils/plugin-config-write.js.map +1 -1
  212. package/dist/src/utils/plugin-config.d.ts +1 -12
  213. package/dist/src/utils/plugin-config.js +107 -226
  214. package/dist/src/utils/plugin-config.js.map +1 -1
  215. package/dist/src/utils/plugin-scripts.d.ts +1 -1
  216. package/dist/src/utils/plugin-scripts.js +1 -1
  217. package/dist/src/utils/plugin-scripts.js.map +1 -1
  218. package/dist/src/utils/state-paths.js +7 -2
  219. package/dist/src/utils/state-paths.js.map +1 -1
  220. package/dist/src/utils/target-eligibility.d.ts +7 -2
  221. package/dist/src/utils/target-eligibility.js +6 -3
  222. package/dist/src/utils/target-eligibility.js.map +1 -1
  223. package/package.json +4 -3
  224. package/dist/authoring/scripts/check-plugin-versions.d.mts +0 -2
  225. package/dist/authoring/scripts/check-plugin-versions.mjs +0 -5
  226. package/dist/authoring/scripts/check-plugin-versions.mjs.map +0 -1
  227. package/dist/src/commands/status-v4.js.map +0 -1
  228. package/dist/src/commands/status.d.ts +0 -93
  229. package/dist/src/commands/status.js +0 -442
  230. package/dist/src/commands/status.js.map +0 -1
  231. package/dist/src/utils/active-marketplace-runtime-lock.d.ts +0 -12
  232. package/dist/src/utils/active-marketplace-runtime-lock.js +0 -133
  233. package/dist/src/utils/active-marketplace-runtime-lock.js.map +0 -1
  234. package/dist/src/utils/catalog-manifest-v3.d.ts +0 -2
  235. package/dist/src/utils/catalog-manifest-v3.js +0 -3
  236. package/dist/src/utils/catalog-manifest-v3.js.map +0 -1
  237. package/dist/src/utils/catalog-manifest-v4.d.ts +0 -5
@@ -83,6 +83,8 @@ export declare function runCodexConversationSuite(options: {
83
83
  processManagement?: PluginEvalProcessManagementEvidence;
84
84
  forbiddenHostRoots?: string[];
85
85
  workRoot?: string;
86
+ environmentPathPrepend?: string[];
87
+ environmentFixtureRoot?: string;
86
88
  onCaseCompleted?: (checkpoint: PluginEvalCaseCheckpoint) => Promise<void>;
87
89
  stopOnIncomplete?: boolean;
88
90
  }): Promise<PluginEvalSuiteReport>;
@@ -63,6 +63,12 @@ function comparablePath(value) {
63
63
  const normalized = value.replaceAll('\\', '/');
64
64
  return process.platform === 'win32' ? normalized.toLowerCase() : normalized;
65
65
  }
66
+ function isPathInsideOrEqual(root, candidate) {
67
+ const relative = path.relative(root, candidate);
68
+ return relative === '' || (relative !== '..' &&
69
+ !relative.startsWith(`..${path.sep}`) &&
70
+ !path.isAbsolute(relative));
71
+ }
66
72
  function containsForbiddenHostRoot(value, forbiddenHostRoots) {
67
73
  if (typeof value === 'string') {
68
74
  const candidate = comparablePath(value);
@@ -625,7 +631,7 @@ function normalizeScriptedReply(value, label) {
625
631
  }
626
632
  async function readConversationCases(casesPath, expectedSkill) {
627
633
  const raw = await fs.readJson(casesPath);
628
- const evals = validatePluginEvalConversationCaseDocument(raw, expectedSkill);
634
+ const evals = validatePluginEvalConversationCaseDocument(raw, expectedSkill, 'conversation cases', path.dirname(casesPath));
629
635
  return evals.map((value, index) => {
630
636
  const review = isRecord(value.review) ? value.review : {};
631
637
  if (typeof value.id !== 'string' ||
@@ -665,9 +671,78 @@ async function readConversationCases(casesPath, expectedSkill) {
665
671
  };
666
672
  })
667
673
  : [],
674
+ environmentPathPrepend: isRecord(value.environment) &&
675
+ Array.isArray(value.environment.pathPrepend)
676
+ ? value.environment.pathPrepend
677
+ : [],
668
678
  };
669
679
  });
670
680
  }
681
+ async function assertFixtureTreeSafe(root, target, label) {
682
+ const rootRealPath = await fs.realpath(root);
683
+ const targetRealPath = await fs.realpath(target);
684
+ if (!isPathInsideOrEqual(rootRealPath, targetRealPath)) {
685
+ throw new Error(`${label} must stay inside its Eval fixture root.`);
686
+ }
687
+ const relative = path.relative(root, target);
688
+ let current = root;
689
+ for (const segment of relative.split(path.sep).filter(Boolean)) {
690
+ current = path.join(current, segment);
691
+ const stat = await fs.lstat(current);
692
+ if (stat.isSymbolicLink())
693
+ throw new Error(`${label} must not contain symbolic links.`);
694
+ }
695
+ const stat = await fs.lstat(target);
696
+ if (stat.isFile())
697
+ return;
698
+ if (!stat.isDirectory())
699
+ throw new Error(`${label} must be a regular file or directory.`);
700
+ const entries = await fs.readdir(target);
701
+ for (const entry of entries) {
702
+ await assertFixtureTreeSafe(root, path.join(target, entry), label);
703
+ }
704
+ }
705
+ async function makeFixtureExecutable(target) {
706
+ const stat = await fs.lstat(target);
707
+ if (stat.isFile()) {
708
+ await fs.chmod(target, 0o755);
709
+ return;
710
+ }
711
+ if (!stat.isDirectory())
712
+ return;
713
+ for (const entry of await fs.readdir(target)) {
714
+ await makeFixtureExecutable(path.join(target, entry));
715
+ }
716
+ }
717
+ async function materializeConversationEnvironment(options) {
718
+ const pathEntries = [];
719
+ const materialized = new Map();
720
+ for (const { fixtureRoot, relativePath } of options.fixtures) {
721
+ const source = path.resolve(fixtureRoot, relativePath);
722
+ await assertFixtureTreeSafe(fixtureRoot, source, `Conversation PATH fixture ${JSON.stringify(relativePath)}`);
723
+ const target = path.resolve(options.workspaceRoot, relativePath);
724
+ if (!isPathInsideOrEqual(options.workspaceRoot, target)) {
725
+ throw new Error(`Conversation PATH fixture must stay inside the eval workspace: ${relativePath}`);
726
+ }
727
+ const sourceRealPath = await fs.realpath(source);
728
+ const previousSource = materialized.get(target);
729
+ if (previousSource) {
730
+ if (previousSource !== sourceRealPath) {
731
+ throw new Error(`Conversation PATH fixtures conflict at: ${relativePath}`);
732
+ }
733
+ continue;
734
+ }
735
+ if (await fs.pathExists(target)) {
736
+ throw new Error(`Conversation PATH fixture conflicts with materialized subject: ${relativePath}`);
737
+ }
738
+ await fs.copy(source, target, { dereference: false, errorOnExist: true, overwrite: false });
739
+ await makeFixtureExecutable(target);
740
+ materialized.set(target, sourceRealPath);
741
+ const stat = await fs.lstat(target);
742
+ pathEntries.push(stat.isDirectory() ? target : path.dirname(target));
743
+ }
744
+ return pathEntries;
745
+ }
671
746
  async function materializeConversationWorkspaceFiles(workspaceRoot, workspaceFiles) {
672
747
  for (const [relativePath, content] of Object.entries(workspaceFiles)) {
673
748
  const segments = relativePath.split('/');
@@ -718,6 +793,10 @@ async function runConversationOnce(options) {
718
793
  const startedAt = Date.now();
719
794
  try {
720
795
  await fs.copy(options.sourceProjectRoot, workspaceRoot, { dereference: false });
796
+ const environmentPathEntries = await materializeConversationEnvironment({
797
+ workspaceRoot,
798
+ fixtures: options.environmentFixtures,
799
+ });
721
800
  await materializeConversationWorkspaceFiles(workspaceRoot, options.evalCase.workspaceFiles);
722
801
  let allowedSkillRoots = [];
723
802
  if (options.isolation === 'strict') {
@@ -733,6 +812,7 @@ async function runConversationOnce(options) {
733
812
  await fs.remove(path.join(workspaceRoot, '.agents', 'skills', options.skillName));
734
813
  }
735
814
  const env = buildIsolatedEnv(options.sourceEnv, runRoot, codexHome, options.codexRuntime);
815
+ env.PATH = [...environmentPathEntries, env.PATH].filter(Boolean).join(path.delimiter);
736
816
  await Promise.all([
737
817
  fs.ensureDir(env.HOME),
738
818
  fs.ensureDir(env.TMPDIR),
@@ -1024,6 +1104,8 @@ export async function runCodexConversationSuite(options) {
1024
1104
  const isolation = options.isolation ?? 'standard';
1025
1105
  const processManagement = options.processManagement ?? DEFAULT_OBSERVED_PROCESS_EVIDENCE;
1026
1106
  const forbiddenHostRoots = await canonicalForbiddenHostRoots([options.subjectRoot, ...(options.forbiddenHostRoots ?? [])]);
1107
+ const fixtureRoot = path.dirname(options.casesPath);
1108
+ const environmentFixtureRoot = options.environmentFixtureRoot ?? fixtureRoot;
1027
1109
  let cases = await readConversationCases(options.casesPath, options.skillName);
1028
1110
  if (options.caseId && options.caseIds) {
1029
1111
  throw new Error('runCodexConversationSuite cannot combine caseId and caseIds.');
@@ -1177,6 +1259,16 @@ export async function runCodexConversationSuite(options) {
1177
1259
  processManagement,
1178
1260
  forbiddenHostRoots,
1179
1261
  workRoot: options.workRoot,
1262
+ environmentFixtures: [
1263
+ ...(options.environmentPathPrepend ?? []).map((relativePath) => ({
1264
+ fixtureRoot: environmentFixtureRoot,
1265
+ relativePath,
1266
+ })),
1267
+ ...evalCase.environmentPathPrepend.map((relativePath) => ({
1268
+ fixtureRoot,
1269
+ relativePath,
1270
+ })),
1271
+ ],
1180
1272
  });
1181
1273
  assertCodexEvalCanStartWork();
1182
1274
  const withoutSkill = await runConversationOnce({
@@ -1194,6 +1286,16 @@ export async function runCodexConversationSuite(options) {
1194
1286
  processManagement,
1195
1287
  forbiddenHostRoots,
1196
1288
  workRoot: options.workRoot,
1289
+ environmentFixtures: [
1290
+ ...(options.environmentPathPrepend ?? []).map((relativePath) => ({
1291
+ fixtureRoot: environmentFixtureRoot,
1292
+ relativePath,
1293
+ })),
1294
+ ...evalCase.environmentPathPrepend.map((relativePath) => ({
1295
+ fixtureRoot,
1296
+ relativePath,
1297
+ })),
1298
+ ],
1197
1299
  });
1198
1300
  runs.push({ run: runIndex + 1, with_skill: withSkill, without_skill: withoutSkill });
1199
1301
  }
@@ -1203,6 +1305,10 @@ export async function runCodexConversationSuite(options) {
1203
1305
  expected_output: evalCase.expectedOutput,
1204
1306
  checks: evalCase.checks,
1205
1307
  workspace_files: Object.keys(evalCase.workspaceFiles),
1308
+ environment_path_prepend: [
1309
+ ...(options.environmentPathPrepend ?? []),
1310
+ ...evalCase.environmentPathPrepend,
1311
+ ],
1206
1312
  runs,
1207
1313
  };
1208
1314
  results.push(caseResult);
@@ -1 +1 @@
1
- {"version":3,"file":"codex-eval-app-server.js","sourceRoot":"","sources":["../../scripts/codex-eval-app-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-eval-app-server.js","sourceRoot":"","sources":["../../scripts/codex-eval-app-server.ts"],"names":[],"mappings":"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"}
@@ -634,7 +634,7 @@ async function readSuiteCaseIds(options) {
634
634
  .map((entry) => entry.id);
635
635
  }
636
636
  const casesPath = path.resolve(options.pluginRoot, options.suite.cases.replace(/^\.\//u, ''));
637
- return validatePluginEvalConversationCaseDocument(await fs.readJson(casesPath), options.manifestSkill, `conversation cases for suite "${options.suite.id}"`).map((entry) => String(entry.id));
637
+ return validatePluginEvalConversationCaseDocument(await fs.readJson(casesPath), options.manifestSkill, `conversation cases for suite "${options.suite.id}"`, path.dirname(casesPath)).map((entry) => String(entry.id));
638
638
  }
639
639
  async function releaseTargetCompositions(prepared) {
640
640
  const compositions = {};
@@ -738,7 +738,7 @@ async function preparePluginEval(options) {
738
738
  }
739
739
  else if (suite.kind === 'conversation') {
740
740
  const casesPath = path.resolve(sourcePlugin.rootDir, suite.cases.replace(/^\.\//u, ''));
741
- const cases = validatePluginEvalConversationCaseDocument(await fs.readJson(casesPath), manifest.skill, `conversation cases for suite "${suite.id}"`);
741
+ const cases = validatePluginEvalConversationCaseDocument(await fs.readJson(casesPath), manifest.skill, `conversation cases for suite "${suite.id}"`, path.dirname(casesPath));
742
742
  if (!cases.some((entry) => entry.id === options.parsed.caseId)) {
743
743
  throw new Error(`Unknown conversation case: ${options.parsed.caseId}`);
744
744
  }
@@ -1014,6 +1014,8 @@ async function runOnePlugin(options) {
1014
1014
  codexRuntime: options.codexRuntime,
1015
1015
  timeoutMs: suite.perRunTimeoutMs,
1016
1016
  isolation: suite.isolation,
1017
+ environmentPathPrepend: suite.environment?.pathPrepend,
1018
+ environmentFixtureRoot: path.join(options.skillRoot, 'evals'),
1017
1019
  sourceEnv: options.modelEnv,
1018
1020
  reportPath,
1019
1021
  processManagement: options.processManagement,
@@ -1500,6 +1502,7 @@ export async function runPluginEvals(args, options = {}) {
1500
1502
  const bundle = await runOnePlugin({
1501
1503
  sourcePlugin: prepared.sourcePlugin,
1502
1504
  sourcePlugins: prepared.sourcePlugins,
1505
+ skillRoot: prepared.skillRoot,
1503
1506
  manifest: prepared.manifest,
1504
1507
  parsed,
1505
1508
  outputRoot: layout.rawRoot,