@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.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +154 -10
  3. package/dist/cli/adapters/commander.d.ts.map +1 -1
  4. package/dist/cli/adapters/commander.js +16 -0
  5. package/dist/cli/adapters/commander.js.map +1 -1
  6. package/dist/cli/adapters/interactive.d.ts.map +1 -1
  7. package/dist/cli/adapters/interactive.js +20 -0
  8. package/dist/cli/adapters/interactive.js.map +1 -1
  9. package/dist/cli/command-registry.d.ts.map +1 -1
  10. package/dist/cli/command-registry.js +20 -1
  11. package/dist/cli/command-registry.js.map +1 -1
  12. package/dist/cli/contracts.d.ts +1 -1
  13. package/dist/cli/contracts.d.ts.map +1 -1
  14. package/dist/cli/handlers/entities.d.ts +4 -0
  15. package/dist/cli/handlers/entities.d.ts.map +1 -1
  16. package/dist/cli/handlers/entities.js +17 -0
  17. package/dist/cli/handlers/entities.js.map +1 -1
  18. package/dist/cli/handlers/registry.d.ts.map +1 -1
  19. package/dist/cli/handlers/registry.js.map +1 -1
  20. package/dist/commands.d.ts +6 -0
  21. package/dist/commands.d.ts.map +1 -0
  22. package/dist/commands.js +42 -0
  23. package/dist/commands.js.map +1 -0
  24. package/dist/engine/entities.d.ts +3 -0
  25. package/dist/engine/entities.d.ts.map +1 -1
  26. package/dist/engine/entities.js +64 -1
  27. package/dist/engine/entities.js.map +1 -1
  28. package/dist/engine/utils.d.ts.map +1 -1
  29. package/dist/engine/utils.js +3 -0
  30. package/dist/engine/utils.js.map +1 -1
  31. package/dist/engine.d.ts +3 -0
  32. package/dist/engine.d.ts.map +1 -1
  33. package/dist/engine.js +10 -2
  34. package/dist/engine.js.map +1 -1
  35. package/dist/entity-registries.d.ts +5 -1
  36. package/dist/entity-registries.d.ts.map +1 -1
  37. package/dist/entity-registries.js +17 -0
  38. package/dist/entity-registries.js.map +1 -1
  39. package/dist/env.d.ts +39 -0
  40. package/dist/env.d.ts.map +1 -0
  41. package/dist/env.js +175 -0
  42. package/dist/env.js.map +1 -0
  43. package/dist/hooks.d.ts.map +1 -1
  44. package/dist/hooks.js +8 -2
  45. package/dist/hooks.js.map +1 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/loader.d.ts.map +1 -1
  51. package/dist/loader.js +200 -40
  52. package/dist/loader.js.map +1 -1
  53. package/dist/paths.d.ts +5 -0
  54. package/dist/paths.d.ts.map +1 -1
  55. package/dist/paths.js +9 -0
  56. package/dist/paths.js.map +1 -1
  57. package/dist/planner.d.ts.map +1 -1
  58. package/dist/planner.js +25 -0
  59. package/dist/planner.js.map +1 -1
  60. package/dist/provider-adapters/claude.d.ts.map +1 -1
  61. package/dist/provider-adapters/claude.js +28 -1
  62. package/dist/provider-adapters/claude.js.map +1 -1
  63. package/dist/provider-adapters/constants.d.ts +2 -0
  64. package/dist/provider-adapters/constants.d.ts.map +1 -1
  65. package/dist/provider-adapters/constants.js +2 -0
  66. package/dist/provider-adapters/constants.js.map +1 -1
  67. package/dist/provider-adapters/copilot.d.ts.map +1 -1
  68. package/dist/provider-adapters/copilot.js +25 -1
  69. package/dist/provider-adapters/copilot.js.map +1 -1
  70. package/dist/provider-adapters/types.d.ts +1 -0
  71. package/dist/provider-adapters/types.d.ts.map +1 -1
  72. package/dist/repository.d.ts +1 -1
  73. package/dist/repository.d.ts.map +1 -1
  74. package/dist/repository.js +23 -4
  75. package/dist/repository.js.map +1 -1
  76. package/dist/types.d.ts +16 -1
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js +2 -1
  79. package/dist/types.js.map +1 -1
  80. package/package.json +4 -3
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpH,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,wBAAsB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtE;AAED,wBAAsB,KAAK,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAEzE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED,wBAAsB,OAAO,CAC3B,IAAI,GAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,eAAe,CAAC,CAM1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpH,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxE,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,wBAAsB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtE;AAED,wBAAsB,KAAK,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAEzE;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED,wBAAsB,OAAO,CAC3B,IAAI,GAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,eAAe,CAAC,CAM1B"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ import { runCliArgv, runCliCommand } from "./cli/main.js";
2
2
  import { loadConfig, validateConfig, validateLock } from "./engine/utils.js";
3
3
  import { HarnessEngine } from "./engine.js";
4
4
  import { validateRegistryRepo } from "./registry-validator.js";
5
+ export { loadEnvVars, parseEnvFile, substituteEnvVars } from "./env.js";
5
6
  export { HarnessEngine, loadConfig, runCliArgv, runCliCommand, validateConfig, validateLock, validateRegistryRepo };
6
7
  export async function plan(opts = {}) {
7
8
  return new HarnessEngine(opts.cwd).plan();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA2C/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB,EAAE;IAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE;IACjD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAyC,EAAE;IACtE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA0E,EAAE;IAE5E,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAW/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiCxE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB,EAAE;IAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB,EAAE;IACjD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAyC,EAAE;IACtE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA0E,EAAE;IAE5E,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,oCAAoC,CAAC;AAI5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,OAAO,KAAK,EACV,UAAU,EAMV,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAiF3G;AAmBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,EAAE,CA0JhF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,oCAAoC,CAAC;AAM5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C,OAAO,KAAK,EACV,UAAU,EAOV,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA+F3G;AAmBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,EAAE,CAuKhF"}