@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,10 @@
1
+ /**
2
+ * Security Module
3
+ *
4
+ * Permission policies, sandboxing, and security enforcement.
5
+ *
6
+ * @status stub - will be fully implemented when core engine is stable
7
+ */
8
+ export * from './PermissionPolicy.js';
9
+ export * from './SandboxManager.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Security Module
3
+ *
4
+ * Permission policies, sandboxing, and security enforcement.
5
+ *
6
+ * @status stub - will be fully implemented when core engine is stable
7
+ */
8
+ export * from './PermissionPolicy.js';
9
+ export * from './SandboxManager.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Execution State
3
+ *
4
+ * Tracks workflow and step execution state for observability,
5
+ * recovery, and resume capabilities.
6
+ *
7
+ * @module state
8
+ */
9
+ /**
10
+ * Step execution status
11
+ *
12
+ * Lifecycle:
13
+ * PENDING → RUNNING → SUCCESS → COMPLETED
14
+ * OR
15
+ * PENDING → RUNNING → FAILED → RETRYING → RUNNING → SUCCESS → COMPLETED
16
+ * OR
17
+ * PENDING → SKIPPED
18
+ */
19
+ export declare enum StepStatus {
20
+ /** Step is queued, not yet started */
21
+ PENDING = "PENDING",
22
+ /** Step is currently executing */
23
+ RUNNING = "RUNNING",
24
+ /** Step completed successfully */
25
+ SUCCESS = "SUCCESS",
26
+ /** Step failed */
27
+ FAILED = "FAILED",
28
+ /** Step is retrying after failure */
29
+ RETRYING = "RETRYING",
30
+ /** Step was skipped (conditional execution) */
31
+ SKIPPED = "SKIPPED",
32
+ /** Step timed out */
33
+ TIMEOUT = "TIMEOUT",
34
+ /** Step was cancelled */
35
+ CANCELLED = "CANCELLED"
36
+ }
37
+ /**
38
+ * Workflow execution status
39
+ */
40
+ export declare enum WorkflowStatus {
41
+ /** Workflow is queued, not yet started */
42
+ QUEUED = "QUEUED",
43
+ /** Workflow is currently executing */
44
+ RUNNING = "RUNNING",
45
+ /** Workflow completed successfully (all steps success) */
46
+ COMPLETED = "COMPLETED",
47
+ /** Workflow failed (one or more steps failed) */
48
+ FAILED = "FAILED",
49
+ /** Workflow partially completed (some steps failed but continueOnError=true) */
50
+ PARTIAL = "PARTIAL",
51
+ /** Workflow timed out */
52
+ TIMEOUT = "TIMEOUT",
53
+ /** Workflow was cancelled */
54
+ CANCELLED = "CANCELLED",
55
+ /** Workflow is paused (future feature) */
56
+ PAUSED = "PAUSED"
57
+ }
58
+ /**
59
+ * Step execution state
60
+ */
61
+ export interface StepExecutionState {
62
+ /** Unique step ID */
63
+ stepId: string;
64
+ /** Current status */
65
+ status: StepStatus;
66
+ /** Number of execution attempts */
67
+ attempts: number;
68
+ /** Start timestamp (ms since epoch) */
69
+ startTime?: number;
70
+ /** End timestamp (ms since epoch) */
71
+ endTime?: number;
72
+ /** Error information if failed */
73
+ error?: {
74
+ message: string;
75
+ code?: string;
76
+ stack?: string;
77
+ };
78
+ /** Step output data (if successful) */
79
+ output?: any;
80
+ /** Execution duration in milliseconds */
81
+ duration?: number;
82
+ /** Last updated timestamp */
83
+ updatedAt: number;
84
+ }
85
+ /**
86
+ * Workflow execution state
87
+ */
88
+ export interface WorkflowExecutionState {
89
+ /** Unique workflow execution ID */
90
+ executionId: string;
91
+ /** Workflow name/ID */
92
+ workflowId: string;
93
+ /** Current workflow status */
94
+ status: WorkflowStatus;
95
+ /** State of all steps (keyed by step ID) */
96
+ steps: Record<string, StepExecutionState>;
97
+ /** Workflow start timestamp (ms since epoch) */
98
+ startedAt?: number;
99
+ /** Workflow completion timestamp (ms since epoch) */
100
+ finishedAt?: number;
101
+ /** Total workflow duration in milliseconds */
102
+ duration?: number;
103
+ /** Workflow-level error (if failed) */
104
+ error?: {
105
+ message: string;
106
+ stepId?: string;
107
+ code?: string;
108
+ };
109
+ /** Execution metadata */
110
+ metadata: {
111
+ /** Total number of steps */
112
+ totalSteps: number;
113
+ /** Number of completed steps */
114
+ completedSteps: number;
115
+ /** Number of failed steps */
116
+ failedSteps: number;
117
+ /** Number of skipped steps */
118
+ skippedSteps: number;
119
+ /** Current phase being executed */
120
+ currentPhase?: number;
121
+ /** Total number of phases */
122
+ totalPhases?: number;
123
+ };
124
+ /** Last state update timestamp */
125
+ updatedAt: number;
126
+ /** Execution context snapshot */
127
+ context?: {
128
+ env?: Record<string, any>;
129
+ inputs?: Record<string, any>;
130
+ };
131
+ }
132
+ /**
133
+ * Execution State Manager
134
+ *
135
+ * Manages workflow and step state with thread-safe updates.
136
+ */
137
+ export declare class ExecutionStateManager {
138
+ private states;
139
+ /**
140
+ * Initialize a new workflow execution state
141
+ */
142
+ initializeWorkflow(executionId: string, workflowId: string, stepIds: string[], context?: {
143
+ env?: Record<string, any>;
144
+ inputs?: Record<string, any>;
145
+ }): WorkflowExecutionState;
146
+ /**
147
+ * Get workflow execution state
148
+ */
149
+ getState(executionId: string): WorkflowExecutionState | undefined;
150
+ /**
151
+ * Update workflow status
152
+ */
153
+ updateWorkflowStatus(executionId: string, status: WorkflowStatus, error?: {
154
+ message: string;
155
+ stepId?: string;
156
+ code?: string;
157
+ }): void;
158
+ /**
159
+ * Update step status
160
+ */
161
+ updateStepStatus(executionId: string, stepId: string, status: StepStatus, data?: {
162
+ error?: {
163
+ message: string;
164
+ code?: string;
165
+ stack?: string;
166
+ };
167
+ output?: any;
168
+ attempts?: number;
169
+ }): void;
170
+ /**
171
+ * Get step state
172
+ */
173
+ getStepState(executionId: string, stepId: string): StepExecutionState | undefined;
174
+ /**
175
+ * Check if step has completed (success or terminal failure)
176
+ */
177
+ isStepCompleted(executionId: string, stepId: string): boolean;
178
+ /**
179
+ * Check if step succeeded
180
+ */
181
+ isStepSuccessful(executionId: string, stepId: string): boolean;
182
+ /**
183
+ * Get all failed steps
184
+ */
185
+ getFailedSteps(executionId: string): StepExecutionState[];
186
+ /**
187
+ * Get all completed steps
188
+ */
189
+ getCompletedSteps(executionId: string): StepExecutionState[];
190
+ /**
191
+ * Clear execution state (cleanup)
192
+ */
193
+ clearState(executionId: string): boolean;
194
+ /**
195
+ * Get all execution IDs
196
+ */
197
+ getAllExecutionIds(): string[];
198
+ /**
199
+ * Check if status is terminal (workflow)
200
+ */
201
+ private isTerminalStatus;
202
+ /**
203
+ * Check if status is terminal (step)
204
+ */
205
+ private isTerminalStepStatus;
206
+ /**
207
+ * Update workflow metadata counts based on step states
208
+ */
209
+ private updateWorkflowMetadata;
210
+ }
211
+ //# sourceMappingURL=ExecutionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionState.d.ts","sourceRoot":"","sources":["../../src/state/ExecutionState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Execution State
3
+ *
4
+ * Tracks workflow and step execution state for observability,
5
+ * recovery, and resume capabilities.
6
+ *
7
+ * @module state
8
+ */
9
+ /**
10
+ * Step execution status
11
+ *
12
+ * Lifecycle:
13
+ * PENDING → RUNNING → SUCCESS → COMPLETED
14
+ * OR
15
+ * PENDING → RUNNING → FAILED → RETRYING → RUNNING → SUCCESS → COMPLETED
16
+ * OR
17
+ * PENDING → SKIPPED
18
+ */
19
+ export var StepStatus;
20
+ (function (StepStatus) {
21
+ /** Step is queued, not yet started */
22
+ StepStatus["PENDING"] = "PENDING";
23
+ /** Step is currently executing */
24
+ StepStatus["RUNNING"] = "RUNNING";
25
+ /** Step completed successfully */
26
+ StepStatus["SUCCESS"] = "SUCCESS";
27
+ /** Step failed */
28
+ StepStatus["FAILED"] = "FAILED";
29
+ /** Step is retrying after failure */
30
+ StepStatus["RETRYING"] = "RETRYING";
31
+ /** Step was skipped (conditional execution) */
32
+ StepStatus["SKIPPED"] = "SKIPPED";
33
+ /** Step timed out */
34
+ StepStatus["TIMEOUT"] = "TIMEOUT";
35
+ /** Step was cancelled */
36
+ StepStatus["CANCELLED"] = "CANCELLED";
37
+ })(StepStatus || (StepStatus = {}));
38
+ /**
39
+ * Workflow execution status
40
+ */
41
+ export var WorkflowStatus;
42
+ (function (WorkflowStatus) {
43
+ /** Workflow is queued, not yet started */
44
+ WorkflowStatus["QUEUED"] = "QUEUED";
45
+ /** Workflow is currently executing */
46
+ WorkflowStatus["RUNNING"] = "RUNNING";
47
+ /** Workflow completed successfully (all steps success) */
48
+ WorkflowStatus["COMPLETED"] = "COMPLETED";
49
+ /** Workflow failed (one or more steps failed) */
50
+ WorkflowStatus["FAILED"] = "FAILED";
51
+ /** Workflow partially completed (some steps failed but continueOnError=true) */
52
+ WorkflowStatus["PARTIAL"] = "PARTIAL";
53
+ /** Workflow timed out */
54
+ WorkflowStatus["TIMEOUT"] = "TIMEOUT";
55
+ /** Workflow was cancelled */
56
+ WorkflowStatus["CANCELLED"] = "CANCELLED";
57
+ /** Workflow is paused (future feature) */
58
+ WorkflowStatus["PAUSED"] = "PAUSED";
59
+ })(WorkflowStatus || (WorkflowStatus = {}));
60
+ /**
61
+ * Execution State Manager
62
+ *
63
+ * Manages workflow and step state with thread-safe updates.
64
+ */
65
+ export class ExecutionStateManager {
66
+ states = new Map();
67
+ /**
68
+ * Initialize a new workflow execution state
69
+ */
70
+ initializeWorkflow(executionId, workflowId, stepIds, context) {
71
+ const now = Date.now();
72
+ const steps = {};
73
+ for (const stepId of stepIds) {
74
+ steps[stepId] = {
75
+ stepId,
76
+ status: StepStatus.PENDING,
77
+ attempts: 0,
78
+ updatedAt: now,
79
+ };
80
+ }
81
+ const state = {
82
+ executionId,
83
+ workflowId,
84
+ status: WorkflowStatus.QUEUED,
85
+ steps,
86
+ metadata: {
87
+ totalSteps: stepIds.length,
88
+ completedSteps: 0,
89
+ failedSteps: 0,
90
+ skippedSteps: 0,
91
+ },
92
+ updatedAt: now,
93
+ context,
94
+ };
95
+ this.states.set(executionId, state);
96
+ return state;
97
+ }
98
+ /**
99
+ * Get workflow execution state
100
+ */
101
+ getState(executionId) {
102
+ return this.states.get(executionId);
103
+ }
104
+ /**
105
+ * Update workflow status
106
+ */
107
+ updateWorkflowStatus(executionId, status, error) {
108
+ const state = this.states.get(executionId);
109
+ if (!state) {
110
+ throw new Error(`Workflow execution ${executionId} not found`);
111
+ }
112
+ const now = Date.now();
113
+ state.status = status;
114
+ state.updatedAt = now;
115
+ if (status === WorkflowStatus.RUNNING && !state.startedAt) {
116
+ state.startedAt = now;
117
+ }
118
+ if (this.isTerminalStatus(status) && !state.finishedAt) {
119
+ state.finishedAt = now;
120
+ if (state.startedAt) {
121
+ state.duration = state.finishedAt - state.startedAt;
122
+ }
123
+ }
124
+ if (error) {
125
+ state.error = error;
126
+ }
127
+ }
128
+ /**
129
+ * Update step status
130
+ */
131
+ updateStepStatus(executionId, stepId, status, data) {
132
+ const state = this.states.get(executionId);
133
+ if (!state) {
134
+ throw new Error(`Workflow execution ${executionId} not found`);
135
+ }
136
+ const stepState = state.steps[stepId];
137
+ if (!stepState) {
138
+ throw new Error(`Step ${stepId} not found in execution ${executionId}`);
139
+ }
140
+ const now = Date.now();
141
+ stepState.status = status;
142
+ stepState.updatedAt = now;
143
+ // Track start time
144
+ if (status === StepStatus.RUNNING && !stepState.startTime) {
145
+ stepState.startTime = now;
146
+ }
147
+ // Track end time and duration
148
+ if (this.isTerminalStepStatus(status) && !stepState.endTime) {
149
+ stepState.endTime = now;
150
+ if (stepState.startTime) {
151
+ stepState.duration = stepState.endTime - stepState.startTime;
152
+ }
153
+ }
154
+ // Update attempts
155
+ if (data?.attempts !== undefined) {
156
+ stepState.attempts = data.attempts;
157
+ }
158
+ // Store error
159
+ if (data?.error) {
160
+ stepState.error = data.error;
161
+ }
162
+ // Store output
163
+ if (data?.output !== undefined) {
164
+ stepState.output = data.output;
165
+ }
166
+ // Update workflow metadata counts
167
+ this.updateWorkflowMetadata(state);
168
+ }
169
+ /**
170
+ * Get step state
171
+ */
172
+ getStepState(executionId, stepId) {
173
+ const state = this.states.get(executionId);
174
+ return state?.steps[stepId];
175
+ }
176
+ /**
177
+ * Check if step has completed (success or terminal failure)
178
+ */
179
+ isStepCompleted(executionId, stepId) {
180
+ const stepState = this.getStepState(executionId, stepId);
181
+ if (!stepState)
182
+ return false;
183
+ return this.isTerminalStepStatus(stepState.status);
184
+ }
185
+ /**
186
+ * Check if step succeeded
187
+ */
188
+ isStepSuccessful(executionId, stepId) {
189
+ const stepState = this.getStepState(executionId, stepId);
190
+ return stepState?.status === StepStatus.SUCCESS;
191
+ }
192
+ /**
193
+ * Get all failed steps
194
+ */
195
+ getFailedSteps(executionId) {
196
+ const state = this.states.get(executionId);
197
+ if (!state)
198
+ return [];
199
+ return Object.values(state.steps).filter(step => step.status === StepStatus.FAILED || step.status === StepStatus.TIMEOUT);
200
+ }
201
+ /**
202
+ * Get all completed steps
203
+ */
204
+ getCompletedSteps(executionId) {
205
+ const state = this.states.get(executionId);
206
+ if (!state)
207
+ return [];
208
+ return Object.values(state.steps).filter(step => this.isTerminalStepStatus(step.status));
209
+ }
210
+ /**
211
+ * Clear execution state (cleanup)
212
+ */
213
+ clearState(executionId) {
214
+ return this.states.delete(executionId);
215
+ }
216
+ /**
217
+ * Get all execution IDs
218
+ */
219
+ getAllExecutionIds() {
220
+ return Array.from(this.states.keys());
221
+ }
222
+ /**
223
+ * Check if status is terminal (workflow)
224
+ */
225
+ isTerminalStatus(status) {
226
+ return [
227
+ WorkflowStatus.COMPLETED,
228
+ WorkflowStatus.FAILED,
229
+ WorkflowStatus.PARTIAL,
230
+ WorkflowStatus.TIMEOUT,
231
+ WorkflowStatus.CANCELLED,
232
+ ].includes(status);
233
+ }
234
+ /**
235
+ * Check if status is terminal (step)
236
+ */
237
+ isTerminalStepStatus(status) {
238
+ return [
239
+ StepStatus.SUCCESS,
240
+ StepStatus.FAILED,
241
+ StepStatus.TIMEOUT,
242
+ StepStatus.CANCELLED,
243
+ StepStatus.SKIPPED,
244
+ ].includes(status);
245
+ }
246
+ /**
247
+ * Update workflow metadata counts based on step states
248
+ */
249
+ updateWorkflowMetadata(state) {
250
+ const steps = Object.values(state.steps);
251
+ state.metadata.completedSteps = steps.filter(s => s.status === StepStatus.SUCCESS).length;
252
+ state.metadata.failedSteps = steps.filter(s => s.status === StepStatus.FAILED || s.status === StepStatus.TIMEOUT).length;
253
+ state.metadata.skippedSteps = steps.filter(s => s.status === StepStatus.SKIPPED).length;
254
+ }
255
+ }
256
+ //# sourceMappingURL=ExecutionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionState.js","sourceRoot":"","sources":["../../src/state/ExecutionState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * State Machine
3
+ *
4
+ * Enforces valid state transitions for workflow and step execution.
5
+ * This ensures state integrity and prevents invalid state combinations.
6
+ *
7
+ * Purpose:
8
+ * - Define valid state transition rules
9
+ * - Validate transitions before they occur
10
+ * - Provide type-safe transition methods
11
+ * - Track transition history for debugging
12
+ *
13
+ * This is about RULES, not execution. It answers:
14
+ * - Can this state transition happen?
15
+ * - What are the valid next states?
16
+ * - Is this state terminal (no further transitions)?
17
+ *
18
+ * @module state
19
+ */
20
+ import { StepStatus, WorkflowStatus } from './ExecutionState.js';
21
+ /**
22
+ * State transition record for audit trail
23
+ */
24
+ export interface StateTransition<T> {
25
+ /** State before transition */
26
+ readonly from: T;
27
+ /** State after transition */
28
+ readonly to: T;
29
+ /** Timestamp of transition (ms since epoch) */
30
+ readonly timestamp: number;
31
+ /** Optional reason for transition */
32
+ readonly reason?: string;
33
+ }
34
+ /**
35
+ * State machine configuration
36
+ */
37
+ export interface StateMachineConfig<T> {
38
+ /** Initial state */
39
+ readonly initialState: T;
40
+ /** Valid transitions map: from → allowed to states */
41
+ readonly transitions: ReadonlyMap<T, readonly T[]>;
42
+ /** Terminal states (no further transitions allowed) */
43
+ readonly terminalStates: ReadonlySet<T>;
44
+ }
45
+ /**
46
+ * Generic state machine for enforcing valid transitions
47
+ */
48
+ export declare class StateMachine<T> {
49
+ private currentState;
50
+ private readonly config;
51
+ private readonly history;
52
+ constructor(config: StateMachineConfig<T>);
53
+ /**
54
+ * Get current state
55
+ */
56
+ getState(): T;
57
+ /**
58
+ * Check if transition is valid
59
+ */
60
+ canTransition(to: T): boolean;
61
+ /**
62
+ * Perform state transition
63
+ *
64
+ * @param to - Target state
65
+ * @param reason - Optional reason for transition
66
+ * @throws Error if transition is invalid
67
+ */
68
+ transition(to: T, reason?: string): void;
69
+ /**
70
+ * Check if current state is terminal
71
+ */
72
+ isTerminal(): boolean;
73
+ /**
74
+ * Get allowed transitions from current state
75
+ */
76
+ getAllowedTransitions(): readonly T[];
77
+ /**
78
+ * Get transition history
79
+ */
80
+ getHistory(): readonly StateTransition<T>[];
81
+ /**
82
+ * Reset to initial state (for testing/recovery)
83
+ */
84
+ reset(): void;
85
+ }
86
+ /**
87
+ * Create step state machine
88
+ */
89
+ export declare function createStepStateMachine(): StateMachine<StepStatus>;
90
+ /**
91
+ * Create workflow state machine
92
+ */
93
+ export declare function createWorkflowStateMachine(): StateMachine<WorkflowStatus>;
94
+ /**
95
+ * Validate step state transition
96
+ * Throws if invalid
97
+ */
98
+ export declare function validateStepTransition(from: StepStatus, to: StepStatus): void;
99
+ /**
100
+ * Validate workflow state transition
101
+ * Throws if invalid
102
+ */
103
+ export declare function validateWorkflowTransition(from: WorkflowStatus, to: WorkflowStatus): void;
104
+ /**
105
+ * Check if step status is terminal
106
+ */
107
+ export declare function isStepTerminal(status: StepStatus): boolean;
108
+ /**
109
+ * Check if workflow status is terminal
110
+ */
111
+ export declare function isWorkflowTerminal(status: WorkflowStatus): boolean;
112
+ /**
113
+ * Get allowed transitions from a step state
114
+ */
115
+ export declare function getStepTransitions(from: StepStatus): readonly StepStatus[];
116
+ /**
117
+ * Get allowed transitions from a workflow state
118
+ */
119
+ export declare function getWorkflowTransitions(from: WorkflowStatus): readonly WorkflowStatus[];
120
+ //# sourceMappingURL=StateMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/state/StateMachine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,oBAAoB;IACpB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACnD,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAExC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAKzC;;OAEG;IACH,QAAQ,IAAI,CAAC;IAIb;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAc7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBxC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,qBAAqB,IAAI,SAAS,CAAC,EAAE;IAIrC;;OAEG;IACH,UAAU,IAAI,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE;IAI3C;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAuED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAAC,UAAU,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,YAAY,CAAC,cAAc,CAAC,CAMzE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,UAAU,GACb,IAAI,CAQN;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,cAAc,GACjB,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE,CAE1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,CAEtF"}