effect 4.0.0-beta.2 → 4.0.0-beta.21

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 (881) hide show
  1. package/dist/Array.d.ts +127 -299
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +102 -62
  4. package/dist/Array.js.map +1 -1
  5. package/dist/Cache.d.ts +2 -2
  6. package/dist/Cache.d.ts.map +1 -1
  7. package/dist/Cache.js +6 -5
  8. package/dist/Cache.js.map +1 -1
  9. package/dist/Cause.d.ts +1 -1
  10. package/dist/Cause.d.ts.map +1 -1
  11. package/dist/Channel.d.ts +116 -30
  12. package/dist/Channel.d.ts.map +1 -1
  13. package/dist/Channel.js +82 -37
  14. package/dist/Channel.js.map +1 -1
  15. package/dist/Chunk.d.ts +54 -247
  16. package/dist/Chunk.d.ts.map +1 -1
  17. package/dist/Chunk.js +36 -67
  18. package/dist/Chunk.js.map +1 -1
  19. package/dist/Combiner.d.ts +280 -13
  20. package/dist/Combiner.d.ts.map +1 -1
  21. package/dist/Combiner.js +198 -7
  22. package/dist/Combiner.js.map +1 -1
  23. package/dist/Config.d.ts +165 -9
  24. package/dist/Config.d.ts.map +1 -1
  25. package/dist/Config.js +62 -7
  26. package/dist/Config.js.map +1 -1
  27. package/dist/ConfigProvider.d.ts +1 -1
  28. package/dist/Cron.d.ts +1 -1
  29. package/dist/Data.d.ts +534 -365
  30. package/dist/Data.d.ts.map +1 -1
  31. package/dist/Data.js +132 -79
  32. package/dist/Data.js.map +1 -1
  33. package/dist/DateTime.d.ts +23 -161
  34. package/dist/DateTime.d.ts.map +1 -1
  35. package/dist/DateTime.js +6 -51
  36. package/dist/DateTime.js.map +1 -1
  37. package/dist/Duration.d.ts +12 -12
  38. package/dist/Duration.d.ts.map +1 -1
  39. package/dist/Duration.js +12 -12
  40. package/dist/Duration.js.map +1 -1
  41. package/dist/Effect.d.ts +829 -692
  42. package/dist/Effect.d.ts.map +1 -1
  43. package/dist/Effect.js +263 -251
  44. package/dist/Effect.js.map +1 -1
  45. package/dist/Encoding.d.ts +194 -0
  46. package/dist/Encoding.d.ts.map +1 -0
  47. package/dist/Encoding.js +352 -0
  48. package/dist/Encoding.js.map +1 -0
  49. package/dist/Equal.d.ts +276 -109
  50. package/dist/Equal.d.ts.map +1 -1
  51. package/dist/Equal.js +124 -48
  52. package/dist/Equal.js.map +1 -1
  53. package/dist/ErrorReporter.d.ts +376 -0
  54. package/dist/ErrorReporter.d.ts.map +1 -0
  55. package/dist/ErrorReporter.js +246 -0
  56. package/dist/ErrorReporter.js.map +1 -0
  57. package/dist/Fiber.d.ts +2 -2
  58. package/dist/Fiber.d.ts.map +1 -1
  59. package/dist/Fiber.js.map +1 -1
  60. package/dist/FileSystem.d.ts +1 -1
  61. package/dist/FileSystem.d.ts.map +1 -1
  62. package/dist/FileSystem.js +5 -5
  63. package/dist/FileSystem.js.map +1 -1
  64. package/dist/Filter.d.ts +30 -34
  65. package/dist/Filter.d.ts.map +1 -1
  66. package/dist/Filter.js +15 -13
  67. package/dist/Filter.js.map +1 -1
  68. package/dist/Formatter.d.ts +131 -47
  69. package/dist/Formatter.d.ts.map +1 -1
  70. package/dist/Formatter.js +229 -51
  71. package/dist/Formatter.js.map +1 -1
  72. package/dist/Graph.d.ts +1 -1
  73. package/dist/Graph.d.ts.map +1 -1
  74. package/dist/Graph.js +5 -8
  75. package/dist/Graph.js.map +1 -1
  76. package/dist/HashMap.d.ts +15 -14
  77. package/dist/HashMap.d.ts.map +1 -1
  78. package/dist/HashMap.js +4 -4
  79. package/dist/HashMap.js.map +1 -1
  80. package/dist/Iterable.d.ts +40 -39
  81. package/dist/Iterable.d.ts.map +1 -1
  82. package/dist/Iterable.js +94 -22
  83. package/dist/Iterable.js.map +1 -1
  84. package/dist/JsonSchema.d.ts +299 -10
  85. package/dist/JsonSchema.d.ts.map +1 -1
  86. package/dist/JsonSchema.js +323 -4
  87. package/dist/JsonSchema.js.map +1 -1
  88. package/dist/Latch.d.ts +109 -0
  89. package/dist/Latch.d.ts.map +1 -0
  90. package/dist/Latch.js +72 -0
  91. package/dist/Latch.js.map +1 -0
  92. package/dist/Layer.d.ts +9 -9
  93. package/dist/Layer.d.ts.map +1 -1
  94. package/dist/Layer.js.map +1 -1
  95. package/dist/LayerMap.d.ts +4 -4
  96. package/dist/LayerMap.d.ts.map +1 -1
  97. package/dist/LogLevel.d.ts +32 -0
  98. package/dist/LogLevel.d.ts.map +1 -1
  99. package/dist/LogLevel.js +28 -100
  100. package/dist/LogLevel.js.map +1 -1
  101. package/dist/Logger.d.ts +29 -95
  102. package/dist/Logger.d.ts.map +1 -1
  103. package/dist/Logger.js +2 -3
  104. package/dist/Logger.js.map +1 -1
  105. package/dist/ManagedRuntime.d.ts +1 -1
  106. package/dist/ManagedRuntime.js +1 -1
  107. package/dist/Metric.d.ts +2 -2
  108. package/dist/Metric.d.ts.map +1 -1
  109. package/dist/Metric.js +1 -1
  110. package/dist/Metric.js.map +1 -1
  111. package/dist/Optic.d.ts +947 -18
  112. package/dist/Optic.d.ts.map +1 -1
  113. package/dist/Optic.js +454 -5
  114. package/dist/Optic.js.map +1 -1
  115. package/dist/Option.d.ts +22 -15
  116. package/dist/Option.d.ts.map +1 -1
  117. package/dist/Option.js +14 -7
  118. package/dist/Option.js.map +1 -1
  119. package/dist/Pipeable.d.ts +17 -0
  120. package/dist/Pipeable.d.ts.map +1 -1
  121. package/dist/Pipeable.js +19 -1
  122. package/dist/Pipeable.js.map +1 -1
  123. package/dist/PlatformError.d.ts +10 -9
  124. package/dist/PlatformError.d.ts.map +1 -1
  125. package/dist/PlatformError.js +2 -2
  126. package/dist/PlatformError.js.map +1 -1
  127. package/dist/Pool.d.ts +6 -4
  128. package/dist/Pool.d.ts.map +1 -1
  129. package/dist/Pool.js +7 -5
  130. package/dist/Pool.js.map +1 -1
  131. package/dist/PubSub.d.ts +3 -2
  132. package/dist/PubSub.d.ts.map +1 -1
  133. package/dist/PubSub.js +3 -2
  134. package/dist/PubSub.js.map +1 -1
  135. package/dist/Pull.d.ts.map +1 -1
  136. package/dist/Pull.js +1 -1
  137. package/dist/Pull.js.map +1 -1
  138. package/dist/Queue.d.ts.map +1 -1
  139. package/dist/Queue.js +0 -1
  140. package/dist/Queue.js.map +1 -1
  141. package/dist/Random.d.ts +35 -1
  142. package/dist/Random.d.ts.map +1 -1
  143. package/dist/Random.js +46 -12
  144. package/dist/Random.js.map +1 -1
  145. package/dist/RcMap.d.ts +2 -2
  146. package/dist/RcMap.d.ts.map +1 -1
  147. package/dist/RcMap.js +1 -1
  148. package/dist/RcMap.js.map +1 -1
  149. package/dist/RcRef.d.ts +1 -1
  150. package/dist/RcRef.d.ts.map +1 -1
  151. package/dist/Record.d.ts +24 -120
  152. package/dist/Record.d.ts.map +1 -1
  153. package/dist/Record.js +21 -41
  154. package/dist/Record.js.map +1 -1
  155. package/dist/Reducer.d.ts +166 -7
  156. package/dist/Reducer.d.ts.map +1 -1
  157. package/dist/Reducer.js +135 -1
  158. package/dist/Reducer.js.map +1 -1
  159. package/dist/References.d.ts +3 -3
  160. package/dist/References.d.ts.map +1 -1
  161. package/dist/Request.d.ts +1 -1
  162. package/dist/Request.d.ts.map +1 -1
  163. package/dist/Request.js +2 -1
  164. package/dist/Request.js.map +1 -1
  165. package/dist/RequestResolver.d.ts +6 -26
  166. package/dist/RequestResolver.d.ts.map +1 -1
  167. package/dist/RequestResolver.js +0 -20
  168. package/dist/RequestResolver.js.map +1 -1
  169. package/dist/Result.d.ts +12 -0
  170. package/dist/Result.d.ts.map +1 -1
  171. package/dist/Result.js +12 -0
  172. package/dist/Result.js.map +1 -1
  173. package/dist/Schedule.d.ts +47 -20
  174. package/dist/Schedule.d.ts.map +1 -1
  175. package/dist/Schedule.js +94 -34
  176. package/dist/Schedule.js.map +1 -1
  177. package/dist/Schema.d.ts +266 -50
  178. package/dist/Schema.d.ts.map +1 -1
  179. package/dist/Schema.js +426 -74
  180. package/dist/Schema.js.map +1 -1
  181. package/dist/SchemaAST.d.ts.map +1 -1
  182. package/dist/SchemaAST.js +7 -6
  183. package/dist/SchemaAST.js.map +1 -1
  184. package/dist/SchemaGetter.d.ts +2 -2
  185. package/dist/SchemaGetter.d.ts.map +1 -1
  186. package/dist/SchemaGetter.js +12 -14
  187. package/dist/SchemaGetter.js.map +1 -1
  188. package/dist/SchemaParser.d.ts +5 -0
  189. package/dist/SchemaParser.d.ts.map +1 -1
  190. package/dist/SchemaParser.js +10 -0
  191. package/dist/SchemaParser.js.map +1 -1
  192. package/dist/SchemaRepresentation.d.ts +44 -43
  193. package/dist/SchemaRepresentation.d.ts.map +1 -1
  194. package/dist/SchemaRepresentation.js +43 -24
  195. package/dist/SchemaRepresentation.js.map +1 -1
  196. package/dist/SchemaTransformation.d.ts +107 -3
  197. package/dist/SchemaTransformation.d.ts.map +1 -1
  198. package/dist/SchemaTransformation.js +159 -4
  199. package/dist/SchemaTransformation.js.map +1 -1
  200. package/dist/ScopedCache.d.ts +2 -2
  201. package/dist/ScopedCache.d.ts.map +1 -1
  202. package/dist/ScopedCache.js +1 -1
  203. package/dist/ScopedCache.js.map +1 -1
  204. package/dist/Semaphore.d.ts +211 -0
  205. package/dist/Semaphore.d.ts.map +1 -0
  206. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  207. package/dist/Semaphore.js.map +1 -0
  208. package/dist/ServiceMap.d.ts +39 -30
  209. package/dist/ServiceMap.d.ts.map +1 -1
  210. package/dist/ServiceMap.js +3 -3
  211. package/dist/ServiceMap.js.map +1 -1
  212. package/dist/Sink.d.ts +13 -13
  213. package/dist/Sink.d.ts.map +1 -1
  214. package/dist/Sink.js +53 -6
  215. package/dist/Sink.js.map +1 -1
  216. package/dist/Stream.d.ts +235 -423
  217. package/dist/Stream.d.ts.map +1 -1
  218. package/dist/Stream.js +124 -77
  219. package/dist/Stream.js.map +1 -1
  220. package/dist/Struct.d.ts +16 -0
  221. package/dist/Struct.d.ts.map +1 -1
  222. package/dist/Struct.js +22 -0
  223. package/dist/Struct.js.map +1 -1
  224. package/dist/SubscriptionRef.d.ts +2 -1
  225. package/dist/SubscriptionRef.d.ts.map +1 -1
  226. package/dist/SubscriptionRef.js +2 -1
  227. package/dist/SubscriptionRef.js.map +1 -1
  228. package/dist/SynchronizedRef.d.ts +2 -1
  229. package/dist/SynchronizedRef.d.ts.map +1 -1
  230. package/dist/SynchronizedRef.js +2 -1
  231. package/dist/SynchronizedRef.js.map +1 -1
  232. package/dist/Trie.d.ts +18 -17
  233. package/dist/Trie.d.ts.map +1 -1
  234. package/dist/Trie.js +5 -5
  235. package/dist/Trie.js.map +1 -1
  236. package/dist/TxChunk.d.ts +37 -37
  237. package/dist/TxChunk.d.ts.map +1 -1
  238. package/dist/TxChunk.js +3 -3
  239. package/dist/TxChunk.js.map +1 -1
  240. package/dist/TxDeferred.d.ts +328 -0
  241. package/dist/TxDeferred.d.ts.map +1 -0
  242. package/dist/TxDeferred.js +196 -0
  243. package/dist/TxDeferred.js.map +1 -0
  244. package/dist/TxHashMap.d.ts +84 -83
  245. package/dist/TxHashMap.d.ts.map +1 -1
  246. package/dist/TxHashMap.js +24 -24
  247. package/dist/TxHashMap.js.map +1 -1
  248. package/dist/TxHashSet.d.ts +35 -35
  249. package/dist/TxHashSet.d.ts.map +1 -1
  250. package/dist/TxHashSet.js +14 -14
  251. package/dist/TxHashSet.js.map +1 -1
  252. package/dist/TxPriorityQueue.d.ts +609 -0
  253. package/dist/TxPriorityQueue.d.ts.map +1 -0
  254. package/dist/TxPriorityQueue.js +415 -0
  255. package/dist/TxPriorityQueue.js.map +1 -0
  256. package/dist/TxPubSub.d.ts +585 -0
  257. package/dist/TxPubSub.d.ts.map +1 -0
  258. package/dist/TxPubSub.js +521 -0
  259. package/dist/TxPubSub.js.map +1 -0
  260. package/dist/TxQueue.d.ts +32 -32
  261. package/dist/TxQueue.d.ts.map +1 -1
  262. package/dist/TxQueue.js +26 -26
  263. package/dist/TxQueue.js.map +1 -1
  264. package/dist/TxReentrantLock.d.ts +523 -0
  265. package/dist/TxReentrantLock.d.ts.map +1 -0
  266. package/dist/TxReentrantLock.js +504 -0
  267. package/dist/TxReentrantLock.js.map +1 -0
  268. package/dist/TxRef.d.ts +34 -34
  269. package/dist/TxRef.d.ts.map +1 -1
  270. package/dist/TxRef.js +21 -14
  271. package/dist/TxRef.js.map +1 -1
  272. package/dist/TxSemaphore.d.ts +8 -8
  273. package/dist/TxSemaphore.d.ts.map +1 -1
  274. package/dist/TxSemaphore.js +7 -7
  275. package/dist/TxSemaphore.js.map +1 -1
  276. package/dist/TxSubscriptionRef.d.ts +508 -0
  277. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  278. package/dist/TxSubscriptionRef.js +293 -0
  279. package/dist/TxSubscriptionRef.js.map +1 -0
  280. package/dist/Types.d.ts +84 -6
  281. package/dist/Types.d.ts.map +1 -1
  282. package/dist/index.d.ts +591 -20
  283. package/dist/index.d.ts.map +1 -1
  284. package/dist/index.js +591 -20
  285. package/dist/index.js.map +1 -1
  286. package/dist/internal/core.js +11 -3
  287. package/dist/internal/core.js.map +1 -1
  288. package/dist/internal/dateTime.js +3 -11
  289. package/dist/internal/dateTime.js.map +1 -1
  290. package/dist/internal/effect.js +263 -99
  291. package/dist/internal/effect.js.map +1 -1
  292. package/dist/internal/hashMap.js +5 -4
  293. package/dist/internal/hashMap.js.map +1 -1
  294. package/dist/internal/random.d.ts +2 -0
  295. package/dist/internal/random.d.ts.map +1 -0
  296. package/dist/internal/random.js +13 -0
  297. package/dist/internal/random.js.map +1 -0
  298. package/dist/internal/rcRef.js +3 -2
  299. package/dist/internal/rcRef.js.map +1 -1
  300. package/dist/internal/request.js +2 -2
  301. package/dist/internal/request.js.map +1 -1
  302. package/dist/internal/schema/annotations.js +2 -0
  303. package/dist/internal/schema/annotations.js.map +1 -1
  304. package/dist/internal/schema/schema.js +1 -0
  305. package/dist/internal/schema/schema.js.map +1 -1
  306. package/dist/internal/trie.js +5 -4
  307. package/dist/internal/trie.js.map +1 -1
  308. package/dist/testing/TestClock.d.ts +7 -6
  309. package/dist/testing/TestClock.d.ts.map +1 -1
  310. package/dist/testing/TestClock.js +6 -4
  311. package/dist/testing/TestClock.js.map +1 -1
  312. package/dist/testing/TestSchema.d.ts +8 -8
  313. package/dist/testing/TestSchema.d.ts.map +1 -1
  314. package/dist/testing/TestSchema.js.map +1 -1
  315. package/dist/unstable/ai/AiError.d.ts +128 -48
  316. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  317. package/dist/unstable/ai/AiError.js +11 -12
  318. package/dist/unstable/ai/AiError.js.map +1 -1
  319. package/dist/unstable/ai/Chat.d.ts +3 -3
  320. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  321. package/dist/unstable/ai/Chat.js +4 -3
  322. package/dist/unstable/ai/Chat.js.map +1 -1
  323. package/dist/unstable/ai/LanguageModel.d.ts +4 -2
  324. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  325. package/dist/unstable/ai/LanguageModel.js +86 -14
  326. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  327. package/dist/unstable/ai/McpSchema.d.ts +163 -87
  328. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  329. package/dist/unstable/ai/McpSchema.js +49 -12
  330. package/dist/unstable/ai/McpSchema.js.map +1 -1
  331. package/dist/unstable/ai/McpServer.d.ts +1 -1
  332. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  333. package/dist/unstable/ai/McpServer.js +35 -7
  334. package/dist/unstable/ai/McpServer.js.map +1 -1
  335. package/dist/unstable/ai/Model.d.ts +25 -7
  336. package/dist/unstable/ai/Model.d.ts.map +1 -1
  337. package/dist/unstable/ai/Model.js +22 -6
  338. package/dist/unstable/ai/Model.js.map +1 -1
  339. package/dist/unstable/ai/Prompt.d.ts +20 -20
  340. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  341. package/dist/unstable/ai/Response.d.ts +26 -26
  342. package/dist/unstable/ai/Response.d.ts.map +1 -1
  343. package/dist/unstable/ai/Response.js +1 -1
  344. package/dist/unstable/ai/Response.js.map +1 -1
  345. package/dist/unstable/ai/Tool.d.ts +19 -3
  346. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  347. package/dist/unstable/ai/Tool.js +14 -9
  348. package/dist/unstable/ai/Tool.js.map +1 -1
  349. package/dist/unstable/ai/index.d.ts +1 -1
  350. package/dist/unstable/ai/index.js +1 -1
  351. package/dist/unstable/cli/CliError.d.ts +5 -5
  352. package/dist/unstable/cli/CliOutput.js +59 -6
  353. package/dist/unstable/cli/CliOutput.js.map +1 -1
  354. package/dist/unstable/cli/Command.d.ts +276 -19
  355. package/dist/unstable/cli/Command.d.ts.map +1 -1
  356. package/dist/unstable/cli/Command.js +234 -36
  357. package/dist/unstable/cli/Command.js.map +1 -1
  358. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  359. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  360. package/dist/unstable/cli/GlobalFlag.js +118 -0
  361. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  362. package/dist/unstable/cli/HelpDoc.d.ts +70 -2
  363. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  364. package/dist/unstable/cli/index.d.ts +4 -0
  365. package/dist/unstable/cli/index.d.ts.map +1 -1
  366. package/dist/unstable/cli/index.js +4 -0
  367. package/dist/unstable/cli/index.js.map +1 -1
  368. package/dist/unstable/cli/internal/command.d.ts +17 -8
  369. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  370. package/dist/unstable/cli/internal/command.js +32 -23
  371. package/dist/unstable/cli/internal/command.js.map +1 -1
  372. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
  373. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  374. package/dist/unstable/cli/internal/help.d.ts +33 -0
  375. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  376. package/dist/unstable/cli/internal/help.js +107 -0
  377. package/dist/unstable/cli/internal/help.js.map +1 -0
  378. package/dist/unstable/cli/internal/parser.js +29 -36
  379. package/dist/unstable/cli/internal/parser.js.map +1 -1
  380. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  381. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  382. package/dist/unstable/cluster/ClusterCron.js +1 -1
  383. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  384. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  385. package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
  386. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  387. package/dist/unstable/cluster/Entity.d.ts +7 -6
  388. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  389. package/dist/unstable/cluster/Entity.js.map +1 -1
  390. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  391. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  392. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  393. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  394. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  395. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  396. package/dist/unstable/cluster/Message.d.ts +10 -10
  397. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  398. package/dist/unstable/cluster/MessageStorage.js +2 -1
  399. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  400. package/dist/unstable/cluster/Reply.d.ts +6 -6
  401. package/dist/unstable/cluster/Runner.d.ts +1 -1
  402. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  403. package/dist/unstable/cluster/Runners.js +4 -3
  404. package/dist/unstable/cluster/Runners.js.map +1 -1
  405. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  406. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  407. package/dist/unstable/cluster/Sharding.js +9 -7
  408. package/dist/unstable/cluster/Sharding.js.map +1 -1
  409. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  410. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  411. package/dist/unstable/cluster/ShardingConfig.js +20 -20
  412. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  413. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  414. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  415. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  416. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  417. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  418. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  419. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  420. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  421. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  422. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  423. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  424. package/dist/unstable/encoding/Sse.d.ts +4 -4
  425. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  426. package/dist/unstable/encoding/Sse.js +1 -1
  427. package/dist/unstable/encoding/Sse.js.map +1 -1
  428. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  429. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  430. package/dist/unstable/eventlog/EventLog.js +2 -1
  431. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  432. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  433. package/dist/unstable/http/Cookies.d.ts +3 -3
  434. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  435. package/dist/unstable/http/Cookies.js +2 -2
  436. package/dist/unstable/http/Cookies.js.map +1 -1
  437. package/dist/unstable/http/Headers.d.ts.map +1 -1
  438. package/dist/unstable/http/Headers.js +27 -10
  439. package/dist/unstable/http/Headers.js.map +1 -1
  440. package/dist/unstable/http/HttpBody.d.ts +17 -2
  441. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  442. package/dist/unstable/http/HttpBody.js +28 -1
  443. package/dist/unstable/http/HttpBody.js.map +1 -1
  444. package/dist/unstable/http/HttpClient.d.ts +37 -13
  445. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  446. package/dist/unstable/http/HttpClient.js +4 -4
  447. package/dist/unstable/http/HttpClient.js.map +1 -1
  448. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  449. package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
  450. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  451. package/dist/unstable/http/HttpClientRequest.js +15 -3
  452. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  453. package/dist/unstable/http/HttpEffect.d.ts +3 -8
  454. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  455. package/dist/unstable/http/HttpEffect.js +42 -56
  456. package/dist/unstable/http/HttpEffect.js.map +1 -1
  457. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  458. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  459. package/dist/unstable/http/HttpMethod.js +3 -3
  460. package/dist/unstable/http/HttpMethod.js.map +1 -1
  461. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  462. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  463. package/dist/unstable/http/HttpMiddleware.js +8 -17
  464. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  465. package/dist/unstable/http/HttpServerError.d.ts +20 -33
  466. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  467. package/dist/unstable/http/HttpServerError.js +37 -44
  468. package/dist/unstable/http/HttpServerError.js.map +1 -1
  469. package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
  470. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  471. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  472. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  473. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  474. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  475. package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
  476. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  477. package/dist/unstable/http/HttpServerResponse.js +3 -1
  478. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  479. package/dist/unstable/http/Multipart.d.ts +3 -3
  480. package/dist/unstable/http/UrlParams.d.ts +14 -6
  481. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  482. package/dist/unstable/http/UrlParams.js +1 -1
  483. package/dist/unstable/http/UrlParams.js.map +1 -1
  484. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  485. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  486. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  487. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  488. package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
  489. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  490. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  491. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  492. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  493. package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
  494. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  495. package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
  496. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  497. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  498. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  499. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
  500. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  501. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  502. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  503. package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
  504. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  505. package/dist/unstable/httpapi/HttpApiError.js +29 -9
  506. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  507. package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
  508. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  509. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  510. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
  511. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  512. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  513. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  514. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  515. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  516. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  517. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  518. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  519. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  520. package/dist/unstable/httpapi/OpenApi.js +32 -21
  521. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  522. package/dist/unstable/observability/Otlp.d.ts +12 -12
  523. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  524. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  525. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  526. package/dist/unstable/observability/OtlpExporter.js +1 -1
  527. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  528. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  529. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  530. package/dist/unstable/observability/OtlpLogger.js +7 -4
  531. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  532. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  533. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  534. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  535. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  536. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  537. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  538. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  539. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  540. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  541. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  542. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  543. package/dist/unstable/persistence/PersistedCache.js +2 -1
  544. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  545. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  546. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  547. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  548. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  549. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  550. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  551. package/dist/unstable/persistence/Persistence.js +2 -2
  552. package/dist/unstable/persistence/Persistence.js.map +1 -1
  553. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  554. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  555. package/dist/unstable/persistence/RateLimiter.js +1 -1
  556. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  557. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  558. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  559. package/dist/unstable/process/ChildProcess.js +1 -65
  560. package/dist/unstable/process/ChildProcess.js.map +1 -1
  561. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  562. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  563. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  564. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  565. package/dist/unstable/reactivity/Atom.d.ts +10 -10
  566. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  567. package/dist/unstable/reactivity/Atom.js +16 -13
  568. package/dist/unstable/reactivity/Atom.js.map +1 -1
  569. package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
  570. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  571. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  572. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  573. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  574. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  575. package/dist/unstable/reactivity/AtomRegistry.js +24 -7
  576. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  577. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  578. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  579. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  580. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  581. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  582. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  583. package/dist/unstable/reactivity/Hydration.js +76 -0
  584. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  585. package/dist/unstable/reactivity/index.d.ts +4 -0
  586. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  587. package/dist/unstable/reactivity/index.js +4 -0
  588. package/dist/unstable/reactivity/index.js.map +1 -1
  589. package/dist/unstable/rpc/Rpc.d.ts +4 -4
  590. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  591. package/dist/unstable/rpc/Rpc.js.map +1 -1
  592. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  593. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  594. package/dist/unstable/rpc/RpcClient.js +6 -13
  595. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  596. package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
  597. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  598. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  599. package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
  600. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  601. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  602. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  603. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  604. package/dist/unstable/rpc/RpcSchema.js +14 -0
  605. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  606. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  607. package/dist/unstable/rpc/RpcSerialization.js +34 -9
  608. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  609. package/dist/unstable/rpc/RpcServer.d.ts +0 -7
  610. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  611. package/dist/unstable/rpc/RpcServer.js +15 -15
  612. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  613. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  614. package/dist/unstable/rpc/Utils.js +2 -1
  615. package/dist/unstable/rpc/Utils.js.map +1 -1
  616. package/dist/unstable/schema/Model.d.ts +1 -1
  617. package/dist/unstable/schema/Model.d.ts.map +1 -1
  618. package/dist/unstable/schema/VariantSchema.d.ts +3 -3
  619. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  620. package/dist/unstable/schema/VariantSchema.js +3 -3
  621. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  622. package/dist/unstable/socket/Socket.d.ts +4 -4
  623. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  624. package/dist/unstable/socket/Socket.js +6 -5
  625. package/dist/unstable/socket/Socket.js.map +1 -1
  626. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  627. package/dist/unstable/sql/Migrator.d.ts +1 -1
  628. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  629. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  630. package/dist/unstable/sql/SqlError.d.ts +14 -14
  631. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  632. package/dist/unstable/sql/SqlError.js +9 -3
  633. package/dist/unstable/sql/SqlError.js.map +1 -1
  634. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  635. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  636. package/dist/unstable/sql/SqlModel.js +3 -3
  637. package/dist/unstable/sql/SqlModel.js.map +1 -1
  638. package/dist/unstable/sql/SqlSchema.d.ts +16 -5
  639. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  640. package/dist/unstable/sql/SqlSchema.js +17 -7
  641. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  642. package/dist/unstable/sql/Statement.js +0 -1
  643. package/dist/unstable/sql/Statement.js.map +1 -1
  644. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  645. package/dist/unstable/workers/Worker.js +2 -1
  646. package/dist/unstable/workers/Worker.js.map +1 -1
  647. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  648. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  649. package/dist/unstable/workflow/DurableClock.js +3 -3
  650. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  651. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  652. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  653. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  654. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  655. package/dist/unstable/workflow/Workflow.js +1 -1
  656. package/dist/unstable/workflow/Workflow.js.map +1 -1
  657. package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
  658. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  659. package/dist/unstable/workflow/WorkflowEngine.js +137 -1
  660. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  661. package/package.json +2 -2
  662. package/src/Array.ts +190 -342
  663. package/src/Cache.ts +9 -8
  664. package/src/Cause.ts +1 -1
  665. package/src/Channel.ts +554 -138
  666. package/src/Chunk.ts +81 -268
  667. package/src/Combiner.ts +280 -13
  668. package/src/Config.ts +183 -21
  669. package/src/Data.ts +538 -374
  670. package/src/DateTime.ts +24 -164
  671. package/src/Duration.ts +15 -15
  672. package/src/Effect.ts +991 -800
  673. package/src/Encoding.ts +879 -0
  674. package/src/Equal.ts +278 -111
  675. package/src/ErrorReporter.ts +459 -0
  676. package/src/Fiber.ts +9 -2
  677. package/src/FileSystem.ts +7 -8
  678. package/src/Filter.ts +48 -58
  679. package/src/Formatter.ts +253 -51
  680. package/src/Graph.ts +24 -11
  681. package/src/HashMap.ts +15 -14
  682. package/src/Iterable.ts +105 -50
  683. package/src/JsonSchema.ts +383 -10
  684. package/src/Latch.ts +112 -0
  685. package/src/Layer.ts +11 -15
  686. package/src/LayerMap.ts +5 -5
  687. package/src/LogLevel.ts +37 -0
  688. package/src/Logger.ts +33 -100
  689. package/src/ManagedRuntime.ts +1 -1
  690. package/src/Metric.ts +4 -4
  691. package/src/Optic.ts +948 -19
  692. package/src/Option.ts +30 -20
  693. package/src/Pipeable.ts +32 -1
  694. package/src/PlatformError.ts +5 -5
  695. package/src/Pool.ts +13 -11
  696. package/src/PubSub.ts +10 -9
  697. package/src/Pull.ts +1 -1
  698. package/src/Queue.ts +0 -1
  699. package/src/Random.ts +51 -14
  700. package/src/RcMap.ts +5 -5
  701. package/src/RcRef.ts +1 -1
  702. package/src/Record.ts +43 -152
  703. package/src/Reducer.ts +166 -7
  704. package/src/References.ts +4 -4
  705. package/src/Request.ts +3 -2
  706. package/src/RequestResolver.ts +9 -29
  707. package/src/Result.ts +13 -0
  708. package/src/Schedule.ts +318 -160
  709. package/src/Schema.ts +661 -116
  710. package/src/SchemaAST.ts +7 -6
  711. package/src/SchemaGetter.ts +12 -14
  712. package/src/SchemaParser.ts +11 -0
  713. package/src/SchemaRepresentation.ts +43 -24
  714. package/src/SchemaTransformation.ts +189 -4
  715. package/src/ScopedCache.ts +3 -3
  716. package/src/Semaphore.ts +356 -0
  717. package/src/ServiceMap.ts +47 -38
  718. package/src/Sink.ts +78 -26
  719. package/src/Stream.ts +566 -601
  720. package/src/Struct.ts +26 -0
  721. package/src/SubscriptionRef.ts +3 -2
  722. package/src/SynchronizedRef.ts +3 -2
  723. package/src/Trie.ts +18 -17
  724. package/src/TxChunk.ts +72 -53
  725. package/src/TxDeferred.ts +394 -0
  726. package/src/TxHashMap.ts +332 -285
  727. package/src/TxHashSet.ts +111 -116
  728. package/src/TxPriorityQueue.ts +767 -0
  729. package/src/TxPubSub.ts +789 -0
  730. package/src/TxQueue.ts +241 -251
  731. package/src/TxReentrantLock.ts +753 -0
  732. package/src/TxRef.ts +50 -38
  733. package/src/TxSemaphore.ts +29 -32
  734. package/src/TxSubscriptionRef.ts +639 -0
  735. package/src/Types.ts +78 -2
  736. package/src/index.ts +600 -21
  737. package/src/internal/core.ts +12 -5
  738. package/src/internal/dateTime.ts +9 -30
  739. package/src/internal/effect.ts +744 -265
  740. package/src/internal/hashMap.ts +9 -7
  741. package/src/internal/random.ts +20 -0
  742. package/src/internal/rcRef.ts +4 -3
  743. package/src/internal/request.ts +2 -2
  744. package/src/internal/schema/annotations.ts +2 -0
  745. package/src/internal/schema/schema.ts +1 -0
  746. package/src/internal/trie.ts +16 -9
  747. package/src/testing/TestClock.ts +13 -11
  748. package/src/testing/TestSchema.ts +10 -10
  749. package/src/unstable/ai/AiError.ts +97 -44
  750. package/src/unstable/ai/Chat.ts +12 -11
  751. package/src/unstable/ai/LanguageModel.ts +129 -25
  752. package/src/unstable/ai/McpSchema.ts +59 -13
  753. package/src/unstable/ai/McpServer.ts +48 -9
  754. package/src/unstable/ai/Model.ts +40 -9
  755. package/src/unstable/ai/Prompt.ts +37 -37
  756. package/src/unstable/ai/Response.ts +25 -25
  757. package/src/unstable/ai/Tool.ts +19 -13
  758. package/src/unstable/ai/index.ts +1 -1
  759. package/src/unstable/cli/CliOutput.ts +75 -6
  760. package/src/unstable/cli/Command.ts +501 -60
  761. package/src/unstable/cli/GlobalFlag.ts +243 -0
  762. package/src/unstable/cli/HelpDoc.ts +80 -2
  763. package/src/unstable/cli/index.ts +5 -0
  764. package/src/unstable/cli/internal/command.ts +50 -34
  765. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  766. package/src/unstable/cli/internal/help.ts +146 -0
  767. package/src/unstable/cli/internal/parser.ts +33 -54
  768. package/src/unstable/cluster/ClusterCron.ts +2 -2
  769. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
  770. package/src/unstable/cluster/Entity.ts +11 -10
  771. package/src/unstable/cluster/EntityResource.ts +4 -4
  772. package/src/unstable/cluster/Envelope.ts +1 -1
  773. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  774. package/src/unstable/cluster/MessageStorage.ts +3 -5
  775. package/src/unstable/cluster/Runners.ts +6 -5
  776. package/src/unstable/cluster/Sharding.ts +12 -10
  777. package/src/unstable/cluster/ShardingConfig.ts +30 -31
  778. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  779. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  780. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  781. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  782. package/src/unstable/encoding/Sse.ts +3 -5
  783. package/src/unstable/eventlog/EventLog.ts +2 -1
  784. package/src/unstable/http/Cookies.ts +3 -3
  785. package/src/unstable/http/Headers.ts +28 -13
  786. package/src/unstable/http/HttpBody.ts +42 -1
  787. package/src/unstable/http/HttpClient.ts +58 -23
  788. package/src/unstable/http/HttpClientRequest.ts +38 -13
  789. package/src/unstable/http/HttpEffect.ts +46 -68
  790. package/src/unstable/http/HttpMethod.ts +16 -4
  791. package/src/unstable/http/HttpMiddleware.ts +9 -24
  792. package/src/unstable/http/HttpServerError.ts +42 -45
  793. package/src/unstable/http/HttpServerRequest.ts +1 -1
  794. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  795. package/src/unstable/http/HttpServerResponse.ts +4 -2
  796. package/src/unstable/http/Multipart.ts +2 -2
  797. package/src/unstable/http/UrlParams.ts +20 -5
  798. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  799. package/src/unstable/httpapi/HttpApi.ts +5 -5
  800. package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
  801. package/src/unstable/httpapi/HttpApiClient.ts +14 -6
  802. package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
  803. package/src/unstable/httpapi/HttpApiError.ts +30 -9
  804. package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
  805. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
  806. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  807. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  808. package/src/unstable/httpapi/OpenApi.ts +41 -23
  809. package/src/unstable/observability/Otlp.ts +12 -12
  810. package/src/unstable/observability/OtlpExporter.ts +3 -3
  811. package/src/unstable/observability/OtlpLogger.ts +13 -9
  812. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  813. package/src/unstable/observability/OtlpTracer.ts +4 -4
  814. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  815. package/src/unstable/persistence/Persistable.ts +2 -2
  816. package/src/unstable/persistence/PersistedCache.ts +20 -9
  817. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  818. package/src/unstable/persistence/Persistence.ts +3 -3
  819. package/src/unstable/persistence/RateLimiter.ts +4 -4
  820. package/src/unstable/process/ChildProcess.ts +6 -208
  821. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  822. package/src/unstable/reactivity/Atom.ts +27 -25
  823. package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
  824. package/src/unstable/reactivity/AtomRegistry.ts +31 -7
  825. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  826. package/src/unstable/reactivity/Hydration.ts +112 -0
  827. package/src/unstable/reactivity/index.ts +5 -0
  828. package/src/unstable/rpc/Rpc.ts +6 -6
  829. package/src/unstable/rpc/RpcClient.ts +12 -54
  830. package/src/unstable/rpc/RpcGroup.ts +4 -4
  831. package/src/unstable/rpc/RpcMiddleware.ts +3 -3
  832. package/src/unstable/rpc/RpcSchema.ts +17 -0
  833. package/src/unstable/rpc/RpcSerialization.ts +44 -9
  834. package/src/unstable/rpc/RpcServer.ts +21 -30
  835. package/src/unstable/rpc/Utils.ts +2 -1
  836. package/src/unstable/schema/VariantSchema.ts +6 -6
  837. package/src/unstable/socket/Socket.ts +16 -17
  838. package/src/unstable/sql/SqlClient.ts +1 -1
  839. package/src/unstable/sql/SqlError.ts +11 -9
  840. package/src/unstable/sql/SqlModel.ts +5 -5
  841. package/src/unstable/sql/SqlSchema.ts +41 -25
  842. package/src/unstable/sql/Statement.ts +0 -1
  843. package/src/unstable/workers/Worker.ts +2 -1
  844. package/src/unstable/workflow/DurableClock.ts +8 -8
  845. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  846. package/src/unstable/workflow/Workflow.ts +6 -2
  847. package/src/unstable/workflow/WorkflowEngine.ts +185 -2
  848. package/dist/PartitionedSemaphore.d.ts +0 -52
  849. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  850. package/dist/PartitionedSemaphore.js.map +0 -1
  851. package/dist/encoding/Base64.d.ts +0 -67
  852. package/dist/encoding/Base64.d.ts.map +0 -1
  853. package/dist/encoding/Base64.js +0 -146
  854. package/dist/encoding/Base64.js.map +0 -1
  855. package/dist/encoding/Base64Url.d.ts +0 -60
  856. package/dist/encoding/Base64Url.d.ts.map +0 -1
  857. package/dist/encoding/Base64Url.js +0 -89
  858. package/dist/encoding/Base64Url.js.map +0 -1
  859. package/dist/encoding/EncodingError.d.ts +0 -31
  860. package/dist/encoding/EncodingError.d.ts.map +0 -1
  861. package/dist/encoding/EncodingError.js +0 -22
  862. package/dist/encoding/EncodingError.js.map +0 -1
  863. package/dist/encoding/Hex.d.ts +0 -61
  864. package/dist/encoding/Hex.d.ts.map +0 -1
  865. package/dist/encoding/Hex.js +0 -115
  866. package/dist/encoding/Hex.js.map +0 -1
  867. package/dist/encoding/index.d.ts +0 -26
  868. package/dist/encoding/index.d.ts.map +0 -1
  869. package/dist/encoding/index.js +0 -27
  870. package/dist/encoding/index.js.map +0 -1
  871. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  872. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  873. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  874. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  875. package/src/PartitionedSemaphore.ts +0 -182
  876. package/src/encoding/Base64.ts +0 -366
  877. package/src/encoding/Base64Url.ts +0 -104
  878. package/src/encoding/EncodingError.ts +0 -35
  879. package/src/encoding/Hex.ts +0 -390
  880. package/src/encoding/index.ts +0 -31
  881. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/Effect.js CHANGED
