@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 @@
|
|
|
1
|
+
{"version":3,"file":"StepParser.js","sourceRoot":"","sources":["../../src/parser/StepParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Parser
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for parsing workflows from YAML/JSON.
|
|
5
|
+
* Orchestrates schema validation and step parsing.
|
|
6
|
+
*
|
|
7
|
+
* @module parser
|
|
8
|
+
*/
|
|
9
|
+
import { type ParsedStep } from './StepParser.js';
|
|
10
|
+
/**
|
|
11
|
+
* Parsed workflow ready for execution
|
|
12
|
+
*/
|
|
13
|
+
export interface ParsedWorkflow {
|
|
14
|
+
/** Workflow metadata */
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
version: string;
|
|
18
|
+
kind: string;
|
|
19
|
+
tags?: string[];
|
|
20
|
+
owner?: string;
|
|
21
|
+
/** Metadata object (if provided separately) */
|
|
22
|
+
metadata?: {
|
|
23
|
+
name?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
tags?: string[];
|
|
26
|
+
owner?: string;
|
|
27
|
+
version?: string;
|
|
28
|
+
createdAt?: string;
|
|
29
|
+
updatedAt?: string;
|
|
30
|
+
};
|
|
31
|
+
/** Workflow steps */
|
|
32
|
+
steps: ParsedStep[];
|
|
33
|
+
/** Global workflow inputs */
|
|
34
|
+
inputs?: Record<string, any>;
|
|
35
|
+
/** Global environment variables */
|
|
36
|
+
context?: Record<string, any>;
|
|
37
|
+
/** Secret references */
|
|
38
|
+
secrets?: {
|
|
39
|
+
vault?: string;
|
|
40
|
+
refs?: Record<string, string>;
|
|
41
|
+
};
|
|
42
|
+
/** Trigger configuration */
|
|
43
|
+
triggers?: Array<{
|
|
44
|
+
type: string;
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
}>;
|
|
47
|
+
/** Defaults */
|
|
48
|
+
defaults?: {
|
|
49
|
+
retry?: {
|
|
50
|
+
max: number;
|
|
51
|
+
backoff?: 'linear' | 'exponential';
|
|
52
|
+
delay?: number;
|
|
53
|
+
};
|
|
54
|
+
timeout?: string;
|
|
55
|
+
adapter?: string;
|
|
56
|
+
};
|
|
57
|
+
/** Policies */
|
|
58
|
+
policies?: {
|
|
59
|
+
failure?: 'stop' | 'continue' | 'isolate';
|
|
60
|
+
concurrency?: number;
|
|
61
|
+
sandbox?: 'none' | 'basic' | 'strict';
|
|
62
|
+
};
|
|
63
|
+
/** Permissions */
|
|
64
|
+
permissions?: any;
|
|
65
|
+
/** Resources */
|
|
66
|
+
resources?: any;
|
|
67
|
+
/** Outputs */
|
|
68
|
+
outputs?: Record<string, string>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Main workflow parser class
|
|
72
|
+
*/
|
|
73
|
+
export declare class WorkflowParser {
|
|
74
|
+
/**
|
|
75
|
+
* Parse workflow from raw object (already parsed YAML/JSON)
|
|
76
|
+
*
|
|
77
|
+
* @param rawWorkflow - Raw workflow object
|
|
78
|
+
* @returns Parsed workflow ready for execution
|
|
79
|
+
*/
|
|
80
|
+
static parse(rawWorkflow: unknown): ParsedWorkflow;
|
|
81
|
+
/**
|
|
82
|
+
* Parse workflow from YAML string
|
|
83
|
+
*
|
|
84
|
+
* @param yamlContent - YAML string content
|
|
85
|
+
* @returns Parsed workflow
|
|
86
|
+
*/
|
|
87
|
+
static fromYAML(yamlContent: string): ParsedWorkflow;
|
|
88
|
+
/**
|
|
89
|
+
* Parse workflow from JSON string
|
|
90
|
+
*
|
|
91
|
+
* @param jsonContent - JSON string content
|
|
92
|
+
* @returns Parsed workflow
|
|
93
|
+
*/
|
|
94
|
+
static fromJSON(jsonContent: string): ParsedWorkflow;
|
|
95
|
+
/**
|
|
96
|
+
* Parse workflow from file content (auto-detect format)
|
|
97
|
+
*
|
|
98
|
+
* @param content - File content string
|
|
99
|
+
* @param filename - Optional filename for format detection
|
|
100
|
+
* @returns Parsed workflow
|
|
101
|
+
*/
|
|
102
|
+
static fromFile(content: string, filename?: string): ParsedWorkflow;
|
|
103
|
+
/**
|
|
104
|
+
* Validate workflow without full parsing
|
|
105
|
+
*
|
|
106
|
+
* @param rawWorkflow - Raw workflow object
|
|
107
|
+
* @returns True if valid, false otherwise
|
|
108
|
+
*/
|
|
109
|
+
static isValid(rawWorkflow: unknown): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Get workflow metadata without parsing steps
|
|
112
|
+
*
|
|
113
|
+
* @param rawWorkflow - Raw workflow object
|
|
114
|
+
* @returns Basic workflow metadata
|
|
115
|
+
*/
|
|
116
|
+
static getMetadata(rawWorkflow: unknown): {
|
|
117
|
+
name?: string;
|
|
118
|
+
description?: string;
|
|
119
|
+
version: string;
|
|
120
|
+
kind: string;
|
|
121
|
+
stepCount: number;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=WorkflowParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowParser.d.ts","sourceRoot":"","sources":["../../src/parser/WorkflowParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Parser
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for parsing workflows from YAML/JSON.
|
|
5
|
+
* Orchestrates schema validation and step parsing.
|
|
6
|
+
*
|
|
7
|
+
* @module parser
|
|
8
|
+
*/
|
|
9
|
+
import YAML from 'yaml';
|
|
10
|
+
import { SchemaValidator } from './SchemaValidator.js';
|
|
11
|
+
import { StepParser } from './StepParser.js';
|
|
12
|
+
/**
|
|
13
|
+
* Main workflow parser class
|
|
14
|
+
*/
|
|
15
|
+
export class WorkflowParser {
|
|
16
|
+
/**
|
|
17
|
+
* Parse workflow from raw object (already parsed YAML/JSON)
|
|
18
|
+
*
|
|
19
|
+
* @param rawWorkflow - Raw workflow object
|
|
20
|
+
* @returns Parsed workflow ready for execution
|
|
21
|
+
*/
|
|
22
|
+
static parse(rawWorkflow) {
|
|
23
|
+
// Step 1: Validate against schema (with enhanced diagnostics)
|
|
24
|
+
const validated = SchemaValidator.validate(rawWorkflow);
|
|
25
|
+
// Step 2: Parse steps from nested workflow.steps
|
|
26
|
+
const steps = StepParser.parseAll(validated.workflow.steps);
|
|
27
|
+
// Step 3: Run comprehensive step validations
|
|
28
|
+
StepParser.validateAll(steps);
|
|
29
|
+
// Step 4: Build parsed workflow
|
|
30
|
+
const parsed = {
|
|
31
|
+
name: validated.metadata?.name,
|
|
32
|
+
description: validated.metadata?.description,
|
|
33
|
+
version: validated.version,
|
|
34
|
+
kind: validated.kind,
|
|
35
|
+
steps,
|
|
36
|
+
inputs: validated.inputs,
|
|
37
|
+
context: validated.context,
|
|
38
|
+
secrets: validated.secrets,
|
|
39
|
+
triggers: validated.triggers,
|
|
40
|
+
defaults: validated.defaults,
|
|
41
|
+
policies: validated.policies,
|
|
42
|
+
permissions: validated.permissions,
|
|
43
|
+
resources: validated.resources,
|
|
44
|
+
outputs: validated.outputs,
|
|
45
|
+
};
|
|
46
|
+
return parsed;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse workflow from YAML string
|
|
50
|
+
*
|
|
51
|
+
* @param yamlContent - YAML string content
|
|
52
|
+
* @returns Parsed workflow
|
|
53
|
+
*/
|
|
54
|
+
static fromYAML(yamlContent) {
|
|
55
|
+
try {
|
|
56
|
+
const parsed = YAML.parse(yamlContent);
|
|
57
|
+
return this.parse(parsed);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof Error) {
|
|
61
|
+
throw new Error(`YAML parsing failed: ${error.message}`);
|
|
62
|
+
}
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Parse workflow from JSON string
|
|
68
|
+
*
|
|
69
|
+
* @param jsonContent - JSON string content
|
|
70
|
+
* @returns Parsed workflow
|
|
71
|
+
*/
|
|
72
|
+
static fromJSON(jsonContent) {
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(jsonContent);
|
|
75
|
+
return this.parse(parsed);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (error instanceof Error) {
|
|
79
|
+
throw new Error(`JSON parsing failed: ${error.message}`);
|
|
80
|
+
}
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Parse workflow from file content (auto-detect format)
|
|
86
|
+
*
|
|
87
|
+
* @param content - File content string
|
|
88
|
+
* @param filename - Optional filename for format detection
|
|
89
|
+
* @returns Parsed workflow
|
|
90
|
+
*/
|
|
91
|
+
static fromFile(content, filename) {
|
|
92
|
+
// Try to detect format from filename
|
|
93
|
+
if (filename) {
|
|
94
|
+
if (filename.endsWith('.yaml') || filename.endsWith('.yml')) {
|
|
95
|
+
return this.fromYAML(content);
|
|
96
|
+
}
|
|
97
|
+
if (filename.endsWith('.json')) {
|
|
98
|
+
return this.fromJSON(content);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Auto-detect: try YAML first (more common), then JSON
|
|
102
|
+
try {
|
|
103
|
+
return this.fromYAML(content);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return this.fromJSON(content);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Validate workflow without full parsing
|
|
111
|
+
*
|
|
112
|
+
* @param rawWorkflow - Raw workflow object
|
|
113
|
+
* @returns True if valid, false otherwise
|
|
114
|
+
*/
|
|
115
|
+
static isValid(rawWorkflow) {
|
|
116
|
+
try {
|
|
117
|
+
this.parse(rawWorkflow);
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get workflow metadata without parsing steps
|
|
126
|
+
*
|
|
127
|
+
* @param rawWorkflow - Raw workflow object
|
|
128
|
+
* @returns Basic workflow metadata
|
|
129
|
+
*/
|
|
130
|
+
static getMetadata(rawWorkflow) {
|
|
131
|
+
const validated = SchemaValidator.validate(rawWorkflow);
|
|
132
|
+
return {
|
|
133
|
+
name: validated.metadata?.name,
|
|
134
|
+
description: validated.metadata?.description,
|
|
135
|
+
version: validated.version,
|
|
136
|
+
kind: validated.kind,
|
|
137
|
+
stepCount: validated.workflow.steps.length,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=WorkflowParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowParser.js","sourceRoot":"","sources":["../../src/parser/WorkflowParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory Queue
|
|
3
|
+
*
|
|
4
|
+
* Simple in-memory implementation of JobQueue.
|
|
5
|
+
* Suitable for single-process execution. For distributed systems,
|
|
6
|
+
* replace with Redis/database-backed queue.
|
|
7
|
+
*
|
|
8
|
+
* @module queue
|
|
9
|
+
*/
|
|
10
|
+
import type { Job, JobQueue, QueueStats, QueueConfig } from './JobQueue.js';
|
|
11
|
+
/**
|
|
12
|
+
* In-memory job queue implementation
|
|
13
|
+
*/
|
|
14
|
+
export declare class InMemoryQueue<T = any> implements JobQueue<T> {
|
|
15
|
+
private jobs;
|
|
16
|
+
private pendingQueue;
|
|
17
|
+
private readonly config;
|
|
18
|
+
constructor(config?: QueueConfig);
|
|
19
|
+
/**
|
|
20
|
+
* Add job to queue
|
|
21
|
+
*/
|
|
22
|
+
enqueue(job: Job<T>): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Remove and return highest priority pending job
|
|
25
|
+
*/
|
|
26
|
+
dequeue(): Promise<Job<T> | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Peek at next job without removing it
|
|
29
|
+
*/
|
|
30
|
+
peek(): Promise<Job<T> | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Get job by ID
|
|
33
|
+
*/
|
|
34
|
+
getJob(jobId: string): Promise<Job<T> | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Mark job as completed
|
|
37
|
+
*/
|
|
38
|
+
markCompleted(jobId: string, result?: any): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Mark job as failed
|
|
41
|
+
*/
|
|
42
|
+
markFailed(jobId: string, error: Error): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Mark job as retrying
|
|
45
|
+
*/
|
|
46
|
+
markRetrying(jobId: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Remove job from queue
|
|
49
|
+
*/
|
|
50
|
+
remove(jobId: string): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* Find jobs matching filter
|
|
53
|
+
*/
|
|
54
|
+
find(filter: (job: Job<T>) => boolean): Promise<Job<T>[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Get queue statistics
|
|
57
|
+
*/
|
|
58
|
+
getStats(): Promise<QueueStats>;
|
|
59
|
+
/**
|
|
60
|
+
* Clear all jobs
|
|
61
|
+
*/
|
|
62
|
+
clear(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Get queue size
|
|
65
|
+
*/
|
|
66
|
+
size(): Promise<number>;
|
|
67
|
+
/**
|
|
68
|
+
* Check if queue is empty
|
|
69
|
+
*/
|
|
70
|
+
isEmpty(): Promise<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
* Insert job into pending queue by priority
|
|
73
|
+
* Higher priority jobs go first, same priority uses FIFO
|
|
74
|
+
*/
|
|
75
|
+
private insertByPriority;
|
|
76
|
+
/**
|
|
77
|
+
* Get jobs by status
|
|
78
|
+
*/
|
|
79
|
+
getJobsByStatus(status: Job<T>['status']): Promise<Job<T>[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Get jobs by workflow ID
|
|
82
|
+
*/
|
|
83
|
+
getJobsByWorkflow(workflowId: string): Promise<Job<T>[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Get current concurrent job count
|
|
86
|
+
*/
|
|
87
|
+
getConcurrentCount(): number;
|
|
88
|
+
/**
|
|
89
|
+
* Get max concurrent allowed
|
|
90
|
+
*/
|
|
91
|
+
getMaxConcurrent(): number;
|
|
92
|
+
/**
|
|
93
|
+
* Check if queue can accept more jobs
|
|
94
|
+
*/
|
|
95
|
+
canAcceptJobs(): boolean;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=InMemoryQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryQueue.d.ts","sourceRoot":"","sources":["../../src/queue/InMemoryQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5E;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,MAAM,GAAE,WAAgB;IASpC;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAezC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAuBvC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAIpC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAInD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/D;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5D;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB7C;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAI/D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAqCrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAIlE;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAI9D;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,aAAa,IAAI,OAAO;CAM3B"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory Queue
|
|
3
|
+
*
|
|
4
|
+
* Simple in-memory implementation of JobQueue.
|
|
5
|
+
* Suitable for single-process execution. For distributed systems,
|
|
6
|
+
* replace with Redis/database-backed queue.
|
|
7
|
+
*
|
|
8
|
+
* @module queue
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* In-memory job queue implementation
|
|
12
|
+
*/
|
|
13
|
+
export class InMemoryQueue {
|
|
14
|
+
jobs = new Map();
|
|
15
|
+
pendingQueue = [];
|
|
16
|
+
config;
|
|
17
|
+
constructor(config = {}) {
|
|
18
|
+
this.config = {
|
|
19
|
+
maxSize: config.maxSize ?? 0, // 0 = unlimited
|
|
20
|
+
maxConcurrent: config.maxConcurrent ?? 10,
|
|
21
|
+
persistent: config.persistent ?? false,
|
|
22
|
+
retentionMs: config.retentionMs ?? 3600000, // 1 hour default
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Add job to queue
|
|
27
|
+
*/
|
|
28
|
+
async enqueue(job) {
|
|
29
|
+
// Check max size
|
|
30
|
+
if (this.config.maxSize > 0 && this.jobs.size >= this.config.maxSize) {
|
|
31
|
+
throw new Error(`Queue is full (max: ${this.config.maxSize})`);
|
|
32
|
+
}
|
|
33
|
+
// Store job
|
|
34
|
+
this.jobs.set(job.id, job);
|
|
35
|
+
// Add to pending queue if status is pending
|
|
36
|
+
if (job.status === 'pending') {
|
|
37
|
+
this.insertByPriority(job);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Remove and return highest priority pending job
|
|
42
|
+
*/
|
|
43
|
+
async dequeue() {
|
|
44
|
+
// Check if we're at max concurrent
|
|
45
|
+
const runningCount = Array.from(this.jobs.values())
|
|
46
|
+
.filter(job => job.status === 'running').length;
|
|
47
|
+
if (runningCount >= this.config.maxConcurrent) {
|
|
48
|
+
return null; // At capacity
|
|
49
|
+
}
|
|
50
|
+
// Get next job from pending queue
|
|
51
|
+
const job = this.pendingQueue.shift();
|
|
52
|
+
if (!job) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
// Update status to running
|
|
56
|
+
job.status = 'running';
|
|
57
|
+
job.metadata.startedAt = new Date();
|
|
58
|
+
job.attempts++;
|
|
59
|
+
return job;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Peek at next job without removing it
|
|
63
|
+
*/
|
|
64
|
+
async peek() {
|
|
65
|
+
return this.pendingQueue[0] || null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get job by ID
|
|
69
|
+
*/
|
|
70
|
+
async getJob(jobId) {
|
|
71
|
+
return this.jobs.get(jobId) || null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Mark job as completed
|
|
75
|
+
*/
|
|
76
|
+
async markCompleted(jobId, result) {
|
|
77
|
+
const job = this.jobs.get(jobId);
|
|
78
|
+
if (!job) {
|
|
79
|
+
throw new Error(`Job not found: ${jobId}`);
|
|
80
|
+
}
|
|
81
|
+
job.status = 'completed';
|
|
82
|
+
job.result = result;
|
|
83
|
+
job.metadata.completedAt = new Date();
|
|
84
|
+
if (job.metadata.startedAt) {
|
|
85
|
+
job.metadata.durationMs =
|
|
86
|
+
job.metadata.completedAt.getTime() - job.metadata.startedAt.getTime();
|
|
87
|
+
}
|
|
88
|
+
// Schedule cleanup if retention is set
|
|
89
|
+
if (this.config.retentionMs > 0) {
|
|
90
|
+
setTimeout(() => this.jobs.delete(jobId), this.config.retentionMs);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Mark job as failed
|
|
95
|
+
*/
|
|
96
|
+
async markFailed(jobId, error) {
|
|
97
|
+
const job = this.jobs.get(jobId);
|
|
98
|
+
if (!job) {
|
|
99
|
+
throw new Error(`Job not found: ${jobId}`);
|
|
100
|
+
}
|
|
101
|
+
job.errors.push(error);
|
|
102
|
+
// Check if should retry
|
|
103
|
+
if (job.attempts < job.maxRetries) {
|
|
104
|
+
job.status = 'retrying';
|
|
105
|
+
// Re-queue with delay if specified
|
|
106
|
+
if (job.retryDelayMs && job.retryDelayMs > 0) {
|
|
107
|
+
setTimeout(() => {
|
|
108
|
+
job.status = 'pending';
|
|
109
|
+
this.insertByPriority(job);
|
|
110
|
+
}, job.retryDelayMs);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
job.status = 'pending';
|
|
114
|
+
this.insertByPriority(job);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
// Max retries exceeded
|
|
119
|
+
job.status = 'failed';
|
|
120
|
+
job.metadata.completedAt = new Date();
|
|
121
|
+
if (job.metadata.startedAt) {
|
|
122
|
+
job.metadata.durationMs =
|
|
123
|
+
job.metadata.completedAt.getTime() - job.metadata.startedAt.getTime();
|
|
124
|
+
}
|
|
125
|
+
// Schedule cleanup
|
|
126
|
+
if (this.config.retentionMs > 0) {
|
|
127
|
+
setTimeout(() => this.jobs.delete(jobId), this.config.retentionMs);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Mark job as retrying
|
|
133
|
+
*/
|
|
134
|
+
async markRetrying(jobId) {
|
|
135
|
+
const job = this.jobs.get(jobId);
|
|
136
|
+
if (!job) {
|
|
137
|
+
throw new Error(`Job not found: ${jobId}`);
|
|
138
|
+
}
|
|
139
|
+
job.status = 'retrying';
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Remove job from queue
|
|
143
|
+
*/
|
|
144
|
+
async remove(jobId) {
|
|
145
|
+
const job = this.jobs.get(jobId);
|
|
146
|
+
if (!job) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
// Remove from pending queue if present
|
|
150
|
+
const index = this.pendingQueue.findIndex(j => j.id === jobId);
|
|
151
|
+
if (index !== -1) {
|
|
152
|
+
this.pendingQueue.splice(index, 1);
|
|
153
|
+
}
|
|
154
|
+
// Remove from jobs map
|
|
155
|
+
return this.jobs.delete(jobId);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Find jobs matching filter
|
|
159
|
+
*/
|
|
160
|
+
async find(filter) {
|
|
161
|
+
return Array.from(this.jobs.values()).filter(filter);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get queue statistics
|
|
165
|
+
*/
|
|
166
|
+
async getStats() {
|
|
167
|
+
const allJobs = Array.from(this.jobs.values());
|
|
168
|
+
const pending = allJobs.filter(j => j.status === 'pending').length;
|
|
169
|
+
const running = allJobs.filter(j => j.status === 'running').length;
|
|
170
|
+
const completed = allJobs.filter(j => j.status === 'completed').length;
|
|
171
|
+
const failed = allJobs.filter(j => j.status === 'failed').length;
|
|
172
|
+
const retrying = allJobs.filter(j => j.status === 'retrying').length;
|
|
173
|
+
// Calculate average wait time (created to started)
|
|
174
|
+
const waitTimes = allJobs
|
|
175
|
+
.filter(j => j.metadata.startedAt)
|
|
176
|
+
.map(j => j.metadata.startedAt.getTime() - j.metadata.createdAt.getTime());
|
|
177
|
+
const avgWaitTimeMs = waitTimes.length > 0
|
|
178
|
+
? waitTimes.reduce((sum, time) => sum + time, 0) / waitTimes.length
|
|
179
|
+
: 0;
|
|
180
|
+
// Calculate average execution time
|
|
181
|
+
const executionTimes = allJobs
|
|
182
|
+
.filter(j => j.metadata.durationMs !== undefined)
|
|
183
|
+
.map(j => j.metadata.durationMs);
|
|
184
|
+
const avgExecutionTimeMs = executionTimes.length > 0
|
|
185
|
+
? executionTimes.reduce((sum, time) => sum + time, 0) / executionTimes.length
|
|
186
|
+
: 0;
|
|
187
|
+
return {
|
|
188
|
+
total: this.jobs.size,
|
|
189
|
+
pending,
|
|
190
|
+
running,
|
|
191
|
+
completed,
|
|
192
|
+
failed,
|
|
193
|
+
retrying,
|
|
194
|
+
avgWaitTimeMs,
|
|
195
|
+
avgExecutionTimeMs,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Clear all jobs
|
|
200
|
+
*/
|
|
201
|
+
async clear() {
|
|
202
|
+
this.jobs.clear();
|
|
203
|
+
this.pendingQueue = [];
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get queue size
|
|
207
|
+
*/
|
|
208
|
+
async size() {
|
|
209
|
+
return this.jobs.size;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if queue is empty
|
|
213
|
+
*/
|
|
214
|
+
async isEmpty() {
|
|
215
|
+
return this.jobs.size === 0;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Insert job into pending queue by priority
|
|
219
|
+
* Higher priority jobs go first, same priority uses FIFO
|
|
220
|
+
*/
|
|
221
|
+
insertByPriority(job) {
|
|
222
|
+
// Find insertion point based on JobPriority enum values
|
|
223
|
+
let insertIndex = 0;
|
|
224
|
+
for (let i = 0; i < this.pendingQueue.length; i++) {
|
|
225
|
+
// Higher priority value = higher priority (CRITICAL > HIGH > NORMAL > LOW)
|
|
226
|
+
if (this.pendingQueue[i].priority < job.priority) {
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
insertIndex++;
|
|
230
|
+
}
|
|
231
|
+
// Insert at the right position
|
|
232
|
+
this.pendingQueue.splice(insertIndex, 0, job);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Get jobs by status
|
|
236
|
+
*/
|
|
237
|
+
async getJobsByStatus(status) {
|
|
238
|
+
return Array.from(this.jobs.values()).filter(job => job.status === status);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get jobs by workflow ID
|
|
242
|
+
*/
|
|
243
|
+
async getJobsByWorkflow(workflowId) {
|
|
244
|
+
return Array.from(this.jobs.values()).filter(job => job.workflowId === workflowId);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get current concurrent job count
|
|
248
|
+
*/
|
|
249
|
+
getConcurrentCount() {
|
|
250
|
+
return Array.from(this.jobs.values()).filter(j => j.status === 'running').length;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get max concurrent allowed
|
|
254
|
+
*/
|
|
255
|
+
getMaxConcurrent() {
|
|
256
|
+
return this.config.maxConcurrent;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Check if queue can accept more jobs
|
|
260
|
+
*/
|
|
261
|
+
canAcceptJobs() {
|
|
262
|
+
if (this.config.maxSize > 0 && this.jobs.size >= this.config.maxSize) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=InMemoryQueue.js.map
|