@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,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HookManager - Manages and executes lifecycle hooks
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Register user-defined hooks
|
|
6
|
+
* - Execute hooks at appropriate lifecycle moments
|
|
7
|
+
* - Handle hook errors gracefully
|
|
8
|
+
* - Maintain hook execution order
|
|
9
|
+
*
|
|
10
|
+
* Design principles:
|
|
11
|
+
* - Hooks run sequentially (not parallel) for predictability
|
|
12
|
+
* - Hook errors are isolated - one failing hook doesn't break the workflow
|
|
13
|
+
* - Hooks can be async (awaited)
|
|
14
|
+
* - Hook failures are logged but don't stop execution (unless configured)
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const manager = new HookManager();
|
|
19
|
+
*
|
|
20
|
+
* manager.register({
|
|
21
|
+
* async afterStep(ctx) {
|
|
22
|
+
* console.log('Step done:', ctx.stepName);
|
|
23
|
+
* }
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* await manager.run('afterStep', stepContext);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class HookManager {
|
|
30
|
+
hooks = [];
|
|
31
|
+
failOnHookError = false;
|
|
32
|
+
constructor(options) {
|
|
33
|
+
this.failOnHookError = options?.failOnHookError ?? false;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Register a lifecycle hook
|
|
37
|
+
*
|
|
38
|
+
* @param hook - The hook implementation
|
|
39
|
+
*/
|
|
40
|
+
register(hook) {
|
|
41
|
+
this.hooks.push(hook);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Register multiple hooks at once
|
|
45
|
+
*
|
|
46
|
+
* @param hooks - Array of hook implementations
|
|
47
|
+
*/
|
|
48
|
+
registerMany(hooks) {
|
|
49
|
+
this.hooks.push(...hooks);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Remove a specific hook
|
|
53
|
+
*
|
|
54
|
+
* @param hook - The hook to remove
|
|
55
|
+
*/
|
|
56
|
+
unregister(hook) {
|
|
57
|
+
const index = this.hooks.indexOf(hook);
|
|
58
|
+
if (index !== -1) {
|
|
59
|
+
this.hooks.splice(index, 1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Clear all registered hooks
|
|
64
|
+
*/
|
|
65
|
+
clear() {
|
|
66
|
+
this.hooks = [];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Execute a specific hook type for all registered hooks
|
|
70
|
+
*
|
|
71
|
+
* @param type - The hook method name to execute
|
|
72
|
+
* @param ctx - Context to pass to the hook
|
|
73
|
+
* @param error - Optional error (for onError hook)
|
|
74
|
+
* @returns Array of hook results
|
|
75
|
+
*/
|
|
76
|
+
async run(type, ctx, error) {
|
|
77
|
+
const results = [];
|
|
78
|
+
for (const hook of this.hooks) {
|
|
79
|
+
const hookFn = hook[type];
|
|
80
|
+
if (!hookFn) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
// Execute hook with appropriate arguments
|
|
85
|
+
if (type === 'onError') {
|
|
86
|
+
await hookFn(ctx, error);
|
|
87
|
+
}
|
|
88
|
+
else if (type === 'onRetry' && 'attempt' in ctx) {
|
|
89
|
+
const stepCtx = ctx;
|
|
90
|
+
await hookFn(ctx, stepCtx.attempt, 3); // TODO: get maxAttempts from config
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
await hookFn(ctx);
|
|
94
|
+
}
|
|
95
|
+
results.push({ success: true });
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
const hookError = err instanceof Error ? err : new Error(String(err));
|
|
99
|
+
results.push({
|
|
100
|
+
success: false,
|
|
101
|
+
error: hookError,
|
|
102
|
+
hookName: hook.constructor?.name || 'AnonymousHook',
|
|
103
|
+
});
|
|
104
|
+
console.error(`[HookManager] Hook '${type}' failed:`, hookError);
|
|
105
|
+
// If configured to fail on hook errors, rethrow
|
|
106
|
+
if (this.failOnHookError) {
|
|
107
|
+
throw new Error(`Hook '${type}' failed: ${hookError.message}`, { cause: hookError });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return results;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Execute beforeWorkflow hooks
|
|
115
|
+
*/
|
|
116
|
+
async runBeforeWorkflow(ctx) {
|
|
117
|
+
return this.run('beforeWorkflow', ctx);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Execute afterWorkflow hooks
|
|
121
|
+
*/
|
|
122
|
+
async runAfterWorkflow(ctx) {
|
|
123
|
+
return this.run('afterWorkflow', ctx);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Execute beforeStep hooks
|
|
127
|
+
*/
|
|
128
|
+
async runBeforeStep(ctx) {
|
|
129
|
+
return this.run('beforeStep', ctx);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Execute afterStep hooks
|
|
133
|
+
*/
|
|
134
|
+
async runAfterStep(ctx) {
|
|
135
|
+
return this.run('afterStep', ctx);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Execute onError hooks
|
|
139
|
+
*/
|
|
140
|
+
async runOnError(ctx, error) {
|
|
141
|
+
return this.run('onError', ctx, error);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Execute onRetry hooks
|
|
145
|
+
*/
|
|
146
|
+
async runOnRetry(ctx) {
|
|
147
|
+
return this.run('onRetry', ctx);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Execute onPause hooks
|
|
151
|
+
*/
|
|
152
|
+
async runOnPause(ctx) {
|
|
153
|
+
return this.run('onPause', ctx);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Execute onResume hooks
|
|
157
|
+
*/
|
|
158
|
+
async runOnResume(ctx) {
|
|
159
|
+
return this.run('onResume', ctx);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get count of registered hooks
|
|
163
|
+
*/
|
|
164
|
+
count() {
|
|
165
|
+
return this.hooks.length;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Check if any hooks are registered
|
|
169
|
+
*/
|
|
170
|
+
hasHooks() {
|
|
171
|
+
return this.hooks.length > 0;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get list of hook types that have implementations
|
|
175
|
+
*
|
|
176
|
+
* @returns Array of hook type names that are implemented
|
|
177
|
+
*/
|
|
178
|
+
getImplementedHooks() {
|
|
179
|
+
const implemented = new Set();
|
|
180
|
+
for (const hook of this.hooks) {
|
|
181
|
+
const keys = Object.keys(hook);
|
|
182
|
+
keys.forEach((key) => implemented.add(key));
|
|
183
|
+
}
|
|
184
|
+
return Array.from(implemented);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=HookManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HookManager.js","sourceRoot":"","sources":["../../src/hooks/HookManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Hooks - User-level extensibility points
|
|
3
|
+
*
|
|
4
|
+
* While EventBus is for engine-internal communication and observability,
|
|
5
|
+
* hooks provide user-facing extensibility to inject custom logic into
|
|
6
|
+
* the workflow execution lifecycle.
|
|
7
|
+
*
|
|
8
|
+
* Difference between Events and Hooks:
|
|
9
|
+
*
|
|
10
|
+
* Events (Engine-level):
|
|
11
|
+
* - Emitted by engine components
|
|
12
|
+
* - For observability, logging, metrics
|
|
13
|
+
* - Multiple independent listeners
|
|
14
|
+
* - Fire-and-forget
|
|
15
|
+
*
|
|
16
|
+
* Hooks (User-level):
|
|
17
|
+
* - Registered by users/plugins
|
|
18
|
+
* - For extending behavior
|
|
19
|
+
* - Sequential execution
|
|
20
|
+
* - Can modify context or interrupt flow
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Context passed to workflow-level hooks
|
|
24
|
+
*/
|
|
25
|
+
export interface WorkflowHookContext {
|
|
26
|
+
workflowId: string;
|
|
27
|
+
workflowName: string;
|
|
28
|
+
runId: string;
|
|
29
|
+
triggeredBy?: string;
|
|
30
|
+
inputs?: Record<string, any>;
|
|
31
|
+
env?: Record<string, string>;
|
|
32
|
+
metadata?: Record<string, any>;
|
|
33
|
+
startTime: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Context passed to step-level hooks
|
|
37
|
+
*/
|
|
38
|
+
export interface StepHookContext {
|
|
39
|
+
workflowId: string;
|
|
40
|
+
workflowName: string;
|
|
41
|
+
runId: string;
|
|
42
|
+
stepId: string;
|
|
43
|
+
stepName: string;
|
|
44
|
+
adapterType: string;
|
|
45
|
+
attempt: number;
|
|
46
|
+
inputs?: Record<string, any>;
|
|
47
|
+
outputs?: Record<string, any>;
|
|
48
|
+
startTime: number;
|
|
49
|
+
endTime?: number;
|
|
50
|
+
durationMs?: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Lifecycle hook interface
|
|
54
|
+
*
|
|
55
|
+
* All methods are optional - implement only what you need.
|
|
56
|
+
* All methods are async to support I/O operations.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const loggingHook: LifecycleHook = {
|
|
61
|
+
* async afterStep(ctx) {
|
|
62
|
+
* console.log(`Step ${ctx.stepName} completed`);
|
|
63
|
+
* }
|
|
64
|
+
* };
|
|
65
|
+
*
|
|
66
|
+
* const notificationHook: LifecycleHook = {
|
|
67
|
+
* async afterWorkflow(ctx) {
|
|
68
|
+
* await sendSlackMessage(`Workflow ${ctx.workflowName} done!`);
|
|
69
|
+
* },
|
|
70
|
+
* async onError(ctx, error) {
|
|
71
|
+
* await sendAlert(`Workflow failed: ${error.message}`);
|
|
72
|
+
* }
|
|
73
|
+
* };
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export interface LifecycleHook {
|
|
77
|
+
/**
|
|
78
|
+
* Called before workflow execution begins
|
|
79
|
+
* Use for: validation, setup, initialization
|
|
80
|
+
*/
|
|
81
|
+
beforeWorkflow?(ctx: WorkflowHookContext): Promise<void> | void;
|
|
82
|
+
/**
|
|
83
|
+
* Called after workflow completes successfully
|
|
84
|
+
* Use for: cleanup, notifications, reporting
|
|
85
|
+
*/
|
|
86
|
+
afterWorkflow?(ctx: WorkflowHookContext): Promise<void> | void;
|
|
87
|
+
/**
|
|
88
|
+
* Called before each step executes
|
|
89
|
+
* Use for: logging, metrics, preparation
|
|
90
|
+
*/
|
|
91
|
+
beforeStep?(ctx: StepHookContext): Promise<void> | void;
|
|
92
|
+
/**
|
|
93
|
+
* Called after each step completes successfully
|
|
94
|
+
* Use for: logging, metrics, validation
|
|
95
|
+
*/
|
|
96
|
+
afterStep?(ctx: StepHookContext): Promise<void> | void;
|
|
97
|
+
/**
|
|
98
|
+
* Called when a workflow or step fails
|
|
99
|
+
* Use for: error handling, alerts, recovery
|
|
100
|
+
*/
|
|
101
|
+
onError?(ctx: WorkflowHookContext | StepHookContext, error: Error): Promise<void> | void;
|
|
102
|
+
/**
|
|
103
|
+
* Called when a step is retrying
|
|
104
|
+
* Use for: logging retry attempts, backoff notifications
|
|
105
|
+
*/
|
|
106
|
+
onRetry?(ctx: StepHookContext, attempt: number, maxAttempts: number): Promise<void> | void;
|
|
107
|
+
/**
|
|
108
|
+
* Called when a workflow is paused
|
|
109
|
+
* Use for: state persistence, notifications
|
|
110
|
+
*/
|
|
111
|
+
onPause?(ctx: WorkflowHookContext): Promise<void> | void;
|
|
112
|
+
/**
|
|
113
|
+
* Called when a workflow is resumed
|
|
114
|
+
* Use for: state restoration, notifications
|
|
115
|
+
*/
|
|
116
|
+
onResume?(ctx: WorkflowHookContext): Promise<void> | void;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Hook execution result
|
|
120
|
+
*/
|
|
121
|
+
export interface HookResult {
|
|
122
|
+
success: boolean;
|
|
123
|
+
error?: Error;
|
|
124
|
+
hookName?: string;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=LifecycleHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LifecycleHooks.d.ts","sourceRoot":"","sources":["../../src/hooks/LifecycleHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEhE;;;OAGG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE/D;;;OAGG;IACH,UAAU,CAAC,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvD;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzF;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3F;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzD;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Hooks - User-level extensibility points
|
|
3
|
+
*
|
|
4
|
+
* While EventBus is for engine-internal communication and observability,
|
|
5
|
+
* hooks provide user-facing extensibility to inject custom logic into
|
|
6
|
+
* the workflow execution lifecycle.
|
|
7
|
+
*
|
|
8
|
+
* Difference between Events and Hooks:
|
|
9
|
+
*
|
|
10
|
+
* Events (Engine-level):
|
|
11
|
+
* - Emitted by engine components
|
|
12
|
+
* - For observability, logging, metrics
|
|
13
|
+
* - Multiple independent listeners
|
|
14
|
+
* - Fire-and-forget
|
|
15
|
+
*
|
|
16
|
+
* Hooks (User-level):
|
|
17
|
+
* - Registered by users/plugins
|
|
18
|
+
* - For extending behavior
|
|
19
|
+
* - Sequential execution
|
|
20
|
+
* - Can modify context or interrupt flow
|
|
21
|
+
*/
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=LifecycleHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LifecycleHooks.js","sourceRoot":"","sources":["../../src/hooks/LifecycleHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orbyt Engine - Universal Workflow Automation
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { OrbytEngine } from '@orbytautomation/engine';
|
|
7
|
+
*
|
|
8
|
+
* const engine = new OrbytEngine();
|
|
9
|
+
* const result = await engine.run('./workflow.yaml');
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export { OrbytEngine } from './core/OrbytEngine.js';
|
|
13
|
+
export type { WorkflowRunOptions, WorkflowLoadOptions } from './core/OrbytEngine.js';
|
|
14
|
+
export type { OrbytEngineConfig, LogLevel, ExecutionMode } from './core/EngineConfig.js';
|
|
15
|
+
export type { WorkflowResult, ExecutionOptions } from './execution/WorkflowExecutor.js';
|
|
16
|
+
export type { ParsedWorkflow } from './parser/WorkflowParser.js';
|
|
17
|
+
export type { EngineContext } from './core/EngineContext.js';
|
|
18
|
+
export * from './adapters/index.js';
|
|
19
|
+
export * from './events/index.js';
|
|
20
|
+
export * from './hooks/index.js';
|
|
21
|
+
export type { StepResult } from './execution/StepExecutor.js';
|
|
22
|
+
export type { ExecutionPlan } from './execution/ExecutionPlan.js';
|
|
23
|
+
export * from './parser/index.js';
|
|
24
|
+
export * from './state/index.js';
|
|
25
|
+
export * from './context/index.js';
|
|
26
|
+
export * from './automation/index.js';
|
|
27
|
+
export * from './queue/index.js';
|
|
28
|
+
export * from './scheduling/index.js';
|
|
29
|
+
export * from './errors/index.js';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACd,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,cAAc,EACf,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,aAAa,EACd,MAAM,yBAAyB,CAAC;AAOjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orbyt Engine - Universal Workflow Automation
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { OrbytEngine } from '@orbytautomation/engine';
|
|
7
|
+
*
|
|
8
|
+
* const engine = new OrbytEngine();
|
|
9
|
+
* const result = await engine.run('./workflow.yaml');
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// PRIMARY EXPORT - Start here!
|
|
14
|
+
// ============================================================================
|
|
15
|
+
export { OrbytEngine } from './core/OrbytEngine.js';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// ADVANCED - For power users and adapter developers
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Adapters
|
|
20
|
+
export * from './adapters/index.js';
|
|
21
|
+
// Events
|
|
22
|
+
export * from './events/index.js';
|
|
23
|
+
// Hooks
|
|
24
|
+
export * from './hooks/index.js';
|
|
25
|
+
// Parser (for validation and custom tooling)
|
|
26
|
+
export * from './parser/index.js';
|
|
27
|
+
// State management
|
|
28
|
+
export * from './state/index.js';
|
|
29
|
+
// Context utilities
|
|
30
|
+
export * from './context/index.js';
|
|
31
|
+
// Automation policies
|
|
32
|
+
export * from './automation/index.js';
|
|
33
|
+
// Queue and scheduling (for distributed setups)
|
|
34
|
+
export * from './queue/index.js';
|
|
35
|
+
export * from './scheduling/index.js';
|
|
36
|
+
// Errors (for error handling)
|
|
37
|
+
export * from './errors/index.js';
|
|
38
|
+
// export * from './workflow/index.js';
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA8BpD,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E,WAAW;AACX,cAAc,qBAAqB,CAAC;AAEpC,SAAS;AACT,cAAc,mBAAmB,CAAC;AAElC,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAMjC,6CAA6C;AAC7C,cAAc,mBAAmB,CAAC;AAElC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AAEjC,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AAEnC,sBAAsB;AACtB,cAAc,uBAAuB,CAAC;AAEtC,gDAAgD;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,8BAA8B;AAC9B,cAAc,mBAAmB,CAAC;AAElC,uCAAuC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engine Lifecycle Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages engine startup, runtime, and shutdown phases.
|
|
5
|
+
* Coordinates initialization and cleanup of all engine components.
|
|
6
|
+
*
|
|
7
|
+
* @module lifecycle
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Engine lifecycle state
|
|
11
|
+
*/
|
|
12
|
+
export declare enum EngineState {
|
|
13
|
+
STOPPED = "stopped",
|
|
14
|
+
STARTING = "starting",
|
|
15
|
+
RUNNING = "running",
|
|
16
|
+
STOPPING = "stopping",
|
|
17
|
+
ERROR = "error"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Lifecycle event
|
|
21
|
+
*/
|
|
22
|
+
export interface LifecycleEvent {
|
|
23
|
+
state: EngineState;
|
|
24
|
+
timestamp: Date;
|
|
25
|
+
details?: string;
|
|
26
|
+
error?: Error;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Lifecycle event listener
|
|
30
|
+
*/
|
|
31
|
+
export type LifecycleListener = (event: LifecycleEvent) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Component that requires lifecycle management
|
|
34
|
+
*/
|
|
35
|
+
export interface LifecycleComponent {
|
|
36
|
+
name: string;
|
|
37
|
+
/**
|
|
38
|
+
* Initialize component
|
|
39
|
+
*/
|
|
40
|
+
start?(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Cleanup component
|
|
43
|
+
*/
|
|
44
|
+
stop?(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Engine lifecycle manager
|
|
48
|
+
*/
|
|
49
|
+
export declare class EngineLifecycle {
|
|
50
|
+
private state;
|
|
51
|
+
private components;
|
|
52
|
+
private listeners;
|
|
53
|
+
private stateHistory;
|
|
54
|
+
/**
|
|
55
|
+
* Register a lifecycle component
|
|
56
|
+
*
|
|
57
|
+
* @param component - Component to register
|
|
58
|
+
*/
|
|
59
|
+
registerComponent(component: LifecycleComponent): void;
|
|
60
|
+
/**
|
|
61
|
+
* Register multiple components
|
|
62
|
+
*
|
|
63
|
+
* @param components - Components to register
|
|
64
|
+
*/
|
|
65
|
+
registerComponents(components: LifecycleComponent[]): void;
|
|
66
|
+
/**
|
|
67
|
+
* Add state change listener
|
|
68
|
+
*
|
|
69
|
+
* @param listener - Listener function
|
|
70
|
+
*/
|
|
71
|
+
on(listener: LifecycleListener): void;
|
|
72
|
+
/**
|
|
73
|
+
* Remove state change listener
|
|
74
|
+
*
|
|
75
|
+
* @param listener - Listener to remove
|
|
76
|
+
*/
|
|
77
|
+
off(listener: LifecycleListener): void;
|
|
78
|
+
/**
|
|
79
|
+
* Start the engine
|
|
80
|
+
*
|
|
81
|
+
* Initializes all registered components in order.
|
|
82
|
+
*/
|
|
83
|
+
start(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Stop the engine
|
|
86
|
+
*
|
|
87
|
+
* Cleanly shuts down all components in reverse order.
|
|
88
|
+
*/
|
|
89
|
+
stop(): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Graceful shutdown with timeout
|
|
92
|
+
*
|
|
93
|
+
* @param timeoutMs - Maximum time to wait for shutdown
|
|
94
|
+
*/
|
|
95
|
+
gracefulShutdown(timeoutMs?: number): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Get current engine state
|
|
98
|
+
*/
|
|
99
|
+
getState(): EngineState;
|
|
100
|
+
/**
|
|
101
|
+
* Check if engine is running
|
|
102
|
+
*/
|
|
103
|
+
isRunning(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Get state history
|
|
106
|
+
*/
|
|
107
|
+
getHistory(): LifecycleEvent[];
|
|
108
|
+
/**
|
|
109
|
+
* Get registered components
|
|
110
|
+
*/
|
|
111
|
+
getComponents(): LifecycleComponent[];
|
|
112
|
+
/**
|
|
113
|
+
* Set engine state and notify listeners
|
|
114
|
+
*/
|
|
115
|
+
private setState;
|
|
116
|
+
/**
|
|
117
|
+
* Emit log message to console
|
|
118
|
+
*/
|
|
119
|
+
private emit;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=EngineLifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineLifecycle.d.ts","sourceRoot":"","sources":["../../src/lifecycle/EngineLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,YAAY,CAAwB;IAE5C;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAUtD;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAM1D;;;;OAIG;IACH,EAAE,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIrC;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAOtC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC3B;;;;OAIG;IACG,gBAAgB,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhE;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IAIrC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAyBhB;;OAEG;IACH,OAAO,CAAC,IAAI;CAIb"}
|