@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
package/CHANGELOG.md ADDED
@@ -0,0 +1,161 @@
1
+ # @smthrs/flow
2
+
3
+ ## Unreleased
4
+
5
+ ### Added
6
+
7
+ - Canonical `Flow.make(tag, options)` accepts typed prompt declarations lowered
8
+ to ordinary actions with explicit host implementations (#2271). Empty tags
9
+ and declarations without exactly one callable body or prompt are refused.
10
+
11
+ ### Fixed
12
+
13
+ - A call's step key no longer moves with the installed `effect` release: the graph takes each callee's schema identity from `@smthrs/plan`'s `Node.schemaIdentity`, which prints what `effect@4.0.0-rc.115` printed. ([#3839](https://github.com/smithersai/smithers/issues/3839)).
14
+ - Preserve dynamic flow expansion and declaration source mappings when a bundled host loads project flows. ([#1991](https://github.com/smithersai/smithers/issues/1991)).
15
+
16
+ ## [Unreleased]
17
+
18
+ ### Changed
19
+
20
+ - The package reference page now lives at `docs/reference/flow.md`, written by
21
+ the `referenceDocs` target. The `docs/pages/api/flow.md` page,
22
+ `scripts/docs.mjs` and the `docsPages` target described under 0.1.0 no
23
+ longer exist. (`flows-flow/maintainability/7`)
24
+
25
+ ### Removed
26
+
27
+ - `FlowInstance.awaitedDeferreds`. No runtime read the set, and
28
+ `DurableDeferred.await` no longer writes it. A completion wakes a parked run
29
+ through `FlowRuntime.resume`, unchanged. (`flows-flow/simplicity/1`)
30
+
31
+ ### Fixed
32
+
33
+ - Nested explicit `Node.andThen` continuations now carry only their nearest
34
+ success barrier, preserving transitive ordering while making continuation
35
+ edges and `Pending` inputs linear for right-nested chains. This is a
36
+ pre-freeze key-affecting change: affected compiled keys/digests change and
37
+ require a newly approved plan; existing executions are not rewritten.
38
+ Structural `.andThen`/`.then` node IDs retain their spelling and durable
39
+ dispatch identity. Their depth growth and quadratic total ID bytes are now
40
+ documented, with bounded trampoline rounds or `.child()` boundaries for long
41
+ chains. (`flows-flow/performance/1`, `flows-flow/performance/5`)
42
+
43
+ - Explicit `Node.andThen` now gates its entire next subtree on upstream
44
+ success. Nested combinations, maps, inline flows, branches, catches and
45
+ sequences no longer start actions before the first node finishes or after
46
+ it fails. Graph drafts propagate that prerequisite to every descendant.
47
+ Affected compiled keys/digests change and require a newly approved plan;
48
+ old executions are not silently rewritten. `bindPlanned` retains its data-
49
+ dependency semantics and can expose independent work concurrently. This
50
+ does not close compiled/public scheduler parity or unfinished-run migration.
51
+
52
+ ## [1.0.0-rc.0] - 2026-08-31
53
+
54
+ ### Breaking Changes
55
+
56
+ - `Flow.make` now requires `body`. A flow with nothing to plan is a category
57
+ error under `docs/specs/Concepts/Unified Flow Authoring.md`: that work is an
58
+ `Action`. Every declaration therefore carries a body, and `Flow.Any.body`
59
+ is no longer optional.
60
+ - Removed `toLayer` from the flow surface. Actions carry implementations,
61
+ attached separately with `Action.toLayer`; flows carry bodies, driven by
62
+ `Interpreter.layer`. Registering a behavior under a flow tag is the runtime's
63
+ own seam and is now internal to this package.
64
+ - Removed `Flow.Bodied`, which existed only to describe a flow that had a body.
65
+ `Flow.Flow` is that type now.
66
+ - Removed `Flow.BodyDefinesBehavior`, the defect a bodied flow raised when a
67
+ second, opaque behavior was attached to it. There is nothing to attach.
68
+ - Removed the `missing_body` code from `Interpreter.InterpreterError`.
69
+ `Interpreter.layer` takes a flow that has a body by construction.
70
+ - `CancelRequestFailed` now carries the `_tag`
71
+ `@smthrs/flow/CancelRequestFailed`. It was the one error in the package still
72
+ reading `flows/engine/CancelRequestFailed`, a name that was never even the
73
+ old package's. A `_tag` is wire format and freezes at the RC.
74
+ - The runtime type identifiers moved out of effect's brand namespace. Every
75
+ `~effect/flow/...` marker now reads `@smthrs/flow/...`, including the
76
+ exported `DurableDeferred.TokenTypeId` and `DurableQueue.TypeId`.
77
+ - Execution ids derived from a declared `idempotencyKey`, and from the default
78
+ ambient source, now hash a framed `JSON.stringify([flowTag, key])` tuple
79
+ instead of an unframed `` `${tag}-${key}` `` string, so a tag and a key that
80
+ spliced onto one preimage no longer address one durable invocation. Ids
81
+ derived before this change do not match ids derived after it.
82
+
83
+ ### Added
84
+
85
+ - Added `@smthrs/flow`, the flow authoring model split out of
86
+ `@smthrs/engine`: `Flow`, `Action`, `RetryPolicy`, `DurableDeferred`,
87
+ `DurableClock`, `DurableQueue`, `StepIdentity`, and their schemas, errors,
88
+ results, boundaries, and combinators.
89
+ - Added `FlowRuntime`, the execution contract those APIs are written against.
90
+ It replaces the direct dependency the authoring modules had on the engine's
91
+ `FlowEngine` module, so the dependency now runs `@smthrs/flow` then
92
+ `@smthrs/engine`. The service formerly exported as `FlowEngine.FlowEngine` is
93
+ `FlowRuntime.FlowRuntime`, `FlowEngine.FlowInstance` is
94
+ `FlowRuntime.FlowInstance`, and `FlowEngine.annotateWaiting` and
95
+ `FlowEngine.FlowCycleDetected` moved with them.
96
+ - `Graph.build` copies an authored `Node.priority` onto `NodeDraft.priority`,
97
+ so `PlanScheduler` orders ready work by it. A node inherits the priority of
98
+ the nearest enclosing node that declares one, and a node that declares its
99
+ own keeps it. Priority stays out of key material.
100
+ - Added `Action.InfraInterruptRetriesExhausted`, the typed identity an
101
+ exhausted `interruptRetryPolicy` now dies with. It carries the action name,
102
+ the attempts made, and the final `InfraInterrupt` including its `reason`,
103
+ which the previous bare-string defect discarded.
104
+ - Added the `invalid_deadline` code to `Sleep.SleepRequestInvalid`.
105
+ - Added the `duplicate_node_id` code to `Interpreter.InterpreterError`, and a
106
+ matching build diagnostic, so two nodes that would answer to one dispatch
107
+ address are refused instead of resolving last-write-wins.
108
+ - Added the `deferred_mismatch` code to `DurableDeferred.TokenInvalid`.
109
+ - Added the stable `poll_exhausted` code to `Poll.PollExhausted`, and a
110
+ constructor default for the `code` of `FlowRuntime.FlowCycleDetected` and
111
+ `FlowRuntime.FlowExecutionNotFound`.
112
+ - Added documented size bounds to `HumanTask`: `maxAttemptBudget`,
113
+ `maxSchemaDepth`, `maxSchemaNodes`, `maxAnswerNodes`, `maxDiagnosticChars`,
114
+ and `maxRetainedRejectionChars`.
115
+ - Added package-owned documentation. `docs/api.md` plus the JSDoc on every
116
+ exported declaration generate `docs/pages/api/flow.md` through
117
+ `scripts/docs.mjs`, declared as the `docsPages` target, so the published page
118
+ cannot drift from the source it describes.
119
+
120
+ ### Fixed
121
+
122
+ - `RetryPolicy.make` validates its bounds and throws a `RangeError` naming the
123
+ offending field, and copies and freezes `nonRetryable`. `nextDelay` is total
124
+ for a policy that never went through `make`: a jitter ratio out of range no
125
+ longer returns a negative delay, and a non-finite bound, attempt, elapsed
126
+ time, or computed delay answers `None` instead of handing the engine a `NaN`
127
+ duration to sleep for.
128
+ - `Sleep.action` refuses a `millis` or `until` that is not a length of time.
129
+ `Infinity` armed a timer nobody wakes, and `NaN` did not wait at all while
130
+ leaving a waiting annotation whose `wakeAt` serialized to null.
131
+ - `HumanTask` compares `enum` membership structurally, so an object-valued or
132
+ array-valued member can be answered. It previously compared with `===`, which
133
+ refused every answer and ended the task `rejected`.
134
+ - `HumanTask` refuses a `schema` supplied with a kind other than `json`, and
135
+ refuses a malformed `required` or `nullable`, instead of silently dropping
136
+ the constraint.
137
+ - `DurableDeferred.into` propagates `interrupted` to the parent instance beside
138
+ `suspended`, so a recorded interruption awaited through `raceAll` settles as
139
+ a durable outcome instead of being misread as an external suspension.
140
+ - `DurableDeferred.done` refuses a token that names a different deferred than
141
+ the one it was submitted through, so an exit cannot be written into one
142
+ deferred's row under another's schemas.
143
+ - `DurableDeferred.TokenInvalid` carries the parse failure and a bounded
144
+ excerpt of the offending token instead of one fixed sentence.
145
+ - `DurableQueue.makeWorker` validates `concurrency`, reports a malformed item
146
+ token at error level instead of dropping the item behind one warning, and
147
+ backs off instead of spinning when `take` fails repeatedly. Both log
148
+ annotations now name `@smthrs/flow` rather than `effect`.
149
+ - `Graph.placementConflicts` compares directives structurally instead of
150
+ through `JSON.stringify`, which erased a present `undefined`, mapped `NaN` to
151
+ `null`, and threw on a `BigInt`.
152
+ - `Flow.isResult` requires an own data property carrying the exact marker and a
153
+ known result tag, so a forged or getter-backed value no longer passes.
154
+ - `Interpreter.childExecutionId` finds the versioned key prefix instead of
155
+ slicing a hardcoded length.
156
+ - Corrected the module headers in `Action/Errors.ts` and `RetryPolicy.ts`,
157
+ which claimed the error tags keep an `@smthrs/engine/` prefix that no tag in
158
+ either file uses, and the `FlowInstance.awaitedDeferreds` JSDoc, which
159
+ asserted preemption behaviour no runtime in this repository implements.
160
+ - Normalized the inherited `@since 4.0.0` tags, which named effect's version
161
+ rather than any version of this package.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 William Cory and the Smithers Flows contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,213 @@
1
- # Temporary Holding Version
1
+ # @smthrs/flow
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Release candidate scope, host requirements and compatibility review are defined in the [library support policy](https://github.com/smithersai/smithers/blob/main/RELEASE_SUPPORT.md).
4
+
5
+ This package declares `effect` as an exact `4.0.5` peer dependency. Install one
6
+ `effect` release at that version so all Smithers packages share one Effect
7
+ runtime.
8
+
9
+ **Documentation:** https://github.com/smithersai/smithers/tree/main/packages/smithers/flows/flow/docs
10
+
11
+ `@smthrs/flow` is the authoring model for durable workflows in TypeScript. You
12
+ declare each step as an **action**: a stable name and the schemas on either side
13
+ of it, with no code. You compose those declarations into a **flow** whose body is
14
+ a pure function that builds a plan. The code that does the work attaches
15
+ separately, as an Effect layer.
16
+
17
+ A typed `prompt` can declare a single model-backed step with the same
18
+ `Flow.make(tag, options)` signature. It lowers to an ordinary action; the host
19
+ implements `flow.action` and renders `flow.prompt` at execution. See
20
+ [Prompt-backed flows](./docs/guides/use-a-prompt.md).
21
+
22
+ The package carries no engine. It declares the `FlowRuntime` port that an engine
23
+ implements, so the whole authoring surface bundles for a browser and a test can
24
+ swap the runtime for a fixture without touching a declaration.
25
+ [`@smthrs/engine`](https://github.com/smithersai/smithers/tree/main/packages/smithers/flows/engine/docs) implements that port;
26
+ [`@smthrs/engine-store`](https://github.com/smithersai/smithers/tree/main/packages/smithers/flows/engine-store/docs) makes it durable.
27
+
28
+ ## Why
29
+
30
+ A job that calls a model, spawns a build, uploads an artifact, or waits on a
31
+ person cannot afford to start over when the process dies. Recovering by hand
32
+ means writing your own checkpoint table, your own idempotency keys, and your own
33
+ "did this already run" branch around every call.
34
+
35
+ A flow builds its plan before anything runs. Reproducible keys require callbacks
36
+ whose source and complete semantic captures are stable. `Node.capture` declares
37
+ those captures; the canonical `Interpreter.layerWithImplementations` composition
38
+ refuses callbacks with process-local identity before dispatch. An engine records
39
+ each step as it settles, so a re-run
40
+ under the same execution id reads the recorded result rather than repeating the
41
+ work. The same property is what lets the engine retry a step, cache it, park a
42
+ run on a timer or a human answer for a week, and put one step on another machine,
43
+ none of which the flow's author arranges.
44
+
45
+ ## Install
46
+
47
+ ```bash
48
+ npm install @smthrs/flow@next effect
49
+ ```
50
+
51
+ Node.js 26.4.0 or later. `effect` is a peer at exactly `4.0.5`: two copies of
52
+ `effect` in one program are two sets of service tags.
53
+
54
+ Running a flow adds an engine and a platform crypto service.
55
+
56
+ ## Declare a flow and run it
57
+
58
+ This program declares one recorded step, attaches its implementation, and runs
59
+ the flow on the in-memory engine.
60
+
61
+ ```ts
62
+ import * as NodeCrypto from "@effect/platform-node/NodeCrypto"
63
+ import { FlowEngine } from "@smthrs/engine"
64
+ import { Action, Flow, Interpreter } from "@smthrs/flow"
65
+ import { Node } from "@smthrs/plan"
66
+ import * as Effect from "effect/Effect"
67
+ import * as Layer from "effect/Layer"
68
+ import * as Schema from "effect/Schema"
69
+
70
+ /** A step declaration is data: a stable tag and the schemas either side of it. */
71
+ const Summarize = Action.make("digest/Summarize", {
72
+ implementationVersion: "summarize/v1",
73
+ payload: { url: Schema.String },
74
+ success: Schema.String
75
+ })
76
+
77
+ /** A flow body records nodes. `Summarize.call` plans a step and runs nothing. */
78
+ const Digest = Flow.make("digest/Digest", {
79
+ payload: { url: Schema.String },
80
+ success: Schema.String,
81
+ body: Node.capture(
82
+ { action: Summarize.name, implementationVersion: "digest/v1" },
83
+ (payload) => Summarize.call(payload)
84
+ )
85
+ })
86
+
87
+ /** The code arrives separately, filed against the tag by `toLayer`. */
88
+ const layer = Interpreter.layerWithImplementations(
89
+ Digest,
90
+ Summarize.toLayer(
91
+ ({ url }) => Effect.succeed(`A summary of ${url}.`),
92
+ { implementationVersion: "summarize/v1" }
93
+ )
94
+ ).pipe(
95
+ Layer.provideMerge(FlowEngine.layerMemory),
96
+ Layer.provideMerge(NodeCrypto.layer)
97
+ )
98
+
99
+ const main = Digest.execute(
100
+ { url: "https://example.com/post" },
101
+ { executionId: "digest-example-post" }
102
+ ).pipe(Effect.orDie, Effect.provide(layer))
103
+
104
+ console.log(await Effect.runPromise(main))
105
+ ```
106
+
107
+ Run it and the implementation runs once. Run the same execution id again and it
108
+ does not: the engine finds the execution that already settled and answers with
109
+ its recorded result. Swap `FlowEngine.layerMemory` for the SQLite-backed engine
110
+ in `@smthrs/engine-store` and the same behavior survives a restart, with nothing
111
+ above the swap changing.
112
+
113
+ Forgetting an implementation is a compile error rather than a run that dies
114
+ partway through. `Summarize.call(payload)` puts a requirement in the node's type,
115
+ `Flow.make` reads the union of those off the node its body returns, and
116
+ `Summarize.toLayer(...)` is what discharges it.
117
+
118
+ ## Callback identity and persisted compatibility
119
+
120
+ Use `Node.capture` for flow bodies, `Node.map` callbacks, `Node.branch` predicates,
121
+ and `Node.bindPlanned` builders. Validate external configuration with its schema
122
+ first, then close over the exact record passed to `Node.capture`; it is deeply
123
+ frozen. Include every semantic value, including payload fields used by a nested
124
+ callback and an explicit version for imported implementation behavior. JavaScript
125
+ cannot inspect closures, so the library cannot prove that a capture declaration
126
+ is complete. Capturing `{}` is valid only when no semantic state outside the
127
+ callback source affects its behavior.
128
+
129
+ `Graph.build(flow, payload, { callbackIdentity: "stable" })` reports unstable
130
+ callback sites and `Graph.drafts` refuses them. `Interpreter.layerWithImplementations`
131
+ uses that policy by default and rejects the graph before any action dispatch.
132
+ The lower-level `Graph.build`, `Interpreter.interpret`, and `Interpreter.layer`
133
+ default to `process-local` for compatibility; they make no reproducible callback
134
+ identity guarantee unless `callbackIdentity: "stable"` is selected. An explicit
135
+ `process-local` option is available on the canonical composition for experimentation.
136
+
137
+ `sha256-source-captures/v5` includes shared-reference topology in capture
138
+ identity. Equal source and captures reproduce identity across processes.
139
+ The v5 encoding re-keys captured callbacks from earlier versions. Changed source, captures, or captured implementation version require
140
+ a newly planned run; this check does not migrate or reapprove existing plans.
141
+ Action implementations use a separate `implementationVersion` contract.
142
+ Canonical `Interpreter.layerWithImplementations` requires it for sealed actions
143
+ that declare an idempotency key, because those actions can reuse recorded content.
144
+ Declare the version on `Action.make`, and attest the same version in `toLayer`.
145
+ A missing or different registration version is refused. The interpreter also
146
+ checks each graph declaration against the registry before dispatching any action,
147
+ including actions in untaken branches. The declared version enters plan material,
148
+ sealed result keys, and ordinal invocation scopes. Object-form idempotency keys
149
+ remain rename-stable; their caller-owned input cannot override the explicit
150
+ implementation version.
151
+
152
+ The version is a semantic compatibility declaration. Cover the handler and every
153
+ service/configuration change that can affect its result. Equal versions authorize
154
+ reuse even if JavaScript source changed. Different versions require a new plan
155
+ and execution ID; this is not an upgrade API for an already persisted run. Existing
156
+ completed executions keep their recorded outcomes. Omitted versions preserve
157
+ legacy key material exactly and do not infer handler identity from source.
158
+ The low-level `Interpreter.layer` and `Interpreter.interpret` retain this legacy
159
+ behavior: equal identity inputs can return the old handler's recorded result
160
+ after its code changes. Selecting stable callback identity alone does not change
161
+ that handler-reuse contract.
162
+
163
+ Canonical version admission is independent of `callbackIdentity`; choosing
164
+ `process-local` callbacks cannot bypass it. Keyless sealed actions use run-local
165
+ invocation keys, while compensable and irreversible actions do not use content-key
166
+ caching, so those declarations may omit a version. The canonical interpreter also
167
+ refuses detached action nodes whose declarations are unavailable for checking.
168
+ No policy can verify that an author's semantic version declaration is complete.
169
+
170
+ ## What is in the package
171
+
172
+ Every namespace below is exported from the root and from a matching
173
+ `@smthrs/flow/*` subpath.
174
+
175
+ | Namespace | Role |
176
+ | ----------------- | --------------------------------------------------------------------------------------- |
177
+ | `Flow` | Declares a durable program and its execute, poll, interrupt, resume, and rollback API. |
178
+ | `Action` | Declares one recorded step: schemas, tier, idempotency identity, retry policy, caching. |
179
+ | `Graph` | Builds the plan a body describes, before any of it runs. |
180
+ | `Interpreter` | Drives that plan, and registers a flow with the runtime. |
181
+ | `FlowRuntime` | The execution port this package declares and an engine implements. |
182
+ | `DurableDeferred` | A persisted promise a flow awaits across process restarts, completed by token. |
183
+ | `DurableClock` | A timer that eventually completes a `DurableDeferred`. |
184
+ | `DurableQueue` | Sends work to a persisted worker and awaits its result. |
185
+ | `Sleep` | The system timer, declared as an ordinary action. |
186
+ | `WaitFor` | The system wait point, declared as an ordinary action. |
187
+ | `Poll` | The durable poller: attempts as rounds, waits as durable timers. |
188
+ | `Stall` | The stall breaker: ends rounds whose tree, failing checks, or output held still. |
189
+ | `HumanTask` | Asking a person something, with validation, re-asking, and a deadline. |
190
+ | `RetryPolicy` | Data describing when a runtime should retry a failed action. |
191
+ | `StepIdentity` | The one canonical derivation of ordinal step identity. |
192
+
193
+ ## Documentation
194
+
195
+ Full documentation is at [the package docs](https://github.com/smithersai/smithers/tree/main/packages/smithers/flows/flow/docs).
196
+
197
+ - [Quickstart](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/quickstart.md): the program above end to
198
+ end, including what happens on the second run.
199
+ - [Flows and actions](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/concepts/flows-and-actions.md): the
200
+ two nouns, and why an implementation attaches as a layer.
201
+ - [Bodies are plans](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/concepts/bodies-and-plans.md): what a
202
+ body may not do, and why that restriction is what makes replay work.
203
+ - [Guides](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/guides/build-a-body.md): composing a body,
204
+ retries, durable waits, human decisions, child flows, and rollback.
205
+ - [API reference](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/api.md): every public export.
206
+ - [Testing](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/testing.md): topology, interpretation, and
207
+ execution, and which level a given assertion belongs at.
208
+
209
+ ## License
210
+
211
+ MIT. See `LICENSE`.
212
+
213
+ `Action.InfraInterrupt` is an explicit adapter marker for `interruptRetryPolicy`; ordinary fiber interruption is never converted to it.
@@ -0,0 +1,52 @@
1
+ # Third-party notices
2
+
3
+ This distribution contains third-party software. The notices below are
4
+ reproduced to satisfy the terms of the licenses those components are
5
+ distributed under. They are in addition to, and do not replace, the project's
6
+ own `LICENSE`.
7
+
8
+ ## Effect (`Effect-TS/effect`)
9
+
10
+ `@smthrs/flow` carries the flow-authoring half of a fork of Effect's unstable
11
+ durable-flow runtime and
12
+ contains substantial portions of that source. The fork point, upstream package
13
+ version, and a module-by-module record of what was vendored and how it was
14
+ changed are documented in `packages/smithers/flows/engine/VENDOR.md`:
15
+
16
+ - Upstream repository: `Effect-TS/effect`
17
+ - Upstream commit: `23e176a4f05ed3e81cc13a5d70111099692ea9a5`
18
+ - Upstream package: `effect@4.0.0-beta.102`
19
+ - Upstream source: `packages/effect/src/unstable/workflow`
20
+ - Vendored modules: `Flow.ts`, `Activity.ts`, `FlowEngine.ts`,
21
+ `DurableClock.ts`, `DurableDeferred.ts`, `DurableQueue.ts`, `FlowProxy.ts`,
22
+ `FlowProxyServer.ts`, and `index.ts`
23
+
24
+ Effect is distributed under the MIT License. Its copyright and permission
25
+ notice is reproduced here verbatim:
26
+
27
+ ```
28
+ MIT License
29
+
30
+ Copyright (c) 2023 Effectful Technologies Inc
31
+
32
+ Permission is hereby granted, free of charge, to any person obtaining a copy
33
+ of this software and associated documentation files (the "Software"), to deal
34
+ in the Software without restriction, including without limitation the rights
35
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36
+ copies of the Software, and to permit persons to whom the Software is
37
+ furnished to do so, subject to the following conditions:
38
+
39
+ The above copyright notice and this permission notice shall be included in all
40
+ copies or substantial portions of the Software.
41
+
42
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48
+ SOFTWARE.
49
+ ```
50
+
51
+ Every `@smthrs/*` package also depends on Effect at runtime, so the notice
52
+ above applies to those dependencies as well as to the vendored engine source.