@@ -181,7 +181,6 @@ export const isEffect = u => typeof u === "object" && u !== null && TypeId in u;
181
181
  * ```
182
182
  *
183
183
  * @see {@link forEach} for iterating over elements and applying an effect.
184
- * @see {@link allWith} for a data-last version of this function.
185
184
  *
186
185
  * @since 2.0.0
187
186
  * @category Collecting
@@ -215,6 +214,72 @@ export const all = internal.all;
215
214
  * @category Collecting
216
215
  */
217
216
  export const partition = internal.partition;
217
+ /**
218
+ * Applies an effectful function to each element and accumulates all failures.
219
+ *
220
+ * This function always evaluates every element. If at least one effect fails,
221
+ * all failures are returned as a non-empty array and successes are discarded.
222
+ * If all effects succeed, it returns all collected successes.
223
+ *
224
+ * Use `discard: true` to ignore successful values while still validating all
225
+ * elements.
226
+ *
227
+ * @example
228
+ * ```ts
229
+ * import { Effect } from "effect"
230
+ *
231
+ * const program = Effect.validate([0, 1, 2, 3], (n) =>
232
+ * n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
233
+ * )
234
+ *
235
+ * Effect.runPromiseExit(program).then(console.log)
236
+ * // {
237
+ * // _id: 'Exit',
238
+ * // _tag: 'Failure',
239
+ * // cause: {
240
+ * // _id: 'Cause',
241
+ * // reasons: [
242
+ * // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
243
+ * // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
244
+ * // ]
245
+ * // }
246
+ * // }
247
+ * ```
248
+ *
249
+ * @since 4.0.0
250
+ * @category Error Accumulation
251
+ */
252
+ export const validate = internal.validate;
253
+ /**
254
+ * Returns the first element that satisfies an effectful predicate.
255
+ *
256
+ * The predicate receives the element and its index. Evaluation short-circuits
257
+ * as soon as an element matches.
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * import { Effect } from "effect"
262
+ *
263
+ * const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
264
+ *
265
+ * Effect.runPromise(program).then(console.log)
266
+ * // { _id: 'Option', _tag: 'Some', value: 3 }
267
+ * ```
268
+ *
269
+ * @since 2.0.0
270
+ * @category Collecting
271
+ */
272
+ export const findFirst = internal.findFirst;
273
+ /**
274
+ * Returns the first value that passes an effectful `FilterEffect`.
275
+ *
276
+ * The filter receives the element and index. Evaluation short-circuits on the
277
+ * first `Result.succeed` and returns the transformed value in `Option.some`.
278
+ *
279
+ * @since 4.0.0
280
+ * @category Collecting
281
+ */
282
+ export const findFirstFilter = internal.findFirstFilter;
218
283
  /**
219
284
  * Executes an effectful operation for each element in an `Iterable`.
220
285
  *
@@ -690,6 +755,51 @@ export const callback = internal.callback;
690
755
  * @category Creating Effects
691
756
  */
