@farmslot/recipe-cli 0.6.0 → 0.8.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.
@@ -0,0 +1,321 @@
1
+ // createHarnessCli: the generic front door a product harness presets. It owns
2
+ // the commander program, grouped and per-command help, the version line, the
3
+ // strict public grammar, library hydration and dispatch; the host supplies its
4
+ // identity, adapters, commands and help prose.
5
+ import fs from 'node:fs';
6
+ import path from 'node:path';
7
+ import { Command, CommanderError } from 'commander';
8
+ import { RecipeResolutionError, RecipeTrustError } from '@farmslot/recipe-runner';
9
+ import { RECIPE_CLI_VERSION } from '../version.js';
10
+ import { handleCallHelp } from './commands/call.js';
11
+ import { AdapterPluginError, adapterSelectionFailureOut, ensureAdapterLoaded, selectedAdapterId, } from './adapter-plugins.js';
12
+ import { configureHarnessAdapters, detectAdapter, harnessAdapter } from './adapters.js';
13
+ import { color } from './cli-color.js';
14
+ import { optionValues, validatePublicInvocation, } from './command-contract.js';
15
+ import { withCommandJournal } from './command-journal.js';
16
+ import { configureHarnessHost, hostEnvName } from './host.js';
17
+ import { JsonStreamWriter } from './json-stream.js';
18
+ import { DEFAULT_RECIPE_RUNTIME_DIR } from './paths.js';
19
+ const RECIPE_CLI_PACKAGE = '@farmslot/recipe-cli';
20
+ export function createHarnessCli(options) {
21
+ const host = configureHarnessHost(options.host);
22
+ configureHarnessAdapters(options.adapters);
23
+ const publicCommands = options.commands.filter((command) => !command.hidden);
24
+ const find = (token) => token === undefined
25
+ ? undefined
26
+ : (options.commands.find((command) => command.name === token) ??
27
+ publicCommands.find((command) => command.aliases?.includes(token)));
28
+ const version = readPackageVersion(host.packageRoot);
29
+ // `--version --verbose` adds the recipe-cli a preset runs on; `--version`
30
+ // stays the one line scripts compare.
31
+ const verboseVersion = host.packageName === RECIPE_CLI_PACKAGE
32
+ ? version
33
+ : `${version}\n${RECIPE_CLI_PACKAGE} ${RECIPE_CLI_VERSION}`;
34
+ const renderHelp = () => groupedHelp(options.help, publicCommands);
35
+ async function main(argv) {
36
+ // The libraries the operator started the command with: plugins load only
37
+ // from these, never from the ones library hydration discovers.
38
+ const operatorEnv = { ...process.env };
39
+ const command = find(argv[0]);
40
+ if (argv.length > 0 && command?.nudge !== false)
41
+ options.beforeDispatch?.(argv);
42
+ if (argv.length === 0) {
43
+ process.stdout.write(renderHelp());
44
+ return { exitCode: 0, exit: 'now' };
45
+ }
46
+ // Commander prints `--version` and exits at the flag, so it never sees `--verbose`.
47
+ if ((argv[0] === '--version' || argv[0] === '-v') && argv.slice(1).includes('--verbose')) {
48
+ process.stdout.write(`${verboseVersion}\n`);
49
+ return { exitCode: 0, exit: 'now' };
50
+ }
51
+ if (command && !command.hidden && command.raw) {
52
+ return { exitCode: await dispatch(command, argv), exit: exitOf(command) };
53
+ }
54
+ // Public commands use a strict grammar before commander can consume a typo
55
+ // as a value. Hidden commands keep their private grammar.
56
+ if (!command?.hidden) {
57
+ const usageError = validatePublicInvocation(argv, publicCommands, {
58
+ replacedOptions: options.replacedOptions,
59
+ });
60
+ if (usageError) {
61
+ writeUsageError(host.name, usageError, requested(argv, '--json'), requested(argv, '--json-stream'));
62
+ return { exitCode: 2, exit: 'now' };
63
+ }
64
+ }
65
+ await options.libraries?.hydrate(targetFromArgv(argv));
66
+ // A library-declared adapter loads only when the command selects it.
67
+ if (command) {
68
+ const refused = await loadSelectedAdapter(command.name, argv, {
69
+ adopt: options.adopt,
70
+ configured: options.configuredLibraries?.(),
71
+ env: operatorEnv,
72
+ });
73
+ if (refused !== undefined)
74
+ return { exitCode: refused, exit: 'now' };
75
+ }
76
+ // Leaves own --help after `--`; commander would intercept it.
77
+ if (command && hasPassthroughHelp(argv)) {
78
+ return { exitCode: await dispatch(command, argv), exit: 'now' };
79
+ }
80
+ // `call <action> --help` renders the action's field schema; commander would
81
+ // show only the generic call help, which follows it.
82
+ const call = publicCommands.find((entry) => entry.name === 'call');
83
+ if (options.catalog && call && isCallActionHelp(argv)) {
84
+ const catalog = options.catalog;
85
+ const exitCode = await mapErrors(() => handleCallHelp(argv.slice(1), call.helpText, { catalog }));
86
+ return { exitCode, exit: 'now' };
87
+ }
88
+ let result = { exitCode: 0, exit: 'code' };
89
+ const program = new Command();
90
+ program
91
+ .name(host.name)
92
+ .description(options.help.description)
93
+ .version(version, '-v, --version', `Print the ${host.name} version`)
94
+ .addHelpCommand(false)
95
+ .helpOption('-h, --help', 'Show grouped help')
96
+ .showHelpAfterError(`(run \`${host.name} --help\` for the full surface)`)
97
+ .configureHelp({ formatHelp: renderHelp })
98
+ .exitOverride();
99
+ for (const entry of options.commands) {
100
+ const registered = entry.hidden
101
+ ? program.command(entry.name, { hidden: true }).allowUnknownOption().helpOption(false)
102
+ : program
103
+ .command(entry.name)
104
+ .description(entry.summary)
105
+ .allowUnknownOption()
106
+ .helpOption('-h, --help', 'Show command help')
107
+ .configureHelp({ formatHelp: () => `${entry.helpText}\n` });
108
+ if (!entry.hidden && entry.aliases?.length)
109
+ registered.aliases([...entry.aliases]);
110
+ registered.argument('[args...]').action(async () => {
111
+ const exitCode = entry.hidden
112
+ ? await dispatch(entry, argv)
113
+ : await withCommandJournal(entry.name, argv, () => dispatch(entry, argv));
114
+ result = { exitCode, exit: exitOf(entry) };
115
+ });
116
+ }
117
+ try {
118
+ await program.parseAsync([...argv], { from: 'user' });
119
+ }
120
+ catch (error) {
121
+ // Help, version and commander's own errors end here after printing.
122
+ if (error instanceof CommanderError)
123
+ return { exitCode: error.exitCode, exit: 'now' };
124
+ throw error;
125
+ }
126
+ return result;
127
+ }
128
+ return {
129
+ main,
130
+ async run(argv = process.argv.slice(2)) {
131
+ const { exitCode, exit } = await main(argv);
132
+ if (exit === 'now')
133
+ process.exit(exitCode);
134
+ process.exitCode = exitCode;
135
+ },
136
+ };
137
+ }
138
+ // Loads the adapter the command selects (`selectedAdapterId`), if a library
139
+ // declares it. A refused plugin prints its code and next step; returns that exit.
140
+ async function loadSelectedAdapter(command, argv, load) {
141
+ const tokens = argv.slice(1);
142
+ const selected = selectedAdapterId(tokens);
143
+ if (selected === undefined)
144
+ return undefined;
145
+ try {
146
+ await ensureAdapterLoaded(selected, { ...load, libraries: optionValues(tokens, '--library') });
147
+ return undefined;
148
+ }
149
+ catch (error) {
150
+ // A refused plugin, or the library reader's refusal of its source or its path.
151
+ if (error instanceof AdapterPluginError ||
152
+ error instanceof RecipeTrustError ||
153
+ error instanceof RecipeResolutionError) {
154
+ const failure = { code: error.code, message: error.message, userAction: error.userAction };
155
+ if (requested(argv, '--json-stream')) {
156
+ const stream = new JsonStreamWriter(command, true);
157
+ stream.error(failure);
158
+ stream.complete('fail', 2);
159
+ return 2;
160
+ }
161
+ return adapterSelectionFailureOut(requested(argv, '--json'), command, failure);
162
+ }
163
+ return mapErrors(() => {
164
+ throw error;
165
+ });
166
+ }
167
+ }
168
+ function exitOf(command) {
169
+ return command.exit ?? (command.hidden ? 'now' : 'code');
170
+ }
171
+ function dispatch(command, argv) {
172
+ return mapErrors(() => command.run(argv.slice(1)));
173
+ }
174
+ // The one place a command's failure becomes an exit code: a CliError carries
175
+ // its own (usage 2, validation 5), anything else is 1.
176
+ async function mapErrors(execute) {
177
+ try {
178
+ return await execute();
179
+ }
180
+ catch (error) {
181
+ console.error(error instanceof Error ? error.message : String(error));
182
+ return error !== null &&
183
+ typeof error === 'object' &&
184
+ 'exitCode' in error &&
185
+ typeof error.exitCode === 'number'
186
+ ? error.exitCode
187
+ : 1;
188
+ }
189
+ }
190
+ // The host's own version. `host.packageRoot` is required config, so a missing or
191
+ // unreadable package.json is a host wiring error, not a version to guess.
192
+ function readPackageVersion(packageRoot) {
193
+ const file = path.join(packageRoot, 'package.json');
194
+ const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
195
+ if (typeof parsed.version !== 'string')
196
+ throw new Error(`${file} has no version.`);
197
+ return parsed.version;
198
+ }
199
+ function groupedHelp(help, commands) {
200
+ const out = (style, text) => color(style, text, { stream: process.stdout });
201
+ const lines = [...help.intro(out)];
202
+ const binEnv = hostEnvName('BIN');
203
+ const bin = process.env[binEnv];
204
+ const runMode = process.env[hostEnvName('RUN_MODE')];
205
+ if (bin) {
206
+ lines.push('');
207
+ lines.push(`${out('warn', 'DEV OVERRIDE ACTIVE')} — this run is served by ${binEnv}=${out('path', bin)} (unset it to return to the installed/global bin).`);
208
+ }
209
+ if (bin && runMode) {
210
+ lines.push(`${out('label', 'running from:')} ${out('path', runMode)} (source checkout; dist shadows src when both exist)`);
211
+ }
212
+ const slotLine = detectedSlotLine(out, help.slotAdapter);
213
+ if (slotLine) {
214
+ lines.push('');
215
+ lines.push(slotLine);
216
+ }
217
+ for (const group of help.groups) {
218
+ lines.push('');
219
+ lines.push(`${out('label', group.title)} — ${group.blurb}:`);
220
+ for (const name of group.commands) {
221
+ const command = commands.find((entry) => entry.name === name);
222
+ lines.push(` ${out('cmd', name.padEnd(10))} ${command?.summary ?? ''}`);
223
+ lines.push(` ${out('comment', command?.example ?? '')}`);
224
+ }
225
+ }
226
+ lines.push('');
227
+ lines.push(...help.footer(out));
228
+ return `${lines.join('\n')}\n`;
229
+ }
230
+ // The slot context the orchestrator's prepare wrote into the checkout, when
231
+ // help runs from inside one. Presence-gated: no context, no line.
232
+ function detectedSlotLine(out, slotAdapter) {
233
+ const ctxPath = path.join(process.cwd(), process.env.RECIPE_RUNTIME_DIR || DEFAULT_RECIPE_RUNTIME_DIR, 'agentic-runtime.json');
234
+ let ctx;
235
+ try {
236
+ ctx = JSON.parse(fs.readFileSync(ctxPath, 'utf8'));
237
+ }
238
+ catch (error) {
239
+ // No context file, or one mid-write: no slot line. Anything else is a bug.
240
+ if (error instanceof SyntaxError || error.code === 'ENOENT') {
241
+ return null;
242
+ }
243
+ throw error;
244
+ }
245
+ if (ctx === null || typeof ctx !== 'object')
246
+ return null;
247
+ const platform = typeof ctx.platform === 'string' ? ctx.platform : undefined;
248
+ const adapter = (platform ? slotAdapter?.(platform) : undefined) ?? detectAdapter(process.cwd());
249
+ const parts = [];
250
+ if (ctx.slotId)
251
+ parts.push(`slot ${out('ok', String(ctx.slotId))}`);
252
+ if (ctx.simulator)
253
+ parts.push(`device ${out('ok', String(ctx.simulator))}`);
254
+ const devServerPort = ctx.watcherPort ?? ctx.devServerPort ?? ctx.metroPort;
255
+ const surface = adapter ? harnessAdapter(adapter) : undefined;
256
+ if (surface && !surface.headless && devServerPort) {
257
+ parts.push(`${surface.devServer.label} :${out('ok', String(devServerPort))}`);
258
+ }
259
+ if (ctx.gitBranch)
260
+ parts.push(`branch ${out('info', String(ctx.gitBranch))}`);
261
+ if (parts.length === 0)
262
+ return null;
263
+ return `${out('label', 'SLOT')} — this checkout is a prepared slot: ${parts.join(' · ')}`;
264
+ }
265
+ function writeUsageError(hostName, error, json, jsonStream) {
266
+ if (jsonStream) {
267
+ const stream = new JsonStreamWriter(error.command, true);
268
+ stream.error({ code: error.code, message: error.message, userAction: error.userAction });
269
+ stream.complete('fail', 2);
270
+ }
271
+ else if (json) {
272
+ process.stdout.write(`${JSON.stringify({
273
+ schemaVersion: 1,
274
+ command: error.command,
275
+ status: 'fail',
276
+ error: { code: error.code, message: error.message, userAction: error.userAction },
277
+ exitCode: 2,
278
+ }, null, 2)}\n`);
279
+ }
280
+ else {
281
+ const scope = error.command === hostName ? '' : ` ${error.command}`;
282
+ process.stderr.write(`✗ ${hostName}${scope}: ${error.message}\n Next: ${error.userAction}\n`);
283
+ }
284
+ }
285
+ // The checkout a run is about, read before commander parses: library locations
286
+ // resolve against it and every command accepts the same --target spelling.
287
+ function targetFromArgv(argv) {
288
+ const index = argv.indexOf('--target');
289
+ const separate = index !== -1 ? argv[index + 1] : undefined;
290
+ const inline = argv
291
+ .find((argument) => argument.startsWith('--target='))
292
+ ?.slice('--target='.length);
293
+ return path.resolve(separate ?? inline ?? process.cwd());
294
+ }
295
+ function beforePassthrough(argv) {
296
+ const divider = argv.indexOf('--');
297
+ return divider === -1 ? argv : argv.slice(0, divider);
298
+ }
299
+ function hasPassthroughHelp(argv) {
300
+ const divider = argv.indexOf('--');
301
+ if (divider === -1)
302
+ return false;
303
+ return argv.slice(divider + 1).some((arg) => arg === '-h' || arg === '--help');
304
+ }
305
+ // Requires the grammar call enforces (the action first, before flags), so
306
+ // `call --help` still gets commander's generic call help.
307
+ function isCallActionHelp(argv) {
308
+ if (argv[0] !== 'call')
309
+ return false;
310
+ if (!argv[1] || argv[1].startsWith('-'))
311
+ return false;
312
+ const scope = beforePassthrough(argv);
313
+ return scope.includes('--help') || scope.includes('-h');
314
+ }
315
+ function requested(argv, option) {
316
+ const scope = beforePassthrough(argv);
317
+ return option === '--json'
318
+ ? scope.some((argument) => argument === '--json' || argument.startsWith('--json='))
319
+ : scope.includes('--json-stream');
320
+ }
321
+ //# sourceMappingURL=harness-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-cli.js","sourceRoot":"","sources":["../../src/harness/harness-cli.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare function ensureOverlay(adapter: string, target: string, heal: Hea
8
8
  ok: boolean;
