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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/LICENSE +21 -0
  3. package/README.md +210 -2
  4. package/THIRD_PARTY_NOTICES.md +52 -0
  5. package/dist/cjs/Action/Action.d.ts +250 -0
  6. package/dist/cjs/Action/Action.d.ts.map +1 -0
  7. package/dist/cjs/Action/Action.js +42 -0
  8. package/dist/cjs/Action/Action.js.map +7 -0
  9. package/dist/cjs/Action/AttemptTimedOut.d.ts +33 -0
  10. package/dist/cjs/Action/AttemptTimedOut.d.ts.map +1 -0
  11. package/dist/cjs/Action/AttemptTimedOut.js +51 -0
  12. package/dist/cjs/Action/AttemptTimedOut.js.map +7 -0
  13. package/dist/cjs/Action/BoundaryMode.d.ts +29 -0
  14. package/dist/cjs/Action/BoundaryMode.d.ts.map +1 -0
  15. package/dist/cjs/Action/BoundaryMode.js +36 -0
  16. package/dist/cjs/Action/BoundaryMode.js.map +7 -0
  17. package/dist/cjs/Action/CacheEnvironment.d.ts +158 -0
  18. package/dist/cjs/Action/CacheEnvironment.d.ts.map +1 -0
  19. package/dist/cjs/Action/CacheEnvironment.js +57 -0
  20. package/dist/cjs/Action/CacheEnvironment.js.map +7 -0
  21. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  22. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  23. package/dist/cjs/Action/ConcurrentKeylessDispatch.js +46 -0
  24. package/dist/cjs/Action/ConcurrentKeylessDispatch.js.map +7 -0
  25. package/dist/cjs/Action/Context.d.ts +131 -0
  26. package/dist/cjs/Action/Context.d.ts.map +1 -0
  27. package/dist/cjs/Action/Context.js +68 -0
  28. package/dist/cjs/Action/Context.js.map +7 -0
  29. package/dist/cjs/Action/DuplicateImplementation.d.ts +20 -0
  30. package/dist/cjs/Action/DuplicateImplementation.d.ts.map +1 -0
  31. package/dist/cjs/Action/DuplicateImplementation.js +46 -0
  32. package/dist/cjs/Action/DuplicateImplementation.js.map +7 -0
  33. package/dist/cjs/Action/FileBoundary.d.ts +59 -0
  34. package/dist/cjs/Action/FileBoundary.d.ts.map +1 -0
  35. package/dist/cjs/Action/FileBoundary.js +81 -0
  36. package/dist/cjs/Action/FileBoundary.js.map +7 -0
  37. package/dist/cjs/Action/FileInput.d.ts +28 -0
  38. package/dist/cjs/Action/FileInput.d.ts.map +1 -0
  39. package/dist/cjs/Action/FileInput.js +42 -0
  40. package/dist/cjs/Action/FileInput.js.map +7 -0
  41. package/dist/cjs/Action/Filegroup.d.ts +16 -0
  42. package/dist/cjs/Action/Filegroup.d.ts.map +1 -0
  43. package/dist/cjs/Action/Filegroup.js +27 -0
  44. package/dist/cjs/Action/Filegroup.js.map +7 -0
  45. package/dist/cjs/Action/Glob.d.ts +8 -0
  46. package/dist/cjs/Action/Glob.d.ts.map +1 -0
  47. package/dist/cjs/Action/Glob.js +28 -0
  48. package/dist/cjs/Action/Glob.js.map +7 -0
  49. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts +26 -0
  50. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  51. package/dist/cjs/Action/ImplementationVersionMismatch.js +45 -0
  52. package/dist/cjs/Action/ImplementationVersionMismatch.js.map +7 -0
  53. package/dist/cjs/Action/Implementations.d.ts +114 -0
  54. package/dist/cjs/Action/Implementations.d.ts.map +1 -0
  55. package/dist/cjs/Action/Implementations.js +65 -0
  56. package/dist/cjs/Action/Implementations.js.map +7 -0
  57. package/dist/cjs/Action/InfraInterrupt.d.ts +26 -0
  58. package/dist/cjs/Action/InfraInterrupt.d.ts.map +1 -0
  59. package/dist/cjs/Action/InfraInterrupt.js +46 -0
  60. package/dist/cjs/Action/InfraInterrupt.js.map +7 -0
  61. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  62. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  63. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js +54 -0
  64. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js.map +7 -0
  65. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  66. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  67. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js +47 -0
  68. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +7 -0
  69. package/dist/cjs/Action/StepIdentity.d.ts +153 -0
  70. package/dist/cjs/Action/StepIdentity.d.ts.map +1 -0
  71. package/dist/cjs/Action/StepIdentity.js +75 -0
  72. package/dist/cjs/Action/StepIdentity.js.map +7 -0
  73. package/dist/cjs/Action/TreeArtifact.d.ts +8 -0
  74. package/dist/cjs/Action/TreeArtifact.d.ts.map +1 -0
  75. package/dist/cjs/Action/TreeArtifact.js +25 -0
  76. package/dist/cjs/Action/TreeArtifact.js.map +7 -0
  77. package/dist/cjs/Action/TypeId.d.ts +8 -0
  78. package/dist/cjs/Action/TypeId.d.ts.map +1 -0
  79. package/dist/cjs/Action/TypeId.js +25 -0
  80. package/dist/cjs/Action/TypeId.js.map +7 -0
  81. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  82. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  83. package/dist/cjs/Action/UncanonicalIdempotencyKey.js +51 -0
  84. package/dist/cjs/Action/UncanonicalIdempotencyKey.js.map +7 -0
  85. package/dist/cjs/Action/idempotencyKey.d.ts +21 -0
  86. package/dist/cjs/Action/idempotencyKey.d.ts.map +1 -0
  87. package/dist/cjs/Action/idempotencyKey.js +59 -0
  88. package/dist/cjs/Action/idempotencyKey.js.map +7 -0
  89. package/dist/cjs/Action/index.d.ts +29 -0
  90. package/dist/cjs/Action/index.d.ts.map +1 -0
  91. package/dist/cjs/Action/index.js +60 -0
  92. package/dist/cjs/Action/index.js.map +7 -0
  93. package/dist/cjs/Action/make.d.ts +128 -0
  94. package/dist/cjs/Action/make.d.ts.map +1 -0
  95. package/dist/cjs/Action/make.js +373 -0
  96. package/dist/cjs/Action/make.js.map +7 -0
  97. package/dist/cjs/Action/raceAll.d.ts +21 -0
  98. package/dist/cjs/Action/raceAll.d.ts.map +1 -0
  99. package/dist/cjs/Action/raceAll.js +46 -0
  100. package/dist/cjs/Action/raceAll.js.map +7 -0
  101. package/dist/cjs/Action/retry.d.ts +19 -0
  102. package/dist/cjs/Action/retry.d.ts.map +1 -0
  103. package/dist/cjs/Action/retry.js +75 -0
  104. package/dist/cjs/Action/retry.js.map +7 -0
  105. package/dist/cjs/Deadline.d.ts +105 -0
  106. package/dist/cjs/Deadline.d.ts.map +1 -0
  107. package/dist/cjs/Deadline.js +104 -0
  108. package/dist/cjs/Deadline.js.map +7 -0
  109. package/dist/cjs/DurableClock.d.ts +61 -0
  110. package/dist/cjs/DurableClock.d.ts.map +1 -0
  111. package/dist/cjs/DurableClock.js +90 -0
  112. package/dist/cjs/DurableClock.js.map +7 -0
  113. package/dist/cjs/DurableDeferred.d.ts +311 -0
  114. package/dist/cjs/DurableDeferred.d.ts.map +1 -0
  115. package/dist/cjs/DurableDeferred.js +322 -0
  116. package/dist/cjs/DurableDeferred.js.map +7 -0
  117. package/dist/cjs/DurableQueue.d.ts +160 -0
  118. package/dist/cjs/DurableQueue.d.ts.map +1 -0
  119. package/dist/cjs/DurableQueue.js +229 -0
  120. package/dist/cjs/DurableQueue.js.map +7 -0
  121. package/dist/cjs/ExternalJob.d.ts +179 -0
  122. package/dist/cjs/ExternalJob.d.ts.map +1 -0
  123. package/dist/cjs/ExternalJob.js +338 -0
  124. package/dist/cjs/ExternalJob.js.map +7 -0
  125. package/dist/cjs/Fault.d.ts +131 -0
  126. package/dist/cjs/Fault.d.ts.map +1 -0
  127. package/dist/cjs/Fault.js +157 -0
  128. package/dist/cjs/Fault.js.map +7 -0
  129. package/dist/cjs/Flow/Annotations.d.ts +245 -0
  130. package/dist/cjs/Flow/Annotations.d.ts.map +1 -0
  131. package/dist/cjs/Flow/Annotations.js +72 -0
  132. package/dist/cjs/Flow/Annotations.js.map +7 -0
  133. package/dist/cjs/Flow/CapabilityCeiling.d.ts +21 -0
  134. package/dist/cjs/Flow/CapabilityCeiling.d.ts.map +1 -0
  135. package/dist/cjs/Flow/CapabilityCeiling.js +49 -0
  136. package/dist/cjs/Flow/CapabilityCeiling.js.map +7 -0
  137. package/dist/cjs/Flow/DeadlineExceeded.d.ts +33 -0
  138. package/dist/cjs/Flow/DeadlineExceeded.d.ts.map +1 -0
  139. package/dist/cjs/Flow/DeadlineExceeded.js +52 -0
  140. package/dist/cjs/Flow/DeadlineExceeded.js.map +7 -0
  141. package/dist/cjs/Flow/ExecutionIdRequired.d.ts +25 -0
  142. package/dist/cjs/Flow/ExecutionIdRequired.d.ts.map +1 -0
  143. package/dist/cjs/Flow/ExecutionIdRequired.js +46 -0
  144. package/dist/cjs/Flow/ExecutionIdRequired.js.map +7 -0
  145. package/dist/cjs/Flow/ExecutionIds.d.ts +80 -0
  146. package/dist/cjs/Flow/ExecutionIds.d.ts.map +1 -0
  147. package/dist/cjs/Flow/ExecutionIds.js +66 -0
  148. package/dist/cjs/Flow/ExecutionIds.js.map +7 -0
  149. package/dist/cjs/Flow/Flow.d.ts +422 -0
  150. package/dist/cjs/Flow/Flow.d.ts.map +1 -0
  151. package/dist/cjs/Flow/Flow.js +17 -0
  152. package/dist/cjs/Flow/Flow.js.map +7 -0
  153. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts +35 -0
  154. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  155. package/dist/cjs/Flow/MaxRoundsExceeded.js +50 -0
  156. package/dist/cjs/Flow/MaxRoundsExceeded.js.map +7 -0
  157. package/dist/cjs/Flow/Outcome.d.ts +162 -0
  158. package/dist/cjs/Flow/Outcome.d.ts.map +1 -0
  159. package/dist/cjs/Flow/Outcome.js +80 -0
  160. package/dist/cjs/Flow/Outcome.js.map +7 -0
  161. package/dist/cjs/Flow/Result.d.ts +186 -0
  162. package/dist/cjs/Flow/Result.d.ts.map +1 -0
  163. package/dist/cjs/Flow/Result.js +159 -0
  164. package/dist/cjs/Flow/Result.js.map +7 -0
  165. package/dist/cjs/Flow/Runtime.d.ts +98 -0
  166. package/dist/cjs/Flow/Runtime.d.ts.map +1 -0
  167. package/dist/cjs/Flow/Runtime.js +160 -0
  168. package/dist/cjs/Flow/Runtime.js.map +7 -0
  169. package/dist/cjs/Flow/TypeId.d.ts +8 -0
  170. package/dist/cjs/Flow/TypeId.d.ts.map +1 -0
  171. package/dist/cjs/Flow/TypeId.js +25 -0
  172. package/dist/cjs/Flow/TypeId.js.map +7 -0
  173. package/dist/cjs/Flow/index.d.ts +17 -0
  174. package/dist/cjs/Flow/index.d.ts.map +1 -0
  175. package/dist/cjs/Flow/index.js +29 -0
  176. package/dist/cjs/Flow/index.js.map +7 -0
  177. package/dist/cjs/Flow/internal.d.ts +34 -0
  178. package/dist/cjs/Flow/internal.d.ts.map +1 -0
  179. package/dist/cjs/Flow/internal.js +187 -0
  180. package/dist/cjs/Flow/internal.js.map +7 -0
  181. package/dist/cjs/Flow/make.d.ts +134 -0
  182. package/dist/cjs/Flow/make.d.ts.map +1 -0
  183. package/dist/cjs/Flow/make.js +104 -0
  184. package/dist/cjs/Flow/make.js.map +7 -0
  185. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  186. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  187. package/dist/cjs/FlowRuntime/CancelRequestFailed.js +51 -0
  188. package/dist/cjs/FlowRuntime/CancelRequestFailed.js.map +7 -0
  189. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  190. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  191. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js +55 -0
  192. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js.map +7 -0
  193. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  194. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  195. package/dist/cjs/FlowRuntime/FlowCycleDetected.js +49 -0
  196. package/dist/cjs/FlowRuntime/FlowCycleDetected.js.map +7 -0
  197. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  198. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  199. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js +53 -0
  200. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js.map +7 -0
  201. package/dist/cjs/FlowRuntime/FlowInstance.d.ts +115 -0
  202. package/dist/cjs/FlowRuntime/FlowInstance.d.ts.map +1 -0
  203. package/dist/cjs/FlowRuntime/FlowInstance.js +37 -0
  204. package/dist/cjs/FlowRuntime/FlowInstance.js.map +7 -0
  205. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts +198 -0
  206. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  207. package/dist/cjs/FlowRuntime/FlowRuntime.js +37 -0
  208. package/dist/cjs/FlowRuntime/FlowRuntime.js.map +7 -0
  209. package/dist/cjs/FlowRuntime/NodeRecord.d.ts +175 -0
  210. package/dist/cjs/FlowRuntime/NodeRecord.d.ts.map +1 -0
  211. package/dist/cjs/FlowRuntime/NodeRecord.js +17 -0
  212. package/dist/cjs/FlowRuntime/NodeRecord.js.map +7 -0
  213. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  214. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  215. package/dist/cjs/FlowRuntime/WaitingAnnotation.js +53 -0
  216. package/dist/cjs/FlowRuntime/WaitingAnnotation.js.map +7 -0
  217. package/dist/cjs/FlowRuntime/index.d.ts +14 -0
  218. package/dist/cjs/FlowRuntime/index.d.ts.map +1 -0
  219. package/dist/cjs/FlowRuntime/index.js +26 -0
  220. package/dist/cjs/FlowRuntime/index.js.map +7 -0
  221. package/dist/cjs/Graph.d.ts +325 -0
  222. package/dist/cjs/Graph.d.ts.map +1 -0
  223. package/dist/cjs/Graph.js +1021 -0
  224. package/dist/cjs/Graph.js.map +7 -0
  225. package/dist/cjs/HumanTask.d.ts +440 -0
  226. package/dist/cjs/HumanTask.d.ts.map +1 -0
  227. package/dist/cjs/HumanTask.js +413 -0
  228. package/dist/cjs/HumanTask.js.map +7 -0
  229. package/dist/cjs/Interpreter.d.ts +222 -0
  230. package/dist/cjs/Interpreter.d.ts.map +1 -0
  231. package/dist/cjs/Interpreter.js +888 -0
  232. package/dist/cjs/Interpreter.js.map +7 -0
  233. package/dist/cjs/Poll.d.ts +238 -0
  234. package/dist/cjs/Poll.d.ts.map +1 -0
  235. package/dist/cjs/Poll.js +150 -0
  236. package/dist/cjs/Poll.js.map +7 -0
  237. package/dist/cjs/RetryPolicy.d.ts +273 -0
  238. package/dist/cjs/RetryPolicy.d.ts.map +1 -0
  239. package/dist/cjs/RetryPolicy.js +251 -0
  240. package/dist/cjs/RetryPolicy.js.map +7 -0
  241. package/dist/cjs/Sleep.d.ts +98 -0
  242. package/dist/cjs/Sleep.d.ts.map +1 -0
  243. package/dist/cjs/Sleep.js +133 -0
  244. package/dist/cjs/Sleep.js.map +7 -0
  245. package/dist/cjs/Stall.d.ts +173 -0
  246. package/dist/cjs/Stall.d.ts.map +1 -0
  247. package/dist/cjs/Stall.js +92 -0
  248. package/dist/cjs/Stall.js.map +7 -0
  249. package/dist/cjs/WaitFor.d.ts +109 -0
  250. package/dist/cjs/WaitFor.d.ts.map +1 -0
  251. package/dist/cjs/WaitFor.js +117 -0
  252. package/dist/cjs/WaitFor.js.map +7 -0
  253. package/dist/cjs/index.d.ts +107 -0
  254. package/dist/cjs/index.d.ts.map +1 -0
  255. package/dist/cjs/index.js +69 -0
  256. package/dist/cjs/index.js.map +7 -0
  257. package/dist/cjs/internal/BoundedJson.d.ts +48 -0
  258. package/dist/cjs/internal/BoundedJson.d.ts.map +1 -0
  259. package/dist/cjs/internal/BoundedJson.js +96 -0
  260. package/dist/cjs/internal/BoundedJson.js.map +7 -0
  261. package/dist/cjs/internal/DeclarationSite.d.ts +135 -0
  262. package/dist/cjs/internal/DeclarationSite.d.ts.map +1 -0
  263. package/dist/cjs/internal/DeclarationSite.js +89 -0
  264. package/dist/cjs/internal/DeclarationSite.js.map +7 -0
  265. package/dist/cjs/internal/Declarations.d.ts +35 -0
  266. package/dist/cjs/internal/Declarations.d.ts.map +1 -0
  267. package/dist/cjs/internal/Declarations.js +50 -0
  268. package/dist/cjs/internal/Declarations.js.map +7 -0
  269. package/dist/cjs/internal/ExecutionMiddleware.d.ts +21 -0
  270. package/dist/cjs/internal/ExecutionMiddleware.d.ts.map +1 -0
  271. package/dist/cjs/internal/ExecutionMiddleware.js +39 -0
  272. package/dist/cjs/internal/ExecutionMiddleware.js.map +7 -0
  273. package/dist/cjs/internal/JsonSchemaSubset.d.ts +133 -0
  274. package/dist/cjs/internal/JsonSchemaSubset.d.ts.map +1 -0
  275. package/dist/cjs/internal/JsonSchemaSubset.js +229 -0
  276. package/dist/cjs/internal/JsonSchemaSubset.js.map +7 -0
  277. package/dist/cjs/internal/OutcomeMarker.d.ts +18 -0
  278. package/dist/cjs/internal/OutcomeMarker.d.ts.map +1 -0
  279. package/dist/cjs/internal/OutcomeMarker.js +27 -0
  280. package/dist/cjs/internal/OutcomeMarker.js.map +7 -0
  281. package/dist/cjs/package.json +1 -0
  282. package/dist/esm/Action/Action.d.ts +250 -0
  283. package/dist/esm/Action/Action.d.ts.map +1 -0
  284. package/dist/esm/Action/Action.js +30 -0
  285. package/dist/esm/Action/Action.js.map +1 -0
  286. package/dist/esm/Action/AttemptTimedOut.d.ts +33 -0
  287. package/dist/esm/Action/AttemptTimedOut.d.ts.map +1 -0
  288. package/dist/esm/Action/AttemptTimedOut.js +32 -0
  289. package/dist/esm/Action/AttemptTimedOut.js.map +1 -0
  290. package/dist/esm/Action/BoundaryMode.d.ts +29 -0
  291. package/dist/esm/Action/BoundaryMode.d.ts.map +1 -0
  292. package/dist/esm/Action/BoundaryMode.js +23 -0
  293. package/dist/esm/Action/BoundaryMode.js.map +1 -0
  294. package/dist/esm/Action/CacheEnvironment.d.ts +158 -0
  295. package/dist/esm/Action/CacheEnvironment.d.ts.map +1 -0
  296. package/dist/esm/Action/CacheEnvironment.js +130 -0
  297. package/dist/esm/Action/CacheEnvironment.js.map +1 -0
  298. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  299. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  300. package/dist/esm/Action/ConcurrentKeylessDispatch.js +33 -0
  301. package/dist/esm/Action/ConcurrentKeylessDispatch.js.map +1 -0
  302. package/dist/esm/Action/Context.d.ts +131 -0
  303. package/dist/esm/Action/Context.d.ts.map +1 -0
  304. package/dist/esm/Action/Context.js +99 -0
  305. package/dist/esm/Action/Context.js.map +1 -0
  306. package/dist/esm/Action/DuplicateImplementation.d.ts +20 -0
  307. package/dist/esm/Action/DuplicateImplementation.d.ts.map +1 -0
  308. package/dist/esm/Action/DuplicateImplementation.js +20 -0
  309. package/dist/esm/Action/DuplicateImplementation.js.map +1 -0
  310. package/dist/esm/Action/FileBoundary.d.ts +59 -0
  311. package/dist/esm/Action/FileBoundary.d.ts.map +1 -0
  312. package/dist/esm/Action/FileBoundary.js +60 -0
  313. package/dist/esm/Action/FileBoundary.js.map +1 -0
  314. package/dist/esm/Action/FileInput.d.ts +28 -0
  315. package/dist/esm/Action/FileInput.d.ts.map +1 -0
  316. package/dist/esm/Action/FileInput.js +32 -0
  317. package/dist/esm/Action/FileInput.js.map +1 -0
  318. package/dist/esm/Action/Filegroup.d.ts +16 -0
  319. package/dist/esm/Action/Filegroup.d.ts.map +1 -0
  320. package/dist/esm/Action/Filegroup.js +15 -0
  321. package/dist/esm/Action/Filegroup.js.map +1 -0
  322. package/dist/esm/Action/Glob.d.ts +8 -0
  323. package/dist/esm/Action/Glob.d.ts.map +1 -0
  324. package/dist/esm/Action/Glob.js +7 -0
  325. package/dist/esm/Action/Glob.js.map +1 -0
  326. package/dist/esm/Action/ImplementationVersionMismatch.d.ts +26 -0
  327. package/dist/esm/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  328. package/dist/esm/Action/ImplementationVersionMismatch.js +24 -0
  329. package/dist/esm/Action/ImplementationVersionMismatch.js.map +1 -0
  330. package/dist/esm/Action/Implementations.d.ts +114 -0
  331. package/dist/esm/Action/Implementations.d.ts.map +1 -0
  332. package/dist/esm/Action/Implementations.js +94 -0
  333. package/dist/esm/Action/Implementations.js.map +1 -0
  334. package/dist/esm/Action/InfraInterrupt.d.ts +26 -0
  335. package/dist/esm/Action/InfraInterrupt.d.ts.map +1 -0
  336. package/dist/esm/Action/InfraInterrupt.js +25 -0
  337. package/dist/esm/Action/InfraInterrupt.js.map +1 -0
  338. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  339. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  340. package/dist/esm/Action/InfraInterruptRetriesExhausted.js +32 -0
  341. package/dist/esm/Action/InfraInterruptRetriesExhausted.js.map +1 -0
  342. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  343. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  344. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js +25 -0
  345. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +1 -0
  346. package/dist/esm/Action/StepIdentity.d.ts +153 -0
  347. package/dist/esm/Action/StepIdentity.d.ts.map +1 -0
  348. package/dist/esm/Action/StepIdentity.js +139 -0
  349. package/dist/esm/Action/StepIdentity.js.map +1 -0
  350. package/dist/esm/Action/TreeArtifact.d.ts +8 -0
  351. package/dist/esm/Action/TreeArtifact.d.ts.map +1 -0
  352. package/dist/esm/Action/TreeArtifact.js +7 -0
  353. package/dist/esm/Action/TreeArtifact.js.map +1 -0
  354. package/dist/esm/Action/TypeId.d.ts +8 -0
  355. package/dist/esm/Action/TypeId.d.ts.map +1 -0
  356. package/dist/esm/Action/TypeId.js +9 -0
  357. package/dist/esm/Action/TypeId.js.map +1 -0
  358. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  359. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  360. package/dist/esm/Action/UncanonicalIdempotencyKey.js +31 -0
  361. package/dist/esm/Action/UncanonicalIdempotencyKey.js.map +1 -0
  362. package/dist/esm/Action/idempotencyKey.d.ts +21 -0
  363. package/dist/esm/Action/idempotencyKey.d.ts.map +1 -0
  364. package/dist/esm/Action/idempotencyKey.js +50 -0
  365. package/dist/esm/Action/idempotencyKey.js.map +1 -0
  366. package/dist/esm/Action/index.d.ts +29 -0
  367. package/dist/esm/Action/index.d.ts.map +1 -0
  368. package/dist/esm/Action/index.js +30 -0
  369. package/dist/esm/Action/index.js.map +1 -0
  370. package/dist/esm/Action/make.d.ts +128 -0
  371. package/dist/esm/Action/make.d.ts.map +1 -0
  372. package/dist/esm/Action/make.js +405 -0
  373. package/dist/esm/Action/make.js.map +1 -0
  374. package/dist/esm/Action/raceAll.d.ts +21 -0
  375. package/dist/esm/Action/raceAll.d.ts.map +1 -0
  376. package/dist/esm/Action/raceAll.js +20 -0
  377. package/dist/esm/Action/raceAll.js.map +1 -0
  378. package/dist/esm/Action/retry.d.ts +19 -0
  379. package/dist/esm/Action/retry.d.ts.map +1 -0
  380. package/dist/esm/Action/retry.js +72 -0
  381. package/dist/esm/Action/retry.js.map +1 -0
  382. package/dist/esm/Deadline.d.ts +105 -0
  383. package/dist/esm/Deadline.d.ts.map +1 -0
  384. package/dist/esm/Deadline.js +152 -0
  385. package/dist/esm/Deadline.js.map +1 -0
  386. package/dist/esm/DurableClock.d.ts +61 -0
  387. package/dist/esm/DurableClock.d.ts.map +1 -0
  388. package/dist/esm/DurableClock.js +75 -0
  389. package/dist/esm/DurableClock.js.map +1 -0
  390. package/dist/esm/DurableDeferred.d.ts +311 -0
  391. package/dist/esm/DurableDeferred.d.ts.map +1 -0
  392. package/dist/esm/DurableDeferred.js +357 -0
  393. package/dist/esm/DurableDeferred.js.map +1 -0
  394. package/dist/esm/DurableQueue.d.ts +160 -0
  395. package/dist/esm/DurableQueue.d.ts.map +1 -0
  396. package/dist/esm/DurableQueue.js +303 -0
  397. package/dist/esm/DurableQueue.js.map +1 -0
  398. package/dist/esm/ExternalJob.d.ts +179 -0
  399. package/dist/esm/ExternalJob.d.ts.map +1 -0
  400. package/dist/esm/ExternalJob.js +296 -0
  401. package/dist/esm/ExternalJob.js.map +1 -0
  402. package/dist/esm/Fault.d.ts +131 -0
  403. package/dist/esm/Fault.d.ts.map +1 -0
  404. package/dist/esm/Fault.js +198 -0
  405. package/dist/esm/Fault.js.map +1 -0
  406. package/dist/esm/Flow/Annotations.d.ts +245 -0
  407. package/dist/esm/Flow/Annotations.d.ts.map +1 -0
  408. package/dist/esm/Flow/Annotations.js +110 -0
  409. package/dist/esm/Flow/Annotations.js.map +1 -0
  410. package/dist/esm/Flow/CapabilityCeiling.d.ts +21 -0
  411. package/dist/esm/Flow/CapabilityCeiling.d.ts.map +1 -0
  412. package/dist/esm/Flow/CapabilityCeiling.js +27 -0
  413. package/dist/esm/Flow/CapabilityCeiling.js.map +1 -0
  414. package/dist/esm/Flow/DeadlineExceeded.d.ts +33 -0
  415. package/dist/esm/Flow/DeadlineExceeded.d.ts.map +1 -0
  416. package/dist/esm/Flow/DeadlineExceeded.js +34 -0
  417. package/dist/esm/Flow/DeadlineExceeded.js.map +1 -0
  418. package/dist/esm/Flow/ExecutionIdRequired.d.ts +25 -0
  419. package/dist/esm/Flow/ExecutionIdRequired.d.ts.map +1 -0
  420. package/dist/esm/Flow/ExecutionIdRequired.js +30 -0
  421. package/dist/esm/Flow/ExecutionIdRequired.js.map +1 -0
  422. package/dist/esm/Flow/ExecutionIds.d.ts +80 -0
  423. package/dist/esm/Flow/ExecutionIds.d.ts.map +1 -0
  424. package/dist/esm/Flow/ExecutionIds.js +91 -0
  425. package/dist/esm/Flow/ExecutionIds.js.map +1 -0
  426. package/dist/esm/Flow/Flow.d.ts +422 -0
  427. package/dist/esm/Flow/Flow.d.ts.map +1 -0
  428. package/dist/esm/Flow/Flow.js +3 -0
  429. package/dist/esm/Flow/Flow.js.map +1 -0
  430. package/dist/esm/Flow/MaxRoundsExceeded.d.ts +35 -0
  431. package/dist/esm/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  432. package/dist/esm/Flow/MaxRoundsExceeded.js +34 -0
  433. package/dist/esm/Flow/MaxRoundsExceeded.js.map +1 -0
  434. package/dist/esm/Flow/Outcome.d.ts +162 -0
  435. package/dist/esm/Flow/Outcome.d.ts.map +1 -0
  436. package/dist/esm/Flow/Outcome.js +115 -0
  437. package/dist/esm/Flow/Outcome.js.map +1 -0
  438. package/dist/esm/Flow/Result.d.ts +186 -0
  439. package/dist/esm/Flow/Result.d.ts.map +1 -0
  440. package/dist/esm/Flow/Result.js +171 -0
  441. package/dist/esm/Flow/Result.js.map +1 -0
  442. package/dist/esm/Flow/Runtime.d.ts +98 -0
  443. package/dist/esm/Flow/Runtime.d.ts.map +1 -0
  444. package/dist/esm/Flow/Runtime.js +231 -0
  445. package/dist/esm/Flow/Runtime.js.map +1 -0
  446. package/dist/esm/Flow/TypeId.d.ts +8 -0
  447. package/dist/esm/Flow/TypeId.d.ts.map +1 -0
  448. package/dist/esm/Flow/TypeId.js +9 -0
  449. package/dist/esm/Flow/TypeId.js.map +1 -0
  450. package/dist/esm/Flow/index.d.ts +17 -0
  451. package/dist/esm/Flow/index.d.ts.map +1 -0
  452. package/dist/esm/Flow/index.js +18 -0
  453. package/dist/esm/Flow/index.js.map +1 -0
  454. package/dist/esm/Flow/internal.d.ts +34 -0
  455. package/dist/esm/Flow/internal.d.ts.map +1 -0
  456. package/dist/esm/Flow/internal.js +149 -0
  457. package/dist/esm/Flow/internal.js.map +1 -0
  458. package/dist/esm/Flow/make.d.ts +134 -0
  459. package/dist/esm/Flow/make.d.ts.map +1 -0
  460. package/dist/esm/Flow/make.js +106 -0
  461. package/dist/esm/Flow/make.js.map +1 -0
  462. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  463. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  464. package/dist/esm/FlowRuntime/CancelRequestFailed.js +53 -0
  465. package/dist/esm/FlowRuntime/CancelRequestFailed.js.map +1 -0
  466. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  467. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  468. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js +24 -0
  469. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js.map +1 -0
  470. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  471. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  472. package/dist/esm/FlowRuntime/FlowCycleDetected.js +35 -0
  473. package/dist/esm/FlowRuntime/FlowCycleDetected.js.map +1 -0
  474. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  475. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  476. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js +40 -0
  477. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js.map +1 -0
  478. package/dist/esm/FlowRuntime/FlowInstance.d.ts +115 -0
  479. package/dist/esm/FlowRuntime/FlowInstance.d.ts.map +1 -0
  480. package/dist/esm/FlowRuntime/FlowInstance.js +24 -0
  481. package/dist/esm/FlowRuntime/FlowInstance.js.map +1 -0
  482. package/dist/esm/FlowRuntime/FlowRuntime.d.ts +198 -0
  483. package/dist/esm/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  484. package/dist/esm/FlowRuntime/FlowRuntime.js +34 -0
  485. package/dist/esm/FlowRuntime/FlowRuntime.js.map +1 -0
  486. package/dist/esm/FlowRuntime/NodeRecord.d.ts +175 -0
  487. package/dist/esm/FlowRuntime/NodeRecord.d.ts.map +1 -0
  488. package/dist/esm/FlowRuntime/NodeRecord.js +21 -0
  489. package/dist/esm/FlowRuntime/NodeRecord.js.map +1 -0
  490. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  491. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  492. package/dist/esm/FlowRuntime/WaitingAnnotation.js +53 -0
  493. package/dist/esm/FlowRuntime/WaitingAnnotation.js.map +1 -0
  494. package/dist/esm/FlowRuntime/index.d.ts +14 -0
  495. package/dist/esm/FlowRuntime/index.d.ts.map +1 -0
  496. package/dist/esm/FlowRuntime/index.js +15 -0
  497. package/dist/esm/FlowRuntime/index.js.map +1 -0
  498. package/dist/esm/Graph.d.ts +325 -0
  499. package/dist/esm/Graph.d.ts.map +1 -0
  500. package/dist/esm/Graph.js +1483 -0
  501. package/dist/esm/Graph.js.map +1 -0
  502. package/dist/esm/HumanTask.d.ts +440 -0
  503. package/dist/esm/HumanTask.d.ts.map +1 -0
  504. package/dist/esm/HumanTask.js +794 -0
  505. package/dist/esm/HumanTask.js.map +1 -0
  506. package/dist/esm/Interpreter.d.ts +222 -0
  507. package/dist/esm/Interpreter.d.ts.map +1 -0
  508. package/dist/esm/Interpreter.js +1269 -0
  509. package/dist/esm/Interpreter.js.map +1 -0
  510. package/dist/esm/Poll.d.ts +238 -0
  511. package/dist/esm/Poll.d.ts.map +1 -0
  512. package/dist/esm/Poll.js +282 -0
  513. package/dist/esm/Poll.js.map +1 -0
  514. package/dist/esm/RetryPolicy.d.ts +273 -0
  515. package/dist/esm/RetryPolicy.d.ts.map +1 -0
  516. package/dist/esm/RetryPolicy.js +429 -0
  517. package/dist/esm/RetryPolicy.js.map +1 -0
  518. package/dist/esm/Sleep.d.ts +98 -0
  519. package/dist/esm/Sleep.d.ts.map +1 -0
  520. package/dist/esm/Sleep.js +230 -0
  521. package/dist/esm/Sleep.js.map +1 -0
  522. package/dist/esm/Stall.d.ts +173 -0
  523. package/dist/esm/Stall.d.ts.map +1 -0
  524. package/dist/esm/Stall.js +138 -0
  525. package/dist/esm/Stall.js.map +1 -0
  526. package/dist/esm/WaitFor.d.ts +109 -0
  527. package/dist/esm/WaitFor.d.ts.map +1 -0
  528. package/dist/esm/WaitFor.js +184 -0
  529. package/dist/esm/WaitFor.js.map +1 -0
  530. package/dist/esm/index.d.ts +107 -0
  531. package/dist/esm/index.d.ts.map +1 -0
  532. package/dist/esm/index.js +108 -0
  533. package/dist/esm/index.js.map +1 -0
  534. package/dist/esm/internal/BoundedJson.d.ts +48 -0
  535. package/dist/esm/internal/BoundedJson.d.ts.map +1 -0
  536. package/dist/esm/internal/BoundedJson.js +107 -0
  537. package/dist/esm/internal/BoundedJson.js.map +1 -0
  538. package/dist/esm/internal/DeclarationSite.d.ts +135 -0
  539. package/dist/esm/internal/DeclarationSite.d.ts.map +1 -0
  540. package/dist/esm/internal/DeclarationSite.js +196 -0
  541. package/dist/esm/internal/DeclarationSite.js.map +1 -0
  542. package/dist/esm/internal/Declarations.d.ts +35 -0
  543. package/dist/esm/internal/Declarations.d.ts.map +1 -0
  544. package/dist/esm/internal/Declarations.js +43 -0
  545. package/dist/esm/internal/Declarations.js.map +1 -0
  546. package/dist/esm/internal/ExecutionMiddleware.d.ts +21 -0
  547. package/dist/esm/internal/ExecutionMiddleware.d.ts.map +1 -0
  548. package/dist/esm/internal/ExecutionMiddleware.js +13 -0
  549. package/dist/esm/internal/ExecutionMiddleware.js.map +1 -0
  550. package/dist/esm/internal/JsonSchemaSubset.d.ts +133 -0
  551. package/dist/esm/internal/JsonSchemaSubset.d.ts.map +1 -0
  552. package/dist/esm/internal/JsonSchemaSubset.js +363 -0
  553. package/dist/esm/internal/JsonSchemaSubset.js.map +1 -0
  554. package/dist/esm/internal/OutcomeMarker.d.ts +18 -0
  555. package/dist/esm/internal/OutcomeMarker.d.ts.map +1 -0
  556. package/dist/esm/internal/OutcomeMarker.js +18 -0
  557. package/dist/esm/internal/OutcomeMarker.js.map +1 -0
  558. package/docs/README.md +150 -0
  559. package/docs/api.md +436 -0
  560. package/docs/concepts/bodies-and-plans.md +157 -0
  561. package/docs/concepts/execution-identity.md +142 -0
  562. package/docs/concepts/flows-and-actions.md +129 -0
  563. package/docs/concepts/suspension-and-replay.md +130 -0
  564. package/docs/concepts/the-runtime-port.md +110 -0
  565. package/docs/concepts/trampoline-rounds.md +151 -0
  566. package/docs/guides/ask-a-person.md +184 -0
  567. package/docs/guides/build-a-body.md +161 -0
  568. package/docs/guides/cancel-and-roll-back.md +112 -0
  569. package/docs/guides/implement-an-action.md +147 -0
  570. package/docs/guides/inspect-the-plan.md +154 -0
  571. package/docs/guides/poll-until-ready.md +167 -0
  572. package/docs/guides/queue-work-to-a-worker.md +122 -0
  573. package/docs/guides/retry-a-failing-action.md +243 -0
  574. package/docs/guides/reuse-a-recorded-result.md +122 -0
  575. package/docs/guides/run-a-child-flow.md +108 -0
  576. package/docs/guides/run-an-external-job.md +86 -0
  577. package/docs/guides/use-a-prompt.md +38 -0
  578. package/docs/guides/wait-for-a-deadline.md +141 -0
  579. package/docs/guides/wait-for-an-external-signal.md +151 -0
  580. package/docs/installation.md +82 -0
  581. package/docs/quickstart.md +155 -0
  582. package/docs/reference/flow.md +1831 -0
  583. package/docs/testing.md +157 -0
  584. package/docs/troubleshooting.md +286 -0
  585. package/package.json +327 -3
  586. package/src/Action/Action.ts +333 -0
  587. package/src/Action/AttemptTimedOut.ts +37 -0
  588. package/src/Action/BoundaryMode.ts +33 -0
  589. package/src/Action/CacheEnvironment.ts +170 -0
  590. package/src/Action/ConcurrentKeylessDispatch.ts +38 -0
  591. package/src/Action/Context.ts +156 -0
  592. package/src/Action/DuplicateImplementation.ts +24 -0
  593. package/src/Action/FileBoundary.ts +77 -0
  594. package/src/Action/FileInput.ts +42 -0
  595. package/src/Action/Filegroup.ts +16 -0
  596. package/src/Action/Glob.ts +8 -0
  597. package/src/Action/ImplementationVersionMismatch.ts +27 -0
  598. package/src/Action/Implementations.ts +149 -0
  599. package/src/Action/InfraInterrupt.ts +30 -0
  600. package/src/Action/InfraInterruptRetriesExhausted.ts +37 -0
  601. package/src/Action/IrreversibleRetryRequiresIdempotencyKey.ts +32 -0
  602. package/src/Action/StepIdentity.ts +219 -0
  603. package/src/Action/TreeArtifact.ts +8 -0
  604. package/src/Action/TypeId.ts +9 -0
  605. package/src/Action/UncanonicalIdempotencyKey.ts +36 -0
  606. package/src/Action/idempotencyKey.ts +67 -0
  607. package/src/Action/index.ts +31 -0
  608. package/src/Action/make.ts +657 -0
  609. package/src/Action/raceAll.ts +48 -0
  610. package/src/Action/retry.ts +92 -0
  611. package/src/Deadline.ts +185 -0
  612. package/src/DurableClock.ts +133 -0
  613. package/src/DurableDeferred.ts +753 -0
  614. package/src/DurableQueue.ts +519 -0
  615. package/src/ExternalJob.ts +432 -0
  616. package/src/Fault.ts +279 -0
  617. package/src/Flow/Annotations.ts +151 -0
  618. package/src/Flow/CapabilityCeiling.ts +37 -0
  619. package/src/Flow/DeadlineExceeded.ts +40 -0
  620. package/src/Flow/ExecutionIdRequired.ts +36 -0
  621. package/src/Flow/ExecutionIds.ts +133 -0
  622. package/src/Flow/Flow.ts +576 -0
  623. package/src/Flow/MaxRoundsExceeded.ts +39 -0
  624. package/src/Flow/Outcome.ts +179 -0
  625. package/src/Flow/Result.ts +284 -0
  626. package/src/Flow/Runtime.ts +309 -0
  627. package/src/Flow/TypeId.ts +9 -0
  628. package/src/Flow/index.ts +19 -0
  629. package/src/Flow/internal.ts +237 -0
  630. package/src/Flow/make.ts +279 -0
  631. package/src/FlowRuntime/CancelRequestFailed.ts +56 -0
  632. package/src/FlowRuntime/ExecutionIdentityConflict.ts +32 -0
  633. package/src/FlowRuntime/FlowCycleDetected.ts +41 -0
  634. package/src/FlowRuntime/FlowExecutionNotFound.ts +46 -0
  635. package/src/FlowRuntime/FlowInstance.ts +128 -0
  636. package/src/FlowRuntime/FlowRuntime.ts +333 -0
  637. package/src/FlowRuntime/NodeRecord.ts +183 -0
  638. package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
  639. package/src/FlowRuntime/index.ts +17 -0
  640. package/src/Graph.ts +1862 -0
  641. package/src/HumanTask.ts +1003 -0
  642. package/src/Interpreter.ts +1593 -0
  643. package/src/Poll.ts +414 -0
  644. package/src/RetryPolicy.ts +550 -0
  645. package/src/Sleep.ts +267 -0
  646. package/src/Stall.ts +217 -0
  647. package/src/WaitFor.ts +228 -0
  648. package/src/index.ts +125 -0
  649. package/src/internal/BoundedJson.ts +109 -0
  650. package/src/internal/DeclarationSite.ts +214 -0
  651. package/src/internal/Declarations.ts +49 -0
  652. package/src/internal/ExecutionMiddleware.ts +29 -0
  653. package/src/internal/JsonSchemaSubset.ts +392 -0
  654. package/src/internal/OutcomeMarker.ts +19 -0
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Serializable values with which one flow round can settle.
3
+ *
4
+ * Engine handoff semantics are intentionally separate. These values contain
5
+ * only the completed value, the next flow invocation, or the durable waiting
6
+ * classification described by `docs/concepts/trampoline-rounds.md`.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+ import type { CapabilityPattern } from "@smthrs/capability/Capability";
11
+ import * as Node from "@smthrs/plan/Node";
12
+ import * as Schema from "effect/Schema";
13
+ import { WaitingAnnotation } from "../FlowRuntime/WaitingAnnotation.ts";
14
+ /**
15
+ * A completed trampoline lineage value.
16
+ *
17
+ * @category models
18
+ * @since 0.1.0
19
+ */
20
+ export interface Done<A> {
21
+ readonly _tag: "Done";
22
+ /**
23
+ * The completed value in its author-facing form. The engine encodes it with
24
+ * the settling flow's success schema at the settlement boundary; callers do
25
+ * not pre-encode values passed to {@link done}.
26
+ */
27
+ readonly value: A;
28
+ }
29
+ /**
30
+ * A serializable invocation of the next flow round.
31
+ *
32
+ * @category models
33
+ * @since 0.1.0
34
+ */
35
+ export interface To<Payload> {
36
+ readonly _tag: "To";
37
+ readonly flow: string;
38
+ readonly capabilityCeilings?: ReadonlyArray<ReadonlyArray<CapabilityPattern>>;
39
+ /**
40
+ * The next round's payload in its author-facing form. The engine encodes it
41
+ * with the target flow's payload schema at settlement, before persisting the
42
+ * handoff; callers do not pre-encode values passed to `Flow.to`.
43
+ */
44
+ readonly payload: Payload;
45
+ }
46
+ /**
47
+ * A request to durably park the current flow round.
48
+ *
49
+ * @category models
50
+ * @since 0.1.0
51
+ */
52
+ export interface Park {
53
+ readonly _tag: "Park";
54
+ readonly reason: WaitingAnnotation;
55
+ }
56
+ /**
57
+ * The three pure-data settlements a trampoline round can produce.
58
+ *
59
+ * @category models
60
+ * @since 0.1.0
61
+ */
62
+ export type Outcome<A = unknown, Payload = unknown> = Done<A> | To<Payload> | Park;
63
+ /**
64
+ * Schema for completed trampoline lineage values.
65
+ *
66
+ * @category schemas
67
+ * @since 0.1.0
68
+ */
69
+ export declare const Done: Schema.Struct<{
70
+ readonly _tag: Schema.tag<"Done">;
71
+ readonly value: Schema.Unknown;
72
+ }>;
73
+ /**
74
+ * Schema for next-round flow invocations.
75
+ *
76
+ * @category schemas
77
+ * @since 0.1.0
78
+ */
79
+ export declare const To: Schema.Struct<{
80
+ readonly _tag: Schema.tag<"To">;
81
+ readonly flow: Schema.String;
82
+ readonly payload: Schema.Unknown;
83
+ }>;
84
+ /**
85
+ * Schema for durable trampoline parking requests.
86
+ *
87
+ * @category schemas
88
+ * @since 0.1.0
89
+ */
90
+ export declare const Park: Schema.Struct<{
91
+ readonly _tag: Schema.tag<"Park">;
92
+ readonly reason: Schema.Struct<{
93
+ readonly reason: Schema.String;
94
+ readonly wakeAt: Schema.optional<Schema.Number>;
95
+ readonly token: Schema.optional<Schema.String>;
96
+ readonly request: Schema.optional<Schema.String>;
97
+ }>;
98
+ }>;
99
+ /**
100
+ * Schema for every pure-data trampoline settlement.
101
+ *
102
+ * @category schemas
103
+ * @since 0.1.0
104
+ */
105
+ export declare const Outcome: Schema.Union<readonly [Schema.Struct<{
106
+ readonly _tag: Schema.tag<"Done">;
107
+ readonly value: Schema.Unknown;
108
+ }>, Schema.Struct<{
109
+ readonly _tag: Schema.tag<"To">;
110
+ readonly flow: Schema.String;
111
+ readonly payload: Schema.Unknown;
112
+ }>, Schema.Struct<{
113
+ readonly _tag: Schema.tag<"Park">;
114
+ readonly reason: Schema.Struct<{
115
+ readonly reason: Schema.String;
116
+ readonly wakeAt: Schema.optional<Schema.Number>;
117
+ readonly token: Schema.optional<Schema.String>;
118
+ readonly request: Schema.optional<Schema.String>;
119
+ }>;
120
+ }>]>;
121
+ /**
122
+ * Constructs a completed trampoline lineage value using Node.succeed's JSON
123
+ * projection. Pass a planned reference to retain an upstream domain value.
124
+ *
125
+ * @category constructors
126
+ * @since 0.1.0
127
+ */
128
+ export declare const done: <A>(value: A) => Node.Node<Node.Succeed<Done<A>>>;
129
+ /**
130
+ * Constructs a durable parking request using the runtime waiting vocabulary.
131
+ *
132
+ * The two forms describe the same wait. The record is the whole waiting
133
+ * vocabulary, and is what a park with a deadline needs; the positional form is
134
+ * the common case — a reason and the token a wake handler matches against —
135
+ * written the way an author says it out loud, `Flow.park("approval", requestId)`.
136
+ * A positional call with no token omits the field rather than parking under an
137
+ * empty one.
138
+ *
139
+ * @category constructors
140
+ * @since 0.1.0
141
+ */
142
+ export declare const park: {
143
+ (reason: WaitingAnnotation): Node.Node<Park>;
144
+ (reason: string, token?: string | undefined): Node.Node<Park>;
145
+ };
146
+ /**
147
+ * Whether a settled body value is one of the three trampoline settlements.
148
+ *
149
+ * A body's root node may settle with anything its author wrote; only these
150
+ * three values authored through {@link done}, a flow's `to` method, or
151
+ * {@link park} ask the engine for a settlement other than "this value is the
152
+ * answer". Shape alone is deliberately insufficient: ordinary success data
153
+ * may legally contain the same `_tag` fields. Graph construction carries a
154
+ * non-enumerable marker from the explicit authoring node to its hydrated
155
+ * value, and encoded outcome records remain plain data until decoded by the
156
+ * runtime surface that owns them.
157
+ *
158
+ * @category refinements
159
+ * @since 0.1.0
160
+ */
161
+ export declare const isOutcome: (value: unknown) => value is Outcome;
162
+ //# sourceMappingURL=Outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Outcome.d.ts","sourceRoot":"","sources":["../../../src/Flow/Outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAcvE;;;;;GAKG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,EAAE,CAAC,OAAO;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC7E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AAElF;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;EAGf,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,EAAE;;;;EAIb,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;EAGf,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;IAAiC,CAAA;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAkD,CAAA;AAEpH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,EAAE;IACjB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;CAS3D,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAMnD,CAAA"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Serializable values with which one flow round can settle.
3
+ *
4
+ * Engine handoff semantics are intentionally separate. These values contain
5
+ * only the completed value, the next flow invocation, or the durable waiting
6
+ * classification described by `docs/concepts/trampoline-rounds.md`.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+ import * as Node from "@smthrs/plan/Node";
11
+ import * as Schema from "effect/Schema";
12
+ import { WaitingAnnotation } from "../FlowRuntime/WaitingAnnotation.js";
13
+ import { OutcomeNodeTypeId, OutcomeValueTypeId } from "../internal/OutcomeMarker.js";
14
+ const outcomeNode = (value) => {
15
+ const node = Node.succeed(value);
16
+ Object.defineProperty(node.ast, OutcomeNodeTypeId, {
17
+ configurable: false,
18
+ enumerable: false,
19
+ value: value._tag,
20
+ writable: false
21
+ });
22
+ return node;
23
+ };
24
+ /**
25
+ * Schema for completed trampoline lineage values.
26
+ *
27
+ * @category schemas
28
+ * @since 0.1.0
29
+ */
30
+ export const Done = Schema.Struct({
31
+ _tag: Schema.tag("Done"),
32
+ value: Schema.Unknown
33
+ });
34
+ /**
35
+ * Schema for next-round flow invocations.
36
+ *
37
+ * @category schemas
38
+ * @since 0.1.0
39
+ */
40
+ export const To = Schema.Struct({
41
+ _tag: Schema.tag("To"),
42
+ flow: Schema.String,
43
+ payload: Schema.Unknown
44
+ });
45
+ /**
46
+ * Schema for durable trampoline parking requests.
47
+ *
48
+ * @category schemas
49
+ * @since 0.1.0
50
+ */
51
+ export const Park = Schema.Struct({
52
+ _tag: Schema.tag("Park"),
53
+ reason: WaitingAnnotation
54
+ });
55
+ /**
56
+ * Schema for every pure-data trampoline settlement.
57
+ *
58
+ * @category schemas
59
+ * @since 0.1.0
60
+ */
61
+ export const Outcome = Schema.Union([Done, To, Park]);
62
+ /**
63
+ * Constructs a completed trampoline lineage value using Node.succeed's JSON
64
+ * projection. Pass a planned reference to retain an upstream domain value.
65
+ *
66
+ * @category constructors
67
+ * @since 0.1.0
68
+ */
69
+ export const done = (value) => outcomeNode({ _tag: "Done", value });
70
+ /**
71
+ * Constructs a durable parking request using the runtime waiting vocabulary.
72
+ *
73
+ * The two forms describe the same wait. The record is the whole waiting
74
+ * vocabulary, and is what a park with a deadline needs; the positional form is
75
+ * the common case — a reason and the token a wake handler matches against —
76
+ * written the way an author says it out loud, `Flow.park("approval", requestId)`.
77
+ * A positional call with no token omits the field rather than parking under an
78
+ * empty one.
79
+ *
80
+ * @category constructors
81
+ * @since 0.1.0
82
+ */
83
+ export const park = (reason, token) => outcomeNode({
84
+ _tag: "Park",
85
+ reason: typeof reason !== "string"
86
+ ? reason
87
+ : token === undefined
88
+ ? { reason }
89
+ : { reason, token }
90
+ });
91
+ /**
92
+ * Whether a settled body value is one of the three trampoline settlements.
93
+ *
94
+ * A body's root node may settle with anything its author wrote; only these
95
+ * three values authored through {@link done}, a flow's `to` method, or
96
+ * {@link park} ask the engine for a settlement other than "this value is the
97
+ * answer". Shape alone is deliberately insufficient: ordinary success data
98
+ * may legally contain the same `_tag` fields. Graph construction carries a
99
+ * non-enumerable marker from the explicit authoring node to its hydrated
100
+ * value, and encoded outcome records remain plain data until decoded by the
101
+ * runtime surface that owns them.
102
+ *
103
+ * @category refinements
104
+ * @since 0.1.0
105
+ */
106
+ export const isOutcome = (value) => {
107
+ if (typeof value !== "object" || value === null)
108
+ return false;
109
+ const marker = Object.getOwnPropertyDescriptor(value, OutcomeValueTypeId);
110
+ if (marker === undefined || !("value" in marker))
111
+ return false;
112
+ const tag = Object.getOwnPropertyDescriptor(value, "_tag");
113
+ return tag !== undefined && "value" in tag && marker.value === tag.value && Schema.is(Outcome)(value);
114
+ };
115
+ //# sourceMappingURL=Outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Outcome.js","sourceRoot":"","sources":["../../../src/Flow/Outcome.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Serializable values with which one flow round can settle.\n *\n * Engine handoff semantics are intentionally separate. These values contain\n * only the completed value, the next flow invocation, or the durable waiting\n * classification described by `docs/concepts/trampoline-rounds.md`.\n *\n * @since 0.1.0\n */\n\nimport type { CapabilityPattern } from \"@smthrs/capability/Capability\"\nimport * as Node from \"@smthrs/plan/Node\"\nimport * as Schema from \"effect/Schema\"\nimport { WaitingAnnotation } from \"../FlowRuntime/WaitingAnnotation.ts\"\nimport { OutcomeNodeTypeId, OutcomeValueTypeId } from \"../internal/OutcomeMarker.ts\"\n\nconst outcomeNode = <A extends Outcome>(value: A): Node.Node<Node.Succeed<A>> => {\n const node = Node.succeed(value)\n Object.defineProperty(node.ast, OutcomeNodeTypeId, {\n configurable: false,\n enumerable: false,\n value: value._tag,\n writable: false\n })\n return node\n}\n\n/**\n * A completed trampoline lineage value.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface Done<A> {\n readonly _tag: \"Done\"\n /**\n * The completed value in its author-facing form. The engine encodes it with\n * the settling flow's success schema at the settlement boundary; callers do\n * not pre-encode values passed to {@link done}.\n */\n readonly value: A\n}\n\n/**\n * A serializable invocation of the next flow round.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface To<Payload> {\n readonly _tag: \"To\"\n readonly flow: string\n readonly capabilityCeilings?: ReadonlyArray<ReadonlyArray<CapabilityPattern>>\n /**\n * The next round's payload in its author-facing form. The engine encodes it\n * with the target flow's payload schema at settlement, before persisting the\n * handoff; callers do not pre-encode values passed to `Flow.to`.\n */\n readonly payload: Payload\n}\n\n/**\n * A request to durably park the current flow round.\n *\n * @category models\n * @since 0.1.0\n */\nexport interface Park {\n readonly _tag: \"Park\"\n readonly reason: WaitingAnnotation\n}\n\n/**\n * The three pure-data settlements a trampoline round can produce.\n *\n * @category models\n * @since 0.1.0\n */\nexport type Outcome<A = unknown, Payload = unknown> = Done<A> | To<Payload> | Park\n\n/**\n * Schema for completed trampoline lineage values.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport const Done = Schema.Struct({\n _tag: Schema.tag(\"Done\"),\n value: Schema.Unknown\n})\n\n/**\n * Schema for next-round flow invocations.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport const To = Schema.Struct({\n _tag: Schema.tag(\"To\"),\n flow: Schema.String,\n payload: Schema.Unknown\n})\n\n/**\n * Schema for durable trampoline parking requests.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport const Park = Schema.Struct({\n _tag: Schema.tag(\"Park\"),\n reason: WaitingAnnotation\n})\n\n/**\n * Schema for every pure-data trampoline settlement.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport const Outcome = Schema.Union([Done, To, Park])\n\n/**\n * Constructs a completed trampoline lineage value using Node.succeed's JSON\n * projection. Pass a planned reference to retain an upstream domain value.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const done = <A>(value: A): Node.Node<Node.Succeed<Done<A>>> => outcomeNode<Done<A>>({ _tag: \"Done\", value })\n\n/**\n * Constructs a durable parking request using the runtime waiting vocabulary.\n *\n * The two forms describe the same wait. The record is the whole waiting\n * vocabulary, and is what a park with a deadline needs; the positional form is\n * the common case — a reason and the token a wake handler matches against —\n * written the way an author says it out loud, `Flow.park(\"approval\", requestId)`.\n * A positional call with no token omits the field rather than parking under an\n * empty one.\n *\n * @category constructors\n * @since 0.1.0\n */\nexport const park: {\n (reason: WaitingAnnotation): Node.Node<Park>\n (reason: string, token?: string | undefined): Node.Node<Park>\n} = (reason: WaitingAnnotation | string, token?: string | undefined): Node.Node<Park> =>\n outcomeNode({\n _tag: \"Park\",\n reason: typeof reason !== \"string\"\n ? reason\n : token === undefined\n ? { reason }\n : { reason, token }\n })\n\n/**\n * Whether a settled body value is one of the three trampoline settlements.\n *\n * A body's root node may settle with anything its author wrote; only these\n * three values authored through {@link done}, a flow's `to` method, or\n * {@link park} ask the engine for a settlement other than \"this value is the\n * answer\". Shape alone is deliberately insufficient: ordinary success data\n * may legally contain the same `_tag` fields. Graph construction carries a\n * non-enumerable marker from the explicit authoring node to its hydrated\n * value, and encoded outcome records remain plain data until decoded by the\n * runtime surface that owns them.\n *\n * @category refinements\n * @since 0.1.0\n */\nexport const isOutcome = (value: unknown): value is Outcome => {\n if (typeof value !== \"object\" || value === null) return false\n const marker = Object.getOwnPropertyDescriptor(value, OutcomeValueTypeId)\n if (marker === undefined || !(\"value\" in marker)) return false\n const tag = Object.getOwnPropertyDescriptor(value, \"_tag\")\n return tag !== undefined && \"value\" in tag && marker.value === tag.value && Schema.is(Outcome)(value)\n}\n"]}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Serializable completion and suspension states returned by flow executions.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+ import { CapabilityPattern } from "@smthrs/capability/Capability";
7
+ import type * as Exit from "effect/Exit";
8
+ import * as Schema from "effect/Schema";
9
+ import type { ExitEncoded } from "effect/unstable/rpc/RpcMessage";
10
+ declare const ResultTypeId = "@smthrs/flow/Flow/Result";
11
+ /**
12
+ * Returns `true` when a value is a flow `Result`.
13
+ *
14
+ * @category results
15
+ * @since 0.1.0
16
+ */
17
+ export declare const isResult: <A = unknown, E = unknown>(u: unknown) => u is Result<A, E>;
18
+ /**
19
+ * Result of a flow execution: a completed exit, a suspended flow state, or a
20
+ * handoff to the next round of a trampoline lineage.
21
+ *
22
+ * @category results
23
+ * @since 0.1.0
24
+ */
25
+ export type Result<A, E> = Complete<A, E> | Suspended | Handoff;
26
+ /**
27
+ * Encoded representation of a flow `Result`.
28
+ *
29
+ * @category results
30
+ * @since 0.1.0
31
+ */
32
+ export type ResultEncoded<A, E> = CompleteEncoded<A, E> | typeof Suspended.Encoded | typeof Handoff.Encoded;
33
+ /**
34
+ * Encoded representation of a completed flow result containing an encoded
35
+ * `Exit`.
36
+ *
37
+ * @category results
38
+ * @since 0.1.0
39
+ */
40
+ export interface CompleteEncoded<A, E> {
41
+ readonly _tag: "Complete";
42
+ readonly exit: ExitEncoded<A, E>;
43
+ }
44
+ /**
45
+ * Schema constructor for `Complete` flow results using the supplied
46
+ * success and error schemas.
47
+ *
48
+ * @category schemas
49
+ * @since 0.1.0
50
+ */
51
+ export interface CompleteSchema<Success extends Schema.Constraint, Error extends Schema.Constraint> extends Schema.declareConstructor<Complete<Success["Type"], Error["Type"]>, Complete<Success["Encoded"], Error["Encoded"]>, readonly [Schema.Exit<Success, Error, Schema.Defect>]> {
52
+ readonly success: Success;
53
+ readonly error: Error;
54
+ }
55
+ declare const Complete_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }>) => Readonly<A_1> & {
56
+ readonly _tag: "Complete";
57
+ } & import("effect/Pipeable").Pipeable;
58
+ /**
59
+ * Represents a completed flow execution with its success or failure `Exit`.
60
+ *
61
+ * @category results
62
+ * @since 0.1.0
63
+ */
64
+ export declare class Complete<A, E> extends Complete_base<{
65
+ readonly exit: Exit.Exit<A, E>;
66
+ }> {
67
+ /**
68
+ * Marks this value as a flow result for runtime guards.
69
+ *
70
+ * @since 0.1.0
71
+ */
72
+ readonly [ResultTypeId] = "@smthrs/flow/Flow/Result";
73
+ /**
74
+ * Builds the schema for completed flow results from success and error schemas.
75
+ *
76
+ * @since 0.1.0
77
+ */
78
+ static Schema<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
79
+ readonly success: Success;
80
+ readonly error: Error;
81
+ }): CompleteSchema<Success, Error>;
82
+ }
83
+ declare const Suspended_base: Schema.Class<Suspended, Schema.Struct<{
84
+ readonly _tag: Schema.tag<"Suspended">;
85
+ readonly cause: Schema.optional<Schema.Cause<Schema.Never, Schema.Defect>>;
86
+ }>, {}>;
87
+ /**
88
+ * Represents a suspended flow execution, optionally carrying the cause that
89
+ * triggered suspension.
90
+ *
91
+ * @category results
92
+ * @since 0.1.0
93
+ */
94
+ export declare class Suspended extends Suspended_base {
95
+ /**
96
+ * Marks this value as a flow result for runtime guards.
97
+ *
98
+ * @since 0.1.0
99
+ */
100
+ readonly [ResultTypeId] = "@smthrs/flow/Flow/Result";
101
+ }
102
+ /**
103
+ * The deadline a trampoline lineage's rounds share: the journaled first start
104
+ * of its originating round and the bound in milliseconds, so every round
105
+ * expires at `startedAtMs + deadlineMs`.
106
+ *
107
+ * @category results
108
+ * @since 1.0.0
109
+ */
110
+ export declare const LineageDeadline: Schema.Struct<{
111
+ readonly startedAtMs: Schema.Number;
112
+ readonly deadlineMs: Schema.Number;
113
+ }>;
114
+ /**
115
+ * The deadline a trampoline lineage's rounds share.
116
+ *
117
+ * @category results
118
+ * @since 1.0.0
119
+ */
120
+ export type LineageDeadline = typeof LineageDeadline.Type;
121
+ declare const Handoff_base: Schema.Class<Handoff, Schema.Struct<{
122
+ readonly _tag: Schema.tag<"Handoff">;
123
+ readonly flow: Schema.NonEmptyString;
124
+ readonly capabilityCeilings: Schema.optionalKey<Schema.$Array<Schema.$Array<typeof CapabilityPattern>>>;
125
+ readonly payload: Schema.Unknown;
126
+ /**
127
+ * The lineage deadline the next round runs under, stamped by the round
128
+ * that handed off when its lineage is bounded (`Deadline.bound`).
129
+ */
130
+ readonly deadline: Schema.optionalKey<Schema.Struct<{
131
+ readonly startedAtMs: Schema.Number;
132
+ readonly deadlineMs: Schema.Number;
133
+ }>>;
134
+ }>, {}>;
135
+ /**
136
+ * Represents a flow round that ended by handing off to the next round of its
137
+ * trampoline lineage.
138
+ *
139
+ * A round settles this way when its body's root value is a `to` invocation
140
+ * (`docs/concepts/trampoline-rounds.md`): the round produced no answer of
141
+ * its own, it produced the NEXT flow to run. `flow` is the target's tag, so the
142
+ * value survives the journal and the run row unchanged.
143
+ *
144
+ * DECIDED: `payload` is the target's payload in
145
+ * ENCODED form. The target's `to` method accepts its ordinary constructor
146
+ * shape so authoring stays aligned with `call` and `execute`; the body
147
+ * interpreter resolves planned references and encodes the invocation through
148
+ * the target declaration before constructing `Handoff`. The receiving round
149
+ * decodes those bytes through the same schema.
150
+ *
151
+ * It is a third settlement rather than a `Complete` carrying a magic value
152
+ * because the engine has to tell "this run answered" from "this run continues
153
+ * elsewhere" without decoding against a success schema the handoff never
154
+ * satisfies.
155
+ *
156
+ * @category results
157
+ * @since 0.1.0
158
+ */
159
+ export declare class Handoff extends Handoff_base {
160
+ /**
161
+ * Marks this value as a flow result for runtime guards.
162
+ *
163
+ * @since 0.1.0
164
+ */
165
+ readonly [ResultTypeId] = "@smthrs/flow/Flow/Result";
166
+ }
167
+ /**
168
+ * Creates a schema for flow results using the supplied success and error
169
+ * schemas.
170
+ *
171
+ * @category results
172
+ * @since 0.1.0
173
+ */
174
+ export declare const Result: <Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {
175
+ readonly success: Success;
176
+ readonly error: Error;
177
+ }) => Schema.Union<readonly [CompleteSchema<Success, Error>, typeof Suspended, typeof Handoff]>;
178
+ /**
179
+ * Schema for encoded flow results with generic success and error payloads.
180
+ *
181
+ * @category results
182
+ * @since 0.1.0
183
+ */
184
+ export declare const ResultEncoded: Schema.Codec<ResultEncoded<any, any>>;
185
+ export {};
186
+ //# sourceMappingURL=Result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../src/Flow/Result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+ /**
3
+ * Serializable completion and suspension states returned by flow executions.
4
+ *
5
+ * @since 0.1.0
6
+ */
7
+ import { CapabilityPattern } from "@smthrs/capability/Capability";
8
+ import * as Data from "effect/Data";
9
+ import * as Effect from "effect/Effect";
10
+ import * as Schema from "effect/Schema";
11
+ import * as SchemaIssue from "effect/SchemaIssue";
12
+ import * as SchemaParser from "effect/SchemaParser";
13
+ import * as Transformation from "effect/SchemaTransformation";
14
+ const ResultTypeId = "@smthrs/flow/Flow/Result";
15
+ /**
16
+ * Returns `true` when a value is a flow `Result`.
17
+ *
18
+ * @category results
19
+ * @since 0.1.0
20
+ */
21
+ export const isResult = (u) => {
22
+ if (u !== Object(u))
23
+ return false;
24
+ const marker = Object.getOwnPropertyDescriptor(u, ResultTypeId);
25
+ if (marker === undefined || !("value" in marker) || marker.value !== ResultTypeId)
26
+ return false;
27
+ const tag = Object.getOwnPropertyDescriptor(u, "_tag");
28
+ return tag !== undefined && "value" in tag &&
29
+ (tag.value === "Complete" || tag.value === "Suspended" || tag.value === "Handoff");
30
+ };
31
+ /**
32
+ * Represents a completed flow execution with its success or failure `Exit`.
33
+ *
34
+ * @category results
35
+ * @since 0.1.0
36
+ */
37
+ export class Complete extends Data.TaggedClass("Complete") {
38
+ /**
39
+ * Marks this value as a flow result for runtime guards.
40
+ *
41
+ * @since 0.1.0
42
+ */
43
+ [ResultTypeId] = ResultTypeId;
44
+ /**
45
+ * Builds the schema for completed flow results from success and error schemas.
46
+ *
47
+ * @since 0.1.0
48
+ */
49
+ static Schema(options) {
50
+ // The declaration stays inline because it closes over this constructor's schemas.
51
+ const schema = Schema.declareConstructor()([Schema.Exit(options.success, options.error, Schema.Defect())], ([exit]) => (input, ast, options) => {
52
+ if (!(isResult(input) && input._tag === "Complete")) {
53
+ return Effect.fail(new SchemaIssue.InvalidType(ast, input, options));
54
+ }
55
+ return Effect.mapBothEager(SchemaParser.decodeEffect(exit)(input.exit, options), {
56
+ onSuccess: (exit) => new Complete({ exit }),
57
+ onFailure: (issue) => new SchemaIssue.Composite(ast, [
58
+ new SchemaIssue.Pointer(["exit"], issue)
59
+ ], input, options)
60
+ });
61
+ }, {
62
+ expected: "Flow.Complete",
63
+ toCodecJson: ([exit]) => Schema.link()(Schema.Struct({
64
+ _tag: Schema.tag("Complete"),
65
+ exit
66
+ }), Transformation.transform({
67
+ decode: (encoded) => new Complete({ exit: encoded.exit }),
68
+ encode: (result) => ({
69
+ _tag: "Complete",
70
+ exit: result.exit
71
+ })
72
+ }))
73
+ });
74
+ return Schema.make(schema.ast, {
75
+ success: options.success,
76
+ error: options.error
77
+ });
78
+ }
79
+ }
80
+ /**
81
+ * Represents a suspended flow execution, optionally carrying the cause that
82
+ * triggered suspension.
83
+ *
84
+ * @category results
85
+ * @since 0.1.0
86
+ */
87
+ export class Suspended extends Schema.Class("@smthrs/flow/Flow/Suspended")({
88
+ _tag: Schema.tag("Suspended"),
89
+ cause: Schema.optional(Schema.Cause(Schema.Never, Schema.Defect()))
90
+ }) {
91
+ /**
92
+ * Marks this value as a flow result for runtime guards.
93
+ *
94
+ * @since 0.1.0
95
+ */
96
+ [ResultTypeId] = ResultTypeId;
97
+ }
98
+ /**
99
+ * The deadline a trampoline lineage's rounds share: the journaled first start
100
+ * of its originating round and the bound in milliseconds, so every round
101
+ * expires at `startedAtMs + deadlineMs`.
102
+ *
103
+ * @category results
104
+ * @since 1.0.0
105
+ */
106
+ export const LineageDeadline = Schema.Struct({
107
+ startedAtMs: Schema.Number,
108
+ deadlineMs: Schema.Number
109
+ });
110
+ /**
111
+ * Represents a flow round that ended by handing off to the next round of its
112
+ * trampoline lineage.
113
+ *
114
+ * A round settles this way when its body's root value is a `to` invocation
115
+ * (`docs/concepts/trampoline-rounds.md`): the round produced no answer of
116
+ * its own, it produced the NEXT flow to run. `flow` is the target's tag, so the
117
+ * value survives the journal and the run row unchanged.
118
+ *
119
+ * DECIDED: `payload` is the target's payload in
120
+ * ENCODED form. The target's `to` method accepts its ordinary constructor
121
+ * shape so authoring stays aligned with `call` and `execute`; the body
122
+ * interpreter resolves planned references and encodes the invocation through
123
+ * the target declaration before constructing `Handoff`. The receiving round
124
+ * decodes those bytes through the same schema.
125
+ *
126
+ * It is a third settlement rather than a `Complete` carrying a magic value
127
+ * because the engine has to tell "this run answered" from "this run continues
128
+ * elsewhere" without decoding against a success schema the handoff never
129
+ * satisfies.
130
+ *
131
+ * @category results
132
+ * @since 0.1.0
133
+ */
134
+ export class Handoff extends Schema.Class("@smthrs/flow/Flow/Handoff")({
135
+ _tag: Schema.tag("Handoff"),
136
+ flow: Schema.NonEmptyString,
137
+ capabilityCeilings: Schema.optionalKey(Schema.Array(Schema.Array(CapabilityPattern))),
138
+ payload: Schema.Unknown,
139
+ /**
140
+ * The lineage deadline the next round runs under, stamped by the round
141
+ * that handed off when its lineage is bounded (`Deadline.bound`).
142
+ */
143
+ deadline: Schema.optionalKey(LineageDeadline)
144
+ }) {
145
+ /**
146
+ * Marks this value as a flow result for runtime guards.
147
+ *
148
+ * @since 0.1.0
149
+ */
150
+ [ResultTypeId] = ResultTypeId;
151
+ }
152
+ /**
153
+ * Creates a schema for flow results using the supplied success and error
154
+ * schemas.
155
+ *
156
+ * @category results
157
+ * @since 0.1.0
158
+ */
159
+ export const Result = (options) => Schema.Union([Complete.Schema(options), Suspended, Handoff]);
160
+ const AnyOrVoid = Schema.Union([Schema.Any, Schema.Void]);
161
+ /**
162
+ * Schema for encoded flow results with generic success and error payloads.
163
+ *
164
+ * @category results
165
+ * @since 0.1.0
166
+ */
167
+ export const ResultEncoded = Schema.toEncoded(Schema.toCodecJson(Result({
168
+ success: AnyOrVoid,
169
+ error: AnyOrVoid
170
+ })));
171
+ //# sourceMappingURL=Result.js.map