effect 4.0.0-beta.2 → 4.0.0-beta.20

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 (876) 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 +733 -687
  42. package/dist/Effect.d.ts.map +1 -1
  43. package/dist/Effect.js +233 -250
  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 +91 -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 +3 -2
  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 +123 -76
  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 +225 -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 +33 -6
  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/HttpServerRespondable.d.ts +2 -2
  470. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  471. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  472. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  473. package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
  474. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  475. package/dist/unstable/http/HttpServerResponse.js +3 -1
  476. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  477. package/dist/unstable/http/Multipart.d.ts +3 -3
  478. package/dist/unstable/http/UrlParams.d.ts +14 -6
  479. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  480. package/dist/unstable/http/UrlParams.js +1 -1
  481. package/dist/unstable/http/UrlParams.js.map +1 -1
  482. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  483. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  484. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  485. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  486. package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
  487. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  488. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  489. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  490. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  491. package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
  492. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  493. package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
  494. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  495. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  496. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  497. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
  498. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  499. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  500. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  501. package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
  502. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  503. package/dist/unstable/httpapi/HttpApiError.js +29 -9
  504. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  505. package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
  506. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  507. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  508. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
  509. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  510. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  511. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  512. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  513. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  514. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  515. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  516. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  517. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  518. package/dist/unstable/httpapi/OpenApi.js +32 -21
  519. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  520. package/dist/unstable/observability/Otlp.d.ts +12 -12
  521. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  522. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  523. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  524. package/dist/unstable/observability/OtlpExporter.js +1 -1
  525. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  526. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  527. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  528. package/dist/unstable/observability/OtlpLogger.js +7 -4
  529. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  530. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  531. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  532. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  533. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  534. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  535. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  536. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  537. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  538. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  539. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  540. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  541. package/dist/unstable/persistence/PersistedCache.js +2 -1
  542. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  543. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  544. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  545. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  546. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  547. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  548. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  549. package/dist/unstable/persistence/Persistence.js +2 -2
  550. package/dist/unstable/persistence/Persistence.js.map +1 -1
  551. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  552. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  553. package/dist/unstable/persistence/RateLimiter.js +1 -1
  554. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  555. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  556. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  557. package/dist/unstable/process/ChildProcess.js +1 -65
  558. package/dist/unstable/process/ChildProcess.js.map +1 -1
  559. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  560. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  561. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  562. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  563. package/dist/unstable/reactivity/Atom.d.ts +10 -10
  564. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  565. package/dist/unstable/reactivity/Atom.js +16 -13
  566. package/dist/unstable/reactivity/Atom.js.map +1 -1
  567. package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
  568. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  569. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  570. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  571. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  572. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  573. package/dist/unstable/reactivity/AtomRegistry.js +24 -7
  574. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  575. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  576. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  577. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  578. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  579. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  580. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  581. package/dist/unstable/reactivity/Hydration.js +76 -0
  582. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  583. package/dist/unstable/reactivity/index.d.ts +4 -0
  584. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  585. package/dist/unstable/reactivity/index.js +4 -0
  586. package/dist/unstable/reactivity/index.js.map +1 -1
  587. package/dist/unstable/rpc/Rpc.d.ts +4 -4
  588. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  589. package/dist/unstable/rpc/Rpc.js.map +1 -1
  590. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  591. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  592. package/dist/unstable/rpc/RpcClient.js +6 -13
  593. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  594. package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
  595. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  596. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  597. package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
  598. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  599. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  600. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  601. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  602. package/dist/unstable/rpc/RpcSchema.js +14 -0
  603. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  604. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  605. package/dist/unstable/rpc/RpcSerialization.js +34 -9
  606. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  607. package/dist/unstable/rpc/RpcServer.d.ts +0 -7
  608. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  609. package/dist/unstable/rpc/RpcServer.js +15 -15
  610. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  611. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  612. package/dist/unstable/rpc/Utils.js +2 -1
  613. package/dist/unstable/rpc/Utils.js.map +1 -1
  614. package/dist/unstable/schema/Model.d.ts +1 -1
  615. package/dist/unstable/schema/Model.d.ts.map +1 -1
  616. package/dist/unstable/schema/VariantSchema.d.ts +3 -3
  617. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  618. package/dist/unstable/schema/VariantSchema.js +3 -3
  619. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  620. package/dist/unstable/socket/Socket.d.ts +4 -4
  621. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  622. package/dist/unstable/socket/Socket.js +6 -5
  623. package/dist/unstable/socket/Socket.js.map +1 -1
  624. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  625. package/dist/unstable/sql/Migrator.d.ts +1 -1
  626. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  627. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  628. package/dist/unstable/sql/SqlError.d.ts +14 -14
  629. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  630. package/dist/unstable/sql/SqlError.js +9 -3
  631. package/dist/unstable/sql/SqlError.js.map +1 -1
  632. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  633. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  634. package/dist/unstable/sql/SqlModel.js +3 -3
  635. package/dist/unstable/sql/SqlModel.js.map +1 -1
  636. package/dist/unstable/sql/SqlSchema.d.ts +16 -5
  637. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  638. package/dist/unstable/sql/SqlSchema.js +17 -7
  639. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  640. package/dist/unstable/sql/Statement.js +0 -1
  641. package/dist/unstable/sql/Statement.js.map +1 -1
  642. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  643. package/dist/unstable/workers/Worker.js +2 -1
  644. package/dist/unstable/workers/Worker.js.map +1 -1
  645. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  646. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  647. package/dist/unstable/workflow/DurableClock.js +3 -3
  648. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  649. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  650. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  651. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  652. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  653. package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -1
  654. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  655. package/dist/unstable/workflow/WorkflowEngine.js +133 -1
  656. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  657. package/package.json +2 -2
  658. package/src/Array.ts +190 -342
  659. package/src/Cache.ts +9 -8
  660. package/src/Cause.ts +1 -1
  661. package/src/Channel.ts +554 -138
  662. package/src/Chunk.ts +81 -268
  663. package/src/Combiner.ts +280 -13
  664. package/src/Config.ts +183 -21
  665. package/src/Data.ts +538 -374
  666. package/src/DateTime.ts +24 -164
  667. package/src/Duration.ts +15 -15
  668. package/src/Effect.ts +909 -817
  669. package/src/Encoding.ts +879 -0
  670. package/src/Equal.ts +278 -111
  671. package/src/ErrorReporter.ts +459 -0
  672. package/src/Fiber.ts +9 -2
  673. package/src/FileSystem.ts +7 -8
  674. package/src/Filter.ts +48 -58
  675. package/src/Formatter.ts +253 -51
  676. package/src/Graph.ts +24 -11
  677. package/src/HashMap.ts +15 -14
  678. package/src/Iterable.ts +105 -50
  679. package/src/JsonSchema.ts +383 -10
  680. package/src/Latch.ts +112 -0
  681. package/src/Layer.ts +11 -15
  682. package/src/LayerMap.ts +5 -5
  683. package/src/LogLevel.ts +37 -0
  684. package/src/Logger.ts +33 -100
  685. package/src/ManagedRuntime.ts +1 -1
  686. package/src/Metric.ts +4 -4
  687. package/src/Optic.ts +948 -19
  688. package/src/Option.ts +30 -20
  689. package/src/Pipeable.ts +32 -1
  690. package/src/PlatformError.ts +5 -5
  691. package/src/Pool.ts +13 -11
  692. package/src/PubSub.ts +10 -9
  693. package/src/Pull.ts +1 -1
  694. package/src/Queue.ts +0 -1
  695. package/src/Random.ts +51 -14
  696. package/src/RcMap.ts +5 -5
  697. package/src/RcRef.ts +1 -1
  698. package/src/Record.ts +43 -152
  699. package/src/Reducer.ts +166 -7
  700. package/src/References.ts +4 -4
  701. package/src/Request.ts +3 -2
  702. package/src/RequestResolver.ts +9 -29
  703. package/src/Result.ts +13 -0
  704. package/src/Schedule.ts +315 -160
  705. package/src/Schema.ts +661 -116
  706. package/src/SchemaAST.ts +3 -2
  707. package/src/SchemaGetter.ts +12 -14
  708. package/src/SchemaParser.ts +11 -0
  709. package/src/SchemaRepresentation.ts +43 -24
  710. package/src/SchemaTransformation.ts +189 -4
  711. package/src/ScopedCache.ts +3 -3
  712. package/src/Semaphore.ts +356 -0
  713. package/src/ServiceMap.ts +47 -38
  714. package/src/Sink.ts +78 -26
  715. package/src/Stream.ts +565 -600
  716. package/src/Struct.ts +26 -0
  717. package/src/SubscriptionRef.ts +3 -2
  718. package/src/SynchronizedRef.ts +3 -2
  719. package/src/Trie.ts +18 -17
  720. package/src/TxChunk.ts +72 -53
  721. package/src/TxDeferred.ts +394 -0
  722. package/src/TxHashMap.ts +332 -285
  723. package/src/TxHashSet.ts +111 -116
  724. package/src/TxPriorityQueue.ts +767 -0
  725. package/src/TxPubSub.ts +789 -0
  726. package/src/TxQueue.ts +241 -251
  727. package/src/TxReentrantLock.ts +753 -0
  728. package/src/TxRef.ts +50 -38
  729. package/src/TxSemaphore.ts +29 -32
  730. package/src/TxSubscriptionRef.ts +639 -0
  731. package/src/Types.ts +78 -2
  732. package/src/index.ts +600 -21
  733. package/src/internal/core.ts +12 -5
  734. package/src/internal/dateTime.ts +9 -30
  735. package/src/internal/effect.ts +660 -265
  736. package/src/internal/hashMap.ts +9 -7
  737. package/src/internal/random.ts +20 -0
  738. package/src/internal/rcRef.ts +4 -3
  739. package/src/internal/request.ts +2 -2
  740. package/src/internal/schema/annotations.ts +2 -0
  741. package/src/internal/schema/schema.ts +1 -0
  742. package/src/internal/trie.ts +16 -9
  743. package/src/testing/TestClock.ts +13 -11
  744. package/src/testing/TestSchema.ts +10 -10
  745. package/src/unstable/ai/AiError.ts +97 -44
  746. package/src/unstable/ai/Chat.ts +12 -11
  747. package/src/unstable/ai/LanguageModel.ts +129 -25
  748. package/src/unstable/ai/McpSchema.ts +59 -13
  749. package/src/unstable/ai/McpServer.ts +46 -8
  750. package/src/unstable/ai/Model.ts +40 -9
  751. package/src/unstable/ai/Prompt.ts +37 -37
  752. package/src/unstable/ai/Response.ts +25 -25
  753. package/src/unstable/ai/Tool.ts +19 -13
  754. package/src/unstable/ai/index.ts +1 -1
  755. package/src/unstable/cli/CliOutput.ts +75 -6
  756. package/src/unstable/cli/Command.ts +501 -60
  757. package/src/unstable/cli/GlobalFlag.ts +243 -0
  758. package/src/unstable/cli/HelpDoc.ts +80 -2
  759. package/src/unstable/cli/index.ts +5 -0
  760. package/src/unstable/cli/internal/command.ts +50 -34
  761. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  762. package/src/unstable/cli/internal/help.ts +146 -0
  763. package/src/unstable/cli/internal/parser.ts +33 -54
  764. package/src/unstable/cluster/ClusterCron.ts +2 -2
  765. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
  766. package/src/unstable/cluster/Entity.ts +11 -10
  767. package/src/unstable/cluster/EntityResource.ts +4 -4
  768. package/src/unstable/cluster/Envelope.ts +1 -1
  769. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  770. package/src/unstable/cluster/MessageStorage.ts +3 -5
  771. package/src/unstable/cluster/Runners.ts +6 -5
  772. package/src/unstable/cluster/Sharding.ts +12 -10
  773. package/src/unstable/cluster/ShardingConfig.ts +30 -31
  774. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  775. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  776. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  777. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  778. package/src/unstable/encoding/Sse.ts +3 -5
  779. package/src/unstable/eventlog/EventLog.ts +2 -1
  780. package/src/unstable/http/Cookies.ts +3 -3
  781. package/src/unstable/http/Headers.ts +28 -13
  782. package/src/unstable/http/HttpBody.ts +42 -1
  783. package/src/unstable/http/HttpClient.ts +58 -23
  784. package/src/unstable/http/HttpClientRequest.ts +38 -13
  785. package/src/unstable/http/HttpEffect.ts +46 -68
  786. package/src/unstable/http/HttpMethod.ts +16 -4
  787. package/src/unstable/http/HttpMiddleware.ts +9 -24
  788. package/src/unstable/http/HttpServerError.ts +42 -45
  789. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  790. package/src/unstable/http/HttpServerResponse.ts +4 -2
  791. package/src/unstable/http/Multipart.ts +2 -2
  792. package/src/unstable/http/UrlParams.ts +20 -5
  793. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  794. package/src/unstable/httpapi/HttpApi.ts +5 -5
  795. package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
  796. package/src/unstable/httpapi/HttpApiClient.ts +14 -6
  797. package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
  798. package/src/unstable/httpapi/HttpApiError.ts +30 -9
  799. package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
  800. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
  801. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  802. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  803. package/src/unstable/httpapi/OpenApi.ts +41 -23
  804. package/src/unstable/observability/Otlp.ts +12 -12
  805. package/src/unstable/observability/OtlpExporter.ts +3 -3
  806. package/src/unstable/observability/OtlpLogger.ts +13 -9
  807. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  808. package/src/unstable/observability/OtlpTracer.ts +4 -4
  809. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  810. package/src/unstable/persistence/Persistable.ts +2 -2
  811. package/src/unstable/persistence/PersistedCache.ts +20 -9
  812. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  813. package/src/unstable/persistence/Persistence.ts +3 -3
  814. package/src/unstable/persistence/RateLimiter.ts +4 -4
  815. package/src/unstable/process/ChildProcess.ts +6 -208
  816. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  817. package/src/unstable/reactivity/Atom.ts +27 -25
  818. package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
  819. package/src/unstable/reactivity/AtomRegistry.ts +31 -7
  820. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  821. package/src/unstable/reactivity/Hydration.ts +112 -0
  822. package/src/unstable/reactivity/index.ts +5 -0
  823. package/src/unstable/rpc/Rpc.ts +6 -6
  824. package/src/unstable/rpc/RpcClient.ts +12 -54
  825. package/src/unstable/rpc/RpcGroup.ts +4 -4
  826. package/src/unstable/rpc/RpcMiddleware.ts +3 -3
  827. package/src/unstable/rpc/RpcSchema.ts +17 -0
  828. package/src/unstable/rpc/RpcSerialization.ts +44 -9
  829. package/src/unstable/rpc/RpcServer.ts +21 -30
  830. package/src/unstable/rpc/Utils.ts +2 -1
  831. package/src/unstable/schema/VariantSchema.ts +6 -6
  832. package/src/unstable/socket/Socket.ts +16 -17
  833. package/src/unstable/sql/SqlClient.ts +1 -1
  834. package/src/unstable/sql/SqlError.ts +11 -9
  835. package/src/unstable/sql/SqlModel.ts +5 -5
  836. package/src/unstable/sql/SqlSchema.ts +41 -25
  837. package/src/unstable/sql/Statement.ts +0 -1
  838. package/src/unstable/workers/Worker.ts +2 -1
  839. package/src/unstable/workflow/DurableClock.ts +8 -8
  840. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  841. package/src/unstable/workflow/Workflow.ts +1 -1
  842. package/src/unstable/workflow/WorkflowEngine.ts +181 -2
  843. package/dist/PartitionedSemaphore.d.ts +0 -52
  844. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  845. package/dist/PartitionedSemaphore.js.map +0 -1
  846. package/dist/encoding/Base64.d.ts +0 -67
  847. package/dist/encoding/Base64.d.ts.map +0 -1
  848. package/dist/encoding/Base64.js +0 -146
  849. package/dist/encoding/Base64.js.map +0 -1
  850. package/dist/encoding/Base64Url.d.ts +0 -60
  851. package/dist/encoding/Base64Url.d.ts.map +0 -1
  852. package/dist/encoding/Base64Url.js +0 -89
  853. package/dist/encoding/Base64Url.js.map +0 -1
  854. package/dist/encoding/EncodingError.d.ts +0 -31
  855. package/dist/encoding/EncodingError.d.ts.map +0 -1
  856. package/dist/encoding/EncodingError.js +0 -22
  857. package/dist/encoding/EncodingError.js.map +0 -1
  858. package/dist/encoding/Hex.d.ts +0 -61
  859. package/dist/encoding/Hex.d.ts.map +0 -1
  860. package/dist/encoding/Hex.js +0 -115
  861. package/dist/encoding/Hex.js.map +0 -1
  862. package/dist/encoding/index.d.ts +0 -26
  863. package/dist/encoding/index.d.ts.map +0 -1
  864. package/dist/encoding/index.js +0 -27
  865. package/dist/encoding/index.js.map +0 -1
  866. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  867. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  868. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  869. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  870. package/src/PartitionedSemaphore.ts +0 -182
  871. package/src/encoding/Base64.ts +0 -366
  872. package/src/encoding/Base64Url.ts +0 -104
  873. package/src/encoding/EncodingError.ts +0 -35
  874. package/src/encoding/Hex.ts +0 -390
  875. package/src/encoding/index.ts +0 -31
  876. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/Effect.js CHANGED
