effect 4.0.0-beta.73 → 4.0.0-beta.75

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 (930) hide show
  1. package/dist/Array.d.ts +745 -627
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +277 -217
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +37 -30
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +19 -16
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +34 -40
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +16 -16
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +10 -10
  14. package/dist/Boolean.js +6 -6
  15. package/dist/Brand.d.ts +13 -11
  16. package/dist/Brand.d.ts.map +1 -1
  17. package/dist/Brand.js +10 -8
  18. package/dist/Brand.js.map +1 -1
  19. package/dist/Cause.d.ts +21 -23
  20. package/dist/Cause.d.ts.map +1 -1
  21. package/dist/Cause.js +21 -23
  22. package/dist/Cause.js.map +1 -1
  23. package/dist/Channel.d.ts +282 -72
  24. package/dist/Channel.d.ts.map +1 -1
  25. package/dist/Channel.js +108 -28
  26. package/dist/Channel.js.map +1 -1
  27. package/dist/ChannelSchema.d.ts +11 -11
  28. package/dist/ChannelSchema.js +5 -5
  29. package/dist/Chunk.d.ts +86 -33
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +48 -13
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +3 -3
  34. package/dist/Clock.js +3 -3
  35. package/dist/Combiner.d.ts +9 -13
  36. package/dist/Combiner.d.ts.map +1 -1
  37. package/dist/Combiner.js +9 -13
  38. package/dist/Combiner.js.map +1 -1
  39. package/dist/Config.d.ts +49 -56
  40. package/dist/Config.d.ts.map +1 -1
  41. package/dist/Config.js +40 -43
  42. package/dist/Config.js.map +1 -1
  43. package/dist/ConfigProvider.d.ts +34 -44
  44. package/dist/ConfigProvider.d.ts.map +1 -1
  45. package/dist/ConfigProvider.js +24 -32
  46. package/dist/ConfigProvider.js.map +1 -1
  47. package/dist/Console.d.ts +2 -2
  48. package/dist/Console.js +2 -2
  49. package/dist/Context.d.ts +63 -75
  50. package/dist/Context.d.ts.map +1 -1
  51. package/dist/Context.js +29 -33
  52. package/dist/Context.js.map +1 -1
  53. package/dist/Cron.d.ts +6 -6
  54. package/dist/Cron.js +6 -6
  55. package/dist/Crypto.d.ts +4 -4
  56. package/dist/Crypto.js +4 -4
  57. package/dist/Data.d.ts +21 -15
  58. package/dist/Data.d.ts.map +1 -1
  59. package/dist/Data.js +7 -7
  60. package/dist/Data.js.map +1 -1
  61. package/dist/DateTime.d.ts +35 -16
  62. package/dist/DateTime.d.ts.map +1 -1
  63. package/dist/DateTime.js +35 -8
  64. package/dist/DateTime.js.map +1 -1
  65. package/dist/Deferred.d.ts +61 -52
  66. package/dist/Deferred.d.ts.map +1 -1
  67. package/dist/Deferred.js +21 -18
  68. package/dist/Deferred.js.map +1 -1
  69. package/dist/Duration.d.ts +50 -37
  70. package/dist/Duration.d.ts.map +1 -1
  71. package/dist/Duration.js +24 -13
  72. package/dist/Duration.js.map +1 -1
  73. package/dist/Effect.d.ts +574 -474
  74. package/dist/Effect.d.ts.map +1 -1
  75. package/dist/Effect.js +273 -213
  76. package/dist/Effect.js.map +1 -1
  77. package/dist/Encoding.d.ts +5 -0
  78. package/dist/Encoding.d.ts.map +1 -1
  79. package/dist/Encoding.js +5 -0
  80. package/dist/Encoding.js.map +1 -1
  81. package/dist/Equal.d.ts +28 -41
  82. package/dist/Equal.d.ts.map +1 -1
  83. package/dist/Equal.js +12 -19
  84. package/dist/Equal.js.map +1 -1
  85. package/dist/Equivalence.d.ts +72 -100
  86. package/dist/Equivalence.d.ts.map +1 -1
  87. package/dist/Equivalence.js +54 -74
  88. package/dist/Equivalence.js.map +1 -1
  89. package/dist/ErrorReporter.d.ts +1 -1
  90. package/dist/ErrorReporter.js +1 -1
  91. package/dist/ExecutionPlan.d.ts +2 -2
  92. package/dist/ExecutionPlan.js +1 -1
  93. package/dist/Exit.d.ts +79 -96
  94. package/dist/Exit.d.ts.map +1 -1
  95. package/dist/Exit.js +57 -64
  96. package/dist/Exit.js.map +1 -1
  97. package/dist/Fiber.d.ts +8 -6
  98. package/dist/Fiber.d.ts.map +1 -1
  99. package/dist/Fiber.js +8 -6
  100. package/dist/Fiber.js.map +1 -1
  101. package/dist/FiberHandle.d.ts +25 -0
  102. package/dist/FiberHandle.d.ts.map +1 -1
  103. package/dist/FiberHandle.js +15 -0
  104. package/dist/FiberHandle.js.map +1 -1
  105. package/dist/FiberMap.d.ts +35 -0
  106. package/dist/FiberMap.d.ts.map +1 -1
  107. package/dist/FiberMap.js +15 -0
  108. package/dist/FiberMap.js.map +1 -1
  109. package/dist/FiberSet.d.ts +20 -0
  110. package/dist/FiberSet.d.ts.map +1 -1
  111. package/dist/FiberSet.js +10 -0
  112. package/dist/FiberSet.js.map +1 -1
  113. package/dist/FileSystem.d.ts +6 -6
  114. package/dist/FileSystem.js +2 -2
  115. package/dist/Filter.d.ts +4 -4
  116. package/dist/Filter.js +4 -4
  117. package/dist/Formatter.d.ts +14 -19
  118. package/dist/Formatter.d.ts.map +1 -1
  119. package/dist/Formatter.js +14 -19
  120. package/dist/Formatter.js.map +1 -1
  121. package/dist/Function.d.ts +20 -21
  122. package/dist/Function.d.ts.map +1 -1
  123. package/dist/Function.js +14 -15
  124. package/dist/Function.js.map +1 -1
  125. package/dist/Graph.d.ts +13 -13
  126. package/dist/Graph.js +7 -7
  127. package/dist/HKT.d.ts +3 -3
  128. package/dist/Hash.d.ts +2 -1
  129. package/dist/Hash.d.ts.map +1 -1
  130. package/dist/Hash.js +2 -1
  131. package/dist/Hash.js.map +1 -1
  132. package/dist/HashMap.d.ts +18 -3
  133. package/dist/HashMap.d.ts.map +1 -1
  134. package/dist/HashMap.js +5 -0
  135. package/dist/HashMap.js.map +1 -1
  136. package/dist/HashRing.d.ts +9 -9
  137. package/dist/HashRing.js +3 -3
  138. package/dist/HashSet.d.ts +1 -1
  139. package/dist/Iterable.d.ts +39 -27
  140. package/dist/Iterable.d.ts.map +1 -1
  141. package/dist/Iterable.js +21 -11
  142. package/dist/Iterable.js.map +1 -1
  143. package/dist/JsonPatch.d.ts +2 -3
  144. package/dist/JsonPatch.d.ts.map +1 -1
  145. package/dist/JsonPatch.js +2 -3
  146. package/dist/JsonPatch.js.map +1 -1
  147. package/dist/JsonPointer.d.ts +2 -6
  148. package/dist/JsonPointer.d.ts.map +1 -1
  149. package/dist/JsonPointer.js +2 -6
  150. package/dist/JsonPointer.js.map +1 -1
  151. package/dist/JsonSchema.d.ts +17 -13
  152. package/dist/JsonSchema.d.ts.map +1 -1
  153. package/dist/JsonSchema.js +17 -13
  154. package/dist/JsonSchema.js.map +1 -1
  155. package/dist/Latch.d.ts +4 -3
  156. package/dist/Latch.d.ts.map +1 -1
  157. package/dist/Latch.js +4 -3
  158. package/dist/Latch.js.map +1 -1
  159. package/dist/Layer.d.ts +108 -130
  160. package/dist/Layer.d.ts.map +1 -1
  161. package/dist/Layer.js +43 -51
  162. package/dist/Layer.js.map +1 -1
  163. package/dist/Logger.d.ts +16 -19
  164. package/dist/Logger.d.ts.map +1 -1
  165. package/dist/Logger.js +15 -18
  166. package/dist/Logger.js.map +1 -1
  167. package/dist/ManagedRuntime.d.ts +2 -2
  168. package/dist/Match.d.ts +22 -22
  169. package/dist/Match.js +18 -18
  170. package/dist/Metric.d.ts +105 -125
  171. package/dist/Metric.d.ts.map +1 -1
  172. package/dist/Metric.js +54 -64
  173. package/dist/Metric.js.map +1 -1
  174. package/dist/MutableHashMap.d.ts +21 -12
  175. package/dist/MutableHashMap.d.ts.map +1 -1
  176. package/dist/MutableHashMap.js +7 -4
  177. package/dist/MutableHashMap.js.map +1 -1
  178. package/dist/MutableList.d.ts +15 -0
  179. package/dist/MutableList.d.ts.map +1 -1
  180. package/dist/MutableList.js +15 -0
  181. package/dist/MutableList.js.map +1 -1
  182. package/dist/MutableRef.d.ts +56 -42
  183. package/dist/MutableRef.d.ts.map +1 -1
  184. package/dist/MutableRef.js +28 -22
  185. package/dist/MutableRef.js.map +1 -1
  186. package/dist/Newtype.d.ts +10 -7
  187. package/dist/Newtype.d.ts.map +1 -1
  188. package/dist/Newtype.js +10 -7
  189. package/dist/Newtype.js.map +1 -1
  190. package/dist/Number.d.ts +23 -11
  191. package/dist/Number.d.ts.map +1 -1
  192. package/dist/Number.js +9 -5
  193. package/dist/Number.js.map +1 -1
  194. package/dist/Optic.d.ts +16 -16
  195. package/dist/Optic.d.ts.map +1 -1
  196. package/dist/Optic.js +10 -9
  197. package/dist/Optic.js.map +1 -1
  198. package/dist/Option.d.ts +232 -204
  199. package/dist/Option.d.ts.map +1 -1
  200. package/dist/Option.js +113 -96
  201. package/dist/Option.js.map +1 -1
  202. package/dist/Order.d.ts +119 -180
  203. package/dist/Order.d.ts.map +1 -1
  204. package/dist/Order.js +93 -145
  205. package/dist/Order.js.map +1 -1
  206. package/dist/PartitionedSemaphore.d.ts +14 -14
  207. package/dist/PartitionedSemaphore.js +6 -6
  208. package/dist/Path.d.ts +3 -3
  209. package/dist/Path.js +3 -3
  210. package/dist/Pipeable.d.ts +3 -3
  211. package/dist/Pipeable.js +3 -3
  212. package/dist/PlatformError.d.ts +4 -4
  213. package/dist/PlatformError.js +4 -4
  214. package/dist/Pool.d.ts +7 -11
  215. package/dist/Pool.d.ts.map +1 -1
  216. package/dist/Pool.js +3 -5
  217. package/dist/Pool.js.map +1 -1
  218. package/dist/Predicate.d.ts +279 -268
  219. package/dist/Predicate.d.ts.map +1 -1
  220. package/dist/Predicate.js +128 -123
  221. package/dist/Predicate.js.map +1 -1
  222. package/dist/PubSub.d.ts +33 -23
  223. package/dist/PubSub.d.ts.map +1 -1
  224. package/dist/PubSub.js +21 -11
  225. package/dist/PubSub.js.map +1 -1
  226. package/dist/Pull.d.ts +4 -4
  227. package/dist/Pull.js +4 -4
  228. package/dist/Queue.d.ts +70 -31
  229. package/dist/Queue.d.ts.map +1 -1
  230. package/dist/Queue.js +66 -27
  231. package/dist/Queue.js.map +1 -1
  232. package/dist/RcRef.d.ts +0 -4
  233. package/dist/RcRef.d.ts.map +1 -1
  234. package/dist/RcRef.js.map +1 -1
  235. package/dist/Record.d.ts +15 -15
  236. package/dist/Record.js +5 -5
  237. package/dist/Redactable.d.ts +2 -2
  238. package/dist/Redactable.js +2 -2
  239. package/dist/Redacted.d.ts +5 -5
  240. package/dist/Redacted.js +4 -4
  241. package/dist/Reducer.d.ts +2 -3
  242. package/dist/Reducer.d.ts.map +1 -1
  243. package/dist/Reducer.js +2 -3
  244. package/dist/Reducer.js.map +1 -1
  245. package/dist/Ref.d.ts +23 -22
  246. package/dist/Ref.d.ts.map +1 -1
  247. package/dist/Ref.js +21 -20
  248. package/dist/Ref.js.map +1 -1
  249. package/dist/References.d.ts +4 -4
  250. package/dist/References.js +4 -4
  251. package/dist/RegExp.d.ts +1 -1
  252. package/dist/RegExp.js +1 -1
  253. package/dist/Request.d.ts +22 -22
  254. package/dist/Request.js +6 -6
  255. package/dist/RequestResolver.d.ts +6 -6
  256. package/dist/RequestResolver.js +2 -2
  257. package/dist/Resource.d.ts +3 -3
  258. package/dist/Resource.js +3 -3
  259. package/dist/Result.d.ts +95 -51
  260. package/dist/Result.d.ts.map +1 -1
  261. package/dist/Result.js +53 -30
  262. package/dist/Result.js.map +1 -1
  263. package/dist/Runtime.d.ts +11 -8
  264. package/dist/Runtime.d.ts.map +1 -1
  265. package/dist/Runtime.js +11 -8
  266. package/dist/Runtime.js.map +1 -1
  267. package/dist/Schedule.d.ts +151 -89
  268. package/dist/Schedule.d.ts.map +1 -1
  269. package/dist/Schedule.js +59 -47
  270. package/dist/Schedule.js.map +1 -1
  271. package/dist/Scheduler.d.ts +6 -4
  272. package/dist/Scheduler.d.ts.map +1 -1
  273. package/dist/Scheduler.js +6 -4
  274. package/dist/Scheduler.js.map +1 -1
  275. package/dist/Schema.d.ts +620 -830
  276. package/dist/Schema.d.ts.map +1 -1
  277. package/dist/Schema.js +543 -452
  278. package/dist/Schema.js.map +1 -1
  279. package/dist/SchemaAST.d.ts +43 -22
  280. package/dist/SchemaAST.d.ts.map +1 -1
  281. package/dist/SchemaAST.js +80 -59
  282. package/dist/SchemaAST.js.map +1 -1
  283. package/dist/SchemaGetter.d.ts +139 -119
  284. package/dist/SchemaGetter.d.ts.map +1 -1
  285. package/dist/SchemaGetter.js +133 -113
  286. package/dist/SchemaGetter.js.map +1 -1
  287. package/dist/SchemaIssue.d.ts +37 -39
  288. package/dist/SchemaIssue.d.ts.map +1 -1
  289. package/dist/SchemaIssue.js +16 -17
  290. package/dist/SchemaIssue.js.map +1 -1
  291. package/dist/SchemaParser.d.ts +75 -156
  292. package/dist/SchemaParser.d.ts.map +1 -1
  293. package/dist/SchemaParser.js +75 -148
  294. package/dist/SchemaParser.js.map +1 -1
  295. package/dist/SchemaRepresentation.d.ts +30 -21
  296. package/dist/SchemaRepresentation.d.ts.map +1 -1
  297. package/dist/SchemaRepresentation.js +26 -22
  298. package/dist/SchemaRepresentation.js.map +1 -1
  299. package/dist/SchemaTransformation.d.ts +169 -145
  300. package/dist/SchemaTransformation.d.ts.map +1 -1
  301. package/dist/SchemaTransformation.js +183 -159
  302. package/dist/SchemaTransformation.js.map +1 -1
  303. package/dist/SchemaUtils.js +2 -2
  304. package/dist/SchemaUtils.js.map +1 -1
  305. package/dist/Scope.d.ts +16 -1
  306. package/dist/Scope.d.ts.map +1 -1
  307. package/dist/Scope.js +16 -1
  308. package/dist/Scope.js.map +1 -1
  309. package/dist/ScopedCache.d.ts +1 -1
  310. package/dist/ScopedCache.js +1 -1
  311. package/dist/ScopedRef.d.ts +14 -18
  312. package/dist/ScopedRef.d.ts.map +1 -1
  313. package/dist/ScopedRef.js +6 -8
  314. package/dist/ScopedRef.js.map +1 -1
  315. package/dist/Semaphore.d.ts +9 -9
  316. package/dist/Semaphore.js +3 -3
  317. package/dist/Sink.d.ts +18 -18
  318. package/dist/Sink.d.ts.map +1 -1
  319. package/dist/Sink.js +12 -12
  320. package/dist/Sink.js.map +1 -1
  321. package/dist/Stdio.d.ts +4 -5
  322. package/dist/Stdio.d.ts.map +1 -1
  323. package/dist/Stdio.js +4 -5
  324. package/dist/Stdio.js.map +1 -1
  325. package/dist/Stream.d.ts +376 -99
  326. package/dist/Stream.d.ts.map +1 -1
  327. package/dist/Stream.js +158 -43
  328. package/dist/Stream.js.map +1 -1
  329. package/dist/String.d.ts +11 -14
  330. package/dist/String.d.ts.map +1 -1
  331. package/dist/String.js +5 -6
  332. package/dist/String.js.map +1 -1
  333. package/dist/Struct.d.ts +23 -21
  334. package/dist/Struct.d.ts.map +1 -1
  335. package/dist/Struct.js +14 -12
  336. package/dist/Struct.js.map +1 -1
  337. package/dist/SubscriptionRef.d.ts +24 -19
  338. package/dist/SubscriptionRef.d.ts.map +1 -1
  339. package/dist/SubscriptionRef.js +12 -7
  340. package/dist/SubscriptionRef.js.map +1 -1
  341. package/dist/SynchronizedRef.d.ts +145 -120
  342. package/dist/SynchronizedRef.d.ts.map +1 -1
  343. package/dist/SynchronizedRef.js +51 -42
  344. package/dist/SynchronizedRef.js.map +1 -1
  345. package/dist/Terminal.d.ts +1 -1
  346. package/dist/Terminal.js +1 -1
  347. package/dist/Tracer.d.ts +9 -9
  348. package/dist/Tracer.js +6 -6
  349. package/dist/Trie.d.ts +15 -0
  350. package/dist/Trie.d.ts.map +1 -1
  351. package/dist/Trie.js +5 -0
  352. package/dist/Trie.js.map +1 -1
  353. package/dist/Tuple.d.ts +39 -33
  354. package/dist/Tuple.d.ts.map +1 -1
  355. package/dist/Tuple.js +23 -19
  356. package/dist/Tuple.js.map +1 -1
  357. package/dist/TxHashMap.d.ts +3 -3
  358. package/dist/TxHashSet.d.ts +1 -1
  359. package/dist/TxReentrantLock.d.ts +6 -3
  360. package/dist/TxReentrantLock.d.ts.map +1 -1
  361. package/dist/TxReentrantLock.js +2 -1
  362. package/dist/TxReentrantLock.js.map +1 -1
  363. package/dist/TxRef.d.ts +16 -16
  364. package/dist/TxRef.js +8 -8
  365. package/dist/TxSubscriptionRef.d.ts +43 -27
  366. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  367. package/dist/TxSubscriptionRef.js +19 -13
  368. package/dist/TxSubscriptionRef.js.map +1 -1
  369. package/dist/Types.d.ts +12 -38
  370. package/dist/Types.d.ts.map +1 -1
  371. package/dist/Types.js +0 -2
  372. package/dist/UndefinedOr.d.ts +15 -14
  373. package/dist/UndefinedOr.d.ts.map +1 -1
  374. package/dist/UndefinedOr.js +11 -10
  375. package/dist/UndefinedOr.js.map +1 -1
  376. package/dist/Unify.d.ts +9 -9
  377. package/dist/Unify.js +1 -1
  378. package/dist/internal/schema/annotations.js.map +1 -1
  379. package/dist/internal/schema/arbitrary.js +9 -9
  380. package/dist/internal/schema/arbitrary.js.map +1 -1
  381. package/dist/internal/schema/equivalence.js +9 -9
  382. package/dist/internal/schema/equivalence.js.map +1 -1
  383. package/dist/internal/schema/representation.js +14 -14
  384. package/dist/internal/schema/representation.js.map +1 -1
  385. package/dist/internal/schema/schema.js +11 -11
  386. package/dist/internal/schema/schema.js.map +1 -1
  387. package/dist/testing/TestClock.d.ts +5 -5
  388. package/dist/testing/TestClock.js +4 -4
  389. package/dist/testing/TestConsole.d.ts +3 -3
  390. package/dist/testing/TestConsole.js +3 -3
  391. package/dist/testing/TestSchema.d.ts +10 -10
  392. package/dist/testing/TestSchema.d.ts.map +1 -1
  393. package/dist/testing/TestSchema.js +9 -9
  394. package/dist/testing/TestSchema.js.map +1 -1
  395. package/dist/unstable/ai/AiError.d.ts +4 -2
  396. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  397. package/dist/unstable/ai/AiError.js +4 -2
  398. package/dist/unstable/ai/AiError.js.map +1 -1
  399. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +17 -20
  400. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  401. package/dist/unstable/ai/AnthropicStructuredOutput.js +36 -39
  402. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  403. package/dist/unstable/ai/Chat.d.ts +6 -7
  404. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  405. package/dist/unstable/ai/Chat.js +6 -7
  406. package/dist/unstable/ai/Chat.js.map +1 -1
  407. package/dist/unstable/ai/EmbeddingModel.d.ts +5 -5
  408. package/dist/unstable/ai/EmbeddingModel.js +4 -4
  409. package/dist/unstable/ai/IdGenerator.d.ts +4 -5
  410. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  411. package/dist/unstable/ai/IdGenerator.js +3 -4
  412. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  413. package/dist/unstable/ai/LanguageModel.d.ts +7 -6
  414. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  415. package/dist/unstable/ai/LanguageModel.js +6 -5
  416. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  417. package/dist/unstable/ai/McpSchema.d.ts +14 -12
  418. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  419. package/dist/unstable/ai/McpSchema.js +19 -17
  420. package/dist/unstable/ai/McpSchema.js.map +1 -1
  421. package/dist/unstable/ai/McpServer.d.ts +11 -4
  422. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  423. package/dist/unstable/ai/McpServer.js +8 -5
  424. package/dist/unstable/ai/McpServer.js.map +1 -1
  425. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +20 -18
  426. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  427. package/dist/unstable/ai/OpenAiStructuredOutput.js +45 -43
  428. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  429. package/dist/unstable/ai/Prompt.d.ts +17 -17
  430. package/dist/unstable/ai/Prompt.js +4 -4
  431. package/dist/unstable/ai/Prompt.js.map +1 -1
  432. package/dist/unstable/ai/ResponseIdTracker.d.ts +3 -2
  433. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  434. package/dist/unstable/ai/ResponseIdTracker.js +3 -2
  435. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  436. package/dist/unstable/ai/Telemetry.d.ts +26 -11
  437. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  438. package/dist/unstable/ai/Telemetry.js +9 -4
  439. package/dist/unstable/ai/Telemetry.js.map +1 -1
  440. package/dist/unstable/ai/Tokenizer.d.ts +1 -1
  441. package/dist/unstable/ai/Tokenizer.js +1 -1
  442. package/dist/unstable/ai/Tool.d.ts +13 -12
  443. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  444. package/dist/unstable/ai/Tool.js +14 -13
  445. package/dist/unstable/ai/Tool.js.map +1 -1
  446. package/dist/unstable/ai/Toolkit.d.ts +2 -2
  447. package/dist/unstable/ai/Toolkit.js +2 -2
  448. package/dist/unstable/cli/Command.d.ts +37 -16
  449. package/dist/unstable/cli/Command.d.ts.map +1 -1
  450. package/dist/unstable/cli/Command.js +16 -9
  451. package/dist/unstable/cli/Command.js.map +1 -1
  452. package/dist/unstable/cli/Completions.d.ts +1 -1
  453. package/dist/unstable/cli/Completions.js +1 -1
  454. package/dist/unstable/cli/Flag.d.ts +7 -6
  455. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  456. package/dist/unstable/cli/Flag.js +7 -6
  457. package/dist/unstable/cli/Flag.js.map +1 -1
  458. package/dist/unstable/cli/GlobalFlag.d.ts +6 -1
  459. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  460. package/dist/unstable/cli/GlobalFlag.js +7 -2
  461. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  462. package/dist/unstable/cli/Param.d.ts +4 -4
  463. package/dist/unstable/cli/Param.d.ts.map +1 -1
  464. package/dist/unstable/cli/Param.js +13 -10
  465. package/dist/unstable/cli/Param.js.map +1 -1
  466. package/dist/unstable/cli/Primitive.d.ts +6 -5
  467. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  468. package/dist/unstable/cli/Primitive.js +4 -3
  469. package/dist/unstable/cli/Primitive.js.map +1 -1
  470. package/dist/unstable/cli/Prompt.d.ts +11 -11
  471. package/dist/unstable/cli/internal/parser.js +145 -10
  472. package/dist/unstable/cli/internal/parser.js.map +1 -1
  473. package/dist/unstable/cluster/ClusterCron.d.ts +1 -2
  474. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  475. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  476. package/dist/unstable/cluster/ClusterMetrics.d.ts +5 -0
  477. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  478. package/dist/unstable/cluster/ClusterMetrics.js +5 -0
  479. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  480. package/dist/unstable/cluster/ClusterSchema.d.ts +3 -3
  481. package/dist/unstable/cluster/ClusterSchema.js +3 -3
  482. package/dist/unstable/cluster/ClusterWorkflowEngine.js +15 -15
  483. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  484. package/dist/unstable/cluster/Entity.d.ts +1 -1
  485. package/dist/unstable/cluster/Entity.js +1 -1
  486. package/dist/unstable/cluster/EntityResource.d.ts +10 -0
  487. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  488. package/dist/unstable/cluster/EntityResource.js +10 -0
  489. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  490. package/dist/unstable/cluster/Envelope.d.ts +2 -2
  491. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  492. package/dist/unstable/cluster/Envelope.js +2 -2
  493. package/dist/unstable/cluster/Envelope.js.map +1 -1
  494. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  495. package/dist/unstable/cluster/HttpRunner.js +2 -2
  496. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  497. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  498. package/dist/unstable/cluster/Reply.d.ts +2 -2
  499. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  500. package/dist/unstable/cluster/Reply.js +12 -12
  501. package/dist/unstable/cluster/Reply.js.map +1 -1
  502. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -1
  503. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  504. package/dist/unstable/cluster/RunnerHealth.js +2 -1
  505. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  506. package/dist/unstable/cluster/RunnerServer.d.ts +2 -2
  507. package/dist/unstable/cluster/RunnerServer.js +2 -2
  508. package/dist/unstable/cluster/Runners.d.ts +4 -4
  509. package/dist/unstable/cluster/Runners.js +4 -4
  510. package/dist/unstable/cluster/ShardId.js +3 -3
  511. package/dist/unstable/cluster/ShardId.js.map +1 -1
  512. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  513. package/dist/unstable/cluster/Sharding.js +4 -4
  514. package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
  515. package/dist/unstable/cluster/ShardingConfig.js +4 -4
  516. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  517. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  518. package/dist/unstable/cluster/Snowflake.d.ts +6 -6
  519. package/dist/unstable/cluster/Snowflake.js +8 -8
  520. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  521. package/dist/unstable/cluster/internal/entityManager.js +2 -2
  522. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  523. package/dist/unstable/devtools/DevToolsClient.d.ts +1 -1
  524. package/dist/unstable/devtools/DevToolsClient.js +1 -1
  525. package/dist/unstable/encoding/Msgpack.d.ts +2 -2
  526. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  527. package/dist/unstable/encoding/Msgpack.js +5 -5
  528. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  529. package/dist/unstable/encoding/Ndjson.d.ts +5 -0
  530. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  531. package/dist/unstable/encoding/Ndjson.js +5 -0
  532. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  533. package/dist/unstable/encoding/Sse.d.ts +2 -2
  534. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  535. package/dist/unstable/encoding/Sse.js +2 -2
  536. package/dist/unstable/encoding/Sse.js.map +1 -1
  537. package/dist/unstable/eventlog/EventGroup.d.ts +2 -1
  538. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  539. package/dist/unstable/eventlog/EventGroup.js +2 -1
  540. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  541. package/dist/unstable/eventlog/EventJournal.d.ts +10 -0
  542. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  543. package/dist/unstable/eventlog/EventJournal.js +10 -0
  544. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  545. package/dist/unstable/eventlog/EventLog.d.ts +4 -4
  546. package/dist/unstable/eventlog/EventLog.js +4 -4
  547. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  548. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  549. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  550. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  551. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -3
  552. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  553. package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -3
  554. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  555. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +8 -10
  556. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  557. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +8 -10
  558. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  559. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +4 -4
  560. package/dist/unstable/eventlog/EventLogSessionAuth.js +4 -4
  561. package/dist/unstable/http/Cookies.d.ts +1 -1
  562. package/dist/unstable/http/Cookies.js +4 -4
  563. package/dist/unstable/http/Cookies.js.map +1 -1
  564. package/dist/unstable/http/Etag.d.ts +3 -4
  565. package/dist/unstable/http/Etag.d.ts.map +1 -1
  566. package/dist/unstable/http/Etag.js +3 -4
  567. package/dist/unstable/http/Etag.js.map +1 -1
  568. package/dist/unstable/http/FetchHttpClient.d.ts +2 -2
  569. package/dist/unstable/http/FetchHttpClient.js +2 -2
  570. package/dist/unstable/http/Headers.js +2 -2
  571. package/dist/unstable/http/Headers.js.map +1 -1
  572. package/dist/unstable/http/HttpBody.js +2 -2
  573. package/dist/unstable/http/HttpBody.js.map +1 -1
  574. package/dist/unstable/http/HttpClient.d.ts +3 -3
  575. package/dist/unstable/http/HttpClient.js +3 -3
  576. package/dist/unstable/http/HttpClientRequest.d.ts +32 -5
  577. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  578. package/dist/unstable/http/HttpClientRequest.js +10 -1
  579. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  580. package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
  581. package/dist/unstable/http/HttpMiddleware.js +1 -1
  582. package/dist/unstable/http/HttpPlatform.d.ts +1 -1
  583. package/dist/unstable/http/HttpPlatform.js +1 -1
  584. package/dist/unstable/http/HttpRouter.d.ts +5 -5
  585. package/dist/unstable/http/HttpRouter.js +5 -5
  586. package/dist/unstable/http/HttpServerResponse.d.ts +28 -23
  587. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  588. package/dist/unstable/http/HttpServerResponse.js +13 -8
  589. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  590. package/dist/unstable/http/Multipart.js +3 -3
  591. package/dist/unstable/http/Multipart.js.map +1 -1
  592. package/dist/unstable/http/Url.d.ts +33 -33
  593. package/dist/unstable/http/Url.js +11 -11
  594. package/dist/unstable/http/UrlParams.d.ts +30 -0
  595. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  596. package/dist/unstable/http/UrlParams.js +16 -6
  597. package/dist/unstable/http/UrlParams.js.map +1 -1
  598. package/dist/unstable/httpapi/HttpApi.d.ts +4 -3
  599. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  600. package/dist/unstable/httpapi/HttpApi.js +4 -3
  601. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  602. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  603. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -8
  604. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  605. package/dist/unstable/httpapi/HttpApiClient.js +15 -15
  606. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  607. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  608. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  609. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
  610. package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
  611. package/dist/unstable/httpapi/HttpApiSchema.d.ts +2 -2
  612. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  613. package/dist/unstable/httpapi/HttpApiSchema.js +9 -9
  614. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  615. package/dist/unstable/httpapi/OpenApi.js +11 -11
  616. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  617. package/dist/unstable/observability/OtlpResource.d.ts +5 -0
  618. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  619. package/dist/unstable/observability/OtlpResource.js +5 -0
  620. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  621. package/dist/unstable/observability/PrometheusMetrics.d.ts +8 -6
  622. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  623. package/dist/unstable/observability/PrometheusMetrics.js +6 -4
  624. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  625. package/dist/unstable/persistence/KeyValueStore.d.ts +3 -3
  626. package/dist/unstable/persistence/KeyValueStore.js +1 -1
  627. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  628. package/dist/unstable/persistence/Persistable.js +2 -2
  629. package/dist/unstable/persistence/PersistedQueue.d.ts +8 -8
  630. package/dist/unstable/persistence/PersistedQueue.js +8 -8
  631. package/dist/unstable/persistence/RateLimiter.d.ts +1 -1
  632. package/dist/unstable/persistence/RateLimiter.js +1 -1
  633. package/dist/unstable/process/ChildProcess.d.ts +5 -5
  634. package/dist/unstable/process/ChildProcess.js +2 -2
  635. package/dist/unstable/reactivity/AsyncResult.d.ts +4 -4
  636. package/dist/unstable/reactivity/AsyncResult.js +1 -1
  637. package/dist/unstable/reactivity/Atom.d.ts +4 -4
  638. package/dist/unstable/reactivity/Atom.js +4 -4
  639. package/dist/unstable/reactivity/AtomRegistry.d.ts +1 -1
  640. package/dist/unstable/reactivity/AtomRegistry.js +1 -1
  641. package/dist/unstable/reactivity/Reactivity.d.ts +1 -1
  642. package/dist/unstable/reactivity/Reactivity.js +1 -1
  643. package/dist/unstable/rpc/Rpc.d.ts +5 -5
  644. package/dist/unstable/rpc/Rpc.js +1 -1
  645. package/dist/unstable/rpc/RpcMiddleware.d.ts +1 -1
  646. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  647. package/dist/unstable/rpc/RpcSchema.d.ts +5 -5
  648. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  649. package/dist/unstable/rpc/RpcSchema.js +2 -2
  650. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  651. package/dist/unstable/rpc/RpcSerialization.js +2 -2
  652. package/dist/unstable/schema/Model.d.ts +2 -2
  653. package/dist/unstable/schema/Model.js +6 -6
  654. package/dist/unstable/schema/Model.js.map +1 -1
  655. package/dist/unstable/schema/VariantSchema.d.ts +2 -2
  656. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  657. package/dist/unstable/socket/Socket.d.ts +3 -3
  658. package/dist/unstable/socket/Socket.js +3 -3
  659. package/dist/unstable/socket/SocketServer.d.ts +1 -1
  660. package/dist/unstable/socket/SocketServer.js +1 -1
  661. package/dist/unstable/sql/Migrator.d.ts +1 -1
  662. package/dist/unstable/sql/SqlClient.d.ts +3 -3
  663. package/dist/unstable/sql/SqlClient.js +2 -2
  664. package/dist/unstable/sql/SqlConnection.d.ts +1 -1
  665. package/dist/unstable/sql/SqlConnection.js +1 -1
  666. package/dist/unstable/sql/SqlSchema.d.ts +4 -4
  667. package/dist/unstable/sql/SqlSchema.js +4 -4
  668. package/dist/unstable/sql/Statement.d.ts +2 -2
  669. package/dist/unstable/sql/Statement.js +2 -2
  670. package/dist/unstable/workers/Transferable.d.ts +3 -3
  671. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  672. package/dist/unstable/workers/Transferable.js +6 -6
  673. package/dist/unstable/workers/Transferable.js.map +1 -1
  674. package/dist/unstable/workers/Worker.d.ts +1 -1
  675. package/dist/unstable/workers/Worker.js +1 -1
  676. package/dist/unstable/workflow/Activity.d.ts +1 -1
  677. package/dist/unstable/workflow/Activity.js +1 -1
  678. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  679. package/dist/unstable/workflow/DurableDeferred.js +8 -8
  680. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  681. package/dist/unstable/workflow/DurableQueue.d.ts +1 -2
  682. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  683. package/dist/unstable/workflow/DurableQueue.js +1 -2
  684. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  685. package/dist/unstable/workflow/Workflow.d.ts +35 -15
  686. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  687. package/dist/unstable/workflow/Workflow.js +94 -72
  688. package/dist/unstable/workflow/Workflow.js.map +1 -1
  689. package/dist/unstable/workflow/WorkflowEngine.d.ts +10 -2
  690. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  691. package/dist/unstable/workflow/WorkflowEngine.js +16 -8
  692. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  693. package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -4
  694. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  695. package/dist/unstable/workflow/WorkflowProxy.js +9 -11
  696. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  697. package/dist/unstable/workflow/WorkflowProxyServer.js +7 -7
  698. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  699. package/package.json +1 -1
  700. package/src/Array.ts +745 -627
  701. package/src/BigDecimal.ts +37 -30
  702. package/src/BigInt.ts +34 -40
  703. package/src/Boolean.ts +10 -10
  704. package/src/Brand.ts +16 -14
  705. package/src/Cause.ts +21 -23
  706. package/src/Channel.ts +316 -76
  707. package/src/ChannelSchema.ts +11 -11
  708. package/src/Chunk.ts +87 -34
  709. package/src/Clock.ts +3 -3
  710. package/src/Combiner.ts +9 -13
  711. package/src/Config.ts +60 -67
  712. package/src/ConfigProvider.ts +34 -44
  713. package/src/Console.ts +2 -2
  714. package/src/Context.ts +64 -76
  715. package/src/Cron.ts +6 -6
  716. package/src/Crypto.ts +4 -4
  717. package/src/Data.ts +21 -15
  718. package/src/DateTime.ts +35 -16
  719. package/src/Deferred.ts +61 -52
  720. package/src/Duration.ts +50 -37
  721. package/src/Effect.ts +574 -474
  722. package/src/Encoding.ts +5 -0
  723. package/src/Equal.ts +28 -41
  724. package/src/Equivalence.ts +72 -100
  725. package/src/ErrorReporter.ts +1 -1
  726. package/src/ExecutionPlan.ts +2 -2
  727. package/src/Exit.ts +79 -96
  728. package/src/Fiber.ts +8 -6
  729. package/src/FiberHandle.ts +25 -0
  730. package/src/FiberMap.ts +35 -0
  731. package/src/FiberSet.ts +20 -0
  732. package/src/FileSystem.ts +6 -6
  733. package/src/Filter.ts +4 -4
  734. package/src/Formatter.ts +14 -19
  735. package/src/Function.ts +20 -21
  736. package/src/Graph.ts +13 -13
  737. package/src/HKT.ts +3 -3
  738. package/src/Hash.ts +2 -1
  739. package/src/HashMap.ts +18 -3
  740. package/src/HashRing.ts +9 -9
  741. package/src/HashSet.ts +1 -1
  742. package/src/Iterable.ts +39 -27
  743. package/src/JsonPatch.ts +2 -3
  744. package/src/JsonPointer.ts +2 -6
  745. package/src/JsonSchema.ts +17 -13
  746. package/src/Latch.ts +4 -3
  747. package/src/Layer.ts +108 -130
  748. package/src/Logger.ts +22 -25
  749. package/src/ManagedRuntime.ts +2 -2
  750. package/src/Match.ts +22 -22
  751. package/src/Metric.ts +129 -157
  752. package/src/MutableHashMap.ts +35 -20
  753. package/src/MutableList.ts +15 -0
  754. package/src/MutableRef.ts +56 -42
  755. package/src/Newtype.ts +10 -7
  756. package/src/Number.ts +23 -11
  757. package/src/Optic.ts +25 -22
  758. package/src/Option.ts +232 -204
  759. package/src/Order.ts +119 -180
  760. package/src/PartitionedSemaphore.ts +14 -14
  761. package/src/Path.ts +3 -3
  762. package/src/Pipeable.ts +3 -3
  763. package/src/PlatformError.ts +4 -4
  764. package/src/Pool.ts +7 -11
  765. package/src/Predicate.ts +279 -268
  766. package/src/PubSub.ts +33 -23
  767. package/src/Pull.ts +4 -4
  768. package/src/Queue.ts +70 -31
  769. package/src/RcRef.ts +0 -4
  770. package/src/Record.ts +15 -15
  771. package/src/Redactable.ts +2 -2
  772. package/src/Redacted.ts +5 -5
  773. package/src/Reducer.ts +2 -3
  774. package/src/Ref.ts +61 -58
  775. package/src/References.ts +4 -4
  776. package/src/RegExp.ts +1 -1
  777. package/src/Request.ts +22 -22
  778. package/src/RequestResolver.ts +8 -8
  779. package/src/Resource.ts +3 -3
  780. package/src/Result.ts +105 -51
  781. package/src/Runtime.ts +11 -8
  782. package/src/Schedule.ts +157 -90
  783. package/src/Scheduler.ts +6 -4
  784. package/src/Schema.ts +1020 -1108
  785. package/src/SchemaAST.ts +149 -118
  786. package/src/SchemaGetter.ts +155 -134
  787. package/src/SchemaIssue.ts +39 -41
  788. package/src/SchemaParser.ts +176 -232
  789. package/src/SchemaRepresentation.ts +38 -28
  790. package/src/SchemaTransformation.ts +233 -207
  791. package/src/SchemaUtils.ts +2 -2
  792. package/src/Scope.ts +16 -1
  793. package/src/ScopedCache.ts +1 -1
  794. package/src/ScopedRef.ts +14 -18
  795. package/src/Semaphore.ts +9 -9
  796. package/src/Sink.ts +18 -18
  797. package/src/Stdio.ts +4 -5
  798. package/src/Stream.ts +411 -114
  799. package/src/String.ts +11 -14
  800. package/src/Struct.ts +23 -21
  801. package/src/SubscriptionRef.ts +24 -19
  802. package/src/SynchronizedRef.ts +145 -120
  803. package/src/Terminal.ts +1 -1
  804. package/src/Tracer.ts +9 -9
  805. package/src/Trie.ts +15 -0
  806. package/src/Tuple.ts +39 -33
  807. package/src/TxHashMap.ts +3 -3
  808. package/src/TxHashSet.ts +1 -1
  809. package/src/TxReentrantLock.ts +6 -3
  810. package/src/TxRef.ts +16 -16
  811. package/src/TxSubscriptionRef.ts +43 -27
  812. package/src/Types.ts +12 -39
  813. package/src/UndefinedOr.ts +15 -14
  814. package/src/Unify.ts +9 -9
  815. package/src/internal/schema/annotations.ts +4 -4
  816. package/src/internal/schema/arbitrary.ts +16 -16
  817. package/src/internal/schema/equivalence.ts +11 -11
  818. package/src/internal/schema/representation.ts +23 -23
  819. package/src/internal/schema/schema.ts +17 -17
  820. package/src/testing/TestClock.ts +5 -5
  821. package/src/testing/TestConsole.ts +3 -3
  822. package/src/testing/TestSchema.ts +20 -20
  823. package/src/unstable/ai/AiError.ts +4 -2
  824. package/src/unstable/ai/AnthropicStructuredOutput.ts +59 -56
  825. package/src/unstable/ai/Chat.ts +6 -7
  826. package/src/unstable/ai/EmbeddingModel.ts +5 -5
  827. package/src/unstable/ai/IdGenerator.ts +4 -5
  828. package/src/unstable/ai/LanguageModel.ts +9 -8
  829. package/src/unstable/ai/McpSchema.ts +19 -17
  830. package/src/unstable/ai/McpServer.ts +14 -7
  831. package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
  832. package/src/unstable/ai/Prompt.ts +20 -20
  833. package/src/unstable/ai/ResponseIdTracker.ts +3 -2
  834. package/src/unstable/ai/Telemetry.ts +26 -11
  835. package/src/unstable/ai/Tokenizer.ts +1 -1
  836. package/src/unstable/ai/Tool.ts +17 -16
  837. package/src/unstable/ai/Toolkit.ts +2 -2
  838. package/src/unstable/cli/Command.ts +42 -17
  839. package/src/unstable/cli/Completions.ts +1 -1
  840. package/src/unstable/cli/Flag.ts +7 -6
  841. package/src/unstable/cli/GlobalFlag.ts +7 -1
  842. package/src/unstable/cli/Param.ts +24 -19
  843. package/src/unstable/cli/Primitive.ts +6 -5
  844. package/src/unstable/cli/Prompt.ts +11 -11
  845. package/src/unstable/cli/internal/parser.ts +204 -10
  846. package/src/unstable/cluster/ClusterCron.ts +1 -2
  847. package/src/unstable/cluster/ClusterMetrics.ts +5 -0
  848. package/src/unstable/cluster/ClusterSchema.ts +3 -3
  849. package/src/unstable/cluster/ClusterWorkflowEngine.ts +15 -15
  850. package/src/unstable/cluster/Entity.ts +1 -1
  851. package/src/unstable/cluster/EntityResource.ts +10 -0
  852. package/src/unstable/cluster/Envelope.ts +3 -3
  853. package/src/unstable/cluster/HttpRunner.ts +2 -2
  854. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  855. package/src/unstable/cluster/Reply.ts +14 -12
  856. package/src/unstable/cluster/RunnerHealth.ts +2 -1
  857. package/src/unstable/cluster/RunnerServer.ts +2 -2
  858. package/src/unstable/cluster/Runners.ts +4 -4
  859. package/src/unstable/cluster/ShardId.ts +3 -3
  860. package/src/unstable/cluster/Sharding.ts +4 -4
  861. package/src/unstable/cluster/ShardingConfig.ts +4 -4
  862. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  863. package/src/unstable/cluster/Snowflake.ts +8 -8
  864. package/src/unstable/cluster/internal/entityManager.ts +2 -2
  865. package/src/unstable/devtools/DevToolsClient.ts +1 -1
  866. package/src/unstable/encoding/Msgpack.ts +6 -6
  867. package/src/unstable/encoding/Ndjson.ts +5 -0
  868. package/src/unstable/encoding/Sse.ts +2 -2
  869. package/src/unstable/eventlog/EventGroup.ts +2 -1
  870. package/src/unstable/eventlog/EventJournal.ts +10 -0
  871. package/src/unstable/eventlog/EventLog.ts +4 -4
  872. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  873. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  874. package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
  875. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +8 -10
  876. package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
  877. package/src/unstable/http/Cookies.ts +5 -5
  878. package/src/unstable/http/Etag.ts +3 -4
  879. package/src/unstable/http/FetchHttpClient.ts +2 -2
  880. package/src/unstable/http/Headers.ts +2 -2
  881. package/src/unstable/http/HttpBody.ts +2 -2
  882. package/src/unstable/http/HttpClient.ts +3 -3
  883. package/src/unstable/http/HttpClientRequest.ts +32 -5
  884. package/src/unstable/http/HttpMiddleware.ts +1 -1
  885. package/src/unstable/http/HttpPlatform.ts +1 -1
  886. package/src/unstable/http/HttpRouter.ts +5 -5
  887. package/src/unstable/http/HttpServerResponse.ts +28 -23
  888. package/src/unstable/http/Multipart.ts +3 -3
  889. package/src/unstable/http/Url.ts +33 -33
  890. package/src/unstable/http/UrlParams.ts +36 -6
  891. package/src/unstable/httpapi/HttpApi.ts +6 -5
  892. package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
  893. package/src/unstable/httpapi/HttpApiClient.ts +16 -16
  894. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  895. package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
  896. package/src/unstable/httpapi/HttpApiSchema.ts +15 -15
  897. package/src/unstable/httpapi/OpenApi.ts +18 -18
  898. package/src/unstable/observability/OtlpResource.ts +5 -0
  899. package/src/unstable/observability/PrometheusMetrics.ts +8 -6
  900. package/src/unstable/persistence/KeyValueStore.ts +3 -3
  901. package/src/unstable/persistence/Persistable.ts +2 -2
  902. package/src/unstable/persistence/PersistedQueue.ts +8 -8
  903. package/src/unstable/persistence/RateLimiter.ts +1 -1
  904. package/src/unstable/process/ChildProcess.ts +5 -5
  905. package/src/unstable/reactivity/AsyncResult.ts +4 -4
  906. package/src/unstable/reactivity/Atom.ts +4 -4
  907. package/src/unstable/reactivity/AtomRegistry.ts +1 -1
  908. package/src/unstable/reactivity/Reactivity.ts +1 -1
  909. package/src/unstable/rpc/Rpc.ts +5 -5
  910. package/src/unstable/rpc/RpcMiddleware.ts +1 -1
  911. package/src/unstable/rpc/RpcSchema.ts +5 -5
  912. package/src/unstable/rpc/RpcSerialization.ts +2 -2
  913. package/src/unstable/schema/Model.ts +7 -7
  914. package/src/unstable/schema/VariantSchema.ts +2 -2
  915. package/src/unstable/socket/Socket.ts +3 -3
  916. package/src/unstable/socket/SocketServer.ts +1 -1
  917. package/src/unstable/sql/Migrator.ts +1 -1
  918. package/src/unstable/sql/SqlClient.ts +3 -3
  919. package/src/unstable/sql/SqlConnection.ts +1 -1
  920. package/src/unstable/sql/SqlSchema.ts +4 -4
  921. package/src/unstable/sql/Statement.ts +2 -2
  922. package/src/unstable/workers/Transferable.ts +7 -7
  923. package/src/unstable/workers/Worker.ts +1 -1
  924. package/src/unstable/workflow/Activity.ts +1 -1
  925. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  926. package/src/unstable/workflow/DurableQueue.ts +1 -2
  927. package/src/unstable/workflow/Workflow.ts +159 -114
  928. package/src/unstable/workflow/WorkflowEngine.ts +16 -8
  929. package/src/unstable/workflow/WorkflowProxy.ts +9 -11
  930. package/src/unstable/workflow/WorkflowProxyServer.ts +7 -7
