@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.
Files changed (582) hide show
  1. package/README.md +0 -0
  2. package/dist/adapters/AdapterRegistry.d.ts +129 -0
  3. package/dist/adapters/AdapterRegistry.d.ts.map +1 -0
  4. package/dist/adapters/AdapterRegistry.js +236 -0
  5. package/dist/adapters/AdapterRegistry.js.map +1 -0
  6. package/dist/adapters/StepAdapter.d.ts +2 -0
  7. package/dist/adapters/StepAdapter.d.ts.map +1 -0
  8. package/dist/adapters/StepAdapter.js +2 -0
  9. package/dist/adapters/StepAdapter.js.map +1 -0
  10. package/dist/adapters/WorkflowAdapter.d.ts +2 -0
  11. package/dist/adapters/WorkflowAdapter.d.ts.map +1 -0
  12. package/dist/adapters/WorkflowAdapter.js +2 -0
  13. package/dist/adapters/WorkflowAdapter.js.map +1 -0
  14. package/dist/adapters/builtins/CLIAdapter.d.ts +38 -0
  15. package/dist/adapters/builtins/CLIAdapter.d.ts.map +1 -0
  16. package/dist/adapters/builtins/CLIAdapter.js +173 -0
  17. package/dist/adapters/builtins/CLIAdapter.js.map +1 -0
  18. package/dist/adapters/builtins/CLICommandResolver.d.ts +49 -0
  19. package/dist/adapters/builtins/CLICommandResolver.d.ts.map +1 -0
  20. package/dist/adapters/builtins/CLICommandResolver.js +63 -0
  21. package/dist/adapters/builtins/CLICommandResolver.js.map +1 -0
  22. package/dist/adapters/builtins/CLIResultParser.d.ts +61 -0
  23. package/dist/adapters/builtins/CLIResultParser.d.ts.map +1 -0
  24. package/dist/adapters/builtins/CLIResultParser.js +113 -0
  25. package/dist/adapters/builtins/CLIResultParser.js.map +1 -0
  26. package/dist/adapters/builtins/ConnectionManager.d.ts +106 -0
  27. package/dist/adapters/builtins/ConnectionManager.d.ts.map +1 -0
  28. package/dist/adapters/builtins/ConnectionManager.js +162 -0
  29. package/dist/adapters/builtins/ConnectionManager.js.map +1 -0
  30. package/dist/adapters/builtins/Consumer.d.ts +110 -0
  31. package/dist/adapters/builtins/Consumer.d.ts.map +1 -0
  32. package/dist/adapters/builtins/Consumer.js +113 -0
  33. package/dist/adapters/builtins/Consumer.js.map +1 -0
  34. package/dist/adapters/builtins/DBAdapter.d.ts +79 -0
  35. package/dist/adapters/builtins/DBAdapter.d.ts.map +1 -0
  36. package/dist/adapters/builtins/DBAdapter.js +259 -0
  37. package/dist/adapters/builtins/DBAdapter.js.map +1 -0
  38. package/dist/adapters/builtins/EnvResolver.d.ts +66 -0
  39. package/dist/adapters/builtins/EnvResolver.d.ts.map +1 -0
  40. package/dist/adapters/builtins/EnvResolver.js +121 -0
  41. package/dist/adapters/builtins/EnvResolver.js.map +1 -0
  42. package/dist/adapters/builtins/FSAdapter.d.ts +50 -0
  43. package/dist/adapters/builtins/FSAdapter.d.ts.map +1 -0
  44. package/dist/adapters/builtins/FSAdapter.js +282 -0
  45. package/dist/adapters/builtins/FSAdapter.js.map +1 -0
  46. package/dist/adapters/builtins/FileResolver.d.ts +50 -0
  47. package/dist/adapters/builtins/FileResolver.d.ts.map +1 -0
  48. package/dist/adapters/builtins/FileResolver.js +77 -0
  49. package/dist/adapters/builtins/FileResolver.js.map +1 -0
  50. package/dist/adapters/builtins/HTTPAdapter.d.ts +58 -0
  51. package/dist/adapters/builtins/HTTPAdapter.d.ts.map +1 -0
  52. package/dist/adapters/builtins/HTTPAdapter.js +213 -0
  53. package/dist/adapters/builtins/HTTPAdapter.js.map +1 -0
  54. package/dist/adapters/builtins/HTTPRequestBuilder.d.ts +95 -0
  55. package/dist/adapters/builtins/HTTPRequestBuilder.d.ts.map +1 -0
  56. package/dist/adapters/builtins/HTTPRequestBuilder.js +159 -0
  57. package/dist/adapters/builtins/HTTPRequestBuilder.js.map +1 -0
  58. package/dist/adapters/builtins/HTTPResponseParser.d.ts +74 -0
  59. package/dist/adapters/builtins/HTTPResponseParser.d.ts.map +1 -0
  60. package/dist/adapters/builtins/HTTPResponseParser.js +144 -0
  61. package/dist/adapters/builtins/HTTPResponseParser.js.map +1 -0
  62. package/dist/adapters/builtins/PathSecurityPolicy.d.ts +38 -0
  63. package/dist/adapters/builtins/PathSecurityPolicy.d.ts.map +1 -0
  64. package/dist/adapters/builtins/PathSecurityPolicy.js +125 -0
  65. package/dist/adapters/builtins/PathSecurityPolicy.js.map +1 -0
  66. package/dist/adapters/builtins/Producer.d.ts +99 -0
  67. package/dist/adapters/builtins/Producer.d.ts.map +1 -0
  68. package/dist/adapters/builtins/Producer.js +59 -0
  69. package/dist/adapters/builtins/Producer.js.map +1 -0
  70. package/dist/adapters/builtins/QueryExecutor.d.ts +102 -0
  71. package/dist/adapters/builtins/QueryExecutor.d.ts.map +1 -0
  72. package/dist/adapters/builtins/QueryExecutor.js +90 -0
  73. package/dist/adapters/builtins/QueryExecutor.js.map +1 -0
  74. package/dist/adapters/builtins/QueueAdapter.d.ts +72 -0
  75. package/dist/adapters/builtins/QueueAdapter.d.ts.map +1 -0
  76. package/dist/adapters/builtins/QueueAdapter.js +209 -0
  77. package/dist/adapters/builtins/QueueAdapter.js.map +1 -0
  78. package/dist/adapters/builtins/SecretProvider.d.ts +69 -0
  79. package/dist/adapters/builtins/SecretProvider.d.ts.map +1 -0
  80. package/dist/adapters/builtins/SecretProvider.js +71 -0
  81. package/dist/adapters/builtins/SecretProvider.js.map +1 -0
  82. package/dist/adapters/builtins/SecretsAdapter.d.ts +48 -0
  83. package/dist/adapters/builtins/SecretsAdapter.d.ts.map +1 -0
  84. package/dist/adapters/builtins/SecretsAdapter.js +154 -0
  85. package/dist/adapters/builtins/SecretsAdapter.js.map +1 -0
  86. package/dist/adapters/builtins/ShellAdapter.d.ts +46 -0
  87. package/dist/adapters/builtins/ShellAdapter.d.ts.map +1 -0
  88. package/dist/adapters/builtins/ShellAdapter.js +200 -0
  89. package/dist/adapters/builtins/ShellAdapter.js.map +1 -0
  90. package/dist/adapters/builtins/ShellExecutor.d.ts +72 -0
  91. package/dist/adapters/builtins/ShellExecutor.d.ts.map +1 -0
  92. package/dist/adapters/builtins/ShellExecutor.js +94 -0
  93. package/dist/adapters/builtins/ShellExecutor.js.map +1 -0
  94. package/dist/adapters/builtins/ShellSecurityPolicy.d.ts +58 -0
  95. package/dist/adapters/builtins/ShellSecurityPolicy.d.ts.map +1 -0
  96. package/dist/adapters/builtins/ShellSecurityPolicy.js +135 -0
  97. package/dist/adapters/builtins/ShellSecurityPolicy.js.map +1 -0
  98. package/dist/adapters/builtins/index.d.ts +27 -0
  99. package/dist/adapters/builtins/index.d.ts.map +1 -0
  100. package/dist/adapters/builtins/index.js +35 -0
  101. package/dist/adapters/builtins/index.js.map +1 -0
  102. package/dist/adapters/index.d.ts +5 -0
  103. package/dist/adapters/index.d.ts.map +1 -0
  104. package/dist/adapters/index.js +6 -0
  105. package/dist/adapters/index.js.map +1 -0
  106. package/dist/automation/BackoffStrategy.d.ts +106 -0
  107. package/dist/automation/BackoffStrategy.d.ts.map +1 -0
  108. package/dist/automation/BackoffStrategy.js +168 -0
  109. package/dist/automation/BackoffStrategy.js.map +1 -0
  110. package/dist/automation/FailureStrategy.d.ts +141 -0
  111. package/dist/automation/FailureStrategy.d.ts.map +1 -0
  112. package/dist/automation/FailureStrategy.js +246 -0
  113. package/dist/automation/FailureStrategy.js.map +1 -0
  114. package/dist/automation/RetryPolicy.d.ts +132 -0
  115. package/dist/automation/RetryPolicy.d.ts.map +1 -0
  116. package/dist/automation/RetryPolicy.js +241 -0
  117. package/dist/automation/RetryPolicy.js.map +1 -0
  118. package/dist/automation/TimeoutManager.d.ts +145 -0
  119. package/dist/automation/TimeoutManager.d.ts.map +1 -0
  120. package/dist/automation/TimeoutManager.js +241 -0
  121. package/dist/automation/TimeoutManager.js.map +1 -0
  122. package/dist/automation/index.d.ts +16 -0
  123. package/dist/automation/index.d.ts.map +1 -0
  124. package/dist/automation/index.js +16 -0
  125. package/dist/automation/index.js.map +1 -0
  126. package/dist/automation/runtime/BackoffTimer.d.ts +74 -0
  127. package/dist/automation/runtime/BackoffTimer.d.ts.map +1 -0
  128. package/dist/automation/runtime/BackoffTimer.js +139 -0
  129. package/dist/automation/runtime/BackoffTimer.js.map +1 -0
  130. package/dist/automation/runtime/FailureHandler.d.ts +138 -0
  131. package/dist/automation/runtime/FailureHandler.d.ts.map +1 -0
  132. package/dist/automation/runtime/FailureHandler.js +197 -0
  133. package/dist/automation/runtime/FailureHandler.js.map +1 -0
  134. package/dist/automation/runtime/RetryExecutor.d.ts +104 -0
  135. package/dist/automation/runtime/RetryExecutor.d.ts.map +1 -0
  136. package/dist/automation/runtime/RetryExecutor.js +173 -0
  137. package/dist/automation/runtime/RetryExecutor.js.map +1 -0
  138. package/dist/automation/runtime/index.d.ts +13 -0
  139. package/dist/automation/runtime/index.d.ts.map +1 -0
  140. package/dist/automation/runtime/index.js +13 -0
  141. package/dist/automation/runtime/index.js.map +1 -0
  142. package/dist/context/ContextStore.d.ts +185 -0
  143. package/dist/context/ContextStore.d.ts.map +1 -0
  144. package/dist/context/ContextStore.js +228 -0
  145. package/dist/context/ContextStore.js.map +1 -0
  146. package/dist/context/VariableResolver.d.ts +184 -0
  147. package/dist/context/VariableResolver.d.ts.map +1 -0
  148. package/dist/context/VariableResolver.js +368 -0
  149. package/dist/context/VariableResolver.js.map +1 -0
  150. package/dist/context/index.d.ts +17 -0
  151. package/dist/context/index.d.ts.map +1 -0
  152. package/dist/context/index.js +17 -0
  153. package/dist/context/index.js.map +1 -0
  154. package/dist/core/EngineConfig.d.ts +156 -0
  155. package/dist/core/EngineConfig.d.ts.map +1 -0
  156. package/dist/core/EngineConfig.js +61 -0
  157. package/dist/core/EngineConfig.js.map +1 -0
  158. package/dist/core/EngineContext.d.ts +94 -0
  159. package/dist/core/EngineContext.d.ts.map +1 -0
  160. package/dist/core/EngineContext.js +29 -0
  161. package/dist/core/EngineContext.js.map +1 -0
  162. package/dist/core/OrbytEngine.d.ts +234 -0
  163. package/dist/core/OrbytEngine.d.ts.map +1 -0
  164. package/dist/core/OrbytEngine.js +421 -0
  165. package/dist/core/OrbytEngine.js.map +1 -0
  166. package/dist/core/index.d.ts +4 -0
  167. package/dist/core/index.d.ts.map +1 -0
  168. package/dist/core/index.js +4 -0
  169. package/dist/core/index.js.map +1 -0
  170. package/dist/errors/ErrorCodes.d.ts +71 -0
  171. package/dist/errors/ErrorCodes.d.ts.map +1 -0
  172. package/dist/errors/ErrorCodes.js +95 -0
  173. package/dist/errors/ErrorCodes.js.map +1 -0
  174. package/dist/errors/ErrorFormatter.d.ts +34 -0
  175. package/dist/errors/ErrorFormatter.d.ts.map +1 -0
  176. package/dist/errors/ErrorFormatter.js +140 -0
  177. package/dist/errors/ErrorFormatter.js.map +1 -0
  178. package/dist/errors/FieldRegistry.d.ts +83 -0
  179. package/dist/errors/FieldRegistry.d.ts.map +1 -0
  180. package/dist/errors/FieldRegistry.js +217 -0
  181. package/dist/errors/FieldRegistry.js.map +1 -0
  182. package/dist/errors/OrbytError.d.ts +59 -0
  183. package/dist/errors/OrbytError.d.ts.map +1 -0
  184. package/dist/errors/OrbytError.js +78 -0
  185. package/dist/errors/OrbytError.js.map +1 -0
  186. package/dist/errors/SchedulerError.d.ts +2 -0
  187. package/dist/errors/SchedulerError.d.ts.map +1 -0
  188. package/dist/errors/SchedulerError.js +2 -0
  189. package/dist/errors/SchedulerError.js.map +1 -0
  190. package/dist/errors/StepError.d.ts +2 -0
  191. package/dist/errors/StepError.d.ts.map +1 -0
  192. package/dist/errors/StepError.js +2 -0
  193. package/dist/errors/StepError.js.map +1 -0
  194. package/dist/errors/TypoDetector.d.ts +36 -0
  195. package/dist/errors/TypoDetector.d.ts.map +1 -0
  196. package/dist/errors/TypoDetector.js +109 -0
  197. package/dist/errors/TypoDetector.js.map +1 -0
  198. package/dist/errors/WorkflowError.d.ts +54 -0
  199. package/dist/errors/WorkflowError.d.ts.map +1 -0
  200. package/dist/errors/WorkflowError.js +129 -0
  201. package/dist/errors/WorkflowError.js.map +1 -0
  202. package/dist/errors/index.d.ts +14 -0
  203. package/dist/errors/index.d.ts.map +1 -0
  204. package/dist/errors/index.js +17 -0
  205. package/dist/errors/index.js.map +1 -0
  206. package/dist/events/EngineEvents.d.ts +143 -0
  207. package/dist/events/EngineEvents.d.ts.map +1 -0
  208. package/dist/events/EngineEvents.js +60 -0
  209. package/dist/events/EngineEvents.js.map +1 -0
  210. package/dist/events/EventBus.d.ts +112 -0
  211. package/dist/events/EventBus.d.ts.map +1 -0
  212. package/dist/events/EventBus.js +177 -0
  213. package/dist/events/EventBus.js.map +1 -0
  214. package/dist/events/index.d.ts +3 -0
  215. package/dist/events/index.d.ts.map +1 -0
  216. package/dist/events/index.js +3 -0
  217. package/dist/events/index.js.map +1 -0
  218. package/dist/execution/ExecutionEngine.d.ts +220 -0
  219. package/dist/execution/ExecutionEngine.d.ts.map +1 -0
  220. package/dist/execution/ExecutionEngine.js +442 -0
  221. package/dist/execution/ExecutionEngine.js.map +1 -0
  222. package/dist/execution/ExecutionNode.d.ts +114 -0
  223. package/dist/execution/ExecutionNode.d.ts.map +1 -0
  224. package/dist/execution/ExecutionNode.js +99 -0
  225. package/dist/execution/ExecutionNode.js.map +1 -0
  226. package/dist/execution/ExecutionPlan.d.ts +133 -0
  227. package/dist/execution/ExecutionPlan.d.ts.map +1 -0
  228. package/dist/execution/ExecutionPlan.js +207 -0
  229. package/dist/execution/ExecutionPlan.js.map +1 -0
  230. package/dist/execution/StepExecutor.d.ts +204 -0
  231. package/dist/execution/StepExecutor.d.ts.map +1 -0
  232. package/dist/execution/StepExecutor.js +604 -0
  233. package/dist/execution/StepExecutor.js.map +1 -0
  234. package/dist/execution/WorkflowExecutor.d.ts +129 -0
  235. package/dist/execution/WorkflowExecutor.d.ts.map +1 -0
  236. package/dist/execution/WorkflowExecutor.js +347 -0
  237. package/dist/execution/WorkflowExecutor.js.map +1 -0
  238. package/dist/execution/drivers/AdapterDriver.d.ts +34 -0
  239. package/dist/execution/drivers/AdapterDriver.d.ts.map +1 -0
  240. package/dist/execution/drivers/AdapterDriver.js +63 -0
  241. package/dist/execution/drivers/AdapterDriver.js.map +1 -0
  242. package/dist/execution/drivers/DriverResolver.d.ts +91 -0
  243. package/dist/execution/drivers/DriverResolver.d.ts.map +1 -0
  244. package/dist/execution/drivers/DriverResolver.js +172 -0
  245. package/dist/execution/drivers/DriverResolver.js.map +1 -0
  246. package/dist/execution/drivers/ExecutionDriver.d.ts +127 -0
  247. package/dist/execution/drivers/ExecutionDriver.d.ts.map +1 -0
  248. package/dist/execution/drivers/ExecutionDriver.js +50 -0
  249. package/dist/execution/drivers/ExecutionDriver.js.map +1 -0
  250. package/dist/execution/drivers/index.d.ts +11 -0
  251. package/dist/execution/drivers/index.d.ts.map +1 -0
  252. package/dist/execution/drivers/index.js +11 -0
  253. package/dist/execution/drivers/index.js.map +1 -0
  254. package/dist/execution/index.d.ts +18 -0
  255. package/dist/execution/index.d.ts.map +1 -0
  256. package/dist/execution/index.js +19 -0
  257. package/dist/execution/index.js.map +1 -0
  258. package/dist/graph/CycleDetector.d.ts +90 -0
  259. package/dist/graph/CycleDetector.d.ts.map +1 -0
  260. package/dist/graph/CycleDetector.js +210 -0
  261. package/dist/graph/CycleDetector.js.map +1 -0
  262. package/dist/graph/DependencyGraph.d.ts +16 -0
  263. package/dist/graph/DependencyGraph.d.ts.map +1 -0
  264. package/dist/graph/DependencyGraph.js +16 -0
  265. package/dist/graph/DependencyGraph.js.map +1 -0
  266. package/dist/graph/DependencyResolver.d.ts +90 -0
  267. package/dist/graph/DependencyResolver.d.ts.map +1 -0
  268. package/dist/graph/DependencyResolver.js +159 -0
  269. package/dist/graph/DependencyResolver.js.map +1 -0
  270. package/dist/graph/TopologicalSorter.d.ts +104 -0
  271. package/dist/graph/TopologicalSorter.d.ts.map +1 -0
  272. package/dist/graph/TopologicalSorter.js +213 -0
  273. package/dist/graph/TopologicalSorter.js.map +1 -0
  274. package/dist/graph/index.d.ts +15 -0
  275. package/dist/graph/index.d.ts.map +1 -0
  276. package/dist/graph/index.js +15 -0
  277. package/dist/graph/index.js.map +1 -0
  278. package/dist/guards/ResourceGuard.d.ts +90 -0
  279. package/dist/guards/ResourceGuard.d.ts.map +1 -0
  280. package/dist/guards/ResourceGuard.js +177 -0
  281. package/dist/guards/ResourceGuard.js.map +1 -0
  282. package/dist/guards/StepGuard.d.ts +96 -0
  283. package/dist/guards/StepGuard.d.ts.map +1 -0
  284. package/dist/guards/StepGuard.js +184 -0
  285. package/dist/guards/StepGuard.js.map +1 -0
  286. package/dist/guards/WorkflowGuard.d.ts +71 -0
  287. package/dist/guards/WorkflowGuard.d.ts.map +1 -0
  288. package/dist/guards/WorkflowGuard.js +187 -0
  289. package/dist/guards/WorkflowGuard.js.map +1 -0
  290. package/dist/guards/index.d.ts +9 -0
  291. package/dist/guards/index.d.ts.map +1 -0
  292. package/dist/guards/index.js +9 -0
  293. package/dist/guards/index.js.map +1 -0
  294. package/dist/hooks/HookManager.d.ts +114 -0
  295. package/dist/hooks/HookManager.d.ts.map +1 -0
  296. package/dist/hooks/HookManager.js +187 -0
  297. package/dist/hooks/HookManager.js.map +1 -0
  298. package/dist/hooks/LifecycleHooks.d.ts +126 -0
  299. package/dist/hooks/LifecycleHooks.d.ts.map +1 -0
  300. package/dist/hooks/LifecycleHooks.js +23 -0
  301. package/dist/hooks/LifecycleHooks.js.map +1 -0
  302. package/dist/hooks/index.d.ts +3 -0
  303. package/dist/hooks/index.d.ts.map +1 -0
  304. package/dist/hooks/index.js +3 -0
  305. package/dist/hooks/index.js.map +1 -0
  306. package/dist/index.d.ts +30 -0
  307. package/dist/index.d.ts.map +1 -0
  308. package/dist/index.js +39 -0
  309. package/dist/index.js.map +1 -0
  310. package/dist/lifecycle/EngineLifecycle.d.ts +121 -0
  311. package/dist/lifecycle/EngineLifecycle.d.ts.map +1 -0
  312. package/dist/lifecycle/EngineLifecycle.js +209 -0
  313. package/dist/lifecycle/EngineLifecycle.js.map +1 -0
  314. package/dist/lifecycle/ShutdownManager.d.ts +44 -0
  315. package/dist/lifecycle/ShutdownManager.d.ts.map +1 -0
  316. package/dist/lifecycle/ShutdownManager.js +105 -0
  317. package/dist/lifecycle/ShutdownManager.js.map +1 -0
  318. package/dist/lifecycle/StartupManager.d.ts +45 -0
  319. package/dist/lifecycle/StartupManager.d.ts.map +1 -0
  320. package/dist/lifecycle/StartupManager.js +97 -0
  321. package/dist/lifecycle/StartupManager.js.map +1 -0
  322. package/dist/lifecycle/index.d.ts +9 -0
  323. package/dist/lifecycle/index.d.ts.map +1 -0
  324. package/dist/lifecycle/index.js +9 -0
  325. package/dist/lifecycle/index.js.map +1 -0
  326. package/dist/logging/LogLevel.d.ts +2 -0
  327. package/dist/logging/LogLevel.d.ts.map +1 -0
  328. package/dist/logging/LogLevel.js +2 -0
  329. package/dist/logging/LogLevel.js.map +1 -0
  330. package/dist/logging/Logger.d.ts +2 -0
  331. package/dist/logging/Logger.d.ts.map +1 -0
  332. package/dist/logging/Logger.js +2 -0
  333. package/dist/logging/Logger.js.map +1 -0
  334. package/dist/logging/index.d.ts +2 -0
  335. package/dist/logging/index.d.ts.map +1 -0
  336. package/dist/logging/index.js +4 -0
  337. package/dist/logging/index.js.map +1 -0
  338. package/dist/marketplace/PluginInstaller.d.ts +81 -0
  339. package/dist/marketplace/PluginInstaller.d.ts.map +1 -0
  340. package/dist/marketplace/PluginInstaller.js +89 -0
  341. package/dist/marketplace/PluginInstaller.js.map +1 -0
  342. package/dist/marketplace/PluginManifest.d.ts +74 -0
  343. package/dist/marketplace/PluginManifest.d.ts.map +1 -0
  344. package/dist/marketplace/PluginManifest.js +67 -0
  345. package/dist/marketplace/PluginManifest.js.map +1 -0
  346. package/dist/marketplace/PluginVerifier.d.ts +58 -0
  347. package/dist/marketplace/PluginVerifier.d.ts.map +1 -0
  348. package/dist/marketplace/PluginVerifier.js +93 -0
  349. package/dist/marketplace/PluginVerifier.js.map +1 -0
  350. package/dist/marketplace/index.d.ts +11 -0
  351. package/dist/marketplace/index.d.ts.map +1 -0
  352. package/dist/marketplace/index.js +11 -0
  353. package/dist/marketplace/index.js.map +1 -0
  354. package/dist/metrics/MetricsCollector.d.ts +2 -0
  355. package/dist/metrics/MetricsCollector.d.ts.map +1 -0
  356. package/dist/metrics/MetricsCollector.js +2 -0
  357. package/dist/metrics/MetricsCollector.js.map +1 -0
  358. package/dist/metrics/PerformanceTracker.d.ts +2 -0
  359. package/dist/metrics/PerformanceTracker.d.ts.map +1 -0
  360. package/dist/metrics/PerformanceTracker.js +2 -0
  361. package/dist/metrics/PerformanceTracker.js.map +1 -0
  362. package/dist/metrics/index.d.ts +2 -0
  363. package/dist/metrics/index.d.ts.map +1 -0
  364. package/dist/metrics/index.js +4 -0
  365. package/dist/metrics/index.js.map +1 -0
  366. package/dist/parser/SchemaValidator.d.ts +63 -0
  367. package/dist/parser/SchemaValidator.d.ts.map +1 -0
  368. package/dist/parser/SchemaValidator.js +212 -0
  369. package/dist/parser/SchemaValidator.js.map +1 -0
  370. package/dist/parser/StepParser.d.ts +124 -0
  371. package/dist/parser/StepParser.d.ts.map +1 -0
  372. package/dist/parser/StepParser.js +330 -0
  373. package/dist/parser/StepParser.js.map +1 -0
  374. package/dist/parser/WorkflowParser.d.ts +124 -0
  375. package/dist/parser/WorkflowParser.d.ts.map +1 -0
  376. package/dist/parser/WorkflowParser.js +141 -0
  377. package/dist/parser/WorkflowParser.js.map +1 -0
  378. package/dist/parser/index.d.ts +4 -0
  379. package/dist/parser/index.d.ts.map +1 -0
  380. package/dist/parser/index.js +4 -0
  381. package/dist/parser/index.js.map +1 -0
  382. package/dist/queue/InMemoryQueue.d.ts +97 -0
  383. package/dist/queue/InMemoryQueue.d.ts.map +1 -0
  384. package/dist/queue/InMemoryQueue.js +268 -0
  385. package/dist/queue/InMemoryQueue.js.map +1 -0
  386. package/dist/queue/JobQueue.d.ts +214 -0
  387. package/dist/queue/JobQueue.d.ts.map +1 -0
  388. package/dist/queue/JobQueue.js +46 -0
  389. package/dist/queue/JobQueue.js.map +1 -0
  390. package/dist/queue/index.d.ts +10 -0
  391. package/dist/queue/index.d.ts.map +1 -0
  392. package/dist/queue/index.js +10 -0
  393. package/dist/queue/index.js.map +1 -0
  394. package/dist/resolution/ActionRegistry.d.ts +2 -0
  395. package/dist/resolution/ActionRegistry.d.ts.map +1 -0
  396. package/dist/resolution/ActionRegistry.js +2 -0
  397. package/dist/resolution/ActionRegistry.js.map +1 -0
  398. package/dist/resolution/AdapterResolver.d.ts +2 -0
  399. package/dist/resolution/AdapterResolver.d.ts.map +1 -0
  400. package/dist/resolution/AdapterResolver.js +2 -0
  401. package/dist/resolution/AdapterResolver.js.map +1 -0
  402. package/dist/resolution/StepResolver.d.ts +2 -0
  403. package/dist/resolution/StepResolver.d.ts.map +1 -0
  404. package/dist/resolution/StepResolver.js +2 -0
  405. package/dist/resolution/StepResolver.js.map +1 -0
  406. package/dist/resolution/index.d.ts +2 -0
  407. package/dist/resolution/index.d.ts.map +1 -0
  408. package/dist/resolution/index.js +2 -0
  409. package/dist/resolution/index.js.map +1 -0
  410. package/dist/scheduling/CronScheduler.d.ts +143 -0
  411. package/dist/scheduling/CronScheduler.d.ts.map +1 -0
  412. package/dist/scheduling/CronScheduler.js +370 -0
  413. package/dist/scheduling/CronScheduler.js.map +1 -0
  414. package/dist/scheduling/JobScheduler.d.ts +82 -0
  415. package/dist/scheduling/JobScheduler.d.ts.map +1 -0
  416. package/dist/scheduling/JobScheduler.js +231 -0
  417. package/dist/scheduling/JobScheduler.js.map +1 -0
  418. package/dist/scheduling/ScheduleParser.d.ts +117 -0
  419. package/dist/scheduling/ScheduleParser.d.ts.map +1 -0
  420. package/dist/scheduling/ScheduleParser.js +257 -0
  421. package/dist/scheduling/ScheduleParser.js.map +1 -0
  422. package/dist/scheduling/ScheduleTypes.d.ts +153 -0
  423. package/dist/scheduling/ScheduleTypes.d.ts.map +1 -0
  424. package/dist/scheduling/ScheduleTypes.js +81 -0
  425. package/dist/scheduling/ScheduleTypes.js.map +1 -0
  426. package/dist/scheduling/Scheduler.d.ts +154 -0
  427. package/dist/scheduling/Scheduler.d.ts.map +1 -0
  428. package/dist/scheduling/Scheduler.js +304 -0
  429. package/dist/scheduling/Scheduler.js.map +1 -0
  430. package/dist/scheduling/index.d.ts +6 -0
  431. package/dist/scheduling/index.d.ts.map +1 -0
  432. package/dist/scheduling/index.js +6 -0
  433. package/dist/scheduling/index.js.map +1 -0
  434. package/dist/security/PermissionPolicy.d.ts +72 -0
  435. package/dist/security/PermissionPolicy.d.ts.map +1 -0
  436. package/dist/security/PermissionPolicy.js +87 -0
  437. package/dist/security/PermissionPolicy.js.map +1 -0
  438. package/dist/security/SandboxManager.d.ts +72 -0
  439. package/dist/security/SandboxManager.d.ts.map +1 -0
  440. package/dist/security/SandboxManager.js +78 -0
  441. package/dist/security/SandboxManager.js.map +1 -0
  442. package/dist/security/index.d.ts +10 -0
  443. package/dist/security/index.d.ts.map +1 -0
  444. package/dist/security/index.js +10 -0
  445. package/dist/security/index.js.map +1 -0
  446. package/dist/state/ExecutionState.d.ts +211 -0
  447. package/dist/state/ExecutionState.d.ts.map +1 -0
  448. package/dist/state/ExecutionState.js +256 -0
  449. package/dist/state/ExecutionState.js.map +1 -0
  450. package/dist/state/StateMachine.d.ts +120 -0
  451. package/dist/state/StateMachine.d.ts.map +1 -0
  452. package/dist/state/StateMachine.js +230 -0
  453. package/dist/state/StateMachine.js.map +1 -0
  454. package/dist/state/index.d.ts +16 -0
  455. package/dist/state/index.d.ts.map +1 -0
  456. package/dist/state/index.js +16 -0
  457. package/dist/state/index.js.map +1 -0
  458. package/dist/storage/ExecutionStore.d.ts +2 -0
  459. package/dist/storage/ExecutionStore.d.ts.map +1 -0
  460. package/dist/storage/ExecutionStore.js +2 -0
  461. package/dist/storage/ExecutionStore.js.map +1 -0
  462. package/dist/storage/ScheduleStore.d.ts +2 -0
  463. package/dist/storage/ScheduleStore.d.ts.map +1 -0
  464. package/dist/storage/ScheduleStore.js +2 -0
  465. package/dist/storage/ScheduleStore.js.map +1 -0
  466. package/dist/storage/WorkflowStore.d.ts +2 -0
  467. package/dist/storage/WorkflowStore.d.ts.map +1 -0
  468. package/dist/storage/WorkflowStore.js +2 -0
  469. package/dist/storage/WorkflowStore.js.map +1 -0
  470. package/dist/storage/index.d.ts +2 -0
  471. package/dist/storage/index.d.ts.map +1 -0
  472. package/dist/storage/index.js +5 -0
  473. package/dist/storage/index.js.map +1 -0
  474. package/dist/testing/EngineTestHarness.d.ts +117 -0
  475. package/dist/testing/EngineTestHarness.d.ts.map +1 -0
  476. package/dist/testing/EngineTestHarness.js +132 -0
  477. package/dist/testing/EngineTestHarness.js.map +1 -0
  478. package/dist/testing/MockAdapter.d.ts +93 -0
  479. package/dist/testing/MockAdapter.d.ts.map +1 -0
  480. package/dist/testing/MockAdapter.js +124 -0
  481. package/dist/testing/MockAdapter.js.map +1 -0
  482. package/dist/testing/index.d.ts +10 -0
  483. package/dist/testing/index.d.ts.map +1 -0
  484. package/dist/testing/index.js +10 -0
  485. package/dist/testing/index.js.map +1 -0
  486. package/dist/triggers/CronTrigger.d.ts +2 -0
  487. package/dist/triggers/CronTrigger.d.ts.map +1 -0
  488. package/dist/triggers/CronTrigger.js +2 -0
  489. package/dist/triggers/CronTrigger.js.map +1 -0
  490. package/dist/triggers/EventTrigger.d.ts +2 -0
  491. package/dist/triggers/EventTrigger.d.ts.map +1 -0
  492. package/dist/triggers/EventTrigger.js +2 -0
  493. package/dist/triggers/EventTrigger.js.map +1 -0
  494. package/dist/triggers/ManualTrigger.d.ts +2 -0
  495. package/dist/triggers/ManualTrigger.d.ts.map +1 -0
  496. package/dist/triggers/ManualTrigger.js +2 -0
  497. package/dist/triggers/ManualTrigger.js.map +1 -0
  498. package/dist/triggers/Trigger.d.ts +2 -0
  499. package/dist/triggers/Trigger.d.ts.map +1 -0
  500. package/dist/triggers/Trigger.js +2 -0
  501. package/dist/triggers/Trigger.js.map +1 -0
  502. package/dist/triggers/index.d.ts +2 -0
  503. package/dist/triggers/index.d.ts.map +1 -0
  504. package/dist/triggers/index.js +6 -0
  505. package/dist/triggers/index.js.map +1 -0
  506. package/dist/triggers/sources/FileWatcherTrigger.d.ts +2 -0
  507. package/dist/triggers/sources/FileWatcherTrigger.d.ts.map +1 -0
  508. package/dist/triggers/sources/FileWatcherTrigger.js +2 -0
  509. package/dist/triggers/sources/FileWatcherTrigger.js.map +1 -0
  510. package/dist/triggers/sources/MessageTrigger.d.ts +2 -0
  511. package/dist/triggers/sources/MessageTrigger.d.ts.map +1 -0
  512. package/dist/triggers/sources/MessageTrigger.js +2 -0
  513. package/dist/triggers/sources/MessageTrigger.js.map +1 -0
  514. package/dist/triggers/sources/WebhookListener.d.ts +2 -0
  515. package/dist/triggers/sources/WebhookListener.d.ts.map +1 -0
  516. package/dist/triggers/sources/WebhookListener.js +2 -0
  517. package/dist/triggers/sources/WebhookListener.js.map +1 -0
  518. package/dist/triggers/sources/index.d.ts +2 -0
  519. package/dist/triggers/sources/index.d.ts.map +1 -0
  520. package/dist/triggers/sources/index.js +2 -0
  521. package/dist/triggers/sources/index.js.map +1 -0
  522. package/dist/utils/deepMerge.d.ts +2 -0
  523. package/dist/utils/deepMerge.d.ts.map +1 -0
  524. package/dist/utils/deepMerge.js +2 -0
  525. package/dist/utils/deepMerge.js.map +1 -0
  526. package/dist/utils/id.d.ts +2 -0
  527. package/dist/utils/id.d.ts.map +1 -0
  528. package/dist/utils/id.js +2 -0
  529. package/dist/utils/id.js.map +1 -0
  530. package/dist/utils/index.d.ts +2 -0
  531. package/dist/utils/index.d.ts.map +1 -0
  532. package/dist/utils/index.js +6 -0
  533. package/dist/utils/index.js.map +1 -0
  534. package/dist/utils/safeExec.d.ts +2 -0
  535. package/dist/utils/safeExec.d.ts.map +1 -0
  536. package/dist/utils/safeExec.js +2 -0
  537. package/dist/utils/safeExec.js.map +1 -0
  538. package/dist/utils/time.d.ts +2 -0
  539. package/dist/utils/time.d.ts.map +1 -0
  540. package/dist/utils/time.js +2 -0
  541. package/dist/utils/time.js.map +1 -0
  542. package/dist/visualization/ExecutionGraphBuilder.d.ts +2 -0
  543. package/dist/visualization/ExecutionGraphBuilder.d.ts.map +1 -0
  544. package/dist/visualization/ExecutionGraphBuilder.js +2 -0
  545. package/dist/visualization/ExecutionGraphBuilder.js.map +1 -0
  546. package/dist/visualization/ExecutionTraceFormatter.d.ts +2 -0
  547. package/dist/visualization/ExecutionTraceFormatter.d.ts.map +1 -0
  548. package/dist/visualization/ExecutionTraceFormatter.js +2 -0
  549. package/dist/visualization/ExecutionTraceFormatter.js.map +1 -0
  550. package/dist/visualization/index.d.ts +2 -0
  551. package/dist/visualization/index.d.ts.map +1 -0
  552. package/dist/visualization/index.js +2 -0
  553. package/dist/visualization/index.js.map +1 -0
  554. package/dist/workflow/Step.d.ts +2 -0
  555. package/dist/workflow/Step.d.ts.map +1 -0
  556. package/dist/workflow/Step.js +2 -0
  557. package/dist/workflow/Step.js.map +1 -0
  558. package/dist/workflow/StepContext.d.ts +2 -0
  559. package/dist/workflow/StepContext.d.ts.map +1 -0
  560. package/dist/workflow/StepContext.js +2 -0
  561. package/dist/workflow/StepContext.js.map +1 -0
  562. package/dist/workflow/StepResult.d.ts +2 -0
  563. package/dist/workflow/StepResult.d.ts.map +1 -0
  564. package/dist/workflow/StepResult.js +2 -0
  565. package/dist/workflow/StepResult.js.map +1 -0
  566. package/dist/workflow/Workflow.d.ts +2 -0
  567. package/dist/workflow/Workflow.d.ts.map +1 -0
  568. package/dist/workflow/Workflow.js +2 -0
  569. package/dist/workflow/Workflow.js.map +1 -0
  570. package/dist/workflow/WorkflowRegistry.d.ts +2 -0
  571. package/dist/workflow/WorkflowRegistry.d.ts.map +1 -0
  572. package/dist/workflow/WorkflowRegistry.js +2 -0
  573. package/dist/workflow/WorkflowRegistry.js.map +1 -0
  574. package/dist/workflow/WorkflowState.d.ts +2 -0
  575. package/dist/workflow/WorkflowState.d.ts.map +1 -0
  576. package/dist/workflow/WorkflowState.js +2 -0
  577. package/dist/workflow/WorkflowState.js.map +1 -0
  578. package/dist/workflow/index.d.ts +2 -0
  579. package/dist/workflow/index.d.ts.map +1 -0
  580. package/dist/workflow/index.js +8 -0
  581. package/dist/workflow/index.js.map +1 -0
  582. package/package.json +47 -0
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Shell Security Policy
3
+ *
4
+ * Security controls for shell command execution.
5
+ */
6
+ import { AdapterExecutionError } from '@dev-ecosystem/core';
7
+ export class ShellSecurityPolicy {
8
+ config;
9
+ static DANGEROUS_COMMANDS = [
10
+ 'rm',
11
+ 'rmdir',
12
+ 'del',
13
+ 'delete',
14
+ 'format',
15
+ 'fdisk',
16
+ 'mkfs',
17
+ 'dd',
18
+ 'shred',
19
+ ':(){:|:&};:', // Fork bomb
20
+ ];
21
+ static DANGEROUS_PATTERNS = [
22
+ /rm\s+-rf\s+\//i, // rm -rf /
23
+ />\s*\/dev\/(sd|hd|nvme)/i, // Write to disk device
24
+ /mkfs/i, // Format filesystem
25
+ /dd\s+if=/i, // Disk dump
26
+ /curl.*\|\s*sh/i, // Pipe to shell
27
+ /wget.*\|\s*sh/i, // Pipe to shell
28
+ ];
29
+ constructor(config = {}) {
30
+ this.config = {
31
+ blockedCommands: config.blockedCommands || [],
32
+ blockedPatterns: config.blockedPatterns || [],
33
+ allowedCommands: config.allowedCommands || [],
34
+ allowDangerousOperations: config.allowDangerousOperations ?? false,
35
+ allowCommandChaining: config.allowCommandChaining ?? true,
36
+ allowEnvExpansion: config.allowEnvExpansion ?? true,
37
+ maxCommandLength: config.maxCommandLength ?? 10000,
38
+ };
39
+ }
40
+ /**
41
+ * Validate a shell command
42
+ */
43
+ validate(command) {
44
+ // Check command length
45
+ if (command.length > this.config.maxCommandLength) {
46
+ throw new AdapterExecutionError(`Command exceeds maximum length of ${this.config.maxCommandLength}`, { hint: 'Break command into smaller parts or increase maxCommandLength' });
47
+ }
48
+ // Extract base command
49
+ const baseCommand = this.extractBaseCommand(command);
50
+ // Check whitelist
51
+ if (this.config.allowedCommands.length > 0) {
52
+ if (!this.config.allowedCommands.includes(baseCommand)) {
53
+ throw new AdapterExecutionError(`Command not in allowed list: ${baseCommand}`, { hint: 'Add command to allowedCommands or remove whitelist' });
54
+ }
55
+ }
56
+ // Check blocked commands
57
+ if (this.config.blockedCommands.includes(baseCommand)) {
58
+ throw new AdapterExecutionError(`Command is blocked: ${baseCommand}`, { hint: 'This command is explicitly blocked by security policy' });
59
+ }
60
+ // Check dangerous commands
61
+ if (!this.config.allowDangerousOperations) {
62
+ if (ShellSecurityPolicy.DANGEROUS_COMMANDS.includes(baseCommand)) {
63
+ throw new AdapterExecutionError(`Dangerous command detected: ${baseCommand}`, { hint: 'Enable allowDangerousOperations to use this command' });
64
+ }
65
+ }
66
+ // Check dangerous patterns
67
+ if (!this.config.allowDangerousOperations) {
68
+ for (const pattern of ShellSecurityPolicy.DANGEROUS_PATTERNS) {
69
+ if (pattern.test(command)) {
70
+ throw new AdapterExecutionError('Dangerous command pattern detected', { pattern: pattern.toString(), hint: 'Enable allowDangerousOperations to use this pattern' });
71
+ }
72
+ }
73
+ }
74
+ // Check blocked patterns
75
+ for (const pattern of this.config.blockedPatterns) {
76
+ if (pattern.test(command)) {
77
+ throw new AdapterExecutionError('Command matches blocked pattern', { pattern: pattern.toString() });
78
+ }
79
+ }
80
+ // Check command chaining
81
+ if (!this.config.allowCommandChaining) {
82
+ if (this.hasCommandChaining(command)) {
83
+ throw new AdapterExecutionError('Command chaining is not allowed', { hint: 'Enable allowCommandChaining or split commands' });
84
+ }
85
+ }
86
+ // Check environment variable expansion
87
+ if (!this.config.allowEnvExpansion) {
88
+ if (command.includes('$')) {
89
+ throw new AdapterExecutionError('Environment variable expansion is not allowed', { hint: 'Enable allowEnvExpansion or use literal values' });
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * Extract base command from command string
95
+ */
96
+ extractBaseCommand(command) {
97
+ // Remove leading/trailing whitespace
98
+ const trimmed = command.trim();
99
+ // Extract first word (command name)
100
+ const match = trimmed.match(/^([^\s&|;]+)/);
101
+ if (!match)
102
+ return '';
103
+ const cmd = match[1];
104
+ // Remove path and get just the command name
105
+ const parts = cmd.split(/[/\\]/);
106
+ return parts[parts.length - 1];
107
+ }
108
+ /**
109
+ * Check for command chaining
110
+ */
111
+ hasCommandChaining(command) {
112
+ // Check for &&, ||, ;, | (pipe)
113
+ return /[;&|]{1,2}/.test(command);
114
+ }
115
+ /**
116
+ * Get warnings for a command (non-blocking)
117
+ */
118
+ getWarnings(command) {
119
+ const warnings = [];
120
+ if (command.includes('sudo') || command.includes('su ')) {
121
+ warnings.push('Command uses privilege escalation (sudo/su)');
122
+ }
123
+ if (command.includes('rm ') || command.includes('del ')) {
124
+ warnings.push('Command performs file deletion');
125
+ }
126
+ if (command.includes('curl') || command.includes('wget')) {
127
+ warnings.push('Command makes network requests');
128
+ }
129
+ if (command.length > 500) {
130
+ warnings.push('Command is unusually long');
131
+ }
132
+ return warnings;
133
+ }
134
+ }
135
+ //# sourceMappingURL=ShellSecurityPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellSecurityPolicy.js","sourceRoot":"","sources":["../../../src/adapters/builtins/ShellSecurityPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Built-in Adapters
3
+ *
4
+ * Core adapters shipped with Orbyt engine.
5
+ */
6
+ export * from './HTTPAdapter.js';
7
+ export * from './ShellAdapter.js';
8
+ export * from './CLIAdapter.js';
9
+ export * from './DBAdapter.js';
10
+ export * from './FSAdapter.js';
11
+ export * from './QueueAdapter.js';
12
+ export * from './SecretsAdapter.js';
13
+ export * from './PathSecurityPolicy.js';
14
+ export * from './FileResolver.js';
15
+ export * from './SecretProvider.js';
16
+ export * from './EnvResolver.js';
17
+ export * from './ConnectionManager.js';
18
+ export * from './Producer.js';
19
+ export * from './Consumer.js';
20
+ export * from './CLICommandResolver.js';
21
+ export * from './CLIResultParser.js';
22
+ export * from './HTTPRequestBuilder.js';
23
+ export * from './HTTPResponseParser.js';
24
+ export * from './ShellExecutor.js';
25
+ export * from './ShellSecurityPolicy.js';
26
+ export * from './QueryExecutor.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAG9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Built-in Adapters
3
+ *
4
+ * Core adapters shipped with Orbyt engine.
5
+ */
6
+ // Core Adapters
7
+ export * from './HTTPAdapter.js';
8
+ export * from './ShellAdapter.js';
9
+ export * from './CLIAdapter.js';
10
+ export * from './DBAdapter.js';
11
+ export * from './FSAdapter.js';
12
+ export * from './QueueAdapter.js';
13
+ export * from './SecretsAdapter.js';
14
+ // File System Utilities
15
+ export * from './PathSecurityPolicy.js';
16
+ export * from './FileResolver.js';
17
+ // Secret Management
18
+ export * from './SecretProvider.js';
19
+ export * from './EnvResolver.js';
20
+ // Queue Utilities
21
+ export * from './ConnectionManager.js';
22
+ export * from './Producer.js';
23
+ export * from './Consumer.js';
24
+ // CLI Utilities
25
+ export * from './CLICommandResolver.js';
26
+ export * from './CLIResultParser.js';
27
+ // HTTP Utilities
28
+ export * from './HTTPRequestBuilder.js';
29
+ export * from './HTTPResponseParser.js';
30
+ // Shell Utilities
31
+ export * from './ShellExecutor.js';
32
+ export * from './ShellSecurityPolicy.js';
33
+ // Database Utilities
34
+ export * from './QueryExecutor.js';
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/builtins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAElC,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,gBAAgB;AAChB,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAErC,iBAAiB;AACjB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AAEzC,qBAAqB;AACrB,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { Adapter, AdapterContext, AdapterResult, AdapterCapabilities, AdapterMetadata, ExecutionMetrics, AdapterError } from '@dev-ecosystem/core';
2
+ export { BaseAdapter, AdapterResultBuilder, createSuccessResult, createFailureResult } from '@dev-ecosystem/core';
3
+ export * from './AdapterRegistry.js';
4
+ export * from './builtins/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxJ,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAElH,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { BaseAdapter, AdapterResultBuilder, createSuccessResult, createFailureResult } from '@dev-ecosystem/core';
2
+ export * from './AdapterRegistry.js';
3
+ export * from './builtins/index.js';
4
+ // export * from './StepAdapter.js';
5
+ // export * from './WorkflowAdapter.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAElH,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,oCAAoC;AACpC,wCAAwC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Backoff Strategy
3
+ *
4
+ * Calculates delays between retry attempts using various strategies.
5
+ * Supports fixed, linear, and exponential backoff with jitter.
6
+ *
7
+ * @module automation
8
+ */
9
+ /**
10
+ * Backoff strategy type
11
+ */
12
+ export type BackoffType = 'fixed' | 'linear' | 'exponential';
13
+ /**
14
+ * Backoff strategy configuration
15
+ */
16
+ export interface BackoffConfig {
17
+ /** Strategy type */
18
+ type: BackoffType;
19
+ /** Base delay in milliseconds */
20
+ baseDelayMs: number;
21
+ /** Maximum delay cap in milliseconds */
22
+ maxDelayMs?: number;
23
+ /** Multiplier for exponential backoff (default: 2) */
24
+ multiplier?: number;
25
+ /** Add random jitter (0-1, default: 0.1 = 10%) */
26
+ jitter?: number;
27
+ }
28
+ /**
29
+ * Backoff strategy for calculating retry delays
30
+ */
31
+ export declare class BackoffStrategy {
32
+ private readonly config;
33
+ constructor(config: BackoffConfig);
34
+ /**
35
+ * Calculate delay for a given attempt number
36
+ *
37
+ * @param attempt - Attempt number (1-indexed)
38
+ * @returns Delay in milliseconds
39
+ */
40
+ calculateDelay(attempt: number): number;
41
+ /**
42
+ * Calculate delays for a series of attempts
43
+ *
44
+ * @param maxAttempts - Maximum number of attempts
45
+ * @returns Array of delays in milliseconds
46
+ */
47
+ calculateDelays(maxAttempts: number): number[];
48
+ /**
49
+ * Get total delay time for all retry attempts
50
+ *
51
+ * @param maxAttempts - Maximum number of attempts
52
+ * @returns Total delay in milliseconds
53
+ */
54
+ getTotalDelay(maxAttempts: number): number;
55
+ /**
56
+ * Get backoff configuration
57
+ */
58
+ getConfig(): Readonly<Required<BackoffConfig>>;
59
+ /**
60
+ * Validate configuration
61
+ */
62
+ private validateConfig;
63
+ }
64
+ /**
65
+ * Predefined backoff strategies
66
+ */
67
+ export declare const BackoffStrategies: {
68
+ /**
69
+ * Fixed 1-second delay
70
+ */
71
+ readonly fixed1s: BackoffStrategy;
72
+ /**
73
+ * Fixed 5-second delay
74
+ */
75
+ readonly fixed5s: BackoffStrategy;
76
+ /**
77
+ * Linear backoff starting at 1 second
78
+ */
79
+ readonly linear1s: BackoffStrategy;
80
+ /**
81
+ * Exponential backoff starting at 1 second
82
+ */
83
+ readonly exponential1s: BackoffStrategy;
84
+ /**
85
+ * Exponential backoff starting at 100ms (fast retries)
86
+ */
87
+ readonly exponentialFast: BackoffStrategy;
88
+ /**
89
+ * No delay (immediate retry)
90
+ */
91
+ readonly immediate: BackoffStrategy;
92
+ };
93
+ /**
94
+ * Create a backoff strategy from workflow configuration
95
+ *
96
+ * @param type - Backoff type
97
+ * @param baseDelayMs - Base delay in milliseconds
98
+ * @param options - Additional options
99
+ * @returns Backoff strategy instance
100
+ */
101
+ export declare function createBackoffStrategy(type: BackoffType, baseDelayMs: number, options?: {
102
+ maxDelayMs?: number;
103
+ multiplier?: number;
104
+ jitter?: number;
105
+ }): BackoffStrategy;
106
+ //# sourceMappingURL=BackoffStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackoffStrategy.d.ts","sourceRoot":"","sources":["../../src/automation/BackoffStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,IAAI,EAAE,WAAW,CAAC;IAElB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,MAAM,EAAE,aAAa;IAYjC;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqCvC;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9C;;;;;OAKG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI1C;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAI9C;;OAEG;IACH,OAAO,CAAC,cAAc;CAevB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;;IAOH;;OAEG;;IAQH;;OAEG;;IAQH;;OAEG;;CAKK,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,eAAe,CAMjB"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Backoff Strategy
3
+ *
4
+ * Calculates delays between retry attempts using various strategies.
5
+ * Supports fixed, linear, and exponential backoff with jitter.
6
+ *
7
+ * @module automation
8
+ */
9
+ /**
10
+ * Backoff strategy for calculating retry delays
11
+ */
12
+ export class BackoffStrategy {
13
+ config;
14
+ constructor(config) {
15
+ this.config = {
16
+ type: config.type,
17
+ baseDelayMs: config.baseDelayMs,
18
+ maxDelayMs: config.maxDelayMs ?? 60000, // Default 60s max
19
+ multiplier: config.multiplier ?? 2,
20
+ jitter: Math.max(0, Math.min(1, config.jitter ?? 0.1)), // Clamp 0-1
21
+ };
22
+ this.validateConfig();
23
+ }
24
+ /**
25
+ * Calculate delay for a given attempt number
26
+ *
27
+ * @param attempt - Attempt number (1-indexed)
28
+ * @returns Delay in milliseconds
29
+ */
30
+ calculateDelay(attempt) {
31
+ if (attempt < 1) {
32
+ throw new Error(`Attempt number must be >= 1, got: ${attempt}`);
33
+ }
34
+ let delayMs;
35
+ switch (this.config.type) {
36
+ case 'fixed':
37
+ delayMs = this.config.baseDelayMs;
38
+ break;
39
+ case 'linear':
40
+ delayMs = this.config.baseDelayMs * attempt;
41
+ break;
42
+ case 'exponential':
43
+ delayMs = this.config.baseDelayMs * Math.pow(this.config.multiplier, attempt - 1);
44
+ break;
45
+ default:
46
+ throw new Error(`Unknown backoff type: ${this.config.type}`);
47
+ }
48
+ // Cap at max delay
49
+ delayMs = Math.min(delayMs, this.config.maxDelayMs);
50
+ // Add jitter to prevent thundering herd
51
+ if (this.config.jitter > 0) {
52
+ const jitterAmount = delayMs * this.config.jitter;
53
+ const randomJitter = Math.random() * jitterAmount * 2 - jitterAmount;
54
+ delayMs = Math.max(0, delayMs + randomJitter);
55
+ }
56
+ return Math.round(delayMs);
57
+ }
58
+ /**
59
+ * Calculate delays for a series of attempts
60
+ *
61
+ * @param maxAttempts - Maximum number of attempts
62
+ * @returns Array of delays in milliseconds
63
+ */
64
+ calculateDelays(maxAttempts) {
65
+ const delays = [];
66
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
67
+ delays.push(this.calculateDelay(attempt));
68
+ }
69
+ return delays;
70
+ }
71
+ /**
72
+ * Get total delay time for all retry attempts
73
+ *
74
+ * @param maxAttempts - Maximum number of attempts
75
+ * @returns Total delay in milliseconds
76
+ */
77
+ getTotalDelay(maxAttempts) {
78
+ return this.calculateDelays(maxAttempts).reduce((sum, delay) => sum + delay, 0);
79
+ }
80
+ /**
81
+ * Get backoff configuration
82
+ */
83
+ getConfig() {
84
+ return { ...this.config };
85
+ }
86
+ /**
87
+ * Validate configuration
88
+ */
89
+ validateConfig() {
90
+ if (this.config.baseDelayMs < 0) {
91
+ throw new Error(`Base delay must be >= 0, got: ${this.config.baseDelayMs}`);
92
+ }
93
+ if (this.config.maxDelayMs < this.config.baseDelayMs) {
94
+ throw new Error(`Max delay (${this.config.maxDelayMs}ms) must be >= base delay (${this.config.baseDelayMs}ms)`);
95
+ }
96
+ if (this.config.multiplier <= 0) {
97
+ throw new Error(`Multiplier must be > 0, got: ${this.config.multiplier}`);
98
+ }
99
+ }
100
+ }
101
+ /**
102
+ * Predefined backoff strategies
103
+ */
104
+ export const BackoffStrategies = {
105
+ /**
106
+ * Fixed 1-second delay
107
+ */
108
+ fixed1s: new BackoffStrategy({
109
+ type: 'fixed',
110
+ baseDelayMs: 1000,
111
+ }),
112
+ /**
113
+ * Fixed 5-second delay
114
+ */
115
+ fixed5s: new BackoffStrategy({
116
+ type: 'fixed',
117
+ baseDelayMs: 5000,
118
+ }),
119
+ /**
120
+ * Linear backoff starting at 1 second
121
+ */
122
+ linear1s: new BackoffStrategy({
123
+ type: 'linear',
124
+ baseDelayMs: 1000,
125
+ maxDelayMs: 30000, // Cap at 30s
126
+ }),
127
+ /**
128
+ * Exponential backoff starting at 1 second
129
+ */
130
+ exponential1s: new BackoffStrategy({
131
+ type: 'exponential',
132
+ baseDelayMs: 1000,
133
+ maxDelayMs: 60000, // Cap at 60s
134
+ multiplier: 2,
135
+ }),
136
+ /**
137
+ * Exponential backoff starting at 100ms (fast retries)
138
+ */
139
+ exponentialFast: new BackoffStrategy({
140
+ type: 'exponential',
141
+ baseDelayMs: 100,
142
+ maxDelayMs: 10000, // Cap at 10s
143
+ multiplier: 2,
144
+ }),
145
+ /**
146
+ * No delay (immediate retry)
147
+ */
148
+ immediate: new BackoffStrategy({
149
+ type: 'fixed',
150
+ baseDelayMs: 0,
151
+ }),
152
+ };
153
+ /**
154
+ * Create a backoff strategy from workflow configuration
155
+ *
156
+ * @param type - Backoff type
157
+ * @param baseDelayMs - Base delay in milliseconds
158
+ * @param options - Additional options
159
+ * @returns Backoff strategy instance
160
+ */
161
+ export function createBackoffStrategy(type, baseDelayMs, options) {
162
+ return new BackoffStrategy({
163
+ type,
164
+ baseDelayMs,
165
+ ...options,
166
+ });
167
+ }
168
+ //# sourceMappingURL=BackoffStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackoffStrategy.js","sourceRoot":"","sources":["../../src/automation/BackoffStrategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Failure Strategy
3
+ *
4
+ * Defines how to handle step failures in workflow execution.
5
+ * Controls failure propagation and workflow continuation behavior.
6
+ *
7
+ * @module automation
8
+ */
9
+ /**
10
+ * Failure strategy type
11
+ */
12
+ export type FailureStrategyType = 'abort' | 'continue' | 'skipDependent';
13
+ /**
14
+ * Failure strategy configuration
15
+ */
16
+ export interface FailureStrategyConfig {
17
+ /** Strategy type */
18
+ type: FailureStrategyType;
19
+ /** Allow partial workflow completion */
20
+ allowPartialSuccess?: boolean;
21
+ /** Maximum number of step failures before aborting workflow */
22
+ maxFailures?: number;
23
+ /** Critical step IDs that must succeed (failure = abort) */
24
+ criticalSteps?: string[];
25
+ /** Cleanup function to run on failure */
26
+ onFailure?: (stepId: string, error: Error) => Promise<void> | void;
27
+ }
28
+ /**
29
+ * Failure decision for a specific step failure
30
+ */
31
+ export interface FailureDecision {
32
+ /** Should workflow continue? */
33
+ continueWorkflow: boolean;
34
+ /** Should execute cleanup? */
35
+ runCleanup: boolean;
36
+ /** Should skip dependent steps? */
37
+ skipDependentSteps: boolean;
38
+ /** Reason for decision */
39
+ reason: string;
40
+ /** Final workflow status if abort */
41
+ finalStatus?: 'failed' | 'partial';
42
+ }
43
+ /**
44
+ * Failure strategy for workflow execution
45
+ */
46
+ export declare class FailureStrategy {
47
+ private readonly config;
48
+ private failureCount;
49
+ constructor(config: FailureStrategyConfig);
50
+ /**
51
+ * Decide what to do after a step failure
52
+ *
53
+ * @param stepId - ID of failed step
54
+ * @param error - Error that caused failure
55
+ * @param totalSteps - Total number of steps
56
+ * @param completedSteps - Number of completed steps
57
+ * @returns Failure decision
58
+ */
59
+ decide(stepId: string, error: Error, _totalSteps: number, completedSteps: number): Promise<FailureDecision>;
60
+ /**
61
+ * Check if step is critical
62
+ *
63
+ * @param stepId - Step ID to check
64
+ * @returns True if critical
65
+ */
66
+ isCriticalStep(stepId: string): boolean;
67
+ /**
68
+ * Get current failure count
69
+ */
70
+ getFailureCount(): number;
71
+ /**
72
+ * Reset failure count (for new workflow execution)
73
+ */
74
+ reset(): void;
75
+ /**
76
+ * Get strategy type
77
+ */
78
+ getType(): FailureStrategyType;
79
+ /**
80
+ * Check if partial success is allowed
81
+ */
82
+ allowsPartialSuccess(): boolean;
83
+ /**
84
+ * Execute cleanup handler
85
+ */
86
+ private executeCleanup;
87
+ /**
88
+ * Validate configuration
89
+ */
90
+ private validateConfig;
91
+ }
92
+ /**
93
+ * Predefined failure strategies
94
+ */
95
+ export declare const FailureStrategies: {
96
+ /**
97
+ * Abort workflow on first failure
98
+ */
99
+ readonly abort: FailureStrategy;
100
+ /**
101
+ * Abort but allow partial success
102
+ */
103
+ readonly abortWithPartial: FailureStrategy;
104
+ /**
105
+ * Continue executing all steps regardless of failures
106
+ */
107
+ readonly continue: FailureStrategy;
108
+ /**
109
+ * Skip dependent steps on failure
110
+ */
111
+ readonly skipDependent: FailureStrategy;
112
+ /**
113
+ * Abort after 3 failures
114
+ */
115
+ readonly maxThreeFailures: FailureStrategy;
116
+ };
117
+ /**
118
+ * Create failure strategy from workflow step configuration
119
+ *
120
+ * @param continueOnError - Continue on error flag from step
121
+ * @param criticalSteps - List of critical step IDs
122
+ * @returns Failure strategy instance
123
+ */
124
+ export declare function createFailureStrategyFromStep(continueOnError: boolean, criticalSteps?: string[]): FailureStrategy;
125
+ /**
126
+ * Failure strategy builder for fluent API
127
+ */
128
+ export declare class FailureStrategyBuilder {
129
+ private type;
130
+ private allowPartialSuccess;
131
+ private maxFailures?;
132
+ private criticalSteps;
133
+ private failureHandler?;
134
+ withType(type: FailureStrategyType): this;
135
+ withPartialSuccess(allow?: boolean): this;
136
+ withMaxFailures(max: number): this;
137
+ withCriticalSteps(...stepIds: string[]): this;
138
+ onFailure(handler: (stepId: string, error: Error) => Promise<void> | void): this;
139
+ build(): FailureStrategy;
140
+ }
141
+ //# sourceMappingURL=FailureStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailureStrategy.d.ts","sourceRoot":"","sources":["../../src/automation/FailureStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,UAAU,GACV,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,oBAAoB;IACpB,IAAI,EAAE,mBAAmB,CAAC;IAE1B,wCAAwC;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAE5B,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,EAAE,qBAAqB;IAYzC;;;;;;;;OAQG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,eAAe,CAAC;IAgE3B;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,mBAAmB;IAI9B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;YACW,cAAc;IAS5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAKvB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;;CAMK,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,OAAO,EACxB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,eAAe,CAcjB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAyD;IAEhF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAKzC,kBAAkB,CAAC,KAAK,UAAO,GAAG,IAAI;IAKtC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC,iBAAiB,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAK7C,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAKhF,KAAK,IAAI,eAAe;CASzB"}