@@ -215,6 +215,42 @@ export const all = internal.all;
215
215
  * @category Collecting
216
216
  */
217
217
  export const partition = internal.partition;
218
+ /**
219
+ * Applies an effectful function to each element and accumulates all failures.
220
+ *
221
+ * This function always evaluates every element. If at least one effect fails,
222
+ * all failures are returned as a non-empty array and successes are discarded.
223
+ * If all effects succeed, it returns all collected successes.
224
+ *
225
+ * Use `discard: true` to ignore successful values while still validating all
226
+ * elements.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * import { Effect } from "effect"
231
+ *
232
+ * const program = Effect.validate([0, 1, 2, 3], (n) =>
233
+ * n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
234
+ * )
235
+ *
236
+ * Effect.runPromiseExit(program).then(console.log)
237
+ * // {
238
+ * // _id: 'Exit',
239
+ * // _tag: 'Failure',
240
+ * // cause: {
241
+ * // _id: 'Cause',
242
+ * // reasons: [
243
+ * // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
244
+ * // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
245
+ * // ]
246
+ * // }
247
+ * // }
248
+ * ```
249
+ *
250
+ * @since 4.0.0
251
+ * @category Error Accumulation
252
+ */
253
+ export const validate = internal.validate;
218
254
  /**
219
255
  * Executes an effectful operation for each element in an `Iterable`.
220
256
  *
@@ -690,6 +726,51 @@ export const callback = internal.callback;
690
726
  * @category Creating Effects
691
727
  */