692
757
  export const never = internal.never;
758
+ /**
759
+ * An `Effect` containing an empty record `{}`, used as the starting point for
760
+ * do notation chains.
761
+ *
762
+ * @example
763
+ * ```ts
764
+ * import { Effect } from "effect"
765
+ * import { pipe } from "effect/Function"
766
+ *
767
+ * const program = pipe(
768
+ * Effect.Do,
769
+ * Effect.bind("x", () => Effect.succeed(2)),
770
+ * Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
771
+ * Effect.let("sum", ({ x, y }) => x + y)
772
+ * )
773
+ * ```
774
+ *
775
+ * @since 4.0.0
776
+ * @category Do notation
777
+ */
778
+ export const Do = internal.Do;
779
+ /**
780
+ * Gives a name to the success value of an `Effect`, creating a single-key
781
+ * record used in do notation pipelines.
782
+ *
783
+ * @since 4.0.0
784
+ * @category Do notation
785
+ */
786
+ export const bindTo = internal.bindTo;
787
+ const let_ = internal.let;
788
+ export {
789
+ /**
790
+ * Adds a computed plain value to the do notation record.
791
+ *
792
+ * @since 4.0.0
793
+ * @category Do notation
794
+ */
795
+ let_ as let };
796
+ /**
797
+ * Adds an `Effect` value to the do notation record under a given name.
798
+ *
799
+ * @since 4.0.0
800
+ * @category Do notation
801
+ */
802
+ export const bind = internal.bind;
693
803
  /**
694
804
  * Provides a way to write effectful code using generator functions, simplifying
695
805
  * control flow and error handling.
@@ -1998,15 +2108,14 @@ export const catchCause = internal.catchCause;
1998
2108
  */
