@synergenius/flow-weaver 0.2.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 +122 -0
- package/README.md +315 -0
- package/dist/annotation-generator.d.ts +45 -0
- package/dist/annotation-generator.js +557 -0
- package/dist/api/builder.d.ts +223 -0
- package/dist/api/builder.js +345 -0
- package/dist/api/compile.d.ts +92 -0
- package/dist/api/compile.js +149 -0
- package/dist/api/extract-types.d.ts +29 -0
- package/dist/api/extract-types.js +57 -0
- package/dist/api/generate-in-place.d.ts +73 -0
- package/dist/api/generate-in-place.js +1353 -0
- package/dist/api/generate.d.ts +83 -0
- package/dist/api/generate.js +510 -0
- package/dist/api/helpers.d.ts +248 -0
- package/dist/api/helpers.js +285 -0
- package/dist/api/index.d.ts +46 -0
- package/dist/api/index.js +45 -0
- package/dist/api/inline-runtime.d.ts +27 -0
- package/dist/api/inline-runtime.js +551 -0
- package/dist/api/manipulation/connections.d.ts +79 -0
- package/dist/api/manipulation/connections.js +151 -0
- package/dist/api/manipulation/index.d.ts +34 -0
- package/dist/api/manipulation/index.js +41 -0
- package/dist/api/manipulation/node-types.d.ts +123 -0
- package/dist/api/manipulation/node-types.js +200 -0
- package/dist/api/manipulation/nodes.d.ts +144 -0
- package/dist/api/manipulation/nodes.js +333 -0
- package/dist/api/manipulation/ports.d.ts +59 -0
- package/dist/api/manipulation/ports.js +228 -0
- package/dist/api/manipulation/scopes.d.ts +52 -0
- package/dist/api/manipulation/scopes.js +156 -0
- package/dist/api/manipulation/validation.d.ts +6 -0
- package/dist/api/manipulation/validation.js +6 -0
- package/dist/api/manipulation/workflow.d.ts +81 -0
- package/dist/api/manipulation/workflow.js +116 -0
- package/dist/api/manipulation.d.ts +8 -0
- package/dist/api/manipulation.js +8 -0
- package/dist/api/parse.d.ts +48 -0
- package/dist/api/parse.js +110 -0
- package/dist/api/patterns.d.ts +112 -0
- package/dist/api/patterns.js +306 -0
- package/dist/api/query.d.ts +429 -0
- package/dist/api/query.js +816 -0
- package/dist/api/templates.d.ts +98 -0
- package/dist/api/templates.js +117 -0
- package/dist/api/transform.d.ts +31 -0
- package/dist/api/transform.js +40 -0
- package/dist/api/validate.d.ts +25 -0
- package/dist/api/validate.js +39 -0
- package/dist/api/workflow-file-operations.d.ts +29 -0
- package/dist/api/workflow-file-operations.js +180 -0
- package/dist/ast/builder.d.ts +210 -0
- package/dist/ast/builder.js +395 -0
- package/dist/ast/index.d.ts +5 -0
- package/dist/ast/index.js +5 -0
- package/dist/ast/serialization-node.d.ts +6 -0
- package/dist/ast/serialization-node.js +30 -0
- package/dist/ast/serialization.d.ts +43 -0
- package/dist/ast/serialization.js +134 -0
- package/dist/ast/types.d.ts +852 -0
- package/dist/ast/types.js +2 -0
- package/dist/ast/workflow-utils.d.ts +54 -0
- package/dist/ast/workflow-utils.js +114 -0
- package/dist/body-generator.d.ts +31 -0
- package/dist/body-generator.js +35 -0
- package/dist/built-in-nodes/delay.d.ts +11 -0
- package/dist/built-in-nodes/delay.js +29 -0
- package/dist/built-in-nodes/index.d.ts +5 -0
- package/dist/built-in-nodes/index.js +4 -0
- package/dist/built-in-nodes/invoke-workflow.d.ts +13 -0
- package/dist/built-in-nodes/invoke-workflow.js +25 -0
- package/dist/built-in-nodes/mock-types.d.ts +18 -0
- package/dist/built-in-nodes/mock-types.js +12 -0
- package/dist/built-in-nodes/wait-for-event.d.ts +13 -0
- package/dist/built-in-nodes/wait-for-event.js +25 -0
- package/dist/chevrotain-parser/connect-parser.d.ts +24 -0
- package/dist/chevrotain-parser/connect-parser.js +98 -0
- package/dist/chevrotain-parser/grammar-diagrams.d.ts +29 -0
- package/dist/chevrotain-parser/grammar-diagrams.js +264 -0
- package/dist/chevrotain-parser/index.d.ts +25 -0
- package/dist/chevrotain-parser/index.js +27 -0
- package/dist/chevrotain-parser/map-parser.d.ts +33 -0
- package/dist/chevrotain-parser/map-parser.js +130 -0
- package/dist/chevrotain-parser/node-parser.d.ts +36 -0
- package/dist/chevrotain-parser/node-parser.js +466 -0
- package/dist/chevrotain-parser/path-parser.d.ts +28 -0
- package/dist/chevrotain-parser/path-parser.js +118 -0
- package/dist/chevrotain-parser/port-parser.d.ts +36 -0
- package/dist/chevrotain-parser/port-parser.js +442 -0
- package/dist/chevrotain-parser/position-parser.d.ts +20 -0
- package/dist/chevrotain-parser/position-parser.js +83 -0
- package/dist/chevrotain-parser/scope-parser.d.ts +19 -0
- package/dist/chevrotain-parser/scope-parser.js +104 -0
- package/dist/chevrotain-parser/tokens.d.ts +78 -0
- package/dist/chevrotain-parser/tokens.js +384 -0
- package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +50 -0
- package/dist/chevrotain-parser/trigger-cancel-parser.js +282 -0
- package/dist/cli/commands/changelog.d.ts +13 -0
- package/dist/cli/commands/changelog.js +135 -0
- package/dist/cli/commands/compile.d.ts +64 -0
- package/dist/cli/commands/compile.js +278 -0
- package/dist/cli/commands/create.d.ts +33 -0
- package/dist/cli/commands/create.js +147 -0
- package/dist/cli/commands/describe.d.ts +68 -0
- package/dist/cli/commands/describe.js +377 -0
- package/dist/cli/commands/dev.d.ts +32 -0
- package/dist/cli/commands/dev.js +384 -0
- package/dist/cli/commands/diagram.d.ts +13 -0
- package/dist/cli/commands/diagram.js +33 -0
- package/dist/cli/commands/diff.d.ts +11 -0
- package/dist/cli/commands/diff.js +59 -0
- package/dist/cli/commands/doctor.d.ts +57 -0
- package/dist/cli/commands/doctor.js +719 -0
- package/dist/cli/commands/export.d.ts +57 -0
- package/dist/cli/commands/export.js +163 -0
- package/dist/cli/commands/grammar.d.ts +9 -0
- package/dist/cli/commands/grammar.js +39 -0
- package/dist/cli/commands/init.d.ts +59 -0
- package/dist/cli/commands/init.js +435 -0
- package/dist/cli/commands/listen.d.ts +16 -0
- package/dist/cli/commands/listen.js +39 -0
- package/dist/cli/commands/market.d.ts +52 -0
- package/dist/cli/commands/market.js +436 -0
- package/dist/cli/commands/migrate.d.ts +13 -0
- package/dist/cli/commands/migrate.js +89 -0
- package/dist/cli/commands/openapi.d.ts +37 -0
- package/dist/cli/commands/openapi.js +67 -0
- package/dist/cli/commands/pattern.d.ts +34 -0
- package/dist/cli/commands/pattern.js +185 -0
- package/dist/cli/commands/plugin.d.ts +16 -0
- package/dist/cli/commands/plugin.js +176 -0
- package/dist/cli/commands/run.d.ts +49 -0
- package/dist/cli/commands/run.js +191 -0
- package/dist/cli/commands/serve.d.ts +45 -0
- package/dist/cli/commands/serve.js +81 -0
- package/dist/cli/commands/templates.d.ts +8 -0
- package/dist/cli/commands/templates.js +54 -0
- package/dist/cli/commands/ui.d.ts +16 -0
- package/dist/cli/commands/ui.js +130 -0
- package/dist/cli/commands/validate.d.ts +12 -0
- package/dist/cli/commands/validate.js +247 -0
- package/dist/cli/commands/watch.d.ts +9 -0
- package/dist/cli/commands/watch.js +70 -0
- package/dist/cli/flow-weaver.mjs +92924 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.js +742 -0
- package/dist/cli/templates/ai/mock-provider.d.ts +7 -0
- package/dist/cli/templates/ai/mock-provider.js +64 -0
- package/dist/cli/templates/ai/types.d.ts +47 -0
- package/dist/cli/templates/ai/types.js +5 -0
- package/dist/cli/templates/approvals/index.d.ts +15 -0
- package/dist/cli/templates/approvals/index.js +241 -0
- package/dist/cli/templates/index.d.ts +102 -0
- package/dist/cli/templates/index.js +101 -0
- package/dist/cli/templates/nodes/agent-router.d.ts +3 -0
- package/dist/cli/templates/nodes/agent-router.js +114 -0
- package/dist/cli/templates/nodes/aggregator.d.ts +7 -0
- package/dist/cli/templates/nodes/aggregator.js +63 -0
- package/dist/cli/templates/nodes/conversation-memory.d.ts +3 -0
- package/dist/cli/templates/nodes/conversation-memory.js +85 -0
- package/dist/cli/templates/nodes/http.d.ts +7 -0
- package/dist/cli/templates/nodes/http.js +80 -0
- package/dist/cli/templates/nodes/human-approval.d.ts +3 -0
- package/dist/cli/templates/nodes/human-approval.js +110 -0
- package/dist/cli/templates/nodes/json-extractor.d.ts +3 -0
- package/dist/cli/templates/nodes/json-extractor.js +119 -0
- package/dist/cli/templates/nodes/llm-call.d.ts +3 -0
- package/dist/cli/templates/nodes/llm-call.js +106 -0
- package/dist/cli/templates/nodes/prompt-template.d.ts +3 -0
- package/dist/cli/templates/nodes/prompt-template.js +52 -0
- package/dist/cli/templates/nodes/rag-retriever.d.ts +3 -0
- package/dist/cli/templates/nodes/rag-retriever.js +128 -0
- package/dist/cli/templates/nodes/tool-executor.d.ts +3 -0
- package/dist/cli/templates/nodes/tool-executor.js +108 -0
- package/dist/cli/templates/nodes/transformer.d.ts +7 -0
- package/dist/cli/templates/nodes/transformer.js +68 -0
- package/dist/cli/templates/nodes/validator.d.ts +7 -0
- package/dist/cli/templates/nodes/validator.js +62 -0
- package/dist/cli/templates/providers/index.d.ts +14 -0
- package/dist/cli/templates/providers/index.js +239 -0
- package/dist/cli/templates/shared/approval-types.d.ts +9 -0
- package/dist/cli/templates/shared/approval-types.js +31 -0
- package/dist/cli/templates/shared/llm-types.d.ts +15 -0
- package/dist/cli/templates/shared/llm-types.js +104 -0
- package/dist/cli/templates/workflows/aggregator.d.ts +7 -0
- package/dist/cli/templates/workflows/aggregator.js +104 -0
- package/dist/cli/templates/workflows/ai-agent-durable.d.ts +8 -0
- package/dist/cli/templates/workflows/ai-agent-durable.js +338 -0
- package/dist/cli/templates/workflows/ai-agent.d.ts +31 -0
- package/dist/cli/templates/workflows/ai-agent.js +326 -0
- package/dist/cli/templates/workflows/ai-chat.d.ts +7 -0
- package/dist/cli/templates/workflows/ai-chat.js +169 -0
- package/dist/cli/templates/workflows/ai-pipeline-durable.d.ts +8 -0
- package/dist/cli/templates/workflows/ai-pipeline-durable.js +330 -0
- package/dist/cli/templates/workflows/ai-rag.d.ts +7 -0
- package/dist/cli/templates/workflows/ai-rag.js +186 -0
- package/dist/cli/templates/workflows/ai-react.d.ts +7 -0
- package/dist/cli/templates/workflows/ai-react.js +294 -0
- package/dist/cli/templates/workflows/conditional.d.ts +12 -0
- package/dist/cli/templates/workflows/conditional.js +142 -0
- package/dist/cli/templates/workflows/error-handler.d.ts +7 -0
- package/dist/cli/templates/workflows/error-handler.js +147 -0
- package/dist/cli/templates/workflows/foreach.d.ts +7 -0
- package/dist/cli/templates/workflows/foreach.js +143 -0
- package/dist/cli/templates/workflows/sequential.d.ts +7 -0
- package/dist/cli/templates/workflows/sequential.js +198 -0
- package/dist/cli/templates/workflows/webhook.d.ts +7 -0
- package/dist/cli/templates/workflows/webhook.js +161 -0
- package/dist/cli/utils/logger.d.ts +15 -0
- package/dist/cli/utils/logger.js +46 -0
- package/dist/constants.d.ts +100 -0
- package/dist/constants.js +125 -0
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.js +3 -0
- package/dist/deployment/config/defaults.d.ts +29 -0
- package/dist/deployment/config/defaults.js +98 -0
- package/dist/deployment/config/loader.d.ts +24 -0
- package/dist/deployment/config/loader.js +236 -0
- package/dist/deployment/config/types.d.ts +117 -0
- package/dist/deployment/config/types.js +5 -0
- package/dist/deployment/core/adapters.d.ts +90 -0
- package/dist/deployment/core/adapters.js +251 -0
- package/dist/deployment/core/executor.d.ts +62 -0
- package/dist/deployment/core/executor.js +197 -0
- package/dist/deployment/core/formatters.d.ts +57 -0
- package/dist/deployment/core/formatters.js +170 -0
- package/dist/deployment/index.d.ts +31 -0
- package/dist/deployment/index.js +48 -0
- package/dist/deployment/openapi/generator.d.ts +146 -0
- package/dist/deployment/openapi/generator.js +347 -0
- package/dist/deployment/openapi/schema-converter.d.ts +49 -0
- package/dist/deployment/openapi/schema-converter.js +192 -0
- package/dist/deployment/targets/base.d.ts +316 -0
- package/dist/deployment/targets/base.js +823 -0
- package/dist/deployment/targets/cloudflare.d.ts +23 -0
- package/dist/deployment/targets/cloudflare.js +1125 -0
- package/dist/deployment/targets/inngest.d.ts +38 -0
- package/dist/deployment/targets/inngest.js +926 -0
- package/dist/deployment/targets/lambda.d.ts +23 -0
- package/dist/deployment/targets/lambda.js +1289 -0
- package/dist/deployment/targets/vercel.d.ts +23 -0
- package/dist/deployment/targets/vercel.js +886 -0
- package/dist/deployment/types.d.ts +183 -0
- package/dist/deployment/types.js +8 -0
- package/dist/diagram/geometry.d.ts +26 -0
- package/dist/diagram/geometry.js +850 -0
- package/dist/diagram/index.d.ts +16 -0
- package/dist/diagram/index.js +42 -0
- package/dist/diagram/layout.d.ts +11 -0
- package/dist/diagram/layout.js +143 -0
- package/dist/diagram/orthogonal-router.d.ts +79 -0
- package/dist/diagram/orthogonal-router.js +568 -0
- package/dist/diagram/renderer.d.ts +3 -0
- package/dist/diagram/renderer.js +207 -0
- package/dist/diagram/theme.d.ts +20 -0
- package/dist/diagram/theme.js +189 -0
- package/dist/diagram/types.d.ts +70 -0
- package/dist/diagram/types.js +2 -0
- package/dist/diff/WorkflowDiffer.d.ts +13 -0
- package/dist/diff/WorkflowDiffer.js +429 -0
- package/dist/diff/formatDiff.d.ts +10 -0
- package/dist/diff/formatDiff.js +220 -0
- package/dist/diff/impact.d.ts +29 -0
- package/dist/diff/impact.js +119 -0
- package/dist/diff/index.d.ts +10 -0
- package/dist/diff/index.js +9 -0
- package/dist/diff/types.d.ts +138 -0
- package/dist/diff/types.js +35 -0
- package/dist/doc-metadata/extractors/annotations.d.ts +56 -0
- package/dist/doc-metadata/extractors/annotations.js +337 -0
- package/dist/doc-metadata/extractors/cli-commands.d.ts +17 -0
- package/dist/doc-metadata/extractors/cli-commands.js +355 -0
- package/dist/doc-metadata/extractors/mcp-tools.d.ts +16 -0
- package/dist/doc-metadata/extractors/mcp-tools.js +689 -0
- package/dist/doc-metadata/extractors/plugin-api.d.ts +19 -0
- package/dist/doc-metadata/extractors/plugin-api.js +279 -0
- package/dist/doc-metadata/index.d.ts +5 -0
- package/dist/doc-metadata/index.js +4 -0
- package/dist/doc-metadata/types.d.ts +120 -0
- package/dist/doc-metadata/types.js +5 -0
- package/dist/editor-completions/annotationValues.d.ts +12 -0
- package/dist/editor-completions/annotationValues.js +138 -0
- package/dist/editor-completions/contextParser.d.ts +40 -0
- package/dist/editor-completions/contextParser.js +410 -0
- package/dist/editor-completions/dataTypes.d.ts +16 -0
- package/dist/editor-completions/dataTypes.js +95 -0
- package/dist/editor-completions/goToDefinition.d.ts +27 -0
- package/dist/editor-completions/goToDefinition.js +112 -0
- package/dist/editor-completions/index.d.ts +39 -0
- package/dist/editor-completions/index.js +181 -0
- package/dist/editor-completions/jsDocAnnotations.d.ts +29 -0
- package/dist/editor-completions/jsDocAnnotations.js +357 -0
- package/dist/editor-completions/modifierCompletions.d.ts +17 -0
- package/dist/editor-completions/modifierCompletions.js +197 -0
- package/dist/editor-completions/types.d.ts +119 -0
- package/dist/editor-completions/types.js +8 -0
- package/dist/export/index.d.ts +68 -0
- package/dist/export/index.js +1074 -0
- package/dist/export/templates.d.ts +24 -0
- package/dist/export/templates.js +186 -0
- package/dist/friendly-errors.d.ts +35 -0
- package/dist/friendly-errors.js +375 -0
- package/dist/function-like.d.ts +38 -0
- package/dist/function-like.js +83 -0
- package/dist/generated-branding.d.ts +16 -0
- package/dist/generated-branding.js +22 -0
- package/dist/generator/async-detection.d.ts +27 -0
- package/dist/generator/async-detection.js +56 -0
- package/dist/generator/code-utils.d.ts +76 -0
- package/dist/generator/code-utils.js +410 -0
- package/dist/generator/control-flow.d.ts +54 -0
- package/dist/generator/control-flow.js +284 -0
- package/dist/generator/inngest.d.ts +53 -0
- package/dist/generator/inngest.js +1126 -0
- package/dist/generator/scope-function-generator.d.ts +78 -0
- package/dist/generator/scope-function-generator.js +360 -0
- package/dist/generator/unified.d.ts +42 -0
- package/dist/generator/unified.js +1504 -0
- package/dist/generator.d.ts +54 -0
- package/dist/generator.js +100 -0
- package/dist/index.d.ts +85 -0
- package/dist/index.js +89 -0
- package/dist/jsdoc-parser.d.ts +308 -0
- package/dist/jsdoc-parser.js +923 -0
- package/dist/jsdoc-port-sync/constants.d.ts +41 -0
- package/dist/jsdoc-port-sync/constants.js +103 -0
- package/dist/jsdoc-port-sync/diff.d.ts +76 -0
- package/dist/jsdoc-port-sync/diff.js +319 -0
- package/dist/jsdoc-port-sync/index.d.ts +42 -0
- package/dist/jsdoc-port-sync/index.js +45 -0
- package/dist/jsdoc-port-sync/port-parser.d.ts +68 -0
- package/dist/jsdoc-port-sync/port-parser.js +579 -0
- package/dist/jsdoc-port-sync/rename.d.ts +21 -0
- package/dist/jsdoc-port-sync/rename.js +256 -0
- package/dist/jsdoc-port-sync/signature-parser.d.ts +104 -0
- package/dist/jsdoc-port-sync/signature-parser.js +559 -0
- package/dist/jsdoc-port-sync/sync.d.ts +36 -0
- package/dist/jsdoc-port-sync/sync.js +644 -0
- package/dist/jsdoc-port-sync.d.ts +10 -0
- package/dist/jsdoc-port-sync.js +10 -0
- package/dist/marketplace/index.d.ts +11 -0
- package/dist/marketplace/index.js +10 -0
- package/dist/marketplace/manifest.d.ts +32 -0
- package/dist/marketplace/manifest.js +176 -0
- package/dist/marketplace/registry.d.ts +30 -0
- package/dist/marketplace/registry.js +100 -0
- package/dist/marketplace/types.d.ts +154 -0
- package/dist/marketplace/types.js +9 -0
- package/dist/marketplace/validator.d.ts +13 -0
- package/dist/marketplace/validator.js +131 -0
- package/dist/mcp/auto-registration.d.ts +3 -0
- package/dist/mcp/auto-registration.js +62 -0
- package/dist/mcp/editor-connection.d.ts +50 -0
- package/dist/mcp/editor-connection.js +125 -0
- package/dist/mcp/event-buffer.d.ts +62 -0
- package/dist/mcp/event-buffer.js +150 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.js +11 -0
- package/dist/mcp/resources.d.ts +14 -0
- package/dist/mcp/resources.js +55 -0
- package/dist/mcp/response-utils.d.ts +63 -0
- package/dist/mcp/response-utils.js +89 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.js +99 -0
- package/dist/mcp/tools-diagram.d.ts +8 -0
- package/dist/mcp/tools-diagram.js +53 -0
- package/dist/mcp/tools-editor.d.ts +5 -0
- package/dist/mcp/tools-editor.js +190 -0
- package/dist/mcp/tools-export.d.ts +9 -0
- package/dist/mcp/tools-export.js +180 -0
- package/dist/mcp/tools-marketplace.d.ts +9 -0
- package/dist/mcp/tools-marketplace.js +132 -0
- package/dist/mcp/tools-pattern.d.ts +3 -0
- package/dist/mcp/tools-pattern.js +783 -0
- package/dist/mcp/tools-query.d.ts +3 -0
- package/dist/mcp/tools-query.js +364 -0
- package/dist/mcp/tools-template.d.ts +10 -0
- package/dist/mcp/tools-template.js +119 -0
- package/dist/mcp/types.d.ts +70 -0
- package/dist/mcp/types.js +8 -0
- package/dist/mcp/workflow-executor.d.ts +47 -0
- package/dist/mcp/workflow-executor.js +133 -0
- package/dist/migration/registry.d.ts +30 -0
- package/dist/migration/registry.js +29 -0
- package/dist/node-types-generator.d.ts +49 -0
- package/dist/node-types-generator.js +139 -0
- package/dist/npm-packages.d.ts +56 -0
- package/dist/npm-packages.js +255 -0
- package/dist/parser.d.ts +204 -0
- package/dist/parser.js +2100 -0
- package/dist/plugin/PluginPanel.d.ts +12 -0
- package/dist/plugin/PluginPanel.js +5 -0
- package/dist/plugin/index.d.ts +13 -0
- package/dist/plugin/index.js +14 -0
- package/dist/plugin/types.d.ts +75 -0
- package/dist/plugin/types.js +8 -0
- package/dist/resolve-package-types.d.ts +17 -0
- package/dist/resolve-package-types.js +123 -0
- package/dist/runtime/CancellationError.d.ts +11 -0
- package/dist/runtime/CancellationError.js +20 -0
- package/dist/runtime/ExecutionContext.d.ts +146 -0
- package/dist/runtime/ExecutionContext.js +235 -0
- package/dist/runtime/builtin-functions.d.ts +8 -0
- package/dist/runtime/builtin-functions.js +549 -0
- package/dist/runtime/events.d.ts +50 -0
- package/dist/runtime/events.js +2 -0
- package/dist/runtime/function-registry.d.ts +59 -0
- package/dist/runtime/function-registry.js +66 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/parameter-resolver.d.ts +62 -0
- package/dist/runtime/parameter-resolver.js +113 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.js +6 -0
- package/dist/server/types.d.ts +93 -0
- package/dist/server/types.js +5 -0
- package/dist/server/webhook-server.d.ts +50 -0
- package/dist/server/webhook-server.js +269 -0
- package/dist/server/workflow-registry.d.ts +61 -0
- package/dist/server/workflow-registry.js +202 -0
- package/dist/shared-project.d.ts +9 -0
- package/dist/shared-project.js +28 -0
- package/dist/sugar-optimizer.d.ts +40 -0
- package/dist/sugar-optimizer.js +387 -0
- package/dist/testing/assertions.d.ts +51 -0
- package/dist/testing/assertions.js +127 -0
- package/dist/testing/index.d.ts +30 -0
- package/dist/testing/index.js +24 -0
- package/dist/testing/mock-approval.d.ts +81 -0
- package/dist/testing/mock-approval.js +98 -0
- package/dist/testing/mock-llm.d.ts +124 -0
- package/dist/testing/mock-llm.js +119 -0
- package/dist/testing/recorder.d.ts +72 -0
- package/dist/testing/recorder.js +70 -0
- package/dist/testing/replayer.d.ts +56 -0
- package/dist/testing/replayer.js +143 -0
- package/dist/testing/token-tracker.d.ts +71 -0
- package/dist/testing/token-tracker.js +94 -0
- package/dist/type-checker.d.ts +42 -0
- package/dist/type-checker.js +190 -0
- package/dist/type-mappings.d.ts +29 -0
- package/dist/type-mappings.js +125 -0
- package/dist/types/branded-ports.d.ts +151 -0
- package/dist/types/branded-ports.js +121 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +5 -0
- package/dist/types.d.ts +139 -0
- package/dist/types.js +15 -0
- package/dist/utils/error-utils.d.ts +15 -0
- package/dist/utils/error-utils.js +27 -0
- package/dist/utils/lru-cache.d.ts +15 -0
- package/dist/utils/lru-cache.js +40 -0
- package/dist/utils/port-ordering.d.ts +26 -0
- package/dist/utils/port-ordering.js +88 -0
- package/dist/utils/port-tag-utils.d.ts +23 -0
- package/dist/utils/port-tag-utils.js +41 -0
- package/dist/utils/string-distance.d.ts +14 -0
- package/dist/utils/string-distance.js +56 -0
- package/dist/validation/agent-detection.d.ts +33 -0
- package/dist/validation/agent-detection.js +115 -0
- package/dist/validation/agent-rules.d.ts +48 -0
- package/dist/validation/agent-rules.js +262 -0
- package/dist/validator.d.ts +92 -0
- package/dist/validator.js +970 -0
- package/package.json +109 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Elastic License 2.0
|
|
2
|
+
|
|
3
|
+
URL: https://www.elastic.co/licensing/elastic-license
|
|
4
|
+
|
|
5
|
+
## Acceptance
|
|
6
|
+
|
|
7
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
8
|
+
|
|
9
|
+
## Copyright License
|
|
10
|
+
|
|
11
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
|
12
|
+
non-sublicensable, non-transferable license to use, copy, distribute, make
|
|
13
|
+
available, and prepare derivative works of the software, in each case subject to
|
|
14
|
+
the limitations and conditions below.
|
|
15
|
+
|
|
16
|
+
## Limitations
|
|
17
|
+
|
|
18
|
+
You may not provide the software to third parties as a hosted or managed
|
|
19
|
+
service, where the service provides users with access to any substantial set of
|
|
20
|
+
the features or functionality of the software.
|
|
21
|
+
|
|
22
|
+
You may not move, change, disable, or circumvent the license key functionality
|
|
23
|
+
in the software, and you may not remove or obscure any functionality in the
|
|
24
|
+
software that is protected by the license key.
|
|
25
|
+
|
|
26
|
+
You may not alter, remove, or obscure any licensing, copyright, or other notices
|
|
27
|
+
of the licensor in the software. Any use of the licensor's trademarks is subject
|
|
28
|
+
to applicable law.
|
|
29
|
+
|
|
30
|
+
## Patents
|
|
31
|
+
|
|
32
|
+
The licensor grants you a license, under any patent claims the licensor can
|
|
33
|
+
license, or becomes able to license, to make, have made, use, sell, offer for
|
|
34
|
+
sale, import and have imported the software, in each case subject to the
|
|
35
|
+
limitations and conditions in this license. This license does not cover any
|
|
36
|
+
patent claims that you cause to be infringed by modifications or additions to the
|
|
37
|
+
software. If you or your company make any written claim that the software
|
|
38
|
+
infringes or contributes to infringement of any patent, your patent license for
|
|
39
|
+
the software granted under these terms ends immediately. If your company makes
|
|
40
|
+
such a claim, your patent license ends immediately for work on behalf of your
|
|
41
|
+
company.
|
|
42
|
+
|
|
43
|
+
## Notices
|
|
44
|
+
|
|
45
|
+
You must ensure that anyone who gets a copy of any part of the software from you
|
|
46
|
+
also gets a copy of these terms.
|
|
47
|
+
|
|
48
|
+
If you modify the software, you must include in any modified copies of the
|
|
49
|
+
software prominent notices stating that you have modified the software.
|
|
50
|
+
|
|
51
|
+
## No Other Rights
|
|
52
|
+
|
|
53
|
+
These terms do not imply any licenses other than those expressly granted in
|
|
54
|
+
these terms.
|
|
55
|
+
|
|
56
|
+
## Termination
|
|
57
|
+
|
|
58
|
+
If you use the software in violation of these terms, such use is not licensed,
|
|
59
|
+
and your licenses will automatically terminate. If the licensor provides you
|
|
60
|
+
with a notice of your violation, and you cease all violation of this license no
|
|
61
|
+
later than 30 days after you receive that notice, your licenses will be
|
|
62
|
+
reinstated retroactively. However, if you violate these terms after such
|
|
63
|
+
reinstatement, any additional violation of these terms will immediately and
|
|
64
|
+
permanently terminate your licenses.
|
|
65
|
+
|
|
66
|
+
## No Liability
|
|
67
|
+
|
|
68
|
+
As far as the law allows, the software comes as is, without any warranty or
|
|
69
|
+
condition, and the licensor will not be liable to you for any damages arising
|
|
70
|
+
out of these terms or the use or nature of the software, under any kind of
|
|
71
|
+
legal claim.
|
|
72
|
+
|
|
73
|
+
## Definitions
|
|
74
|
+
|
|
75
|
+
The "licensor" is Ricardo Jose Horta Morais (Synergenius), and the "software"
|
|
76
|
+
is the software the licensor makes available under these terms.
|
|
77
|
+
|
|
78
|
+
"You" refers to the individual or entity agreeing to these terms. "Your company"
|
|
79
|
+
is any legal entity, sole proprietorship, or other kind of organization that you
|
|
80
|
+
work for, plus all organizations that have control over, are under the control
|
|
81
|
+
of, or are under common control with that organization. "Control" means
|
|
82
|
+
ownership of substantially all the assets of an entity, or the power to direct
|
|
83
|
+
its management and policies by vote, contract, or otherwise. Control can be
|
|
84
|
+
direct or indirect.
|
|
85
|
+
|
|
86
|
+
"Your licenses" are all the licenses granted to you for the software under these
|
|
87
|
+
terms. "Use" means anything you do with the software requiring one of your
|
|
88
|
+
licenses.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
ADDITIONAL NOTICES
|
|
93
|
+
|
|
94
|
+
1. Output of the Software
|
|
95
|
+
|
|
96
|
+
The output of the Software — including but not limited to compiled workflows,
|
|
97
|
+
generated code, deployment artifacts, and any other files produced by the
|
|
98
|
+
Software's compilation, code generation, or export features — is not considered
|
|
99
|
+
part of the Software and may be used, copied, modified, distributed, and
|
|
100
|
+
sublicensed for any purpose without restriction under this License.
|
|
101
|
+
|
|
102
|
+
2. Internal Hosting Threshold
|
|
103
|
+
|
|
104
|
+
Organizations with 15 or fewer individuals — including employees, contractors,
|
|
105
|
+
and affiliates — may host the Software on internal infrastructure for use by
|
|
106
|
+
their members without restriction under this License.
|
|
107
|
+
|
|
108
|
+
Organizations with more than 15 individuals that wish to host the Software —
|
|
109
|
+
whether on internal infrastructure or as a service — require a commercial
|
|
110
|
+
license.
|
|
111
|
+
|
|
112
|
+
3. Unrestricted Use
|
|
113
|
+
|
|
114
|
+
Using the Software locally — including installing, running, compiling
|
|
115
|
+
workflows, generating code, and producing deployment artifacts — is permitted
|
|
116
|
+
for any individual or organization regardless of size, subject to the
|
|
117
|
+
Limitations above.
|
|
118
|
+
|
|
119
|
+
4. Commercial Licensing
|
|
120
|
+
|
|
121
|
+
For commercial licensing inquiries, partnership arrangements, or questions
|
|
122
|
+
about permitted use, contact support@synergenius.pt.
|
package/README.md
ADDED
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# @synergenius/flow-weaver
|
|
2
|
+
|
|
3
|
+
[](./LICENSE)
|
|
4
|
+
[](https://nodejs.org)
|
|
5
|
+
|
|
6
|
+
TypeScript annotation-based workflow compiler for Flow Weaver.
|
|
7
|
+
|
|
8
|
+
Build visual workflows using JSDoc annotations and TypeScript function signatures. Full type safety, IDE autocomplete, and instant validation.
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
- [Installation](#installation)
|
|
13
|
+
- [Quick Start](#quick-start)
|
|
14
|
+
- [API](#api)
|
|
15
|
+
- [Exports](#exports)
|
|
16
|
+
- [CLI Reference](#cli-reference)
|
|
17
|
+
- [STEP Port Architecture](#step-port-architecture)
|
|
18
|
+
- [Annotations](#annotations)
|
|
19
|
+
- [Deployment](#deployment)
|
|
20
|
+
- [MCP Integration](#mcp-integration)
|
|
21
|
+
- [API Documentation](#api-documentation)
|
|
22
|
+
- [Testing](#testing)
|
|
23
|
+
- [Development](#development)
|
|
24
|
+
- [License](#license)
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install @synergenius/flow-weaver
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Quick Start
|
|
33
|
+
|
|
34
|
+
Create a workflow file (any `.ts`, `.tsx`, `.js`, or `.jsx` file works):
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// math-workflow.ts
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @flowWeaver nodeType
|
|
41
|
+
* @input x
|
|
42
|
+
* @input y
|
|
43
|
+
* @output result
|
|
44
|
+
*/
|
|
45
|
+
function multiply(execute: boolean, x: number, y: number) {
|
|
46
|
+
if (!execute) return { onSuccess: false, onFailure: false, result: 0 };
|
|
47
|
+
return { onSuccess: true, onFailure: false, result: x * y };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @flowWeaver workflow
|
|
52
|
+
* @node multiplier multiply
|
|
53
|
+
* @connect Start.x -> multiplier.x
|
|
54
|
+
* @connect Start.y -> multiplier.y
|
|
55
|
+
* @connect multiplier.result -> Exit.result
|
|
56
|
+
*/
|
|
57
|
+
export async function multiplyWorkflow(
|
|
58
|
+
execute: boolean,
|
|
59
|
+
params: { x: number; y: number }
|
|
60
|
+
): Promise<{ onSuccess: boolean; onFailure: boolean; result: number }> {
|
|
61
|
+
throw new Error('Not implemented');
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Compile:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx flow-weaver compile math-workflow.ts
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## API
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import {
|
|
75
|
+
parseWorkflow, // Parse workflow file to AST
|
|
76
|
+
compileWorkflow, // Parse + generate in one step
|
|
77
|
+
validateWorkflow, // Validate AST
|
|
78
|
+
generateCode, // Generate code from AST
|
|
79
|
+
} from '@synergenius/flow-weaver';
|
|
80
|
+
|
|
81
|
+
// Parse and compile
|
|
82
|
+
const { code } = await compileWorkflow('workflow.ts');
|
|
83
|
+
|
|
84
|
+
// Or step by step
|
|
85
|
+
const { ast } = await parseWorkflow('workflow.ts');
|
|
86
|
+
const code = generateCode(ast);
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Additional APIs: `compileWorkflows()`, `compilePattern()`, `generateInPlace()`. See [API documentation](#api-documentation) for details.
|
|
90
|
+
|
|
91
|
+
## Exports
|
|
92
|
+
|
|
93
|
+
| Import Path | Purpose |
|
|
94
|
+
|-------------|---------|
|
|
95
|
+
| `@synergenius/flow-weaver` | Main — parse, validate, compile, generate, AST types, builders, diff, JSDoc sync |
|
|
96
|
+
| `@synergenius/flow-weaver/runtime` | Execution context & errors for generated code |
|
|
97
|
+
| `@synergenius/flow-weaver/built-in-nodes` | Built-in workflow nodes (delay, waitForEvent, invokeWorkflow) |
|
|
98
|
+
| `@synergenius/flow-weaver/diagram` | Workflow diagram layout and rendering |
|
|
99
|
+
| `@synergenius/flow-weaver/describe` | Programmatic workflow description (structure, nodes, paths) |
|
|
100
|
+
|
|
101
|
+
## CLI Reference
|
|
102
|
+
|
|
103
|
+
### Core Commands
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
flow-weaver compile <file> # Compile workflow files
|
|
107
|
+
--production # Production mode (no debug events)
|
|
108
|
+
--watch # Recompile on changes
|
|
109
|
+
--dry-run # Preview without writing
|
|
110
|
+
--optimize # Optimize workflow compilation
|
|
111
|
+
--strict # Strict validation mode
|
|
112
|
+
--source-map # Generate source maps
|
|
113
|
+
--format esm|cjs|auto # Output module format
|
|
114
|
+
|
|
115
|
+
flow-weaver validate <file> # Validate without compiling
|
|
116
|
+
--verbose | --quiet | --json # Output format
|
|
117
|
+
--strict # Strict type checking
|
|
118
|
+
|
|
119
|
+
flow-weaver run <file> # Execute a workflow
|
|
120
|
+
--params '{"key":"val"}' # Input parameters (JSON)
|
|
121
|
+
--params-file params.json # Parameters from file
|
|
122
|
+
--production # Production mode
|
|
123
|
+
--trace # Include execution trace
|
|
124
|
+
--timeout 30000 # Execution timeout (ms)
|
|
125
|
+
|
|
126
|
+
flow-weaver dev <file> # Watch + compile + run
|
|
127
|
+
--params '{"key":"val"}' # Input parameters
|
|
128
|
+
--once # Run once then exit
|
|
129
|
+
|
|
130
|
+
flow-weaver watch <file> # Watch and recompile
|
|
131
|
+
flow-weaver describe <file> # Output structure
|
|
132
|
+
--format json|text|mermaid|paths # Output format
|
|
133
|
+
--node <id> # Focus on specific node
|
|
134
|
+
flow-weaver diagram <file> # Generate SVG diagram
|
|
135
|
+
--theme dark|light # Color theme (default: dark)
|
|
136
|
+
--width <pixels> # SVG width
|
|
137
|
+
--no-port-labels # Hide port data type labels
|
|
138
|
+
-o, --output <file> # Write to file (default: stdout)
|
|
139
|
+
flow-weaver diff <f1> <f2> # Semantic comparison
|
|
140
|
+
--format text|json|compact # Output format
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Project Setup
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
flow-weaver init [directory] # Create new project
|
|
147
|
+
--template <name> # Project template
|
|
148
|
+
--yes # Accept defaults
|
|
149
|
+
flow-weaver create workflow <tmpl> <f> # Scaffold workflow from template
|
|
150
|
+
flow-weaver create node <name> <file> # Scaffold node type
|
|
151
|
+
flow-weaver templates # List available templates
|
|
152
|
+
flow-weaver doctor # Check project compatibility
|
|
153
|
+
flow-weaver grammar # Output annotation grammar (EBNF/railroad)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Deployment
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
flow-weaver serve [directory] # HTTP server for workflows
|
|
160
|
+
--port 3000 # Server port
|
|
161
|
+
--swagger # Enable Swagger UI at /docs
|
|
162
|
+
--production # Production mode
|
|
163
|
+
flow-weaver export <file> # Serverless export
|
|
164
|
+
--target lambda|vercel|cloudflare # Deployment target
|
|
165
|
+
--multi # Multi-workflow service
|
|
166
|
+
--docs # Include OpenAPI routes
|
|
167
|
+
flow-weaver openapi <directory> # Generate OpenAPI spec
|
|
168
|
+
--format json|yaml # Output format
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Patterns and Migration
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
flow-weaver pattern list <path> # List patterns in file
|
|
175
|
+
flow-weaver pattern apply <pat> <tgt> # Apply pattern to workflow
|
|
176
|
+
flow-weaver pattern extract <source> # Extract pattern from nodes
|
|
177
|
+
flow-weaver migrate <glob> # Migrate to current syntax
|
|
178
|
+
--dry-run # Preview changes
|
|
179
|
+
--diff # Show changes
|
|
180
|
+
flow-weaver changelog # Generate changelog from git
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### IDE Integration
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
flow-weaver mcp-server # Start MCP server for Claude Code
|
|
187
|
+
flow-weaver listen # Stream editor events (JSON lines)
|
|
188
|
+
flow-weaver plugin init <name> # Scaffold external plugin
|
|
189
|
+
flow-weaver ui focus-node <id> # Focus node in editor
|
|
190
|
+
flow-weaver ui add-node <type> # Add node to editor
|
|
191
|
+
flow-weaver ui open-workflow <path> # Open workflow file
|
|
192
|
+
flow-weaver ui get-state # Get editor state
|
|
193
|
+
flow-weaver ui batch <json> # Batch editor commands
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## STEP Port Architecture
|
|
197
|
+
|
|
198
|
+
All nodes follow this pattern:
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
function nodeName(
|
|
202
|
+
execute: boolean, // Control input
|
|
203
|
+
...inputs // Data inputs
|
|
204
|
+
): {
|
|
205
|
+
onSuccess: boolean; // Success control output
|
|
206
|
+
onFailure: boolean; // Failure control output
|
|
207
|
+
...outputs // Data outputs
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Expression nodes (`@expression`) skip the control flow boilerplate — inputs and outputs are inferred from the TypeScript signature.
|
|
212
|
+
|
|
213
|
+
## Annotations
|
|
214
|
+
|
|
215
|
+
### @flowWeaver nodeType
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
/**
|
|
219
|
+
* @flowWeaver nodeType
|
|
220
|
+
* @input value
|
|
221
|
+
* @output result
|
|
222
|
+
* @label Double
|
|
223
|
+
* @pullExecution execute
|
|
224
|
+
*/
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### @flowWeaver workflow
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
/**
|
|
231
|
+
* @flowWeaver workflow
|
|
232
|
+
* @node instance1 nodeType
|
|
233
|
+
* @connect Start.input -> instance1.value
|
|
234
|
+
* @connect instance1.result -> Exit.output
|
|
235
|
+
* @path Start -> n1 -> n2 -> Exit
|
|
236
|
+
* @path n1:fail -> errorHandler -> Exit
|
|
237
|
+
*/
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Deployment
|
|
241
|
+
|
|
242
|
+
### HTTP Server
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
flow-weaver serve ./workflows --swagger --port 3000
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Serves all workflows as HTTP endpoints with optional Swagger UI at `/docs`.
|
|
249
|
+
|
|
250
|
+
### Serverless Export
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# AWS Lambda (generates SAM template + handler)
|
|
254
|
+
flow-weaver export workflow.ts --target lambda --output deploy/
|
|
255
|
+
|
|
256
|
+
# Vercel (generates api/ handler + vercel.json)
|
|
257
|
+
flow-weaver export workflow.ts --target vercel --output deploy/
|
|
258
|
+
|
|
259
|
+
# Cloudflare Workers (generates worker + wrangler.toml)
|
|
260
|
+
flow-weaver export workflow.ts --target cloudflare --output deploy/
|
|
261
|
+
|
|
262
|
+
# Multi-workflow service with OpenAPI docs
|
|
263
|
+
flow-weaver export workflow.ts --target vercel --multi --docs --output deploy/
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## MCP Integration
|
|
267
|
+
|
|
268
|
+
Start the MCP server for use with Claude Code:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
npx flow-weaver mcp-server
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
30+ tools across five categories:
|
|
275
|
+
- **Editor** (13): check events, get state, focus/add/remove nodes, connect, batch, execute, undo/redo
|
|
276
|
+
- **Query** (6): describe, validate, compile, diff, query (10 query types), doctor
|
|
277
|
+
- **Template** (2): list templates, scaffold
|
|
278
|
+
- **Pattern** (7): list/apply/extract patterns, find workflows, modify, modify batch, migrate
|
|
279
|
+
- **Export** (1): export to serverless targets
|
|
280
|
+
|
|
281
|
+
## API Documentation
|
|
282
|
+
|
|
283
|
+
Generate TypeDoc API reference:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
npm run docs
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Output is in `docs/api/`. Covers all public APIs with parameters, return types, and examples.
|
|
290
|
+
|
|
291
|
+
## Testing
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
npm test # Run all tests
|
|
295
|
+
npm run test:watch # Watch mode
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## Development
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
npm run build # Build
|
|
302
|
+
npm run dev # Watch mode
|
|
303
|
+
npm run typecheck # Type check
|
|
304
|
+
npm run docs # Generate API docs
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## License
|
|
308
|
+
|
|
309
|
+
Custom license based on the Elastic License 2.0. See [LICENSE](./LICENSE) for full terms.
|
|
310
|
+
|
|
311
|
+
- **Free to use** — any individual or organization can install, run, and compile workflows
|
|
312
|
+
- **Free to host internally** for organizations with 15 or fewer people
|
|
313
|
+
- **Commercial license required** to host internally for organizations with more than 15 people — contact support@synergenius.pt
|
|
314
|
+
- **External hosting prohibited** — cannot be provided as a hosted/managed service to third parties without a commercial license
|
|
315
|
+
- **Output is unrestricted** — compiled workflows, generated code, and deployment artifacts are yours
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { TNodeInstanceAST, TPortDefinition, TWorkflowAST } from "./ast/index.js";
|
|
2
|
+
export interface GenerateAnnotationsOptions {
|
|
3
|
+
includeComments?: boolean;
|
|
4
|
+
includeMetadata?: boolean;
|
|
5
|
+
indentSize?: number;
|
|
6
|
+
skipParamReturns?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class AnnotationGenerator {
|
|
9
|
+
generate(workflow: TWorkflowAST, options?: GenerateAnnotationsOptions): string;
|
|
10
|
+
private generateNodeTypeAnnotation;
|
|
11
|
+
private generateJSDocPortTag;
|
|
12
|
+
private generateTPortDefinition;
|
|
13
|
+
private generateFunctionSignature;
|
|
14
|
+
private generateWorkflowAnnotation;
|
|
15
|
+
private generateWorkflowFunctionSignature;
|
|
16
|
+
private assignPortOrders;
|
|
17
|
+
private mapDataTypeToTS;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generate JSDoc port tag (e.g., @input name - Description)
|
|
21
|
+
* Exported for reuse in generate-in-place.ts to maintain DRY principle
|
|
22
|
+
*
|
|
23
|
+
* New format (types derived from signature):
|
|
24
|
+
* - @input name - Description
|
|
25
|
+
* - @output name - Description
|
|
26
|
+
* - @step name - Description (for explicit STEP/control-flow ports)
|
|
27
|
+
*
|
|
28
|
+
* Reserved STEP ports (execute, onSuccess, onFailure) use @input/@output.
|
|
29
|
+
* Custom STEP ports use @step.
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateJSDocPortTag(name: string, port: TPortDefinition, direction: 'input' | 'output', _implicitOrder?: number): string;
|
|
32
|
+
/**
|
|
33
|
+
* Simply return ports as-is to preserve exact order from the AST
|
|
34
|
+
* Don't compute or add any new metadata - only preserve what's already there
|
|
35
|
+
* This ensures perfect round-trip fidelity
|
|
36
|
+
* Exported for reuse in generate-in-place.ts to maintain DRY principle
|
|
37
|
+
*/
|
|
38
|
+
export declare function assignPortOrders(ports: [string, TPortDefinition][], _direction: 'input' | 'output'): [string, TPortDefinition][];
|
|
39
|
+
/**
|
|
40
|
+
* Generate @node tag for a single instance
|
|
41
|
+
* Exported for reuse in generate-in-place.ts to maintain DRY principle
|
|
42
|
+
*/
|
|
43
|
+
export declare function generateNodeInstanceTag(instance: TNodeInstanceAST): string;
|
|
44
|
+
export declare const annotationGenerator: AnnotationGenerator;
|
|
45
|
+
//# sourceMappingURL=annotation-generator.d.ts.map
|