9
9
  error?: string;
10
10
  }>;
11
- export type FailureClass = 'capture-protected' | 'wallet' | 'infra' | 'app';
11
+ export type FailureClass = 'capture-protected' | 'environment' | 'wallet' | 'infra' | 'app';
12
12
  export declare function classifyFailure(output: string): FailureClass;
13
13
  export declare function recipeRunning(target: string): boolean;
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"heal-bounds.d.ts","sourceRoot":"","sources":["../../src/harness/heal-bounds.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACV,MAAM,uBAAuB,CAAC;AAQ/B,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACzC,QAAQ,EAAE,UAAU,GACnB,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAKhC;AAoCD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1C;AAUD,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAM5D;AAwBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAK/F;AAKD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,kBAAkB,GAAG,IAAI,CAyD3B"}
1
+ {"version":3,"file":"heal-bounds.d.ts","sourceRoot":"","sources":["../../src/harness/heal-bounds.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACV,MAAM,uBAAuB,CAAC;AAQ/B,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACzC,QAAQ,EAAE,UAAU,GACnB,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAKhC;AAoCD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1C;AAWD,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5F,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAO5D;AAsCD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAK/F;AAKD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,kBAAkB,GAAG,IAAI,CAmE3B"}
@@ -102,6 +102,8 @@ export async function ensureOverlay(adapter, target, heal, state, json) {
102
102
  export function classifyFailure(output) {
103
103
  if (captureProtection(output))
104
104
  return 'capture-protected';
105
+ if (environmentGap(output))
106
+ return 'environment';
105
107
  if (matchesAny('transportFirst', output))
106
108
  return 'infra';
107
109
  if (matchesAny('walletState', output))
@@ -119,13 +121,26 @@ function adapterPatterns() {
119
121
  return patterns ? [patterns] : [];
120
122
  });
121
123
  }
124
+ // A global or sticky pattern keeps lastIndex between calls; classification
125
+ // tests the same pattern more than once, so every test starts from 0.
126
+ function matches(pattern, output) {
127
+ if (!pattern)
128
+ return false;
129
+ pattern.lastIndex = 0;
130
+ return pattern.test(output);
131
+ }
122
132
  function matchesAny(kind, output) {
123
- return adapterPatterns().some((patterns) => patterns[kind]?.test(output) ?? false);
133
+ return adapterPatterns().some((patterns) => matches(patterns[kind], output));
124
134
  }
125
135
  function captureProtection(output) {
126
136
  return adapterPatterns()
127
137
  .map((patterns) => patterns.captureProtected)
128
- .find((entry) => entry?.pattern.test(output));
138
+ .find((entry) => matches(entry?.pattern, output));
139
+ }
140
+ function environmentGap(output) {
141
+ return adapterPatterns()
142
+ .map((patterns) => patterns.environment)
143
+ .find((entry) => matches(entry?.pattern, output));
129
144
  }
130
145
  // Refuse ALL recovery while a recipe is executing (mid-run recovery would corrupt
131
146
  // state). Signalled by a lock file or <envPrefix>_RECIPE_RUNNING=1.
@@ -171,6 +186,16 @@ export function checkHealBounds(target, output, state) {
171
186
  originalError,
172
187
  };
173
188
  }