1999
2109
  export const catchDefect = internal.catchDefect;
2000
2110
  /**
2001
- * Recovers from specific errors using a `Filter`, `Predicate`, or
2002
- * `Refinement`.
2111
+ * Recovers from specific errors using a `Predicate` or `Refinement`.
2003
2112
  *
2004
2113
  * **When to Use**
2005
2114
  *
2006
- * `catchIf` lets you recover from errors that match a condition. Pass a
2007
- * `Filter` for transformation, a `Refinement` for type narrowing, or a
2008
- * `Predicate` for simple boolean matching. Non-matching errors re-fail with
2009
- * the original cause. Defects and interrupts are not caught.
2115
+ * `catchIf` lets you recover from errors that match a condition. Use a
2116
+ * `Refinement` for type narrowing or a `Predicate` for simple boolean
2117
+ * matching. Non-matching errors re-fail with the original cause. Defects and
2118
+ * interrupts are not caught.
2010
2119
  *
2011
2120
  * **Previously Known As**
2012
2121
  *
@@ -2033,7 +2142,7 @@ export const catchDefect = internal.catchDefect;
2033
2142
  *
2034
2143
  * // With a Filter
2035
2144
  * const recovered2 = program.pipe(
2036
- * Effect.catchIf(
2145
+ * Effect.catchFilter(
2037
2146
  * Filter.tagged("NotFound"),
2038
2147
  * (error) => Effect.succeed(`missing:${error.id}`)
2039
2148
  * )
@@ -2044,6 +2153,13 @@ export const catchDefect = internal.catchDefect;
2044
2153
  * @category Error Handling
2045
2154
  */
