@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
package/dist/api/generate.js
DELETED
|
@@ -1,514 +0,0 @@
|
|
|
1
|
-
import { bodyGenerator } from '../body-generator.js';
|
|
2
|
-
import { extractExitPorts, extractStartPorts, hasBranching } from '../ast/workflow-utils.js';
|
|
3
|
-
import { isExecutePort } from '../constants.js';
|
|
4
|
-
import { mapToTypeScript } from '../type-mappings.js';
|
|
5
|
-
import { SourceMapGenerator } from 'source-map';
|
|
6
|
-
import { generateInlineRuntime, stripTypeScript } from './inline-runtime.js';
|
|
7
|
-
import { validateWorkflowAsync } from '../generator/async-detection.js';
|
|
8
|
-
import { extractTypeDeclarationsFromFile } from './extract-types.js';
|
|
9
|
-
import * as path from 'node:path';
|
|
10
|
-
import * as fs from 'fs';
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// Module Format Helpers
|
|
13
|
-
// ============================================================================
|
|
14
|
-
/**
|
|
15
|
-
* Generate an import statement in the appropriate module format
|
|
16
|
-
*/
|
|
17
|
-
export function generateImportStatement(names, source, moduleFormat) {
|
|
18
|
-
if (moduleFormat === 'cjs') {
|
|
19
|
-
return `const { ${names.join(', ')} } = require('${source}');`;
|
|
20
|
-
}
|
|
21
|
-
return `import { ${names.join(', ')} } from '${source}';`;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Generate an export statement for a function in the appropriate module format
|
|
25
|
-
* For ESM: export async function name() { }
|
|
26
|
-
* For CJS: async function name() { } (module.exports added at end)
|
|
27
|
-
*/
|
|
28
|
-
export function generateFunctionExportKeyword(moduleFormat) {
|
|
29
|
-
return moduleFormat === 'cjs' ? '' : 'export ';
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Generate module.exports statement for CJS format
|
|
33
|
-
*/
|
|
34
|
-
export function generateModuleExports(functionNames) {
|
|
35
|
-
if (functionNames.length === 1) {
|
|
36
|
-
return `module.exports = { ${functionNames[0]} };`;
|
|
37
|
-
}
|
|
38
|
-
return `module.exports = { ${functionNames.join(', ')} };`;
|
|
39
|
-
}
|
|
40
|
-
export function generateCode(ast, options) {
|
|
41
|
-
const { production = false, sourceMap = false, allWorkflows = [], moduleFormat = 'esm', bundleMode = false, constants = [], externalNodeTypes = {}, generateStubs = false, outputFormat = 'typescript', } = options || {};
|
|
42
|
-
// Check for stub nodes — refuse to generate unless explicitly allowed
|
|
43
|
-
const stubNodeTypes = ast.nodeTypes.filter((nt) => nt.variant === 'STUB');
|
|
44
|
-
if (stubNodeTypes.length > 0 && !generateStubs) {
|
|
45
|
-
const stubNames = stubNodeTypes.map((nt) => nt.functionName).join(', ');
|
|
46
|
-
throw new Error(`Cannot generate code: workflow has ${stubNodeTypes.length} stub node(s) without implementation: ${stubNames}. ` +
|
|
47
|
-
`Implement them or pass { generateStubs: true } to emit placeholder throws.`);
|
|
48
|
-
}
|
|
49
|
-
// Determine if workflow should be async based on node composition
|
|
50
|
-
const { shouldBeAsync, warning } = validateWorkflowAsync(ast, ast.nodeTypes);
|
|
51
|
-
if (warning && !production) {
|
|
52
|
-
console.warn(warning);
|
|
53
|
-
}
|
|
54
|
-
// Initialize source map generator if requested
|
|
55
|
-
let sourceMapGenerator;
|
|
56
|
-
let currentLine = 1;
|
|
57
|
-
if (sourceMap) {
|
|
58
|
-
sourceMapGenerator = new SourceMapGenerator({
|
|
59
|
-
file: `${ast.functionName}.generated.ts`,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
const addLine = () => {
|
|
63
|
-
currentLine++;
|
|
64
|
-
};
|
|
65
|
-
const addMapping = (sourceLine, sourceColumn = 0) => {
|
|
66
|
-
if (sourceMapGenerator && ast.sourceFile) {
|
|
67
|
-
sourceMapGenerator.addMapping({
|
|
68
|
-
generated: {
|
|
69
|
-
line: currentLine,
|
|
70
|
-
column: 0,
|
|
71
|
-
},
|
|
72
|
-
source: ast.sourceFile,
|
|
73
|
-
original: {
|
|
74
|
-
line: sourceLine,
|
|
75
|
-
column: sourceColumn,
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
// Generate function body using existing body generator
|
|
81
|
-
const functionBody = bodyGenerator.generateWithExecutionContext(ast, ast.nodeTypes, shouldBeAsync, production, bundleMode);
|
|
82
|
-
// Build the complete module
|
|
83
|
-
const lines = [];
|
|
84
|
-
lines.push('');
|
|
85
|
-
addLine();
|
|
86
|
-
lines.push('');
|
|
87
|
-
addLine();
|
|
88
|
-
// Include inline runtime (always inlined — zero runtime dependencies)
|
|
89
|
-
{
|
|
90
|
-
const inlineRuntime = generateInlineRuntime(production);
|
|
91
|
-
const runtimeLines = inlineRuntime.split('\n');
|
|
92
|
-
runtimeLines.forEach((line) => {
|
|
93
|
-
lines.push(line);
|
|
94
|
-
addLine();
|
|
95
|
-
});
|
|
96
|
-
lines.push('');
|
|
97
|
-
addLine();
|
|
98
|
-
}
|
|
99
|
-
// Extract and include type declarations from source file (interfaces, type aliases)
|
|
100
|
-
if (ast.sourceFile) {
|
|
101
|
-
const extractedTypes = extractTypeDeclarationsFromFile(ast.sourceFile);
|
|
102
|
-
if (extractedTypes.all.length > 0) {
|
|
103
|
-
lines.push('');
|
|
104
|
-
addLine();
|
|
105
|
-
lines.push('// ============================================================================');
|
|
106
|
-
addLine();
|
|
107
|
-
lines.push('// Type Declarations (preserved from source)');
|
|
108
|
-
addLine();
|
|
109
|
-
lines.push('// ============================================================================');
|
|
110
|
-
addLine();
|
|
111
|
-
lines.push('');
|
|
112
|
-
addLine();
|
|
113
|
-
extractedTypes.all.forEach((typeDecl) => {
|
|
114
|
-
const typeDeclLines = typeDecl.split('\n');
|
|
115
|
-
typeDeclLines.forEach((line) => {
|
|
116
|
-
lines.push(line);
|
|
117
|
-
addLine();
|
|
118
|
-
});
|
|
119
|
-
lines.push('');
|
|
120
|
-
addLine();
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
// Handle imported nodes — three categories:
|
|
125
|
-
// 1. npm package nodes (have importSource)
|
|
126
|
-
// 2. relative file imports (sourceLocation file differs from workflow source)
|
|
127
|
-
// 3. local nodes (same source file)
|
|
128
|
-
const npmPackageNodes = ast.nodeTypes.filter((n) => n.importSource);
|
|
129
|
-
// Only include built-in nodes (no sourceLocation) that are actually used by this workflow
|
|
130
|
-
const referencedNodeTypes = new Set(ast.instances.map((i) => i.nodeType));
|
|
131
|
-
const localNodes = ast.nodeTypes.filter((n) => !n.importSource && (n.sourceLocation?.file === ast.sourceFile || (!n.sourceLocation && n.functionText && n.helperText != null && referencedNodeTypes.has(n.name))));
|
|
132
|
-
const importedNodes = ast.nodeTypes.filter((n) => !n.importSource && n.sourceLocation?.file !== ast.sourceFile);
|
|
133
|
-
if (importedNodes.length > 0 || npmPackageNodes.length > 0) {
|
|
134
|
-
// Separate FUNCTION imports (from source) vs IMPORTED_WORKFLOW imports (from generated)
|
|
135
|
-
// Store full node info to access expression property later
|
|
136
|
-
const functionImportsByFile = new Map();
|
|
137
|
-
const workflowImportsByFile = new Map();
|
|
138
|
-
importedNodes.forEach((node) => {
|
|
139
|
-
const sourceFile = node.sourceLocation?.file;
|
|
140
|
-
if (!sourceFile)
|
|
141
|
-
return;
|
|
142
|
-
if (node.variant === 'IMPORTED_WORKFLOW') {
|
|
143
|
-
if (!workflowImportsByFile.has(sourceFile)) {
|
|
144
|
-
workflowImportsByFile.set(sourceFile, []);
|
|
145
|
-
}
|
|
146
|
-
workflowImportsByFile.get(sourceFile)?.push(node.functionName);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
if (!functionImportsByFile.has(sourceFile)) {
|
|
150
|
-
functionImportsByFile.set(sourceFile, []);
|
|
151
|
-
}
|
|
152
|
-
functionImportsByFile.get(sourceFile)?.push(node);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
lines.push('');
|
|
156
|
-
addLine();
|
|
157
|
-
// Import regular node functions from source files
|
|
158
|
-
// In bundle mode, import from node-types directory
|
|
159
|
-
// Otherwise import from .generated files in the same directory
|
|
160
|
-
functionImportsByFile.forEach((nodes, sourceFile) => {
|
|
161
|
-
if (bundleMode) {
|
|
162
|
-
// Bundle mode: import _impl (positional data args for expression nodes, execute + data args for regular)
|
|
163
|
-
// The wrapper is only for HTTP entry points, not internal workflow calls
|
|
164
|
-
nodes.forEach((node) => {
|
|
165
|
-
const lowerName = node.functionName.toLowerCase();
|
|
166
|
-
const relativePath = `../node-types/${lowerName}.js`;
|
|
167
|
-
const importName = `${lowerName}_impl as ${node.functionName}`;
|
|
168
|
-
lines.push(generateImportStatement([importName], relativePath, moduleFormat));
|
|
169
|
-
addLine();
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
const sourceFileName = path.basename(sourceFile, '.ts');
|
|
174
|
-
const generatedFileName = sourceFileName + '.generated';
|
|
175
|
-
const relativePath = `./${generatedFileName}`;
|
|
176
|
-
const names = nodes.map((n) => n.functionName);
|
|
177
|
-
lines.push(generateImportStatement(names, relativePath, moduleFormat));
|
|
178
|
-
addLine();
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
// Import workflows from their generated files
|
|
182
|
-
// In bundle mode, import from sibling workflow files
|
|
183
|
-
workflowImportsByFile.forEach((names, sourceFile) => {
|
|
184
|
-
if (bundleMode) {
|
|
185
|
-
// Bundle mode: import each workflow from the workflows directory
|
|
186
|
-
names.forEach((name) => {
|
|
187
|
-
const relativePath = `./${name}.js`;
|
|
188
|
-
lines.push(generateImportStatement([name], relativePath, moduleFormat));
|
|
189
|
-
addLine();
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
const sourceFileName = path.basename(sourceFile, '.ts');
|
|
194
|
-
// For workflows, always import from generated file
|
|
195
|
-
// Add .generated suffix if not already present
|
|
196
|
-
const generatedFileName = sourceFileName.includes('.generated')
|
|
197
|
-
? sourceFileName
|
|
198
|
-
: sourceFileName + '.generated';
|
|
199
|
-
const relativePath = `./${generatedFileName}`;
|
|
200
|
-
lines.push(generateImportStatement(names, relativePath, moduleFormat));
|
|
201
|
-
addLine();
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
// Import npm package functions directly from their package specifiers
|
|
205
|
-
if (npmPackageNodes.length > 0) {
|
|
206
|
-
const npmImportsByPackage = new Map();
|
|
207
|
-
npmPackageNodes.forEach((node) => {
|
|
208
|
-
const pkg = node.importSource;
|
|
209
|
-
if (!npmImportsByPackage.has(pkg))
|
|
210
|
-
npmImportsByPackage.set(pkg, []);
|
|
211
|
-
npmImportsByPackage.get(pkg).push(node.functionName);
|
|
212
|
-
});
|
|
213
|
-
npmImportsByPackage.forEach((names, pkg) => {
|
|
214
|
-
lines.push(generateImportStatement(names, pkg, moduleFormat));
|
|
215
|
-
addLine();
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
lines.push('');
|
|
219
|
-
addLine();
|
|
220
|
-
}
|
|
221
|
-
// Separate local nodes into functions and workflows
|
|
222
|
-
const localFunctions = localNodes.filter((n) => n.variant !== 'IMPORTED_WORKFLOW');
|
|
223
|
-
// Only include workflows that are actually used as node instances in this workflow
|
|
224
|
-
// (not all sibling workflows in the same file)
|
|
225
|
-
const usedNodeTypeNames = new Set(ast.instances.map((i) => i.nodeType));
|
|
226
|
-
const localWorkflowNodes = localNodes.filter((n) => n.variant === 'IMPORTED_WORKFLOW' && usedNodeTypeNames.has(n.name));
|
|
227
|
-
// In bundle mode, local node functions are inlined directly
|
|
228
|
-
// They're not imported from node-types directory because:
|
|
229
|
-
// 1. They may not be in the bundled node types list
|
|
230
|
-
// 2. Scoped nodes need the scope function closure generated inline
|
|
231
|
-
// Constants that were extracted from source files are included before the functions
|
|
232
|
-
// Include constants from source files (needed for inlined local functions)
|
|
233
|
-
if (constants.length > 0 && localFunctions.length > 0) {
|
|
234
|
-
lines.push('');
|
|
235
|
-
addLine();
|
|
236
|
-
lines.push('// Constants from source file');
|
|
237
|
-
addLine();
|
|
238
|
-
constants.forEach((constant) => {
|
|
239
|
-
lines.push(constant);
|
|
240
|
-
const constLines = constant.split('\n');
|
|
241
|
-
constLines.forEach(() => addLine());
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
// Include local node functions (regular functions, not workflows)
|
|
245
|
-
// If externalNodeTypes is provided, generate imports instead of inlining
|
|
246
|
-
if (localFunctions.length > 0) {
|
|
247
|
-
// Separate into external (import) and inline
|
|
248
|
-
const externalFunctions = localFunctions.filter((n) => externalNodeTypes[n.name]);
|
|
249
|
-
const inlineFunctions = localFunctions.filter((n) => !externalNodeTypes[n.name]);
|
|
250
|
-
// Generate imports for external node types
|
|
251
|
-
if (externalFunctions.length > 0) {
|
|
252
|
-
lines.push('');
|
|
253
|
-
addLine();
|
|
254
|
-
externalFunctions.forEach((node) => {
|
|
255
|
-
const importPath = externalNodeTypes[node.name];
|
|
256
|
-
const lowerFunctionName = node.functionName.toLowerCase();
|
|
257
|
-
// Bundle mode: import _impl (positional data args for expression nodes, execute + data args for regular)
|
|
258
|
-
// The wrapper is only for HTTP entry points, not internal workflow calls
|
|
259
|
-
const importName = `${lowerFunctionName}_impl as ${node.functionName}`;
|
|
260
|
-
const importStatement = generateImportStatement([importName], importPath, moduleFormat);
|
|
261
|
-
lines.push(importStatement);
|
|
262
|
-
addLine();
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
// Inline functions not in externalNodeTypes
|
|
266
|
-
if (inlineFunctions.length > 0) {
|
|
267
|
-
lines.push('');
|
|
268
|
-
addLine();
|
|
269
|
-
// Emit shared helper functions once (deduplicated across built-in nodes)
|
|
270
|
-
// In production mode, use helperTextProduction if set; if undefined, skip helpers entirely
|
|
271
|
-
// (production built-in nodes don't need mock helpers)
|
|
272
|
-
const emittedHelpers = new Set();
|
|
273
|
-
inlineFunctions.forEach((node) => {
|
|
274
|
-
if (node.importSource)
|
|
275
|
-
return;
|
|
276
|
-
const helperText = production ? (node.helperTextProduction ?? null) : (node.helperText ?? null);
|
|
277
|
-
if (helperText && !emittedHelpers.has(helperText)) {
|
|
278
|
-
emittedHelpers.add(helperText);
|
|
279
|
-
lines.push(helperText);
|
|
280
|
-
helperText.split('\n').forEach(() => addLine());
|
|
281
|
-
lines.push('');
|
|
282
|
-
addLine();
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
inlineFunctions.forEach((node) => {
|
|
286
|
-
if (node.importSource)
|
|
287
|
-
return; // Never inline npm package functions
|
|
288
|
-
const functionText = (production && node.functionTextProduction != null) ? node.functionTextProduction : node.functionText;
|
|
289
|
-
if (functionText) {
|
|
290
|
-
const functionWithoutDecorators = removeDecorators(functionText);
|
|
291
|
-
// Add source mapping for the node function
|
|
292
|
-
if (node.sourceLocation) {
|
|
293
|
-
addMapping(node.sourceLocation.line, node.sourceLocation.column);
|
|
294
|
-
}
|
|
295
|
-
lines.push(functionWithoutDecorators);
|
|
296
|
-
const functionLines = functionWithoutDecorators.split('\n');
|
|
297
|
-
functionLines.forEach(() => addLine());
|
|
298
|
-
lines.push('');
|
|
299
|
-
addLine();
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
// Generate local workflow dependencies (workflows used as nodes in the same file)
|
|
305
|
-
const generatedWorkflows = new Set();
|
|
306
|
-
generatedWorkflows.add(ast.functionName); // Don't regenerate the main workflow
|
|
307
|
-
if (localWorkflowNodes.length > 0 && allWorkflows.length > 0) {
|
|
308
|
-
lines.push('');
|
|
309
|
-
addLine();
|
|
310
|
-
lines.push('// ============================================================================');
|
|
311
|
-
addLine();
|
|
312
|
-
lines.push('// Local Workflow Dependencies');
|
|
313
|
-
addLine();
|
|
314
|
-
lines.push('// ============================================================================');
|
|
315
|
-
addLine();
|
|
316
|
-
for (const node of localWorkflowNodes) {
|
|
317
|
-
if (generatedWorkflows.has(node.functionName)) {
|
|
318
|
-
continue;
|
|
319
|
-
}
|
|
320
|
-
// Find the workflow AST for this node
|
|
321
|
-
const depWorkflow = allWorkflows.find((w) => w.functionName === node.functionName);
|
|
322
|
-
if (!depWorkflow) {
|
|
323
|
-
lines.push(`// WARNING: Could not find workflow AST for ${node.functionName}`);
|
|
324
|
-
addLine();
|
|
325
|
-
continue;
|
|
326
|
-
}
|
|
327
|
-
// Generate the workflow function (without module wrapper)
|
|
328
|
-
const depFunctionCode = generateWorkflowFunction(depWorkflow, production, allWorkflows, generatedWorkflows);
|
|
329
|
-
const depLines = depFunctionCode.split('\n');
|
|
330
|
-
depLines.forEach((line) => {
|
|
331
|
-
lines.push(line);
|
|
332
|
-
addLine();
|
|
333
|
-
});
|
|
334
|
-
lines.push('');
|
|
335
|
-
addLine();
|
|
336
|
-
generatedWorkflows.add(node.functionName);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
// Generate workflow function signature
|
|
340
|
-
const startPorts = extractStartPorts(ast);
|
|
341
|
-
const exitPorts = extractExitPorts(ast);
|
|
342
|
-
lines.push('');
|
|
343
|
-
addLine();
|
|
344
|
-
// Add source mapping for the workflow export function
|
|
345
|
-
if (sourceMapGenerator && ast.sourceFile) {
|
|
346
|
-
try {
|
|
347
|
-
const sourceContent = fs.readFileSync(ast.sourceFile, 'utf-8');
|
|
348
|
-
const sourceLines = sourceContent.split(/\r?\n/);
|
|
349
|
-
const exportLineIndex = sourceLines.findIndex((line) => line.includes(`export`) && line.includes(`function ${ast.functionName}`));
|
|
350
|
-
if (exportLineIndex >= 0) {
|
|
351
|
-
addMapping(exportLineIndex + 1, 0); // Line numbers are 1-indexed
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
catch {
|
|
355
|
-
// If we can't find the source line, skip the mapping
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
// Generate conditional async keyword and export keyword based on module format
|
|
359
|
-
// In dev mode, always async so the debugger can pause at breakpoints
|
|
360
|
-
const asyncKeyword = (shouldBeAsync || !production) ? 'async ' : '';
|
|
361
|
-
const exportKeyword = generateFunctionExportKeyword(moduleFormat);
|
|
362
|
-
lines.push(`${exportKeyword}${asyncKeyword}function ${ast.functionName}(`);
|
|
363
|
-
addLine();
|
|
364
|
-
// STEP Port Architecture: execute is first parameter
|
|
365
|
-
lines.push(` execute: boolean = true,`);
|
|
366
|
-
addLine();
|
|
367
|
-
// Collect param names and types for destructuring
|
|
368
|
-
const paramEntries = [];
|
|
369
|
-
Object.entries(startPorts).forEach(([portName, portDef]) => {
|
|
370
|
-
if (isExecutePort(portName))
|
|
371
|
-
return;
|
|
372
|
-
paramEntries.push({
|
|
373
|
-
name: portName,
|
|
374
|
-
type: mapToTypeScript(portDef.dataType, portDef.tsType),
|
|
375
|
-
});
|
|
376
|
-
});
|
|
377
|
-
// Use Record<string, unknown> for params to support HTTP handler compatibility
|
|
378
|
-
lines.push(` params: Record<string, unknown> = {},`);
|
|
379
|
-
addLine();
|
|
380
|
-
// In development mode, accept optional debugger parameter for local debugging
|
|
381
|
-
// (environment variable is used as fallback)
|
|
382
|
-
if (!production) {
|
|
383
|
-
lines.push(` __flowWeaverDebugger__?: TDebugger,`);
|
|
384
|
-
addLine();
|
|
385
|
-
}
|
|
386
|
-
// Accept optional AbortSignal for cancellation support
|
|
387
|
-
lines.push(` __abortSignal__?: AbortSignal`);
|
|
388
|
-
addLine();
|
|
389
|
-
addLine();
|
|
390
|
-
const workflowHasBranching = hasBranching(ast);
|
|
391
|
-
const returnTypes = [];
|
|
392
|
-
Object.entries(exitPorts).forEach(([portName, portDef]) => {
|
|
393
|
-
const optional = workflowHasBranching ? '?' : '';
|
|
394
|
-
const tsType = mapToTypeScript(portDef.dataType, portDef.tsType);
|
|
395
|
-
returnTypes.push(`${portName}${optional}: ${tsType}`);
|
|
396
|
-
});
|
|
397
|
-
// Generate conditional return type (Promise vs direct)
|
|
398
|
-
const returnTypeInner = `{ ${returnTypes.join('; ')} }`;
|
|
399
|
-
const returnType = shouldBeAsync ? `Promise<${returnTypeInner}>` : returnTypeInner;
|
|
400
|
-
lines.push(`): ${returnType} {`);
|
|
401
|
-
addLine();
|
|
402
|
-
// NOTE: We intentionally don't destructure params here.
|
|
403
|
-
// The body generator uses ctx.getVariable to access Start ports, and
|
|
404
|
-
// destructuring would shadow local node functions with the same name
|
|
405
|
-
// (e.g., a 'delay' param would shadow a 'delay' node function).
|
|
406
|
-
// Add function body
|
|
407
|
-
const bodyLines = functionBody.split('\n');
|
|
408
|
-
bodyLines.forEach((line) => {
|
|
409
|
-
lines.push(line);
|
|
410
|
-
addLine();
|
|
411
|
-
});
|
|
412
|
-
lines.push('}');
|
|
413
|
-
addLine();
|
|
414
|
-
// For CJS format, add module.exports at the end
|
|
415
|
-
if (moduleFormat === 'cjs') {
|
|
416
|
-
lines.push('');
|
|
417
|
-
addLine();
|
|
418
|
-
lines.push(generateModuleExports([ast.functionName]));
|
|
419
|
-
addLine();
|
|
420
|
-
}
|
|
421
|
-
let code = lines.join('\n');
|
|
422
|
-
// Strip TypeScript syntax when outputFormat is 'javascript'
|
|
423
|
-
if (outputFormat === 'javascript') {
|
|
424
|
-
code = stripTypeScript(code);
|
|
425
|
-
}
|
|
426
|
-
// Set source content for the source map
|
|
427
|
-
if (sourceMapGenerator && ast.sourceFile) {
|
|
428
|
-
const sourceContent = fs.readFileSync(ast.sourceFile, 'utf8');
|
|
429
|
-
sourceMapGenerator.setSourceContent(ast.sourceFile, sourceContent);
|
|
430
|
-
}
|
|
431
|
-
// Return result with source map if requested
|
|
432
|
-
if (sourceMap && sourceMapGenerator) {
|
|
433
|
-
return {
|
|
434
|
-
code,
|
|
435
|
-
sourceMap: sourceMapGenerator.toString(),
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
return code;
|
|
439
|
-
}
|
|
440
|
-
function removeDecorators(functionText) {
|
|
441
|
-
return functionText.replace(/@\w+\({[\s\S]*?}\)\s*/g, '');
|
|
442
|
-
}
|
|
443
|
-
/**
|
|
444
|
-
* Generate just the workflow function (no module wrapper)
|
|
445
|
-
* Used for local workflow dependencies
|
|
446
|
-
*/
|
|
447
|
-
function generateWorkflowFunction(workflow, production, allWorkflows, generatedWorkflows) {
|
|
448
|
-
const lines = [];
|
|
449
|
-
// Mark this workflow as generated FIRST to prevent infinite recursion
|
|
450
|
-
// (a workflow may reference itself in nodeTypes)
|
|
451
|
-
generatedWorkflows.add(workflow.functionName);
|
|
452
|
-
// Find local workflow dependencies (other workflows in same file actually used as nodes)
|
|
453
|
-
const usedNodeTypeNames = new Set(workflow.instances.map((i) => i.nodeType));
|
|
454
|
-
const localWorkflowDeps = workflow.nodeTypes.filter((n) => n.variant === 'IMPORTED_WORKFLOW' &&
|
|
455
|
-
n.sourceLocation?.file === workflow.sourceFile &&
|
|
456
|
-
usedNodeTypeNames.has(n.name) &&
|
|
457
|
-
!generatedWorkflows.has(n.functionName));
|
|
458
|
-
for (const dep of localWorkflowDeps) {
|
|
459
|
-
const depWorkflow = allWorkflows.find((w) => w.functionName === dep.functionName);
|
|
460
|
-
if (depWorkflow) {
|
|
461
|
-
const depCode = generateWorkflowFunction(depWorkflow, production, allWorkflows, generatedWorkflows);
|
|
462
|
-
lines.push(depCode);
|
|
463
|
-
lines.push('');
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
// Determine if workflow should be async
|
|
467
|
-
const { shouldBeAsync } = validateWorkflowAsync(workflow, workflow.nodeTypes);
|
|
468
|
-
// Generate function body (local dependencies always use non-bundle mode)
|
|
469
|
-
const functionBody = bodyGenerator.generateWithExecutionContext(workflow, workflow.nodeTypes, shouldBeAsync, production, false // bundleMode - local deps use positional args
|
|
470
|
-
);
|
|
471
|
-
// Generate function signature
|
|
472
|
-
const startPorts = extractStartPorts(workflow);
|
|
473
|
-
const exitPorts = extractExitPorts(workflow);
|
|
474
|
-
const asyncKeyword2 = (shouldBeAsync || !production) ? 'async ' : '';
|
|
475
|
-
lines.push(`${asyncKeyword2}function ${workflow.functionName}(`);
|
|
476
|
-
// STEP Port Architecture: execute is first parameter
|
|
477
|
-
lines.push(` execute: boolean = true,`);
|
|
478
|
-
// Collect param names and types for destructuring
|
|
479
|
-
const paramEntries = [];
|
|
480
|
-
Object.entries(startPorts).forEach(([portName, portDef]) => {
|
|
481
|
-
if (isExecutePort(portName))
|
|
482
|
-
return;
|
|
483
|
-
paramEntries.push({
|
|
484
|
-
name: portName,
|
|
485
|
-
type: mapToTypeScript(portDef.dataType, portDef.tsType),
|
|
486
|
-
});
|
|
487
|
-
});
|
|
488
|
-
// Use Record<string, unknown> for params to support HTTP handler compatibility
|
|
489
|
-
lines.push(` params: Record<string, unknown> = {},`);
|
|
490
|
-
// In development mode, accept optional debugger parameter
|
|
491
|
-
if (!production) {
|
|
492
|
-
lines.push(` __flowWeaverDebugger__?: TDebugger,`);
|
|
493
|
-
}
|
|
494
|
-
// Accept optional AbortSignal for cancellation support
|
|
495
|
-
lines.push(` __abortSignal__?: AbortSignal`);
|
|
496
|
-
const workflowHasBranching = hasBranching(workflow);
|
|
497
|
-
const returnTypes = [];
|
|
498
|
-
Object.entries(exitPorts).forEach(([portName, portDef]) => {
|
|
499
|
-
const optional = workflowHasBranching ? '?' : '';
|
|
500
|
-
const tsType = mapToTypeScript(portDef.dataType, portDef.tsType);
|
|
501
|
-
returnTypes.push(`${portName}${optional}: ${tsType}`);
|
|
502
|
-
});
|
|
503
|
-
const returnTypeInner = `{ ${returnTypes.join('; ')} }`;
|
|
504
|
-
const returnType = shouldBeAsync ? `Promise<${returnTypeInner}>` : returnTypeInner;
|
|
505
|
-
lines.push(`): ${returnType} {`);
|
|
506
|
-
// NOTE: We intentionally don't destructure params here.
|
|
507
|
-
// The body generator uses ctx.getVariable to access Start ports, and
|
|
508
|
-
// destructuring would shadow local node functions with the same name.
|
|
509
|
-
// Add function body
|
|
510
|
-
lines.push(functionBody);
|
|
511
|
-
lines.push('}');
|
|
512
|
-
return lines.join('\n');
|
|
513
|
-
}
|
|
514
|
-
//# sourceMappingURL=generate.js.map
|