@@ -15,7 +15,7 @@
15
15
  * effects, not nested activities.
16
16
  *
17
17
  * When exposing workflows through `WorkflowProxy`, remember that proxy APIs are
18
- * derived from the workflow name and schemas. Discard execution returns the
18
+ * derived from the workflow tag and schemas. Discard execution returns the
19
19
  * `executionId` instead of the workflow result, resume requires the persisted
20
20
  * `executionId`, and idempotency keys must remain stable for the same logical
21
21
  * request.
@@ -36,8 +36,8 @@ import * as Option from "../../Option.ts"
36
36
  import * as Predicate from "../../Predicate.ts"
37
37
  import type * as Schedule from "../../Schedule.ts"
38
38
  import * as Schema from "../../Schema.ts"
39
- import * as Issue from "../../SchemaIssue.ts"
40
- import * as Parser from "../../SchemaParser.ts"
39
+ import * as SchemaIssue from "../../SchemaIssue.ts"
40
+ import * as SchemaParser from "../../SchemaParser.ts"
41
41
  import * as Tranformation from "../../SchemaTransformation.ts"
42
42
  import * as Scope from "../../Scope.ts"
43
43
  import type { ExitEncoded } from "../rpc/RpcMessage.ts"
@@ -55,17 +55,21 @@ const TypeId = "~effect/workflow/Workflow"
55
55
  * @since 4.0.0
