@madebywild/agent-harness-framework 0.9.3 → 1.1.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.
- package/LICENSE +21 -0
- package/README.md +154 -10
- package/dist/cli/adapters/commander.d.ts.map +1 -1
- package/dist/cli/adapters/commander.js +16 -0
- package/dist/cli/adapters/commander.js.map +1 -1
- package/dist/cli/adapters/interactive.d.ts.map +1 -1
- package/dist/cli/adapters/interactive.js +20 -0
- package/dist/cli/adapters/interactive.js.map +1 -1
- package/dist/cli/command-registry.d.ts.map +1 -1
- package/dist/cli/command-registry.js +20 -1
- package/dist/cli/command-registry.js.map +1 -1
- package/dist/cli/contracts.d.ts +1 -1
- package/dist/cli/contracts.d.ts.map +1 -1
- package/dist/cli/handlers/entities.d.ts +4 -0
- package/dist/cli/handlers/entities.d.ts.map +1 -1
- package/dist/cli/handlers/entities.js +17 -0
- package/dist/cli/handlers/entities.js.map +1 -1
- package/dist/cli/handlers/registry.d.ts.map +1 -1
- package/dist/cli/handlers/registry.js.map +1 -1
- package/dist/commands.d.ts +6 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +42 -0
- package/dist/commands.js.map +1 -0
- package/dist/engine/entities.d.ts +3 -0
- package/dist/engine/entities.d.ts.map +1 -1
- package/dist/engine/entities.js +64 -1
- package/dist/engine/entities.js.map +1 -1
- package/dist/engine/utils.d.ts.map +1 -1
- package/dist/engine/utils.js +3 -0
- package/dist/engine/utils.js.map +1 -1
- package/dist/engine.d.ts +3 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +10 -2
- package/dist/engine.js.map +1 -1
- package/dist/entity-registries.d.ts +5 -1
- package/dist/entity-registries.d.ts.map +1 -1
- package/dist/entity-registries.js +17 -0
- package/dist/entity-registries.js.map +1 -1
- package/dist/env.d.ts +39 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +175 -0
- package/dist/env.js.map +1 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +8 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +200 -40
- package/dist/loader.js.map +1 -1
- package/dist/paths.d.ts +5 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +9 -0
- package/dist/paths.js.map +1 -1
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +25 -0
- package/dist/planner.js.map +1 -1
- package/dist/provider-adapters/claude.d.ts.map +1 -1
- package/dist/provider-adapters/claude.js +28 -1
- package/dist/provider-adapters/claude.js.map +1 -1
- package/dist/provider-adapters/constants.d.ts +2 -0
- package/dist/provider-adapters/constants.d.ts.map +1 -1
- package/dist/provider-adapters/constants.js +2 -0
- package/dist/provider-adapters/constants.js.map +1 -1
- package/dist/provider-adapters/copilot.d.ts.map +1 -1
- package/dist/provider-adapters/copilot.js +25 -1
- package/dist/provider-adapters/copilot.js.map +1 -1
- package/dist/provider-adapters/types.d.ts +1 -0
- package/dist/provider-adapters/types.d.ts.map +1 -1
- package/dist/repository.d.ts +1 -1
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +23 -4
- package/dist/repository.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
package/dist/loader.js
CHANGED
|
@@ -2,14 +2,18 @@ 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 { parseCanonicalCommandDocument } from "./commands.js";
|
|
6
|
+
import { loadEnvVars, pushUnresolvedEnvDiagnostics, substituteEnvVars } from "./env.js";
|
|
5
7
|
import { canonicalHookHasErrors, parseCanonicalHookDocument, withHookId } from "./hooks.js";
|
|
6
|
-
import { DEFAULT_PROMPT_SOURCE_PATH, defaultHookOverridePath, defaultHookSourcePath, defaultMcpOverridePath, defaultPromptOverridePath, defaultSkillOverridePath, defaultSubagentOverridePath, } from "./paths.js";
|
|
8
|
+
import { DEFAULT_PROMPT_SOURCE_PATH, defaultCommandOverridePath, defaultCommandSourcePath, defaultHookOverridePath, defaultHookSourcePath, defaultMcpOverridePath, defaultPromptOverridePath, defaultSkillOverridePath, defaultSubagentOverridePath, } from "./paths.js";
|
|
7
9
|
import { collectManagedSourcePaths, collectSourceCandidates, listFilesRecursively, readProviderOverrideFile, } from "./repository.js";
|
|
8
10
|
import { normalizeRelativePath, sha256, stableStringify, toPosixRelative } from "./utils.js";
|
|
9
11
|
export async function loadCanonicalState(paths, manifest) {
|
|
10
12
|
const diagnostics = [];
|
|
11
13
|
diagnostics.push(...validateManifestSemantics(manifest));
|
|
12
14
|
diagnostics.push(...buildProviderEnablementDiagnostics(manifest));
|
|
15
|
+
// Load env vars
|
|
16
|
+
const envVars = await loadEnvVars(paths);
|
|
13
17
|
const candidates = await collectSourceCandidates(paths);
|
|
14
18
|
const registeredSourcePaths = new Set(collectManagedSourcePaths(manifest));
|
|
15
19
|
for (const candidate of candidates) {
|
|
@@ -28,7 +32,7 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
28
32
|
if (promptEntities.length === 1) {
|
|
29
33
|
const promptEntity = promptEntities[0];
|
|
30
34
|
if (promptEntity) {
|
|
31
|
-
const loadedPrompt = await loadPrompt(paths, promptEntity);
|
|
35
|
+
const loadedPrompt = await loadPrompt(paths, promptEntity, envVars);
|
|
32
36
|
diagnostics.push(...loadedPrompt.diagnostics);
|
|
33
37
|
prompt = loadedPrompt.prompt;
|
|
34
38
|
}
|
|
@@ -36,7 +40,7 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
36
40
|
const skillEntities = manifest.entities.filter((entity) => entity.type === "skill" && entity.enabled !== false);
|
|
37
41
|
const skills = [];
|
|
38
42
|
for (const skillEntity of skillEntities) {
|
|
39
|
-
const loadedSkill = await loadSkill(paths, skillEntity);
|
|
43
|
+
const loadedSkill = await loadSkill(paths, skillEntity, envVars);
|
|
40
44
|
diagnostics.push(...loadedSkill.diagnostics);
|
|
41
45
|
if (loadedSkill.skill) {
|
|
42
46
|
skills.push(loadedSkill.skill);
|
|
@@ -45,7 +49,7 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
45
49
|
const mcpEntities = manifest.entities.filter((entity) => entity.type === "mcp_config" && entity.enabled !== false);
|
|
46
50
|
const mcps = [];
|
|
47
51
|
for (const mcpEntity of mcpEntities) {
|
|
48
|
-
const loadedMcp = await loadMcp(paths, mcpEntity);
|
|
52
|
+
const loadedMcp = await loadMcp(paths, mcpEntity, envVars);
|
|
49
53
|
diagnostics.push(...loadedMcp.diagnostics);
|
|
50
54
|
if (loadedMcp.mcp) {
|
|
51
55
|
mcps.push(loadedMcp.mcp);
|
|
@@ -54,7 +58,7 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
54
58
|
const subagentEntities = manifest.entities.filter((entity) => entity.type === "subagent" && entity.enabled !== false);
|
|
55
59
|
const subagents = [];
|
|
56
60
|
for (const subagentEntity of subagentEntities) {
|
|
57
|
-
const loadedSubagent = await loadSubagent(paths, subagentEntity);
|
|
61
|
+
const loadedSubagent = await loadSubagent(paths, subagentEntity, envVars);
|
|
58
62
|
diagnostics.push(...loadedSubagent.diagnostics);
|
|
59
63
|
if (loadedSubagent.subagent) {
|
|
60
64
|
subagents.push(loadedSubagent.subagent);
|
|
@@ -63,12 +67,21 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
63
67
|
const hookEntities = manifest.entities.filter((entity) => entity.type === "hook" && entity.enabled !== false);
|
|
64
68
|
const hooks = [];
|
|
65
69
|
for (const hookEntity of hookEntities) {
|
|
66
|
-
const loadedHook = await loadHook(paths, hookEntity);
|
|
70
|
+
const loadedHook = await loadHook(paths, hookEntity, envVars);
|
|
67
71
|
diagnostics.push(...loadedHook.diagnostics);
|
|
68
72
|
if (loadedHook.hook) {
|
|
69
73
|
hooks.push(loadedHook.hook);
|
|
70
74
|
}
|
|
71
75
|
}
|
|
76
|
+
const commandEntities = manifest.entities.filter((entity) => entity.type === "command" && entity.enabled !== false);
|
|
77
|
+
const commands = [];
|
|
78
|
+
for (const commandEntity of commandEntities) {
|
|
79
|
+
const loadedCommand = await loadCommand(paths, commandEntity, envVars);
|
|
80
|
+
diagnostics.push(...loadedCommand.diagnostics);
|
|
81
|
+
if (loadedCommand.command) {
|
|
82
|
+
commands.push(loadedCommand.command);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
72
85
|
return {
|
|
73
86
|
manifest,
|
|
74
87
|
diagnostics,
|
|
@@ -77,6 +90,7 @@ export async function loadCanonicalState(paths, manifest) {
|
|
|
77
90
|
mcps: mcps.sort((left, right) => left.entity.id.localeCompare(right.entity.id)),
|
|
78
91
|
subagents: subagents.sort((left, right) => left.entity.id.localeCompare(right.entity.id)),
|
|
79
92
|
hooks: hooks.sort((left, right) => left.entity.id.localeCompare(right.entity.id)),
|
|
93
|
+
commands: commands.sort((left, right) => left.entity.id.localeCompare(right.entity.id)),
|
|
80
94
|
};
|
|
81
95
|
}
|
|
82
96
|
function buildProviderEnablementDiagnostics(manifest) {
|
|
@@ -223,6 +237,18 @@ export function validateManifestSemantics(manifest) {
|
|
|
223
237
|
});
|
|
224
238
|
}
|
|
225
239
|
}
|
|
240
|
+
if (entity.type === "command") {
|
|
241
|
+
const expectedPath = defaultCommandSourcePath(entity.id);
|
|
242
|
+
if (sourcePath !== expectedPath) {
|
|
243
|
+
diagnostics.push({
|
|
244
|
+
code: "COMMAND_SOURCE_INVALID",
|
|
245
|
+
severity: "error",
|
|
246
|
+
message: `Command '${entity.id}' sourcePath must be '${expectedPath}'`,
|
|
247
|
+
path: sourcePath,
|
|
248
|
+
entityId: entity.id,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
226
252
|
}
|
|
227
253
|
if (promptCount > 1) {
|
|
228
254
|
diagnostics.push({
|
|
@@ -247,7 +273,7 @@ function validateGitRegistryEntry(registryId, definition, diagnostics) {
|
|
|
247
273
|
});
|
|
248
274
|
}
|
|
249
275
|
}
|
|
250
|
-
async function loadPrompt(paths, entity) {
|
|
276
|
+
async function loadPrompt(paths, entity, envVars) {
|
|
251
277
|
const diagnostics = [];
|
|
252
278
|
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
253
279
|
const sourceAbs = path.join(paths.root, sourcePath);
|
|
@@ -266,7 +292,9 @@ async function loadPrompt(paths, entity) {
|
|
|
266
292
|
});
|
|
267
293
|
return { diagnostics };
|
|
268
294
|
}
|
|
269
|
-
const
|
|
295
|
+
const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
|
|
296
|
+
pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId: entity.id });
|
|
297
|
+
const parsed = matter(substitutedText);
|
|
270
298
|
const body = parsed.content.trim();
|
|
271
299
|
if (!body) {
|
|
272
300
|
diagnostics.push({
|
|
@@ -280,7 +308,7 @@ async function loadPrompt(paths, entity) {
|
|
|
280
308
|
const overrideByProvider = new Map();
|
|
281
309
|
const overrideShaByProvider = {};
|
|
282
310
|
for (const provider of providerIdSchema.options) {
|
|
283
|
-
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultPromptOverridePath(provider));
|
|
311
|
+
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultPromptOverridePath(provider), envVars);
|
|
284
312
|
diagnostics.push(...parsedOverride.diagnostics);
|
|
285
313
|
overrideByProvider.set(provider, parsedOverride.override);
|
|
286
314
|
if (parsedOverride.sha256) {
|
|
@@ -302,7 +330,7 @@ async function loadPrompt(paths, entity) {
|
|
|
302
330
|
},
|
|
303
331
|
};
|
|
304
332
|
}
|
|
305
|
-
async function loadSkill(paths, entity) {
|
|
333
|
+
async function loadSkill(paths, entity, envVars) {
|
|
306
334
|
const diagnostics = [];
|
|
307
335
|
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
308
336
|
const sourceAbs = path.join(paths.root, sourcePath);
|
|
@@ -330,10 +358,12 @@ async function loadSkill(paths, entity) {
|
|
|
330
358
|
}
|
|
331
359
|
const relativeInSkill = normalizeRelativePath(path.relative(sourceDir, absolutePath).replace(/\\/g, "/"));
|
|
332
360
|
const content = await fs.readFile(absolutePath, "utf8");
|
|
361
|
+
const { result: substitutedContent, unresolvedKeys } = substituteEnvVars(content, envVars);
|
|
362
|
+
pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, relativeFromRoot, { entityId: entity.id });
|
|
333
363
|
filesWithContent.push({
|
|
334
364
|
path: relativeInSkill,
|
|
335
365
|
sha256: sha256(content),
|
|
336
|
-
content,
|
|
366
|
+
content: substitutedContent,
|
|
337
367
|
});
|
|
338
368
|
}
|
|
339
369
|
const hasSkillMd = filesWithContent.some((file) => file.path === "SKILL.md");
|
|
@@ -349,7 +379,7 @@ async function loadSkill(paths, entity) {
|
|
|
349
379
|
const overrideByProvider = new Map();
|
|
350
380
|
const overrideShaByProvider = {};
|
|
351
381
|
for (const provider of providerIdSchema.options) {
|
|
352
|
-
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultSkillOverridePath(entity.id, provider));
|
|
382
|
+
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultSkillOverridePath(entity.id, provider), envVars);
|
|
353
383
|
diagnostics.push(...parsedOverride.diagnostics);
|
|
354
384
|
overrideByProvider.set(provider, parsedOverride.override);
|
|
355
385
|
if (parsedOverride.sha256) {
|
|
@@ -374,7 +404,7 @@ async function loadSkill(paths, entity) {
|
|
|
374
404
|
},
|
|
375
405
|
};
|
|
376
406
|
}
|
|
377
|
-
async function loadMcp(paths, entity) {
|
|
407
|
+
async function loadMcp(paths, entity, envVars) {
|
|
378
408
|
const diagnostics = [];
|
|
379
409
|
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
380
410
|
const sourceAbs = path.join(paths.root, sourcePath);
|
|
@@ -392,19 +422,23 @@ async function loadMcp(paths, entity) {
|
|
|
392
422
|
});
|
|
393
423
|
return { diagnostics };
|
|
394
424
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
425
|
+
const parsedJson = parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entity.id);
|
|
426
|
+
if (parsedJson.error) {
|
|
427
|
+
diagnostics.push({
|
|
428
|
+
code: "MCP_JSON_INVALID",
|
|
429
|
+
severity: "error",
|
|
430
|
+
message: `MCP config '${entity.id}' is not valid JSON object: ${parsedJson.error instanceof Error ? parsedJson.error.message : "unknown error"}`,
|
|
431
|
+
path: sourcePath,
|
|
432
|
+
entityId: entity.id,
|
|
433
|
+
});
|
|
434
|
+
return { diagnostics };
|
|
402
435
|
}
|
|
403
|
-
|
|
436
|
+
const json = parsedJson.value;
|
|
437
|
+
if (!json || typeof json !== "object" || Array.isArray(json)) {
|
|
404
438
|
diagnostics.push({
|
|
405
439
|
code: "MCP_JSON_INVALID",
|
|
406
440
|
severity: "error",
|
|
407
|
-
message: `MCP config '${entity.id}' is not valid JSON object:
|
|
441
|
+
message: `MCP config '${entity.id}' is not valid JSON object: MCP config must be a JSON object`,
|
|
408
442
|
path: sourcePath,
|
|
409
443
|
entityId: entity.id,
|
|
410
444
|
});
|
|
@@ -413,7 +447,7 @@ async function loadMcp(paths, entity) {
|
|
|
413
447
|
const overrideByProvider = new Map();
|
|
414
448
|
const overrideShaByProvider = {};
|
|
415
449
|
for (const provider of providerIdSchema.options) {
|
|
416
|
-
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultMcpOverridePath(entity.id, provider));
|
|
450
|
+
const parsedOverride = await parseOverride(paths, provider, entity, entity.overrides?.[provider] ?? defaultMcpOverridePath(entity.id, provider), envVars);
|
|
417
451
|
diagnostics.push(...parsedOverride.diagnostics);
|
|
418
452
|
overrideByProvider.set(provider, parsedOverride.override);
|
|
419
453
|
if (parsedOverride.sha256) {
|
|
@@ -426,15 +460,15 @@ async function loadMcp(paths, entity) {
|
|
|
426
460
|
entity,
|
|
427
461
|
canonical: {
|
|
428
462
|
id: entity.id,
|
|
429
|
-
json,
|
|
463
|
+
json: json,
|
|
430
464
|
},
|
|
431
|
-
sourceSha256: sha256(
|
|
465
|
+
sourceSha256: sha256(text),
|
|
432
466
|
overrideByProvider,
|
|
433
467
|
overrideShaByProvider,
|
|
434
468
|
},
|
|
435
469
|
};
|
|
436
470
|
}
|
|
437
|
-
async function loadSubagent(paths, entity) {
|
|
471
|
+
async function loadSubagent(paths, entity, envVars) {
|
|
438
472
|
const diagnostics = [];
|
|
439
473
|
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
440
474
|
const sourceAbs = path.join(paths.root, sourcePath);
|
|
@@ -452,9 +486,11 @@ async function loadSubagent(paths, entity) {
|
|
|
452
486
|
});
|
|
453
487
|
return { diagnostics };
|
|
454
488
|
}
|
|
489
|
+
const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
|
|
490
|
+
pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId: entity.id });
|
|
455
491
|
let parsed;
|
|
456
492
|
try {
|
|
457
|
-
parsed = matter(
|
|
493
|
+
parsed = matter(substitutedText);
|
|
458
494
|
}
|
|
459
495
|
catch (error) {
|
|
460
496
|
diagnostics.push({
|
|
@@ -512,7 +548,7 @@ async function loadSubagent(paths, entity) {
|
|
|
512
548
|
const overrideShaByProvider = {};
|
|
513
549
|
for (const provider of providerIdSchema.options) {
|
|
514
550
|
const overridePath = entity.overrides?.[provider] ?? defaultSubagentOverridePath(entity.id, provider);
|
|
515
|
-
const parsedOverride = await parseOverride(paths, provider, entity, overridePath);
|
|
551
|
+
const parsedOverride = await parseOverride(paths, provider, entity, overridePath, envVars);
|
|
516
552
|
diagnostics.push(...parsedOverride.diagnostics);
|
|
517
553
|
diagnostics.push(...validateSubagentOverrideOptions(entity.id, provider, parsedOverride.override, overridePath));
|
|
518
554
|
overrideByProvider.set(provider, parsedOverride.override);
|
|
@@ -537,7 +573,7 @@ async function loadSubagent(paths, entity) {
|
|
|
537
573
|
},
|
|
538
574
|
};
|
|
539
575
|
}
|
|
540
|
-
async function loadHook(paths, entity) {
|
|
576
|
+
async function loadHook(paths, entity, envVars) {
|
|
541
577
|
const diagnostics = [];
|
|
542
578
|
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
543
579
|
const sourceAbs = path.join(paths.root, sourcePath);
|
|
@@ -555,21 +591,18 @@ async function loadHook(paths, entity) {
|
|
|
555
591
|
});
|
|
556
592
|
return { diagnostics };
|
|
557
593
|
}
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
parsedJson = JSON.parse(text);
|
|
561
|
-
}
|
|
562
|
-
catch (error) {
|
|
594
|
+
const parsedJson = parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entity.id);
|
|
595
|
+
if (parsedJson.error) {
|
|
563
596
|
diagnostics.push({
|
|
564
597
|
code: "HOOK_JSON_INVALID",
|
|
565
598
|
severity: "error",
|
|
566
|
-
message: `Hook '${entity.id}' is not valid JSON: ${error instanceof Error ? error.message : "unknown error"}`,
|
|
599
|
+
message: `Hook '${entity.id}' is not valid JSON: ${parsedJson.error instanceof Error ? parsedJson.error.message : "unknown error"}`,
|
|
567
600
|
path: sourcePath,
|
|
568
601
|
entityId: entity.id,
|
|
569
602
|
});
|
|
570
603
|
return { diagnostics };
|
|
571
604
|
}
|
|
572
|
-
const parsedHook = parseCanonicalHookDocument(parsedJson, sourcePath, entity.id);
|
|
605
|
+
const parsedHook = parseCanonicalHookDocument(parsedJson.value, sourcePath, entity.id);
|
|
573
606
|
diagnostics.push(...parsedHook.diagnostics);
|
|
574
607
|
if (!parsedHook.canonical || canonicalHookHasErrors(parsedHook.diagnostics)) {
|
|
575
608
|
return { diagnostics };
|
|
@@ -578,7 +611,7 @@ async function loadHook(paths, entity) {
|
|
|
578
611
|
const overrideShaByProvider = {};
|
|
579
612
|
for (const provider of providerIdSchema.options) {
|
|
580
613
|
const overridePath = entity.overrides?.[provider] ?? defaultHookOverridePath(entity.id, provider);
|
|
581
|
-
const parsedOverride = await parseOverride(paths, provider, entity, overridePath);
|
|
614
|
+
const parsedOverride = await parseOverride(paths, provider, entity, overridePath, envVars);
|
|
582
615
|
diagnostics.push(...parsedOverride.diagnostics);
|
|
583
616
|
overrideByProvider.set(provider, parsedOverride.override);
|
|
584
617
|
if (parsedOverride.sha256) {
|
|
@@ -590,14 +623,141 @@ async function loadHook(paths, entity) {
|
|
|
590
623
|
hook: {
|
|
591
624
|
entity,
|
|
592
625
|
canonical: withHookId(parsedHook.canonical, entity.id),
|
|
593
|
-
sourceSha256: sha256(
|
|
626
|
+
sourceSha256: sha256(text),
|
|
627
|
+
overrideByProvider,
|
|
628
|
+
overrideShaByProvider,
|
|
629
|
+
},
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
async function loadCommand(paths, entity, envVars) {
|
|
633
|
+
const diagnostics = [];
|
|
634
|
+
const sourcePath = normalizeRelativePath(entity.sourcePath);
|
|
635
|
+
const sourceAbs = path.join(paths.root, sourcePath);
|
|
636
|
+
let text;
|
|
637
|
+
try {
|
|
638
|
+
text = await fs.readFile(sourceAbs, "utf8");
|
|
639
|
+
}
|
|
640
|
+
catch {
|
|
641
|
+
diagnostics.push({
|
|
642
|
+
code: "COMMAND_SOURCE_MISSING",
|
|
643
|
+
severity: "error",
|
|
644
|
+
message: `Command source '${sourcePath}' could not be read`,
|
|
645
|
+
path: sourcePath,
|
|
646
|
+
entityId: entity.id,
|
|
647
|
+
});
|
|
648
|
+
return { diagnostics };
|
|
649
|
+
}
|
|
650
|
+
const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
|
|
651
|
+
pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId: entity.id });
|
|
652
|
+
const parsedCommand = parseCanonicalCommandDocument(substitutedText, sourcePath, entity.id);
|
|
653
|
+
diagnostics.push(...parsedCommand.diagnostics);
|
|
654
|
+
if (!parsedCommand.canonical) {
|
|
655
|
+
return { diagnostics };
|
|
656
|
+
}
|
|
657
|
+
const overrideByProvider = new Map();
|
|
658
|
+
const overrideShaByProvider = {};
|
|
659
|
+
for (const provider of providerIdSchema.options) {
|
|
660
|
+
const overridePath = entity.overrides?.[provider] ?? defaultCommandOverridePath(entity.id, provider);
|
|
661
|
+
const parsedOverride = await parseOverride(paths, provider, entity, overridePath, envVars);
|
|
662
|
+
diagnostics.push(...parsedOverride.diagnostics);
|
|
663
|
+
overrideByProvider.set(provider, parsedOverride.override);
|
|
664
|
+
if (parsedOverride.sha256) {
|
|
665
|
+
overrideShaByProvider[provider] = parsedOverride.sha256;
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
return {
|
|
669
|
+
diagnostics,
|
|
670
|
+
command: {
|
|
671
|
+
entity,
|
|
672
|
+
canonical: parsedCommand.canonical,
|
|
673
|
+
sourceSha256: sha256(text),
|
|
594
674
|
overrideByProvider,
|
|
595
675
|
overrideShaByProvider,
|
|
596
676
|
},
|
|
597
677
|
};
|
|
598
678
|
}
|
|
599
|
-
|
|
600
|
-
|
|
679
|
+
const JSON_ENV_PLACEHOLDER_RE = /^\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/u;
|
|
680
|
+
function parseJsonWithEnvSubstitution(text, envVars, diagnostics, sourcePath, entityId) {
|
|
681
|
+
const { result: substitutedText, unresolvedKeys } = substituteEnvVars(text, envVars);
|
|
682
|
+
pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, sourcePath, { entityId });
|
|
683
|
+
try {
|
|
684
|
+
return { value: JSON.parse(substitutedText) };
|
|
685
|
+
}
|
|
686
|
+
catch (error) {
|
|
687
|
+
if (unresolvedKeys.length === 0) {
|
|
688
|
+
return { error };
|
|
689
|
+
}
|
|
690
|
+
const reparsed = parseJsonWithQuotedBarePlaceholders(substitutedText, unresolvedKeys);
|
|
691
|
+
if (reparsed !== undefined) {
|
|
692
|
+
return { value: reparsed };
|
|
693
|
+
}
|
|
694
|
+
return { error };
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
function parseJsonWithQuotedBarePlaceholders(text, unresolvedKeys) {
|
|
698
|
+
const unresolved = new Set(unresolvedKeys);
|
|
699
|
+
let inString = false;
|
|
700
|
+
let escaped = false;
|
|
701
|
+
let i = 0;
|
|
702
|
+
let transformed = "";
|
|
703
|
+
let changed = false;
|
|
704
|
+
while (i < text.length) {
|
|
705
|
+
const char = text[i];
|
|
706
|
+
if (char === undefined) {
|
|
707
|
+
break;
|
|
708
|
+
}
|
|
709
|
+
if (inString) {
|
|
710
|
+
transformed += char;
|
|
711
|
+
if (escaped) {
|
|
712
|
+
escaped = false;
|
|
713
|
+
}
|
|
714
|
+
else if (char === "\\") {
|
|
715
|
+
escaped = true;
|
|
716
|
+
}
|
|
717
|
+
else if (char === '"') {
|
|
718
|
+
inString = false;
|
|
719
|
+
}
|
|
720
|
+
i++;
|
|
721
|
+
continue;
|
|
722
|
+
}
|
|
723
|
+
if (char === '"') {
|
|
724
|
+
inString = true;
|
|
725
|
+
transformed += char;
|
|
726
|
+
i++;
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
if (char === "{" && text[i + 1] === "{") {
|
|
730
|
+
const slice = text.slice(i);
|
|
731
|
+
const match = slice.match(JSON_ENV_PLACEHOLDER_RE);
|
|
732
|
+
if (match) {
|
|
733
|
+
const key = match[1];
|
|
734
|
+
const placeholder = match[0];
|
|
735
|
+
if (key && unresolved.has(key)) {
|
|
736
|
+
transformed += JSON.stringify(`{{${key}}}`);
|
|
737
|
+
changed = true;
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
transformed += placeholder;
|
|
741
|
+
}
|
|
742
|
+
i += placeholder.length;
|
|
743
|
+
continue;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
transformed += char;
|
|
747
|
+
i++;
|
|
748
|
+
}
|
|
749
|
+
if (!changed) {
|
|
750
|
+
return undefined;
|
|
751
|
+
}
|
|
752
|
+
try {
|
|
753
|
+
return JSON.parse(transformed);
|
|
754
|
+
}
|
|
755
|
+
catch {
|
|
756
|
+
return undefined;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
async function parseOverride(paths, provider, entity, pathValue, envVars) {
|
|
760
|
+
return readProviderOverrideFile(paths.root, provider, pathValue, envVars).then((result) => ({
|
|
601
761
|
...result,
|
|
602
762
|
diagnostics: result.diagnostics.map((diagnostic) => ({
|
|
603
763
|
...diagnostic,
|
package/dist/loader.js.map
CHANGED
|
@@ -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,9 @@ export interface HarnessPaths {
|
|
|
11
11
|
mcpDir: string;
|
|
12
12
|
subagentDir: string;
|
|
13
13
|
hookDir: string;
|
|
14
|
+
commandDir: string;
|
|
15
|
+
envFile: string;
|
|
16
|
+
rootEnvFile: string;
|
|
14
17
|
}
|
|
15
18
|
export declare function resolveHarnessPaths(rootDir: string): HarnessPaths;
|
|
16
19
|
export declare const DEFAULT_PROMPT_SOURCE_PATH = ".harness/src/prompts/system.md";
|
|
@@ -23,4 +26,6 @@ export declare function defaultSubagentSourcePath(id: string): string;
|
|
|
23
26
|
export declare function defaultSubagentOverridePath(id: string, provider: ProviderId): string;
|
|
24
27
|
export declare function defaultHookSourcePath(id: string): string;
|
|
25
28
|
export declare function defaultHookOverridePath(id: string, provider: ProviderId): string;
|
|
29
|
+
export declare function defaultCommandSourcePath(id: string): string;
|
|
30
|
+
export declare function defaultCommandOverridePath(id: string, provider: ProviderId): string;
|
|
26
31
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -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;
|
|
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,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAmBjE;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;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAEnF"}
|
package/dist/paths.js
CHANGED
|
@@ -14,6 +14,9 @@ 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
|
+
commandDir: path.join(srcDir, "commands"),
|
|
18
|
+
envFile: path.join(harnessDir, ".env"),
|
|
19
|
+
rootEnvFile: path.join(rootDir, ".env.harness"),
|
|
17
20
|
};
|
|
18
21
|
}
|
|
19
22
|
export const DEFAULT_PROMPT_SOURCE_PATH = ".harness/src/prompts/system.md";
|
|
@@ -44,4 +47,10 @@ export function defaultHookSourcePath(id) {
|
|
|
44
47
|
export function defaultHookOverridePath(id, provider) {
|
|
45
48
|
return `.harness/src/hooks/${id}.overrides.${provider}.yaml`;
|
|
46
49
|
}
|
|
50
|
+
export function defaultCommandSourcePath(id) {
|
|
51
|
+
return `.harness/src/commands/${id}.md`;
|
|
52
|
+
}
|
|
53
|
+
export function defaultCommandOverridePath(id, provider) {
|
|
54
|
+
return `.harness/src/commands/${id}.overrides.${provider}.yaml`;
|
|
55
|
+
}
|
|
47
56
|
//# sourceMappingURL=paths.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAoB7B,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,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;QACzC,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;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,OAAO,yBAAyB,EAAE,KAAK,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAU,EAAE,QAAoB;IACzE,OAAO,yBAAyB,EAAE,cAAc,QAAQ,OAAO,CAAC;AAClE,CAAC"}
|
package/dist/planner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,oCAAoC,CAAC;AAEjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,KAAK,EAAc,kBAAkB,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AAU1G,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAc,MAAM,oCAAoC,CAAC;AAEjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,KAAK,EAAc,kBAAkB,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AAU1G,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA0Z7B"}
|