@farmslot/recipe-harness 0.6.0 → 0.7.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/CHANGELOG.md +3 -1
- package/README.md +2 -0
- package/dist/cli/flows-command.d.ts.map +1 -1
- package/dist/cli/flows-command.js +172 -4
- package/dist/cli/flows-command.js.map +1 -1
- package/dist/cli/index.d.ts +5 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,9 @@ All notable changes to `@farmslot/recipe-harness` are tracked here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 0.7.0 - 2026-07-19
|
|
8
|
+
|
|
9
|
+
- Added `flows describe <ref>` with resolved provenance, parameter schema/defaults, the complete flow definition, and an authored call node or clearly labeled template in human and stable JSON output.
|
|
8
10
|
|
|
9
11
|
## 0.6.0 - 2026-07-13
|
|
10
12
|
|
package/README.md
CHANGED
|
@@ -166,6 +166,8 @@ run executed, so evidence stays reviewable without access to the libraries.
|
|
|
166
166
|
|
|
167
167
|
```bash
|
|
168
168
|
farmslot-recipe flows list --library personal=~/.farmslot/recipe-library
|
|
169
|
+
farmslot-recipe flows describe demo.write-marker \
|
|
170
|
+
--library personal=~/.farmslot/recipe-library
|
|
169
171
|
farmslot-recipe run recipe.json --artifacts-dir artifacts \
|
|
170
172
|
--action-manifest action-manifest.json \
|
|
171
173
|
--library personal=~/.farmslot/recipe-library --library team=../team-recipes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows-command.d.ts","sourceRoot":"","sources":["../../src/cli/flows-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"flows-command.d.ts","sourceRoot":"","sources":["../../src/cli/flows-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6H3D"}
|
|
@@ -4,6 +4,7 @@ import { loadRecipeLibraries, personalRecipeLibraryRoot, resolveRecipeLibrarySou
|
|
|
4
4
|
import { promoteRecipeFlow } from '../core/promote.js';
|
|
5
5
|
import { resolveRecipeCliPath } from './support.js';
|
|
6
6
|
export function registerFlowsCommand(program) {
|
|
7
|
+
const cliName = program.name();
|
|
7
8
|
const flows = program
|
|
8
9
|
.command('flows')
|
|
9
10
|
.description('Inspect flows available from configured recipe library sources');
|
|
@@ -25,10 +26,35 @@ export function registerFlowsCommand(program) {
|
|
|
25
26
|
}
|
|
26
27
|
const resolution = await loadRecipeLibraries(sources, options.json ? undefined : console);
|
|
27
28
|
if (options.json) {
|
|
28
|
-
console.log(JSON.stringify(flowsListDocument(resolution), null, 2));
|
|
29
|
+
console.log(JSON.stringify(flowsListDocument(resolution, cliName), null, 2));
|
|
29
30
|
return;
|
|
30
31
|
}
|
|
31
|
-
printFlowsList(resolution);
|
|
32
|
+
printFlowsList(resolution, cliName);
|
|
33
|
+
});
|
|
34
|
+
flows
|
|
35
|
+
.command('describe <ref>')
|
|
36
|
+
.description('Describe one resolved flow with its source, parameters, definition, and call node')
|
|
37
|
+
.option('--library <entry>', 'Recipe library source as name=path or path (repeatable; order is precedence, first wins). Defaults to RECIPE_LIBRARY_PATH, then the personal library under the farmslot home.', collectRepeatable, [])
|
|
38
|
+
.option('--json', 'Print the resolved flow contract as JSON')
|
|
39
|
+
.action(async (ref, options) => {
|
|
40
|
+
const sources = await resolveRecipeLibrarySources({ cliEntries: options.library });
|
|
41
|
+
if (sources.length === 0) {
|
|
42
|
+
describeFailure(options.json, 'FLOW_LIBRARY_NOT_CONFIGURED', 'No recipe library sources are configured.', 'Pass --library name=path, set RECIPE_LIBRARY_PATH, or create a personal recipe library.');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const resolution = await loadRecipeLibraries(sources, options.json ? undefined : console);
|
|
46
|
+
const flow = resolution.flows.get(ref);
|
|
47
|
+
if (!flow) {
|
|
48
|
+
const availableFlows = [...resolution.flows.keys()].sort();
|
|
49
|
+
describeFailure(options.json, 'FLOW_NOT_FOUND', `Flow ${ref} is not available from the configured recipe libraries.`, `Run ${flowListCommand(resolution, cliName, options.json)} to inspect ${availableFlows.length} available flow(s).`, availableFlows);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const document = flowDescribeDocument(resolution, flow, cliName);
|
|
53
|
+
if (options.json) {
|
|
54
|
+
console.log(JSON.stringify(document, null, 2));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
printFlowDescription(document.flow, document.nextCommand);
|
|
32
58
|
});
|
|
33
59
|
flows
|
|
34
60
|
.command('promote')
|
|
@@ -64,6 +90,90 @@ export function registerFlowsCommand(program) {
|
|
|
64
90
|
}
|
|
65
91
|
});
|
|
66
92
|
}
|
|
93
|
+
function flowDescribeDocument(resolution, flow, cliName) {
|
|
94
|
+
const sourceIndex = resolution.sources.findIndex((source) => source.name === flow.source);
|
|
95
|
+
const source = resolution.sources[sourceIndex];
|
|
96
|
+
if (!source)
|
|
97
|
+
throw new Error(`Resolved flow ${flow.ref} refers to unknown source ${flow.source}.`);
|
|
98
|
+
const shadows = flow.shadows.map((name) => {
|
|
99
|
+
const index = resolution.sources.findIndex((candidate) => candidate.name === name);
|
|
100
|
+
const shadowedSource = resolution.sources[index];
|
|
101
|
+
return {
|
|
102
|
+
name,
|
|
103
|
+
...(shadowedSource ? { root: shadowedSource.root, precedence: index + 1 } : {}),
|
|
104
|
+
};
|
|
105
|
+
});
|
|
106
|
+
const authoredCallNode = exampleCallNode(flow.raw);
|
|
107
|
+
return {
|
|
108
|
+
schemaVersion: 1,
|
|
109
|
+
command: 'flows describe',
|
|
110
|
+
status: 'pass',
|
|
111
|
+
flow: {
|
|
112
|
+
ref: flow.ref,
|
|
113
|
+
...(flowDescription(flow.raw) ? { description: flowDescription(flow.raw) } : {}),
|
|
114
|
+
source: flow.source,
|
|
115
|
+
sourceRoot: source.root,
|
|
116
|
+
sourcePrecedence: sourceIndex + 1,
|
|
117
|
+
file: flow.file,
|
|
118
|
+
path: path.join(source.root, flow.file),
|
|
119
|
+
parameters: {
|
|
120
|
+
schema: isRecord(flow.raw.paramsSchema) ? flow.raw.paramsSchema : null,
|
|
121
|
+
required: requiredParams(flow.raw),
|
|
122
|
+
defaults: parameterDefaults(flow.raw),
|
|
123
|
+
},
|
|
124
|
+
...(shadows.length > 0 ? { shadows } : {}),
|
|
125
|
+
...(flow.lastVerified ? { lastVerified: flow.lastVerified } : {}),
|
|
126
|
+
definition: flow.raw,
|
|
127
|
+
callNode: authoredCallNode ?? callNodeTemplate(flow.ref, flow.raw),
|
|
128
|
+
callNodeSource: authoredCallNode ? 'authored-example' : 'generated-template',
|
|
129
|
+
},
|
|
130
|
+
nextCommand: flowDescribeCommand(resolution, cliName, flow.ref, true),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function printFlowDescription(flow, nextCommand) {
|
|
134
|
+
console.log(flow.ref);
|
|
135
|
+
if (flow.description)
|
|
136
|
+
console.log(` ${flow.description}`);
|
|
137
|
+
console.log(` source: ${flow.source} (precedence ${flow.sourcePrecedence})`);
|
|
138
|
+
console.log(` file: ${flow.path}`);
|
|
139
|
+
if (flow.shadows?.length) {
|
|
140
|
+
console.log(` shadows: ${flow.shadows.map((source) => source.name).join(', ')}`);
|
|
141
|
+
}
|
|
142
|
+
if (flow.parameters.required.length > 0) {
|
|
143
|
+
console.log(` required params: ${flow.parameters.required.join(', ')}`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
console.log(' required params: none');
|
|
147
|
+
}
|
|
148
|
+
const defaults = Object.entries(flow.parameters.defaults);
|
|
149
|
+
if (defaults.length > 0) {
|
|
150
|
+
console.log(` defaults: ${defaults.map(([name, value]) => `${name}=${JSON.stringify(value)}`).join(', ')}`);
|
|
151
|
+
}
|
|
152
|
+
console.log(flow.callNodeSource === 'authored-example'
|
|
153
|
+
? ' recipe node (authored example):'
|
|
154
|
+
: ' recipe node template (replace placeholder values):');
|
|
155
|
+
for (const line of JSON.stringify(flow.callNode, null, 2).split('\n')) {
|
|
156
|
+
console.log(` ${line}`);
|
|
157
|
+
}
|
|
158
|
+
console.log(` Full definition: ${nextCommand}`);
|
|
159
|
+
}
|
|
160
|
+
function describeFailure(json, code, message, userAction, availableFlows) {
|
|
161
|
+
if (json) {
|
|
162
|
+
console.log(JSON.stringify({
|
|
163
|
+
schemaVersion: 1,
|
|
164
|
+
command: 'flows describe',
|
|
165
|
+
status: 'error',
|
|
166
|
+
exitCode: 1,
|
|
167
|
+
error: { code, message, userAction },
|
|
168
|
+
...(availableFlows ? { availableFlows } : {}),
|
|
169
|
+
}, null, 2));
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
console.error(message);
|
|
173
|
+
console.error(`Next: ${userAction}`);
|
|
174
|
+
}
|
|
175
|
+
process.exitCode = 1;
|
|
176
|
+
}
|
|
67
177
|
async function resolvePromoteTarget(to, cliEntries) {
|
|
68
178
|
const sources = await resolveRecipeLibrarySources({ cliEntries });
|
|
69
179
|
const resolved = await Promise.all(sources.map(async (source) => ({
|
|
@@ -92,7 +202,8 @@ async function libraryManifestName(root) {
|
|
|
92
202
|
}
|
|
93
203
|
return undefined;
|
|
94
204
|
}
|
|
95
|
-
function flowsListDocument(resolution) {
|
|
205
|
+
function flowsListDocument(resolution, cliName) {
|
|
206
|
+
const firstRef = [...resolution.flows.keys()].sort()[0];
|
|
96
207
|
return {
|
|
97
208
|
sources: resolution.sources,
|
|
98
209
|
flows: [...resolution.flows.values()]
|
|
@@ -108,9 +219,10 @@ function flowsListDocument(resolution) {
|
|
|
108
219
|
...(flow.shadows.length > 0 ? { shadows: flow.shadows } : {}),
|
|
109
220
|
...(flow.lastVerified ? { lastVerified: flow.lastVerified } : {}),
|
|
110
221
|
})),
|
|
222
|
+
...(firstRef ? { nextCommand: flowDescribeCommand(resolution, cliName, firstRef, true) } : {}),
|
|
111
223
|
};
|
|
112
224
|
}
|
|
113
|
-
function printFlowsList(resolution) {
|
|
225
|
+
function printFlowsList(resolution, cliName) {
|
|
114
226
|
if (resolution.flows.size === 0) {
|
|
115
227
|
console.log('No flows found in the configured recipe libraries.');
|
|
116
228
|
return;
|
|
@@ -130,6 +242,9 @@ function printFlowsList(resolution) {
|
|
|
130
242
|
if (params.length > 0)
|
|
131
243
|
console.log(` params: ${params.join(', ')}`);
|
|
132
244
|
}
|
|
245
|
+
const firstRef = [...resolution.flows.keys()].sort()[0];
|
|
246
|
+
if (firstRef)
|
|
247
|
+
console.log(`Inspect one: ${flowDescribeCommand(resolution, cliName, firstRef)}`);
|
|
133
248
|
}
|
|
134
249
|
function flowDescription(raw) {
|
|
135
250
|
return typeof raw.description === 'string' && raw.description ? raw.description : undefined;
|
|
@@ -139,6 +254,59 @@ function requiredParams(raw) {
|
|
|
139
254
|
return [];
|
|
140
255
|
return raw.paramsSchema.required.filter((entry) => typeof entry === 'string');
|
|
141
256
|
}
|
|
257
|
+
function parameterDefaults(raw) {
|
|
258
|
+
if (!isRecord(raw.paramsSchema) || !isRecord(raw.paramsSchema.properties))
|
|
259
|
+
return {};
|
|
260
|
+
return Object.fromEntries(Object.entries(raw.paramsSchema.properties).flatMap(([name, schema]) => isRecord(schema) && Object.hasOwn(schema, 'default') ? [[name, schema.default]] : []));
|
|
261
|
+
}
|
|
262
|
+
function exampleCallNode(raw) {
|
|
263
|
+
if (!Array.isArray(raw.examples))
|
|
264
|
+
return undefined;
|
|
265
|
+
for (const example of raw.examples) {
|
|
266
|
+
if (isRecord(example) && isRecord(example.node) && example.node.action === 'call') {
|
|
267
|
+
return example.node;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
function callNodeTemplate(ref, raw) {
|
|
273
|
+
const defaults = parameterDefaults(raw);
|
|
274
|
+
const params = Object.fromEntries(requiredParams(raw).map((name) => [
|
|
275
|
+
name,
|
|
276
|
+
Object.hasOwn(defaults, name) ? defaults[name] : `<${name}>`,
|
|
277
|
+
]));
|
|
278
|
+
return {
|
|
279
|
+
action: 'call',
|
|
280
|
+
ref,
|
|
281
|
+
...(Object.keys(params).length > 0 ? { params } : {}),
|
|
282
|
+
intent: flowDescription(raw) ?? `Run ${ref}`,
|
|
283
|
+
next: 'done',
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function flowDescribeCommand(resolution, cliName, ref, json = false) {
|
|
287
|
+
const args = [
|
|
288
|
+
cliName,
|
|
289
|
+
'flows',
|
|
290
|
+
'describe',
|
|
291
|
+
ref,
|
|
292
|
+
...resolution.sources.flatMap((source) => ['--library', `${source.name}=${source.root}`]),
|
|
293
|
+
...(json ? ['--json'] : []),
|
|
294
|
+
];
|
|
295
|
+
return args.map(shellQuoteArg).join(' ');
|
|
296
|
+
}
|
|
297
|
+
function flowListCommand(resolution, cliName, json = false) {
|
|
298
|
+
const args = [
|
|
299
|
+
cliName,
|
|
300
|
+
'flows',
|
|
301
|
+
'list',
|
|
302
|
+
...resolution.sources.flatMap((source) => ['--library', `${source.name}=${source.root}`]),
|
|
303
|
+
...(json ? ['--json'] : []),
|
|
304
|
+
];
|
|
305
|
+
return args.map(shellQuoteArg).join(' ');
|
|
306
|
+
}
|
|
307
|
+
function shellQuoteArg(value) {
|
|
308
|
+
return /^[A-Za-z0-9_./:@%+=,-]+$/u.test(value) ? value : `'${value.replaceAll("'", `'"'"'`)}'`;
|
|
309
|
+
}
|
|
142
310
|
function collectRepeatable(value, previous) {
|
|
143
311
|
return [...previous, value];
|
|
144
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows-command.js","sourceRoot":"","sources":["../../src/cli/flows-command.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAEzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAiBpD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gEAAgE,CAAC,CAAC;IAEjF,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8DAA8D,CAAC;SAC3E,MAAM,CACL,mBAAmB,EACnB,+KAA+K,EAC/K,iBAAiB,EACjB,EAAc,CACf;SACA,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GACX,8KAA8K,CAAC;YACjL,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1F,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,cAAc,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,kHAAkH,CACnH;SACA,cAAc,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SAChF,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,UAAU,CAAC;SAC/D,MAAM,CACL,mBAAmB,EACnB,+KAA+K,EAC/K,iBAAiB,EACjB,EAAc,CACf;SACA,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;SAC3F,MAAM,CACL,sBAAsB,EACtB,8FAA8F,CAC/F;SACA,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,UAAU,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,YAAY;YACjB,CAAC,CAAC,2CAA2C,MAAM,CAAC,YAAY,EAAE;YAClE,CAAC,CAAC,2EAA2E,CAChF,CAAC;QACF,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,EAAU,EACV,UAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC9D,CAAC,CAAC,CACJ,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAC5F,MAAM,IAAI,KAAK,CACb,kCAAkC,EAAE,8BAA8B,SAAS,qBAAqB,EAAE,mCAAmC,CACtI,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,yBAAyB;AACzB,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAmC;IAC5D,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;gBACrC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAmC;IACzD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,OAAO,GAAG;YACd,UAAU,IAAI,CAAC,MAAM,EAAE;YACvB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,WAAW;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAA4B;IACnD,OAAO,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,SAAS,cAAc,CAAC,GAA4B;IAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxF,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,QAAkB;IAC1D,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"flows-command.js","sourceRoot":"","sources":["../../src/cli/flows-command.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export interface RecipeHarnessCliOptions {
|
|
3
|
+
commandName?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function createRecipeHarnessProgram(options?: RecipeHarnessCliOptions): Command;
|
|
6
|
+
export declare function runRecipeHarnessCli(argv: string[], options?: RecipeHarnessCliOptions): Promise<void>;
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAYzF;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
package/dist/cli/index.js
CHANGED
|
@@ -4,10 +4,10 @@ import { registerFlowsCommand } from './flows-command.js';
|
|
|
4
4
|
import { registerRunCommand } from './run-command.js';
|
|
5
5
|
import { registerValidateCommand } from './validate-command.js';
|
|
6
6
|
const CLI_VERSION = '0.1.0';
|
|
7
|
-
export function createRecipeHarnessProgram() {
|
|
7
|
+
export function createRecipeHarnessProgram(options = {}) {
|
|
8
8
|
const program = new Command();
|
|
9
9
|
program
|
|
10
|
-
.name('farmslot-recipe')
|
|
10
|
+
.name(options.commandName ?? 'farmslot-recipe')
|
|
11
11
|
.description('Farmslot v1 recipe harness CLI')
|
|
12
12
|
.version(CLI_VERSION);
|
|
13
13
|
registerValidateCommand(program);
|
|
@@ -15,8 +15,8 @@ export function createRecipeHarnessProgram() {
|
|
|
15
15
|
registerFlowsCommand(program);
|
|
16
16
|
return program;
|
|
17
17
|
}
|
|
18
|
-
export async function runRecipeHarnessCli(argv) {
|
|
19
|
-
await createRecipeHarnessProgram().parseAsync(argv, { from: 'user' });
|
|
18
|
+
export async function runRecipeHarnessCli(argv, options = {}) {
|
|
19
|
+
await createRecipeHarnessProgram(options).parseAsync(argv, { from: 'user' });
|
|
20
20
|
}
|
|
21
21
|
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
|
22
22
|
try {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,GAAG,OAAO,CAAC;AAM5B,MAAM,UAAU,0BAA0B,CAAC,UAAmC,EAAE;IAC9E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;SAC9C,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAc,EACd,UAAmC,EAAE;IAErC,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|