2046
2155
  export const catchIf = internal.catchIf;
2156
+ /**
2157
+ * Recovers from specific errors using a `Filter`.
2158
+ *
2159
+ * @since 4.0.0
2160
+ * @category Error Handling
2161
+ */
2162
+ export const catchFilter = internal.catchFilter;
2047
2163
  /**
2048
2164
  * Catches `NoSuchElementError` failures and converts them to `Option.none`.
2049
2165
  *
@@ -2110,6 +2226,13 @@ export const catchNoSuchElement = internal.catchNoSuchElement;
2110
2226
  * @category Error Handling
2111
2227
  */
2112
2228
  export const catchCauseIf = internal.catchCauseIf;
2229
+ /**
2230
+ * Recovers from specific failures based on a `Filter`.
2231
+ *
2232
+ * @since 4.0.0
2233
+ * @category Error Handling
2234
+ */
2235
+ export const catchCauseFilter = internal.catchCauseFilter;
2113
2236
  /**
2114
2237
  * The `mapError` function is used to transform or modify the error
2115
2238
  * produced by an effect, without affecting its success value.
@@ -2344,6 +2467,13 @@ export const tapCause = internal.tapCause;
2344
2467
  * @category Sequencing
2345
2468
  */
2346
2469
  export const tapCauseIf = internal.tapCauseIf;
