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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/LICENSE +21 -0
  3. package/README.md +210 -2
  4. package/THIRD_PARTY_NOTICES.md +52 -0
  5. package/dist/cjs/Action/Action.d.ts +250 -0
  6. package/dist/cjs/Action/Action.d.ts.map +1 -0
  7. package/dist/cjs/Action/Action.js +42 -0
  8. package/dist/cjs/Action/Action.js.map +7 -0
  9. package/dist/cjs/Action/AttemptTimedOut.d.ts +33 -0
  10. package/dist/cjs/Action/AttemptTimedOut.d.ts.map +1 -0
  11. package/dist/cjs/Action/AttemptTimedOut.js +51 -0
  12. package/dist/cjs/Action/AttemptTimedOut.js.map +7 -0
  13. package/dist/cjs/Action/BoundaryMode.d.ts +29 -0
  14. package/dist/cjs/Action/BoundaryMode.d.ts.map +1 -0
  15. package/dist/cjs/Action/BoundaryMode.js +36 -0
  16. package/dist/cjs/Action/BoundaryMode.js.map +7 -0
  17. package/dist/cjs/Action/CacheEnvironment.d.ts +158 -0
  18. package/dist/cjs/Action/CacheEnvironment.d.ts.map +1 -0
  19. package/dist/cjs/Action/CacheEnvironment.js +57 -0
  20. package/dist/cjs/Action/CacheEnvironment.js.map +7 -0
  21. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  22. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  23. package/dist/cjs/Action/ConcurrentKeylessDispatch.js +46 -0
  24. package/dist/cjs/Action/ConcurrentKeylessDispatch.js.map +7 -0
  25. package/dist/cjs/Action/Context.d.ts +131 -0
  26. package/dist/cjs/Action/Context.d.ts.map +1 -0
  27. package/dist/cjs/Action/Context.js +68 -0
  28. package/dist/cjs/Action/Context.js.map +7 -0
  29. package/dist/cjs/Action/DuplicateImplementation.d.ts +20 -0
  30. package/dist/cjs/Action/DuplicateImplementation.d.ts.map +1 -0
  31. package/dist/cjs/Action/DuplicateImplementation.js +46 -0
  32. package/dist/cjs/Action/DuplicateImplementation.js.map +7 -0
  33. package/dist/cjs/Action/FileBoundary.d.ts +59 -0
  34. package/dist/cjs/Action/FileBoundary.d.ts.map +1 -0
  35. package/dist/cjs/Action/FileBoundary.js +81 -0
  36. package/dist/cjs/Action/FileBoundary.js.map +7 -0
  37. package/dist/cjs/Action/FileInput.d.ts +28 -0
  38. package/dist/cjs/Action/FileInput.d.ts.map +1 -0
  39. package/dist/cjs/Action/FileInput.js +42 -0
  40. package/dist/cjs/Action/FileInput.js.map +7 -0
  41. package/dist/cjs/Action/Filegroup.d.ts +16 -0
  42. package/dist/cjs/Action/Filegroup.d.ts.map +1 -0
  43. package/dist/cjs/Action/Filegroup.js +27 -0
  44. package/dist/cjs/Action/Filegroup.js.map +7 -0
  45. package/dist/cjs/Action/Glob.d.ts +8 -0
  46. package/dist/cjs/Action/Glob.d.ts.map +1 -0
  47. package/dist/cjs/Action/Glob.js +28 -0
  48. package/dist/cjs/Action/Glob.js.map +7 -0
  49. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts +26 -0
  50. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  51. package/dist/cjs/Action/ImplementationVersionMismatch.js +45 -0
  52. package/dist/cjs/Action/ImplementationVersionMismatch.js.map +7 -0
  53. package/dist/cjs/Action/Implementations.d.ts +114 -0
  54. package/dist/cjs/Action/Implementations.d.ts.map +1 -0
  55. package/dist/cjs/Action/Implementations.js +65 -0
  56. package/dist/cjs/Action/Implementations.js.map +7 -0
  57. package/dist/cjs/Action/InfraInterrupt.d.ts +26 -0
  58. package/dist/cjs/Action/InfraInterrupt.d.ts.map +1 -0
  59. package/dist/cjs/Action/InfraInterrupt.js +46 -0
  60. package/dist/cjs/Action/InfraInterrupt.js.map +7 -0
  61. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  62. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  63. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js +54 -0
  64. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js.map +7 -0
  65. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  66. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  67. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js +47 -0
  68. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +7 -0
  69. package/dist/cjs/Action/StepIdentity.d.ts +153 -0
  70. package/dist/cjs/Action/StepIdentity.d.ts.map +1 -0
  71. package/dist/cjs/Action/StepIdentity.js +75 -0
  72. package/dist/cjs/Action/StepIdentity.js.map +7 -0
  73. package/dist/cjs/Action/TreeArtifact.d.ts +8 -0
  74. package/dist/cjs/Action/TreeArtifact.d.ts.map +1 -0
  75. package/dist/cjs/Action/TreeArtifact.js +25 -0
  76. package/dist/cjs/Action/TreeArtifact.js.map +7 -0
  77. package/dist/cjs/Action/TypeId.d.ts +8 -0
  78. package/dist/cjs/Action/TypeId.d.ts.map +1 -0
  79. package/dist/cjs/Action/TypeId.js +25 -0
  80. package/dist/cjs/Action/TypeId.js.map +7 -0
  81. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  82. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  83. package/dist/cjs/Action/UncanonicalIdempotencyKey.js +51 -0
  84. package/dist/cjs/Action/UncanonicalIdempotencyKey.js.map +7 -0
  85. package/dist/cjs/Action/idempotencyKey.d.ts +21 -0
  86. package/dist/cjs/Action/idempotencyKey.d.ts.map +1 -0
  87. package/dist/cjs/Action/idempotencyKey.js +59 -0
  88. package/dist/cjs/Action/idempotencyKey.js.map +7 -0
  89. package/dist/cjs/Action/index.d.ts +29 -0
  90. package/dist/cjs/Action/index.d.ts.map +1 -0
  91. package/dist/cjs/Action/index.js +60 -0
  92. package/dist/cjs/Action/index.js.map +7 -0
  93. package/dist/cjs/Action/make.d.ts +128 -0
  94. package/dist/cjs/Action/make.d.ts.map +1 -0
  95. package/dist/cjs/Action/make.js +373 -0
  96. package/dist/cjs/Action/make.js.map +7 -0
  97. package/dist/cjs/Action/raceAll.d.ts +21 -0
  98. package/dist/cjs/Action/raceAll.d.ts.map +1 -0
  99. package/dist/cjs/Action/raceAll.js +46 -0
  100. package/dist/cjs/Action/raceAll.js.map +7 -0
  101. package/dist/cjs/Action/retry.d.ts +19 -0
  102. package/dist/cjs/Action/retry.d.ts.map +1 -0
  103. package/dist/cjs/Action/retry.js +75 -0
  104. package/dist/cjs/Action/retry.js.map +7 -0
  105. package/dist/cjs/Deadline.d.ts +105 -0
  106. package/dist/cjs/Deadline.d.ts.map +1 -0
  107. package/dist/cjs/Deadline.js +104 -0
  108. package/dist/cjs/Deadline.js.map +7 -0
  109. package/dist/cjs/DurableClock.d.ts +61 -0
  110. package/dist/cjs/DurableClock.d.ts.map +1 -0
  111. package/dist/cjs/DurableClock.js +90 -0
  112. package/dist/cjs/DurableClock.js.map +7 -0
  113. package/dist/cjs/DurableDeferred.d.ts +311 -0
  114. package/dist/cjs/DurableDeferred.d.ts.map +1 -0
  115. package/dist/cjs/DurableDeferred.js +322 -0
  116. package/dist/cjs/DurableDeferred.js.map +7 -0
  117. package/dist/cjs/DurableQueue.d.ts +160 -0
  118. package/dist/cjs/DurableQueue.d.ts.map +1 -0
  119. package/dist/cjs/DurableQueue.js +229 -0
  120. package/dist/cjs/DurableQueue.js.map +7 -0
  121. package/dist/cjs/ExternalJob.d.ts +179 -0
  122. package/dist/cjs/ExternalJob.d.ts.map +1 -0
  123. package/dist/cjs/ExternalJob.js +338 -0
  124. package/dist/cjs/ExternalJob.js.map +7 -0
  125. package/dist/cjs/Fault.d.ts +131 -0
  126. package/dist/cjs/Fault.d.ts.map +1 -0
  127. package/dist/cjs/Fault.js +157 -0
  128. package/dist/cjs/Fault.js.map +7 -0
  129. package/dist/cjs/Flow/Annotations.d.ts +245 -0
  130. package/dist/cjs/Flow/Annotations.d.ts.map +1 -0
  131. package/dist/cjs/Flow/Annotations.js +72 -0
  132. package/dist/cjs/Flow/Annotations.js.map +7 -0
  133. package/dist/cjs/Flow/CapabilityCeiling.d.ts +21 -0
  134. package/dist/cjs/Flow/CapabilityCeiling.d.ts.map +1 -0
  135. package/dist/cjs/Flow/CapabilityCeiling.js +49 -0
  136. package/dist/cjs/Flow/CapabilityCeiling.js.map +7 -0
  137. package/dist/cjs/Flow/DeadlineExceeded.d.ts +33 -0
  138. package/dist/cjs/Flow/DeadlineExceeded.d.ts.map +1 -0
  139. package/dist/cjs/Flow/DeadlineExceeded.js +52 -0
  140. package/dist/cjs/Flow/DeadlineExceeded.js.map +7 -0
  141. package/dist/cjs/Flow/ExecutionIdRequired.d.ts +25 -0
  142. package/dist/cjs/Flow/ExecutionIdRequired.d.ts.map +1 -0
  143. package/dist/cjs/Flow/ExecutionIdRequired.js +46 -0
  144. package/dist/cjs/Flow/ExecutionIdRequired.js.map +7 -0
  145. package/dist/cjs/Flow/ExecutionIds.d.ts +80 -0
  146. package/dist/cjs/Flow/ExecutionIds.d.ts.map +1 -0
  147. package/dist/cjs/Flow/ExecutionIds.js +66 -0
  148. package/dist/cjs/Flow/ExecutionIds.js.map +7 -0
  149. package/dist/cjs/Flow/Flow.d.ts +422 -0
  150. package/dist/cjs/Flow/Flow.d.ts.map +1 -0
  151. package/dist/cjs/Flow/Flow.js +17 -0
  152. package/dist/cjs/Flow/Flow.js.map +7 -0
  153. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts +35 -0
  154. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  155. package/dist/cjs/Flow/MaxRoundsExceeded.js +50 -0
  156. package/dist/cjs/Flow/MaxRoundsExceeded.js.map +7 -0
  157. package/dist/cjs/Flow/Outcome.d.ts +162 -0
  158. package/dist/cjs/Flow/Outcome.d.ts.map +1 -0
  159. package/dist/cjs/Flow/Outcome.js +80 -0
  160. package/dist/cjs/Flow/Outcome.js.map +7 -0
  161. package/dist/cjs/Flow/Result.d.ts +186 -0
  162. package/dist/cjs/Flow/Result.d.ts.map +1 -0
  163. package/dist/cjs/Flow/Result.js +159 -0
  164. package/dist/cjs/Flow/Result.js.map +7 -0
  165. package/dist/cjs/Flow/Runtime.d.ts +98 -0
  166. package/dist/cjs/Flow/Runtime.d.ts.map +1 -0
  167. package/dist/cjs/Flow/Runtime.js +160 -0
  168. package/dist/cjs/Flow/Runtime.js.map +7 -0
  169. package/dist/cjs/Flow/TypeId.d.ts +8 -0
  170. package/dist/cjs/Flow/TypeId.d.ts.map +1 -0
  171. package/dist/cjs/Flow/TypeId.js +25 -0
  172. package/dist/cjs/Flow/TypeId.js.map +7 -0
  173. package/dist/cjs/Flow/index.d.ts +17 -0
  174. package/dist/cjs/Flow/index.d.ts.map +1 -0
  175. package/dist/cjs/Flow/index.js +29 -0
  176. package/dist/cjs/Flow/index.js.map +7 -0
  177. package/dist/cjs/Flow/internal.d.ts +34 -0
  178. package/dist/cjs/Flow/internal.d.ts.map +1 -0
  179. package/dist/cjs/Flow/internal.js +187 -0
  180. package/dist/cjs/Flow/internal.js.map +7 -0
  181. package/dist/cjs/Flow/make.d.ts +134 -0
  182. package/dist/cjs/Flow/make.d.ts.map +1 -0
  183. package/dist/cjs/Flow/make.js +104 -0
  184. package/dist/cjs/Flow/make.js.map +7 -0
  185. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  186. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  187. package/dist/cjs/FlowRuntime/CancelRequestFailed.js +51 -0
  188. package/dist/cjs/FlowRuntime/CancelRequestFailed.js.map +7 -0
  189. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  190. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  191. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js +55 -0
  192. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js.map +7 -0
  193. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  194. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  195. package/dist/cjs/FlowRuntime/FlowCycleDetected.js +49 -0
  196. package/dist/cjs/FlowRuntime/FlowCycleDetected.js.map +7 -0
  197. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  198. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  199. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js +53 -0
  200. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js.map +7 -0
  201. package/dist/cjs/FlowRuntime/FlowInstance.d.ts +115 -0
  202. package/dist/cjs/FlowRuntime/FlowInstance.d.ts.map +1 -0
  203. package/dist/cjs/FlowRuntime/FlowInstance.js +37 -0
  204. package/dist/cjs/FlowRuntime/FlowInstance.js.map +7 -0
  205. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts +198 -0
  206. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  207. package/dist/cjs/FlowRuntime/FlowRuntime.js +37 -0
  208. package/dist/cjs/FlowRuntime/FlowRuntime.js.map +7 -0
  209. package/dist/cjs/FlowRuntime/NodeRecord.d.ts +175 -0
  210. package/dist/cjs/FlowRuntime/NodeRecord.d.ts.map +1 -0
  211. package/dist/cjs/FlowRuntime/NodeRecord.js +17 -0
  212. package/dist/cjs/FlowRuntime/NodeRecord.js.map +7 -0
  213. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  214. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  215. package/dist/cjs/FlowRuntime/WaitingAnnotation.js +53 -0
  216. package/dist/cjs/FlowRuntime/WaitingAnnotation.js.map +7 -0
  217. package/dist/cjs/FlowRuntime/index.d.ts +14 -0
  218. package/dist/cjs/FlowRuntime/index.d.ts.map +1 -0
  219. package/dist/cjs/FlowRuntime/index.js +26 -0
  220. package/dist/cjs/FlowRuntime/index.js.map +7 -0
  221. package/dist/cjs/Graph.d.ts +325 -0
  222. package/dist/cjs/Graph.d.ts.map +1 -0
  223. package/dist/cjs/Graph.js +1022 -0
  224. package/dist/cjs/Graph.js.map +7 -0
  225. package/dist/cjs/HumanTask.d.ts +440 -0
  226. package/dist/cjs/HumanTask.d.ts.map +1 -0
  227. package/dist/cjs/HumanTask.js +413 -0
  228. package/dist/cjs/HumanTask.js.map +7 -0
  229. package/dist/cjs/Interpreter.d.ts +222 -0
  230. package/dist/cjs/Interpreter.d.ts.map +1 -0
  231. package/dist/cjs/Interpreter.js +888 -0
  232. package/dist/cjs/Interpreter.js.map +7 -0
  233. package/dist/cjs/Poll.d.ts +238 -0
  234. package/dist/cjs/Poll.d.ts.map +1 -0
  235. package/dist/cjs/Poll.js +150 -0
  236. package/dist/cjs/Poll.js.map +7 -0
  237. package/dist/cjs/RetryPolicy.d.ts +273 -0
  238. package/dist/cjs/RetryPolicy.d.ts.map +1 -0
  239. package/dist/cjs/RetryPolicy.js +251 -0
  240. package/dist/cjs/RetryPolicy.js.map +7 -0
  241. package/dist/cjs/Sleep.d.ts +98 -0
  242. package/dist/cjs/Sleep.d.ts.map +1 -0
  243. package/dist/cjs/Sleep.js +133 -0
  244. package/dist/cjs/Sleep.js.map +7 -0
  245. package/dist/cjs/Stall.d.ts +173 -0
  246. package/dist/cjs/Stall.d.ts.map +1 -0
  247. package/dist/cjs/Stall.js +92 -0
  248. package/dist/cjs/Stall.js.map +7 -0
  249. package/dist/cjs/WaitFor.d.ts +109 -0
  250. package/dist/cjs/WaitFor.d.ts.map +1 -0
  251. package/dist/cjs/WaitFor.js +117 -0
  252. package/dist/cjs/WaitFor.js.map +7 -0
  253. package/dist/cjs/index.d.ts +107 -0
  254. package/dist/cjs/index.d.ts.map +1 -0
  255. package/dist/cjs/index.js +69 -0
  256. package/dist/cjs/index.js.map +7 -0
  257. package/dist/cjs/internal/BoundedJson.d.ts +48 -0
  258. package/dist/cjs/internal/BoundedJson.d.ts.map +1 -0
  259. package/dist/cjs/internal/BoundedJson.js +96 -0
  260. package/dist/cjs/internal/BoundedJson.js.map +7 -0
  261. package/dist/cjs/internal/DeclarationSite.d.ts +135 -0
  262. package/dist/cjs/internal/DeclarationSite.d.ts.map +1 -0
  263. package/dist/cjs/internal/DeclarationSite.js +89 -0
  264. package/dist/cjs/internal/DeclarationSite.js.map +7 -0
  265. package/dist/cjs/internal/Declarations.d.ts +35 -0
  266. package/dist/cjs/internal/Declarations.d.ts.map +1 -0
  267. package/dist/cjs/internal/Declarations.js +50 -0
  268. package/dist/cjs/internal/Declarations.js.map +7 -0
  269. package/dist/cjs/internal/ExecutionMiddleware.d.ts +21 -0
  270. package/dist/cjs/internal/ExecutionMiddleware.d.ts.map +1 -0
  271. package/dist/cjs/internal/ExecutionMiddleware.js +39 -0
  272. package/dist/cjs/internal/ExecutionMiddleware.js.map +7 -0
  273. package/dist/cjs/internal/JsonSchemaSubset.d.ts +133 -0
  274. package/dist/cjs/internal/JsonSchemaSubset.d.ts.map +1 -0
  275. package/dist/cjs/internal/JsonSchemaSubset.js +229 -0
  276. package/dist/cjs/internal/JsonSchemaSubset.js.map +7 -0
  277. package/dist/cjs/internal/OutcomeMarker.d.ts +18 -0
  278. package/dist/cjs/internal/OutcomeMarker.d.ts.map +1 -0
  279. package/dist/cjs/internal/OutcomeMarker.js +27 -0
  280. package/dist/cjs/internal/OutcomeMarker.js.map +7 -0
  281. package/dist/cjs/package.json +1 -0
  282. package/dist/esm/Action/Action.d.ts +250 -0
  283. package/dist/esm/Action/Action.d.ts.map +1 -0
  284. package/dist/esm/Action/Action.js +30 -0
  285. package/dist/esm/Action/Action.js.map +1 -0
  286. package/dist/esm/Action/AttemptTimedOut.d.ts +33 -0
  287. package/dist/esm/Action/AttemptTimedOut.d.ts.map +1 -0
  288. package/dist/esm/Action/AttemptTimedOut.js +32 -0
  289. package/dist/esm/Action/AttemptTimedOut.js.map +1 -0
  290. package/dist/esm/Action/BoundaryMode.d.ts +29 -0
  291. package/dist/esm/Action/BoundaryMode.d.ts.map +1 -0
  292. package/dist/esm/Action/BoundaryMode.js +23 -0
  293. package/dist/esm/Action/BoundaryMode.js.map +1 -0
  294. package/dist/esm/Action/CacheEnvironment.d.ts +158 -0
  295. package/dist/esm/Action/CacheEnvironment.d.ts.map +1 -0
  296. package/dist/esm/Action/CacheEnvironment.js +130 -0
  297. package/dist/esm/Action/CacheEnvironment.js.map +1 -0
  298. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  299. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  300. package/dist/esm/Action/ConcurrentKeylessDispatch.js +33 -0
  301. package/dist/esm/Action/ConcurrentKeylessDispatch.js.map +1 -0
  302. package/dist/esm/Action/Context.d.ts +131 -0
  303. package/dist/esm/Action/Context.d.ts.map +1 -0
  304. package/dist/esm/Action/Context.js +99 -0
  305. package/dist/esm/Action/Context.js.map +1 -0
  306. package/dist/esm/Action/DuplicateImplementation.d.ts +20 -0
  307. package/dist/esm/Action/DuplicateImplementation.d.ts.map +1 -0
  308. package/dist/esm/Action/DuplicateImplementation.js +20 -0
  309. package/dist/esm/Action/DuplicateImplementation.js.map +1 -0
  310. package/dist/esm/Action/FileBoundary.d.ts +59 -0
  311. package/dist/esm/Action/FileBoundary.d.ts.map +1 -0
  312. package/dist/esm/Action/FileBoundary.js +60 -0
  313. package/dist/esm/Action/FileBoundary.js.map +1 -0
  314. package/dist/esm/Action/FileInput.d.ts +28 -0
  315. package/dist/esm/Action/FileInput.d.ts.map +1 -0
  316. package/dist/esm/Action/FileInput.js +32 -0
  317. package/dist/esm/Action/FileInput.js.map +1 -0
  318. package/dist/esm/Action/Filegroup.d.ts +16 -0
  319. package/dist/esm/Action/Filegroup.d.ts.map +1 -0
  320. package/dist/esm/Action/Filegroup.js +15 -0
  321. package/dist/esm/Action/Filegroup.js.map +1 -0
  322. package/dist/esm/Action/Glob.d.ts +8 -0
  323. package/dist/esm/Action/Glob.d.ts.map +1 -0
  324. package/dist/esm/Action/Glob.js +7 -0
  325. package/dist/esm/Action/Glob.js.map +1 -0
  326. package/dist/esm/Action/ImplementationVersionMismatch.d.ts +26 -0
  327. package/dist/esm/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  328. package/dist/esm/Action/ImplementationVersionMismatch.js +24 -0
  329. package/dist/esm/Action/ImplementationVersionMismatch.js.map +1 -0
  330. package/dist/esm/Action/Implementations.d.ts +114 -0
  331. package/dist/esm/Action/Implementations.d.ts.map +1 -0
  332. package/dist/esm/Action/Implementations.js +94 -0
  333. package/dist/esm/Action/Implementations.js.map +1 -0
  334. package/dist/esm/Action/InfraInterrupt.d.ts +26 -0
  335. package/dist/esm/Action/InfraInterrupt.d.ts.map +1 -0
  336. package/dist/esm/Action/InfraInterrupt.js +25 -0
  337. package/dist/esm/Action/InfraInterrupt.js.map +1 -0
  338. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  339. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  340. package/dist/esm/Action/InfraInterruptRetriesExhausted.js +32 -0
  341. package/dist/esm/Action/InfraInterruptRetriesExhausted.js.map +1 -0
  342. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  343. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  344. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js +25 -0
  345. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +1 -0
  346. package/dist/esm/Action/StepIdentity.d.ts +153 -0
  347. package/dist/esm/Action/StepIdentity.d.ts.map +1 -0
  348. package/dist/esm/Action/StepIdentity.js +139 -0
  349. package/dist/esm/Action/StepIdentity.js.map +1 -0
  350. package/dist/esm/Action/TreeArtifact.d.ts +8 -0
  351. package/dist/esm/Action/TreeArtifact.d.ts.map +1 -0
  352. package/dist/esm/Action/TreeArtifact.js +7 -0
  353. package/dist/esm/Action/TreeArtifact.js.map +1 -0
  354. package/dist/esm/Action/TypeId.d.ts +8 -0
  355. package/dist/esm/Action/TypeId.d.ts.map +1 -0
  356. package/dist/esm/Action/TypeId.js +9 -0
  357. package/dist/esm/Action/TypeId.js.map +1 -0
  358. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  359. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  360. package/dist/esm/Action/UncanonicalIdempotencyKey.js +31 -0
  361. package/dist/esm/Action/UncanonicalIdempotencyKey.js.map +1 -0
  362. package/dist/esm/Action/idempotencyKey.d.ts +21 -0
  363. package/dist/esm/Action/idempotencyKey.d.ts.map +1 -0
  364. package/dist/esm/Action/idempotencyKey.js +50 -0
  365. package/dist/esm/Action/idempotencyKey.js.map +1 -0
  366. package/dist/esm/Action/index.d.ts +29 -0
  367. package/dist/esm/Action/index.d.ts.map +1 -0
  368. package/dist/esm/Action/index.js +30 -0
  369. package/dist/esm/Action/index.js.map +1 -0
  370. package/dist/esm/Action/make.d.ts +128 -0
  371. package/dist/esm/Action/make.d.ts.map +1 -0
  372. package/dist/esm/Action/make.js +405 -0
  373. package/dist/esm/Action/make.js.map +1 -0
  374. package/dist/esm/Action/raceAll.d.ts +21 -0
  375. package/dist/esm/Action/raceAll.d.ts.map +1 -0
  376. package/dist/esm/Action/raceAll.js +20 -0
  377. package/dist/esm/Action/raceAll.js.map +1 -0
  378. package/dist/esm/Action/retry.d.ts +19 -0
  379. package/dist/esm/Action/retry.d.ts.map +1 -0
  380. package/dist/esm/Action/retry.js +72 -0
  381. package/dist/esm/Action/retry.js.map +1 -0
  382. package/dist/esm/Deadline.d.ts +105 -0
  383. package/dist/esm/Deadline.d.ts.map +1 -0
  384. package/dist/esm/Deadline.js +152 -0
  385. package/dist/esm/Deadline.js.map +1 -0
  386. package/dist/esm/DurableClock.d.ts +61 -0
  387. package/dist/esm/DurableClock.d.ts.map +1 -0
  388. package/dist/esm/DurableClock.js +75 -0
  389. package/dist/esm/DurableClock.js.map +1 -0
  390. package/dist/esm/DurableDeferred.d.ts +311 -0
  391. package/dist/esm/DurableDeferred.d.ts.map +1 -0
  392. package/dist/esm/DurableDeferred.js +357 -0
  393. package/dist/esm/DurableDeferred.js.map +1 -0
  394. package/dist/esm/DurableQueue.d.ts +160 -0
  395. package/dist/esm/DurableQueue.d.ts.map +1 -0
  396. package/dist/esm/DurableQueue.js +303 -0
  397. package/dist/esm/DurableQueue.js.map +1 -0
  398. package/dist/esm/ExternalJob.d.ts +179 -0
  399. package/dist/esm/ExternalJob.d.ts.map +1 -0
  400. package/dist/esm/ExternalJob.js +296 -0
  401. package/dist/esm/ExternalJob.js.map +1 -0
  402. package/dist/esm/Fault.d.ts +131 -0
  403. package/dist/esm/Fault.d.ts.map +1 -0
  404. package/dist/esm/Fault.js +198 -0
  405. package/dist/esm/Fault.js.map +1 -0
  406. package/dist/esm/Flow/Annotations.d.ts +245 -0
  407. package/dist/esm/Flow/Annotations.d.ts.map +1 -0
  408. package/dist/esm/Flow/Annotations.js +110 -0
  409. package/dist/esm/Flow/Annotations.js.map +1 -0
  410. package/dist/esm/Flow/CapabilityCeiling.d.ts +21 -0
  411. package/dist/esm/Flow/CapabilityCeiling.d.ts.map +1 -0
  412. package/dist/esm/Flow/CapabilityCeiling.js +27 -0
  413. package/dist/esm/Flow/CapabilityCeiling.js.map +1 -0
  414. package/dist/esm/Flow/DeadlineExceeded.d.ts +33 -0
  415. package/dist/esm/Flow/DeadlineExceeded.d.ts.map +1 -0
  416. package/dist/esm/Flow/DeadlineExceeded.js +34 -0
  417. package/dist/esm/Flow/DeadlineExceeded.js.map +1 -0
  418. package/dist/esm/Flow/ExecutionIdRequired.d.ts +25 -0
  419. package/dist/esm/Flow/ExecutionIdRequired.d.ts.map +1 -0
  420. package/dist/esm/Flow/ExecutionIdRequired.js +30 -0
  421. package/dist/esm/Flow/ExecutionIdRequired.js.map +1 -0
  422. package/dist/esm/Flow/ExecutionIds.d.ts +80 -0
  423. package/dist/esm/Flow/ExecutionIds.d.ts.map +1 -0
  424. package/dist/esm/Flow/ExecutionIds.js +91 -0
  425. package/dist/esm/Flow/ExecutionIds.js.map +1 -0
  426. package/dist/esm/Flow/Flow.d.ts +422 -0
  427. package/dist/esm/Flow/Flow.d.ts.map +1 -0
  428. package/dist/esm/Flow/Flow.js +3 -0
  429. package/dist/esm/Flow/Flow.js.map +1 -0
  430. package/dist/esm/Flow/MaxRoundsExceeded.d.ts +35 -0
  431. package/dist/esm/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  432. package/dist/esm/Flow/MaxRoundsExceeded.js +34 -0
  433. package/dist/esm/Flow/MaxRoundsExceeded.js.map +1 -0
  434. package/dist/esm/Flow/Outcome.d.ts +162 -0
  435. package/dist/esm/Flow/Outcome.d.ts.map +1 -0
  436. package/dist/esm/Flow/Outcome.js +115 -0
  437. package/dist/esm/Flow/Outcome.js.map +1 -0
  438. package/dist/esm/Flow/Result.d.ts +186 -0
  439. package/dist/esm/Flow/Result.d.ts.map +1 -0
  440. package/dist/esm/Flow/Result.js +171 -0
  441. package/dist/esm/Flow/Result.js.map +1 -0
  442. package/dist/esm/Flow/Runtime.d.ts +98 -0
  443. package/dist/esm/Flow/Runtime.d.ts.map +1 -0
  444. package/dist/esm/Flow/Runtime.js +231 -0
  445. package/dist/esm/Flow/Runtime.js.map +1 -0
  446. package/dist/esm/Flow/TypeId.d.ts +8 -0
  447. package/dist/esm/Flow/TypeId.d.ts.map +1 -0
  448. package/dist/esm/Flow/TypeId.js +9 -0
  449. package/dist/esm/Flow/TypeId.js.map +1 -0
  450. package/dist/esm/Flow/index.d.ts +17 -0
  451. package/dist/esm/Flow/index.d.ts.map +1 -0
  452. package/dist/esm/Flow/index.js +18 -0
  453. package/dist/esm/Flow/index.js.map +1 -0
  454. package/dist/esm/Flow/internal.d.ts +34 -0
  455. package/dist/esm/Flow/internal.d.ts.map +1 -0
  456. package/dist/esm/Flow/internal.js +149 -0
  457. package/dist/esm/Flow/internal.js.map +1 -0
  458. package/dist/esm/Flow/make.d.ts +134 -0
  459. package/dist/esm/Flow/make.d.ts.map +1 -0
  460. package/dist/esm/Flow/make.js +106 -0
  461. package/dist/esm/Flow/make.js.map +1 -0
  462. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  463. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  464. package/dist/esm/FlowRuntime/CancelRequestFailed.js +53 -0
  465. package/dist/esm/FlowRuntime/CancelRequestFailed.js.map +1 -0
  466. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  467. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  468. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js +24 -0
  469. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js.map +1 -0
  470. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  471. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  472. package/dist/esm/FlowRuntime/FlowCycleDetected.js +35 -0
  473. package/dist/esm/FlowRuntime/FlowCycleDetected.js.map +1 -0
  474. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  475. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  476. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js +40 -0
  477. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js.map +1 -0
  478. package/dist/esm/FlowRuntime/FlowInstance.d.ts +115 -0
  479. package/dist/esm/FlowRuntime/FlowInstance.d.ts.map +1 -0
  480. package/dist/esm/FlowRuntime/FlowInstance.js +24 -0
  481. package/dist/esm/FlowRuntime/FlowInstance.js.map +1 -0
  482. package/dist/esm/FlowRuntime/FlowRuntime.d.ts +198 -0
  483. package/dist/esm/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  484. package/dist/esm/FlowRuntime/FlowRuntime.js +34 -0
  485. package/dist/esm/FlowRuntime/FlowRuntime.js.map +1 -0
  486. package/dist/esm/FlowRuntime/NodeRecord.d.ts +175 -0
  487. package/dist/esm/FlowRuntime/NodeRecord.d.ts.map +1 -0
  488. package/dist/esm/FlowRuntime/NodeRecord.js +21 -0
  489. package/dist/esm/FlowRuntime/NodeRecord.js.map +1 -0
  490. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  491. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  492. package/dist/esm/FlowRuntime/WaitingAnnotation.js +53 -0
  493. package/dist/esm/FlowRuntime/WaitingAnnotation.js.map +1 -0
  494. package/dist/esm/FlowRuntime/index.d.ts +14 -0
  495. package/dist/esm/FlowRuntime/index.d.ts.map +1 -0
  496. package/dist/esm/FlowRuntime/index.js +15 -0
  497. package/dist/esm/FlowRuntime/index.js.map +1 -0
  498. package/dist/esm/Graph.d.ts +325 -0
  499. package/dist/esm/Graph.d.ts.map +1 -0
  500. package/dist/esm/Graph.js +1482 -0
  501. package/dist/esm/Graph.js.map +1 -0
  502. package/dist/esm/HumanTask.d.ts +440 -0
  503. package/dist/esm/HumanTask.d.ts.map +1 -0
  504. package/dist/esm/HumanTask.js +794 -0
  505. package/dist/esm/HumanTask.js.map +1 -0
  506. package/dist/esm/Interpreter.d.ts +222 -0
  507. package/dist/esm/Interpreter.d.ts.map +1 -0
  508. package/dist/esm/Interpreter.js +1269 -0
  509. package/dist/esm/Interpreter.js.map +1 -0
  510. package/dist/esm/Poll.d.ts +238 -0
  511. package/dist/esm/Poll.d.ts.map +1 -0
  512. package/dist/esm/Poll.js +282 -0
  513. package/dist/esm/Poll.js.map +1 -0
  514. package/dist/esm/RetryPolicy.d.ts +273 -0
  515. package/dist/esm/RetryPolicy.d.ts.map +1 -0
  516. package/dist/esm/RetryPolicy.js +429 -0
  517. package/dist/esm/RetryPolicy.js.map +1 -0
  518. package/dist/esm/Sleep.d.ts +98 -0
  519. package/dist/esm/Sleep.d.ts.map +1 -0
  520. package/dist/esm/Sleep.js +230 -0
  521. package/dist/esm/Sleep.js.map +1 -0
  522. package/dist/esm/Stall.d.ts +173 -0
  523. package/dist/esm/Stall.d.ts.map +1 -0
  524. package/dist/esm/Stall.js +138 -0
  525. package/dist/esm/Stall.js.map +1 -0
  526. package/dist/esm/WaitFor.d.ts +109 -0
  527. package/dist/esm/WaitFor.d.ts.map +1 -0
  528. package/dist/esm/WaitFor.js +184 -0
  529. package/dist/esm/WaitFor.js.map +1 -0
  530. package/dist/esm/index.d.ts +107 -0
  531. package/dist/esm/index.d.ts.map +1 -0
  532. package/dist/esm/index.js +108 -0
  533. package/dist/esm/index.js.map +1 -0
  534. package/dist/esm/internal/BoundedJson.d.ts +48 -0
  535. package/dist/esm/internal/BoundedJson.d.ts.map +1 -0
  536. package/dist/esm/internal/BoundedJson.js +107 -0
  537. package/dist/esm/internal/BoundedJson.js.map +1 -0
  538. package/dist/esm/internal/DeclarationSite.d.ts +135 -0
  539. package/dist/esm/internal/DeclarationSite.d.ts.map +1 -0
  540. package/dist/esm/internal/DeclarationSite.js +196 -0
  541. package/dist/esm/internal/DeclarationSite.js.map +1 -0
  542. package/dist/esm/internal/Declarations.d.ts +35 -0
  543. package/dist/esm/internal/Declarations.d.ts.map +1 -0
  544. package/dist/esm/internal/Declarations.js +43 -0
  545. package/dist/esm/internal/Declarations.js.map +1 -0
  546. package/dist/esm/internal/ExecutionMiddleware.d.ts +21 -0
  547. package/dist/esm/internal/ExecutionMiddleware.d.ts.map +1 -0
  548. package/dist/esm/internal/ExecutionMiddleware.js +13 -0
  549. package/dist/esm/internal/ExecutionMiddleware.js.map +1 -0
  550. package/dist/esm/internal/JsonSchemaSubset.d.ts +133 -0
  551. package/dist/esm/internal/JsonSchemaSubset.d.ts.map +1 -0
  552. package/dist/esm/internal/JsonSchemaSubset.js +363 -0
  553. package/dist/esm/internal/JsonSchemaSubset.js.map +1 -0
  554. package/dist/esm/internal/OutcomeMarker.d.ts +18 -0
  555. package/dist/esm/internal/OutcomeMarker.d.ts.map +1 -0
  556. package/dist/esm/internal/OutcomeMarker.js +18 -0
  557. package/dist/esm/internal/OutcomeMarker.js.map +1 -0
  558. package/docs/README.md +150 -0
  559. package/docs/api.md +436 -0
  560. package/docs/concepts/bodies-and-plans.md +157 -0
  561. package/docs/concepts/execution-identity.md +142 -0
  562. package/docs/concepts/flows-and-actions.md +129 -0
  563. package/docs/concepts/suspension-and-replay.md +130 -0
  564. package/docs/concepts/the-runtime-port.md +110 -0
  565. package/docs/concepts/trampoline-rounds.md +151 -0
  566. package/docs/guides/ask-a-person.md +184 -0
  567. package/docs/guides/build-a-body.md +161 -0
  568. package/docs/guides/cancel-and-roll-back.md +112 -0
  569. package/docs/guides/implement-an-action.md +147 -0
  570. package/docs/guides/inspect-the-plan.md +154 -0
  571. package/docs/guides/poll-until-ready.md +167 -0
  572. package/docs/guides/queue-work-to-a-worker.md +122 -0
  573. package/docs/guides/retry-a-failing-action.md +243 -0
  574. package/docs/guides/reuse-a-recorded-result.md +122 -0
  575. package/docs/guides/run-a-child-flow.md +108 -0
  576. package/docs/guides/run-an-external-job.md +86 -0
  577. package/docs/guides/use-a-prompt.md +38 -0
  578. package/docs/guides/wait-for-a-deadline.md +141 -0
  579. package/docs/guides/wait-for-an-external-signal.md +151 -0
  580. package/docs/installation.md +82 -0
  581. package/docs/quickstart.md +155 -0
  582. package/docs/reference/flow.md +1831 -0
  583. package/docs/testing.md +157 -0
  584. package/docs/troubleshooting.md +286 -0
  585. package/package.json +327 -3
  586. package/src/Action/Action.ts +333 -0
  587. package/src/Action/AttemptTimedOut.ts +37 -0
  588. package/src/Action/BoundaryMode.ts +33 -0
  589. package/src/Action/CacheEnvironment.ts +170 -0
  590. package/src/Action/ConcurrentKeylessDispatch.ts +38 -0
  591. package/src/Action/Context.ts +156 -0
  592. package/src/Action/DuplicateImplementation.ts +24 -0
  593. package/src/Action/FileBoundary.ts +77 -0
  594. package/src/Action/FileInput.ts +42 -0
  595. package/src/Action/Filegroup.ts +16 -0
  596. package/src/Action/Glob.ts +8 -0
  597. package/src/Action/ImplementationVersionMismatch.ts +27 -0
  598. package/src/Action/Implementations.ts +149 -0
  599. package/src/Action/InfraInterrupt.ts +30 -0
  600. package/src/Action/InfraInterruptRetriesExhausted.ts +37 -0
  601. package/src/Action/IrreversibleRetryRequiresIdempotencyKey.ts +32 -0
  602. package/src/Action/StepIdentity.ts +219 -0
  603. package/src/Action/TreeArtifact.ts +8 -0
  604. package/src/Action/TypeId.ts +9 -0
  605. package/src/Action/UncanonicalIdempotencyKey.ts +36 -0
  606. package/src/Action/idempotencyKey.ts +67 -0
  607. package/src/Action/index.ts +31 -0
  608. package/src/Action/make.ts +657 -0
  609. package/src/Action/raceAll.ts +48 -0
  610. package/src/Action/retry.ts +92 -0
  611. package/src/Deadline.ts +185 -0
  612. package/src/DurableClock.ts +133 -0
  613. package/src/DurableDeferred.ts +753 -0
  614. package/src/DurableQueue.ts +519 -0
  615. package/src/ExternalJob.ts +432 -0
  616. package/src/Fault.ts +279 -0
  617. package/src/Flow/Annotations.ts +151 -0
  618. package/src/Flow/CapabilityCeiling.ts +37 -0
  619. package/src/Flow/DeadlineExceeded.ts +40 -0
  620. package/src/Flow/ExecutionIdRequired.ts +36 -0
  621. package/src/Flow/ExecutionIds.ts +133 -0
  622. package/src/Flow/Flow.ts +576 -0
  623. package/src/Flow/MaxRoundsExceeded.ts +39 -0
  624. package/src/Flow/Outcome.ts +179 -0
  625. package/src/Flow/Result.ts +284 -0
  626. package/src/Flow/Runtime.ts +309 -0
  627. package/src/Flow/TypeId.ts +9 -0
  628. package/src/Flow/index.ts +19 -0
  629. package/src/Flow/internal.ts +237 -0
  630. package/src/Flow/make.ts +279 -0
  631. package/src/FlowRuntime/CancelRequestFailed.ts +56 -0
  632. package/src/FlowRuntime/ExecutionIdentityConflict.ts +32 -0
  633. package/src/FlowRuntime/FlowCycleDetected.ts +41 -0
  634. package/src/FlowRuntime/FlowExecutionNotFound.ts +46 -0
  635. package/src/FlowRuntime/FlowInstance.ts +128 -0
  636. package/src/FlowRuntime/FlowRuntime.ts +333 -0
  637. package/src/FlowRuntime/NodeRecord.ts +183 -0
  638. package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
  639. package/src/FlowRuntime/index.ts +17 -0
  640. package/src/Graph.ts +1860 -0
  641. package/src/HumanTask.ts +1003 -0
  642. package/src/Interpreter.ts +1593 -0
  643. package/src/Poll.ts +414 -0
  644. package/src/RetryPolicy.ts +550 -0
  645. package/src/Sleep.ts +267 -0
  646. package/src/Stall.ts +217 -0
  647. package/src/WaitFor.ts +228 -0
  648. package/src/index.ts +125 -0
  649. package/src/internal/BoundedJson.ts +109 -0
  650. package/src/internal/DeclarationSite.ts +214 -0
  651. package/src/internal/Declarations.ts +49 -0
  652. package/src/internal/ExecutionMiddleware.ts +29 -0
  653. package/src/internal/JsonSchemaSubset.ts +392 -0
  654. package/src/internal/OutcomeMarker.ts +19 -0
