@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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: MCP Tools
|
|
3
|
+
description: Every tool the Flow Weaver MCP server exposes, what each is for, which to prefer, and how large their results are
|
|
4
|
+
keywords: [mcp, tools, fw_run, fw_resume, fw_runs, fw_docs, fw_validate, fw_describe, fw_query, fw_diagram, fw_compile, fw_modify, fw_scaffold, fw_debug_workflow, fw_market_search, fw_context, mcp-server, mcp-setup, Claude Code, Cursor, assistant, tokens]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# MCP Tools
|
|
8
|
+
|
|
9
|
+
`fw mcp-server --stdio` exposes 30 tools and one prompt. Every tool definition is sent to the assistant on every turn — about 27 KB, or roughly 6,700 tokens, before any work happens — so this page also says which tools to reach for and which results are large.
|
|
10
|
+
|
|
11
|
+
- Register with an editor: `fw mcp-setup` (Claude Code, Cursor, VS Code, Windsurf, Codex, OpenClaw)
|
|
12
|
+
- Every result is JSON: `{ success: true, data }` or `{ success: false, error: { code, message } }`. The one exception is `fw_context`, whose result is the bundle itself as markdown
|
|
13
|
+
- Paths are resolved from the server's working directory; pass absolute paths when in doubt
|
|
14
|
+
- Sizes below are measured on a 3-node workflow; they scale with the workflow
|
|
15
|
+
|
|
16
|
+
## Choosing a tool
|
|
17
|
+
|
|
18
|
+
| Need | Use | Not |
|
|
19
|
+
|------|-----|-----|
|
|
20
|
+
| Is this file valid? | `fw_validate` (~100 B) | `fw_describe` |
|
|
21
|
+
| What nodes and connections are there? | `fw_query` with one query type (~300 B) | `fw_describe` (~2.3 KB) |
|
|
22
|
+
| Show the graph in chat | `fw_diagram` with `format: "ascii-compact"` (~240 B) | The default `svg` (markup, not readable) |
|
|
23
|
+
| Look something up | `fw_docs` with `action: "search"`, then `read` with `compact: true` | The `authoring`, `ops` and `full` presets of `fw_context` (75–195 KB) |
|
|
24
|
+
| Run a workflow | `fw_run`, then `fw_resume` if it pauses | `fw_debug_workflow`, unless you need to step |
|
|
25
|
+
| Change structure | `fw_modify_batch` for several edits, `fw_modify` for one | Rewriting the annotations by hand |
|
|
26
|
+
| Create a workflow | Write the file (node type functions + workflow stub), then `fw_validate` | A generator; there is none |
|
|
27
|
+
|
|
28
|
+
## Running workflows
|
|
29
|
+
|
|
30
|
+
| Tool | Arguments | Returns | Notes |
|
|
31
|
+
|------|-----------|---------|-------|
|
|
32
|
+
| `fw_run` | `filePath`, `workflowName?`, `params?` | `completed` + `result`, or `waiting` + `runId` + `gate` | Gate inputs are named by port. ~300–400 B |
|
|
33
|
+
| `fw_resume` | `runId`, one of `answer` / `reject` | Same shape | Control ports are filled in for you |
|
|
34
|
+
| `fw_runs` | `runId?`, `filePath?`, `status?`, `limit?` | One run, or a list newest first | Re-read a pause without resuming. `status` is one of `waiting`, `completed`, `failed`, `cancelled` (`waiting` is the one that needs you); `limit` is how many to list, 1 to 200, default 20. When more exist the result says how many older runs were left out |
|
|
35
|
+
|
|
36
|
+
See [Durable Gates](durable-gates.md) for what a gate is and the `answer` rules. A coordinator of your own does not go through MCP: it calls `createLocalCoordinator` (see [Library](library.md)).
|
|
37
|
+
|
|
38
|
+
## Inspecting a workflow
|
|
39
|
+
|
|
40
|
+
| Tool | Arguments | Returns | Notes |
|
|
41
|
+
|------|-----------|---------|-------|
|
|
42
|
+
| `fw_validate` | `filePath`, `workflowName?`, `draft?` | `{ valid, errors, warnings }` | Cheapest check. Each item is `{ message, severity, code, nodeId? }` plus one of `hint` (a tool call to make next) or `fix`. `draft` suppresses `STUB_NODE` errors for unimplemented nodes |
|
|
43
|
+
| `fw_query` | `filePath`, `query`, `nodeId?`, `workflowName?` | Depends on `query` | `nodes`, `connections`, `deps`, `dependents`, `data-deps`, `execution-order`, `isolated`, `dead-ends`, `disconnected-outputs`, `node-types`. Ask one question, get one answer |
|
|
44
|
+
| `fw_describe` | `filePath`, `format?`, `node?`, `workflowName?` | Full structure + validation | `json` (default), `text`, `mermaid`, `paths`, `ascii`, `ascii-compact`. Everything at once; ~2 KB+ |
|
|
45
|
+
| `fw_diagram` | `filePath` or `source`, `format?`, `theme?`, `outputPath?` | Diagram | `svg` (default; the spine the console shows, as a vector image — write it with `outputPath`), `ascii` (~2 KB), `ascii-compact` (~240 B), `text`. Use `ascii-compact` in chat |
|
|
46
|
+
| `fw_diff` | `file1`, `file2`, `format?`, `workflowName?` | Semantic diff | `text` (default, ~3 KB box drawing) or `json` |
|
|
47
|
+
| `fw_find_workflows` | `directory`, `pattern?` | Files with `@flowWeaver workflow` and their metadata | Glob, default `**/*.ts`; ~500 ms per directory tree |
|
|
48
|
+
|
|
49
|
+
## Creating and editing
|
|
50
|
+
|
|
51
|
+
| Tool | Arguments | Returns | Notes |
|
|
52
|
+
|------|-----------|---------|-------|
|
|
53
|
+
| `fw_modify` | `filePath`, `operation`, `params`, `workflowName?`, `preview?` | Updated file + validation | `addNode`, `removeNode`, `renameNode`, `addConnection`, `removeConnection`, `setNodeLabel`. Rewrites the JSDoc annotations only; a file that was already compiled in place is recompiled so its body stays consistent |
|
|
54
|
+
| `fw_modify_batch` | `filePath`, `operations`, `workflowName?`, `preview?` | Same | One parse/write/validate cycle for many operations. An `addConnection` that already exists is skipped with a warning, not an error |
|
|
55
|
+
| `fw_scaffold` | `template`, `filePath`, `name?`, `config?`, `preview?` | New workflow or node from a template | Templates are listed in [Scaffold](scaffold.md). When `filePath` exists the code is appended to it |
|
|
56
|
+
| `fw_list_templates` | `type?` | Template catalogue (~4 KB) | Same content as the Scaffold topic |
|
|
57
|
+
| `fw_migrate` | `glob`, `dryRun?` | Files rewritten to current syntax | Parse → regenerate round-trip; use `dryRun` first |
|
|
58
|
+
| `fw_compile` | `filePath`, `write?`, `production?`, `workflowName?`, `draft?` | Compiled output path and the validation warnings | Only marker sections are regenerated. `draft` lets a workflow with stub nodes compile |
|
|
59
|
+
| `fw_export` | `filePath`, `target`, `outputDir?`, `production?`, `includeDocs?`, `preview?`, … | Deployment files | Targets come from installed packs; with none installed every target is `INVALID_TARGET`. `production` and `includeDocs` are off unless given, as on the CLI |
|
|
60
|
+
|
|
61
|
+
## Debugging
|
|
62
|
+
|
|
63
|
+
Six tools share one in-memory session; the session ends with the server process and cannot resume a gate.
|
|
64
|
+
|
|
65
|
+
| Tool | Arguments | Notes |
|
|
66
|
+
|------|-----------|-------|
|
|
67
|
+
| `fw_debug_workflow` | `filePath`, `params?`, `breakpoints?`, `workflowName?` | Starts a session paused before the first node; returns `debugId` |
|
|
68
|
+
| `fw_debug_step` | `debugId` | Execute one node |
|
|
69
|
+
| `fw_debug_continue` | `debugId`, `toBreakpoint?` | Run to completion or next breakpoint |
|
|
70
|
+
| `fw_debug_inspect` | `debugId`, `nodeId?` | Variables without advancing |
|
|
71
|
+
| `fw_debug_set_variable` | `debugId`, `nodeId`, `portName`, `value`, `executionIndex?` | Override a value for downstream nodes |
|
|
72
|
+
| `fw_debug_breakpoint` | `debugId`, `action`, `nodeId?` | `add`, `remove`, `list` |
|
|
73
|
+
| `fw_list_debug_sessions` | — | Active sessions |
|
|
74
|
+
|
|
75
|
+
See [Debugging](debugging.md).
|
|
76
|
+
|
|
77
|
+
## Documentation and environment
|
|
78
|
+
|
|
79
|
+
| Tool | Arguments | Returns | Notes |
|
|
80
|
+
|------|-----------|---------|-------|
|
|
81
|
+
| `fw_docs` | `action` (`list` / `read` / `search`), `topic?`, `query?`, `compact?`, `limit?` | Topics, one topic, or matching sections | `list` returns slug, name and description (~4 KB for 20 topics). `search` returns the 8 best sections by default (`limit` up to 20, `total` says how many matched), each with an excerpt of at most 300 characters; `read` with `compact: true` drops prose and keeps headings, tables, lists, and code. Topics declared by installed packs are included |
|
|
82
|
+
| `fw_context` | `preset?`, `profile?`, `topics?`, `addTopics?`, `includeGrammar?` | The orientation bundle as markdown, ending with every other topic and its size | `core` (default) is the `orientation` topic plus the on-demand topic list, ~6 KB — the intended session start. `authoring` ≈ 75 KB, `ops` ≈ 100 KB, `full` ≈ 195 KB bundle whole references; prefer reading single topics with `fw_docs`. `includeGrammar` appends the generated EBNF (~3 KB), which `jsdoc-grammar` already covers |
|
|
83
|
+
| `fw_list_resources` | `type?` | Icons, colors, tags (~3.7 KB) | Same content as the Available Colors / Icons sections of [Advanced Annotations](advanced-annotations.md) |
|
|
84
|
+
| `fw_doctor` | `directory?` | Environment checks | Which install is running (version and path), Node version, config, dependencies; warns when the directory is a different Flow Weaver checkout than the running server |
|
|
85
|
+
| `fw_market_search` | `query`, `limit?`, `registryUrl?` | npm packages tagged as Flow Weaver packs | |
|
|
86
|
+
| `fw_market_install` | `package` | Installs via npm | Pack tools register on the next server start |
|
|
87
|
+
| `fw_market_list` | — | Installed packs and what they contribute | |
|
|
88
|
+
|
|
89
|
+
## The no-code prompt
|
|
90
|
+
|
|
91
|
+
The server also publishes one prompt, `flow-weaver-nocode`. It instructs the assistant to build workflows from plain-language descriptions by writing the workflow file itself, then `fw_validate` → `fw_diagram`, showing step summaries and ASCII diagrams instead of code unless asked.
|
|
92
|
+
|
|
93
|
+
## Error codes
|
|
94
|
+
|
|
95
|
+
A failed result's `error.code` is one of three kinds. `INVALID_INPUT` means an argument was wrong: missing, malformed, or not one of the allowed values; fix the call and send it again. `<TOOL>_ERROR` means the tool itself failed on good input, named after the tool (`COMPILE_ERROR`, `VALIDATE_ERROR`, `MODIFY_ERROR`, `MARKET_SEARCH_ERROR`); the message says why. The rest name a state worth branching on and keep their names: `PARSE_ERROR`, `FILE_NOT_FOUND`, `INVALID_TARGET`, `CYCLE_DETECTED`, `EXECUTION_ERROR`, `SESSION_NOT_FOUND` and `NOT_PAUSED` for the debugger, and for runs `RUN_NOT_FOUND`, `RUN_NOT_WAITING`, `RUN_BUSY`, `BUNDLE_CHANGED`, `AMBIGUOUS_WORKFLOW`, `MISSING_OUTPUTS` and `AMBIGUOUS_EFFECT`.
|
|
96
|
+
|
|
97
|
+
## Related Topics
|
|
98
|
+
|
|
99
|
+
- [Durable Gates](durable-gates.md) — Running and resuming gated workflows
|
|
100
|
+
- [CLI Reference](cli-reference.md) — `mcp-server` and `mcp-setup`; most tools mirror a CLI command
|
|
101
|
+
- [Debugging](debugging.md) — The debug session tools in context
|
|
102
|
+
- [Scaffold](scaffold.md) — Template catalogue behind `fw_scaffold`
|
|
@@ -15,7 +15,7 @@ Does it need to return error data alongside the failure signal?
|
|
|
15
15
|
NO -> expression mode (@expression)
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
**Default to expression mode.**
|
|
18
|
+
**Default to expression mode.** A throw in an expression node marks it failed and propagates the error out of the workflow call. Use normal mode when a failure must be routed to another node or to `Exit.onFailure`, must carry data, or the function returns void.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -32,39 +32,55 @@ Does it need to return error data alongside the failure signal?
|
|
|
32
32
|
|
|
33
33
|
Expression nodes are pure functions. The runtime auto-manages `execute`, `onSuccess`, and `onFailure`. The function signature and body are NOT modified -- only a JSDoc block is added.
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## The minimal form
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
- First line: `@flowWeaver nodeType`
|
|
39
|
-
- Second line: `@expression`
|
|
40
|
-
- Add `@input <name>` for each function parameter
|
|
41
|
-
- Add `@output` based on the return type:
|
|
42
|
-
- **Primitive or array return** -> single `@output result`
|
|
43
|
-
- **Object return** `{ a: T, b: U }` -> one `@output` per property (`@output a`, `@output b`)
|
|
44
|
-
- **void return** -> no `@output` tags (only onSuccess/onFailure, which are automatic)
|
|
45
|
-
- Add `@label` with a human-readable name (PascalCase -> spaced words)
|
|
46
|
-
- Do NOT add `execute` parameter to the function
|
|
47
|
-
- Do NOT change the return type
|
|
48
|
-
- Do NOT modify the function body
|
|
49
|
-
|
|
50
|
-
## Example -- single output (primitive return)
|
|
37
|
+
**Ports are inferred from the signature.** For a fully-typed function, `@flowWeaver nodeType @expression` is the whole annotation. Each parameter becomes an input port; each returned object property becomes an output port (a primitive or array return is one port, `result`). You do not restate them.
|
|
51
38
|
|
|
52
39
|
```typescript
|
|
53
|
-
|
|
40
|
+
/** @flowWeaver nodeType @expression */
|
|
54
41
|
function add(a: number, b: number): number {
|
|
55
42
|
return a + b;
|
|
56
43
|
}
|
|
44
|
+
```
|
|
57
45
|
|
|
58
|
-
|
|
46
|
+
That is a complete node type: two inputs `a` and `b`, one output `result`. Write this first. Reach for the tags below only when you want something inference cannot give you.
|
|
47
|
+
|
|
48
|
+
## When to add tags
|
|
49
|
+
|
|
50
|
+
`@input`, `@output` and `@label` are **optional overrides**, not a transcription step. Add one only for a specific reason:
|
|
51
|
+
|
|
52
|
+
- `@input name - Description` / `@output name - Description` — to document a port. The description is the only thing here inference cannot produce.
|
|
53
|
+
- `@input [name]` / `@input [name=default]` — to mark an input optional or give it a default.
|
|
54
|
+
- `@input name [order:N]` / `@output name [order:N]` — to fix the visual order of ports in the editor.
|
|
55
|
+
- `@label Display Name` — to set the node's display name in diagrams (defaults to the function name).
|
|
56
|
+
- `@color`, `@icon`, `@tag` — visual customization.
|
|
57
|
+
|
|
58
|
+
Rules for the function itself, always:
|
|
59
|
+
|
|
60
|
+
- Do NOT add an `execute` parameter.
|
|
61
|
+
- Do NOT change the return type.
|
|
62
|
+
- Do NOT modify the body.
|
|
63
|
+
|
|
64
|
+
A function used as a node with **no** `@flowWeaver nodeType` annotation at all still works (ports are inferred) but raises `INFERRED_NODE_TYPE`, because the parser cannot tell it was meant to be a node. Adding the one-line annotation silences that; adding port tags is not what it asks for.
|
|
65
|
+
|
|
66
|
+
## Example -- ports inferred, description added
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// Minimal: ports inferred
|
|
70
|
+
/** @flowWeaver nodeType @expression */
|
|
71
|
+
function add(a: number, b: number): number {
|
|
72
|
+
return a + b;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// With descriptions, when they earn their place
|
|
59
76
|
/**
|
|
60
77
|
* @flowWeaver nodeType
|
|
61
78
|
* @expression
|
|
62
|
-
* @
|
|
63
|
-
* @input
|
|
64
|
-
* @
|
|
65
|
-
* @output result
|
|
79
|
+
* @input a - First addend
|
|
80
|
+
* @input b - Second addend
|
|
81
|
+
* @output result - The sum
|
|
66
82
|
*/
|
|
67
|
-
function
|
|
83
|
+
function addDocumented(a: number, b: number): number {
|
|
68
84
|
return a + b;
|
|
69
85
|
}
|
|
70
86
|
```
|
|
@@ -82,10 +98,6 @@ function splitName(fullName: string): { first: string; last: string } {
|
|
|
82
98
|
/**
|
|
83
99
|
* @flowWeaver nodeType
|
|
84
100
|
* @expression
|
|
85
|
-
* @label Split Name
|
|
86
|
-
* @input fullName
|
|
87
|
-
* @output first
|
|
88
|
-
* @output last
|
|
89
101
|
*/
|
|
90
102
|
function splitName(fullName: string): { first: string; last: string } {
|
|
91
103
|
const [first, ...rest] = fullName.split(' ');
|
|
@@ -93,44 +105,55 @@ function splitName(fullName: string): { first: string; last: string } {
|
|
|
93
105
|
}
|
|
94
106
|
```
|
|
95
107
|
|
|
96
|
-
|
|
108
|
+
Inputs: `fullName`. Outputs: `first`, `last`, one per returned property.
|
|
109
|
+
|
|
110
|
+
## Choosing scalar ports or one object port
|
|
111
|
+
|
|
112
|
+
Every returned property becomes its own port, so the shape you give the return type is the shape of the graph.
|
|
113
|
+
|
|
114
|
+
- **The rule: scalar ports for what the node reads or transforms; one object port for context that flows through unchanged.** Getting this backwards is the main cause of over-wired workflows.
|
|
115
|
+
- `splitName` above is right to return two scalars, because both are values it computes. The mistake is carrying values through a node that never touches them:
|
|
97
116
|
|
|
98
117
|
```typescript
|
|
99
|
-
//
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
118
|
+
// SPRAWL -- surface, tenant and locale are re-declared on every node
|
|
119
|
+
// in the chain purely to reach the one at the end that needs them.
|
|
120
|
+
/** @flowWeaver nodeType @expression */
|
|
121
|
+
function score(record: Record, surface: string, tenant: string, locale: string) {
|
|
122
|
+
return { score: rate(record), surface, tenant, locale };
|
|
103
123
|
}
|
|
104
124
|
|
|
105
|
-
//
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
125
|
+
// BETTER -- the unchanging context travels as one object port
|
|
126
|
+
/** @flowWeaver nodeType @expression */
|
|
127
|
+
function score(record: Record, brief: Brief) {
|
|
128
|
+
return { score: rate(record), brief };
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
- **An `@input x` plus `@output x` that only passes a value through is a relay pair**, and a sign the value belongs in the shared object instead.
|
|
133
|
+
- **Keep the port name identical along the chain** (`brief` in and `brief` out at every step) so `@path` wires it with no `@connect`.
|
|
134
|
+
- **The cost: type-checking is per-object, not per-field.** A consumer declaring a narrower shape than the producer emits gets an `OBJECT_TYPE_MISMATCH` warning and still runs. Keep the one or two values the node actually transforms as typed scalars so the checker still guards them.
|
|
135
|
+
- Full treatment, including how durable gates read fields off the object with `[expr:]`, is in `export-interface`.
|
|
136
|
+
|
|
137
|
+
## Example -- async expression (returns a value)
|
|
138
|
+
|
|
139
|
+
An `async` function is an expression node like any other; its resolved value maps to the outputs.
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
/** @flowWeaver nodeType @expression */
|
|
113
143
|
async function fetchData(url: string): Promise<Data> {
|
|
114
144
|
const res = await fetch(url);
|
|
115
145
|
return await res.json();
|
|
116
146
|
}
|
|
117
147
|
```
|
|
118
148
|
|
|
149
|
+
Input: `url`. Output: `result` (the single non-object return).
|
|
150
|
+
|
|
119
151
|
## Example -- void return (side-effect expression)
|
|
120
152
|
|
|
121
|
-
|
|
122
|
-
// BEFORE
|
|
123
|
-
function logMessage(message: string): void {
|
|
124
|
-
console.log(message);
|
|
125
|
-
}
|
|
153
|
+
A void return has no data outputs, only the automatic `onSuccess`/`onFailure`.
|
|
126
154
|
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* @flowWeaver nodeType
|
|
130
|
-
* @expression
|
|
131
|
-
* @label Log Message
|
|
132
|
-
* @input message
|
|
133
|
-
*/
|
|
155
|
+
```typescript
|
|
156
|
+
/** @flowWeaver nodeType @expression */
|
|
134
157
|
function logMessage(message: string): void {
|
|
135
158
|
console.log(message);
|
|
136
159
|
}
|
|
@@ -172,7 +195,7 @@ function double(x: number): number {
|
|
|
172
195
|
function double(
|
|
173
196
|
execute: boolean,
|
|
174
197
|
x: number
|
|
175
|
-
): { onSuccess: boolean
|
|
198
|
+
): { onSuccess: boolean, onFailure: boolean, result: number | null } {
|
|
176
199
|
if (!execute) return { onSuccess: false, onFailure: false, result: null };
|
|
177
200
|
try {
|
|
178
201
|
const result = x * 2;
|
|
@@ -201,7 +224,7 @@ async function fetchUser(id: string): Promise<User> {
|
|
|
201
224
|
async function fetchUser(
|
|
202
225
|
execute: boolean,
|
|
203
226
|
id: string
|
|
204
|
-
): Promise<{ onSuccess: boolean
|
|
227
|
+
): Promise<{ onSuccess: boolean, onFailure: boolean, user: User | null }> {
|
|
205
228
|
if (!execute) return { onSuccess: false, onFailure: false, user: null };
|
|
206
229
|
try {
|
|
207
230
|
const user = await db.users.findById(id);
|
|
@@ -231,7 +254,7 @@ function analyze(text: string): { wordCount: number; charCount: number } {
|
|
|
231
254
|
function analyze(
|
|
232
255
|
execute: boolean,
|
|
233
256
|
text: string
|
|
234
|
-
): { onSuccess: boolean
|
|
257
|
+
): { onSuccess: boolean, onFailure: boolean, wordCount: number | null, charCount: number | null } {
|
|
235
258
|
if (!execute) return { onSuccess: false, onFailure: false, wordCount: null, charCount: null };
|
|
236
259
|
try {
|
|
237
260
|
const wordCount = text.split(' ').length;
|
|
@@ -277,7 +300,7 @@ When no `--mode` is specified:
|
|
|
277
300
|
- **Expression** (default): function returns a value (non-void), whether sync or async
|
|
278
301
|
- **Normal**: void return, or user explicitly requests normal mode
|
|
279
302
|
|
|
280
|
-
**Default to expression mode.**
|
|
303
|
+
**Default to expression mode.** A throw in an expression node marks it failed and propagates the error out of the workflow call. Switch to normal mode when a failure must be routed to another node or to `Exit.onFailure`, must carry data, or the function returns void.
|
|
281
304
|
|
|
282
305
|
The compiler fully supports async expression nodes -- `await`, async detection, try/catch wrapping, and onSuccess/onFailure are all handled automatically.
|
|
283
306
|
|
|
@@ -285,11 +308,13 @@ The compiler fully supports async expression nodes -- `await`, async detection,
|
|
|
285
308
|
|
|
286
309
|
# Output Mapping Rules
|
|
287
310
|
|
|
311
|
+
This is what the compiler infers from the return type; you do not write these `@output` tags unless you are overriding.
|
|
312
|
+
|
|
288
313
|
## Expression mode
|
|
289
314
|
|
|
290
|
-
- Primitive/array return -> single
|
|
291
|
-
- Object return `{ a, b }` -> one
|
|
292
|
-
- void -> no
|
|
315
|
+
- Primitive/array return -> single output `result`
|
|
316
|
+
- Object return `{ a, b }` -> one output per property
|
|
317
|
+
- void -> no data outputs
|
|
293
318
|
|
|
294
319
|
## Normal mode
|
|
295
320
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Orientation
|
|
3
|
+
description: The Flow Weaver model on one page, the tool loop, and which topic to read for which task — start here and load the rest on demand
|
|
4
|
+
keywords: [orientation, start, overview, mental model, getting started, map, which topic, first, basics, workflow, nodeType, annotations, tools, loop]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Orientation
|
|
8
|
+
|
|
9
|
+
Flow Weaver compiles workflows you describe with JSDoc annotations into plain TypeScript functions. This page is the map: what the pieces are, how to work on them with the tools, and which reference topic to open next. Read it once; load other topics only when a task needs them.
|
|
10
|
+
|
|
11
|
+
## The model
|
|
12
|
+
|
|
13
|
+
- A **node type** is a plain function annotated `@flowWeaver nodeType @expression`, and that one line is the whole annotation. Ports are inferred from the signature: each parameter is an input port, each field of the returned object an output port (a primitive return is one port, `result`). Add `@input`/`@output`/`@label` only to override the inference — a description, a rename, an order, a display label — never to restate it. Throwing marks the node failed and propagates the error out of the workflow call. Normal mode, with an `execute: boolean` first parameter and `onSuccess`/`onFailure` in the return, exists for the cases that need it: routing a failure to another node or to `Exit.onFailure`, returning data alongside a failure, a boolean branch, a scope owner, a durable gate or effect.
|
|
14
|
+
- A **workflow** is an exported function annotated `@flowWeaver workflow` with the signature `(execute, params)`. `@param` declares the `Start` ports, `@returns` the `Exit` ports.
|
|
15
|
+
- Inside a workflow, `@node <id> <nodeType>` declares an instance and `@path Start -> a -> b -> Exit` wires the route: control flow between the steps, and every data port to the nearest earlier step with an output of the same name, `Exit` included. `@connect a.port -> b.port` wires one port explicitly, for the cases where names differ; an explicit connection always wins.
|
|
16
|
+
- The workflow's function body is a stub. The compiler generates it from the annotations and only ever rewrites the marker sections, so hand-written code around them survives.
|
|
17
|
+
- Built-in node types need no import: `delay`, `invokeWorkflow`, `waitForEvent`, `waitForAgent`. The last two are **durable gates** — the run pauses, hands back a continuation, and resumes later. In a workflow with a gate, an `@expression` node is pure automatically; only a normal-mode pure node needs `@durablePure`, and gates and effects need `@durableGate`/`@durableEffect`.
|
|
18
|
+
- The compiled file imports nothing from Flow Weaver. The code that calls it hands it a runtime built with `createWorkflowRuntime`, which the compiled file itself exports (see `library`).
|
|
19
|
+
- Nodes take direct parameters; workflows take a `params` object. That is the mistake made most often.
|
|
20
|
+
|
|
21
|
+
## The loop
|
|
22
|
+
|
|
23
|
+
| To | Use | Note |
|
|
24
|
+
|----|-----|------|
|
|
25
|
+
| Check a file | `fw_validate` | Cheapest call; run it after every change |
|
|
26
|
+
| Answer one question about structure | `fw_query` with one `query` type | ~300 B |
|
|
27
|
+
| See everything about a file | `fw_describe` | Larger; prefer `fw_query` |
|
|
28
|
+
| Show the graph in chat | `fw_diagram` with `format: "ascii-compact"` | The default `svg` is not readable |
|
|
29
|
+
| Show a person the workflow | `fw_diagram` with `format: "svg"` and an `outputPath` | The spine: steps in run order, pauses, failure arms, as a vector image |
|
|
30
|
+
| Create a workflow | Write the file: one `@flowWeaver nodeType` function per step, then the `@flowWeaver workflow` stub | `tutorial` walks through it; `fw_scaffold` starts from a template |
|
|
31
|
+
| Change structure | `fw_modify_batch` (several edits) or `fw_modify` (one) | Rewrites annotations only; re-validate afterwards |
|
|
32
|
+
| Run a workflow | `fw_run`, then `fw_resume` if it pauses at a gate | `fw run` on the CLI refuses gated workflows |
|
|
33
|
+
| Look something up | `fw_docs` `search`, then `read` with `compact: true` | Search first; a topic can be large |
|
|
34
|
+
|
|
35
|
+
## What to read next
|
|
36
|
+
|
|
37
|
+
| When you need to | Read |
|
|
38
|
+
|------------------|------|
|
|
39
|
+
| Write or fix an annotation | `jsdoc-grammar` |
|
|
40
|
+
| Understand a validation error | `error-codes` — search it; never read it whole |
|
|
41
|
+
| Use expressions, pull execution, merge strategies, fan-out, colours and icons | `advanced-annotations` |
|
|
42
|
+
| Use `delay`, `invokeWorkflow`, or mocks | `built-in-nodes` |
|
|
43
|
+
| Pause a workflow for approval, input, or an AI agent | `durable-gates` |
|
|
44
|
+
| Know every MCP tool, its arguments and result sizes | `mcp-tools` |
|
|
45
|
+
| Find a CLI flag | `cli-reference` |
|
|
46
|
+
| Compile to something other than TypeScript | `compilation` |
|
|
47
|
+
| Export, serve over HTTP, or generate OpenAPI | `deployment` |
|
|
48
|
+
| Install, write, or extend a pack | `marketplace` |
|
|
49
|
+
| Decide which values are scalar ports and which travel as one object | `export-interface` |
|
|
50
|
+
| Loop over items with scoped ports | `export-interface` |
|
|
51
|
+
| Turn an existing function into a node | `node-conversion` |
|
|
52
|
+
| Start from a template | `scaffold` |
|
|
53
|
+
| Step through execution | `debugging` |
|
|
54
|
+
| Cancel a run | `cancellation` |
|
|
55
|
+
| Walk from an empty file to a running workflow | `tutorial` |
|
|
56
|
+
| Call a compiled workflow from your own code, or drive one that pauses from a service | `library` |
|
|
57
|
+
| Read the long-form reference behind this page | `concepts` |
|
|
58
|
+
|
|
59
|
+
## Rules of thumb
|
|
60
|
+
|
|
61
|
+
- Read topics with `compact: true`; it keeps headings, tables, lists and code and drops the prose
|
|
62
|
+
- Never load the `full` context preset, and never read `error-codes` whole
|
|
63
|
+
- Use absolute file paths in tool calls
|
|
64
|
+
- Node ids and workflow function names are camelCase
|
|
65
|
+
- After `fw_modify` or a hand edit, run `fw_validate` before anything else
|
|
66
|
+
- `fw_modify` never compiles a file that was not already compiled in place; `fw_compile` and `fw_run` do that
|
|
67
|
+
- Hand a gate only what its resolver needs; a later node reads larger values across the gate from the node that produced them (see `durable-gates`)
|
|
68
|
+
- In a worktree or a second checkout, `fw_doctor` says which install the MCP server runs from; rebuilding anywhere else changes nothing it does
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Flow Weaver Scaffold
|
|
3
3
|
description: Scaffold workflows and nodes from templates using CLI commands
|
|
4
|
-
keywords: [scaffold, templates, create, generate, workflow, node, sequential, foreach, ai-agent]
|
|
4
|
+
keywords: [scaffold, templates, create, generate, workflow, node, sequential, foreach, approval, gate, ai-agent]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Quick Start
|
|
8
8
|
|
|
9
|
-
Use the `fw create` command to scaffold workflows and nodes from templates, or `fw init` to create a new project.
|
|
9
|
+
Use the `fw create` command to scaffold workflows and nodes from templates, or `fw init` to create a new project. The same templates are behind `fw_scaffold` for an assistant and `fw templates` lists them. `approval` is the gated one: it pauses for a person and resumes with their answer.
|
|
10
10
|
|
|
11
11
|
## Create a Project
|
|
12
12
|
|
|
@@ -18,7 +18,7 @@ Creates a new Flow Weaver project with recommended structure, dependencies, and
|
|
|
18
18
|
|
|
19
19
|
Options:
|
|
20
20
|
- `--name <name>` / `-n` - Project name (defaults to directory name)
|
|
21
|
-
- `--template <template>` / `-t` - Workflow template (default: `
|
|
21
|
+
- `--template <template>` / `-t` - Workflow template (default: `sequential`)
|
|
22
22
|
- `--format <format>` / `-f` - Module format: `esm` or `cjs` (default: `esm`)
|
|
23
23
|
- `--yes` / `-y` - Skip prompts, use defaults
|
|
24
24
|
- `--install` / `--no-install` - Run or skip npm install
|
|
@@ -62,7 +62,7 @@ fw create node <name> <file> [--template T] [--line N] [--preview]
|
|
|
62
62
|
|
|
63
63
|
Options:
|
|
64
64
|
<!-- AUTO:START default_node_template -->
|
|
65
|
-
- `--template T` / `-t T` - Use specific template (default:
|
|
65
|
+
- `--template T` / `-t T` - Use specific template (default: transformer)
|
|
66
66
|
<!-- AUTO:END default_node_template -->
|
|
67
67
|
- `--line N` / `-l N` - Insert at specific line
|
|
68
68
|
- `--preview` / `-p` - Preview generated code without writing
|
|
@@ -85,6 +85,7 @@ fw templates [--json]
|
|
|
85
85
|
| `sequential` | Linear pipeline: validate -> transform -> output |
|
|
86
86
|
| `foreach` | Batch processing with iteration over arrays |
|
|
87
87
|
| `conditional` | Route data based on conditions with branching paths |
|
|
88
|
+
| `approval` | Prepare a request, pause for a person to approve it, then carry it out |
|
|
88
89
|
| `ai-agent` | Stateful LLM agent with explicit reasoning loop and tool execution |
|
|
89
90
|
| `ai-react` | Reasoning + Acting agent with explicit thought process |
|
|
90
91
|
| `ai-rag` | Retrieval-Augmented Generation for knowledge-based Q&A |
|