@madebywild/agent-harness-framework 0.9.3 → 1.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpH,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,wBAAsB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtE;AAED,wBAAsB,KAAK,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAEzE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED,wBAAsB,OAAO,CAC3B,IAAI,GAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,eAAe,CAAC,CAM1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpH,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxE,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,wBAAsB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtE;AAED,wBAAsB,KAAK,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAEzE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED,wBAAsB,OAAO,CAC3B,IAAI,GAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,eAAe,CAAC,CAM1B"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ import { runCliArgv, runCliCommand } from "./cli/main.js";
2
2
  import { loadConfig, validateConfig, validateLock } from "./engine/utils.js";
3
3
  import { HarnessEngine } from "./engine.js";
4
4
  import { validateRegistryRepo } from "./registry-validator.js";
5
+ export { loadEnvVars, parseEnvFile, substituteEnvVars } from "./env.js";
5
6
  export { HarnessEngine, loadConfig, runCliArgv, runCliCommand, validateConfig, validateLock, validateRegistryRepo };
6
7
  export async function plan(opts = {}) {
7
8
  return new HarnessEngine(opts.cwd).plan();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA2C/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB,EAAE;IAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE;IACjD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAyC,EAAE;IACtE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA0E,EAAE;IAE5E,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAW/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiCxE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB,EAAE;IAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE;IACjD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAyC,EAAE;IACtE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA0E,EAAE;IAE5E,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,oCAAoC,CAAC;AAI5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,OAAO,KAAK,EACV,UAAU,EAMV,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAiF3G;AAmBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,EAAE,CA0JhF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,oCAAoC,CAAC;AAK5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,OAAO,KAAK,EACV,UAAU,EAMV,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAoF3G;AAmBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,EAAE,CA0JhF"}
package/dist/loader.js CHANGED
@@ -2,6 +2,7 @@ import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { DEFAULT_REGISTRY_ID, providerIdSchema } from "@madebywild/agent-harness-manifest";
4
4
  import matter from "gray-matter";
5
+ import { loadEnvVars, pushUnresolvedEnvDiagnostics, substituteEnvVars } from "./env.js";
5
6
  import { canonicalHookHasErrors, parseCanonicalHookDocument, withHookId } from "./hooks.js";
6
7
  import { DEFAULT_PROMPT_SOURCE_PATH, defaultHookOverridePath, defaultHookSourcePath, defaultMcpOverridePath, defaultPromptOverridePath, defaultSkillOverridePath, defaultSubagentOverridePath, } from "./paths.js";
7
8
  import { collectManagedSourcePaths, collectSourceCandidates, listFilesRecursively, readProviderOverrideFile, } from "./repository.js";
@@ -10,6 +11,8 @@ export async function loadCanonicalState(paths, manifest) {
10
11
  const diagnostics = [];
11
12
  diagnostics.push(...validateManifestSemantics(manifest));
12
13
  diagnostics.push(...buildProviderEnablementDiagnostics(manifest));
14
+ // Load env vars
15
+ const envVars = await loadEnvVars(paths);
13
16
  const candidates = await collectSourceCandidates(paths);
14
17
  const registeredSourcePaths = new Set(collectManagedSourcePaths(manifest));
15
18
  for (const candidate of candidates) {
@@ -28,7 +31,7 @@ export async function loadCanonicalState(paths, manifest) {
28
31
  if (promptEntities.length === 1) {
29
32
  const promptEntity = promptEntities[0];
30
33
  if (promptEntity) {
31
- const loadedPrompt = await loadPrompt(paths, promptEntity);
34
+ const loadedPrompt = await loadPrompt(paths, promptEntity, envVars);
32
35
  diagnostics.push(...loadedPrompt.diagnostics);
33
36
  prompt = loadedPrompt.prompt;
34
37
  }
@@ -36,7 +39,7 @@ export async function loadCanonicalState(paths, manifest) {
36
39
  const skillEntities = manifest.entities.filter((entity) => entity.type === "skill" && entity.enabled !== false);
37
40
  const skills = [];
38
41
  for (const skillEntity of skillEntities) {
39
- const loadedSkill = await loadSkill(paths, skillEntity);
42
+ const loadedSkill = await loadSkill(paths, skillEntity, envVars);
40
43
  diagnostics.push(...loadedSkill.diagnostics);
41
44
  if (loadedSkill.skill) {
42
45
  skills.push(loadedSkill.skill);
@@ -45,7 +48,7 @@ export async function loadCanonicalState(paths, manifest) {
45
48
  const mcpEntities = manifest.entities.filter((entity) => entity.type === "mcp_config" && entity.enabled !== false);
46
49
  const mcps = [];
47
50
  for (const mcpEntity of mcpEntities) {
48
- const loadedMcp = await loadMcp(paths, mcpEntity);
51
+ const loadedMcp = await loadMcp(paths, mcpEntity, envVars);
49
52
  diagnostics.push(...loadedMcp.diagnostics);
50
53
  if (loadedMcp.mcp) {
51
54
  mcps.push(loadedMcp.mcp);
@@ -54,7 +57,7 @@ export async function loadCanonicalState(paths, manifest) {
54
57
  const subagentEntities = manifest.entities.filter((entity) => entity.type === "subagent" && entity.enabled !== false);
55
58
  const subagents = [];
56
59
  for (const subagentEntity of subagentEntities) {
57
- const loadedSubagent = await loadSubagent(paths, subagentEntity);
60
+ const loadedSubagent = await loadSubagent(paths, subagentEntity, envVars);
58
61
  diagnostics.push(...loadedSubagent.diagnostics);
59
62
  if (loadedSubagent.subagent) {
60
63
  subagents.push(loadedSubagent.subagent);
@@ -63,7 +66,7 @@ export async function loadCanonicalState(paths, manifest) {
63
66
  const hookEntities = manifest.entities.filter((entity) => entity.type === "hook" && entity.enabled !== false);
64
67
  const hooks = [];
65
68
  for (const hookEntity of hookEntities) {
66
- const loadedHook = await loadHook(paths, hookEntity);
69
+ const loadedHook = await loadHook(paths, hookEntity, envVars);
67
70
  diagnostics.push(...loadedHook.diagnostics);
68
71
  if (loadedHook.hook) {
69
72
  hooks.push(loadedHook.hook);
@@ -247,7 +250,7 @@ function validateGitRegistryEntry(registryId, definition, diagnostics) {
247
250
  });
248
251
  }
249
252
  }
250
- async function loadPrompt(paths, entity) {
253
+ async function loadPrompt(paths, entity, envVars) {
251
254
  const diagnostics = [];
252
255
  const sourcePath = normalizeRelativePath(entity.sourcePath);
253
256
  const sourceAbs = path.join(paths.root, sourcePath);
@@ -266,7 +269,9 @@ async function loadPrompt(paths, entity) {
266
269
  });
267
270
  return { diagnostics };
268
271
  }
269
- const parsed = matter(text);
272
+ const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
273
+ pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId: entity.id });
274
+ const parsed = matter(substitutedText);
270
275
  const body = parsed.content.trim();
271
276
  if (!body) {
272
277
  diagnostics.push({
@@ -280,7 +285,7 @@ async function loadPrompt(paths, entity) {
280
285
  const overrideByProvider = new Map();
281
286
  const overrideShaByProvider = {};
282
287
  for (const provider of providerIdSchema.options) {
283
- const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultPromptOverridePath(provider));
288
+ const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultPromptOverridePath(provider), envVars);
284
289
  diagnostics.push(...parsedOverride.diagnostics);
285
290
  overrideByProvider.set(provider, parsedOverride.override);
286
291
  if (parsedOverride.sha256) {
@@ -302,7 +307,7 @@ async function loadPrompt(paths, entity) {
302
307
  },
303
308
  };
304
309
  }
305
- async function loadSkill(paths, entity) {
310
+ async function loadSkill(paths, entity, envVars) {
306
311
  const diagnostics = [];
307
312
  const sourcePath = normalizeRelativePath(entity.sourcePath);
308
313
  const sourceAbs = path.join(paths.root, sourcePath);
@@ -330,10 +335,12 @@ async function loadSkill(paths, entity) {
330
335
  }
331
336
  const relativeInSkill = normalizeRelativePath(path.relative(sourceDir, absolutePath).replace(/\\/g, "/"));
332
337
  const content = await fs.readFile(absolutePath, "utf8");
338
+ const { result: substitutedContent, unresolvedKeys } = substituteEnvVars(content, envVars);
339
+ pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, relativeFromRoot, { entityId: entity.id });
333
340
  filesWithContent.push({
334
341
  path: relativeInSkill,
335
342
  sha256: sha256(content),
336
- content,
343
+ content: substitutedContent,
337
344
  });
338
345
  }
339
346
  const hasSkillMd = filesWithContent.some((file) => file.path === "SKILL.md");
@@ -349,7 +356,7 @@ async function loadSkill(paths, entity) {
349
356
  const overrideByProvider = new Map();
350
357
  const overrideShaByProvider = {};
351
358
  for (const provider of providerIdSchema.options) {
352
- const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultSkillOverridePath(entity.id, provider));
359
+ const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultSkillOverridePath(entity.id, provider), envVars);
353
360
  diagnostics.push(...parsedOverride.diagnostics);
354
361
  overrideByProvider.set(provider, parsedOverride.override);
355
362
  if (parsedOverride.sha256) {
@@ -374,7 +381,7 @@ async function loadSkill(paths, entity) {
374
381
  },
375
382
  };
376
383
  }
377
- async function loadMcp(paths, entity) {
384
+ async function loadMcp(paths, entity, envVars) {
378
385
  const diagnostics = [];
379
386
  const sourcePath = normalizeRelativePath(entity.sourcePath);
380
387
  const sourceAbs = path.join(paths.root, sourcePath);
@@ -392,19 +399,23 @@ async function loadMcp(paths, entity) {
392
399
  });
393
400
  return { diagnostics };
394
401
  }
395
- let json;
396
- try {
397
- const parsed = JSON.parse(text);
398
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
399
- throw new Error("MCP config must be a JSON object");
400
- }
401
- json = parsed;
402
+ const parsedJson = parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entity.id);
403
+ if (parsedJson.error) {
404
+ diagnostics.push({
405
+ code: "MCP_JSON_INVALID",
406
+ severity: "error",
407
+ message: `MCP config '${entity.id}' is not valid JSON object: ${parsedJson.error instanceof Error ? parsedJson.error.message : "unknown error"}`,
408
+ path: sourcePath,
409
+ entityId: entity.id,
410
+ });
411
+ return { diagnostics };
402
412
  }
403
- catch (error) {
413
+ const json = parsedJson.value;
414
+ if (!json || typeof json !== "object" || Array.isArray(json)) {
404
415
  diagnostics.push({
405
416
  code: "MCP_JSON_INVALID",
406
417
  severity: "error",
407
- message: `MCP config '${entity.id}' is not valid JSON object: ${error instanceof Error ? error.message : "unknown error"}`,
418
+ message: `MCP config '${entity.id}' is not valid JSON object: MCP config must be a JSON object`,
408
419
  path: sourcePath,
409
420
  entityId: entity.id,
410
421
  });
@@ -413,7 +424,7 @@ async function loadMcp(paths, entity) {
413
424
  const overrideByProvider = new Map();
414
425
  const overrideShaByProvider = {};
415
426
  for (const provider of providerIdSchema.options) {
416
- const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultMcpOverridePath(entity.id, provider));
427
+ const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultMcpOverridePath(entity.id, provider), envVars);
417
428
  diagnostics.push(...parsedOverride.diagnostics);
418
429
  overrideByProvider.set(provider, parsedOverride.override);
419
430
  if (parsedOverride.sha256) {
@@ -426,15 +437,15 @@ async function loadMcp(paths, entity) {
426
437
  entity,
427
438
  canonical: {
428
439
  id: entity.id,
429
- json,
440
+ json: json,
430
441
  },
431
- sourceSha256: sha256(stableStringify(json)),
442
+ sourceSha256: sha256(text),
432
443
  overrideByProvider,
433
444
  overrideShaByProvider,
434
445
  },
435
446
  };
436
447
  }
437
- async function loadSubagent(paths, entity) {
448
+ async function loadSubagent(paths, entity, envVars) {
438
449
  const diagnostics = [];
439
450
  const sourcePath = normalizeRelativePath(entity.sourcePath);
440
451
  const sourceAbs = path.join(paths.root, sourcePath);
@@ -452,9 +463,11 @@ async function loadSubagent(paths, entity) {
452
463
  });
453
464
  return { diagnostics };
454
465
  }
466
+ const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
467
+ pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId: entity.id });
455
468
  let parsed;
456
469
  try {
457
- parsed = matter(text);
470
+ parsed = matter(substitutedText);
458
471
  }
459
472
  catch (error) {
460
473
  diagnostics.push({
@@ -512,7 +525,7 @@ async function loadSubagent(paths, entity) {
512
525
  const overrideShaByProvider = {};
513
526
  for (const provider of providerIdSchema.options) {
514
527
  const overridePath = entity.overrides?.[provider] ?? defaultSubagentOverridePath(entity.id, provider);
515
- const parsedOverride = await parseOverride(paths, provider, entity, overridePath);
528
+ const parsedOverride = await parseOverride(paths, provider, entity, overridePath, envVars);
516
529
  diagnostics.push(...parsedOverride.diagnostics);
517
530
  diagnostics.push(...validateSubagentOverrideOptions(entity.id, provider, parsedOverride.override, overridePath));
518
531
  overrideByProvider.set(provider, parsedOverride.override);
@@ -537,7 +550,7 @@ async function loadSubagent(paths, entity) {
537
550
  },
538
551
  };
539
552
  }
540
- async function loadHook(paths, entity) {
553
+ async function loadHook(paths, entity, envVars) {
541
554
  const diagnostics = [];
542
555
  const sourcePath = normalizeRelativePath(entity.sourcePath);
543
556
  const sourceAbs = path.join(paths.root, sourcePath);
@@ -555,21 +568,18 @@ async function loadHook(paths, entity) {
555
568
  });
556
569
  return { diagnostics };
557
570
  }
558
- let parsedJson;
559
- try {
560
- parsedJson = JSON.parse(text);
561
- }
562
- catch (error) {
571
+ const parsedJson = parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entity.id);
572
+ if (parsedJson.error) {
563
573
  diagnostics.push({
564
574
  code: "HOOK_JSON_INVALID",
565
575
  severity: "error",
566
- message: `Hook '${entity.id}' is not valid JSON: ${error instanceof Error ? error.message : "unknown error"}`,
576
+ message: `Hook '${entity.id}' is not valid JSON: ${parsedJson.error instanceof Error ? parsedJson.error.message : "unknown error"}`,
567
577
  path: sourcePath,
568
578
  entityId: entity.id,
569
579
  });
570
580
  return { diagnostics };
571
581
  }
572
- const parsedHook = parseCanonicalHookDocument(parsedJson, sourcePath, entity.id);
582
+ const parsedHook = parseCanonicalHookDocument(parsedJson.value, sourcePath, entity.id);
573
583
  diagnostics.push(...parsedHook.diagnostics);
574
584
  if (!parsedHook.canonical || canonicalHookHasErrors(parsedHook.diagnostics)) {
575
585
  return { diagnostics };
@@ -578,7 +588,7 @@ async function loadHook(paths, entity) {
578
588
  const overrideShaByProvider = {};
579
589
  for (const provider of providerIdSchema.options) {
580
590
  const overridePath = entity.overrides?.[provider] ?? defaultHookOverridePath(entity.id, provider);
581
- const parsedOverride = await parseOverride(paths, provider, entity, overridePath);
591
+ const parsedOverride = await parseOverride(paths, provider, entity, overridePath, envVars);
582
592
  diagnostics.push(...parsedOverride.diagnostics);
583
593
  overrideByProvider.set(provider, parsedOverride.override);
584
594
  if (parsedOverride.sha256) {
@@ -590,14 +600,94 @@ async function loadHook(paths, entity) {
590
600
  hook: {
591
601
  entity,
592
602
  canonical: withHookId(parsedHook.canonical, entity.id),
593
- sourceSha256: sha256(stableStringify(parsedJson)),
603
+ sourceSha256: sha256(text),
594
604
  overrideByProvider,
595
605
  overrideShaByProvider,
596
606
  },
597
607
  };
598
608
  }
599
- async function parseOverride(paths, provider, entity, pathValue) {
600
- return readProviderOverrideFile(paths.root, provider, pathValue).then((result) => ({
609
+ const JSON_ENV_PLACEHOLDER_RE = /^\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/u;
610
+ function parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entityId) {
611
+ const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
612
+ pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId });
613
+ try {
614
+ return { value: JSON.parse(substitutedText) };
615
+ }
616
+ catch (error) {
617
+ if (unresolvedKeys.length === 0) {
618
+ return { error };
619
+ }
620
+ const reparsed = parseJsonWithQuotedBarePlaceholders(substitutedText, unresolvedKeys);
621
+ if (reparsed !== undefined) {
622
+ return { value: reparsed };
623
+ }
624
+ return { error };
625
+ }
626
+ }
627
+ function parseJsonWithQuotedBarePlaceholders(text, unresolvedKeys) {
628
+ const unresolved = new Set(unresolvedKeys);
629
+ let inString = false;
630
+ let escaped = false;
631
+ let i = 0;
632
+ let transformed = "";
633
+ let changed = false;
634
+ while (i < text.length) {
635
+ const char = text[i];
636
+ if (char === undefined) {
637
+ break;
638
+ }
639
+ if (inString) {
640
+ transformed += char;
641
+ if (escaped) {
642
+ escaped = false;
643
+ }
644
+ else if (char === "\\") {
645
+ escaped = true;
646
+ }
647
+ else if (char === '"') {
648
+ inString = false;
649
+ }
650
+ i++;
651
+ continue;
652
+ }
653
+ if (char === '"') {
654
+ inString = true;
655
+ transformed += char;
656
+ i++;
657
+ continue;
658
+ }
659
+ if (char === "{" && text[i + 1] === "{") {
660
+ const slice = text.slice(i);
661
+ const match = slice.match(JSON_ENV_PLACEHOLDER_RE);
662
+ if (match) {
663
+ const key = match[1];
664
+ const placeholder = match[0];
665
+ if (key && unresolved.has(key)) {
666
+ transformed += JSON.stringify(`{{${key}}}`);
667
+ changed = true;
668
+ }
669
+ else {
670
+ transformed += placeholder;
671
+ }
672
+ i += placeholder.length;
673
+ continue;
674
+ }
675
+ }
676
+ transformed += char;
677
+ i++;
678
+ }
679
+ if (!changed) {
680
+ return undefined;
681
+ }
682
+ try {
683
+ return JSON.parse(transformed);
684
+ }
685
+ catch {
686
+ return undefined;
687
+ }
688
+ }
689
+ async function parseOverride(paths, provider, entity, pathValue, envVars) {
690
+ return readProviderOverrideFile(paths.root, provider, pathValue, envVars).then((result) => ({
601
691
  ...result,
602
692
  diagnostics: result.diagnostics.map((diagnostic) => ({
603
693
  ...diagnostic,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/dist/paths.d.ts CHANGED
@@ -11,6 +11,8 @@ export interface HarnessPaths {
11
11
  mcpDir: string;
12
12
  subagentDir: string;
13
13
  hookDir: string;
14
+ envFile: string;
15
+ rootEnvFile: string;
14
16
  }
15
17
  export declare function resolveHarnessPaths(rootDir: string): HarnessPaths;
16
18
  export declare const DEFAULT_PROMPT_SOURCE_PATH = ".harness/src/prompts/system.md";
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAgBjE;AAED,eAAO,MAAM,0BAA0B,mCAAmC,CAAC;AAE3E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE/E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEpF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAkBjE;AAED,eAAO,MAAM,0BAA0B,mCAAmC,CAAC;AAE3E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE/E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEpF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEhF"}
package/dist/paths.js CHANGED
@@ -14,6 +14,8 @@ export function resolveHarnessPaths(rootDir) {
14
14
  mcpDir: path.join(srcDir, "mcp"),
15
15
  subagentDir: path.join(srcDir, "subagents"),
16
16
  hookDir: path.join(srcDir, "hooks"),
17
+ envFile: path.join(harnessDir, ".env"),
18
+ rootEnvFile: path.join(rootDir, ".env.harness"),
17
19
  };
18
20
  }
19
21
  export const DEFAULT_PROMPT_SOURCE_PATH = ".harness/src/prompts/system.md";
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAiB7B,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,UAAU;QACrB,MAAM;QACN,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QACrD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QAC7D,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAE3E,MAAM,UAAU,yBAAyB,CAAC,QAAoB;IAC5D,OAAO,yCAAyC,QAAQ,OAAO,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,uBAAuB,OAAO,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,QAAoB;IAC5E,OAAO,uBAAuB,OAAO,cAAc,QAAQ,OAAO,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,oBAAoB,EAAE,OAAO,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,QAAoB;IACrE,OAAO,oBAAoB,EAAE,cAAc,QAAQ,OAAO,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU;IAClD,OAAO,0BAA0B,EAAE,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAU,EAAE,QAAoB;IAC1E,OAAO,0BAA0B,EAAE,cAAc,QAAQ,OAAO,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,sBAAsB,EAAE,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU,EAAE,QAAoB;IACtE,OAAO,sBAAsB,EAAE,cAAc,QAAQ,OAAO,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAmB7B,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,UAAU;QACrB,MAAM;QACN,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QACrD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QAC7D,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACvC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAE3E,MAAM,UAAU,yBAAyB,CAAC,QAAoB;IAC5D,OAAO,yCAAyC,QAAQ,OAAO,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,uBAAuB,OAAO,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,QAAoB;IAC5E,OAAO,uBAAuB,OAAO,cAAc,QAAQ,OAAO,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,oBAAoB,EAAE,OAAO,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,QAAoB;IACrE,OAAO,oBAAoB,EAAE,cAAc,QAAQ,OAAO,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAU;IAClD,OAAO,0BAA0B,EAAE,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAU,EAAE,QAAoB;IAC1E,OAAO,0BAA0B,EAAE,cAAc,QAAQ,OAAO,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,sBAAsB,EAAE,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAU,EAAE,QAAoB;IACtE,OAAO,sBAAsB,EAAE,cAAc,QAAQ,OAAO,CAAC;AAC/D,CAAC"}
@@ -21,7 +21,7 @@ export declare function loadManagedIndex(paths: HarnessPaths): Promise<{
21
21
  versionStatus?: VersionIssue;
22
22
  }>;
23
23
  export declare function writeManagedIndex(paths: HarnessPaths, managedIndex: ManagedIndex): Promise<void>;
24
- export declare function readProviderOverrideFile(rootDir: string, provider: ProviderId, overridePath?: string): Promise<{
24
+ export declare function readProviderOverrideFile(rootDir: string, provider: ProviderId, overridePath?: string, envVars?: Map<string, string>): Promise<{
25
25
  override: ProviderOverride | undefined;
26
26
  sha256: string | undefined;
27
27
  diagnostics: Diagnostic[];
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,KAAK,YAAY,GAAG,aAAa,CAAC;AAElC,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/D,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CA2CD;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IAC3D,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CAkCD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxF;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAMhD;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IACnE,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CAkCD;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC;IACT,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CA0DD;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB7E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DpF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE,CAe5E;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,KAAK,YAAY,GAAG,aAAa,CAAC;AAElC,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/D,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CA2CD;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IAC3D,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CAkCD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxF;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAMhD;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IACnE,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CAkCD;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC;IACT,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC,CAkED;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB7E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DpF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE,CAe5E;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { parseManagedIndex, parseManifest, parseManifestLock, parseProviderOverride, providerIdSchema, VersionError, } from "@madebywild/agent-harness-manifest";
4
+ import { pushUnresolvedEnvDiagnostics, substituteEnvVars } from "./env.js";
4
5
  import { copyToBackup, exists, normalizeRelativePath, readTextIfExists, stableStringify, toPosixRelative, writeFileAtomic, } from "./utils.js";
5
6
  export async function loadManifest(paths) {
6
7
  const contents = await readTextIfExists(paths.manifestFile);
@@ -131,7 +132,7 @@ export async function loadManagedIndex(paths) {
131
132
  export async function writeManagedIndex(paths, managedIndex) {
132
133
  await writeFileAtomic(paths.managedIndexFile, stableStringify(managedIndex));
133
134
  }
134
- export async function readProviderOverrideFile(rootDir, provider, overridePath) {
135
+ export async function readProviderOverrideFile(rootDir, provider, overridePath, envVars) {
135
136
  if (!overridePath) {
136
137
  return {
137
138
  override: undefined,
@@ -151,15 +152,22 @@ export async function readProviderOverrideFile(rootDir, provider, overridePath)
151
152
  versionStatus: "current",
152
153
  };
153
154
  }
155
+ const overrideDiagnostics = [];
154
156
  try {
157
+ let textToParse = text;
158
+ if (envVars) {
159
+ const { result, unresolvedKeys } = substituteEnvVars(text, envVars);
160
+ textToParse = result;
161
+ pushUnresolvedEnvDiagnostics(unresolvedKeys, overrideDiagnostics, normalized, { provider });
162
+ }
155
163
  const YAML = await import("yaml");
156
- const parsed = YAML.parse(text);
164
+ const parsed = YAML.parse(textToParse);
157
165
  const override = parseProviderOverride(parsed);
158
166
  const { sha256 } = await import("./utils.js");
159
167
  return {
160
168
  override,
161
169
  sha256: sha256(text),
162
- diagnostics: [],
170
+ diagnostics: overrideDiagnostics,
163
171
  versionStatus: "current",
164
172
  };
165
173
  }
@@ -168,7 +176,7 @@ export async function readProviderOverrideFile(rootDir, provider, overridePath)
168
176
  return {
169
177
  override: undefined,
170
178
  sha256: undefined,
171
- diagnostics: [versionErrorDiagnostic("provider-override", normalized, error, provider)],
179
+ diagnostics: [...overrideDiagnostics, versionErrorDiagnostic("provider-override", normalized, error, provider)],
172
180
  versionStatus: statusForVersionReason(error.reason),
173
181
  };
174
182
  }
@@ -176,6 +184,7 @@ export async function readProviderOverrideFile(rootDir, provider, overridePath)
176
184
  override: undefined,
177
185
  sha256: undefined,
178
186
  diagnostics: [
187
+ ...overrideDiagnostics,
179
188
  {
180
189
  code: "OVERRIDE_INVALID",
181
190
  severity: "error",