@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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Wild
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,26 +1,170 @@
1
1
  # @madebywild/agent-harness-framework
2
2
 
3
- CLI and engine for [Agent Harness](https://github.com/madebywild/agent-harness) — unified AI agent configuration management for Codex, Claude, and Copilot.
3
+ CLI and engine for [Agent Harness](https://github.com/madebywild/agent-harness) — unified AI agent configuration management for Claude Code, GitHub Copilot, and OpenAI Codex.
4
4
 
5
- Agent Harness manages AI agent configurations (prompts, skills, MCP server configs, and subagents) from a single source of truth in the `.harness/` directory, generating provider-specific outputs for OpenAI Codex, Anthropic Claude Code, and GitHub Copilot.
5
+ Agent Harness manages agent configurations (system prompts, skills, MCP servers, subagents, and lifecycle hooks) from a single source of truth in a `.harness/` directory and generates provider-specific outputs for each enabled provider.
6
6
 
7
7
  ## Installation
8
8
 
9
9
  ```bash
10
+ npm install @madebywild/agent-harness-framework
11
+ # or
10
12
  pnpm add @madebywild/agent-harness-framework
11
13
  ```
12
14
 
13
- ## CLI
15
+ ## Quick start
14
16
 
15
17
  ```bash
16
- harness init # Initialize harness in a project
17
- harness add prompt # Add a system prompt
18
- harness add skill # Add a skill
19
- harness apply # Generate provider outputs
20
- harness watch # Watch for changes and regenerate
21
- harness doctor # Check configuration health
18
+ harness init
19
+ harness add prompt
20
+ harness add skill reviewer
21
+ harness add mcp playwright
22
+ harness provider enable claude
23
+ harness apply
24
+ ```
25
+
26
+ Or simply run `harness` with no arguments to launch the interactive TUI.
27
+
28
+ ## Interactive mode (TUI)
29
+
30
+ The primary way to use Agent Harness is through its interactive terminal UI. Run `harness` with no arguments (or with `--interactive`) and you'll get a menu-driven interface that walks you through every operation — initializing workspaces, adding entities, enabling providers, and applying changes — with prompts, validation, and confirmation at each step.
31
+
32
+ ```bash
33
+ harness # launch interactive mode
34
+ harness --interactive # force interactive mode (e.g. in scripts)
35
+ ```
36
+
37
+ Interactive mode is activated automatically in TTY environments and disabled in CI. Use `--no-interactive` to suppress it.
38
+
39
+ ## Direct commands
40
+
41
+ All operations are also available as direct CLI commands, useful for CI pipelines, scripting, and AI agents.
42
+
43
+ ### Global flags
44
+
45
+ | Flag | Description |
46
+ |---|---|
47
+ | `--cwd <path>` | Set working directory |
48
+ | `--json` | Emit machine-readable JSON output |
49
+ | `--interactive` | Force interactive mode |
50
+ | `--no-interactive` | Disable interactive mode |
51
+
52
+ ### Workspace lifecycle
53
+
54
+ ```bash
55
+ harness init [--force] # Initialize .harness/ workspace
56
+ harness plan # Preview planned file operations (default command)
57
+ harness apply # Generate provider outputs and update lock
58
+ harness validate # Validate manifest, ownership, and constraints
59
+ harness watch [--debounceMs] # Watch .harness/src/ and auto-apply on changes
60
+ ```
61
+
62
+ ### Entity management
63
+
64
+ Five entity types are supported:
65
+
66
+ | Type | Source format | Description |
67
+ |---|---|---|
68
+ | **prompt** | Markdown | System prompt shared across providers |
69
+ | **skill** | Directory (Markdown + files) | Reusable tool/skill definitions |
70
+ | **mcp** | JSON | MCP server configurations |
71
+ | **subagent** | Markdown with frontmatter | Sub-agent definitions with tools/model config |
72
+ | **hook** | JSON | Lifecycle hooks (webhooks, scripts, notifications) |
73
+
74
+ All entity source files and override sidecars support `{{PLACEHOLDER}}` syntax for injecting secrets and context-dependent values at apply time. See the [Environment Variables Guide](../../docs/environment-variables.md) for details.
75
+
76
+ ```bash
77
+ harness add prompt # Add the system prompt
78
+ harness add skill <id> # Add a skill
79
+ harness add mcp <id> # Add an MCP server config
80
+ harness add subagent <id> # Add a subagent
81
+ harness add hook <id> # Add a lifecycle hook
82
+ harness remove <entityType> <id> # Remove an entity (deletes source by default)
83
+ ```
84
+
85
+ ### Provider management
86
+
87
+ ```bash
88
+ harness provider enable <provider> # Enable a provider (claude, copilot, codex)
89
+ harness provider disable <provider> # Disable a provider
90
+ ```
91
+
92
+ ### Registry management
93
+
94
+ Registries are shared collections of entities that can be imported into any workspace via git.
95
+
96
+ ```bash
97
+ harness registry list # List configured registries
98
+ harness registry add <name> --gitUrl <url> [--ref main] # Add a git registry
99
+ harness registry remove <name> # Remove a registry
100
+ harness registry default show # Show the default registry
101
+ harness registry default set <name> # Set the default registry
102
+ harness registry pull [entityType] [id] [--force] # Pull entities from a registry
103
+ harness registry validate [--path <path>] # Validate a registry's structure
104
+ ```
105
+
106
+ ### Health and migration
107
+
108
+ ```bash
109
+ harness doctor # Inspect workspace schema version health
110
+ harness migrate [--dryRun] # Migrate workspace to latest schema version
111
+ ```
112
+
113
+ ## Provider outputs
114
+
115
+ Each enabled provider gets its own set of generated files:
116
+
117
+ | | Claude | Copilot | Codex |
118
+ |---|---|---|---|
119
+ | **Prompt** | `.claude/CLAUDE.md` | `.github/copilot-instructions.md` | `AGENTS.md` |
120
+ | **Skills** | `.claude/skills/<id>/` | `.github/skills/<id>/` | `.codex/skills/<id>/` |
121
+ | **MCP** | `.mcp.json` | `.vscode/mcp.json` | `.codex/config.toml` |
122
+ | **Subagents** | `.claude/agents/<id>.md` | `.github/agents/<id>.agent.md` | `.codex/config.toml` |
123
+ | **Hooks** | `.claude/settings.json` | `.github/hooks/...` | `.codex/config.toml` |
124
+
125
+ Each entity can have per-provider overrides via `.overrides.<provider>.yml` sidecar files, allowing you to customize target paths, enable/disable per provider, or set provider-specific options (model, tools, handoffs).
126
+
127
+ ## Workspace structure
128
+
129
+ ```
130
+ .harness/
131
+ manifest.json # Source of truth: entities, providers, registries
132
+ manifest.lock.json # Generated state and fingerprints
133
+ managed-index.json # Tracks managed source and output files
134
+ .env # Per-workspace secrets (gitignored)
135
+ src/
136
+ prompts/
137
+ system.md # System prompt
138
+ skills/
139
+ <id>/
140
+ SKILL.md # Skill definition + supporting files
141
+ mcp/
142
+ <id>.json # MCP server config
143
+ subagents/
144
+ <id>.md # Subagent definition
145
+ hooks/
146
+ <id>.json # Lifecycle hook definition
147
+ .env.harness # Shared env parameters (optionally committed)
148
+ ```
149
+
150
+ ## Programmatic API
151
+
152
+ The framework can also be used as a library:
153
+
154
+ ```ts
155
+ import { createEngine } from "@madebywild/agent-harness-framework";
156
+
157
+ const engine = createEngine({ cwd: process.cwd() });
158
+ const planResult = await engine.plan();
159
+ const applyResult = await engine.apply();
160
+ ```
161
+
162
+ The env module is also exported for standalone use:
163
+
164
+ ```ts
165
+ import { parseEnvFile, loadEnvVars, substituteEnvVars } from "@madebywild/agent-harness-framework";
22
166
  ```
23
167
 
24
168
  ## License
25
169
 
26
- MIT
170
+ [MIT](./LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -237,13 +237,16 @@ export class HarnessEngine {
237
237
  printApplySummary(result.writtenArtifacts, result.prunedArtifacts);
238
238
  };
239
239
  await runApply();
240
- const base = resolveHarnessPaths(this.cwd).agentsDir;
240
+ const paths = resolveHarnessPaths(this.cwd);
241
+ const base = paths.agentsDir;
241
242
  const watcher = chokidar.watch([
242
243
  path.join(base, "manifest.json"),
243
244
  path.join(base, "src/**/*.md"),
244
245
  path.join(base, "src/**/*.json"),
245
246
  path.join(base, "src/**/*.overrides.*.yaml"),
246
247
  path.join(base, "src/**/OVERRIDES.*.yaml"),
248
+ paths.envFile,
249
+ paths.rootEnvFile,
247
250
  ], {
248
251
  ignoreInitial: true,
249
252
  awaitWriteFinish: {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import type { HarnessPaths } from "./paths.js";
2
+ import type { Diagnostic } from "./types.js";
3
+ /**
4
+ * Parse a dotenv-format string into key-value pairs.
5
+ * - Lines starting with # are comments
6
+ * - Empty lines are skipped
7
+ * - Format: KEY=value (value can be unquoted, double-quoted, or single-quoted)
8
+ * - Double-quoted values support \n, \t, \\, \" escapes
9
+ * - Single-quoted values are literal (no escape processing)
10
+ * - Unquoted values are trimmed and stop at inline # comments
11
+ */
12
+ export declare function parseEnvFile(content: string): Map<string, string>;
13
+ /**
14
+ * Load env vars from multiple sources with precedence:
15
+ * 1. .harness/.env (highest priority)
16
+ * 2. .env.harness (at project root)
17
+ * 3. process.env (lowest priority, fallback for CI/CD — handled in substituteEnvVars)
18
+ *
19
+ * Higher-priority sources override lower-priority ones.
20
+ * Missing files are silently skipped.
21
+ */
22
+ export declare function loadEnvVars(paths: HarnessPaths): Promise<Map<string, string>>;
23
+ /**
24
+ * Push ENV_VAR_UNRESOLVED warning diagnostics for each unresolved placeholder key.
25
+ */
26
+ export declare function pushUnresolvedEnvDiagnostics(unresolvedKeys: string[], diagnostics: Diagnostic[], filePath: string, extra?: Partial<Diagnostic>): void;
27
+ /**
28
+ * Replace {{PLACEHOLDER}} patterns in text with env var values.
29
+ * Pattern: \{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}
30
+ * Returns the substituted text, set of used keys, and array of unresolved placeholder names.
31
+ *
32
+ * When a placeholder key is not found in `vars`, process.env is checked as a fallback.
33
+ */
34
+ export declare function substituteEnvVars(text: string, vars: Map<string, string>): {
35
+ result: string;
36
+ usedKeys: Set<string>;
37
+ unresolvedKeys: string[];
38
+ };
39
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA4DjE;AAiDD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBnF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,EAAE,EACxB,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC1B,IAAI,CAUN;AAID;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAerE"}
package/dist/env.js ADDED
@@ -0,0 +1,175 @@
1
+ import { readTextIfExists } from "./utils.js";
2
+ /**
3
+ * Parse a dotenv-format string into key-value pairs.
4
+ * - Lines starting with # are comments
5
+ * - Empty lines are skipped
6
+ * - Format: KEY=value (value can be unquoted, double-quoted, or single-quoted)
7
+ * - Double-quoted values support \n, \t, \\, \" escapes
8
+ * - Single-quoted values are literal (no escape processing)
9
+ * - Unquoted values are trimmed and stop at inline # comments
10
+ */
11
+ export function parseEnvFile(content) {
12
+ const vars = new Map();
13
+ const lines = content.split(/\r?\n/);
14
+ for (const line of lines) {
15
+ const trimmed = line.trim();
16
+ // Skip empty lines and comments
17
+ if (!trimmed || trimmed.startsWith("#")) {
18
+ continue;
19
+ }
20
+ const equalsIndex = trimmed.indexOf("=");
21
+ if (equalsIndex === -1) {
22
+ continue;
23
+ }
24
+ let key = trimmed.slice(0, equalsIndex).trim();
25
+ if (!key) {
26
+ continue;
27
+ }
28
+ // Strip optional `export` prefix for shell-compatible .env files
29
+ if (key.startsWith("export ")) {
30
+ key = key.slice(7).trim();
31
+ if (!key) {
32
+ continue;
33
+ }
34
+ }
35
+ const rawValue = trimmed.slice(equalsIndex + 1);
36
+ if (rawValue.startsWith('"')) {
37
+ // Double-quoted value: find matching closing quote
38
+ const closingIndex = findClosingDoubleQuote(rawValue, 1);
39
+ if (closingIndex !== -1) {
40
+ const inner = rawValue.slice(1, closingIndex);
41
+ vars.set(key, processDoubleQuotedEscapes(inner));
42
+ }
43
+ else {
44
+ // No closing quote — treat as unquoted
45
+ vars.set(key, rawValue.trim());
46
+ }
47
+ }
48
+ else if (rawValue.startsWith("'")) {
49
+ // Single-quoted value: find matching closing quote (literal, no escapes)
50
+ const closingIndex = rawValue.indexOf("'", 1);
51
+ if (closingIndex !== -1) {
52
+ vars.set(key, rawValue.slice(1, closingIndex));
53
+ }
54
+ else {
55
+ // No closing quote — treat as unquoted
56
+ vars.set(key, rawValue.trim());
57
+ }
58
+ }
59
+ else {
60
+ // Unquoted value: trim and stop at inline # comments
61
+ const commentIndex = rawValue.indexOf(" #");
62
+ const value = commentIndex !== -1 ? rawValue.slice(0, commentIndex) : rawValue;
63
+ vars.set(key, value.trim());
64
+ }
65
+ }
66
+ return vars;
67
+ }
68
+ function findClosingDoubleQuote(text, startIndex) {
69
+ let i = startIndex;
70
+ while (i < text.length) {
71
+ if (text[i] === "\\") {
72
+ i += 2; // skip escaped char
73
+ continue;
74
+ }
75
+ if (text[i] === '"') {
76
+ return i;
77
+ }
78
+ i++;
79
+ }
80
+ return -1;
81
+ }
82
+ function processDoubleQuotedEscapes(value) {
83
+ let result = "";
84
+ let i = 0;
85
+ while (i < value.length) {
86
+ if (value[i] === "\\" && i + 1 < value.length) {
87
+ const next = value[i + 1];
88
+ switch (next) {
89
+ case "n":
90
+ result += "\n";
91
+ break;
92
+ case "t":
93
+ result += "\t";
94
+ break;
95
+ case "\\":
96
+ result += "\\";
97
+ break;
98
+ case '"':
99
+ result += '"';
100
+ break;
101
+ default:
102
+ result += `\\${next}`;
103
+ break;
104
+ }
105
+ i += 2;
106
+ }
107
+ else {
108
+ result += value[i];
109
+ i++;
110
+ }
111
+ }
112
+ return result;
113
+ }
114
+ /**
115
+ * Load env vars from multiple sources with precedence:
116
+ * 1. .harness/.env (highest priority)
117
+ * 2. .env.harness (at project root)
118
+ * 3. process.env (lowest priority, fallback for CI/CD — handled in substituteEnvVars)
119
+ *
120
+ * Higher-priority sources override lower-priority ones.
121
+ * Missing files are silently skipped.
122
+ */
123
+ export async function loadEnvVars(paths) {
124
+ const merged = new Map();
125
+ // Load sources in order from lowest to highest priority
126
+ const sources = [paths.rootEnvFile, paths.envFile];
127
+ for (const filePath of sources) {
128
+ const text = await readTextIfExists(filePath);
129
+ if (text === null) {
130
+ continue;
131
+ }
132
+ const parsed = parseEnvFile(text);
133
+ for (const [key, value] of parsed) {
134
+ merged.set(key, value);
135
+ }
136
+ }
137
+ return merged;
138
+ }
139
+ /**
140
+ * Push ENV_VAR_UNRESOLVED warning diagnostics for each unresolved placeholder key.
141
+ */
142
+ export function pushUnresolvedEnvDiagnostics(unresolvedKeys, diagnostics, filePath, extra) {
143
+ for (const key of unresolvedKeys) {
144
+ diagnostics.push({
145
+ code: "ENV_VAR_UNRESOLVED",
146
+ severity: "warning",
147
+ message: `Unresolved env placeholder '{{${key}}}' in '${filePath}'`,
148
+ path: filePath,
149
+ ...extra,
150
+ });
151
+ }
152
+ }
153
+ const PLACEHOLDER_RE = /\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;
154
+ /**
155
+ * Replace {{PLACEHOLDER}} patterns in text with env var values.
156
+ * Pattern: \{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}
157
+ * Returns the substituted text, set of used keys, and array of unresolved placeholder names.
158
+ *
159
+ * When a placeholder key is not found in `vars`, process.env is checked as a fallback.
160
+ */
161
+ export function substituteEnvVars(text, vars) {
162
+ const usedKeys = new Set();
163
+ const unresolvedSet = new Set();
164
+ const result = text.replace(PLACEHOLDER_RE, (match, key) => {
165
+ const value = vars.get(key) ?? process.env[key];
166
+ if (value !== undefined) {
167
+ usedKeys.add(key);
168
+ return value;
169
+ }
170
+ unresolvedSet.add(key);
171
+ return match;
172
+ });
173
+ return { result, usedKeys, unresolvedKeys: [...unresolvedSet] };
174
+ }
175
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,oBAAoB,EACpB,iBAAiB,EAEjB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qBAAqB,kaAyBxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;CACrE;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,SAAS,CAAC,EAAE,2BAA2B,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA4BxE;AA2TD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAEzE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAM3E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAMvF"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,oBAAoB,EACpB,iBAAiB,EAEjB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qBAAqB,kaAyBxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKxE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;CACrE;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,SAAS,CAAC,EAAE,2BAA2B,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA4BxE;AAiUD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAEzE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAM3E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAMvF"}
package/dist/hooks.js CHANGED
@@ -25,6 +25,7 @@ export const CANONICAL_HOOK_EVENTS = [
25
25
  "turn_complete",
26
26
  ];
27
27
  const HOOK_EVENT_SET = new Set(CANONICAL_HOOK_EVENTS);
28
+ const ENV_PLACEHOLDER_TOKEN_RE = /^\{\{[a-zA-Z_][a-zA-Z0-9_]*\}\}$/u;
28
29
  export function parseCanonicalHookDocument(input, sourcePath, entityId) {
29
30
  const diagnostics = [];
30
31
  if (!input || typeof input !== "object" || Array.isArray(input)) {
@@ -154,6 +155,8 @@ function parseCommandHandler(input, eventName, sourcePath, entityId, index, diag
154
155
  const cwd = asOptionalString(input.cwd);
155
156
  const timeoutSec = asOptionalPositiveNumber(input.timeoutSec);
156
157
  const timeout = asOptionalPositiveNumber(input.timeout);
158
+ const timeoutSecIsPlaceholder = isEnvPlaceholderToken(input.timeoutSec);
159
+ const timeoutIsPlaceholder = isEnvPlaceholderToken(input.timeout);
157
160
  const env = asOptionalStringMap(input.env);
158
161
  if (!command && !windows && !linux && !osx && !bash && !powershell) {
159
162
  diagnostics.push({
@@ -166,7 +169,7 @@ function parseCommandHandler(input, eventName, sourcePath, entityId, index, diag
166
169
  });
167
170
  return undefined;
168
171
  }
169
- if (typeof input.timeoutSec !== "undefined" && typeof timeoutSec === "undefined") {
172
+ if (typeof input.timeoutSec !== "undefined" && typeof timeoutSec === "undefined" && !timeoutSecIsPlaceholder) {
170
173
  diagnostics.push({
171
174
  code: "HOOK_TIMEOUT_INVALID",
172
175
  severity: "error",
@@ -176,7 +179,7 @@ function parseCommandHandler(input, eventName, sourcePath, entityId, index, diag
176
179
  });
177
180
  return undefined;
178
181
  }
179
- if (typeof input.timeout !== "undefined" && typeof timeout === "undefined") {
182
+ if (typeof input.timeout !== "undefined" && typeof timeout === "undefined" && !timeoutIsPlaceholder) {
180
183
  diagnostics.push({
181
184
  code: "HOOK_TIMEOUT_INVALID",
182
185
  severity: "error",
@@ -296,6 +299,9 @@ function asOptionalStringMap(input) {
296
299
  }
297
300
  return output;
298
301
  }
302
+ function isEnvPlaceholderToken(input) {
303
+ return typeof input === "string" && ENV_PLACEHOLDER_TOKEN_RE.test(input.trim());
304
+ }
299
305
  export function canonicalHookHasErrors(diagnostics) {
300
306
  return diagnostics.some((diagnostic) => diagnostic.severity === "error");
301
307
  }
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ import { HarnessEngine } from "./engine.js";
4
4
  import { validateRegistryRepo } from "./registry-validator.js";
5
5
  import type { ApplyOptions, ApplyResult, DoctorResult, MigrationResult, PlanOptions, PlanResult } from "./types.js";
6
6
  export type { CliEnvelope, CliExecutionContext, CliResolvedContext, CommandId, CommandInput, CommandOutput, } from "./cli/contracts.js";
7
+ export { loadEnvVars, parseEnvFile, substituteEnvVars } from "./env.js";
7
8
  export type { AgentsManifest, ApplyResult, CanonicalHook, CanonicalMcpConfig, CanonicalPrompt, CanonicalSkill, CanonicalSubagent, Diagnostic, DoctorResult, EntityRef, EntityType, ManagedIndex, ManifestLock, MigrationAction, MigrationResult, Operation, PlanResult, ProviderAdapter, ProviderId, ProviderOverride, RegistryDefinition, RegistryId, RegistryListEntry, RegistryManifest, RegistryPullResult, RegistryValidationOptions, RegistryValidationResult, RenderedArtifact, ValidationResult, VersionDiagnostic, } from "./types.js";
8
9
  export { HarnessEngine, loadConfig, runCliArgv, runCliCommand, validateConfig, validateLock, validateRegistryRepo };
9
10
  export declare function plan(opts?: PlanOptions): Promise<PlanResult>;