@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,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow registry for discovering and managing workflow endpoints
|
|
3
|
+
*/
|
|
4
|
+
import type { WorkflowEndpoint } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Registry that discovers, caches, and manages workflow endpoints
|
|
7
|
+
*/
|
|
8
|
+
export declare class WorkflowRegistry {
|
|
9
|
+
private workflowDir;
|
|
10
|
+
private options;
|
|
11
|
+
private endpoints;
|
|
12
|
+
private watcher;
|
|
13
|
+
private debounceTimers;
|
|
14
|
+
private parser;
|
|
15
|
+
private startTime;
|
|
16
|
+
constructor(workflowDir: string, options?: {
|
|
17
|
+
precompile?: boolean;
|
|
18
|
+
production?: boolean;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Initialize the registry by discovering all workflows
|
|
22
|
+
*/
|
|
23
|
+
initialize(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Discover all workflow files in the configured directory
|
|
26
|
+
*/
|
|
27
|
+
discoverWorkflows(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Extract JSON Schema for workflow input ports
|
|
30
|
+
*/
|
|
31
|
+
private extractInputSchema;
|
|
32
|
+
/**
|
|
33
|
+
* Extract JSON Schema for workflow output ports
|
|
34
|
+
*/
|
|
35
|
+
private extractOutputSchema;
|
|
36
|
+
/**
|
|
37
|
+
* Convert Flow Weaver data type to JSON Schema type
|
|
38
|
+
*/
|
|
39
|
+
private dataTypeToJsonSchema;
|
|
40
|
+
/**
|
|
41
|
+
* Get a specific endpoint by workflow name
|
|
42
|
+
*/
|
|
43
|
+
getEndpoint(name: string): WorkflowEndpoint | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Get all registered endpoints
|
|
46
|
+
*/
|
|
47
|
+
getAllEndpoints(): WorkflowEndpoint[];
|
|
48
|
+
/**
|
|
49
|
+
* Get server uptime in seconds
|
|
50
|
+
*/
|
|
51
|
+
getUptime(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Start watching for file changes
|
|
54
|
+
*/
|
|
55
|
+
startWatching(onChange: () => void): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Stop watching for file changes
|
|
58
|
+
*/
|
|
59
|
+
stopWatching(): Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=workflow-registry.d.ts.map
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow registry for discovering and managing workflow endpoints
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import { glob } from 'glob';
|
|
6
|
+
import { AnnotationParser } from '../parser.js';
|
|
7
|
+
/**
|
|
8
|
+
* Registry that discovers, caches, and manages workflow endpoints
|
|
9
|
+
*/
|
|
10
|
+
export class WorkflowRegistry {
|
|
11
|
+
workflowDir;
|
|
12
|
+
options;
|
|
13
|
+
endpoints = new Map();
|
|
14
|
+
watcher = null;
|
|
15
|
+
debounceTimers = new Map();
|
|
16
|
+
parser = new AnnotationParser();
|
|
17
|
+
startTime = Date.now();
|
|
18
|
+
constructor(workflowDir, options = {}) {
|
|
19
|
+
this.workflowDir = workflowDir;
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Initialize the registry by discovering all workflows
|
|
24
|
+
*/
|
|
25
|
+
async initialize() {
|
|
26
|
+
await this.discoverWorkflows();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Discover all workflow files in the configured directory
|
|
30
|
+
*/
|
|
31
|
+
async discoverWorkflows() {
|
|
32
|
+
const files = await glob('**/*.ts', {
|
|
33
|
+
cwd: this.workflowDir,
|
|
34
|
+
absolute: true,
|
|
35
|
+
ignore: [
|
|
36
|
+
'**/*.generated.ts',
|
|
37
|
+
'**/node_modules/**',
|
|
38
|
+
'**/*.d.ts',
|
|
39
|
+
'**/*.test.ts',
|
|
40
|
+
'**/*.spec.ts',
|
|
41
|
+
],
|
|
42
|
+
});
|
|
43
|
+
this.endpoints.clear();
|
|
44
|
+
for (const file of files) {
|
|
45
|
+
try {
|
|
46
|
+
// Quick check for @flowWeaver annotation before parsing
|
|
47
|
+
const content = fs.readFileSync(file, 'utf8');
|
|
48
|
+
if (!content.includes('@flowWeaver')) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const result = this.parser.parse(file);
|
|
52
|
+
for (const workflow of result.workflows) {
|
|
53
|
+
const endpoint = {
|
|
54
|
+
name: workflow.name,
|
|
55
|
+
functionName: workflow.functionName,
|
|
56
|
+
filePath: file,
|
|
57
|
+
method: 'POST',
|
|
58
|
+
path: `/workflows/${workflow.name}`,
|
|
59
|
+
inputSchema: this.extractInputSchema(workflow),
|
|
60
|
+
outputSchema: this.extractOutputSchema(workflow),
|
|
61
|
+
description: workflow.description,
|
|
62
|
+
};
|
|
63
|
+
this.endpoints.set(workflow.name, endpoint);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Skip files that fail to parse - they may have syntax errors
|
|
68
|
+
// In a server context, we don't want one bad file to break everything
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Extract JSON Schema for workflow input ports
|
|
74
|
+
*/
|
|
75
|
+
extractInputSchema(workflow) {
|
|
76
|
+
const schema = {
|
|
77
|
+
type: 'object',
|
|
78
|
+
properties: {},
|
|
79
|
+
};
|
|
80
|
+
const required = [];
|
|
81
|
+
for (const [portName, port] of Object.entries(workflow.startPorts || {})) {
|
|
82
|
+
// Skip the execute port - it's internal
|
|
83
|
+
if (portName === 'execute')
|
|
84
|
+
continue;
|
|
85
|
+
schema.properties[portName] = {
|
|
86
|
+
type: this.dataTypeToJsonSchema(port.dataType),
|
|
87
|
+
...(port.label && { description: port.label }),
|
|
88
|
+
};
|
|
89
|
+
if (!port.optional) {
|
|
90
|
+
required.push(portName);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (required.length > 0) {
|
|
94
|
+
schema.required = required;
|
|
95
|
+
}
|
|
96
|
+
return schema;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Extract JSON Schema for workflow output ports
|
|
100
|
+
*/
|
|
101
|
+
extractOutputSchema(workflow) {
|
|
102
|
+
const schema = {
|
|
103
|
+
type: 'object',
|
|
104
|
+
properties: {},
|
|
105
|
+
};
|
|
106
|
+
for (const [portName, port] of Object.entries(workflow.exitPorts || {})) {
|
|
107
|
+
// Skip control flow ports
|
|
108
|
+
if (portName === 'onSuccess' || portName === 'onFailure')
|
|
109
|
+
continue;
|
|
110
|
+
schema.properties[portName] = {
|
|
111
|
+
type: this.dataTypeToJsonSchema(port.dataType),
|
|
112
|
+
...(port.label && { description: port.label }),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return schema;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Convert Flow Weaver data type to JSON Schema type
|
|
119
|
+
*/
|
|
120
|
+
dataTypeToJsonSchema(dataType) {
|
|
121
|
+
const mapping = {
|
|
122
|
+
STRING: 'string',
|
|
123
|
+
NUMBER: 'number',
|
|
124
|
+
BOOLEAN: 'boolean',
|
|
125
|
+
OBJECT: 'object',
|
|
126
|
+
ARRAY: 'array',
|
|
127
|
+
ANY: 'any',
|
|
128
|
+
STEP: 'boolean',
|
|
129
|
+
};
|
|
130
|
+
return mapping[dataType] || 'any';
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get a specific endpoint by workflow name
|
|
134
|
+
*/
|
|
135
|
+
getEndpoint(name) {
|
|
136
|
+
return this.endpoints.get(name);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get all registered endpoints
|
|
140
|
+
*/
|
|
141
|
+
getAllEndpoints() {
|
|
142
|
+
return Array.from(this.endpoints.values());
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get server uptime in seconds
|
|
146
|
+
*/
|
|
147
|
+
getUptime() {
|
|
148
|
+
return Math.floor((Date.now() - this.startTime) / 1000);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Start watching for file changes
|
|
152
|
+
*/
|
|
153
|
+
async startWatching(onChange) {
|
|
154
|
+
try {
|
|
155
|
+
const chokidar = await import('chokidar');
|
|
156
|
+
const watcher = chokidar.watch(this.workflowDir, {
|
|
157
|
+
persistent: true,
|
|
158
|
+
ignoreInitial: true,
|
|
159
|
+
ignored: ['**/*.generated.ts', '**/node_modules/**', '**/*.d.ts'],
|
|
160
|
+
awaitWriteFinish: {
|
|
161
|
+
stabilityThreshold: 300,
|
|
162
|
+
pollInterval: 100,
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
this.watcher = watcher;
|
|
166
|
+
watcher.on('all', (event, filePath) => {
|
|
167
|
+
if (!filePath.endsWith('.ts'))
|
|
168
|
+
return;
|
|
169
|
+
// Debounce changes to avoid rapid re-parsing
|
|
170
|
+
const existingTimer = this.debounceTimers.get(filePath);
|
|
171
|
+
if (existingTimer) {
|
|
172
|
+
clearTimeout(existingTimer);
|
|
173
|
+
}
|
|
174
|
+
const timer = setTimeout(async () => {
|
|
175
|
+
this.debounceTimers.delete(filePath);
|
|
176
|
+
await this.discoverWorkflows();
|
|
177
|
+
onChange();
|
|
178
|
+
}, 500);
|
|
179
|
+
this.debounceTimers.set(filePath, timer);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// File watching not available (chokidar not installed)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Stop watching for file changes
|
|
188
|
+
*/
|
|
189
|
+
async stopWatching() {
|
|
190
|
+
// Clear all pending timers
|
|
191
|
+
for (const timer of this.debounceTimers.values()) {
|
|
192
|
+
clearTimeout(timer);
|
|
193
|
+
}
|
|
194
|
+
this.debounceTimers.clear();
|
|
195
|
+
// Close watcher
|
|
196
|
+
if (this.watcher) {
|
|
197
|
+
await this.watcher.close();
|
|
198
|
+
this.watcher = null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=workflow-registry.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Project } from 'ts-morph';
|
|
2
|
+
export declare function getSharedProject(): Project;
|
|
3
|
+
/**
|
|
4
|
+
* Reset the shared project. Intended for test teardown or
|
|
5
|
+
* extreme memory-pressure scenarios. After calling this,
|
|
6
|
+
* the next getSharedProject() call will create a fresh instance.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resetSharedProject(): void;
|
|
9
|
+
//# sourceMappingURL=shared-project.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Project } from 'ts-morph';
|
|
2
|
+
// Consolidated singleton ts-morph Project.
|
|
3
|
+
// Creating a Project is expensive (~2-3s), so we reuse one across all consumers.
|
|
4
|
+
let sharedProject = null;
|
|
5
|
+
export function getSharedProject() {
|
|
6
|
+
if (!sharedProject) {
|
|
7
|
+
sharedProject = new Project({
|
|
8
|
+
skipFileDependencyResolution: true, // Parser handles imports manually — no need for ts-morph to resolve
|
|
9
|
+
compilerOptions: {
|
|
10
|
+
target: 99,
|
|
11
|
+
experimentalDecorators: true,
|
|
12
|
+
allowJs: true,
|
|
13
|
+
types: [], // Don't auto-load @types/* packages — saves Program creation time
|
|
14
|
+
skipLibCheck: true, // Skip diagnostic checking of .d.ts files
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return sharedProject;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reset the shared project. Intended for test teardown or
|
|
22
|
+
* extreme memory-pressure scenarios. After calling this,
|
|
23
|
+
* the next getSharedProject() call will create a fresh instance.
|
|
24
|
+
*/
|
|
25
|
+
export function resetSharedProject() {
|
|
26
|
+
sharedProject = null;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=shared-project.js.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sugar Optimizer - Auto-detect @path routes from connections.
|
|
3
|
+
*
|
|
4
|
+
* Analyzes control-flow connections and identifies routes through the graph
|
|
5
|
+
* that can be expressed as @path macros. @connect is the escape hatch for
|
|
6
|
+
* connections that @path can't cover.
|
|
7
|
+
*/
|
|
8
|
+
import type { TConnectionAST, TNodeInstanceAST, TNodeTypeAST, TWorkflowMacro, TPathMacro, TPortDefinition } from './ast/types.js';
|
|
9
|
+
export interface DetectedSugar {
|
|
10
|
+
paths: TPathMacro[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validate that a @path macro's control-flow connections still exist
|
|
14
|
+
* in the actual connection set. Also checks that all step nodes exist
|
|
15
|
+
* as instances (or are Start/Exit).
|
|
16
|
+
*
|
|
17
|
+
* Returns true if the path is still valid, false if it should be dropped.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validatePathMacro(path: TPathMacro, connections: TConnectionAST[], instances: TNodeInstanceAST[]): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Filter existing macros, removing any @path macros whose control-flow
|
|
22
|
+
* connections no longer exist in the connection set.
|
|
23
|
+
* Non-path macros are passed through unchanged.
|
|
24
|
+
*/
|
|
25
|
+
export declare function filterStaleMacros(macros: TWorkflowMacro[], connections: TConnectionAST[], instances: TNodeInstanceAST[]): TWorkflowMacro[];
|
|
26
|
+
/**
|
|
27
|
+
* Detect @path routes from a set of connections.
|
|
28
|
+
*
|
|
29
|
+
* Algorithm:
|
|
30
|
+
* 1. Build control-flow adjacency from unscoped connections
|
|
31
|
+
* 2. DFS from Start to enumerate all Start-to-Exit routes
|
|
32
|
+
* 3. Validate data connections for each candidate (scope walking safety)
|
|
33
|
+
* 4. Greedy route selection to cover all control-flow edges
|
|
34
|
+
*/
|
|
35
|
+
export declare function detectSugarPatterns(connections: TConnectionAST[], instances: TNodeInstanceAST[], existingMacros: TWorkflowMacro[], nodeTypes: TNodeTypeAST[], startPorts: Record<string, TPortDefinition>, exitPorts: Record<string, TPortDefinition>): DetectedSugar;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a connection is covered by detected sugar and should be omitted from @connect output.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isConnectionCoveredBySugar(conn: TConnectionAST, sugar: DetectedSugar): boolean;
|
|
40
|
+
//# sourceMappingURL=sugar-optimizer.d.ts.map
|