@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
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FunctionLike interface
|
|
3
|
+
*
|
|
4
|
+
* Abstracts over FunctionDeclaration and arrow/function-expression variable
|
|
5
|
+
* declarations so the JSDoc parser and annotation parser can handle both
|
|
6
|
+
* syntactic forms uniformly.
|
|
7
|
+
*/
|
|
8
|
+
import { Node, SyntaxKind, VariableDeclarationKind, } from 'ts-morph';
|
|
9
|
+
function wrapFunctionDeclaration(fn) {
|
|
10
|
+
return {
|
|
11
|
+
getJsDocs: () => fn.getJsDocs(),
|
|
12
|
+
getName: () => fn.getName(),
|
|
13
|
+
isAsync: () => fn.isAsync(),
|
|
14
|
+
getParameters: () => fn.getParameters(),
|
|
15
|
+
getReturnType: () => fn.getReturnType(),
|
|
16
|
+
getStartLineNumber: (inc) => fn.getStartLineNumber(inc),
|
|
17
|
+
getText: (inc) => fn.getText(inc),
|
|
18
|
+
getSourceFile: () => fn.getSourceFile(),
|
|
19
|
+
getTypeResolutionNode: () => fn,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Scan a source file and return every function-like declaration that could
|
|
24
|
+
* carry @flowWeaver annotations:
|
|
25
|
+
*
|
|
26
|
+
* 1. Classic `function foo() {}` — FunctionDeclaration (existing)
|
|
27
|
+
* 2. `const foo = () => {}` — ArrowFunction assigned to variable
|
|
28
|
+
* 3. `const foo = function() {}` — FunctionExpression assigned to variable
|
|
29
|
+
*
|
|
30
|
+
* The returned list preserves source order.
|
|
31
|
+
*/
|
|
32
|
+
export function extractFunctionLikes(sourceFile) {
|
|
33
|
+
const results = [];
|
|
34
|
+
// 1. Regular function declarations — wrapped to satisfy getTypeResolutionNode()
|
|
35
|
+
for (const fn of sourceFile.getFunctions()) {
|
|
36
|
+
results.push(wrapFunctionDeclaration(fn));
|
|
37
|
+
}
|
|
38
|
+
// 2. Variable declarations with arrow/function expression initializers
|
|
39
|
+
for (const varDecl of sourceFile.getVariableDeclarations()) {
|
|
40
|
+
const initializer = varDecl.getInitializer();
|
|
41
|
+
if (!initializer)
|
|
42
|
+
continue;
|
|
43
|
+
const kind = initializer.getKind();
|
|
44
|
+
if (kind !== SyntaxKind.ArrowFunction && kind !== SyntaxKind.FunctionExpression)
|
|
45
|
+
continue;
|
|
46
|
+
const fnExpr = initializer;
|
|
47
|
+
// Walk up: VariableDeclaration -> VariableDeclarationList -> VariableStatement
|
|
48
|
+
const varDeclList = varDecl.getParent();
|
|
49
|
+
if (!Node.isVariableDeclarationList(varDeclList))
|
|
50
|
+
continue;
|
|
51
|
+
const varStatement = varDeclList.getParent();
|
|
52
|
+
if (!Node.isVariableStatement(varStatement))
|
|
53
|
+
continue;
|
|
54
|
+
// Determine declaration kind (const/let/var)
|
|
55
|
+
const declKindEnum = varDeclList.getDeclarationKind();
|
|
56
|
+
const declKind = declKindEnum === VariableDeclarationKind.Let
|
|
57
|
+
? 'let'
|
|
58
|
+
: declKindEnum === VariableDeclarationKind.Var
|
|
59
|
+
? 'var'
|
|
60
|
+
: 'const';
|
|
61
|
+
const adapter = {
|
|
62
|
+
getName: () => varDecl.getName(),
|
|
63
|
+
getJsDocs: () => varStatement.getJsDocs(),
|
|
64
|
+
isAsync: () => fnExpr.isAsync(),
|
|
65
|
+
getParameters: () => fnExpr.getParameters(),
|
|
66
|
+
getReturnType: () => fnExpr.getReturnType(),
|
|
67
|
+
getStartLineNumber: () => varStatement.getStartLineNumber(false),
|
|
68
|
+
getText: () => {
|
|
69
|
+
// Return the variable statement text without JSDoc (consistent with FunctionDeclaration.getText()).
|
|
70
|
+
// The parser code manually prepends JSDoc via getJsDocs().
|
|
71
|
+
return varStatement.getText(false);
|
|
72
|
+
},
|
|
73
|
+
getSourceFile: () => sourceFile,
|
|
74
|
+
getDeclarationKind: () => declKind,
|
|
75
|
+
getTypeResolutionNode: () => varDecl,
|
|
76
|
+
};
|
|
77
|
+
results.push(adapter);
|
|
78
|
+
}
|
|
79
|
+
// Sort by source position to preserve declaration order
|
|
80
|
+
results.sort((a, b) => a.getStartLineNumber(false) - b.getStartLineNumber(false));
|
|
81
|
+
return results;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=function-like.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configurable branding for generated output.
|
|
3
|
+
*
|
|
4
|
+
* The library ships with generic defaults. The root project (app/CLI)
|
|
5
|
+
* calls {@link configureGeneratedBranding} at startup to inject
|
|
6
|
+
* organisation-specific values (URLs, attribution text, etc.).
|
|
7
|
+
*/
|
|
8
|
+
export interface GeneratedBranding {
|
|
9
|
+
/** Single-line comment placed at the top of generated code files */
|
|
10
|
+
header: (command?: string) => string;
|
|
11
|
+
/** Markdown attribution line for generated documentation */
|
|
12
|
+
markdown: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function configureGeneratedBranding(branding: GeneratedBranding): void;
|
|
15
|
+
export declare function getGeneratedBranding(): GeneratedBranding;
|
|
16
|
+
//# sourceMappingURL=generated-branding.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configurable branding for generated output.
|
|
3
|
+
*
|
|
4
|
+
* The library ships with generic defaults. The root project (app/CLI)
|
|
5
|
+
* calls {@link configureGeneratedBranding} at startup to inject
|
|
6
|
+
* organisation-specific values (URLs, attribution text, etc.).
|
|
7
|
+
*/
|
|
8
|
+
const WEBSITE_URL = 'https://flowweaver.ai';
|
|
9
|
+
const DEFAULT = {
|
|
10
|
+
header: (cmd) => cmd
|
|
11
|
+
? `// Generated by Flow Weaver (${WEBSITE_URL}) — ${cmd}`
|
|
12
|
+
: `// Generated by Flow Weaver (${WEBSITE_URL})`,
|
|
13
|
+
markdown: `*Generated by [Flow Weaver](${WEBSITE_URL})*`,
|
|
14
|
+
};
|
|
15
|
+
let _branding = DEFAULT;
|
|
16
|
+
export function configureGeneratedBranding(branding) {
|
|
17
|
+
_branding = branding;
|
|
18
|
+
}
|
|
19
|
+
export function getGeneratedBranding() {
|
|
20
|
+
return _branding;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=generated-branding.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async Detection Logic
|
|
3
|
+
* Determines whether a workflow should be generated as async based on node composition
|
|
4
|
+
*/
|
|
5
|
+
import { TWorkflowAST, TNodeTypeAST } from "../ast/types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Determines if a workflow should be async based on its node composition
|
|
8
|
+
* Rule: Workflow is async if ANY node in its execution graph is async
|
|
9
|
+
*
|
|
10
|
+
* @param workflow - The workflow AST
|
|
11
|
+
* @param nodeTypes - Available node types
|
|
12
|
+
* @returns true if any node in the workflow is async, false otherwise
|
|
13
|
+
*/
|
|
14
|
+
export declare function shouldWorkflowBeAsync(workflow: TWorkflowAST, nodeTypes: TNodeTypeAST[]): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Validates workflow async mode and returns final decision with optional warning
|
|
17
|
+
* Respects user's intent but ensures correctness
|
|
18
|
+
*
|
|
19
|
+
* @param workflow - The workflow AST
|
|
20
|
+
* @param nodeTypes - Available node types
|
|
21
|
+
* @returns Object with shouldBeAsync decision and optional warning
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateWorkflowAsync(workflow: TWorkflowAST, nodeTypes: TNodeTypeAST[]): {
|
|
24
|
+
shouldBeAsync: boolean;
|
|
25
|
+
warning?: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=async-detection.d.ts.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async Detection Logic
|
|
3
|
+
* Determines whether a workflow should be generated as async based on node composition
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Determines if a workflow should be async based on its node composition
|
|
7
|
+
* Rule: Workflow is async if ANY node in its execution graph is async
|
|
8
|
+
*
|
|
9
|
+
* @param workflow - The workflow AST
|
|
10
|
+
* @param nodeTypes - Available node types
|
|
11
|
+
* @returns true if any node in the workflow is async, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
export function shouldWorkflowBeAsync(workflow, nodeTypes) {
|
|
14
|
+
// Build map of node type name -> isAsync
|
|
15
|
+
// Map both nt.name and nt.functionName to support npm nodes where instance.nodeType uses nt.name
|
|
16
|
+
const nodeTypeMap = new Map();
|
|
17
|
+
for (const nt of nodeTypes) {
|
|
18
|
+
nodeTypeMap.set(nt.name, nt.isAsync);
|
|
19
|
+
if (nt.functionName && nt.functionName !== nt.name) {
|
|
20
|
+
nodeTypeMap.set(nt.functionName, nt.isAsync);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Check if ANY instance uses an async node type
|
|
24
|
+
for (const instance of workflow.instances) {
|
|
25
|
+
const isAsync = nodeTypeMap.get(instance.nodeType);
|
|
26
|
+
if (isAsync === true) {
|
|
27
|
+
return true; // Found an async node
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return false; // All nodes are sync (or no nodes)
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validates workflow async mode and returns final decision with optional warning
|
|
34
|
+
* Respects user's intent but ensures correctness
|
|
35
|
+
*
|
|
36
|
+
* @param workflow - The workflow AST
|
|
37
|
+
* @param nodeTypes - Available node types
|
|
38
|
+
* @returns Object with shouldBeAsync decision and optional warning
|
|
39
|
+
*/
|
|
40
|
+
export function validateWorkflowAsync(workflow, nodeTypes) {
|
|
41
|
+
const computedAsync = shouldWorkflowBeAsync(workflow, nodeTypes);
|
|
42
|
+
const userAsync = workflow.userSpecifiedAsync ?? true; // Default to async for backwards compat
|
|
43
|
+
if (!userAsync && computedAsync) {
|
|
44
|
+
// User wrote sync function, but workflow contains async nodes
|
|
45
|
+
return {
|
|
46
|
+
shouldBeAsync: true, // Force async for correctness
|
|
47
|
+
warning: `Workflow function '${workflow.functionName}' was declared as sync, but contains async nodes. Generating as async function.`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Either:
|
|
51
|
+
// - User wrote async and nodes are async (correct)
|
|
52
|
+
// - User wrote async and nodes are sync (honor user's choice, slight overhead but safe)
|
|
53
|
+
// - User wrote sync and nodes are sync (correct)
|
|
54
|
+
return { shouldBeAsync: computedAsync || userAsync };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=async-detection.js.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { TNodeTypeAST, TWorkflowAST, TMergeStrategy } from '../ast/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Sanitize a node ID to be a valid JavaScript identifier.
|
|
4
|
+
* Replaces non-alphanumeric characters (except _ and $) with underscores.
|
|
5
|
+
*
|
|
6
|
+
* @param nodeId - The node ID (may contain slashes, etc.)
|
|
7
|
+
* @returns A valid JavaScript identifier
|
|
8
|
+
*/
|
|
9
|
+
export declare function toValidIdentifier(nodeId: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Build a JavaScript expression that merges multiple source values based on strategy.
|
|
12
|
+
*
|
|
13
|
+
* @param sources - Array of source variable names
|
|
14
|
+
* @param strategy - Merge strategy to apply
|
|
15
|
+
* @returns JavaScript expression string
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildMergeExpression(sources: string[], strategy: TMergeStrategy): string;
|
|
18
|
+
export type TBuildNodeArgsOptions = {
|
|
19
|
+
node: TNodeTypeAST;
|
|
20
|
+
workflow: TWorkflowAST;
|
|
21
|
+
id: string;
|
|
22
|
+
lines: string[];
|
|
23
|
+
indent?: string;
|
|
24
|
+
getCall?: string;
|
|
25
|
+
isAsync?: boolean;
|
|
26
|
+
instanceParent?: string;
|
|
27
|
+
skipPorts?: Set<string>;
|
|
28
|
+
emitInputEvents?: boolean;
|
|
29
|
+
setCall?: string;
|
|
30
|
+
nodeTypeName?: string;
|
|
31
|
+
bundleMode?: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Builds the argument list for a node function call by resolving input port values.
|
|
35
|
+
*
|
|
36
|
+
* This function is central to code generation - it determines where each input port
|
|
37
|
+
* gets its value from: connections, expressions, defaults, or execution strategies.
|
|
38
|
+
*
|
|
39
|
+
* ## Resolution Priority (per port):
|
|
40
|
+
* 1. **Skip Ports**: If port is in skipPorts set, use pre-declared variable
|
|
41
|
+
* 2. **Instance Expression**: Check instance.config.portConfigs for evaluateConstantAs
|
|
42
|
+
* 3. **Connection**: Get value from connected output port via ctx.getVariable()
|
|
43
|
+
* 4. **Node Type Expression**: Check nodeType.inputs[port].expression
|
|
44
|
+
* 5. **Default Value**: Use nodeType.inputs[port].default if available
|
|
45
|
+
* 6. **Undefined**: No value source found (may cause runtime error)
|
|
46
|
+
*
|
|
47
|
+
* ## Special Handling:
|
|
48
|
+
* - **execute port**: Always first, handles CONJUNCTION/DISJUNCTION strategies
|
|
49
|
+
* - **Scoped INPUT ports**: Skipped (they're return values from scope functions)
|
|
50
|
+
* - **STEP ports (onSuccess/onFailure)**: Use executionSignal config if present
|
|
51
|
+
* - **Scope functions**: Generated via generateScopeFunctionClosure() for FUNCTION ports
|
|
52
|
+
*
|
|
53
|
+
* ## STEP Port Execution Strategies:
|
|
54
|
+
* - **CONJUNCTION (AND)**: `execute = stepA && stepB && stepC`
|
|
55
|
+
* - **DISJUNCTION (OR)**: `execute = stepA || stepB || stepC`
|
|
56
|
+
* - **CUSTOM**: Uses evaluateExecutionSignalAs expression
|
|
57
|
+
*
|
|
58
|
+
* @param opts - Configuration object with node, workflow, and generation settings
|
|
59
|
+
* @param opts.node - The node type definition with input/output port specs
|
|
60
|
+
* @param opts.workflow - The workflow AST containing connections and instances
|
|
61
|
+
* @param opts.id - The node instance ID being generated
|
|
62
|
+
* @param opts.lines - Array to push generated code lines into
|
|
63
|
+
* @param opts.indent - Indentation prefix for generated lines (default: " ")
|
|
64
|
+
* @param opts.getCall - Method to get variables (default: "await ctx.getVariable")
|
|
65
|
+
* @param opts.isAsync - Whether generating async code
|
|
66
|
+
* @param opts.instanceParent - Parent node ID if this node is in a scope
|
|
67
|
+
* @param opts.skipPorts - Ports to skip (already pre-handled)
|
|
68
|
+
* @param opts.emitInputEvents - Whether to emit VARIABLE_SET events for inputs
|
|
69
|
+
* @param opts.setCall - Method to set variables (default: "await ctx.setVariable")
|
|
70
|
+
* @param opts.nodeTypeName - Override for node type name in events
|
|
71
|
+
* @returns Array of argument expressions to pass to the node function
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildNodeArgumentsWithContext(opts: TBuildNodeArgsOptions): string[];
|
|
74
|
+
export declare function generateNodeWithExecutionContext(node: TNodeTypeAST, workflow: TWorkflowAST, lines: string[], isAsync: boolean, indent?: string): void;
|
|
75
|
+
export declare function buildExecutionContextReturnForBranch(workflow: TWorkflowAST, lines: string[], isAsync: boolean, branchName: string, indent: string, executedNodes: string[]): string;
|
|
76
|
+
//# sourceMappingURL=code-utils.d.ts.map
|