692
728
  export const never = internal.never;
729
+ /**
730
+ * An `Effect` containing an empty record `{}`, used as the starting point for
731
+ * do notation chains.
732
+ *
733
+ * @example
734
+ * ```ts
735
+ * import { Effect } from "effect"
736
+ * import { pipe } from "effect/Function"
737
+ *
738
+ * const program = pipe(
739
+ * Effect.Do,
740
+ * Effect.bind("x", () => Effect.succeed(2)),
741
+ * Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
742
+ * Effect.let("sum", ({ x, y }) => x + y)
743
+ * )
744
+ * ```
745
+ *
746
+ * @since 4.0.0
747
+ * @category Do notation
748
+ */
749
+ export const Do = internal.Do;
750
+ /**
751
+ * Gives a name to the success value of an `Effect`, creating a single-key
752
+ * record used in do notation pipelines.
753
+ *
754
+ * @since 4.0.0
755
+ * @category Do notation
756
+ */
757
+ export const bindTo = internal.bindTo;
758
+ const let_ = internal.let;
759
+ export {
760
+ /**
761
+ * Adds a computed plain value to the do notation record.
762
+ *
763
+ * @since 4.0.0
764
+ * @category Do notation
765
+ */
766
+ let_ as let };
767
+ /**
768
+ * Adds an `Effect` value to the do notation record under a given name.
769
+ *
770
+ * @since 4.0.0
771
+ * @category Do notation
772
+ */
773
+ export const bind = internal.bind;
693
774
  /**
694
775
  * Provides a way to write effectful code using generator functions, simplifying
695
776
  * control flow and error handling.
@@ -1998,15 +2079,14 @@ export const catchCause = internal.catchCause;
1998
2079
  */
