@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,368 @@
1
+ /**
2
+ * Variable Resolution Engine
3
+ *
4
+ * Resolves variables in workflow step inputs at runtime.
5
+ * Supports multiple variable sources aligned with workflow schema.
6
+ *
7
+ * Syntax: ${source.path.to.value}
8
+ *
9
+ * Supported sources:
10
+ * - env: Environment variables
11
+ * - steps: Step outputs
12
+ * - workflow: Workflow metadata
13
+ * - run: Execution metadata
14
+ * - context: Runtime context
15
+ * - inputs: Workflow inputs
16
+ * - secrets: Secret references (resolved externally)
17
+ * - metadata: Workflow metadata fields
18
+ *
19
+ * Future sources (placeholders):
20
+ * - telemetry: Telemetry data
21
+ * - resources: Resource information
22
+ * - compliance: Compliance metadata
23
+ *
24
+ * Advanced features:
25
+ * - Default values: ${env.token || "default"}
26
+ * - Built-in functions:
27
+ * - Time: ${now()}, ${uuid()}, ${timestamp()}
28
+ * - Context-aware: ${workflowId()}, ${workflowName()}, ${runId()}, ${attempt()}, ${triggeredBy()}
29
+ * - Type-aware: ${steps.count} returns number, not string
30
+ * - Math expressions: FUTURE (${steps.a + steps.b})
31
+ *
32
+ * @module context
33
+ */
34
+ import { randomUUID } from 'crypto';
35
+ /**
36
+ * Variable resolver engine
37
+ */
38
+ export class VariableResolver {
39
+ /** Maximum recursion depth to prevent infinite loops */
40
+ maxDepth = 10;
41
+ /**
42
+ * Resolve all variables in the input value
43
+ *
44
+ * @param input - Input value (can be string, object, array, or primitive)
45
+ * @param ctx - Resolution context
46
+ * @param depth - Current recursion depth (internal)
47
+ * @returns Input with all variables resolved
48
+ */
49
+ resolve(input, ctx, depth = 0) {
50
+ // Prevent infinite recursion
51
+ if (depth > this.maxDepth) {
52
+ throw new Error(`Maximum variable resolution depth (${this.maxDepth}) exceeded. ` +
53
+ 'Check for circular variable references.');
54
+ }
55
+ // Handle null/undefined
56
+ if (input === null || input === undefined) {
57
+ return input;
58
+ }
59
+ // Handle strings (may contain variables)
60
+ if (typeof input === 'string') {
61
+ return this.resolveString(input, ctx, depth);
62
+ }
63
+ // Handle arrays recursively
64
+ if (Array.isArray(input)) {
65
+ return input.map(v => this.resolve(v, ctx, depth + 1));
66
+ }
67
+ // Handle objects recursively
68
+ if (typeof input === 'object') {
69
+ const result = {};
70
+ for (const key in input) {
71
+ result[key] = this.resolve(input[key], ctx, depth + 1);
72
+ }
73
+ return result;
74
+ }
75
+ // Return primitives as-is
76
+ return input;
77
+ }
78
+ /**
79
+ * Resolve variables in a string
80
+ *
81
+ * Supports:
82
+ * - Full replacement: "${env.apiKey}" -> actual value
83
+ * - Inline replacement: "URL: ${env.baseUrl}/api" -> "URL: https://api.com/api"
84
+ * - Default values: "${env.token || 'default'}" -> uses default if token undefined
85
+ * - Built-in functions: "${now()}" -> current timestamp
86
+ *
87
+ * @param str - String potentially containing variables
88
+ * @param ctx - Resolution context
89
+ * @param depth - Current recursion depth
90
+ * @returns String with variables resolved
91
+ */
92
+ resolveString(str, ctx, depth) {
93
+ // Check if entire string is a single variable (type-aware resolution)
94
+ const singleVarMatch = str.match(/^\$\{([^}]+)\}$/);
95
+ if (singleVarMatch) {
96
+ // Return actual value (might not be string)
97
+ return this.evaluateExpression(singleVarMatch[1].trim(), ctx, depth);
98
+ }
99
+ // Replace all inline variables with string values
100
+ const regex = /\$\{([^}]+)\}/g;
101
+ return str.replace(regex, (_, expr) => {
102
+ const value = this.evaluateExpression(expr.trim(), ctx, depth);
103
+ return value !== undefined && value !== null ? String(value) : '';
104
+ });
105
+ }
106
+ /**
107
+ * Evaluate expression (supports default values and functions)
108
+ *
109
+ * Examples:
110
+ * - env.apiKey -> lookup('env.apiKey')
111
+ * - env.token || "default" -> lookup with fallback
112
+ * - now() -> built-in function
113
+ *
114
+ * @param expression - Expression to evaluate
115
+ * @param ctx - Resolution context
116
+ * @param depth - Current recursion depth
117
+ * @returns Evaluated value
118
+ */
119
+ evaluateExpression(expression, ctx, depth) {
120
+ // Check for default value operator (||)
121
+ const defaultMatch = expression.match(/^(.+?)\|\|(.+)$/);
122
+ if (defaultMatch) {
123
+ const [, mainExpr, defaultExpr] = defaultMatch;
124
+ try {
125
+ const value = this.evaluateExpression(mainExpr.trim(), ctx, depth + 1);
126
+ if (value !== undefined && value !== null && value !== '') {
127
+ return value;
128
+ }
129
+ }
130
+ catch (err) {
131
+ // If lookup fails, use default
132
+ }
133
+ // Parse default value (could be string literal or another expression)
134
+ const defaultVal = defaultExpr.trim();
135
+ // Handle string literals
136
+ if ((defaultVal.startsWith("'") && defaultVal.endsWith("'")) ||
137
+ (defaultVal.startsWith('"') && defaultVal.endsWith('"'))) {
138
+ return defaultVal.slice(1, -1);
139
+ }
140
+ // Handle number literals
141
+ if (!isNaN(Number(defaultVal))) {
142
+ return Number(defaultVal);
143
+ }
144
+ // Handle boolean literals
145
+ if (defaultVal === 'true')
146
+ return true;
147
+ if (defaultVal === 'false')
148
+ return false;
149
+ if (defaultVal === 'null')
150
+ return null;
151
+ // Otherwise evaluate as expression
152
+ return this.evaluateExpression(defaultVal, ctx, depth + 1);
153
+ }
154
+ // Check for built-in functions
155
+ if (expression.endsWith('()')) {
156
+ return this.callBuiltInFunction(expression.slice(0, -2), ctx);
157
+ }
158
+ // Standard variable lookup
159
+ return this.lookup(expression, ctx);
160
+ }
161
+ /**
162
+ * Call a built-in function
163
+ *
164
+ * Supported functions:
165
+ * - now() -> current ISO timestamp
166
+ * - uuid() -> random UUID v4
167
+ * - timestamp() -> current Unix timestamp (milliseconds)
168
+ * - workflowId() -> current workflow ID from context
169
+ * - workflowName() -> current workflow name from context
170
+ * - runId() -> current execution run ID from context
171
+ * - attempt() -> current execution attempt number from context
172
+ * - triggeredBy() -> who/what triggered the workflow from context
173
+ *
174
+ * @param funcName - Function name
175
+ * @param ctx - Resolution context for context-aware functions
176
+ * @returns Function result
177
+ */
178
+ callBuiltInFunction(funcName, ctx) {
179
+ switch (funcName) {
180
+ // Time-based functions (context-independent)
181
+ case 'now':
182
+ return new Date().toISOString();
183
+ case 'uuid':
184
+ return randomUUID();
185
+ case 'timestamp':
186
+ return Date.now();
187
+ // Context-aware workflow functions
188
+ case 'workflowId':
189
+ return ctx.workflow.id;
190
+ case 'workflowName':
191
+ return ctx.workflow.name;
192
+ // Context-aware run functions
193
+ case 'runId':
194
+ return ctx.run.id;
195
+ case 'attempt':
196
+ return ctx.run.attempt;
197
+ case 'triggeredBy':
198
+ return ctx.run.triggeredBy || 'unknown';
199
+ // Future functions (placeholders)
200
+ case 'env':
201
+ throw new Error('env() function not yet supported. Use ${env.VAR_NAME} syntax instead.');
202
+ default:
203
+ throw new Error(`Unknown function: '${funcName}()'. ` +
204
+ `Available functions: now(), uuid(), timestamp(), workflowId(), workflowName(), runId(), attempt(), triggeredBy()`);
205
+ }
206
+ }
207
+ /**
208
+ * Lookup variable value from context
209
+ *
210
+ * Supports:
211
+ * - ${env.apiKey} -> ctx.env.apiKey
212
+ * - ${steps.resize.output.url} -> ctx.steps.get('resize').output.url
213
+ * - ${workflow.name} -> ctx.workflow.name
214
+ * - ${run.id} -> ctx.run.id
215
+ * - ${inputs.userId} -> ctx.inputs.userId
216
+ * - ${secrets.apiKey} -> ctx.secrets.apiKey
217
+ * - ${metadata.createdAt} -> ctx.metadata.createdAt
218
+ * - ${context.customValue} -> ctx.context.customValue
219
+ * - ${telemetry.*} -> Future placeholder
220
+ * - ${resources.*} -> Future placeholder
221
+ * - ${compliance.*} -> Future placeholder
222
+ *
223
+ * @param expression - Variable expression (without ${ })
224
+ * @param ctx - Resolution context
225
+ * @returns Resolved value or undefined
226
+ */
227
+ lookup(expression, ctx) {
228
+ const parts = expression.split('.');
229
+ const source = parts[0];
230
+ const path = parts.slice(1);
231
+ // Resolve source
232
+ let value;
233
+ switch (source) {
234
+ case 'env':
235
+ value = ctx.env;
236
+ break;
237
+ case 'steps': {
238
+ if (path.length === 0) {
239
+ throw new Error('steps variable requires step ID: ${steps.stepId.output}');
240
+ }
241
+ const stepId = path[0];
242
+ const stepOutput = ctx.steps.get(stepId);
243
+ if (stepOutput === undefined) {
244
+ throw new Error(`Step '${stepId}' not found or has not executed yet. ` +
245
+ `Available steps: ${Array.from(ctx.steps.keys()).join(', ') || 'none'}`);
246
+ }
247
+ value = stepOutput;
248
+ // Remove stepId from path
249
+ path.shift();
250
+ break;
251
+ }
252
+ case 'workflow':
253
+ value = ctx.workflow;
254
+ break;
255
+ case 'run':
256
+ value = ctx.run;
257
+ break;
258
+ case 'inputs':
259
+ if (!ctx.inputs) {
260
+ throw new Error('No inputs defined for this workflow execution');
261
+ }
262
+ value = ctx.inputs;
263
+ break;
264
+ case 'secrets':
265
+ if (!ctx.secrets) {
266
+ throw new Error('No secrets available in this context. Secrets must be resolved before execution.');
267
+ }
268
+ value = ctx.secrets;
269
+ break;
270
+ case 'metadata':
271
+ if (!ctx.metadata) {
272
+ throw new Error('No metadata available in this context');
273
+ }
274
+ value = ctx.metadata;
275
+ break;
276
+ case 'context':
277
+ value = ctx.context || {};
278
+ break;
279
+ // Future placeholders
280
+ case 'telemetry':
281
+ if (!ctx.telemetry) {
282
+ throw new Error('Telemetry variables are not yet supported (future feature)');
283
+ }
284
+ value = ctx.telemetry;
285
+ break;
286
+ case 'resources':
287
+ if (!ctx.resources) {
288
+ throw new Error('Resource variables are not yet supported (future feature)');
289
+ }
290
+ value = ctx.resources;
291
+ break;
292
+ case 'compliance':
293
+ if (!ctx.compliance) {
294
+ throw new Error('Compliance variables are not yet supported (future feature)');
295
+ }
296
+ value = ctx.compliance;
297
+ break;
298
+ default:
299
+ throw new Error(`Unknown variable source: '${source}'. ` +
300
+ `Valid sources are: env, steps, workflow, run, inputs, secrets, metadata, context. ` +
301
+ `Future sources: telemetry, resources, compliance`);
302
+ }
303
+ // Navigate path
304
+ for (const key of path) {
305
+ if (value === undefined || value === null) {
306
+ return undefined;
307
+ }
308
+ value = value[key];
309
+ }
310
+ return value;
311
+ }
312
+ /**
313
+ * Check if a string contains variables
314
+ *
315
+ * @param str - String to check
316
+ * @returns True if string contains ${...} patterns
317
+ */
318
+ static hasVariables(str) {
319
+ return /\$\{[^}]+\}/.test(str);
320
+ }
321
+ /**
322
+ * Extract all variable expressions from a string
323
+ *
324
+ * @param str - String to analyze
325
+ * @returns Array of variable expressions (without ${ })
326
+ */
327
+ static extractVariables(str) {
328
+ const regex = /\$\{([^}]+)\}/g;
329
+ const matches = [];
330
+ let match;
331
+ while ((match = regex.exec(str)) !== null) {
332
+ matches.push(match[1].trim());
333
+ }
334
+ return matches;
335
+ }
336
+ /**
337
+ * Validate that all referenced steps exist
338
+ *
339
+ * @param input - Input to validate
340
+ * @param availableSteps - Set of available step IDs
341
+ * @throws {Error} If referenced step doesn't exist
342
+ */
343
+ static validateStepReferences(input, availableSteps) {
344
+ const checkValue = (value) => {
345
+ if (typeof value === 'string') {
346
+ const vars = this.extractVariables(value);
347
+ for (const varExpr of vars) {
348
+ const parts = varExpr.split('.');
349
+ if (parts[0] === 'steps' && parts.length > 1) {
350
+ const stepId = parts[1];
351
+ if (!availableSteps.has(stepId)) {
352
+ throw new Error(`Variable references unknown step: '${stepId}'. ` +
353
+ `Available steps: ${Array.from(availableSteps).join(', ')}`);
354
+ }
355
+ }
356
+ }
357
+ }
358
+ else if (Array.isArray(value)) {
359
+ value.forEach(checkValue);
360
+ }
361
+ else if (typeof value === 'object' && value !== null) {
362
+ Object.values(value).forEach(checkValue);
363
+ }
364
+ };
365
+ checkValue(input);
366
+ }
367
+ }
368
+ //# sourceMappingURL=VariableResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariableResolver.js","sourceRoot":"","sources":["../../src/context/VariableResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Context Module
3
+ *
4
+ * Runtime context management and variable resolution.
5
+ *
6
+ * @module context
7
+ */
8
+ /**
9
+ * Context Module
10
+ *
11
+ * Runtime context and variable resolution for workflow execution.
12
+ *
13
+ * @module context
14
+ */
15
+ export * from './ContextStore.js';
16
+ export * from './VariableResolver.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Context Module
3
+ *
4
+ * Runtime context management and variable resolution.
5
+ *
6
+ * @module context
7
+ */
8
+ /**
9
+ * Context Module
10
+ *
11
+ * Runtime context and variable resolution for workflow execution.
12
+ *
13
+ * @module context
14
+ */
15
+ export * from './ContextStore.js';
16
+ export * from './VariableResolver.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Engine Configuration
3
+ *
4
+ * User-facing configuration for OrbytEngine.
5
+ * Provides sensible defaults and clear options for engine behavior.
6
+ *
7
+ * @module core
8
+ */
9
+ import type { RetryPolicy } from '../automation/RetryPolicy.js';
10
+ import type { TimeoutManager } from '../automation/TimeoutManager.js';
11
+ import type { JobQueue } from '../queue/JobQueue.js';
12
+ import type { LifecycleHook } from '../hooks/LifecycleHooks.js';
13
+ import type { Adapter } from '@dev-ecosystem/core';
14
+ /**
15
+ * Logging level for engine output
16
+ */
17
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
18
+ /**
19
+ * Execution mode
20
+ */
21
+ export type ExecutionMode = 'local' | 'distributed' | 'dry-run';
22
+ /**
23
+ * Engine configuration options
24
+ *
25
+ * Provides a clean, user-friendly API for configuring OrbytEngine.
26
+ * All options are optional with sensible defaults.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const config: OrbytEngineConfig = {
31
+ * maxConcurrentWorkflows: 5,
32
+ * logLevel: 'info',
33
+ * enableScheduler: true,
34
+ * adapters: [httpAdapter, shellAdapter],
35
+ * hooks: [loggingHook, metricsHook]
36
+ * };
37
+ *
38
+ * const engine = new OrbytEngine(config);
39
+ * ```
40
+ */
41
+ export interface OrbytEngineConfig {
42
+ /**
43
+ * Maximum number of workflows that can run concurrently
44
+ * @default 10
45
+ */
46
+ maxConcurrentWorkflows?: number;
47
+ /**
48
+ * Default timeout for workflows (milliseconds)
49
+ * @default 300000 (5 minutes)
50
+ */
51
+ defaultTimeout?: number;
52
+ /**
53
+ * Execution mode
54
+ * - 'local': Execute locally with full features
55
+ * - 'distributed': Execute in distributed mode (future)
56
+ * - 'dry-run': Validate and plan but don't execute
57
+ * @default 'local'
58
+ */
59
+ mode?: ExecutionMode;
60
+ /**
61
+ * Enable the internal scheduler for cron/scheduled workflows
62
+ * @default true
63
+ */
64
+ enableScheduler?: boolean;
65
+ /**
66
+ * Custom job queue implementation
67
+ * If not provided, uses InMemoryQueue
68
+ */
69
+ queue?: JobQueue;
70
+ /**
71
+ * Global retry policy for all steps
72
+ * Can be overridden per-step in workflow definition
73
+ */
74
+ retryPolicy?: RetryPolicy;
75
+ /**
76
+ * Global timeout manager
77
+ */
78
+ timeoutManager?: TimeoutManager;
79
+ /**
80
+ * Adapters to register with the engine
81
+ * These will be available for use in workflows
82
+ */
83
+ adapters?: Adapter[];
84
+ /**
85
+ * Lifecycle hooks for extending engine behavior
86
+ * Hooks are called at key execution moments
87
+ */
88
+ hooks?: LifecycleHook[];
89
+ /**
90
+ * Logging level
91
+ * @default 'info'
92
+ */
93
+ logLevel?: LogLevel;
94
+ /**
95
+ * Enable verbose output (equivalent to logLevel='debug')
96
+ * @default false
97
+ */
98
+ verbose?: boolean;
99
+ /**
100
+ * Enable metrics collection
101
+ * @default true
102
+ */
103
+ enableMetrics?: boolean;
104
+ /**
105
+ * Enable event emission
106
+ * @default true
107
+ */
108
+ enableEvents?: boolean;
109
+ /**
110
+ * Directory for storing execution state and logs
111
+ * @default '.orbyt/state'
112
+ */
113
+ stateDir?: string;
114
+ /**
115
+ * Directory for storing execution logs
116
+ * @default '.orbyt/logs'
117
+ */
118
+ logDir?: string;
119
+ /**
120
+ * Sandbox mode for step execution
121
+ * - 'none': No sandboxing
122
+ * - 'basic': Basic restrictions
123
+ * - 'strict': Strict isolation (future)
124
+ * @default 'basic'
125
+ */
126
+ sandboxMode?: 'none' | 'basic' | 'strict';
127
+ /**
128
+ * Working directory for workflow execution
129
+ * @default process.cwd()
130
+ */
131
+ workingDirectory?: string;
132
+ /**
133
+ * Enable experimental features
134
+ * @default false
135
+ */
136
+ experimental?: boolean;
137
+ /**
138
+ * Custom metadata to attach to all executions
139
+ */
140
+ metadata?: Record<string, any>;
141
+ }
142
+ /**
143
+ * Apply default values to engine configuration
144
+ *
145
+ * @param config - User-provided configuration
146
+ * @returns Configuration with defaults applied
147
+ */
148
+ export declare function applyConfigDefaults(config?: OrbytEngineConfig): Required<Omit<OrbytEngineConfig, 'queue' | 'retryPolicy' | 'timeoutManager' | 'adapters' | 'hooks' | 'metadata'>> & Pick<OrbytEngineConfig, 'queue' | 'retryPolicy' | 'timeoutManager' | 'adapters' | 'hooks' | 'metadata'>;
149
+ /**
150
+ * Validate engine configuration
151
+ *
152
+ * @param config - Configuration to validate
153
+ * @throws Error if configuration is invalid
154
+ */
155
+ export declare function validateConfig(config: OrbytEngineConfig): void;
156
+ //# sourceMappingURL=EngineConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineConfig.d.ts","sourceRoot":"","sources":["../../src/core/EngineConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAGhC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IAIrB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAI1B;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAIjB;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAIhC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAIrB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IAIxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAIvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,iBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,CAsB/R;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAoB9D"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Engine Configuration
3
+ *
4
+ * User-facing configuration for OrbytEngine.
5
+ * Provides sensible defaults and clear options for engine behavior.
6
+ *
7
+ * @module core
8
+ */
9
+ /**
10
+ * Apply default values to engine configuration
11
+ *
12
+ * @param config - User-provided configuration
13
+ * @returns Configuration with defaults applied
14
+ */
15
+ export function applyConfigDefaults(config = {}) {
16
+ return {
17
+ maxConcurrentWorkflows: config.maxConcurrentWorkflows ?? 10,
18
+ defaultTimeout: config.defaultTimeout ?? 300000, // 5 minutes
19
+ mode: config.mode ?? 'local',
20
+ enableScheduler: config.enableScheduler ?? true,
21
+ queue: config.queue,
22
+ retryPolicy: config.retryPolicy,
23
+ timeoutManager: config.timeoutManager,
24
+ adapters: config.adapters,
25
+ hooks: config.hooks,
26
+ logLevel: config.verbose ? 'debug' : (config.logLevel ?? 'info'),
27
+ verbose: config.verbose ?? false,
28
+ enableMetrics: config.enableMetrics ?? true,
29
+ enableEvents: config.enableEvents ?? true,
30
+ stateDir: config.stateDir ?? '.orbyt/state',
31
+ logDir: config.logDir ?? '.orbyt/logs',
32
+ sandboxMode: config.sandboxMode ?? 'basic',
33
+ workingDirectory: config.workingDirectory ?? process.cwd(),
34
+ experimental: config.experimental ?? false,
35
+ metadata: config.metadata,
36
+ };
37
+ }
38
+ /**
39
+ * Validate engine configuration
40
+ *
41
+ * @param config - Configuration to validate
42
+ * @throws Error if configuration is invalid
43
+ */
44
+ export function validateConfig(config) {
45
+ if (config.maxConcurrentWorkflows !== undefined && config.maxConcurrentWorkflows < 1) {
46
+ throw new Error('maxConcurrentWorkflows must be at least 1');
47
+ }
48
+ if (config.defaultTimeout !== undefined && config.defaultTimeout < 1) {
49
+ throw new Error('defaultTimeout must be positive');
50
+ }
51
+ if (config.mode && !['local', 'distributed', 'dry-run'].includes(config.mode)) {
52
+ throw new Error(`Invalid mode: ${config.mode}. Must be 'local', 'distributed', or 'dry-run'`);
53
+ }
54
+ if (config.logLevel && !['debug', 'info', 'warn', 'error', 'silent'].includes(config.logLevel)) {
55
+ throw new Error(`Invalid logLevel: ${config.logLevel}`);
56
+ }
57
+ if (config.sandboxMode && !['none', 'basic', 'strict'].includes(config.sandboxMode)) {
58
+ throw new Error(`Invalid sandboxMode: ${config.sandboxMode}`);
59
+ }
60
+ }
61
+ //# sourceMappingURL=EngineConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineConfig.js","sourceRoot":"","sources":["../../src/core/EngineConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiLH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA4B,EAAE;IAChE,OAAO;QACL,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE;QAC3D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE,YAAY;QAC7D,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,OAAO;QAC5B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;QAChE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;QAChC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO;QAC1C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE;QAC1D,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;QAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS,IAAI,MAAM,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,gDAAgD,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}