@synergenius/flow-weaver 0.15.0 → 0.15.2
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 +14 -4
- package/dist/cli/flow-weaver.mjs +3 -2
- package/dist/generated-version.d.ts +1 -1
- package/dist/generated-version.js +1 -1
- package/dist/parser.js +1 -0
- package/docs/reference/cli-reference.md +2 -2
- package/docs/reference/deployment.md +42 -2
- package/docs/reference/marketplace.md +22 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -141,7 +141,7 @@ npx flow-weaver mcp-server # auto-registers with Claude Code
|
|
|
141
141
|
| **Understand** | `fw_describe` (json/text/mermaid), `fw_query` (10 query types), `fw_diff` |
|
|
142
142
|
| **Test** | `fw_execute_workflow` (with trace), `fw_compile` |
|
|
143
143
|
| **Visualize** | `fw_diagram` (SVG/HTML), `fw_get_state`, `fw_focus_node` |
|
|
144
|
-
| **Deploy** | `fw_export` (Lambda, Vercel, Cloudflare, Inngest), `fw_compile --target inngest` |
|
|
144
|
+
| **Deploy** | `fw_export` (Lambda, Vercel, Cloudflare, Inngest, GitHub Actions, GitLab CI — via packs), `fw_compile --target inngest` |
|
|
145
145
|
| **Reuse** | `fw_list_patterns`, `fw_apply_pattern`, `fw_extract_pattern` |
|
|
146
146
|
| **Extend** | `fw_market_search`, `fw_market_install` |
|
|
147
147
|
|
|
@@ -247,7 +247,13 @@ The scope's output ports become callback parameters, and input ports become retu
|
|
|
247
247
|
|
|
248
248
|
## Deploy Anywhere
|
|
249
249
|
|
|
250
|
-
Same workflow source, multiple deployment targets:
|
|
250
|
+
Same workflow source, multiple deployment targets. Export targets are provided by marketplace packs — install the ones you need:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
npm install @synergenius/flowweaver-pack-lambda @synergenius/flowweaver-pack-vercel \
|
|
254
|
+
@synergenius/flowweaver-pack-cloudflare @synergenius/flowweaver-pack-inngest \
|
|
255
|
+
@synergenius/flowweaver-pack-github-actions @synergenius/flowweaver-pack-gitlab-ci
|
|
256
|
+
```
|
|
251
257
|
|
|
252
258
|
```bash
|
|
253
259
|
# Plain TypeScript (default)
|
|
@@ -261,6 +267,10 @@ flow-weaver export workflow.ts --target lambda --output deploy/
|
|
|
261
267
|
flow-weaver export workflow.ts --target vercel --output deploy/
|
|
262
268
|
flow-weaver export workflow.ts --target cloudflare --output deploy/
|
|
263
269
|
|
|
270
|
+
# CI/CD pipelines
|
|
271
|
+
flow-weaver export workflow.ts --target github-actions --output .github/workflows/
|
|
272
|
+
flow-weaver export workflow.ts --target gitlab-ci --output .
|
|
273
|
+
|
|
264
274
|
# HTTP server with OpenAPI docs
|
|
265
275
|
flow-weaver serve ./workflows --port 3000 --swagger
|
|
266
276
|
```
|
|
@@ -320,7 +330,7 @@ const code = generateCode(ast);
|
|
|
320
330
|
| `@synergenius/flow-weaver/ast` | AST types and utilities |
|
|
321
331
|
| `@synergenius/flow-weaver/api` | Programmatic workflow manipulation API |
|
|
322
332
|
| `@synergenius/flow-weaver/diff` | Semantic workflow diffing |
|
|
323
|
-
| `@synergenius/flow-weaver/deployment` |
|
|
333
|
+
| `@synergenius/flow-weaver/deployment` | Deployment base classes, registry, and CI/CD utilities |
|
|
324
334
|
| `@synergenius/flow-weaver/marketplace` | Marketplace package utilities |
|
|
325
335
|
| `@synergenius/flow-weaver/editor` | Editor completions and suggestions |
|
|
326
336
|
| `@synergenius/flow-weaver/browser` | JSDoc port sync for browser environments |
|
|
@@ -354,7 +364,7 @@ flow-weaver grammar # Output annotation grammar (EBNF/railroad)
|
|
|
354
364
|
|
|
355
365
|
# Deploy
|
|
356
366
|
flow-weaver serve [directory] # HTTP server with Swagger UI
|
|
357
|
-
flow-weaver export <file> # Export to Lambda/Vercel/Cloudflare/Inngest
|
|
367
|
+
flow-weaver export <file> # Export to Lambda/Vercel/Cloudflare/Inngest/GitHub Actions/GitLab CI (via packs)
|
|
358
368
|
flow-weaver openapi <directory> # Generate OpenAPI spec
|
|
359
369
|
|
|
360
370
|
# Patterns
|
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.15.
|
|
9674
|
+
VERSION = "0.15.2";
|
|
9675
9675
|
}
|
|
9676
9676
|
});
|
|
9677
9677
|
|
|
@@ -37256,6 +37256,7 @@ ${fn.getText()}` : fn.getText();
|
|
|
37256
37256
|
dataType: "STEP",
|
|
37257
37257
|
label: returnPortConfig?.label || (propName === "onSuccess" ? "On Success" : "On Failure"),
|
|
37258
37258
|
isControlFlow: true,
|
|
37259
|
+
...propName === "onFailure" && { failure: true },
|
|
37259
37260
|
...returnPortConfig?.metadata && { metadata: returnPortConfig.metadata }
|
|
37260
37261
|
};
|
|
37261
37262
|
} else {
|
|
@@ -107728,7 +107729,7 @@ async function mcpSetupCommand(options, deps) {
|
|
|
107728
107729
|
|
|
107729
107730
|
// src/cli/index.ts
|
|
107730
107731
|
init_error_utils();
|
|
107731
|
-
var version2 = true ? "0.15.
|
|
107732
|
+
var version2 = true ? "0.15.2" : "0.0.0-dev";
|
|
107732
107733
|
var program2 = new Command();
|
|
107733
107734
|
program2.name("flow-weaver").description("Flow Weaver Annotations - Compile and validate workflow files").version(version2, "-v, --version", "Output the current version");
|
|
107734
107735
|
program2.configureOutput({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.15.
|
|
1
|
+
export declare const VERSION = "0.15.2";
|
|
2
2
|
//# sourceMappingURL=generated-version.d.ts.map
|
package/dist/parser.js
CHANGED
|
@@ -1914,6 +1914,7 @@ export class AnnotationParser {
|
|
|
1914
1914
|
dataType: 'STEP',
|
|
1915
1915
|
label: returnPortConfig?.label || (propName === 'onSuccess' ? 'On Success' : 'On Failure'),
|
|
1916
1916
|
isControlFlow: true,
|
|
1917
|
+
...(propName === 'onFailure' && { failure: true }),
|
|
1917
1918
|
...(returnPortConfig?.metadata && { metadata: returnPortConfig.metadata }),
|
|
1918
1919
|
};
|
|
1919
1920
|
}
|
|
@@ -560,7 +560,7 @@ flow-weaver export <input> [options]
|
|
|
560
560
|
|
|
561
561
|
| Flag | Description | Default |
|
|
562
562
|
|------|-------------|---------|
|
|
563
|
-
| `-t, --target <target>` | `lambda`, `vercel`, `cloudflare`, `inngest` **(required)** | — |
|
|
563
|
+
| `-t, --target <target>` | Target from installed packs (e.g. `lambda`, `vercel`, `cloudflare`, `inngest`, `github-actions`, `gitlab-ci`) **(required)** | — |
|
|
564
564
|
| `-o, --output <path>` | Output directory **(required)** | — |
|
|
565
565
|
| `-w, --workflow <name>` | Specific workflow | — |
|
|
566
566
|
| `-p, --production` | Production mode | `true` |
|
|
@@ -578,7 +578,7 @@ flow-weaver export workflow.ts --target inngest --output dist/ --durable-steps
|
|
|
578
578
|
flow-weaver export workflow.ts --target cloudflare --output worker/
|
|
579
579
|
```
|
|
580
580
|
|
|
581
|
-
> See
|
|
581
|
+
> Available targets depend on installed `flowweaver-pack-*` packages. See [Deployment](deployment) for installation instructions and target-specific details.
|
|
582
582
|
|
|
583
583
|
---
|
|
584
584
|
|
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Deployment
|
|
3
3
|
description: Export workflows to serverless platforms, HTTP serve mode, OpenAPI generation, and multi-workflow services
|
|
4
|
-
keywords: [deploy, export, lambda, vercel, cloudflare, inngest, serve, openapi, swagger, serverless, multi-workflow, durable-steps, webhook, http, cors]
|
|
4
|
+
keywords: [deploy, export, lambda, vercel, cloudflare, inngest, github-actions, gitlab-ci, serve, openapi, swagger, serverless, multi-workflow, durable-steps, webhook, http, cors, packs, marketplace]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Deployment
|
|
8
8
|
|
|
9
|
-
Flow Weaver workflows can be deployed as serverless functions, HTTP endpoints,
|
|
9
|
+
Flow Weaver workflows can be deployed as serverless functions, HTTP endpoints, durable event-driven functions, or CI/CD pipelines. This guide covers all deployment options.
|
|
10
|
+
|
|
11
|
+
## Installing Export Target Packs
|
|
12
|
+
|
|
13
|
+
Export targets are provided by marketplace packs. Install the ones you need:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Serverless targets
|
|
17
|
+
npm install @synergenius/flowweaver-pack-lambda
|
|
18
|
+
npm install @synergenius/flowweaver-pack-vercel
|
|
19
|
+
npm install @synergenius/flowweaver-pack-cloudflare
|
|
20
|
+
npm install @synergenius/flowweaver-pack-inngest
|
|
21
|
+
|
|
22
|
+
# CI/CD targets
|
|
23
|
+
npm install @synergenius/flowweaver-pack-github-actions
|
|
24
|
+
npm install @synergenius/flowweaver-pack-gitlab-ci
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The `export` command automatically discovers installed packs — no configuration needed.
|
|
28
|
+
|
|
29
|
+
---
|
|
10
30
|
|
|
11
31
|
## Export Targets
|
|
12
32
|
|
|
@@ -63,6 +83,26 @@ Add `--durable-steps` for per-node `step.run()` durability:
|
|
|
63
83
|
flow-weaver export workflow.ts --target inngest --output dist/ --durable-steps
|
|
64
84
|
```
|
|
65
85
|
|
|
86
|
+
### GitHub Actions
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
flow-weaver export workflow.ts --target github-actions --output .github/workflows/
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Generates:
|
|
93
|
+
- GitHub Actions workflow YAML with jobs mapped from workflow nodes
|
|
94
|
+
- Proper step ordering and dependency configuration
|
|
95
|
+
|
|
96
|
+
### GitLab CI
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
flow-weaver export workflow.ts --target gitlab-ci --output .
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Generates:
|
|
103
|
+
- `.gitlab-ci.yml` with stages and jobs mapped from workflow nodes
|
|
104
|
+
- Pipeline configuration with proper stage ordering
|
|
105
|
+
|
|
66
106
|
---
|
|
67
107
|
|
|
68
108
|
## Multi-Workflow Export
|
|
@@ -15,9 +15,31 @@ The Flow Weaver marketplace is an npm-based ecosystem for sharing reusable node
|
|
|
15
15
|
| **Node types** | Reusable `@flowWeaver nodeType` functions |
|
|
16
16
|
| **Workflows** | Complete `@flowWeaver workflow` exports |
|
|
17
17
|
| **Patterns** | Reusable `@flowWeaver pattern` fragments |
|
|
18
|
+
| **Export targets** | Deployment targets for `flow-weaver export` |
|
|
18
19
|
|
|
19
20
|
A single package can contain any combination of these.
|
|
20
21
|
|
|
22
|
+
## Official Export Target Packs
|
|
23
|
+
|
|
24
|
+
Flow Weaver provides 6 official export target packs:
|
|
25
|
+
|
|
26
|
+
| Package | Target name | Description |
|
|
27
|
+
|---------|-------------|-------------|
|
|
28
|
+
| `@synergenius/flowweaver-pack-lambda` | `lambda` | AWS Lambda + API Gateway |
|
|
29
|
+
| `@synergenius/flowweaver-pack-vercel` | `vercel` | Vercel serverless functions |
|
|
30
|
+
| `@synergenius/flowweaver-pack-cloudflare` | `cloudflare` | Cloudflare Workers |
|
|
31
|
+
| `@synergenius/flowweaver-pack-inngest` | `inngest` | Inngest durable functions |
|
|
32
|
+
| `@synergenius/flowweaver-pack-github-actions` | `github-actions` | GitHub Actions CI/CD pipelines |
|
|
33
|
+
| `@synergenius/flowweaver-pack-gitlab-ci` | `gitlab-ci` | GitLab CI/CD pipelines |
|
|
34
|
+
|
|
35
|
+
Install with:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm install @synergenius/flowweaver-pack-lambda
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
See [Deployment](deployment) for target-specific usage details.
|
|
42
|
+
|
|
21
43
|
---
|
|
22
44
|
|
|
23
45
|
## Using Packages
|
package/package.json
CHANGED