@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 +21 -0
- package/README.md +154 -10
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +4 -1
- package/dist/engine.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 +129 -39
- package/dist/loader.js.map +1 -1
- package/dist/paths.d.ts +2 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +2 -0
- package/dist/paths.js.map +1 -1
- package/dist/repository.d.ts +1 -1
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +13 -4
- package/dist/repository.js.map +1 -1
- package/package.json +4 -3
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
|
|
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
|
|
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
|
-
##
|
|
15
|
+
## Quick start
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
|
-
harness init
|
|
17
|
-
harness add prompt
|
|
18
|
-
harness add skill
|
|
19
|
-
harness
|
|
20
|
-
harness
|
|
21
|
-
harness
|
|
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)
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAiCrE,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EAEb,YAAY,EAIZ,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAcpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,GAAG,GAAE,MAAsB;IAIjC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDlD,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASnD,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpD,cAAc,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAY9C,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACjF,OAAO,CAAC,IAAI,CAAC;IAyBV,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B3C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMrC,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKzB,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAK9F,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQrC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAS3B,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAyD7B,KAAK,CAAC,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
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
|
|
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: {
|
package/dist/engine.js.map
CHANGED
|
@@ -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
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -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;
|
|
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":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,MAAM;IACN,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,aAAa;IACb,oBAAoB;IACpB,OAAO;IACP,eAAe;CACP,CAAC;AAIX,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,MAAM;IACN,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,aAAa;IACb,oBAAoB;IACpB,OAAO;IACP,eAAe;CACP,CAAC;AAIX,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC;AAC9D,MAAM,wBAAwB,GAAG,mCAAmC,CAAC;AAOrE,MAAM,UAAU,0BAA0B,CACxC,KAAc,EACd,UAAkB,EAClB,QAAgB;IAEhB,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,yBAAyB;YACnD,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,WAAW,GAAG,KAAgC,CAAC;IACrD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE3E,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,OAAO;QACL,SAAS,EAAE;YACT,IAAI;YACJ,MAAM;SACP;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,WAAyB;IAChG,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS,QAAQ,wDAAwD;QAClF,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAClB,KAA8B,EAC9B,UAAkB,EAClB,QAAgB,EAChB,WAAyB;IAEzB,MAAM,MAAM,GAAgE,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAiB,CAAC;IAE1C,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5E,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,qCAAqC;YAC/D,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,SAAoC,CAAC;IAC1D,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,SAAS,QAAQ,uCAAuC,SAAS,GAAG;gBAC7E,IAAI,EAAE,UAAU;gBAChB,QAAQ;aACT,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,oBAAoB;gBACnE,IAAI,EAAE,UAAU;gBAChB,QAAQ;aACT,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAA2B,EAAE,CAAC;QAClD,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,YAAY,CACzB,YAAY,EACZ,SAA+B,EAC/B,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,CACZ,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,SAA+B,CAAC,GAAG,cAAc,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,SAA6B,EAC7B,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,WAAyB;IAEzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,oBAAoB;YAC1F,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,KAAgC,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAE9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9F,CAAC;IAED,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,mBAAmB;QACzF,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA8B,EAC9B,SAA6B,EAC7B,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,WAAyB;IAEzB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EACL,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,mBAAmB;gBAChF,+DAA+D;YACjE,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7G,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,yBAAyB;YAC/F,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpG,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,sBAAsB;YAC5F,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;QACnE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,yCAAyC;YAC/G,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO;QACP,OAAO;QACP,OAAO;QACP,KAAK;QACL,GAAG;QACH,IAAI;QACJ,UAAU;QACV,GAAG;QACH,GAAG;QACH,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA8B,EAC9B,SAA6B,EAC7B,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,WAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvF,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,mDAAmD;YACzH,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,4DAA4D;YAClI,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACzC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS,cAAc,KAAK,GAAG,CAAC,yCAAyC;YAC/G,IAAI,EAAE,UAAU;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,qBAAqB;QAC5B,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAyB;IAC9D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA0B;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAiC,EAAE,EAAU;IACtE,OAAO;QACL,EAAE;QACF,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC"}
|
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>;
|