2470
+ /**
2471
+ * Conditionally executes a side effect based on the cause of a failed effect.
2472
+ *
2473
+ * @since 4.0.0
2474
+ * @category Sequencing
2475
+ */
2476
+ export const tapCauseFilter = internal.tapCauseFilter;
2347
2477
  /**
2348
2478
  * Inspect severe errors or defects (non-recoverable failures) in an effect.
2349
2479
  *
@@ -2666,6 +2796,16 @@ export const ignoreCause = internal.ignoreCause;
2666
2796
  * @category Fallback
2667
2797
  */
2668
2798
  export const withExecutionPlan = internalExecutionPlan.withExecutionPlan;
2799
+ /**
2800
+ * Runs an effect and reports any errors to the configured `ErrorReporter`s.
2801
+ *
2802
+ * If the `defectsOnly` option is set to `true`, only defects (unrecoverable
2803
+ * errors) will be reported, while regular failures will be ignored.
2804
+ *
2805
+ * @since 4.0.0
2806
+ * @category Error Handling
2807
+ */
2808
+ export const withErrorReporting = internal.withErrorReporting;
2669
2809
  // -----------------------------------------------------------------------------
2670
2810
  // Fallback
2671
2811
  // -----------------------------------------------------------------------------
@@ -3042,12 +3182,12 @@ export const raceFirst = internal.raceFirst;
3042
3182
  // Filtering
3043
3183
  // -----------------------------------------------------------------------------
3044
3184
  /**
3045
- * Filters elements of an iterable using a predicate, refinement, effectful
3046
- * predicate, or `Filter.FilterEffect`.
3185
+ * Filters elements of an iterable using a predicate, refinement, or effectful
3186
+ * predicate.
3047
3187
  *
3048
3188
  * @example
3049
3189
  * ```ts
3050
- * import { Effect, Filter, Result } from "effect"
3190
+ * import { Effect } from "effect"
3051
3191
  *
3052
3192
  * // Sync predicate
3053
3193
  * const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
@@ -3055,16 +3195,27 @@ export const raceFirst = internal.raceFirst;
3055
3195
  * // Effectful predicate
3056
3196
  * const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
3057
3197
  *
3058
- * // FilterEffect
3059
- * const mapped = Effect.filter([1, 2, 3, 4], (n) =>
3060
- * Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
3061
- * )
3198
+ * // Use Effect.filterMapEffect for effectful Filter.Filter callbacks
3062
3199
  * ```
3063
3200
  *
3064
3201
  * @since 2.0.0
3065
3202
  * @category Filtering
3066
3203
  */
3067
3204
  export const filter = internal.filter;
3205
+ /**
3206
+ * Filters and maps elements of an iterable with a `Filter`.
3207
+ *
3208
+ * @since 4.0.0
3209
+ * @category Filtering
3210
+ */
3211
+ export const filterMap = internal.filterMap;
3212
+ /**
3213
+ * Effectfully filters and maps elements of an iterable with a `FilterEffect`.
3214
+ *
3215
+ * @since 4.0.0
3216
+ * @category Filtering
3217
+ */
3218
+ export const filterMapEffect = internal.filterMapEffect;
3068
3219
  /**
3069
3220
  * Filters an effect, providing an alternative effect if the predicate fails.
3070
3221
  *
@@ -3096,6 +3247,13 @@ export const filter = internal.filter;
3096
3247
  * @category Filtering
3097
3248
  */
3098
3249
  export const filterOrElse = internal.filterOrElse;
3250
+ /**
3251
+ * Filters an effect with a `Filter`, providing an alternative effect on failure.
3252
+ *
3253
+ * @since 4.0.0
3254
+ * @category Filtering
3255
+ */
3256
+ export const filterMapOrElse = internal.filterMapOrElse;
3099
3257
  /**
3100
3258
  * Filters an effect, failing with a custom error if the predicate fails.
3101
3259
  *
@@ -3126,6 +3284,13 @@ export const filterOrElse = internal.filterOrElse;
3126
3284
  * @category Filtering
3127
3285
  */
3128
3286
  export const filterOrFail = internal.filterOrFail;
3287
+ /**
3288
+ * Filters an effect with a `Filter`, failing when the filter fails.
3289
+ *
3290
+ * @since 4.0.0
3291
+ * @category Filtering
3292
+ */
3293
+ export const filterMapOrFail = internal.filterMapOrFail;
3129
3294
  // -----------------------------------------------------------------------------
3130
3295
  // Conditional Operators
3131
3296
  // -----------------------------------------------------------------------------
@@ -4266,7 +4431,7 @@ export const ensuring = internal.ensuring;
4266
4431
  export const onError = internal.onError;
4267
4432
  /**
4268
4433
  * Runs the finalizer only when this effect fails and the `Cause` matches the
4269
- * filter, passing the filtered failure and the original cause.
4434
+ * provided predicate.
4270
4435
  *
4271
4436
  * @example
4272
4437
  * ```ts
@@ -4288,6 +4453,13 @@ export const onError = internal.onError;
4288
4453
  * @category Resource Management & Finalization
4289
4454
  */
4290
4455
  export const onErrorIf = internal.onErrorIf;
4456
+ /**
4457
+ * Runs the finalizer only when this effect fails and the cause matches the provided `Filter`.
4458
+ *
4459
+ * @since 4.0.0
4460
+ * @category Resource Management & Finalization
4461
+ */
4462
+ export const onErrorFilter = internal.onErrorFilter;
4291
4463
  /**
4292
4464
  * The low level primitive that powers `onExit`.
4293
4465
  * function is used to run a finalizer when the effect exits, regardless of the
@@ -4325,20 +4497,20 @@ export const onExitPrimitive = internal.onExitPrimitive;
4325
4497
  */
4326
4498
  export const onExit = internal.onExit;
