@synergenius/flow-weaver 0.21.10 → 0.21.11
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/README.md +59 -57
- package/dist/cli/commands/context.js +2 -2
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/docs.js +5 -5
- package/dist/cli/commands/export.d.ts +4 -4
- package/dist/cli/commands/export.js +4 -4
- package/dist/cli/commands/init-personas.js +11 -11
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/market.js +5 -5
- package/dist/cli/commands/openapi.d.ts +3 -3
- package/dist/cli/commands/openapi.js +3 -3
- package/dist/cli/commands/run.d.ts +5 -5
- package/dist/cli/commands/run.js +5 -5
- package/dist/cli/commands/serve.d.ts +5 -5
- package/dist/cli/commands/serve.js +5 -5
- package/dist/cli/commands/templates.js +2 -2
- package/dist/cli/flow-weaver.mjs +58 -58
- package/dist/cli/index.js +10 -10
- package/dist/cli/templates/workflows/aggregator.js +1 -1
- package/dist/cli/templates/workflows/ai-agent.js +1 -1
- package/dist/cli/templates/workflows/ai-chat.js +1 -1
- package/dist/cli/templates/workflows/ai-rag.js +1 -1
- package/dist/cli/templates/workflows/ai-react.js +1 -1
- package/dist/cli/templates/workflows/conditional.js +1 -1
- package/dist/cli/templates/workflows/error-handler.js +1 -1
- package/dist/cli/templates/workflows/foreach.js +1 -1
- package/dist/cli/templates/workflows/sequential.js +2 -2
- package/dist/cli/templates/workflows/webhook.js +1 -1
- package/dist/doc-metadata/extractors/cli-commands.js +24 -24
- package/dist/doc-metadata/types.d.ts +1 -1
- package/dist/generated-version.d.ts +1 -1
- package/dist/generated-version.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/docs/reference/advanced-annotations.md +4 -4
- package/docs/reference/built-in-nodes.md +2 -2
- package/docs/reference/cli-reference.md +142 -140
- package/docs/reference/compilation.md +12 -12
- package/docs/reference/concepts.md +29 -29
- package/docs/reference/debugging.md +34 -34
- package/docs/reference/deployment.md +27 -27
- package/docs/reference/export-interface.md +1 -1
- package/docs/reference/iterative-development.md +6 -6
- package/docs/reference/marketplace.md +18 -18
- package/docs/reference/node-conversion.md +1 -1
- package/docs/reference/patterns.md +7 -7
- package/docs/reference/scaffold.md +22 -22
- package/docs/reference/tutorial.md +29 -29
- package/package.json +3 -2
package/dist/cli/flow-weaver.mjs
CHANGED
|
@@ -9671,7 +9671,7 @@ var VERSION;
|
|
|
9671
9671
|
var init_generated_version = __esm({
|
|
9672
9672
|
"src/generated-version.ts"() {
|
|
9673
9673
|
"use strict";
|
|
9674
|
-
VERSION = "0.21.
|
|
9674
|
+
VERSION = "0.21.11";
|
|
9675
9675
|
}
|
|
9676
9676
|
});
|
|
9677
9677
|
|
|
@@ -46252,7 +46252,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
46252
46252
|
execute: boolean,
|
|
46253
46253
|
params: { data: any }
|
|
46254
46254
|
): ${returnType} {
|
|
46255
|
-
throw new Error("Compile with:
|
|
46255
|
+
throw new Error("Compile with: fw compile <file>");
|
|
46256
46256
|
}
|
|
46257
46257
|
`.trim();
|
|
46258
46258
|
}
|
|
@@ -46310,7 +46310,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
46310
46310
|
execute: boolean,
|
|
46311
46311
|
params: { ${inputPort}: any }
|
|
46312
46312
|
): ${returnType} {
|
|
46313
|
-
throw new Error("Compile with:
|
|
46313
|
+
throw new Error("Compile with: fw compile <file>");
|
|
46314
46314
|
}`.trim();
|
|
46315
46315
|
}
|
|
46316
46316
|
var configSchema, sequentialTemplate;
|
|
@@ -46511,7 +46511,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
46511
46511
|
execute: boolean,
|
|
46512
46512
|
params: { items: any[] }
|
|
46513
46513
|
): ${returnType} {
|
|
46514
|
-
throw new Error("Compile with:
|
|
46514
|
+
throw new Error("Compile with: fw compile <file>");
|
|
46515
46515
|
}
|
|
46516
46516
|
`.trim();
|
|
46517
46517
|
}
|
|
@@ -46646,7 +46646,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
46646
46646
|
execute: boolean,
|
|
46647
46647
|
params: { data: any }
|
|
46648
46648
|
): ${returnType} {
|
|
46649
|
-
throw new Error("Compile with:
|
|
46649
|
+
throw new Error("Compile with: fw compile <file>");
|
|
46650
46650
|
}
|
|
46651
46651
|
`.trim();
|
|
46652
46652
|
}
|
|
@@ -47322,7 +47322,7 @@ export async function ${workflowName}(
|
|
|
47322
47322
|
onFailure: boolean;
|
|
47323
47323
|
response: string;
|
|
47324
47324
|
}> {
|
|
47325
|
-
throw new Error('Compile with:
|
|
47325
|
+
throw new Error('Compile with: fw compile <file>');
|
|
47326
47326
|
}
|
|
47327
47327
|
`.trim();
|
|
47328
47328
|
}
|
|
@@ -47622,7 +47622,7 @@ export async function ${workflowName}(
|
|
|
47622
47622
|
onFailure: boolean;
|
|
47623
47623
|
answer: string;
|
|
47624
47624
|
}> {
|
|
47625
|
-
throw new Error('Compile with:
|
|
47625
|
+
throw new Error('Compile with: fw compile <file>');
|
|
47626
47626
|
}
|
|
47627
47627
|
`.trim();
|
|
47628
47628
|
}
|
|
@@ -47810,7 +47810,7 @@ export async function ${workflowName}(
|
|
|
47810
47810
|
answer: string;
|
|
47811
47811
|
sourcesUsed: number;
|
|
47812
47812
|
}> {
|
|
47813
|
-
throw new Error('Compile with:
|
|
47813
|
+
throw new Error('Compile with: fw compile <file>');
|
|
47814
47814
|
}
|
|
47815
47815
|
`.trim();
|
|
47816
47816
|
}
|
|
@@ -47981,7 +47981,7 @@ export async function ${workflowName}(
|
|
|
47981
47981
|
onFailure: boolean;
|
|
47982
47982
|
response: string;
|
|
47983
47983
|
}> {
|
|
47984
|
-
throw new Error('Compile with:
|
|
47984
|
+
throw new Error('Compile with: fw compile <file>');
|
|
47985
47985
|
}
|
|
47986
47986
|
`.trim();
|
|
47987
47987
|
}
|
|
@@ -48083,7 +48083,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
48083
48083
|
execute: boolean,
|
|
48084
48084
|
params: { query: any }
|
|
48085
48085
|
): ${returnType} {
|
|
48086
|
-
throw new Error("Compile with:
|
|
48086
|
+
throw new Error("Compile with: fw compile <file>");
|
|
48087
48087
|
}
|
|
48088
48088
|
`.trim();
|
|
48089
48089
|
}
|
|
@@ -48242,7 +48242,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
48242
48242
|
execute: boolean,
|
|
48243
48243
|
params: { headers: Record<string, string>; body: any }
|
|
48244
48244
|
): ${returnType} {
|
|
48245
|
-
throw new Error("Compile with:
|
|
48245
|
+
throw new Error("Compile with: fw compile <file>");
|
|
48246
48246
|
}
|
|
48247
48247
|
`.trim();
|
|
48248
48248
|
}
|
|
@@ -48388,7 +48388,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
48388
48388
|
execute: boolean,
|
|
48389
48389
|
params: { data: any; maxRetries?: number }
|
|
48390
48390
|
): ${returnType} {
|
|
48391
|
-
throw new Error("Compile with:
|
|
48391
|
+
throw new Error("Compile with: fw compile <file>");
|
|
48392
48392
|
}
|
|
48393
48393
|
`.trim();
|
|
48394
48394
|
}
|
|
@@ -60846,9 +60846,9 @@ function generateReadme(projectName, persona, _template) {
|
|
|
60846
60846
|
"Browse and add more workflows:",
|
|
60847
60847
|
"",
|
|
60848
60848
|
"```sh",
|
|
60849
|
-
"
|
|
60850
|
-
"
|
|
60851
|
-
"
|
|
60849
|
+
"fw templates # List all templates",
|
|
60850
|
+
"fw create workflow <template> <file> # Add a workflow",
|
|
60851
|
+
"fw describe src/*.ts --format ascii # See workflow structure",
|
|
60852
60852
|
"```",
|
|
60853
60853
|
""
|
|
60854
60854
|
);
|
|
@@ -60869,8 +60869,8 @@ function generateReadme(projectName, persona, _template) {
|
|
|
60869
60869
|
lines.push(
|
|
60870
60870
|
"## Learn more",
|
|
60871
60871
|
"",
|
|
60872
|
-
"- `
|
|
60873
|
-
"- `
|
|
60872
|
+
"- `fw docs` to browse reference documentation",
|
|
60873
|
+
"- `fw mcp-setup` to connect AI editors",
|
|
60874
60874
|
""
|
|
60875
60875
|
);
|
|
60876
60876
|
return lines.join("\n");
|
|
@@ -60923,7 +60923,7 @@ export function ${fnName}(
|
|
|
60923
60923
|
execute: boolean,
|
|
60924
60924
|
params: { name: string }
|
|
60925
60925
|
): { onSuccess: boolean; onFailure: boolean; result: string } {
|
|
60926
|
-
throw new Error("Compile with:
|
|
60926
|
+
throw new Error("Compile with: fw compile <file>");
|
|
60927
60927
|
}
|
|
60928
60928
|
`;
|
|
60929
60929
|
}
|
|
@@ -60987,9 +60987,9 @@ function printNocodeGuidance(_projectName) {
|
|
|
60987
60987
|
logger.newline();
|
|
60988
60988
|
logger.log(` ${logger.bold("Useful commands")}`);
|
|
60989
60989
|
logger.newline();
|
|
60990
|
-
logger.log(`
|
|
60991
|
-
logger.log(`
|
|
60992
|
-
logger.log(`
|
|
60990
|
+
logger.log(` fw run src/*.ts ${logger.dim("Run your workflow")}`);
|
|
60991
|
+
logger.log(` fw diagram src/*.ts ${logger.dim("See a visual diagram")}`);
|
|
60992
|
+
logger.log(` fw mcp-setup ${logger.dim("Connect more AI editors")}`);
|
|
60993
60993
|
}
|
|
60994
60994
|
function printVibecoderGuidance() {
|
|
60995
60995
|
logger.newline();
|
|
@@ -61007,17 +61007,17 @@ function printLowcodeGuidance() {
|
|
|
61007
61007
|
logger.newline();
|
|
61008
61008
|
logger.log(` ${logger.bold("Explore and customize")}`);
|
|
61009
61009
|
logger.newline();
|
|
61010
|
-
logger.log(`
|
|
61011
|
-
logger.log(`
|
|
61012
|
-
logger.log(`
|
|
61010
|
+
logger.log(` fw templates ${logger.dim("List all 16 workflow templates")}`);
|
|
61011
|
+
logger.log(` fw describe src/*.ts ${logger.dim("See the workflow structure")}`);
|
|
61012
|
+
logger.log(` fw docs annotations ${logger.dim("Annotation reference")}`);
|
|
61013
61013
|
logger.newline();
|
|
61014
61014
|
logger.log(` Your project includes an example in ${logger.highlight("examples/")} to study.`);
|
|
61015
61015
|
logger.log(` With MCP connected, AI can help modify nodes and connections.`);
|
|
61016
61016
|
}
|
|
61017
61017
|
function printExpertGuidance() {
|
|
61018
61018
|
logger.newline();
|
|
61019
|
-
logger.log(`
|
|
61020
|
-
logger.log(`
|
|
61019
|
+
logger.log(` fw mcp-setup ${logger.dim("Connect AI editors (Claude, Cursor, VS Code)")}`);
|
|
61020
|
+
logger.log(` fw docs ${logger.dim("Browse reference docs")}`);
|
|
61021
61021
|
}
|
|
61022
61022
|
function pad(displayName, width) {
|
|
61023
61023
|
const padding = Math.max(1, width - displayName.length);
|
|
@@ -72100,7 +72100,7 @@ async function createWorkflowCommand(template, file, options = {}) {
|
|
|
72100
72100
|
const templateDef = getWorkflowTemplate(template);
|
|
72101
72101
|
if (!templateDef) {
|
|
72102
72102
|
logger.error(`Unknown workflow template: ${template}`);
|
|
72103
|
-
logger.info("Run '
|
|
72103
|
+
logger.info("Run 'fw templates' to see available templates");
|
|
72104
72104
|
process.exit(1);
|
|
72105
72105
|
}
|
|
72106
72106
|
const filePath = path11.resolve(file);
|
|
@@ -72146,7 +72146,7 @@ async function createNodeCommand(name, file, options = {}) {
|
|
|
72146
72146
|
const templateDef = getNodeTemplate(template);
|
|
72147
72147
|
if (!templateDef) {
|
|
72148
72148
|
logger.error(`Unknown node template: ${template}`);
|
|
72149
|
-
logger.info("Run '
|
|
72149
|
+
logger.info("Run 'fw templates' to see available templates");
|
|
72150
72150
|
process.exit(1);
|
|
72151
72151
|
}
|
|
72152
72152
|
const filePath = path11.resolve(file);
|
|
@@ -72487,8 +72487,8 @@ async function templatesCommand(options = {}) {
|
|
|
72487
72487
|
}
|
|
72488
72488
|
logger.newline();
|
|
72489
72489
|
logger.section("Usage");
|
|
72490
|
-
logger.log(" $
|
|
72491
|
-
logger.log(" $
|
|
72490
|
+
logger.log(" $ fw create workflow <template> <file> [--async] [--line N]");
|
|
72491
|
+
logger.log(" $ fw create node <name> <file> [-t <template>] [--line N]");
|
|
72492
72492
|
logger.newline();
|
|
72493
72493
|
}
|
|
72494
72494
|
|
|
@@ -76365,14 +76365,14 @@ function generateProjectFiles(projectName, template, format = "esm", persona = "
|
|
|
76365
76365
|
}
|
|
76366
76366
|
const workflowCode = tmpl.generate({ workflowName });
|
|
76367
76367
|
const scripts = {
|
|
76368
|
-
dev: `npx
|
|
76368
|
+
dev: `npx fw compile src/${workflowFile} -o src && npx tsx src/main.ts`,
|
|
76369
76369
|
start: "npx tsx src/main.ts",
|
|
76370
|
-
compile: `npx
|
|
76371
|
-
validate: `npx
|
|
76372
|
-
doctor: "npx
|
|
76370
|
+
compile: `npx fw compile src/${workflowFile} -o src`,
|
|
76371
|
+
validate: `npx fw validate src/${workflowFile}`,
|
|
76372
|
+
doctor: "npx fw doctor"
|
|
76373
76373
|
};
|
|
76374
76374
|
if (persona !== "expert") {
|
|
76375
|
-
scripts.diagram = `npx
|
|
76375
|
+
scripts.diagram = `npx fw diagram src/${workflowFile} --format ascii-compact`;
|
|
76376
76376
|
}
|
|
76377
76377
|
const packageJsonContent = {
|
|
76378
76378
|
name: projectName,
|
|
@@ -90415,7 +90415,7 @@ async function startMcpServer(options) {
|
|
|
90415
90415
|
async function mcpServerCommand(options) {
|
|
90416
90416
|
const log = options.stdio ? (msg) => process.stderr.write(msg + "\n") : (msg) => process.stdout.write(msg + "\n");
|
|
90417
90417
|
if (!options.stdio) {
|
|
90418
|
-
log('Tip: run "
|
|
90418
|
+
log('Tip: run "fw mcp-setup" to register with your AI tools.');
|
|
90419
90419
|
log("Starting MCP server...");
|
|
90420
90420
|
}
|
|
90421
90421
|
await startMcpServer(options);
|
|
@@ -92357,15 +92357,15 @@ async function docsListCommand(options) {
|
|
|
92357
92357
|
logger.log(` ${topic.slug.padEnd(maxSlug + 2)} ${topic.description}`);
|
|
92358
92358
|
}
|
|
92359
92359
|
logger.newline();
|
|
92360
|
-
logger.log(" Usage:
|
|
92361
|
-
logger.log(" Search:
|
|
92360
|
+
logger.log(" Usage: fw docs <topic>");
|
|
92361
|
+
logger.log(" Search: fw docs search <query>");
|
|
92362
92362
|
logger.newline();
|
|
92363
92363
|
}
|
|
92364
92364
|
async function docsReadCommand(topic, options) {
|
|
92365
92365
|
if (options.json) {
|
|
92366
92366
|
const structured = readTopicStructured(topic);
|
|
92367
92367
|
if (!structured) {
|
|
92368
|
-
logger.error(`Unknown topic: "${topic}". Run "
|
|
92368
|
+
logger.error(`Unknown topic: "${topic}". Run "fw docs" to see available topics.`);
|
|
92369
92369
|
process.exit(1);
|
|
92370
92370
|
}
|
|
92371
92371
|
process.stdout.write(JSON.stringify(structured, null, 2) + "\n");
|
|
@@ -92373,7 +92373,7 @@ async function docsReadCommand(topic, options) {
|
|
|
92373
92373
|
}
|
|
92374
92374
|
const doc = readTopic(topic, options.compact);
|
|
92375
92375
|
if (!doc) {
|
|
92376
|
-
logger.error(`Unknown topic: "${topic}". Run "
|
|
92376
|
+
logger.error(`Unknown topic: "${topic}". Run "fw docs" to see available topics.`);
|
|
92377
92377
|
process.exit(1);
|
|
92378
92378
|
}
|
|
92379
92379
|
process.stdout.write(doc.content + "\n");
|
|
@@ -92408,7 +92408,7 @@ async function docsSearchCommand(query, options) {
|
|
|
92408
92408
|
if (shown >= 15) break;
|
|
92409
92409
|
}
|
|
92410
92410
|
logger.log(` ${results.length} matching section(s) across ${new Set(results.map((r) => r.slug)).size} topic(s).`);
|
|
92411
|
-
logger.log(" Read a topic:
|
|
92411
|
+
logger.log(" Read a topic: fw docs <topic>");
|
|
92412
92412
|
logger.newline();
|
|
92413
92413
|
}
|
|
92414
92414
|
|
|
@@ -92426,7 +92426,7 @@ async function contextCommand(preset, options) {
|
|
|
92426
92426
|
logger.log(` ${name.padEnd(maxName + 2)} ${topics.join(", ")}`);
|
|
92427
92427
|
}
|
|
92428
92428
|
logger.newline();
|
|
92429
|
-
logger.log(" Usage:
|
|
92429
|
+
logger.log(" Usage: fw context [preset] [options]");
|
|
92430
92430
|
logger.newline();
|
|
92431
92431
|
return;
|
|
92432
92432
|
}
|
|
@@ -92456,7 +92456,7 @@ async function contextCommand(preset, options) {
|
|
|
92456
92456
|
process.stdout.write(result.content);
|
|
92457
92457
|
}
|
|
92458
92458
|
const stats = `${result.topicCount} topics, ${result.lineCount} lines (${result.profile} profile)`;
|
|
92459
|
-
process.stderr.write(`
|
|
92459
|
+
process.stderr.write(`fw context: ${stats}
|
|
92460
92460
|
`);
|
|
92461
92461
|
}
|
|
92462
92462
|
|
|
@@ -92761,7 +92761,7 @@ async function marketInitCommand(name, options = {}) {
|
|
|
92761
92761
|
},
|
|
92762
92762
|
scripts: {
|
|
92763
92763
|
build: "tsc",
|
|
92764
|
-
pack: "
|
|
92764
|
+
pack: "fw market pack",
|
|
92765
92765
|
prepublishOnly: "npm run build && npm run pack"
|
|
92766
92766
|
},
|
|
92767
92767
|
...options.author && { author: options.author },
|
|
@@ -92842,7 +92842,7 @@ A [Flow Weaver](https://github.com/synergenius-fw/flow-weaver) marketplace pack.
|
|
|
92842
92842
|
## Installation
|
|
92843
92843
|
|
|
92844
92844
|
\`\`\`bash
|
|
92845
|
-
|
|
92845
|
+
fw market install ${name}
|
|
92846
92846
|
\`\`\`
|
|
92847
92847
|
|
|
92848
92848
|
## Contents
|
|
@@ -92877,7 +92877,7 @@ npm publish # Publish to npm
|
|
|
92877
92877
|
logger.log(" npm install");
|
|
92878
92878
|
logger.log(" # Add your node types, workflows, and patterns to src/");
|
|
92879
92879
|
logger.log(" npm run build");
|
|
92880
|
-
logger.log("
|
|
92880
|
+
logger.log(" fw market pack");
|
|
92881
92881
|
logger.log(" npm publish");
|
|
92882
92882
|
logger.newline();
|
|
92883
92883
|
}
|
|
@@ -92989,7 +92989,7 @@ async function marketInstallCommand(packageSpec, options = {}) {
|
|
|
92989
92989
|
displayManifestSummary(manifest);
|
|
92990
92990
|
} else {
|
|
92991
92991
|
logger.warn("No flowweaver.manifest.json found in package");
|
|
92992
|
-
logger.info('The package may need to run "
|
|
92992
|
+
logger.info('The package may need to run "fw market pack" before publishing');
|
|
92993
92993
|
}
|
|
92994
92994
|
}
|
|
92995
92995
|
async function marketSearchCommand(query, options = {}) {
|
|
@@ -93054,7 +93054,7 @@ async function marketListCommand(options = {}) {
|
|
|
93054
93054
|
}
|
|
93055
93055
|
if (packages.length === 0) {
|
|
93056
93056
|
logger.info("No marketplace packages installed");
|
|
93057
|
-
logger.info('Use "
|
|
93057
|
+
logger.info('Use "fw market search" to find packages');
|
|
93058
93058
|
return;
|
|
93059
93059
|
}
|
|
93060
93060
|
for (const pkg of packages) {
|
|
@@ -93115,9 +93115,9 @@ function displayInstalledPackage(pkg) {
|
|
|
93115
93115
|
// src/cli/index.ts
|
|
93116
93116
|
init_logger();
|
|
93117
93117
|
init_error_utils();
|
|
93118
|
-
var version2 = true ? "0.21.
|
|
93118
|
+
var version2 = true ? "0.21.11" : "0.0.0-dev";
|
|
93119
93119
|
var program2 = new Command();
|
|
93120
|
-
program2.name("
|
|
93120
|
+
program2.name("fw").description("Flow Weaver Annotations - Compile and validate workflow files").option("-v, --version", "Output the current version").option("--no-color", "Disable colors").option("--color", "Force colors").on("option:version", () => {
|
|
93121
93121
|
logger.banner(version2);
|
|
93122
93122
|
process.exit(0);
|
|
93123
93123
|
}).configureHelp({
|
|
@@ -93286,7 +93286,7 @@ program2.command("docs [args...]").description("Browse reference documentation")
|
|
|
93286
93286
|
} else if (args[0] === "search") {
|
|
93287
93287
|
const query = args.slice(1).join(" ");
|
|
93288
93288
|
if (!query) {
|
|
93289
|
-
logger.error("Usage:
|
|
93289
|
+
logger.error("Usage: fw docs search <query>");
|
|
93290
93290
|
process.exit(1);
|
|
93291
93291
|
}
|
|
93292
93292
|
await docsSearchCommand(query, options);
|
|
@@ -93319,13 +93319,13 @@ marketCmd.command("list").description("List installed marketplace packages").opt
|
|
|
93319
93319
|
program2.addHelpText("after", `
|
|
93320
93320
|
Examples:
|
|
93321
93321
|
|
|
93322
|
-
$
|
|
93323
|
-
$
|
|
93324
|
-
$
|
|
93325
|
-
$
|
|
93326
|
-
$
|
|
93322
|
+
$ fw compile my-workflow.ts
|
|
93323
|
+
$ fw validate 'src/**/*.ts'
|
|
93324
|
+
$ fw run workflow.ts --params '{"a": 5}'
|
|
93325
|
+
$ fw describe workflow.ts --format ascii-compact
|
|
93326
|
+
$ fw init my-project
|
|
93327
93327
|
|
|
93328
|
-
Run
|
|
93328
|
+
Run fw <command> --help for detailed usage.
|
|
93329
93329
|
`);
|
|
93330
93330
|
if (!process.argv.slice(2).length) {
|
|
93331
93331
|
logger.banner(version2);
|
|
@@ -93339,7 +93339,7 @@ if (!process.argv.slice(2).length) {
|
|
|
93339
93339
|
console.log(" run <input> Execute a workflow");
|
|
93340
93340
|
console.log(" doctor Check project environment");
|
|
93341
93341
|
console.log();
|
|
93342
|
-
console.log(" Run " + logger.highlight("
|
|
93342
|
+
console.log(" Run " + logger.highlight("fw --help") + " for all commands.");
|
|
93343
93343
|
console.log();
|
|
93344
93344
|
process.exit(0);
|
|
93345
93345
|
}
|
package/dist/cli/index.js
CHANGED
|
@@ -44,7 +44,7 @@ import { getErrorMessage } from '../utils/error-utils.js';
|
|
|
44
44
|
const version = typeof __CLI_VERSION__ !== 'undefined' ? __CLI_VERSION__ : '0.0.0-dev';
|
|
45
45
|
const program = new Command();
|
|
46
46
|
program
|
|
47
|
-
.name('
|
|
47
|
+
.name('fw')
|
|
48
48
|
.description('Flow Weaver Annotations - Compile and validate workflow files')
|
|
49
49
|
.option('-v, --version', 'Output the current version')
|
|
50
50
|
.option('--no-color', 'Disable colors')
|
|
@@ -533,7 +533,7 @@ program
|
|
|
533
533
|
.action(wrapAction(async (options) => {
|
|
534
534
|
await changelogCommand(options);
|
|
535
535
|
}));
|
|
536
|
-
// Docs command:
|
|
536
|
+
// Docs command: fw docs [topic] | fw docs search <query>
|
|
537
537
|
program
|
|
538
538
|
.command('docs [args...]')
|
|
539
539
|
.description('Browse reference documentation')
|
|
@@ -546,7 +546,7 @@ program
|
|
|
546
546
|
else if (args[0] === 'search') {
|
|
547
547
|
const query = args.slice(1).join(' ');
|
|
548
548
|
if (!query) {
|
|
549
|
-
logger.error('Usage:
|
|
549
|
+
logger.error('Usage: fw docs search <query>');
|
|
550
550
|
process.exit(1);
|
|
551
551
|
}
|
|
552
552
|
await docsSearchCommand(query, options);
|
|
@@ -622,13 +622,13 @@ marketCmd
|
|
|
622
622
|
program.addHelpText('after', `
|
|
623
623
|
Examples:
|
|
624
624
|
|
|
625
|
-
$
|
|
626
|
-
$
|
|
627
|
-
$
|
|
628
|
-
$
|
|
629
|
-
$
|
|
625
|
+
$ fw compile my-workflow.ts
|
|
626
|
+
$ fw validate 'src/**/*.ts'
|
|
627
|
+
$ fw run workflow.ts --params '{"a": 5}'
|
|
628
|
+
$ fw describe workflow.ts --format ascii-compact
|
|
629
|
+
$ fw init my-project
|
|
630
630
|
|
|
631
|
-
Run
|
|
631
|
+
Run fw <command> --help for detailed usage.
|
|
632
632
|
`);
|
|
633
633
|
// Show concise welcome when no command specified (before parse to avoid Commander error handling)
|
|
634
634
|
if (!process.argv.slice(2).length) {
|
|
@@ -643,7 +643,7 @@ if (!process.argv.slice(2).length) {
|
|
|
643
643
|
console.log(' run <input> Execute a workflow');
|
|
644
644
|
console.log(' doctor Check project environment');
|
|
645
645
|
console.log();
|
|
646
|
-
console.log(' Run ' + logger.highlight('
|
|
646
|
+
console.log(' Run ' + logger.highlight('fw --help') + ' for all commands.');
|
|
647
647
|
console.log();
|
|
648
648
|
process.exit(0);
|
|
649
649
|
}
|
|
@@ -131,7 +131,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
131
131
|
execute: boolean,
|
|
132
132
|
params: { data: any }
|
|
133
133
|
): ${returnType} {
|
|
134
|
-
throw new Error("Compile with:
|
|
134
|
+
throw new Error("Compile with: fw compile <file>");
|
|
135
135
|
}
|
|
136
136
|
`.trim();
|
|
137
137
|
},
|
|
@@ -137,7 +137,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
137
137
|
execute: boolean,
|
|
138
138
|
params: { data: any; maxRetries?: number }
|
|
139
139
|
): ${returnType} {
|
|
140
|
-
throw new Error("Compile with:
|
|
140
|
+
throw new Error("Compile with: fw compile <file>");
|
|
141
141
|
}
|
|
142
142
|
`.trim();
|
|
143
143
|
},
|
|
@@ -132,7 +132,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
132
132
|
execute: boolean,
|
|
133
133
|
params: { items: any[] }
|
|
134
134
|
): ${returnType} {
|
|
135
|
-
throw new Error("Compile with:
|
|
135
|
+
throw new Error("Compile with: fw compile <file>");
|
|
136
136
|
}
|
|
137
137
|
`.trim();
|
|
138
138
|
},
|
|
@@ -107,7 +107,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
107
107
|
execute: boolean,
|
|
108
108
|
params: { data: any }
|
|
109
109
|
): ${returnType} {
|
|
110
|
-
throw new Error("Compile with:
|
|
110
|
+
throw new Error("Compile with: fw compile <file>");
|
|
111
111
|
}
|
|
112
112
|
`.trim();
|
|
113
113
|
}
|
|
@@ -168,7 +168,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
168
168
|
execute: boolean,
|
|
169
169
|
params: { ${inputPort}: any }
|
|
170
170
|
): ${returnType} {
|
|
171
|
-
throw new Error("Compile with:
|
|
171
|
+
throw new Error("Compile with: fw compile <file>");
|
|
172
172
|
}`.trim();
|
|
173
173
|
}
|
|
174
174
|
export const sequentialTemplate = {
|
|
@@ -150,7 +150,7 @@ export ${asyncKeyword}function ${workflowName}(
|
|
|
150
150
|
execute: boolean,
|
|
151
151
|
params: { headers: Record<string, string>; body: any }
|
|
152
152
|
): ${returnType} {
|
|
153
|
-
throw new Error("Compile with:
|
|
153
|
+
throw new Error("Compile with: fw compile <file>");
|
|
154
154
|
}
|
|
155
155
|
`.trim();
|
|
156
156
|
},
|