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

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 +161 -0
  2. package/LICENSE +21 -0
  3. package/README.md +212 -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 +387 -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 +110 -0
  106. package/dist/cjs/Deadline.d.ts.map +1 -0
  107. package/dist/cjs/Deadline.js +112 -0
  108. package/dist/cjs/Deadline.js.map +7 -0
  109. package/dist/cjs/DurableClock.d.ts +60 -0
  110. package/dist/cjs/DurableClock.d.ts.map +1 -0
  111. package/dist/cjs/DurableClock.js +107 -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 +339 -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 +186 -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 +149 -0
  182. package/dist/cjs/Flow/make.d.ts.map +1 -0
  183. package/dist/cjs/Flow/make.js +107 -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 +204 -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 +177 -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 +1020 -0
  224. package/dist/cjs/Graph.js.map +7 -0
  225. package/dist/cjs/HumanTask.d.ts +442 -0
  226. package/dist/cjs/HumanTask.d.ts.map +1 -0
  227. package/dist/cjs/HumanTask.js +422 -0
  228. package/dist/cjs/HumanTask.js.map +7 -0
  229. package/dist/cjs/Interpreter.d.ts +223 -0
  230. package/dist/cjs/Interpreter.d.ts.map +1 -0
  231. package/dist/cjs/Interpreter.js +919 -0
  232. package/dist/cjs/Interpreter.js.map +7 -0
  233. package/dist/cjs/Poll.d.ts +240 -0
  234. package/dist/cjs/Poll.d.ts.map +1 -0
  235. package/dist/cjs/Poll.js +154 -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 +141 -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 +413 -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 +110 -0
  383. package/dist/esm/Deadline.d.ts.map +1 -0
  384. package/dist/esm/Deadline.js +164 -0
  385. package/dist/esm/Deadline.js.map +1 -0
  386. package/dist/esm/DurableClock.d.ts +60 -0
  387. package/dist/esm/DurableClock.d.ts.map +1 -0
  388. package/dist/esm/DurableClock.js +122 -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 +252 -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 +149 -0
  459. package/dist/esm/Flow/make.d.ts.map +1 -0
  460. package/dist/esm/Flow/make.js +111 -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 +204 -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 +177 -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 +1485 -0
  501. package/dist/esm/Graph.js.map +1 -0
  502. package/dist/esm/HumanTask.d.ts +442 -0
  503. package/dist/esm/HumanTask.d.ts.map +1 -0
  504. package/dist/esm/HumanTask.js +810 -0
  505. package/dist/esm/HumanTask.js.map +1 -0
  506. package/dist/esm/Interpreter.d.ts +223 -0
  507. package/dist/esm/Interpreter.d.ts.map +1 -0
  508. package/dist/esm/Interpreter.js +1301 -0
  509. package/dist/esm/Interpreter.js.map +1 -0
  510. package/dist/esm/Poll.d.ts +240 -0
  511. package/dist/esm/Poll.d.ts.map +1 -0
  512. package/dist/esm/Poll.js +289 -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 +256 -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 +152 -0
  559. package/docs/api.md +440 -0
  560. package/docs/concepts/bodies-and-plans.md +167 -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 +164 -0
  568. package/docs/guides/cancel-and-roll-back.md +112 -0
  569. package/docs/guides/implement-an-action.md +155 -0
  570. package/docs/guides/inspect-the-plan.md +235 -0
  571. package/docs/guides/poll-until-ready.md +169 -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 +129 -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 +87 -0
  581. package/docs/quickstart.md +164 -0
  582. package/docs/reference/flow.md +1835 -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 +671 -0
  609. package/src/Action/raceAll.ts +48 -0
  610. package/src/Action/retry.ts +92 -0
  611. package/src/Deadline.ts +201 -0
  612. package/src/DurableClock.ts +176 -0
  613. package/src/DurableDeferred.ts +753 -0
  614. package/src/DurableQueue.ts +519 -0
  615. package/src/ExternalJob.ts +437 -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 +339 -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 +299 -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 +339 -0
  637. package/src/FlowRuntime/NodeRecord.ts +185 -0
  638. package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
  639. package/src/FlowRuntime/index.ts +17 -0
  640. package/src/Graph.ts +1865 -0
  641. package/src/HumanTask.ts +1021 -0
  642. package/src/Interpreter.ts +1635 -0
  643. package/src/Poll.ts +420 -0
  644. package/src/RetryPolicy.ts +550 -0
  645. package/src/Sleep.ts +296 -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,339 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * The execution contract flow authoring APIs are written against.
