@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,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,80 @@
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 Outcome_exports = {};
30
+ __export(Outcome_exports, {
31
+ Done: () => Done,
32
+ Outcome: () => Outcome,
33
+ Park: () => Park,
34
+ To: () => To,
35
+ done: () => done,
36
+ isOutcome: () => isOutcome,
37
+ park: () => park
38
+ });
39
+ module.exports = __toCommonJS(Outcome_exports);
40
+ var Node = __toESM(require("@smthrs/plan/Node"), 1);
41
+ var Schema = __toESM(require("effect/Schema"), 1);
42
+ var import_WaitingAnnotation = require("../FlowRuntime/WaitingAnnotation.js");
43
+ var import_OutcomeMarker = require("../internal/OutcomeMarker.js");
44
+ const outcomeNode = (value) => {
45
+ const node = Node.succeed(value);
46
+ Object.defineProperty(node.ast, import_OutcomeMarker.OutcomeNodeTypeId, {
47
+ configurable: false,
48
+ enumerable: false,
49
+ value: value._tag,
50
+ writable: false
51
+ });
52
+ return node;
53
+ };
54
+ const Done = Schema.Struct({
55
+ _tag: Schema.tag("Done"),
56
+ value: Schema.Unknown
57
+ });
58
+ const To = Schema.Struct({
59
+ _tag: Schema.tag("To"),
60
+ flow: Schema.String,
61
+ payload: Schema.Unknown
62
+ });
63
+ const Park = Schema.Struct({
64
+ _tag: Schema.tag("Park"),
65
+ reason: import_WaitingAnnotation.WaitingAnnotation
66
+ });
67
+ const Outcome = Schema.Union([Done, To, Park]);
68
+ const done = (value) => outcomeNode({ _tag: "Done", value });
69
+ const park = (reason, token) => outcomeNode({
70
+ _tag: "Park",
71
+ reason: typeof reason !== "string" ? reason : token === void 0 ? { reason } : { reason, token }
72
+ });
73
+ const isOutcome = (value) => {
74
+ if (typeof value !== "object" || value === null) return false;
75
+ const marker = Object.getOwnPropertyDescriptor(value, import_OutcomeMarker.OutcomeValueTypeId);
76
+ if (marker === void 0 || !("value" in marker)) return false;
77
+ const tag = Object.getOwnPropertyDescriptor(value, "_tag");
78
+ return tag !== void 0 && "value" in tag && marker.value === tag.value && Schema.is(Outcome)(value);
79
+ };
80
+ //# sourceMappingURL=Outcome.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Flow/Outcome.ts"],
4
+ "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 \u2014 a reason and the token a wake handler matches against \u2014\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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,WAAsB;AACtB,aAAwB;AACxB,+BAAkC;AAClC,2BAAsD;AAEtD,MAAM,cAAc,CAAoB,UAAyC;AAC/E,QAAM,OAAO,KAAK,QAAQ,KAAK;AAC/B,SAAO,eAAe,KAAK,KAAK,wCAAmB;AAAA,IACjD,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO,MAAM;AAAA,IACb,UAAU;AAAA,EACZ,CAAC;AACD,SAAO;AACT;AA6DO,MAAM,OAAO,OAAO,OAAO;AAAA,EAChC,MAAM,OAAO,IAAI,MAAM;AAAA,EACvB,OAAO,OAAO;AAChB,CAAC;AAQM,MAAM,KAAK,OAAO,OAAO;AAAA,EAC9B,MAAM,OAAO,IAAI,IAAI;AAAA,EACrB,MAAM,OAAO;AAAA,EACb,SAAS,OAAO;AAClB,CAAC;AAQM,MAAM,OAAO,OAAO,OAAO;AAAA,EAChC,MAAM,OAAO,IAAI,MAAM;AAAA,EACvB,QAAQ;AACV,CAAC;AAQM,MAAM,UAAU,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;AAS7C,MAAM,OAAO,CAAI,UAA+C,YAAqB,EAAE,MAAM,QAAQ,MAAM,CAAC;AAe5G,MAAM,OAGT,CAAC,QAAoC,UACvC,YAAY;AAAA,EACV,MAAM;AAAA,EACN,QAAQ,OAAO,WAAW,WACtB,SACA,UAAU,SACV,EAAE,OAAO,IACT,EAAE,QAAQ,MAAM;AACtB,CAAC;AAiBI,MAAM,YAAY,CAAC,UAAqC;AAC7D,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,QAAM,SAAS,OAAO,yBAAyB,OAAO,uCAAkB;AACxE,MAAI,WAAW,UAAa,EAAE,WAAW,QAAS,QAAO;AACzD,QAAM,MAAM,OAAO,yBAAyB,OAAO,MAAM;AACzD,SAAO,QAAQ,UAAa,WAAW,OAAO,OAAO,UAAU,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,KAAK;AACtG;",
6
+ "names": []
7
+ }
@@ -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,159 @@
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 Result_exports = {};
30
+ __export(Result_exports, {
31
+ Complete: () => Complete,
32
+ Handoff: () => Handoff,
33
+ LineageDeadline: () => LineageDeadline,
34
+ Result: () => Result,
35
+ ResultEncoded: () => ResultEncoded,
36
+ Suspended: () => Suspended,
37
+ isResult: () => isResult
38
+ });
39
+ module.exports = __toCommonJS(Result_exports);
40
+ var import_Capability = require("@smthrs/capability/Capability");
41
+ var Data = __toESM(require("effect/Data"), 1);
42
+ var Effect = __toESM(require("effect/Effect"), 1);
43
+ var Schema = __toESM(require("effect/Schema"), 1);
44
+ var SchemaIssue = __toESM(require("effect/SchemaIssue"), 1);
45
+ var SchemaParser = __toESM(require("effect/SchemaParser"), 1);
46
+ var Transformation = __toESM(require("effect/SchemaTransformation"), 1);
47
+ const ResultTypeId = "@smthrs/flow/Flow/Result";
48
+ const isResult = (u) => {
49
+ if (u !== Object(u)) return false;
50
+ const marker = Object.getOwnPropertyDescriptor(u, ResultTypeId);
51
+ if (marker === void 0 || !("value" in marker) || marker.value !== ResultTypeId) return false;
52
+ const tag = Object.getOwnPropertyDescriptor(u, "_tag");
53
+ return tag !== void 0 && "value" in tag && (tag.value === "Complete" || tag.value === "Suspended" || tag.value === "Handoff");
54
+ };
55
+ class Complete extends Data.TaggedClass("Complete") {
56
+ /**
57
+ * Marks this value as a flow result for runtime guards.
58
+ *
59
+ * @since 0.1.0
60
+ */
61
+ [ResultTypeId] = ResultTypeId;
62
+ /**
63
+ * Builds the schema for completed flow results from success and error schemas.
64
+ *
65
+ * @since 0.1.0
66
+ */
67
+ static Schema(options) {
68
+ const schema = Schema.declareConstructor()(
69
+ [Schema.Exit(options.success, options.error, Schema.Defect())],
70
+ ([exit]) => (input, ast, options2) => {
71
+ if (!(isResult(input) && input._tag === "Complete")) {
72
+ return Effect.fail(new SchemaIssue.InvalidType(ast, input, options2));
73
+ }
74
+ return Effect.mapBothEager(
75
+ SchemaParser.decodeEffect(exit)(input.exit, options2),
76
+ {
77
+ onSuccess: (exit2) => new Complete({ exit: exit2 }),
78
+ onFailure: (issue) => new SchemaIssue.Composite(
79
+ ast,
80
+ [
81
+ new SchemaIssue.Pointer(["exit"], issue)
82
+ ],
83
+ input,
84
+ options2
85
+ )
86
+ }
87
+ );
88
+ },
89
+ {
90
+ expected: "Flow.Complete",
91
+ toCodecJson: ([exit]) => Schema.link()(
92
+ Schema.Struct({
93
+ _tag: Schema.tag("Complete"),
94
+ exit
95
+ }),
96
+ Transformation.transform({
97
+ decode: (encoded) => new Complete({ exit: encoded.exit }),
98
+ encode: (result) => ({
99
+ _tag: "Complete",
100
+ exit: result.exit
101
+ })
102
+ })
103
+ )
104
+ }
105
+ );
106
+ return Schema.make(schema.ast, {
107
+ success: options.success,
108
+ error: options.error
109
+ });
110
+ }
111
+ }
112
+ class Suspended extends Schema.Class(
113
+ "@smthrs/flow/Flow/Suspended"
114
+ )({
115
+ _tag: Schema.tag("Suspended"),
116
+ cause: Schema.optional(Schema.Cause(Schema.Never, Schema.Defect()))
117
+ }) {
118
+ /**
119
+ * Marks this value as a flow result for runtime guards.
120
+ *
121
+ * @since 0.1.0
122
+ */
123
+ [ResultTypeId] = ResultTypeId;
124
+ }
125
+ const LineageDeadline = Schema.Struct({
126
+ startedAtMs: Schema.Number,
127
+ deadlineMs: Schema.Number
128
+ });
129
+ class Handoff extends Schema.Class(
130
+ "@smthrs/flow/Flow/Handoff"
131
+ )({
132
+ _tag: Schema.tag("Handoff"),
133
+ flow: Schema.NonEmptyString,
134
+ capabilityCeilings: Schema.optionalKey(Schema.Array(Schema.Array(import_Capability.CapabilityPattern))),
135
+ payload: Schema.Unknown,
136
+ /**
137
+ * The lineage deadline the next round runs under, stamped by the round
138
+ * that handed off when its lineage is bounded (`Deadline.bound`).
139
+ */
140
+ deadline: Schema.optionalKey(LineageDeadline)
141
+ }) {
142
+ /**
143
+ * Marks this value as a flow result for runtime guards.
144
+ *
145
+ * @since 0.1.0
146
+ */
147
+ [ResultTypeId] = ResultTypeId;
148
+ }
149
+ const Result = (options) => Schema.Union([Complete.Schema(options), Suspended, Handoff]);
150
+ const AnyOrVoid = Schema.Union([Schema.Any, Schema.Void]);
151
+ const ResultEncoded = Schema.toEncoded(
152
+ Schema.toCodecJson(
153
+ Result({
154
+ success: AnyOrVoid,
155
+ error: AnyOrVoid
156
+ })
157
+ )
158
+ );
159
+ //# sourceMappingURL=Result.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/Flow/Result.ts"],
4
+ "sourcesContent": ["// Deep reviewed and polished by a human on 2026-08-10.\n\n/**\n * Serializable completion and suspension states returned by flow executions.\n *\n * @since 0.1.0\n */\n\nimport { CapabilityPattern } from \"@smthrs/capability/Capability\"\nimport * as Data from \"effect/Data\"\nimport * as Effect from \"effect/Effect\"\nimport type * as Exit from \"effect/Exit\"\nimport * as Schema from \"effect/Schema\"\nimport * as SchemaIssue from \"effect/SchemaIssue\"\nimport * as SchemaParser from \"effect/SchemaParser\"\nimport * as Transformation from \"effect/SchemaTransformation\"\nimport type { ExitEncoded } from \"effect/unstable/rpc/RpcMessage\"\n\nconst ResultTypeId = \"@smthrs/flow/Flow/Result\"\n\n/**\n * Returns `true` when a value is a flow `Result`.\n *\n * @category results\n * @since 0.1.0\n */\nexport const isResult = <A = unknown, E = unknown>(\n u: unknown\n): u is Result<A, E> => {\n if (u !== Object(u)) return false\n const marker = Object.getOwnPropertyDescriptor(u, ResultTypeId)\n if (marker === undefined || !(\"value\" in marker) || marker.value !== ResultTypeId) return false\n const tag = Object.getOwnPropertyDescriptor(u, \"_tag\")\n return tag !== undefined && \"value\" in tag &&\n (tag.value === \"Complete\" || tag.value === \"Suspended\" || tag.value === \"Handoff\")\n}\n\n/**\n * Result of a flow execution: a completed exit, a suspended flow state, or a\n * handoff to the next round of a trampoline lineage.\n *\n * @category results\n * @since 0.1.0\n */\nexport type Result<A, E> = Complete<A, E> | Suspended | Handoff\n\n/**\n * Encoded representation of a flow `Result`.\n *\n * @category results\n * @since 0.1.0\n */\nexport type ResultEncoded<A, E> =\n | CompleteEncoded<A, E>\n | typeof Suspended.Encoded\n | typeof Handoff.Encoded\n\n/**\n * Encoded representation of a completed flow result containing an encoded\n * `Exit`.\n *\n * @category results\n * @since 0.1.0\n */\nexport interface CompleteEncoded<A, E> {\n readonly _tag: \"Complete\"\n readonly exit: ExitEncoded<A, E>\n}\n\n/**\n * Schema constructor for `Complete` flow results using the supplied\n * success and error schemas.\n *\n * @category schemas\n * @since 0.1.0\n */\nexport interface CompleteSchema<\n Success extends Schema.Constraint,\n Error extends Schema.Constraint\n> extends\n Schema.declareConstructor<\n Complete<Success[\"Type\"], Error[\"Type\"]>,\n Complete<Success[\"Encoded\"], Error[\"Encoded\"]>,\n readonly [Schema.Exit<Success, Error, Schema.Defect>]\n >\n{\n readonly success: Success\n readonly error: Error\n}\n\n/**\n * Represents a completed flow execution with its success or failure `Exit`.\n *\n * @category results\n * @since 0.1.0\n */\nexport class Complete<A, E> extends Data.TaggedClass(\"Complete\")<{\n readonly exit: Exit.Exit<A, E>\n}> {\n /**\n * Marks this value as a flow result for runtime guards.\n *\n * @since 0.1.0\n */\n readonly [ResultTypeId] = ResultTypeId\n\n /**\n * Builds the schema for completed flow results from success and error schemas.\n *\n * @since 0.1.0\n */\n static Schema<Success extends Schema.Constraint, Error extends Schema.Constraint>(options: {\n readonly success: Success\n readonly error: Error\n }): CompleteSchema<Success, Error> {\n // The declaration stays inline because it closes over this constructor's schemas.\n const schema = Schema.declareConstructor<\n Complete<Success[\"Type\"], Error[\"Type\"]>,\n Complete<Success[\"Encoded\"], Error[\"Encoded\"]>\n >()(\n [Schema.Exit(options.success, options.error, Schema.Defect())],\n ([exit]) => (input, ast, options) => {\n if (!(isResult(input) && input._tag === \"Complete\")) {\n return Effect.fail(new SchemaIssue.InvalidType(ast, input, options))\n }\n return Effect.mapBothEager(\n SchemaParser.decodeEffect(exit)(input.exit, options),\n {\n onSuccess: (exit) => new Complete({ exit }),\n onFailure: (issue) =>\n new SchemaIssue.Composite(\n ast,\n [\n new SchemaIssue.Pointer([\"exit\"], issue)\n ],\n input,\n options\n )\n }\n )\n },\n {\n expected: \"Flow.Complete\",\n toCodecJson: ([exit]) =>\n Schema.link<Complete<Success[\"Encoded\"], Error[\"Encoded\"]>>()(\n Schema.Struct({\n _tag: Schema.tag(\"Complete\"),\n exit\n }),\n Transformation.transform({\n decode: (encoded) => new Complete({ exit: encoded.exit }),\n encode: (result) => (({\n _tag: \"Complete\",\n exit: result.exit\n }) as const)\n })\n )\n }\n )\n return Schema.make(schema.ast, {\n success: options.success,\n error: options.error\n })\n }\n}\n\n/**\n * Represents a suspended flow execution, optionally carrying the cause that\n * triggered suspension.\n *\n * @category results\n * @since 0.1.0\n */\nexport class Suspended extends Schema.Class<Suspended>(\n \"@smthrs/flow/Flow/Suspended\"\n)({\n _tag: Schema.tag(\"Suspended\"),\n cause: Schema.optional(Schema.Cause(Schema.Never, Schema.Defect()))\n}) {\n /**\n * Marks this value as a flow result for runtime guards.\n *\n * @since 0.1.0\n */\n readonly [ResultTypeId] = ResultTypeId\n}\n\n/**\n * The deadline a trampoline lineage's rounds share: the journaled first start\n * of its originating round and the bound in milliseconds, so every round\n * expires at `startedAtMs + deadlineMs`.\n *\n * @category results\n * @since 1.0.0\n */\nexport const LineageDeadline = Schema.Struct({\n startedAtMs: Schema.Number,\n deadlineMs: Schema.Number\n})\n\n/**\n * The deadline a trampoline lineage's rounds share.\n *\n * @category results\n * @since 1.0.0\n */\nexport type LineageDeadline = typeof LineageDeadline.Type\n\n/**\n * Represents a flow round that ended by handing off to the next round of its\n * trampoline lineage.\n *\n * A round settles this way when its body's root value is a `to` invocation\n * (`docs/concepts/trampoline-rounds.md`): the round produced no answer of\n * its own, it produced the NEXT flow to run. `flow` is the target's tag, so the\n * value survives the journal and the run row unchanged.\n *\n * DECIDED: `payload` is the target's payload in\n * ENCODED form. The target's `to` method accepts its ordinary constructor\n * shape so authoring stays aligned with `call` and `execute`; the body\n * interpreter resolves planned references and encodes the invocation through\n * the target declaration before constructing `Handoff`. The receiving round\n * decodes those bytes through the same schema.\n *\n * It is a third settlement rather than a `Complete` carrying a magic value\n * because the engine has to tell \"this run answered\" from \"this run continues\n * elsewhere\" without decoding against a success schema the handoff never\n * satisfies.\n *\n * @category results\n * @since 0.1.0\n */\nexport class Handoff extends Schema.Class<Handoff>(\n \"@smthrs/flow/Flow/Handoff\"\n)({\n _tag: Schema.tag(\"Handoff\"),\n flow: Schema.NonEmptyString,\n capabilityCeilings: Schema.optionalKey(Schema.Array(Schema.Array(CapabilityPattern))),\n payload: Schema.Unknown,\n /**\n * The lineage deadline the next round runs under, stamped by the round\n * that handed off when its lineage is bounded (`Deadline.bound`).\n */\n deadline: Schema.optionalKey(LineageDeadline)\n}) {\n /**\n * Marks this value as a flow result for runtime guards.\n *\n * @since 0.1.0\n */\n readonly [ResultTypeId] = ResultTypeId\n}\n\n/**\n * Creates a schema for flow results using the supplied success and error\n * schemas.\n *\n * @category results\n * @since 0.1.0\n */\nexport const Result = <\n Success extends Schema.Constraint,\n Error extends Schema.Constraint\n>(options: {\n readonly success: Success\n readonly error: Error\n}) => Schema.Union([Complete.Schema(options), Suspended, Handoff])\n\nconst AnyOrVoid = Schema.Union([Schema.Any, Schema.Void])\n\n/**\n * Schema for encoded flow results with generic success and error payloads.\n *\n * @category results\n * @since 0.1.0\n */\nexport const ResultEncoded: Schema.Codec<ResultEncoded<any, any>> = Schema.toEncoded(\n Schema.toCodecJson(\n Result({\n success: AnyOrVoid,\n error: AnyOrVoid\n })\n )\n) as any\n"],
5
+ "mappings": "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",
6
+ "names": ["options", "exit"]
7
+ }