4327
4499
  /**
4328
- * Runs the cleanup effect only when the `Exit` passes the provided filter.
4329
- *
4330
- * The cleanup is skipped when the filter returns `Filter.fail`.
4500
+ * Runs the cleanup effect only when the `Exit` satisfies the provided
4501
+ * predicate.
4331
4502
  *
4332
4503
  * @example
4333
4504
  * ```ts
4334
- * import { Console, Effect, Exit, Filter } from "effect"
4335
- *
4336
- * const exitFilter = Filter.fromPredicate(Exit.isSuccess<number, never>)
4505
+ * import { Console, Effect, Exit } from "effect"
4337
4506
  *
4338
4507
  * const program = Effect.onExitIf(
4339
4508
  * Effect.succeed(42),
4340
- * exitFilter,
4341
- * (success) => Console.log(`Succeeded with: ${success.value}`)
4509
+ * Exit.isSuccess,
4510
+ * (exit) =>
4511
+ * Exit.isSuccess(exit)
4512
+ * ? Console.log(`Succeeded with: ${exit.value}`)
4513
+ * : Effect.void
4342
4514
  * )
4343
4515
  * ```
4344
4516
  *
@@ -4346,6 +4518,13 @@ export const onExit = internal.onExit;
4346
4518
  * @category Resource Management & Finalization
4347
4519
  */
4348
4520
  export const onExitIf = internal.onExitIf;
4521
+ /**
4522
+ * Runs the cleanup effect only when the `Exit` matches the provided `Filter`.
4523
+ *
4524
+ * @since 4.0.0
4525
+ * @category Resource Management & Finalization
4526
+ */
4527
+ export const onExitFilter = internal.onExitFilter;
4349
4528
  // -----------------------------------------------------------------------------
4350
4529
  // Caching
4351
4530
  // -----------------------------------------------------------------------------
@@ -4702,124 +4881,6 @@ export const uninterruptibleMask = internal.uninterruptibleMask;
4702
4881
  * @category Interruption
4703
4882
  */
4704
4883
  export const interruptibleMask = internal.interruptibleMask;
4705
- /**
4706
- * Unsafely creates a new Semaphore.
4707
- *
4708
- * @example
4709
- * ```ts
4710
- * import { Effect } from "effect"
4711
- *
4712
- * const semaphore = Effect.makeSemaphoreUnsafe(3)
4713
- *
4714
- * const task = (id: number) =>
4715
- * semaphore.withPermits(1)(
4716
- * Effect.gen(function*() {
4717
- * yield* Effect.log(`Task ${id} started`)
4718
- * yield* Effect.sleep("1 second")
4719
- * yield* Effect.log(`Task ${id} completed`)
4720
- * })
4721
- * )
4722
- *
4723
- * // Only 3 tasks can run concurrently
4724
- * const program = Effect.all([
4725
- * task(1),
4726
- * task(2),
4727
- * task(3),
4728
- * task(4),
4729
- * task(5)
4730
- * ], { concurrency: "unbounded" })
4731
- * ```
4732
- *
4733
- * @since 2.0.0
4734
- * @category Semaphore
4735
- */
4736
- export const makeSemaphoreUnsafe = internal.makeSemaphoreUnsafe;
4737
- /**
4738
- * Creates a new Semaphore.
4739
- *
4740
- * @example
4741
- * ```ts
4742
- * import { Effect } from "effect"
4743
- *
4744
- * const program = Effect.gen(function*() {
4745
- * const semaphore = yield* Effect.makeSemaphore(2)
4746
- *
4747
- * const task = (id: number) =>
4748
- * semaphore.withPermits(1)(
4749
- * Effect.gen(function*() {
4750
- * yield* Effect.log(`Task ${id} acquired permit`)
4751
- * yield* Effect.sleep("1 second")
4752
- * yield* Effect.log(`Task ${id} releasing permit`)
4753
- * })
4754
- * )
4755
- *
4756
- * // Run 4 tasks, but only 2 can run concurrently
4757
- * yield* Effect.all([task(1), task(2), task(3), task(4)])
4758
- * })
4759
- * ```
4760
- *
4761
- * @since 2.0.0
4762
- * @category Semaphore
4763
- */
4764
- export const makeSemaphore = internal.makeSemaphore;
4765
- /**
4766
- * Creates a new Latch.
4767
- *
4768
- * @example
4769
- * ```ts
4770
- * import { Effect } from "effect"
4771
- *
4772
- * const latch = Effect.makeLatchUnsafe(false)
4773
- *
4774
- * const waiter = Effect.gen(function*() {
4775
- * yield* Effect.log("Waiting for latch to open...")
4776
- * yield* latch.await
4777
- * yield* Effect.log("Latch opened! Continuing...")
4778
- * })
4779
- *
4780
- * const opener = Effect.gen(function*() {
4781
- * yield* Effect.sleep("2 seconds")
4782
- * yield* Effect.log("Opening latch...")
4783
- * yield* latch.open
4784
- * })
4785
- *
4786
- * const program = Effect.all([waiter, opener])
4787
- * ```
4788
- *
4789
- * @category Latch
4790
- * @since 3.8.0
4791
- */
4792
- export const makeLatchUnsafe = internal.makeLatchUnsafe;
4793
- /**
4794
- * Creates a new Latch.
4795
- *
4796
- * @example
4797
- * ```ts
4798
- * import { Effect } from "effect"
4799
- *
4800
- * const program = Effect.gen(function*() {
4801
- * const latch = yield* Effect.makeLatch(false)
4802
- *
4803
- * const waiter = Effect.gen(function*() {
4804
- * yield* Effect.log("Waiting for latch to open...")
4805
- * yield* latch.await
4806
- * yield* Effect.log("Latch opened! Continuing...")
4807
- * })
4808
- *
4809
- * const opener = Effect.gen(function*() {
4810
- * yield* Effect.sleep("2 seconds")
4811
- * yield* Effect.log("Opening latch...")
4812
- * yield* latch.open
4813
- * })
4814
- *
4815
- * yield* Effect.all([waiter, opener])
4816
- * })
4817
- * ```
4818
- *
4819
- * @category Latch
4820
- * @since 3.8.0
4821
- */
4822
- export const makeLatch = internal.makeLatch;
4823
4884
  /**
4824
4885
  * Repeats this effect forever (until the first error).
4825
4886
  *
@@ -6579,6 +6640,32 @@ export const annotateLogs = /*#__PURE__*/dual(args => core.isEffect(args[0]), (e
6579
6640
  }
6580
6641
  return newAnnotations;
6581
6642
  }));
6643
+ /**
6644
+ * Adds log annotations to the current scope.
6645
+ *
6646
+ * This differs from `annotateLogs`, which only annotates a specific effect.
6647
+ * `annotateLogsScoped` updates annotations for the entire current `Scope` and
6648
+ * restores the previous annotations when the scope closes.
6649
+ *
6650
+ * @example
6651
+ * ```ts
6652
+ * import { Effect } from "effect"
6653
+ *
6654
+ * const program = Effect.scoped(
6655
+ * Effect.gen(function*() {
6656
+ * yield* Effect.log("before")
6657
+ * yield* Effect.annotateLogsScoped({ requestId: "req-123" })
6658
+ * yield* Effect.log("inside scope")
6659
+ * })
6660
+ * )
6661
+ *
6662
+ * Effect.runPromise(program)
6663
+ * ```
6664
+ *
6665
+ * @since 4.0.0
6666
+ * @category Logging
6667
+ */
6668
+ export const annotateLogsScoped = internal.annotateLogsScoped;
6582
6669
  /**
6583
6670
  * Adds a span to each log line in this effect.
6584
6671
  *
@@ -6866,7 +6953,7 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
6866
6953
  const startTime = clock.currentTimeNanosUnsafe();
6867
6954
  return onExit(self, () => {
6868
6955
  const endTime = clock.currentTimeNanosUnsafe();
6869
- const duration = Duration.subtract(Duration.fromDurationInputUnsafe(endTime), Duration.fromDurationInputUnsafe(startTime));
6956
+ const duration = Duration.subtract(Duration.fromInputUnsafe(endTime), Duration.fromInputUnsafe(startTime));
6870
6957
  const input = f === undefined ? duration : internalCall(() => f(duration));
6871
6958
  return Metric.update(metric, input);
6872
6959
  });
@@ -6897,125 +6984,63 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
6897
6984
  */
6898
6985
  export class Transaction extends /*#__PURE__*/ServiceMap.Service()("effect/Effect/Transaction") {}