1999
2080
  export const catchDefect = internal.catchDefect;
2000
2081
  /**
2001
- * Recovers from specific errors using a `Filter`, `Predicate`, or
2002
- * `Refinement`.
2082
+ * Recovers from specific errors using a `Predicate` or `Refinement`.
2003
2083
  *
2004
2084
  * **When to Use**
2005
2085
  *
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.
2086
+ * `catchIf` lets you recover from errors that match a condition. Use a
2087
+ * `Refinement` for type narrowing or a `Predicate` for simple boolean
2088
+ * matching. Non-matching errors re-fail with the original cause. Defects and
2089
+ * interrupts are not caught.
2010
2090
  *
2011
2091
  * **Previously Known As**
2012
2092
  *
@@ -2033,7 +2113,7 @@ export const catchDefect = internal.catchDefect;
2033
2113
  *
2034
2114
  * // With a Filter
2035
2115
  * const recovered2 = program.pipe(
2036
- * Effect.catchIf(
2116
+ * Effect.catchFilter(
2037
2117
  * Filter.tagged("NotFound"),
2038
2118
  * (error) => Effect.succeed(`missing:${error.id}`)
2039
2119
  * )
@@ -2044,6 +2124,13 @@ export const catchDefect = internal.catchDefect;
2044
2124
  * @category Error Handling
2045
2125
  */
