@orbytautomation/engine 0.1.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/README.md +0 -0
- package/dist/adapters/AdapterRegistry.d.ts +129 -0
- package/dist/adapters/AdapterRegistry.d.ts.map +1 -0
- package/dist/adapters/AdapterRegistry.js +236 -0
- package/dist/adapters/AdapterRegistry.js.map +1 -0
- package/dist/adapters/StepAdapter.d.ts +2 -0
- package/dist/adapters/StepAdapter.d.ts.map +1 -0
- package/dist/adapters/StepAdapter.js +2 -0
- package/dist/adapters/StepAdapter.js.map +1 -0
- package/dist/adapters/WorkflowAdapter.d.ts +2 -0
- package/dist/adapters/WorkflowAdapter.d.ts.map +1 -0
- package/dist/adapters/WorkflowAdapter.js +2 -0
- package/dist/adapters/WorkflowAdapter.js.map +1 -0
- package/dist/adapters/builtins/CLIAdapter.d.ts +38 -0
- package/dist/adapters/builtins/CLIAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/CLIAdapter.js +173 -0
- package/dist/adapters/builtins/CLIAdapter.js.map +1 -0
- package/dist/adapters/builtins/CLICommandResolver.d.ts +49 -0
- package/dist/adapters/builtins/CLICommandResolver.d.ts.map +1 -0
- package/dist/adapters/builtins/CLICommandResolver.js +63 -0
- package/dist/adapters/builtins/CLICommandResolver.js.map +1 -0
- package/dist/adapters/builtins/CLIResultParser.d.ts +61 -0
- package/dist/adapters/builtins/CLIResultParser.d.ts.map +1 -0
- package/dist/adapters/builtins/CLIResultParser.js +113 -0
- package/dist/adapters/builtins/CLIResultParser.js.map +1 -0
- package/dist/adapters/builtins/ConnectionManager.d.ts +106 -0
- package/dist/adapters/builtins/ConnectionManager.d.ts.map +1 -0
- package/dist/adapters/builtins/ConnectionManager.js +162 -0
- package/dist/adapters/builtins/ConnectionManager.js.map +1 -0
- package/dist/adapters/builtins/Consumer.d.ts +110 -0
- package/dist/adapters/builtins/Consumer.d.ts.map +1 -0
- package/dist/adapters/builtins/Consumer.js +113 -0
- package/dist/adapters/builtins/Consumer.js.map +1 -0
- package/dist/adapters/builtins/DBAdapter.d.ts +79 -0
- package/dist/adapters/builtins/DBAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/DBAdapter.js +259 -0
- package/dist/adapters/builtins/DBAdapter.js.map +1 -0
- package/dist/adapters/builtins/EnvResolver.d.ts +66 -0
- package/dist/adapters/builtins/EnvResolver.d.ts.map +1 -0
- package/dist/adapters/builtins/EnvResolver.js +121 -0
- package/dist/adapters/builtins/EnvResolver.js.map +1 -0
- package/dist/adapters/builtins/FSAdapter.d.ts +50 -0
- package/dist/adapters/builtins/FSAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/FSAdapter.js +282 -0
- package/dist/adapters/builtins/FSAdapter.js.map +1 -0
- package/dist/adapters/builtins/FileResolver.d.ts +50 -0
- package/dist/adapters/builtins/FileResolver.d.ts.map +1 -0
- package/dist/adapters/builtins/FileResolver.js +77 -0
- package/dist/adapters/builtins/FileResolver.js.map +1 -0
- package/dist/adapters/builtins/HTTPAdapter.d.ts +58 -0
- package/dist/adapters/builtins/HTTPAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/HTTPAdapter.js +213 -0
- package/dist/adapters/builtins/HTTPAdapter.js.map +1 -0
- package/dist/adapters/builtins/HTTPRequestBuilder.d.ts +95 -0
- package/dist/adapters/builtins/HTTPRequestBuilder.d.ts.map +1 -0
- package/dist/adapters/builtins/HTTPRequestBuilder.js +159 -0
- package/dist/adapters/builtins/HTTPRequestBuilder.js.map +1 -0
- package/dist/adapters/builtins/HTTPResponseParser.d.ts +74 -0
- package/dist/adapters/builtins/HTTPResponseParser.d.ts.map +1 -0
- package/dist/adapters/builtins/HTTPResponseParser.js +144 -0
- package/dist/adapters/builtins/HTTPResponseParser.js.map +1 -0
- package/dist/adapters/builtins/PathSecurityPolicy.d.ts +38 -0
- package/dist/adapters/builtins/PathSecurityPolicy.d.ts.map +1 -0
- package/dist/adapters/builtins/PathSecurityPolicy.js +125 -0
- package/dist/adapters/builtins/PathSecurityPolicy.js.map +1 -0
- package/dist/adapters/builtins/Producer.d.ts +99 -0
- package/dist/adapters/builtins/Producer.d.ts.map +1 -0
- package/dist/adapters/builtins/Producer.js +59 -0
- package/dist/adapters/builtins/Producer.js.map +1 -0
- package/dist/adapters/builtins/QueryExecutor.d.ts +102 -0
- package/dist/adapters/builtins/QueryExecutor.d.ts.map +1 -0
- package/dist/adapters/builtins/QueryExecutor.js +90 -0
- package/dist/adapters/builtins/QueryExecutor.js.map +1 -0
- package/dist/adapters/builtins/QueueAdapter.d.ts +72 -0
- package/dist/adapters/builtins/QueueAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/QueueAdapter.js +209 -0
- package/dist/adapters/builtins/QueueAdapter.js.map +1 -0
- package/dist/adapters/builtins/SecretProvider.d.ts +69 -0
- package/dist/adapters/builtins/SecretProvider.d.ts.map +1 -0
- package/dist/adapters/builtins/SecretProvider.js +71 -0
- package/dist/adapters/builtins/SecretProvider.js.map +1 -0
- package/dist/adapters/builtins/SecretsAdapter.d.ts +48 -0
- package/dist/adapters/builtins/SecretsAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/SecretsAdapter.js +154 -0
- package/dist/adapters/builtins/SecretsAdapter.js.map +1 -0
- package/dist/adapters/builtins/ShellAdapter.d.ts +46 -0
- package/dist/adapters/builtins/ShellAdapter.d.ts.map +1 -0
- package/dist/adapters/builtins/ShellAdapter.js +200 -0
- package/dist/adapters/builtins/ShellAdapter.js.map +1 -0
- package/dist/adapters/builtins/ShellExecutor.d.ts +72 -0
- package/dist/adapters/builtins/ShellExecutor.d.ts.map +1 -0
- package/dist/adapters/builtins/ShellExecutor.js +94 -0
- package/dist/adapters/builtins/ShellExecutor.js.map +1 -0
- package/dist/adapters/builtins/ShellSecurityPolicy.d.ts +58 -0
- package/dist/adapters/builtins/ShellSecurityPolicy.d.ts.map +1 -0
- package/dist/adapters/builtins/ShellSecurityPolicy.js +135 -0
- package/dist/adapters/builtins/ShellSecurityPolicy.js.map +1 -0
- package/dist/adapters/builtins/index.d.ts +27 -0
- package/dist/adapters/builtins/index.d.ts.map +1 -0
- package/dist/adapters/builtins/index.js +35 -0
- package/dist/adapters/builtins/index.js.map +1 -0
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +6 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/automation/BackoffStrategy.d.ts +106 -0
- package/dist/automation/BackoffStrategy.d.ts.map +1 -0
- package/dist/automation/BackoffStrategy.js +168 -0
- package/dist/automation/BackoffStrategy.js.map +1 -0
- package/dist/automation/FailureStrategy.d.ts +141 -0
- package/dist/automation/FailureStrategy.d.ts.map +1 -0
- package/dist/automation/FailureStrategy.js +246 -0
- package/dist/automation/FailureStrategy.js.map +1 -0
- package/dist/automation/RetryPolicy.d.ts +132 -0
- package/dist/automation/RetryPolicy.d.ts.map +1 -0
- package/dist/automation/RetryPolicy.js +241 -0
- package/dist/automation/RetryPolicy.js.map +1 -0
- package/dist/automation/TimeoutManager.d.ts +145 -0
- package/dist/automation/TimeoutManager.d.ts.map +1 -0
- package/dist/automation/TimeoutManager.js +241 -0
- package/dist/automation/TimeoutManager.js.map +1 -0
- package/dist/automation/index.d.ts +16 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +16 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/runtime/BackoffTimer.d.ts +74 -0
- package/dist/automation/runtime/BackoffTimer.d.ts.map +1 -0
- package/dist/automation/runtime/BackoffTimer.js +139 -0
- package/dist/automation/runtime/BackoffTimer.js.map +1 -0
- package/dist/automation/runtime/FailureHandler.d.ts +138 -0
- package/dist/automation/runtime/FailureHandler.d.ts.map +1 -0
- package/dist/automation/runtime/FailureHandler.js +197 -0
- package/dist/automation/runtime/FailureHandler.js.map +1 -0
- package/dist/automation/runtime/RetryExecutor.d.ts +104 -0
- package/dist/automation/runtime/RetryExecutor.d.ts.map +1 -0
- package/dist/automation/runtime/RetryExecutor.js +173 -0
- package/dist/automation/runtime/RetryExecutor.js.map +1 -0
- package/dist/automation/runtime/index.d.ts +13 -0
- package/dist/automation/runtime/index.d.ts.map +1 -0
- package/dist/automation/runtime/index.js +13 -0
- package/dist/automation/runtime/index.js.map +1 -0
- package/dist/context/ContextStore.d.ts +185 -0
- package/dist/context/ContextStore.d.ts.map +1 -0
- package/dist/context/ContextStore.js +228 -0
- package/dist/context/ContextStore.js.map +1 -0
- package/dist/context/VariableResolver.d.ts +184 -0
- package/dist/context/VariableResolver.d.ts.map +1 -0
- package/dist/context/VariableResolver.js +368 -0
- package/dist/context/VariableResolver.js.map +1 -0
- package/dist/context/index.d.ts +17 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +17 -0
- package/dist/context/index.js.map +1 -0
- package/dist/core/EngineConfig.d.ts +156 -0
- package/dist/core/EngineConfig.d.ts.map +1 -0
- package/dist/core/EngineConfig.js +61 -0
- package/dist/core/EngineConfig.js.map +1 -0
- package/dist/core/EngineContext.d.ts +94 -0
- package/dist/core/EngineContext.d.ts.map +1 -0
- package/dist/core/EngineContext.js +29 -0
- package/dist/core/EngineContext.js.map +1 -0
- package/dist/core/OrbytEngine.d.ts +234 -0
- package/dist/core/OrbytEngine.d.ts.map +1 -0
- package/dist/core/OrbytEngine.js +421 -0
- package/dist/core/OrbytEngine.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/errors/ErrorCodes.d.ts +71 -0
- package/dist/errors/ErrorCodes.d.ts.map +1 -0
- package/dist/errors/ErrorCodes.js +95 -0
- package/dist/errors/ErrorCodes.js.map +1 -0
- package/dist/errors/ErrorFormatter.d.ts +34 -0
- package/dist/errors/ErrorFormatter.d.ts.map +1 -0
- package/dist/errors/ErrorFormatter.js +140 -0
- package/dist/errors/ErrorFormatter.js.map +1 -0
- package/dist/errors/FieldRegistry.d.ts +83 -0
- package/dist/errors/FieldRegistry.d.ts.map +1 -0
- package/dist/errors/FieldRegistry.js +217 -0
- package/dist/errors/FieldRegistry.js.map +1 -0
- package/dist/errors/OrbytError.d.ts +59 -0
- package/dist/errors/OrbytError.d.ts.map +1 -0
- package/dist/errors/OrbytError.js +78 -0
- package/dist/errors/OrbytError.js.map +1 -0
- package/dist/errors/SchedulerError.d.ts +2 -0
- package/dist/errors/SchedulerError.d.ts.map +1 -0
- package/dist/errors/SchedulerError.js +2 -0
- package/dist/errors/SchedulerError.js.map +1 -0
- package/dist/errors/StepError.d.ts +2 -0
- package/dist/errors/StepError.d.ts.map +1 -0
- package/dist/errors/StepError.js +2 -0
- package/dist/errors/StepError.js.map +1 -0
- package/dist/errors/TypoDetector.d.ts +36 -0
- package/dist/errors/TypoDetector.d.ts.map +1 -0
- package/dist/errors/TypoDetector.js +109 -0
- package/dist/errors/TypoDetector.js.map +1 -0
- package/dist/errors/WorkflowError.d.ts +54 -0
- package/dist/errors/WorkflowError.d.ts.map +1 -0
- package/dist/errors/WorkflowError.js +129 -0
- package/dist/errors/WorkflowError.js.map +1 -0
- package/dist/errors/index.d.ts +14 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +17 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/events/EngineEvents.d.ts +143 -0
- package/dist/events/EngineEvents.d.ts.map +1 -0
- package/dist/events/EngineEvents.js +60 -0
- package/dist/events/EngineEvents.js.map +1 -0
- package/dist/events/EventBus.d.ts +112 -0
- package/dist/events/EventBus.d.ts.map +1 -0
- package/dist/events/EventBus.js +177 -0
- package/dist/events/EventBus.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +3 -0
- package/dist/events/index.js.map +1 -0
- package/dist/execution/ExecutionEngine.d.ts +220 -0
- package/dist/execution/ExecutionEngine.d.ts.map +1 -0
- package/dist/execution/ExecutionEngine.js +442 -0
- package/dist/execution/ExecutionEngine.js.map +1 -0
- package/dist/execution/ExecutionNode.d.ts +114 -0
- package/dist/execution/ExecutionNode.d.ts.map +1 -0
- package/dist/execution/ExecutionNode.js +99 -0
- package/dist/execution/ExecutionNode.js.map +1 -0
- package/dist/execution/ExecutionPlan.d.ts +133 -0
- package/dist/execution/ExecutionPlan.d.ts.map +1 -0
- package/dist/execution/ExecutionPlan.js +207 -0
- package/dist/execution/ExecutionPlan.js.map +1 -0
- package/dist/execution/StepExecutor.d.ts +204 -0
- package/dist/execution/StepExecutor.d.ts.map +1 -0
- package/dist/execution/StepExecutor.js +604 -0
- package/dist/execution/StepExecutor.js.map +1 -0
- package/dist/execution/WorkflowExecutor.d.ts +129 -0
- package/dist/execution/WorkflowExecutor.d.ts.map +1 -0
- package/dist/execution/WorkflowExecutor.js +347 -0
- package/dist/execution/WorkflowExecutor.js.map +1 -0
- package/dist/execution/drivers/AdapterDriver.d.ts +34 -0
- package/dist/execution/drivers/AdapterDriver.d.ts.map +1 -0
- package/dist/execution/drivers/AdapterDriver.js +63 -0
- package/dist/execution/drivers/AdapterDriver.js.map +1 -0
- package/dist/execution/drivers/DriverResolver.d.ts +91 -0
- package/dist/execution/drivers/DriverResolver.d.ts.map +1 -0
- package/dist/execution/drivers/DriverResolver.js +172 -0
- package/dist/execution/drivers/DriverResolver.js.map +1 -0
- package/dist/execution/drivers/ExecutionDriver.d.ts +127 -0
- package/dist/execution/drivers/ExecutionDriver.d.ts.map +1 -0
- package/dist/execution/drivers/ExecutionDriver.js +50 -0
- package/dist/execution/drivers/ExecutionDriver.js.map +1 -0
- package/dist/execution/drivers/index.d.ts +11 -0
- package/dist/execution/drivers/index.d.ts.map +1 -0
- package/dist/execution/drivers/index.js +11 -0
- package/dist/execution/drivers/index.js.map +1 -0
- package/dist/execution/index.d.ts +18 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +19 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/graph/CycleDetector.d.ts +90 -0
- package/dist/graph/CycleDetector.d.ts.map +1 -0
- package/dist/graph/CycleDetector.js +210 -0
- package/dist/graph/CycleDetector.js.map +1 -0
- package/dist/graph/DependencyGraph.d.ts +16 -0
- package/dist/graph/DependencyGraph.d.ts.map +1 -0
- package/dist/graph/DependencyGraph.js +16 -0
- package/dist/graph/DependencyGraph.js.map +1 -0
- package/dist/graph/DependencyResolver.d.ts +90 -0
- package/dist/graph/DependencyResolver.d.ts.map +1 -0
- package/dist/graph/DependencyResolver.js +159 -0
- package/dist/graph/DependencyResolver.js.map +1 -0
- package/dist/graph/TopologicalSorter.d.ts +104 -0
- package/dist/graph/TopologicalSorter.d.ts.map +1 -0
- package/dist/graph/TopologicalSorter.js +213 -0
- package/dist/graph/TopologicalSorter.js.map +1 -0
- package/dist/graph/index.d.ts +15 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +15 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/guards/ResourceGuard.d.ts +90 -0
- package/dist/guards/ResourceGuard.d.ts.map +1 -0
- package/dist/guards/ResourceGuard.js +177 -0
- package/dist/guards/ResourceGuard.js.map +1 -0
- package/dist/guards/StepGuard.d.ts +96 -0
- package/dist/guards/StepGuard.d.ts.map +1 -0
- package/dist/guards/StepGuard.js +184 -0
- package/dist/guards/StepGuard.js.map +1 -0
- package/dist/guards/WorkflowGuard.d.ts +71 -0
- package/dist/guards/WorkflowGuard.d.ts.map +1 -0
- package/dist/guards/WorkflowGuard.js +187 -0
- package/dist/guards/WorkflowGuard.js.map +1 -0
- package/dist/guards/index.d.ts +9 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +9 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/hooks/HookManager.d.ts +114 -0
- package/dist/hooks/HookManager.d.ts.map +1 -0
- package/dist/hooks/HookManager.js +187 -0
- package/dist/hooks/HookManager.js.map +1 -0
- package/dist/hooks/LifecycleHooks.d.ts +126 -0
- package/dist/hooks/LifecycleHooks.d.ts.map +1 -0
- package/dist/hooks/LifecycleHooks.js +23 -0
- package/dist/hooks/LifecycleHooks.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/lifecycle/EngineLifecycle.d.ts +121 -0
- package/dist/lifecycle/EngineLifecycle.d.ts.map +1 -0
- package/dist/lifecycle/EngineLifecycle.js +209 -0
- package/dist/lifecycle/EngineLifecycle.js.map +1 -0
- package/dist/lifecycle/ShutdownManager.d.ts +44 -0
- package/dist/lifecycle/ShutdownManager.d.ts.map +1 -0
- package/dist/lifecycle/ShutdownManager.js +105 -0
- package/dist/lifecycle/ShutdownManager.js.map +1 -0
- package/dist/lifecycle/StartupManager.d.ts +45 -0
- package/dist/lifecycle/StartupManager.d.ts.map +1 -0
- package/dist/lifecycle/StartupManager.js +97 -0
- package/dist/lifecycle/StartupManager.js.map +1 -0
- package/dist/lifecycle/index.d.ts +9 -0
- package/dist/lifecycle/index.d.ts.map +1 -0
- package/dist/lifecycle/index.js +9 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/logging/LogLevel.d.ts +2 -0
- package/dist/logging/LogLevel.d.ts.map +1 -0
- package/dist/logging/LogLevel.js +2 -0
- package/dist/logging/LogLevel.js.map +1 -0
- package/dist/logging/Logger.d.ts +2 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +2 -0
- package/dist/logging/Logger.js.map +1 -0
- package/dist/logging/index.d.ts +2 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +4 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/marketplace/PluginInstaller.d.ts +81 -0
- package/dist/marketplace/PluginInstaller.d.ts.map +1 -0
- package/dist/marketplace/PluginInstaller.js +89 -0
- package/dist/marketplace/PluginInstaller.js.map +1 -0
- package/dist/marketplace/PluginManifest.d.ts +74 -0
- package/dist/marketplace/PluginManifest.d.ts.map +1 -0
- package/dist/marketplace/PluginManifest.js +67 -0
- package/dist/marketplace/PluginManifest.js.map +1 -0
- package/dist/marketplace/PluginVerifier.d.ts +58 -0
- package/dist/marketplace/PluginVerifier.d.ts.map +1 -0
- package/dist/marketplace/PluginVerifier.js +93 -0
- package/dist/marketplace/PluginVerifier.js.map +1 -0
- package/dist/marketplace/index.d.ts +11 -0
- package/dist/marketplace/index.d.ts.map +1 -0
- package/dist/marketplace/index.js +11 -0
- package/dist/marketplace/index.js.map +1 -0
- package/dist/metrics/MetricsCollector.d.ts +2 -0
- package/dist/metrics/MetricsCollector.d.ts.map +1 -0
- package/dist/metrics/MetricsCollector.js +2 -0
- package/dist/metrics/MetricsCollector.js.map +1 -0
- package/dist/metrics/PerformanceTracker.d.ts +2 -0
- package/dist/metrics/PerformanceTracker.d.ts.map +1 -0
- package/dist/metrics/PerformanceTracker.js +2 -0
- package/dist/metrics/PerformanceTracker.js.map +1 -0
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +4 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/parser/SchemaValidator.d.ts +63 -0
- package/dist/parser/SchemaValidator.d.ts.map +1 -0
- package/dist/parser/SchemaValidator.js +212 -0
- package/dist/parser/SchemaValidator.js.map +1 -0
- package/dist/parser/StepParser.d.ts +124 -0
- package/dist/parser/StepParser.d.ts.map +1 -0
- package/dist/parser/StepParser.js +330 -0
- package/dist/parser/StepParser.js.map +1 -0
- package/dist/parser/WorkflowParser.d.ts +124 -0
- package/dist/parser/WorkflowParser.d.ts.map +1 -0
- package/dist/parser/WorkflowParser.js +141 -0
- package/dist/parser/WorkflowParser.js.map +1 -0
- package/dist/parser/index.d.ts +4 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +4 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/queue/InMemoryQueue.d.ts +97 -0
- package/dist/queue/InMemoryQueue.d.ts.map +1 -0
- package/dist/queue/InMemoryQueue.js +268 -0
- package/dist/queue/InMemoryQueue.js.map +1 -0
- package/dist/queue/JobQueue.d.ts +214 -0
- package/dist/queue/JobQueue.d.ts.map +1 -0
- package/dist/queue/JobQueue.js +46 -0
- package/dist/queue/JobQueue.js.map +1 -0
- package/dist/queue/index.d.ts +10 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +10 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/resolution/ActionRegistry.d.ts +2 -0
- package/dist/resolution/ActionRegistry.d.ts.map +1 -0
- package/dist/resolution/ActionRegistry.js +2 -0
- package/dist/resolution/ActionRegistry.js.map +1 -0
- package/dist/resolution/AdapterResolver.d.ts +2 -0
- package/dist/resolution/AdapterResolver.d.ts.map +1 -0
- package/dist/resolution/AdapterResolver.js +2 -0
- package/dist/resolution/AdapterResolver.js.map +1 -0
- package/dist/resolution/StepResolver.d.ts +2 -0
- package/dist/resolution/StepResolver.d.ts.map +1 -0
- package/dist/resolution/StepResolver.js +2 -0
- package/dist/resolution/StepResolver.js.map +1 -0
- package/dist/resolution/index.d.ts +2 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +2 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/scheduling/CronScheduler.d.ts +143 -0
- package/dist/scheduling/CronScheduler.d.ts.map +1 -0
- package/dist/scheduling/CronScheduler.js +370 -0
- package/dist/scheduling/CronScheduler.js.map +1 -0
- package/dist/scheduling/JobScheduler.d.ts +82 -0
- package/dist/scheduling/JobScheduler.d.ts.map +1 -0
- package/dist/scheduling/JobScheduler.js +231 -0
- package/dist/scheduling/JobScheduler.js.map +1 -0
- package/dist/scheduling/ScheduleParser.d.ts +117 -0
- package/dist/scheduling/ScheduleParser.d.ts.map +1 -0
- package/dist/scheduling/ScheduleParser.js +257 -0
- package/dist/scheduling/ScheduleParser.js.map +1 -0
- package/dist/scheduling/ScheduleTypes.d.ts +153 -0
- package/dist/scheduling/ScheduleTypes.d.ts.map +1 -0
- package/dist/scheduling/ScheduleTypes.js +81 -0
- package/dist/scheduling/ScheduleTypes.js.map +1 -0
- package/dist/scheduling/Scheduler.d.ts +154 -0
- package/dist/scheduling/Scheduler.d.ts.map +1 -0
- package/dist/scheduling/Scheduler.js +304 -0
- package/dist/scheduling/Scheduler.js.map +1 -0
- package/dist/scheduling/index.d.ts +6 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +6 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/security/PermissionPolicy.d.ts +72 -0
- package/dist/security/PermissionPolicy.d.ts.map +1 -0
- package/dist/security/PermissionPolicy.js +87 -0
- package/dist/security/PermissionPolicy.js.map +1 -0
- package/dist/security/SandboxManager.d.ts +72 -0
- package/dist/security/SandboxManager.d.ts.map +1 -0
- package/dist/security/SandboxManager.js +78 -0
- package/dist/security/SandboxManager.js.map +1 -0
- package/dist/security/index.d.ts +10 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +10 -0
- package/dist/security/index.js.map +1 -0
- package/dist/state/ExecutionState.d.ts +211 -0
- package/dist/state/ExecutionState.d.ts.map +1 -0
- package/dist/state/ExecutionState.js +256 -0
- package/dist/state/ExecutionState.js.map +1 -0
- package/dist/state/StateMachine.d.ts +120 -0
- package/dist/state/StateMachine.d.ts.map +1 -0
- package/dist/state/StateMachine.js +230 -0
- package/dist/state/StateMachine.js.map +1 -0
- package/dist/state/index.d.ts +16 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/storage/ExecutionStore.d.ts +2 -0
- package/dist/storage/ExecutionStore.d.ts.map +1 -0
- package/dist/storage/ExecutionStore.js +2 -0
- package/dist/storage/ExecutionStore.js.map +1 -0
- package/dist/storage/ScheduleStore.d.ts +2 -0
- package/dist/storage/ScheduleStore.d.ts.map +1 -0
- package/dist/storage/ScheduleStore.js +2 -0
- package/dist/storage/ScheduleStore.js.map +1 -0
- package/dist/storage/WorkflowStore.d.ts +2 -0
- package/dist/storage/WorkflowStore.d.ts.map +1 -0
- package/dist/storage/WorkflowStore.js +2 -0
- package/dist/storage/WorkflowStore.js.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +5 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/testing/EngineTestHarness.d.ts +117 -0
- package/dist/testing/EngineTestHarness.d.ts.map +1 -0
- package/dist/testing/EngineTestHarness.js +132 -0
- package/dist/testing/EngineTestHarness.js.map +1 -0
- package/dist/testing/MockAdapter.d.ts +93 -0
- package/dist/testing/MockAdapter.d.ts.map +1 -0
- package/dist/testing/MockAdapter.js +124 -0
- package/dist/testing/MockAdapter.js.map +1 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/triggers/CronTrigger.d.ts +2 -0
- package/dist/triggers/CronTrigger.d.ts.map +1 -0
- package/dist/triggers/CronTrigger.js +2 -0
- package/dist/triggers/CronTrigger.js.map +1 -0
- package/dist/triggers/EventTrigger.d.ts +2 -0
- package/dist/triggers/EventTrigger.d.ts.map +1 -0
- package/dist/triggers/EventTrigger.js +2 -0
- package/dist/triggers/EventTrigger.js.map +1 -0
- package/dist/triggers/ManualTrigger.d.ts +2 -0
- package/dist/triggers/ManualTrigger.d.ts.map +1 -0
- package/dist/triggers/ManualTrigger.js +2 -0
- package/dist/triggers/ManualTrigger.js.map +1 -0
- package/dist/triggers/Trigger.d.ts +2 -0
- package/dist/triggers/Trigger.d.ts.map +1 -0
- package/dist/triggers/Trigger.js +2 -0
- package/dist/triggers/Trigger.js.map +1 -0
- package/dist/triggers/index.d.ts +2 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +6 -0
- package/dist/triggers/index.js.map +1 -0
- package/dist/triggers/sources/FileWatcherTrigger.d.ts +2 -0
- package/dist/triggers/sources/FileWatcherTrigger.d.ts.map +1 -0
- package/dist/triggers/sources/FileWatcherTrigger.js +2 -0
- package/dist/triggers/sources/FileWatcherTrigger.js.map +1 -0
- package/dist/triggers/sources/MessageTrigger.d.ts +2 -0
- package/dist/triggers/sources/MessageTrigger.d.ts.map +1 -0
- package/dist/triggers/sources/MessageTrigger.js +2 -0
- package/dist/triggers/sources/MessageTrigger.js.map +1 -0
- package/dist/triggers/sources/WebhookListener.d.ts +2 -0
- package/dist/triggers/sources/WebhookListener.d.ts.map +1 -0
- package/dist/triggers/sources/WebhookListener.js +2 -0
- package/dist/triggers/sources/WebhookListener.js.map +1 -0
- package/dist/triggers/sources/index.d.ts +2 -0
- package/dist/triggers/sources/index.d.ts.map +1 -0
- package/dist/triggers/sources/index.js +2 -0
- package/dist/triggers/sources/index.js.map +1 -0
- package/dist/utils/deepMerge.d.ts +2 -0
- package/dist/utils/deepMerge.d.ts.map +1 -0
- package/dist/utils/deepMerge.js +2 -0
- package/dist/utils/deepMerge.js.map +1 -0
- package/dist/utils/id.d.ts +2 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +2 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/safeExec.d.ts +2 -0
- package/dist/utils/safeExec.d.ts.map +1 -0
- package/dist/utils/safeExec.js +2 -0
- package/dist/utils/safeExec.js.map +1 -0
- package/dist/utils/time.d.ts +2 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +2 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/visualization/ExecutionGraphBuilder.d.ts +2 -0
- package/dist/visualization/ExecutionGraphBuilder.d.ts.map +1 -0
- package/dist/visualization/ExecutionGraphBuilder.js +2 -0
- package/dist/visualization/ExecutionGraphBuilder.js.map +1 -0
- package/dist/visualization/ExecutionTraceFormatter.d.ts +2 -0
- package/dist/visualization/ExecutionTraceFormatter.d.ts.map +1 -0
- package/dist/visualization/ExecutionTraceFormatter.js +2 -0
- package/dist/visualization/ExecutionTraceFormatter.js.map +1 -0
- package/dist/visualization/index.d.ts +2 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +2 -0
- package/dist/visualization/index.js.map +1 -0
- package/dist/workflow/Step.d.ts +2 -0
- package/dist/workflow/Step.d.ts.map +1 -0
- package/dist/workflow/Step.js +2 -0
- package/dist/workflow/Step.js.map +1 -0
- package/dist/workflow/StepContext.d.ts +2 -0
- package/dist/workflow/StepContext.d.ts.map +1 -0
- package/dist/workflow/StepContext.js +2 -0
- package/dist/workflow/StepContext.js.map +1 -0
- package/dist/workflow/StepResult.d.ts +2 -0
- package/dist/workflow/StepResult.d.ts.map +1 -0
- package/dist/workflow/StepResult.js +2 -0
- package/dist/workflow/StepResult.js.map +1 -0
- package/dist/workflow/Workflow.d.ts +2 -0
- package/dist/workflow/Workflow.d.ts.map +1 -0
- package/dist/workflow/Workflow.js +2 -0
- package/dist/workflow/Workflow.js.map +1 -0
- package/dist/workflow/WorkflowRegistry.d.ts +2 -0
- package/dist/workflow/WorkflowRegistry.d.ts.map +1 -0
- package/dist/workflow/WorkflowRegistry.js +2 -0
- package/dist/workflow/WorkflowRegistry.js.map +1 -0
- package/dist/workflow/WorkflowState.d.ts +2 -0
- package/dist/workflow/WorkflowState.d.ts.map +1 -0
- package/dist/workflow/WorkflowState.js +2 -0
- package/dist/workflow/WorkflowState.js.map +1 -0
- package/dist/workflow/index.d.ts +2 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +8 -0
- package/dist/workflow/index.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Plan
|
|
3
|
+
*
|
|
4
|
+
* PURE COORDINATION - NO EXECUTION LOGIC.
|
|
5
|
+
*
|
|
6
|
+
* This coordinates DependencyResolver, CycleDetector, and TopologicalSorter
|
|
7
|
+
* to create a valid execution plan. It answers:
|
|
8
|
+
* - What runs?
|
|
9
|
+
* - In what order?
|
|
10
|
+
* - What can run in parallel?
|
|
11
|
+
* - What are the constraints?
|
|
12
|
+
*
|
|
13
|
+
* This is "designing the map, not driving the car."
|
|
14
|
+
* Execution happens elsewhere (StepExecutor, WorkflowExecutor).
|
|
15
|
+
*
|
|
16
|
+
* @module execution
|
|
17
|
+
*/
|
|
18
|
+
import { ExecutionNode } from './ExecutionNode.js';
|
|
19
|
+
import { type DependencyGraph, type TopologicalSortResult } from '../graph/DependencyGraph.js';
|
|
20
|
+
/**
|
|
21
|
+
* Execution phase (group of steps that can run in parallel)
|
|
22
|
+
*/
|
|
23
|
+
export interface ExecutionPhase {
|
|
24
|
+
/** Phase number (0-indexed) */
|
|
25
|
+
readonly phase: number;
|
|
26
|
+
/** Nodes that can execute in parallel */
|
|
27
|
+
readonly nodes: readonly ExecutionNode[];
|
|
28
|
+
/** Combined phase timeout (max of all node timeouts) */
|
|
29
|
+
readonly timeout?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Complete execution plan for a workflow.
|
|
33
|
+
* This is a blueprint for execution - it contains NO execution state.
|
|
34
|
+
*/
|
|
35
|
+
export interface ExecutionPlan {
|
|
36
|
+
/** Ordered phases of execution */
|
|
37
|
+
readonly phases: readonly ExecutionPhase[];
|
|
38
|
+
/** The validated dependency graph */
|
|
39
|
+
readonly graph: DependencyGraph;
|
|
40
|
+
/** Total number of steps */
|
|
41
|
+
readonly totalSteps: number;
|
|
42
|
+
/** Maximum parallelism (largest phase size) */
|
|
43
|
+
readonly maxParallelism: number;
|
|
44
|
+
/** Critical path length (minimum phases needed) */
|
|
45
|
+
readonly criticalPathLength: number;
|
|
46
|
+
/** Topological sort result */
|
|
47
|
+
readonly sortResult: TopologicalSortResult;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Execution plan coordinator.
|
|
51
|
+
* This orchestrates graph utilities to create execution plans.
|
|
52
|
+
*
|
|
53
|
+
* NO EXECUTION LOGIC HERE - only planning and coordination.
|
|
54
|
+
*/
|
|
55
|
+
export declare class ExecutionPlanner {
|
|
56
|
+
/**
|
|
57
|
+
* Create execution plan from execution nodes.
|
|
58
|
+
*
|
|
59
|
+
* This is the main entry point. It:
|
|
60
|
+
* 1. Builds dependency graph (DependencyResolver)
|
|
61
|
+
* 2. Validates no cycles (CycleDetector)
|
|
62
|
+
* 3. Generates execution phases (TopologicalSorter)
|
|
63
|
+
* 4. Packages everything into ExecutionPlan
|
|
64
|
+
*
|
|
65
|
+
* @param nodes - Array of execution nodes
|
|
66
|
+
* @returns Complete execution plan
|
|
67
|
+
* @throws WorkflowValidationError if dependencies are invalid or cycles exist
|
|
68
|
+
*/
|
|
69
|
+
static plan(nodes: ExecutionNode[]): ExecutionPlan;
|
|
70
|
+
/**
|
|
71
|
+
* Calculate timeout for a phase (max of all node timeouts).
|
|
72
|
+
* If no timeouts specified, returns undefined.
|
|
73
|
+
*/
|
|
74
|
+
private static calculatePhaseTimeout;
|
|
75
|
+
/**
|
|
76
|
+
* Get execution order (flattened phases).
|
|
77
|
+
* Returns nodes in the order they should be executed.
|
|
78
|
+
*
|
|
79
|
+
* @param plan - Execution plan
|
|
80
|
+
* @returns Flat array of nodes in execution order
|
|
81
|
+
*/
|
|
82
|
+
static getFlatOrder(plan: ExecutionPlan): ExecutionNode[];
|
|
83
|
+
/**
|
|
84
|
+
* Get nodes that can execute immediately (phase 0).
|
|
85
|
+
* These are entry points with no dependencies.
|
|
86
|
+
*
|
|
87
|
+
* @param plan - Execution plan
|
|
88
|
+
* @returns Nodes with no dependencies
|
|
89
|
+
*/
|
|
90
|
+
static getInitialNodes(plan: ExecutionPlan): ExecutionNode[];
|
|
91
|
+
/**
|
|
92
|
+
* Get the phase number for a specific step.
|
|
93
|
+
*
|
|
94
|
+
* @param plan - Execution plan
|
|
95
|
+
* @param stepId - Step ID to look up
|
|
96
|
+
* @returns Phase number (0-indexed) or undefined if not found
|
|
97
|
+
*/
|
|
98
|
+
static getPhaseForStep(plan: ExecutionPlan, stepId: string): number | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Visualize execution plan as text.
|
|
101
|
+
* Useful for debugging and understanding execution flow.
|
|
102
|
+
*
|
|
103
|
+
* @param plan - Execution plan
|
|
104
|
+
* @returns Text visualization
|
|
105
|
+
*/
|
|
106
|
+
static visualize(plan: ExecutionPlan): string;
|
|
107
|
+
/**
|
|
108
|
+
* Check if workflow can be parallelized.
|
|
109
|
+
* Returns true if any phase has more than one step.
|
|
110
|
+
*
|
|
111
|
+
* @param plan - Execution plan
|
|
112
|
+
* @returns True if any steps can run in parallel
|
|
113
|
+
*/
|
|
114
|
+
static canParallelize(plan: ExecutionPlan): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Get dependency chain for a specific step.
|
|
117
|
+
* Returns all steps that must complete before this step can run.
|
|
118
|
+
*
|
|
119
|
+
* @param plan - Execution plan
|
|
120
|
+
* @param stepId - Step ID to analyze
|
|
121
|
+
* @returns Array of step IDs in dependency order
|
|
122
|
+
*/
|
|
123
|
+
static getDependencyChain(plan: ExecutionPlan, stepId: string): string[];
|
|
124
|
+
/**
|
|
125
|
+
* Calculate estimated execution time based on phase timeouts.
|
|
126
|
+
* This is a rough estimate assuming perfect parallelization.
|
|
127
|
+
*
|
|
128
|
+
* @param plan - Execution plan
|
|
129
|
+
* @returns Estimated execution time in milliseconds
|
|
130
|
+
*/
|
|
131
|
+
static estimateExecutionTime(plan: ExecutionPlan): number;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=ExecutionPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionPlan.d.ts","sourceRoot":"","sources":["../../src/execution/ExecutionPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAEzC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAE3C,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,mDAAmD;IACnD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa;IAgClD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAQpC;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE;IAIzD;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE;IAO5D;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/E;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAgC7C;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAInD;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAgCxE;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;CAc1D"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Plan
|
|
3
|
+
*
|
|
4
|
+
* PURE COORDINATION - NO EXECUTION LOGIC.
|
|
5
|
+
*
|
|
6
|
+
* This coordinates DependencyResolver, CycleDetector, and TopologicalSorter
|
|
7
|
+
* to create a valid execution plan. It answers:
|
|
8
|
+
* - What runs?
|
|
9
|
+
* - In what order?
|
|
10
|
+
* - What can run in parallel?
|
|
11
|
+
* - What are the constraints?
|
|
12
|
+
*
|
|
13
|
+
* This is "designing the map, not driving the car."
|
|
14
|
+
* Execution happens elsewhere (StepExecutor, WorkflowExecutor).
|
|
15
|
+
*
|
|
16
|
+
* @module execution
|
|
17
|
+
*/
|
|
18
|
+
import { DependencyResolver, CycleDetector, TopologicalSorter, } from '../graph/DependencyGraph.js';
|
|
19
|
+
/**
|
|
20
|
+
* Execution plan coordinator.
|
|
21
|
+
* This orchestrates graph utilities to create execution plans.
|
|
22
|
+
*
|
|
23
|
+
* NO EXECUTION LOGIC HERE - only planning and coordination.
|
|
24
|
+
*/
|
|
25
|
+
export class ExecutionPlanner {
|
|
26
|
+
/**
|
|
27
|
+
* Create execution plan from execution nodes.
|
|
28
|
+
*
|
|
29
|
+
* This is the main entry point. It:
|
|
30
|
+
* 1. Builds dependency graph (DependencyResolver)
|
|
31
|
+
* 2. Validates no cycles (CycleDetector)
|
|
32
|
+
* 3. Generates execution phases (TopologicalSorter)
|
|
33
|
+
* 4. Packages everything into ExecutionPlan
|
|
34
|
+
*
|
|
35
|
+
* @param nodes - Array of execution nodes
|
|
36
|
+
* @returns Complete execution plan
|
|
37
|
+
* @throws WorkflowValidationError if dependencies are invalid or cycles exist
|
|
38
|
+
*/
|
|
39
|
+
static plan(nodes) {
|
|
40
|
+
// Step 1: Build dependency graph
|
|
41
|
+
const graph = DependencyResolver.resolve(nodes);
|
|
42
|
+
// Step 2: Detect cycles (fail fast)
|
|
43
|
+
CycleDetector.detectAndThrow(graph);
|
|
44
|
+
// Step 3: Topological sort to get execution phases
|
|
45
|
+
const sortResult = TopologicalSorter.sort(graph);
|
|
46
|
+
// Step 4: Build execution phases with nodes and timeouts
|
|
47
|
+
const phases = sortResult.phases.map((stepIds, index) => {
|
|
48
|
+
const phaseNodes = stepIds.map((stepId) => graph.nodes.get(stepId));
|
|
49
|
+
return {
|
|
50
|
+
phase: index,
|
|
51
|
+
nodes: Object.freeze(phaseNodes),
|
|
52
|
+
timeout: this.calculatePhaseTimeout(phaseNodes),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
// Step 5: Package into execution plan
|
|
56
|
+
return {
|
|
57
|
+
phases: Object.freeze(phases),
|
|
58
|
+
graph,
|
|
59
|
+
totalSteps: nodes.length,
|
|
60
|
+
maxParallelism: Math.max(...phases.map((p) => p.nodes.length), 0),
|
|
61
|
+
criticalPathLength: phases.length,
|
|
62
|
+
sortResult,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Calculate timeout for a phase (max of all node timeouts).
|
|
67
|
+
* If no timeouts specified, returns undefined.
|
|
68
|
+
*/
|
|
69
|
+
static calculatePhaseTimeout(nodes) {
|
|
70
|
+
const timeouts = nodes
|
|
71
|
+
.map((node) => node.metadata.timeout)
|
|
72
|
+
.filter((t) => t !== undefined);
|
|
73
|
+
return timeouts.length > 0 ? Math.max(...timeouts) : undefined;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get execution order (flattened phases).
|
|
77
|
+
* Returns nodes in the order they should be executed.
|
|
78
|
+
*
|
|
79
|
+
* @param plan - Execution plan
|
|
80
|
+
* @returns Flat array of nodes in execution order
|
|
81
|
+
*/
|
|
82
|
+
static getFlatOrder(plan) {
|
|
83
|
+
return plan.phases.flatMap((phase) => [...phase.nodes]);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get nodes that can execute immediately (phase 0).
|
|
87
|
+
* These are entry points with no dependencies.
|
|
88
|
+
*
|
|
89
|
+
* @param plan - Execution plan
|
|
90
|
+
* @returns Nodes with no dependencies
|
|
91
|
+
*/
|
|
92
|
+
static getInitialNodes(plan) {
|
|
93
|
+
if (plan.phases.length === 0) {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
return [...plan.phases[0].nodes];
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get the phase number for a specific step.
|
|
100
|
+
*
|
|
101
|
+
* @param plan - Execution plan
|
|
102
|
+
* @param stepId - Step ID to look up
|
|
103
|
+
* @returns Phase number (0-indexed) or undefined if not found
|
|
104
|
+
*/
|
|
105
|
+
static getPhaseForStep(plan, stepId) {
|
|
106
|
+
return plan.sortResult.stepPhases.get(stepId);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Visualize execution plan as text.
|
|
110
|
+
* Useful for debugging and understanding execution flow.
|
|
111
|
+
*
|
|
112
|
+
* @param plan - Execution plan
|
|
113
|
+
* @returns Text visualization
|
|
114
|
+
*/
|
|
115
|
+
static visualize(plan) {
|
|
116
|
+
let output = '📋 Execution Plan\n';
|
|
117
|
+
output += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`;
|
|
118
|
+
output += `Total Steps: ${plan.totalSteps}\n`;
|
|
119
|
+
output += `Phases: ${plan.phases.length}\n`;
|
|
120
|
+
output += `Max Parallelism: ${plan.maxParallelism}\n`;
|
|
121
|
+
output += `Critical Path: ${plan.criticalPathLength} phases\n\n`;
|
|
122
|
+
for (const phase of plan.phases) {
|
|
123
|
+
output += `Phase ${phase.phase}: `;
|
|
124
|
+
output += `[${[...phase.nodes].map((n) => n.stepId).join(', ')}]`;
|
|
125
|
+
if (phase.timeout) {
|
|
126
|
+
output += ` (timeout: ${phase.timeout}ms)`;
|
|
127
|
+
}
|
|
128
|
+
output += '\n';
|
|
129
|
+
// Show adapter references for each node
|
|
130
|
+
for (const node of phase.nodes) {
|
|
131
|
+
output += ` └─ ${node.stepId}: ${node.uses}`;
|
|
132
|
+
if (node.metadata.maxRetries > 0) {
|
|
133
|
+
output += ` (retries: ${node.metadata.maxRetries})`;
|
|
134
|
+
}
|
|
135
|
+
if (node.metadata.hasCondition) {
|
|
136
|
+
output += ` (conditional)`;
|
|
137
|
+
}
|
|
138
|
+
output += '\n';
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return output;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Check if workflow can be parallelized.
|
|
145
|
+
* Returns true if any phase has more than one step.
|
|
146
|
+
*
|
|
147
|
+
* @param plan - Execution plan
|
|
148
|
+
* @returns True if any steps can run in parallel
|
|
149
|
+
*/
|
|
150
|
+
static canParallelize(plan) {
|
|
151
|
+
return plan.phases.some((phase) => phase.nodes.length > 1);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get dependency chain for a specific step.
|
|
155
|
+
* Returns all steps that must complete before this step can run.
|
|
156
|
+
*
|
|
157
|
+
* @param plan - Execution plan
|
|
158
|
+
* @param stepId - Step ID to analyze
|
|
159
|
+
* @returns Array of step IDs in dependency order
|
|
160
|
+
*/
|
|
161
|
+
static getDependencyChain(plan, stepId) {
|
|
162
|
+
const node = plan.graph.nodes.get(stepId);
|
|
163
|
+
if (!node) {
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
const chain = [];
|
|
167
|
+
const visited = new Set();
|
|
168
|
+
const visit = (id) => {
|
|
169
|
+
if (visited.has(id)) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
visited.add(id);
|
|
173
|
+
const currentNode = plan.graph.nodes.get(id);
|
|
174
|
+
if (!currentNode) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
// Visit dependencies first
|
|
178
|
+
for (const dep of currentNode.dependencies) {
|
|
179
|
+
visit(dep);
|
|
180
|
+
}
|
|
181
|
+
chain.push(id);
|
|
182
|
+
};
|
|
183
|
+
visit(stepId);
|
|
184
|
+
return chain;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Calculate estimated execution time based on phase timeouts.
|
|
188
|
+
* This is a rough estimate assuming perfect parallelization.
|
|
189
|
+
*
|
|
190
|
+
* @param plan - Execution plan
|
|
191
|
+
* @returns Estimated execution time in milliseconds
|
|
192
|
+
*/
|
|
193
|
+
static estimateExecutionTime(plan) {
|
|
194
|
+
let totalTime = 0;
|
|
195
|
+
for (const phase of plan.phases) {
|
|
196
|
+
if (phase.timeout) {
|
|
197
|
+
totalTime += phase.timeout;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
// If no timeout specified, use a default estimate
|
|
201
|
+
totalTime += 30000; // 30 seconds default
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return totalTime;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=ExecutionPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionPlan.js","sourceRoot":"","sources":["../../src/execution/ExecutionPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step Executor
|
|
3
|
+
*
|
|
4
|
+
* Executes individual workflow steps with retry logic, timeout handling,
|
|
5
|
+
* and adapter invocation.
|
|
6
|
+
*
|
|
7
|
+
* Integrates with ContextStore for state management and uses automation
|
|
8
|
+
* policies (RetryPolicy, BackoffStrategy, TimeoutManager) for reliability.
|
|
9
|
+
*
|
|
10
|
+
* @module execution
|
|
11
|
+
*/
|
|
12
|
+
import type { ParsedStep } from '../parser/StepParser.js';
|
|
13
|
+
import type { ResolutionContext } from '../context/VariableResolver.js';
|
|
14
|
+
import { ContextStore } from '../context/ContextStore.js';
|
|
15
|
+
import { RetryPolicy } from '../automation/RetryPolicy.js';
|
|
16
|
+
import { TimeoutManager } from '../automation/TimeoutManager.js';
|
|
17
|
+
import { DriverResolver } from './drivers/DriverResolver.js';
|
|
18
|
+
import { AdapterRegistry } from '../adapters/AdapterRegistry.js';
|
|
19
|
+
import type { Adapter } from '@dev-ecosystem/core';
|
|
20
|
+
import type { EventBus } from '../events/EventBus.js';
|
|
21
|
+
import type { HookManager } from '../hooks/HookManager.js';
|
|
22
|
+
/**
|
|
23
|
+
* Step execution result
|
|
24
|
+
*/
|
|
25
|
+
export interface StepResult {
|
|
26
|
+
/** Step ID */
|
|
27
|
+
stepId: string;
|
|
28
|
+
/** Execution status */
|
|
29
|
+
status: 'success' | 'failure' | 'skipped' | 'timeout';
|
|
30
|
+
/** Step output data */
|
|
31
|
+
output: any;
|
|
32
|
+
/** Error if failed */
|
|
33
|
+
error?: Error;
|
|
34
|
+
/** Execution duration (ms) */
|
|
35
|
+
duration: number;
|
|
36
|
+
/** Number of retry attempts */
|
|
37
|
+
attempts: number;
|
|
38
|
+
/** Start timestamp */
|
|
39
|
+
startedAt: Date;
|
|
40
|
+
/** End timestamp */
|
|
41
|
+
completedAt: Date;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Adapter interface for step execution
|
|
45
|
+
*/
|
|
46
|
+
export interface StepAdapter {
|
|
47
|
+
/** Adapter name */
|
|
48
|
+
name: string;
|
|
49
|
+
/**
|
|
50
|
+
* Execute step with the adapter
|
|
51
|
+
*
|
|
52
|
+
* @param action - Full action name (e.g., 'http.request.get')
|
|
53
|
+
* @param input - Resolved input parameters
|
|
54
|
+
* @param context - Execution context
|
|
55
|
+
* @returns Adapter output
|
|
56
|
+
*/
|
|
57
|
+
execute(action: string, input: Record<string, any>, context: any): Promise<any>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Step executor with retry and timeout logic
|
|
61
|
+
*
|
|
62
|
+
* Uses driver system for pluggable execution strategies.
|
|
63
|
+
* Maintains backward compatibility with legacy StepAdapter interface.
|
|
64
|
+
*/
|
|
65
|
+
export declare class StepExecutor {
|
|
66
|
+
private adapters;
|
|
67
|
+
private driverResolver;
|
|
68
|
+
private adapterRegistry;
|
|
69
|
+
private adapterDriver?;
|
|
70
|
+
private resolver;
|
|
71
|
+
private contextStore?;
|
|
72
|
+
private retryPolicy?;
|
|
73
|
+
private timeoutManager?;
|
|
74
|
+
private eventBus?;
|
|
75
|
+
private hookManager?;
|
|
76
|
+
/**
|
|
77
|
+
* Register an adapter (legacy interface - backward compatibility)
|
|
78
|
+
*
|
|
79
|
+
* @param adapter - Adapter to register
|
|
80
|
+
* @deprecated Use registerModernAdapter() for new code
|
|
81
|
+
*/
|
|
82
|
+
registerAdapter(adapter: StepAdapter): void;
|
|
83
|
+
/**
|
|
84
|
+
* Register a modern adapter with driver system
|
|
85
|
+
*
|
|
86
|
+
* @param adapter - Adapter implementing @dev-ecosystem/core Adapter interface
|
|
87
|
+
*/
|
|
88
|
+
registerModernAdapter(adapter: Adapter): void;
|
|
89
|
+
/**
|
|
90
|
+
* Register multiple modern adapters
|
|
91
|
+
*
|
|
92
|
+
* @param adapters - Array of adapters
|
|
93
|
+
*/
|
|
94
|
+
registerModernAdapters(adapters: Adapter[]): void;
|
|
95
|
+
/**
|
|
96
|
+
* Set context store for state management
|
|
97
|
+
*
|
|
98
|
+
* @param contextStore - Context store instance
|
|
99
|
+
*/
|
|
100
|
+
setContextStore(contextStore: ContextStore): void;
|
|
101
|
+
/**
|
|
102
|
+
* Set retry policy for step execution
|
|
103
|
+
*
|
|
104
|
+
* @param retryPolicy - Retry policy instance
|
|
105
|
+
*/
|
|
106
|
+
setRetryPolicy(retryPolicy: RetryPolicy): void;
|
|
107
|
+
/**
|
|
108
|
+
* Set timeout manager for step execution
|
|
109
|
+
*
|
|
110
|
+
* @param timeoutManager - Timeout manager instance
|
|
111
|
+
*/
|
|
112
|
+
setTimeoutManager(timeoutManager: TimeoutManager): void;
|
|
113
|
+
/**
|
|
114
|
+
* Set event bus for emitting step lifecycle events
|
|
115
|
+
*/
|
|
116
|
+
setEventBus(eventBus: EventBus): void;
|
|
117
|
+
/**
|
|
118
|
+
* Set hook manager for calling lifecycle hooks
|
|
119
|
+
*/
|
|
120
|
+
setHookManager(hookManager: HookManager): void;
|
|
121
|
+
/**
|
|
122
|
+
* Get driver resolver (for advanced use cases)
|
|
123
|
+
*
|
|
124
|
+
* @returns Driver resolver instance
|
|
125
|
+
*/
|
|
126
|
+
getDriverResolver(): DriverResolver;
|
|
127
|
+
/**
|
|
128
|
+
* Get adapter registry (for advanced use cases)
|
|
129
|
+
*
|
|
130
|
+
* @returns Adapter registry instance
|
|
131
|
+
*/
|
|
132
|
+
getAdapterRegistry(): AdapterRegistry;
|
|
133
|
+
/**
|
|
134
|
+
* Execute a step
|
|
135
|
+
*
|
|
136
|
+
* @param step - Step to execute
|
|
137
|
+
* @param providedContext - Optional resolution context (if not using ContextStore)
|
|
138
|
+
* @returns Step execution result
|
|
139
|
+
*/
|
|
140
|
+
execute(step: ParsedStep, providedContext?: ResolutionContext): Promise<StepResult>;
|
|
141
|
+
/**
|
|
142
|
+
* Execute step with timeout
|
|
143
|
+
*/
|
|
144
|
+
private executeWithTimeout;
|
|
145
|
+
/**
|
|
146
|
+
* Execute using driver system
|
|
147
|
+
*/
|
|
148
|
+
private executeWithDriver;
|
|
149
|
+
/**
|
|
150
|
+
* Execute using legacy adapter (backward compatibility)
|
|
151
|
+
*/
|
|
152
|
+
private executeWithLegacyAdapter;
|
|
153
|
+
/**
|
|
154
|
+
* Convert ParsedStep to DriverStep
|
|
155
|
+
*/
|
|
156
|
+
private convertToDriverStep;
|
|
157
|
+
/**
|
|
158
|
+
* Convert execution context to DriverContext
|
|
159
|
+
*/
|
|
160
|
+
private convertToDriverContext;
|
|
161
|
+
/**
|
|
162
|
+
* Parse timeout string to milliseconds
|
|
163
|
+
* @param timeout - Timeout string like "30s", "5m", "1h"
|
|
164
|
+
* @returns Timeout in milliseconds
|
|
165
|
+
*/
|
|
166
|
+
private parseTimeoutString;
|
|
167
|
+
/**
|
|
168
|
+
* Add timeout to promise
|
|
169
|
+
*/
|
|
170
|
+
private withTimeout;
|
|
171
|
+
/**
|
|
172
|
+
* Sleep utility for retry backoff
|
|
173
|
+
*/
|
|
174
|
+
private sleep;
|
|
175
|
+
/**
|
|
176
|
+
* Map raw output to defined output structure
|
|
177
|
+
*
|
|
178
|
+
* @param rawOutput - Raw output from adapter
|
|
179
|
+
* @param outputMappings - Output mapping definitions
|
|
180
|
+
* @param context - Resolution context for variable resolution in mappings
|
|
181
|
+
* @returns Mapped output object
|
|
182
|
+
*/
|
|
183
|
+
private mapOutputs;
|
|
184
|
+
/**
|
|
185
|
+
* Evaluate conditional expression
|
|
186
|
+
*
|
|
187
|
+
* Currently simple boolean evaluation.
|
|
188
|
+
* Future: Support expression language.
|
|
189
|
+
*
|
|
190
|
+
* @param condition - Conditional expression
|
|
191
|
+
* @param context - Resolution context
|
|
192
|
+
* @returns True if condition met
|
|
193
|
+
*/
|
|
194
|
+
private evaluateCondition;
|
|
195
|
+
/**
|
|
196
|
+
* Get registered adapters
|
|
197
|
+
*/
|
|
198
|
+
getAdapters(): string[];
|
|
199
|
+
/**
|
|
200
|
+
* Check if adapter is registered
|
|
201
|
+
*/
|
|
202
|
+
hasAdapter(name: string): boolean;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=StepExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepExecutor.d.ts","sourceRoot":"","sources":["../../src/execution/StepExecutor.ts"],"names":[],"mappings":"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"}
|