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

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 +135 -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 +413 -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 +908 -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 +135 -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 +798 -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 +1289 -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 +285 -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 +1007 -0
  642. package/src/Interpreter.ts +1620 -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,311 @@
1
+ import type { NonEmptyReadonlyArray } from "effect/Array";
2
+ import type * as Brand from "effect/Brand";
3
+ import * as Cause from "effect/Cause";
4
+ import type * as Crypto from "effect/Crypto";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Exit from "effect/Exit";
7
+ import * as Schema from "effect/Schema";
8
+ import * as Flow from "./Flow/index.ts";
9
+ import { FlowInstance } from "./FlowRuntime/FlowInstance.ts";
10
+ import { FlowRuntime } from "./FlowRuntime/FlowRuntime.ts";
11
+ declare const TypeId = "@smthrs/flow/DurableDeferred";
12
+ /**
13
+ * Named durable deferred value whose completion is persisted by the flow
14
+ * engine and encoded with success and error schemas.
15
+ *
16
+ * @category models
17
+ * @since 0.1.0
18
+ */
19
+ export interface DurableDeferred<Success extends Schema.Constraint, Error extends Schema.Constraint = Schema.Never> {
20
+ readonly [TypeId]: typeof TypeId;
21
+ readonly name: string;
22
+ readonly successSchema: Success;
23
+ readonly errorSchema: Error;
24
+ readonly exitSchema: Schema.Exit<Schema.Top, Schema.Top, Schema.Top>;
25
+ readonly withActionAttempt: Effect.Effect<DurableDeferred<Success, Error>>;
26
+ }
27
+ /**
28
+ * Type-erased durable deferred shape for APIs that only need the deferred
29
+ * identity and name.
30
+ *
31
+ * @category models
32
+ * @since 0.1.0
33
+ */
34
+ export interface Any {
35
+ readonly [TypeId]: typeof TypeId;
36
+ readonly name: string;
37
+ }
38
+ /**
39
+ * Type-erased durable deferred shape that also exposes success, error, and
40
+ * exit schemas.
41
+ *
42
+ * @category models
43
+ * @since 0.1.0
44
+ */
45
+ export interface AnyWithProps {
46
+ readonly [TypeId]: typeof TypeId;
47
+ readonly name: string;
48
+ readonly successSchema: Schema.Top;
49
+ readonly errorSchema: Schema.Top;
50
+ readonly exitSchema: Schema.Exit<any, any, any>;
51
+ }
52
+ /**
53
+ * Creates a named durable deferred with optional success and error schemas for
54
+ * persisted completion.
55
+ *
56
+ * @category constructors
57
+ * @since 0.1.0
58
+ */
59
+ export declare const make: <Success extends Schema.Constraint = Schema.Void, Error extends Schema.Constraint = Schema.Never>(name: string, options?: {
60
+ readonly success?: Success | undefined;
61
+ readonly error?: Error | undefined;
62
+ }) => DurableDeferred<Success, Error>;
63
+ declare const await_: <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Success["Type"], Error["Type"], FlowRuntime | FlowInstance | Success["DecodingServices"] | Error["DecodingServices"]>;
64
+ export {
65
+ /**
66
+ * Waits for the durable deferred, suspending the current flow when no
67
+ * persisted completion is available.
68
+ *
69
+ * @category combinators
70
+ * @since 0.1.0
71
+ */
72
+ await_ as await };
73
+ /**
74
+ * Runs an effect and records its exit into the durable deferred, resuming
75
+ * flows that are waiting on that deferred.
76
+ *
77
+ * @category combinators
78
+ * @since 0.1.0
79
+ */
80
+ export declare const into: {
81
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>): <R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>) => Effect.Effect<Success["Type"], Error["Type"], R | FlowRuntime | FlowInstance | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"]>;
82
+ <Success extends Schema.Constraint, Error extends Schema.Constraint, R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>, self: DurableDeferred<Success, Error>): Effect.Effect<Success["Type"], Error["Type"], R | FlowRuntime | FlowInstance | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"]>;
83
+ };
84
+ /**
85
+ * Runs effects as a durable race, returning a previously persisted result when
86
+ * present or completing a named deferred with the first success. The race
87
+ * fails only when every effect fails.
88
+ *
89
+ * @category racing
90
+ * @since 0.1.0
91
+ */
92
+ export declare const raceAll: <const Effects extends NonEmptyReadonlyArray<Effect.Effect<any, any, any>>, Success extends Schema.Schema<Effect.Success<Effects[number]>>, Error extends Schema.Schema<Effect.Error<Effects[number]>>>(options: {
93
+ name: string;
94
+ success: Success;
95
+ error: Error;
96
+ effects: Effects;
97
+ }) => Effect.Effect<Effect.Success<Effects[number]>, Effect.Error<Effects[number]>, Effect.Services<Effects[number]> | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"] | FlowRuntime | FlowInstance>;
98
+ /**
99
+ * Runtime brand identifier for durable deferred tokens.
100
+ *
101
+ * @category type IDs
102
+ * @since 0.1.0
103
+ */
104
+ export declare const TokenTypeId = "@smthrs/flow/DurableDeferred/Token";
105
+ /**
106
+ * Type-level brand identifier for `Token` values.
107
+ *
108
+ * @category type IDs
109
+ * @since 0.1.0
110
+ */
111
+ export type TokenTypeId = typeof TokenTypeId;
112
+ /**
113
+ * Branded string token identifying a durable deferred for a flow
114
+ * execution.
115
+ *
116
+ * A token is an address, not a credential. It is unsigned base64url JSON of
117
+ * the flow name, execution id, and deferred name, and `tokenFromExecutionId`
118
+ * and `tokenFromPayload` rebuild it from those values alone. Anyone who can
119
+ * call `done`, `succeed`, `fail`, `failCause`, or `HumanTask.answer` against
120
+ * the run's `FlowRuntime` can complete an open wait whose address they know or
121
+ * derive. A host that exposes completion to other parties must authorize the
122
+ * caller before it calls one of them.
123
+ *
124
+ * @category token
125
+ * @since 0.1.0
126
+ */
127
+ export type Token = Brand.Branded<string, TokenTypeId>;
128
+ /**
129
+ * Schema for branded durable deferred tokens.
130
+ *
131
+ * @category token
132
+ * @since 0.1.0
133
+ */
134
+ export declare const Token: Schema.brand<Schema.String, TokenTypeId>;
135
+ declare const TokenInvalid_base: Schema.Class<TokenInvalid, Schema.TaggedStruct<"@smthrs/flow/DurableDeferred/TokenInvalid", {
136
+ readonly code: Schema.withConstructorDefault<Schema.Literals<readonly ["malformed_token", "deferred_mismatch"]>>;
137
+ readonly message: Schema.String;
138
+ }>, Cause.YieldableError>;
139
+ /**
140
+ * A completion token could not be decoded into its durable address.
141
+ *
142
+ * @category errors
143
+ * @since 0.1.0
144
+ */
145
+ export declare class TokenInvalid extends TokenInvalid_base {
146
+ }
147
+ declare const TokenParsed_base: Schema.Class<TokenParsed, Schema.Struct<{
148
+ readonly flowName: Schema.String;
149
+ readonly executionId: Schema.String;
150
+ readonly deferredName: Schema.String;
151
+ }>, {}>;
152
+ /**
153
+ * Schema for a decoded durable deferred token containing the flow
154
+ * name, execution ID, and deferred name.
155
+ *
156
+ * @category token
157
+ * @since 0.1.0
158
+ */
159
+ export declare class TokenParsed extends TokenParsed_base {
160
+ /**
161
+ * Encodes the parsed flow, execution, and deferred names back into a token.
162
+ *
163
+ * @since 0.1.0
164
+ */
165
+ get asToken(): Token;
166
+ /**
167
+ * Schema for decoding and encoding durable deferred tokens as strings.
168
+ *
169
+ * @since 0.1.0
170
+ */
171
+ static readonly FromString: Schema.decodeTo<typeof TokenParsed, Schema.decodeTo<Schema.fromJsonString<Schema.Tuple<readonly [Schema.String, Schema.String, Schema.String]>>, Schema.String, never, never>, never, never>;
172
+ /**
173
+ * Decodes a durable deferred token string into its parsed components.
174
+ *
175
+ * @since 0.1.0
176
+ */
177
+ static readonly fromString: (input: string, options?: import("effect/SchemaAST").ParseOptions) => TokenParsed;
178
+ /**
179
+ * Encodes parsed durable deferred token components into a token string.
180
+ *
181
+ * @since 0.1.0
182
+ */
183
+ static readonly encode: (input: TokenParsed, options?: import("effect/SchemaAST").ParseOptions) => string;
184
+ /**
185
+ * Parses an untrusted token into its durable address with a typed,
186
+ * bounded diagnostic on failure.
187
+ *
188
+ * @category token
189
+ * @since 1.0.0
190
+ */
191
+ static readonly parse: (token: string) => Effect.Effect<TokenParsed, TokenInvalid>;
192
+ }
193
+ /**
194
+ * Creates a token for a durable deferred using the current flow instance's
195
+ * flow name and execution ID.
196
+ *
197
+ * @category token
198
+ * @since 0.1.0
199
+ */
200
+ export declare const token: <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token, never, FlowInstance>;
201
+ /**
202
+ * Creates a durable deferred token from an explicit flow, execution ID,
203
+ * and deferred name.
204
+ *
205
+ * @category token
206
+ * @since 0.1.0
207
+ */
208
+ export declare const tokenFromExecutionId: {
209
+ (options: {
210
+ readonly flow: Flow.Any;
211
+ readonly executionId: string;
212
+ }): <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Token;
213
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
214
+ readonly flow: Flow.Any;
215
+ readonly executionId: string;
216
+ }): Token;
217
+ };
218
+ /**
219
+ * Creates a durable deferred token by deriving the flow execution ID from
220
+ * the supplied flow payload.
221
+ *
222
+ * The payload identifies a previously started execution only when the flow
223
+ * declares `idempotencyKey` or the host installs the opt-in `derived`
224
+ * execution-id source. Otherwise the default `fresh` source mints a new
225
+ * execution ID on every call, so the token addresses no earlier run. To
226
+ * complete an existing execution without stable identity, keep its execution
227
+ * ID and use {@link tokenFromExecutionId}.
228
+ *
229
+ * @category token
230
+ * @since 0.1.0
231
+ */
232
+ export declare const tokenFromPayload: {
233
+ <W extends Flow.Any>(options: {
234
+ readonly flow: W;
235
+ readonly payload: Flow.PayloadSchema<W>["~type.make.in"];
236
+ }): <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token, never, Crypto.Crypto | Flow.PayloadSchema<W>["EncodingServices"]>;
237
+ <Success extends Schema.Constraint, Error extends Schema.Constraint, W extends Flow.Any>(self: DurableDeferred<Success, Error>, options: {
238
+ readonly flow: W;
239
+ readonly payload: Flow.PayloadSchema<W>["~type.make.in"];
240
+ }): Effect.Effect<Token, never, Crypto.Crypto | Flow.PayloadSchema<W>["EncodingServices"]>;
241
+ };
242
+ /**
243
+ * Completes the durable deferred identified by a token with the supplied exit,
244
+ * encoding the result through the deferred schemas.
245
+ *
246
+ * The token is not a credential (see {@link Token}): authorize the caller
247
+ * before completing a wait on its behalf.
248
+ *
249
+ * @category combinators
250
+ * @since 0.1.0
251
+ */
252
+ export declare const done: {
253
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
254
+ readonly token: Token;
255
+ readonly exit: Exit.Exit<Success["Type"], Error["Type"]>;
256
+ }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"] | Error["EncodingServices"]>;
257
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
258
+ readonly token: Token;
259
+ readonly exit: Exit.Exit<Success["Type"], Error["Type"]>;
260
+ }): Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"] | Error["EncodingServices"]>;
261
+ };
262
+ /**
263
+ * Completes the durable deferred identified by a token with a successful
264
+ * value.
265
+ *
266
+ * @category combinators
267
+ * @since 0.1.0
268
+ */
269
+ export declare const succeed: {
270
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
271
+ readonly token: Token;
272
+ readonly value: Success["Type"];
273
+ }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"]>;
274
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
275
+ readonly token: Token;
276
+ readonly value: Success["Type"];
277
+ }): Effect.Effect<void, TokenInvalid, FlowRuntime | Success["EncodingServices"]>;
278
+ };
279
+ /**
280
+ * Completes the durable deferred identified by a token with a typed failure.
281
+ *
282
+ * @category combinators
283
+ * @since 0.1.0
284
+ */
285
+ export declare const fail: {
286
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
287
+ readonly token: Token;
288
+ readonly error: Error["Type"];
289
+ }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
290
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
291
+ readonly token: Token;
292
+ readonly error: Error["Type"];
293
+ }): Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
294
+ };
295
+ /**
296
+ * Completes the durable deferred identified by a token with a failure cause.
297
+ *
298
+ * @category combinators
299
+ * @since 0.1.0
300
+ */
301
+ export declare const failCause: {
302
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
303
+ readonly token: Token;
304
+ readonly cause: Cause.Cause<Error["Type"]>;
305
+ }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
306
+ <Success extends Schema.Constraint, Error extends Schema.Constraint>(self: DurableDeferred<Success, Error>, options: {
307
+ readonly token: Token;
308
+ readonly cause: Cause.Cause<Error["Type"]>;
309
+ }): Effect.Effect<void, TokenInvalid, FlowRuntime | Error["EncodingServices"]>;
310
+ };
311
+ //# sourceMappingURL=DurableDeferred.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DurableDeferred.d.ts","sourceRoot":"","sources":["../../src/DurableDeferred.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,357 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+ /**
3
+ * Defines named wait points for durable flow executions.
4
+ *
5
+ * A `DurableDeferred` has a stable name and schemas for the value that will be
6
+ * recorded later. Flows can await it, suspend when no result exists yet, and
7
+ * resume after its result is recorded. Tokens identify the flow name,
8
+ * execution id, and deferred name so external code can complete the correct
9
+ * wait point later.
10
+ *
11
+ * @since 0.1.0
12
+ */
13
+ import * as Arr from "effect/Array";
14
+ import * as Cause from "effect/Cause";
15
+ import * as Context from "effect/Context";
16
+ import * as Effect from "effect/Effect";
17
+ import * as Base64Url from "effect/encoding/Base64Url";
18
+ import * as Exit from "effect/Exit";
19
+ import * as Filter from "effect/Filter";
20
+ import { dual } from "effect/Function";
21
+ import * as Option from "effect/Option";
22
+ import * as Schema from "effect/Schema";
23
+ import * as SchemaGetter from "effect/SchemaGetter";
24
+ import { CurrentAttempt } from "./Action/Context.js";
25
+ import * as Flow from "./Flow/index.js";
26
+ import { FlowInstance } from "./FlowRuntime/FlowInstance.js";
27
+ import { FlowRuntime } from "./FlowRuntime/FlowRuntime.js";
28
+ const TypeId = "@smthrs/flow/DurableDeferred";
29
+ // Queues, human tasks and clocks mint a deferred per item, attempt or sleep.
30
+ // Effect caches compiled parsers by AST identity, so the exit schema is shared
31
+ // per (success, error) pair rather than rebuilt for every deferred.
32
+ const exitSchemaCache = new WeakMap();
33
+ const exitSchemaFor = (success, error) => {
34
+ let byError = exitSchemaCache.get(success);
35
+ if (byError === undefined) {
36
+ byError = new WeakMap();
37
+ exitSchemaCache.set(success, byError);
38
+ }
39
+ let cached = byError.get(error);
40
+ if (cached === undefined) {
41
+ cached = Schema.Exit(Schema.toCodecJson(success), Schema.toCodecJson(error), Schema.toCodecJson(Schema.Defect()));
42
+ byError.set(error, cached);
43
+ }
44
+ return cached;
45
+ };
46
+ /**
47
+ * Creates a named durable deferred with optional success and error schemas for
48
+ * persisted completion.
49
+ *
50
+ * @category constructors
51
+ * @since 0.1.0
52
+ */
53
+ export const make = (name, options) => {
54
+ const successSchema = options?.success ?? Schema.Void;
55
+ const errorSchema = options?.error ?? Schema.Never;
56
+ return {
57
+ [TypeId]: TypeId,
58
+ name,
59
+ successSchema,
60
+ errorSchema,
61
+ exitSchema: exitSchemaFor(successSchema, errorSchema),
62
+ withActionAttempt: Effect.gen(function* () {
63
+ const attempt = yield* CurrentAttempt;
64
+ return make(`${name}/${attempt}`, {
65
+ success: successSchema,
66
+ error: errorSchema
67
+ });
68
+ })
69
+ };
70
+ };
71
+ const await_ =
72
+ // Untraced because deferred polling participates in the flow scheduler hot path.
73
+ Effect.fnUntraced(function* (self) {
74
+ const engine = yield* FlowRuntime;
75
+ const instance = yield* FlowInstance;
76
+ const exit = yield* Flow.wrapActionResult(engine.deferredResult(self), Option.isNone);
77
+ if (Option.isNone(exit)) {
78
+ return yield* Flow.suspend(instance);
79
+ }
80
+ const value = exit.value;
81
+ // A recorded interruption is a durable *outcome*, not a request to
82
+ // suspend: mark the instance interrupted before re-raising so
83
+ // `Flow.intoResult` classifies the interrupt-only cause as a `Complete`
84
+ // failure. Without this the driver mistakes the cause for an external
85
+ // suspension interrupt, aborts without a terminal transition, and the
86
+ // run spins in the suspended-retry loop forever.
87
+ if (Exit.isFailure(value) && Cause.hasInterruptsOnly(value.cause)) {
88
+ instance.interrupted = true;
89
+ }
90
+ return yield* value;
91
+ });
92
+ export {
93
+ /**
94
+ * Waits for the durable deferred, suspending the current flow when no
95
+ * persisted completion is available.
96
+ *
97
+ * @category combinators
98
+ * @since 0.1.0
99
+ */
100
+ await_ as await };
101
+ /**
102
+ * Runs an effect and records its exit into the durable deferred, resuming
103
+ * flows that are waiting on that deferred.
104
+ *
105
+ * @category combinators
106
+ * @since 0.1.0
107
+ */
108
+ export const into = dual(2, (effect, self) => Effect.contextWith((context) => {
109
+ const engine = Context.get(context, FlowRuntime);
110
+ const instance = Context.get(context, FlowInstance);
111
+ // Keep the original instance: action regions identify their ancestors
112
+ // by reference, and suspension metadata belongs to the enclosing flow.
113
+ return Effect.onExit(effect,
114
+ // Untraced because completion encoding is called for each deferred result.
115
+ Effect.fnUntraced(function* (exit) {
116
+ if (Exit.isFailure(exit)) {
117
+ const [interrupts, reasons] = Arr.partition(exit.cause.reasons, Filter.fromPredicate(Cause.isInterruptReason));
118
+ const hasInterruptsOnly = interrupts.length === exit.cause.reasons.length;
119
+ if (hasInterruptsOnly) {
120
+ // An interrupt-only exit is never a result: the effect was
121
+ // suspended, preempted, or interrupted, so record nothing.
122
+ // Recording here would durably persist the empty non-interrupt
123
+ // partition, and first-writer-wins would replay that empty
124
+ // cause forever instead of the real completion.
125
+ return;
126
+ }
127
+ else if (interrupts.length > 0) {
128
+ exit = Exit.failCause(Cause.fromReasons(reasons));
129
+ }
130
+ }
131
+ yield* engine.deferredDone(self, {
132
+ flowName: instance.flow._tag,
133
+ executionId: instance.executionId,
134
+ deferredName: self.name,
135
+ exit
136
+ });
137
+ }));
138
+ }));
139
+ /**
140
+ * Runs effects as a durable race, returning a previously persisted result when
141
+ * present or completing a named deferred with the first success. The race
142
+ * fails only when every effect fails.
143
+ *
144
+ * @category racing
145
+ * @since 0.1.0
146
+ */
147
+ export const raceAll = (options) => {
148
+ const deferred = make(`raceAll/${options.name}`, {
149
+ success: options.success,
150
+ error: options.error
151
+ });
152
+ return Effect.gen(function* () {
153
+ const engine = yield* FlowRuntime;
154
+ const exit = yield* engine.deferredResult(deferred);
155
+ if (Option.isSome(exit)) {
156
+ return yield* exit.value;
157
+ }
158
+ return yield* into(Effect.raceAll(options.effects), deferred);
159
+ });
160
+ };
161
+ /**
162
+ * Runtime brand identifier for durable deferred tokens.
163
+ *
164
+ * @category type IDs
165
+ * @since 0.1.0
166
+ */
167
+ export const TokenTypeId = "@smthrs/flow/DurableDeferred/Token";
168
+ /**
169
+ * Schema for branded durable deferred tokens.
170
+ *
171
+ * @category token
172
+ * @since 0.1.0
173
+ */
174
+ export const Token = Schema.String.pipe(Schema.brand(TokenTypeId));
175
+ /**
176
+ * A completion token could not be decoded into its durable address.
177
+ *
178
+ * @category errors
179
+ * @since 0.1.0
180
+ */
181
+ export class TokenInvalid extends Schema.TaggedError()("@smthrs/flow/DurableDeferred/TokenInvalid", {
182
+ code: Schema.Literals(["malformed_token", "deferred_mismatch"]).pipe(Schema.withConstructorDefault(Effect.succeed("malformed_token"))),
183
+ message: Schema.String
184
+ }) {
185
+ }
186
+ /**
187
+ * Schema for a decoded durable deferred token containing the flow
188
+ * name, execution ID, and deferred name.
189
+ *
190
+ * @category token
191
+ * @since 0.1.0
192
+ */
193
+ export class TokenParsed extends Schema.Class("@smthrs/flow/DurableDeferred/TokenParsed")({
194
+ flowName: Schema.String,
195
+ executionId: Schema.String,
196
+ deferredName: Schema.String
197
+ }) {
198
+ /**
199
+ * Encodes the parsed flow, execution, and deferred names back into a token.
200
+ *
201
+ * @since 0.1.0
202
+ */
203
+ get asToken() {
204
+ return Base64Url.encode(JSON.stringify([this.flowName, this.executionId, this.deferredName]));
205
+ }
206
+ /**
207
+ * Schema for decoding and encoding durable deferred tokens as strings.
208
+ *
209
+ * @since 0.1.0
210
+ */
211
+ static FromString = Schema.String.pipe(Schema.decodeTo(Schema.fromJsonString(Schema.Tuple([Schema.String, Schema.String, Schema.String])), {
212
+ decode: SchemaGetter.decodeBase64UrlString(),
213
+ encode: SchemaGetter.encodeBase64Url()
214
+ }), Schema.decodeTo(TokenParsed, {
215
+ decode: SchemaGetter.transform(([flowName, executionId, deferredName]) => new TokenParsed({
216
+ flowName,
217
+ executionId,
218
+ deferredName
219
+ })),
220
+ encode: SchemaGetter.transform((parsed) => [
221
+ parsed.flowName,
222
+ parsed.executionId,
223
+ parsed.deferredName
224
+ ])
225
+ }));
226
+ /**
227
+ * Decodes a durable deferred token string into its parsed components.
228
+ *
229
+ * @since 0.1.0
230
+ */
231
+ static fromString = Schema.decodeSync(TokenParsed.FromString);
232
+ /**
233
+ * Encodes parsed durable deferred token components into a token string.
234
+ *
235
+ * @since 0.1.0
236
+ */
237
+ static encode = Schema.encodeSync(TokenParsed.FromString);
238
+ /**
239
+ * Parses an untrusted token into its durable address with a typed,
240
+ * bounded diagnostic on failure.
241
+ *
242
+ * @category token
243
+ * @since 1.0.0
244
+ */
245
+ static parse = (token) => Effect.mapError(Schema.decodeEffect(TokenParsed.FromString)(token), (issue) => new TokenInvalid({
246
+ message: `The supplied token "${tokenExcerpt(token)}" is not a durable deferred token: ${issue.message}`
247
+ }));
248
+ }
249
+ const maxTokenExcerptChars = 64;
250
+ /** Renders a bounded excerpt of untrusted token content for a diagnostic. */
251
+ const tokenExcerpt = (token) => token.length <= maxTokenExcerptChars
252
+ ? token
253
+ : `${token.slice(0, maxTokenExcerptChars)} [${token.length - maxTokenExcerptChars} characters dropped]`;
254
+ /**
255
+ * Creates a token for a durable deferred using the current flow instance's
256
+ * flow name and execution ID.
257
+ *
258
+ * @category token
259
+ * @since 0.1.0
260
+ */
261
+ export const token =
262
+ // Untraced because token allocation is on the durable-deferred hot path.
263
+ Effect.fnUntraced(function* (self) {
264
+ const instance = yield* FlowInstance;
265
+ return tokenFromExecutionId(self, instance);
266
+ });
267
+ /**
268
+ * Creates a durable deferred token from an explicit flow, execution ID,
269
+ * and deferred name.
270
+ *
271
+ * @category token
272
+ * @since 0.1.0
273
+ */
274
+ export const tokenFromExecutionId = dual(2, (self, options) => new TokenParsed({
275
+ flowName: options.flow._tag,
276
+ executionId: options.executionId,
277
+ deferredName: self.name
278
+ }).asToken);
279
+ /**
280
+ * Creates a durable deferred token by deriving the flow execution ID from
281
+ * the supplied flow payload.
282
+ *
283
+ * The payload identifies a previously started execution only when the flow
284
+ * declares `idempotencyKey` or the host installs the opt-in `derived`
285
+ * execution-id source. Otherwise the default `fresh` source mints a new
286
+ * execution ID on every call, so the token addresses no earlier run. To
287
+ * complete an existing execution without stable identity, keep its execution
288
+ * ID and use {@link tokenFromExecutionId}.
289
+ *
290
+ * @category token
291
+ * @since 0.1.0
292
+ */
293
+ export const tokenFromPayload = dual(2, (self, options) => Effect.map(options.flow.executionId(options.payload), (executionId) => tokenFromExecutionId(self, {
294
+ flow: options.flow,
295
+ executionId
296
+ })));
297
+ /**
298
+ * Completes the durable deferred identified by a token with the supplied exit,
299
+ * encoding the result through the deferred schemas.
300
+ *
301
+ * The token is not a credential (see {@link Token}): authorize the caller
302
+ * before completing a wait on its behalf.
303
+ *
304
+ * @category combinators
305
+ * @since 0.1.0
306
+ */
307
+ export const done = dual(2,
308
+ // Untraced because awaiting a deferred re-enters the scheduler recursively.
309
+ Effect.fnUntraced(function* (self, options) {
310
+ const token = yield* TokenParsed.parse(options.token);
311
+ if (token.deferredName !== self.name) {
312
+ return yield* Effect.fail(new TokenInvalid({
313
+ code: "deferred_mismatch",
314
+ message: `The token addresses deferred "${tokenExcerpt(token.deferredName)}", but it was submitted through ` +
315
+ `deferred "${self.name}".`
316
+ }));
317
+ }
318
+ const engine = yield* FlowRuntime;
319
+ yield* engine.deferredDone(self, {
320
+ flowName: token.flowName,
321
+ executionId: token.executionId,
322
+ deferredName: token.deferredName,
323
+ exit: options.exit
324
+ });
325
+ }));
326
+ /**
327
+ * Completes the durable deferred identified by a token with a successful
328
+ * value.
329
+ *
330
+ * @category combinators
331
+ * @since 0.1.0
332
+ */
333
+ export const succeed = dual(2, (self, options) => done(self, {
334
+ token: options.token,
335
+ exit: Exit.succeed(options.value)
336
+ }));
337
+ /**
338
+ * Completes the durable deferred identified by a token with a typed failure.
339
+ *
340
+ * @category combinators
341
+ * @since 0.1.0
342
+ */
343
+ export const fail = dual(2, (self, options) => done(self, {
344
+ token: options.token,
345
+ exit: Exit.fail(options.error)
346
+ }));
347
+ /**
348
+ * Completes the durable deferred identified by a token with a failure cause.
349
+ *
350
+ * @category combinators
351
+ * @since 0.1.0
352
+ */
353
+ export const failCause = dual(2, (self, options) => done(self, {
354
+ token: options.token,
355
+ exit: Exit.failCause(options.cause)
356
+ }));
357
+ //# sourceMappingURL=DurableDeferred.js.map