189
+ const gap = failureClass === 'environment' ? environmentGap(concise) : undefined;
190
+ if (gap) {
191
+ return {
192
+ code: 'ENVIRONMENT_NOT_READY',
193
+ exitCode: EXIT.bounded,
194
+ message: gap.message,
195
+ userAction: gap.userAction,
196
+ originalError,
197
+ };
198
+ }
174
199
  if (failureClass === 'wallet') {
175
200
  return {
176
201
  code: 'WALLET_STATE_REQUIRED',
@@ -1 +1 @@
1
- {"version":3,"file":"heal-bounds.js","sourceRoot":"","sources":["../../src/harness/heal-bounds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heal-bounds.js","sourceRoot":"","sources":["../../src/harness/heal-bounds.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { type ArtifactManifestEntry, indexArtifactManifest, readContainedJsonArt
4
4
  export { type ActionCapabilitySource, type DescribedAction, describeManifestActions, type RecipeCatalog, type ResolvedActionManifest, } from './catalog.js';
5
5
  export { acquireCheckoutLock, type CheckoutLock, type CheckoutLockFailure, trackCheckoutChild, } from './checkout-lock.js';
6
6
  export { classifyLogEvent, color, colorEnabled, colorHumanMessage, colorKv, colorLogEvent, colorStatusWord, stripAnsi, } from './cli-color.js';
7
+ export { booleanOption, type CliUsageError, type CliUsageErrorCode, type CommandContract, type ContractedCommand, type ContractFailures, contractOptions, type ContractValidationOptions, optionalValueOption, type OptionSpec, optionValues, type PositionalSpec, publicCommandTokens, validatePublicInvocation, valueOption, } from './command-contract.js';
7
8
  export { COMMAND_JOURNAL_FILE, commandJournalPath, type CommandJournalRecord, isSensitiveKey, readCommandJournal, recordCommandEvidence, recordCommandOutput, recordCommandStage, redactCommandArgs, redactStructuredValue, withCommandJournal, } from './command-journal.js';
8
9
  export { type CallCommandOptions, handleCall, handleCallHelp } from './commands/call.js';
9
10
  export { handleActions } from './commands/discover.js';
@@ -13,6 +14,7 @@ export { handleReload } from './commands/reload.js';
13
14
  export { type DeviceTargeting, handleRun, type RunCommandOptions, type RunPlanStep, } from './commands/run.js';
14
15
  export { handleStop, type StopCommandOptions, type StoppedCompanion } from './commands/stop.js';
15
16
  export { captureExecutionProvenance, type ExecutionProvenanceDrift, executionProvenanceDrift, type ExecutionProvenanceInput, type ExecutionProvenancePhase, type ExecutionProvenanceRecord, type ExecutionProvenanceSnapshot, ProvenanceDriftError, type SourceProvenanceSnapshot, writeExecutionProvenance, } from './execution-provenance.js';
17
+ export { createHarnessCli, type HarnessCli, type HarnessCliOptions, type HarnessCliResult, type HarnessCommand, type HarnessHelp, type HarnessHelpGroup, type HelpPaint, type HiddenHarnessCommand, type PublicHarnessCommand, } from './harness-cli.js';
16
18
  export { checkHealBounds, classifyFailure, conciseFailureForHuman, ensureOverlay, type FailureClass, newHealState, parseHeal, recipeRunning, } from './heal-bounds.js';
17
19
  export { configureHarnessHost, type HarnessHost, harnessHost, type HarnessHostConfig, hostEnvName, recipeEnvName, validateRelativeRecipePath, } from './host.js';
18
20
  export { JsonStreamWriter } from './json-stream.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export { indexArtifactManifest, readContainedJsonArtifact, writeContainedArtifac
7
7
  export { describeManifestActions, } from './catalog.js';
8
8
  export { acquireCheckoutLock, trackCheckoutChild, } from './checkout-lock.js';
9
9
  export { classifyLogEvent, color, colorEnabled, colorHumanMessage, colorKv, colorLogEvent, colorStatusWord, stripAnsi, } from './cli-color.js';
10
+ export { booleanOption, contractOptions, optionalValueOption, optionValues, publicCommandTokens, validatePublicInvocation, valueOption, } from './command-contract.js';
10
11
  export { COMMAND_JOURNAL_FILE, commandJournalPath, isSensitiveKey, readCommandJournal, recordCommandEvidence, recordCommandOutput, recordCommandStage, redactCommandArgs, redactStructuredValue, withCommandJournal, } from './command-journal.js';
11
12
  export { handleCall, handleCallHelp } from './commands/call.js';
12
13
  export { handleActions } from './commands/discover.js';
@@ -16,6 +17,7 @@ export { handleReload } from './commands/reload.js';
16
17
  export { handleRun, } from './commands/run.js';
17
18
  export { handleStop } from './commands/stop.js';
18
19
  export { captureExecutionProvenance, executionProvenanceDrift, ProvenanceDriftError, writeExecutionProvenance, } from './execution-provenance.js';
20
+ export { createHarnessCli, } from './harness-cli.js';
19
21
  export { checkHealBounds, classifyFailure, conciseFailureForHuman, ensureOverlay, newHealState, parseHeal, recipeRunning, } from './heal-bounds.js';
20
22
  export { configureHarnessHost, harnessHost, hostEnvName, recipeEnvName, validateRelativeRecipePath, } from './host.js';
21
23
  export { JsonStreamWriter } from './json-stream.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/harness/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/harness/shared.ts"],"names":[],"mappings":"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"}