@aws/durable-execution-sdk-js 0.0.1 → 1.0.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 (282) hide show
  1. package/README.md +412 -0
  2. package/dist/index.mjs +4771 -0
  3. package/dist/index.mjs.map +1 -0
  4. package/dist-cjs/index.js +4789 -0
  5. package/dist-cjs/index.js.map +1 -0
  6. package/dist-types/context/durable-context/durable-context.d.ts +76 -0
  7. package/dist-types/context/durable-context/durable-context.d.ts.map +1 -0
  8. package/dist-types/context/durable-context/durable-context.integration.test.d.ts +2 -0
  9. package/dist-types/context/durable-context/durable-context.integration.test.d.ts.map +1 -0
  10. package/dist-types/context/durable-context/durable-context.unit.test.d.ts +2 -0
  11. package/dist-types/context/durable-context/durable-context.unit.test.d.ts.map +1 -0
  12. package/dist-types/context/durable-context/logger-mode-aware.test.d.ts +2 -0
  13. package/dist-types/context/durable-context/logger-mode-aware.test.d.ts.map +1 -0
  14. package/dist-types/context/durable-context/logger-property.test.d.ts +2 -0
  15. package/dist-types/context/durable-context/logger-property.test.d.ts.map +1 -0
  16. package/dist-types/context/durable-context/mode-management/mode-management.d.ts +13 -0
  17. package/dist-types/context/durable-context/mode-management/mode-management.d.ts.map +1 -0
  18. package/dist-types/context/durable-context/mode-management/mode-management.test.d.ts +2 -0
  19. package/dist-types/context/durable-context/mode-management/mode-management.test.d.ts.map +1 -0
  20. package/dist-types/context/execution-context/execution-context.d.ts +9 -0
  21. package/dist-types/context/execution-context/execution-context.d.ts.map +1 -0
  22. package/dist-types/context/execution-context/execution-context.test.d.ts +2 -0
  23. package/dist-types/context/execution-context/execution-context.test.d.ts.map +1 -0
  24. package/dist-types/durable-execution-api-client/durable-execution-api-client-caching.test.d.ts +2 -0
  25. package/dist-types/durable-execution-api-client/durable-execution-api-client-caching.test.d.ts.map +1 -0
  26. package/dist-types/durable-execution-api-client/durable-execution-api-client.d.ts +29 -0
  27. package/dist-types/durable-execution-api-client/durable-execution-api-client.d.ts.map +1 -0
  28. package/dist-types/durable-execution-api-client/durable-execution-api-client.test.d.ts +2 -0
  29. package/dist-types/durable-execution-api-client/durable-execution-api-client.test.d.ts.map +1 -0
  30. package/dist-types/errors/callback-error/callback-error.test.d.ts +2 -0
  31. package/dist-types/errors/callback-error/callback-error.test.d.ts.map +1 -0
  32. package/dist-types/errors/checkpoint-errors/checkpoint-errors.d.ts +21 -0
  33. package/dist-types/errors/checkpoint-errors/checkpoint-errors.d.ts.map +1 -0
  34. package/dist-types/errors/checkpoint-errors/checkpoint-errors.test.d.ts +2 -0
  35. package/dist-types/errors/checkpoint-errors/checkpoint-errors.test.d.ts.map +1 -0
  36. package/dist-types/errors/durable-error/durable-error-coverage.test.d.ts +2 -0
  37. package/dist-types/errors/durable-error/durable-error-coverage.test.d.ts.map +1 -0
  38. package/dist-types/errors/durable-error/durable-error.d.ts +55 -0
  39. package/dist-types/errors/durable-error/durable-error.d.ts.map +1 -0
  40. package/dist-types/errors/durable-error/durable-error.test.d.ts +2 -0
  41. package/dist-types/errors/durable-error/durable-error.test.d.ts.map +1 -0
  42. package/dist-types/errors/durable-error/error-determinism.integration.test.d.ts +2 -0
  43. package/dist-types/errors/durable-error/error-determinism.integration.test.d.ts.map +1 -0
  44. package/dist-types/errors/non-deterministic-error/non-deterministic-error.d.ts +10 -0
  45. package/dist-types/errors/non-deterministic-error/non-deterministic-error.d.ts.map +1 -0
  46. package/dist-types/errors/serdes-errors/serdes-errors.d.ts +27 -0
  47. package/dist-types/errors/serdes-errors/serdes-errors.d.ts.map +1 -0
  48. package/dist-types/errors/serdes-errors/serdes-errors.test.d.ts +2 -0
  49. package/dist-types/errors/serdes-errors/serdes-errors.test.d.ts.map +1 -0
  50. package/dist-types/errors/step-errors/step-errors.d.ts +8 -0
  51. package/dist-types/errors/step-errors/step-errors.d.ts.map +1 -0
  52. package/dist-types/errors/unrecoverable-error/unrecoverable-error.d.ts +41 -0
  53. package/dist-types/errors/unrecoverable-error/unrecoverable-error.d.ts.map +1 -0
  54. package/dist-types/errors/unrecoverable-error/unrecoverable-error.test.d.ts +2 -0
  55. package/dist-types/errors/unrecoverable-error/unrecoverable-error.test.d.ts.map +1 -0
  56. package/dist-types/handlers/callback-handler/callback-promise.d.ts +5 -0
  57. package/dist-types/handlers/callback-handler/callback-promise.d.ts.map +1 -0
  58. package/dist-types/handlers/callback-handler/callback-promise.test.d.ts +2 -0
  59. package/dist-types/handlers/callback-handler/callback-promise.test.d.ts.map +1 -0
  60. package/dist-types/handlers/callback-handler/callback.d.ts +7 -0
  61. package/dist-types/handlers/callback-handler/callback.d.ts.map +1 -0
  62. package/dist-types/handlers/callback-handler/callback.test.d.ts +2 -0
  63. package/dist-types/handlers/callback-handler/callback.test.d.ts.map +1 -0
  64. package/dist-types/handlers/concurrent-execution-handler/batch-result.d.ts +35 -0
  65. package/dist-types/handlers/concurrent-execution-handler/batch-result.d.ts.map +1 -0
  66. package/dist-types/handlers/concurrent-execution-handler/batch-result.test.d.ts +2 -0
  67. package/dist-types/handlers/concurrent-execution-handler/batch-result.test.d.ts.map +1 -0
  68. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler-two-phase.test.d.ts +2 -0
  69. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler-two-phase.test.d.ts.map +1 -0
  70. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.d.ts +12 -0
  71. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.d.ts.map +1 -0
  72. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.integration.test.d.ts +2 -0
  73. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.integration.test.d.ts.map +1 -0
  74. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.replay.test.d.ts +2 -0
  75. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.replay.test.d.ts.map +1 -0
  76. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.test.d.ts +2 -0
  77. package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.test.d.ts.map +1 -0
  78. package/dist-types/handlers/invoke-handler/invoke-handler-two-phase.test.d.ts +2 -0
  79. package/dist-types/handlers/invoke-handler/invoke-handler-two-phase.test.d.ts.map +1 -0
  80. package/dist-types/handlers/invoke-handler/invoke-handler.d.ts +8 -0
  81. package/dist-types/handlers/invoke-handler/invoke-handler.d.ts.map +1 -0
  82. package/dist-types/handlers/invoke-handler/invoke-handler.test.d.ts +2 -0
  83. package/dist-types/handlers/invoke-handler/invoke-handler.test.d.ts.map +1 -0
  84. package/dist-types/handlers/map-handler/map-handler-two-phase.test.d.ts +2 -0
  85. package/dist-types/handlers/map-handler/map-handler-two-phase.test.d.ts.map +1 -0
  86. package/dist-types/handlers/map-handler/map-handler.d.ts +3 -0
  87. package/dist-types/handlers/map-handler/map-handler.d.ts.map +1 -0
  88. package/dist-types/handlers/map-handler/map-handler.test.d.ts +2 -0
  89. package/dist-types/handlers/map-handler/map-handler.test.d.ts.map +1 -0
  90. package/dist-types/handlers/parallel-handler/parallel-handler-two-phase.test.d.ts +2 -0
  91. package/dist-types/handlers/parallel-handler/parallel-handler-two-phase.test.d.ts.map +1 -0
  92. package/dist-types/handlers/parallel-handler/parallel-handler.d.ts +3 -0
  93. package/dist-types/handlers/parallel-handler/parallel-handler.d.ts.map +1 -0
  94. package/dist-types/handlers/parallel-handler/parallel-handler.test.d.ts +2 -0
  95. package/dist-types/handlers/parallel-handler/parallel-handler.test.d.ts.map +1 -0
  96. package/dist-types/handlers/promise-handler/promise-handler.d.ts +8 -0
  97. package/dist-types/handlers/promise-handler/promise-handler.d.ts.map +1 -0
  98. package/dist-types/handlers/promise-handler/promise-handler.test.d.ts +2 -0
  99. package/dist-types/handlers/promise-handler/promise-handler.test.d.ts.map +1 -0
  100. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler-two-phase.test.d.ts +2 -0
  101. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler-two-phase.test.d.ts.map +1 -0
  102. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.d.ts +10 -0
  103. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.d.ts.map +1 -0
  104. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.test.d.ts +2 -0
  105. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.test.d.ts.map +1 -0
  106. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-integration.test.d.ts +2 -0
  107. package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-integration.test.d.ts.map +1 -0
  108. package/dist-types/handlers/step-handler/step-handler-two-phase.test.d.ts +2 -0
  109. package/dist-types/handlers/step-handler/step-handler-two-phase.test.d.ts.map +1 -0
  110. package/dist-types/handlers/step-handler/step-handler.d.ts +14 -0
  111. package/dist-types/handlers/step-handler/step-handler.d.ts.map +1 -0
  112. package/dist-types/handlers/step-handler/step-handler.test.d.ts +2 -0
  113. package/dist-types/handlers/step-handler/step-handler.test.d.ts.map +1 -0
  114. package/dist-types/handlers/step-handler/step-handler.timing.test.d.ts +2 -0
  115. package/dist-types/handlers/step-handler/step-handler.timing.test.d.ts.map +1 -0
  116. package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.d.ts +3 -0
  117. package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.d.ts.map +1 -0
  118. package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.test.d.ts +2 -0
  119. package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.test.d.ts.map +1 -0
  120. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler-two-phase.test.d.ts +2 -0
  121. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler-two-phase.test.d.ts.map +1 -0
  122. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.d.ts +10 -0
  123. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.d.ts.map +1 -0
  124. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.test.d.ts +2 -0
  125. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.test.d.ts.map +1 -0
  126. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.timing.test.d.ts +2 -0
  127. package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.timing.test.d.ts.map +1 -0
  128. package/dist-types/handlers/wait-handler/wait-handler-two-phase.test.d.ts +2 -0
  129. package/dist-types/handlers/wait-handler/wait-handler-two-phase.test.d.ts.map +1 -0
  130. package/dist-types/handlers/wait-handler/wait-handler.d.ts +9 -0
  131. package/dist-types/handlers/wait-handler/wait-handler.d.ts.map +1 -0
  132. package/dist-types/handlers/wait-handler/wait-handler.test.d.ts +2 -0
  133. package/dist-types/handlers/wait-handler/wait-handler.test.d.ts.map +1 -0
  134. package/dist-types/index.d.ts +12 -0
  135. package/dist-types/index.d.ts.map +1 -0
  136. package/dist-types/run-durable.d.ts +2 -0
  137. package/dist-types/run-durable.d.ts.map +1 -0
  138. package/dist-types/termination-manager/termination-manager-checkpoint.test.d.ts +2 -0
  139. package/dist-types/termination-manager/termination-manager-checkpoint.test.d.ts.map +1 -0
  140. package/dist-types/termination-manager/termination-manager.d.ts +15 -0
  141. package/dist-types/termination-manager/termination-manager.d.ts.map +1 -0
  142. package/dist-types/termination-manager/termination-manager.test.d.ts +2 -0
  143. package/dist-types/termination-manager/termination-manager.test.d.ts.map +1 -0
  144. package/dist-types/termination-manager/types.d.ts +26 -0
  145. package/dist-types/termination-manager/types.d.ts.map +1 -0
  146. package/dist-types/testing/create-test-checkpoint-manager.d.ts +5 -0
  147. package/dist-types/testing/create-test-checkpoint-manager.d.ts.map +1 -0
  148. package/dist-types/testing/create-test-durable-context.d.ts +32 -0
  149. package/dist-types/testing/create-test-durable-context.d.ts.map +1 -0
  150. package/dist-types/testing/mock-batch-result.d.ts +26 -0
  151. package/dist-types/testing/mock-batch-result.d.ts.map +1 -0
  152. package/dist-types/testing/mock-checkpoint-manager.d.ts +21 -0
  153. package/dist-types/testing/mock-checkpoint-manager.d.ts.map +1 -0
  154. package/dist-types/testing/mock-checkpoint.d.ts +12 -0
  155. package/dist-types/testing/mock-checkpoint.d.ts.map +1 -0
  156. package/dist-types/testing/mock-context.d.ts +10 -0
  157. package/dist-types/testing/mock-context.d.ts.map +1 -0
  158. package/dist-types/testing/test-constants.d.ts +59 -0
  159. package/dist-types/testing/test-constants.d.ts.map +1 -0
  160. package/dist-types/types/batch.d.ts +177 -0
  161. package/dist-types/types/batch.d.ts.map +1 -0
  162. package/dist-types/types/callback.d.ts +48 -0
  163. package/dist-types/types/callback.d.ts.map +1 -0
  164. package/dist-types/types/child-context.d.ts +24 -0
  165. package/dist-types/types/child-context.d.ts.map +1 -0
  166. package/dist-types/types/core.d.ts +315 -0
  167. package/dist-types/types/core.d.ts.map +1 -0
  168. package/dist-types/types/durable-context.d.ts +667 -0
  169. package/dist-types/types/durable-context.d.ts.map +1 -0
  170. package/dist-types/types/durable-execution.d.ts +192 -0
  171. package/dist-types/types/durable-execution.d.ts.map +1 -0
  172. package/dist-types/types/durable-logger.d.ts +69 -0
  173. package/dist-types/types/durable-logger.d.ts.map +1 -0
  174. package/dist-types/types/durable-promise.d.ts +80 -0
  175. package/dist-types/types/durable-promise.d.ts.map +1 -0
  176. package/dist-types/types/index.d.ts +13 -0
  177. package/dist-types/types/index.d.ts.map +1 -0
  178. package/dist-types/types/invoke.d.ts +12 -0
  179. package/dist-types/types/invoke.d.ts.map +1 -0
  180. package/dist-types/types/logger.d.ts +63 -0
  181. package/dist-types/types/logger.d.ts.map +1 -0
  182. package/dist-types/types/step.d.ts +76 -0
  183. package/dist-types/types/step.d.ts.map +1 -0
  184. package/dist-types/types/wait-condition.d.ts +46 -0
  185. package/dist-types/types/wait-condition.d.ts.map +1 -0
  186. package/dist-types/utils/checkpoint/checkpoint-ancestor-checking.test.d.ts +2 -0
  187. package/dist-types/utils/checkpoint/checkpoint-ancestor-checking.test.d.ts.map +1 -0
  188. package/dist-types/utils/checkpoint/checkpoint-error-classification.test.d.ts +2 -0
  189. package/dist-types/utils/checkpoint/checkpoint-error-classification.test.d.ts.map +1 -0
  190. package/dist-types/utils/checkpoint/checkpoint-helper.d.ts +10 -0
  191. package/dist-types/utils/checkpoint/checkpoint-helper.d.ts.map +1 -0
  192. package/dist-types/utils/checkpoint/checkpoint-integration.test.d.ts +2 -0
  193. package/dist-types/utils/checkpoint/checkpoint-integration.test.d.ts.map +1 -0
  194. package/dist-types/utils/checkpoint/checkpoint-manager.d.ts +53 -0
  195. package/dist-types/utils/checkpoint/checkpoint-manager.d.ts.map +1 -0
  196. package/dist-types/utils/checkpoint/checkpoint-queue-completion.test.d.ts +2 -0
  197. package/dist-types/utils/checkpoint/checkpoint-queue-completion.test.d.ts.map +1 -0
  198. package/dist-types/utils/checkpoint/checkpoint-stepdata-update.test.d.ts +2 -0
  199. package/dist-types/utils/checkpoint/checkpoint-stepdata-update.test.d.ts.map +1 -0
  200. package/dist-types/utils/checkpoint/checkpoint-termination.test.d.ts +2 -0
  201. package/dist-types/utils/checkpoint/checkpoint-termination.test.d.ts.map +1 -0
  202. package/dist-types/utils/checkpoint/checkpoint.test.d.ts +2 -0
  203. package/dist-types/utils/checkpoint/checkpoint.test.d.ts.map +1 -0
  204. package/dist-types/utils/constants/constants.d.ts +10 -0
  205. package/dist-types/utils/constants/constants.d.ts.map +1 -0
  206. package/dist-types/utils/context-tracker/context-tracker.d.ts +13 -0
  207. package/dist-types/utils/context-tracker/context-tracker.d.ts.map +1 -0
  208. package/dist-types/utils/context-tracker/context-tracker.test.d.ts +2 -0
  209. package/dist-types/utils/context-tracker/context-tracker.test.d.ts.map +1 -0
  210. package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.d.ts +20 -0
  211. package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.d.ts.map +1 -0
  212. package/dist-types/utils/duration/duration.d.ts +8 -0
  213. package/dist-types/utils/duration/duration.d.ts.map +1 -0
  214. package/dist-types/utils/duration/duration.test.d.ts +2 -0
  215. package/dist-types/utils/duration/duration.test.d.ts.map +1 -0
  216. package/dist-types/utils/error-object/error-object-coverage.test.d.ts +2 -0
  217. package/dist-types/utils/error-object/error-object-coverage.test.d.ts.map +1 -0
  218. package/dist-types/utils/error-object/error-object.d.ts +3 -0
  219. package/dist-types/utils/error-object/error-object.d.ts.map +1 -0
  220. package/dist-types/utils/error-object/error-object.test.d.ts +2 -0
  221. package/dist-types/utils/error-object/error-object.test.d.ts.map +1 -0
  222. package/dist-types/utils/logger/default-logger.d.ts +51 -0
  223. package/dist-types/utils/logger/default-logger.d.ts.map +1 -0
  224. package/dist-types/utils/logger/default-logger.test.d.ts +2 -0
  225. package/dist-types/utils/logger/default-logger.test.d.ts.map +1 -0
  226. package/dist-types/utils/logger/logger.d.ts +2 -0
  227. package/dist-types/utils/logger/logger.d.ts.map +1 -0
  228. package/dist-types/utils/logger/logger.test.d.ts +2 -0
  229. package/dist-types/utils/logger/logger.test.d.ts.map +1 -0
  230. package/dist-types/utils/logger/structured-logger-integration.test.d.ts +2 -0
  231. package/dist-types/utils/logger/structured-logger-integration.test.d.ts.map +1 -0
  232. package/dist-types/utils/replay-validation/replay-validation.d.ts +8 -0
  233. package/dist-types/utils/replay-validation/replay-validation.d.ts.map +1 -0
  234. package/dist-types/utils/replay-validation/replay-validation.test.d.ts +2 -0
  235. package/dist-types/utils/replay-validation/replay-validation.test.d.ts.map +1 -0
  236. package/dist-types/utils/retry/retry-config/index.d.ts +167 -0
  237. package/dist-types/utils/retry/retry-config/index.d.ts.map +1 -0
  238. package/dist-types/utils/retry/retry-config/index.test.d.ts +2 -0
  239. package/dist-types/utils/retry/retry-config/index.test.d.ts.map +1 -0
  240. package/dist-types/utils/retry/retry-presets/retry-presets.d.ts +35 -0
  241. package/dist-types/utils/retry/retry-presets/retry-presets.d.ts.map +1 -0
  242. package/dist-types/utils/safe-stringify/safe-stringify.d.ts +2 -0
  243. package/dist-types/utils/safe-stringify/safe-stringify.d.ts.map +1 -0
  244. package/dist-types/utils/safe-stringify/safe-stringify.test.d.ts +2 -0
  245. package/dist-types/utils/safe-stringify/safe-stringify.test.d.ts.map +1 -0
  246. package/dist-types/utils/serdes/serdes.d.ts +152 -0
  247. package/dist-types/utils/serdes/serdes.d.ts.map +1 -0
  248. package/dist-types/utils/serdes/serdes.test.d.ts +2 -0
  249. package/dist-types/utils/serdes/serdes.test.d.ts.map +1 -0
  250. package/dist-types/utils/step-id-utils/step-id-utils.d.ts +16 -0
  251. package/dist-types/utils/step-id-utils/step-id-utils.d.ts.map +1 -0
  252. package/dist-types/utils/step-id-utils/step-id-utils.test.d.ts +2 -0
  253. package/dist-types/utils/step-id-utils/step-id-utils.test.d.ts.map +1 -0
  254. package/dist-types/utils/summary-generators/summary-generators.d.ts +10 -0
  255. package/dist-types/utils/summary-generators/summary-generators.d.ts.map +1 -0
  256. package/dist-types/utils/summary-generators/summary-generators.test.d.ts +2 -0
  257. package/dist-types/utils/summary-generators/summary-generators.test.d.ts.map +1 -0
  258. package/dist-types/utils/termination-helper/active-operations-tracker.d.ts +31 -0
  259. package/dist-types/utils/termination-helper/active-operations-tracker.d.ts.map +1 -0
  260. package/dist-types/utils/termination-helper/active-operations-tracker.test.d.ts +2 -0
  261. package/dist-types/utils/termination-helper/active-operations-tracker.test.d.ts.map +1 -0
  262. package/dist-types/utils/termination-helper/termination-deferral.test.d.ts +2 -0
  263. package/dist-types/utils/termination-helper/termination-deferral.test.d.ts.map +1 -0
  264. package/dist-types/utils/termination-helper/termination-helper.d.ts +20 -0
  265. package/dist-types/utils/termination-helper/termination-helper.d.ts.map +1 -0
  266. package/dist-types/utils/termination-helper/termination-helper.test.d.ts +2 -0
  267. package/dist-types/utils/termination-helper/termination-helper.test.d.ts.map +1 -0
  268. package/dist-types/utils/wait-before-continue/wait-before-continue.d.ts +35 -0
  269. package/dist-types/utils/wait-before-continue/wait-before-continue.d.ts.map +1 -0
  270. package/dist-types/utils/wait-before-continue/wait-before-continue.test.d.ts +2 -0
  271. package/dist-types/utils/wait-before-continue/wait-before-continue.test.d.ts.map +1 -0
  272. package/dist-types/utils/wait-strategy/wait-strategy-config.d.ts +19 -0
  273. package/dist-types/utils/wait-strategy/wait-strategy-config.d.ts.map +1 -0
  274. package/dist-types/utils/wait-strategy/wait-strategy-config.test.d.ts +2 -0
  275. package/dist-types/utils/wait-strategy/wait-strategy-config.test.d.ts.map +1 -0
  276. package/dist-types/with-durable-execution-queue-completion.test.d.ts +2 -0
  277. package/dist-types/with-durable-execution-queue-completion.test.d.ts.map +1 -0
  278. package/dist-types/with-durable-execution.d.ts +75 -0
  279. package/dist-types/with-durable-execution.d.ts.map +1 -0
  280. package/dist-types/with-durable-execution.test.d.ts +2 -0
  281. package/dist-types/with-durable-execution.test.d.ts.map +1 -0
  282. package/package.json +64 -3