56
56
  */
57
57
  export interface Workflow<
58
- Name extends string,
58
+ Tag extends string,
59
59
  Payload extends AnyStructSchema,
60
60
  Success extends Schema.Top,
61
61
  Error extends Schema.Top
62
62
  > {
63
+ new(_: never): {}
64
+
63
65
  readonly [TypeId]: typeof TypeId
64
- readonly name: Name
66
+ readonly _tag: Tag
65
67
  readonly payloadSchema: Payload
66
68
  readonly successSchema: Success
67
69
  readonly errorSchema: Error
68
70
  readonly annotations: Context.Context<never>
71
+ readonly idempotencyKey: (payload: Payload["Type"]) => string
72
+ readonly suspendedRetrySchedule?: Schedule.Schedule<any, unknown> | undefined
69
73
 
70
74
  /**
71
75
  * Add an annotation to the workflow.
@@ -73,14 +77,14 @@ export interface Workflow<
73
77
  annotate<I, S>(
74
78
  key: Context.Key<I, S>,
75
79
  value: S
76
- ): Workflow<Name, Payload, Success, Error>
80
+ ): Workflow<Tag, Payload, Success, Error>
77
81
 
78
82
  /**
79
83
  * Merge multiple annotations into the workflow.
80
84
  */
81
85
  annotateMerge<I>(
82
86
  annotations: Context.Context<I>
83
- ): Workflow<Name, Payload, Success, Error>
87
+ ): Workflow<Tag, Payload, Success, Error>
84
88
 