2046
2126
  export const catchIf = internal.catchIf;
2127
+ /**
2128
+ * Recovers from specific errors using a `Filter`.
2129
+ *
2130
+ * @since 4.0.0
2131
+ * @category Error Handling
2132
+ */
2133
+ export const catchFilter = internal.catchFilter;
2047
2134
  /**
2048
2135
  * Catches `NoSuchElementError` failures and converts them to `Option.none`.
2049
2136
  *
@@ -2110,6 +2197,13 @@ export const catchNoSuchElement = internal.catchNoSuchElement;
2110
2197
  * @category Error Handling
2111
2198
  */
2112
2199
  export const catchCauseIf = internal.catchCauseIf;
2200
+ /**
2201
+ * Recovers from specific failures based on a `Filter`.
2202
+ *
2203
+ * @since 4.0.0
2204
+ * @category Error Handling
2205
+ */
2206
+ export const catchCauseFilter = internal.catchCauseFilter;
2113
2207
  /**
2114
2208
  * The `mapError` function is used to transform or modify the error
2115
2209
  * produced by an effect, without affecting its success value.
@@ -2344,6 +2438,13 @@ export const tapCause = internal.tapCause;
2344
2438
  * @category Sequencing
2345
2439
  */
2346
2440
  export const tapCauseIf = internal.tapCauseIf;
2441
+ /**
2442
+ * Conditionally executes a side effect based on the cause of a failed effect.
2443
+ *
2444
+ * @since 4.0.0
2445
+ * @category Sequencing
2446
+ */
2447
+ export const tapCauseFilter = internal.tapCauseFilter;
2347
2448
  /**
2348
2449
  * Inspect severe errors or defects (non-recoverable failures) in an effect.
2349
2450
  *
@@ -2666,6 +2767,16 @@ export const ignoreCause = internal.ignoreCause;
2666
2767
  * @category Fallback
2667
2768
  */
2668
2769
  export const withExecutionPlan = internalExecutionPlan.withExecutionPlan;
2770
+ /**
2771
+ * Runs an effect and reports any errors to the configured `ErrorReporter`s.
2772
+ *
2773
+ * If the `defectsOnly` option is set to `true`, only defects (unrecoverable
2774
+ * errors) will be reported, while regular failures will be ignored.
2775
+ *
2776
+ * @since 4.0.0
2777
+ * @category Error Handling
2778
+ */
2779
+ export const withErrorReporting = internal.withErrorReporting;
2669
2780
  // -----------------------------------------------------------------------------
