@smthrs/flow 0.0.0-stage → 1.0.0-rc.4

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 (654) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/LICENSE +21 -0
  3. package/README.md +210 -2
  4. package/THIRD_PARTY_NOTICES.md +52 -0
  5. package/dist/cjs/Action/Action.d.ts +250 -0
  6. package/dist/cjs/Action/Action.d.ts.map +1 -0
  7. package/dist/cjs/Action/Action.js +42 -0
  8. package/dist/cjs/Action/Action.js.map +7 -0
  9. package/dist/cjs/Action/AttemptTimedOut.d.ts +33 -0
  10. package/dist/cjs/Action/AttemptTimedOut.d.ts.map +1 -0
  11. package/dist/cjs/Action/AttemptTimedOut.js +51 -0
  12. package/dist/cjs/Action/AttemptTimedOut.js.map +7 -0
  13. package/dist/cjs/Action/BoundaryMode.d.ts +29 -0
  14. package/dist/cjs/Action/BoundaryMode.d.ts.map +1 -0
  15. package/dist/cjs/Action/BoundaryMode.js +36 -0
  16. package/dist/cjs/Action/BoundaryMode.js.map +7 -0
  17. package/dist/cjs/Action/CacheEnvironment.d.ts +158 -0
  18. package/dist/cjs/Action/CacheEnvironment.d.ts.map +1 -0
  19. package/dist/cjs/Action/CacheEnvironment.js +57 -0
  20. package/dist/cjs/Action/CacheEnvironment.js.map +7 -0
  21. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  22. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  23. package/dist/cjs/Action/ConcurrentKeylessDispatch.js +46 -0
  24. package/dist/cjs/Action/ConcurrentKeylessDispatch.js.map +7 -0
  25. package/dist/cjs/Action/Context.d.ts +131 -0
  26. package/dist/cjs/Action/Context.d.ts.map +1 -0
  27. package/dist/cjs/Action/Context.js +68 -0
  28. package/dist/cjs/Action/Context.js.map +7 -0
  29. package/dist/cjs/Action/DuplicateImplementation.d.ts +20 -0
  30. package/dist/cjs/Action/DuplicateImplementation.d.ts.map +1 -0
  31. package/dist/cjs/Action/DuplicateImplementation.js +46 -0
  32. package/dist/cjs/Action/DuplicateImplementation.js.map +7 -0
  33. package/dist/cjs/Action/FileBoundary.d.ts +59 -0
  34. package/dist/cjs/Action/FileBoundary.d.ts.map +1 -0
  35. package/dist/cjs/Action/FileBoundary.js +81 -0
  36. package/dist/cjs/Action/FileBoundary.js.map +7 -0
  37. package/dist/cjs/Action/FileInput.d.ts +28 -0
  38. package/dist/cjs/Action/FileInput.d.ts.map +1 -0
  39. package/dist/cjs/Action/FileInput.js +42 -0
  40. package/dist/cjs/Action/FileInput.js.map +7 -0
  41. package/dist/cjs/Action/Filegroup.d.ts +16 -0
  42. package/dist/cjs/Action/Filegroup.d.ts.map +1 -0
  43. package/dist/cjs/Action/Filegroup.js +27 -0
  44. package/dist/cjs/Action/Filegroup.js.map +7 -0
  45. package/dist/cjs/Action/Glob.d.ts +8 -0
  46. package/dist/cjs/Action/Glob.d.ts.map +1 -0
  47. package/dist/cjs/Action/Glob.js +28 -0
  48. package/dist/cjs/Action/Glob.js.map +7 -0
  49. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts +26 -0
  50. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  51. package/dist/cjs/Action/ImplementationVersionMismatch.js +45 -0
  52. package/dist/cjs/Action/ImplementationVersionMismatch.js.map +7 -0
  53. package/dist/cjs/Action/Implementations.d.ts +114 -0
  54. package/dist/cjs/Action/Implementations.d.ts.map +1 -0
  55. package/dist/cjs/Action/Implementations.js +65 -0
  56. package/dist/cjs/Action/Implementations.js.map +7 -0
  57. package/dist/cjs/Action/InfraInterrupt.d.ts +26 -0
  58. package/dist/cjs/Action/InfraInterrupt.d.ts.map +1 -0
  59. package/dist/cjs/Action/InfraInterrupt.js +46 -0
  60. package/dist/cjs/Action/InfraInterrupt.js.map +7 -0
  61. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  62. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  63. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js +54 -0
  64. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js.map +7 -0
  65. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  66. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  67. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js +47 -0
  68. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +7 -0
  69. package/dist/cjs/Action/StepIdentity.d.ts +153 -0
  70. package/dist/cjs/Action/StepIdentity.d.ts.map +1 -0
  71. package/dist/cjs/Action/StepIdentity.js +75 -0
  72. package/dist/cjs/Action/StepIdentity.js.map +7 -0
  73. package/dist/cjs/Action/TreeArtifact.d.ts +8 -0
  74. package/dist/cjs/Action/TreeArtifact.d.ts.map +1 -0
  75. package/dist/cjs/Action/TreeArtifact.js +25 -0
  76. package/dist/cjs/Action/TreeArtifact.js.map +7 -0
  77. package/dist/cjs/Action/TypeId.d.ts +8 -0
  78. package/dist/cjs/Action/TypeId.d.ts.map +1 -0
  79. package/dist/cjs/Action/TypeId.js +25 -0
  80. package/dist/cjs/Action/TypeId.js.map +7 -0
  81. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  82. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  83. package/dist/cjs/Action/UncanonicalIdempotencyKey.js +51 -0
  84. package/dist/cjs/Action/UncanonicalIdempotencyKey.js.map +7 -0
  85. package/dist/cjs/Action/idempotencyKey.d.ts +21 -0
  86. package/dist/cjs/Action/idempotencyKey.d.ts.map +1 -0
  87. package/dist/cjs/Action/idempotencyKey.js +59 -0
  88. package/dist/cjs/Action/idempotencyKey.js.map +7 -0
  89. package/dist/cjs/Action/index.d.ts +29 -0
  90. package/dist/cjs/Action/index.d.ts.map +1 -0
  91. package/dist/cjs/Action/index.js +60 -0
  92. package/dist/cjs/Action/index.js.map +7 -0
  93. package/dist/cjs/Action/make.d.ts +128 -0
  94. package/dist/cjs/Action/make.d.ts.map +1 -0
  95. package/dist/cjs/Action/make.js +373 -0
  96. package/dist/cjs/Action/make.js.map +7 -0
  97. package/dist/cjs/Action/raceAll.d.ts +21 -0
  98. package/dist/cjs/Action/raceAll.d.ts.map +1 -0
  99. package/dist/cjs/Action/raceAll.js +46 -0
  100. package/dist/cjs/Action/raceAll.js.map +7 -0
  101. package/dist/cjs/Action/retry.d.ts +19 -0
  102. package/dist/cjs/Action/retry.d.ts.map +1 -0
  103. package/dist/cjs/Action/retry.js +75 -0
  104. package/dist/cjs/Action/retry.js.map +7 -0
  105. package/dist/cjs/Deadline.d.ts +105 -0
  106. package/dist/cjs/Deadline.d.ts.map +1 -0
  107. package/dist/cjs/Deadline.js +104 -0
  108. package/dist/cjs/Deadline.js.map +7 -0
  109. package/dist/cjs/DurableClock.d.ts +61 -0
  110. package/dist/cjs/DurableClock.d.ts.map +1 -0
  111. package/dist/cjs/DurableClock.js +90 -0
  112. package/dist/cjs/DurableClock.js.map +7 -0
  113. package/dist/cjs/DurableDeferred.d.ts +311 -0
  114. package/dist/cjs/DurableDeferred.d.ts.map +1 -0
  115. package/dist/cjs/DurableDeferred.js +322 -0
  116. package/dist/cjs/DurableDeferred.js.map +7 -0
  117. package/dist/cjs/DurableQueue.d.ts +160 -0
  118. package/dist/cjs/DurableQueue.d.ts.map +1 -0
  119. package/dist/cjs/DurableQueue.js +229 -0
  120. package/dist/cjs/DurableQueue.js.map +7 -0
  121. package/dist/cjs/ExternalJob.d.ts +179 -0
  122. package/dist/cjs/ExternalJob.d.ts.map +1 -0
  123. package/dist/cjs/ExternalJob.js +338 -0
  124. package/dist/cjs/ExternalJob.js.map +7 -0
  125. package/dist/cjs/Fault.d.ts +131 -0
  126. package/dist/cjs/Fault.d.ts.map +1 -0
  127. package/dist/cjs/Fault.js +157 -0
  128. package/dist/cjs/Fault.js.map +7 -0
  129. package/dist/cjs/Flow/Annotations.d.ts +245 -0
  130. package/dist/cjs/Flow/Annotations.d.ts.map +1 -0
  131. package/dist/cjs/Flow/Annotations.js +72 -0
  132. package/dist/cjs/Flow/Annotations.js.map +7 -0
  133. package/dist/cjs/Flow/CapabilityCeiling.d.ts +21 -0
  134. package/dist/cjs/Flow/CapabilityCeiling.d.ts.map +1 -0
  135. package/dist/cjs/Flow/CapabilityCeiling.js +49 -0
  136. package/dist/cjs/Flow/CapabilityCeiling.js.map +7 -0
  137. package/dist/cjs/Flow/DeadlineExceeded.d.ts +33 -0
  138. package/dist/cjs/Flow/DeadlineExceeded.d.ts.map +1 -0
  139. package/dist/cjs/Flow/DeadlineExceeded.js +52 -0
  140. package/dist/cjs/Flow/DeadlineExceeded.js.map +7 -0
  141. package/dist/cjs/Flow/ExecutionIdRequired.d.ts +25 -0
  142. package/dist/cjs/Flow/ExecutionIdRequired.d.ts.map +1 -0
  143. package/dist/cjs/Flow/ExecutionIdRequired.js +46 -0
  144. package/dist/cjs/Flow/ExecutionIdRequired.js.map +7 -0
  145. package/dist/cjs/Flow/ExecutionIds.d.ts +80 -0
  146. package/dist/cjs/Flow/ExecutionIds.d.ts.map +1 -0
  147. package/dist/cjs/Flow/ExecutionIds.js +66 -0
  148. package/dist/cjs/Flow/ExecutionIds.js.map +7 -0
  149. package/dist/cjs/Flow/Flow.d.ts +422 -0
  150. package/dist/cjs/Flow/Flow.d.ts.map +1 -0
  151. package/dist/cjs/Flow/Flow.js +17 -0
  152. package/dist/cjs/Flow/Flow.js.map +7 -0
  153. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts +35 -0
  154. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  155. package/dist/cjs/Flow/MaxRoundsExceeded.js +50 -0
  156. package/dist/cjs/Flow/MaxRoundsExceeded.js.map +7 -0
  157. package/dist/cjs/Flow/Outcome.d.ts +162 -0
  158. package/dist/cjs/Flow/Outcome.d.ts.map +1 -0
  159. package/dist/cjs/Flow/Outcome.js +80 -0
  160. package/dist/cjs/Flow/Outcome.js.map +7 -0
  161. package/dist/cjs/Flow/Result.d.ts +186 -0
  162. package/dist/cjs/Flow/Result.d.ts.map +1 -0
  163. package/dist/cjs/Flow/Result.js +159 -0
  164. package/dist/cjs/Flow/Result.js.map +7 -0
  165. package/dist/cjs/Flow/Runtime.d.ts +98 -0
  166. package/dist/cjs/Flow/Runtime.d.ts.map +1 -0
  167. package/dist/cjs/Flow/Runtime.js +160 -0
  168. package/dist/cjs/Flow/Runtime.js.map +7 -0
  169. package/dist/cjs/Flow/TypeId.d.ts +8 -0
  170. package/dist/cjs/Flow/TypeId.d.ts.map +1 -0
  171. package/dist/cjs/Flow/TypeId.js +25 -0
  172. package/dist/cjs/Flow/TypeId.js.map +7 -0
  173. package/dist/cjs/Flow/index.d.ts +17 -0
  174. package/dist/cjs/Flow/index.d.ts.map +1 -0
  175. package/dist/cjs/Flow/index.js +29 -0
  176. package/dist/cjs/Flow/index.js.map +7 -0
  177. package/dist/cjs/Flow/internal.d.ts +34 -0
  178. package/dist/cjs/Flow/internal.d.ts.map +1 -0
  179. package/dist/cjs/Flow/internal.js +187 -0
  180. package/dist/cjs/Flow/internal.js.map +7 -0
  181. package/dist/cjs/Flow/make.d.ts +134 -0
  182. package/dist/cjs/Flow/make.d.ts.map +1 -0
  183. package/dist/cjs/Flow/make.js +104 -0
  184. package/dist/cjs/Flow/make.js.map +7 -0
  185. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  186. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  187. package/dist/cjs/FlowRuntime/CancelRequestFailed.js +51 -0
  188. package/dist/cjs/FlowRuntime/CancelRequestFailed.js.map +7 -0
  189. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  190. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  191. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js +55 -0
  192. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js.map +7 -0
  193. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  194. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  195. package/dist/cjs/FlowRuntime/FlowCycleDetected.js +49 -0
  196. package/dist/cjs/FlowRuntime/FlowCycleDetected.js.map +7 -0
  197. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  198. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  199. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js +53 -0
  200. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js.map +7 -0
  201. package/dist/cjs/FlowRuntime/FlowInstance.d.ts +115 -0
  202. package/dist/cjs/FlowRuntime/FlowInstance.d.ts.map +1 -0
  203. package/dist/cjs/FlowRuntime/FlowInstance.js +37 -0
  204. package/dist/cjs/FlowRuntime/FlowInstance.js.map +7 -0
  205. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts +198 -0
  206. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  207. package/dist/cjs/FlowRuntime/FlowRuntime.js +37 -0
  208. package/dist/cjs/FlowRuntime/FlowRuntime.js.map +7 -0
  209. package/dist/cjs/FlowRuntime/NodeRecord.d.ts +175 -0
  210. package/dist/cjs/FlowRuntime/NodeRecord.d.ts.map +1 -0
  211. package/dist/cjs/FlowRuntime/NodeRecord.js +17 -0
  212. package/dist/cjs/FlowRuntime/NodeRecord.js.map +7 -0
  213. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  214. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  215. package/dist/cjs/FlowRuntime/WaitingAnnotation.js +53 -0
  216. package/dist/cjs/FlowRuntime/WaitingAnnotation.js.map +7 -0
  217. package/dist/cjs/FlowRuntime/index.d.ts +14 -0
  218. package/dist/cjs/FlowRuntime/index.d.ts.map +1 -0
  219. package/dist/cjs/FlowRuntime/index.js +26 -0
  220. package/dist/cjs/FlowRuntime/index.js.map +7 -0
  221. package/dist/cjs/Graph.d.ts +325 -0
  222. package/dist/cjs/Graph.d.ts.map +1 -0
  223. package/dist/cjs/Graph.js +1021 -0
  224. package/dist/cjs/Graph.js.map +7 -0
  225. package/dist/cjs/HumanTask.d.ts +440 -0
  226. package/dist/cjs/HumanTask.d.ts.map +1 -0
  227. package/dist/cjs/HumanTask.js +413 -0
  228. package/dist/cjs/HumanTask.js.map +7 -0
  229. package/dist/cjs/Interpreter.d.ts +222 -0
  230. package/dist/cjs/Interpreter.d.ts.map +1 -0
  231. package/dist/cjs/Interpreter.js +888 -0
  232. package/dist/cjs/Interpreter.js.map +7 -0
  233. package/dist/cjs/Poll.d.ts +238 -0
  234. package/dist/cjs/Poll.d.ts.map +1 -0
  235. package/dist/cjs/Poll.js +150 -0
  236. package/dist/cjs/Poll.js.map +7 -0
  237. package/dist/cjs/RetryPolicy.d.ts +273 -0
  238. package/dist/cjs/RetryPolicy.d.ts.map +1 -0
  239. package/dist/cjs/RetryPolicy.js +251 -0
  240. package/dist/cjs/RetryPolicy.js.map +7 -0
  241. package/dist/cjs/Sleep.d.ts +98 -0
  242. package/dist/cjs/Sleep.d.ts.map +1 -0
  243. package/dist/cjs/Sleep.js +133 -0
  244. package/dist/cjs/Sleep.js.map +7 -0
  245. package/dist/cjs/Stall.d.ts +173 -0
  246. package/dist/cjs/Stall.d.ts.map +1 -0
  247. package/dist/cjs/Stall.js +92 -0
  248. package/dist/cjs/Stall.js.map +7 -0
  249. package/dist/cjs/WaitFor.d.ts +109 -0
  250. package/dist/cjs/WaitFor.d.ts.map +1 -0
  251. package/dist/cjs/WaitFor.js +117 -0
  252. package/dist/cjs/WaitFor.js.map +7 -0
  253. package/dist/cjs/index.d.ts +107 -0
  254. package/dist/cjs/index.d.ts.map +1 -0
  255. package/dist/cjs/index.js +69 -0
  256. package/dist/cjs/index.js.map +7 -0
  257. package/dist/cjs/internal/BoundedJson.d.ts +48 -0
  258. package/dist/cjs/internal/BoundedJson.d.ts.map +1 -0
  259. package/dist/cjs/internal/BoundedJson.js +96 -0
  260. package/dist/cjs/internal/BoundedJson.js.map +7 -0
  261. package/dist/cjs/internal/DeclarationSite.d.ts +135 -0
  262. package/dist/cjs/internal/DeclarationSite.d.ts.map +1 -0
  263. package/dist/cjs/internal/DeclarationSite.js +89 -0
  264. package/dist/cjs/internal/DeclarationSite.js.map +7 -0
  265. package/dist/cjs/internal/Declarations.d.ts +35 -0
  266. package/dist/cjs/internal/Declarations.d.ts.map +1 -0
  267. package/dist/cjs/internal/Declarations.js +50 -0
  268. package/dist/cjs/internal/Declarations.js.map +7 -0
  269. package/dist/cjs/internal/ExecutionMiddleware.d.ts +21 -0
  270. package/dist/cjs/internal/ExecutionMiddleware.d.ts.map +1 -0
  271. package/dist/cjs/internal/ExecutionMiddleware.js +39 -0
  272. package/dist/cjs/internal/ExecutionMiddleware.js.map +7 -0
  273. package/dist/cjs/internal/JsonSchemaSubset.d.ts +133 -0
  274. package/dist/cjs/internal/JsonSchemaSubset.d.ts.map +1 -0
  275. package/dist/cjs/internal/JsonSchemaSubset.js +229 -0
  276. package/dist/cjs/internal/JsonSchemaSubset.js.map +7 -0
  277. package/dist/cjs/internal/OutcomeMarker.d.ts +18 -0
  278. package/dist/cjs/internal/OutcomeMarker.d.ts.map +1 -0
  279. package/dist/cjs/internal/OutcomeMarker.js +27 -0
  280. package/dist/cjs/internal/OutcomeMarker.js.map +7 -0
  281. package/dist/cjs/package.json +1 -0
  282. package/dist/esm/Action/Action.d.ts +250 -0
  283. package/dist/esm/Action/Action.d.ts.map +1 -0
  284. package/dist/esm/Action/Action.js +30 -0
  285. package/dist/esm/Action/Action.js.map +1 -0
  286. package/dist/esm/Action/AttemptTimedOut.d.ts +33 -0
  287. package/dist/esm/Action/AttemptTimedOut.d.ts.map +1 -0
  288. package/dist/esm/Action/AttemptTimedOut.js +32 -0
  289. package/dist/esm/Action/AttemptTimedOut.js.map +1 -0
  290. package/dist/esm/Action/BoundaryMode.d.ts +29 -0
  291. package/dist/esm/Action/BoundaryMode.d.ts.map +1 -0
  292. package/dist/esm/Action/BoundaryMode.js +23 -0
  293. package/dist/esm/Action/BoundaryMode.js.map +1 -0
  294. package/dist/esm/Action/CacheEnvironment.d.ts +158 -0
  295. package/dist/esm/Action/CacheEnvironment.d.ts.map +1 -0
  296. package/dist/esm/Action/CacheEnvironment.js +130 -0
  297. package/dist/esm/Action/CacheEnvironment.js.map +1 -0
  298. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  299. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  300. package/dist/esm/Action/ConcurrentKeylessDispatch.js +33 -0
  301. package/dist/esm/Action/ConcurrentKeylessDispatch.js.map +1 -0
  302. package/dist/esm/Action/Context.d.ts +131 -0
  303. package/dist/esm/Action/Context.d.ts.map +1 -0
  304. package/dist/esm/Action/Context.js +99 -0
  305. package/dist/esm/Action/Context.js.map +1 -0
  306. package/dist/esm/Action/DuplicateImplementation.d.ts +20 -0
  307. package/dist/esm/Action/DuplicateImplementation.d.ts.map +1 -0
  308. package/dist/esm/Action/DuplicateImplementation.js +20 -0
  309. package/dist/esm/Action/DuplicateImplementation.js.map +1 -0
  310. package/dist/esm/Action/FileBoundary.d.ts +59 -0
  311. package/dist/esm/Action/FileBoundary.d.ts.map +1 -0
  312. package/dist/esm/Action/FileBoundary.js +60 -0
  313. package/dist/esm/Action/FileBoundary.js.map +1 -0
  314. package/dist/esm/Action/FileInput.d.ts +28 -0
  315. package/dist/esm/Action/FileInput.d.ts.map +1 -0
  316. package/dist/esm/Action/FileInput.js +32 -0
  317. package/dist/esm/Action/FileInput.js.map +1 -0
  318. package/dist/esm/Action/Filegroup.d.ts +16 -0
  319. package/dist/esm/Action/Filegroup.d.ts.map +1 -0
  320. package/dist/esm/Action/Filegroup.js +15 -0
  321. package/dist/esm/Action/Filegroup.js.map +1 -0
  322. package/dist/esm/Action/Glob.d.ts +8 -0
  323. package/dist/esm/Action/Glob.d.ts.map +1 -0
  324. package/dist/esm/Action/Glob.js +7 -0
  325. package/dist/esm/Action/Glob.js.map +1 -0
  326. package/dist/esm/Action/ImplementationVersionMismatch.d.ts +26 -0
  327. package/dist/esm/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  328. package/dist/esm/Action/ImplementationVersionMismatch.js +24 -0
  329. package/dist/esm/Action/ImplementationVersionMismatch.js.map +1 -0
  330. package/dist/esm/Action/Implementations.d.ts +114 -0
  331. package/dist/esm/Action/Implementations.d.ts.map +1 -0
  332. package/dist/esm/Action/Implementations.js +94 -0
  333. package/dist/esm/Action/Implementations.js.map +1 -0
  334. package/dist/esm/Action/InfraInterrupt.d.ts +26 -0
  335. package/dist/esm/Action/InfraInterrupt.d.ts.map +1 -0
  336. package/dist/esm/Action/InfraInterrupt.js +25 -0
  337. package/dist/esm/Action/InfraInterrupt.js.map +1 -0
  338. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  339. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  340. package/dist/esm/Action/InfraInterruptRetriesExhausted.js +32 -0
  341. package/dist/esm/Action/InfraInterruptRetriesExhausted.js.map +1 -0
  342. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  343. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  344. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js +25 -0
  345. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +1 -0
  346. package/dist/esm/Action/StepIdentity.d.ts +153 -0
  347. package/dist/esm/Action/StepIdentity.d.ts.map +1 -0
  348. package/dist/esm/Action/StepIdentity.js +139 -0
  349. package/dist/esm/Action/StepIdentity.js.map +1 -0
  350. package/dist/esm/Action/TreeArtifact.d.ts +8 -0
  351. package/dist/esm/Action/TreeArtifact.d.ts.map +1 -0
  352. package/dist/esm/Action/TreeArtifact.js +7 -0
  353. package/dist/esm/Action/TreeArtifact.js.map +1 -0
  354. package/dist/esm/Action/TypeId.d.ts +8 -0
  355. package/dist/esm/Action/TypeId.d.ts.map +1 -0
  356. package/dist/esm/Action/TypeId.js +9 -0
  357. package/dist/esm/Action/TypeId.js.map +1 -0
  358. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  359. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  360. package/dist/esm/Action/UncanonicalIdempotencyKey.js +31 -0
  361. package/dist/esm/Action/UncanonicalIdempotencyKey.js.map +1 -0
  362. package/dist/esm/Action/idempotencyKey.d.ts +21 -0
  363. package/dist/esm/Action/idempotencyKey.d.ts.map +1 -0
  364. package/dist/esm/Action/idempotencyKey.js +50 -0
  365. package/dist/esm/Action/idempotencyKey.js.map +1 -0
  366. package/dist/esm/Action/index.d.ts +29 -0
  367. package/dist/esm/Action/index.d.ts.map +1 -0
  368. package/dist/esm/Action/index.js +30 -0
  369. package/dist/esm/Action/index.js.map +1 -0
  370. package/dist/esm/Action/make.d.ts +128 -0
  371. package/dist/esm/Action/make.d.ts.map +1 -0
  372. package/dist/esm/Action/make.js +405 -0
  373. package/dist/esm/Action/make.js.map +1 -0
  374. package/dist/esm/Action/raceAll.d.ts +21 -0
  375. package/dist/esm/Action/raceAll.d.ts.map +1 -0
  376. package/dist/esm/Action/raceAll.js +20 -0
  377. package/dist/esm/Action/raceAll.js.map +1 -0
  378. package/dist/esm/Action/retry.d.ts +19 -0
  379. package/dist/esm/Action/retry.d.ts.map +1 -0
  380. package/dist/esm/Action/retry.js +72 -0
  381. package/dist/esm/Action/retry.js.map +1 -0
  382. package/dist/esm/Deadline.d.ts +105 -0
  383. package/dist/esm/Deadline.d.ts.map +1 -0
  384. package/dist/esm/Deadline.js +152 -0
  385. package/dist/esm/Deadline.js.map +1 -0
  386. package/dist/esm/DurableClock.d.ts +61 -0
  387. package/dist/esm/DurableClock.d.ts.map +1 -0
  388. package/dist/esm/DurableClock.js +75 -0
  389. package/dist/esm/DurableClock.js.map +1 -0
  390. package/dist/esm/DurableDeferred.d.ts +311 -0
  391. package/dist/esm/DurableDeferred.d.ts.map +1 -0
  392. package/dist/esm/DurableDeferred.js +357 -0
  393. package/dist/esm/DurableDeferred.js.map +1 -0
  394. package/dist/esm/DurableQueue.d.ts +160 -0
  395. package/dist/esm/DurableQueue.d.ts.map +1 -0
  396. package/dist/esm/DurableQueue.js +303 -0
  397. package/dist/esm/DurableQueue.js.map +1 -0
  398. package/dist/esm/ExternalJob.d.ts +179 -0
  399. package/dist/esm/ExternalJob.d.ts.map +1 -0
  400. package/dist/esm/ExternalJob.js +296 -0
  401. package/dist/esm/ExternalJob.js.map +1 -0
  402. package/dist/esm/Fault.d.ts +131 -0
  403. package/dist/esm/Fault.d.ts.map +1 -0
  404. package/dist/esm/Fault.js +198 -0
  405. package/dist/esm/Fault.js.map +1 -0
  406. package/dist/esm/Flow/Annotations.d.ts +245 -0
  407. package/dist/esm/Flow/Annotations.d.ts.map +1 -0
  408. package/dist/esm/Flow/Annotations.js +110 -0
  409. package/dist/esm/Flow/Annotations.js.map +1 -0
  410. package/dist/esm/Flow/CapabilityCeiling.d.ts +21 -0
  411. package/dist/esm/Flow/CapabilityCeiling.d.ts.map +1 -0
  412. package/dist/esm/Flow/CapabilityCeiling.js +27 -0
  413. package/dist/esm/Flow/CapabilityCeiling.js.map +1 -0
  414. package/dist/esm/Flow/DeadlineExceeded.d.ts +33 -0
  415. package/dist/esm/Flow/DeadlineExceeded.d.ts.map +1 -0
  416. package/dist/esm/Flow/DeadlineExceeded.js +34 -0
  417. package/dist/esm/Flow/DeadlineExceeded.js.map +1 -0
  418. package/dist/esm/Flow/ExecutionIdRequired.d.ts +25 -0
  419. package/dist/esm/Flow/ExecutionIdRequired.d.ts.map +1 -0
  420. package/dist/esm/Flow/ExecutionIdRequired.js +30 -0
  421. package/dist/esm/Flow/ExecutionIdRequired.js.map +1 -0
  422. package/dist/esm/Flow/ExecutionIds.d.ts +80 -0
  423. package/dist/esm/Flow/ExecutionIds.d.ts.map +1 -0
  424. package/dist/esm/Flow/ExecutionIds.js +91 -0
  425. package/dist/esm/Flow/ExecutionIds.js.map +1 -0
  426. package/dist/esm/Flow/Flow.d.ts +422 -0
  427. package/dist/esm/Flow/Flow.d.ts.map +1 -0
  428. package/dist/esm/Flow/Flow.js +3 -0
  429. package/dist/esm/Flow/Flow.js.map +1 -0
  430. package/dist/esm/Flow/MaxRoundsExceeded.d.ts +35 -0
  431. package/dist/esm/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  432. package/dist/esm/Flow/MaxRoundsExceeded.js +34 -0
  433. package/dist/esm/Flow/MaxRoundsExceeded.js.map +1 -0
  434. package/dist/esm/Flow/Outcome.d.ts +162 -0
  435. package/dist/esm/Flow/Outcome.d.ts.map +1 -0
  436. package/dist/esm/Flow/Outcome.js +115 -0
  437. package/dist/esm/Flow/Outcome.js.map +1 -0
  438. package/dist/esm/Flow/Result.d.ts +186 -0
  439. package/dist/esm/Flow/Result.d.ts.map +1 -0
  440. package/dist/esm/Flow/Result.js +171 -0
  441. package/dist/esm/Flow/Result.js.map +1 -0
  442. package/dist/esm/Flow/Runtime.d.ts +98 -0
  443. package/dist/esm/Flow/Runtime.d.ts.map +1 -0
  444. package/dist/esm/Flow/Runtime.js +231 -0
  445. package/dist/esm/Flow/Runtime.js.map +1 -0
  446. package/dist/esm/Flow/TypeId.d.ts +8 -0
  447. package/dist/esm/Flow/TypeId.d.ts.map +1 -0
  448. package/dist/esm/Flow/TypeId.js +9 -0
  449. package/dist/esm/Flow/TypeId.js.map +1 -0
  450. package/dist/esm/Flow/index.d.ts +17 -0
  451. package/dist/esm/Flow/index.d.ts.map +1 -0
  452. package/dist/esm/Flow/index.js +18 -0
  453. package/dist/esm/Flow/index.js.map +1 -0
  454. package/dist/esm/Flow/internal.d.ts +34 -0
  455. package/dist/esm/Flow/internal.d.ts.map +1 -0
  456. package/dist/esm/Flow/internal.js +149 -0
  457. package/dist/esm/Flow/internal.js.map +1 -0
  458. package/dist/esm/Flow/make.d.ts +134 -0
  459. package/dist/esm/Flow/make.d.ts.map +1 -0
  460. package/dist/esm/Flow/make.js +106 -0
  461. package/dist/esm/Flow/make.js.map +1 -0
  462. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  463. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  464. package/dist/esm/FlowRuntime/CancelRequestFailed.js +53 -0
  465. package/dist/esm/FlowRuntime/CancelRequestFailed.js.map +1 -0
  466. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  467. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  468. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js +24 -0
  469. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js.map +1 -0
  470. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  471. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  472. package/dist/esm/FlowRuntime/FlowCycleDetected.js +35 -0
  473. package/dist/esm/FlowRuntime/FlowCycleDetected.js.map +1 -0
  474. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  475. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  476. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js +40 -0
  477. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js.map +1 -0
  478. package/dist/esm/FlowRuntime/FlowInstance.d.ts +115 -0
  479. package/dist/esm/FlowRuntime/FlowInstance.d.ts.map +1 -0
  480. package/dist/esm/FlowRuntime/FlowInstance.js +24 -0
  481. package/dist/esm/FlowRuntime/FlowInstance.js.map +1 -0
  482. package/dist/esm/FlowRuntime/FlowRuntime.d.ts +198 -0
  483. package/dist/esm/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  484. package/dist/esm/FlowRuntime/FlowRuntime.js +34 -0
  485. package/dist/esm/FlowRuntime/FlowRuntime.js.map +1 -0
  486. package/dist/esm/FlowRuntime/NodeRecord.d.ts +175 -0
  487. package/dist/esm/FlowRuntime/NodeRecord.d.ts.map +1 -0
  488. package/dist/esm/FlowRuntime/NodeRecord.js +21 -0
  489. package/dist/esm/FlowRuntime/NodeRecord.js.map +1 -0
  490. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  491. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  492. package/dist/esm/FlowRuntime/WaitingAnnotation.js +53 -0
  493. package/dist/esm/FlowRuntime/WaitingAnnotation.js.map +1 -0
  494. package/dist/esm/FlowRuntime/index.d.ts +14 -0
  495. package/dist/esm/FlowRuntime/index.d.ts.map +1 -0
  496. package/dist/esm/FlowRuntime/index.js +15 -0
  497. package/dist/esm/FlowRuntime/index.js.map +1 -0
  498. package/dist/esm/Graph.d.ts +325 -0
  499. package/dist/esm/Graph.d.ts.map +1 -0
  500. package/dist/esm/Graph.js +1483 -0
  501. package/dist/esm/Graph.js.map +1 -0
  502. package/dist/esm/HumanTask.d.ts +440 -0
  503. package/dist/esm/HumanTask.d.ts.map +1 -0
  504. package/dist/esm/HumanTask.js +794 -0
  505. package/dist/esm/HumanTask.js.map +1 -0
  506. package/dist/esm/Interpreter.d.ts +222 -0
  507. package/dist/esm/Interpreter.d.ts.map +1 -0
  508. package/dist/esm/Interpreter.js +1269 -0
  509. package/dist/esm/Interpreter.js.map +1 -0
  510. package/dist/esm/Poll.d.ts +238 -0
  511. package/dist/esm/Poll.d.ts.map +1 -0
  512. package/dist/esm/Poll.js +282 -0
  513. package/dist/esm/Poll.js.map +1 -0
  514. package/dist/esm/RetryPolicy.d.ts +273 -0
  515. package/dist/esm/RetryPolicy.d.ts.map +1 -0
  516. package/dist/esm/RetryPolicy.js +429 -0
  517. package/dist/esm/RetryPolicy.js.map +1 -0
  518. package/dist/esm/Sleep.d.ts +98 -0
  519. package/dist/esm/Sleep.d.ts.map +1 -0
  520. package/dist/esm/Sleep.js +230 -0
  521. package/dist/esm/Sleep.js.map +1 -0
  522. package/dist/esm/Stall.d.ts +173 -0
  523. package/dist/esm/Stall.d.ts.map +1 -0
  524. package/dist/esm/Stall.js +138 -0
  525. package/dist/esm/Stall.js.map +1 -0
  526. package/dist/esm/WaitFor.d.ts +109 -0
  527. package/dist/esm/WaitFor.d.ts.map +1 -0
  528. package/dist/esm/WaitFor.js +184 -0
  529. package/dist/esm/WaitFor.js.map +1 -0
  530. package/dist/esm/index.d.ts +107 -0
  531. package/dist/esm/index.d.ts.map +1 -0
  532. package/dist/esm/index.js +108 -0
  533. package/dist/esm/index.js.map +1 -0
  534. package/dist/esm/internal/BoundedJson.d.ts +48 -0
  535. package/dist/esm/internal/BoundedJson.d.ts.map +1 -0
  536. package/dist/esm/internal/BoundedJson.js +107 -0
  537. package/dist/esm/internal/BoundedJson.js.map +1 -0
  538. package/dist/esm/internal/DeclarationSite.d.ts +135 -0
  539. package/dist/esm/internal/DeclarationSite.d.ts.map +1 -0
  540. package/dist/esm/internal/DeclarationSite.js +196 -0
  541. package/dist/esm/internal/DeclarationSite.js.map +1 -0
  542. package/dist/esm/internal/Declarations.d.ts +35 -0
  543. package/dist/esm/internal/Declarations.d.ts.map +1 -0
  544. package/dist/esm/internal/Declarations.js +43 -0
  545. package/dist/esm/internal/Declarations.js.map +1 -0
  546. package/dist/esm/internal/ExecutionMiddleware.d.ts +21 -0
  547. package/dist/esm/internal/ExecutionMiddleware.d.ts.map +1 -0
  548. package/dist/esm/internal/ExecutionMiddleware.js +13 -0
  549. package/dist/esm/internal/ExecutionMiddleware.js.map +1 -0
  550. package/dist/esm/internal/JsonSchemaSubset.d.ts +133 -0
  551. package/dist/esm/internal/JsonSchemaSubset.d.ts.map +1 -0
  552. package/dist/esm/internal/JsonSchemaSubset.js +363 -0
  553. package/dist/esm/internal/JsonSchemaSubset.js.map +1 -0
  554. package/dist/esm/internal/OutcomeMarker.d.ts +18 -0
  555. package/dist/esm/internal/OutcomeMarker.d.ts.map +1 -0
  556. package/dist/esm/internal/OutcomeMarker.js +18 -0
  557. package/dist/esm/internal/OutcomeMarker.js.map +1 -0
  558. package/docs/README.md +150 -0
  559. package/docs/api.md +436 -0
  560. package/docs/concepts/bodies-and-plans.md +157 -0
  561. package/docs/concepts/execution-identity.md +142 -0
  562. package/docs/concepts/flows-and-actions.md +129 -0
  563. package/docs/concepts/suspension-and-replay.md +130 -0
  564. package/docs/concepts/the-runtime-port.md +110 -0
  565. package/docs/concepts/trampoline-rounds.md +151 -0
  566. package/docs/guides/ask-a-person.md +184 -0
  567. package/docs/guides/build-a-body.md +161 -0
  568. package/docs/guides/cancel-and-roll-back.md +112 -0
  569. package/docs/guides/implement-an-action.md +147 -0
  570. package/docs/guides/inspect-the-plan.md +154 -0
  571. package/docs/guides/poll-until-ready.md +167 -0
  572. package/docs/guides/queue-work-to-a-worker.md +122 -0
  573. package/docs/guides/retry-a-failing-action.md +243 -0
  574. package/docs/guides/reuse-a-recorded-result.md +122 -0
  575. package/docs/guides/run-a-child-flow.md +108 -0
  576. package/docs/guides/run-an-external-job.md +86 -0
  577. package/docs/guides/use-a-prompt.md +38 -0
  578. package/docs/guides/wait-for-a-deadline.md +141 -0
  579. package/docs/guides/wait-for-an-external-signal.md +151 -0
  580. package/docs/installation.md +82 -0
  581. package/docs/quickstart.md +155 -0
  582. package/docs/reference/flow.md +1831 -0
  583. package/docs/testing.md +157 -0
  584. package/docs/troubleshooting.md +286 -0
  585. package/package.json +327 -3
  586. package/src/Action/Action.ts +333 -0
  587. package/src/Action/AttemptTimedOut.ts +37 -0
  588. package/src/Action/BoundaryMode.ts +33 -0
  589. package/src/Action/CacheEnvironment.ts +170 -0
  590. package/src/Action/ConcurrentKeylessDispatch.ts +38 -0
  591. package/src/Action/Context.ts +156 -0
  592. package/src/Action/DuplicateImplementation.ts +24 -0
  593. package/src/Action/FileBoundary.ts +77 -0
  594. package/src/Action/FileInput.ts +42 -0
  595. package/src/Action/Filegroup.ts +16 -0
  596. package/src/Action/Glob.ts +8 -0
  597. package/src/Action/ImplementationVersionMismatch.ts +27 -0
  598. package/src/Action/Implementations.ts +149 -0
  599. package/src/Action/InfraInterrupt.ts +30 -0
  600. package/src/Action/InfraInterruptRetriesExhausted.ts +37 -0
  601. package/src/Action/IrreversibleRetryRequiresIdempotencyKey.ts +32 -0
  602. package/src/Action/StepIdentity.ts +219 -0
  603. package/src/Action/TreeArtifact.ts +8 -0
  604. package/src/Action/TypeId.ts +9 -0
  605. package/src/Action/UncanonicalIdempotencyKey.ts +36 -0
  606. package/src/Action/idempotencyKey.ts +67 -0
  607. package/src/Action/index.ts +31 -0
  608. package/src/Action/make.ts +657 -0
  609. package/src/Action/raceAll.ts +48 -0
  610. package/src/Action/retry.ts +92 -0
  611. package/src/Deadline.ts +185 -0
  612. package/src/DurableClock.ts +133 -0
  613. package/src/DurableDeferred.ts +753 -0
  614. package/src/DurableQueue.ts +519 -0
  615. package/src/ExternalJob.ts +432 -0
  616. package/src/Fault.ts +279 -0
  617. package/src/Flow/Annotations.ts +151 -0
  618. package/src/Flow/CapabilityCeiling.ts +37 -0
  619. package/src/Flow/DeadlineExceeded.ts +40 -0
  620. package/src/Flow/ExecutionIdRequired.ts +36 -0
  621. package/src/Flow/ExecutionIds.ts +133 -0
  622. package/src/Flow/Flow.ts +576 -0
  623. package/src/Flow/MaxRoundsExceeded.ts +39 -0
  624. package/src/Flow/Outcome.ts +179 -0
  625. package/src/Flow/Result.ts +284 -0
  626. package/src/Flow/Runtime.ts +309 -0
  627. package/src/Flow/TypeId.ts +9 -0
  628. package/src/Flow/index.ts +19 -0
  629. package/src/Flow/internal.ts +237 -0
  630. package/src/Flow/make.ts +279 -0
  631. package/src/FlowRuntime/CancelRequestFailed.ts +56 -0
  632. package/src/FlowRuntime/ExecutionIdentityConflict.ts +32 -0
  633. package/src/FlowRuntime/FlowCycleDetected.ts +41 -0
  634. package/src/FlowRuntime/FlowExecutionNotFound.ts +46 -0
  635. package/src/FlowRuntime/FlowInstance.ts +128 -0
  636. package/src/FlowRuntime/FlowRuntime.ts +333 -0
  637. package/src/FlowRuntime/NodeRecord.ts +183 -0
  638. package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
  639. package/src/FlowRuntime/index.ts +17 -0
  640. package/src/Graph.ts +1862 -0
  641. package/src/HumanTask.ts +1003 -0
  642. package/src/Interpreter.ts +1593 -0
  643. package/src/Poll.ts +414 -0
  644. package/src/RetryPolicy.ts +550 -0
  645. package/src/Sleep.ts +267 -0
  646. package/src/Stall.ts +217 -0
  647. package/src/WaitFor.ts +228 -0
  648. package/src/index.ts +125 -0
  649. package/src/internal/BoundedJson.ts +109 -0
  650. package/src/internal/DeclarationSite.ts +214 -0
  651. package/src/internal/Declarations.ts +49 -0
  652. package/src/internal/ExecutionMiddleware.ts +29 -0
  653. package/src/internal/JsonSchemaSubset.ts +392 -0
  654. package/src/internal/OutcomeMarker.ts +19 -0
