@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,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module chevrotain-parser/trigger-cancel-parser
|
|
3
|
+
*
|
|
4
|
+
* Shared Chevrotain parser for @trigger, @cancelOn, @retries, @timeout, @throttle annotations.
|
|
5
|
+
*/
|
|
6
|
+
import { CstParser } from 'chevrotain';
|
|
7
|
+
import { JSDocLexer, TriggerTag, CancelOnTag, RetriesTag, TimeoutTag, ThrottleTag, EventEq, CronEq, MatchEq, TimeoutEq, LimitEq, PeriodEq, StringLiteral, Integer, allTokens, } from './tokens.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Helpers
|
|
10
|
+
// =============================================================================
|
|
11
|
+
function stripQuotes(s) {
|
|
12
|
+
if (s.startsWith('"') && s.endsWith('"')) {
|
|
13
|
+
return s.slice(1, -1);
|
|
14
|
+
}
|
|
15
|
+
return s;
|
|
16
|
+
}
|
|
17
|
+
const CRON_REGEX = /^(\*|[0-9,\-\/]+)\s+(\*|[0-9,\-\/]+)\s+(\*|[0-9,\-\/]+)\s+(\*|[0-9,\-\/]+)\s+(\*|[0-9,\-\/]+)$/;
|
|
18
|
+
// =============================================================================
|
|
19
|
+
// Parser Definition
|
|
20
|
+
// =============================================================================
|
|
21
|
+
class TriggerCancelParser extends CstParser {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(allTokens);
|
|
24
|
+
this.performSelfAnalysis();
|
|
25
|
+
}
|
|
26
|
+
// @trigger event="agent/request" cron="0 9 * * *"
|
|
27
|
+
triggerLine = this.RULE('triggerLine', () => {
|
|
28
|
+
this.CONSUME(TriggerTag);
|
|
29
|
+
this.MANY(() => {
|
|
30
|
+
this.OR([
|
|
31
|
+
{ ALT: () => {
|
|
32
|
+
this.CONSUME(EventEq);
|
|
33
|
+
this.CONSUME(StringLiteral, { LABEL: 'eventValue' });
|
|
34
|
+
} },
|
|
35
|
+
{ ALT: () => {
|
|
36
|
+
this.CONSUME(CronEq);
|
|
37
|
+
this.CONSUME2(StringLiteral, { LABEL: 'cronValue' });
|
|
38
|
+
} },
|
|
39
|
+
]);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
// @cancelOn event="app/user.deleted" match="data.userId" timeout="1h"
|
|
43
|
+
cancelOnLine = this.RULE('cancelOnLine', () => {
|
|
44
|
+
this.CONSUME(CancelOnTag);
|
|
45
|
+
this.CONSUME(EventEq);
|
|
46
|
+
this.CONSUME(StringLiteral, { LABEL: 'eventValue' });
|
|
47
|
+
this.OPTION(() => {
|
|
48
|
+
this.CONSUME(MatchEq);
|
|
49
|
+
this.CONSUME2(StringLiteral, { LABEL: 'matchValue' });
|
|
50
|
+
});
|
|
51
|
+
this.OPTION2(() => {
|
|
52
|
+
this.CONSUME(TimeoutEq);
|
|
53
|
+
this.CONSUME3(StringLiteral, { LABEL: 'timeoutValue' });
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
// @retries 5
|
|
57
|
+
retriesLine = this.RULE('retriesLine', () => {
|
|
58
|
+
this.CONSUME(RetriesTag);
|
|
59
|
+
this.CONSUME(Integer, { LABEL: 'retriesValue' });
|
|
60
|
+
});
|
|
61
|
+
// @timeout "30m"
|
|
62
|
+
timeoutLine = this.RULE('timeoutLine', () => {
|
|
63
|
+
this.CONSUME(TimeoutTag);
|
|
64
|
+
this.CONSUME(StringLiteral, { LABEL: 'timeoutValue' });
|
|
65
|
+
});
|
|
66
|
+
// @throttle limit=3 period="1m"
|
|
67
|
+
throttleLine = this.RULE('throttleLine', () => {
|
|
68
|
+
this.CONSUME(ThrottleTag);
|
|
69
|
+
this.CONSUME(LimitEq);
|
|
70
|
+
this.CONSUME(Integer, { LABEL: 'limitValue' });
|
|
71
|
+
this.OPTION(() => {
|
|
72
|
+
this.CONSUME(PeriodEq);
|
|
73
|
+
this.CONSUME(StringLiteral, { LABEL: 'periodValue' });
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// Parser Instance (singleton)
|
|
79
|
+
// =============================================================================
|
|
80
|
+
const parserInstance = new TriggerCancelParser();
|
|
81
|
+
// =============================================================================
|
|
82
|
+
// CST Visitor
|
|
83
|
+
// =============================================================================
|
|
84
|
+
const BaseVisitor = parserInstance.getBaseCstVisitorConstructor();
|
|
85
|
+
class TriggerCancelVisitor extends BaseVisitor {
|
|
86
|
+
constructor() {
|
|
87
|
+
super();
|
|
88
|
+
this.validateVisitor();
|
|
89
|
+
}
|
|
90
|
+
triggerLine(ctx) {
|
|
91
|
+
const result = {};
|
|
92
|
+
if (ctx.eventValue?.[0]) {
|
|
93
|
+
result.event = stripQuotes(ctx.eventValue[0].image);
|
|
94
|
+
}
|
|
95
|
+
if (ctx.cronValue?.[0]) {
|
|
96
|
+
result.cron = stripQuotes(ctx.cronValue[0].image);
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
cancelOnLine(ctx) {
|
|
101
|
+
const result = {
|
|
102
|
+
event: stripQuotes(ctx.eventValue[0].image),
|
|
103
|
+
};
|
|
104
|
+
if (ctx.matchValue?.[0]) {
|
|
105
|
+
result.match = stripQuotes(ctx.matchValue[0].image);
|
|
106
|
+
}
|
|
107
|
+
if (ctx.timeoutValue?.[0]) {
|
|
108
|
+
result.timeout = stripQuotes(ctx.timeoutValue[0].image);
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
retriesLine(ctx) {
|
|
113
|
+
return { retries: parseInt(ctx.retriesValue[0].image, 10) };
|
|
114
|
+
}
|
|
115
|
+
timeoutLine(ctx) {
|
|
116
|
+
return { timeout: stripQuotes(ctx.timeoutValue[0].image) };
|
|
117
|
+
}
|
|
118
|
+
throttleLine(ctx) {
|
|
119
|
+
const result = {
|
|
120
|
+
limit: parseInt(ctx.limitValue[0].image, 10),
|
|
121
|
+
};
|
|
122
|
+
if (ctx.periodValue?.[0]) {
|
|
123
|
+
result.period = stripQuotes(ctx.periodValue[0].image);
|
|
124
|
+
}
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const visitorInstance = new TriggerCancelVisitor();
|
|
129
|
+
// =============================================================================
|
|
130
|
+
// Public API
|
|
131
|
+
// =============================================================================
|
|
132
|
+
/**
|
|
133
|
+
* Parse a @trigger line and return structured result.
|
|
134
|
+
* Returns null if the line is not a trigger declaration.
|
|
135
|
+
*/
|
|
136
|
+
export function parseTriggerLine(input, warnings) {
|
|
137
|
+
const lexResult = JSDocLexer.tokenize(input);
|
|
138
|
+
if (lexResult.errors.length > 0) {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
if (lexResult.tokens.length === 0) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
const firstToken = lexResult.tokens[0];
|
|
145
|
+
if (firstToken.tokenType !== TriggerTag) {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
parserInstance.input = lexResult.tokens;
|
|
149
|
+
const cst = parserInstance.triggerLine();
|
|
150
|
+
if (parserInstance.errors.length > 0) {
|
|
151
|
+
const firstError = parserInstance.errors[0];
|
|
152
|
+
const truncatedInput = input.length > 60 ? input.substring(0, 60) + '...' : input;
|
|
153
|
+
warnings.push(`Failed to parse trigger line: "${truncatedInput}"\n` +
|
|
154
|
+
` Error: ${firstError.message}\n` +
|
|
155
|
+
` Expected format: @trigger event="name" or @trigger cron="expr"`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const result = visitorInstance.visit(cst);
|
|
159
|
+
// Validate cron expression
|
|
160
|
+
if (result.cron && !CRON_REGEX.test(result.cron)) {
|
|
161
|
+
warnings.push(`Invalid cron expression: "${result.cron}". Expected 5 fields (minute hour day month weekday).`);
|
|
162
|
+
}
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Parse a @cancelOn line and return structured result.
|
|
167
|
+
* Returns null if the line is not a cancelOn declaration.
|
|
168
|
+
*/
|
|
169
|
+
export function parseCancelOnLine(input, warnings) {
|
|
170
|
+
const lexResult = JSDocLexer.tokenize(input);
|
|
171
|
+
if (lexResult.errors.length > 0) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
if (lexResult.tokens.length === 0) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
const firstToken = lexResult.tokens[0];
|
|
178
|
+
if (firstToken.tokenType !== CancelOnTag) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
parserInstance.input = lexResult.tokens;
|
|
182
|
+
const cst = parserInstance.cancelOnLine();
|
|
183
|
+
if (parserInstance.errors.length > 0) {
|
|
184
|
+
const firstError = parserInstance.errors[0];
|
|
185
|
+
const truncatedInput = input.length > 60 ? input.substring(0, 60) + '...' : input;
|
|
186
|
+
warnings.push(`Failed to parse cancelOn line: "${truncatedInput}"\n` +
|
|
187
|
+
` Error: ${firstError.message}\n` +
|
|
188
|
+
` Expected format: @cancelOn event="name" match="field" timeout="duration"`);
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
return visitorInstance.visit(cst);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Parse a @retries line and return structured result.
|
|
195
|
+
* Returns null if the line is not a retries declaration.
|
|
196
|
+
*/
|
|
197
|
+
export function parseRetriesLine(input, warnings) {
|
|
198
|
+
const lexResult = JSDocLexer.tokenize(input);
|
|
199
|
+
if (lexResult.errors.length > 0) {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
if (lexResult.tokens.length === 0) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
const firstToken = lexResult.tokens[0];
|
|
206
|
+
if (firstToken.tokenType !== RetriesTag) {
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
parserInstance.input = lexResult.tokens;
|
|
210
|
+
const cst = parserInstance.retriesLine();
|
|
211
|
+
if (parserInstance.errors.length > 0) {
|
|
212
|
+
const firstError = parserInstance.errors[0];
|
|
213
|
+
const truncatedInput = input.length > 60 ? input.substring(0, 60) + '...' : input;
|
|
214
|
+
warnings.push(`Failed to parse retries line: "${truncatedInput}"\n` +
|
|
215
|
+
` Error: ${firstError.message}\n` +
|
|
216
|
+
` Expected format: @retries <integer>`);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
const result = visitorInstance.visit(cst);
|
|
220
|
+
// Validate non-negative
|
|
221
|
+
if (result.retries < 0) {
|
|
222
|
+
warnings.push(`Invalid @retries value: ${result.retries}. Expected non-negative integer.`);
|
|
223
|
+
}
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Parse a @timeout line and return structured result.
|
|
228
|
+
* Returns null if the line is not a timeout declaration.
|
|
229
|
+
*/
|
|
230
|
+
export function parseTimeoutLine(input, warnings) {
|
|
231
|
+
const lexResult = JSDocLexer.tokenize(input);
|
|
232
|
+
if (lexResult.errors.length > 0) {
|
|
233
|
+
return null;
|
|
234
|
+
}
|
|
235
|
+
if (lexResult.tokens.length === 0) {
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
const firstToken = lexResult.tokens[0];
|
|
239
|
+
if (firstToken.tokenType !== TimeoutTag) {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
parserInstance.input = lexResult.tokens;
|
|
243
|
+
const cst = parserInstance.timeoutLine();
|
|
244
|
+
if (parserInstance.errors.length > 0) {
|
|
245
|
+
const firstError = parserInstance.errors[0];
|
|
246
|
+
const truncatedInput = input.length > 60 ? input.substring(0, 60) + '...' : input;
|
|
247
|
+
warnings.push(`Failed to parse timeout line: "${truncatedInput}"\n` +
|
|
248
|
+
` Error: ${firstError.message}\n` +
|
|
249
|
+
` Expected format: @timeout "duration"`);
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
return visitorInstance.visit(cst);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Parse a @throttle line and return structured result.
|
|
256
|
+
* Returns null if the line is not a throttle declaration.
|
|
257
|
+
*/
|
|
258
|
+
export function parseThrottleLine(input, warnings) {
|
|
259
|
+
const lexResult = JSDocLexer.tokenize(input);
|
|
260
|
+
if (lexResult.errors.length > 0) {
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
if (lexResult.tokens.length === 0) {
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
const firstToken = lexResult.tokens[0];
|
|
267
|
+
if (firstToken.tokenType !== ThrottleTag) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
parserInstance.input = lexResult.tokens;
|
|
271
|
+
const cst = parserInstance.throttleLine();
|
|
272
|
+
if (parserInstance.errors.length > 0) {
|
|
273
|
+
const firstError = parserInstance.errors[0];
|
|
274
|
+
const truncatedInput = input.length > 60 ? input.substring(0, 60) + '...' : input;
|
|
275
|
+
warnings.push(`Failed to parse throttle line: "${truncatedInput}"\n` +
|
|
276
|
+
` Error: ${firstError.message}\n` +
|
|
277
|
+
` Expected format: @throttle limit=<number> period="duration"`);
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
return visitorInstance.visit(cst);
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=trigger-cancel-parser.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changelog command - generates changelog from git history
|
|
3
|
+
*
|
|
4
|
+
* Categorizes commits by changed file paths — no conventional commits needed.
|
|
5
|
+
* Works with any commit message style.
|
|
6
|
+
*/
|
|
7
|
+
export interface ChangelogOptions {
|
|
8
|
+
lastTag?: boolean;
|
|
9
|
+
since?: string;
|
|
10
|
+
range?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function changelogCommand(options?: ChangelogOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=changelog.d.ts.map
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changelog command - generates changelog from git history
|
|
3
|
+
*
|
|
4
|
+
* Categorizes commits by changed file paths — no conventional commits needed.
|
|
5
|
+
* Works with any commit message style.
|
|
6
|
+
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import { logger } from '../utils/logger.js';
|
|
9
|
+
const CATEGORIES = [
|
|
10
|
+
{ name: 'Grammar', match: (f) => /parser|chevrotain|grammar/.test(f) },
|
|
11
|
+
{ name: 'Code Generation', match: (f) => /generator|body-generator|generate/.test(f) },
|
|
12
|
+
{ name: 'Differ', match: (f) => f.includes('diff/') },
|
|
13
|
+
{ name: 'CLI', match: (f) => f.includes('cli/commands/') },
|
|
14
|
+
{ name: 'MCP Tools', match: (f) => f.includes('mcp/') },
|
|
15
|
+
{ name: 'Deployment', match: (f) => /deployment|export/.test(f) },
|
|
16
|
+
{ name: 'Runtime', match: (f) => f.includes('runtime/') },
|
|
17
|
+
{ name: 'Migration', match: (f) => f.includes('migration/') },
|
|
18
|
+
{ name: 'Tests', match: (f) => f.includes('tests/') || f.includes('.test.') },
|
|
19
|
+
{ name: 'Documentation', match: (f) => /doc|readme|changelog/i.test(f) },
|
|
20
|
+
];
|
|
21
|
+
function categorize(files) {
|
|
22
|
+
for (const category of CATEGORIES) {
|
|
23
|
+
if (files.some(category.match)) {
|
|
24
|
+
return category.name;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return 'Other';
|
|
28
|
+
}
|
|
29
|
+
function getGitRange(options) {
|
|
30
|
+
if (options.range) {
|
|
31
|
+
return options.range;
|
|
32
|
+
}
|
|
33
|
+
if (options.lastTag) {
|
|
34
|
+
try {
|
|
35
|
+
const lastTag = execSync('git describe --tags --abbrev=0', {
|
|
36
|
+
encoding: 'utf8',
|
|
37
|
+
}).trim();
|
|
38
|
+
return `${lastTag}..HEAD`;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
logger.warn('No git tags found, showing all commits');
|
|
42
|
+
return 'HEAD';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (options.since) {
|
|
46
|
+
return `--since="${options.since}"`;
|
|
47
|
+
}
|
|
48
|
+
// Default: last 20 commits
|
|
49
|
+
return '-20';
|
|
50
|
+
}
|
|
51
|
+
function getCommits(rangeArg) {
|
|
52
|
+
const isSinceArg = rangeArg.startsWith('--since');
|
|
53
|
+
const isCountArg = rangeArg.startsWith('-');
|
|
54
|
+
let logCmd;
|
|
55
|
+
if (isSinceArg) {
|
|
56
|
+
logCmd = `git log ${rangeArg} --format="%H %s" --no-merges`;
|
|
57
|
+
}
|
|
58
|
+
else if (isCountArg) {
|
|
59
|
+
logCmd = `git log ${rangeArg} --format="%H %s" --no-merges`;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
logCmd = `git log ${rangeArg} --format="%H %s" --no-merges`;
|
|
63
|
+
}
|
|
64
|
+
const logOutput = execSync(logCmd, { encoding: 'utf8' }).trim();
|
|
65
|
+
if (!logOutput) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const entries = [];
|
|
69
|
+
for (const line of logOutput.split('\n')) {
|
|
70
|
+
if (!line.trim())
|
|
71
|
+
continue;
|
|
72
|
+
const spaceIdx = line.indexOf(' ');
|
|
73
|
+
const hash = line.slice(0, spaceIdx);
|
|
74
|
+
const message = line.slice(spaceIdx + 1);
|
|
75
|
+
// Get changed files for this commit
|
|
76
|
+
let files;
|
|
77
|
+
try {
|
|
78
|
+
const filesOutput = execSync(`git diff-tree --no-commit-id --name-only -r ${hash}`, {
|
|
79
|
+
encoding: 'utf8',
|
|
80
|
+
}).trim();
|
|
81
|
+
files = filesOutput ? filesOutput.split('\n') : [];
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
files = [];
|
|
85
|
+
}
|
|
86
|
+
entries.push({ hash: hash.slice(0, 7), message, files });
|
|
87
|
+
}
|
|
88
|
+
return entries;
|
|
89
|
+
}
|
|
90
|
+
export async function changelogCommand(options = {}) {
|
|
91
|
+
const rangeArg = getGitRange(options);
|
|
92
|
+
const rangeLabel = options.range || (options.lastTag ? 'last tag' : options.since ? `since ${options.since}` : 'recent');
|
|
93
|
+
const commits = getCommits(rangeArg);
|
|
94
|
+
if (commits.length === 0) {
|
|
95
|
+
logger.info('No commits found in the specified range.');
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Group by category
|
|
99
|
+
const grouped = new Map();
|
|
100
|
+
for (const commit of commits) {
|
|
101
|
+
const category = categorize(commit.files);
|
|
102
|
+
if (!grouped.has(category)) {
|
|
103
|
+
grouped.set(category, []);
|
|
104
|
+
}
|
|
105
|
+
grouped.get(category).push(commit);
|
|
106
|
+
}
|
|
107
|
+
// Output as markdown
|
|
108
|
+
// eslint-disable-next-line no-console
|
|
109
|
+
console.log(`## Changes (${rangeLabel})\n`);
|
|
110
|
+
// Sort categories: defined order first, then "Other"
|
|
111
|
+
const categoryOrder = CATEGORIES.map((c) => c.name);
|
|
112
|
+
const sortedCategories = [...grouped.keys()].sort((a, b) => {
|
|
113
|
+
const idxA = categoryOrder.indexOf(a);
|
|
114
|
+
const idxB = categoryOrder.indexOf(b);
|
|
115
|
+
if (idxA === -1 && idxB === -1)
|
|
116
|
+
return a.localeCompare(b);
|
|
117
|
+
if (idxA === -1)
|
|
118
|
+
return 1;
|
|
119
|
+
if (idxB === -1)
|
|
120
|
+
return -1;
|
|
121
|
+
return idxA - idxB;
|
|
122
|
+
});
|
|
123
|
+
for (const category of sortedCategories) {
|
|
124
|
+
const categoryCommits = grouped.get(category);
|
|
125
|
+
// eslint-disable-next-line no-console
|
|
126
|
+
console.log(`### ${category} (${categoryCommits.length} commit${categoryCommits.length !== 1 ? 's' : ''})\n`);
|
|
127
|
+
for (const commit of categoryCommits) {
|
|
128
|
+
// eslint-disable-next-line no-console
|
|
129
|
+
console.log(`- ${commit.hash} ${commit.message}`);
|
|
130
|
+
}
|
|
131
|
+
// eslint-disable-next-line no-console
|
|
132
|
+
console.log('');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=changelog.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compile command - compiles workflow files to TypeScript
|
|
3
|
+
*/
|
|
4
|
+
export interface CompileOptions {
|
|
5
|
+
output?: string;
|
|
6
|
+
production?: boolean;
|
|
7
|
+
sourceMap?: boolean;
|
|
8
|
+
strict?: boolean;
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
workflowName?: string;
|
|
11
|
+
dryRun?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Module format for generated code.
|
|
14
|
+
* - 'esm': ECMAScript modules (import/export)
|
|
15
|
+
* - 'cjs': CommonJS modules (require/module.exports)
|
|
16
|
+
* - 'auto': Auto-detect from project's package.json (default)
|
|
17
|
+
*/
|
|
18
|
+
format?: 'esm' | 'cjs' | 'auto';
|
|
19
|
+
/**
|
|
20
|
+
* Force inline runtime even when @synergenius/flow-weaver package is installed.
|
|
21
|
+
* By default, the compiler uses external runtime imports when the package is available.
|
|
22
|
+
*/
|
|
23
|
+
inlineRuntime?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Omit redundant @param/@returns annotations from compiled output.
|
|
26
|
+
* Useful for vibe coders who don't use the visual editor.
|
|
27
|
+
*/
|
|
28
|
+
clean?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Compilation target.
|
|
31
|
+
* - 'typescript' (default): Standard in-place compilation
|
|
32
|
+
* - 'inngest': Generate Inngest function with per-node step.run() for durability
|
|
33
|
+
*/
|
|
34
|
+
target?: 'typescript' | 'inngest';
|
|
35
|
+
/** Override @trigger cron from CLI (Inngest target only) */
|
|
36
|
+
cron?: string;
|
|
37
|
+
/** Generate serve() handler */
|
|
38
|
+
serve?: boolean;
|
|
39
|
+
/** Framework adapter for serve handler */
|
|
40
|
+
framework?: 'next' | 'express' | 'hono' | 'fastify' | 'remix';
|
|
41
|
+
/** Generate Zod event schemas from @param annotations */
|
|
42
|
+
typedEvents?: boolean;
|
|
43
|
+
/** Override @retries from CLI */
|
|
44
|
+
retries?: number;
|
|
45
|
+
/** Override @timeout from CLI */
|
|
46
|
+
timeout?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function compileCommand(input: string, options?: CompileOptions): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Compile a workflow file to Inngest function code with per-node step.run().
|
|
51
|
+
*/
|
|
52
|
+
export declare function compileInngestTarget(input: string, options: {
|
|
53
|
+
production: boolean;
|
|
54
|
+
verbose?: boolean;
|
|
55
|
+
workflowName?: string;
|
|
56
|
+
dryRun?: boolean;
|
|
57
|
+
cron?: string;
|
|
58
|
+
serve?: boolean;
|
|
59
|
+
framework?: 'next' | 'express' | 'hono' | 'fastify' | 'remix';
|
|
60
|
+
typedEvents?: boolean;
|
|
61
|
+
retries?: number;
|
|
62
|
+
timeout?: string;
|
|
63
|
+
}): Promise<void>;
|
|
64
|
+
//# sourceMappingURL=compile.d.ts.map
|