2670
2781
  // Fallback
2671
2782
  // -----------------------------------------------------------------------------
@@ -3042,12 +3153,12 @@ export const raceFirst = internal.raceFirst;
3042
3153
  // Filtering
3043
3154
  // -----------------------------------------------------------------------------
3044
3155
  /**
3045
- * Filters elements of an iterable using a predicate, refinement, effectful
3046
- * predicate, or `Filter.FilterEffect`.
3156
+ * Filters elements of an iterable using a predicate, refinement, or effectful
3157
+ * predicate.
3047
3158
  *
3048
3159
  * @example
3049
3160
  * ```ts
3050
- * import { Effect, Filter, Result } from "effect"
3161
+ * import { Effect } from "effect"
3051
3162
  *
3052
3163
  * // Sync predicate
3053
3164
  * const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
@@ -3055,16 +3166,27 @@ export const raceFirst = internal.raceFirst;
3055
3166
  * // Effectful predicate
3056
3167
  * const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
3057
3168
  *
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
- * )
3169
+ * // Use Effect.filterMapEffect for effectful Filter.Filter callbacks
3062
3170
  * ```
3063
3171
  *
3064
3172
  * @since 2.0.0
3065
3173
  * @category Filtering
3066
3174
  */
3067
3175
  export const filter = internal.filter;
3176
+ /**
3177
+ * Filters and maps elements of an iterable with a `Filter`.
3178
+ *
3179
+ * @since 4.0.0
3180
+ * @category Filtering
3181
+ */
3182
+ export const filterMap = internal.filterMap;
3183
+ /**
3184
+ * Effectfully filters and maps elements of an iterable with a `FilterEffect`.
3185
+ *
3186
+ * @since 4.0.0
3187
+ * @category Filtering
3188
+ */
3189
+ export const filterMapEffect = internal.filterMapEffect;
3068
3190
  /**
3069
3191
  * Filters an effect, providing an alternative effect if the predicate fails.
3070
3192
  *
@@ -3096,6 +3218,13 @@ export const filter = internal.filter;
3096
3218
  * @category Filtering
3097
3219
  */
3098
3220
  export const filterOrElse = internal.filterOrElse;
3221
+ /**
3222
+ * Filters an effect with a `Filter`, providing an alternative effect on failure.
3223
+ *
3224
+ * @since 4.0.0
3225
+ * @category Filtering
3226
+ */
3227
+ export const filterMapOrElse = internal.filterMapOrElse;
3099
3228
  /**
3100
3229
  * Filters an effect, failing with a custom error if the predicate fails.
3101
3230
  *
@@ -3126,6 +3255,13 @@ export const filterOrElse = internal.filterOrElse;
3126
3255
  * @category Filtering
3127
3256
  */
3128
3257
  export const filterOrFail = internal.filterOrFail;
3258
+ /**
3259
+ * Filters an effect with a `Filter`, failing when the filter fails.
3260
+ *
3261
+ * @since 4.0.0
3262
+ * @category Filtering
3263
+ */
3264
+ export const filterMapOrFail = internal.filterMapOrFail;
3129
3265
  // -----------------------------------------------------------------------------
3130
3266
  // Conditional Operators
3131
3267
  // -----------------------------------------------------------------------------
@@ -4266,7 +4402,7 @@ export const ensuring = internal.ensuring;
4266
4402
  export const onError = internal.onError;
4267
4403
  /**
4268
4404
  * Runs the finalizer only when this effect fails and the `Cause` matches the
4269
- * filter, passing the filtered failure and the original cause.
4405
+ * provided predicate.
4270
4406
  *
4271
4407
  * @example
4272
4408
  * ```ts
@@ -4288,6 +4424,13 @@ export const onError = internal.onError;
4288
4424
  * @category Resource Management & Finalization
4289
4425
  */
4290
4426
  export const onErrorIf = internal.onErrorIf;
4427
+ /**
4428
+ * Runs the finalizer only when this effect fails and the cause matches the provided `Filter`.
4429
+ *
4430
+ * @since 4.0.0
4431
+ * @category Resource Management & Finalization
4432
+ */
4433
+ export const onErrorFilter = internal.onErrorFilter;
4291
4434
  /**
4292
4435
  * The low level primitive that powers `onExit`.
4293
4436
  * function is used to run a finalizer when the effect exits, regardless of the
@@ -4325,20 +4468,20 @@ export const onExitPrimitive = internal.onExitPrimitive;
4325
4468
  */
4326
4469
  export const onExit = internal.onExit;