@@ -0,0 +1,576 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * Defines typed durable flow declarations.
5
+ *
6
+ * A `Flow` has a stable tag, schemas for payload, success, and failure, a
7
+ * REQUIRED pure `body`, and an optional idempotency key used to derive
8
+ * execution ids when the caller does not provide one. Flow definitions can be
9
+ * executed, discarded, polled, interrupted, and resumed.
10
+ *
11
+ * The two nouns of `docs/concepts/flows-and-actions.md` divide the
12
+ * surface here: an Action carries an implementation, attached separately as a
13
+ * Layer; a Flow carries a body, and never opaque executable code. There is
14
+ * therefore no handler to attach to a flow, and no `toLayer` on one to attach
15
+ * it with.
16
+ *
17
+ * @since 0.1.0
18
+ */
19
+
20
+ import type * as Node from "@smthrs/plan/Node"
21
+ import type * as Planned from "@smthrs/plan/Planned"
22
+ import type * as Cause from "effect/Cause"
23
+ import type * as Context from "effect/Context"
24
+ import type * as Crypto from "effect/Crypto"
25
+ import type * as Duration from "effect/Duration"
26
+ import type * as Effect from "effect/Effect"
27
+ import type * as Option from "effect/Option"
28
+ import type * as Schema from "effect/Schema"
29
+ import type * as Scope from "effect/Scope"
30
+ import type { Declared, PlannedPayload, Requirement } from "../Action/Action.ts"
31
+ import type { CancelRequestFailed } from "../FlowRuntime/CancelRequestFailed.ts"
32
+ import type { ExecutionIdentityConflict } from "../FlowRuntime/ExecutionIdentityConflict.ts"
33
+ import type { FlowCycleDetected } from "../FlowRuntime/FlowCycleDetected.ts"
34
+ import type { FlowExecutionNotFound } from "../FlowRuntime/FlowExecutionNotFound.ts"
35
+ import type { FlowInstance, FlowRuntime } from "../FlowRuntime/index.ts"
36
+ import type * as RetryPolicy from "../RetryPolicy.ts"
37
+ import type { Outcome, To } from "./Outcome.ts"
38
+ import type { Result } from "./Result.ts"
39
+ import type { TypeId } from "./TypeId.ts"
40
+
41
+ /**
42
+ * Values with which a flow body may settle one round.
43
+ *
44
+ * A plain decoded success completes the flow. A planned success is a symbolic
45
+ * reference the graph resolves before settlement. An outcome either completes
46
+ * explicitly, hands off to another round, or parks durably.
47
+ *
48
+ * @category models
49
+ * @since 0.1.0
50
+ */
51
+ export type BodySuccess<A> = A | Planned.Planned<A> | Outcome<A | Planned.Planned<A>, unknown>
52
+
53
+ /**
54
+ * A primary model seat with optional ordered fallback seats.
55
+ *
56
+ * @category models
57
+ * @since 1.0.0
58
+ */
59
+ export type ModelSelection = string | readonly [string, ...Array<string>]
60
+
61
+ /**
62
+ * Literal metadata a catalog can read without executing the declaration.
63
+ * Model selection and system teaching are interpreted by the host.
64
+ *
65
+ * @category models
66
+ * @since 1.0.0
67
+ */
68
+ export interface DeclarationMetadata {
69
+ readonly model?: ModelSelection | undefined
70
+ readonly effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined
71
+ readonly system?: ReadonlyArray<string> | undefined
72
+ readonly chat?: boolean | undefined
73
+ readonly flows?: ReadonlyArray<string> | undefined
74
+ }
75
+
76
+ /**
77
+ * A typed prompt declaration lowered to an ordinary declared action.
78
+ * The host supplies that action's implementation; planning never renders it.
79
+ *
80
+ * @category models
81
+ * @since 1.0.0
82
+ */
83
+ export interface PromptFlow<
84
+ Tag extends string,
85
+ Payload extends AnyStructSchema,
86
+ Success extends Schema.Top,
87
+ Error extends Schema.Top
88
+ > extends Flow<Tag, Payload, Success, Error, Requirement<`${Tag}/prompt`>> {
89
+ readonly prompt: (payload: Payload["Type"]) => string
90
+ readonly action: Declared<`${Tag}/prompt`, Payload, Success, Error>
91
+ annotate<I, S>(tag: Context.Key<I, S>, value: S): PromptFlow<Tag, Payload, Success, Error>
92
+ annotateMerge<I>(context: Context.Context<I>): PromptFlow<Tag, Payload, Success, Error>
93
+ }
94
+
95
+ /**
96
+ * Durable flow definition with typed payload, success, and error schemas
97
+ * plus operations for execution, polling, interruption, resumption, and
98
+ * registration.
99
+ *
100
+ * @category models
101
+ * @since 0.1.0
102
+ */
103
+ export interface Flow<
104
+ Tag extends string,
105
+ Payload extends AnyStructSchema,
106
+ Success extends Schema.Top,
107
+ Error extends Schema.Top,
108
+ Requires = never
109
+ > extends DeclarationMetadata {
110
+ new(_: never): {}
111
+
112
+ readonly [TypeId]: typeof TypeId
113
+ readonly _tag: Tag
114
+ /**
115
+ * One sentence saying what this flow does, for a catalog that lists it.
116
+ *
117
+ * It is a plain literal rather than an annotation because a discovered
118
+ * `flows/<name>/flow.ts` is read WITHOUT being imported: `@smthrs/registry`
119
+ * tokenizes the declaration and takes the description from it, so a flow that
120
+ * states one only in an annotation is listed with nothing to read.
121
+ */
122
+ readonly description?: string | undefined
123
+ readonly payloadSchema: Payload
124
+ readonly successSchema: Success
125
+ readonly errorSchema: Error
126
+ readonly annotations: Context.Context<never>
127
+ /** The renderer a prompt declaration supplies to its host. */
128
+ readonly prompt?: ((payload: Payload["Type"]) => string) | undefined
129
+ /** The ordinary action a prompt declaration asks its host to implement. */
130
+ readonly action?: Declared<any, Payload, Success, Error, any> | undefined
131
+ /**
132
+ * The pure plan-time body that IS this flow's behavior.
133
+ *
134
+ * The payload is decoded real data and the returned node only describes
135
+ * topology. It is a FIELD rather than an injectable layer because there is
136
+ * exactly one of it, it is pure, and its digest enters the flow's content
137
+ * identity, so a flow cannot plan one way under one wiring and another way
138
+ * under another. Purity includes closure capture: the body must not read
139
+ * mutable module state, clocks, random values, services, or environment
140
+ * values captured outside `payload`; source-digest identity cannot observe
141
+ * those aliases changing. Work that genuinely wants opaque code is an
142
+ * Action.
143
+ *
144
+ * `Requires` is read off this node. A body that names an action names an
145
+ * implementation it does not carry, and that obligation travels with the flow
146
+ * until something executes it.
147
+ */
148
+ readonly body: (payload: Payload["Type"]) => Node.Node<BodySuccess<Success["Type"]>, Error["Type"], Requires>
149
+ /**
150
+ * Declares the stable key used when a caller supplies no execution id.
151
+ *
152
+ * The flow tag and returned key are JSON-tuple framed, then hashed as their
153
+ * exact UTF-8 strings. No Unicode normalization is applied, and this preimage
154
+ * encoding freezes at rc.0.
155
+ */
156
+ readonly idempotencyKey?: ((payload: Payload["Type"]) => string) | undefined
157
+ /**
158
+ * How long ONE CALLER keeps polling a suspended execution of this flow.
159
+ *
160
+ * It is a per-caller wall-clock budget, not a bound on the run. `execute`
161
+ * re-drives a parked execution on this schedule and gives up when the
162
+ * schedule is spent; the execution stays parked, and the next caller — a
163
+ * second process, a sweep, a resume — starts a budget of its own. Nothing
164
+ * about it is durable, and a spent budget cancels nothing.
165
+ *
166
+ * What bounds work durably is an action's own `RetryPolicy`: the engine
167
+ * restores `maxAttempts` from the persisted attempt sequence and the
168
+ * `expirationMs` origin from the first attempt's start time, so those
169
+ * survive park, resume, and process death.
170
+ */
171
+ readonly suspendedRetryPolicy?: RetryPolicy.RetryPolicy | undefined
172
+ /**
173
+ * How many rounds one trampoline lineage started from this flow may open.
174
+ *
175
+ * The bound is a BUDGET, not loop detection: identical consecutive rounds
176
+ * are legal, so `docs/concepts/trampoline-rounds.md` stops a runaway
177
+ * lineage by counting rounds instead of comparing them. Absent means
178
+ * unbounded, which is the right default for a lineage whose exit condition
179
+ * is its own branch. Exceeding it terminates the lineage with a
180
+ * {@link module:MaxRoundsExceeded.MaxRoundsExceeded} defect recorded in the
181
+ * execution result; it is not a typed `execute` failure.
182
+ */
183
+ readonly maxRounds?: number | undefined
184
+ /**
185
+ * How long one execution of this flow may take, counted from its first
186
+ * start.
187
+ *
188
+ * The start is journaled, so the bound survives park, resume and process
189
+ * death: a restarted engine honors the original deadline. On expiry the
190
+ * execution settles with a {@link module:DeadlineExceeded.DeadlineExceeded}
191
+ * defect whether it was running or parked, and its attached children are
192
+ * cancelled with it. Absent means unbounded.
193
+ */
194
+ readonly deadline?: Duration.Duration | undefined
195
+
196
+ /**
197
+ * Describes an inline call to this flow without executing it.
198
+ *
199
+ * The callee's steps join the caller's plan, so the callee's requirements are
200
+ * the caller's: `Requires` propagates.
201
+ */
202
+ readonly call: (
203
+ payload: PlannedPayload<Payload["~type.make.in"]>
204
+ ) => Node.Node<Success["Type"], Error["Type"], Requires>
205
+
206
+ /**
207
+ * Describes an explicit child boundary: ONE node in the caller's plan, and a
208
+ * real child execution when that node is driven.
209
+ *
210
+ * `.call()` splices this flow's body into the caller's plan, so every inner
211
+ * step is visible and individually keyed. `.child()` is the other choice
212
+ * `docs/concepts/flows-and-actions.md` gives: the callee keeps its
213
+ * own execution, journal lineage, retry policy, and placement, and the caller
214
+ * sees one leaf. It is also the way out of the two build refusals inline
215
+ * expansion raises — a recursive `.call()` and a placement the caller cannot
216
+ * satisfy.
217
+ *
218
+ * It is an execution boundary for requirements too, so `Requires` is DROPPED
219
+ * rather than propagated: the child runs under its own driver, which provides
220
+ * its own context, and the caller's plan holds one leaf naming it.
221
+ */
222
+ readonly child: (
223
+ payload: PlannedPayload<Payload["~type.make.in"]>
224
+ ) => Node.Node<Success["Type"], Error["Type"]>
225
+
226
+ /**
227
+ * Describes a serializable invocation for the next trampoline round.
228
+ *
229
+ * A handoff ends this execution and names the next one, so `Requires` is
230
+ * DROPPED here as well. That is also what keeps a self-loop's type finite: a
231
+ * body that hands off to its own flow would otherwise have to name its own
232
+ * requirements inside them.
233
+ */
234
+ readonly to: (
235
+ payload: PlannedPayload<Payload["~type.make.in"]>
236
+ ) => Node.Node<To<Payload["Type"]>>
237
+
238
+ /**
239
+ * Add an annotation to the flow.
240
+ */
241
+ annotate<I, S>(
242
+ key: Context.Key<I, S>,
243
+ value: S
244
+ ): Flow<Tag, Payload, Success, Error, Requires>
245
+
246
+ /**
247
+ * Merge multiple annotations into the flow.
248
+ */
249
+ annotateMerge<I>(
250
+ annotations: Context.Context<I>
251
+ ): Flow<Tag, Payload, Success, Error, Requires>
252
+
253
+ /**
254
+ * Execute the flow with the given payload.
255
+ *
256
+ * This is where `Requires` is collected. Planning is requirement-free by
257
+ * design, so a body that names an action nobody implemented is a legal plan
258
+ * right up to here; asking to RUN it is what makes the missing layer a
259
+ * compile error rather than a run that dies partway through.
260
+ *
261
+ * Identity comes from the first source that has one: the `executionId`
262
+ * option, the flow's declared `idempotencyKey`, then the ambient
263
+ * `CurrentExecutionIds` source, whose default mints a fresh UUID. Equal
264
+ * unkeyed payloads start independent executions. Retain the execution id or
265
+ * opt into a derived source to reattach after a crash.
266
+ *
267
+ * A payload that fails the flow's own schema is a typed
268
+ * `Schema.SchemaError` failure carrying the offending field path — caller
269
+ * input is data, not programmer wiring, so it fails rather than dies.
270
+ */
271
+ readonly execute: <const Discard extends boolean = false>(
272
+ payload: Payload["~type.make.in"],
273
+ options?: {
274
+ readonly discard?: Discard
275
+ readonly executionId?: string | undefined
276
+ }
277
+ ) => Effect.Effect<
278
+ Discard extends true ? string : Success["Type"],
279
+ Schema.SchemaError | FlowCycleDetected | ExecutionIdentityConflict | (Discard extends true ? never : Error["Type"]),
280
+ | FlowRuntime
281
+ | Crypto.Crypto
282
+ | Requires
283
+ | Payload["EncodingServices"]
284
+ | Success["DecodingServices"]
285
+ | Error["DecodingServices"]
286
+ >
287
+
288
+ /**
289
+ * Starts a fresh execution and returns its id. Equal payloads start independent
290
+ * executions; declared and ambient idempotency policies are intentionally bypassed.
291
+ * Observe the execution with `poll`, or await it using `execute` with this id.
292
+ */
293
+ readonly start: (payload: Payload["~type.make.in"]) => Effect.Effect<
294
+ string,
295
+ Schema.SchemaError | FlowCycleDetected,
296
+ | FlowRuntime
297
+ | Crypto.Crypto
298
+ | Requires
299
+ | Payload["EncodingServices"]
300
+ | Success["DecodingServices"]
301
+ | Error["DecodingServices"]
302
+ >
303
+
304
+ /**
305
+ * Starts or joins the execution identified by this flow tag and an explicit
306
+ * caller key, returning its id. Reusing a key is an explicit retry/reattachment
307
+ * decision. Existing persisted key encodings remain unchanged.
308
+ */
309
+ readonly ensure: (
310
+ payload: Payload["~type.make.in"],
311
+ options: { readonly key: string }
312
+ ) => ReturnType<Flow<Tag, Payload, Success, Error, Requires>["start"]>
313
+
314
+ /**
315
+ * Poll the current status of a flow execution.
316
+ *
317
+ * `Option.none` means the execution is known and has not settled;
318
+ * {@link FlowExecutionNotFound} means the runtime has no record of the
319
+ * execution id at all.
320
+ */
321
+ readonly poll: (
322
+ executionId: string
323
+ ) => Effect.Effect<
324
+ Option.Option<Result<Success["Type"], Error["Type"]>>,
325
+ FlowExecutionNotFound,
326
+ FlowRuntime | Success["DecodingServices"] | Error["DecodingServices"]
327
+ >
328
+
329
+ /**
330
+ * Requests cancellation of the execution.
331
+ *
332
+ * This is not a pause operation. The engine interrupts active work while
333
+ * preserving its normal cleanup, compensation, and child-flow semantics.
334
+ * Calling `resume` does not undo the cancellation request.
335
+ *
336
+ * A durable engine records the cancellation request before it interrupts
337
+ * anything, and reports {@link CancelRequestFailed} when that record could
338
+ * not be written — the execution is then still running, so the caller sees
339
+ * the storage failure instead of a false success. An in-memory engine has
340
+ * nothing to record and never raises it.
341
+ */
342
+ readonly interrupt: (
343
+ executionId: string
344
+ ) => Effect.Effect<void, CancelRequestFailed, FlowRuntime>
345
+
346
+ /**
347
+ * Re-drives an execution that returned `Suspended` so it can replay its
348
+ * durable history and continue after its awaited condition becomes ready.
349
+ *
350
+ * This does not resume an execution cancelled by `interrupt`, and it is not
351
+ * needed for an execution that is already running or complete.
352
+ *
353
+ * It does NOT collect `Requires`, even though it re-drives the body. The
354
+ * runtime captures the context a flow was REGISTERED under and merges it
355
+ * beneath whatever a run supplies, so the implementations that made the first
356
+ * round possible are the ones a re-driven round reaches; a resumer holding an
357
+ * execution id is not the party that has them. `execute` remains the one
358
+ * place a plan's requirements are asked for.
359
+ */
360
+ readonly resume: (
361
+ executionId: string
362
+ ) => Effect.Effect<void, never, FlowRuntime>
363
+
364
+ /**
365
+ * For the given payload, compute the execution ID `execute` would run under
366
+ * when the caller names none.
367
+ *
368
+ * That is the flow's `idempotencyKey` when it declares one, and the ambient
369
+ * `CurrentExecutionIds` source otherwise. It dies with `ExecutionIdRequired`
370
+ * when the opt-in `derived` source cannot canonicalize the payload. The default
371
+ * source mints a fresh UUID on each call; pass the returned id explicitly to
372
+ * `execute` to select that invocation.
373
+ *
374
+ * A payload this flow's own schema refuses also dies as a defect here. This
375
+ * differs from `execute`, which fails with a typed `Schema.SchemaError` for
376
+ * the same caller input. A caller precomputing an id should validate the
377
+ * payload first.
378
+ */
379
+ readonly executionId: (
380
+ payload: Payload["~type.make.in"]
381
+ ) => Effect.Effect<string, never, Crypto.Crypto | Payload["EncodingServices"]>
382
+
383
+ /**
384
+ * Runs an effect and registers how to undo its successful result if the
385
+ * current round later exits unsuccessfully.
386
+ *
387
+ * If the effect itself fails, no rollback is registered. If both the effect
388
+ * and the round succeed, the rollback is discarded. Otherwise the rollback
389
+ * receives the effect's successful value and the round's failure cause when
390
+ * the round's scope closes. Suspension keeps that scope open.
391
+ *
392
+ * A handoff completes the round successfully and discards its `withRollback` registrations.
393
+ * A later round's failure cannot invoke those rollbacks. The engine does not
394
+ * provide lineage-scoped compensation.
395
+ *
396
+ * This applies only to effects run directly inside the flow execution. It
397
+ * does not attach rollback behavior to nested actions.
398
+ */
399
+ readonly withRollback: {
400
+ <A, R2>(
401
+ rollback: (
402
+ value: A,
403
+ cause: Cause.Cause<Error["Type"]>
404
+ ) => Effect.Effect<void, never, R2>
405
+ ): <E, R>(
406
+ effect: Effect.Effect<A, E, R>
407
+ ) => Effect.Effect<
408
+ A,
409
+ E,
410
+ R | R2 | FlowInstance | Scope.Scope
411
+ >
412
+ <A, E, R, R2>(
413
+ effect: Effect.Effect<A, E, R>,
414
+ rollback: (
415
+ value: A,
416
+ cause: Cause.Cause<Error["Type"]>
417
+ ) => Effect.Effect<void, never, R2>
418
+ ): Effect.Effect<
419
+ A,
420
+ E,
421
+ R | R2 | FlowInstance | Scope.Scope
422
+ >
423
+ }
424
+ }
425
+
426
+ /**
427
+ * Schema constraint for flow payload schemas that expose struct fields.
428
+ *
429
+ * @category schemas
430
+ * @since 0.1.0
431
+ */
432
+ export interface AnyStructSchema extends Schema.Top {
433
+ readonly fields: Schema.Struct.Fields
434
+ }
435
+
436
+ /**
437
+ * Type-level marker for services associated with a specific flow
438
+ * execution tag.
439
+ *
440
+ * @category models
441
+ * @since 0.1.0
442
+ */
443
+ export interface Execution<Tag extends string> {
444
+ readonly _: unique symbol
445
+ readonly _tag: Tag
446
+ }
447
+
448
+ /**
449
+ * Type-erased flow shape for APIs that operate on flows without
450
+ * preserving their specific payload, success, or error types.
451
+ *
452
+ * @category models
453
+ * @since 0.1.0
454
+ */
455
+ export interface Any extends DeclarationMetadata {
456
+ new(_: never): {}
457
+
458
+ readonly [TypeId]: typeof TypeId
459
+ readonly _tag: string
460
+ readonly description?: string | undefined
461
+ readonly executionId: (payload: any) => Effect.Effect<string, never, any>
462
+ readonly payloadSchema: AnyStructSchema
463
+ readonly successSchema: Schema.Top
464
+ readonly errorSchema: Schema.Top
465
+ readonly annotations: Context.Context<never>
466
+ readonly prompt?: ((payload: any) => string) | undefined
467
+ readonly action?:
468
+ | Pick<
469
+ Declared<string, AnyStructSchema, Schema.Top, Schema.Top, any>,
470
+ "name" | "payloadSchema" | "successSchema" | "errorSchema" | "implementationVersion" | "annotations"
471
+ >
472
+ | undefined
473
+ readonly body: (payload: any) => Node.Node<unknown, unknown, any>
474
+ readonly idempotencyKey?: ((payload: any) => string) | undefined
475
+ readonly suspendedRetryPolicy?: RetryPolicy.RetryPolicy | undefined
476
+ readonly maxRounds?: number | undefined
477
+ readonly deadline?: Duration.Duration | undefined
478
+ }
479
+
480
+ /**
481
+ * Type-erased flow shape that also exposes executable operations needed by
482
+ * flow proxy and engine helpers.
483
+ *
484
+ * @category models
485
+ * @since 0.1.0
486
+ */
487
+ export interface AnyWithProps extends Any {
488
+ readonly payloadSchema: AnyStructSchema
489
+ readonly successSchema: Schema.Top
490
+ readonly errorSchema: Schema.Top
491
+ readonly execute: (
492
+ payload: any,
493
+ options?: {
494
+ readonly discard?: boolean
495
+ readonly executionId?: string | undefined
496
+ }
497
+ ) => Effect.Effect<any, any, any>
498
+ /**
499
+ * Re-drives a durably suspended execution; it does not undo cancellation.
500
+ */
501
+ readonly resume: (
502
+ executionId: string
503
+ ) => Effect.Effect<void, never, FlowRuntime>
504
+ }
505
+
506
+ /**
507
+ * Extracts the payload schema from a `Flow`.
508
+ *
509
+ * @category models
510
+ * @since 0.1.0
511
+ */
512
+ export type PayloadSchema<W> = W extends Flow<
513
+ infer _Name,
514
+ infer _Payload,
515
+ infer _Success,
516
+ infer _Error,
517
+ infer _Requires
518
+ > ? _Payload
519
+ : never
520
+
521
+ /**
522
+ * Extracts the requirement channel of a `Flow`: the action implementations
523
+ * its body names and does not carry.
524
+ *
525
+ * @category models
526
+ * @since 0.1.0
527
+ */
528
+ export type Requirements<W> = W extends Flow<
529
+ infer _Name,
530
+ infer _Payload,
531
+ infer _Success,
532
+ infer _Error,
533
+ infer _Requires
534
+ > ? _Requires
535
+ : never
536
+
537
+ /**
538
+ * Computes the schema services required by clients that execute or poll
539
+ * flows.
540
+ *
541
+ * @category models
542
+ * @since 0.1.0
543
+ */
544
+ export type RequirementsClient<Flows extends Any> = Flows extends Flow<
545
+ infer _Name,
546
+ infer _Payload,
547
+ infer _Success,
548
+ infer _Error,
549
+ infer _Requires
550
+ > ?
551
+ | _Payload["EncodingServices"]
552
+ | _Success["DecodingServices"]
553
+ | _Error["DecodingServices"]
554
+ : never
555
+
556
+ /**
557
+ * Computes the schema services required by handlers that decode flow
558
+ * payloads and encode flow results.
559
+ *
560
+ * @category models
561
+ * @since 0.1.0
562
+ */
563
+ export type RequirementsHandler<Flows extends Any> = Flows extends Flow<
564
+ infer _Name,
565
+ infer _Payload,
566
+ infer _Success,
567
+ infer _Error,
568
+ infer _Requires
569
+ > ?
570
+ | _Payload["DecodingServices"]
571
+ | _Payload["EncodingServices"]
572
+ | _Success["DecodingServices"]
573
+ | _Success["EncodingServices"]
574
+ | _Error["DecodingServices"]
575
+ | _Error["EncodingServices"]
576
+ : never
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Defect recorded when a trampoline lineage runs past its declared round budget.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+
7
+ import * as Effect from "effect/Effect"
8
+ import * as Schema from "effect/Schema"
9
+
10
+ /**
11
+ * A lineage asked for one more round than its flow's `maxRounds` allows.
12
+ *
13
+ * `docs/concepts/trampoline-rounds.md` chooses a budget over loop
14
+ * detection: identical consecutive rounds are legal (a poller is exactly
15
+ * that), so the only honest stop condition is a declared bound on how many
16
+ * rounds one lineage may open. Exceeding it is terminal for the lineage — the
17
+ * round that asked for the handoff is settled with this defect rather than
18
+ * handed off — because a lineage that has run out of budget has nowhere left
19
+ * to continue, and letting it keep going would make the bound advisory.
20
+ *
21
+ * `roundOrdinal` is the zero-based ordinal of the round that was refused, so
22
+ * it always equals `maxRounds` when the refusal is raised.
23
+ *
24
+ * @category errors
25
+ * @since 0.1.0
26
+ */
27
+ export class MaxRoundsExceeded extends Schema.TaggedError<MaxRoundsExceeded>()(
28
+ "@smthrs/flow/MaxRoundsExceeded",
29
+ {
30
+ code: Schema.Literal("max_rounds_exceeded").pipe(
31
+ Schema.withConstructorDefault(Effect.succeed("max_rounds_exceeded"))
32
+ ),
33
+ flowName: Schema.String,
34
+ lineageId: Schema.String,
35
+ maxRounds: Schema.Number,
36
+ roundOrdinal: Schema.Number,
37
+ message: Schema.String
38
+ }
39
+ ) {}