@synergenius/flow-weaver 0.33.2 → 0.44.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/LICENSE +201 -226
- package/NOTICE +13 -0
- package/README.md +152 -245
- package/dist/agent/agent-loop.d.ts +4 -2
- package/dist/agent/cli-session.d.ts +3 -3
- package/dist/agent/cli-session.js +511 -438
- package/dist/agent/cli-spawn-config.d.ts +4 -4
- package/dist/agent/gate.d.ts +164 -0
- package/dist/agent/index.d.ts +4 -4
- package/dist/agent/index.js +174 -28
- package/dist/agent/mcp-bridge.d.ts +1 -1
- package/dist/agent/mcp-bridge.js +114 -128
- package/dist/agent/mcp-tool-server.d.ts +2 -2
- package/dist/agent/mcp-tool-server.js +147 -189
- package/dist/agent/profiles.d.ts +69 -0
- package/dist/agent/providers/anthropic.d.ts +2 -4
- package/dist/agent/providers/claude-cli.d.ts +4 -5
- package/dist/agent/providers/openai-compat.d.ts +8 -1
- package/dist/agent/streaming.d.ts +2 -2
- package/dist/agent/types.d.ts +16 -10
- package/dist/api/builder.d.ts +3 -3
- package/dist/api/compile.d.ts +9 -4
- package/dist/api/durable-validation.d.ts +15 -0
- package/dist/api/generate-in-place.d.ts +21 -19
- package/dist/api/generate.d.ts +21 -16
- package/dist/api/generated-module/local-node-functions.d.ts +24 -0
- package/dist/api/generated-module/module-format.d.ts +23 -0
- package/dist/api/generated-module/module-writer.d.ts +34 -0
- package/dist/api/generated-module/node-type-imports.d.ts +39 -0
- package/dist/api/generated-module/preamble.d.ts +16 -0
- package/dist/api/generated-module/workflow-functions.d.ts +29 -0
- package/dist/api/graph-identity.d.ts +39 -0
- package/dist/api/helpers.d.ts +4 -60
- package/dist/api/in-place/built-in-nodes.d.ts +18 -0
- package/dist/api/in-place/function-body.d.ts +21 -0
- package/dist/api/in-place/fw-imports.d.ts +30 -0
- package/dist/api/in-place/macro-coverage.d.ts +14 -0
- package/dist/api/in-place/node-type-functions.d.ts +18 -0
- package/dist/api/in-place/node-type-jsdoc.d.ts +20 -0
- package/dist/api/in-place/orphaned-node-types.d.ts +16 -0
- package/dist/api/in-place/runtime-section.d.ts +16 -0
- package/dist/api/in-place/signature.d.ts +47 -0
- package/dist/api/in-place/source-file.d.ts +19 -0
- package/dist/api/in-place/workflow-jsdoc.d.ts +19 -0
- package/dist/api/index.d.ts +18 -21
- package/dist/api/index.js +259 -53
- package/dist/api/inline-engine.generated.d.ts +3 -0
- package/dist/api/inline-runtime.d.ts +10 -2
- package/dist/api/manipulation/connections.d.ts +1 -1
- package/dist/api/manipulation/index.d.ts +8 -8
- package/dist/api/manipulation/node-types.d.ts +1 -1
- package/dist/api/manipulation/nodes.d.ts +3 -13
- package/dist/api/manipulation/ports.d.ts +1 -1
- package/dist/api/manipulation/scopes.d.ts +1 -1
- package/dist/api/manipulation/workflow.d.ts +1 -1
- package/dist/api/modify-operation.d.ts +0 -2
- package/dist/api/parse.d.ts +22 -1
- package/dist/api/port-references.d.ts +66 -0
- package/dist/api/query.d.ts +18 -2
- package/dist/api/templates.d.ts +1 -1
- package/dist/api/transform.d.ts +1 -1
- package/dist/api/validate.d.ts +1 -1
- package/dist/api/validation-registry.d.ts +2 -2
- package/dist/artifacts/brief.d.ts +43 -0
- package/dist/artifacts/index.d.ts +31 -0
- package/dist/artifacts/pdf.d.ts +19 -0
- package/dist/ast/builder.d.ts +3 -3
- package/dist/ast/index.d.ts +4 -4
- package/dist/ast/index.js +60 -5
- package/dist/ast/serialization-node.d.ts +1 -1
- package/dist/ast/serialization.d.ts +1 -1
- package/dist/ast/types.d.ts +82 -291
- package/dist/ast/workflow-utils.d.ts +4 -4
- package/dist/built-in-nodes/coercion-types.d.ts +1 -1
- package/dist/built-in-nodes/delay.d.ts +3 -1
- package/dist/built-in-nodes/generated-registry.d.ts +1 -1
- package/dist/built-in-nodes/index.d.ts +6 -5
- package/dist/built-in-nodes/index.js +79 -5
- package/dist/built-in-nodes/invoke-workflow.d.ts +2 -1
- package/dist/built-in-nodes/mock-types.d.ts +45 -14
- package/dist/built-in-nodes/sleep.d.ts +12 -0
- package/dist/built-in-nodes/wait-for-agent.d.ts +2 -1
- package/dist/built-in-nodes/wait-for-event.d.ts +2 -1
- package/dist/chevrotain-parser/coerce-parser.d.ts +1 -1
- package/dist/chevrotain-parser/connect-parser.d.ts +1 -1
- package/dist/chevrotain-parser/grammar-diagrams.d.ts +1 -1
- package/dist/chevrotain-parser/index.d.ts +20 -23
- package/dist/chevrotain-parser/node-parser.d.ts +7 -8
- package/dist/chevrotain-parser/parse-line.d.ts +54 -0
- package/dist/chevrotain-parser/tokens.d.ts +0 -17
- package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +6 -1
- package/dist/chunks/chunk-4EUSHAY6.js +298 -0
- package/dist/chunks/chunk-4KDUEOFD.js +197 -0
- package/dist/chunks/chunk-5Y3AIUWY.js +911 -0
- package/dist/chunks/chunk-6KMVP6AU.js +20 -0
- package/dist/chunks/chunk-6PNJORFL.js +128 -0
- package/dist/chunks/chunk-7AAQNGRH.js +2001 -0
- package/dist/chunks/chunk-7YYKTPJ5.js +22705 -0
- package/dist/chunks/chunk-A5MBOFVY.js +33 -0
- package/dist/chunks/chunk-AXNQRVJB.js +18 -0
- package/dist/chunks/chunk-B6HQ6YS5.js +572 -0
- package/dist/chunks/chunk-CY3RNVML.js +296 -0
- package/dist/chunks/chunk-CYHYDLV4.js +653 -0
- package/dist/chunks/chunk-CZBCCK4Y.js +82 -0
- package/dist/chunks/chunk-DCMGQP5V.js +505 -0
- package/dist/chunks/chunk-DIAA66GL.js +72 -0
- package/dist/chunks/chunk-DUO6H5PR.js +20 -0
- package/dist/chunks/chunk-E5WN7IGO.js +125 -0
- package/dist/chunks/chunk-EFGFXXQF.js +184 -0
- package/dist/chunks/chunk-F3RTZV2A.js +2811 -0
- package/dist/chunks/chunk-FMTLP5ZX.js +1397 -0
- package/dist/chunks/chunk-HKZLQJDV.js +79 -0
- package/dist/chunks/chunk-INDEVYEC.js +146 -0
- package/dist/chunks/chunk-JQTF4R5L.js +390 -0
- package/dist/chunks/chunk-KMCAYNUM.js +331 -0
- package/dist/chunks/chunk-KMWCCOUJ.js +1444 -0
- package/dist/chunks/chunk-KU3CLJI2.js +338 -0
- package/dist/chunks/chunk-NDSTGMKR.js +3300 -0
- package/dist/chunks/chunk-NQNLUAPO.js +505 -0
- package/dist/chunks/chunk-O2U2LO57.js +466 -0
- package/dist/chunks/chunk-OOQG7UPP.js +457 -0
- package/dist/chunks/chunk-OZQAW5ZG.js +112 -0
- package/dist/chunks/chunk-P2CVDGHR.js +487 -0
- package/dist/chunks/chunk-P44RIZ7C.js +592 -0
- package/dist/chunks/chunk-PEZCT37T.js +1475 -0
- package/dist/chunks/chunk-PKWSAW6O.js +152 -0
- package/dist/chunks/chunk-Q6MDDZMT.js +4373 -0
- package/dist/chunks/chunk-QDE4Z7KW.js +6 -0
- package/dist/chunks/chunk-QJDAVSNY.js +8 -0
- package/dist/chunks/chunk-QYPORSLO.js +7552 -0
- package/dist/chunks/chunk-R4QGNK34.js +183 -0
- package/dist/chunks/chunk-REEYC73I.js +3002 -0
- package/dist/chunks/chunk-SEWDMQ6Q.js +46 -0
- package/dist/chunks/chunk-TAIUWKZB.js +3057 -0
- package/dist/chunks/chunk-TN4YZ3O7.js +196 -0
- package/dist/chunks/chunk-TRMFB43C.js +143 -0
- package/dist/chunks/chunk-VO4QXG2X.js +1016 -0
- package/dist/chunks/chunk-VP2P3BPA.js +1002 -0
- package/dist/chunks/chunk-VQ7H33J4.js +2176 -0
- package/dist/chunks/chunk-VWA7MCV2.js +105 -0
- package/dist/chunks/chunk-XAV22WD7.js +253 -0
- package/dist/chunks/chunk-YSPBPZDV.js +148 -0
- package/dist/chunks/chunk-ZKEGXO73.js +282 -0
- package/dist/chunks/chunk-ZMGN6F3S.js +4256 -0
- package/dist/chunks/grammar-diagrams-AI7VDXOM.js +14 -0
- package/dist/chunks/index.min-ECJD6GZC.js +37 -0
- package/dist/chunks/manifest-EPTR5MYH.js +21 -0
- package/dist/chunks/openapi-document-6TCGVDUW.js +69 -0
- package/dist/chunks/registry-K2U5KUTY.js +23 -0
- package/dist/chunks/serialization-node-UGY6CFH6.js +38 -0
- package/dist/chunks/validate-GEKSZPIN.js +24 -0
- package/dist/chunks/validation-registry-IQZX3UE3.js +7 -0
- package/dist/chunks/validator-VXFHLPDW.js +26 -0
- package/dist/chunks/workflow-executor-KBGFKHNR.js +36 -0
- package/dist/cli/commands/agents.d.ts +16 -0
- package/dist/cli/commands/artifact.d.ts +10 -0
- package/dist/cli/commands/compile.d.ts +0 -30
- package/dist/cli/commands/console.d.ts +32 -0
- package/dist/cli/commands/context.d.ts +0 -3
- package/dist/cli/commands/describe.js +386 -352
- package/dist/cli/commands/dev.d.ts +9 -4
- package/dist/cli/commands/diagram.d.ts +3 -5
- package/dist/cli/commands/doctor.d.ts +27 -4
- package/dist/cli/commands/doctor.js +3307 -633
- package/dist/cli/commands/export.d.ts +6 -4
- package/dist/cli/commands/grammar.d.ts +0 -3
- package/dist/cli/commands/implement.d.ts +1 -1
- package/dist/cli/commands/init/agent-handoff.d.ts +28 -0
- package/dist/cli/commands/init/config.d.ts +3 -0
- package/dist/cli/commands/init/files.d.ts +12 -0
- package/dist/cli/commands/init/naming.d.ts +13 -0
- package/dist/cli/commands/init/output.d.ts +12 -0
- package/dist/cli/commands/init/setup.d.ts +21 -0
- package/dist/cli/commands/init/types.d.ts +53 -0
- package/dist/cli/commands/init-personas.d.ts +9 -1
- package/dist/cli/commands/init.d.ts +24 -88
- package/dist/cli/commands/market.d.ts +1 -1
- package/dist/cli/commands/mcp-setup.d.ts +1 -4
- package/dist/cli/commands/modify.d.ts +0 -5
- package/dist/cli/commands/openapi.d.ts +9 -11
- package/dist/cli/commands/run.d.ts +0 -4
- package/dist/cli/commands/serve.d.ts +24 -26
- package/dist/cli/commands/status.d.ts +1 -1
- package/dist/cli/exports.d.ts +3 -4
- package/dist/cli/exports.js +124 -23
- package/dist/cli/flow-weaver-agents-H653446S.mjs +81 -0
- package/dist/cli/flow-weaver-artifact-WBFYTW76.mjs +58 -0
- package/dist/cli/flow-weaver-chunk-265CEK74.mjs +2 -0
- package/dist/cli/flow-weaver-chunk-2C7PZCV5.mjs +186 -0
- package/dist/cli/flow-weaver-chunk-3BSYCWPL.mjs +3109 -0
- package/dist/cli/flow-weaver-chunk-3MKUQP3D.mjs +547 -0
- package/dist/cli/flow-weaver-chunk-3ZLMPQTH.mjs +27 -0
- package/dist/cli/flow-weaver-chunk-4DVY73ML.mjs +280 -0
- package/dist/cli/flow-weaver-chunk-54M4KNEL.mjs +200 -0
- package/dist/cli/flow-weaver-chunk-55QMUZIA.mjs +256 -0
- package/dist/cli/flow-weaver-chunk-6ZUJ7LMX.mjs +2003 -0
- package/dist/cli/flow-weaver-chunk-7ET6N32V.mjs +419 -0
- package/dist/cli/flow-weaver-chunk-7G63RR4K.mjs +8880 -0
- package/dist/cli/flow-weaver-chunk-A6M5K3W7.mjs +4418 -0
- package/dist/cli/flow-weaver-chunk-AA3NATMX.mjs +154 -0
- package/dist/cli/flow-weaver-chunk-APX6MQ5A.mjs +5652 -0
- package/dist/cli/flow-weaver-chunk-BHCC5FE5.mjs +17 -0
- package/dist/cli/flow-weaver-chunk-DM4BBRRU.mjs +35 -0
- package/dist/cli/flow-weaver-chunk-DRN7KPWY.mjs +168 -0
- package/dist/cli/flow-weaver-chunk-EKWF27G6.mjs +23 -0
- package/dist/cli/flow-weaver-chunk-EM5HWQ4R.mjs +338 -0
- package/dist/cli/flow-weaver-chunk-FPPPU2DG.mjs +226 -0
- package/dist/cli/flow-weaver-chunk-GAQXZHNO.mjs +3005 -0
- package/dist/cli/flow-weaver-chunk-GBUNNP33.mjs +1329 -0
- package/dist/cli/flow-weaver-chunk-HMAKDE55.mjs +636 -0
- package/dist/cli/flow-weaver-chunk-HQ3ZAN44.mjs +367 -0
- package/dist/cli/flow-weaver-chunk-I4APCXYN.mjs +21442 -0
- package/dist/cli/flow-weaver-chunk-IJJ4JXTL.mjs +2297 -0
- package/dist/cli/flow-weaver-chunk-J7EPZW2I.mjs +33 -0
- package/dist/cli/flow-weaver-chunk-KOEMJHLG.mjs +83 -0
- package/dist/cli/flow-weaver-chunk-M6CBWQKJ.mjs +271 -0
- package/dist/cli/flow-weaver-chunk-MHJ4N652.mjs +1580 -0
- package/dist/cli/flow-weaver-chunk-MKAFQWLP.mjs +202 -0
- package/dist/cli/flow-weaver-chunk-MMV2XGD3.mjs +3291 -0
- package/dist/cli/flow-weaver-chunk-MSI2UJES.mjs +125 -0
- package/dist/cli/flow-weaver-chunk-N767YRAI.mjs +48 -0
- package/dist/cli/flow-weaver-chunk-NQKKWDGF.mjs +56 -0
- package/dist/cli/flow-weaver-chunk-NYZDQYFU.mjs +45 -0
- package/dist/cli/flow-weaver-chunk-OMVWSNHJ.mjs +14 -0
- package/dist/cli/flow-weaver-chunk-PUWZ47H5.mjs +2188 -0
- package/dist/cli/flow-weaver-chunk-QOPRVDES.mjs +46 -0
- package/dist/cli/flow-weaver-chunk-RIWE7YTR.mjs +216 -0
- package/dist/cli/flow-weaver-chunk-S63Q3JIU.mjs +789 -0
- package/dist/cli/flow-weaver-chunk-T7X5A23H.mjs +558 -0
- package/dist/cli/flow-weaver-chunk-TLV3VZUN.mjs +2 -0
- package/dist/cli/flow-weaver-chunk-TS5P3PIN.mjs +194 -0
- package/dist/cli/flow-weaver-chunk-U3EO3X4B.mjs +649 -0
- package/dist/cli/flow-weaver-chunk-UNFS3NQP.mjs +34 -0
- package/dist/cli/flow-weaver-chunk-V6DHWFQG.mjs +2811 -0
- package/dist/cli/flow-weaver-chunk-VXWNLYQU.mjs +9 -0
- package/dist/cli/flow-weaver-chunk-W3YNK26P.mjs +149 -0
- package/dist/cli/flow-weaver-chunk-XG2WKXYZ.mjs +324 -0
- package/dist/cli/flow-weaver-chunk-YLSRZWFK.mjs +2219 -0
- package/dist/cli/flow-weaver-chunk-YVPURWS6.mjs +40 -0
- package/dist/cli/flow-weaver-chunk-Z44JK332.mjs +582 -0
- package/dist/cli/flow-weaver-chunk-Z5ZJPNSY.mjs +517 -0
- package/dist/cli/flow-weaver-chunk-ZQALO25T.mjs +594 -0
- package/dist/cli/flow-weaver-compile-A2CABDSB.mjs +37 -0
- package/dist/cli/flow-weaver-console-6EBHDBTN.mjs +71 -0
- package/dist/cli/flow-weaver-context-ECLYANFF.mjs +17 -0
- package/dist/cli/flow-weaver-context-ZRUMW2KE.mjs +69 -0
- package/dist/cli/flow-weaver-create-WIP4EFNP.mjs +124 -0
- package/dist/cli/flow-weaver-deployment-WJJRK7NO.mjs +14 -0
- package/dist/cli/flow-weaver-describe-XDIFF5LI.mjs +41 -0
- package/dist/cli/flow-weaver-dev-LG2NSQAU.mjs +196 -0
- package/dist/cli/flow-weaver-diagram-3EVQARQE.mjs +52 -0
- package/dist/cli/flow-weaver-diagram-7LR7O4M2.mjs +44 -0
- package/dist/cli/flow-weaver-diff-USF7DJLU.mjs +85 -0
- package/dist/cli/flow-weaver-docs-QU2ZOXKH.mjs +96 -0
- package/dist/cli/flow-weaver-doctor-K447YWHR.mjs +43 -0
- package/dist/cli/flow-weaver-export-LAS6N56Y.mjs +140 -0
- package/dist/cli/flow-weaver-grammar-RIRUS3Q6.mjs +49 -0
- package/dist/cli/flow-weaver-grammar-diagrams-WXRTW5SK.mjs +15 -0
- package/dist/cli/flow-weaver-implement-5JG6BCFZ.mjs +114 -0
- package/dist/cli/flow-weaver-index.min-OR5SIHXD.mjs +39 -0
- package/dist/cli/flow-weaver-init-34YZNPQX.mjs +972 -0
- package/dist/cli/flow-weaver-init-personas-NOGZTQQ2.mjs +48 -0
- package/dist/cli/flow-weaver-manifest-4JNUSEB3.mjs +18 -0
- package/dist/cli/flow-weaver-market-WA4CKHKV.mjs +444 -0
- package/dist/cli/flow-weaver-mcp-setup-O26MGXSD.mjs +22 -0
- package/dist/cli/flow-weaver-migrate-VFVEUTPH.mjs +119 -0
- package/dist/cli/flow-weaver-modify-VM3JP5K6.mjs +97 -0
- package/dist/cli/flow-weaver-openapi-IRBWI3HM.mjs +71 -0
- package/dist/cli/flow-weaver-openapi-document-7N6YMPG3.mjs +30 -0
- package/dist/cli/flow-weaver-pack-commands-OS2QRXAK.mjs +146 -0
- package/dist/cli/flow-weaver-registry-5MLFRPPT.mjs +25 -0
- package/dist/cli/flow-weaver-run-DSTLSTHR.mjs +555 -0
- package/dist/cli/flow-weaver-serialization-node-LE6PCG4M.mjs +50 -0
- package/dist/cli/flow-weaver-serve-NVLCLSOW.mjs +192 -0
- package/dist/cli/flow-weaver-server-7IERLVXE.mjs +2925 -0
- package/dist/cli/flow-weaver-server-KWF4PXYC.mjs +19112 -0
- package/dist/cli/flow-weaver-status-75W2S3YB.mjs +138 -0
- package/dist/cli/flow-weaver-strip-AZPXUYVA.mjs +79 -0
- package/dist/cli/flow-weaver-templates-DSNMB6K7.mjs +72 -0
- package/dist/cli/flow-weaver-validate-A4UWDQN6.mjs +19 -0
- package/dist/cli/flow-weaver-validate-GRBZ5W4C.mjs +296 -0
- package/dist/cli/flow-weaver-validation-registry-BINGUNXX.mjs +9 -0
- package/dist/cli/flow-weaver-validator-TY56CI42.mjs +21 -0
- package/dist/cli/flow-weaver-watch-OPPERXL6.mjs +114 -0
- package/dist/cli/flow-weaver-workflow-executor-6AHYPXAN.mjs +26 -0
- package/dist/cli/flow-weaver.mjs +3557 -89384
- package/dist/cli/index.d.ts +5 -2
- package/dist/cli/pack-commands-needed.d.ts +12 -0
- package/dist/cli/program.d.ts +14 -0
- package/dist/cli/templates/ai/mock-provider.d.ts +1 -1
- package/dist/cli/templates/index.d.ts +1 -8
- package/dist/cli/templates/nodes/agent-router.d.ts +1 -1
- package/dist/cli/templates/nodes/aggregator.d.ts +1 -1
- package/dist/cli/templates/nodes/conversation-memory.d.ts +1 -1
- package/dist/cli/templates/nodes/http.d.ts +1 -1
- package/dist/cli/templates/nodes/human-approval.d.ts +1 -1
- package/dist/cli/templates/nodes/json-extractor.d.ts +1 -1
- package/dist/cli/templates/nodes/llm-call.d.ts +1 -1
- package/dist/cli/templates/nodes/prompt-template.d.ts +1 -1
- package/dist/cli/templates/nodes/rag-retriever.d.ts +1 -1
- package/dist/cli/templates/nodes/tool-executor.d.ts +1 -1
- package/dist/cli/templates/nodes/transformer.d.ts +1 -1
- package/dist/cli/templates/nodes/validator.d.ts +1 -1
- package/dist/cli/templates/shared/approval-types.d.ts +1 -1
- package/dist/cli/templates/shared/case.d.ts +14 -0
- package/dist/cli/templates/shared/llm-types.d.ts +4 -4
- package/dist/cli/templates/workflows/aggregator.d.ts +1 -1
- package/dist/cli/templates/workflows/ai-agent.d.ts +1 -1
- package/dist/cli/templates/workflows/ai-chat.d.ts +1 -1
- package/dist/cli/templates/workflows/ai-rag.d.ts +1 -1
- package/dist/cli/templates/workflows/ai-react.d.ts +1 -1
- package/dist/cli/templates/workflows/approval.d.ts +10 -0
- package/dist/cli/templates/workflows/conditional.d.ts +2 -2
- package/dist/cli/templates/workflows/error-handler.d.ts +2 -2
- package/dist/cli/templates/workflows/foreach.d.ts +1 -1
- package/dist/cli/templates/workflows/sequential.d.ts +1 -1
- package/dist/cli/templates/workflows/webhook.d.ts +1 -1
- package/dist/cli/utils/interactive.d.ts +6 -0
- package/dist/cli/utils/json-option.d.ts +8 -0
- package/dist/cli/utils/logger.d.ts +2 -0
- package/dist/compiler/durable-source-proof.d.ts +23 -0
- package/dist/compiler/executable-artifact.d.ts +29 -0
- package/dist/compiler/index.d.ts +4 -0
- package/dist/compiler/index.js +36 -0
- package/dist/console/app.js +106 -0
- package/dist/console/assets/synergenius.svg +18 -0
- package/dist/console/author.d.ts +32 -0
- package/dist/console/cli-catalog.d.ts +21 -0
- package/dist/console/cli-run.d.ts +35 -0
- package/dist/console/cli-run.js +46 -0
- package/dist/console/debug.d.ts +67 -0
- package/dist/console/diff-view.d.ts +96 -0
- package/dist/console/export.d.ts +36 -0
- package/dist/console/git.d.ts +27 -0
- package/dist/console/index.d.ts +4 -0
- package/dist/console/index.html +16 -0
- package/dist/console/index.js +203 -0
- package/dist/console/packs.d.ts +100 -0
- package/dist/console/request-guard.d.ts +10 -0
- package/dist/console/respond.d.ts +16 -0
- package/dist/console/router.d.ts +64 -0
- package/dist/console/routes-agents.d.ts +14 -0
- package/dist/console/routes-project.d.ts +3 -0
- package/dist/console/routes-runs.d.ts +3 -0
- package/dist/console/routes-services.d.ts +7 -0
- package/dist/console/routes-tools.d.ts +3 -0
- package/dist/console/runs.d.ts +69 -0
- package/dist/console/scan.d.ts +49 -0
- package/dist/console/schema.d.ts +74 -0
- package/dist/console/server.d.ts +34 -0
- package/dist/console/server.js +43264 -0
- package/dist/console/services.d.ts +119 -0
- package/dist/console/source.d.ts +23 -0
- package/dist/console/status.d.ts +68 -0
- package/dist/console/styles.css +1023 -0
- package/dist/console/terminals.d.ts +22 -0
- package/dist/console/workflow-view.d.ts +153 -0
- package/dist/constants.d.ts +5 -1
- package/dist/constants.js +56 -167
- package/dist/context/index.d.ts +10 -0
- package/dist/context/index.js +14 -191
- package/dist/coordinator/agent-gate.d.ts +107 -0
- package/dist/coordinator/bundle-digest.d.ts +20 -0
- package/dist/coordinator/clock-tick.d.ts +4 -0
- package/dist/coordinator/effect-receipts.d.ts +10 -0
- package/dist/coordinator/errors.d.ts +31 -0
- package/dist/coordinator/file-store.d.ts +3 -0
- package/dist/coordinator/gate-labeling.d.ts +33 -0
- package/dist/coordinator/gate-resolution.d.ts +28 -0
- package/dist/coordinator/index.d.ts +12 -0
- package/dist/coordinator/index.js +107 -0
- package/dist/coordinator/memory-store.d.ts +3 -0
- package/dist/coordinator/params.d.ts +18 -0
- package/dist/coordinator/run-annotations.d.ts +6 -0
- package/dist/coordinator/run-context.d.ts +11 -0
- package/dist/coordinator/run-ending.d.ts +5 -0
- package/dist/coordinator/run-outcome.d.ts +31 -0
- package/dist/coordinator/run-resume.d.ts +6 -0
- package/dist/coordinator/run-start.d.ts +4 -0
- package/dist/coordinator/run-store.d.ts +275 -0
- package/dist/coordinator/run-trace.d.ts +41 -0
- package/dist/coordinator/run-views.d.ts +12 -0
- package/dist/coordinator/runs-dir.d.ts +26 -0
- package/dist/coordinator/store.d.ts +67 -0
- package/dist/coordinator/time.d.ts +39 -0
- package/dist/coordinator/workflow-selection.d.ts +6 -0
- package/dist/deployment/index.d.ts +11 -16
- package/dist/deployment/index.js +541 -50
- package/dist/deployment/targets/base.d.ts +11 -13
- package/dist/deployment/targets/openapi-parts.d.ts +92 -0
- package/dist/diagram/arms.d.ts +70 -0
- package/dist/diagram/ascii-renderer.d.ts +1 -1
- package/dist/diagram/geometry.d.ts +20 -32
- package/dist/diagram/graph/bounds.d.ts +30 -0
- package/dist/diagram/graph/metrics.d.ts +21 -0
- package/dist/diagram/graph/nodes.d.ts +33 -0
- package/dist/diagram/graph/placement.d.ts +22 -0
- package/dist/diagram/graph/ports.d.ts +23 -0
- package/dist/diagram/graph/routing.d.ts +40 -0
- package/dist/diagram/graph/scopes.d.ts +30 -0
- package/dist/diagram/index.d.ts +15 -23
- package/dist/diagram/index.js +632 -111
- package/dist/diagram/labels.d.ts +12 -0
- package/dist/diagram/lanes.d.ts +93 -0
- package/dist/diagram/layout.d.ts +1 -1
- package/dist/diagram/material-symbols.d.ts +7 -0
- package/dist/diagram/orthogonal-router.d.ts +2 -3
- package/dist/diagram/process-view.d.ts +79 -0
- package/dist/diagram/spine.d.ts +25 -0
- package/dist/diagram/theme.d.ts +1 -5
- package/dist/diagram/types.d.ts +6 -20
- package/dist/diff/index.js +53 -9
- package/dist/diff/types.d.ts +1 -5
- package/dist/doc-metadata/extractors/annotations.d.ts +0 -4
- package/dist/doc-metadata/extractors/cli-commands.d.ts +2 -1
- package/dist/doc-metadata/extractors/core-metadata.d.ts +19 -4
- package/dist/doc-metadata/extractors/error-codes.d.ts +1 -1
- package/dist/doc-metadata/extractors/mcp-tools.d.ts +7 -3
- package/dist/doc-metadata/index.d.ts +1 -2
- package/dist/doc-metadata/index.js +2368 -9
- package/dist/doc-metadata/types.d.ts +7 -24
- package/dist/docs/guide.d.ts +33 -0
- package/dist/docs/index.d.ts +7 -4
- package/dist/docs/index.js +298 -298
- package/dist/docs/pack-topics.d.ts +18 -0
- package/dist/editor-completions/annotationValues.d.ts +1 -1
- package/dist/editor-completions/contextParser.d.ts +3 -2
- package/dist/editor-completions/dataTypes.d.ts +1 -1
- package/dist/editor-completions/goToDefinition.d.ts +1 -1
- package/dist/editor-completions/index.d.ts +8 -8
- package/dist/editor-completions/index.js +1244 -175
- package/dist/editor-completions/jsDocAnnotations.d.ts +1 -1
- package/dist/editor-completions/modifierCompletions.d.ts +1 -1
- package/dist/export/index.d.ts +7 -1
- package/dist/generated-branding.js +8 -21
- package/dist/generated-version.d.ts +1 -1
- package/dist/generated-version.js +7 -3
- package/dist/generator/annotation-generator.d.ts +84 -0
- package/dist/generator/async-detection.d.ts +1 -1
- package/dist/{body-generator.d.ts → generator/body-generator.d.ts} +7 -3
- package/dist/generator/code-utils.d.ts +15 -60
- package/dist/generator/connection-reads.d.ts +94 -0
- package/dist/generator/control-flow-plan.d.ts +74 -0
- package/dist/generator/control-flow.d.ts +1 -1
- package/dist/generator/exit-assembly.d.ts +11 -0
- package/dist/generator/index.d.ts +4 -5
- package/dist/generator/index.js +34 -11
- package/dist/generator/input-port-values.d.ts +22 -0
- package/dist/generator/{scope-function-generator.d.ts → node-arguments.d.ts} +76 -1
- package/dist/generator/node-invocation.d.ts +74 -0
- package/dist/{node-types-generator.d.ts → generator/node-types-generator.d.ts} +3 -2
- package/dist/generator/scope-closure.d.ts +23 -0
- package/dist/generator/scoped-child.d.ts +49 -0
- package/dist/{sugar-optimizer.d.ts → generator/sugar-optimizer.d.ts} +1 -1
- package/dist/generator/unified.d.ts +14 -2
- package/dist/generator/workflow-generator.d.ts +37 -0
- package/dist/index.d.ts +29 -26
- package/dist/index.js +1322 -92
- package/dist/jsdoc-port-sync/apply-diff.d.ts +15 -0
- package/dist/jsdoc-port-sync/callback-signature.d.ts +17 -0
- package/dist/jsdoc-port-sync/diff.d.ts +5 -7
- package/dist/jsdoc-port-sync/incomplete-lines.d.ts +41 -0
- package/dist/jsdoc-port-sync/index.d.ts +11 -11
- package/dist/jsdoc-port-sync/index.js +88 -45
- package/dist/jsdoc-port-sync/jsdoc-to-signature.d.ts +66 -0
- package/dist/jsdoc-port-sync/port-parser.d.ts +6 -24
- package/dist/jsdoc-port-sync/port-tag-placement.d.ts +55 -0
- package/dist/jsdoc-port-sync/scoped-ports.d.ts +21 -0
- package/dist/jsdoc-port-sync/signature-parser.d.ts +8 -1
- package/dist/jsdoc-port-sync/signature-to-jsdoc.d.ts +77 -0
- package/dist/jsdoc-port-sync/sync.d.ts +4 -1
- package/dist/marketplace/index.d.ts +5 -3
- package/dist/marketplace/index.js +62 -10
- package/dist/marketplace/install.d.ts +24 -0
- package/dist/marketplace/manifest.d.ts +1 -1
- package/dist/marketplace/npmrc.d.ts +24 -0
- package/dist/marketplace/registry.d.ts +46 -11
- package/dist/marketplace/types.d.ts +41 -24
- package/dist/marketplace/validator.d.ts +1 -1
- package/dist/mcp/debug-session.d.ts +2 -4
- package/dist/mcp/dist-imports.d.ts +12 -0
- package/dist/mcp/response-utils.d.ts +11 -9
- package/dist/mcp/server.d.ts +0 -1
- package/dist/mcp/tools-context.d.ts +11 -0
- package/dist/mcp/tools-diagram.d.ts +1 -2
- package/dist/mcp/tools-export.d.ts +2 -2
- package/dist/mcp/tools-marketplace.d.ts +1 -1
- package/dist/mcp/tools-run.d.ts +17 -0
- package/dist/mcp/tools-workflow.d.ts +3 -0
- package/dist/mcp/types.d.ts +4 -14
- package/dist/mcp/workflow-executor.d.ts +57 -19
- package/dist/npm-packages.d.ts +1 -1
- package/dist/npm-packages.js +10 -473
- package/dist/parser/annotation-parser.d.ts +88 -0
- package/dist/parser/annotation-suggestion.d.ts +23 -0
- package/dist/parser/durable-effect-contract.d.ts +10 -0
- package/dist/parser/expression-references.d.ts +101 -0
- package/dist/parser/external-node-types.d.ts +69 -0
- package/dist/{function-like.d.ts → parser/function-like.d.ts} +10 -3
- package/dist/parser/generated-sections.d.ts +25 -0
- package/dist/parser/import-resolution.d.ts +67 -0
- package/dist/parser/import-stub.d.ts +29 -0
- package/dist/parser/jsdoc/config-types.d.ts +209 -0
- package/dist/parser/jsdoc/graph-tags.d.ts +54 -0
- package/dist/parser/jsdoc/node-type-block.d.ts +23 -0
- package/dist/parser/jsdoc/parse-line-once.d.ts +11 -0
- package/dist/parser/jsdoc/port-tags.d.ts +42 -0
- package/dist/parser/jsdoc/runtime-tags.d.ts +65 -0
- package/dist/parser/jsdoc/signature-types.d.ts +52 -0
- package/dist/parser/jsdoc/workflow-block.d.ts +22 -0
- package/dist/parser/jsdoc-parser.d.ts +23 -0
- package/dist/parser/macro-expansion.d.ts +80 -0
- package/dist/parser/module-resolution.d.ts +38 -0
- package/dist/parser/node-inference.d.ts +39 -0
- package/dist/parser/npm-node-types.d.ts +24 -0
- package/dist/parser/pack-handlers.d.ts +12 -0
- package/dist/parser/path-data-resolution.d.ts +75 -0
- package/dist/parser/port-inference.d.ts +15 -0
- package/dist/{resolve-package-types.d.ts → parser/resolve-package-types.d.ts} +4 -0
- package/dist/parser/serialize-deploy-annotations.d.ts +19 -0
- package/dist/parser/tag-registry.d.ts +22 -0
- package/dist/parser/workflow-extraction.d.ts +39 -0
- package/dist/runtime/ExecutionContext.d.ts +87 -99
- package/dist/runtime/continuation-core.d.ts +147 -0
- package/dist/runtime/continuation.d.ts +48 -0
- package/dist/runtime/debug-controller.d.ts +7 -22
- package/dist/runtime/durable-execution.d.ts +176 -0
- package/dist/runtime/events.d.ts +16 -1
- package/dist/runtime/executable-module-contract.d.ts +16 -0
- package/dist/runtime/index.d.ts +13 -10
- package/dist/runtime/index.js +947 -9
- package/dist/runtime/strict-json.d.ts +15 -0
- package/dist/server/access.d.ts +12 -0
- package/dist/server/api.d.ts +126 -0
- package/dist/server/callback-delivery.d.ts +62 -0
- package/dist/server/callback-url.d.ts +44 -0
- package/dist/server/context.d.ts +35 -0
- package/dist/server/http-error.d.ts +10 -0
- package/dist/server/index.d.ts +7 -1
- package/dist/server/index.js +125 -6
- package/dist/server/openapi-document.d.ts +33 -0
- package/dist/server/openapi.d.ts +32 -0
- package/dist/server/respond.d.ts +35 -0
- package/dist/server/route-params.d.ts +17 -0
- package/dist/server/route-plan.d.ts +41 -0
- package/dist/server/routes-catalog.d.ts +5 -0
- package/dist/server/routes-declared.d.ts +12 -0
- package/dist/server/routes-runs.d.ts +8 -0
- package/dist/server/run-driver.d.ts +58 -0
- package/dist/server/run-view.d.ts +26 -0
- package/dist/server/transport.d.ts +35 -0
- package/dist/server/types.d.ts +143 -52
- package/dist/server/webhook-server.d.ts +12 -38
- package/dist/server/workflow-registry.d.ts +7 -4
- package/dist/service-registry.d.ts +49 -0
- package/dist/service-registry.js +123 -0
- package/dist/testing/assertions.d.ts +2 -2
- package/dist/testing/index.d.ts +14 -13
- package/dist/testing/index.js +582 -24
- package/dist/testing/mock-approval.d.ts +3 -5
- package/dist/testing/mock-llm.d.ts +2 -3
- package/dist/testing/recorder.d.ts +5 -6
- package/dist/testing/replayer.d.ts +6 -7
- package/dist/testing/run-store-check.d.ts +3 -0
- package/dist/testing/token-tracker.d.ts +2 -2
- package/dist/{type-mappings.d.ts → types/type-mappings.d.ts} +13 -1
- package/dist/utils/error-utils.d.ts +4 -2
- package/dist/utils/port-ordering.d.ts +2 -2
- package/dist/utils/port-tag-utils.d.ts +1 -1
- package/dist/validation/agent-detection.d.ts +17 -5
- package/dist/validation/agent-rules.d.ts +6 -7
- package/dist/validation/core-rules.d.ts +49 -0
- package/dist/validation/design-rules.d.ts +9 -3
- package/dist/validation/rule-registry.d.ts +3 -3
- package/dist/validation/rules/connections.d.ts +27 -0
- package/dist/validation/rules/context.d.ts +11 -0
- package/dist/validation/rules/cycles.d.ts +17 -0
- package/dist/validation/rules/data-flow.d.ts +19 -0
- package/dist/validation/rules/scope-topology.d.ts +35 -0
- package/dist/validation/rules/type-compatibility.d.ts +30 -0
- package/dist/validation/type-checker.d.ts +39 -0
- package/dist/validation/validator-helpers.d.ts +31 -0
- package/dist/validation/validator.d.ts +30 -0
- package/docs/reference/advanced-annotations.md +277 -60
- package/docs/reference/built-in-nodes.md +164 -94
- package/docs/reference/cancellation.md +44 -0
- package/docs/reference/cli-reference.md +252 -234
- package/docs/reference/compilation.md +36 -109
- package/docs/reference/concepts.md +80 -63
- package/docs/reference/console.md +169 -0
- package/docs/reference/debugging.md +26 -57
- package/docs/reference/deployment.md +217 -143
- package/docs/reference/durable-gates.md +445 -0
- package/docs/reference/error-codes.md +90 -43
- package/docs/reference/export-interface.md +91 -26
- package/docs/reference/iterative-development.md +50 -28
- package/docs/reference/jsdoc-grammar.md +66 -311
- package/docs/reference/library.md +250 -0
- package/docs/reference/marketplace.md +301 -152
- package/docs/reference/mcp-tools.md +102 -0
- package/docs/reference/node-conversion.md +84 -59
- package/docs/reference/orientation.md +68 -0
- package/docs/reference/scaffold.md +5 -4
- package/docs/reference/tutorial.md +106 -166
- package/docs/reference/visual-reference.md +1 -1
- package/package.json +85 -50
- package/dist/agent/agent-loop.js +0 -156
- package/dist/agent/cli-spawn-config.js +0 -65
- package/dist/agent/device-connection.d.ts +0 -79
- package/dist/agent/device-connection.js +0 -184
- package/dist/agent/env-allowlist.js +0 -60
- package/dist/agent/providers/anthropic.js +0 -198
- package/dist/agent/providers/claude-cli.js +0 -161
- package/dist/agent/providers/openai-compat.js +0 -205
- package/dist/agent/providers/platform.d.ts +0 -23
- package/dist/agent/providers/platform.js +0 -132
- package/dist/agent/streaming.js +0 -186
- package/dist/agent/types.js +0 -20
- package/dist/annotation-generator.d.ts +0 -50
- package/dist/annotation-generator.js +0 -743
- package/dist/api/builder.js +0 -345
- package/dist/api/command-runner.js +0 -787
- package/dist/api/compile.js +0 -148
- package/dist/api/extract-types.js +0 -57
- package/dist/api/generate-in-place.js +0 -1477
- package/dist/api/generate.js +0 -514
- package/dist/api/helpers.js +0 -285
- package/dist/api/inline-runtime.js +0 -526
- package/dist/api/manipulation/connections.js +0 -151
- package/dist/api/manipulation/index.js +0 -41
- package/dist/api/manipulation/node-types.js +0 -200
- package/dist/api/manipulation/nodes.js +0 -355
- package/dist/api/manipulation/ports.js +0 -228
- package/dist/api/manipulation/scopes.js +0 -156
- package/dist/api/manipulation/workflow.js +0 -116
- package/dist/api/modify-operation.js +0 -177
- package/dist/api/parse.js +0 -115
- package/dist/api/patterns.d.ts +0 -112
- package/dist/api/patterns.js +0 -303
- package/dist/api/query.js +0 -840
- package/dist/api/templates.js +0 -117
- package/dist/api/transform.js +0 -40
- package/dist/api/validate.js +0 -64
- package/dist/api/validation-registry.js +0 -10
- package/dist/api/workflow-file-operations.js +0 -180
- package/dist/ast/builder.js +0 -395
- package/dist/ast/serialization-node.js +0 -30
- package/dist/ast/serialization.js +0 -134
- package/dist/ast/types.js +0 -2
- package/dist/ast/workflow-utils.js +0 -114
- package/dist/body-generator.js +0 -35
- package/dist/built-in-nodes/coercion-types.js +0 -61
- package/dist/built-in-nodes/delay.js +0 -29
- package/dist/built-in-nodes/generated-registry.js +0 -299
- package/dist/built-in-nodes/invoke-workflow.js +0 -36
- package/dist/built-in-nodes/mock-types.js +0 -42
- package/dist/built-in-nodes/wait-for-agent.js +0 -31
- package/dist/built-in-nodes/wait-for-event.js +0 -25
- package/dist/chevrotain-parser/coerce-parser.js +0 -103
- package/dist/chevrotain-parser/connect-parser.js +0 -136
- package/dist/chevrotain-parser/fan-parser.js +0 -149
- package/dist/chevrotain-parser/grammar-diagrams.js +0 -273
- package/dist/chevrotain-parser/index.js +0 -31
- package/dist/chevrotain-parser/map-parser.js +0 -130
- package/dist/chevrotain-parser/node-parser.js +0 -558
- package/dist/chevrotain-parser/path-parser.js +0 -140
- package/dist/chevrotain-parser/port-parser.js +0 -519
- package/dist/chevrotain-parser/position-parser.d.ts +0 -20
- package/dist/chevrotain-parser/position-parser.js +0 -83
- package/dist/chevrotain-parser/scope-parser.js +0 -104
- package/dist/chevrotain-parser/tokens.js +0 -429
- package/dist/chevrotain-parser/trigger-cancel-parser.js +0 -291
- package/dist/cli/commands/account.d.ts +0 -4
- package/dist/cli/commands/account.js +0 -50
- package/dist/cli/commands/ai-credentials.d.ts +0 -12
- package/dist/cli/commands/ai-credentials.js +0 -95
- package/dist/cli/commands/apikey.d.ts +0 -4
- package/dist/cli/commands/apikey.js +0 -64
- package/dist/cli/commands/auth.d.ts +0 -9
- package/dist/cli/commands/auth.js +0 -255
- package/dist/cli/commands/compile.js +0 -331
- package/dist/cli/commands/connect.d.ts +0 -4
- package/dist/cli/commands/connect.js +0 -163
- package/dist/cli/commands/context.js +0 -51
- package/dist/cli/commands/create.js +0 -139
- package/dist/cli/commands/deploy.d.ts +0 -6
- package/dist/cli/commands/deploy.js +0 -74
- package/dist/cli/commands/dev.js +0 -227
- package/dist/cli/commands/diagram.js +0 -39
- package/dist/cli/commands/diff.js +0 -57
- package/dist/cli/commands/docs.js +0 -74
- package/dist/cli/commands/export.js +0 -153
- package/dist/cli/commands/grammar.js +0 -40
- package/dist/cli/commands/implement.js +0 -91
- package/dist/cli/commands/init-personas.js +0 -541
- package/dist/cli/commands/init.js +0 -797
- package/dist/cli/commands/market.js +0 -440
- package/dist/cli/commands/mcp-setup.js +0 -433
- package/dist/cli/commands/migrate.js +0 -91
- package/dist/cli/commands/modify.js +0 -58
- package/dist/cli/commands/openapi.js +0 -71
- package/dist/cli/commands/org.d.ts +0 -8
- package/dist/cli/commands/org.js +0 -136
- package/dist/cli/commands/pattern.d.ts +0 -34
- package/dist/cli/commands/pattern.js +0 -186
- package/dist/cli/commands/plugin.d.ts +0 -16
- package/dist/cli/commands/plugin.js +0 -176
- package/dist/cli/commands/run.js +0 -742
- package/dist/cli/commands/serve.js +0 -93
- package/dist/cli/commands/status.js +0 -123
- package/dist/cli/commands/strip.js +0 -61
- package/dist/cli/commands/templates.js +0 -58
- package/dist/cli/commands/validate.js +0 -267
- package/dist/cli/commands/watch.js +0 -71
- package/dist/cli/config/credentials.d.ts +0 -15
- package/dist/cli/config/credentials.js +0 -43
- package/dist/cli/config/platform-client.d.ts +0 -123
- package/dist/cli/config/platform-client.js +0 -248
- package/dist/cli/env-setup.js +0 -12
- package/dist/cli/index.js +0 -850
- package/dist/cli/pack-commands.js +0 -122
- package/dist/cli/postinstall.d.ts +0 -16
- package/dist/cli/postinstall.js +0 -119
- package/dist/cli/templates/ai/mock-provider.js +0 -64
- package/dist/cli/templates/ai/types.js +0 -5
- package/dist/cli/templates/approvals/index.d.ts +0 -15
- package/dist/cli/templates/approvals/index.js +0 -241
- package/dist/cli/templates/index.js +0 -123
- package/dist/cli/templates/nodes/agent-router.js +0 -114
- package/dist/cli/templates/nodes/aggregator.js +0 -63
- package/dist/cli/templates/nodes/conversation-memory.js +0 -85
- package/dist/cli/templates/nodes/http.js +0 -80
- package/dist/cli/templates/nodes/human-approval.js +0 -109
- package/dist/cli/templates/nodes/json-extractor.js +0 -119
- package/dist/cli/templates/nodes/llm-call.js +0 -106
- package/dist/cli/templates/nodes/prompt-template.js +0 -52
- package/dist/cli/templates/nodes/rag-retriever.js +0 -128
- package/dist/cli/templates/nodes/tool-executor.js +0 -108
- package/dist/cli/templates/nodes/transformer.js +0 -68
- package/dist/cli/templates/nodes/validator.js +0 -62
- package/dist/cli/templates/pack-loader.js +0 -58
- package/dist/cli/templates/providers/index.js +0 -239
- package/dist/cli/templates/shared/approval-types.js +0 -31
- package/dist/cli/templates/shared/llm-types.js +0 -109
- package/dist/cli/templates/workflows/aggregator.js +0 -101
- package/dist/cli/templates/workflows/ai-agent.js +0 -326
- package/dist/cli/templates/workflows/ai-chat.js +0 -167
- package/dist/cli/templates/workflows/ai-rag.js +0 -184
- package/dist/cli/templates/workflows/ai-react.js +0 -293
- package/dist/cli/templates/workflows/conditional.js +0 -139
- package/dist/cli/templates/workflows/error-handler.js +0 -145
- package/dist/cli/templates/workflows/foreach.js +0 -140
- package/dist/cli/templates/workflows/sequential.js +0 -200
- package/dist/cli/templates/workflows/webhook.js +0 -158
- package/dist/cli/utils/cli-helpers.d.ts +0 -44
- package/dist/cli/utils/cli-helpers.js +0 -99
- package/dist/cli/utils/logger.js +0 -126
- package/dist/cli/utils/parse-int-strict.js +0 -17
- package/dist/cli/utils/safe-write.js +0 -54
- package/dist/deployment/config/defaults.d.ts +0 -29
- package/dist/deployment/config/defaults.js +0 -98
- package/dist/deployment/config/loader.d.ts +0 -24
- package/dist/deployment/config/loader.js +0 -237
- package/dist/deployment/config/types.d.ts +0 -117
- package/dist/deployment/config/types.js +0 -5
- package/dist/deployment/core/adapters.d.ts +0 -66
- package/dist/deployment/core/adapters.js +0 -156
- package/dist/deployment/core/executor.d.ts +0 -62
- package/dist/deployment/core/executor.js +0 -197
- package/dist/deployment/core/formatters.d.ts +0 -42
- package/dist/deployment/core/formatters.js +0 -146
- package/dist/deployment/openapi/generator.d.ts +0 -146
- package/dist/deployment/openapi/generator.js +0 -347
- package/dist/deployment/openapi/schema-converter.d.ts +0 -49
- package/dist/deployment/openapi/schema-converter.js +0 -192
- package/dist/deployment/targets/base.js +0 -855
- package/dist/deployment/types.d.ts +0 -140
- package/dist/deployment/types.js +0 -8
- package/dist/diagram/ascii-renderer.js +0 -528
- package/dist/diagram/geometry.js +0 -1226
- package/dist/diagram/html-viewer.d.ts +0 -21
- package/dist/diagram/html-viewer.js +0 -1745
- package/dist/diagram/layout.js +0 -143
- package/dist/diagram/orthogonal-router.js +0 -458
- package/dist/diagram/renderer.d.ts +0 -3
- package/dist/diagram/renderer.js +0 -280
- package/dist/diagram/theme.js +0 -282
- package/dist/diagram/types.js +0 -2
- package/dist/diff/WorkflowDiffer.js +0 -429
- package/dist/diff/formatDiff.js +0 -239
- package/dist/diff/impact.js +0 -119
- package/dist/diff/types.js +0 -35
- package/dist/doc-metadata/extractors/annotations.js +0 -638
- package/dist/doc-metadata/extractors/cli-commands.js +0 -326
- package/dist/doc-metadata/extractors/core-metadata.js +0 -61
- package/dist/doc-metadata/extractors/error-codes.js +0 -372
- package/dist/doc-metadata/extractors/grammar-rules.js +0 -51
- package/dist/doc-metadata/extractors/mcp-tools.js +0 -705
- package/dist/doc-metadata/extractors/plugin-api.d.ts +0 -19
- package/dist/doc-metadata/extractors/plugin-api.js +0 -279
- package/dist/doc-metadata/types.js +0 -5
- package/dist/editor-completions/annotationValues.js +0 -146
- package/dist/editor-completions/contextParser.js +0 -410
- package/dist/editor-completions/dataTypes.js +0 -95
- package/dist/editor-completions/goToDefinition.js +0 -112
- package/dist/editor-completions/jsDocAnnotations.js +0 -359
- package/dist/editor-completions/modifierCompletions.js +0 -197
- package/dist/editor-completions/types.js +0 -8
- package/dist/export/index.js +0 -212
- package/dist/extensions/index.d.ts +0 -16
- package/dist/extensions/index.js +0 -17
- package/dist/friendly-errors.js +0 -761
- package/dist/function-like.js +0 -84
- package/dist/generator/async-detection.js +0 -56
- package/dist/generator/code-utils.js +0 -551
- package/dist/generator/compile-target-registry.d.ts +0 -20
- package/dist/generator/compile-target-registry.js +0 -20
- package/dist/generator/control-flow.js +0 -358
- package/dist/generator/dev-mode-registry.d.ts +0 -27
- package/dist/generator/dev-mode-registry.js +0 -20
- package/dist/generator/scope-function-generator.js +0 -397
- package/dist/generator/unified.js +0 -1831
- package/dist/generator.d.ts +0 -54
- package/dist/generator.js +0 -101
- package/dist/jsdoc-parser.d.ts +0 -377
- package/dist/jsdoc-parser.js +0 -1189
- package/dist/jsdoc-port-sync/constants.js +0 -103
- package/dist/jsdoc-port-sync/diff.js +0 -319
- package/dist/jsdoc-port-sync/port-parser.js +0 -579
- package/dist/jsdoc-port-sync/rename.js +0 -256
- package/dist/jsdoc-port-sync/signature-parser.js +0 -559
- package/dist/jsdoc-port-sync/sync.js +0 -653
- package/dist/marketplace/manifest.js +0 -194
- package/dist/marketplace/registry.js +0 -198
- package/dist/marketplace/types.js +0 -9
- package/dist/marketplace/validator.js +0 -150
- package/dist/mcp/agent-channel.d.ts +0 -35
- package/dist/mcp/agent-channel.js +0 -61
- package/dist/mcp/auto-registration.d.ts +0 -3
- package/dist/mcp/auto-registration.js +0 -62
- package/dist/mcp/debug-session.js +0 -25
- package/dist/mcp/index.d.ts +0 -11
- package/dist/mcp/index.js +0 -10
- package/dist/mcp/pack-tools.js +0 -59
- package/dist/mcp/prompts.js +0 -68
- package/dist/mcp/response-utils.js +0 -97
- package/dist/mcp/run-registry.d.ts +0 -29
- package/dist/mcp/run-registry.js +0 -24
- package/dist/mcp/server.js +0 -63
- package/dist/mcp/tools-context.js +0 -51
- package/dist/mcp/tools-debug.js +0 -451
- package/dist/mcp/tools-diagram.js +0 -97
- package/dist/mcp/tools-docs.js +0 -62
- package/dist/mcp/tools-export.js +0 -222
- package/dist/mcp/tools-marketplace.js +0 -132
- package/dist/mcp/tools-model.d.ts +0 -3
- package/dist/mcp/tools-model.js +0 -279
- package/dist/mcp/tools-pattern.d.ts +0 -3
- package/dist/mcp/tools-pattern.js +0 -604
- package/dist/mcp/tools-query.js +0 -377
- package/dist/mcp/tools-resources.js +0 -41
- package/dist/mcp/tools-template.js +0 -119
- package/dist/mcp/tools-workflow-run.d.ts +0 -40
- package/dist/mcp/tools-workflow-run.js +0 -150
- package/dist/mcp/types.js +0 -2
- package/dist/mcp/workflow-executor.js +0 -242
- package/dist/migration/registry.js +0 -29
- package/dist/node-types-generator.js +0 -139
- package/dist/parser/tag-registry.js +0 -57
- package/dist/parser.d.ts +0 -232
- package/dist/parser.js +0 -2500
- package/dist/plugin/PluginPanel.d.ts +0 -12
- package/dist/plugin/PluginPanel.js +0 -5
- package/dist/plugin/index.d.ts +0 -13
- package/dist/plugin/index.js +0 -14
- package/dist/plugin/types.d.ts +0 -75
- package/dist/plugin/types.js +0 -8
- package/dist/resolve-package-types.js +0 -123
- package/dist/runtime/CancellationError.js +0 -20
- package/dist/runtime/ExecutionContext.js +0 -280
- package/dist/runtime/builtin-functions.js +0 -549
- package/dist/runtime/checkpoint.d.ts +0 -84
- package/dist/runtime/checkpoint.js +0 -225
- package/dist/runtime/debug-controller.js +0 -247
- package/dist/runtime/events.js +0 -2
- package/dist/runtime/function-registry.js +0 -66
- package/dist/runtime/parameter-resolver.js +0 -113
- package/dist/server/types.js +0 -5
- package/dist/server/webhook-server.js +0 -269
- package/dist/server/workflow-registry.js +0 -202
- package/dist/shared-project.js +0 -28
- package/dist/sugar-optimizer.js +0 -498
- package/dist/testing/assertions.js +0 -127
- package/dist/testing/mock-approval.js +0 -98
- package/dist/testing/mock-llm.js +0 -119
- package/dist/testing/recorder.js +0 -70
- package/dist/testing/replayer.js +0 -143
- package/dist/testing/token-tracker.js +0 -94
- package/dist/type-checker.d.ts +0 -42
- package/dist/type-checker.js +0 -190
- package/dist/type-mappings.js +0 -131
- package/dist/types/branded-ports.d.ts +0 -151
- package/dist/types/branded-ports.js +0 -121
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types.d.ts +0 -139
- package/dist/types.js +0 -15
- package/dist/utils/error-utils.js +0 -27
- package/dist/utils/lru-cache.js +0 -40
- package/dist/utils/port-ordering.js +0 -81
- package/dist/utils/port-tag-utils.js +0 -41
- package/dist/utils/string-distance.js +0 -56
- package/dist/validation/agent-detection.js +0 -115
- package/dist/validation/agent-rules.js +0 -262
- package/dist/validation/design-rules.js +0 -377
- package/dist/validation/rule-registry.js +0 -37
- package/dist/validator.d.ts +0 -113
- package/dist/validator.js +0 -1631
- package/docs/reference/patterns.md +0 -159
- package/scripts/postinstall.cjs +0 -86
- /package/dist/{shared-project.d.ts → parser/shared-project.d.ts} +0 -0
- /package/dist/{friendly-errors.d.ts → validation/friendly-errors.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Compilation
|
|
3
|
-
description: How compilation works, TypeScript
|
|
4
|
-
keywords: [compile, compilation, target, typescript,
|
|
3
|
+
description: How compilation works, the TypeScript target, pack targets and target options, compile options
|
|
4
|
+
keywords: [compile, compilation, target, typescript, production, source-map, format, strict, clean, trigger, cancelOn, retries, timeout, throttle, cron, markers, pack target]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Compilation
|
|
@@ -13,16 +13,16 @@ Flow Weaver compiles annotated TypeScript into executable workflow code. The com
|
|
|
13
13
|
Compilation is **in-place** by default. The compiler inserts generated code into marker sections within your source file:
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
|
-
// Your node types and annotations above
|
|
16
|
+
// Your node types and annotations above (untouched)
|
|
17
17
|
|
|
18
|
-
// @flow-weaver-runtime
|
|
18
|
+
// @flow-weaver-runtime-start
|
|
19
19
|
// Generated imports and runtime setup
|
|
20
|
-
// @flow-weaver-runtime
|
|
20
|
+
// @flow-weaver-runtime-end
|
|
21
21
|
|
|
22
22
|
export function myWorkflow(params: { data: string }) {
|
|
23
|
-
// @flow-weaver-body
|
|
23
|
+
// @flow-weaver-body-start
|
|
24
24
|
// Generated execution logic
|
|
25
|
-
// @flow-weaver-body
|
|
25
|
+
// @flow-weaver-body-end
|
|
26
26
|
}
|
|
27
27
|
```
|
|
28
28
|
|
|
@@ -58,73 +58,31 @@ fw compile workflow.ts
|
|
|
58
58
|
|
|
59
59
|
Generates code like:
|
|
60
60
|
```typescript
|
|
61
|
-
// @flow-weaver-runtime
|
|
61
|
+
// @flow-weaver-runtime-start
|
|
62
62
|
// (inline runtime: GeneratedExecutionContext, CancellationError, types)
|
|
63
|
-
// @flow-weaver-runtime
|
|
63
|
+
// @flow-weaver-runtime-end
|
|
64
64
|
|
|
65
65
|
export function myWorkflow(params: { data: string }) {
|
|
66
|
-
// @flow-weaver-body
|
|
66
|
+
// @flow-weaver-body-start
|
|
67
67
|
const ctx = new ExecutionContext();
|
|
68
68
|
const validate_result = validateRecord(true, params.data);
|
|
69
69
|
// ... execution chain
|
|
70
70
|
return { onSuccess: true, onFailure: false, result: score_result.score };
|
|
71
|
-
// @flow-weaver-body
|
|
71
|
+
// @flow-weaver-body-end
|
|
72
72
|
}
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
77
|
-
##
|
|
77
|
+
## Other Platforms
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
fw compile workflow.ts --target inngest
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Per-Node Durability
|
|
86
|
-
|
|
87
|
-
Each node in the workflow becomes an individually durable step:
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
const validate_result = await step.run('validate', async () => {
|
|
91
|
-
return validateRecord(true, params.data);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
const enrich_result = await step.run('enrich', async () => {
|
|
95
|
-
return enrichRecord(true, validate_result.data);
|
|
96
|
-
});
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
If the process crashes after `validate` completes, Inngest replays the function and skips already-completed steps.
|
|
100
|
-
|
|
101
|
-
### Parallel Execution
|
|
102
|
-
|
|
103
|
-
Independent nodes execute in parallel using `Promise.all`:
|
|
104
|
-
|
|
105
|
-
```typescript
|
|
106
|
-
const [branch_a, branch_b] = await Promise.all([
|
|
107
|
-
step.run('branchA', async () => processA(true, data)),
|
|
108
|
-
step.run('branchB', async () => processB(true, data)),
|
|
109
|
-
]);
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Iteration
|
|
113
|
-
|
|
114
|
-
ForEach patterns use indexed `step.run()` for per-element durability:
|
|
115
|
-
|
|
116
|
-
```typescript
|
|
117
|
-
const results = [];
|
|
118
|
-
for (let i = 0; i < items.length; i++) {
|
|
119
|
-
results.push(await step.run(`process-${i}`, async () => processItem(true, items[i])));
|
|
120
|
-
}
|
|
121
|
-
```
|
|
79
|
+
`fw compile` and `fw_compile` always produce the TypeScript described above. Generating code for another platform is an export: `fw export --target <name>` hands the parsed workflow to a target an installed pack provides, and the pack documents what it writes. See [Deployment](deployment.md) and [Marketplace](marketplace.md).
|
|
122
80
|
|
|
123
81
|
---
|
|
124
82
|
|
|
125
|
-
##
|
|
83
|
+
## Deployment Annotations
|
|
126
84
|
|
|
127
|
-
These annotations
|
|
85
|
+
These workflow-level annotations are parsed by core into the workflow's options. The compiler ignores them; an export target reads the ones it supports. They go inside `@flowWeaver workflow` blocks.
|
|
128
86
|
|
|
129
87
|
### `@trigger`
|
|
130
88
|
|
|
@@ -208,6 +166,17 @@ Rate limiting:
|
|
|
208
166
|
### Complete Example
|
|
209
167
|
|
|
210
168
|
```typescript
|
|
169
|
+
/** @flowWeaver nodeType @expression */
|
|
170
|
+
function validateExpense(expenseId: string, amount: number): { expenseId: string; amount: number } {
|
|
171
|
+
if (amount <= 0) throw new Error('amount must be positive');
|
|
172
|
+
return { expenseId, amount };
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/** @flowWeaver nodeType @expression */
|
|
176
|
+
async function processPayment(expenseId: string, amount: number): Promise<{ result: object }> {
|
|
177
|
+
return { result: { expenseId, paid: amount } };
|
|
178
|
+
}
|
|
179
|
+
|
|
211
180
|
/**
|
|
212
181
|
* @flowWeaver workflow
|
|
213
182
|
* @trigger event="app/expense.submitted"
|
|
@@ -218,13 +187,14 @@ Rate limiting:
|
|
|
218
187
|
*
|
|
219
188
|
* @node v validateExpense
|
|
220
189
|
* @node pay processPayment
|
|
221
|
-
* @node wait
|
|
190
|
+
* @node wait delay [expr: duration="'48h'"]
|
|
222
191
|
* @path Start -> v -> wait -> pay -> Exit
|
|
223
192
|
*/
|
|
224
193
|
export async function expenseWorkflow(
|
|
194
|
+
execute: boolean,
|
|
225
195
|
params: { expenseId: string; amount: number }
|
|
226
|
-
): Promise<{ result: object }> {
|
|
227
|
-
throw new Error('
|
|
196
|
+
): Promise<{ onSuccess: boolean; onFailure: boolean; result: object }> {
|
|
197
|
+
throw new Error('generated body was not installed');
|
|
228
198
|
}
|
|
229
199
|
```
|
|
230
200
|
|
|
@@ -290,54 +260,11 @@ fw compile workflow.ts --dry-run
|
|
|
290
260
|
|
|
291
261
|
---
|
|
292
262
|
|
|
293
|
-
## Serve Handler Generation
|
|
294
|
-
|
|
295
|
-
Generate a complete HTTP handler for receiving Inngest events:
|
|
296
|
-
|
|
297
|
-
```bash
|
|
298
|
-
fw compile workflow.ts --target inngest --serve --framework next
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
### Supported Frameworks
|
|
302
|
-
|
|
303
|
-
| Framework | Handler |
|
|
304
|
-
|-----------|---------|
|
|
305
|
-
| `next` | Next.js App Router route handler |
|
|
306
|
-
| `express` | Express middleware |
|
|
307
|
-
| `hono` | Hono route handler |
|
|
308
|
-
| `fastify` | Fastify plugin |
|
|
309
|
-
| `remix` | Remix action |
|
|
310
|
-
|
|
311
|
-
### Typed Events (`--typed-events`)
|
|
312
|
-
|
|
313
|
-
Generate Zod schemas for event validation from `@param` annotations:
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
fw compile workflow.ts --target inngest --typed-events
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
## CLI Overrides
|
|
322
|
-
|
|
323
|
-
Several Inngest annotations can be overridden from the CLI without modifying the source file:
|
|
324
|
-
|
|
325
|
-
| CLI Flag | Overrides |
|
|
326
|
-
|----------|-----------|
|
|
327
|
-
| `--cron <schedule>` | `@trigger cron=` |
|
|
328
|
-
| `--retries <n>` | `@retries` |
|
|
329
|
-
| `--timeout <duration>` | `@timeout` |
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
fw compile workflow.ts --target inngest --retries 5 --timeout "1h"
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
|
|
337
263
|
## Related Topics
|
|
338
264
|
|
|
339
|
-
- [CLI Reference](cli-reference) — Full compile command flags
|
|
340
|
-
- [Deployment](deployment) — Export
|
|
341
|
-
- [Advanced Annotations](advanced-annotations) — Annotations that affect compilation
|
|
342
|
-
- [Debugging](debugging) — Debug instrumentation and WebSocket events
|
|
343
|
-
- [Built-in Nodes](built-in-nodes) — delay, waitForEvent, invokeWorkflow
|
|
265
|
+
- [CLI Reference](cli-reference.md) — Full compile command flags
|
|
266
|
+
- [Deployment](deployment.md) — Export targets, HTTP serve mode, OpenAPI
|
|
267
|
+
- [Advanced Annotations](advanced-annotations.md) — Annotations that affect compilation
|
|
268
|
+
- [Debugging](debugging.md) — Debug instrumentation and WebSocket events
|
|
269
|
+
- [Built-in Nodes](built-in-nodes.md) — delay, waitForEvent, invokeWorkflow, waitForAgent
|
|
270
|
+
- [Durable Gates](durable-gates.md) — Workflows that pause and resume across processes
|
|
@@ -8,7 +8,7 @@ keywords: [annotations, nodes, workflows, ports, scopes, STEP, expression, conne
|
|
|
8
8
|
|
|
9
9
|
# Direct Code Editing
|
|
10
10
|
|
|
11
|
-
**The code IS the workflow
|
|
11
|
+
**The code IS the workflow.**
|
|
12
12
|
|
|
13
13
|
Flow Weaver workflows are plain TypeScript files with JSDoc annotations. You write functions, annotate them, and the compiler handles everything else. No drag-and-drop required.
|
|
14
14
|
|
|
@@ -23,39 +23,37 @@ Here is a complete, minimal workflow written entirely by hand:
|
|
|
23
23
|
* @output message - Greeting message
|
|
24
24
|
*/
|
|
25
25
|
function greet(name: string): string {
|
|
26
|
-
return
|
|
26
|
+
return "Hello, " + name + "!";
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* @flowWeaver nodeType
|
|
31
31
|
* @expression
|
|
32
32
|
* @label Uppercase
|
|
33
|
-
* @input
|
|
33
|
+
* @input message - Text to transform
|
|
34
34
|
* @output result - Uppercased text
|
|
35
35
|
*/
|
|
36
|
-
function uppercase(
|
|
37
|
-
return
|
|
36
|
+
function uppercase(message: string): string {
|
|
37
|
+
return message.toUpperCase();
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* @flowWeaver workflow
|
|
42
42
|
* @param name - Name to greet
|
|
43
43
|
* @returns result - Uppercased greeting
|
|
44
|
-
* @node greeter greet
|
|
45
|
-
* @node transform uppercase
|
|
46
|
-
* @
|
|
47
|
-
* @connect greeter.message -> transform.text
|
|
48
|
-
* @connect transform.result -> Exit.result
|
|
44
|
+
* @node greeter greet
|
|
45
|
+
* @node transform uppercase
|
|
46
|
+
* @path Start -> greeter -> transform -> Exit
|
|
49
47
|
*/
|
|
50
48
|
export function greetingWorkflow(
|
|
51
49
|
execute: boolean,
|
|
52
50
|
params: { name: string }
|
|
53
51
|
): { onSuccess: boolean; onFailure: boolean; result: string } {
|
|
54
|
-
|
|
52
|
+
throw new Error('generated body was not installed');
|
|
55
53
|
}
|
|
56
54
|
```
|
|
57
55
|
|
|
58
|
-
That is it. Two expression-mode functions, one workflow annotation, zero boilerplate. The compiler
|
|
56
|
+
That is it. Two expression-mode functions, one workflow annotation, zero boilerplate. The `@path` line declares the route, and the compiler wires the data ports by name (`Start.name -> greeter.name`, `greeter.message -> transform.message`, `transform.result -> Exit.result`) together with the STEP connections along the way -- no `execute`, `onSuccess`, `onFailure`, or `@connect` lines needed. The exported function is a stub; the compiler installs the real body.
|
|
59
57
|
|
|
60
58
|
---
|
|
61
59
|
|
|
@@ -72,14 +70,15 @@ That is it. Two expression-mode functions, one workflow annotation, zero boilerp
|
|
|
72
70
|
| Convert existing functions | `node-conversion` | concepts |
|
|
73
71
|
| Debug validation errors | `debugging` | error-codes |
|
|
74
72
|
| Look up specific error code | `error-codes` | debugging |
|
|
75
|
-
| Reuse workflow fragments | `patterns` | concepts |
|
|
76
73
|
| Check annotation syntax | `jsdoc-grammar` | concepts |
|
|
77
74
|
| Look up CLI commands/flags | `cli-reference` | — |
|
|
78
75
|
| Pull execution, merge strategies | `advanced-annotations` | jsdoc-grammar |
|
|
79
|
-
| Compile to
|
|
76
|
+
| Compile to a pack target | `compilation` | cli-reference |
|
|
80
77
|
| Deploy to cloud | `deployment` | compilation |
|
|
81
|
-
|
|
|
82
|
-
| Use delay/
|
|
78
|
+
| Get the one-page map first | `orientation` | concepts |
|
|
79
|
+
| Use delay/invokeWorkflow/mocks | `built-in-nodes` | debugging |
|
|
80
|
+
| Pause for approval/input/agent | `durable-gates` | built-in-nodes |
|
|
81
|
+
| Drive Flow Weaver from an editor | `mcp-tools` | cli-reference |
|
|
83
82
|
| Publish marketplace packages | `marketplace` | — |
|
|
84
83
|
|
|
85
84
|
Use `fw docs <topic>` to read any topic.
|
|
@@ -99,19 +98,19 @@ fw watch <file> # Watch mode
|
|
|
99
98
|
fw dev <file> # Watch + compile + run in one command
|
|
100
99
|
fw serve [dir] # HTTP server exposing workflows as endpoints
|
|
101
100
|
fw diagram <file> # Generate SVG diagram
|
|
102
|
-
fw export <file> # Export
|
|
101
|
+
fw export <file> # Export through a target provided by an installed pack
|
|
103
102
|
fw docs # Browse documentation
|
|
104
103
|
fw docs <topic> # Read a specific topic
|
|
105
104
|
fw docs search <q> # Search across all docs
|
|
106
105
|
```
|
|
107
106
|
|
|
108
|
-
Options: `-w/--workflow
|
|
107
|
+
Options: `-w/--workflow`, `--json`, `--format text|mermaid`. See `cli-reference` for all commands and flags.
|
|
109
108
|
|
|
110
109
|
## Core Annotations
|
|
111
110
|
|
|
112
111
|
### Expression Node Type (Recommended)
|
|
113
112
|
|
|
114
|
-
> **Tip:**
|
|
113
|
+
> **Tip:** A node type is an `@expression` function unless it has one of the reasons listed under "Node Type (Normal Mode)" below.
|
|
115
114
|
|
|
116
115
|
```typescript
|
|
117
116
|
/**
|
|
@@ -139,7 +138,7 @@ Expression nodes are pure functions where:
|
|
|
139
138
|
- Best for: transformers, math, utilities, data mapping, async fetchers, API calls
|
|
140
139
|
- Optional `@color` and `@icon` annotations customize the node's appearance in SVG diagrams (see `advanced-annotations` for available values)
|
|
141
140
|
|
|
142
|
-
> **Start with expression mode.** Only switch to normal mode when
|
|
141
|
+
> **Start with expression mode.** Only switch to normal mode when the node must route a failure to another node or to `Exit.onFailure`, return data alongside a failure (error-with-data), is a void side-effect, is a boolean branch, owns a scope, or is a durable gate or effect. When an expression node throws, the runtime marks its `onFailure` port and then rethrows: the error propagates out of the workflow call, so a `:fail` route from an expression node is not taken. A failure that downstream nodes must react to is returned, not thrown, from a normal-mode node.
|
|
143
142
|
|
|
144
143
|
#### Async Expression Example
|
|
145
144
|
|
|
@@ -159,7 +158,15 @@ async function fetchUser(userId: string): Promise<User> {
|
|
|
159
158
|
|
|
160
159
|
### Node Type (Normal Mode)
|
|
161
160
|
|
|
162
|
-
|
|
161
|
+
Normal mode is the exception, not the definition of a node type. Drop `@expression` only when the node has to take over control flow itself, for one of these reasons:
|
|
162
|
+
|
|
163
|
+
- **Error-with-data** -- it must return data alongside the failure signal, not just fail
|
|
164
|
+
- **Void side-effect** -- it returns nothing, so there is no value to map to an output
|
|
165
|
+
- **Boolean branch** -- it routes on a condition (`onSuccess = cond`, `onFailure = !cond`) rather than on an error
|
|
166
|
+
- **Scope owner** -- it drives scoped ports itself, like a forEach or retry node (see Scoped Nodes below)
|
|
167
|
+
- **Durable gate or effect** -- see `durable-gates`
|
|
168
|
+
|
|
169
|
+
A normal-mode function takes `execute: boolean` as its first parameter, then each `@input` as a direct parameter, and returns `onSuccess`/`onFailure` next to its outputs. Say the reason in a comment so the next reader does not "fix" it back to expression mode:
|
|
163
170
|
|
|
164
171
|
```typescript
|
|
165
172
|
/**
|
|
@@ -174,31 +181,38 @@ function nodeName(
|
|
|
174
181
|
inputA: TypeA, // Each @input becomes a direct parameter
|
|
175
182
|
inputB: TypeB // NOT wrapped in an object
|
|
176
183
|
): { onSuccess: boolean; onFailure: boolean; outputName: Type } {
|
|
184
|
+
// Normal mode: outputName is returned even when the node fails (error-with-data)
|
|
177
185
|
if (!execute) return { onSuccess: false, onFailure: false, outputName: null };
|
|
186
|
+
if (!ok) return { onSuccess: false, onFailure: true, outputName: partial };
|
|
178
187
|
return { onSuccess: true, onFailure: false, outputName: result };
|
|
179
188
|
}
|
|
180
189
|
```
|
|
181
190
|
|
|
182
191
|
### Workflow Export
|
|
183
192
|
|
|
193
|
+
<!-- example: fragment -->
|
|
184
194
|
```typescript
|
|
185
195
|
/**
|
|
186
196
|
* @flowWeaver workflow
|
|
187
197
|
* @param inputPort - Description
|
|
188
198
|
* @returns outputPort - Description
|
|
189
|
-
* @node instanceId nodeTypeName
|
|
190
|
-
* @
|
|
199
|
+
* @node instanceId nodeTypeName
|
|
200
|
+
* @path Start -> instanceId -> Exit
|
|
191
201
|
* @connect instanceId.output -> Exit.outputPort
|
|
192
202
|
*/
|
|
193
203
|
export function workflowName(
|
|
194
204
|
execute: boolean,
|
|
195
205
|
params: { inputPort: Type }
|
|
196
206
|
): { onSuccess: boolean; onFailure: boolean; outputPort: Type } {
|
|
197
|
-
|
|
207
|
+
throw new Error('generated body was not installed');
|
|
198
208
|
}
|
|
199
209
|
```
|
|
200
210
|
|
|
201
|
-
|
|
211
|
+
`@path` declares the control flow and wires every data port by name: each input of a step resolves to the nearest earlier step with a same-name output, and Exit's `@returns` ports resolve the same way (`Start.inputPort -> instanceId.inputPort` above). Add `@connect` only for ports whose names differ, like `instanceId.output -> Exit.outputPort`; an explicit `@connect` always wins over the name resolution. A `Start` param never passes straight through to `Exit` by name -- write that as an explicit `@connect`.
|
|
212
|
+
|
|
213
|
+
The exported function keeps this signature (`execute: boolean`, a `params` object, `onSuccess`/`onFailure` plus the `@returns` ports) and a throwing stub body; the compiler installs the real body.
|
|
214
|
+
|
|
215
|
+
> `@path` writes the STEP connections (`execute`, `onSuccess`, `onFailure`) for every step, whatever the node's mode. Use `:ok`/`:fail` suffixes on a step to branch, and explicit STEP `@connect` lines only to override the automatic wiring. See `advanced-annotations` for the full `@path` rules.
|
|
202
216
|
|
|
203
217
|
### Importing External Functions
|
|
204
218
|
|
|
@@ -207,10 +221,10 @@ Use `@fwImport` to turn npm package functions or local module exports into node
|
|
|
207
221
|
```typescript
|
|
208
222
|
/**
|
|
209
223
|
* @flowWeaver workflow
|
|
210
|
-
* @fwImport npm/lodash/
|
|
224
|
+
* @fwImport npm/lodash/uniq uniq from "lodash"
|
|
211
225
|
* @fwImport local/utils/format formatDate from "./utils"
|
|
212
|
-
* @node
|
|
213
|
-
* @connect Start.items ->
|
|
226
|
+
* @node dedupe npm/lodash/uniq
|
|
227
|
+
* @connect Start.items -> dedupe.array
|
|
214
228
|
*/
|
|
215
229
|
```
|
|
216
230
|
|
|
@@ -237,6 +251,18 @@ Use `@fwImport` to turn npm package functions or local module exports into node
|
|
|
237
251
|
|
|
238
252
|
### Node Types (direct parameters)
|
|
239
253
|
|
|
254
|
+
Expression mode (the default, with `@expression`):
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
function myNode(inputA: Type, inputB: Type): ReturnType
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
- Params: each `@input` as a direct parameter, in declaration order
|
|
261
|
+
- Return: the value of the single `@output`, or an object with one property per `@output`
|
|
262
|
+
- Failure: throw; the runtime marks `onFailure` and rethrows, so the error leaves the workflow call
|
|
263
|
+
|
|
264
|
+
Normal mode (only for the reasons listed under "Node Type (Normal Mode)"):
|
|
265
|
+
|
|
240
266
|
```typescript
|
|
241
267
|
function myNode(execute: boolean, inputA: Type, inputB: Type): {...}
|
|
242
268
|
```
|
|
@@ -255,35 +281,30 @@ export function myWorkflow(execute: boolean, params: { inputA: Type }): {...}
|
|
|
255
281
|
- Second param: `params: {...}` object containing all `@param` inputs
|
|
256
282
|
- Return: `{ onSuccess: boolean, onFailure: boolean, ...outputs }`
|
|
257
283
|
|
|
258
|
-
> **Key difference:** Nodes use direct params, workflows use `params` object.
|
|
284
|
+
> **Key difference:** Nodes use direct params, workflows use `params` object. The workflow export always has the `execute` / `onSuccess` / `onFailure` shape, even when every node in it is an expression node.
|
|
259
285
|
|
|
260
286
|
## Node Registration
|
|
261
287
|
|
|
262
|
-
Every node used in a workflow must be
|
|
288
|
+
Every node used in a workflow must be declared with `@node`. The compiler builds a static directed graph from annotations at compile time, so it needs to know about every node before code generation begins. This is different from normal function calls where you just invoke a function directly.
|
|
263
289
|
|
|
264
|
-
|
|
290
|
+
A `@node` reference must resolve to a node type the compiler knows: a function annotated `@flowWeaver nodeType` in the same file, one imported via `@fwImport`, or a built-in.
|
|
265
291
|
|
|
266
|
-
|
|
292
|
+
Built-in nodes (`delay`, `waitForEvent`, `invokeWorkflow`, `waitForAgent`) need no import and no declaration — the parser injects them and the compiler inlines their bodies:
|
|
267
293
|
|
|
268
294
|
```typescript
|
|
269
|
-
import { waitForEvent } from '@synergenius/flow-weaver/built-in-nodes';
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* @flowWeaver nodeType
|
|
273
|
-
* @input eventName - Event to wait for
|
|
274
|
-
* @output eventData - Received event payload
|
|
275
|
-
*/
|
|
276
|
-
// (function body provided by the library)
|
|
277
|
-
|
|
278
295
|
/**
|
|
279
296
|
* @flowWeaver workflow
|
|
280
|
-
* @node wait
|
|
281
|
-
* @
|
|
282
|
-
* @connect wait.eventData -> Exit.data
|
|
297
|
+
* @node wait delay [expr: duration="'30s'"]
|
|
298
|
+
* @path Start -> wait -> Exit
|
|
283
299
|
*/
|
|
284
|
-
export function myWorkflow(execute: boolean
|
|
300
|
+
export async function myWorkflow(execute: boolean): Promise<{ onSuccess: boolean; onFailure: boolean }> {
|
|
301
|
+
throw new Error('generated body was not installed');
|
|
302
|
+
}
|
|
285
303
|
```
|
|
286
304
|
|
|
305
|
+
- `waitForEvent` and `waitForAgent` are durable gates: using either makes the workflow pause and yield, and every other node must then be classified `@durablePure`, `@durableGate`, or `@durableEffect`. See [Durable Gates](durable-gates.md)
|
|
306
|
+
- The full signatures are in [Built-in Nodes](built-in-nodes.md)
|
|
307
|
+
|
|
287
308
|
## Port Types
|
|
288
309
|
|
|
289
310
|
STRING, NUMBER, BOOLEAN, OBJECT, ARRAY, FUNCTION, ANY, STEP
|
|
@@ -299,6 +320,8 @@ Types are inferred from TypeScript signature. STEP is for control flow (execute,
|
|
|
299
320
|
|
|
300
321
|
For loops/iteration, use **per-port scopes** with explicit `scope:scopeName` suffixes.
|
|
301
322
|
|
|
323
|
+
A scope owner is one of the cases that needs normal mode: the node receives `execute`, calls the generated callback for each item itself, and reports `onSuccess`/`onFailure` when the loop is done. The nodes inside the scope are ordinary expression nodes.
|
|
324
|
+
|
|
302
325
|
### ForEach Node Pattern
|
|
303
326
|
|
|
304
327
|
```typescript
|
|
@@ -317,6 +340,7 @@ function forEach(
|
|
|
317
340
|
items: any[],
|
|
318
341
|
processItem: (start: boolean, item: any) => { success: boolean; failure: boolean; processed: any }
|
|
319
342
|
) {
|
|
343
|
+
// Normal mode: this node owns the processItem scope and drives the callback itself
|
|
320
344
|
if (!execute) return { onSuccess: false, onFailure: false, results: [] };
|
|
321
345
|
const results = items.map((item) => processItem(true, item).processed);
|
|
322
346
|
return { onSuccess: true, onFailure: false, results };
|
|
@@ -329,10 +353,16 @@ Key points:
|
|
|
329
353
|
- Callback parameter is auto-generated, receives scoped ports as args
|
|
330
354
|
- Node iterates by calling callback for each item
|
|
331
355
|
- `start`, `success`, `failure` are mandatory scoped STEP ports
|
|
356
|
+
- Scoped STEP wiring is written with `@connect` and the `:scopeName` suffix; `@path` does not express it
|
|
332
357
|
|
|
333
358
|
### Workflow Usage
|
|
334
359
|
|
|
335
360
|
```typescript
|
|
361
|
+
/** @flowWeaver nodeType @expression */
|
|
362
|
+
function processor(item: any): { result: any } {
|
|
363
|
+
return { result: item };
|
|
364
|
+
}
|
|
365
|
+
|
|
336
366
|
/**
|
|
337
367
|
* @flowWeaver workflow
|
|
338
368
|
* @node loop forEach
|
|
@@ -352,21 +382,6 @@ Key points:
|
|
|
352
382
|
|
|
353
383
|
See `fw docs export-interface` for full scope documentation.
|
|
354
384
|
|
|
355
|
-
## Node Positioning
|
|
356
|
-
|
|
357
|
-
Instance nodes use a bracket attribute on the `@node` line: `@node id Type [position: x y]`
|
|
358
|
-
|
|
359
|
-
The standalone `@position nodeId x y` syntax is reserved for Start and Exit virtual nodes, which have no `@node` line.
|
|
360
|
-
|
|
361
|
-
Values are in pixels on a 90px grid.
|
|
362
|
-
|
|
363
|
-
Default layout:
|
|
364
|
-
|
|
365
|
-
- Start: -450px (col -5)
|
|
366
|
-
- Exit: 450px (col 5)
|
|
367
|
-
|
|
368
|
-
Spacing: 180px horizontal (standard), 150px vertical for branches
|
|
369
|
-
|
|
370
385
|
## Workflow Recipes
|
|
371
386
|
|
|
372
387
|
### Recipe 1: Build a Workflow from Scratch
|
|
@@ -384,7 +399,7 @@ Spacing: 180px horizontal (standard), 150px vertical for branches
|
|
|
384
399
|
|
|
385
400
|
```
|
|
386
401
|
1. fw describe my-workflow.ts --format text # understand current structure
|
|
387
|
-
2. Edit the file: add @
|
|
402
|
+
2. Edit the file: add an @expression nodeType function, a @node line, and put it on the @path (add @connect only for ports whose names differ)
|
|
388
403
|
3. fw validate my-workflow.ts # verify
|
|
389
404
|
```
|
|
390
405
|
|
|
@@ -433,9 +448,11 @@ See `advanced-annotations` for full documentation.
|
|
|
433
448
|
|
|
434
449
|
- `cli-reference` - Complete CLI command reference
|
|
435
450
|
- `advanced-annotations` - Pull execution, merge strategies, auto-connect, and more
|
|
436
|
-
- `compilation` - Compilation targets (TypeScript
|
|
451
|
+
- `compilation` - Compilation targets (TypeScript and pack targets) and options
|
|
437
452
|
- `deployment` - Export to cloud, serve mode, OpenAPI
|
|
438
|
-
- `built-in-nodes` - delay, waitForEvent, invokeWorkflow, and mock system
|
|
453
|
+
- `built-in-nodes` - delay, waitForEvent, invokeWorkflow, waitForAgent, and mock system
|
|
454
|
+
- `durable-gates` - Pausing at a gate, resuming, and driving a run from an AI assistant
|
|
455
|
+
- `mcp-tools` - Every MCP tool, which to prefer, and result sizes
|
|
439
456
|
- `marketplace` - Package ecosystem and plugins
|
|
440
457
|
- `export-interface` - Interface ports and scoped iteration
|
|
441
458
|
- `iterative-development` - Step-by-step building
|