4327
4470
  /**
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`.
4471
+ * Runs the cleanup effect only when the `Exit` satisfies the provided
4472
+ * predicate.
4331
4473
  *
4332
4474
  * @example
4333
4475
  * ```ts
4334
- * import { Console, Effect, Exit, Filter } from "effect"
4335
- *
4336
- * const exitFilter = Filter.fromPredicate(Exit.isSuccess<number, never>)
4476
+ * import { Console, Effect, Exit } from "effect"
4337
4477
  *
4338
4478
  * const program = Effect.onExitIf(
4339
4479
  * Effect.succeed(42),
4340
- * exitFilter,
4341
- * (success) => Console.log(`Succeeded with: ${success.value}`)
4480
+ * Exit.isSuccess,
4481
+ * (exit) =>
4482
+ * Exit.isSuccess(exit)
4483
+ * ? Console.log(`Succeeded with: ${exit.value}`)
4484
+ * : Effect.void
4342
4485
  * )
4343
4486
  * ```
4344
4487
  *
@@ -4346,6 +4489,13 @@ export const onExit = internal.onExit;
4346
4489
  * @category Resource Management & Finalization
4347
4490
  */
4348
4491
  export const onExitIf = internal.onExitIf;
4492
+ /**
4493
+ * Runs the cleanup effect only when the `Exit` matches the provided `Filter`.
4494
+ *
4495
+ * @since 4.0.0
4496
+ * @category Resource Management & Finalization
4497
+ */
4498
+ export const onExitFilter = internal.onExitFilter;
4349
4499
  // -----------------------------------------------------------------------------
4350
4500
  // Caching
4351
4501
  // -----------------------------------------------------------------------------
@@ -4702,124 +4852,6 @@ export const uninterruptibleMask = internal.uninterruptibleMask;
4702
4852
  * @category Interruption
4703
4853
  */
4704
4854
  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
4855
  /**
4824
4856
  * Repeats this effect forever (until the first error).
4825
4857
  *
@@ -6579,6 +6611,32 @@ export const annotateLogs = /*#__PURE__*/dual(args => core.isEffect(args[0]), (e
6579
6611
  }
6580
6612
  return newAnnotations;
6581
6613
  }));
6614
+ /**
6615
+ * Adds log annotations to the current scope.
6616
+ *
6617
+ * This differs from `annotateLogs`, which only annotates a specific effect.
6618
+ * `annotateLogsScoped` updates annotations for the entire current `Scope` and
6619
+ * restores the previous annotations when the scope closes.
6620
+ *
6621
+ * @example
6622
+ * ```ts
6623
+ * import { Effect } from "effect"
6624
+ *
6625
+ * const program = Effect.scoped(
6626
+ * Effect.gen(function*() {
6627
+ * yield* Effect.log("before")
6628
+ * yield* Effect.annotateLogsScoped({ requestId: "req-123" })
6629
+ * yield* Effect.log("inside scope")
6630
+ * })
6631
+ * )
6632
+ *
6633
+ * Effect.runPromise(program)
6634
+ * ```
6635
+ *
6636
+ * @since 4.0.0
6637
+ * @category Logging
6638
+ */
6639
+ export const annotateLogsScoped = internal.annotateLogsScoped;
6582
6640
  /**
6583
6641
  * Adds a span to each log line in this effect.
6584
6642
  *
@@ -6866,7 +6924,7 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
6866
6924
  const startTime = clock.currentTimeNanosUnsafe();
6867
6925
  return onExit(self, () => {
6868
6926
  const endTime = clock.currentTimeNanosUnsafe();
6869
- const duration = Duration.subtract(Duration.fromDurationInputUnsafe(endTime), Duration.fromDurationInputUnsafe(startTime));
6927
+ const duration = Duration.subtract(Duration.fromInputUnsafe(endTime), Duration.fromInputUnsafe(startTime));
6870
6928
  const input = f === undefined ? duration : internalCall(() => f(duration));
6871
6929
  return Metric.update(metric, input);
6872
6930
  });
@@ -6897,125 +6955,63 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
6897
6955
  */
6898
6956
  export class Transaction extends /*#__PURE__*/ServiceMap.Service()("effect/Effect/Transaction") {}