5
+ *
6
+ * `FlowRuntime` is the port: the smallest service a `Flow`, an `Action`, a
7
+ * `DurableDeferred`, or a `DurableClock` needs in order to be executed,
8
+ * polled, suspended, and resumed. `@smthrs/flow` declares it and depends on
9
+ * nothing that implements it; `@smthrs/engine` supplies the implementation,
10
+ * so the dependency runs one way only.
11
+ *
12
+ * Every method here takes a flow whatever its requirement channel says, and
13
+ * demands none of it. The channel is a compile-time statement about which
14
+ * action implementations a body names, and this port is below the place that
15
+ * statement is settled: a runtime resolves each call by the tag the node
16
+ * carries, which is the only thing left of a plan read back out of a journal.
17
+ * `Flow.execute` — written against this port, one level up — is where the
18
+ * requirements are collected, so the erasure is deliberate rather than a hole:
19
+ * a caller reaching the port directly has already been asked, or is replaying a
20
+ * persisted plan and has nothing to be asked about.
21
+ *
22
+ * @since 0.1.0
23
+ */
24
+
25
+ import * as Context from "effect/Context"
26
+ import type * as Crypto from "effect/Crypto"
27
+ import type * as Effect from "effect/Effect"
28
+ import type * as Exit from "effect/Exit"
29
+ import type * as Option from "effect/Option"
30
+ import type * as Schema from "effect/Schema"
31
+ import type * as Scope from "effect/Scope"
32
+ import type * as Action from "../Action/index.ts"
33
+ import type { DurableClock } from "../DurableClock.ts"
34
+ import type * as DurableDeferred from "../DurableDeferred.ts"
35
+ import type * as Flow from "../Flow/index.ts"
36
+ import type { InterpreterError } from "../Interpreter.ts"
37
+ import type * as RetryPolicy from "../RetryPolicy.ts"
38
+ import type { CancelRequestFailed } from "./CancelRequestFailed.ts"
39
+ import type { FlowCycleDetected } from "./FlowCycleDetected.ts"
40
+ import type { FlowExecutionNotFound } from "./FlowExecutionNotFound.ts"
41
+ import type { FlowInstance } from "./FlowInstance.ts"
42
+ import type * as NodeRecord from "./NodeRecord.ts"
43
+
44
+ /**
45
+ * Result of atomically completing a deferred only while its run is parked.
46
+ *
47
+ * @category models
48
+ * @since 1.0.0
49
+ */
50
+ export type DeferredDoneIfWaitingOutcome = "Completed" | "Existing" | "NotWaiting"
51
+
52
+ /**
53
+ * How a caller asks a suspended execution to resume.
54
+ *
55
+ * `delegated` marks a background resume a host takes up on someone else's
56
+ * behalf: an approval decision, a saved request, a peer's delegation. It is
57
+ * not recovery consent, so a durable engine refuses it for a quarantined
58
+ * execution in the same transaction that reads the park. A host that checks
59
+ * the park first and resumes after has a window in which a peer can
60
+ * quarantine the run; only the engine's own check closes it.
61
+ *
62
+ * @category models
63
+ * @since 1.0.0
64
+ */
65
+ export interface ResumeOptions {
66
+ readonly poll?: boolean | undefined
67
+ readonly delegated?: boolean | undefined
68
+ }
69
+
70
+ /**
71
+ * Service that represents a flow runtime, responsible for registering and
72
+ * executing flows and coordinating actions, durable deferreds,
73
+ * interrupts, resumes, and clocks.
74
+ *
75
+ * @category services
76
+ * @since 0.1.0
77
+ */
78
+ export class FlowRuntime extends Context.Service<
79
+ FlowRuntime,
80
+ {
81
+ /** Storage capability advertised by the runtime implementation. Absence is volatile. */
82
+ readonly durability?: "durable" | undefined
83
+ /**
84
+ * Register a flow with the runtime. `ifAbsent` preserves a live registration
85
+ * when discovering a reachable child. Explicit registrations otherwise
86
+ * replace the registered handler; the registration scope owns its removal.
87
+ */
88
+ readonly register: <
89
+ Name extends string,
90
+ Payload extends Flow.AnyStructSchema,
91
+ Success extends Schema.Top,
92
+ Error extends Schema.Top,
93
+ R
94
+ >(
95
+ flow: Flow.Flow<Name, Payload, Success, Error, any>,
96
+ execute: (
97
+ payload: Payload["Type"],
98
+ executionId: string
99
+ ) => Effect.Effect<Success["Type"], Error["Type"], R>,
100
+ options?: { readonly ifAbsent?: boolean | undefined }
101
+ ) => Effect.Effect<
102
+ void,
103
+ never,
104
+ | Scope.Scope
105
+ | Exclude<
106
+ R,
107
+ | FlowRuntime
108
+ | FlowInstance
109
+ | Flow.Execution<Name>
110
+ | Scope.Scope
111
+ >
112
+ | Payload["DecodingServices"]
113
+ | Payload["EncodingServices"]
114
+ | Success["DecodingServices"]
115
+ | Success["EncodingServices"]
116
+ | Error["DecodingServices"]
117
+ | Error["EncodingServices"]
118
+ >
119
+
120
+ /**
121
+ * Execute a registered flow.
122
+ */
123
+ readonly execute: <
124
+ Name extends string,
125
+ Payload extends Flow.AnyStructSchema,
126
+ Success extends Schema.Top,
127
+ Error extends Schema.Top,
128
+ const Discard extends boolean = false
129
+ >(
130
+ flow: Flow.Flow<Name, Payload, Success, Error, any>,
131
+ options: {
132
+ readonly executionId: string
133
+ readonly payload: Payload["Type"]
134
+ readonly discard?: Discard | undefined
135
+ readonly suspendedRetryPolicy?:
136
+ | RetryPolicy.RetryPolicy
137
+ | undefined
138
+ }
139
+ ) => Effect.Effect<
140
+ Discard extends true ? string : Success["Type"],
141
+ Error["Type"] | FlowCycleDetected,
142
+ | Payload["EncodingServices"]
143
+ | Success["DecodingServices"]
144
+ | Error["DecodingServices"]
145
+ >
146
+
147
+ /**
148
+ * Poll the current status of a registered flow execution.
149
+ *
150
+ * `Option.none` means the execution is known and has not settled;
151
+ * {@link FlowExecutionNotFound} means the runtime has no record of the
152
+ * execution id at all. Folding the two together would leave a caller
153
+ * unable to tell a run still in flight from an id that names nothing.
154
+ */
155
+ readonly poll: <
156
+ Name extends string,
157
+ Payload extends Flow.AnyStructSchema,
158
+ Success extends Schema.Top,
159
+ Error extends Schema.Top
160
+ >(
161
+ flow: Flow.Flow<Name, Payload, Success, Error, any>,
162
+ executionId: string
163
+ ) => Effect.Effect<
164
+ Option.Option<Flow.Result<Success["Type"], Error["Type"]>>,
165
+ FlowExecutionNotFound,
166
+ Success["DecodingServices"] | Error["DecodingServices"]
167
+ >
168
+
169
+ /**
170
+ * Requests cancellation of a registered execution while preserving normal
171
+ * cleanup, compensation, and child-flow handling. This is not a pause, and
172
+ * a later `resume` does not undo the cancellation request.
173
+ *
174
+ * Unknown ids and ids belonging to another flow are ignored. The caller's
175
+ * authority, intersected with the host and flow ceilings, must cover the
176
+ * authority recorded at admission; otherwise cancellation is refused with
177
+ * an execution identity conflict defect, before changing the run.
178
+ *
179
+ * A durable runtime records the request before it interrupts anything, and
180
+ * reports {@link CancelRequestFailed} when that record could not be
181
+ * written: the execution is then still running and still cancellable, so
182
+ * the caller must see the failure rather than a false success. An
183
+ * in-memory runtime has nothing to record and never raises it.
184
+ */
185
+ readonly interrupt: (
186
+ flow: Flow.Any,
187
+ executionId: string
188
+ ) => Effect.Effect<void, CancelRequestFailed>
189
+
190
+ /**
191
+ * Immediately cancels a registered execution, potentially ignoring
192
+ * compensation finalizers and orphaning child flows. This unsafe operation
193
+ * is intended for forced shutdown, not ordinary cancellation or pausing.
194
+ *
195
+ * It reports {@link CancelRequestFailed} on the same terms as
196
+ * `interrupt`: forcing cancellation without a durable record would leave a
197
+ * run that nothing later re-cancels.
198
+ */
199
+ readonly interruptUnsafe: (
200
+ flow: Flow.Any,
201
+ executionId: string
202
+ ) => Effect.Effect<void, CancelRequestFailed>
203
+
204
+ /**
205
+ * Re-drives a registered execution that returned `Suspended`, allowing it
206
+ * to replay durable history and continue after an awaited condition becomes
207
+ * ready. It does not undo `interrupt` and is not a general unpause operation.
208
+ *
209
+ * Without options this is the operator's own resume, which is authority
210
+ * to recover a quarantined execution. `poll` is background wake intent and
211
+ * does not authorize recovery of quarantined work. See {@link ResumeOptions}.
212
+ */
213
+ readonly resume: (
214
+ flow: Flow.Any,
215
+ executionId: string,
216
+ options?: ResumeOptions | undefined
217
+ ) => Effect.Effect<void>
218
+
219
+ /**
220
+ * Execute an action from a flow.
221
+ */
222
+ readonly actionExecute: <
223
+ Success extends Schema.Constraint,
224
+ Error extends Schema.Constraint,
225
+ R
226
+ >(
227
+ action: Action.Action<Success, Error, R>,
228
+ attempt: number
229
+ ) => Effect.Effect<
230
+ Flow.Result<Success["Type"], Error["Type"]>,
231
+ never,
232
+ | Success["DecodingServices"]
233
+ | Error["DecodingServices"]
234
+ | R
235
+ | Crypto.Crypto
236
+ | FlowInstance
237
+ >
238
+
239
+ /**
240
+ * Try to retrieve the result of an DurableDeferred
241
+ */
242
+ readonly deferredResult: <
243
+ Success extends Schema.Constraint,
244
+ Error extends Schema.Constraint
245
+ >(
246
+ deferred: DurableDeferred.DurableDeferred<Success, Error>
247
+ ) => Effect.Effect<
248
+ Option.Option<Exit.Exit<Success["Type"], Error["Type"]>>,
249
+ never,
250
+ FlowInstance
251
+ >
252
+
253
+ /**
254
+ * Records the result of a DurableDeferred and schedules waiting flows to
255
+ * resume. Returning acknowledges delivery; it does not wait for the resumed
256
+ * flow to complete. Use `poll` to observe the flow's eventual result.
257
+ */
258
+ readonly deferredDone: <
259
+ Success extends Schema.Constraint,
260
+ Error extends Schema.Constraint
261
+ >(
262
+ deferred: DurableDeferred.DurableDeferred<Success, Error>,
263
+ options: {
264
+ readonly flowName: string
265
+ readonly executionId: string
266
+ readonly deferredName: string
267
+ readonly exit: Exit.Exit<Success["Type"], Error["Type"]>
268
+ }
269
+ ) => Effect.Effect<
270
+ void,
271
+ never,
272
+ Success["EncodingServices"] | Error["EncodingServices"]
273
+ >
274
+
275
+ /**
276
+ * Completes a deferred only when the addressed execution is currently
277
+ * parked on the exact reason and token supplied. The check and the
278
+ * first-writer completion are one runtime mutation, preventing guessed,
279
+ * stale, or already-advanced approval tokens from pre-answering a run.
280
+ */
281
+ readonly deferredDoneIfWaiting: <
282
+ Success extends Schema.Constraint,
283
+ Error extends Schema.Constraint
284
+ >(
285
+ deferred: DurableDeferred.DurableDeferred<Success, Error>,
286
+ options: {
287
+ readonly flowName: string
288
+ readonly executionId: string
289
+ readonly deferredName: string
290
+ readonly reason: string
291
+ readonly token: string
292
+ readonly exit: Exit.Exit<Success["Type"], Error["Type"]>
293
+ }
294
+ ) => Effect.Effect<
295
+ DeferredDoneIfWaitingOutcome,
296
+ never,
297
+ Success["EncodingServices"] | Error["EncodingServices"]
298
+ >
299
+
300
+ /**
301
+ * Records what a driven graph is and how its nodes settled.
302
+ *
303
+ * OPTIONAL, and optional in the strong sense: a runtime that keeps no
304
+ * history has nothing to record, and the interpreter skips journal preflight when none does. An engine with a journal implements it by
305
+ * writing the record; an in-memory or test runtime leaves it absent and
306
+ * the walk is unchanged. That is also why it is not `void`-returning
307
+ * bookkeeping bolted onto `actionExecute`: a node is not an action, and
308
+ * three of the four records describe nodes no action ever dispatched.
309
+ *
310
+ * The record carries its own replay-stable `sourceId`. An implementation
311
+ * MUST use it as the record's producer identity rather than minting one,
312
+ * because that is what makes a resumed walk collapse onto the rows the
313
+ * first walk wrote instead of doubling every node.
314
+ */
315
+ readonly recordNode?:
316
+ | ((record: NodeRecord.NodeRecord) => Effect.Effect<void, InterpreterError, FlowInstance>)
317
+ | undefined
318
+
319
+ /**
320
+ * Upper bound on UTF-8 bytes for a node record's persisted journal entry,
321
+ * including the writer's envelope. Used to page a plan before any writes.
322
+ * Must be deterministic for the execution so resume keeps page identities.
323
+ */
324
+ readonly nodeRecordBytes?:
325
+ | ((record: NodeRecord.NodeRecord) => Effect.Effect<number, never, FlowInstance>)
326
+ | undefined
327
+
328
+ /**
329
+ * Schedule a wake up for a DurableClock
330
+ */
331
+ readonly scheduleClock: (
332
+ flow: Flow.Any,
333
+ options: {
334
+ readonly executionId: string
335
+ readonly clock: DurableClock
336
+ }
337
+ ) => Effect.Effect<void>
338
+ }
339
+ >()("@smthrs/flow/FlowRuntime/FlowRuntime") {}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * What a driven graph tells its runtime about itself.
3
+ *
4
+ * The interpreter knows the whole plan before the first action runs, and it
5
+ * knows when each node is scheduled and how each one settled. Nothing
6
+ * downstream can derive those facts: an attempt record carries a step key and
7
+ * no node id, so a monitor reading a journal can see the work and not the
8
+ * graph it belongs to. These records are the missing half, and this module is
9
+ * the only thing `@smthrs/flow` says about them — the port takes them, and an
10
+ * engine with a journal is what turns them into durable records. A runtime
11
+ * without one keeps its no-op and the interpreter is unchanged.
12
+ *
13
+ * Every record carries its own `sourceId`, and that is the replay-stability
14
+ * contract: a resumed walk rebuilds the same graph and re-derives the same
15
+ * ids, so a journal keyed by `(run, source, sequence)` collapses the second
16
+ * observation onto the first row instead of recording the node twice.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+
21
+ import type * as Plan from "@smthrs/plan/Plan"
22
+ import type { DeclaredAt } from "../internal/DeclarationSite.ts"
23
+
24
+ /**
25
+ * One node of the graph a run was driven from.
26
+ *
27
+ * `tier` and `effects` are the declaration's own, and `dependsOn` is the
28
+ * material dependency set the plan compiles edges from. `action` is the tag a
29
+ * node dispatches, absent on every node that dispatches nothing. `declaredAt`
30
+ * is provenance and never identity: it is outside key material by
31
+ * construction, so adding it re-keys nothing.
32
+ *
33
+ * A node whose dependency list is wider than one page appears on several,
34
+ * each carrying the next DISJOINT slice of `dependsOn` and everything else
35
+ * unchanged. A reader assembles pages in order and unions `dependsOn` per id;
36
+ * keeping only the last summary would read a thousand-way fan-in as a node
37
+ * with two dependencies.
38
+ *
39
+ * @since 1.0.0
40
+ * @category models
41
+ */
42
+ export interface NodeSummary {
43
+ readonly id: string
44
+ readonly kind: string
45
+ readonly dependsOn: ReadonlyArray<string>
46
+ readonly tier: "sealed" | "compensable" | "irreversible"
47
+ readonly action?: string | undefined
48
+ readonly effects?: Plan.NodeEffects | undefined
49
+ readonly declaredAt?: DeclaredAt | undefined
50
+ }
51
+
52
+ /**
53
+ * One edge of the graph, with the reason the builder drew it.
54
+ *
55
+ * @since 1.0.0
56
+ * @category models
57
+ */
58
+ export interface EdgeSummary {
59
+ readonly from: string
60
+ readonly to: string
61
+ readonly reason: "value" | "continuation" | "failure"
62
+ }
63
+
64
+ /**
65
+ * How a node left the walk.
66
+ *
67
+ * `built` ran, `clean` was served entirely from durable records, `failed`
68
+ * raised, and `skipped` is a node the walk never reached — an untaken branch
69
+ * arm, or a dependent of something that failed.
70
+ *
71
+ * @since 1.0.0
72
+ * @category models
73
+ */
74
+ export type NodeOutcome = "built" | "clean" | "failed" | "skipped"
75
+
76
+ /**
77
+ * The graph a run is about to be driven from, or one page of it.
78
+ *
79
+ * A large plan is paged rather than truncated: the first page is the plan
80
+ * record and the rest are appended subgraphs, because a journal entry has a
81
+ * byte bound and a projection that clips one loses nodes silently. Nothing
82
+ * about one node has to fit one page — its summary, its dependency list and
83
+ * the edges that end on it may each run onto the next — so a page's `nodes`
84
+ * and `edges` are a SLICE of the graph and only the assembled pages are the
85
+ * whole of it.
86
+ *
87
+ * @since 1.0.0
88
+ * @category models
89
+ */
90
+ export interface PlanRecorded {
91
+ readonly _tag: "PlanRecorded"
92
+ /** Whole-graph identity; absent only on records from older producers. */
93
+ readonly digest?: string | undefined
94
+ readonly sourceId: string
95
+ readonly flow: string
96
+ readonly generation: number
97
+ readonly page: number
98
+ readonly pages: number
99
+ /** Every node of the whole graph, not of this page. */
100
+ readonly nodeCount: number
101
+ readonly nodes: ReadonlyArray<NodeSummary>
102
+ readonly edges: ReadonlyArray<EdgeSummary>
103
+ }
104
+
105
+ /**
106
+ * A page of a graph too large for one record.
107
+ *
108
+ * @since 1.0.0
109
+ * @category models
110
+ */
111
+ export interface SubgraphAppended {
112
+ readonly _tag: "SubgraphAppended"
113
+ readonly sourceId: string
114
+ readonly flow: string
115
+ readonly generation: number
116
+ readonly page: number
117
+ readonly pages: number
118
+ readonly nodes: ReadonlyArray<NodeSummary>
119
+ readonly edges: ReadonlyArray<EdgeSummary>
120
+ }
121
+
122
+ /**
123
+ * A node the walk is about to compute.
124
+ *
125
+ * `attempt` is the walk's, and it is always 1: the interpreter settles each
126
+ * node once. No step key digest rides here, because none exists yet — the
127
+ * engine allocates a dispatch's ordinal when the dispatch happens, which is
128
+ * after this record is written. The digests arrive on {@link NodeSettled}.
129
+ *
130
+ * @since 1.0.0
131
+ * @category models
132
+ */
133
+ export interface NodeScheduled {
134
+ readonly _tag: "NodeScheduled"
135
+ readonly sourceId: string
136
+ readonly nodeId: string
137
+ readonly kind: string
138
+ readonly attempt: number
139
+ readonly action?: string | undefined
140
+ }
141
+
142
+ /**
143
+ * A node that reached an outcome.
144
+ *
145
+ * `attempts` is the highest durable attempt any of this node's dispatches ran
146
+ * as, and 1 for a node that dispatched nothing. It is the engine's count, not
147
+ * the walk's: the interpreter settles each node once, and a retry happens
148
+ * underneath it inside one dispatch, so a node whose action failed and was
149
+ * retried says two.
150
+ *
151
+ * `stepKeyDigests` names the dispatches this node drove, in the order they
152
+ * were first reported and without repeats — a retried dispatch keeps one step
153
+ * key, because the attempt is folded into no key. It is the join a monitor
154
+ * could not make before: `flows.engine.attempt-started` carries a step key
155
+ * digest and no node id, so an attempt row belongs to the node that claims
156
+ * its digest. A node that dispatches nothing claims none, and a runtime that
157
+ * derives no digests reports an empty list.
158
+ *
159
+ * `value` is what the node settled with — the success value for `built` and
160
+ * `clean`, the typed failure for `failed` — handed over whole and unbounded.
161
+ * It is NOT a summary: bounding and redacting it belongs to the writer that
162
+ * knows where it is going, because a durable row has a byte budget and a
163
+ * credential redactor and an in-memory monitor has neither.
164
+ *
165
+ * @since 1.0.0
166
+ * @category models
167
+ */
168
+ export interface NodeSettled {
169
+ readonly _tag: "NodeSettled"
170
+ readonly sourceId: string
171
+ readonly nodeId: string
172
+ readonly outcome: NodeOutcome
173
+ readonly attempts: number
174
+ readonly action?: string | undefined
175
+ readonly stepKeyDigests: ReadonlyArray<string>
176
+ readonly value?: unknown
177
+ }
178
+
179
+ /**
180
+ * Everything a walk can tell its runtime.
181
+ *
182
+ * @since 1.0.0
183
+ * @category models
184
+ */
185
+ export type NodeRecord = PlanRecorded | SubgraphAppended | NodeScheduled | NodeSettled
@@ -0,0 +1,85 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * Declares how a flow is about to wait before it suspends.
5
+ *
6
+ * @since 0.1.0
7
+ */
8
+
9
+ import * as Effect from "effect/Effect"
10
+ import * as Schema from "effect/Schema"
11
+ import { FlowInstance } from "./FlowInstance.ts"
12
+
13
+ /**
14
+ * The waiting classification a flow can declare before suspending.
15
+ *
16
+ * Mirrors the durable store's waiting payload: `reason` is the supervisor
17
+ * vocabulary (`approval`, `event`, `timer`, `quota`, or a plugin-defined
18
+ * reason), `wakeAt` an absolute deadline, and `token` compare-and-swap
19
+ * material a wake handler matches against.
20
+ *
21
+ * `request` is what the wait declares ABOUT itself, as JSON text, for a reader
22
+ * rather than for a matcher: the question a `HumanTask` is parked on, its
23
+ * kind, and its attempt budget. Nothing routes on it. It exists because `reason` and `token`
24
+ * say only that a person owes the run an answer and which wait point holds it,
25
+ * so an approvals inbox reading a parked run could name the gate and never
26
+ * state the question — which is what left run-3's `coding-clarification`
27
+ * unanswerable.
28
+ *
29
+ * @category models
30
+ * @since 0.1.0
31
+ */
32
+ export interface WaitingAnnotation {
33
+ readonly reason: string
34
+ readonly wakeAt?: number | undefined
35
+ readonly token?: string | undefined
36
+ readonly request?: string | undefined
37
+ }
38
+
39
+ /**
40
+ * Schema for {@link WaitingAnnotation}, the one encodable spelling of the
41
+ * waiting vocabulary. `Flow.Park` carries it so a parking request and the
42
+ * annotation that precedes a suspension cannot describe different waits.
43
+ *
44
+ * @category schemas
45
+ * @since 0.1.0
46
+ */
47
+ export const WaitingAnnotation = Schema.Struct({
48
+ reason: Schema.String,
49
+ wakeAt: Schema.optional(Schema.Number),
50
+ token: Schema.optional(Schema.String),
51
+ // JSON TEXT, not a decoded value. `Flow.Park` carries this struct, and a
52
+ // recursive `Json` schema here pushed `Flow.Outcome`'s inference past
53
+ // TypeScript's instantiation depth; a string also keeps one spelling of the
54
+ // question from the declaring flow all the way to the durable column, which
55
+ // stores exactly this text under a `json_valid` check.
56
+ request: Schema.optional(Schema.String)
57
+ })
58
+
59
+ /**
60
+ * Declares how the flow is about to wait, so a durable driver parks the run
61
+ * with that reason and token instead of the derived `timer`/`event` default.
62
+ *
63
+ * The annotation is scoped to the wait it precedes: once the awaited
64
+ * deferred passes through with a persisted result — including replays after
65
+ * the wait resolved — the declared classification is consumed, so a later
66
+ * suspension parks under its own reason (and keeps its timer `wakeAt`)
67
+ * instead of the stale one (issue #42).
68
+ *
69
+ * Call it immediately before awaiting the deferred that models the wait:
70
+ *
71
+ * ```ts
72
+ * yield* FlowRuntime.annotateWaiting({ reason: "approval", token: requestId })
73
+ * const decision = yield* DurableDeferred.await(approvalGate)
74
+ * ```
75
+ *
76
+ * @category combinators
77
+ * @since 0.1.0
78
+ */
79
+ export const annotateWaiting = (
80
+ waiting: WaitingAnnotation | undefined
81
+ ): Effect.Effect<void, never, FlowInstance> =>
82
+ Effect.gen(function*() {
83
+ const instance = yield* FlowInstance
84
+ instance.waiting = waiting
85
+ })
@@ -0,0 +1,17 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * The runtime port: the execution contract flow authoring APIs require.
5
+ *
6
+ * @since 0.1.0
7
+ */
8
+
9
+ export * from "./CancelRequestFailed.ts"
10
+ export * from "./FlowCycleDetected.ts"
11
+ export * from "./FlowExecutionNotFound.ts"
12
+ export * from "./FlowInstance.ts"
13
+ export * from "./FlowRuntime.ts"
14
+ export * from "./NodeRecord.ts"
15
+ export * from "./WaitingAnnotation.ts"
16
+
17
+ export * from "./ExecutionIdentityConflict.ts"