@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,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query Executor
|
|
3
|
+
*
|
|
4
|
+
* Executes database queries with connection pooling and error handling.
|
|
5
|
+
*/
|
|
6
|
+
import { AdapterExecutionError } from '@dev-ecosystem/core';
|
|
7
|
+
/**
|
|
8
|
+
* Abstract Query Executor
|
|
9
|
+
*/
|
|
10
|
+
export class QueryExecutor {
|
|
11
|
+
connectionString;
|
|
12
|
+
constructor(connectionString) {
|
|
13
|
+
this.connectionString = connectionString;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Execute a query and return first row
|
|
17
|
+
*/
|
|
18
|
+
async queryOne(sql, options) {
|
|
19
|
+
const result = await this.query(sql, options);
|
|
20
|
+
return result.rows[0];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Mock Query Executor (for testing)
|
|
25
|
+
*/
|
|
26
|
+
export class MockQueryExecutor extends QueryExecutor {
|
|
27
|
+
connected = false;
|
|
28
|
+
mockData = new Map();
|
|
29
|
+
async connect() {
|
|
30
|
+
this.connected = true;
|
|
31
|
+
}
|
|
32
|
+
async disconnect() {
|
|
33
|
+
this.connected = false;
|
|
34
|
+
}
|
|
35
|
+
async query(sql, options) {
|
|
36
|
+
if (!this.connected) {
|
|
37
|
+
throw new AdapterExecutionError('Database not connected', { hint: 'Call connect() before executing queries' });
|
|
38
|
+
}
|
|
39
|
+
const startTime = Date.now();
|
|
40
|
+
// Apply options if provided
|
|
41
|
+
let rows = (this.mockData.get(sql) || []);
|
|
42
|
+
// Apply limit from options
|
|
43
|
+
if (options?.params && Array.isArray(options.params)) {
|
|
44
|
+
// In real implementation, params would be used for parameterized queries
|
|
45
|
+
// For mock, we log them for debugging (no silent behavior)
|
|
46
|
+
// Note: In production, sensitive query params should be redacted
|
|
47
|
+
if (rows.length > 0) {
|
|
48
|
+
// Only log when there's data to query
|
|
49
|
+
// This would be replaced with proper logging in real implementation
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Check timeout
|
|
53
|
+
if (options?.timeout) {
|
|
54
|
+
const elapsed = Date.now() - startTime;
|
|
55
|
+
if (elapsed > options.timeout) {
|
|
56
|
+
throw new AdapterExecutionError('Query timeout exceeded', { timeout: options.timeout, elapsed });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
rows,
|
|
61
|
+
rowCount: rows.length,
|
|
62
|
+
fields: [],
|
|
63
|
+
duration: Date.now() - startTime,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async transaction(queries) {
|
|
67
|
+
const results = [];
|
|
68
|
+
for (const { sql, options } of queries) {
|
|
69
|
+
const result = await this.query(sql, options);
|
|
70
|
+
results.push(result);
|
|
71
|
+
}
|
|
72
|
+
return results;
|
|
73
|
+
}
|
|
74
|
+
isConnected() {
|
|
75
|
+
return this.connected;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Set mock data for a query
|
|
79
|
+
*/
|
|
80
|
+
setMockData(sql, data) {
|
|
81
|
+
this.mockData.set(sql, data);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Clear all mock data
|
|
85
|
+
*/
|
|
86
|
+
clearMockData() {
|
|
87
|
+
this.mockData.clear();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=QueryExecutor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryExecutor.js","sourceRoot":"","sources":["../../../src/adapters/builtins/QueryExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Adapter
|
|
3
|
+
*
|
|
4
|
+
* Provides message queue operations (publish, consume).
|
|
5
|
+
*
|
|
6
|
+
* ⚠️ IMPORTANT - QUEUE SEMANTICS:
|
|
7
|
+
*
|
|
8
|
+
* This adapter uses IN-MEMORY, NON-DURABLE message queues by default:
|
|
9
|
+
* - Messages are stored in process memory only
|
|
10
|
+
* - NO persistence across restarts
|
|
11
|
+
* - BEST-EFFORT delivery (no guarantees)
|
|
12
|
+
* - Data is LOST on process crash or restart
|
|
13
|
+
* - Suitable ONLY for development and testing
|
|
14
|
+
*
|
|
15
|
+
* For production use:
|
|
16
|
+
* - Replace MemoryProducer/Consumer with Redis/RabbitMQ/Kafka implementations
|
|
17
|
+
* - Configure proper durability, ack semantics, and retry policies
|
|
18
|
+
* - Enable at-least-once or exactly-once delivery guarantees
|
|
19
|
+
*
|
|
20
|
+
* Current delivery semantics:
|
|
21
|
+
* - No message persistence
|
|
22
|
+
* - No delivery confirmation
|
|
23
|
+
* - No automatic retry
|
|
24
|
+
* - Messages processed in FIFO order within same queue
|
|
25
|
+
* - No guarantee of ordering across multiple consumers
|
|
26
|
+
*/
|
|
27
|
+
import { Adapter, AdapterContext, AdapterCapabilities, AdapterMetadata, AdapterResult } from '@dev-ecosystem/core';
|
|
28
|
+
import { Producer } from './Producer.js';
|
|
29
|
+
import { Consumer } from './Consumer.js';
|
|
30
|
+
export interface QueueAdapterConfig {
|
|
31
|
+
/**
|
|
32
|
+
* Default producer factory
|
|
33
|
+
*/
|
|
34
|
+
producerFactory?: (queue: string) => Producer;
|
|
35
|
+
/**
|
|
36
|
+
* Default consumer factory
|
|
37
|
+
*/
|
|
38
|
+
consumerFactory?: (queue: string) => Consumer;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Queue Adapter
|
|
42
|
+
*
|
|
43
|
+
* Supported actions:
|
|
44
|
+
* - queue.publish: Publish a message to a queue
|
|
45
|
+
* - queue.publishBatch: Publish multiple messages
|
|
46
|
+
* - queue.consume: Start consuming messages (long-running)
|
|
47
|
+
* - queue.stop: Stop consuming messages
|
|
48
|
+
*/
|
|
49
|
+
export declare class QueueAdapter implements Adapter {
|
|
50
|
+
readonly name = "queue";
|
|
51
|
+
readonly version = "1.0.0";
|
|
52
|
+
readonly description = "Message queue operations for asynchronous workflows";
|
|
53
|
+
readonly capabilities: AdapterCapabilities;
|
|
54
|
+
readonly metadata: AdapterMetadata;
|
|
55
|
+
readonly supportedActions: string[];
|
|
56
|
+
private producers;
|
|
57
|
+
private consumers;
|
|
58
|
+
private producerFactory;
|
|
59
|
+
private consumerFactory;
|
|
60
|
+
constructor(config?: QueueAdapterConfig);
|
|
61
|
+
initialize(): Promise<void>;
|
|
62
|
+
cleanup(): Promise<void>;
|
|
63
|
+
supports(action: string): boolean;
|
|
64
|
+
execute(action: string, input: Record<string, any>, context: AdapterContext): Promise<AdapterResult>;
|
|
65
|
+
private publishMessage;
|
|
66
|
+
private publishBatch;
|
|
67
|
+
private consumeMessages;
|
|
68
|
+
private stopConsuming;
|
|
69
|
+
private getProducer;
|
|
70
|
+
private getConsumer;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=QueueAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtins/QueueAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAEzI,OAAO,EAAE,QAAQ,EAAkC,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAkC,MAAM,eAAe,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC;IAE9C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,OAAO;IAC1C,SAAgB,IAAI,WAAW;IAC/B,SAAgB,OAAO,WAAW;IAClC,SAAgB,WAAW,yDAAyD;IAEpF,SAAgB,YAAY,EAAE,mBAAmB,CAS/C;IAEF,SAAgB,QAAQ,EAAE,eAAe,CAKvC;IAEF,SAAgB,gBAAgB,WAA0E;IAE1G,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,eAAe,CAA8B;gBAEzC,MAAM,GAAE,kBAAuB;IAKrC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI3B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAwD5F,cAAc;YAkBd,YAAY;YAiBZ,eAAe;YAmCf,aAAa;YAsBb,WAAW;YAUX,WAAW;CAS1B"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Adapter
|
|
3
|
+
*
|
|
4
|
+
* Provides message queue operations (publish, consume).
|
|
5
|
+
*
|
|
6
|
+
* ⚠️ IMPORTANT - QUEUE SEMANTICS:
|
|
7
|
+
*
|
|
8
|
+
* This adapter uses IN-MEMORY, NON-DURABLE message queues by default:
|
|
9
|
+
* - Messages are stored in process memory only
|
|
10
|
+
* - NO persistence across restarts
|
|
11
|
+
* - BEST-EFFORT delivery (no guarantees)
|
|
12
|
+
* - Data is LOST on process crash or restart
|
|
13
|
+
* - Suitable ONLY for development and testing
|
|
14
|
+
*
|
|
15
|
+
* For production use:
|
|
16
|
+
* - Replace MemoryProducer/Consumer with Redis/RabbitMQ/Kafka implementations
|
|
17
|
+
* - Configure proper durability, ack semantics, and retry policies
|
|
18
|
+
* - Enable at-least-once or exactly-once delivery guarantees
|
|
19
|
+
*
|
|
20
|
+
* Current delivery semantics:
|
|
21
|
+
* - No message persistence
|
|
22
|
+
* - No delivery confirmation
|
|
23
|
+
* - No automatic retry
|
|
24
|
+
* - Messages processed in FIFO order within same queue
|
|
25
|
+
* - No guarantee of ordering across multiple consumers
|
|
26
|
+
*/
|
|
27
|
+
import { AdapterResultBuilder } from '@dev-ecosystem/core';
|
|
28
|
+
import { WorkflowValidationError, OrbytErrorCodes } from '@dev-ecosystem/core';
|
|
29
|
+
import { MemoryProducer } from './Producer.js';
|
|
30
|
+
import { MemoryConsumer } from './Consumer.js';
|
|
31
|
+
/**
|
|
32
|
+
* Queue Adapter
|
|
33
|
+
*
|
|
34
|
+
* Supported actions:
|
|
35
|
+
* - queue.publish: Publish a message to a queue
|
|
36
|
+
* - queue.publishBatch: Publish multiple messages
|
|
37
|
+
* - queue.consume: Start consuming messages (long-running)
|
|
38
|
+
* - queue.stop: Stop consuming messages
|
|
39
|
+
*/
|
|
40
|
+
export class QueueAdapter {
|
|
41
|
+
name = 'queue';
|
|
42
|
+
version = '1.0.0';
|
|
43
|
+
description = 'Message queue operations for asynchronous workflows';
|
|
44
|
+
capabilities = {
|
|
45
|
+
actions: ['queue.publish', 'queue.publishBatch', 'queue.consume', 'queue.stop'],
|
|
46
|
+
concurrent: true,
|
|
47
|
+
cacheable: false,
|
|
48
|
+
idempotent: false,
|
|
49
|
+
resources: {
|
|
50
|
+
network: true,
|
|
51
|
+
},
|
|
52
|
+
cost: 'low',
|
|
53
|
+
};
|
|
54
|
+
metadata = {
|
|
55
|
+
name: 'Queue Adapter',
|
|
56
|
+
version: '1.0.0',
|
|
57
|
+
author: 'Orbyt Team',
|
|
58
|
+
tags: ['queue', 'messaging', 'async'],
|
|
59
|
+
};
|
|
60
|
+
supportedActions = ['queue.publish', 'queue.publishBatch', 'queue.consume', 'queue.stop'];
|
|
61
|
+
producers = new Map();
|
|
62
|
+
consumers = new Map();
|
|
63
|
+
producerFactory;
|
|
64
|
+
consumerFactory;
|
|
65
|
+
constructor(config = {}) {
|
|
66
|
+
this.producerFactory = config.producerFactory || ((queue) => new MemoryProducer(queue));
|
|
67
|
+
this.consumerFactory = config.consumerFactory || ((queue) => new MemoryConsumer(queue));
|
|
68
|
+
}
|
|
69
|
+
async initialize() {
|
|
70
|
+
// No initialization needed
|
|
71
|
+
}
|
|
72
|
+
async cleanup() {
|
|
73
|
+
// Disconnect all producers and consumers
|
|
74
|
+
for (const producer of this.producers.values()) {
|
|
75
|
+
await producer.disconnect();
|
|
76
|
+
}
|
|
77
|
+
for (const consumer of this.consumers.values()) {
|
|
78
|
+
await consumer.disconnect();
|
|
79
|
+
}
|
|
80
|
+
this.producers.clear();
|
|
81
|
+
this.consumers.clear();
|
|
82
|
+
}
|
|
83
|
+
supports(action) {
|
|
84
|
+
return action.startsWith('queue.');
|
|
85
|
+
}
|
|
86
|
+
async execute(action, input, context) {
|
|
87
|
+
const builder = new AdapterResultBuilder();
|
|
88
|
+
const startTime = Date.now();
|
|
89
|
+
// Log execution context for debugging
|
|
90
|
+
context.log(`Executing queue.${action} for workspace: ${context.cwd || process.cwd()}`, 'info');
|
|
91
|
+
try {
|
|
92
|
+
let result;
|
|
93
|
+
switch (action) {
|
|
94
|
+
case 'queue.publish':
|
|
95
|
+
result = await this.publishMessage(input);
|
|
96
|
+
break;
|
|
97
|
+
case 'queue.publishBatch':
|
|
98
|
+
result = await this.publishBatch(input);
|
|
99
|
+
break;
|
|
100
|
+
case 'queue.consume':
|
|
101
|
+
result = await this.consumeMessages(input, context);
|
|
102
|
+
break;
|
|
103
|
+
case 'queue.stop':
|
|
104
|
+
result = await this.stopConsuming(input);
|
|
105
|
+
break;
|
|
106
|
+
default:
|
|
107
|
+
throw new WorkflowValidationError(`Unsupported queue action: ${action}`, { action, hint: 'Supported actions: publish, publishBatch, consume, stop' });
|
|
108
|
+
}
|
|
109
|
+
return builder
|
|
110
|
+
.success(result)
|
|
111
|
+
.effect(`queue:${action.replace('queue.', '')}`)
|
|
112
|
+
.metrics({
|
|
113
|
+
durationMs: Date.now() - startTime,
|
|
114
|
+
})
|
|
115
|
+
.build();
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
const err = error;
|
|
119
|
+
const errorCode = error.code || OrbytErrorCodes.ADAPTER_EXECUTION_FAILED;
|
|
120
|
+
return builder
|
|
121
|
+
.failure({
|
|
122
|
+
code: errorCode,
|
|
123
|
+
message: err.message,
|
|
124
|
+
})
|
|
125
|
+
.metrics({
|
|
126
|
+
durationMs: Date.now() - startTime,
|
|
127
|
+
})
|
|
128
|
+
.build();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async publishMessage(input) {
|
|
132
|
+
const queueName = input.queue;
|
|
133
|
+
const message = input.message;
|
|
134
|
+
const options = input.options;
|
|
135
|
+
if (!queueName || message === undefined) {
|
|
136
|
+
throw new WorkflowValidationError('Missing required parameters: queue, message', { parameters: ['queue', 'message'] });
|
|
137
|
+
}
|
|
138
|
+
const producer = await this.getProducer(queueName);
|
|
139
|
+
const result = await producer.publish(message, options);
|
|
140
|
+
return { queue: queueName, messageId: result };
|
|
141
|
+
}
|
|
142
|
+
async publishBatch(input) {
|
|
143
|
+
const queueName = input.queue;
|
|
144
|
+
const messages = input.messages;
|
|
145
|
+
if (!queueName || !Array.isArray(messages)) {
|
|
146
|
+
throw new WorkflowValidationError('Missing required parameters: queue, messages (array)', { parameters: ['queue', 'messages'] });
|
|
147
|
+
}
|
|
148
|
+
const producer = await this.getProducer(queueName);
|
|
149
|
+
const results = await producer.publishBatch(messages);
|
|
150
|
+
return { queue: queueName, results, count: results.length };
|
|
151
|
+
}
|
|
152
|
+
async consumeMessages(input, context) {
|
|
153
|
+
const queueName = input.queue;
|
|
154
|
+
const handlerCode = input.handler;
|
|
155
|
+
if (!queueName || !handlerCode) {
|
|
156
|
+
throw new WorkflowValidationError('Missing required parameters: queue, handler', { parameters: ['queue', 'handler'], hint: 'handler should be a function or workflow reference' });
|
|
157
|
+
}
|
|
158
|
+
const consumer = await this.getConsumer(queueName);
|
|
159
|
+
// For now, just start the consumer without a handler
|
|
160
|
+
// In a real implementation, you would compile the handler code
|
|
161
|
+
// or reference another workflow/step to handle messages
|
|
162
|
+
const handler = async (message) => {
|
|
163
|
+
// Log message receipt (no silent behavior)
|
|
164
|
+
if (context.log) {
|
|
165
|
+
context.log(`[Queue:${queueName}] Received message: ${JSON.stringify(message).substring(0, 100)}...`, 'info');
|
|
166
|
+
context.log(`[Queue:${queueName}] Handler code: ${handlerCode}`, 'debug');
|
|
167
|
+
}
|
|
168
|
+
// TODO: Execute handler code or workflow
|
|
169
|
+
await message.ack();
|
|
170
|
+
};
|
|
171
|
+
await consumer.consume(handler);
|
|
172
|
+
return {
|
|
173
|
+
queue: queueName,
|
|
174
|
+
status: 'consuming',
|
|
175
|
+
consumerTag: queueName,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
async stopConsuming(input) {
|
|
179
|
+
const queueName = input.queue;
|
|
180
|
+
if (!queueName) {
|
|
181
|
+
throw new WorkflowValidationError('Missing required parameter: queue', { parameter: 'queue' });
|
|
182
|
+
}
|
|
183
|
+
const consumer = this.consumers.get(queueName);
|
|
184
|
+
if (!consumer) {
|
|
185
|
+
return { queue: queueName, status: 'not_consuming' };
|
|
186
|
+
}
|
|
187
|
+
await consumer.stop();
|
|
188
|
+
await consumer.disconnect();
|
|
189
|
+
this.consumers.delete(queueName);
|
|
190
|
+
return { queue: queueName, status: 'stopped' };
|
|
191
|
+
}
|
|
192
|
+
async getProducer(queue) {
|
|
193
|
+
if (!this.producers.has(queue)) {
|
|
194
|
+
const producer = this.producerFactory(queue);
|
|
195
|
+
await producer.connect();
|
|
196
|
+
this.producers.set(queue, producer);
|
|
197
|
+
}
|
|
198
|
+
return this.producers.get(queue);
|
|
199
|
+
}
|
|
200
|
+
async getConsumer(queue) {
|
|
201
|
+
if (!this.consumers.has(queue)) {
|
|
202
|
+
const consumer = this.consumerFactory(queue);
|
|
203
|
+
await consumer.connect();
|
|
204
|
+
this.consumers.set(queue, consumer);
|
|
205
|
+
}
|
|
206
|
+
return this.consumers.get(queue);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=QueueAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueAdapter.js","sourceRoot":"","sources":["../../../src/adapters/builtins/QueueAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret Provider Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstract interface for secret storage backends.
|
|
5
|
+
*/
|
|
6
|
+
export interface SecretProvider {
|
|
7
|
+
/**
|
|
8
|
+
* Unique identifier for this provider
|
|
9
|
+
*/
|
|
10
|
+
readonly name: string;
|
|
11
|
+
/**
|
|
12
|
+
* Initialize the provider
|
|
13
|
+
*/
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Get a secret value
|
|
17
|
+
*/
|
|
18
|
+
get(key: string): Promise<string | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Set a secret value
|
|
21
|
+
*/
|
|
22
|
+
set(key: string, value: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Delete a secret
|
|
25
|
+
*/
|
|
26
|
+
delete(key: string): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a secret exists
|
|
29
|
+
*/
|
|
30
|
+
has(key: string): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* List all secret keys
|
|
33
|
+
*/
|
|
34
|
+
list(): Promise<string[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Cleanup resources
|
|
37
|
+
*/
|
|
38
|
+
cleanup(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* In-Memory Secret Provider (for testing/development)
|
|
42
|
+
*/
|
|
43
|
+
export declare class MemorySecretProvider implements SecretProvider {
|
|
44
|
+
readonly name = "memory";
|
|
45
|
+
private secrets;
|
|
46
|
+
initialize(): Promise<void>;
|
|
47
|
+
get(key: string): Promise<string | undefined>;
|
|
48
|
+
set(key: string, value: string): Promise<void>;
|
|
49
|
+
delete(key: string): Promise<boolean>;
|
|
50
|
+
has(key: string): Promise<boolean>;
|
|
51
|
+
list(): Promise<string[]>;
|
|
52
|
+
cleanup(): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Environment Variable Secret Provider
|
|
56
|
+
*/
|
|
57
|
+
export declare class EnvSecretProvider implements SecretProvider {
|
|
58
|
+
readonly name = "env";
|
|
59
|
+
private prefix;
|
|
60
|
+
constructor(prefix?: string);
|
|
61
|
+
initialize(): Promise<void>;
|
|
62
|
+
get(key: string): Promise<string | undefined>;
|
|
63
|
+
set(key: string, value: string): Promise<void>;
|
|
64
|
+
delete(key: string): Promise<boolean>;
|
|
65
|
+
has(key: string): Promise<boolean>;
|
|
66
|
+
list(): Promise<string[]>;
|
|
67
|
+
cleanup(): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=SecretProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretProvider.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtins/SecretProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,SAAgB,IAAI,YAAY;IAChC,OAAO,CAAC,OAAO,CAAkC;IAE3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,SAAgB,IAAI,SAAS;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,MAAwB;IAItC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret Provider Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstract interface for secret storage backends.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* In-Memory Secret Provider (for testing/development)
|
|
8
|
+
*/
|
|
9
|
+
export class MemorySecretProvider {
|
|
10
|
+
name = 'memory';
|
|
11
|
+
secrets = new Map();
|
|
12
|
+
async initialize() {
|
|
13
|
+
// No initialization needed
|
|
14
|
+
}
|
|
15
|
+
async get(key) {
|
|
16
|
+
return this.secrets.get(key);
|
|
17
|
+
}
|
|
18
|
+
async set(key, value) {
|
|
19
|
+
this.secrets.set(key, value);
|
|
20
|
+
}
|
|
21
|
+
async delete(key) {
|
|
22
|
+
return this.secrets.delete(key);
|
|
23
|
+
}
|
|
24
|
+
async has(key) {
|
|
25
|
+
return this.secrets.has(key);
|
|
26
|
+
}
|
|
27
|
+
async list() {
|
|
28
|
+
return Array.from(this.secrets.keys());
|
|
29
|
+
}
|
|
30
|
+
async cleanup() {
|
|
31
|
+
this.secrets.clear();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Environment Variable Secret Provider
|
|
36
|
+
*/
|
|
37
|
+
export class EnvSecretProvider {
|
|
38
|
+
name = 'env';
|
|
39
|
+
prefix;
|
|
40
|
+
constructor(prefix = 'ORBYT_SECRET_') {
|
|
41
|
+
this.prefix = prefix;
|
|
42
|
+
}
|
|
43
|
+
async initialize() {
|
|
44
|
+
// No initialization needed
|
|
45
|
+
}
|
|
46
|
+
async get(key) {
|
|
47
|
+
return process.env[this.prefix + key];
|
|
48
|
+
}
|
|
49
|
+
async set(key, value) {
|
|
50
|
+
process.env[this.prefix + key] = value;
|
|
51
|
+
}
|
|
52
|
+
async delete(key) {
|
|
53
|
+
if (process.env[this.prefix + key]) {
|
|
54
|
+
delete process.env[this.prefix + key];
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
async has(key) {
|
|
60
|
+
return process.env[this.prefix + key] !== undefined;
|
|
61
|
+
}
|
|
62
|
+
async list() {
|
|
63
|
+
return Object.keys(process.env)
|
|
64
|
+
.filter(key => key.startsWith(this.prefix))
|
|
65
|
+
.map(key => key.substring(this.prefix.length));
|
|
66
|
+
}
|
|
67
|
+
async cleanup() {
|
|
68
|
+
// Don't clear environment variables on cleanup
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=SecretProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretProvider.js","sourceRoot":"","sources":["../../../src/adapters/builtins/SecretProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACf,IAAI,GAAG,QAAQ,CAAC;IACxB,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEjD,KAAK,CAAC,UAAU;QACd,2BAA2B;IAC7B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACZ,IAAI,GAAG,KAAK,CAAC;IACrB,MAAM,CAAS;IAEvB,YAAY,SAAiB,eAAe;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,2BAA2B;IAC7B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,SAAS,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,+CAA+C;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets Adapter
|
|
3
|
+
*
|
|
4
|
+
* Manages secrets using pluggable secret providers.
|
|
5
|
+
*/
|
|
6
|
+
import { Adapter, type AdapterContext, AdapterCapabilities, AdapterMetadata, type AdapterResult } from '@dev-ecosystem/core';
|
|
7
|
+
import { SecretProvider } from './SecretProvider.js';
|
|
8
|
+
export interface SecretsAdapterConfig {
|
|
9
|
+
provider?: SecretProvider;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Secrets Adapter
|
|
13
|
+
*
|
|
14
|
+
* Supported actions:
|
|
15
|
+
* - secrets.get: Get a secret value
|
|
16
|
+
* - secrets.set: Set a secret value
|
|
17
|
+
* - secrets.delete: Delete a secret
|
|
18
|
+
* - secrets.has: Check if a secret exists
|
|
19
|
+
* - secrets.list: List all secret keys
|
|
20
|
+
*/
|
|
21
|
+
export declare class SecretsAdapter implements Adapter {
|
|
22
|
+
readonly name = "secrets";
|
|
23
|
+
readonly version = "1.0.0";
|
|
24
|
+
readonly description = "Manages secrets with pluggable storage backends";
|
|
25
|
+
readonly capabilities: AdapterCapabilities;
|
|
26
|
+
readonly metadata: AdapterMetadata;
|
|
27
|
+
readonly supportedActions: string[];
|
|
28
|
+
private provider;
|
|
29
|
+
constructor(config?: SecretsAdapterConfig);
|
|
30
|
+
initialize(): Promise<void>;
|
|
31
|
+
cleanup(): Promise<void>;
|
|
32
|
+
supports(action: string): boolean;
|
|
33
|
+
execute(action: string, input: Record<string, any>, context: AdapterContext): Promise<AdapterResult>;
|
|
34
|
+
private getSecret;
|
|
35
|
+
private setSecret;
|
|
36
|
+
private deleteSecret;
|
|
37
|
+
private hasSecret;
|
|
38
|
+
private listSecrets;
|
|
39
|
+
/**
|
|
40
|
+
* Change the secret provider
|
|
41
|
+
*/
|
|
42
|
+
setProvider(provider: SecretProvider): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get the current provider
|
|
45
|
+
*/
|
|
46
|
+
getProvider(): SecretProvider;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=SecretsAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtins/SecretsAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4C,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,KAAK,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAC7L,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,YAAW,OAAO;IAC5C,SAAgB,IAAI,aAAa;IACjC,SAAgB,OAAO,WAAW;IAClC,SAAgB,WAAW,qDAAqD;IAEhF,SAAgB,YAAY,EAAE,mBAAmB,CAS/C;IAEF,SAAgB,QAAQ,EAAE,eAAe,CAKvC;IAEF,SAAgB,gBAAgB,WAAmF;IAEnH,OAAO,CAAC,QAAQ,CAAiB;gBAErB,MAAM,GAAE,oBAAyB;IAIvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI3B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YA4D5F,SAAS;YAmBT,SAAS;YAgBT,YAAY;YAeZ,SAAS;YAeT,WAAW;IAMzB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;OAEG;IACH,WAAW,IAAI,cAAc;CAG9B"}
|