6899
6957
  /**
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.
6902
- *
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.
6958
+ * Accesses the current transaction state within an active transaction.
6907
6959
  *
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.
6960
+ * This function requires `Transaction` in the context and does NOT create or strip
6961
+ * transaction boundaries. Use it to interact with the transaction journal (e.g. in
6962
+ * `TxRef` internals). To define a transaction boundary, use {@link transaction}.
6913
6963
  *
6914
6964
  * @example
6915
6965
  * ```ts
6916
6966
  * import { Effect, TxRef } from "effect"
6917
6967
  *
6918
6968
  * 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}`)
6969
+ * const ref = yield* Effect.transaction(TxRef.make(0))
6953
6970
  *
6971
+ * yield* Effect.transaction(Effect.gen(function*() {
6954
6972
  * yield* TxRef.set(ref, 42)
6955
6973
  * return yield* TxRef.get(ref)
6956
- * })
6957
- * )
6958
- *
6959
- * Effect.runPromise(program).then(console.log) // 42
6974
+ * }))
6975
+ * })
6960
6976
  * ```
6961
6977
  *
6962
6978
  * @since 4.0.0
6963
6979
  * @category Transactions
6964
6980
  */
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
- });
6981
+ export const withTxState = f => flatMap(Transaction.asEffect(), state => internalCall(() => f(state)));
6973
6982
  /**
6974
- * Creates an isolated transaction that never composes with parent transactions.
6983
+ * Defines a transaction boundary. Transactions are "all or nothing" with respect to changes
6984
+ * made to transactional values (i.e. TxRef) that occur within the transaction body.
6975
6985
  *
6976
- * **Details**
6986
+ * In Effect transactions are optimistic with retry, that means transactions are retried when:
6977
6987
  *
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.
6988
+ * - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
6989
+ * accessed transactional values changes.
6981
6990
  *
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
6991
+ * - any of the accessed transactional values change during the execution of the transaction
6992
+ * due to a different transaction committing before the current.
6987
6993
  *
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
6994
+ * Each call to `transaction` always creates a new isolated transaction boundary with its own
6995
+ * journal and retry logic.
6992
6996
  *
6993
6997
  * @example
6994
6998
  * ```ts
6995
6999
  * import { Effect, TxRef } from "effect"
6996
7000
  *
6997
7001
  * const program = Effect.gen(function*() {
6998
- * const ref1 = yield* TxRef.make(0)
6999
- * const ref2 = yield* TxRef.make(100)
7002
+ * const ref1 = yield* Effect.transaction(TxRef.make(0))
7003
+ * const ref2 = yield* Effect.transaction(TxRef.make(0))
7000
7004
  *
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
- * }))
7010
- *
7011
- * // Isolated transaction - ref2 will be in its own transaction
7005
+ * // All operations within transaction block succeed or fail together
7012
7006
  * yield* Effect.transaction(Effect.gen(function*() {
7013
- * yield* TxRef.set(ref2, 200)
7007
+ * yield* TxRef.set(ref1, 10)
7008
+ * yield* TxRef.set(ref2, 20)
7009
+ * const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
7010
+ * console.log(`Transaction sum: ${sum}`)
7014
7011
  * }))
7015
7012
  *
7016
- * const val1 = yield* TxRef.get(ref1) // 20
7017
- * const val2 = yield* TxRef.get(ref2) // 200
7018
- * return { ref1: val1, ref2: val2 }
7013
+ * console.log(`Final ref1: ${yield* Effect.transaction(TxRef.get(ref1))}`) // 10
7014
+ * console.log(`Final ref2: ${yield* Effect.transaction(TxRef.get(ref2))}`) // 20
7019
7015
  * })
7020
7016
  * ```
7021
7017
  *
@@ -7024,34 +7020,21 @@ export const atomicWith = f => withFiber(fiber => {
7024
7020
  */
7025
7021
  export const transaction = effect => transactionWith(() => effect);
7026
7022
  /**
7027
- * Executes a function within an isolated transaction context, providing access to the transaction state.
7023
+ * Like {@link transaction} but provides access to the transaction state.
7028
7024
  *
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.
7025
+ * Always creates a new isolated transaction boundary with its own journal and retry logic.
7031
7026
  *
7032
7027
  * @example
7033
7028
  * ```ts
7034
7029
  * import { Effect, TxRef } from "effect"
7035
7030
  *
7036
- * const program = Effect.transactionWith((txState) =>
7031
+ * const program = Effect.transactionWith((_txState) =>
7037
7032
  * Effect.gen(function*() {
7038
7033
  * 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
7034
  * yield* TxRef.set(ref, 42)
7044
7035
  * return yield* TxRef.get(ref)
7045
7036
  * })
7046
7037
  * )
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
7038
  * ```
7056
7039
  *
7057
7040
  * @since 4.0.0
@@ -7146,16 +7129,16 @@ function clearTransaction(state) {
7146
7129
  *
7147
7130
  * const program = Effect.gen(function*() {
7148
7131
  * // create a transactional reference
7149
- * const ref = yield* TxRef.make(0)
7132
+ * const ref = yield* Effect.transaction(TxRef.make(0))
7150
7133
  *
7151
7134
  * // forks a fiber that increases the value of `ref` every 100 millis
7152
7135
  * yield* Effect.forkChild(Effect.forever(
7153
7136
  * // update to transactional value
7154
- * TxRef.update(ref, (n) => n + 1).pipe(Effect.delay("100 millis"))
7137
+ * Effect.transaction(TxRef.update(ref, (n) => n + 1)).pipe(Effect.delay("100 millis"))
7155
7138
  * ))
7156
7139
  *
7157
7140
  * // the following will retry 10 times until the `ref` value is 10
7158
- * yield* Effect.atomic(Effect.gen(function*() {
7141
+ * yield* Effect.transaction(Effect.gen(function*() {
7159
7142
  * const value = yield* TxRef.get(ref)
7160
7143
  * if (value < 10) {
7161
7144
  * yield* Effect.log(`retry due to value: ${value}`)