@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,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module api/manipulation
|
|
3
|
-
*
|
|
4
|
-
* # Manipulation API
|
|
5
|
-
*
|
|
6
|
-
* Immutable operations for programmatic workflow modification.
|
|
7
|
-
* All functions return a new AST (never mutate the original).
|
|
8
|
-
*
|
|
9
|
-
* ## Operation Categories
|
|
10
|
-
*
|
|
11
|
-
* | Category | Functions |
|
|
12
|
-
* |-------------|-----------|
|
|
13
|
-
* | Workflow | `cloneWorkflow`, `renameWorkflow`, `setWorkflowPorts` |
|
|
14
|
-
* | Node Types | `addNodeType`, `removeNodeType`, `updateNodeType` |
|
|
15
|
-
* | Nodes | `addNode`, `removeNode`, `renameNode`, `setNodePosition` |
|
|
16
|
-
* | Connections | `addConnection`, `removeConnection`, `reconnect` |
|
|
17
|
-
* | Ports | `swapPortOrder`, `swapNodeInstancePortOrder` |
|
|
18
|
-
* | Scopes | `createScope`, `removeScope`, `addToScope` |
|
|
19
|
-
*
|
|
20
|
-
* ## Validation Options
|
|
21
|
-
*
|
|
22
|
-
* Operations validate by default. Use wrappers for control:
|
|
23
|
-
* - `withValidation(workflow)` - Full validation (default)
|
|
24
|
-
* - `withMinimalValidation(workflow)` - Skip expensive checks
|
|
25
|
-
* - `withoutValidation(workflow)` - No validation (use with caution)
|
|
26
|
-
*/
|
|
27
|
-
// Re-export validation utilities
|
|
28
|
-
export { withoutValidation, validatePortReference, portReferencesEqual, formatPortReference, generateUniqueNodeId, assertNodeExists, assertNodeNotExists, } from "../helpers.js";
|
|
29
|
-
// Re-export workflow-level operations
|
|
30
|
-
export { cloneWorkflow, setWorkflowDescription, setWorkflowMetadata, setOutputFileType, renameWorkflow, setWorkflowPorts, } from "./workflow.js";
|
|
31
|
-
// Re-export node type operations
|
|
32
|
-
export { addNodeType, removeNodeType, updateNodeType, getNodeType, hasNodeType, listNodeTypes, renameNodeType, replaceNodeTypes, } from "./node-types.js";
|
|
33
|
-
// Re-export node instance operations
|
|
34
|
-
export { addNode, removeNode, renameNode, updateNode, addNodes, removeNodes, setNodeConfig, setNodePosition, setNodeMinimized, setNodeSize, setNodeLabel, } from "./nodes.js";
|
|
35
|
-
// Re-export connection operations
|
|
36
|
-
export { addConnection, removeConnection, removeAllConnections, reconnect, addConnections, replaceConnections, } from "./connections.js";
|
|
37
|
-
// Re-export port operations
|
|
38
|
-
export { swapPortOrder, swapNodeInstancePortOrder, setStartExitPorts, setInstancePortConfigs, } from "./ports.js";
|
|
39
|
-
// Re-export scope operations
|
|
40
|
-
export { createScope, removeScope, addToScope, removeFromScope, moveToScope, } from "./scopes.js";
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Node type operations for workflow manipulation
|
|
3
|
-
*/
|
|
4
|
-
import { produce } from "immer";
|
|
5
|
-
import { withoutValidation } from "../helpers.js";
|
|
6
|
-
/**
|
|
7
|
-
* Add a node type definition to the workflow (idempotent).
|
|
8
|
-
* Uses no validation to allow adding even when workflow has other errors.
|
|
9
|
-
*
|
|
10
|
-
* If a node type with the same name already exists, returns the AST unchanged
|
|
11
|
-
* without throwing an error. This handles state desync between server and client,
|
|
12
|
-
* race conditions, double-clicks, and server restarts gracefully.
|
|
13
|
-
*
|
|
14
|
-
* @param ast - Workflow to modify
|
|
15
|
-
* @param nodeType - Node type to add
|
|
16
|
-
* @returns Modified workflow (or unchanged if node type already exists)
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const ast = addNodeType(workflow, {
|
|
21
|
-
* type: 'NodeType',
|
|
22
|
-
* name: 'double',
|
|
23
|
-
* functionName: 'double',
|
|
24
|
-
* inputs: { x: { dataType: 'NUMBER' } },
|
|
25
|
-
* outputs: { result: { dataType: 'NUMBER' } },
|
|
26
|
-
* hasSuccessPort: true,
|
|
27
|
-
* hasFailurePort: true,
|
|
28
|
-
* executeWhen: 'CONJUNCTION'
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export function addNodeType(ast, nodeType) {
|
|
33
|
-
const existingIndex = ast.nodeTypes.findIndex((nt) => nt.name === nodeType.name);
|
|
34
|
-
// If node type already exists, check if we need to update it with new properties
|
|
35
|
-
// (e.g., importSource for npm types that were parsed without @import annotation)
|
|
36
|
-
if (existingIndex >= 0) {
|
|
37
|
-
const existing = ast.nodeTypes[existingIndex];
|
|
38
|
-
const newImportSource = nodeType.importSource;
|
|
39
|
-
const existingImportSource = existing.importSource;
|
|
40
|
-
// If the new type has importSource but the existing one doesn't, update it
|
|
41
|
-
if (newImportSource && !existingImportSource) {
|
|
42
|
-
return produce(ast, (draft) => {
|
|
43
|
-
draft.nodeTypes[existingIndex].importSource = newImportSource;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// Otherwise, return unchanged (idempotent)
|
|
47
|
-
return ast;
|
|
48
|
-
}
|
|
49
|
-
// Add new node type
|
|
50
|
-
return produce(ast, (draft) => {
|
|
51
|
-
draft.nodeTypes.push(nodeType);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Remove a node type from the workflow.
|
|
56
|
-
* Uses minimal validation (only checks type exists and has no instances)
|
|
57
|
-
* to allow deletion even when the workflow has other validation errors.
|
|
58
|
-
*
|
|
59
|
-
* @param ast - Workflow to modify
|
|
60
|
-
* @param typeName - Name of node type to remove
|
|
61
|
-
* @returns Modified workflow
|
|
62
|
-
* @throws {Error} If node type doesn't exist or instances reference it
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* ```typescript
|
|
66
|
-
* const ast = removeNodeType(workflow, 'obsoleteType');
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
export function removeNodeType(ast, typeName) {
|
|
70
|
-
// First, verify node type exists
|
|
71
|
-
const typeIndex = ast.nodeTypes.findIndex((nt) => nt.name === typeName);
|
|
72
|
-
if (typeIndex === -1) {
|
|
73
|
-
throw new Error(`Node type "${typeName}" not found`);
|
|
74
|
-
}
|
|
75
|
-
// Check if any instances reference this type
|
|
76
|
-
const functionName = ast.nodeTypes[typeIndex].functionName;
|
|
77
|
-
const referencingInstances = ast.instances.filter((inst) => inst.nodeType === functionName);
|
|
78
|
-
if (referencingInstances.length > 0) {
|
|
79
|
-
throw new Error(`Cannot remove node type "${typeName}": ${referencingInstances.length} instance(s) still reference it (${referencingInstances.map((i) => i.id).join(", ")})`);
|
|
80
|
-
}
|
|
81
|
-
return withoutValidation(ast, (draft) => {
|
|
82
|
-
const idx = draft.nodeTypes.findIndex((nt) => nt.name === typeName);
|
|
83
|
-
draft.nodeTypes.splice(idx, 1);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Update an existing node type.
|
|
88
|
-
* Uses no validation to allow updates even when workflow has other errors.
|
|
89
|
-
*
|
|
90
|
-
* @param ast - Workflow to modify
|
|
91
|
-
* @param typeName - Name of node type to update
|
|
92
|
-
* @param updates - Partial node type to merge
|
|
93
|
-
* @returns Modified workflow
|
|
94
|
-
* @throws {Error} If node type doesn't exist
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```typescript
|
|
98
|
-
* const ast = updateNodeType(workflow, 'processor', {
|
|
99
|
-
* label: 'Data Processor',
|
|
100
|
-
* description: 'Processes incoming data'
|
|
101
|
-
* });
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
export function updateNodeType(ast, typeName, updates) {
|
|
105
|
-
// Verify node type exists
|
|
106
|
-
if (!ast.nodeTypes.find((nt) => nt.name === typeName)) {
|
|
107
|
-
throw new Error(`Node type "${typeName}" not found`);
|
|
108
|
-
}
|
|
109
|
-
return withoutValidation(ast, (draft) => {
|
|
110
|
-
const nodeType = draft.nodeTypes.find((nt) => nt.name === typeName);
|
|
111
|
-
Object.assign(nodeType, updates);
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get a node type by name
|
|
116
|
-
*
|
|
117
|
-
* @param ast - Workflow to query
|
|
118
|
-
* @param typeName - Name of node type
|
|
119
|
-
* @returns Node type or undefined
|
|
120
|
-
*/
|
|
121
|
-
export function getNodeType(ast, typeName) {
|
|
122
|
-
return ast.nodeTypes.find((nt) => nt.name === typeName);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Check if node type exists
|
|
126
|
-
*
|
|
127
|
-
* @param ast - Workflow to query
|
|
128
|
-
* @param typeName - Name of node type
|
|
129
|
-
* @returns True if exists
|
|
130
|
-
*/
|
|
131
|
-
export function hasNodeType(ast, typeName) {
|
|
132
|
-
return ast.nodeTypes.some((nt) => nt.name === typeName);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* List all node types
|
|
136
|
-
*
|
|
137
|
-
* @param ast - Workflow to query
|
|
138
|
-
* @returns Array of node types
|
|
139
|
-
*/
|
|
140
|
-
export function listNodeTypes(ast) {
|
|
141
|
-
return [...ast.nodeTypes];
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Rename a node type and update all instances that reference it.
|
|
145
|
-
* Uses no validation to allow renames even when workflow has other errors.
|
|
146
|
-
*
|
|
147
|
-
* @param ast - Workflow to modify
|
|
148
|
-
* @param oldTypeName - Current name of the node type
|
|
149
|
-
* @param newTypeName - New name for the node type
|
|
150
|
-
* @returns Modified workflow
|
|
151
|
-
* @throws {Error} If node type doesn't exist or new name already exists
|
|
152
|
-
*
|
|
153
|
-
* @example
|
|
154
|
-
* ```typescript
|
|
155
|
-
* const ast = renameNodeType(workflow, 'OldTypeName', 'NewTypeName');
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
export function renameNodeType(ast, oldTypeName, newTypeName) {
|
|
159
|
-
// Check if new name already exists
|
|
160
|
-
if (ast.nodeTypes.some((nt) => nt.name === newTypeName)) {
|
|
161
|
-
throw new Error(`Node type "${newTypeName}" already exists`);
|
|
162
|
-
}
|
|
163
|
-
return withoutValidation(ast, (draft) => {
|
|
164
|
-
// Find the node type in nodeTypes array
|
|
165
|
-
const nodeTypeIndex = draft.nodeTypes.findIndex((nt) => nt.name === oldTypeName);
|
|
166
|
-
// Rename the node type if it exists in nodeTypes array
|
|
167
|
-
if (nodeTypeIndex >= 0) {
|
|
168
|
-
draft.nodeTypes[nodeTypeIndex].name = newTypeName;
|
|
169
|
-
}
|
|
170
|
-
// Update all instances that reference this node type
|
|
171
|
-
draft.instances.forEach((instance) => {
|
|
172
|
-
if (instance.nodeType === oldTypeName) {
|
|
173
|
-
instance.nodeType = newTypeName;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Replace all node types in workflow.
|
|
180
|
-
* Uses no validation to allow replacement even when workflow has other errors.
|
|
181
|
-
*
|
|
182
|
-
* @param ast - Workflow to modify
|
|
183
|
-
* @param nodeTypes - New array of node types
|
|
184
|
-
* @returns Modified workflow
|
|
185
|
-
*
|
|
186
|
-
* @example
|
|
187
|
-
* ```typescript
|
|
188
|
-
* const ast = replaceNodeTypes(workflow, [
|
|
189
|
-
* { type: 'NodeType', name: 'type1', ... },
|
|
190
|
-
* { type: 'NodeType', name: 'type2', ... }
|
|
191
|
-
* ]);
|
|
192
|
-
* ```
|
|
193
|
-
*/
|
|
194
|
-
export function replaceNodeTypes(ast, nodeTypes) {
|
|
195
|
-
// Use produce directly with simplified type to avoid excessive type instantiation
|
|
196
|
-
return produce(ast, (draft) => {
|
|
197
|
-
draft.nodeTypes = nodeTypes;
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=node-types.js.map
|
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Node instance operations for workflow manipulation
|
|
3
|
-
*/
|
|
4
|
-
import { produce } from "immer";
|
|
5
|
-
import { withoutValidation, assertNodeExists, assertNodeNotExists, } from "../helpers.js";
|
|
6
|
-
/**
|
|
7
|
-
* Add a node instance to the workflow
|
|
8
|
-
*
|
|
9
|
-
* @param ast - Workflow to modify
|
|
10
|
-
* @param node - Node instance to add
|
|
11
|
-
* @returns Modified workflow
|
|
12
|
-
* @throws {Error} If node ID already exists or node type doesn't exist
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const ast = addNode(workflow, {
|
|
17
|
-
* type: 'NodeInstance',
|
|
18
|
-
* id: 'processor1',
|
|
19
|
-
* nodeType: 'dataProcessor'
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export function addNode(ast, node) {
|
|
24
|
-
// Check for duplicate ID
|
|
25
|
-
assertNodeNotExists(ast, node.id);
|
|
26
|
-
// Note: We don't check if node type exists here (eventual consistency model).
|
|
27
|
-
// Diagnostics will catch INVALID_NODE_TYPE if the type doesn't exist.
|
|
28
|
-
// Use produce directly with simplified type to avoid excessive type instantiation
|
|
29
|
-
return produce(ast, (draft) => {
|
|
30
|
-
draft.instances.push(node);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Remove a node instance from the workflow.
|
|
35
|
-
* Uses minimal validation (only checks node exists) to allow deletion
|
|
36
|
-
* even when the workflow has other validation errors.
|
|
37
|
-
*
|
|
38
|
-
* @param ast - Workflow to modify
|
|
39
|
-
* @param nodeId - ID of node to remove
|
|
40
|
-
* @param options - Remove options
|
|
41
|
-
* @returns Modified workflow
|
|
42
|
-
* @throws {Error} If node doesn't exist
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* // Remove node and all its connections
|
|
47
|
-
* const ast = removeNode(workflow, 'processor1');
|
|
48
|
-
*
|
|
49
|
-
* // Remove node, keep connections (will fail validation)
|
|
50
|
-
* const ast = removeNode(workflow, 'processor1', { removeConnections: false });
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export function removeNode(ast, nodeId, options = {}) {
|
|
54
|
-
const { removeConnections = true, } = options;
|
|
55
|
-
// First, verify node exists (fail fast with clear error)
|
|
56
|
-
assertNodeExists(ast, nodeId);
|
|
57
|
-
return withoutValidation(ast, (draft) => {
|
|
58
|
-
// Remove node instance
|
|
59
|
-
const nodeIndex = draft.instances.findIndex((n) => n.id === nodeId);
|
|
60
|
-
draft.instances.splice(nodeIndex, 1);
|
|
61
|
-
// Remove connections if requested
|
|
62
|
-
if (removeConnections) {
|
|
63
|
-
draft.connections = draft.connections.filter((conn) => conn.from.node !== nodeId && conn.to.node !== nodeId);
|
|
64
|
-
}
|
|
65
|
-
// Remove from scopes
|
|
66
|
-
if (draft.scopes) {
|
|
67
|
-
Object.keys(draft.scopes).forEach((scopeName) => {
|
|
68
|
-
draft.scopes[scopeName] = draft.scopes[scopeName].filter((id) => id !== nodeId);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
// Clean up macros referencing the deleted node
|
|
72
|
-
if (draft.macros) {
|
|
73
|
-
draft.macros = draft.macros.filter((macro) => {
|
|
74
|
-
if (macro.type === 'map') {
|
|
75
|
-
return macro.instanceId !== nodeId && macro.childId !== nodeId;
|
|
76
|
-
}
|
|
77
|
-
if (macro.type === 'path') {
|
|
78
|
-
return !macro.steps.some(s => s.node === nodeId);
|
|
79
|
-
}
|
|
80
|
-
if (macro.type === 'fanOut') {
|
|
81
|
-
return macro.source.node !== nodeId && !macro.targets.some(t => t.node === nodeId);
|
|
82
|
-
}
|
|
83
|
-
if (macro.type === 'fanIn') {
|
|
84
|
-
return macro.target.node !== nodeId && !macro.sources.some(s => s.node === nodeId);
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
});
|
|
88
|
-
if (draft.macros.length === 0) {
|
|
89
|
-
delete draft.macros;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Rename a node instance (updates all connections)
|
|
96
|
-
*
|
|
97
|
-
* @param ast - Workflow to modify
|
|
98
|
-
* @param oldId - Current node ID
|
|
99
|
-
* @param newId - New node ID
|
|
100
|
-
* @returns Modified workflow
|
|
101
|
-
* @throws {Error} If old ID doesn't exist or new ID already exists
|
|
102
|
-
*
|
|
103
|
-
* @example
|
|
104
|
-
* ```typescript
|
|
105
|
-
* const ast = renameNode(workflow, 'processor1', 'dataProcessor');
|
|
106
|
-
* // All connections updated automatically
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
export function renameNode(ast, oldId, newId) {
|
|
110
|
-
assertNodeExists(ast, oldId);
|
|
111
|
-
assertNodeNotExists(ast, newId);
|
|
112
|
-
return withoutValidation(ast, (draft) => {
|
|
113
|
-
// Update node instance ID
|
|
114
|
-
const node = draft.instances.find((n) => n.id === oldId);
|
|
115
|
-
node.id = newId;
|
|
116
|
-
// Update all connections
|
|
117
|
-
draft.connections.forEach((conn) => {
|
|
118
|
-
if (conn.from.node === oldId) {
|
|
119
|
-
conn.from.node = newId;
|
|
120
|
-
}
|
|
121
|
-
if (conn.to.node === oldId) {
|
|
122
|
-
conn.to.node = newId;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
// Update scopes
|
|
126
|
-
if (draft.scopes) {
|
|
127
|
-
Object.keys(draft.scopes).forEach((scopeName) => {
|
|
128
|
-
draft.scopes[scopeName] = draft.scopes[scopeName].map((id) => id === oldId ? newId : id);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
// Update macro references
|
|
132
|
-
if (draft.macros) {
|
|
133
|
-
for (const macro of draft.macros) {
|
|
134
|
-
if (macro.type === 'map') {
|
|
135
|
-
if (macro.instanceId === oldId)
|
|
136
|
-
macro.instanceId = newId;
|
|
137
|
-
if (macro.childId === oldId)
|
|
138
|
-
macro.childId = newId;
|
|
139
|
-
}
|
|
140
|
-
else if (macro.type === 'path') {
|
|
141
|
-
macro.steps = macro.steps.map(s => s.node === oldId ? { ...s, node: newId } : s);
|
|
142
|
-
}
|
|
143
|
-
else if (macro.type === 'fanOut') {
|
|
144
|
-
if (macro.source.node === oldId)
|
|
145
|
-
macro.source.node = newId;
|
|
146
|
-
for (const t of macro.targets) {
|
|
147
|
-
if (t.node === oldId)
|
|
148
|
-
t.node = newId;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else if (macro.type === 'fanIn') {
|
|
152
|
-
if (macro.target.node === oldId)
|
|
153
|
-
macro.target.node = newId;
|
|
154
|
-
for (const s of macro.sources) {
|
|
155
|
-
if (s.node === oldId)
|
|
156
|
-
s.node = newId;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Update a node instance
|
|
165
|
-
*
|
|
166
|
-
* @param ast - Workflow to modify
|
|
167
|
-
* @param nodeId - ID of node to update
|
|
168
|
-
* @param updates - Partial node instance to merge
|
|
169
|
-
* @returns Modified workflow
|
|
170
|
-
* @throws {Error} If node doesn't exist
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* ```typescript
|
|
174
|
-
* const ast = updateNode(workflow, 'processor1', {
|
|
175
|
-
* config: { x: 100, y: 200, label: 'Main Processor' }
|
|
176
|
-
* });
|
|
177
|
-
* ```
|
|
178
|
-
*/
|
|
179
|
-
export function updateNode(ast, nodeId, updates) {
|
|
180
|
-
assertNodeExists(ast, nodeId);
|
|
181
|
-
return withoutValidation(ast, (draft) => {
|
|
182
|
-
const node = draft.instances.find((n) => n.id === nodeId);
|
|
183
|
-
Object.assign(node, updates);
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Add multiple nodes at once.
|
|
188
|
-
* Uses no validation to allow adding even when workflow has other errors.
|
|
189
|
-
*
|
|
190
|
-
* @param ast - Workflow to modify
|
|
191
|
-
* @param nodes - Array of node instances to add
|
|
192
|
-
* @returns Modified workflow
|
|
193
|
-
*/
|
|
194
|
-
export function addNodes(ast, nodes) {
|
|
195
|
-
// Check for duplicate IDs only (eventual consistency model)
|
|
196
|
-
nodes.forEach((node) => {
|
|
197
|
-
assertNodeNotExists(ast, node.id);
|
|
198
|
-
});
|
|
199
|
-
// Use produce directly with simplified type to avoid excessive type instantiation
|
|
200
|
-
return produce(ast, (draft) => {
|
|
201
|
-
nodes.forEach((node) => {
|
|
202
|
-
draft.instances.push(node);
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Remove multiple nodes at once.
|
|
208
|
-
* Uses minimal validation (only checks nodes exist) to allow deletion
|
|
209
|
-
* even when the workflow has other validation errors.
|
|
210
|
-
*
|
|
211
|
-
* @param ast - Workflow to modify
|
|
212
|
-
* @param nodeIds - Array of node IDs to remove
|
|
213
|
-
* @returns Modified workflow
|
|
214
|
-
*/
|
|
215
|
-
export function removeNodes(ast, nodeIds) {
|
|
216
|
-
// First, verify all nodes exist (fail fast with clear error)
|
|
217
|
-
nodeIds.forEach((nodeId) => {
|
|
218
|
-
assertNodeExists(ast, nodeId);
|
|
219
|
-
});
|
|
220
|
-
return withoutValidation(ast, (draft) => {
|
|
221
|
-
// Remove all nodes
|
|
222
|
-
draft.instances = draft.instances.filter((n) => !nodeIds.includes(n.id));
|
|
223
|
-
// Remove all connections
|
|
224
|
-
draft.connections = draft.connections.filter((conn) => !nodeIds.includes(conn.from.node) &&
|
|
225
|
-
!nodeIds.includes(conn.to.node));
|
|
226
|
-
// Remove from scopes
|
|
227
|
-
if (draft.scopes) {
|
|
228
|
-
Object.keys(draft.scopes).forEach((scopeName) => {
|
|
229
|
-
draft.scopes[scopeName] = draft.scopes[scopeName].filter((id) => !nodeIds.includes(id));
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Set node configuration
|
|
236
|
-
*
|
|
237
|
-
* @param ast - Workflow to modify
|
|
238
|
-
* @param nodeId - ID of node to configure
|
|
239
|
-
* @param config - Configuration to set
|
|
240
|
-
* @returns Modified workflow
|
|
241
|
-
*/
|
|
242
|
-
export function setNodeConfig(ast, nodeId, config) {
|
|
243
|
-
return updateNode(ast, nodeId, { config });
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Set node position (UI coordinates)
|
|
247
|
-
*
|
|
248
|
-
* @param ast - Workflow to modify
|
|
249
|
-
* @param nodeId - ID of node to position (including virtual nodes "Start" and "Exit")
|
|
250
|
-
* @param x - X coordinate
|
|
251
|
-
* @param y - Y coordinate
|
|
252
|
-
* @returns Modified workflow
|
|
253
|
-
*/
|
|
254
|
-
export function setNodePosition(ast, nodeId, x, y) {
|
|
255
|
-
// Validate before mutation to avoid type instantiation issues inside callback
|
|
256
|
-
if (nodeId !== "Start" && nodeId !== "Exit") {
|
|
257
|
-
assertNodeExists(ast, nodeId);
|
|
258
|
-
}
|
|
259
|
-
return withoutValidation(ast, (draft) => {
|
|
260
|
-
// Handle Start/Exit virtual nodes
|
|
261
|
-
if (nodeId === "Start" || nodeId === "Exit") {
|
|
262
|
-
const uiField = nodeId === "Start" ? "startNode" : "exitNode";
|
|
263
|
-
draft.ui = {
|
|
264
|
-
...draft.ui,
|
|
265
|
-
[uiField]: {
|
|
266
|
-
...draft.ui?.[uiField],
|
|
267
|
-
x,
|
|
268
|
-
y,
|
|
269
|
-
},
|
|
270
|
-
};
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
// Regular nodes - find and update
|
|
274
|
-
const node = draft.instances.find((n) => n.id === nodeId);
|
|
275
|
-
if (!node)
|
|
276
|
-
return; // Already validated above
|
|
277
|
-
if (!node.config) {
|
|
278
|
-
node.config = {};
|
|
279
|
-
}
|
|
280
|
-
node.config.x = x;
|
|
281
|
-
node.config.y = y;
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Set node minimized state (UI state)
|
|
286
|
-
*
|
|
287
|
-
* @param ast - Workflow to modify
|
|
288
|
-
* @param nodeId - ID of node to minimize/expand
|
|
289
|
-
* @param minimized - Whether the node is minimized
|
|
290
|
-
* @returns Modified workflow
|
|
291
|
-
*/
|
|
292
|
-
export function setNodeMinimized(ast, nodeId, minimized) {
|
|
293
|
-
// Validate before mutation to avoid type instantiation issues inside callback
|
|
294
|
-
assertNodeExists(ast, nodeId);
|
|
295
|
-
return withoutValidation(ast, (draft) => {
|
|
296
|
-
const node = draft.instances.find((n) => n.id === nodeId);
|
|
297
|
-
if (!node)
|
|
298
|
-
return; // Already validated above
|
|
299
|
-
if (!node.config) {
|
|
300
|
-
node.config = {};
|
|
301
|
-
}
|
|
302
|
-
node.config.minimized = minimized;
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Set node label (UI display name)
|
|
307
|
-
*
|
|
308
|
-
* @param ast - Workflow to modify
|
|
309
|
-
* @param nodeId - ID of node to label
|
|
310
|
-
* @param label - Label to set (empty string or undefined clears the label)
|
|
311
|
-
* @returns Modified workflow
|
|
312
|
-
*/
|
|
313
|
-
export function setNodeLabel(ast, nodeId, label) {
|
|
314
|
-
// Validate before mutation to avoid type instantiation issues inside callback
|
|
315
|
-
assertNodeExists(ast, nodeId);
|
|
316
|
-
return withoutValidation(ast, (draft) => {
|
|
317
|
-
const node = draft.instances.find((n) => n.id === nodeId);
|
|
318
|
-
if (!node)
|
|
319
|
-
return; // Already validated above
|
|
320
|
-
if (!node.config) {
|
|
321
|
-
node.config = {};
|
|
322
|
-
}
|
|
323
|
-
// Set or clear the label
|
|
324
|
-
if (label) {
|
|
325
|
-
node.config.label = label;
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
delete node.config.label;
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Set node size (UI state)
|
|
334
|
-
*
|
|
335
|
-
* @param ast - Workflow to modify
|
|
336
|
-
* @param nodeId - ID of node to resize
|
|
337
|
-
* @param width - Node width
|
|
338
|
-
* @param height - Node height
|
|
339
|
-
* @returns Modified workflow
|
|
340
|
-
*/
|
|
341
|
-
export function setNodeSize(ast, nodeId, width, height) {
|
|
342
|
-
// Validate before mutation to avoid type instantiation issues inside callback
|
|
343
|
-
assertNodeExists(ast, nodeId);
|
|
344
|
-
return withoutValidation(ast, (draft) => {
|
|
345
|
-
const node = draft.instances.find((n) => n.id === nodeId);
|
|
346
|
-
if (!node)
|
|
347
|
-
return; // Already validated above
|
|
348
|
-
if (!node.config) {
|
|
349
|
-
node.config = {};
|
|
350
|
-
}
|
|
351
|
-
node.config.width = width;
|
|
352
|
-
node.config.height = height;
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
//# sourceMappingURL=nodes.js.map
|