@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,207 @@
|
|
|
1
|
+
import { getTheme, getPortColor, getPortRingColor, TYPE_ABBREVIATIONS, NODE_ICON_PATHS } from './theme.js';
|
|
2
|
+
import { PORT_RADIUS, BORDER_RADIUS, LABEL_HEIGHT, LABEL_GAP, SCOPE_PORT_COLUMN, measureText } from './geometry.js';
|
|
3
|
+
function escapeXml(str) {
|
|
4
|
+
return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
|
5
|
+
}
|
|
6
|
+
/** Collect all connections (main + scope) for gradient def generation */
|
|
7
|
+
function collectAllConnections(graph) {
|
|
8
|
+
const all = [...graph.connections];
|
|
9
|
+
for (const node of graph.nodes) {
|
|
10
|
+
if (node.scopeConnections) {
|
|
11
|
+
all.push(...node.scopeConnections);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return all;
|
|
15
|
+
}
|
|
16
|
+
export function renderSVG(graph, options = {}) {
|
|
17
|
+
const themeName = options.theme ?? 'dark';
|
|
18
|
+
const theme = getTheme(themeName);
|
|
19
|
+
const showPortLabels = options.showPortLabels ?? true;
|
|
20
|
+
let { width: vbWidth, height: vbHeight } = graph.bounds;
|
|
21
|
+
// Ensure minimum bounds
|
|
22
|
+
vbWidth = Math.max(vbWidth, 200);
|
|
23
|
+
vbHeight = Math.max(vbHeight, 100);
|
|
24
|
+
const svgWidth = options.width || vbWidth;
|
|
25
|
+
const svgHeight = options.width ? (vbHeight / vbWidth) * options.width : vbHeight;
|
|
26
|
+
// Collect all connections for gradient generation
|
|
27
|
+
const allConnections = collectAllConnections(graph);
|
|
28
|
+
const parts = [];
|
|
29
|
+
// SVG open
|
|
30
|
+
parts.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${vbWidth} ${vbHeight}" width="${svgWidth}" height="${svgHeight}">`);
|
|
31
|
+
// Styles — matching React component fonts and sizes
|
|
32
|
+
parts.push(`<style>`);
|
|
33
|
+
parts.push(` text { font-family: Montserrat, 'Segoe UI', Roboto, sans-serif; }`);
|
|
34
|
+
parts.push(` .node-label { font-size: 13px; font-weight: 700; fill: ${theme.labelColor}; }`);
|
|
35
|
+
parts.push(` .port-label { font-size: 10px; font-weight: 600; fill: ${theme.labelColor}; }`);
|
|
36
|
+
parts.push(` .port-type-label { font-size: 10px; font-weight: 600; }`);
|
|
37
|
+
parts.push(`</style>`);
|
|
38
|
+
// Defs (dot grid pattern + connection gradients for ALL connections)
|
|
39
|
+
parts.push(`<defs>`);
|
|
40
|
+
parts.push(` <pattern id="dot-grid" width="20" height="20" patternUnits="userSpaceOnUse">`);
|
|
41
|
+
parts.push(` <circle cx="10" cy="10" r="1.5" fill="${theme.dotColor}" opacity="0.6"/>`);
|
|
42
|
+
parts.push(` </pattern>`);
|
|
43
|
+
for (let i = 0; i < allConnections.length; i++) {
|
|
44
|
+
const conn = allConnections[i];
|
|
45
|
+
parts.push(` <linearGradient id="conn-grad-${i}" x1="0%" y1="0%" x2="100%" y2="0%">`);
|
|
46
|
+
parts.push(` <stop offset="0%" stop-color="${conn.sourceColor}"/>`);
|
|
47
|
+
parts.push(` <stop offset="100%" stop-color="${conn.targetColor}"/>`);
|
|
48
|
+
parts.push(` </linearGradient>`);
|
|
49
|
+
}
|
|
50
|
+
parts.push(`</defs>`);
|
|
51
|
+
// Background
|
|
52
|
+
parts.push(`<rect width="${vbWidth}" height="${vbHeight}" fill="${theme.background}"/>`);
|
|
53
|
+
parts.push(`<rect width="${vbWidth}" height="${vbHeight}" fill="url(#dot-grid)"/>`);
|
|
54
|
+
// Main connections
|
|
55
|
+
parts.push(`<g class="connections">`);
|
|
56
|
+
for (let i = 0; i < graph.connections.length; i++) {
|
|
57
|
+
const conn = graph.connections[i];
|
|
58
|
+
const dashAttr = conn.isStepConnection ? '' : ' stroke-dasharray="8 4"';
|
|
59
|
+
parts.push(` <path d="${conn.path}" fill="none" stroke="url(#conn-grad-${i})" stroke-width="3"${dashAttr} stroke-linecap="round"/>`);
|
|
60
|
+
}
|
|
61
|
+
parts.push(`</g>`);
|
|
62
|
+
// Nodes
|
|
63
|
+
parts.push(`<g class="nodes">`);
|
|
64
|
+
for (const node of graph.nodes) {
|
|
65
|
+
parts.push(renderNode(node, theme, themeName, showPortLabels, allConnections));
|
|
66
|
+
}
|
|
67
|
+
parts.push(`</g>`);
|
|
68
|
+
parts.push(`</svg>`);
|
|
69
|
+
return parts.join('\n');
|
|
70
|
+
}
|
|
71
|
+
function renderNode(node, theme, themeName, showPortLabels, allConnections) {
|
|
72
|
+
const parts = [];
|
|
73
|
+
parts.push(` <g>`);
|
|
74
|
+
// Label above node — scoped nodes use left-aligned label (center={false} in React)
|
|
75
|
+
const isScoped = !!(node.scopeChildren && node.scopeChildren.length > 0);
|
|
76
|
+
const labelText = escapeXml(node.label);
|
|
77
|
+
const textWidth = labelText.length * 7;
|
|
78
|
+
const labelBgWidth = textWidth + 16;
|
|
79
|
+
const labelBgHeight = LABEL_HEIGHT;
|
|
80
|
+
const labelBgX = isScoped ? node.x : node.x + node.width / 2 - labelBgWidth / 2;
|
|
81
|
+
const labelBgY = node.y - LABEL_GAP - labelBgHeight;
|
|
82
|
+
const labelTextX = isScoped ? node.x + 8 : node.x + node.width / 2;
|
|
83
|
+
const labelAnchor = isScoped ? 'start' : 'middle';
|
|
84
|
+
parts.push(` <rect x="${labelBgX}" y="${labelBgY}" width="${labelBgWidth}" height="${labelBgHeight}" rx="6" fill="${theme.labelBadgeFill}" opacity="0.8"/>`);
|
|
85
|
+
parts.push(` <text class="node-label" x="${labelTextX}" y="${labelBgY + labelBgHeight / 2 + 6}" text-anchor="${labelAnchor}" fill="${node.color !== '#334155' ? node.color : theme.labelColor}">${labelText}</text>`);
|
|
86
|
+
// Node body — default nodes use icon color for border to match
|
|
87
|
+
const strokeColor = node.color !== '#334155' ? node.color : theme.nodeIconColor;
|
|
88
|
+
parts.push(` <rect x="${node.x}" y="${node.y}" width="${node.width}" height="${node.height}" rx="${BORDER_RADIUS}" fill="${theme.nodeFill}" stroke="${strokeColor}" stroke-width="2"/>`);
|
|
89
|
+
// Scoped node rendering
|
|
90
|
+
if (node.scopeChildren && node.scopeChildren.length > 0) {
|
|
91
|
+
renderScopedContent(parts, node, theme, themeName, showPortLabels, allConnections);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
// Regular node: icon centered in body, colored to match node
|
|
95
|
+
const iconPath = getNodeIconPath(node);
|
|
96
|
+
const iconColor = getNodeIconColor(node, theme);
|
|
97
|
+
const iconSize = 40;
|
|
98
|
+
const iconX = node.x + (node.width - iconSize) / 2;
|
|
99
|
+
const iconY = node.y + (node.height - iconSize) / 2;
|
|
100
|
+
parts.push(` <svg x="${iconX}" y="${iconY}" width="${iconSize}" height="${iconSize}" viewBox="0 -960 960 960"><path d="${iconPath}" fill="${iconColor}"/></svg>`);
|
|
101
|
+
}
|
|
102
|
+
// External ports (on outer edges)
|
|
103
|
+
renderPorts(parts, node.inputs, node.outputs, theme, themeName, showPortLabels);
|
|
104
|
+
parts.push(` </g>`);
|
|
105
|
+
return parts.join('\n');
|
|
106
|
+
}
|
|
107
|
+
function renderScopedContent(parts, node, theme, themeName, showPortLabels, allConnections) {
|
|
108
|
+
const children = node.scopeChildren;
|
|
109
|
+
const scopePorts = node.scopePorts;
|
|
110
|
+
const scopeConns = node.scopeConnections ?? [];
|
|
111
|
+
// Draw scope area inner rectangle
|
|
112
|
+
const scopeX = node.x + SCOPE_PORT_COLUMN;
|
|
113
|
+
const scopeY = node.y + 4;
|
|
114
|
+
const scopeW = node.width - SCOPE_PORT_COLUMN * 2;
|
|
115
|
+
const scopeH = node.height - 8;
|
|
116
|
+
parts.push(` <rect x="${scopeX}" y="${scopeY}" width="${scopeW}" height="${scopeH}" rx="4" fill="none" stroke="${theme.scopeAreaStroke}" stroke-width="1" stroke-dasharray="4 2" opacity="0.5"/>`);
|
|
117
|
+
// Render scope ports on inner edges first (so children render on top)
|
|
118
|
+
if (scopePorts) {
|
|
119
|
+
renderPorts(parts, scopePorts.inputs, scopePorts.outputs, theme, themeName, showPortLabels);
|
|
120
|
+
}
|
|
121
|
+
// Render scope connections inside the parent
|
|
122
|
+
for (const conn of scopeConns) {
|
|
123
|
+
const gradIndex = allConnections.indexOf(conn);
|
|
124
|
+
if (gradIndex < 0)
|
|
125
|
+
continue;
|
|
126
|
+
const dashAttr = conn.isStepConnection ? '' : ' stroke-dasharray="8 4"';
|
|
127
|
+
parts.push(` <path d="${conn.path}" fill="none" stroke="url(#conn-grad-${gradIndex})" stroke-width="2.5"${dashAttr} stroke-linecap="round"/>`);
|
|
128
|
+
}
|
|
129
|
+
// Render child nodes inside the scope (topmost layer)
|
|
130
|
+
for (const child of children) {
|
|
131
|
+
// Child label
|
|
132
|
+
const childLabelX = child.x + child.width / 2;
|
|
133
|
+
const childLabelText = escapeXml(child.label);
|
|
134
|
+
const childTextWidth = childLabelText.length * 7;
|
|
135
|
+
const childLabelBgW = childTextWidth + 16;
|
|
136
|
+
const childLabelBgH = LABEL_HEIGHT;
|
|
137
|
+
const childLabelBgX = childLabelX - childLabelBgW / 2;
|
|
138
|
+
const childLabelBgY = child.y - LABEL_GAP - childLabelBgH;
|
|
139
|
+
parts.push(` <rect x="${childLabelBgX}" y="${childLabelBgY}" width="${childLabelBgW}" height="${childLabelBgH}" rx="6" fill="${theme.labelBadgeFill}" opacity="0.8"/>`);
|
|
140
|
+
parts.push(` <text class="node-label" x="${childLabelX}" y="${childLabelBgY + childLabelBgH / 2 + 6}" text-anchor="middle" fill="${child.color !== '#334155' ? child.color : theme.labelColor}">${childLabelText}</text>`);
|
|
141
|
+
// Child body
|
|
142
|
+
const childStroke = child.color !== '#334155' ? child.color : theme.nodeIconColor;
|
|
143
|
+
parts.push(` <rect x="${child.x}" y="${child.y}" width="${child.width}" height="${child.height}" rx="${BORDER_RADIUS}" fill="${theme.nodeFill}" stroke="${childStroke}" stroke-width="2"/>`);
|
|
144
|
+
// Child icon — colored to match child node
|
|
145
|
+
const iconPath = getNodeIconPath(child);
|
|
146
|
+
const iconColor = getNodeIconColor(child, theme);
|
|
147
|
+
const iconSize = 40;
|
|
148
|
+
const iconX = child.x + (child.width - iconSize) / 2;
|
|
149
|
+
const iconY = child.y + (child.height - iconSize) / 2;
|
|
150
|
+
parts.push(` <svg x="${iconX}" y="${iconY}" width="${iconSize}" height="${iconSize}" viewBox="0 -960 960 960"><path d="${iconPath}" fill="${iconColor}"/></svg>`);
|
|
151
|
+
renderPorts(parts, child.inputs, child.outputs, theme, themeName, showPortLabels);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function getNodeIconPath(node) {
|
|
155
|
+
return NODE_ICON_PATHS[node.icon] ?? NODE_ICON_PATHS.code;
|
|
156
|
+
}
|
|
157
|
+
/** Resolve icon fill color: use node's border color if set, otherwise theme default */
|
|
158
|
+
function getNodeIconColor(node, theme) {
|
|
159
|
+
if (node.color !== '#334155')
|
|
160
|
+
return node.color;
|
|
161
|
+
return theme.nodeIconColor;
|
|
162
|
+
}
|
|
163
|
+
function renderPorts(parts, inputs, outputs, theme, themeName, showPortLabels) {
|
|
164
|
+
for (const port of [...inputs, ...outputs]) {
|
|
165
|
+
const color = getPortColor(port.dataType, port.isFailure, themeName);
|
|
166
|
+
const ringColor = getPortRingColor(port.dataType, port.isFailure, themeName);
|
|
167
|
+
parts.push(` <circle cx="${port.cx}" cy="${port.cy}" r="${PORT_RADIUS}" fill="${color}" stroke="${ringColor}" stroke-width="2"/>`);
|
|
168
|
+
if (showPortLabels) {
|
|
169
|
+
const isInput = port.direction === 'INPUT';
|
|
170
|
+
const abbrev = TYPE_ABBREVIATIONS[port.dataType] ?? port.dataType;
|
|
171
|
+
const portLabel = port.label;
|
|
172
|
+
const typeWidth = measureText(abbrev);
|
|
173
|
+
const labelWidth = measureText(portLabel);
|
|
174
|
+
const pad = 7;
|
|
175
|
+
const divGap = 4; // space on each side of divider
|
|
176
|
+
const badgeWidth = pad + typeWidth + divGap + 1 + divGap + labelWidth + pad;
|
|
177
|
+
const badgeHeight = 16;
|
|
178
|
+
const badgeGap = 5;
|
|
179
|
+
const rr = badgeHeight / 2; // full pill radius
|
|
180
|
+
if (isInput) {
|
|
181
|
+
// Right-aligned: [label | TYPE] ● — content hugs the port dot
|
|
182
|
+
const badgeX = port.cx - PORT_RADIUS - badgeGap - badgeWidth;
|
|
183
|
+
const badgeY = port.cy - badgeHeight / 2;
|
|
184
|
+
parts.push(` <rect x="${badgeX}" y="${badgeY}" width="${badgeWidth}" height="${badgeHeight}" rx="${rr}" fill="${theme.nodeFill}" stroke="${theme.labelBadgeBorder}" stroke-width="1"/>`);
|
|
185
|
+
const typeX = badgeX + badgeWidth - pad - typeWidth / 2;
|
|
186
|
+
const divX = typeX - typeWidth / 2 - divGap;
|
|
187
|
+
const nameX = divX - divGap;
|
|
188
|
+
parts.push(` <line x1="${divX}" y1="${badgeY + 3}" x2="${divX}" y2="${badgeY + badgeHeight - 3}" stroke="${theme.labelBadgeBorder}" stroke-width="1"/>`);
|
|
189
|
+
parts.push(` <text class="port-label" x="${nameX}" y="${port.cy + 3.5}" text-anchor="end">${escapeXml(portLabel)}</text>`);
|
|
190
|
+
parts.push(` <text class="port-type-label" x="${typeX}" y="${port.cy + 3.5}" text-anchor="middle" fill="${color}">${escapeXml(abbrev)}</text>`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// Left-aligned: ● [TYPE | label] — content hugs the port dot
|
|
194
|
+
const badgeX = port.cx + PORT_RADIUS + badgeGap;
|
|
195
|
+
const badgeY = port.cy - badgeHeight / 2;
|
|
196
|
+
parts.push(` <rect x="${badgeX}" y="${badgeY}" width="${badgeWidth}" height="${badgeHeight}" rx="${rr}" fill="${theme.nodeFill}" stroke="${theme.labelBadgeBorder}" stroke-width="1"/>`);
|
|
197
|
+
const typeX = badgeX + pad + typeWidth / 2;
|
|
198
|
+
const divX = badgeX + pad + typeWidth + divGap;
|
|
199
|
+
const nameX = divX + 1 + divGap;
|
|
200
|
+
parts.push(` <line x1="${divX}" y1="${badgeY + 3}" x2="${divX}" y2="${badgeY + badgeHeight - 3}" stroke="${theme.labelBadgeBorder}" stroke-width="1"/>`);
|
|
201
|
+
parts.push(` <text class="port-type-label" x="${typeX}" y="${port.cy + 3.5}" text-anchor="middle" fill="${color}">${escapeXml(abbrev)}</text>`);
|
|
202
|
+
parts.push(` <text class="port-label" x="${nameX}" y="${port.cy + 3.5}" text-anchor="start">${escapeXml(portLabel)}</text>`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=renderer.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TDataType } from '../ast/types.js';
|
|
2
|
+
import type { ThemePalette } from './types.js';
|
|
3
|
+
export declare const NODE_VARIANT_COLORS: Record<string, {
|
|
4
|
+
border: string;
|
|
5
|
+
darkBorder: string;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function getTheme(name: 'dark' | 'light'): ThemePalette;
|
|
8
|
+
export declare function getPortColor(dataType: TDataType, isFailure: boolean, theme?: 'dark' | 'light'): string;
|
|
9
|
+
/** Darker tinted version of the port color for the outer ring */
|
|
10
|
+
export declare function getPortRingColor(dataType: TDataType, isFailure: boolean, theme?: 'dark' | 'light'): string;
|
|
11
|
+
/** Map data types to short abbreviations for port labels */
|
|
12
|
+
export declare const TYPE_ABBREVIATIONS: Record<string, string>;
|
|
13
|
+
/**
|
|
14
|
+
* SVG path data for node icons (from Material Symbols 500 outlined).
|
|
15
|
+
* viewBox is "0 -960 960 960" for all paths.
|
|
16
|
+
*
|
|
17
|
+
* Icon names match the original React editor's TIconNameType keys.
|
|
18
|
+
*/
|
|
19
|
+
export declare const NODE_ICON_PATHS: Record<string, string>;
|
|
20
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
// ---- Port colors derived from token system ----
|
|
2
|
+
// Dark: X-dark-shade-1 (= base color from dark palette)
|
|
3
|
+
// Light: X-shade-2 (harmonizer.shades, 2nd step)
|
|
4
|
+
const DARK_PORT_COLORS = {
|
|
5
|
+
STEP: '#10e15a', // green-dark-shade-1
|
|
6
|
+
STRING: '#5e9eff', // blue-dark-shade-1
|
|
7
|
+
NUMBER: '#ffbd30', // yellow-dark-shade-1
|
|
8
|
+
BOOLEAN: '#ff52da', // pink-dark-shade-1
|
|
9
|
+
OBJECT: '#b36bff', // purple-dark-shade-1
|
|
10
|
+
ARRAY: '#ff8133', // orange-dark-shade-1
|
|
11
|
+
FUNCTION: '#e9916a', // brown-dark-shade-1
|
|
12
|
+
ANY: '#6fe5dc', // cyan-dark-shade-1
|
|
13
|
+
};
|
|
14
|
+
const LIGHT_PORT_COLORS = {
|
|
15
|
+
STEP: '#0ec850', // green-shade-2
|
|
16
|
+
STRING: '#548ce3', // blue-shade-2
|
|
17
|
+
NUMBER: '#e3a82b', // yellow-shade-2
|
|
18
|
+
BOOLEAN: '#e349c2', // pink-shade-2
|
|
19
|
+
OBJECT: '#9f5fe3', // purple-shade-2
|
|
20
|
+
ARRAY: '#e3732d', // orange-shade-2
|
|
21
|
+
FUNCTION: '#cf815e', // brown-shade-2
|
|
22
|
+
ANY: '#63ccc4', // cyan-shade-2
|
|
23
|
+
};
|
|
24
|
+
const DARK_FAILURE_COLOR = '#ff4f4f'; // red-dark-shade-1
|
|
25
|
+
const LIGHT_FAILURE_COLOR = '#e34646'; // red-shade-2
|
|
26
|
+
// ---- Node theme variant colors ----
|
|
27
|
+
// Dark: border = X-dark-shade-1 (base), icon = X-dark-shade-3
|
|
28
|
+
// Light: border = X-shade-2
|
|
29
|
+
export const NODE_VARIANT_COLORS = {
|
|
30
|
+
blue: { border: '#548ce3', darkBorder: '#5e9eff' }, // blue-shade-2 / blue-dark-shade-1
|
|
31
|
+
purple: { border: '#9f5fe3', darkBorder: '#b36bff' }, // purple-shade-2 / purple-dark-shade-1
|
|
32
|
+
cyan: { border: '#63ccc4', darkBorder: '#6fe5dc' }, // cyan-shade-2 / cyan-dark-shade-1
|
|
33
|
+
orange: { border: '#e3732d', darkBorder: '#ff8133' }, // orange-shade-2 / orange-dark-shade-1
|
|
34
|
+
pink: { border: '#e349c2', darkBorder: '#ff52da' }, // pink-shade-2 / pink-dark-shade-1
|
|
35
|
+
green: { border: '#0ec850', darkBorder: '#10e15a' }, // green-shade-2 / green-dark-shade-1
|
|
36
|
+
};
|
|
37
|
+
// ---- Theme palettes (exact values from token system) ----
|
|
38
|
+
const DARK_PALETTE = {
|
|
39
|
+
background: '#202139', // color-brand-subtle-bg = primary-dark-extended-shade-95
|
|
40
|
+
nodeFill: '#1a1a2e', // color-surface-main = dark-shade-100
|
|
41
|
+
nodeStroke: '#767682', // color-border-default = dark-shade-60
|
|
42
|
+
labelColor: '#a4beff', // secondary-dark-base (node label text)
|
|
43
|
+
sublabelColor: '#babac0', // color-text-subtle = dark-shade-30
|
|
44
|
+
connectionColor: '#5f5f6d', // color-border-subtle = dark-shade-70
|
|
45
|
+
dotColor: '#8e9eff', // color-background-dots = primary-dark-tint-1
|
|
46
|
+
labelBadgeFill: '#252538', // color-surface-low = dark-shade-95
|
|
47
|
+
labelBadgeBorder: '#313143', // color-surface-lowest = dark-shade-90
|
|
48
|
+
nodeIconColor: '#a4beff', // secondary-dark-base (matches label color)
|
|
49
|
+
scopeAreaStroke: '#5f5f6d', // color-border-subtle = dark-shade-70
|
|
50
|
+
};
|
|
51
|
+
const LIGHT_PALETTE = {
|
|
52
|
+
background: '#f6f7ff', // color-brand-subtle-bg = primary-extended-tint-95
|
|
53
|
+
nodeFill: '#ffffff', // color-surface-main = white
|
|
54
|
+
nodeStroke: '#cccccc', // color-border-default ≈ shade-20
|
|
55
|
+
labelColor: '#223354', // secondary-base (light)
|
|
56
|
+
sublabelColor: '#808080', // shade-50
|
|
57
|
+
connectionColor: '#b3b3b3', // shade-30
|
|
58
|
+
dotColor: '#5468ff', // color-background-dots = primary-shade-1
|
|
59
|
+
labelBadgeFill: '#ffffff', // surface-main — 80% opacity applied in renderer
|
|
60
|
+
labelBadgeBorder: '#e6e6e6', // shade-10
|
|
61
|
+
nodeIconColor: '#5468ff', // primary-base (light)
|
|
62
|
+
scopeAreaStroke: '#cccccc', // color-border-default
|
|
63
|
+
};
|
|
64
|
+
export function getTheme(name) {
|
|
65
|
+
return name === 'light' ? LIGHT_PALETTE : DARK_PALETTE;
|
|
66
|
+
}
|
|
67
|
+
export function getPortColor(dataType, isFailure, theme = 'dark') {
|
|
68
|
+
if (isFailure)
|
|
69
|
+
return theme === 'dark' ? DARK_FAILURE_COLOR : LIGHT_FAILURE_COLOR;
|
|
70
|
+
const colors = theme === 'dark' ? DARK_PORT_COLORS : LIGHT_PORT_COLORS;
|
|
71
|
+
return colors[dataType] ?? colors.ANY;
|
|
72
|
+
}
|
|
73
|
+
/** Darker tinted version of the port color for the outer ring */
|
|
74
|
+
export function getPortRingColor(dataType, isFailure, theme = 'dark') {
|
|
75
|
+
const color = getPortColor(dataType, isFailure, theme);
|
|
76
|
+
return darkenHex(color, 0.4);
|
|
77
|
+
}
|
|
78
|
+
/** Map data types to short abbreviations for port labels */
|
|
79
|
+
export const TYPE_ABBREVIATIONS = {
|
|
80
|
+
STEP: 'STP',
|
|
81
|
+
STRING: 'STR',
|
|
82
|
+
NUMBER: 'NUM',
|
|
83
|
+
BOOLEAN: 'BOOL',
|
|
84
|
+
OBJECT: 'OBJ',
|
|
85
|
+
ARRAY: 'ARR',
|
|
86
|
+
FUNCTION: 'FN',
|
|
87
|
+
ANY: 'ANY',
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* SVG path data for node icons (from Material Symbols 500 outlined).
|
|
91
|
+
* viewBox is "0 -960 960 960" for all paths.
|
|
92
|
+
*
|
|
93
|
+
* Icon names match the original React editor's TIconNameType keys.
|
|
94
|
+
*/
|
|
95
|
+
export const NODE_ICON_PATHS = {
|
|
96
|
+
// ---- Virtual node icons ----
|
|
97
|
+
startNode: 'M314.02-192v-582l457.22 291-457.22 291Zm68.13-291Zm0 166.93L644.93-483 382.15-649.93v333.86Z',
|
|
98
|
+
exitNode: 'M302.15-657.85v355.7-355.7Zm-68.13 423.83v-492.2h492.2v492.2h-492.2Zm68.13-68.13h355.7v-355.7h-355.7v355.7Z',
|
|
99
|
+
// ---- Default / structural ----
|
|
100
|
+
code: 'M317.37-236.26 71.39-482l247.98-247.98 48.98 48.74-199 199 197 197-48.98 48.98Zm323.26 2.24-48.74-48.74 199-199-197-197 48.74-48.98L888.61-482 640.63-234.02Z',
|
|
101
|
+
flow: 'M115.93-115.93v-188.14h157.83l173.61-173.6v-143.74q-35.74-12.79-58.59-42.23-22.85-29.43-22.85-66.36 0-47.53 33.31-80.8 33.3-33.27 80.88-33.27 47.57 0 80.76 33.27 33.19 33.27 33.19 80.8 0 36.93-22.85 66.36-22.85 29.44-58.59 42.23v143.74l173.85 173.6h157.59v188.14H655.93v-121.5L480-413.37 304.07-237.43v121.5H115.93Z',
|
|
102
|
+
// ---- AI & ML ----
|
|
103
|
+
psychology: 'M234.74-74.74v-174.87q-57-52.72-88.5-122.93-31.5-70.22-31.5-147.46 0-152.29 106.5-258.9 106.5-106.6 258.65-106.6 126.78 0 224.72 74.82 97.93 74.81 127.65 194.48l55.24 219.44q4.48 16.15-5.7 29.09-10.17 12.93-27.13 12.93H765.5v131.87q0 28.35-19.96 48.24t-48.41 19.89H605.5v80h-68.37v-148.13h160v-200h113.28l-44.04-176.41q-24-95.81-104.28-156.83-80.29-61.02-181.98-61.02-123.86 0-210.55 85.74-86.69 85.75-86.69 208.98 0 63.62 26.08 121.25 26.09 57.63 73.96 102.01l19.96 18.92v205.49h-68.13Zm262.02-371.19ZM449-374h60l3-44q12-2 22.5-8.46 10.49-6.46 18.52-14.54l41.74 14L623-475l-30-24q5-14 5-29t-5-29l30-24-28.24-48-41.71 14q-8.3-7.69-19.15-13.85-10.86-6.15-21.88-9.15L509-682h-60l-3 44q-11 3-21.83 9.15-10.84 6.16-19.12 13.85l-41.57-14L335-581l30 24q-5 14-5 29t5 29l-30 24 28.48 48 41.57-14q8.01 8.08 18.48 14.54Q434-420 446-418l3 44Zm30.12-84q-29.12 0-49.62-20.38-20.5-20.38-20.5-49.5t20.38-49.62q20.38-20.5 49.5-20.5t49.62 20.38q20.5 20.38 20.5 49.5t-20.38 49.62q-20.38 20.5-49.5 20.5Z',
|
|
104
|
+
smartToy: 'M141.5-376q-45 0-76-31.21T34.5-483q0-44.58 31.21-75.79Q96.92-590 141.5-590v-128.5q0-24 18-42t42-18H373q0-45 31.21-76t75.79-31q44.58 0 75.79 31.21Q587-823.08 587-778.5h171.5q24 0 42 18t18 42V-590q45 0 76 31.21t31 75.79q0 44.58-31.21 75.79Q863.08-376 818.5-376v201.5q0 24-18 42t-42 18h-557q-24 0-42-18t-18-42V-376Zm203.17-101.43q17.24 0 29.1-12.1 11.86-12.09 11.86-29.46 0-17.36-12.09-29.22-12.1-11.86-29.34-11.86-17.24 0-29.22 12.08Q303-535.92 303-518.4q0 17.25 12.21 29.11 12.22 11.86 29.46 11.86Zm271.13 0q17.24 0 29.22-12.1Q657-501.62 657-518.99q0-17.36-12.21-29.22-12.22-11.86-29.46-11.86-17.24 0-29.1 12.08-11.86 12.07-11.86 29.59 0 17.25 12.09 29.11 12.1 11.86 29.34 11.86ZM314.63-285h330.74v-62.63H314.63V-285Zm-105 102.37h540.74v-527.74H209.63v527.74ZM480-447Z',
|
|
105
|
+
autoAwesome: 'M352.39-107.15 307-253.85l-148.85-44.54 148.85-44.78L352.39-490l45.15 147.43L544.63-298.4l-147.09 44.56-45.15 146.69Zm370-290.85-28.52-92.39-94.24-28.24 94.24-28.48 28.52-92.15 28.28 92.15 94.72 28.48-94.72 28.24-28.28 92.39ZM192.15-502.52l-17.76-58.52-58.52-18.72 58.52-17.48 17.76-59.24 18.48 59.24 58.52 17.48-58.52 18.72-18.48 58.52Z',
|
|
106
|
+
modelTraining: 'M198.35-197.15q-42.92-50.15-66.37-111.69-23.46-61.53-23.46-131.16 0-152.63 106.08-260.24 106.07-107.61 259.42-110 9.76 0 20.02.5t17.79 1.5l-80.29-80.28 43.92-44.15L641.2-766.93 475.46-600.96l-44.68-44.67 92.24-92.24q-11-2-25.88-3-14.88-1-22.64-1-125.24 1.91-211.42 89.75-86.19 87.84-86.19 212.12 0 50.28 16.88 102.36 16.88 52.07 53.56 91.75l-48.98 48.74Zm242.69-5.44q0-21.71-15.47-44.31-15.48-22.6-33.58-46.2-18.1-23.6-33.46-49.81-15.36-26.22-15.36-55.18 0-56.67 40.2-96.75 40.2-40.07 96.63-40.07 56.67 0 96.75 40.07 40.08 40.08 40.08 96.75 0 28.96-15.36 55.18-15.36 26.21-33.46 49.81t-33.46 46.2q-15.35 22.6-15.35 44.31h-78.16Zm-2 92.87v-51.67h82.16v51.67h-82.16Zm322.61-87.43-47.74-47.74q30.72-36.96 50.08-86.68 19.36-49.71 19.36-108.43 0-63.37-25.59-121.2-25.59-57.82-77.72-102.82l49.98-49.74q55.85 50.48 88.65 120.74 32.81 70.26 32.81 153.02 0 70.11-23.46 131.4-23.45 61.3-66.37 111.45Z',
|
|
107
|
+
science: 'M197.37-117.37v-65.26h208v-98.74h-15q-81.48-.96-137.24-57.67-55.76-56.72-55.76-137.96 0-60.28 34.04-109.8 34.05-49.53 89.85-70.72 3.52-40.24 34.04-66.44 30.53-26.19 71.29-25.11l-20.76-58.28 43.63-15.75-14-37.44 71.5-25.68 14.24 37 42.15-14.95 116.82 305.28-45.39 15.96 14 37-69.26 24.91-14.48-37-45.15 17.19-25-67.28q-14.52 15.57-33.82 22.47-19.31 6.9-41.21 6.14-26.62-.52-49.58-15.28-22.95-14.76-36.43-38.48-32.61 16.52-51.92 47.93-19.3 31.41-19.3 68.33 0 54.46 37.96 92.41 37.95 37.96 92.41 37.96h349.63v65.26h-232v98.74h252v65.26H197.37ZM556-572l53-19-80-206-53 19 80 206Zm-130.18-23q21.18 0 35.68-14.32 14.5-14.33 14.5-35.5 0-21.18-14.32-35.68-14.33-14.5-35.5-14.5-21.18 0-35.68 14.32-14.5 14.33-14.5 35.5 0 21.18 14.32 35.68 14.33 14.5 35.5 14.5ZM556-572Zm-130-75Zm2 0Z',
|
|
108
|
+
biotech: 'm573.85-153.3-47.74-47.74L634-308.93l-107.89-107.9 47.74-47.74 107.89 107.9 108.13-107.9 47.74 47.74-108.13 107.9 108.13 107.89-47.74 47.74-108.13-107.9-107.89 107.9Zm84.43-374.96L510.3-676l47.98-47.74 100 99 179-179.24L885.02-755 658.28-528.26ZM74.98-285.93v-68.14h364.06v68.14H74.98Zm0-320v-68.14h364.06v68.14H74.98Z',
|
|
109
|
+
// ---- Data & storage ----
|
|
110
|
+
database: 'M480.11-114.02q-153.74 0-259.91-48.18Q114.02-210.37 114.02-280v-400q0-68.56 107.18-117.39 107.17-48.83 258.75-48.83 151.34 0 258.8 48.83Q846.22-748.56 846.22-680v400q0 69.63-106.31 117.8-106.3 48.18-259.8 48.18ZM480-608.24q85.84 0 175.94-26.38T772.76-694q-27.72-32-118.1-58.88-90.38-26.88-174.78-26.88-87.4 0-176.28 26T186.48-694q28.24 35 115.96 60.38 87.72 25.38 177.56 25.38Zm-1 213.76q41.76 0 83.43-4.62 41.68-4.62 79.98-13.74 38.3-9.12 73.47-22.36 35.16-13.23 63.88-29.47v-147.11q-29.48 16-64.6 29-35.12 13-73.88 21.88-38.76 8.88-79.52 13.76-40.76 4.88-82.85 4.88-41.6 0-83.33-4.88-41.72-4.88-80.17-13.88t-73.07-21.88q-34.62-12.88-61.86-28.88v147.11q27 16.24 61.24 29.35 34.24 13.12 72.74 22.36 38.5 9.24 80.29 13.86 41.8 4.62 84.25 4.62Zm1 214q47.52.24 98.04-8.14 50.53-8.38 93.03-22.26t72.23-31Q773.04-259 779.76-277v-119.74q-28.48 16.24-63.36 28.98-34.88 12.74-73.42 21.74-38.55 9-79.86 13.5t-84.12 4.5q-42.69 0-84.48-4.62-41.8-4.62-80.18-13.62-38.38-9-72.5-21.74-34.12-12.74-61.36-28.74v120.73q5.72 17.01 34.95 34.39 29.24 17.38 72.12 30.88 42.88 13.5 93.41 21.88 50.52 8.38 99.04 8.38Z',
|
|
111
|
+
dataObject: 'M573.59-154.02v-67.89H685.7q21.89 0 37.14-15.13 15.25-15.12 15.25-37.5v-94.5q0-37.24 22.5-66.6 22.5-29.36 57.98-40.44v-7.84q-35.48-10.08-57.98-39.94t-22.5-67.1v-94.74q0-22.14-15.13-37.26-15.12-15.13-37.26-15.13H573.59v-68.13h118.08q47.8 0 81.17 33.46 33.38 33.46 33.38 81.33v94.5q0 22.44 14.97 37.53 14.97 15.1 37.42 15.1h27.61v128.6h-27.61q-22.45 0-37.42 15.13-14.97 15.13-14.97 37.27v94.73q0 47.99-33.46 81.27-33.46 33.28-81.09 33.28H573.59Zm-305.26 0q-47.92 0-81.11-33.28-33.2-33.28-33.2-81.27v-94.73q0-22.14-15.12-37.27-15.13-15.13-37.27-15.13H74.02v-128.6h27.61q22.14 0 37.27-15.1 15.12-15.09 15.12-37.53v-94.5q0-47.87 33.28-81.33t81.03-33.46h118.08v68.13H274.54q-21.89 0-37.26 15.13-15.37 15.12-15.37 37.26v94.74q0 37.24-22.5 67.1-22.5 29.86-57.74 39.94v7.84q35.24 11.08 57.74 40.44t22.5 66.6v94.5q0 22.38 15.25 37.5 15.24 15.13 37.38 15.13h111.87v67.89H268.33Z',
|
|
112
|
+
tableChart: 'M777.85-115.02h-595.7q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-594.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h595.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v594.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27Zm-595.7-523.5h595.7v-139.33h-595.7v139.33Zm128.81 60H182.15v395.37h128.81v-395.37Zm338.08 0v395.37h128.81v-395.37H649.04Zm-60 0H370.96v395.37h218.08v-395.37Z',
|
|
113
|
+
token: 'M480-73.78 114.5-282.89v-405.46L480-886.22l365.5 197.87v405.46L480-73.78ZM365.52-581.35q23.24-22.76 52.86-37.02Q448-632.63 480-632.63q32 0 61.62 14.26 29.62 14.26 52.86 37.02L741.5-668 480-806.89 218.5-668l147.02 86.65Zm81.85 410.57v-160.31q-52.24-14.24-86.12-54.83-33.88-40.6-33.88-94.08 0-10.76 1.38-21.9 1.38-11.14 5.14-21.67l-151.26-89.89v290.79l264.74 151.89ZM480-392.63q36.8 0 62.09-25.28 25.28-25.29 25.28-62.09 0-36.8-25.28-62.09-25.29-25.28-62.09-25.28-36.8 0-62.09 25.28-25.28 25.29-25.28 62.09 0 36.8 25.28 62.09 25.29 25.28 62.09 25.28Zm32.63 221.85 264.74-151.89v-290.79l-151.02 89.89q3.52 10.53 4.9 21.67 1.38 11.14 1.38 21.9 0 53.48-33.88 94.08-33.88 40.59-86.12 54.83v160.31Z',
|
|
114
|
+
storage: 'M111.87-146.13v-159.24h736.5v159.24h-736.5Zm68.13-42.3h74.63v-74.87H180v74.87Zm-68.13-466.2v-159.24h736.5v159.24h-736.5Zm68.13-42.3h74.63v-74.87H180v74.87ZM111.87-400.5v-159h736.5v159h-736.5ZM180-442.57h74.63v-74.86H180v74.86Z',
|
|
115
|
+
memory: 'M239-399h313v-60H239v60Zm0-130h480v-60H239v60Zm0-130h480v-60H239v60ZM74.02-74.02v-743.83q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h675.7q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v515.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27H234.02l-160 160Zm134-228.13h609.83v-515.7h-675.7v587.57l65.87-71.87Zm-65.87 0v-515.7 515.7Z',
|
|
116
|
+
// ---- Cloud & network ----
|
|
117
|
+
api: 'M480-369.26 369.26-480 480-590.74 590.74-480 480-369.26Zm-85-304.28-86.83-86.83L480-931.96l171.83 171.59L565-673.54l-85-85-85 85ZM199.87-308.17 28.04-480l171.83-171.83L286.46-565l-85 85 85 85-86.59 86.83Zm560.5 0L673.54-395l85-85-85-85 86.83-86.83L931.96-480 760.37-308.17ZM480-28.04 308.17-199.87 395-286.46l85 85 85-85 86.83 86.59L480-28.04Z',
|
|
118
|
+
webhook: 'M270.1-115.93q-79.9 0-137.03-57.17-57.14-57.17-57.14-136.83 0-68.5 40.2-120.06 40.2-51.55 105.3-67.55v65.63q-36.67 14-59.77 47.11-23.09 33.11-23.09 74.88 0 54.16 38.4 92.76 38.4 38.59 92.97 38.59 54.78 0 93.14-38.41 38.35-38.42 38.35-93.02v-31.43h247.09q8.36-9 19.25-14.5 10.9-5.5 22.23-5.5 21.76 0 36.6 14.83 14.83 14.84 14.83 36.49 0 20.84-14.83 36.19-14.84 15.35-36.6 15.35-11.33 0-22.23-5.5-10.89-5.5-19.25-14.5H462.18q-14.83 70.2-68.21 116.42-53.39 46.22-123.87 46.22Zm419.9 0q-48.48 0-90.29-22.24-41.82-22.24-68.54-60.4h89.59q14.95 10 32.75 15 17.79 5 36.49 5 54.8 0 93.12-38.4 38.31-38.4 38.31-92.97 0-54.78-38.31-93.14-38.32-38.35-93.12-38.35-19.72 0-36.2 4.85-16.47 4.86-31.53 14.1L494.04-638.8q-20.24-4.24-32.86-18.03-12.61-13.78-12.61-33.19 0-21.44 15.35-36.43 15.35-14.98 36.07-14.98 21.73 0 36.59 14.92 14.85 14.93 14.85 36.55 0 3.96-.5 7.34t-2.5 10.38l100.61 172.17q10.76-2 22.02-3t18.94-1q80.69 0 137.38 56.54t56.69 137.61q0 79.59-56.69 136.79-56.69 57.2-137.38 57.2ZM270.11-258.57q-20.84 0-36.19-15.31-15.35-15.32-15.35-36.12 0-18.58 12.61-32.39 12.62-13.81 31.86-18.81l108.85-183.17q-30.96-29.24-48.46-66.95-17.5-37.71-17.5-78.7 0-80.78 57.22-137.41 57.21-56.64 136.93-56.64 77.72 0 133.85 53.69 56.14 53.69 60.14 130.38h-62.64q-3-51.72-40.89-86.58-37.89-34.85-90.46-34.85-54.56 0-93.04 38.31-38.47 38.32-38.47 93.04 0 42.9 25.09 76.71 25.1 33.8 63.82 47.8L317.43-328.8q2 5.97 3 10.4 1 4.44 1 8.36 0 20.84-14.83 36.16-14.84 15.31-36.49 15.31Z',
|
|
119
|
+
cloudSync: 'M167.48-156.41v-62.63h124.26q-64-48.72-100.14-109.22t-36.14-148.5q0-102.98 61.63-191.22T391.54-789.5v70.13q-71 24.57-119.36 91.21-48.35 66.64-48.35 151.4 0 62.95 26.9 114.94 26.9 51.99 87.47 91.28V-390h62.63v233.59H167.48Zm436.59 5.98q-52.14 0-88.82-36.62-36.68-36.61-36.68-88.92 0-49.41 33.59-85.6 33.6-36.19 82.56-39.39 17.95-36.24 52.29-58.36 34.34-22.11 77.07-22.11 54.94 0 94.85 34.85 39.92 34.86 47.68 85.62h2q42.48 1.44 71.84 32.28 29.35 30.83 29.35 71.79 0 44-30.78 75.23-30.79 31.23-74.95 31.23h-260ZM732.18-520q-11.01-50.28-37.33-91.45-26.32-41.18-69.81-78.01V-570h-62.87v-233.59h233.59v62.63H670.5q49 41.96 85.99 101.46Q793.48-580 801.54-520h-69.36ZM604.07-215.93h260q17 0 28.5-11.5t11.5-28.5q0-16.77-11.5-28.39-11.5-11.61-28.5-11.61h-50v-30q0-37.77-26-63.89-26-26.11-64-26.11-37.77 0-63.89 24.5-26.11 24.5-26.11 55.5h-30q-25 0-42.5 17.5t-17.5 42.5q0 25 17.5 42.5t42.5 17.5Zm120-100Z',
|
|
120
|
+
cloudUpload: 'M250.48-154.02q-88.47 0-152.23-63.6-63.75-63.6-63.75-151.9 0-79.44 49.74-140.73 49.74-61.29 128.93-73.77 20.96-97.72 95.96-159.46 75-61.74 172.94-61.74 113.89 0 191.58 81.74 77.7 81.74 79.61 196.46v24q72.72.15 122.48 49.89 49.76 49.75 49.76 124.61 0 71.61-51.79 123.05-51.8 51.45-123.19 51.45H516.93q-27.58 0-47.97-20.39t-20.39-47.74v-247l-84.2 84.43-44.91-44.67L480-590.17l160.78 160.78-45.15 44.67-84.2-84.43v247h239.18q43.72 0 75.24-31.49 31.52-31.49 31.52-75.36 0-44.04-31.49-75.45-31.49-31.4-75.36-31.4h-65.15v-86.63q0-87.91-59.7-151.14-59.7-63.23-147.56-63.23-88.39 0-148.44 64.12-60.04 64.12-60.04 152.88h-21.15q-61.11 0-103.48 42.86-42.37 42.85-42.37 105.94 0 61.09 43.33 105 43.34 43.9 104.64 43.9h137.97v68.13H250.48ZM480-445.93Z',
|
|
121
|
+
cloudDownload: 'M251-154.02q-90.08 0-153.29-62.9Q34.5-279.83 34.5-369.86q0-80.73 50.86-140.61 50.86-59.88 127.9-72.36 15.87-83.52 82.39-148.14 66.52-64.62 151.76-64.62 25.94 0 45.48 14.58 19.54 14.58 19.54 39.01v293.52L594-530.52l44.91 44.91L481-327.46 323.09-485.61 368-530.52l81.57 82.04v-285.89q-84.33 12.2-132.14 75.98-47.8 63.78-47.8 138.54h-21.15q-60.11 0-102.98 42.36-42.87 42.36-42.87 106.45 0 64.32 44.23 106.61 44.23 42.28 104.14 42.28h500q43.73 0 75.05-31.25 31.32-31.26 31.32-75.6 0-44.04-31.4-75.45-31.4-31.4-75.35-31.4h-64.05v-85.67q0-67.16-32.07-115.3t-83.07-77.35v-73.61q81.96 29 131.18 101.24 49.22 72.24 50.65 160.71v24q72.48-.08 122.36 48.95 49.88 49.02 49.88 124.84 0 71.31-51.6 122.66-51.61 51.36-122.9 51.36H251Zm229-356.33Z',
|
|
122
|
+
dns: 'M286.88-724.17q-20.88 0-35.38 14.61-14.5 14.62-14.5 35.5 0 20.89 14.62 35.39t35.5 14.5q20.88 0 35.38-14.62 14.5-14.62 14.5-35.5 0-20.88-14.62-35.38-14.62-14.5-35.5-14.5Zm0 426.19q-20.88 0-35.38 14.62-14.5 14.62-14.5 35.5 0 20.88 14.62 35.38 14.62 14.5 35.5 14.5 20.88 0 35.38-14.62 14.5-14.61 14.5-35.5 0-20.88-14.62-35.38-14.62-14.5-35.5-14.5ZM152.09-852.39h654.82q17.83 0 28.57 10.81 10.74 10.82 10.74 29.05v271.31q0 19.56-10.74 32.79t-28.57 13.23H152.09q-16.86 0-27.47-13.23-10.6-13.23-10.6-32.79v-271.31q0-18.23 10.6-29.05 10.61-10.81 27.47-10.81Zm30.06 68.37v220.69h595.7v-220.69h-595.7ZM152.09-427.2h650.82q16.83 0 30.07 14.02 13.24 14.01 13.24 32.27v266.61q0 21.96-13.24 33.63Q819.74-69 802.91-69H157.09q-17.86 0-30.47-11.67-12.6-11.67-12.6-33.63v-266.61q0-18.26 10.6-32.27 10.61-14.02 27.47-14.02Zm30.06 68.37v221.46h595.7v-221.46h-595.7Zm0-425.19v220.69-220.69Zm0 425.19v221.46-221.46Z',
|
|
123
|
+
router: 'M182.15-114.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-204q0-27.7 20.27-48.04 20.26-20.33 47.86-20.33h427.39v-163.33h68.37v163.33h99.7q27.7 0 48.03 20.33 20.34 20.34 20.34 48.04v204q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27H182.15Zm0-68.13h595.46v-204H182.15v204Zm102.11-60q17.89 0 29.89-12.11 12-12.1 12-30 0-17.89-12.1-29.89-12.11-12-30-12-17.9 0-29.9 12.1-12 12.11-12 30 0 17.9 12.11 29.9 12.1 12 30 12Zm144.41 0q17.9 0 29.9-12.11 12-12.1 12-30 0-17.89-12.11-29.89t-30-12q-17.89 0-29.89 12.1-12 12.11-12 30 0 17.9 12.1 29.9 12.11 12 30 12Zm144.41 0q17.9 0 29.9-12.11 12-12.1 12-30 0-17.89-12.11-29.89-12.1-12-30-12-17.89 0-29.89 12.1-12 12.11-12 30 0 17.9 12.1 29.9 12.11 12 30 12Zm-9.71-425.81L520.7-710.6q24-24.27 55.14-38.51 31.15-14.24 67.77-14.24 36.61 0 67.76 14.24 31.15 14.24 55.39 38.48l-42.67 42.67q-14.24-13.76-35.41-23.14-21.16-9.38-44.57-9.38t-45.08 9.38q-21.66 9.38-35.66 23.14Zm-86.67-86.67-45.68-45.91q33-33.48 89.08-59.58 56.07-26.1 123.63-26.1 67.55 0 123.63 26.1 56.07 26.1 89.07 59.58l-45.67 45.91q-25.91-28.78-69.12-48.75-43.21-19.97-98.03-19.97-54.7 0-97.81 19.98-43.1 19.98-69.1 48.74ZM182.15-182.15v-204 204Z',
|
|
124
|
+
http: 'M36.89-358.57v-242.86h50.63v85h112.37v-85h50.63v242.86h-50.63v-107H87.52v107H36.89Zm313.48 0v-192h-81.2v-50.86h213.26v50.86h-81.19v192h-50.87Zm232.39 0v-192h-81.19v-50.86h213.5v50.86h-81.44v192h-50.87Zm150.72 0v-242.86h139.43q23.72 0 37.08 13.47 13.36 13.48 13.36 36.9v60.69q0 23.77-13.36 36.6-13.36 12.84-37.08 12.84h-88.56v82.36h-50.87Zm50.87-133h88.13v-59h-88.13v59Z',
|
|
125
|
+
link: 'M447.37-274.02H280q-85.66 0-145.82-60.16-60.16-60.15-60.16-145.75 0-85.59 60.16-145.94 60.16-60.35 145.82-60.35h167.37v68.37H280.1q-57.66 0-97.8 40.05-40.15 40.05-40.15 97.56 0 57.52 40.15 97.81 40.14 40.28 97.8 40.28h167.27v68.13ZM320.93-448.57v-62.86h318.14v62.86H320.93Zm191.7 174.55v-68.13H679.9q57.66 0 97.8-40.05 40.15-40.05 40.15-97.56 0-57.52-40.15-97.81-40.14-40.28-97.8-40.28H512.63v-68.37H680q85.58 0 145.9 60.33 60.32 60.33 60.32 145.93 0 85.59-60.32 145.76-60.32 60.18-145.9 60.18H512.63Z',
|
|
126
|
+
// ---- Security & auth ----
|
|
127
|
+
key: 'M280.06-409.37q-29.02 0-49.85-20.78-20.84-20.77-20.84-49.79t20.78-49.85q20.77-20.84 49.79-20.84t49.85 20.78q20.84 20.77 20.84 49.79t-20.78 49.85q-20.77 20.84-49.79 20.84ZM280-234.5q-102.07 0-173.79-71.73Q34.5-377.96 34.5-480.06q0-102.09 71.71-173.77Q177.93-725.5 280-725.5q73.91 0 129.35 34.96 55.43 34.95 86.45 104.91h355.03L966.7-470 795.87-313.17l-88.24-64.48-87.76 63.76-75.96-60.48h-48.13q-25 60.72-79.89 100.29Q360.99-234.5 280-234.5Zm0-65.5q58.72 0 107.84-39.1 49.12-39.1 62.64-100.53h117.11l53.04 44.28 88-63 82 61.52 82.13-74.45-48.85-49.09H450.48q-11.28-56.96-59.67-98.29Q342.43-660 280-660q-75 0-127.5 52.5T100-480q0 75 52.5 127.5T280-300Z',
|
|
128
|
+
shield: 'M479.98-74.78q-142.59-35.67-234.27-164.87-91.69-129.2-91.69-283.27v-242.26L480-887.22l326.22 122.05V-523q0 154.1-91.82 283.32-91.82 129.23-234.42 164.9Zm.02-70.13q113.8-39.2 185.83-143.62 72.02-104.43 72.02-234.4v-194.4L480-814.61l-257.85 97.4v194.17q0 130.08 72.02 234.51Q366.2-184.11 480-144.91Zm0-334.85Z',
|
|
129
|
+
vpnKey: 'M280-234.5q-102.07 0-173.79-71.73Q34.5-377.96 34.5-480.06q0-102.09 71.71-173.77Q177.93-725.5 280-725.5q80.63 0 135.45 39.05 54.81 39.06 80.33 100.82H925.5v211.26h-106v137H628v-137H495.73q-25.47 61.76-80.28 100.82Q360.63-234.5 280-234.5Zm0-65.5q72.2 0 117.82-48.2 45.61-48.19 52.61-91.43H697.5v137H754v-137h106v-80.74H450.48q-7.05-43.24-52.66-91.43Q352.2-660 280-660q-75 0-127.5 52.5T100-480q0 75 52.5 127.5T280-300Zm-.06-109.37q30.26 0 50.47-20.28 20.22-20.27 20.22-50.29 0-30.26-20.16-50.47-20.16-20.22-50.41-20.22-30.02 0-50.35 20.16-20.34 20.16-20.34 50.41 0 30.02 20.28 50.35 20.27 20.34 50.29 20.34ZM280-480Z',
|
|
130
|
+
verified: 'm343.61-52.35-77.44-132.39-153.87-31.72 17.48-149.63L32.11-480l97.67-113.01-17.48-149.77 153.99-31.48 77.23-133.39 136.56 63 136.55-63 78.18 133.39 152.89 31.48-17.48 149.77L927.89-480l-97.67 113.91 17.48 149.63-152.87 31.72-78.2 132.39L480-115.3 343.61-52.35Zm30.28-89.28 106.08-44.9 109.07 44.9 66.53-99.28 116.04-29.76L759.85-389l80.04-91.02-80.04-93.02 11.76-118.29-116.04-27.76-68.44-99.28-107.09 44.87-109.08-44.87-66.46 99.34-115.87 27.6 11.52 118.39L120.11-480l80.04 91.04-11.52 120.4 115.83 27.59 69.43 99.34ZM480-480Zm-43 134.91L665.91-572l-47.15-42.91-181.76 180-94.76-99.24L294.09-487 437-345.09Z',
|
|
131
|
+
security: 'M479.98-73.78q-142.59-35.67-234.27-164.87-91.69-129.2-91.69-283.27v-242.26L480-886.22l326.22 122.05V-522q0 154.1-91.82 283.32-91.82 129.23-234.42 164.9Zm.02-70.13q104.8-35.96 173.82-128.39 69.01-92.44 81.03-207.73H480v-332.58l-257.85 96.4V-522q0 11.76.5 20.5t2.48 21.5H480v336.09Z',
|
|
132
|
+
policy: 'M480-73.78q-142.58-35.67-234.28-164.87-91.7-129.2-91.7-283.27v-242.26L480-886.22l326.22 122.05V-522q0 80.87-22.94 158.57-22.93 77.69-76.93 143.69l-144.31-138.3q-18.76 10.52-39.68 17.28Q501.44-334 480-334q-62 0-105.5-43T331-482.5q0-62.5 43.5-106T480-632q62 0 105.5 43.5T629-482q0 20.76-5.7 41.52t-18.34 37.28l85.61 81.85q24-42.52 35.64-94.66 11.64-52.14 11.64-105.94v-196.86L480-812.61l-257.85 93.92v196.65q0 130.08 72.02 234.51Q366.2-183.11 480.2-143.91q27.6-7.76 67.67-31.81 40.06-24.04 62.87-46.32l48.22 48.74q-35.24 32-84.22 60.38Q525.76-84.54 480-73.78Zm.24-322.85q35.56 0 60.85-24.81 25.28-24.82 25.28-61.09t-25.52-61.56q-25.52-25.28-61.09-25.28-35.56 0-60.85 25.31-25.28 25.32-25.28 61.59t25.52 61.06q25.52 24.78 61.09 24.78Zm2.35-82.83Z',
|
|
133
|
+
adminPanelSettings: 'M691.24-270q26 0 44.12-19 18.12-19 18.12-44.88 0-25.88-18.24-44T691.36-396q-26.12 0-45 18.12t-18.88 44q0 25.88 18.88 44.88 18.88 19 44.88 19Zm-1.26 125q33.5 0 60.35-13.88t46.15-39.88q-26.24-14-52.24-21.12Q718.23-227 690.4-227q-27.92 0-54.54 7.12-26.62 7.12-51.62 21.12 19 26 45.45 39.88Q656.15-145 689.98-145ZM480-73.78q-140.58-32.67-233.28-158.97-92.7-126.29-92.7-289.29v-243.14L480-887.22l326.22 122.15v277.66q-16.15-8.92-34-15.4-17.85-6.47-34.37-8.67v-206.05L480-812.61l-257.85 95v195.51q0 76.58 24.62 140.22t62.5 111.42q37.88 47.79 83.16 79.07 45.29 31.28 86.61 44.56 6.24 14.87 19.92 32.15 13.67 17.27 24.78 26.22-10.44 5.72-21.87 8.58-11.44 2.86-21.87 6.1ZM692.5-80Q615-80 560-135.5T505-267q0-78.43 54.99-133.72Q614.98-456 693-456q77 0 132.5 55.28Q881-345.43 881-267q0 76-55.5 131.5T692.5-80ZM480-479.72Z',
|
|
134
|
+
// ---- Logic & flow ----
|
|
135
|
+
altRoute: 'M445.93-74.02v-194.26q0-46.81-15.04-78.64-15.04-31.84-49-65.56l48.74-48.74q12.04 10.52 26.07 28.81 14.02 18.28 23.3 33.08 16.52-24.8 32.54-43.56 16.03-18.76 31.5-31.76 60.87-47.48 86.13-114.46 25.26-66.98 19.03-167.32l-90 90-47.74-47.74L683.5-886.22l172.04 172.05-47.74 47.74-90-90q4.29 121.45-24.62 194.43-28.9 72.98-103.88 139.8-45.91 41.2-60.57 74.8-14.66 33.6-14.66 79.12v194.26h-68.14ZM248.67-627.87q-4-17.52-6.74-52.14-2.73-34.62-.73-75.42l-88.77 89-47.97-47.74L276.5-886.22l171.8 172.05-47.73 47.74-89.77-90q-2.23 36.56-1.23 64.34 1 27.79 5.23 48.07l-66.13 16.15Zm87.83 171.96q-17.96-18.48-38.93-47.86-20.98-29.38-32.22-62.47l68.08-17.39q8.53 22.85 23.17 44.65 14.64 21.81 27.4 35.33l-47.5 47.74Z',
|
|
136
|
+
callSplit: 'M447.93-154.02v-310.31L222.15-690.11v117.26h-68.13v-233.37h233.13v68.37H270.89l245.18 245.18v338.65h-68.14Zm122.81-369.74L523-571.5l165.87-166.35H572.85v-68.37h233.37v233.37h-68.37v-117.02L570.74-523.76Z',
|
|
137
|
+
callMerge: 'm272-154.02-47.74-48.74L443.93-422.2v-292.47L326-596.74l-48.74-48.74L478-846.22l200.74 200.74L630-596.74 512.07-714.67v320.58L272-154.02Zm409.24 0-162-162 48.5-48.74 162 162-48.5 48.74Z',
|
|
138
|
+
rule: 'm573.85-153.3-47.74-47.74L634-308.93l-107.89-107.9 47.74-47.74 107.89 107.9 108.13-107.9 47.74 47.74-108.13 107.9 108.13 107.89-47.74 47.74-108.13-107.9-107.89 107.9Zm84.43-374.96L510.3-676l47.98-47.74 100 99 179-179.24L885.02-755 658.28-528.26ZM74.98-285.93v-68.14h364.06v68.14H74.98Zm0-320v-68.14h364.06v68.14H74.98Z',
|
|
139
|
+
filterAlt: 'M440-154.02q-19.39 0-32.68-13.3-13.3-13.29-13.3-32.68v-237.85L156.46-741.41q-16.39-20.11-4.84-42.46T188-806.22h584q24.83 0 36.38 22.35 11.55 22.35-4.6 42.46L566.22-437.85v239.76q0 18.92-12.7 31.49-12.69 12.58-31.61 12.58H440Zm40-285.57 235.46-298.26H244.78L480-439.59Zm0 0Z',
|
|
140
|
+
repeat: 'M278.33-73.78 114.02-238.33l164.31-164.3 46.54 48.3-82.89 82.9h457.78v-160h66.46v226.45H241.98l82.89 82.65-46.54 48.55Zm-84.31-453.11v-226.46h524.24L635.37-836l46.54-48.54L846.22-720 681.91-555.46 635.37-604l82.89-82.89H260.48v160h-66.46Z',
|
|
141
|
+
sort: 'M114.02-227.8v-68.13h249.09v68.13H114.02Zm0-218.13v-68.14h490.52v68.14H114.02Zm0-218.14v-67.89h732.2v67.89h-732.2Z',
|
|
142
|
+
// ---- Actions & status ----
|
|
143
|
+
bolt: 'M454-315.15 278.39-516.76l48.98-48.5L445.93-446.7v-359.52h68.14v359.52l118.56-118.56 48.98 48.5L480-315.15ZM222.15-154.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-143h68.13v143h515.7v-143h68.37v143q0 27.58-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Z',
|
|
144
|
+
build: 'M704.04-120.11 442.93-382.98q-22.52 7.76-44.76 12.4-22.24 4.65-46.8 4.65-99.48 0-168.99-69.39-69.51-69.38-69.51-168.11 0-31.48 8.76-62.43 8.75-30.94 23.67-57.4l146.28 146.19 91.92-86-150.2-150.19q25.68-15.16 56.64-24.42 30.95-9.25 61.43-9.25 101.36 0 172.31 71.02t70.95 172.48q0 23.57-4.64 46.18-4.64 22.62-12.4 45.62L839.7-250.76q12.67 12.78 12.67 30.42t-12.67 30.23l-76 70q-12.32 12.44-29.77 12.44t-29.89-12.44Zm31.83-60.82 40-40-278.5-278.5q16-21 24-49.5t8-54.5q0-75-55.5-127t-126.5-53l98.89 100.89q10.2 10.37 9.7 24.69-.5 14.33-10.7 24.52L318.48-514.54q-10.8 9.43-24.9 9.43-14.1 0-23.32-9.43l-94.89-93.89q3 77 54.67 127t121.33 50q25 0 53-8t49-24l282.5 282.5ZM476.24-482.57Z',
|
|
145
|
+
rocketLaunch: 'm188.91-556.74 101.7 43.33q17.28-33.85 36.71-67.18 19.42-33.32 40.98-63.89l-76.37-15.28-103.02 103.02Zm156.39 84.11 131.33 131.56q58.44-27.43 107.48-59.59 49.04-32.17 79.8-62.93 80.05-80.28 117.81-163.84Q819.48-711 823.2-819.2q-108.2 3.72-191.77 41.48-83.56 37.76-163.6 117.81-30.76 30.76-62.93 79.8-32.16 49.04-59.6 107.48Zm231.16-99.59q-19.76-19.76-19.76-48.66 0-28.9 19.76-48.66 19.76-19.53 48.54-19.53 28.78 0 48.54 19.53 19.53 19.76 19.53 48.66 0 28.9-19.53 48.66Q653.78-552.7 625-552.7q-28.78 0-48.54-19.52ZM560.5-184.91l103.26-103.02-15.28-76.37q-30.57 21.56-63.89 41.1-33.33 19.55-67.18 36.59l43.09 101.7Zm331.26-702.61q8.52 143.17-35.08 257.09-43.59 113.91-142.11 212.67-1.48 1.24-2.96 2.84-1.48 1.59-2.72 2.83l22 110.48q3.48 17.15-1.74 33.19-5.22 16.03-17.65 28.46L537.87-65.33l-88.83-206.84-172.87-172.87-206.84-88.83L244.2-707.5q12.43-12.43 28.34-17.65 15.92-5.22 33.07-1.74l110.48 22q1.24-1.24 2.71-2.1 1.48-.86 2.96-2.1 98.76-99 212.79-142.98 114.04-43.97 257.21-35.45ZM141.59-324.04q36.91-36.92 89.56-37.3 52.65-.38 89.33 36.3 36.43 36.43 36.05 89.2-.38 52.77-37.05 89.45-27.68 27.67-85.64 45.63-57.97 17.96-168.64 32 14.04-110.67 31.5-169.26 17.45-58.59 44.89-86.02Zm47.98 48.74q-13.77 14.76-23.93 44.84-10.16 30.09-18.16 78.66 48.56-8 78.65-18.41 30.09-10.4 44.61-24.16 18.28-16.04 18.54-40.35.26-24.3-16.78-42.58-18.28-17.05-42.59-16.55-24.3.5-40.34 18.55Z',
|
|
146
|
+
send: 'M114.5-154.26v-651.48L887.17-480 114.5-154.26ZM180-255.63 717.3-480 180-707.37v162.74L424.63-480 180-417.37v161.74Zm0 0v-451.74 451.74Z',
|
|
147
|
+
sync: 'M167.48-156.41v-62.63H291.5l-12.61-10.33q-64.24-52.2-93.84-112.55-29.59-60.36-29.59-135.08 0-108.87 65.37-195.04 65.37-86.18 170.71-117.46v70.13q-75.24 27.57-121.47 94.59-46.24 67.02-46.24 147.78 0 62.04 23.14 107.71 23.14 45.66 62.66 79.18l28.57 19.57V-390h62.63v233.59H167.48Zm401.98-13.09v-71.13q76.24-27.57 121.47-94.59 45.24-67.02 45.24-147.78 0-47.04-23.26-95.71-23.26-48.66-60.3-86.18l-27.57-24.57V-570h-62.87v-233.59h233.59v62.63H670.5l12.85 12.33q60.48 56.48 90.83 121.2 30.36 64.71 30.36 124.43 0 108.87-64.87 195.54-64.87 86.68-170.21 117.96Z',
|
|
148
|
+
refresh: 'M479.28-154.02q-135.39 0-230.68-95.3-95.3-95.29-95.3-230.62 0-135.33 95.3-230.81 95.29-95.47 230.68-95.47 86.44 0 151.73 35.03 65.29 35.04 113.06 96.36v-131.39h62.86v262.85H543.85V-606h167.04q-38.24-59.04-96.28-95.45-58.04-36.4-135.33-36.4-108.1 0-182.97 74.86-74.88 74.86-74.88 182.95 0 108.08 74.88 182.99 74.87 74.9 182.98 74.9q81.8 0 150.2-46.9 68.4-46.91 95.64-123.95h70.37q-29.24 107.39-116.97 173.18-87.74 65.8-199.25 65.8Z',
|
|
149
|
+
// ---- Communication ----
|
|
150
|
+
notifications: 'M154.02-194.02v-68.13h77.85v-298.02q0-86.08 50.34-154.77 50.33-68.69 133.72-86.41v-20.56q0-26.8 18.69-45.55 18.69-18.76 45.38-18.76t45.38 18.76q18.69 18.75 18.69 45.55v20.56q83.39 17.48 133.84 86.25 50.46 68.77 50.46 154.93v298.02h77.85v68.13h-652.2ZM480-501.04Zm.12 429.17q-33.83 0-57.93-24.13t-24.1-58.02h164.06q0 33.95-24.15 58.05-24.15 24.1-57.88 24.1ZM300-262.15h360v-298.02q0-74.76-52.5-127.38Q555-740.17 480-740.17t-127.5 52.62Q300-634.93 300-560.17v298.02Z',
|
|
151
|
+
email: 'M154.02-194.02v-62.63h625.96v62.63H154.02Zm0-218.13v-68.14h625.96v68.14H154.02Zm0-218.14v-67.89h732.2v67.89h-732.2Z',
|
|
152
|
+
campaign: 'M732.63-447.37v-65.26H891v65.26H732.63Zm55.74 292.87-127.7-95.02 39.35-52.31 127.46 94.79-39.11 52.54Zm-85.35-504.67-39.35-52.31 124.7-94.02 39.11 52.3-124.46 94.03ZM199-194.02v-160h-64.5q-27.38-.96-46.44-20.87T69-422.15v-115.7q0-28.2 20.08-48.28 20.09-20.09 48.29-20.09H313.3l207.9-124.54v501.52L313.3-354.02h-44.97v160H199Zm253.83-155.57v-260.82l-121.85 72.56H137.37v115.7h193.61l121.85 72.56Zm108.37 9.57v-280.2q29.63 24.72 47.56 61.01 17.94 36.3 17.94 79.21t-17.89 79.18q-17.89 36.27-47.61 60.8ZM295.22-480Z',
|
|
153
|
+
// ---- Scheduling ----
|
|
154
|
+
event: 'M596.82-220Q556-220 528-248.18q-28-28.19-28-69Q500-358 528.18-386q28.19-28 69-28Q638-414 666-385.82q28 28.19 28 69Q694-276 665.82-248q-28.19 28-69 28ZM182.15-74.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-615.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34H245v-60h69.07v60h331.86v-60H715v60h62.85q27.7 0 48.03 20.34 20.34 20.33 20.34 48.03v615.7q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-595.7Zm0-68.13h595.7V-570h-595.7v427.85Zm0-487.85h595.7v-127.85h-595.7V-630Zm0 0v-127.85V-630Z',
|
|
155
|
+
schedule: 'm624.37-286.04 49.06-48.59-157.8-158.86v-198.55h-65.26v224.89l174 181.11ZM480.03-74.02q-83.46 0-157.51-31.95-74.05-31.94-129.32-87.21-55.28-55.26-87.23-129.3-31.95-74.03-31.95-157.49 0-83.46 32-157.54 32-74.07 87.2-129.27 55.2-55.2 129.25-87.32 74.05-32.12 157.53-32.12t157.53 32.12q74.05 32.12 129.25 87.32 55.2 55.2 87.32 129.25 32.12 74.05 32.12 157.53T854.1-322.47q-32.12 74.05-87.32 129.25-55.2 55.2-129.24 87.2t-157.51 32Zm.12 337.85q139.16 0 238.57-99.17 99.4-99.16 99.4-238.56t-99.37-238.69Q619.11-817.85 480-817.85q-139.28 0-238.57 99.26-99.28 99.25-99.28 238.59 0 139.52 99.28 238.68 99.28 99.17 238.45 99.17Z',
|
|
156
|
+
timer: 'M354.5-860v-65.5h251v65.5h-251Zm92.87 452.02h65.26v-230.48h-65.26v230.48ZM479.94-70q-75.49 0-142.05-28.94-66.56-28.94-116.36-78.7-49.79-49.75-78.65-116.29-28.86-66.54-28.86-142.01 0-75.47 28.88-142.04 28.88-66.56 78.68-116.4 49.79-49.84 116.35-78.83Q404.5-802.2 480-802.2q67.48 0 127.08 22.5 59.59 22.5 105.83 62.74l53.16-53.15 46.3 46.07-53.15 53.15q36.24 40.48 61.62 97.96 25.38 57.47 25.38 136.95 0 75.52-28.96 142.11-28.95 66.59-78.78 116.31T622.04-98.92Q555.43-70 479.94-70Zm.02-68.37q124.32 0 211.11-86.62 86.78-86.62 86.78-210.95 0-124.32-86.74-211.1-86.75-86.79-211.07-86.79t-211.11 86.75q-86.78 86.74-86.78 211.06 0 124.32 86.74 210.99 86.75 86.66 211.07 86.66Zm.04-296.61Z',
|
|
157
|
+
// ---- General tools ----
|
|
158
|
+
terminal: 'M795.76-114.3 531.33-378.5q-29.76 25.26-69.6 39.41-39.84 14.16-85.16 14.16-109.84 0-185.96-76.2Q114.5-477.33 114.5-585t76.2-183.87q76.19-76.2 184.37-76.2 108.17 0 183.86 76.2 75.7 76.2 75.7 184.02 0 43.33-13.64 82.97t-40.92 74.4L845.5-164.04l-49.74 49.74ZM375.65-393.07q79.73 0 135.29-56.24Q566.5-505.55 566.5-585q0-79.45-55.6-135.69-55.59-56.24-135.25-56.24-80.49 0-136.76 56.24-56.26 56.24-56.26 135.69 0 79.45 56.23 135.69 56.23 56.24 136.79 56.24Z',
|
|
159
|
+
settings: 'M480.12-330q70.88 0 120.38-49.62t49.5-120.5q0-70.88-49.62-120.38T479.88-670Q409-670 359.5-620.38T310-499.88q0 70.88 49.62 120.38t120.5 49.5Zm-.3-61.83q-45.15 0-76.57-31.6-31.42-31.6-31.42-76.75t31.6-76.57q31.6-31.42 76.75-31.42t76.57 31.6q31.42 31.6 31.42 76.75t-31.6 76.57q-31.6 31.42-76.75 31.42ZM480-194.5q-147.91 0-267.35-84.67Q93.22-363.85 34.5-500q58.72-136.15 178.15-220.83Q332.09-805.5 480-805.5q147.91 0 267.35 84.67Q866.78-636.15 925.5-500q-58.72 136.15-178.15 220.83Q627.91-194.5 480-194.5Zm0-305.5Zm-.15 240q121 0 222.34-65.5Q803.52-391 856.52-500q-53-109-154.19-174.5Q601.15-740 480.15-740t-222.34 65.5Q156.48-609 102.48-500q54 109 155.19 174.5Q358.85-260 479.85-260Z',
|
|
160
|
+
tune: 'M425.57-114.5V-345h65.5v83h353v65.5h-353v82h-65.5Zm-309.64-82V-262h252.5v65.5h-252.5Zm187-168.87v-82h-187v-65.26h187v-84h65.5v231.26h-65.5Zm122.64-82v-65.26h418.5v65.26h-418.5Zm166-167.63v-230.5h65.5v82h187v65.5h-187v83h-65.5Zm-475.64-83v-65.5h418.5v65.5h-418.5Z',
|
|
161
|
+
search: 'M795.76-114.3 531.33-378.5q-29.76 25.26-69.6 39.41-39.84 14.16-85.16 14.16-109.84 0-185.96-76.2Q114.5-477.33 114.5-585t76.2-183.87q76.19-76.2 184.37-76.2 108.17 0 183.86 76.2 75.7 76.2 75.7 184.02 0 43.33-13.64 82.97t-40.92 74.4L845.5-164.04l-49.74 49.74ZM375.65-393.07q79.73 0 135.29-56.24Q566.5-505.55 566.5-585q0-79.45-55.6-135.69-55.59-56.24-135.25-56.24-80.49 0-136.76 56.24-56.26 56.24-56.26 135.69 0 79.45 56.23 135.69 56.23 56.24 136.79 56.24Z',
|
|
162
|
+
save: 'M846.22-685.63v503.48q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-595.7q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-595.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h503.48l160.59 160.59Zm-68.37 30.59L655.04-777.85H182.15v595.7h595.7v-472.89ZM479.76-247.15q43.24 0 73.74-30.27 30.5-30.26 30.5-73.5 0-43.23-30.26-73.73-30.27-30.5-73.5-30.5-43.24 0-73.74 30.26-30.5 30.27-30.5 73.5 0 43.24 30.26 73.74 30.27 30.5 73.5 30.5Zm-244.61-334.7h358v-143h-358v143Zm-53-73.19v472.89-595.7 122.81Z',
|
|
163
|
+
upload: 'M445.93-315.15v-359.52l-118.56 118.8-48.98-48.74L480-806.22l201.61 201.61-48.98 48.74-118.56-118.8v359.52h-68.14ZM222.15-154.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-143h68.13v143h515.7v-143h68.37v143q0 27.58-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Z',
|
|
164
|
+
download: 'M480-315.15 278.39-516.76l48.98-48.5L445.93-446.7v-359.52h68.14v359.52l118.56-118.56 48.98 48.5L480-315.15ZM222.15-154.02q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-143h68.13v143h515.7v-143h68.37v143q0 27.58-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Z',
|
|
165
|
+
edit: 'M181.91-182.15h44.24l459.81-458.81-43.76-44-460.29 459.05v43.76Zm-67.89 68.13V-253.5l574.52-573.76q8.24-8.48 19.81-13.22 11.56-4.74 24.11-4.74 11.47 0 22.95 4.74 11.48 4.74 21.2 12.98l51.89 51.17q9.24 9.72 13.48 21.32t4.24 23.31q0 11.72-4.74 23.7-4.74 11.98-12.98 20.46L253.74-114.02H114.02ZM775.17-732.7l-41.24-41.47 41.24 41.47ZM664.2-663.2l-22-21.76 43.76 44-21.76-22.24Z',
|
|
166
|
+
delete: 'M259.09-114.02q-28.45 0-48.41-19.89-19.96-19.89-19.96-48.24v-565.94h-45.07v-68.13h198.28v-34.3h271.9v34.3h198.52v68.13h-45.07v565.94q0 27.6-20.33 47.86-20.34 20.27-48.04 20.27H259.09Zm441.82-634.07H259.09v565.94h441.82v-565.94ZM363.89-266.24h64.07v-399h-64.07v399Zm168.15 0h64.31v-399h-64.31v399ZM259.09-748.09v565.94-565.94Z',
|
|
167
|
+
// ---- Status ----
|
|
168
|
+
checkCircle: 'm420.52-294.41 285.63-285.63-50.78-50.03-234.85 234.85-117.85-117.85-49.78 50.03 167.63 168.63Zm59.51 220.39q-83.46 0-157.54-31.88-74.07-31.88-129.39-87.2-55.32-55.32-87.2-129.36-31.88-74.04-31.88-157.51 0-84.46 31.88-158.54 31.88-74.07 87.16-128.9 55.28-54.84 129.34-86.82 74.06-31.99 157.55-31.99 84.48 0 158.59 31.97 74.1 31.97 128.91 86.77 54.82 54.8 86.79 128.88 31.98 74.08 31.98 158.6 0 83.5-31.99 157.57-31.98 74.07-86.82 129.36-54.83 55.29-128.87 87.17-74.04 31.88-158.51 31.88Zm-.03-68.13q141.04 0 239.45-98.75 98.4-98.76 98.4-239.1 0-141.04-98.4-239.45-98.41-98.4-239.57-98.4-140.16 0-238.95 98.4-98.78 98.41-98.78 239.57 0 140.16 98.75 238.95 98.76 98.78 239.1 98.78ZM480-480Z',
|
|
169
|
+
error: 'M479.93-274.02q16.46 0 27.4-10.74 10.93-10.75 10.93-27.21t-10.86-27.52q-10.86-11.05-27.33-11.05-16.46 0-27.4 11.03-10.93 11.04-10.93 27.5 0 16.47 10.86 27.23 10.86 10.76 27.33 10.76Zm-31-158.74h68.14v-257.07h-68.14v257.07ZM480.3-74.02q-84.2 0-158.04-31.88-73.84-31.88-129.16-87.2-55.32-55.32-87.2-129.2-31.88-73.88-31.88-158.17 0-84.28 31.88-158.2 31.88-73.91 87.16-128.74 55.28-54.84 129.18-86.82 73.9-31.99 158.21-31.99 84.3 0 158.25 31.97 73.94 31.97 128.75 86.77 54.82 54.8 86.79 128.88 31.98 74.08 31.98 158.33 0 84.24-31.99 158.07-31.98 73.84-86.82 128.95-54.83 55.1-128.87 87.17Q564.5-74.02 480.3-74.02Zm.2-68.13q140.54 0 238.95-98.75 98.4-98.76 98.4-239.6 0-140.54-98.22-238.95-98.21-98.4-239.75-98.4-140.16 0-238.95 98.22-98.78 98.21-98.78 239.75 0 140.16 98.75 238.95 98.76 98.78 239.6 98.78ZM480-480Z',
|
|
170
|
+
warning: 'M34.74-116.89 480-886.22l445.26 769.33H34.74Zm113.8-65.74h662.92L480-754.98 148.54-182.63Zm335.64-54.85q12.96 0 21.87-9.08 8.91-9.09 8.91-22.05t-9.09-21.75q-9.08-8.79-22.05-8.79-12.96 0-21.87 8.96-8.91 8.97-8.91 21.93 0 12.96 9.09 21.87 9.08 8.91 22.05 8.91ZM454-348h60v-222.09h-60V-348Zm26-120.8Z',
|
|
171
|
+
info: 'M450.37-277.37h65.26V-520h-65.26v242.63ZM480-590.41q15.55 0 26.07-10.23 10.52-10.24 10.52-25.36 0-16.24-10.52-26.92-10.51-10.67-26.05-10.67-15.81 0-26.21 10.67-10.4 10.68-10.4 26.8 0 15.27 10.52 25.49 10.52 10.22 26.07 10.22Zm.3 516.39q-84.2 0-158.04-31.88-73.84-31.88-129.16-87.2-55.32-55.32-87.2-129.2-31.88-73.88-31.88-158.17 0-84.28 31.88-158.2 31.88-73.91 87.16-128.74 55.28-54.84 129.18-86.82 73.9-31.99 158.21-31.99 84.3 0 158.25 31.97 73.94 31.97 128.75 86.77 54.82 54.8 86.79 128.88 31.98 74.08 31.98 158.33 0 84.24-31.99 158.07-31.98 73.84-86.82 128.95-54.83 55.1-128.87 87.17Q564.5-74.02 480.3-74.02Zm.2-68.13q140.54 0 238.95-98.75 98.4-98.76 98.4-239.6 0-140.54-98.22-238.95-98.21-98.4-239.75-98.4-140.16 0-238.95 98.22-98.78 98.21-98.78 239.75 0 140.16 98.75 238.95 98.76 98.78 239.6 98.78ZM480-480Z',
|
|
172
|
+
help: 'M483.52-247q16.48 0 28.2-11.72 11.71-11.71 11.71-28.35 0-16.63-11.71-28.19-11.72-11.57-28.32-11.57t-28.19 11.55q-11.6 11.54-11.6 28.33 0 16.52 11.63 28.23Q466.87-247 483.52-247Zm-36.91-146h62.59q0-25.52 6.5-47.02 6.5-21.5 39.78-49.02 30.52-25.05 43.4-50.34 12.88-25.29 12.88-55.69 0-53.69-34.09-86.05t-91.19-32.36q-49.72 0-88.06 25.46-38.33 25.45-55.81 69.45l56.82 21.4q11.24-28.24 32.88-43.62 21.64-15.38 50.21-15.38 31.73 0 51.83 17.58 20.11 17.58 20.11 45.47 0 21.12-12.64 40.38-12.65 19.26-36.45 39.07-29.52 25.52-44.14 51.75-14.62 26.24-14.62 68.92Zm33.42 318.98q-83.46 0-157.54-31.88-74.07-31.88-129.39-87.2-55.32-55.32-87.2-129.36-31.88-74.04-31.88-157.51 0-84.46 31.88-158.54 31.88-74.07 87.16-128.9 55.28-54.84 129.34-86.82 74.06-31.99 157.55-31.99 84.48 0 158.59 31.97 74.1 31.97 128.91 86.77 54.82 54.8 86.79 128.88 31.98 74.08 31.98 158.6 0 83.5-31.99 157.57-31.98 74.07-86.82 129.36-54.83 55.29-128.87 87.17-74.04 31.88-158.51 31.88Zm-.03-68.13q141.04 0 239.45-98.75 98.4-98.76 98.4-239.1 0-141.04-98.4-239.45-98.41-98.4-239.57-98.4-140.16 0-238.95 98.4-98.78 98.41-98.78 239.57 0 140.16 98.75 238.95 98.76 98.78 239.1 98.78ZM480-480Z',
|
|
173
|
+
visibility: 'M480.12-330q70.88 0 120.38-49.62t49.5-120.5q0-70.88-49.62-120.38T479.88-670Q409-670 359.5-620.38T310-499.88q0 70.88 49.62 120.38t120.5 49.5Zm-.3-61.83q-45.15 0-76.57-31.6-31.42-31.6-31.42-76.75t31.6-76.57q31.6-31.42 76.75-31.42t76.57 31.6q31.42 31.6 31.42 76.75t-31.6 76.57q-31.6 31.42-76.75 31.42ZM480-194.5q-147.91 0-267.35-84.67Q93.22-363.85 34.5-500q58.72-136.15 178.15-220.83Q332.09-805.5 480-805.5q147.91 0 267.35 84.67Q866.78-636.15 925.5-500q-58.72 136.15-178.15 220.83Q627.91-194.5 480-194.5Zm0-305.5Zm-.15 240q121 0 222.34-65.5Q803.52-391 856.52-500q-53-109-154.19-174.5Q601.15-740 480.15-740t-222.34 65.5Q156.48-609 102.48-500q54 109 155.19 174.5Q358.85-260 479.85-260Z',
|
|
174
|
+
// ---- Files ----
|
|
175
|
+
folder: 'M142.15-154.02q-27.6 0-47.86-20.77-20.27-20.76-20.27-47.36v-515.7q0-26.7 20.27-47.53 20.26-20.84 47.86-20.84h276.22L481-743.35h336.85q26.7 0 47.53 20.77 20.84 20.76 20.84 47.36v453.07q0 26.6-20.84 47.36-20.83 20.77-47.53 20.77h-675.7Zm0-68.13h675.7v-453.07h-365.2l-62.63-62.63H142.15v515.7Zm0 0v-515.7 515.7Z',
|
|
176
|
+
description: 'M319-249.52h322v-62.63H319v62.63Zm0-170h322v-62.63H319v62.63Zm-96.85 345.5q-27.6 0-47.86-20.27-20.27-20.26-20.27-47.86v-675.7q0-27.7 20.27-48.03 20.26-20.34 47.86-20.34h361.48l222.59 222.59v521.48q0 27.6-20.34 47.86-20.33 20.27-48.03 20.27h-515.7Zm326.7-557.83v-186h-326.7v675.7h515.7v-489.7h-189Zm-326.7-186v186-186 675.7-675.7Z',
|
|
177
|
+
attachFile: 'M737.33-324.39q0 105.46-74.69 177.91-74.69 72.46-180.26 72.46-105.58 0-180.35-72.46-74.77-72.45-74.77-177.85v-383.82q0-74.63 53.41-126.35 53.42-51.72 127.75-51.72 74.34 0 127.69 51.72 53.35 51.72 53.35 126.35v363.82q0 43.66-31.56 74.62-31.55 30.97-75.81 30.97-44.26 0-75.61-30.64t-31.35-74.95v-370h66.46v370q0 16.05 11.97 27.59t29.2 11.54q17.24 0 28.74-11.5 11.5-11.51 11.5-27.63v-363.58q.24-47.35-33.38-79.6-33.62-32.25-81.35-32.25-47.74 0-81.14 32.19-33.41 32.19-33.41 79.42v383.82q.24 77.83 55.57 130.96 55.33 53.13 133.62 53.13 77.86 0 133.03-53.16 55.17-53.17 54.93-130.93v-396.93h66.46v396.87Z',
|
|
178
|
+
};
|
|
179
|
+
// ---- Helpers ----
|
|
180
|
+
function darkenHex(hex, amount) {
|
|
181
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
182
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
183
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
184
|
+
const nr = Math.round(r * (1 - amount));
|
|
185
|
+
const ng = Math.round(g * (1 - amount));
|
|
186
|
+
const nb = Math.round(b * (1 - amount));
|
|
187
|
+
return `#${nr.toString(16).padStart(2, '0')}${ng.toString(16).padStart(2, '0')}${nb.toString(16).padStart(2, '0')}`;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { TDataType } from '../ast/types.js';
|
|
2
|
+
export interface DiagramOptions {
|
|
3
|
+
theme?: 'dark' | 'light';
|
|
4
|
+
width?: number;
|
|
5
|
+
padding?: number;
|
|
6
|
+
showPortLabels?: boolean;
|
|
7
|
+
workflowName?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface DiagramPort {
|
|
10
|
+
name: string;
|
|
11
|
+
label: string;
|
|
12
|
+
dataType: TDataType;
|
|
13
|
+
direction: 'INPUT' | 'OUTPUT';
|
|
14
|
+
isControlFlow: boolean;
|
|
15
|
+
isFailure: boolean;
|
|
16
|
+
cx: number;
|
|
17
|
+
cy: number;
|
|
18
|
+
}
|
|
19
|
+
export interface DiagramNode {
|
|
20
|
+
id: string;
|
|
21
|
+
label: string;
|
|
22
|
+
color: string;
|
|
23
|
+
icon: string;
|
|
24
|
+
isVirtual: boolean;
|
|
25
|
+
inputs: DiagramPort[];
|
|
26
|
+
outputs: DiagramPort[];
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
scopeChildren?: DiagramNode[];
|
|
32
|
+
scopeConnections?: DiagramConnection[];
|
|
33
|
+
scopePorts?: {
|
|
34
|
+
inputs: DiagramPort[];
|
|
35
|
+
outputs: DiagramPort[];
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export interface DiagramConnection {
|
|
39
|
+
fromNode: string;
|
|
40
|
+
fromPort: string;
|
|
41
|
+
toNode: string;
|
|
42
|
+
toPort: string;
|
|
43
|
+
sourceColor: string;
|
|
44
|
+
targetColor: string;
|
|
45
|
+
isStepConnection: boolean;
|
|
46
|
+
path: string;
|
|
47
|
+
}
|
|
48
|
+
export interface DiagramGraph {
|
|
49
|
+
nodes: DiagramNode[];
|
|
50
|
+
connections: DiagramConnection[];
|
|
51
|
+
bounds: {
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
};
|
|
55
|
+
workflowName: string;
|
|
56
|
+
}
|
|
57
|
+
export interface ThemePalette {
|
|
58
|
+
background: string;
|
|
59
|
+
nodeFill: string;
|
|
60
|
+
nodeStroke: string;
|
|
61
|
+
labelColor: string;
|
|
62
|
+
sublabelColor: string;
|
|
63
|
+
connectionColor: string;
|
|
64
|
+
dotColor: string;
|
|
65
|
+
labelBadgeFill: string;
|
|
66
|
+
labelBadgeBorder: string;
|
|
67
|
+
nodeIconColor: string;
|
|
68
|
+
scopeAreaStroke: string;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowDiffer - Semantic diff for workflows.
|
|
3
|
+
* Compares semantic fields, ignores visual/metadata fields.
|
|
4
|
+
*/
|
|
5
|
+
import type { TWorkflowAST } from '../ast/types.js';
|
|
6
|
+
import type { TWorkflowDiff } from './types.js';
|
|
7
|
+
export declare class WorkflowDiffer {
|
|
8
|
+
/**
|
|
9
|
+
* Compare two workflows and return semantic diff
|
|
10
|
+
*/
|
|
11
|
+
static compare(before: TWorkflowAST, after: TWorkflowAST): TWorkflowDiff;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=WorkflowDiffer.d.ts.map
|