85
89
  /**
86
90
  * Execute the workflow with the given payload.
@@ -139,7 +143,7 @@ export interface Workflow<
139
143
  | WorkflowEngine
140
144
  | Exclude<
141
145
  R,
142
- WorkflowEngine | WorkflowInstance | Execution<Name> | Scope.Scope
146
+ WorkflowEngine | WorkflowInstance | Execution<Tag> | Scope.Scope
143
147
  >
144
148
  | Payload["DecodingServices"]
145
149
  | Payload["EncodingServices"]
@@ -178,7 +182,7 @@ export interface Workflow<
178
182
  ) => Effect.Effect<
179
183
  A,
180
184
  E,
181
- R | R2 | WorkflowInstance | Execution<Name> | Scope.Scope
185
+ R | R2 | WorkflowInstance | Execution<Tag> | Scope.Scope
182
186
  >
183
187
  <A, E, R, R2>(
184
188
  effect: Effect.Effect<A, E, R>,
@@ -189,7 +193,7 @@ export interface Workflow<
189
193
  ): Effect.Effect<
190
194
  A,
191
195
  E,
192
- R | R2 | WorkflowInstance | Execution<Name> | Scope.Scope
196
+ R | R2 | WorkflowInstance | Execution<Tag> | Scope.Scope
193
197
  >
194
198
  }
195
199
  }
@@ -206,14 +210,14 @@ export interface AnyStructSchema extends Schema.Top {
206
210
 
207
211
  /**
208
212
  * Type-level marker for services associated with a specific workflow
209
- * execution name.
213
+ * execution tag.
210
214
  *
211
215
  * @category models
212
216
  * @since 4.0.0
213
217
  */