@@ -0,0 +1,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,322 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var DurableDeferred_exports = {};
30
+ __export(DurableDeferred_exports, {
31
+ Token: () => Token,
32
+ TokenInvalid: () => TokenInvalid,
33
+ TokenParsed: () => TokenParsed,
34
+ TokenTypeId: () => TokenTypeId,
35
+ await: () => await_,
36
+ done: () => done,
37
+ fail: () => fail,
38
+ failCause: () => failCause,
39
+ into: () => into,
40
+ make: () => make,
41
+ raceAll: () => raceAll,
42
+ succeed: () => succeed,
43
+ token: () => token,
44
+ tokenFromExecutionId: () => tokenFromExecutionId,
45
+ tokenFromPayload: () => tokenFromPayload
46
+ });
47
+ module.exports = __toCommonJS(DurableDeferred_exports);
48
+ var Arr = __toESM(require("effect/Array"), 1);
49
+ var Cause = __toESM(require("effect/Cause"), 1);
50
+ var Context = __toESM(require("effect/Context"), 1);
51
+ var Effect = __toESM(require("effect/Effect"), 1);
52
+ var Encoding = __toESM(require("effect/Encoding"), 1);
53
+ var Exit = __toESM(require("effect/Exit"), 1);
54
+ var Filter = __toESM(require("effect/Filter"), 1);
55
+ var import_Function = require("effect/Function");
56
+ var Option = __toESM(require("effect/Option"), 1);
57
+ var Schema = __toESM(require("effect/Schema"), 1);
58
+ var SchemaGetter = __toESM(require("effect/SchemaGetter"), 1);
59
+ var import_Context = require("./Action/Context.js");
60
+ var Flow = __toESM(require("./Flow/index.js"), 1);
61
+ var import_FlowInstance = require("./FlowRuntime/FlowInstance.js");
62
+ var import_FlowRuntime = require("./FlowRuntime/FlowRuntime.js");
63
+ const TypeId = "@smthrs/flow/DurableDeferred";
64
+ const exitSchemaCache = /* @__PURE__ */ new WeakMap();
65
+ const exitSchemaFor = (success, error) => {
66
+ let byError = exitSchemaCache.get(success);
67
+ if (byError === void 0) {
68
+ byError = /* @__PURE__ */ new WeakMap();
69
+ exitSchemaCache.set(success, byError);
70
+ }
71
+ let cached = byError.get(error);
72
+ if (cached === void 0) {
73
+ cached = Schema.Exit(
74
+ Schema.toCodecJson(success),
75
+ Schema.toCodecJson(error),
76
+ Schema.toCodecJson(Schema.Defect())
77
+ );
78
+ byError.set(error, cached);
79
+ }
80
+ return cached;
81
+ };
82
+ const make = (name, options) => {
83
+ const successSchema = options?.success ?? Schema.Void;
84
+ const errorSchema = options?.error ?? Schema.Never;
85
+ return {
86
+ [TypeId]: TypeId,
87
+ name,
88
+ successSchema,
89
+ errorSchema,
90
+ exitSchema: exitSchemaFor(successSchema, errorSchema),
91
+ withActionAttempt: Effect.gen(function* () {
92
+ const attempt = yield* import_Context.CurrentAttempt;
93
+ return make(`${name}/${attempt}`, {
94
+ success: successSchema,
95
+ error: errorSchema
96
+ });
97
+ })
98
+ };
99
+ };
100
+ const await_ = (
101
+ // Untraced because deferred polling participates in the flow scheduler hot path.
102
+ Effect.fnUntraced(function* (self) {
103
+ const engine = yield* import_FlowRuntime.FlowRuntime;
104
+ const instance = yield* import_FlowInstance.FlowInstance;
105
+ const exit = yield* Flow.wrapActionResult(
106
+ engine.deferredResult(self),
107
+ Option.isNone
108
+ );
109
+ if (Option.isNone(exit)) {
110
+ return yield* Flow.suspend(instance);
111
+ }
112
+ const value = exit.value;
113
+ if (Exit.isFailure(value) && Cause.hasInterruptsOnly(value.cause)) {
114
+ instance.interrupted = true;
115
+ }
116
+ return yield* value;
117
+ })
118
+ );
119
+ const into = (0, import_Function.dual)(
120
+ 2,
121
+ (effect, self) => Effect.contextWith(
122
+ (context) => {
123
+ const engine = Context.get(context, import_FlowRuntime.FlowRuntime);
124
+ const instance = Context.get(context, import_FlowInstance.FlowInstance);
125
+ return Effect.onExit(
126
+ effect,
127
+ // Untraced because completion encoding is called for each deferred result.
128
+ Effect.fnUntraced(function* (exit) {
129
+ if (Exit.isFailure(exit)) {
130
+ const [reasons, interrupts] = Arr.partition(
131
+ exit.cause.reasons,
132
+ Filter.fromPredicate(Cause.isInterruptReason)
133
+ );
134
+ const hasInterruptsOnly = interrupts.length === exit.cause.reasons.length;
135
+ if (hasInterruptsOnly) {
136
+ return;
137
+ } else if (interrupts.length > 0) {
138
+ exit = Exit.failCause(Cause.fromReasons(reasons));
139
+ }
140
+ }
141
+ yield* engine.deferredDone(self, {
142
+ flowName: instance.flow._tag,
143
+ executionId: instance.executionId,
144
+ deferredName: self.name,
145
+ exit
146
+ });
147
+ })
148
+ );
149
+ }
150
+ )
151
+ );
152
+ const raceAll = (options) => {
153
+ const deferred = make(`raceAll/${options.name}`, {
154
+ success: options.success,
155
+ error: options.error
156
+ });
157
+ return Effect.gen(function* () {
158
+ const engine = yield* import_FlowRuntime.FlowRuntime;
159
+ const exit = yield* engine.deferredResult(deferred);
160
+ if (Option.isSome(exit)) {
161
+ return yield* exit.value;
162
+ }
163
+ return yield* into(
164
+ Effect.raceAll(options.effects),
165
+ deferred
166
+ );
167
+ });
168
+ };
169
+ const TokenTypeId = "@smthrs/flow/DurableDeferred/Token";
170
+ const Token = Schema.String.pipe(Schema.brand(TokenTypeId));
171
+ class TokenInvalid extends Schema.TaggedError()("@smthrs/flow/DurableDeferred/TokenInvalid", {
172
+ code: Schema.Literals(["malformed_token", "deferred_mismatch"]).pipe(
173
+ Schema.withConstructorDefault(Effect.succeed("malformed_token"))
174
+ ),
175
+ message: Schema.String
176
+ }) {
177
+ }
178
+ class TokenParsed extends Schema.Class(
179
+ "@smthrs/flow/DurableDeferred/TokenParsed"
180
+ )({
181
+ flowName: Schema.String,
182
+ executionId: Schema.String,
183
+ deferredName: Schema.String
184
+ }) {
185
+ /**
186
+ * Encodes the parsed flow, execution, and deferred names back into a token.
187
+ *
188
+ * @since 0.1.0
189
+ */
190
+ get asToken() {
191
+ return Encoding.encodeBase64Url(
192
+ JSON.stringify([this.flowName, this.executionId, this.deferredName])
193
+ );
194
+ }
195
+ /**
196
+ * Schema for decoding and encoding durable deferred tokens as strings.
197
+ *
198
+ * @since 0.1.0
199
+ */
200
+ static FromString = Schema.String.pipe(
201
+ Schema.decodeTo(
202
+ Schema.fromJsonString(
203
+ Schema.Tuple([Schema.String, Schema.String, Schema.String])
204
+ ),
205
+ {
206
+ decode: SchemaGetter.decodeBase64UrlString(),
207
+ encode: SchemaGetter.encodeBase64Url()
208
+ }
209
+ ),
210
+ Schema.decodeTo(TokenParsed, {
211
+ decode: SchemaGetter.transform(
212
+ ([flowName, executionId, deferredName]) => new TokenParsed({
213
+ flowName,
214
+ executionId,
215
+ deferredName
216
+ })
217
+ ),
218
+ encode: SchemaGetter.transform(
219
+ (parsed) => [
220
+ parsed.flowName,
221
+ parsed.executionId,
222
+ parsed.deferredName
223
+ ]
224
+ )
225
+ })
226
+ );
227
+ /**
228
+ * Decodes a durable deferred token string into its parsed components.
229
+ *
230
+ * @since 0.1.0
231
+ */
232
+ static fromString = Schema.decodeSync(TokenParsed.FromString);
233
+ /**
234
+ * Encodes parsed durable deferred token components into a token string.
235
+ *
236
+ * @since 0.1.0
237
+ */
238
+ static encode = Schema.encodeSync(TokenParsed.FromString);
239
+ /**
240
+ * Parses an untrusted token into its durable address with a typed,
241
+ * bounded diagnostic on failure.
242
+ *
243
+ * @category token
244
+ * @since 1.0.0
245
+ */
246
+ static parse = (token2) => Effect.mapError(
247
+ Schema.decodeEffect(TokenParsed.FromString)(token2),
248
+ (issue) => new TokenInvalid({
249
+ message: `The supplied token "${tokenExcerpt(token2)}" is not a durable deferred token: ${issue.message}`
250
+ })
251
+ );
252
+ }
253
+ const maxTokenExcerptChars = 64;
254
+ const tokenExcerpt = (token2) => token2.length <= maxTokenExcerptChars ? token2 : `${token2.slice(0, maxTokenExcerptChars)} [${token2.length - maxTokenExcerptChars} characters dropped]`;
255
+ const token = (
256
+ // Untraced because token allocation is on the durable-deferred hot path.
257
+ Effect.fnUntraced(
258
+ function* (self) {
259
+ const instance = yield* import_FlowInstance.FlowInstance;
260
+ return tokenFromExecutionId(self, instance);
261
+ }
262
+ )
263
+ );
264
+ const tokenFromExecutionId = (0, import_Function.dual)(
265
+ 2,
266
+ (self, options) => new TokenParsed({
267
+ flowName: options.flow._tag,
268
+ executionId: options.executionId,
269
+ deferredName: self.name
270
+ }).asToken
271
+ );
272
+ const tokenFromPayload = (0, import_Function.dual)(
273
+ 2,
274
+ (self, options) => Effect.map(options.flow.executionId(options.payload), (executionId) => tokenFromExecutionId(self, {
275
+ flow: options.flow,
276
+ executionId
277
+ }))
278
+ );
279
+ const done = (0, import_Function.dual)(
280
+ 2,
281
+ // Untraced because awaiting a deferred re-enters the scheduler recursively.
282
+ Effect.fnUntraced(function* (self, options) {
283
+ const token2 = yield* TokenParsed.parse(options.token);
284
+ if (token2.deferredName !== self.name) {
285
+ return yield* Effect.fail(
286
+ new TokenInvalid({
287
+ code: "deferred_mismatch",
288
+ message: `The token addresses deferred "${tokenExcerpt(token2.deferredName)}", but it was submitted through deferred "${self.name}".`
289
+ })
290
+ );
291
+ }
292
+ const engine = yield* import_FlowRuntime.FlowRuntime;
293
+ yield* engine.deferredDone(self, {
294
+ flowName: token2.flowName,
295
+ executionId: token2.executionId,
296
+ deferredName: token2.deferredName,
297
+ exit: options.exit
298
+ });
299
+ })
300
+ );
301
+ const succeed = (0, import_Function.dual)(
302
+ 2,
303
+ (self, options) => done(self, {
304
+ token: options.token,
305
+ exit: Exit.succeed(options.value)
306
+ })
307
+ );
308
+ const fail = (0, import_Function.dual)(
309
+ 2,
310
+ (self, options) => done(self, {
311
+ token: options.token,
312
+ exit: Exit.fail(options.error)
313
+ })
314
+ );
315
+ const failCause = (0, import_Function.dual)(
316
+ 2,
317
+ (self, options) => done(self, {
318
+ token: options.token,
319
+ exit: Exit.failCause(options.cause)
320
+ })
321
+ );
322
+ //# sourceMappingURL=DurableDeferred.js.map