@synergenius/flow-weaver 0.33.1 → 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 -244
- 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 -89498
- 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 +22 -29
- 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 +15 -51
- package/dist/diagram/process-view.d.ts +79 -0
- package/dist/diagram/spine.d.ts +25 -0
- package/dist/diagram/theme.d.ts +3 -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 -1267
- package/dist/diagram/html-viewer.d.ts +0 -21
- package/dist/diagram/html-viewer.js +0 -1689
- package/dist/diagram/layout.js +0 -143
- package/dist/diagram/orthogonal-router.js +0 -568
- package/dist/diagram/renderer.d.ts +0 -3
- package/dist/diagram/renderer.js +0 -266
- package/dist/diagram/theme.js +0 -282
- package/dist/diagram/types.js +0 -2
- package/dist/diff/WorkflowDiffer.js +0 -429
- package/dist/diff/formatDiff.js +0 -239
- package/dist/diff/impact.js +0 -119
- package/dist/diff/types.js +0 -35
- package/dist/doc-metadata/extractors/annotations.js +0 -638
- package/dist/doc-metadata/extractors/cli-commands.js +0 -326
- package/dist/doc-metadata/extractors/core-metadata.js +0 -61
- package/dist/doc-metadata/extractors/error-codes.js +0 -372
- package/dist/doc-metadata/extractors/grammar-rules.js +0 -51
- package/dist/doc-metadata/extractors/mcp-tools.js +0 -705
- package/dist/doc-metadata/extractors/plugin-api.d.ts +0 -19
- package/dist/doc-metadata/extractors/plugin-api.js +0 -279
- package/dist/doc-metadata/types.js +0 -5
- package/dist/editor-completions/annotationValues.js +0 -146
- package/dist/editor-completions/contextParser.js +0 -410
- package/dist/editor-completions/dataTypes.js +0 -95
- package/dist/editor-completions/goToDefinition.js +0 -112
- package/dist/editor-completions/jsDocAnnotations.js +0 -359
- package/dist/editor-completions/modifierCompletions.js +0 -197
- package/dist/editor-completions/types.js +0 -8
- package/dist/export/index.js +0 -212
- package/dist/extensions/index.d.ts +0 -16
- package/dist/extensions/index.js +0 -17
- package/dist/friendly-errors.js +0 -761
- package/dist/function-like.js +0 -84
- package/dist/generator/async-detection.js +0 -56
- package/dist/generator/code-utils.js +0 -551
- package/dist/generator/compile-target-registry.d.ts +0 -20
- package/dist/generator/compile-target-registry.js +0 -20
- package/dist/generator/control-flow.js +0 -358
- package/dist/generator/dev-mode-registry.d.ts +0 -27
- package/dist/generator/dev-mode-registry.js +0 -20
- package/dist/generator/scope-function-generator.js +0 -397
- package/dist/generator/unified.js +0 -1831
- package/dist/generator.d.ts +0 -54
- package/dist/generator.js +0 -101
- package/dist/jsdoc-parser.d.ts +0 -377
- package/dist/jsdoc-parser.js +0 -1189
- package/dist/jsdoc-port-sync/constants.js +0 -103
- package/dist/jsdoc-port-sync/diff.js +0 -319
- package/dist/jsdoc-port-sync/port-parser.js +0 -579
- package/dist/jsdoc-port-sync/rename.js +0 -256
- package/dist/jsdoc-port-sync/signature-parser.js +0 -559
- package/dist/jsdoc-port-sync/sync.js +0 -653
- package/dist/marketplace/manifest.js +0 -194
- package/dist/marketplace/registry.js +0 -198
- package/dist/marketplace/types.js +0 -9
- package/dist/marketplace/validator.js +0 -150
- package/dist/mcp/agent-channel.d.ts +0 -35
- package/dist/mcp/agent-channel.js +0 -61
- package/dist/mcp/auto-registration.d.ts +0 -3
- package/dist/mcp/auto-registration.js +0 -62
- package/dist/mcp/debug-session.js +0 -25
- package/dist/mcp/index.d.ts +0 -11
- package/dist/mcp/index.js +0 -10
- package/dist/mcp/pack-tools.js +0 -59
- package/dist/mcp/prompts.js +0 -68
- package/dist/mcp/response-utils.js +0 -97
- package/dist/mcp/run-registry.d.ts +0 -29
- package/dist/mcp/run-registry.js +0 -24
- package/dist/mcp/server.js +0 -63
- package/dist/mcp/tools-context.js +0 -51
- package/dist/mcp/tools-debug.js +0 -451
- package/dist/mcp/tools-diagram.js +0 -97
- package/dist/mcp/tools-docs.js +0 -62
- package/dist/mcp/tools-export.js +0 -222
- package/dist/mcp/tools-marketplace.js +0 -132
- package/dist/mcp/tools-model.d.ts +0 -3
- package/dist/mcp/tools-model.js +0 -279
- package/dist/mcp/tools-pattern.d.ts +0 -3
- package/dist/mcp/tools-pattern.js +0 -604
- package/dist/mcp/tools-query.js +0 -377
- package/dist/mcp/tools-resources.js +0 -41
- package/dist/mcp/tools-template.js +0 -119
- package/dist/mcp/tools-workflow-run.d.ts +0 -40
- package/dist/mcp/tools-workflow-run.js +0 -150
- package/dist/mcp/types.js +0 -2
- package/dist/mcp/workflow-executor.js +0 -242
- package/dist/migration/registry.js +0 -29
- package/dist/node-types-generator.js +0 -139
- package/dist/parser/tag-registry.js +0 -57
- package/dist/parser.d.ts +0 -232
- package/dist/parser.js +0 -2500
- package/dist/plugin/PluginPanel.d.ts +0 -12
- package/dist/plugin/PluginPanel.js +0 -5
- package/dist/plugin/index.d.ts +0 -13
- package/dist/plugin/index.js +0 -14
- package/dist/plugin/types.d.ts +0 -75
- package/dist/plugin/types.js +0 -8
- package/dist/resolve-package-types.js +0 -123
- package/dist/runtime/CancellationError.js +0 -20
- package/dist/runtime/ExecutionContext.js +0 -280
- package/dist/runtime/builtin-functions.js +0 -549
- package/dist/runtime/checkpoint.d.ts +0 -84
- package/dist/runtime/checkpoint.js +0 -225
- package/dist/runtime/debug-controller.js +0 -247
- package/dist/runtime/events.js +0 -2
- package/dist/runtime/function-registry.js +0 -66
- package/dist/runtime/parameter-resolver.js +0 -113
- package/dist/server/types.js +0 -5
- package/dist/server/webhook-server.js +0 -269
- package/dist/server/workflow-registry.js +0 -202
- package/dist/shared-project.js +0 -28
- package/dist/sugar-optimizer.js +0 -498
- package/dist/testing/assertions.js +0 -127
- package/dist/testing/mock-approval.js +0 -98
- package/dist/testing/mock-llm.js +0 -119
- package/dist/testing/recorder.js +0 -70
- package/dist/testing/replayer.js +0 -143
- package/dist/testing/token-tracker.js +0 -94
- package/dist/type-checker.d.ts +0 -42
- package/dist/type-checker.js +0 -190
- package/dist/type-mappings.js +0 -131
- package/dist/types/branded-ports.d.ts +0 -151
- package/dist/types/branded-ports.js +0 -121
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types.d.ts +0 -139
- package/dist/types.js +0 -15
- package/dist/utils/error-utils.js +0 -27
- package/dist/utils/lru-cache.js +0 -40
- package/dist/utils/port-ordering.js +0 -81
- package/dist/utils/port-tag-utils.js +0 -41
- package/dist/utils/string-distance.js +0 -56
- package/dist/validation/agent-detection.js +0 -115
- package/dist/validation/agent-rules.js +0 -262
- package/dist/validation/design-rules.js +0 -377
- package/dist/validation/rule-registry.js +0 -37
- package/dist/validator.d.ts +0 -113
- package/dist/validator.js +0 -1631
- package/docs/reference/patterns.md +0 -159
- package/scripts/postinstall.cjs +0 -86
- /package/dist/{shared-project.d.ts → parser/shared-project.d.ts} +0 -0
- /package/dist/{friendly-errors.d.ts → validation/friendly-errors.d.ts} +0 -0
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Replay LLM Provider
|
|
2
|
+
* Replay LLM Provider: creates a mock provider from a recorded session.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
5
|
* ```typescript
|
|
6
|
-
* import { createReplayProvider, loadRecording } from 'flow-weaver/testing';
|
|
6
|
+
* import { createReplayProvider, loadRecording } from '@synergenius/flow-weaver/testing';
|
|
7
7
|
*
|
|
8
8
|
* const recording = loadRecording(jsonFixture);
|
|
9
9
|
* const replay = createReplayProvider(recording);
|
|
10
10
|
*
|
|
11
|
-
* //
|
|
12
|
-
* (globalThis as unknown as { __fw_llm_provider__?: LLMProvider }).__fw_llm_provider__ = replay;
|
|
11
|
+
* // Pass replay to the node or adapter under test; calls replay in order.
|
|
13
12
|
*
|
|
14
|
-
* // Run workflow
|
|
13
|
+
* // Run workflow. LLM calls return recorded responses, no network calls
|
|
15
14
|
*
|
|
16
15
|
* // All MockLlmProvider methods work: getCalls(), getTotalTokens(), etc.
|
|
17
16
|
* expect(replay.getCallCount()).toBe(3);
|
|
18
17
|
* ```
|
|
19
18
|
*/
|
|
20
|
-
import type { LLMTokenUsage, MockLlmProvider } from './mock-llm
|
|
21
|
-
import type { LlmRecording } from './recorder
|
|
19
|
+
import type { LLMTokenUsage, MockLlmProvider } from './mock-llm';
|
|
20
|
+
import type { LlmRecording } from './recorder';
|
|
22
21
|
export interface ReplayOptions {
|
|
23
22
|
/**
|
|
24
23
|
* In strict mode, throws an error if more calls are made than were recorded.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
8
|
* ```typescript
|
|
9
|
-
* import { TokenTracker, createMockLlmProvider } from 'flow-weaver/testing';
|
|
9
|
+
* import { TokenTracker, createMockLlmProvider } from '@synergenius/flow-weaver/testing';
|
|
10
10
|
*
|
|
11
11
|
* const tracker = new TokenTracker();
|
|
12
12
|
* const mockLlm = createMockLlmProvider([...]);
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* tracker.assertBelow(10000); // Fail if total exceeds budget
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
import type { LLMTokenUsage } from './mock-llm
|
|
22
|
+
import type { LLMTokenUsage } from './mock-llm';
|
|
23
23
|
export interface TrackedStep {
|
|
24
24
|
/** Identifier for this step (e.g., node name, call index) */
|
|
25
25
|
step: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TDataType } from '
|
|
1
|
+
import type { TDataType } from '../ast/types';
|
|
2
2
|
export type TypeScriptType = 'string' | 'number' | 'boolean' | 'unknown' | 'unknown[]' | 'void' | 'Function' | 'Record<string, unknown>' | '(...args: unknown[]) => unknown';
|
|
3
3
|
export interface PortTypeMapping {
|
|
4
4
|
readonly typescript: TypeScriptType;
|
|
@@ -25,5 +25,17 @@ export declare function getPortTypeDescription(portType: TDataType): string | un
|
|
|
25
25
|
* inferDataTypeFromTS("Map<string, User>") // → "OBJECT"
|
|
26
26
|
* inferDataTypeFromTS("(x: number) => string") // → "FUNCTION"
|
|
27
27
|
*/
|
|
28
|
+
/**
|
|
29
|
+
* Strip a trailing `| undefined` that ts-morph appends to an optional
|
|
30
|
+
* parameter's type. Optionality is tracked separately by the port's `optional`
|
|
31
|
+
* flag, so the captured `tsType` should be the base type without it. ts-morph 28
|
|
32
|
+
* started including `| undefined` in `Parameter.getType().getText()` for `?`
|
|
33
|
+
* params (ts-morph 27 did not), which otherwise leaks into generated code and
|
|
34
|
+
* makes JSDoc signatures (`@input x - string`) mismatch the inferred type.
|
|
35
|
+
*
|
|
36
|
+
* Only call this for params/fields already known to be optional; a required
|
|
37
|
+
* `string | undefined` union is left intact.
|
|
38
|
+
*/
|
|
39
|
+
export declare function stripOptionalUndefined(tsType: string): string;
|
|
28
40
|
export declare function inferDataTypeFromTS(tsType: string): TDataType;
|
|
29
41
|
//# sourceMappingURL=type-mappings.d.ts.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Error helpers used across the codebase. Use getErrorMessage rather than
|
|
3
|
+
* writing `e instanceof Error ? e.message : String(e)` out; only code copied
|
|
4
|
+
* into compiled workflows (the durable engine, the built-in nodes, generated
|
|
5
|
+
* text) carries its own copy.
|
|
4
6
|
*/
|
|
5
7
|
/**
|
|
6
8
|
* Extracts a string message from any error value.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared port ordering utilities
|
|
3
|
-
* Extracted from parser.ts for reuse across the codebase
|
|
3
|
+
* Extracted from parser/annotation-parser.ts for reuse across the codebase
|
|
4
4
|
*/
|
|
5
|
-
import type { TPortDefinition } from "../ast/types
|
|
5
|
+
import type { TPortDefinition } from "../ast/types";
|
|
6
6
|
/**
|
|
7
7
|
* Check if a port is mandatory.
|
|
8
8
|
* External ports: execute, onSuccess, onFailure
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Port tag validation utilities
|
|
3
3
|
* Shared logic for determining port tag types (@input, @output, @step)
|
|
4
4
|
*/
|
|
5
|
-
import type { TPortDefinition } from "../ast/types
|
|
5
|
+
import type { TPortDefinition } from "../ast/types";
|
|
6
6
|
/**
|
|
7
7
|
* Check if a port name is a reserved STEP port.
|
|
8
8
|
* Includes both external (execute, onSuccess, onFailure) and scoped (start, success, failure).
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Multi-signal detection to classify workflow nodes by their agent role.
|
|
5
5
|
* Uses a priority hierarchy: port signatures > visual annotations > name heuristics.
|
|
6
6
|
*/
|
|
7
|
-
import type { TNodeTypeAST } from '../ast/types
|
|
7
|
+
import type { TNodeTypeAST } from '../ast/types';
|
|
8
8
|
/**
|
|
9
9
|
* Recognized agent node roles.
|
|
10
10
|
* - llm: Calls a language model (has messages/toolCalls/content ports)
|
|
@@ -17,14 +17,26 @@ export type AgentNodeRole = 'llm' | 'tool-executor' | 'human-approval' | 'memory
|
|
|
17
17
|
* Detect the agent role of a node type using multi-signal analysis.
|
|
18
18
|
*
|
|
19
19
|
* Priority:
|
|
20
|
-
* 1. Port signature patterns (strongest
|
|
21
|
-
* 2. @icon annotation (strong
|
|
22
|
-
* 3. @color annotation (weak
|
|
23
|
-
* 4. Function name heuristics (weakest
|
|
20
|
+
* 1. Port signature patterns (strongest, defines the contract)
|
|
21
|
+
* 2. @icon annotation (strong, explicit visual intent)
|
|
22
|
+
* 3. @color annotation (weak, only used to break ties)
|
|
23
|
+
* 4. Function name heuristics (weakest, fallback only)
|
|
24
24
|
*
|
|
25
25
|
* @returns The detected role, or null if the node is not an agent node
|
|
26
26
|
*/
|
|
27
27
|
export declare function detectNodeRole(nodeType: TNodeTypeAST): AgentNodeRole | null;
|
|
28
|
+
/** Which signal produced a detected role, strongest first. */
|
|
29
|
+
export type AgentRoleSignal = 'port' | 'icon' | 'color' | 'name';
|
|
30
|
+
/**
|
|
31
|
+
* Like detectNodeRole, but also reports which signal decided it, so a rule
|
|
32
|
+
* can weigh its response. A role that rests only on `@color` or a name
|
|
33
|
+
* pattern is a guess about a cosmetic choice, not evidence that the node
|
|
34
|
+
* calls a model. Rules that would block on it should downgrade to a warning.
|
|
35
|
+
*/
|
|
36
|
+
export declare function detectNodeRoleSignal(nodeType: TNodeTypeAST): {
|
|
37
|
+
role: AgentNodeRole;
|
|
38
|
+
signal: AgentRoleSignal;
|
|
39
|
+
} | null;
|
|
28
40
|
/**
|
|
29
41
|
* Convenience: find all node types in a workflow that match a specific role.
|
|
30
42
|
* Returns array of [instanceId, nodeType] pairs for all instances with that role.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 4. AGENT_LLM_NO_FALLBACK - LLM onFailure goes directly to Exit
|
|
12
12
|
* 5. AGENT_TOOL_NO_OUTPUT_HANDLING - Tool executor outputs are all unconnected
|
|
13
13
|
*/
|
|
14
|
-
import type { TValidationRule } from '../ast/types
|
|
14
|
+
import type { TValidationRule } from '../ast/types';
|
|
15
15
|
/**
|
|
16
16
|
* LLM nodes should have their onFailure port connected.
|
|
17
17
|
* LLM calls are inherently unreliable (rate limits, timeouts, model errors).
|
|
@@ -20,7 +20,7 @@ import type { TValidationRule } from '../ast/types.js';
|
|
|
20
20
|
export declare const missingErrorHandlerRule: TValidationRule;
|
|
21
21
|
/**
|
|
22
22
|
* Tool executors that perform actions should have a human-approval node upstream.
|
|
23
|
-
* This is a warning, not an error
|
|
23
|
+
* This is a warning, not an error, because read-only tools may not need approval.
|
|
24
24
|
*/
|
|
25
25
|
export declare const unguardedToolExecutorRule: TValidationRule;
|
|
26
26
|
/**
|
|
@@ -29,17 +29,16 @@ export declare const unguardedToolExecutorRule: TValidationRule;
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const missingMemoryInLoopRule: TValidationRule;
|
|
31
31
|
/**
|
|
32
|
-
* An LLM node whose onFailure goes directly to Exit.onFailure means
|
|
33
|
-
*
|
|
32
|
+
* An LLM node whose onFailure goes directly to Exit.onFailure means any LLM
|
|
33
|
+
* error immediately aborts the workflow, unless the adapter explicitly declares
|
|
34
|
+
* its internal retry/fallback contract with @resilience.
|
|
34
35
|
*/
|
|
35
36
|
export declare const llmWithoutFallbackRule: TValidationRule;
|
|
36
37
|
/**
|
|
37
38
|
* A tool executor whose non-STEP output ports are all unconnected means
|
|
38
|
-
* tool results are computed but never used
|
|
39
|
+
* tool results are computed but never used, likely a wiring mistake.
|
|
39
40
|
*/
|
|
40
41
|
export declare const toolNoOutputHandlingRule: TValidationRule;
|
|
41
|
-
/** All agent validation rules */
|
|
42
|
-
export declare const agentValidationRules: TValidationRule[];
|
|
43
42
|
/**
|
|
44
43
|
* Get all agent validation rules.
|
|
45
44
|
* Convenience function for passing to validateWorkflow().
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core validation rules for WorkflowValidator.
|
|
3
|
+
*
|
|
4
|
+
* Each rule is a free function taking a ValidationContext (the mutable
|
|
5
|
+
* errors/warnings arrays + mode flags) plus the workflow and any precomputed
|
|
6
|
+
* maps. WorkflowValidator.validate() builds the context and invokes these in
|
|
7
|
+
* a fixed order; the cascading-error filter there depends on that order.
|
|
8
|
+
*
|
|
9
|
+
* This module is the index of the rules. The short ones live here; the
|
|
10
|
+
* larger ones have a module of their own under ./rules/ and are re-exported:
|
|
11
|
+
*
|
|
12
|
+
* - rules/connections.ts: known endpoints, duplicates, one value per input
|
|
13
|
+
* - rules/type-compatibility.ts: data types and coercions across connections
|
|
14
|
+
* - rules/data-flow.ts: unused outputs, Exit ports, @http route params
|
|
15
|
+
* - rules/cycles.ts: loops within each scope layer
|
|
16
|
+
* - rules/scope-topology.ts: the inner graph of nodes with scoped ports
|
|
17
|
+
*/
|
|
18
|
+
import type { TNodeTypeAST, TWorkflowAST } from '../ast/types';
|
|
19
|
+
import type { ValidationContext } from './rules/context.js';
|
|
20
|
+
export type { ValidationContext } from './rules/context.js';
|
|
21
|
+
export { validateConnections, validateDuplicateConnections, validateMultipleInputConnections, } from './rules/connections.js';
|
|
22
|
+
export { validateTypeCompatibility } from './rules/type-compatibility.js';
|
|
23
|
+
export { validateDataFlow } from './rules/data-flow.js';
|
|
24
|
+
export { validateCycles } from './rules/cycles.js';
|
|
25
|
+
export { validateScopeTopology } from './rules/scope-topology.js';
|
|
26
|
+
export declare function validateStructure(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
27
|
+
export declare function validateDuplicateNodeNames(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
28
|
+
export declare function validateMutableBindings(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
29
|
+
export declare function validateReservedNames(ctx: ValidationContext, workflow: TWorkflowAST, nodeTypeMap: Map<string, TNodeTypeAST>): void;
|
|
30
|
+
/**
|
|
31
|
+
* Scope names become identifiers in generated code (`l_<scope>_scopeFn`), so
|
|
32
|
+
* a `scope:my-scope` port would compile into a syntax error.
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateScopeNames(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
35
|
+
export declare function validateRequiredInputs(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
36
|
+
export declare function detectUnusedNodes(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
37
|
+
export declare function validateStartAndExit(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
38
|
+
/**
|
|
39
|
+
* Cross-check @input annotations against TypeScript function signatures.
|
|
40
|
+
* Warns on optionality and type mismatches between annotations and actual code.
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateAnnotationSignatureConsistency(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
43
|
+
export declare function validateDuplicateInstanceIds(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
44
|
+
export declare function validateVisualAnnotations(ctx: ValidationContext, workflow: TWorkflowAST, _instanceMap: Map<string, TNodeTypeAST>): void;
|
|
45
|
+
export declare function validatePortTypes(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
46
|
+
export declare function validatePortConfigReferences(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
47
|
+
export declare function validateExpressionSyntax(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
48
|
+
export declare function validateExecuteWhen(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
49
|
+
//# sourceMappingURL=core-rules.d.ts.map
|
|
@@ -17,10 +17,17 @@
|
|
|
17
17
|
* 6. DESIGN_PULL_CANDIDATE - Node with no incoming step but consumed data outputs
|
|
18
18
|
* 7. DESIGN_PULL_UNUSED - Node marked pullExecution but no downstream reads its output
|
|
19
19
|
*/
|
|
20
|
-
import type { TValidationRule } from '../ast/types
|
|
20
|
+
import type { TValidationRule } from '../ast/types';
|
|
21
21
|
/**
|
|
22
22
|
* Async nodes (network, disk, AI) can fail. If onFailure is unconnected,
|
|
23
|
-
*
|
|
23
|
+
* a normal-mode node's failure is silently swallowed.
|
|
24
|
+
*
|
|
25
|
+
* The message says what actually happens for each mode. A normal-mode node
|
|
26
|
+
* returns `onFailure: true`, which is routed, so wiring `onFailure` handles
|
|
27
|
+
* it. An expression node fails by throwing, and the generated code marks
|
|
28
|
+
* the node failed and rethrows: the error aborts the run whether or not
|
|
29
|
+
* `onFailure` is wired. Telling an author to wire `onFailure` on an
|
|
30
|
+
* expression node would send them to a change that does nothing.
|
|
24
31
|
*/
|
|
25
32
|
export declare const asyncNoErrorPathRule: TValidationRule;
|
|
26
33
|
/**
|
|
@@ -56,6 +63,5 @@ export declare const pullCandidateRule: TValidationRule;
|
|
|
56
63
|
* The node will never execute since pull execution requires a consumer.
|
|
57
64
|
*/
|
|
58
65
|
export declare const pullUnusedRule: TValidationRule;
|
|
59
|
-
export declare const designValidationRules: TValidationRule[];
|
|
60
66
|
export declare function getDesignValidationRules(): TValidationRule[];
|
|
61
67
|
//# sourceMappingURL=design-rules.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ValidationRuleRegistry: dynamic dispatch for pack-contributed validation rules.
|
|
3
3
|
*
|
|
4
|
-
* Replaces
|
|
4
|
+
* Replaces a former hardcoded per-domain rule-set lookup
|
|
5
5
|
* pattern. Each registered rule set has a detect predicate and a lazy rule loader.
|
|
6
6
|
* The validate API calls `getApplicableRules(ast)` and merges results.
|
|
7
7
|
*/
|
|
8
|
-
import type { TValidationRule, TWorkflowAST } from '../ast/types
|
|
8
|
+
import type { TValidationRule, TWorkflowAST } from '../ast/types';
|
|
9
9
|
export type TValidationRuleSet = {
|
|
10
10
|
/** Human-readable name for this rule set */
|
|
11
11
|
name: string;
|
|
@@ -18,7 +18,7 @@ export type TValidationRuleSet = {
|
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* Registry for dynamically contributed validation rule sets.
|
|
21
|
-
* Core rule sets
|
|
21
|
+
* Core and pack rule sets register themselves at startup.
|
|
22
22
|
* Pack-contributed rule sets are loaded from manifests.
|
|
23
23
|
*/
|
|
24
24
|
export declare class ValidationRuleRegistry {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection rules: every `@connect` must name real nodes and real ports, may
|
|
3
|
+
* appear once, and may be the only value flowing into a data input.
|
|
4
|
+
*
|
|
5
|
+
* These run before the type, data-flow and scope rules, which skip any
|
|
6
|
+
* connection whose endpoints do not resolve and rely on the errors here to
|
|
7
|
+
* report it. The cascading-error filter in WorkflowValidator.validate() also
|
|
8
|
+
* drops the UNKNOWN_SOURCE_NODE / UNKNOWN_TARGET_NODE errors raised here when
|
|
9
|
+
* the node's type itself is unknown.
|
|
10
|
+
*/
|
|
11
|
+
import type { TNodeTypeAST, TWorkflowAST } from '../../ast/types';
|
|
12
|
+
import type { ValidationContext } from './context.js';
|
|
13
|
+
/**
|
|
14
|
+
* Every connection must join known nodes through ports they declare. Per
|
|
15
|
+
* connection the errors come in a fixed order: source node, target node,
|
|
16
|
+
* source port, target port.
|
|
17
|
+
*/
|
|
18
|
+
export declare function validateConnections(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
19
|
+
/** The same `from.port -> to.port` pair written twice is an error on the second copy. */
|
|
20
|
+
export declare function validateDuplicateConnections(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
21
|
+
/**
|
|
22
|
+
* Validate that no input port has multiple connections.
|
|
23
|
+
* Only one value can be received per input port.
|
|
24
|
+
* (STEP ports can have multiple connections as they're control flow)
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateMultipleInputConnections(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
27
|
+
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TValidationError } from '../../ast/types';
|
|
2
|
+
/**
|
|
3
|
+
* Mutable state shared across validation rules.
|
|
4
|
+
*/
|
|
5
|
+
export interface ValidationContext {
|
|
6
|
+
errors: TValidationError[];
|
|
7
|
+
warnings: TValidationError[];
|
|
8
|
+
strictMode: boolean;
|
|
9
|
+
draftMode: boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cycle detection. The generated code runs nodes in topological order, so a
|
|
3
|
+
* loop between nodes has no order to run in; iteration belongs in a scoped
|
|
4
|
+
* node (forEach and the like), which runs its children once per item.
|
|
5
|
+
*
|
|
6
|
+
* Each scope layer (the root, and every parent's children) is checked on its
|
|
7
|
+
* own, over the connections whose ends share that layer. A node connected to
|
|
8
|
+
* itself is allowed (an iteration pattern) and never starts a reported loop.
|
|
9
|
+
* The same loop found from several entry points is reported once.
|
|
10
|
+
*/
|
|
11
|
+
import type { TWorkflowAST } from '../../ast/types';
|
|
12
|
+
import type { ValidationContext } from './context.js';
|
|
13
|
+
/**
|
|
14
|
+
* Validate for cycles (loops) in the workflow graph, one scope layer at a time.
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateCycles(ctx: ValidationContext, workflow: TWorkflowAST): void;
|
|
17
|
+
//# sourceMappingURL=cycles.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data flow: values that are produced but go nowhere, and workflow outputs
|
|
3
|
+
* that nothing produces or that several producers race for.
|
|
4
|
+
*
|
|
5
|
+
* Checks, in order:
|
|
6
|
+
* - unused output ports: data a node produces that no connection reads
|
|
7
|
+
* - unreachable Exit ports: a declared return value with no incoming connection
|
|
8
|
+
* - multiple connections into one Exit data port, unless the sources sit on
|
|
9
|
+
* opposite branches (onSuccess / onFailure) of the same branching node, so
|
|
10
|
+
* at most one of them runs
|
|
11
|
+
* - `@http` route `:params` that name no workflow parameter
|
|
12
|
+
*/
|
|
13
|
+
import type { TNodeTypeAST, TWorkflowAST } from '../../ast/types';
|
|
14
|
+
import type { ValidationContext } from './context.js';
|
|
15
|
+
/**
|
|
16
|
+
* Validate data flow in the workflow. See the module comment for the checks.
|
|
17
|
+
*/
|
|
18
|
+
export declare function validateDataFlow(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
19
|
+
//# sourceMappingURL=data-flow.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope topology: the inner graph of nodes with scoped ports.
|
|
3
|
+
*
|
|
4
|
+
* A node type with scoped ports (forEach and the like) runs its children as a
|
|
5
|
+
* callback, once per scope invocation. Its scoped OUTPUT ports become the
|
|
6
|
+
* callback's parameters (data flowing to the children) and its scoped INPUT
|
|
7
|
+
* ports the callback's return value (data flowing back). The children run in
|
|
8
|
+
* that callback's context and nowhere else, so the connections around them
|
|
9
|
+
* must respect the boundary or the generated code has nothing to read.
|
|
10
|
+
*
|
|
11
|
+
* Checks, in order:
|
|
12
|
+
* - an instance listed in two scopes of `workflow.scopes` (error)
|
|
13
|
+
* then for each instance with scoped ports:
|
|
14
|
+
* - a `:scope` qualifier naming a scope the node does not define (error)
|
|
15
|
+
* - and for each of its scopes:
|
|
16
|
+
* - a scope with no children (warning, nothing more is checked for it)
|
|
17
|
+
* - scoped connections naming a parent port that does not exist, or that
|
|
18
|
+
* belongs to another scope or to none (error)
|
|
19
|
+
* - scoped connections leaving the scope (error)
|
|
20
|
+
* - data type mismatches between parent and child ports (warning)
|
|
21
|
+
* - children with unconnected required inputs (error)
|
|
22
|
+
* - scoped input ports nothing returns into (warning)
|
|
23
|
+
* - children with no scoped connection to or from the parent (warning)
|
|
24
|
+
* and last, over all plain connections:
|
|
25
|
+
* - connections that cross the boundary of a per-port scope (error). Flat
|
|
26
|
+
* grouping scopes, whose parent has no scoped ports, may be crossed.
|
|
27
|
+
*/
|
|
28
|
+
import type { TNodeTypeAST, TWorkflowAST } from '../../ast/types';
|
|
29
|
+
import type { ValidationContext } from './context.js';
|
|
30
|
+
/**
|
|
31
|
+
* Validate the inner graph topology of nodes that have scoped ports. See the
|
|
32
|
+
* module comment for the checks and their order.
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateScopeTopology(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
35
|
+
//# sourceMappingURL=scope-topology.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type compatibility of data connections, with coercion support.
|
|
3
|
+
*
|
|
4
|
+
* A connection carries a value from an output port to an input port, and the
|
|
5
|
+
* generated code passes it through as is, or through the `as <type>` coercion
|
|
6
|
+
* the author wrote. This rule says when that value may not be what the target
|
|
7
|
+
* expects, so the author sees it before run time.
|
|
8
|
+
*
|
|
9
|
+
* Checks, in order, stopping at the first that settles the connection:
|
|
10
|
+
* - STEP ports connect only to STEP ports (error)
|
|
11
|
+
* - no `as <type>` on FUNCTION ports (error)
|
|
12
|
+
* - same data type: a coercion is redundant; OBJECT ports compare their tsType
|
|
13
|
+
* - ANY on either side is always compatible
|
|
14
|
+
* - an explicit coercion must produce the target type
|
|
15
|
+
* - safe coercions (NUMBER to STRING, BOOLEAN to STRING) pass silently
|
|
16
|
+
* - lossy coercions (STRING to NUMBER, OBJECT to STRING, ...) warn
|
|
17
|
+
* - unusual coercions (NUMBER to BOOLEAN, STRING to OBJECT, ...) warn
|
|
18
|
+
* - every other pair is a TYPE_MISMATCH warning
|
|
19
|
+
*
|
|
20
|
+
* With `@strictTypes` on the workflow, or strict mode, the last four are
|
|
21
|
+
* reported as TYPE_INCOMPATIBLE errors instead of warnings.
|
|
22
|
+
*/
|
|
23
|
+
import type { TNodeTypeAST, TWorkflowAST } from '../../ast/types';
|
|
24
|
+
import type { ValidationContext } from './context.js';
|
|
25
|
+
/**
|
|
26
|
+
* Validate type compatibility for connections with coercion support.
|
|
27
|
+
* See the module comment for the order of checks.
|
|
28
|
+
*/
|
|
29
|
+
export declare function validateTypeCompatibility(ctx: ValidationContext, workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): void;
|
|
30
|
+
//# sourceMappingURL=type-compatibility.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Checker Module
|
|
3
|
+
*
|
|
4
|
+
* String-based type compatibility checking for port connections. Ports carry
|
|
5
|
+
* their TypeScript type as text (the AST is serialisable), so the checks here
|
|
6
|
+
* work on that text.
|
|
7
|
+
*/
|
|
8
|
+
import type { TTypeCompatibility } from "../ast/types";
|
|
9
|
+
/**
|
|
10
|
+
* Safe runtime coercions that JavaScript handles automatically, as
|
|
11
|
+
* source -> target data type pairs. A connection between these types needs no
|
|
12
|
+
* warning: Number.toString() and Boolean.toString() are predictable.
|
|
13
|
+
*/
|
|
14
|
+
export declare const SAFE_COERCIONS: ReadonlyArray<readonly [string, string]>;
|
|
15
|
+
/**
|
|
16
|
+
* Check if a source type can be safely coerced to a target type at runtime.
|
|
17
|
+
* Accepts data types (`NUMBER`) and TypeScript primitives (`number`) alike.
|
|
18
|
+
*
|
|
19
|
+
* @param sourceText - The source type as a string
|
|
20
|
+
* @param targetText - The target type as a string
|
|
21
|
+
* @returns true if the coercion is safe
|
|
22
|
+
*/
|
|
23
|
+
export declare function isRuntimeCoercible(sourceText: string, targetText: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* True for a type text that names "some object" without describing its shape.
|
|
26
|
+
* Whitespace is ignored so `Record<string, unknown>` and `Record<string,unknown>`
|
|
27
|
+
* are the same type.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isOpaqueObjectType(typeText: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check type compatibility using string representations.
|
|
32
|
+
* Fallback for JSON-loaded workflows without ts-morph Type objects.
|
|
33
|
+
*
|
|
34
|
+
* @param sourceText - The source type as a string
|
|
35
|
+
* @param targetText - The target type as a string
|
|
36
|
+
* @returns TTypeCompatibility result
|
|
37
|
+
*/
|
|
38
|
+
export declare function checkTypeCompatibilityFromStrings(sourceText: string, targetText: string): TTypeCompatibility;
|
|
39
|
+
//# sourceMappingURL=type-checker.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure, state-free helpers shared by the validation rules.
|
|
3
|
+
*
|
|
4
|
+
* Nothing here depends on validator instance state (errors, warnings, mode).
|
|
5
|
+
*/
|
|
6
|
+
import type { TNodeTypeAST, TWorkflowAST, TSourceLocation, TConnectionAST, TNodeInstanceAST, TCoerceTargetType } from '../ast/types';
|
|
7
|
+
/** The data type each `@connect ... as <type>` coercion produces. */
|
|
8
|
+
export declare const COERCE_OUTPUT_TYPE: Record<TCoerceTargetType, string>;
|
|
9
|
+
/** The `as <type>` that produces a given data type, for suggestions. `json` also gives STRING and is never suggested. */
|
|
10
|
+
export declare const COERCE_TYPE_FOR_DATA_TYPE: Record<string, TCoerceTargetType>;
|
|
11
|
+
/** Suggest the correct `as <type>` for a given target dataType. */
|
|
12
|
+
export declare function suggestCoerceType(targetType: string): string;
|
|
13
|
+
/** Resolve a node instance to its node type definition, by name or function name. */
|
|
14
|
+
export declare function resolveNodeType(ast: TWorkflowAST, instance: TNodeInstanceAST): TNodeTypeAST | undefined;
|
|
15
|
+
/** All outgoing connections from a node, or from one of its ports when `portName` is given. */
|
|
16
|
+
export declare function getOutgoing(ast: TWorkflowAST, nodeId: string, portName?: string): TConnectionAST[];
|
|
17
|
+
/** Look up instance sourceLocation by instance ID. */
|
|
18
|
+
export declare function getInstanceLocation(workflow: TWorkflowAST, instanceId: string): TSourceLocation | undefined;
|
|
19
|
+
/** Look up connection sourceLocation. */
|
|
20
|
+
export declare function getConnectionLocation(conn: TConnectionAST): TSourceLocation | undefined;
|
|
21
|
+
/** Format a data type for display, including its TS type when available. */
|
|
22
|
+
export declare function formatType(dataType: string, tsType?: string): string;
|
|
23
|
+
/** Normalize a type string for case-insensitive, whitespace-insensitive compare. */
|
|
24
|
+
export declare function normalizeTypeString(type: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Determine whether the given source nodes are mutually exclusive — i.e. they
|
|
27
|
+
* all trace back to different branches (onSuccess/onFailure) of the same
|
|
28
|
+
* branching ancestor, so at most one executes.
|
|
29
|
+
*/
|
|
30
|
+
export declare function areMutuallyExclusive(sourceNodes: string[], workflow: TWorkflowAST, instanceMap: Map<string, TNodeTypeAST>): boolean;
|
|
31
|
+
//# sourceMappingURL=validator-helpers.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { TNodeTypeAST, TWorkflowAST, TValidationError } from '../ast/types';
|
|
2
|
+
export type { TValidationError } from '../ast/types';
|
|
3
|
+
export declare class WorkflowValidator {
|
|
4
|
+
private ctx;
|
|
5
|
+
/**
|
|
6
|
+
* The scope-name problems of a single node type, as messages. The same
|
|
7
|
+
* check runs inside validate() as the INVALID_SCOPE_NAME rule; this is the
|
|
8
|
+
* standalone form for callers that hold a node type and no workflow.
|
|
9
|
+
*
|
|
10
|
+
* Scoped OUTPUT ports become callback parameters (data flows to children)
|
|
11
|
+
* and scoped INPUT ports become callback return values (data flows from
|
|
12
|
+
* children); the ports may carry any data type.
|
|
13
|
+
*/
|
|
14
|
+
validateNodeType(nodeType: TNodeTypeAST): string[];
|
|
15
|
+
/**
|
|
16
|
+
* Validate a workflow: resolve its instances, run the core rules in their
|
|
17
|
+
* fixed order, then post-process the diagnostics (drop cascading errors,
|
|
18
|
+
* demote stub errors in draft mode, apply suppressions, attach doc URLs).
|
|
19
|
+
*/
|
|
20
|
+
validate(workflow: TWorkflowAST, options?: {
|
|
21
|
+
strictMode?: boolean;
|
|
22
|
+
mode?: 'strict' | 'draft';
|
|
23
|
+
}): {
|
|
24
|
+
valid: boolean;
|
|
25
|
+
errors: TValidationError[];
|
|
26
|
+
warnings: TValidationError[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare const validator: WorkflowValidator;
|
|
30
|
+
//# sourceMappingURL=validator.d.ts.map
|