214
- export interface Execution<Name extends string> {
218
+ export interface Execution<Tag extends string> {
215
219
  readonly _: unique symbol
216
- readonly name: Name
220
+ readonly _tag: Tag
217
221
  }
218
222
 
219
223
  /**
@@ -224,13 +228,17 @@ export interface Execution<Name extends string> {
224
228
  * @since 4.0.0
225
229
  */
226
230
  export interface Any {
231
+ new(_: never): {}
232
+
227
233
  readonly [TypeId]: typeof TypeId
228
- readonly name: string
234
+ readonly _tag: string
229
235
  readonly executionId: (payload: any) => Effect.Effect<string>
230
236
  readonly payloadSchema: AnyStructSchema
231
237
  readonly successSchema: Schema.Top
232
238
  readonly errorSchema: Schema.Top
233
239
  readonly annotations: Context.Context<never>
240
+ readonly idempotencyKey: (payload: any) => string
241
+ readonly suspendedRetrySchedule?: Schedule.Schedule<any, unknown> | undefined
234
242
  }
235
243
 
236
244
  /**
@@ -317,21 +325,125 @@ const InstanceTag = Context.Service<
317
325
  "effect/workflow/WorkflowEngine/WorkflowInstance" satisfies typeof WorkflowInstance.key
318
326
  )
319
327
 
328
+ const makeExecutionIdFromPayload = (self: AnyWithProps, payload: unknown) =>
329
+ makeHashDigest(`${self._tag}-${self.idempotencyKey(payload)}`)
330
+
331
+ const Proto = {
332
+ [TypeId]: TypeId,
333
+ annotate(this: AnyWithProps, tag: Context.Key<any, any>, value: any) {
334
+ return makeProto({
335
+ _tag: this._tag,
336
+ payloadSchema: this.payloadSchema,
337
+ successSchema: this.successSchema,
338
+ errorSchema: this.errorSchema,
339
+ annotations: Context.add(this.annotations, tag, value),
340
+ idempotencyKey: this.idempotencyKey,
341
+ suspendedRetrySchedule: this.suspendedRetrySchedule
342
+ })
343
+ },
344
+ annotateMerge(this: AnyWithProps, context: Context.Context<any>) {
345
+ return makeProto({
346
+ _tag: this._tag,
347
+ payloadSchema: this.payloadSchema,
348
+ successSchema: this.successSchema,
349
+ errorSchema: this.errorSchema,
350
+ annotations: Context.merge(this.annotations, context),
351
+ idempotencyKey: this.idempotencyKey,
352
+ suspendedRetrySchedule: this.suspendedRetrySchedule
353
+ })
354
+ },
355
+ execute<const Discard extends boolean = false>(
356
+ this: AnyWithProps,
357
+ fields: any,
358
+ opts?: { readonly discard?: Discard } | undefined
359
+ ) {
360
+ return Effect.suspend(() => {
361
+ const payload = this.payloadSchema.make(fields)
362
+ return Effect.flatMap(
363
+ EngineTag,
364
+ (engine) =>
365
+ Effect.flatMap(makeExecutionIdFromPayload(this, payload), (executionId) =>
366
+ Effect.andThen(
367
+ Effect.annotateCurrentSpan({ executionId }),
368
+ engine.execute(this as any, {
369
+ executionId,
370
+ payload,
371
+ discard: opts?.discard,
372
+ suspendedRetrySchedule: this.suspendedRetrySchedule
373
+ })
374
+ ))
375
+ )
376
+ }).pipe(
377
+ Effect.withSpan(
378
+ `${this._tag}.execute`,
379
+ {},
380
+ { captureStackTrace: false }
381
+ )
382
+ ) as any
383
+ },
384
+ poll(this: Workflow<string, AnyStructSchema, Schema.Top, Schema.Top>, executionId: string) {
385
+ return Effect.flatMap(EngineTag, (engine) => engine.poll(this, executionId)).pipe(
386
+ Effect.withSpan(`${this._tag}.poll`, { attributes: { executionId } }, { captureStackTrace: false })
387
+ )
388
+ },
389
+ interrupt(this: AnyWithProps, executionId: string) {
390
+ return Effect.flatMap(EngineTag, (engine) => engine.interrupt(this, executionId)).pipe(
391
+ Effect.withSpan(`${this._tag}.interrupt`, { attributes: { executionId } }, { captureStackTrace: false })
392
+ )
393
+ },
394
+ resume(this: Workflow<string, AnyStructSchema, Schema.Top, Schema.Top>, executionId: string) {
395
+ return Effect.flatMap(EngineTag, (engine) => engine.resume(this, executionId)).pipe(
396
+ Effect.withSpan(`${this._tag}.resume`, { attributes: { executionId } }, { captureStackTrace: false })
397
+ )
398
+ },
399
+ toLayer(this: Workflow<string, AnyStructSchema, Schema.Top, Schema.Top>, execute: any) {
400
+ return Layer.effectDiscard(
401
+ Effect.flatMap(EngineTag, (engine) => engine.register(this, execute))
402
+ )
403
+ },
404
+ executionId(this: AnyWithProps, payload: any) {
405
+ return Effect.flatMap(
406
+ Effect.orDie(this.payloadSchema.makeEffect(payload)),
407
+ (payload) => makeExecutionIdFromPayload(this, payload)
408
+ )
409
+ },
410
+ withCompensation: ((...args: ReadonlyArray<any>) => (withCompensation as any)(...args))
411
+ }
412
+
413
+ const makeProto = <
414
+ const Tag extends string,
415
+ Payload extends AnyStructSchema,
416
+ Success extends Schema.Top,
417
+ Error extends Schema.Top
418
+ >(options: {
419
+ readonly _tag: Tag
420
+ readonly payloadSchema: Payload
421
+ readonly successSchema: Success
422
+ readonly errorSchema: Error
423
+ readonly annotations: Context.Context<never>
424
+ readonly idempotencyKey: (payload: Payload["Type"]) => string
425
+ readonly suspendedRetrySchedule?: Schedule.Schedule<any, unknown> | undefined
426
+ }): Workflow<Tag, Payload, Success, Error> => {
427
+ function Workflow() {}
428
+ Object.setPrototypeOf(Workflow, Proto)
429
+ Object.assign(Workflow, options)
430
+ return Workflow as any
431
+ }
432
+
320
433
  /**
321
434
  * Creates a durable workflow definition with schemas, annotations, and
322
- * deterministic execution IDs derived from the workflow name and idempotency
435
+ * deterministic execution IDs derived from the workflow tag and idempotency
323
436
  * key.
324
437
  *
325
438
  * @category constructors
326
439
  * @since 4.0.0
327
440
  */
328
441
  export const make = <
329
- const Name extends string,
442
+ const Tag extends string,
330
443
  Payload extends Schema.Struct.Fields | AnyStructSchema,
331
444
  Success extends Schema.Top = Schema.Void,
332
445
  Error extends Schema.Top = Schema.Never
333
- >(options: {
334
- readonly name: Name
446
+ >(tag: Tag, options: {
335
447
  readonly payload: Payload
336
448
  readonly idempotencyKey: (
337
449
  payload: Payload extends Schema.Struct.Fields ? Schema.Struct.Type<Payload>
@@ -342,105 +454,23 @@ export const make = <
342
454
  readonly suspendedRetrySchedule?: Schedule.Schedule<any, unknown> | undefined
343
455
  readonly annotations?: Context.Context<never>
344
456
  }): Workflow<
345
- Name,
457
+ Tag,
346
458
  Payload extends Schema.Struct.Fields ? Schema.Struct<Payload> : Payload,
347
459
  Success,
348
460
  Error
349
- > => {
350
- const makeExecutionId = (payload: any) => makeHashDigest(`${options.name}-${options.idempotencyKey(payload)}`)
351
- const self: Workflow<Name, any, Success, Error> = {
352
- [TypeId]: TypeId,
353
- name: options.name,
354
- payloadSchema: Schema.isSchema(options.payload)
461
+ > =>
462
+ makeProto<Tag, Payload extends Schema.Struct.Fields ? Schema.Struct<Payload> : Payload, Success, Error>({
463
+ _tag: tag,
464
+ payloadSchema: (Schema.isSchema(options.payload)
355
465
  ? options.payload
356
- : Schema.Struct(options.payload as any),
466
+ : Schema.Struct(options.payload as any)) as Payload extends Schema.Struct.Fields ? Schema.Struct<Payload>
467
+ : Payload,
357
468
  successSchema: options.success ?? (Schema.Void as any),
358
469
  errorSchema: options.error ?? (Schema.Never as any),
359
470
  annotations: options.annotations ?? Context.empty(),
360
- annotate(tag, value) {
361
- return make({
362
- ...options,
363
- annotations: Context.add(self.annotations, tag, value)
364
- })
365
- },
366
- annotateMerge(context) {
367
- return make({
368
- ...options,
369
- annotations: Context.merge(self.annotations, context)
370
- })
371
- },
372
- execute: Effect.fnUntraced(
373
- function*<const Discard extends boolean = false>(
374
- fields: any,
375
- opts?: { readonly discard?: Discard } | undefined
376
- ) {
377
- const payload = self.payloadSchema.make(fields)
378
- const engine = yield* EngineTag
379
- const executionId = yield* makeExecutionId(payload)
380
- yield* Effect.annotateCurrentSpan({ executionId })
381
- return yield* engine.execute(self, {
382
- executionId,
383
- payload,
384
- discard: opts?.discard,
385
- suspendedRetrySchedule: options.suspendedRetrySchedule
386
- })
387
- },
388
- Effect.withSpan(
389
- `${options.name}.execute`,
390
- {},
391
- { captureStackTrace: false }
392
- )
393
- ) as any,
394
- poll: Effect.fnUntraced(
395
- function*(executionId: string) {
396
- const engine = yield* EngineTag
397
- return yield* engine.poll(self, executionId)
398
- },
399
- (effect, executionId) =>
400
- Effect.withSpan(effect, `${options.name}.poll`, {
401
- captureStackTrace: false,
402
- attributes: { executionId }
403
- })
404
- ),
405
- interrupt: Effect.fnUntraced(
406
- function*(executionId: string) {
407
- const engine = yield* EngineTag
408
- yield* engine.interrupt(self, executionId)
409
- },
410
- (effect, executionId) =>
411
- Effect.withSpan(effect, `${options.name}.interrupt`, {
412
- captureStackTrace: false,
413
- attributes: { executionId }
414
- })
415
- ),
416
- resume: Effect.fnUntraced(
417
- function*(executionId: string) {
418
- const engine = yield* EngineTag
419
- yield* engine.resume(self, executionId)
420
- },
421
- (effect, executionId) =>
422
- Effect.withSpan(effect, `${options.name}.resume`, {
423
- captureStackTrace: false,
424
- attributes: { executionId }
425
- })
426
- ),
427
- toLayer: (execute) =>
428
- Layer.effectDiscard(
429
- Effect.gen(function*() {
430
- const engine = yield* EngineTag
431
- return yield* engine.register(self, execute)
432
- })
433
- ),
434
- executionId: (payload) =>
435
- Effect.flatMap(
436
- Effect.orDie(self.payloadSchema.makeEffect(payload)),
437
- makeExecutionId
438
- ),
439
- withCompensation
440
- }
441
-
442
- return self
443
- }
471
+ idempotencyKey: options.idempotencyKey as any,
472
+ suspendedRetrySchedule: options.suspendedRetrySchedule
473
+ })
444
474
 
445
475
  const ResultTypeId = "~effect/workflow/Workflow/Result"
446
476
 
@@ -539,15 +569,15 @@ export class Complete<A, E> extends Data.TaggedClass("Complete")<{
539
569
  [Schema.Exit(options.success, options.error, Schema.Defect)],
540
570
  ([exit]) => (input, ast, options) => {
541
571
  if (!(isResult(input) && input._tag === "Complete")) {
542
- return Effect.fail(new Issue.InvalidType(ast, Option.some(input)))
572
+ return Effect.fail(new SchemaIssue.InvalidType(ast, Option.some(input)))
543
573
  }
544
574
  return Effect.mapBothEager(
545
- Parser.decodeEffect(exit)(input.exit, options),
575
+ SchemaParser.decodeEffect(exit)(input.exit, options),
546
576
  {
547
577
  onSuccess: (exit) => new Complete({ exit }),
548
578
  onFailure: (issue) =>
549
- new Issue.Composite(ast, Option.some(input), [
550
- new Issue.Pointer(["exit"], issue)
579
+ new SchemaIssue.Composite(ast, Option.some(input), [
580
+ new SchemaIssue.Pointer(["exit"], issue)
551
581
  ])
552
582
  }
553
583
  )
@@ -794,6 +824,11 @@ export const addFinalizer: <R>(
794
824
  /**
795
825
  * Adds compensation logic to an effect inside a Workflow.
796
826
  *
827
+ * **When to use**
828
+ *
829
+ * Use when a top-level workflow step needs compensating cleanup if the overall
830
+ * workflow later fails after the step succeeds.
831
+ *
797
832
  * **Details**
798
833
  *
799
834
  * The compensation finalizer is called if the entire workflow fails, allowing you to perform cleanup or other actions based on the success value and the cause of the workflow failure.
@@ -809,6 +844,11 @@ export const withCompensation: {
809
844
  /**
810
845
  * Adds compensation logic to an effect inside a Workflow.
811
846
  *
847
+ * **When to use**
848
+ *
849
+ * Use when a top-level workflow step needs compensating cleanup if the overall
850
+ * workflow later fails after the step succeeds.
851
+ *
812
852
  * **Details**
813
853
  *
814
854
  * The compensation finalizer is called if the entire workflow fails, allowing you to perform cleanup or other actions based on the success value and the cause of the workflow failure.
@@ -828,6 +868,11 @@ export const withCompensation: {
828
868
  /**
829
869
  * Adds compensation logic to an effect inside a Workflow.
830
870
  *
871
+ * **When to use**
872
+ *
873
+ * Use when a top-level workflow step needs compensating cleanup if the overall
874
+ * workflow later fails after the step succeeds.
875
+ *
831
876
  * **Details**
832
877
  *
833
878
  * The compensation finalizer is called if the entire workflow fails, allowing you to perform cleanup or other actions based on the success value and the cause of the workflow failure.
@@ -372,8 +372,16 @@ export interface Encoded {
372
372
 
373
373
  /**
374
374
  * Builds a typed `WorkflowEngine` service from a low-level encoded
375
- * implementation. This is unsafe because the implementation must correctly
376
- * persist, resume, and encode workflow state.
375
+ * implementation.
376
+ *
377
+ * **When to use**
378
+ *
379
+ * Use when wiring a trusted low-level workflow engine implementation into the
380
+ * typed `WorkflowEngine` service.
381
+ *
382
+ * **Gotchas**
383
+ *
384
+ * The implementation must correctly persist, resume, and encode workflow state.
377
385
  *
378
386
  * @category constructors
379
387
  * @since 4.0.0
@@ -461,7 +469,7 @@ export const makeUnsafe = (options: Encoded): WorkflowEngine["Service"] =>
461
469
  ).pipe(
462
470
  Effect.catch(() =>
463
471
  Effect.die(
464
- `${self.name}.execute: suspendedRetrySchedule exhausted`
472
+ `${self._tag}.execute: suspendedRetrySchedule exhausted`
465
473
  )
466
474
  )
467
475
  )
@@ -616,7 +624,7 @@ export const layerMemory: Layer.Layer<WorkflowEngine> = Layer.effect(WorkflowEng
616
624
  return
617
625
  }
618
626
 
619
- const entry = workflows.get(state.instance.workflow.name)!
627
+ const entry = workflows.get(state.instance.workflow._tag)!
620
628
  const instance = WorkflowInstance.initial(state.instance.workflow, state.instance.executionId)
621
629
  instance.interrupted = state.instance.interrupted
622
630
  state.instance = instance
@@ -647,16 +655,16 @@ export const layerMemory: Layer.Layer<WorkflowEngine> = Layer.effect(WorkflowEng
647
655
 
648
656
  const engine = makeUnsafe({
649
657
  register: Effect.fnUntraced(function*(workflow, execute) {
650
- workflows.set(workflow.name, {
658
+ workflows.set(workflow._tag, {
651
659
  workflow,
652
660
  execute,
653
661
  scope: yield* Effect.scope
654
662
  })
655
663
  }),
656
664
  execute: Effect.fnUntraced(function*(workflow, options) {
657
- const entry = workflows.get(workflow.name)
665
+ const entry = workflows.get(workflow._tag)
658
666
  if (!entry) {
659
- return yield* Effect.orDie(Effect.fail(`Workflow ${workflow.name} is not registered`))
667
+ return yield* Effect.orDie(Effect.fail(`Workflow ${workflow._tag} is not registered`))
660
668
  }
661
669
 
662
670
  let state = executions.get(options.executionId)
@@ -745,7 +753,7 @@ export const layerMemory: Layer.Layer<WorkflowEngine> = Layer.effect(WorkflowEng
745
753
  }),
746
754
  scheduleClock: (workflow, options) =>
747
755
  engine.deferredDone(options.clock.deferred, {
748
- workflowName: workflow.name,
756
+ workflowName: workflow._tag,
749
757
  executionId: options.executionId,
750
758
  deferredName: options.clock.deferred.name,
751
759
  exit: Exit.void
@@ -43,8 +43,7 @@ import type * as Workflow from "./Workflow.ts"
43
43
  * import { RpcServer } from "effect/unstable/rpc"
44
44
  * import { Workflow, WorkflowProxy, WorkflowProxyServer } from "effect/unstable/workflow"
45
45
  *
46
- * const EmailWorkflow = Workflow.make({
47
- * name: "EmailWorkflow",
46
+ * const EmailWorkflow = Workflow.make("EmailWorkflow", {
48
47
  * payload: {
49
48
  * id: Schema.String,
50
49
  * to: Schema.String
@@ -82,15 +81,15 @@ export const toRpcGroup = <
82
81
  for (const workflow_ of workflows) {
83
82
  const workflow = workflow_ as Workflow.AnyWithProps
84
83
  rpcs.push(
85
- Rpc.make(`${prefix}${workflow.name}`, {
84
+ Rpc.make(`${prefix}${workflow._tag}`, {
86
85
  payload: workflow.payloadSchema,
87
86
  error: workflow.errorSchema,
88
87
  success: workflow.successSchema
89
88
  }).annotateMerge(workflow.annotations),
90
- Rpc.make(`${prefix}${workflow.name}Discard`, {
89
+ Rpc.make(`${prefix}${workflow._tag}Discard`, {
91
90
  payload: workflow.payloadSchema
92
91
  }).annotateMerge(workflow.annotations),
93
- Rpc.make(`${prefix}${workflow.name}Resume`, { payload: ResumePayload })
92
+ Rpc.make(`${prefix}${workflow._tag}Resume`, { payload: ResumePayload })
94
93
  .annotateMerge(workflow.annotations)
95
94
  )
96
95
  }
@@ -125,8 +124,7 @@ export type ConvertRpcs<Workflows extends Workflow.Any, Prefix extends string> =
125
124
  * import { HttpApi, HttpApiBuilder } from "effect/unstable/httpapi"
126
125
  * import { Workflow, WorkflowProxy, WorkflowProxyServer } from "effect/unstable/workflow"
127
126
  *
128
- * const EmailWorkflow = Workflow.make({
129
- * name: "EmailWorkflow",
127
+ * const EmailWorkflow = Workflow.make("EmailWorkflow", {
130
128
  * payload: {
131
129
  * id: Schema.String,
132
130
  * to: Schema.String
@@ -161,17 +159,17 @@ export const toHttpApiGroup = <const Name extends string, const Workflows extend
161
159
  let group = HttpApiGroup.make(name)
162
160
  for (const workflow_ of workflows) {
163
161
  const workflow = workflow_ as Workflow.AnyWithProps
164
- const path = `/${tagToPath(workflow.name)}` as const
162
+ const path = `/${tagToPath(workflow._tag)}` as const
165
163
  group = group.add(
166
- HttpApiEndpoint.post(workflow.name, path, {
164
+ HttpApiEndpoint.post(workflow._tag, path, {
167
165
  payload: workflow.payloadSchema,
168
166
  success: workflow.successSchema,
169
167
  error: workflow.errorSchema
170
168
  }).annotateMerge(workflow.annotations),
171
- HttpApiEndpoint.post(workflow.name + "Discard", `${path}/discard`, {
169
+ HttpApiEndpoint.post(workflow._tag + "Discard", `${path}/discard`, {
172
170
  payload: workflow.payloadSchema
173
171
  }).annotateMerge(workflow.annotations),
174
- HttpApiEndpoint.post(workflow.name + "Resume", `${path}/resume`, {
172
+ HttpApiEndpoint.post(workflow._tag + "Resume", `${path}/resume`, {
175
173
  payload: ResumePayload
176
174
  }).annotateMerge(workflow.annotations)
177
175
  ) as any
@@ -67,35 +67,35 @@ export const layerHttpApi = <
67
67
  const workflow = workflow_ as Workflow.AnyWithProps
68
68
  handlers = handlers
69
69
  .handle(
70
- workflow.name as any,
70
+ workflow._tag as any,
71
71
  ({ payload }: { payload: any }) =>
72
72
  workflow.execute(payload).pipe(
73
73
  Effect.tapDefect(Effect.logError),
74
74
  Effect.annotateLogs({
75
75
  module: "WorkflowProxyServer",
76
- method: workflow.name
76
+ method: workflow._tag
77
77
  })
78
78
  )
79
79
  )
80
80
  .handle(
81
- workflow.name + "Discard" as any,
81
+ workflow._tag + "Discard" as any,
82
82
  ({ payload }: { payload: any }) =>
83
83
  workflow.execute(payload, { discard: true } as any).pipe(
84
84
  Effect.tapDefect(Effect.logError),
85
85
  Effect.annotateLogs({
86
86
  module: "WorkflowProxyServer",
87
- method: workflow.name + "Discard"
87
+ method: workflow._tag + "Discard"
88
88
  })
89
89
  )
90
90
  )
91
91
  .handle(
92
- workflow.name + "Resume" as any,
92
+ workflow._tag + "Resume" as any,
93
93
  ({ payload }: { payload: any }) =>
94
94
  workflow.resume(payload.executionId).pipe(
95
95
  Effect.tapDefect(Effect.logError),
96
96
  Effect.annotateLogs({
97
97
  module: "WorkflowProxyServer",
98
- method: workflow.name + "Resume"
98
+ method: workflow._tag + "Resume"
99
99
  })
100
100
  )
101
101
  )
@@ -127,7 +127,7 @@ export const layerRpcHandlers = <
127
127
  const handlers = new Map<string, Rpc.Handler<string>>()
128
128
  for (const workflow_ of workflows) {
129
129
  const workflow = workflow_ as Workflow.AnyWithProps
130
- const tag = `${prefix}${workflow.name}`
130
+ const tag = `${prefix}${workflow._tag}`
131
131
  const tagDiscard = `${tag}Discard`
132
132
  const tagResume = `${tag}Resume`
133
133
  const key = `effect/rpc/Rpc/${tag}`