@@ -0,0 +1,10 @@
1
+ import { ExecutionContext, WaitForConditionCheckFunc, WaitForConditionConfig, DurablePromise } from "../../types";
2
+ import { Checkpoint } from "../../utils/checkpoint/checkpoint-helper";
3
+ import { EventEmitter } from "events";
4
+ import { DurableLogger } from "../../types/durable-logger";
5
+ declare const CONTINUE_MAIN_LOOP: unique symbol;
6
+ export declare const createWaitForConditionHandler: <Logger extends DurableLogger>(context: ExecutionContext, checkpoint: Checkpoint, createStepId: () => string, logger: Logger, addRunningOperation: (stepId: string) => void, removeRunningOperation: (stepId: string) => void, hasRunningOperations: () => boolean, getOperationsEmitter: () => EventEmitter, parentId: string | undefined) => <T>(nameOrCheck: string | undefined | WaitForConditionCheckFunc<T, Logger>, checkOrConfig?: WaitForConditionCheckFunc<T, Logger> | WaitForConditionConfig<T>, maybeConfig?: WaitForConditionConfig<T>) => DurablePromise<T>;
7
+ export declare const handleCompletedWaitForCondition: <T>(context: ExecutionContext, stepId: string, stepName: string | undefined, serdes?: import("../..").Serdes<any>) => Promise<T>;
8
+ export declare const executeWaitForCondition: <T, Logger extends DurableLogger>(context: ExecutionContext, checkpoint: Checkpoint, stepId: string, name: string | undefined, check: WaitForConditionCheckFunc<T, Logger>, config: WaitForConditionConfig<T>, logger: Logger, addRunningOperation: (stepId: string) => void, removeRunningOperation: (stepId: string) => void, hasRunningOperations: () => boolean, getOperationsEmitter: () => EventEmitter, parentId: string | undefined, onAwaitedChange?: ((callback: () => void) => void) | undefined) => Promise<T | typeof CONTINUE_MAIN_LOOP>;
9
+ export {};
10
+ //# sourceMappingURL=wait-for-condition-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-condition-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-for-condition-handler/wait-for-condition-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EAItB,cAAc,EAEf,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAUtE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,QAAA,MAAM,kBAAkB,eAA+B,CAAC;AAwCxD,eAAO,MAAM,6BAA6B,GAAI,MAAM,SAAS,aAAa,EACxE,SAAS,gBAAgB,EACzB,YAAY,UAAU,EACtB,cAAc,MAAM,MAAM,EAC1B,QAAQ,MAAM,EACd,qBAAqB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAC7C,wBAAwB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAChD,sBAAsB,MAAM,OAAO,EACnC,sBAAsB,MAAM,YAAY,EACxC,UAAU,MAAM,GAAG,SAAS,MAEpB,CAAC,EACP,aAAa,MAAM,GAAG,SAAS,GAAG,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,EACtE,gBACI,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,GACpC,sBAAsB,CAAC,CAAC,CAAC,EAC7B,cAAc,sBAAsB,CAAC,CAAC,CAAC,KACtC,cAAc,CAAC,CAAC,CAsIpB,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,CAAC,EACrD,SAAS,gBAAgB,EACzB,QAAQ,MAAM,EACd,UAAU,MAAM,GAAG,SAAS,EAC5B,oCAAsB,KACrB,OAAO,CAAC,CAAC,CAiBX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,CAAC,EAAE,MAAM,SAAS,aAAa,EAC3E,SAAS,gBAAgB,EACzB,YAAY,UAAU,EACtB,QAAQ,MAAM,EACd,MAAM,MAAM,GAAG,SAAS,EACxB,OAAO,yBAAyB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC3C,QAAQ,sBAAsB,CAAC,CAAC,CAAC,EACjC,QAAQ,MAAM,EACd,qBAAqB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAC7C,wBAAwB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAChD,sBAAsB,MAAM,OAAO,EACnC,sBAAsB,MAAM,YAAY,EACxC,UAAU,MAAM,GAAG,SAAS,EAC5B,kBAAkB,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,KAC7D,OAAO,CAAC,CAAC,GAAG,OAAO,kBAAkB,CA4LvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wait-for-condition-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-condition-handler.test.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-for-condition-handler/wait-for-condition-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wait-for-condition-handler.timing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-condition-handler.timing.test.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-for-condition-handler/wait-for-condition-handler.timing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wait-handler-two-phase.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-handler-two-phase.test.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-handler/wait-handler-two-phase.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { ExecutionContext, Duration } from "../../types";
2
+ import { Checkpoint } from "../../utils/checkpoint/checkpoint-helper";
3
+ import { EventEmitter } from "events";
4
+ import { DurablePromise } from "../../types/durable-promise";
5
+ export declare const createWaitHandler: (context: ExecutionContext, checkpoint: Checkpoint, createStepId: () => string, hasRunningOperations: () => boolean, getOperationsEmitter: () => EventEmitter, parentId?: string, checkAndUpdateReplayMode?: () => void) => {
6
+ (name: string, duration: Duration): DurablePromise<void>;
7
+ (duration: Duration): DurablePromise<void>;
8
+ };
9
+ //# sourceMappingURL=wait-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-handler/wait-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ3E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,GAC5B,SAAS,gBAAgB,EACzB,YAAY,UAAU,EACtB,cAAc,MAAM,MAAM,EAC1B,sBAAsB,MAAM,OAAO,EACnC,sBAAsB,MAAM,YAAY,EACxC,WAAW,MAAM,EACjB,2BAA2B,MAAM,IAAI,KACpC;IACD,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;CAqH5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wait-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-handler.test.d.ts","sourceRoot":"","sources":["../../../src/handlers/wait-handler/wait-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export * from "./with-durable-execution";
2
+ export { DurableContext, StepConfig, StepFunc, StepSemantics, ChildConfig, DurableExecutionInvocationInput, DurableExecutionInvocationOutput, InvocationStatus, OperationSubType, MapFunc, MapConfig, ConcurrentExecutionItem, ConcurrentExecutor, ConcurrencyConfig, WaitForConditionCheckFunc, WaitForConditionConfig, WaitForConditionDecision, WaitForConditionWaitStrategyFunc, DurableLambdaHandler, DurableExecutionHandler, InvokeConfig, JitterStrategy, Duration, DurableLogger, DurableContextLogger, DurableLogData, DurableLoggingContext, DurableExecutionConfig, DurableExecutionClient, BatchItem, BatchItemStatus, BatchResult, CompletionConfig, RetryDecision, } from "./types";
3
+ export { DurablePromise } from "./types/durable-promise";
4
+ export { StepInterruptedError } from "./errors/step-errors/step-errors";
5
+ export { DurableOperationError, StepError, CallbackError, InvokeError, ChildContextError, WaitForConditionError, } from "./errors/durable-error/durable-error";
6
+ export { defaultSerdes, createClassSerdes, createClassSerdesWithDates, Serdes, } from "./utils/serdes/serdes";
7
+ export { DurableExecutionApiClient } from "./durable-execution-api-client/durable-execution-api-client";
8
+ export { createWaitStrategy, WaitStrategyConfig, } from "./utils/wait-strategy/wait-strategy-config";
9
+ export { createRetryStrategy, RetryStrategyConfig, } from "./utils/retry/retry-config";
10
+ export { retryPresets } from "./utils/retry/retry-presets/retry-presets";
11
+ export { DurableExecutionInvocationInputWithClient } from "./utils/durable-execution-invocation-input/durable-execution-invocation-input";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,cAAc,EACd,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,gCAAgC,EAChC,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,GACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,yCAAyC,EAAE,MAAM,+EAA+E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-durable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-durable.d.ts","sourceRoot":"","sources":["../src/run-durable.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=termination-manager-checkpoint.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"termination-manager-checkpoint.test.d.ts","sourceRoot":"","sources":["../../src/termination-manager/termination-manager-checkpoint.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from "events";
2
+ import { TerminationOptions, TerminationResponse } from "./types";
3
+ export declare class TerminationManager extends EventEmitter {
4
+ private isTerminated;
5
+ private terminationDetails?;
6
+ private resolveTermination?;
7
+ private terminationPromise;
8
+ private setCheckpointTerminating?;
9
+ constructor(setCheckpointTerminating?: () => void);
10
+ setCheckpointTerminatingCallback(callback: () => void): void;
11
+ terminate(options?: TerminationOptions): void;
12
+ getTerminationPromise(): Promise<TerminationResponse>;
13
+ private handleTermination;
14
+ }
15
+ //# sourceMappingURL=termination-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"termination-manager.d.ts","sourceRoot":"","sources":["../../src/termination-manager/termination-manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAEjB,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAwC;IACnE,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,wBAAwB,CAAC,CAAa;gBAElC,wBAAwB,CAAC,EAAE,MAAM,IAAI;IASjD,gCAAgC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5D,SAAS,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI;IAuBjD,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAIvC,iBAAiB;CAehC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=termination-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"termination-manager.test.d.ts","sourceRoot":"","sources":["../../src/termination-manager/termination-manager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ export declare enum TerminationReason {
2
+ OPERATION_TERMINATED = "OPERATION_TERMINATED",
3
+ RETRY_SCHEDULED = "RETRY_SCHEDULED",
4
+ RETRY_INTERRUPTED_STEP = "RETRY_INTERRUPTED_STEP",
5
+ WAIT_SCHEDULED = "WAIT_SCHEDULED",
6
+ CALLBACK_PENDING = "CALLBACK_PENDING",
7
+ CHECKPOINT_FAILED = "CHECKPOINT_FAILED",
8
+ SERDES_FAILED = "SERDES_FAILED",
9
+ CONTEXT_VALIDATION_ERROR = "CONTEXT_VALIDATION_ERROR",
10
+ CUSTOM = "CUSTOM"
11
+ }
12
+ export interface TerminationResponse {
13
+ reason: TerminationReason;
14
+ message: string;
15
+ error?: Error;
16
+ }
17
+ export interface TerminationOptions {
18
+ reason?: TerminationReason;
19
+ message?: string;
20
+ error?: Error;
21
+ cleanup?: () => Promise<void>;
22
+ }
23
+ export interface TerminationDetails extends TerminationResponse {
24
+ cleanup?: () => Promise<void>;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/termination-manager/types.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAE3B,oBAAoB,yBAAyB;IAG7C,eAAe,oBAAoB;IACnC,sBAAsB,2BAA2B;IAGjD,cAAc,mBAAmB;IAGjC,gBAAgB,qBAAqB;IAGrC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,wBAAwB,6BAA6B;IAGrD,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B"}
@@ -0,0 +1,5 @@
1
+ import { CheckpointManager } from "../utils/checkpoint/checkpoint-manager";
2
+ import { ExecutionContext, DurableLogger } from "../types";
3
+ import { EventEmitter } from "events";
4
+ export declare const createTestCheckpointManager: (context: ExecutionContext, checkpointToken: string, emitter: EventEmitter, logger: DurableLogger) => CheckpointManager;
5
+ //# sourceMappingURL=create-test-checkpoint-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-test-checkpoint-manager.d.ts","sourceRoot":"","sources":["../../src/testing/create-test-checkpoint-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,eAAO,MAAM,2BAA2B,GACtC,SAAS,gBAAgB,EACzB,iBAAiB,MAAM,EACvB,SAAS,YAAY,EACrB,QAAQ,aAAa,KACpB,iBAYF,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Context } from "aws-lambda";
2
+ import { Operation, CheckpointDurableExecutionResponse } from "@aws-sdk/client-lambda";
3
+ import { DurableContextImpl } from "../context/durable-context/durable-context";
4
+ import { DurableExecutionClient } from "../types/durable-execution";
5
+ import { ExecutionContext, DurableExecutionMode, DurableLogger } from "../types";
6
+ /**
7
+ * In-memory storage for testing - no API calls
8
+ */
9
+ declare class InMemoryStorage implements DurableExecutionClient {
10
+ private operations;
11
+ getExecutionState(): Promise<{
12
+ Operations: Operation[];
13
+ }>;
14
+ checkpoint(): Promise<CheckpointDurableExecutionResponse>;
15
+ addOperation(operation: Operation): void;
16
+ getOperations(): Operation[];
17
+ }
18
+ /**
19
+ * Creates a real DurableContext with mocked storage for integration testing
20
+ */
21
+ export declare function createTestDurableContext(options?: {
22
+ stepPrefix?: string;
23
+ durableExecutionMode?: DurableExecutionMode;
24
+ existingOperations?: Operation[];
25
+ lambdaContext?: Partial<Context>;
26
+ }): {
27
+ context: DurableContextImpl<DurableLogger>;
28
+ storage: InMemoryStorage;
29
+ executionContext: ExecutionContext;
30
+ };
31
+ export {};
32
+ //# sourceMappingURL=create-test-durable-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-test-durable-context.d.ts","sourceRoot":"","sources":["../../src/testing/create-test-durable-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACL,SAAS,EACT,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,kBAAkB,EAEnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,cAAM,eAAgB,YAAW,sBAAsB;IACrD,OAAO,CAAC,UAAU,CAAmB;IAE/B,iBAAiB,IAAI,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAIzD,UAAU,IAAI,OAAO,CAAC,kCAAkC,CAAC;IAI/D,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,aAAa,IAAI,SAAS,EAAE;CAG7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG;IACF,OAAO,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAwEA"}
@@ -0,0 +1,26 @@
1
+ import { BatchResult, BatchItem, BatchItemStatus } from "../types";
2
+ import { ChildContextError } from "../errors/durable-error/durable-error";
3
+ export declare class MockBatchResult<R> implements BatchResult<R> {
4
+ readonly all: Array<BatchItem<R>>;
5
+ readonly completionReason: "ALL_COMPLETED" | "MIN_SUCCESSFUL_REACHED" | "FAILURE_TOLERANCE_EXCEEDED";
6
+ constructor(all: Array<BatchItem<R>>, completionReason?: "ALL_COMPLETED" | "MIN_SUCCESSFUL_REACHED" | "FAILURE_TOLERANCE_EXCEEDED");
7
+ succeeded(): Array<BatchItem<R> & {
8
+ result: R;
9
+ }>;
10
+ failed(): Array<BatchItem<R> & {
11
+ error: ChildContextError;
12
+ }>;
13
+ started(): Array<BatchItem<R> & {
14
+ status: BatchItemStatus.STARTED;
15
+ }>;
16
+ get status(): BatchItemStatus.SUCCEEDED | BatchItemStatus.FAILED;
17
+ get hasFailure(): boolean;
18
+ throwIfError(): void;
19
+ getResults(): Array<R>;
20
+ getErrors(): Array<ChildContextError>;
21
+ get successCount(): number;
22
+ get failureCount(): number;
23
+ get startedCount(): number;
24
+ get totalCount(): number;
25
+ }
26
+ //# sourceMappingURL=mock-batch-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-batch-result.d.ts","sourceRoot":"","sources":["../../src/testing/mock-batch-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;aAErC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACxB,gBAAgB,EAC5B,eAAe,GACf,wBAAwB,GACxB,4BAA4B;gBAJhB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACxB,gBAAgB,GAC5B,eAAe,GACf,wBAAwB,GACxB,4BAA8C;IAGpD,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IAOhD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAO5D,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAA;KAAE,CAAC;IAOpE,IAAI,MAAM,IAAI,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAE/D;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,YAAY,IAAI,IAAI;IASpB,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC;IAItB,SAAS,IAAI,KAAK,CAAC,iBAAiB,CAAC;IAIrC,IAAI,YAAY,IAAI,MAAM,CAGzB;IAED,IAAI,YAAY,IAAI,MAAM,CAGzB;IAED,IAAI,YAAY,IAAI,MAAM,CAGzB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF"}
@@ -0,0 +1,21 @@
1
+ import { CheckpointManager } from "../utils/checkpoint/checkpoint-manager";
2
+ import { OperationUpdate } from "@aws-sdk/client-lambda";
3
+ export declare class MockCheckpointManager extends CheckpointManager {
4
+ checkpointCalls: Array<{
5
+ stepId: string;
6
+ data: Partial<OperationUpdate>;
7
+ }>;
8
+ forceCheckpointCalls: number;
9
+ setTerminatingCalls: number;
10
+ constructor();
11
+ checkpoint(stepId: string, data: Partial<OperationUpdate>): Promise<void>;
12
+ forceCheckpoint(): Promise<void>;
13
+ setTerminating(): void;
14
+ hasPendingAncestorCompletion(_stepId: string): boolean;
15
+ getQueueStatus(): {
16
+ queueLength: number;
17
+ isProcessing: boolean;
18
+ };
19
+ }
20
+ export declare const createMockCheckpointManager: () => MockCheckpointManager;
21
+ //# sourceMappingURL=mock-checkpoint-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-checkpoint-manager.d.ts","sourceRoot":"","sources":["../../src/testing/mock-checkpoint-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD,qBAAa,qBAAsB,SAAQ,iBAAiB;IACnD,eAAe,EAAE,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAChC,CAAC,CAAM;IACD,oBAAoB,EAAE,MAAM,CAAK;IACjC,mBAAmB,EAAE,MAAM,CAAK;;IAiBjC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAKV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC,cAAc,IAAI,IAAI;IAItB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAItD,cAAc,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;CAGjE;AAED,eAAO,MAAM,2BAA2B,QAAO,qBAClB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { OperationUpdate } from "@aws-sdk/client-lambda";
2
+ import { Checkpoint } from "../utils/checkpoint/checkpoint-helper";
3
+ export interface CheckpointFunction extends Checkpoint {
4
+ (stepId: string, data: Partial<OperationUpdate>): Promise<void>;
5
+ checkpoint(stepId: string, data: Partial<OperationUpdate>): Promise<void>;
6
+ force(): Promise<void>;
7
+ setTerminating(): void;
8
+ hasPendingAncestorCompletion(stepId: string): boolean;
9
+ waitForQueueCompletion(): Promise<void>;
10
+ }
11
+ export declare const createMockCheckpoint: (mockImplementation?: (stepId: string, data: Partial<OperationUpdate>) => Promise<void>) => jest.MockedFunction<CheckpointFunction>;
12
+ //# sourceMappingURL=mock-checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-checkpoint.d.ts","sourceRoot":"","sources":["../../src/testing/mock-checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,cAAc,IAAI,IAAI,CAAC;IACvB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,GAC/B,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,KACjB,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAcxC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ExecutionContext } from "../types";
2
+ /**
3
+ * Creates a mock ExecutionContext for testing purposes
4
+ * @param overrides - Optional overrides for specific properties
5
+ * @returns A mocked ExecutionContext
6
+ */
7
+ export declare const createMockExecutionContext: (overrides?: Partial<ExecutionContext & {
8
+ mutex?: unknown;
9
+ }>) => jest.Mocked<ExecutionContext>;
10
+ //# sourceMappingURL=mock-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-context.d.ts","sourceRoot":"","sources":["../../src/testing/mock-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAC;AAIlE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAW,OAAO,CAAC,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,KAC9D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAyB9B,CAAC"}
@@ -0,0 +1,59 @@
1
+ export declare const TEST_CONSTANTS: {
2
+ readonly STEP_ID: "test-step-id";
3
+ readonly STEP_ID_1: "step-1";
4
+ readonly CALLBACK_ID: "test-callback-id";
5
+ readonly STEP: "test-step";
6
+ readonly TASK_TOKEN: "test-task-token";
7
+ readonly CHECKPOINT_TOKEN: "test-checkpoint-token";
8
+ readonly DURABLE_EXECUTION_ARN: "test-durable-execution-arn";
9
+ readonly CALLBACK_NAME: "test-callback";
10
+ readonly STEP_NAME: "test-step";
11
+ readonly RESULT: "test-result";
12
+ readonly CHILD_CONTEXT_ID: "test-child-context-id";
13
+ readonly CHILD_CONTEXT_STEP_ID: "test-child-context-step-id";
14
+ readonly CHILD_CONTEXT_NAME: "test-child-context";
15
+ readonly CHILD_CONTEXT_RESULT: "child-context-result";
16
+ readonly DEFAULT_MAP_CONFIG: {
17
+ readonly iterationSubType: "MapIteration";
18
+ readonly maxConcurrency: undefined;
19
+ readonly topLevelSubType: "Map";
20
+ };
21
+ readonly DEFAULT_PARALLEL_CONFIG: {
22
+ readonly iterationSubType: "ParallelBranch";
23
+ readonly maxConcurrency: undefined;
24
+ readonly topLevelSubType: "Parallel";
25
+ };
26
+ readonly DEFAULT_STEP_START_CHECKPOINT: {
27
+ readonly Id: "test-step-id";
28
+ readonly ParentId: undefined;
29
+ readonly Action: "START";
30
+ readonly SubType: "Step";
31
+ readonly Type: "STEP";
32
+ readonly Name: "test-step";
33
+ };
34
+ readonly DEFAULT_STEP_SUCCEED_CHECKPOINT: {
35
+ readonly Id: "test-step-id";
36
+ readonly ParentId: undefined;
37
+ readonly Action: "SUCCEED";
38
+ readonly SubType: "Step";
39
+ readonly Type: "STEP";
40
+ readonly Name: "test-step";
41
+ };
42
+ readonly DEFAULT_STEP_FAIL_CHECKPOINT: {
43
+ readonly Id: "test-step-id";
44
+ readonly ParentId: undefined;
45
+ readonly Action: "FAIL";
46
+ readonly SubType: "Step";
47
+ readonly Type: "STEP";
48
+ readonly Name: "test-step";
49
+ };
50
+ readonly DEFAULT_STEP_RETRY_CHECKPOINT: {
51
+ readonly Id: "test-step-id";
52
+ readonly ParentId: undefined;
53
+ readonly Action: "RETRY";
54
+ readonly SubType: "Step";
55
+ readonly Type: "STEP";
56
+ readonly Name: "test-step";
57
+ };
58
+ };
59
+ //# sourceMappingURL=test-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-constants.d.ts","sourceRoot":"","sources":["../../src/testing/test-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEjB,CAAC"}
@@ -0,0 +1,177 @@
1
+ import { Serdes } from "../utils/serdes/serdes";
2
+ import { DurableContext } from "./durable-context";
3
+ import { ChildContextError } from "../errors/durable-error/durable-error";
4
+ import { DurableLogger } from "./durable-logger";
5
+ /**
6
+ * The status of a batch item
7
+ * @public
8
+ */
9
+ export declare enum BatchItemStatus {
10
+ SUCCEEDED = "SUCCEEDED",
11
+ FAILED = "FAILED",
12
+ STARTED = "STARTED"
13
+ }
14
+ /**
15
+ * Represents a single item in a batch result
16
+ *
17
+ * @public
18
+ */
19
+ export interface BatchItem<TResult> {
20
+ /** The result value if the item succeeded */
21
+ result?: TResult;
22
+ /** The error if the item failed (always ChildContextError since batch items run in child contexts) */
23
+ error?: ChildContextError;
24
+ /** Index of the item in the original array */
25
+ index: number;
26
+ /** Status of the item execution */
27
+ status: BatchItemStatus;
28
+ }
29
+ /**
30
+ * Result of a batch operation (map, parallel, or concurrent execution)
31
+ *
32
+ * @public
33
+ */
34
+ export interface BatchResult<TResult> {
35
+ /** All items in the batch with their results/errors */
36
+ all: Array<BatchItem<TResult>>;
37
+ /** Returns only the items that succeeded */
38
+ succeeded(): Array<BatchItem<TResult> & {
39
+ result: TResult;
40
+ }>;
41
+ /** Returns only the items that failed */
42
+ failed(): Array<BatchItem<TResult> & {
43
+ error: ChildContextError;
44
+ }>;
45
+ /** Returns only the items that are still in progress */
46
+ started(): Array<BatchItem<TResult> & {
47
+ status: BatchItemStatus.STARTED;
48
+ }>;
49
+ /** Overall status of the batch (SUCCEEDED if no failures, FAILED otherwise) */
50
+ status: BatchItemStatus.SUCCEEDED | BatchItemStatus.FAILED;
51
+ /** Reason why the batch completed */
52
+ completionReason: "ALL_COMPLETED" | "MIN_SUCCESSFUL_REACHED" | "FAILURE_TOLERANCE_EXCEEDED";
53
+ /** Whether any item in the batch failed */
54
+ hasFailure: boolean;
55
+ /** Throws the first error if any item failed */
56
+ throwIfError(): void;
57
+ /** Returns array of all successful results */
58
+ getResults(): Array<TResult>;
59
+ /** Returns array of all errors */
60
+ getErrors(): Array<ChildContextError>;
61
+ /** Number of successful items */
62
+ successCount: number;
63
+ /** Number of failed items */
64
+ failureCount: number;
65
+ /** Number of started but not completed items */
66
+ startedCount: number;
67
+ /** Total number of items */
68
+ totalCount: number;
69
+ }
70
+ /**
71
+ * @public
72
+ */
73
+ export interface CompletionConfig {
74
+ /** Minimum number of successful executions required */
75
+ minSuccessful?: number;
76
+ /** Maximum number of failures tolerated */
77
+ toleratedFailureCount?: number;
78
+ /** Maximum percentage of failures tolerated (0-100) */
79
+ toleratedFailurePercentage?: number;
80
+ }
81
+ /**
82
+ * Function to be executed for each item in a map operation
83
+ * @param context - DurableContext for executing durable operations within the map
84
+ * @param item - Current item being processed
85
+ * @param index - Index of the current item in the array
86
+ * @param array - The original array being mapped over
87
+ * @returns Promise resolving to the transformed value
88
+ *
89
+ * @public
90
+ */
91
+ export type MapFunc<TInput, TOutput, Logger extends DurableLogger> = (context: DurableContext<Logger>, item: TInput, index: number, array: TInput[]) => Promise<TOutput>;
92
+ /**
93
+ * Configuration options for map operations
94
+ * @public
95
+ */
96
+ export interface MapConfig<TItem, TResult> {
97
+ /** Maximum number of concurrent executions (default: unlimited) */
98
+ maxConcurrency?: number;
99
+ /** Function to generate custom names for map items */
100
+ itemNamer?: (item: TItem, index: number) => string;
101
+ /** Serialization/deserialization configuration for parent context */
102
+ serdes?: Serdes<BatchResult<TResult>>;
103
+ /** Serialization/deserialization configuration for each item */
104
+ itemSerdes?: Serdes<TResult>;
105
+ /** Configuration for completion behavior */
106
+ completionConfig?: CompletionConfig;
107
+ }
108
+ /**
109
+ * Function to be executed as a branch in a parallel operation
110
+ * @param context - DurableContext for executing durable operations within the branch
111
+ * @returns Promise resolving to the branch result
112
+ *
113
+ * @public
114
+ */
115
+ export type ParallelFunc<TResult, Logger extends DurableLogger = DurableLogger> = (context: DurableContext<Logger>) => Promise<TResult>;
116
+ /**
117
+ * Named parallel branch with optional custom name
118
+ * @public
119
+ */
120
+ export interface NamedParallelBranch<TResult, Logger extends DurableLogger> {
121
+ name?: string;
122
+ func: ParallelFunc<TResult, Logger>;
123
+ }
124
+ /**
125
+ * Configuration options for parallel operations
126
+ * @public
127
+ */
128
+ export interface ParallelConfig<TResult> {
129
+ /** Maximum number of concurrent executions (default: unlimited) */
130
+ maxConcurrency?: number;
131
+ /** Serialization/deserialization configuration for parent context */
132
+ serdes?: Serdes<BatchResult<TResult>>;
133
+ /** Serialization/deserialization configuration for each branch */
134
+ itemSerdes?: Serdes<TResult>;
135
+ /** Configuration for completion behavior */
136
+ completionConfig?: CompletionConfig;
137
+ }
138
+ /**
139
+ * Represents an item to be executed with metadata for deterministic replay
140
+ * @public
141
+ */
142
+ export interface ConcurrentExecutionItem<T> {
143
+ /** Unique identifier for the item */
144
+ id: string;
145
+ /** The actual data/payload for the item */
146
+ data: T;
147
+ /** Index of the item in the original array */
148
+ index: number;
149
+ /** Optional custom name for the item */
150
+ name?: string;
151
+ }
152
+ /**
153
+ * Executor function type for concurrent execution
154
+ * @public
155
+ */
156
+ export type ConcurrentExecutor<TItem, TResult, Logger extends DurableLogger> = (item: ConcurrentExecutionItem<TItem>, childContext: DurableContext<Logger>) => Promise<TResult>;
157
+ /**
158
+ * Configuration options for concurrent execution operations
159
+ * @public
160
+ */
161
+ export interface ConcurrencyConfig<TResult> {
162
+ /** Maximum number of concurrent executions (default: unlimited) */
163
+ maxConcurrency?: number;
164
+ /** Top-level operation subtype for tracking */
165
+ topLevelSubType?: string;
166
+ /** Iteration-level operation subtype for tracking */
167
+ iterationSubType?: string;
168
+ /** Function to generate summary from batch result */
169
+ summaryGenerator?: (result: BatchResult<TResult>) => string;
170
+ /** Serialization/deserialization configuration for parent context */
171
+ serdes?: Serdes<BatchResult<TResult>>;
172
+ /** Serialization/deserialization configuration for each item */
173
+ itemSerdes?: Serdes<TResult>;
174
+ /** Configuration for completion behavior */
175
+ completionConfig?: CompletionConfig;
176
+ }
177
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/types/batch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { Serdes } from "../utils/serdes/serdes";
2
+ import { RetryDecision } from "./step";
3
+ import { WaitForCallbackContext } from "./logger";
4
+ import { Duration } from "./core";
5
+ import { DurablePromise } from "./durable-promise";
6
+ import { DurableLogger } from "./durable-logger";
7
+ /**
8
+ * Configuration options for createCallback operations
9
+ *
10
+ * @public
11
+ */
12
+ export interface CreateCallbackConfig<TOutput = string> {
13
+ /** Maximum time to wait for callback submission */
14
+ timeout?: Duration;
15
+ /** Heartbeat timeout to detect stalled callback operations */
16
+ heartbeatTimeout?: Duration;
17
+ /** Deserialization configuration for callback data */
18
+ serdes?: Omit<Serdes<TOutput>, "serialize">;
19
+ }
20
+ /**
21
+ * Configuration options for waitForCallback operations
22
+ *
23
+ * @public
24
+ */
25
+ export interface WaitForCallbackConfig<TOutput = string> {
26
+ /** Maximum time to wait for callback */
27
+ timeout?: Duration;
28
+ /** Heartbeat timeout to detect stalled operations */
29
+ heartbeatTimeout?: Duration;
30
+ /** Strategy for retrying failed callback submissions */
31
+ retryStrategy?: (error: Error, attemptCount: number) => RetryDecision;
32
+ /** Deserialization configuration for callback data */
33
+ serdes?: Omit<Serdes<TOutput>, "serialize">;
34
+ }
35
+ /**
36
+ * @public
37
+ */
38
+ export type CreateCallbackResult<T = string> = [DurablePromise<T>, string];
39
+ /**
40
+ * Function that submits a callback ID to an external system
41
+ * @param callbackId - Unique identifier for the callback that should be submitted to external system
42
+ * @param context - Context for logging and other operations during callback submission
43
+ * @returns Promise that resolves when the callback ID has been successfully submitted
44
+ *
45
+ * @public
46
+ */
47
+ export type WaitForCallbackSubmitterFunc<TLogger extends DurableLogger> = (callbackId: string, context: WaitForCallbackContext<TLogger>) => Promise<void>;
48
+ //# sourceMappingURL=callback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/types/callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,MAAM;IACpD,mDAAmD;IACnD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,sDAAsD;IACtD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,OAAO,GAAG,MAAM;IACrD,wCAAwC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,aAAa,CAAC;IACtE,sDAAsD;IACtD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,MAAM,4BAA4B,CAAC,OAAO,SAAS,aAAa,IAAI,CACxE,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,KACrC,OAAO,CAAC,IAAI,CAAC,CAAC"}