@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,16 @@
|
|
|
1
|
+
import type { TWorkflowAST } from '../ast/types.js';
|
|
2
|
+
import type { DiagramOptions } from './types.js';
|
|
3
|
+
export type { DiagramOptions } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Render a workflow AST to an SVG string.
|
|
6
|
+
*/
|
|
7
|
+
export declare function workflowToSVG(ast: TWorkflowAST, options?: DiagramOptions): string;
|
|
8
|
+
/**
|
|
9
|
+
* Parse TypeScript source code and render the first (or named) workflow to SVG.
|
|
10
|
+
*/
|
|
11
|
+
export declare function sourceToSVG(code: string, options?: DiagramOptions): string;
|
|
12
|
+
/**
|
|
13
|
+
* Parse a workflow file (resolves imports) and render the first (or named) workflow to SVG.
|
|
14
|
+
*/
|
|
15
|
+
export declare function fileToSVG(filePath: string, options?: DiagramOptions): string;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { parser } from '../parser.js';
|
|
2
|
+
import { buildDiagramGraph } from './geometry.js';
|
|
3
|
+
import { renderSVG } from './renderer.js';
|
|
4
|
+
/**
|
|
5
|
+
* Render a workflow AST to an SVG string.
|
|
6
|
+
*/
|
|
7
|
+
export function workflowToSVG(ast, options = {}) {
|
|
8
|
+
const graph = buildDiagramGraph(ast, options);
|
|
9
|
+
return renderSVG(graph, options);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Parse TypeScript source code and render the first (or named) workflow to SVG.
|
|
13
|
+
*/
|
|
14
|
+
export function sourceToSVG(code, options = {}) {
|
|
15
|
+
const result = parser.parseFromString(code);
|
|
16
|
+
return pickAndRender(result.workflows, options);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Parse a workflow file (resolves imports) and render the first (or named) workflow to SVG.
|
|
20
|
+
*/
|
|
21
|
+
export function fileToSVG(filePath, options = {}) {
|
|
22
|
+
const result = parser.parse(filePath);
|
|
23
|
+
return pickAndRender(result.workflows, options);
|
|
24
|
+
}
|
|
25
|
+
function pickAndRender(workflows, options) {
|
|
26
|
+
if (workflows.length === 0) {
|
|
27
|
+
throw new Error('No workflows found in source code');
|
|
28
|
+
}
|
|
29
|
+
let workflow;
|
|
30
|
+
if (options.workflowName) {
|
|
31
|
+
const found = workflows.find(w => w.name === options.workflowName);
|
|
32
|
+
if (!found) {
|
|
33
|
+
throw new Error(`Workflow "${options.workflowName}" not found. Available: ${workflows.map(w => w.name).join(', ')}`);
|
|
34
|
+
}
|
|
35
|
+
workflow = found;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
workflow = workflows[0];
|
|
39
|
+
}
|
|
40
|
+
return workflowToSVG(workflow, options);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TWorkflowAST } from '../ast/types.js';
|
|
2
|
+
export interface LayoutResult {
|
|
3
|
+
layers: string[][];
|
|
4
|
+
nodeLayer: Map<string, number>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Layered graph layout using Kahn's longest-path BFS + barycenter crossing minimization.
|
|
8
|
+
* Filters out scoped connections and scoped child nodes.
|
|
9
|
+
*/
|
|
10
|
+
export declare function layoutWorkflow(ast: TWorkflowAST): LayoutResult;
|
|
11
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { isExitNode } from '../constants.js';
|
|
2
|
+
/**
|
|
3
|
+
* Layered graph layout using Kahn's longest-path BFS + barycenter crossing minimization.
|
|
4
|
+
* Filters out scoped connections and scoped child nodes.
|
|
5
|
+
*/
|
|
6
|
+
export function layoutWorkflow(ast) {
|
|
7
|
+
// Collect all node IDs (Start, Exit, and non-scoped instances)
|
|
8
|
+
const nodeIds = new Set();
|
|
9
|
+
nodeIds.add('Start');
|
|
10
|
+
nodeIds.add('Exit');
|
|
11
|
+
// Track scoped child nodes to exclude
|
|
12
|
+
const scopedChildren = new Set();
|
|
13
|
+
if (ast.scopes) {
|
|
14
|
+
for (const children of Object.values(ast.scopes)) {
|
|
15
|
+
for (const child of children) {
|
|
16
|
+
scopedChildren.add(child);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const inst of ast.instances) {
|
|
21
|
+
if (!scopedChildren.has(inst.id)) {
|
|
22
|
+
nodeIds.add(inst.id);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Build adjacency (filter scoped connections)
|
|
26
|
+
const forward = new Map();
|
|
27
|
+
const backward = new Map();
|
|
28
|
+
for (const id of nodeIds) {
|
|
29
|
+
forward.set(id, new Set());
|
|
30
|
+
backward.set(id, new Set());
|
|
31
|
+
}
|
|
32
|
+
for (const conn of ast.connections) {
|
|
33
|
+
// Skip scoped connections
|
|
34
|
+
if (conn.from.scope || conn.to.scope)
|
|
35
|
+
continue;
|
|
36
|
+
const from = conn.from.node;
|
|
37
|
+
const to = conn.to.node;
|
|
38
|
+
if (!nodeIds.has(from) || !nodeIds.has(to))
|
|
39
|
+
continue;
|
|
40
|
+
forward.get(from).add(to);
|
|
41
|
+
backward.get(to).add(from);
|
|
42
|
+
}
|
|
43
|
+
// Kahn's longest-path layer assignment (BFS from Start)
|
|
44
|
+
const nodeLayer = new Map();
|
|
45
|
+
const inDegree = new Map();
|
|
46
|
+
for (const id of nodeIds) {
|
|
47
|
+
inDegree.set(id, backward.get(id).size);
|
|
48
|
+
}
|
|
49
|
+
const queue = [];
|
|
50
|
+
for (const id of nodeIds) {
|
|
51
|
+
if (inDegree.get(id) === 0) {
|
|
52
|
+
queue.push(id);
|
|
53
|
+
nodeLayer.set(id, 0);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Force Start at layer 0 even if it has incoming edges (shouldn't, but be safe)
|
|
57
|
+
if (!nodeLayer.has('Start')) {
|
|
58
|
+
nodeLayer.set('Start', 0);
|
|
59
|
+
queue.push('Start');
|
|
60
|
+
}
|
|
61
|
+
let head = 0;
|
|
62
|
+
while (head < queue.length) {
|
|
63
|
+
const node = queue[head++];
|
|
64
|
+
const layer = nodeLayer.get(node);
|
|
65
|
+
for (const next of forward.get(node)) {
|
|
66
|
+
const candidate = layer + 1;
|
|
67
|
+
if (!nodeLayer.has(next) || nodeLayer.get(next) < candidate) {
|
|
68
|
+
nodeLayer.set(next, candidate);
|
|
69
|
+
}
|
|
70
|
+
inDegree.set(next, inDegree.get(next) - 1);
|
|
71
|
+
if (inDegree.get(next) === 0) {
|
|
72
|
+
queue.push(next);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Handle disconnected nodes - assign to layer 1 (after Start)
|
|
77
|
+
for (const id of nodeIds) {
|
|
78
|
+
if (!nodeLayer.has(id)) {
|
|
79
|
+
nodeLayer.set(id, 1);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Force Exit to last layer
|
|
83
|
+
let maxLayer = 0;
|
|
84
|
+
for (const [id, layer] of nodeLayer) {
|
|
85
|
+
if (!isExitNode(id) && layer > maxLayer) {
|
|
86
|
+
maxLayer = layer;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
nodeLayer.set('Exit', maxLayer + 1);
|
|
90
|
+
// Build layers array
|
|
91
|
+
const layerCount = nodeLayer.get('Exit') + 1;
|
|
92
|
+
const layers = Array.from({ length: layerCount }, () => []);
|
|
93
|
+
for (const [id, layer] of nodeLayer) {
|
|
94
|
+
layers[layer].push(id);
|
|
95
|
+
}
|
|
96
|
+
// Barycenter heuristic for crossing minimization (4 sweeps)
|
|
97
|
+
for (let sweep = 0; sweep < 4; sweep++) {
|
|
98
|
+
if (sweep % 2 === 0) {
|
|
99
|
+
// Forward sweep
|
|
100
|
+
for (let l = 1; l < layerCount; l++) {
|
|
101
|
+
sortLayerByBarycenter(layers[l], layers[l - 1], backward, forward);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// Backward sweep
|
|
106
|
+
for (let l = layerCount - 2; l >= 0; l--) {
|
|
107
|
+
sortLayerByBarycenter(layers[l], layers[l + 1], forward, backward);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return { layers, nodeLayer };
|
|
112
|
+
}
|
|
113
|
+
function sortLayerByBarycenter(layer, referenceLayer, _adjacencyToRef, _adjacencyFromRef) {
|
|
114
|
+
const refPositions = new Map();
|
|
115
|
+
referenceLayer.forEach((id, i) => refPositions.set(id, i));
|
|
116
|
+
const barycenters = new Map();
|
|
117
|
+
for (const nodeId of layer) {
|
|
118
|
+
// Get neighbors in the reference layer
|
|
119
|
+
const neighbors = [];
|
|
120
|
+
const fwd = _adjacencyToRef.get(nodeId);
|
|
121
|
+
const bwd = _adjacencyFromRef.get(nodeId);
|
|
122
|
+
if (fwd) {
|
|
123
|
+
for (const n of fwd) {
|
|
124
|
+
if (refPositions.has(n))
|
|
125
|
+
neighbors.push(refPositions.get(n));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (bwd) {
|
|
129
|
+
for (const n of bwd) {
|
|
130
|
+
if (refPositions.has(n))
|
|
131
|
+
neighbors.push(refPositions.get(n));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (neighbors.length > 0) {
|
|
135
|
+
barycenters.set(nodeId, neighbors.reduce((a, b) => a + b, 0) / neighbors.length);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
barycenters.set(nodeId, Infinity);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
layer.sort((a, b) => barycenters.get(a) - barycenters.get(b));
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orthogonal connection router for SVG diagram rendering.
|
|
3
|
+
*
|
|
4
|
+
* Ported from the original React-based editor's orthogonalRouter.ts.
|
|
5
|
+
* Removed gl-matrix dependency — uses plain [number, number] tuples.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - L-shape and S-shape routing with rounded corners
|
|
9
|
+
* - Node collision avoidance via inflated bounding boxes
|
|
10
|
+
* - Track allocator prevents parallel connections from overlapping
|
|
11
|
+
* - Crossing minimization (evaluates up to 11 candidates per allocation)
|
|
12
|
+
* - Per-port-index stub spacing
|
|
13
|
+
* - Waypoint simplification (collinear removal, jog collapse)
|
|
14
|
+
* - Backward/self connection escape routing
|
|
15
|
+
*/
|
|
16
|
+
export interface NodeBox {
|
|
17
|
+
id: string;
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
}
|
|
23
|
+
export interface OrthogonalRouteOptions {
|
|
24
|
+
cornerRadius?: number;
|
|
25
|
+
padding?: number;
|
|
26
|
+
stubLength?: number;
|
|
27
|
+
stubSpacing?: number;
|
|
28
|
+
maxStubLength?: number;
|
|
29
|
+
fromPortIndex?: number;
|
|
30
|
+
toPortIndex?: number;
|
|
31
|
+
}
|
|
32
|
+
type Vec2 = [number, number];
|
|
33
|
+
type InflatedBox = {
|
|
34
|
+
left: number;
|
|
35
|
+
right: number;
|
|
36
|
+
top: number;
|
|
37
|
+
bottom: number;
|
|
38
|
+
};
|
|
39
|
+
export declare class TrackAllocator {
|
|
40
|
+
private claims;
|
|
41
|
+
private verticalClaims;
|
|
42
|
+
/** Check if a Y value is too close to any claimed segment whose X range overlaps. */
|
|
43
|
+
private isOccupied;
|
|
44
|
+
/** Check if an X value is too close to any claimed vertical segment whose Y range overlaps. */
|
|
45
|
+
private isOccupiedVertical;
|
|
46
|
+
/** Check if a horizontal segment at Y passes through any inflated node box. */
|
|
47
|
+
private isBlockedByNode;
|
|
48
|
+
/** Check if a vertical segment at X passes through any inflated node box. */
|
|
49
|
+
private isBlockedByNodeVertical;
|
|
50
|
+
/** Count claimed vertical segments that a horizontal segment at Y would cross. */
|
|
51
|
+
countHorizontalCrossings(xMin: number, xMax: number, y: number): number;
|
|
52
|
+
/** Count claimed horizontal segments that a vertical segment at X would cross. */
|
|
53
|
+
countVerticalCrossings(yMin: number, yMax: number, x: number): number;
|
|
54
|
+
/**
|
|
55
|
+
* Find the nearest free Y to candidateY in the given X range, preferring fewer crossings.
|
|
56
|
+
* When nodeBoxes is provided, candidates inside inflated node boxes are rejected (hard constraint).
|
|
57
|
+
*/
|
|
58
|
+
findFreeY(xMin: number, xMax: number, candidateY: number, nodeBoxes?: InflatedBox[]): number;
|
|
59
|
+
/**
|
|
60
|
+
* Find the nearest free X to candidateX in the given Y range, preferring fewer crossings.
|
|
61
|
+
* When nodeBoxes is provided, candidates inside inflated node boxes are rejected (hard constraint).
|
|
62
|
+
*/
|
|
63
|
+
findFreeX(yMin: number, yMax: number, candidateX: number, nodeBoxes?: InflatedBox[]): number;
|
|
64
|
+
/** Claim a horizontal segment so later connections avoid it. */
|
|
65
|
+
claim(xMin: number, xMax: number, y: number): void;
|
|
66
|
+
/** Claim a vertical segment so later connections avoid it. */
|
|
67
|
+
claimVertical(yMin: number, yMax: number, x: number): void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Calculate an orthogonal SVG path between two ports.
|
|
71
|
+
* Returns null if the path should fall back to bezier (e.g. nearly aligned ports).
|
|
72
|
+
*/
|
|
73
|
+
export declare function calculateOrthogonalPath(from: Vec2, to: Vec2, nodeBoxes: NodeBox[], sourceNodeId: string, targetNodeId: string, options?: OrthogonalRouteOptions, allocator?: TrackAllocator): string | null;
|
|
74
|
+
/**
|
|
75
|
+
* Safe wrapper — returns null if routing fails, caller falls back to bezier.
|
|
76
|
+
*/
|
|
77
|
+
export declare function calculateOrthogonalPathSafe(from: Vec2, to: Vec2, nodeBoxes: NodeBox[], sourceNodeId: string, targetNodeId: string, options?: OrthogonalRouteOptions, allocator?: TrackAllocator): string | null;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=orthogonal-router.d.ts.map
|