@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
|
@@ -210,7 +210,7 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
210
210
|
| Field | Value |
|
|
211
211
|
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
212
212
|
| Severity | Error |
|
|
213
|
-
| Meaning | A node
|
|
213
|
+
| Meaning | A `@node` declaration uses a reserved instance ID (`Start` or `Exit`). |
|
|
214
214
|
| Common Causes | Explicitly naming an instance `Start` or `Exit` in the workflow annotations. |
|
|
215
215
|
| Fix | Choose a different instance ID. The names `Start` and `Exit` are reserved for the implicit entry and exit nodes that every workflow has. |
|
|
216
216
|
|
|
@@ -220,14 +220,26 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
220
220
|
|
|
221
221
|
**Example:**
|
|
222
222
|
|
|
223
|
+
<!-- example: invalid RESERVED_INSTANCE_ID -->
|
|
223
224
|
```typescript
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
/** @flowWeaver nodeType @expression */
|
|
226
|
+
function myNodeType(value: string): { value: string } {
|
|
227
|
+
return { value };
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// BAD: Start and Exit are reserved instance IDs (RESERVED_INSTANCE_ID)
|
|
231
|
+
/**
|
|
232
|
+
* @flowWeaver workflow
|
|
233
|
+
* @node Start myNodeType
|
|
234
|
+
* @node Exit myNodeType
|
|
235
|
+
*/
|
|
227
236
|
|
|
228
237
|
// GOOD: Non-reserved names
|
|
229
|
-
/**
|
|
230
|
-
|
|
238
|
+
/**
|
|
239
|
+
* @flowWeaver workflow
|
|
240
|
+
* @node startHandler myNodeType
|
|
241
|
+
* @node exitHandler myNodeType
|
|
242
|
+
*/
|
|
231
243
|
```
|
|
232
244
|
|
|
233
245
|
---
|
|
@@ -329,7 +341,7 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
329
341
|
| Severity | Error |
|
|
330
342
|
| Meaning | A non-STEP input port has more than one incoming connection. Only one value can be received per data input. |
|
|
331
343
|
| Common Causes | Two different nodes both send data to the same input port. Accidentally duplicating a `@connect` line with a different source. |
|
|
332
|
-
| Fix | Remove one of the connections. If you need to merge multiple values, either: (1) use a merge node that combines the values and outputs a single result, (2)
|
|
344
|
+
| Fix | Remove one of the connections. If you need to merge multiple values, either: (1) use a merge node that combines the values and outputs a single result, (2) declare a merge strategy on the input port, `@input items [mergeStrategy:COLLECT]` (FIRST, LAST, COLLECT, MERGE, CONCAT), or (3) use separate input ports on the target node. Note: STEP ports (like `execute`) can have multiple connections because control flow supports multiple triggers. |
|
|
333
345
|
|
|
334
346
|
> **Beginner explanation:** Two different nodes are sending data to the same input port. Each data input can only receive from one source.
|
|
335
347
|
>
|
|
@@ -359,7 +371,7 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
359
371
|
| Severity | Warning |
|
|
360
372
|
| Meaning | Both ports are OBJECT type but their TypeScript structural types (`tsType`) differ. |
|
|
361
373
|
| Common Causes | Connecting a port that outputs `{ name: string }` to a port that expects `{ id: number, name: string }`. Different interfaces that happen to share the OBJECT data type. |
|
|
362
|
-
| Fix | Verify that the source object shape is compatible with what the target expects. If the structures are intentionally different, ensure the target handles missing or extra properties gracefully. |
|
|
374
|
+
| Fix | Verify that the source object shape is compatible with what the target expects. If the structures are intentionally different, ensure the target handles missing or extra properties gracefully. Expected when a shared context object is threaded through a chain and a consumer declares only the fields it reads: the run is unaffected (structural subtyping), so widen the consumer's type to match the producer, or accept the warning. See the port-design rule in `export-interface`. |
|
|
363
375
|
|
|
364
376
|
#### LOSSY_TYPE_COERCION (warning)
|
|
365
377
|
|
|
@@ -419,22 +431,13 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
419
431
|
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
420
432
|
| Severity | Error |
|
|
421
433
|
| Meaning | An instance references a node type function name that does not exist in the workflow. |
|
|
422
|
-
| Common Causes | Typo in the `@
|
|
423
|
-
| Fix | Correct the node type name in the `@
|
|
434
|
+
| Common Causes | Typo in the `@node` line. The node type function was renamed or removed. The node type is defined in a different file that is not imported. |
|
|
435
|
+
| Fix | Correct the node type name in the `@node` line. The validator suggests the closest match. Ensure the node type function is defined in the same file or properly imported. |
|
|
424
436
|
|
|
425
437
|
> **Beginner explanation:** Did you forget to add `@flowWeaver nodeType` above the function? The `@node` annotation references a function name that the compiler cannot find. Either the function does not exist, is misspelled, or is missing its `@flowWeaver nodeType` annotation.
|
|
426
438
|
>
|
|
427
439
|
> **What to do:** Check that the function name in `@node instanceId functionName` exactly matches a function annotated with `@flowWeaver nodeType` in the same file (or imported).
|
|
428
440
|
|
|
429
|
-
#### UNDEFINED_NODE
|
|
430
|
-
|
|
431
|
-
| Field | Value |
|
|
432
|
-
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
433
|
-
| Severity | Error |
|
|
434
|
-
| Meaning | A connection references a node name that appears in the graph but has no corresponding instance definition. |
|
|
435
|
-
| Common Causes | A `@connect` annotation references a node that was never declared with `@instance`. The instance annotation was removed but connections still reference it. |
|
|
436
|
-
| Fix | Either add the missing `@instance` annotation or remove/update the connections that reference the undefined node. |
|
|
437
|
-
|
|
438
441
|
#### MISSING_REQUIRED_INPUT
|
|
439
442
|
|
|
440
443
|
| Field | Value |
|
|
@@ -442,30 +445,38 @@ const myNode = (execute: boolean, input: string) => { ... };
|
|
|
442
445
|
| Severity | Error |
|
|
443
446
|
| Meaning | A required input port on a node instance has no connection, no default value, no expression, and is not optional. This will cause a runtime error. |
|
|
444
447
|
| Common Causes | Adding a new required input to a node type without connecting it in the workflow. Removing a connection without adding a default or marking the port optional. |
|
|
445
|
-
| Fix | Either: (1) connect a source to the missing input port,
|
|
448
|
+
| Fix | Either: (1) connect a source to the missing input port, or put the node on a `@path` after a step that outputs the same name, (2) give the port a default in the node type, `@input [apiKey="default-key"]`, (3) mark it optional, `@input [apiKey]`, or (4) bind it on the instance with an expression, `@node fetcher fetchData [expr: apiKey="process.env.API_KEY"]`. |
|
|
446
449
|
|
|
447
450
|
**Example:**
|
|
448
451
|
|
|
452
|
+
<!-- example: invalid MISSING_REQUIRED_INPUT -->
|
|
449
453
|
```typescript
|
|
450
454
|
// BAD: "apiKey" has no connection or default
|
|
451
|
-
/**
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
455
|
+
/**
|
|
456
|
+
* @flowWeaver nodeType
|
|
457
|
+
* @input url - URL to fetch
|
|
458
|
+
* @input apiKey - Bearer token
|
|
459
|
+
*/
|
|
460
|
+
function fetchData(execute: boolean, url: string, apiKey: string) { ... }
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* @flowWeaver workflow
|
|
464
|
+
* @node fetcher fetchData
|
|
465
|
+
* @connect Start.url -> fetcher.url
|
|
466
|
+
*/
|
|
456
467
|
// Missing: nothing connects to fetcher.apiKey -> MISSING_REQUIRED_INPUT
|
|
457
468
|
|
|
458
|
-
// Fix option 1:
|
|
459
|
-
|
|
469
|
+
// Fix option 1: connect it (or name the Start param apiKey and put fetcher on a @path)
|
|
470
|
+
// @connect Start.apiKey -> fetcher.apiKey
|
|
460
471
|
|
|
461
|
-
// Fix option 2:
|
|
462
|
-
// @
|
|
472
|
+
// Fix option 2: default in the node type
|
|
473
|
+
// @input [apiKey="default-key"] - Bearer token
|
|
463
474
|
|
|
464
|
-
// Fix option 3:
|
|
465
|
-
// @
|
|
475
|
+
// Fix option 3: optional in the node type
|
|
476
|
+
// @input [apiKey] - Bearer token
|
|
466
477
|
|
|
467
|
-
// Fix option 4:
|
|
468
|
-
// @
|
|
478
|
+
// Fix option 4: expression on the instance
|
|
479
|
+
// @node fetcher fetchData [expr: apiKey="process.env.API_KEY"]
|
|
469
480
|
```
|
|
470
481
|
|
|
471
482
|
---
|
|
@@ -504,7 +515,7 @@ const fetchData = (execute: boolean, url: string, apiKey: string) => { ... };
|
|
|
504
515
|
| Severity | Warning |
|
|
505
516
|
| Meaning | A node instance is defined but has no connections (not referenced by any `@connect`). |
|
|
506
517
|
| Common Causes | Dead code from a previous iteration. Forgetting to wire up a newly added node. |
|
|
507
|
-
| Fix | Either connect the node into the workflow graph or remove
|
|
518
|
+
| Fix | Either connect the node into the workflow graph or remove its `@node` line if it is no longer needed. |
|
|
508
519
|
|
|
509
520
|
#### NO_START_CONNECTIONS (warning)
|
|
510
521
|
|
|
@@ -551,6 +562,15 @@ const fetchData = (execute: boolean, url: string, apiKey: string) => { ... };
|
|
|
551
562
|
| Common Causes | Defining a return type that includes a property but never connecting anything to the corresponding Exit port. A connection to this Exit port was removed. |
|
|
552
563
|
| Fix | Connect a node output to this Exit port, or remove the port from the workflow's return type if it is not needed. |
|
|
553
564
|
|
|
565
|
+
#### HTTP_PARAM_UNKNOWN (error)
|
|
566
|
+
|
|
567
|
+
| Field | Value |
|
|
568
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
569
|
+
| Severity | Error |
|
|
570
|
+
| Meaning | An `@http` route has a `:param` segment that names no parameter of the workflow, so a request to it could not bind that part of the path to anything. |
|
|
571
|
+
| Common Causes | A typo in the segment; a parameter renamed after the route was written; a route copied from another workflow. |
|
|
572
|
+
| Fix | Name the segment after one of the workflow's `@param`s, or take the segment out of the path. |
|
|
573
|
+
|
|
554
574
|
#### MULTIPLE_EXIT_CONNECTIONS (warning)
|
|
555
575
|
|
|
556
576
|
| Field | Value |
|
|
@@ -611,12 +631,12 @@ These codes apply to AI agent workflows that use LLM, tool-executor, and memory
|
|
|
611
631
|
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
612
632
|
| Severity | Warning |
|
|
613
633
|
| Meaning | An LLM node routes failures directly to Exit without any retry or fallback logic. Any LLM error immediately aborts the entire workflow. |
|
|
614
|
-
| Common Causes | Wiring `llmNode.onFailure -> Exit.onFailure` without
|
|
615
|
-
| Fix | Add a retry node or
|
|
634
|
+
| Common Causes | Wiring `llmNode.onFailure -> Exit.onFailure` without visible retry/fallback handling, or using a shared resilient adapter without declaring its contract. |
|
|
635
|
+
| Fix | Add a retry/fallback node, or annotate an adapter that already implements it with `@resilience retries=N` and/or `fallback="provider"`. |
|
|
616
636
|
|
|
617
637
|
> **Beginner explanation:** If the LLM fails and goes straight to Exit, the entire workflow stops. Transient errors (rate limits, timeouts) could be retried.
|
|
618
638
|
>
|
|
619
|
-
> **What to do:** Add a retry node
|
|
639
|
+
> **What to do:** Add a retry/fallback node. If a shared adapter already owns that logic, declare it with `@resilience`; this annotation documents existing behavior and does not implement retries.
|
|
620
640
|
|
|
621
641
|
#### AGENT_TOOL_NO_OUTPUT_HANDLING (warning)
|
|
622
642
|
|
|
@@ -633,16 +653,16 @@ These codes apply to AI agent workflows that use LLM, tool-executor, and memory
|
|
|
633
653
|
|
|
634
654
|
### Design Quality Rules
|
|
635
655
|
|
|
636
|
-
These rules detect common workflow design problems that compile fine but indicate poor structure. All are warnings or info-level, suppressible with `@
|
|
656
|
+
These rules detect common workflow design problems that compile fine but indicate poor structure. All are warnings or info-level, suppressible per instance with `[suppress: "CODE"]` on the `@node` line.
|
|
637
657
|
|
|
638
658
|
#### DESIGN_ASYNC_NO_ERROR_PATH (warning)
|
|
639
659
|
|
|
640
660
|
| Field | Value |
|
|
641
661
|
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
642
662
|
| Severity | Warning |
|
|
643
|
-
| Meaning | An async node has no onFailure connection. Async operations (network calls, file I/O, AI calls) can fail
|
|
644
|
-
| Common Causes | Adding an async node and connecting onSuccess but forgetting to
|
|
645
|
-
| Fix |
|
|
663
|
+
| Meaning | An async node has no `onFailure` connection. Async operations (network calls, file I/O, AI calls) can fail. For a normal-mode node the failure is silently lost. For an `@expression` node a throw aborts the run with the error, whether or not `onFailure` is wired. |
|
|
664
|
+
| Common Causes | Adding an async node and connecting `onSuccess` but forgetting to decide what a failure should do. |
|
|
665
|
+
| Fix | Normal mode: connect the node's `onFailure` port to an error handler, retry node, or `Exit.onFailure`. Expression mode: wiring `onFailure` does nothing about a throw; to route the failure inside the graph, write the node in normal mode and return `onFailure: true`. If aborting the run is the intended behaviour, add `[suppress: "DESIGN_ASYNC_NO_ERROR_PATH"]` to the `@node` line. |
|
|
646
666
|
|
|
647
667
|
#### DESIGN_SCOPE_NO_FAILURE_EXIT (warning)
|
|
648
668
|
|
|
@@ -700,6 +720,15 @@ These rules detect common workflow design problems that compile fine but indicat
|
|
|
700
720
|
|
|
701
721
|
---
|
|
702
722
|
|
|
723
|
+
## Parse-Level Codes
|
|
724
|
+
|
|
725
|
+
Two codes come from parsing the file, before validation runs. `fw_validate`, `fw_describe` and the other MCP tools return them as the error `code`; `fw validate --json` prints them as parse errors.
|
|
726
|
+
|
|
727
|
+
| Code | Meaning | What to do |
|
|
728
|
+
|------|---------|------------|
|
|
729
|
+
| `MULTIPLE_WORKFLOWS_FOUND` | The file declares several workflows and none was named | Pass `workflowName` (`-w` on the CLI), or let the tool handle every workflow in turn where it offers to |
|
|
730
|
+
| `NO_WORKFLOW_FOUND` | The file has node types but no `@flowWeaver workflow` function | Add the workflow annotation above an exported function, or validate the file as node types only (which `fw_validate` does on its own) |
|
|
731
|
+
|
|
703
732
|
## Quick Reference: Error Severity Summary
|
|
704
733
|
|
|
705
734
|
### Errors (must fix)
|
|
@@ -712,6 +741,7 @@ These rules detect common workflow design problems that compile fine but indicat
|
|
|
712
741
|
| DUPLICATE_NODE_NAME | Two node types share a function name |
|
|
713
742
|
| RESERVED_NODE_NAME | Node type uses "Start" or "Exit" |
|
|
714
743
|
| RESERVED_INSTANCE_ID | Instance ID is "Start" or "Exit" |
|
|
744
|
+
| INVALID_SCOPE_NAME | A scoped port names a scope that is not a JavaScript identifier (scope names become identifiers in generated code) |
|
|
715
745
|
| UNKNOWN_SOURCE_NODE | Connection from nonexistent node |
|
|
716
746
|
| UNKNOWN_TARGET_NODE | Connection to nonexistent node |
|
|
717
747
|
| UNKNOWN_SOURCE_PORT | Connection from nonexistent output port |
|
|
@@ -720,15 +750,23 @@ These rules detect common workflow design problems that compile fine but indicat
|
|
|
720
750
|
| STEP_PORT_TYPE_MISMATCH | STEP port connected to data port or vice versa |
|
|
721
751
|
| TYPE_INCOMPATIBLE | Type mismatch with @strictTypes enabled |
|
|
722
752
|
| UNKNOWN_NODE_TYPE | Instance references nonexistent node type |
|
|
723
|
-
| UNDEFINED_NODE | Connection references node with no instance |
|
|
724
753
|
| MISSING_REQUIRED_INPUT | Required input has no connection/default/expression |
|
|
725
754
|
| CYCLE_DETECTED | Graph contains a loop |
|
|
726
755
|
| INVALID_EXIT_PORT_TYPE | Exit onSuccess/onFailure is not STEP type |
|
|
756
|
+
| HTTP_PARAM_UNKNOWN | An @http route has a :param segment that names no parameter of the workflow |
|
|
727
757
|
| SCOPE_MISSING_REQUIRED_INPUT | Required input port on a scoped child has no connection |
|
|
728
758
|
| SCOPE_WRONG_SCOPE_NAME | Connection uses a scope name not defined on the node |
|
|
729
759
|
| SCOPE_CONNECTION_OUTSIDE | Scoped connection references a node outside the scope |
|
|
730
760
|
| SCOPE_UNKNOWN_PORT | Connection references a port that is not a scoped port of the specified scope |
|
|
731
761
|
| AGENT_LLM_MISSING_ERROR_HANDLER | LLM node's onFailure port is unconnected |
|
|
762
|
+
| DUPLICATE_INSTANCE_ID | Two @node declarations in one workflow use the same ID. Each instance ID must be unique |
|
|
763
|
+
| STUB_NODE | An instance uses a node type that has no implementation. Implement it, or validate in draft mode to check structure only |
|
|
764
|
+
| DUPLICATE_CONNECTION | The same from-port to to-port connection is declared more than once |
|
|
765
|
+
| CROSS_SCOPE_CONNECTION | A connection links nodes that live in different scopes. Nodes in different scopes cannot connect directly |
|
|
766
|
+
| SCOPE_INCONSISTENT | An instance is listed in more than one scope. A node can belong to only one scope |
|
|
767
|
+
| COERCE_ON_FUNCTION_PORT | An `as` coercion is applied to a FUNCTION port. Function values cannot be meaningfully coerced |
|
|
768
|
+
| EXPRESSION_SYNTAX | An [expr:] binding or an Expression: default does not parse as a JavaScript expression (text needs quotes inside the attribute: timeout="'24h'"). It would otherwise fail only when the generated file is transpiled |
|
|
769
|
+
| DURABLE_CLOSURE_INVALID | A workflow with a durable gate breaks a durability rule (a gate/effect in more than one branch region or taking data from outside it, pull/lazy execution, an unclassified node, or a bad effect contract). Surfaced at author time. The coordinator would otherwise reject it only at run time. |
|
|
732
770
|
<!-- AUTO:END error_summary_table -->
|
|
733
771
|
|
|
734
772
|
### Warnings (should review)
|
|
@@ -757,11 +795,20 @@ These rules detect common workflow design problems that compile fine but indicat
|
|
|
757
795
|
| AGENT_MISSING_MEMORY_IN_LOOP | Loop has LLM but no conversation memory node |
|
|
758
796
|
| AGENT_LLM_NO_FALLBACK | LLM onFailure routes directly to Exit |
|
|
759
797
|
| AGENT_TOOL_NO_OUTPUT_HANDLING | Tool executor data outputs all unconnected |
|
|
760
|
-
| DESIGN_ASYNC_NO_ERROR_PATH | Async node has no onFailure connection |
|
|
798
|
+
| DESIGN_ASYNC_NO_ERROR_PATH | Async node has no onFailure connection (durable gates are exempt: their body never runs and their failure arm is the resolver's rejection) |
|
|
761
799
|
| DESIGN_SCOPE_NO_FAILURE_EXIT | Scope node has no failure path out |
|
|
762
800
|
| DESIGN_UNBOUNDED_RETRY | Retry scope has no visible attempt limit |
|
|
763
801
|
| DESIGN_FANOUT_NO_FANIN | Fan-out to multiple step targets with no merge back |
|
|
764
802
|
| DESIGN_EXIT_DATA_UNREACHABLE | Exit data port has no connection and no pull-execution provider |
|
|
765
803
|
| DESIGN_PULL_CANDIDATE | Node has no step trigger but its outputs are consumed downstream |
|
|
766
804
|
| DESIGN_PULL_UNUSED | Pull-execution node has no downstream consumers |
|
|
805
|
+
| SCOPE_EMPTY | A scope declared on a node has no child nodes |
|
|
806
|
+
| COERCE_TYPE_MISMATCH | An `as` coercion produces a type the target port does not expect. Use the coercion that matches the target |
|
|
807
|
+
| REDUNDANT_COERCE | An `as` coercion converts between identical source and target types and does nothing |
|
|
808
|
+
| INVALID_PORT_TYPE | A port declares a dataType that is not a recognised Flow Weaver type |
|
|
809
|
+
| INVALID_COLOR | A node type uses an @color value that is not in the palette. See the visual-reference topic for valid colors |
|
|
810
|
+
| INVALID_ICON | A node type uses an @icon value that is not a Material Symbols name (snake_case or camelCase). See the visual-reference topic |
|
|
811
|
+
| INVALID_EXECUTE_WHEN | A node type declares an @executeWhen value that is not a recognised execution strategy |
|
|
812
|
+
| INVALID_PORT_CONFIG_REF | An instance configures a port (portOrder, portLabel, expr) that does not exist on its node type |
|
|
813
|
+
| SUPPRESS_UNKNOWN_CODE | A [suppress: ...] entry cannot be a validation code, so it suppresses nothing. Codes are separate string literals, e.g. [suppress: "A", "B"], not [suppress: "A,B"] |
|
|
767
814
|
<!-- AUTO:END warning_summary_table -->
|
|
@@ -26,7 +26,9 @@ Use JSDoc `@param` to define Start node ports:
|
|
|
26
26
|
export function myWorkflow(
|
|
27
27
|
execute: boolean,
|
|
28
28
|
params: { data: any; optional?: any; withDefault?: number }
|
|
29
|
-
) {
|
|
29
|
+
): { onSuccess: boolean; onFailure: boolean } {
|
|
30
|
+
throw new Error('generated body was not installed');
|
|
31
|
+
}
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
**IMPORTANT:**
|
|
@@ -44,42 +46,61 @@ Use JSDoc `@returns` to define Exit node ports:
|
|
|
44
46
|
* @returns result - The output result
|
|
45
47
|
* @returns status - Status message
|
|
46
48
|
*/
|
|
47
|
-
export function myWorkflow(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
49
|
+
export function myWorkflow(
|
|
50
|
+
execute: boolean,
|
|
51
|
+
params: { data: any }
|
|
52
|
+
): { onSuccess: boolean; onFailure: boolean; result: any; status: string } {
|
|
53
|
+
throw new Error('generated body was not installed');
|
|
54
|
+
}
|
|
53
55
|
```
|
|
54
56
|
|
|
55
57
|
## Node Inputs/Outputs
|
|
56
58
|
|
|
57
|
-
Use `@input` and `@output` for node types. **Inputs become direct parameters
|
|
59
|
+
Use `@input` and `@output` for node types. **Inputs become direct parameters**, and the return value is the output:
|
|
58
60
|
|
|
59
61
|
```typescript
|
|
60
62
|
/**
|
|
61
63
|
* @flowWeaver nodeType
|
|
64
|
+
* @expression
|
|
62
65
|
* @input value - Value to process
|
|
63
66
|
* @input count - Number of times
|
|
64
67
|
* @output result - Processed result
|
|
65
68
|
*/
|
|
66
|
-
function processNode(
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
+
function processNode(value: any, count: number): any { ... }
|
|
70
|
+
// ^ ^
|
|
71
|
+
// Direct parameters (NOT wrapped in object)
|
|
69
72
|
```
|
|
70
73
|
|
|
74
|
+
With one `@output`, the whole return value is that port. With several, return an object with one property per `@output`. A throw marks the node failed and propagates the error out of the workflow call.
|
|
75
|
+
|
|
76
|
+
**The text after the dash is the port's display label, not a description.** It renders inside the port badge in the diagram, so keep it to **1–2 words** — `@output task - Agent task`, not `@output task - The agent task (agentId, context, prompt), as one value`. There is no separate description field for a port; a long sentence just overflows the badge. Omit the dash entirely when the name already says it (`@output task`).
|
|
77
|
+
|
|
78
|
+
Only a normal-mode node (see Mandatory Ports) adds `execute: boolean` in front: `function processNode(execute: boolean, value: any, count: number)`.
|
|
79
|
+
|
|
80
|
+
## Designing ports to avoid connection sprawl
|
|
81
|
+
|
|
82
|
+
The rule: **scalar ports for what a node reads or transforms; one object port for context that flows through unchanged.** Getting this backwards is the main cause of over-wired workflows.
|
|
83
|
+
|
|
84
|
+
- **Never create a relay port pair.** An `@input x` plus `@output x` that only passes a value through is a smell. If several nodes need the same unchanging values, carry them in one object port (`@output brief`) instead of re-declaring each scalar on every node. One shared `brief` object replaced eight `surface` re-wirings in one workflow.
|
|
85
|
+
- **Keep port names identical along a chain** so `@path` wires the data with no `@connect`; reserve `@connect` for genuine renames.
|
|
86
|
+
- **Gates read the fields they need with `[expr:]`** (`context="upstream.state.field"`) rather than through relay ports — but only from their **immediate predecessor**. Reaching past a gate to an earlier node puts the gate in two branch regions and is rejected (`DURABLE_CLOSURE_INVALID`). Thread the shared object through each gate so each reads from the one before it.
|
|
87
|
+
|
|
88
|
+
The cost of an object port: type-checking is per-object, not per-field, and a consumer that declares a narrower shape than the producer emits gets an `OBJECT_TYPE_MISMATCH` warning (it still runs — structural subtyping). Keep the one or two values a node actually transforms as typed scalars so the checker still guards them.
|
|
89
|
+
|
|
71
90
|
# Mandatory Ports
|
|
72
91
|
|
|
73
|
-
|
|
92
|
+
Every node and workflow has these STEP ports, and `@path` wires them for every step:
|
|
74
93
|
|
|
75
94
|
**Input:**
|
|
76
95
|
|
|
77
|
-
- `execute` (STEP)
|
|
96
|
+
- `execute` (STEP)
|
|
78
97
|
|
|
79
98
|
**Output:**
|
|
80
99
|
|
|
81
|
-
- `onSuccess` (STEP)
|
|
82
|
-
- `onFailure` (STEP)
|
|
100
|
+
- `onSuccess` (STEP)
|
|
101
|
+
- `onFailure` (STEP)
|
|
102
|
+
|
|
103
|
+
An expression node never mentions them: the runtime passes `execute`, sets `onSuccess` on return, and on a throw sets `onFailure` and rethrows, so the error leaves the workflow call rather than following a `:fail` route. They appear in a function signature only in **normal mode** (`execute` is the first parameter, `onSuccess`/`onFailure` are in the return type) and in the **workflow export**, whose signature is always `(execute: boolean, params: {...}): { onSuccess: boolean; onFailure: boolean; ...returns }`. Normal mode is reserved for a node that routes a failure to another node or to `Exit.onFailure`, returns data alongside a failure, a void side-effect, a boolean branch, a scope owner (forEach below), or a durable gate or effect.
|
|
83
104
|
|
|
84
105
|
# Async Workflows
|
|
85
106
|
|
|
@@ -95,7 +116,23 @@ export async function asyncWorkflow(
|
|
|
95
116
|
execute: boolean,
|
|
96
117
|
params: { data: any }
|
|
97
118
|
): Promise<{ onSuccess: boolean; onFailure: boolean; result: any }> {
|
|
98
|
-
|
|
119
|
+
throw new Error('generated body was not installed');
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Async node types work the same way. An `async` expression function's resolved value is its output, and a rejection is its failure:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
/**
|
|
127
|
+
* @flowWeaver nodeType
|
|
128
|
+
* @expression
|
|
129
|
+
* @input url - URL to fetch
|
|
130
|
+
* @output data - Parsed response body
|
|
131
|
+
*/
|
|
132
|
+
async function fetchJson(url: string): Promise<any> {
|
|
133
|
+
const res = await fetch(url);
|
|
134
|
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
135
|
+
return await res.json();
|
|
99
136
|
}
|
|
100
137
|
```
|
|
101
138
|
|
|
@@ -103,6 +140,17 @@ export async function asyncWorkflow(
|
|
|
103
140
|
|
|
104
141
|
For iteration (forEach), use **per-port scopes** with `scope:scopeName` suffix on ports.
|
|
105
142
|
|
|
143
|
+
The forEach node owns a scope, which is one of the reasons for normal mode: it takes `execute`, calls the generated callback per item itself, and reports `onSuccess`/`onFailure` when the loop is done. The child node inside the scope is an ordinary expression node.
|
|
144
|
+
|
|
145
|
+
> **A scope and a durable gate cannot share a workflow.** A workflow whose
|
|
146
|
+
> reachable closure contains a gate — `waitForEvent`, `waitForAgent`, or any
|
|
147
|
+
> `@durableGate` — may not contain scoped children at all, and is refused with
|
|
148
|
+
> `DURABLE_CLOSURE_INVALID`. The owner calls the callback itself, so the engine
|
|
149
|
+
> cannot prove on resume that the iteration it is servicing is the one that
|
|
150
|
+
> paused. To loop over work that pauses, run the loop **outside** the workflow
|
|
151
|
+
> and invoke the gated workflow once per item, or write the passes out in full
|
|
152
|
+
> if there are few and the count is fixed. See [Durable Gates](durable-gates.md).
|
|
153
|
+
|
|
106
154
|
## 1. Define ForEach Node Type
|
|
107
155
|
|
|
108
156
|
```typescript
|
|
@@ -122,6 +170,7 @@ function forEach(
|
|
|
122
170
|
items: any[],
|
|
123
171
|
processItem: (start: boolean, item: any) => { success: boolean; failure: boolean; processed: any }
|
|
124
172
|
) {
|
|
173
|
+
// Normal mode: this node owns the processItem scope and drives the callback itself
|
|
125
174
|
if (!execute) return { onSuccess: false, onFailure: false, results: [] };
|
|
126
175
|
const results = items.map((item) => processItem(true, item).processed);
|
|
127
176
|
return { onSuccess: true, onFailure: false, results };
|
|
@@ -134,10 +183,18 @@ Key points:
|
|
|
134
183
|
- Callback is auto-generated by compiler, receives scoped port values as args
|
|
135
184
|
- The node implementation iterates by calling callback for each item
|
|
136
185
|
- Mandatory scoped STEP ports: `start` (output), `success`/`failure` (inputs)
|
|
186
|
+
- Scoped wiring uses `@connect` with the `:scopeName` suffix; `@path` does not express it
|
|
137
187
|
|
|
138
188
|
## 2. Use ForEach in Workflow
|
|
139
189
|
|
|
190
|
+
The child is an ordinary expression node:
|
|
191
|
+
|
|
140
192
|
```typescript
|
|
193
|
+
/** @flowWeaver nodeType @expression */
|
|
194
|
+
function processor(item: any): { result: any } {
|
|
195
|
+
return { result: item };
|
|
196
|
+
}
|
|
197
|
+
|
|
141
198
|
/**
|
|
142
199
|
* @flowWeaver workflow
|
|
143
200
|
* @node loop forEach
|
|
@@ -170,30 +227,38 @@ Key syntax:
|
|
|
170
227
|
|
|
171
228
|
```typescript
|
|
172
229
|
// WRONG - inputs wrapped in object
|
|
173
|
-
function node(
|
|
230
|
+
function node(params: { value: any }) { ... }
|
|
174
231
|
|
|
175
232
|
// CORRECT - direct parameters for nodes
|
|
176
|
-
function node(
|
|
233
|
+
function node(value: any): Result { ... } // expression mode
|
|
234
|
+
function node(execute: boolean, value: any) { ... } // normal mode only
|
|
177
235
|
```
|
|
178
236
|
|
|
179
|
-
**
|
|
237
|
+
**Signature does not match the mode**
|
|
180
238
|
|
|
181
239
|
```typescript
|
|
182
|
-
// WRONG - no execute
|
|
240
|
+
// WRONG - normal mode (no @expression tag) but no execute parameter
|
|
183
241
|
function node(value: any) { ... }
|
|
184
242
|
|
|
185
|
-
// CORRECT
|
|
243
|
+
// CORRECT - expression mode: add @expression, no execute parameter
|
|
244
|
+
/** @flowWeaver nodeType @expression ... */
|
|
245
|
+
function node(value: any): Result { ... }
|
|
246
|
+
|
|
247
|
+
// CORRECT - normal mode: execute comes first
|
|
186
248
|
function node(execute: boolean, value: any) { ... }
|
|
187
249
|
```
|
|
188
250
|
|
|
189
|
-
**Missing return properties**
|
|
251
|
+
**Missing return properties (normal mode)**
|
|
190
252
|
|
|
191
253
|
```typescript
|
|
192
|
-
// WRONG - missing onFailure
|
|
254
|
+
// WRONG - normal mode return missing onFailure
|
|
193
255
|
return { onSuccess: true, result: 42 };
|
|
194
256
|
|
|
195
|
-
// CORRECT
|
|
257
|
+
// CORRECT - normal mode
|
|
196
258
|
return { onSuccess: true, onFailure: false, result: 42 };
|
|
259
|
+
|
|
260
|
+
// CORRECT - expression mode returns the value itself
|
|
261
|
+
return 42;
|
|
197
262
|
```
|
|
198
263
|
|
|
199
264
|
**Multiple connections to same Exit port**
|
|
@@ -212,10 +277,10 @@ return { onSuccess: true, onFailure: false, result: 42 };
|
|
|
212
277
|
|
|
213
278
|
```typescript
|
|
214
279
|
// WRONG - 'process' is a Node.js global
|
|
215
|
-
function process(
|
|
280
|
+
function process(item: any) { ... }
|
|
216
281
|
|
|
217
282
|
// CORRECT - use non-reserved names
|
|
218
|
-
function processItem(
|
|
283
|
+
function processItem(item: any) { ... }
|
|
219
284
|
```
|
|
220
285
|
|
|
221
286
|
Avoid: `process`, `module`, `require`, `exports`, `console`, `global`
|