6899
6986
  /**
6900
- * Defines a transaction. Transactions are "all or nothing" with respect to changes made to
6901
- * transactional values (i.e. TxRef) that occur within the transaction body.
6987
+ * Accesses the current transaction state within an active transaction.
6902
6988
  *
6903
- * In Effect transactions are optimistic with retry, that means transactions are retried when:
6904
- *
6905
- * - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
6906
- * accessed transactional values changes.
6907
- *
6908
- * - any of the accessed transactional values change during the execution of the transaction
6909
- * due to a different transaction committing before the current.
6910
- *
6911
- * - parent transaction retry, if you have a transaction within another transaction and
6912
- * the parent retries the child will also retry together with the parent.
6989
+ * This function requires `Transaction` in the context and does NOT create or strip
6990
+ * transaction boundaries. Use it to interact with the transaction journal (e.g. in
6991
+ * `TxRef` internals). To define a transaction boundary, use {@link transaction}.
6913
6992
  *
6914
6993
  * @example
6915
6994
  * ```ts
6916
6995
  * import { Effect, TxRef } from "effect"
6917
6996
  *
6918
6997
  * const program = Effect.gen(function*() {
6919
- * const ref1 = yield* TxRef.make(0)
6920
- * const ref2 = yield* TxRef.make(0)
6921
- *
6922
- * // All operations within atomic block succeed or fail together
6923
- * yield* Effect.atomic(Effect.gen(function*() {
6924
- * yield* TxRef.set(ref1, 10)
6925
- * yield* TxRef.set(ref2, 20)
6926
- * const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
6927
- * console.log(`Transaction sum: ${sum}`)
6928
- * }))
6929
- *
6930
- * console.log(`Final ref1: ${yield* TxRef.get(ref1)}`) // 10
6931
- * console.log(`Final ref2: ${yield* TxRef.get(ref2)}`) // 20
6932
- * })
6933
- * ```
6934
- *
6935
- * @since 4.0.0
6936
- * @category Transactions
6937
- */
6938
- export const atomic = effect => atomicWith(() => effect);
6939
- /**
6940
- * Executes a function within a transaction context, providing access to the transaction state.
6941
- *
6942
- * @example
6943
- * ```ts
6944
- * import { Effect, TxRef } from "effect"
6945
- *
6946
- * const program = Effect.atomicWith((txState) =>
6947
- * Effect.gen(function*() {
6948
- * const ref = yield* TxRef.make(0)
6949
- *
6950
- * // Access transaction state for debugging
6951
- * console.log(`Journal size: ${txState.journal.size}`)
6952
- * console.log(`Retry flag: ${txState.retry}`)
6998
+ * const ref = yield* Effect.transaction(TxRef.make(0))
6953
6999
  *
7000
+ * yield* Effect.transaction(Effect.gen(function*() {
6954
7001
  * yield* TxRef.set(ref, 42)
6955
7002
  * return yield* TxRef.get(ref)
6956
- * })
6957
- * )
6958
- *
6959
- * Effect.runPromise(program).then(console.log) // 42
7003
+ * }))
7004
+ * })
6960
7005
  * ```
6961
7006
  *
6962
7007
  * @since 4.0.0
6963
7008
  * @category Transactions
6964
7009
  */
6965
- export const atomicWith = f => withFiber(fiber => {
6966
- // Check if transaction already exists and reuse it (composing behavior)
6967
- if (fiber.services.mapUnsafe.has(Transaction.key)) {
6968
- return internalCall(() => f(ServiceMap.getUnsafe(fiber.services, Transaction)));
6969
- }
6970
- // No existing transaction, create isolated one using transactionWith
6971
- return transactionWith(f);
6972
- });
7010
+ export const withTxState = f => flatMap(Transaction.asEffect(), state => internalCall(() => f(state)));
6973
7011
  /**
6974
- * Creates an isolated transaction that never composes with parent transactions.
7012
+ * Defines a transaction boundary. Transactions are "all or nothing" with respect to changes
7013
+ * made to transactional values (i.e. TxRef) that occur within the transaction body.
6975
7014
  *
6976
- * **Details**
7015
+ * In Effect transactions are optimistic with retry, that means transactions are retried when:
6977
7016
  *
6978
- * Unlike `Effect.atomic`, which composes with parent transactions when nested,
6979
- * `Effect.transaction` always creates a new isolated transaction boundary.
6980
- * This ensures complete isolation between different transaction scopes.
7017
+ * - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
7018
+ * accessed transactional values changes.
6981
7019
  *
6982
- * **Key Differences from Effect.atomic:**
6983
- * - Always creates a new transaction, even when called within another transaction
6984
- * - Parent transaction failures don't affect isolated transactions
6985
- * - Isolated transaction failures don't affect parent transactions
6986
- * - Each transaction has its own journal and retry logic
7020
+ * - any of the accessed transactional values change during the execution of the transaction
7021
+ * due to a different transaction committing before the current.
6987
7022
  *
6988
- * **When to Use:**
6989
- * - When you need guaranteed isolation between transaction scopes
6990
- * - For implementing independent operations that shouldn't be affected by outer transactions
6991
- * - When building transaction-based systems where isolation is critical
7023
+ * Each call to `transaction` always creates a new isolated transaction boundary with its own
7024
+ * journal and retry logic.
6992
7025
  *
6993
7026
  * @example
6994
7027
  * ```ts
6995
7028
  * import { Effect, TxRef } from "effect"
6996
7029
  *
6997
7030
  * const program = Effect.gen(function*() {
6998
- * const ref1 = yield* TxRef.make(0)
6999
- * const ref2 = yield* TxRef.make(100)
7000
- *
7001
- * // Nested atomic transaction - ref1 will be part of outer transaction
7002
- * yield* Effect.atomic(Effect.gen(function*() {
7003
- * yield* TxRef.set(ref1, 10)
7004
- *
7005
- * // This atomic operation composes with the parent
7006
- * yield* Effect.atomic(Effect.gen(function*() {
7007
- * yield* TxRef.set(ref1, 20) // Part of same transaction
7008
- * }))
7009
- * }))
7031
+ * const ref1 = yield* Effect.transaction(TxRef.make(0))
7032
+ * const ref2 = yield* Effect.transaction(TxRef.make(0))
7010
7033
  *
7011
- * // Isolated transaction - ref2 will be in its own transaction
7034
+ * // All operations within transaction block succeed or fail together
7012
7035
  * yield* Effect.transaction(Effect.gen(function*() {
7013
- * yield* TxRef.set(ref2, 200)
7036
+ * yield* TxRef.set(ref1, 10)
7037
+ * yield* TxRef.set(ref2, 20)
7038
+ * const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
7039
+ * console.log(`Transaction sum: ${sum}`)
7014
7040
  * }))
7015
7041
  *
7016
- * const val1 = yield* TxRef.get(ref1) // 20
7017
- * const val2 = yield* TxRef.get(ref2) // 200
7018
- * return { ref1: val1, ref2: val2 }
7042
+ * console.log(`Final ref1: ${yield* Effect.transaction(TxRef.get(ref1))}`) // 10
7043
+ * console.log(`Final ref2: ${yield* Effect.transaction(TxRef.get(ref2))}`) // 20
7019
7044
  * })
7020
7045
  * ```
7021
7046
  *
@@ -7024,34 +7049,21 @@ export const atomicWith = f => withFiber(fiber => {
7024
7049
  */
7025
7050
  export const transaction = effect => transactionWith(() => effect);
7026
7051
  /**
7027
- * Executes a function within an isolated transaction context, providing access to the transaction state.
7052
+ * Like {@link transaction} but provides access to the transaction state.
7028
7053
  *
7029
- * This function always creates a new transaction boundary, regardless of whether it's called
7030
- * within another transaction. This ensures complete isolation between transaction scopes.
7054
+ * Always creates a new isolated transaction boundary with its own journal and retry logic.
7031
7055
  *
7032
7056
  * @example
7033
7057
  * ```ts
7034
7058
  * import { Effect, TxRef } from "effect"
7035
7059
  *
7036
- * const program = Effect.transactionWith((txState) =>
7060
+ * const program = Effect.transactionWith((_txState) =>
7037
7061
  * Effect.gen(function*() {
7038
7062
  * const ref = yield* TxRef.make(0)
7039
- *
7040
- * // This transaction is isolated - it has its own journal
7041
- * // txState.journal is independent of any parent transaction
7042
- *
7043
7063
  * yield* TxRef.set(ref, 42)
7044
7064
  * return yield* TxRef.get(ref)
7045
7065
  * })
7046
7066
  * )
7047
- *
7048
- * // Even when nested in another atomic block, this transaction is isolated
7049
- * const nestedProgram = Effect.atomic(
7050
- * Effect.gen(function*() {
7051
- * const result = yield* program // Runs in its own isolated transaction
7052
- * return result
7053
- * })
7054
- * )
7055
7067
  * ```
7056
7068
  *
7057
7069
  * @since 4.0.0
@@ -7146,16 +7158,16 @@ function clearTransaction(state) {
7146
7158
  *
7147
7159
  * const program = Effect.gen(function*() {
7148
7160
  * // create a transactional reference
7149
- * const ref = yield* TxRef.make(0)
7161
+ * const ref = yield* Effect.transaction(TxRef.make(0))
7150
7162
  *
7151
7163
  * // forks a fiber that increases the value of `ref` every 100 millis
7152
7164
  * yield* Effect.forkChild(Effect.forever(
7153
7165
  * // update to transactional value
7154
- * TxRef.update(ref, (n) => n + 1).pipe(Effect.delay("100 millis"))
7166
+ * Effect.transaction(TxRef.update(ref, (n) => n + 1)).pipe(Effect.delay("100 millis"))
7155
7167
  * ))
7156
7168
  *
7157
7169
  * // the following will retry 10 times until the `ref` value is 10
7158
- * yield* Effect.atomic(Effect.gen(function*() {
7170
+ * yield* Effect.transaction(Effect.gen(function*() {
7159
7171
  * const value = yield* TxRef.get(ref)
7160
7172
  * if (value < 10) {
7161
7173
  * yield* Effect.log(`retry due to value: ${value}`)