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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/LICENSE +21 -0
  3. package/README.md +212 -2
  4. package/THIRD_PARTY_NOTICES.md +52 -0
  5. package/dist/cjs/Action/Action.d.ts +250 -0
  6. package/dist/cjs/Action/Action.d.ts.map +1 -0
  7. package/dist/cjs/Action/Action.js +42 -0
  8. package/dist/cjs/Action/Action.js.map +7 -0
  9. package/dist/cjs/Action/AttemptTimedOut.d.ts +33 -0
  10. package/dist/cjs/Action/AttemptTimedOut.d.ts.map +1 -0
  11. package/dist/cjs/Action/AttemptTimedOut.js +51 -0
  12. package/dist/cjs/Action/AttemptTimedOut.js.map +7 -0
  13. package/dist/cjs/Action/BoundaryMode.d.ts +29 -0
  14. package/dist/cjs/Action/BoundaryMode.d.ts.map +1 -0
  15. package/dist/cjs/Action/BoundaryMode.js +36 -0
  16. package/dist/cjs/Action/BoundaryMode.js.map +7 -0
  17. package/dist/cjs/Action/CacheEnvironment.d.ts +158 -0
  18. package/dist/cjs/Action/CacheEnvironment.d.ts.map +1 -0
  19. package/dist/cjs/Action/CacheEnvironment.js +57 -0
  20. package/dist/cjs/Action/CacheEnvironment.js.map +7 -0
  21. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  22. package/dist/cjs/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  23. package/dist/cjs/Action/ConcurrentKeylessDispatch.js +46 -0
  24. package/dist/cjs/Action/ConcurrentKeylessDispatch.js.map +7 -0
  25. package/dist/cjs/Action/Context.d.ts +131 -0
  26. package/dist/cjs/Action/Context.d.ts.map +1 -0
  27. package/dist/cjs/Action/Context.js +68 -0
  28. package/dist/cjs/Action/Context.js.map +7 -0
  29. package/dist/cjs/Action/DuplicateImplementation.d.ts +20 -0
  30. package/dist/cjs/Action/DuplicateImplementation.d.ts.map +1 -0
  31. package/dist/cjs/Action/DuplicateImplementation.js +46 -0
  32. package/dist/cjs/Action/DuplicateImplementation.js.map +7 -0
  33. package/dist/cjs/Action/FileBoundary.d.ts +59 -0
  34. package/dist/cjs/Action/FileBoundary.d.ts.map +1 -0
  35. package/dist/cjs/Action/FileBoundary.js +81 -0
  36. package/dist/cjs/Action/FileBoundary.js.map +7 -0
  37. package/dist/cjs/Action/FileInput.d.ts +28 -0
  38. package/dist/cjs/Action/FileInput.d.ts.map +1 -0
  39. package/dist/cjs/Action/FileInput.js +42 -0
  40. package/dist/cjs/Action/FileInput.js.map +7 -0
  41. package/dist/cjs/Action/Filegroup.d.ts +16 -0
  42. package/dist/cjs/Action/Filegroup.d.ts.map +1 -0
  43. package/dist/cjs/Action/Filegroup.js +27 -0
  44. package/dist/cjs/Action/Filegroup.js.map +7 -0
  45. package/dist/cjs/Action/Glob.d.ts +8 -0
  46. package/dist/cjs/Action/Glob.d.ts.map +1 -0
  47. package/dist/cjs/Action/Glob.js +28 -0
  48. package/dist/cjs/Action/Glob.js.map +7 -0
  49. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts +26 -0
  50. package/dist/cjs/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  51. package/dist/cjs/Action/ImplementationVersionMismatch.js +45 -0
  52. package/dist/cjs/Action/ImplementationVersionMismatch.js.map +7 -0
  53. package/dist/cjs/Action/Implementations.d.ts +114 -0
  54. package/dist/cjs/Action/Implementations.d.ts.map +1 -0
  55. package/dist/cjs/Action/Implementations.js +65 -0
  56. package/dist/cjs/Action/Implementations.js.map +7 -0
  57. package/dist/cjs/Action/InfraInterrupt.d.ts +26 -0
  58. package/dist/cjs/Action/InfraInterrupt.d.ts.map +1 -0
  59. package/dist/cjs/Action/InfraInterrupt.js +46 -0
  60. package/dist/cjs/Action/InfraInterrupt.js.map +7 -0
  61. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  62. package/dist/cjs/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  63. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js +54 -0
  64. package/dist/cjs/Action/InfraInterruptRetriesExhausted.js.map +7 -0
  65. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  66. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  67. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js +47 -0
  68. package/dist/cjs/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +7 -0
  69. package/dist/cjs/Action/StepIdentity.d.ts +153 -0
  70. package/dist/cjs/Action/StepIdentity.d.ts.map +1 -0
  71. package/dist/cjs/Action/StepIdentity.js +75 -0
  72. package/dist/cjs/Action/StepIdentity.js.map +7 -0
  73. package/dist/cjs/Action/TreeArtifact.d.ts +8 -0
  74. package/dist/cjs/Action/TreeArtifact.d.ts.map +1 -0
  75. package/dist/cjs/Action/TreeArtifact.js +25 -0
  76. package/dist/cjs/Action/TreeArtifact.js.map +7 -0
  77. package/dist/cjs/Action/TypeId.d.ts +8 -0
  78. package/dist/cjs/Action/TypeId.d.ts.map +1 -0
  79. package/dist/cjs/Action/TypeId.js +25 -0
  80. package/dist/cjs/Action/TypeId.js.map +7 -0
  81. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  82. package/dist/cjs/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  83. package/dist/cjs/Action/UncanonicalIdempotencyKey.js +51 -0
  84. package/dist/cjs/Action/UncanonicalIdempotencyKey.js.map +7 -0
  85. package/dist/cjs/Action/idempotencyKey.d.ts +21 -0
  86. package/dist/cjs/Action/idempotencyKey.d.ts.map +1 -0
  87. package/dist/cjs/Action/idempotencyKey.js +59 -0
  88. package/dist/cjs/Action/idempotencyKey.js.map +7 -0
  89. package/dist/cjs/Action/index.d.ts +29 -0
  90. package/dist/cjs/Action/index.d.ts.map +1 -0
  91. package/dist/cjs/Action/index.js +60 -0
  92. package/dist/cjs/Action/index.js.map +7 -0
  93. package/dist/cjs/Action/make.d.ts +128 -0
  94. package/dist/cjs/Action/make.d.ts.map +1 -0
  95. package/dist/cjs/Action/make.js +387 -0
  96. package/dist/cjs/Action/make.js.map +7 -0
  97. package/dist/cjs/Action/raceAll.d.ts +21 -0
  98. package/dist/cjs/Action/raceAll.d.ts.map +1 -0
  99. package/dist/cjs/Action/raceAll.js +46 -0
  100. package/dist/cjs/Action/raceAll.js.map +7 -0
  101. package/dist/cjs/Action/retry.d.ts +19 -0
  102. package/dist/cjs/Action/retry.d.ts.map +1 -0
  103. package/dist/cjs/Action/retry.js +75 -0
  104. package/dist/cjs/Action/retry.js.map +7 -0
  105. package/dist/cjs/Deadline.d.ts +110 -0
  106. package/dist/cjs/Deadline.d.ts.map +1 -0
  107. package/dist/cjs/Deadline.js +112 -0
  108. package/dist/cjs/Deadline.js.map +7 -0
  109. package/dist/cjs/DurableClock.d.ts +60 -0
  110. package/dist/cjs/DurableClock.d.ts.map +1 -0
  111. package/dist/cjs/DurableClock.js +107 -0
  112. package/dist/cjs/DurableClock.js.map +7 -0
  113. package/dist/cjs/DurableDeferred.d.ts +311 -0
  114. package/dist/cjs/DurableDeferred.d.ts.map +1 -0
  115. package/dist/cjs/DurableDeferred.js +322 -0
  116. package/dist/cjs/DurableDeferred.js.map +7 -0
  117. package/dist/cjs/DurableQueue.d.ts +160 -0
  118. package/dist/cjs/DurableQueue.d.ts.map +1 -0
  119. package/dist/cjs/DurableQueue.js +229 -0
  120. package/dist/cjs/DurableQueue.js.map +7 -0
  121. package/dist/cjs/ExternalJob.d.ts +179 -0
  122. package/dist/cjs/ExternalJob.d.ts.map +1 -0
  123. package/dist/cjs/ExternalJob.js +339 -0
  124. package/dist/cjs/ExternalJob.js.map +7 -0
  125. package/dist/cjs/Fault.d.ts +131 -0
  126. package/dist/cjs/Fault.d.ts.map +1 -0
  127. package/dist/cjs/Fault.js +157 -0
  128. package/dist/cjs/Fault.js.map +7 -0
  129. package/dist/cjs/Flow/Annotations.d.ts +245 -0
  130. package/dist/cjs/Flow/Annotations.d.ts.map +1 -0
  131. package/dist/cjs/Flow/Annotations.js +72 -0
  132. package/dist/cjs/Flow/Annotations.js.map +7 -0
  133. package/dist/cjs/Flow/CapabilityCeiling.d.ts +21 -0
  134. package/dist/cjs/Flow/CapabilityCeiling.d.ts.map +1 -0
  135. package/dist/cjs/Flow/CapabilityCeiling.js +49 -0
  136. package/dist/cjs/Flow/CapabilityCeiling.js.map +7 -0
  137. package/dist/cjs/Flow/DeadlineExceeded.d.ts +33 -0
  138. package/dist/cjs/Flow/DeadlineExceeded.d.ts.map +1 -0
  139. package/dist/cjs/Flow/DeadlineExceeded.js +52 -0
  140. package/dist/cjs/Flow/DeadlineExceeded.js.map +7 -0
  141. package/dist/cjs/Flow/ExecutionIdRequired.d.ts +25 -0
  142. package/dist/cjs/Flow/ExecutionIdRequired.d.ts.map +1 -0
  143. package/dist/cjs/Flow/ExecutionIdRequired.js +46 -0
  144. package/dist/cjs/Flow/ExecutionIdRequired.js.map +7 -0
  145. package/dist/cjs/Flow/ExecutionIds.d.ts +80 -0
  146. package/dist/cjs/Flow/ExecutionIds.d.ts.map +1 -0
  147. package/dist/cjs/Flow/ExecutionIds.js +66 -0
  148. package/dist/cjs/Flow/ExecutionIds.js.map +7 -0
  149. package/dist/cjs/Flow/Flow.d.ts +422 -0
  150. package/dist/cjs/Flow/Flow.d.ts.map +1 -0
  151. package/dist/cjs/Flow/Flow.js +17 -0
  152. package/dist/cjs/Flow/Flow.js.map +7 -0
  153. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts +35 -0
  154. package/dist/cjs/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  155. package/dist/cjs/Flow/MaxRoundsExceeded.js +50 -0
  156. package/dist/cjs/Flow/MaxRoundsExceeded.js.map +7 -0
  157. package/dist/cjs/Flow/Outcome.d.ts +162 -0
  158. package/dist/cjs/Flow/Outcome.d.ts.map +1 -0
  159. package/dist/cjs/Flow/Outcome.js +80 -0
  160. package/dist/cjs/Flow/Outcome.js.map +7 -0
  161. package/dist/cjs/Flow/Result.d.ts +186 -0
  162. package/dist/cjs/Flow/Result.d.ts.map +1 -0
  163. package/dist/cjs/Flow/Result.js +159 -0
  164. package/dist/cjs/Flow/Result.js.map +7 -0
  165. package/dist/cjs/Flow/Runtime.d.ts +98 -0
  166. package/dist/cjs/Flow/Runtime.d.ts.map +1 -0
  167. package/dist/cjs/Flow/Runtime.js +186 -0
  168. package/dist/cjs/Flow/Runtime.js.map +7 -0
  169. package/dist/cjs/Flow/TypeId.d.ts +8 -0
  170. package/dist/cjs/Flow/TypeId.d.ts.map +1 -0
  171. package/dist/cjs/Flow/TypeId.js +25 -0
  172. package/dist/cjs/Flow/TypeId.js.map +7 -0
  173. package/dist/cjs/Flow/index.d.ts +17 -0
  174. package/dist/cjs/Flow/index.d.ts.map +1 -0
  175. package/dist/cjs/Flow/index.js +29 -0
  176. package/dist/cjs/Flow/index.js.map +7 -0
  177. package/dist/cjs/Flow/internal.d.ts +34 -0
  178. package/dist/cjs/Flow/internal.d.ts.map +1 -0
  179. package/dist/cjs/Flow/internal.js +187 -0
  180. package/dist/cjs/Flow/internal.js.map +7 -0
  181. package/dist/cjs/Flow/make.d.ts +149 -0
  182. package/dist/cjs/Flow/make.d.ts.map +1 -0
  183. package/dist/cjs/Flow/make.js +107 -0
  184. package/dist/cjs/Flow/make.js.map +7 -0
  185. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  186. package/dist/cjs/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  187. package/dist/cjs/FlowRuntime/CancelRequestFailed.js +51 -0
  188. package/dist/cjs/FlowRuntime/CancelRequestFailed.js.map +7 -0
  189. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  190. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  191. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js +55 -0
  192. package/dist/cjs/FlowRuntime/ExecutionIdentityConflict.js.map +7 -0
  193. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  194. package/dist/cjs/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  195. package/dist/cjs/FlowRuntime/FlowCycleDetected.js +49 -0
  196. package/dist/cjs/FlowRuntime/FlowCycleDetected.js.map +7 -0
  197. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  198. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  199. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js +53 -0
  200. package/dist/cjs/FlowRuntime/FlowExecutionNotFound.js.map +7 -0
  201. package/dist/cjs/FlowRuntime/FlowInstance.d.ts +115 -0
  202. package/dist/cjs/FlowRuntime/FlowInstance.d.ts.map +1 -0
  203. package/dist/cjs/FlowRuntime/FlowInstance.js +37 -0
  204. package/dist/cjs/FlowRuntime/FlowInstance.js.map +7 -0
  205. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts +204 -0
  206. package/dist/cjs/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  207. package/dist/cjs/FlowRuntime/FlowRuntime.js +37 -0
  208. package/dist/cjs/FlowRuntime/FlowRuntime.js.map +7 -0
  209. package/dist/cjs/FlowRuntime/NodeRecord.d.ts +177 -0
  210. package/dist/cjs/FlowRuntime/NodeRecord.d.ts.map +1 -0
  211. package/dist/cjs/FlowRuntime/NodeRecord.js +17 -0
  212. package/dist/cjs/FlowRuntime/NodeRecord.js.map +7 -0
  213. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  214. package/dist/cjs/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  215. package/dist/cjs/FlowRuntime/WaitingAnnotation.js +53 -0
  216. package/dist/cjs/FlowRuntime/WaitingAnnotation.js.map +7 -0
  217. package/dist/cjs/FlowRuntime/index.d.ts +14 -0
  218. package/dist/cjs/FlowRuntime/index.d.ts.map +1 -0
  219. package/dist/cjs/FlowRuntime/index.js +26 -0
  220. package/dist/cjs/FlowRuntime/index.js.map +7 -0
  221. package/dist/cjs/Graph.d.ts +325 -0
  222. package/dist/cjs/Graph.d.ts.map +1 -0
  223. package/dist/cjs/Graph.js +1020 -0
  224. package/dist/cjs/Graph.js.map +7 -0
  225. package/dist/cjs/HumanTask.d.ts +442 -0
  226. package/dist/cjs/HumanTask.d.ts.map +1 -0
  227. package/dist/cjs/HumanTask.js +422 -0
  228. package/dist/cjs/HumanTask.js.map +7 -0
  229. package/dist/cjs/Interpreter.d.ts +223 -0
  230. package/dist/cjs/Interpreter.d.ts.map +1 -0
  231. package/dist/cjs/Interpreter.js +919 -0
  232. package/dist/cjs/Interpreter.js.map +7 -0
  233. package/dist/cjs/Poll.d.ts +240 -0
  234. package/dist/cjs/Poll.d.ts.map +1 -0
  235. package/dist/cjs/Poll.js +154 -0
  236. package/dist/cjs/Poll.js.map +7 -0
  237. package/dist/cjs/RetryPolicy.d.ts +273 -0
  238. package/dist/cjs/RetryPolicy.d.ts.map +1 -0
  239. package/dist/cjs/RetryPolicy.js +251 -0
  240. package/dist/cjs/RetryPolicy.js.map +7 -0
  241. package/dist/cjs/Sleep.d.ts +98 -0
  242. package/dist/cjs/Sleep.d.ts.map +1 -0
  243. package/dist/cjs/Sleep.js +141 -0
  244. package/dist/cjs/Sleep.js.map +7 -0
  245. package/dist/cjs/Stall.d.ts +173 -0
  246. package/dist/cjs/Stall.d.ts.map +1 -0
  247. package/dist/cjs/Stall.js +92 -0
  248. package/dist/cjs/Stall.js.map +7 -0
  249. package/dist/cjs/WaitFor.d.ts +109 -0
  250. package/dist/cjs/WaitFor.d.ts.map +1 -0
  251. package/dist/cjs/WaitFor.js +117 -0
  252. package/dist/cjs/WaitFor.js.map +7 -0
  253. package/dist/cjs/index.d.ts +107 -0
  254. package/dist/cjs/index.d.ts.map +1 -0
  255. package/dist/cjs/index.js +69 -0
  256. package/dist/cjs/index.js.map +7 -0
  257. package/dist/cjs/internal/BoundedJson.d.ts +48 -0
  258. package/dist/cjs/internal/BoundedJson.d.ts.map +1 -0
  259. package/dist/cjs/internal/BoundedJson.js +96 -0
  260. package/dist/cjs/internal/BoundedJson.js.map +7 -0
  261. package/dist/cjs/internal/DeclarationSite.d.ts +135 -0
  262. package/dist/cjs/internal/DeclarationSite.d.ts.map +1 -0
  263. package/dist/cjs/internal/DeclarationSite.js +89 -0
  264. package/dist/cjs/internal/DeclarationSite.js.map +7 -0
  265. package/dist/cjs/internal/Declarations.d.ts +35 -0
  266. package/dist/cjs/internal/Declarations.d.ts.map +1 -0
  267. package/dist/cjs/internal/Declarations.js +50 -0
  268. package/dist/cjs/internal/Declarations.js.map +7 -0
  269. package/dist/cjs/internal/ExecutionMiddleware.d.ts +21 -0
  270. package/dist/cjs/internal/ExecutionMiddleware.d.ts.map +1 -0
  271. package/dist/cjs/internal/ExecutionMiddleware.js +39 -0
  272. package/dist/cjs/internal/ExecutionMiddleware.js.map +7 -0
  273. package/dist/cjs/internal/JsonSchemaSubset.d.ts +133 -0
  274. package/dist/cjs/internal/JsonSchemaSubset.d.ts.map +1 -0
  275. package/dist/cjs/internal/JsonSchemaSubset.js +229 -0
  276. package/dist/cjs/internal/JsonSchemaSubset.js.map +7 -0
  277. package/dist/cjs/internal/OutcomeMarker.d.ts +18 -0
  278. package/dist/cjs/internal/OutcomeMarker.d.ts.map +1 -0
  279. package/dist/cjs/internal/OutcomeMarker.js +27 -0
  280. package/dist/cjs/internal/OutcomeMarker.js.map +7 -0
  281. package/dist/cjs/package.json +1 -0
  282. package/dist/esm/Action/Action.d.ts +250 -0
  283. package/dist/esm/Action/Action.d.ts.map +1 -0
  284. package/dist/esm/Action/Action.js +30 -0
  285. package/dist/esm/Action/Action.js.map +1 -0
  286. package/dist/esm/Action/AttemptTimedOut.d.ts +33 -0
  287. package/dist/esm/Action/AttemptTimedOut.d.ts.map +1 -0
  288. package/dist/esm/Action/AttemptTimedOut.js +32 -0
  289. package/dist/esm/Action/AttemptTimedOut.js.map +1 -0
  290. package/dist/esm/Action/BoundaryMode.d.ts +29 -0
  291. package/dist/esm/Action/BoundaryMode.d.ts.map +1 -0
  292. package/dist/esm/Action/BoundaryMode.js +23 -0
  293. package/dist/esm/Action/BoundaryMode.js.map +1 -0
  294. package/dist/esm/Action/CacheEnvironment.d.ts +158 -0
  295. package/dist/esm/Action/CacheEnvironment.d.ts.map +1 -0
  296. package/dist/esm/Action/CacheEnvironment.js +130 -0
  297. package/dist/esm/Action/CacheEnvironment.js.map +1 -0
  298. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts +34 -0
  299. package/dist/esm/Action/ConcurrentKeylessDispatch.d.ts.map +1 -0
  300. package/dist/esm/Action/ConcurrentKeylessDispatch.js +33 -0
  301. package/dist/esm/Action/ConcurrentKeylessDispatch.js.map +1 -0
  302. package/dist/esm/Action/Context.d.ts +131 -0
  303. package/dist/esm/Action/Context.d.ts.map +1 -0
  304. package/dist/esm/Action/Context.js +99 -0
  305. package/dist/esm/Action/Context.js.map +1 -0
  306. package/dist/esm/Action/DuplicateImplementation.d.ts +20 -0
  307. package/dist/esm/Action/DuplicateImplementation.d.ts.map +1 -0
  308. package/dist/esm/Action/DuplicateImplementation.js +20 -0
  309. package/dist/esm/Action/DuplicateImplementation.js.map +1 -0
  310. package/dist/esm/Action/FileBoundary.d.ts +59 -0
  311. package/dist/esm/Action/FileBoundary.d.ts.map +1 -0
  312. package/dist/esm/Action/FileBoundary.js +60 -0
  313. package/dist/esm/Action/FileBoundary.js.map +1 -0
  314. package/dist/esm/Action/FileInput.d.ts +28 -0
  315. package/dist/esm/Action/FileInput.d.ts.map +1 -0
  316. package/dist/esm/Action/FileInput.js +32 -0
  317. package/dist/esm/Action/FileInput.js.map +1 -0
  318. package/dist/esm/Action/Filegroup.d.ts +16 -0
  319. package/dist/esm/Action/Filegroup.d.ts.map +1 -0
  320. package/dist/esm/Action/Filegroup.js +15 -0
  321. package/dist/esm/Action/Filegroup.js.map +1 -0
  322. package/dist/esm/Action/Glob.d.ts +8 -0
  323. package/dist/esm/Action/Glob.d.ts.map +1 -0
  324. package/dist/esm/Action/Glob.js +7 -0
  325. package/dist/esm/Action/Glob.js.map +1 -0
  326. package/dist/esm/Action/ImplementationVersionMismatch.d.ts +26 -0
  327. package/dist/esm/Action/ImplementationVersionMismatch.d.ts.map +1 -0
  328. package/dist/esm/Action/ImplementationVersionMismatch.js +24 -0
  329. package/dist/esm/Action/ImplementationVersionMismatch.js.map +1 -0
  330. package/dist/esm/Action/Implementations.d.ts +114 -0
  331. package/dist/esm/Action/Implementations.d.ts.map +1 -0
  332. package/dist/esm/Action/Implementations.js +94 -0
  333. package/dist/esm/Action/Implementations.js.map +1 -0
  334. package/dist/esm/Action/InfraInterrupt.d.ts +26 -0
  335. package/dist/esm/Action/InfraInterrupt.d.ts.map +1 -0
  336. package/dist/esm/Action/InfraInterrupt.js +25 -0
  337. package/dist/esm/Action/InfraInterrupt.js.map +1 -0
  338. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts +33 -0
  339. package/dist/esm/Action/InfraInterruptRetriesExhausted.d.ts.map +1 -0
  340. package/dist/esm/Action/InfraInterruptRetriesExhausted.js +32 -0
  341. package/dist/esm/Action/InfraInterruptRetriesExhausted.js.map +1 -0
  342. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts +26 -0
  343. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.d.ts.map +1 -0
  344. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js +25 -0
  345. package/dist/esm/Action/IrreversibleRetryRequiresIdempotencyKey.js.map +1 -0
  346. package/dist/esm/Action/StepIdentity.d.ts +153 -0
  347. package/dist/esm/Action/StepIdentity.d.ts.map +1 -0
  348. package/dist/esm/Action/StepIdentity.js +139 -0
  349. package/dist/esm/Action/StepIdentity.js.map +1 -0
  350. package/dist/esm/Action/TreeArtifact.d.ts +8 -0
  351. package/dist/esm/Action/TreeArtifact.d.ts.map +1 -0
  352. package/dist/esm/Action/TreeArtifact.js +7 -0
  353. package/dist/esm/Action/TreeArtifact.js.map +1 -0
  354. package/dist/esm/Action/TypeId.d.ts +8 -0
  355. package/dist/esm/Action/TypeId.d.ts.map +1 -0
  356. package/dist/esm/Action/TypeId.js +9 -0
  357. package/dist/esm/Action/TypeId.js.map +1 -0
  358. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts +32 -0
  359. package/dist/esm/Action/UncanonicalIdempotencyKey.d.ts.map +1 -0
  360. package/dist/esm/Action/UncanonicalIdempotencyKey.js +31 -0
  361. package/dist/esm/Action/UncanonicalIdempotencyKey.js.map +1 -0
  362. package/dist/esm/Action/idempotencyKey.d.ts +21 -0
  363. package/dist/esm/Action/idempotencyKey.d.ts.map +1 -0
  364. package/dist/esm/Action/idempotencyKey.js +50 -0
  365. package/dist/esm/Action/idempotencyKey.js.map +1 -0
  366. package/dist/esm/Action/index.d.ts +29 -0
  367. package/dist/esm/Action/index.d.ts.map +1 -0
  368. package/dist/esm/Action/index.js +30 -0
  369. package/dist/esm/Action/index.js.map +1 -0
  370. package/dist/esm/Action/make.d.ts +128 -0
  371. package/dist/esm/Action/make.d.ts.map +1 -0
  372. package/dist/esm/Action/make.js +413 -0
  373. package/dist/esm/Action/make.js.map +1 -0
  374. package/dist/esm/Action/raceAll.d.ts +21 -0
  375. package/dist/esm/Action/raceAll.d.ts.map +1 -0
  376. package/dist/esm/Action/raceAll.js +20 -0
  377. package/dist/esm/Action/raceAll.js.map +1 -0
  378. package/dist/esm/Action/retry.d.ts +19 -0
  379. package/dist/esm/Action/retry.d.ts.map +1 -0
  380. package/dist/esm/Action/retry.js +72 -0
  381. package/dist/esm/Action/retry.js.map +1 -0
  382. package/dist/esm/Deadline.d.ts +110 -0
  383. package/dist/esm/Deadline.d.ts.map +1 -0
  384. package/dist/esm/Deadline.js +164 -0
  385. package/dist/esm/Deadline.js.map +1 -0
  386. package/dist/esm/DurableClock.d.ts +60 -0
  387. package/dist/esm/DurableClock.d.ts.map +1 -0
  388. package/dist/esm/DurableClock.js +122 -0
  389. package/dist/esm/DurableClock.js.map +1 -0
  390. package/dist/esm/DurableDeferred.d.ts +311 -0
  391. package/dist/esm/DurableDeferred.d.ts.map +1 -0
  392. package/dist/esm/DurableDeferred.js +357 -0
  393. package/dist/esm/DurableDeferred.js.map +1 -0
  394. package/dist/esm/DurableQueue.d.ts +160 -0
  395. package/dist/esm/DurableQueue.d.ts.map +1 -0
  396. package/dist/esm/DurableQueue.js +303 -0
  397. package/dist/esm/DurableQueue.js.map +1 -0
  398. package/dist/esm/ExternalJob.d.ts +179 -0
  399. package/dist/esm/ExternalJob.d.ts.map +1 -0
  400. package/dist/esm/ExternalJob.js +296 -0
  401. package/dist/esm/ExternalJob.js.map +1 -0
  402. package/dist/esm/Fault.d.ts +131 -0
  403. package/dist/esm/Fault.d.ts.map +1 -0
  404. package/dist/esm/Fault.js +198 -0
  405. package/dist/esm/Fault.js.map +1 -0
  406. package/dist/esm/Flow/Annotations.d.ts +245 -0
  407. package/dist/esm/Flow/Annotations.d.ts.map +1 -0
  408. package/dist/esm/Flow/Annotations.js +110 -0
  409. package/dist/esm/Flow/Annotations.js.map +1 -0
  410. package/dist/esm/Flow/CapabilityCeiling.d.ts +21 -0
  411. package/dist/esm/Flow/CapabilityCeiling.d.ts.map +1 -0
  412. package/dist/esm/Flow/CapabilityCeiling.js +27 -0
  413. package/dist/esm/Flow/CapabilityCeiling.js.map +1 -0
  414. package/dist/esm/Flow/DeadlineExceeded.d.ts +33 -0
  415. package/dist/esm/Flow/DeadlineExceeded.d.ts.map +1 -0
  416. package/dist/esm/Flow/DeadlineExceeded.js +34 -0
  417. package/dist/esm/Flow/DeadlineExceeded.js.map +1 -0
  418. package/dist/esm/Flow/ExecutionIdRequired.d.ts +25 -0
  419. package/dist/esm/Flow/ExecutionIdRequired.d.ts.map +1 -0
  420. package/dist/esm/Flow/ExecutionIdRequired.js +30 -0
  421. package/dist/esm/Flow/ExecutionIdRequired.js.map +1 -0
  422. package/dist/esm/Flow/ExecutionIds.d.ts +80 -0
  423. package/dist/esm/Flow/ExecutionIds.d.ts.map +1 -0
  424. package/dist/esm/Flow/ExecutionIds.js +91 -0
  425. package/dist/esm/Flow/ExecutionIds.js.map +1 -0
  426. package/dist/esm/Flow/Flow.d.ts +422 -0
  427. package/dist/esm/Flow/Flow.d.ts.map +1 -0
  428. package/dist/esm/Flow/Flow.js +3 -0
  429. package/dist/esm/Flow/Flow.js.map +1 -0
  430. package/dist/esm/Flow/MaxRoundsExceeded.d.ts +35 -0
  431. package/dist/esm/Flow/MaxRoundsExceeded.d.ts.map +1 -0
  432. package/dist/esm/Flow/MaxRoundsExceeded.js +34 -0
  433. package/dist/esm/Flow/MaxRoundsExceeded.js.map +1 -0
  434. package/dist/esm/Flow/Outcome.d.ts +162 -0
  435. package/dist/esm/Flow/Outcome.d.ts.map +1 -0
  436. package/dist/esm/Flow/Outcome.js +115 -0
  437. package/dist/esm/Flow/Outcome.js.map +1 -0
  438. package/dist/esm/Flow/Result.d.ts +186 -0
  439. package/dist/esm/Flow/Result.d.ts.map +1 -0
  440. package/dist/esm/Flow/Result.js +171 -0
  441. package/dist/esm/Flow/Result.js.map +1 -0
  442. package/dist/esm/Flow/Runtime.d.ts +98 -0
  443. package/dist/esm/Flow/Runtime.d.ts.map +1 -0
  444. package/dist/esm/Flow/Runtime.js +252 -0
  445. package/dist/esm/Flow/Runtime.js.map +1 -0
  446. package/dist/esm/Flow/TypeId.d.ts +8 -0
  447. package/dist/esm/Flow/TypeId.d.ts.map +1 -0
  448. package/dist/esm/Flow/TypeId.js +9 -0
  449. package/dist/esm/Flow/TypeId.js.map +1 -0
  450. package/dist/esm/Flow/index.d.ts +17 -0
  451. package/dist/esm/Flow/index.d.ts.map +1 -0
  452. package/dist/esm/Flow/index.js +18 -0
  453. package/dist/esm/Flow/index.js.map +1 -0
  454. package/dist/esm/Flow/internal.d.ts +34 -0
  455. package/dist/esm/Flow/internal.d.ts.map +1 -0
  456. package/dist/esm/Flow/internal.js +149 -0
  457. package/dist/esm/Flow/internal.js.map +1 -0
  458. package/dist/esm/Flow/make.d.ts +149 -0
  459. package/dist/esm/Flow/make.d.ts.map +1 -0
  460. package/dist/esm/Flow/make.js +111 -0
  461. package/dist/esm/Flow/make.js.map +1 -0
  462. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts +55 -0
  463. package/dist/esm/FlowRuntime/CancelRequestFailed.d.ts.map +1 -0
  464. package/dist/esm/FlowRuntime/CancelRequestFailed.js +53 -0
  465. package/dist/esm/FlowRuntime/CancelRequestFailed.js.map +1 -0
  466. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts +23 -0
  467. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.d.ts.map +1 -0
  468. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js +24 -0
  469. package/dist/esm/FlowRuntime/ExecutionIdentityConflict.js.map +1 -0
  470. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts +28 -0
  471. package/dist/esm/FlowRuntime/FlowCycleDetected.d.ts.map +1 -0
  472. package/dist/esm/FlowRuntime/FlowCycleDetected.js +35 -0
  473. package/dist/esm/FlowRuntime/FlowCycleDetected.js.map +1 -0
  474. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts +38 -0
  475. package/dist/esm/FlowRuntime/FlowExecutionNotFound.d.ts.map +1 -0
  476. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js +40 -0
  477. package/dist/esm/FlowRuntime/FlowExecutionNotFound.js.map +1 -0
  478. package/dist/esm/FlowRuntime/FlowInstance.d.ts +115 -0
  479. package/dist/esm/FlowRuntime/FlowInstance.d.ts.map +1 -0
  480. package/dist/esm/FlowRuntime/FlowInstance.js +24 -0
  481. package/dist/esm/FlowRuntime/FlowInstance.js.map +1 -0
  482. package/dist/esm/FlowRuntime/FlowRuntime.d.ts +204 -0
  483. package/dist/esm/FlowRuntime/FlowRuntime.d.ts.map +1 -0
  484. package/dist/esm/FlowRuntime/FlowRuntime.js +34 -0
  485. package/dist/esm/FlowRuntime/FlowRuntime.js.map +1 -0
  486. package/dist/esm/FlowRuntime/NodeRecord.d.ts +177 -0
  487. package/dist/esm/FlowRuntime/NodeRecord.d.ts.map +1 -0
  488. package/dist/esm/FlowRuntime/NodeRecord.js +21 -0
  489. package/dist/esm/FlowRuntime/NodeRecord.js.map +1 -0
  490. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts +69 -0
  491. package/dist/esm/FlowRuntime/WaitingAnnotation.d.ts.map +1 -0
  492. package/dist/esm/FlowRuntime/WaitingAnnotation.js +53 -0
  493. package/dist/esm/FlowRuntime/WaitingAnnotation.js.map +1 -0
  494. package/dist/esm/FlowRuntime/index.d.ts +14 -0
  495. package/dist/esm/FlowRuntime/index.d.ts.map +1 -0
  496. package/dist/esm/FlowRuntime/index.js +15 -0
  497. package/dist/esm/FlowRuntime/index.js.map +1 -0
  498. package/dist/esm/Graph.d.ts +325 -0
  499. package/dist/esm/Graph.d.ts.map +1 -0
  500. package/dist/esm/Graph.js +1485 -0
  501. package/dist/esm/Graph.js.map +1 -0
  502. package/dist/esm/HumanTask.d.ts +442 -0
  503. package/dist/esm/HumanTask.d.ts.map +1 -0
  504. package/dist/esm/HumanTask.js +810 -0
  505. package/dist/esm/HumanTask.js.map +1 -0
  506. package/dist/esm/Interpreter.d.ts +223 -0
  507. package/dist/esm/Interpreter.d.ts.map +1 -0
  508. package/dist/esm/Interpreter.js +1301 -0
  509. package/dist/esm/Interpreter.js.map +1 -0
  510. package/dist/esm/Poll.d.ts +240 -0
  511. package/dist/esm/Poll.d.ts.map +1 -0
  512. package/dist/esm/Poll.js +289 -0
  513. package/dist/esm/Poll.js.map +1 -0
  514. package/dist/esm/RetryPolicy.d.ts +273 -0
  515. package/dist/esm/RetryPolicy.d.ts.map +1 -0
  516. package/dist/esm/RetryPolicy.js +429 -0
  517. package/dist/esm/RetryPolicy.js.map +1 -0
  518. package/dist/esm/Sleep.d.ts +98 -0
  519. package/dist/esm/Sleep.d.ts.map +1 -0
  520. package/dist/esm/Sleep.js +256 -0
  521. package/dist/esm/Sleep.js.map +1 -0
  522. package/dist/esm/Stall.d.ts +173 -0
  523. package/dist/esm/Stall.d.ts.map +1 -0
  524. package/dist/esm/Stall.js +138 -0
  525. package/dist/esm/Stall.js.map +1 -0
  526. package/dist/esm/WaitFor.d.ts +109 -0
  527. package/dist/esm/WaitFor.d.ts.map +1 -0
  528. package/dist/esm/WaitFor.js +184 -0
  529. package/dist/esm/WaitFor.js.map +1 -0
  530. package/dist/esm/index.d.ts +107 -0
  531. package/dist/esm/index.d.ts.map +1 -0
  532. package/dist/esm/index.js +108 -0
  533. package/dist/esm/index.js.map +1 -0
  534. package/dist/esm/internal/BoundedJson.d.ts +48 -0
  535. package/dist/esm/internal/BoundedJson.d.ts.map +1 -0
  536. package/dist/esm/internal/BoundedJson.js +107 -0
  537. package/dist/esm/internal/BoundedJson.js.map +1 -0
  538. package/dist/esm/internal/DeclarationSite.d.ts +135 -0
  539. package/dist/esm/internal/DeclarationSite.d.ts.map +1 -0
  540. package/dist/esm/internal/DeclarationSite.js +196 -0
  541. package/dist/esm/internal/DeclarationSite.js.map +1 -0
  542. package/dist/esm/internal/Declarations.d.ts +35 -0
  543. package/dist/esm/internal/Declarations.d.ts.map +1 -0
  544. package/dist/esm/internal/Declarations.js +43 -0
  545. package/dist/esm/internal/Declarations.js.map +1 -0
  546. package/dist/esm/internal/ExecutionMiddleware.d.ts +21 -0
  547. package/dist/esm/internal/ExecutionMiddleware.d.ts.map +1 -0
  548. package/dist/esm/internal/ExecutionMiddleware.js +13 -0
  549. package/dist/esm/internal/ExecutionMiddleware.js.map +1 -0
  550. package/dist/esm/internal/JsonSchemaSubset.d.ts +133 -0
  551. package/dist/esm/internal/JsonSchemaSubset.d.ts.map +1 -0
  552. package/dist/esm/internal/JsonSchemaSubset.js +363 -0
  553. package/dist/esm/internal/JsonSchemaSubset.js.map +1 -0
  554. package/dist/esm/internal/OutcomeMarker.d.ts +18 -0
  555. package/dist/esm/internal/OutcomeMarker.d.ts.map +1 -0
  556. package/dist/esm/internal/OutcomeMarker.js +18 -0
  557. package/dist/esm/internal/OutcomeMarker.js.map +1 -0
  558. package/docs/README.md +152 -0
  559. package/docs/api.md +440 -0
  560. package/docs/concepts/bodies-and-plans.md +167 -0
  561. package/docs/concepts/execution-identity.md +142 -0
  562. package/docs/concepts/flows-and-actions.md +129 -0
  563. package/docs/concepts/suspension-and-replay.md +130 -0
  564. package/docs/concepts/the-runtime-port.md +110 -0
  565. package/docs/concepts/trampoline-rounds.md +151 -0
  566. package/docs/guides/ask-a-person.md +184 -0
  567. package/docs/guides/build-a-body.md +164 -0
  568. package/docs/guides/cancel-and-roll-back.md +112 -0
  569. package/docs/guides/implement-an-action.md +155 -0
  570. package/docs/guides/inspect-the-plan.md +235 -0
  571. package/docs/guides/poll-until-ready.md +169 -0
  572. package/docs/guides/queue-work-to-a-worker.md +122 -0
  573. package/docs/guides/retry-a-failing-action.md +243 -0
  574. package/docs/guides/reuse-a-recorded-result.md +129 -0
  575. package/docs/guides/run-a-child-flow.md +108 -0
  576. package/docs/guides/run-an-external-job.md +86 -0
  577. package/docs/guides/use-a-prompt.md +38 -0
  578. package/docs/guides/wait-for-a-deadline.md +141 -0
  579. package/docs/guides/wait-for-an-external-signal.md +151 -0
  580. package/docs/installation.md +87 -0
  581. package/docs/quickstart.md +164 -0
  582. package/docs/reference/flow.md +1835 -0
  583. package/docs/testing.md +157 -0
  584. package/docs/troubleshooting.md +286 -0
  585. package/package.json +327 -3
  586. package/src/Action/Action.ts +333 -0
  587. package/src/Action/AttemptTimedOut.ts +37 -0
  588. package/src/Action/BoundaryMode.ts +33 -0
  589. package/src/Action/CacheEnvironment.ts +170 -0
  590. package/src/Action/ConcurrentKeylessDispatch.ts +38 -0
  591. package/src/Action/Context.ts +156 -0
  592. package/src/Action/DuplicateImplementation.ts +24 -0
  593. package/src/Action/FileBoundary.ts +77 -0
  594. package/src/Action/FileInput.ts +42 -0
  595. package/src/Action/Filegroup.ts +16 -0
  596. package/src/Action/Glob.ts +8 -0
  597. package/src/Action/ImplementationVersionMismatch.ts +27 -0
  598. package/src/Action/Implementations.ts +149 -0
  599. package/src/Action/InfraInterrupt.ts +30 -0
  600. package/src/Action/InfraInterruptRetriesExhausted.ts +37 -0
  601. package/src/Action/IrreversibleRetryRequiresIdempotencyKey.ts +32 -0
  602. package/src/Action/StepIdentity.ts +219 -0
  603. package/src/Action/TreeArtifact.ts +8 -0
  604. package/src/Action/TypeId.ts +9 -0
  605. package/src/Action/UncanonicalIdempotencyKey.ts +36 -0
  606. package/src/Action/idempotencyKey.ts +67 -0
  607. package/src/Action/index.ts +31 -0
  608. package/src/Action/make.ts +671 -0
  609. package/src/Action/raceAll.ts +48 -0
  610. package/src/Action/retry.ts +92 -0
  611. package/src/Deadline.ts +201 -0
  612. package/src/DurableClock.ts +176 -0
  613. package/src/DurableDeferred.ts +753 -0
  614. package/src/DurableQueue.ts +519 -0
  615. package/src/ExternalJob.ts +437 -0
  616. package/src/Fault.ts +279 -0
  617. package/src/Flow/Annotations.ts +151 -0
  618. package/src/Flow/CapabilityCeiling.ts +37 -0
  619. package/src/Flow/DeadlineExceeded.ts +40 -0
  620. package/src/Flow/ExecutionIdRequired.ts +36 -0
  621. package/src/Flow/ExecutionIds.ts +133 -0
  622. package/src/Flow/Flow.ts +576 -0
  623. package/src/Flow/MaxRoundsExceeded.ts +39 -0
  624. package/src/Flow/Outcome.ts +179 -0
  625. package/src/Flow/Result.ts +284 -0
  626. package/src/Flow/Runtime.ts +339 -0
  627. package/src/Flow/TypeId.ts +9 -0
  628. package/src/Flow/index.ts +19 -0
  629. package/src/Flow/internal.ts +237 -0
  630. package/src/Flow/make.ts +299 -0
  631. package/src/FlowRuntime/CancelRequestFailed.ts +56 -0
  632. package/src/FlowRuntime/ExecutionIdentityConflict.ts +32 -0
  633. package/src/FlowRuntime/FlowCycleDetected.ts +41 -0
  634. package/src/FlowRuntime/FlowExecutionNotFound.ts +46 -0
  635. package/src/FlowRuntime/FlowInstance.ts +128 -0
  636. package/src/FlowRuntime/FlowRuntime.ts +339 -0
  637. package/src/FlowRuntime/NodeRecord.ts +185 -0
  638. package/src/FlowRuntime/WaitingAnnotation.ts +85 -0
  639. package/src/FlowRuntime/index.ts +17 -0
  640. package/src/Graph.ts +1865 -0
  641. package/src/HumanTask.ts +1021 -0
  642. package/src/Interpreter.ts +1635 -0
  643. package/src/Poll.ts +420 -0
  644. package/src/RetryPolicy.ts +550 -0
  645. package/src/Sleep.ts +296 -0
  646. package/src/Stall.ts +217 -0
  647. package/src/WaitFor.ts +228 -0
  648. package/src/index.ts +125 -0
  649. package/src/internal/BoundedJson.ts +109 -0
  650. package/src/internal/DeclarationSite.ts +214 -0
  651. package/src/internal/Declarations.ts +49 -0
  652. package/src/internal/ExecutionMiddleware.ts +29 -0
  653. package/src/internal/JsonSchemaSubset.ts +392 -0
  654. package/src/internal/OutcomeMarker.ts +19 -0
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Defines the defect an action attempt settles with when it outlives its
3
+ * declared `attemptTimeoutMs` or misses its `heartbeatTimeoutMs`.
4
+ *
5
+ * @since 1.0.0
6
+ */
7
+
8
+ import * as Effect from "effect/Effect"
9
+ import * as Schema from "effect/Schema"
10
+
11
+ /**
12
+ * One attempt of an action ran past a declared time bound and was
13
+ * interrupted.
14
+ *
15
+ * It is a defect rather than a typed failure because the bound belongs to the
16
+ * dispatch, not to the action's declared error channel. The engine's retry
17
+ * decision point still counts it as a retryable attempt failure under the
18
+ * action's `retryPolicy`, and a policy can refuse it by listing this tag in
19
+ * `nonRetryable`.
20
+ *
21
+ * @category errors
22
+ * @since 1.0.0
23
+ */
24
+ export class AttemptTimedOut extends Schema.TaggedError<AttemptTimedOut>()(
25
+ "@smthrs/flow/AttemptTimedOut",
26
+ {
27
+ code: Schema.Literal("attempt_timed_out").pipe(
28
+ Schema.withConstructorDefault(Effect.succeed("attempt_timed_out"))
29
+ ),
30
+ actionName: Schema.String,
31
+ attempt: Schema.Number,
32
+ /** Which bound expired: the whole attempt, or the gap between heartbeats. */
33
+ bound: Schema.Literals(["attempt", "heartbeat"]),
34
+ timeoutMs: Schema.Number,
35
+ message: Schema.String
36
+ }
37
+ ) {}
@@ -0,0 +1,33 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * Defines filesystem boundary enforcement modes.
5
+ *
6
+ * The schema itself is `@smthrs/plan`'s `FileSet.BoundaryMode`, because the
7
+ * same two words are what a plan node's `effects.boundaryMode` carries. This
8
+ * module is the name an action reaches for; there is one declaration behind
9
+ * both.
10
+ *
11
+ * @since 0.1.0
12
+ */
13
+
14
+ import * as FileSet from "@smthrs/plan/FileSet"
15
+
16
+ /**
17
+ * Schema for how strictly an action's filesystem boundary is enforced.
18
+ *
19
+ * `hard` rejects undeclared access. `expected` records access for validation
20
+ * after execution without requiring the sandbox to reject it immediately.
21
+ *
22
+ * @category models
23
+ * @since 0.1.0
24
+ */
25
+ export const BoundaryMode = FileSet.BoundaryMode
26
+
27
+ /**
28
+ * How strictly an action's filesystem boundary is enforced.
29
+ *
30
+ * @category models
31
+ * @since 0.1.0
32
+ */
33
+ export type BoundaryMode = FileSet.BoundaryMode
@@ -0,0 +1,170 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * The environment description folded into every cross-run cache key.
5
+ *
6
+ * A cached result is only reusable on a host that would have produced the same
7
+ * bytes, so the key has to name the environment as well as the inputs — the
8
+ * platform, the toolchain, and the capability groups in force. Bazel's action
9
+ * key does the same thing for the same reason.
10
+ *
11
+ * It is a *complete* value on purpose: an environment a composition cannot
12
+ * fully describe is one whose cache hits cannot be justified, and the engine
13
+ * executes rather than guessing at the missing part.
14
+ *
15
+ * @since 0.1.0
16
+ */
17
+
18
+ import * as PlanCachePolicy from "@smthrs/plan/CachePolicy"
19
+ import * as Schema from "effect/Schema"
20
+
21
+ /**
22
+ * Validates named capability groups.
23
+ *
24
+ * @private
25
+ * @since 0.1.0
26
+ */
27
+ const Capabilities = Schema.Record(Schema.String, Schema.Array(Schema.NonEmptyString)).check(
28
+ Schema.makeFilter((capabilities) =>
29
+ Object.keys(capabilities).every((name) => name.length > 0) || "Capability names must not be empty"
30
+ )
31
+ )
32
+
33
+ /**
34
+ * Complete runtime environment included in every cross-run cache key.
35
+ *
36
+ * If a composition cannot provide this complete value, the engine executes
37
+ * normally but does not derive a cross-run cache key.
38
+ *
39
+ * @category models
40
+ * @since 0.1.0
41
+ */
42
+ export type CacheEnvironment = typeof CacheEnvironment.Type
43
+
44
+ /**
45
+ * Schema for the complete runtime environment included in cache keys.
46
+ *
47
+ * @category models
48
+ * @since 0.1.0
49
+ */
50
+ export const CacheEnvironment = Schema.Struct({
51
+ /** Ordered semantic runtime layers, including versions and configuration. */
52
+ layers: Schema.Array(Schema.NonEmptyString),
53
+ /** Complete effective capability groups. */
54
+ capabilities: Capabilities
55
+ })
56
+
57
+ /**
58
+ * How far a recorded sealed result may travel.
59
+ *
60
+ * `shared` is the content-addressed default: the key names the inputs and the
61
+ * environment, so any run on any host that would have produced the same bytes
62
+ * may reuse the row. `run` and `flow` narrow that on purpose — a step whose
63
+ * result is only meaningful inside one execution, or inside one flow, folds
64
+ * that identity into its key so a sibling never reads it.
65
+ *
66
+ * This is `@smthrs/plan`'s `CachePolicy.CacheScope`, the one scope vocabulary
67
+ * `@smthrs/patterns` also declares its policy with.
68
+ *
69
+ * @category models
70
+ * @since 0.1.0
71
+ */
72
+ export const CacheScope = PlanCachePolicy.CacheScope
73
+
74
+ /**
75
+ * How far a recorded sealed result may travel.
76
+ *
77
+ * @category models
78
+ * @since 0.1.0
79
+ */
80
+ export type CacheScope = PlanCachePolicy.CacheScope
81
+
82
+ /**
83
+ * The caller's declaration about the decay and the reach of a sealed action's
84
+ * recorded result.
85
+ *
86
+ * `ttlMs` bounds the age of a row the engine may serve: past it the dispatch
87
+ * executes again and journals `cache-expired`, so the refusal is durable
88
+ * evidence a replay reads rather than a fresh clock reading. `scope` decides
89
+ * what the key names besides the inputs.
90
+ *
91
+ * This is `@smthrs/plan`'s `CachePolicy.CachePolicy`, the one policy schema.
92
+ *
93
+ * @category schemas
94
+ * @since 0.1.0
95
+ */
96
+ export const CachePolicy = PlanCachePolicy.CachePolicy
97
+
98
+ /**
99
+ * The caller's declaration about the decay and the reach of a sealed action's
100
+ * recorded result.
101
+ *
102
+ * @category models
103
+ * @since 0.1.0
104
+ */
105
+ export type CachePolicy = PlanCachePolicy.CachePolicy
106
+
107
+ /**
108
+ * Annotation key carrying a declaration's {@link CachePolicy}.
109
+ *
110
+ * It is an annotation, not a field on the action, for the same reason
111
+ * placement and effects are: the policy is data that travels with the
112
+ * declaration and is read by whoever executes it, and adding it changes no
113
+ * existing call site.
114
+ *
115
+ * It is `@smthrs/plan`'s `CachePolicy.CachePolicyAnnotation` itself, the same
116
+ * object `@smthrs/patterns` annotates a flow with, identified by
117
+ * `"@smthrs/flow/Action/CachePolicy"`.
118
+ *
119
+ * @category annotations
120
+ * @since 0.1.0
121
+ */
122
+ export const CachePolicyAnnotation = PlanCachePolicy.CachePolicyAnnotation
123
+
124
+ /**
125
+ * Reads the cache policy an annotation bag carries, or `undefined` when it
126
+ * carries none.
127
+ *
128
+ * @category getters
129
+ * @since 0.1.0
130
+ */
131
+ export const cachePolicyOf = PlanCachePolicy.cachePolicyOf
132
+
133
+ /**
134
+ * Declares a cache policy on an action.
135
+ *
136
+ * This is the form the engine honors today: `@smthrs/engine-store` reads
137
+ * {@link CachePolicyAnnotation} off the dispatched action, bounds the age of
138
+ * the row it may serve by `ttlMs`, and narrows the address that row is stored
139
+ * under from `scope`. `@smthrs/patterns`' `WithCache` declares the same policy
140
+ * over a `@smthrs/core` flow under the same annotation key, for the
141
+ * declaration surface, so a policy written by either is read by the engine.
142
+ *
143
+ * The action is not mutated. `annotate` returns a new declaration carrying the
144
+ * policy, which is what a plan captures.
145
+ *
146
+ * It is `@smthrs/plan`'s `CachePolicy.annotate` under this package's name for
147
+ * it.
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * import { Action } from "@smthrs/flow"
152
+ * import * as CacheEnvironment from "@smthrs/flow/CacheEnvironment"
153
+ * import * as Effect from "effect/Effect"
154
+ * import * as Schema from "effect/Schema"
155
+ *
156
+ * const compile = CacheEnvironment.withCache(
157
+ * Action.make({
158
+ * name: "build/compile",
159
+ * success: Schema.String,
160
+ * tier: "sealed",
161
+ * execute: Effect.succeed("dist/server.js")
162
+ * }),
163
+ * { ttlMs: 60_000, scope: "shared" }
164
+ * )
165
+ * ```
166
+ *
167
+ * @category combinators
168
+ * @since 0.1.0
169
+ */
170
+ export const withCache = PlanCachePolicy.annotate
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Defines the `ConcurrentKeylessDispatch` action failure.
3
+ *
4
+ * The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC
5
+ * makes no compatibility promise to 0.x journals, and the tag freezes when
6
+ * the RC ships.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+
11
+ import * as Effect from "effect/Effect"
12
+ import * as Schema from "effect/Schema"
13
+
14
+ /**
15
+ * Two ordinal-keyed invocations of one allocation scope were in flight
16
+ * concurrently, either keyless invocations of one declaration or same-key
17
+ * invocations at a non-sealed tier (issue #130), so their ordinals, and with
18
+ * them their step keys, attempt rows, and recorded outcomes, would be
19
+ * assigned by fiber arrival order. A crash-resume that replays the fibers in
20
+ * the opposite order would silently hand one invocation the other's recorded
21
+ * outcome (issue #111); Temporal fails such replays with a nondeterminism
22
+ * error, and the engine refuses the hazard up front instead of detecting it
23
+ * after the corruption. Declare an `idempotencyKey` *distinguishing* the
24
+ * invocations to dispatch them concurrently; a sealed action with a key
25
+ * takes a pure cache key and is exempt.
26
+ *
27
+ * @category errors
28
+ * @since 0.1.0
29
+ */
30
+ export class ConcurrentKeylessDispatch extends Schema.TaggedError<ConcurrentKeylessDispatch>()(
31
+ "@smthrs/flow/ConcurrentKeylessDispatch",
32
+ {
33
+ code: Schema.Literal("concurrent_keyless_dispatch").pipe(
34
+ Schema.withConstructorDefault(Effect.succeed("concurrent_keyless_dispatch"))
35
+ ),
36
+ actionName: Schema.String
37
+ }
38
+ ) {}
@@ -0,0 +1,156 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * Defines runtime context carried across action attempts.
5
+ *
6
+ * @since 0.1.0
7
+ */
8
+
9
+ import * as Context from "effect/Context"
10
+ import * as Effect from "effect/Effect"
11
+ import * as Layer from "effect/Layer"
12
+ import type { CacheEnvironment } from "./CacheEnvironment.ts"
13
+
14
+ /**
15
+ * Context reference carrying the complete environment folded into reusable
16
+ * action keys.
17
+ *
18
+ * A composition either provides a complete {@link CacheEnvironment} or leaves
19
+ * it absent. When absent, the engine scopes action keys to the current run
20
+ * instead of presenting incomplete environment data as reusable identity.
21
+ *
22
+ * @category idempotency
23
+ * @since 0.1.0
24
+ */
25
+ export const CurrentCacheEnvironment = Context.Reference<CacheEnvironment | undefined>(
26
+ "@smthrs/flow/Action/CurrentCacheEnvironment",
27
+ { defaultValue: () => undefined }
28
+ )
29
+
30
+ /**
31
+ * Declares the complete cache environment of a composition as a layer.
32
+ *
33
+ * **When to use**
34
+ *
35
+ * Use this only when the composition can identify every semantic runtime
36
+ * layer and its complete capability set. Otherwise leave the context absent.
37
+ *
38
+ * @category idempotency
39
+ * @since 0.1.0
40
+ */
41
+ export const layerCacheEnvironment = (
42
+ environment: CacheEnvironment
43
+ ): Layer.Layer<never> => Layer.succeed(CurrentCacheEnvironment)(environment)
44
+
45
+ /**
46
+ * The ordinal slots a retry sequence shares across its attempts, keyed by
47
+ * allocation scope.
48
+ *
49
+ * `Action.retry` cannot allocate ordinals itself — allocation is scoped by
50
+ * action identity and only the engine knows which action is being
51
+ * dispatched (issue #73) — so it provides an empty map the engine fills per
52
+ * scope on the first attempt and reads back on every later one. The map is
53
+ * scope-keyed rather than a single value because one retry block may
54
+ * dispatch several distinct actions; a shared unkeyed slot handed the
55
+ * first action's ordinal to every later one, silently skipping their own
56
+ * name-scoped counters and aliasing a later independent dispatch onto an
57
+ * in-block key (issue #84).
58
+ *
59
+ * Each scope pins a *sequence* of ordinals rather than a single value
60
+ * (issue #100): one retry block may dispatch the same declaration several
61
+ * times, and a single-valued slot handed the first dispatch's ordinal to
62
+ * every later one, so the second dispatch silently replayed the first's
63
+ * recorded outcome. `cursors` counts the dispatches of each scope within the
64
+ * current attempt — `Action.retry` resets it at every attempt boundary —
65
+ * so the n-th same-scope dispatch of every attempt reuses the n-th pinned
66
+ * ordinal.
67
+ *
68
+ * @category attempts
69
+ * @since 0.1.0
70
+ */
71
+ export interface OrdinalSlot {
72
+ readonly values: Map<string, Array<number>>
73
+ readonly cursors: Map<string, number>
74
+ }
75
+
76
+ /**
77
+ * Context reference carrying the ordinal slot of the enclosing
78
+ * `Action.retry` sequence, when present.
79
+ *
80
+ * @category attempts
81
+ * @since 0.1.0
82
+ */
83
+ export const CurrentOrdinal = Context.Reference<OrdinalSlot | undefined>(
84
+ "@smthrs/flow/Action/CurrentOrdinal",
85
+ { defaultValue: () => undefined }
86
+ )
87
+
88
+ /**
89
+ * Context reference containing the current action retry attempt, defaulting
90
+ * to `1`.
91
+ *
92
+ * @category attempts
93
+ * @since 0.1.0
94
+ */
95
+ export const CurrentAttempt = Context.Reference<number>(
96
+ "@smthrs/flow/Action/CurrentAttempt",
97
+ { defaultValue: () => 1 }
98
+ )
99
+
100
+ /**
101
+ * Context reference carrying the persisted key of the dispatch an
102
+ * implementation is currently running under, when the runtime supplies one.
103
+ *
104
+ * **When to use**
105
+ *
106
+ * Use it in an action implementation that has to name durable state of its
107
+ * own — `Sleep` names a `DurableClock` — so the name it derives belongs to
108
+ * THIS dispatch. The key is the identity the engine already allocated for the
109
+ * dispatch: its attempt rows, its recorded outcome, and its cache row are
110
+ * addressed by it, so it is stable across every replay of one node and
111
+ * distinct between two identical calls of the same declaration. Deriving from
112
+ * it is therefore the only way an implementation gets both properties without
113
+ * allocating a second identity beside the engine's.
114
+ *
115
+ * **Gotchas**
116
+ *
117
+ * A runtime that has not adopted the seam leaves the reference absent rather
118
+ * than substituting a placeholder, because a placeholder would silently alias
119
+ * every dispatch of one declaration onto one name. An implementation that
120
+ * needs durable identity refuses instead.
121
+ *
122
+ * @category idempotency
123
+ * @since 0.1.0
124
+ */
125
+ export const CurrentInvocationKey = Context.Reference<string | undefined>(
126
+ "@smthrs/flow/Action/CurrentInvocationKey",
127
+ { defaultValue: () => undefined }
128
+ )
129
+
130
+ /**
131
+ * Context reference carrying the heartbeat of the attempt currently running,
132
+ * which the runtime installs for an action declared with
133
+ * `heartbeatTimeoutMs`. Outside such an attempt it does nothing.
134
+ *
135
+ * @category attempts
136
+ * @since 1.0.0
137
+ */
138
+ export const CurrentHeartbeat = Context.Reference<Effect.Effect<void>>(
139
+ "@smthrs/flow/Action/CurrentHeartbeat",
140
+ { defaultValue: () => Effect.void }
141
+ )
142
+
143
+ /**
144
+ * Reports that the running action attempt is still making progress.
145
+ *
146
+ * An action declared with `heartbeatTimeoutMs` fails its attempt with
147
+ * `AttemptTimedOut` when that long passes without a heartbeat; each call
148
+ * restarts the gap. In any other action it is a no-op.
149
+ *
150
+ * @category attempts
151
+ * @since 1.0.0
152
+ */
153
+ export const heartbeat: Effect.Effect<void> = Effect.gen(function*() {
154
+ const beat = yield* CurrentHeartbeat
155
+ yield* beat
156
+ })
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Defines the `DuplicateImplementation` action failure.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+
7
+ import * as Schema from "effect/Schema"
8
+
9
+ /**
10
+ * Two implementations competed for one action tag without an explicit override.
11
+ * @category errors
12
+ * @since 0.1.0
13
+ */
14
+ export class DuplicateImplementation extends Schema.TaggedError<DuplicateImplementation>()(
15
+ "@smthrs/flow/Action/DuplicateImplementation",
16
+ { name: Schema.String }
17
+ ) {
18
+ // The `name` field shadows `Error.name`, so without a message a recorded
19
+ // defect reads only as the bare action tag.
20
+ /** @since 1.0.0 */
21
+ override get message(): string {
22
+ return `Action "${this.name}" already has an implementation in this registry; provide its layer once, or pass override: true to replace it`
23
+ }
24
+ }
@@ -0,0 +1,77 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * An action's declaration of which files it reads and which it may write.
5
+ *
6
+ * The declaration is what makes a step hermetic enough to cache: the read set
7
+ * is the dependency edge set folded into the step key, and the write set is
8
+ * what the host measures the execution against afterwards. `boundaryMode`
9
+ * decides what happens when the two disagree — a hard boundary refuses the
10
+ * result, an expected one records the deviation and carries on.
11
+ *
12
+ * @since 0.1.0
13
+ */
14
+
15
+ import * as FileSet from "@smthrs/plan/FileSet"
16
+ import * as Schema from "effect/Schema"
17
+ import { BoundaryMode } from "./BoundaryMode.ts"
18
+ import { FileInput } from "./FileInput.ts"
19
+
20
+ /**
21
+ * Schema for the filesystem boundary of an action.
22
+ *
23
+ * @category models
24
+ * @since 0.1.0
25
+ */
26
+ export const FileBoundary = Schema.Struct({
27
+ /**
28
+ * Exact files already measured, or globs to expand while preparing.
29
+ *
30
+ * Workspace-relative in both forms: a measured {@link FileInput} path is
31
+ * checked like every pattern, because the engine measures reads inside the
32
+ * workspace sandbox and would refuse an absolute or upward path only at
33
+ * prepare time.
34
+ */
35
+ readSet: Schema.Array(Schema.Union([FileInput, FileSet.Glob])),
36
+ /** Files or patterns the action is allowed to write. */
37
+ writeSet: Schema.Array(FileSet.Entry),
38
+ /**
39
+ * Files the action is allowed to DELETE.
40
+ *
41
+ * A declared write that is absent when the action finishes is a defect —
42
+ * Bazel's `SkyframeActionExecutor.checkOutputs` reports "output was not
43
+ * created" and fails the action — because recording the absence as valid
44
+ * evidence caches the claim "this file should not exist", which a later
45
+ * replay then acts on by deleting the path. Deletion stays a feature here,
46
+ * but only when it was declared, and a declared removal is what makes an
47
+ * absent path legitimate rather than a crash mid-execution.
48
+ *
49
+ * Optional with an empty default, so boundaries persisted before it keep
50
+ * decoding. Disjoint from {@link writeSet}: a path cannot be both promised
51
+ * and disclaimed. Workspace-relative like every other declared path —
52
+ * replay acts on a removal by deleting it, so an absolute or upward
53
+ * spelling would hand evidence an eraser aimed outside the workspace.
54
+ */
55
+ removes: Schema.optional(Schema.Array(FileSet.Pattern)),
56
+ /** Whether undeclared access is rejected immediately or validated later. */
57
+ boundaryMode: BoundaryMode
58
+ }).check(
59
+ Schema.makeFilter(
60
+ (boundary) => {
61
+ const both = (boundary.removes ?? []).filter((path) =>
62
+ boundary.writeSet.some((entry) => FileSet.overlaps(entry, path))
63
+ )
64
+ return both.length === 0 ||
65
+ `a path cannot be both written and removed: ${both.join(", ")}`
66
+ },
67
+ { title: "disjointWritesAndRemoves" }
68
+ )
69
+ )
70
+
71
+ /**
72
+ * The filesystem boundary of an action.
73
+ *
74
+ * @category models
75
+ * @since 0.1.0
76
+ */
77
+ export type FileBoundary = typeof FileBoundary.Type
@@ -0,0 +1,42 @@
1
+ // Deep reviewed and polished by a human on 2026-08-10.
2
+
3
+ /**
4
+ * A file path paired with the digest measured for its contents.
5
+ *
6
+ * Paths alone cannot key a step — the same path holds different bytes on
7
+ * different days — so every declared read carries the digest observed for it,
8
+ * and a later run compares digests rather than mtimes.
9
+ *
10
+ * @since 0.1.0
11
+ */
12
+
13
+ import * as FileSet from "@smthrs/plan/FileSet"
14
+ import * as Schema from "effect/Schema"
15
+
16
+ /**
17
+ * Schema for an input file path paired with its measured content digest.
18
+ *
19
+ * The path is workspace-relative like every other declared path in a
20
+ * {@link FileBoundary}: the engine measures reads through the workspace
21
+ * sandbox, which refuses absolute and upward spellings, so a boundary that
22
+ * admitted them here would only be refused later, at prepare or replay.
23
+ * Checking here keeps the boundary this package admits the boundary the
24
+ * engine accepts.
25
+ *
26
+ * @category models
27
+ * @since 0.1.0
28
+ */
29
+ export const FileInput = Schema.Struct({
30
+ /** Workspace-relative path of the input file. */
31
+ path: FileSet.Pattern,
32
+ /** Non-empty digest observed for the file contents. */
33
+ digest: Schema.NonEmptyString
34
+ })
35
+
36
+ /**
37
+ * An input file path paired with its measured content digest.
38
+ *
39
+ * @category models
40
+ * @since 0.1.0
41
+ */
42
+ export type FileInput = typeof FileInput.Type
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Named reusable filesystem declaration groups.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+
7
+ import { Filegroup, makeFilegroup } from "@smthrs/plan/FileSet"
8
+ export { Filegroup }
9
+ export type { Filegroup as Type } from "@smthrs/plan/FileSet"
10
+ /**
11
+ * Creates a named filegroup.
12
+ *
13
+ * @category constructors
14
+ * @since 0.1.0
15
+ */
16
+ export const make = makeFilegroup
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bazel-style workspace-relative file glob declarations.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+
7
+ export { Glob, matchesGlob, matchesPattern, Pattern } from "@smthrs/plan/FileSet"
8
+ export type { Glob as Type } from "@smthrs/plan/FileSet"
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Defines the `ImplementationVersionMismatch` action failure.
3
+ *
4
+ * The `_tag` string was settled under `@smthrs/flow/` for 1.0.0-rc.0. The RC
5
+ * makes no compatibility promise to 0.x journals, and the tag freezes when
6
+ * the RC ships.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+
11
+ import * as Schema from "effect/Schema"
12
+
13
+ /**
14
+ * A handler registration does not attest the declaration's implementation version.
15
+ *
16
+ * @category errors
17
+ * @since 0.1.0
18
+ */
19
+ export class ImplementationVersionMismatch extends Schema.TaggedError<ImplementationVersionMismatch>()(
20
+ "@smthrs/flow/ImplementationVersionMismatch",
21
+ {
22
+ actionName: Schema.String,
23
+ declaredVersion: Schema.NullOr(Schema.String),
24
+ registeredVersion: Schema.NullOr(Schema.String),
25
+ message: Schema.String
26
+ }
27
+ ) {}