@crewx/workflow 0.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.
package/dist/cli.js ADDED
@@ -0,0 +1,630 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.main = main;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const engine_1 = require("./src/engine");
41
+ const run_manager_1 = require("./src/run-manager");
42
+ let PKG_VERSION = 'unknown';
43
+ try {
44
+ const pkgPath = fs.existsSync(path.join(__dirname, 'package.json'))
45
+ ? path.join(__dirname, 'package.json')
46
+ : path.join(__dirname, '..', 'package.json');
47
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
48
+ if (pkg?.version)
49
+ PKG_VERSION = String(pkg.version);
50
+ }
51
+ catch { }
52
+ async function loadTracer() {
53
+ try {
54
+ return await Promise.resolve().then(() => __importStar(require('@crewx/shared/skill-tracer')));
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ const BOOLEAN_FLAGS = new Set(['help', 'json', 'mermaid', 'version']);
61
+ function parseArgs(args) {
62
+ const result = { positional: [], options: {} };
63
+ for (let i = 0; i < args.length; i++) {
64
+ const arg = args[i];
65
+ if (arg === '-h') {
66
+ result.options['help'] = true;
67
+ }
68
+ else if (arg.startsWith('--')) {
69
+ const eqIdx = arg.indexOf('=');
70
+ if (eqIdx !== -1) {
71
+ result.options[arg.slice(2, eqIdx)] = arg.slice(eqIdx + 1);
72
+ }
73
+ else {
74
+ const key = arg.slice(2);
75
+ if (BOOLEAN_FLAGS.has(key)) {
76
+ result.options[key] = true;
77
+ }
78
+ else {
79
+ const nextArg = args[i + 1];
80
+ if (nextArg !== undefined && !nextArg.startsWith('--') && nextArg !== '-h') {
81
+ result.options[key] = nextArg;
82
+ i++;
83
+ }
84
+ else {
85
+ result.options[key] = true;
86
+ }
87
+ }
88
+ }
89
+ }
90
+ else {
91
+ result.positional.push(arg);
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+ function printUsage() {
97
+ console.log(`
98
+ @crewx/workflow@${PKG_VERSION} - Workflow management for CrewX
99
+
100
+ Usage:
101
+ workflow <command> [args] [options]
102
+
103
+ Commands:
104
+ workflow list List all workflows
105
+ workflow show <name> Show workflow detail
106
+ workflow validate [file] Validate workflow YAML
107
+ workflow run start <file> Create new execution
108
+ workflow run state <id> Get/set execution state
109
+ workflow run node <id> <node> Move to node
110
+ workflow run reset <id> Reset execution
111
+ workflow run list List all executions
112
+
113
+ Options:
114
+ --json JSON output
115
+ --mermaid Output Mermaid diagram (show only)
116
+ --version Show version
117
+ --help, -h Show this help
118
+
119
+ Examples:
120
+ workflow list
121
+ workflow list --json
122
+ workflow show standard-dev-core
123
+ workflow show standard-dev-core --mermaid
124
+ workflow validate
125
+ workflow validate workflows/standard-dev.yaml
126
+ `);
127
+ }
128
+ function formatFlow(nodes) {
129
+ const lines = [];
130
+ let idx = 1;
131
+ for (const [nodeId, node] of Object.entries(nodes)) {
132
+ if (!node || typeof node !== 'object')
133
+ continue;
134
+ const type = node.type ?? 'unknown';
135
+ let desc = `${nodeId} (${type}`;
136
+ if (node.agent)
137
+ desc += ` → ${node.agent}`;
138
+ desc += ')';
139
+ if (type === 'parallel' && Array.isArray(node.branches)) {
140
+ desc += ` → [${node.branches.join(', ')}]`;
141
+ if (node.join)
142
+ desc += ` → ${node.join}`;
143
+ }
144
+ else if (type === 'branch' && node.branches && typeof node.branches === 'object' && !Array.isArray(node.branches)) {
145
+ const parts = Object.entries(node.branches)
146
+ .map(([k, v]) => `${k}: ${v}`)
147
+ .join(' / ');
148
+ desc += ` → ${parts}`;
149
+ }
150
+ else if (node.next) {
151
+ desc += ` → ${node.next}`;
152
+ }
153
+ lines.push(` ${idx}. ${desc}`);
154
+ idx++;
155
+ }
156
+ return lines;
157
+ }
158
+ function cmdList(engine, jsonMode) {
159
+ const dir = path.resolve(process.cwd(), 'workflows');
160
+ const workflows = engine.loadWorkflows(dir);
161
+ if (workflows === null) {
162
+ const msg = `Directory not found: ${dir}`;
163
+ if (jsonMode) {
164
+ console.log(JSON.stringify({ success: false, error: msg, workflows: [] }));
165
+ }
166
+ else {
167
+ console.error(`\u274C ${msg}`);
168
+ }
169
+ process.exit(1);
170
+ }
171
+ if (workflows.length === 0) {
172
+ const msg = `No workflow YAML files found in ${dir}`;
173
+ if (jsonMode) {
174
+ console.log(JSON.stringify({ success: true, message: msg, workflows: [] }));
175
+ }
176
+ else {
177
+ console.log(`\u2139\uFE0F ${msg}`);
178
+ }
179
+ return;
180
+ }
181
+ if (jsonMode) {
182
+ console.log(JSON.stringify({
183
+ success: true,
184
+ workflows: workflows.map(wf => {
185
+ const meta = wf.spec.metadata ?? {};
186
+ const nodeCount = wf.spec.nodes ? Object.keys(wf.spec.nodes).length : 0;
187
+ return {
188
+ id: wf.id,
189
+ name: meta.name ?? wf.id,
190
+ description: meta.description ?? '',
191
+ node_count: nodeCount,
192
+ file: wf.filePath,
193
+ };
194
+ }),
195
+ }, null, 2));
196
+ }
197
+ else {
198
+ console.log(`\uD83D\uDCCB \uC6CC\uD06C\uD50C\uB85C \uBAA9\uB85D (${dir})`);
199
+ workflows.forEach((wf, i) => {
200
+ const meta = wf.spec.metadata ?? {};
201
+ const nodeCount = wf.spec.nodes ? Object.keys(wf.spec.nodes).length : 0;
202
+ const descLine = meta.description ? `\n \uD83D\uDCDD ${meta.description.trim().split('\n')[0]}` : '';
203
+ console.log(` ${i + 1}. ${wf.id} \u2014 ${meta.name ?? wf.id} (${nodeCount} nodes)\n \uD83D\uDCC1 ${wf.filePath}${descLine}`);
204
+ });
205
+ }
206
+ }
207
+ function cmdShow(engine, name, jsonMode, mermaidMode) {
208
+ const dir = path.resolve(process.cwd(), 'workflows');
209
+ const workflows = engine.loadWorkflows(dir);
210
+ if (!workflows) {
211
+ const msg = `Directory not found: ${dir}`;
212
+ if (jsonMode) {
213
+ console.log(JSON.stringify({ success: false, error: msg }));
214
+ }
215
+ else {
216
+ console.error(`\u274C ${msg}`);
217
+ }
218
+ process.exit(1);
219
+ }
220
+ const wf = workflows.find(w => w.id === name);
221
+ if (!wf) {
222
+ const msg = `Workflow "${name}" not found`;
223
+ if (jsonMode) {
224
+ console.log(JSON.stringify({ success: false, error: msg }));
225
+ }
226
+ else {
227
+ console.error(`\u274C ${msg}`);
228
+ }
229
+ process.exit(1);
230
+ }
231
+ if (mermaidMode) {
232
+ console.log(engine.toMermaid(wf.spec));
233
+ return;
234
+ }
235
+ const { spec } = wf;
236
+ const meta = spec.metadata ?? {};
237
+ const nodes = spec.nodes ?? {};
238
+ const stateKeys = spec.state ? Object.keys(spec.state) : [];
239
+ if (jsonMode) {
240
+ console.log(JSON.stringify({
241
+ success: true,
242
+ workflow: {
243
+ id: wf.id,
244
+ name: meta.name ?? wf.id,
245
+ description: meta.description ?? '',
246
+ timeout: spec.timeout ?? null,
247
+ max_iterations: spec.max_iterations ?? null,
248
+ state: stateKeys,
249
+ node_count: Object.keys(nodes).length,
250
+ nodes: Object.entries(nodes).map(([id, n]) => ({
251
+ id,
252
+ type: n.type,
253
+ agent: n.agent ?? null,
254
+ next: n.next ?? null,
255
+ branches: n.branches ?? null,
256
+ join: n.join ?? null,
257
+ })),
258
+ },
259
+ }, null, 2));
260
+ }
261
+ else {
262
+ const desc = meta.description ? ` \u2014 ${meta.description}` : '';
263
+ console.log(`\uD83D\uDCC4 ${wf.id}${desc}`);
264
+ console.log(` \uD83D\uDCC1 ${wf.filePath}`);
265
+ const settings = [];
266
+ if (spec.timeout)
267
+ settings.push(`timeout: ${spec.timeout}s`);
268
+ if (spec.max_iterations)
269
+ settings.push(`max_iterations: ${spec.max_iterations}`);
270
+ if (settings.length > 0)
271
+ console.log(` ${settings.join(' | ')}`);
272
+ if (stateKeys.length > 0) {
273
+ console.log(`\n State: ${stateKeys.join(', ')}`);
274
+ }
275
+ const flowLines = formatFlow(nodes);
276
+ if (flowLines.length > 0) {
277
+ console.log(`\n Flow:`);
278
+ flowLines.forEach(l => console.log(l));
279
+ }
280
+ }
281
+ }
282
+ function cmdValidate(engine, targetFile, jsonMode) {
283
+ let files;
284
+ if (targetFile) {
285
+ const resolved = path.resolve(process.cwd(), targetFile);
286
+ if (!fs.existsSync(resolved)) {
287
+ const msg = `File not found: ${resolved}`;
288
+ if (jsonMode) {
289
+ console.log(JSON.stringify({ success: false, error: msg, workflows: [] }));
290
+ }
291
+ else {
292
+ console.error(`\u274C ${msg}`);
293
+ }
294
+ process.exit(2);
295
+ }
296
+ files = [resolved];
297
+ }
298
+ else {
299
+ const dir = path.resolve(process.cwd(), 'workflows');
300
+ if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
301
+ const msg = `Directory not found: ${dir}`;
302
+ if (jsonMode) {
303
+ console.log(JSON.stringify({ success: false, error: msg, workflows: [] }));
304
+ }
305
+ else {
306
+ console.error(`\u274C ${msg}`);
307
+ }
308
+ process.exit(2);
309
+ }
310
+ files = fs.readdirSync(dir)
311
+ .filter(f => f.endsWith('.yaml') || f.endsWith('.yml'))
312
+ .map(f => path.join(dir, f));
313
+ }
314
+ if (files.length === 0) {
315
+ const msg = 'No workflow YAML files found';
316
+ if (jsonMode) {
317
+ console.log(JSON.stringify({ success: true, message: msg, workflows: [] }));
318
+ }
319
+ else {
320
+ console.log(`\u2139\uFE0F ${msg}`);
321
+ }
322
+ return;
323
+ }
324
+ let hasErrors = false;
325
+ const allResults = [];
326
+ for (const file of files) {
327
+ const { success, results, error } = engine.validateFile(file);
328
+ if (error) {
329
+ hasErrors = true;
330
+ if (jsonMode) {
331
+ allResults.push({ file, results: [{ name: path.basename(file), valid: false, errors: [{ path: file, message: error }] }] });
332
+ }
333
+ else {
334
+ console.error(`\u274C ${file}: ${error}\n`);
335
+ }
336
+ continue;
337
+ }
338
+ if (!success)
339
+ hasErrors = true;
340
+ if (jsonMode) {
341
+ allResults.push({ file, results });
342
+ }
343
+ else {
344
+ for (const r of results) {
345
+ if (r.valid) {
346
+ console.log(`\u2705 workflow "${r.name}" \u2014 validation passed`);
347
+ }
348
+ else {
349
+ console.log(`\u274C workflow "${r.name}" \u2014 validation failed`);
350
+ for (const e of r.errors) {
351
+ console.log(` - ${e.path}: ${e.message}`);
352
+ }
353
+ }
354
+ console.log();
355
+ }
356
+ }
357
+ }
358
+ if (jsonMode) {
359
+ const flatResults = allResults.flatMap(r => r.results);
360
+ console.log(JSON.stringify({
361
+ success: !hasErrors,
362
+ workflows: flatResults,
363
+ }, null, 2));
364
+ }
365
+ if (hasErrors)
366
+ process.exit(1);
367
+ }
368
+ async function cmdRun(rest, rawArgs, jsonMode) {
369
+ const runSub = rest[0];
370
+ const runArgs = rest.slice(1);
371
+ const mgr = new run_manager_1.RunManager();
372
+ switch (runSub) {
373
+ case 'start': {
374
+ const positional = runArgs.filter((a, i) => !a.startsWith('--') && runArgs[i - 1] !== '--set');
375
+ const yamlPath = positional[0];
376
+ if (!yamlPath) {
377
+ const msg = 'Usage: workflow run start <workflow.yaml> [workflow-id] [--set key=value ...]';
378
+ if (jsonMode) {
379
+ console.log(JSON.stringify({ success: false, error: msg }));
380
+ }
381
+ else {
382
+ console.error(`\u274C ${msg}`);
383
+ }
384
+ process.exit(1);
385
+ }
386
+ const sets = (0, run_manager_1.parseSetArgs)(rawArgs);
387
+ try {
388
+ const run = mgr.start(yamlPath, positional[1], Object.keys(sets).length > 0 ? sets : undefined);
389
+ if (jsonMode) {
390
+ console.log(JSON.stringify({ success: true, exec_id: run.id, run }, null, 2));
391
+ }
392
+ else {
393
+ console.log(`\u2705 Created execution: ${run.id}`);
394
+ console.log(` Workflow: ${run.workflow_id} (${yamlPath})`);
395
+ console.log(` State keys: ${Object.keys(run.state).join(', ') || '(none)'}`);
396
+ console.log(` File: ${path.join('.crewx/workflow-runs', run.id + '.json')}`);
397
+ }
398
+ }
399
+ catch (e) {
400
+ const msg = e.message;
401
+ if (jsonMode) {
402
+ console.log(JSON.stringify({ success: false, error: msg }));
403
+ }
404
+ else {
405
+ console.error(`\u274C ${msg}`);
406
+ }
407
+ process.exit(1);
408
+ }
409
+ break;
410
+ }
411
+ case 'state': {
412
+ const positional = runArgs.filter((a, i) => !a.startsWith('--') && runArgs[i - 1] !== '--set');
413
+ const execId = positional[0];
414
+ if (!execId) {
415
+ const msg = 'Usage: workflow run state <exec-id> [--set key=value ...]';
416
+ if (jsonMode) {
417
+ console.log(JSON.stringify({ success: false, error: msg }));
418
+ }
419
+ else {
420
+ console.error(`\u274C ${msg}`);
421
+ }
422
+ process.exit(1);
423
+ }
424
+ const run = mgr.loadRun(execId);
425
+ if (!run) {
426
+ const msg = `Execution not found: ${execId}`;
427
+ if (jsonMode) {
428
+ console.log(JSON.stringify({ success: false, error: msg }));
429
+ }
430
+ else {
431
+ console.error(`\u274C ${msg}`);
432
+ }
433
+ process.exit(1);
434
+ }
435
+ const sets = (0, run_manager_1.parseSetArgs)(rawArgs);
436
+ const stdinKeys = Object.entries(sets).filter(([, v]) => v === '-').map(([k]) => k);
437
+ if (stdinKeys.length > 0 && !process.stdin.isTTY) {
438
+ const stdinValue = await (0, run_manager_1.readStdin)();
439
+ for (const key of stdinKeys) {
440
+ sets[key] = stdinValue;
441
+ }
442
+ }
443
+ if (Object.keys(sets).length > 0) {
444
+ Object.assign(run.state, sets);
445
+ mgr.saveRun(run);
446
+ }
447
+ if (jsonMode) {
448
+ console.log(JSON.stringify({ success: true, exec_id: execId, state: run.state }, null, 2));
449
+ }
450
+ else {
451
+ if (Object.keys(sets).length > 0) {
452
+ console.log(`\u2705 Updated state for ${execId}`);
453
+ }
454
+ console.log(JSON.stringify(run.state, null, 2));
455
+ }
456
+ break;
457
+ }
458
+ case 'node': {
459
+ const positional = runArgs.filter(a => !a.startsWith('--'));
460
+ const execId = positional[0];
461
+ const nodeId = positional[1];
462
+ if (!execId || !nodeId) {
463
+ const msg = 'Usage: workflow run node <exec-id> <node-id>';
464
+ if (jsonMode) {
465
+ console.log(JSON.stringify({ success: false, error: msg }));
466
+ }
467
+ else {
468
+ console.error(`\u274C ${msg}`);
469
+ }
470
+ process.exit(1);
471
+ }
472
+ try {
473
+ const run = mgr.moveNode(execId, nodeId);
474
+ if (jsonMode) {
475
+ console.log(JSON.stringify({
476
+ success: true,
477
+ exec_id: execId,
478
+ current_node: run.current_node,
479
+ completed_nodes: run.completed_nodes,
480
+ }, null, 2));
481
+ }
482
+ else {
483
+ console.log(`\u2705 Node updated: ${nodeId}`);
484
+ if (run.completed_nodes.length > 0) {
485
+ console.log(` Completed: ${run.completed_nodes.join(' \u2192 ')}`);
486
+ }
487
+ console.log(` Current: ${run.current_node}`);
488
+ }
489
+ }
490
+ catch (e) {
491
+ const msg = e.message;
492
+ if (jsonMode) {
493
+ console.log(JSON.stringify({ success: false, error: msg }));
494
+ }
495
+ else {
496
+ console.error(`\u274C ${msg}`);
497
+ }
498
+ process.exit(1);
499
+ }
500
+ break;
501
+ }
502
+ case 'reset': {
503
+ const positional = runArgs.filter(a => !a.startsWith('--'));
504
+ const execId = positional[0];
505
+ if (!execId) {
506
+ const msg = 'Usage: workflow run reset <exec-id>';
507
+ if (jsonMode) {
508
+ console.log(JSON.stringify({ success: false, error: msg }));
509
+ }
510
+ else {
511
+ console.error(`\u274C ${msg}`);
512
+ }
513
+ process.exit(1);
514
+ }
515
+ try {
516
+ const run = mgr.reset(execId);
517
+ if (jsonMode) {
518
+ console.log(JSON.stringify({ success: true, exec_id: execId, state: run.state }, null, 2));
519
+ }
520
+ else {
521
+ console.log(`\u2705 Reset execution: ${execId}`);
522
+ console.log(` State restored to initial values`);
523
+ }
524
+ }
525
+ catch (e) {
526
+ const msg = e.message;
527
+ if (jsonMode) {
528
+ console.log(JSON.stringify({ success: false, error: msg }));
529
+ }
530
+ else {
531
+ console.error(`\u274C ${msg}`);
532
+ }
533
+ process.exit(1);
534
+ }
535
+ break;
536
+ }
537
+ case 'list': {
538
+ const runs = mgr.listRuns();
539
+ if (jsonMode) {
540
+ console.log(JSON.stringify({
541
+ success: true,
542
+ runs: runs.map(r => ({
543
+ id: r.id,
544
+ workflow_id: r.workflow_id,
545
+ workflow_file: r.workflow_file,
546
+ created_at: r.created_at,
547
+ current_node: r.current_node,
548
+ completed_nodes: r.completed_nodes,
549
+ })),
550
+ }, null, 2));
551
+ }
552
+ else {
553
+ if (runs.length === 0) {
554
+ console.log('\u2139\uFE0F No workflow runs found.');
555
+ return;
556
+ }
557
+ console.log(`\uD83D\uDCCB Workflow runs (${runs.length})`);
558
+ for (const r of runs) {
559
+ const node = r.current_node || '(not started)';
560
+ const completed = r.completed_nodes?.length || 0;
561
+ console.log(` ${r.id}`);
562
+ console.log(` \uD83D\uDCC1 ${r.workflow_file} | node: ${node} | completed: ${completed}`);
563
+ }
564
+ }
565
+ break;
566
+ }
567
+ default: {
568
+ const msg = `Unknown run subcommand: ${runSub || '(none)'}\nUsage: workflow run <start|state|node|reset|list> [args...]`;
569
+ if (jsonMode) {
570
+ console.log(JSON.stringify({ success: false, error: msg }));
571
+ }
572
+ else {
573
+ console.error(`\u274C ${msg}`);
574
+ }
575
+ process.exit(1);
576
+ }
577
+ }
578
+ }
579
+ async function main(inputArgs) {
580
+ const args = inputArgs ?? process.argv.slice(2);
581
+ const { positional, options } = parseArgs(args);
582
+ const [subcommand, ...rest] = positional;
583
+ if (options.version) {
584
+ console.log(PKG_VERSION);
585
+ return;
586
+ }
587
+ if (options.help || subcommand === 'help' || !subcommand) {
588
+ printUsage();
589
+ return;
590
+ }
591
+ const jsonMode = !!options.json;
592
+ const engine = new engine_1.WorkflowEngine();
593
+ switch (subcommand) {
594
+ case 'list':
595
+ case 'ls':
596
+ cmdList(engine, jsonMode);
597
+ break;
598
+ case 'show': {
599
+ const name = rest[0];
600
+ if (!name) {
601
+ console.error('Error: workflow name is required\nUsage: workflow show <name> [--mermaid]');
602
+ process.exit(1);
603
+ }
604
+ cmdShow(engine, name, jsonMode, !!options.mermaid);
605
+ break;
606
+ }
607
+ case 'validate': {
608
+ const targetFile = rest[0];
609
+ cmdValidate(engine, targetFile, jsonMode);
610
+ break;
611
+ }
612
+ case 'run': {
613
+ await cmdRun(rest, args, jsonMode);
614
+ break;
615
+ }
616
+ default:
617
+ console.error(`Unknown subcommand: ${subcommand}`);
618
+ printUsage();
619
+ process.exit(1);
620
+ }
621
+ }
622
+ if (require.main === module) {
623
+ loadTracer().then(tracer => {
624
+ return tracer ? tracer.run('crewx/workflow', () => main()) : main();
625
+ }).catch((e) => {
626
+ console.error(e.message);
627
+ process.exit(1);
628
+ });
629
+ }
630
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { WorkflowSpec, LoadedWorkflow, ValidationResult } from './types';
2
+ export declare class WorkflowEngine {
3
+ private schema;
4
+ constructor();
5
+ loadWorkflows(dir: string): LoadedWorkflow[] | null;
6
+ validateFile(filePath: string): {
7
+ success: boolean;
8
+ results: ValidationResult[];
9
+ error?: string;
10
+ };
11
+ toMermaid(spec: WorkflowSpec): string;
12
+ }
13
+ //# sourceMappingURL=engine.d.ts.map