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/src/TxQueue.ts CHANGED
@@ -403,7 +403,9 @@ const TxQueueProto = {
403
403
  * @since 4.0.0
404
404
  * @category constructors
405
405
  */
406
- export const bounded = <A = never, E = never>(capacity: number): Effect.Effect<TxQueue<A, E>> =>
406
+ export const bounded = <A = never, E = never>(
407
+ capacity: number
408
+ ): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
407
409
  Effect.gen(function*() {
408
410
  const items = yield* TxChunk.empty<A>()
409
411
  const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
@@ -445,7 +447,7 @@ export const bounded = <A = never, E = never>(capacity: number): Effect.Effect<T
445
447
  * @since 4.0.0
446
448
  * @category constructors
447
449
  */
448
- export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>> =>
450
+ export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
449
451
  Effect.gen(function*() {
450
452
  const items = yield* TxChunk.empty<A>()
451
453
  const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
@@ -485,7 +487,9 @@ export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>>
485
487
  * @since 4.0.0
486
488
  * @category constructors
487
489
  */
488
- export const dropping = <A = never, E = never>(capacity: number): Effect.Effect<TxQueue<A, E>> =>
490
+ export const dropping = <A = never, E = never>(
491
+ capacity: number
492
+ ): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
489
493
  Effect.gen(function*() {
490
494
  const items = yield* TxChunk.empty<A>()
491
495
  const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
@@ -527,7 +531,9 @@ export const dropping = <A = never, E = never>(capacity: number): Effect.Effect<
527
531
  * @since 4.0.0
528
532
  * @category constructors
529
533
  */
530
- export const sliding = <A = never, E = never>(capacity: number): Effect.Effect<TxQueue<A, E>> =>
534
+ export const sliding = <A = never, E = never>(
535
+ capacity: number
536
+ ): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
531
537
  Effect.gen(function*() {
532
538
  const items = yield* TxChunk.empty<A>()
533
539
  const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
@@ -593,7 +599,7 @@ export const offer: {
593
599
  * @since 4.0.0
594
600
  * @category combinators
595
601
  */
596
- <A, E>(value: A): (self: TxEnqueue<A, E>) => Effect.Effect<boolean>
602
+ <A, E>(value: A): (self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
597
603
  // =============================================================================
598
604
  // Core Queue Operations
599
605
  // =============================================================================
@@ -620,9 +626,10 @@ export const offer: {
620
626
  * @since 4.0.0
621
627
  * @category combinators
622
628
  */
623
- <A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean>
624
- } = dual(2, <A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean> =>
625
- Effect.atomic(
629
+ <A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction>
630
+ } = dual(
631
+ 2,
632
+ <A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction> =>
626
633
  Effect.gen(function*() {
627
634
  const state = yield* TxRef.get(self.stateRef)
628
635
  if (state._tag === "Done" || state._tag === "Closing") {
@@ -657,7 +664,7 @@ export const offer: {
657
664
  // bounded strategy - block until space is available
658
665
  return yield* Effect.retryTransaction
659
666
  })
660
- ))
667
+ )
661
668
 
662
669
  /**
663
670
  * Offers multiple items to the queue.
@@ -710,7 +717,7 @@ export const offerAll: {
710
717
  * @since 4.0.0
711
718
  * @category combinators
712
719
  */
713
- <A, E>(values: Iterable<A>): (self: TxEnqueue<A, E>) => Effect.Effect<Array<A>>
720
+ <A, E>(values: Iterable<A>): (self: TxEnqueue<A, E>) => Effect.Effect<Array<A>, never, Effect.Transaction>
714
721
  /**
715
722
  * Offers multiple items to the queue.
716
723
  *
@@ -736,24 +743,22 @@ export const offerAll: {
736
743
  * @since 4.0.0
737
744
  * @category combinators
738
745
  */
739
- <A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>>
746
+ <A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>, never, Effect.Transaction>
740
747
  } = dual(
741
748
  2,
742
- <A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>> =>
743
- Effect.atomic(
744
- Effect.gen(function*() {
745
- const rejected: Array<A> = []
746
-
747
- for (const value of values) {
748
- const accepted = yield* offer(self, value)
749
- if (!accepted) {
750
- rejected.push(value)
751
- }
749
+ <A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>, never, Effect.Transaction> =>
750
+ Effect.gen(function*() {
751
+ const rejected: Array<A> = []
752
+
753
+ for (const value of values) {
754
+ const accepted = yield* offer(self, value)
755
+ if (!accepted) {
756
+ rejected.push(value)
752
757
  }
758
+ }
753
759
 
754
- return rejected
755
- })
756
- )
760
+ return rejected
761
+ })
757
762
  )
758
763
 
759
764
  /**
@@ -784,38 +789,36 @@ export const offerAll: {
784
789
  * @since 4.0.0
785
790
  * @category combinators
786
791
  */
787
- export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
788
- Effect.atomic(
789
- Effect.gen(function*() {
790
- const state = yield* TxRef.get(self.stateRef)
792
+ export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E, Effect.Transaction> =>
793
+ Effect.gen(function*() {
794
+ const state = yield* TxRef.get(self.stateRef)
791
795
 
792
- // Check if queue is done - forward the cause directly
793
- if (state._tag === "Done") {
794
- return yield* Effect.failCause(state.cause)
795
- }
796
+ // Check if queue is done - forward the cause directly
797
+ if (state._tag === "Done") {
798
+ return yield* Effect.failCause(state.cause)
799
+ }
796
800
 
797
- // If no items available, retry transaction
798
- if (yield* isEmpty(self)) {
799
- return yield* Effect.retryTransaction
800
- }
801
+ // If no items available, retry transaction
802
+ if (yield* isEmpty(self)) {
803
+ return yield* Effect.retryTransaction
804
+ }
801
805
 
802
- // Take item from queue
803
- const chunk = yield* TxChunk.get(self.items)
804
- const head = Chunk.head(chunk)
805
- if (Option.isNone(head)) {
806
- return yield* Effect.retryTransaction
807
- }
806
+ // Take item from queue
807
+ const chunk = yield* TxChunk.get(self.items)
808
+ const head = Chunk.head(chunk)
809
+ if (Option.isNone(head)) {
810
+ return yield* Effect.retryTransaction
811
+ }
808
812
 
809
- yield* TxChunk.drop(self.items, 1)
813
+ yield* TxChunk.drop(self.items, 1)
810
814
 
811
- // Check if we need to transition Closing → Done
812
- if (state._tag === "Closing" && (yield* isEmpty(self))) {
813
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
814
- }
815
+ // Check if we need to transition Closing → Done
816
+ if (state._tag === "Closing" && (yield* isEmpty(self))) {
817
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
818
+ }
815
819
 
816
- return head.value
817
- })
818
- )
820
+ return head.value
821
+ })
819
822
 
820
823
  /**
821
824
  * Tries to take an item from the queue without blocking.
@@ -840,24 +843,22 @@ export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
840
843
  * @since 4.0.0
841
844
  * @category combinators
842
845
  */
843
- export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A>> =>
844
- Effect.atomic(
845
- Effect.gen(function*() {
846
- const state = yield* TxRef.get(self.stateRef)
847
- if (state._tag === "Done") {
848
- return Option.none()
849
- }
846
+ export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A>, never, Effect.Transaction> =>
847
+ Effect.gen(function*() {
848
+ const state = yield* TxRef.get(self.stateRef)
849
+ if (state._tag === "Done") {
850
+ return Option.none()
851
+ }
850
852
 
851
- const chunk = yield* TxChunk.get(self.items)
852
- const head = Chunk.head(chunk)
853
- if (Option.isNone(head)) {
854
- return Option.none()
855
- }
853
+ const chunk = yield* TxChunk.get(self.items)
854
+ const head = Chunk.head(chunk)
855
+ if (Option.isNone(head)) {
856
+ return Option.none()
857
+ }
856
858
 
857
- yield* TxChunk.drop(self.items, 1)
858
- return Option.some(head.value)
859
- })
860
- )
859
+ yield* TxChunk.drop(self.items, 1)
860
+ return Option.some(head.value)
861
+ })
861
862
 
862
863
  /**
863
864
  * Takes all items from the queue. Blocks if the queue is empty.
@@ -899,35 +900,33 @@ export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A
899
900
  * @since 4.0.0
900
901
  * @category combinators
901
902
  */
902
- export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmptyArray<A>, E> =>
903
- Effect.atomic(
904
- Effect.gen(function*() {
905
- const state = yield* TxRef.get(self.stateRef)
903
+ export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmptyArray<A>, E, Effect.Transaction> =>
904
+ Effect.gen(function*() {
905
+ const state = yield* TxRef.get(self.stateRef)
906
906
 
907
- // Handle done queue
908
- if (state._tag === "Done") {
909
- return yield* Effect.failCause(state.cause)
910
- }
907
+ // Handle done queue
908
+ if (state._tag === "Done") {
909
+ return yield* Effect.failCause(state.cause)
910
+ }
911
911
 
912
- // Wait if empty - same pattern as take()
913
- if (yield* isEmpty(self)) {
914
- return yield* Effect.retryTransaction
915
- }
912
+ // Wait if empty - same pattern as take()
913
+ if (yield* isEmpty(self)) {
914
+ return yield* Effect.retryTransaction
915
+ }
916
916
 
917
- const chunk = yield* TxChunk.get(self.items)
917
+ const chunk = yield* TxChunk.get(self.items)
918
918
 
919
- // Take all items (guaranteed non-empty due to isEmpty check above)
920
- const items = Chunk.toArray(chunk) as Arr.NonEmptyArray<A>
921
- yield* TxChunk.set(self.items, Chunk.empty())
919
+ // Take all items (guaranteed non-empty due to isEmpty check above)
920
+ const items = Chunk.toArray(chunk) as Arr.NonEmptyArray<A>
921
+ yield* TxChunk.set(self.items, Chunk.empty())
922
922
 
923
- // Check if we need to transition Closing → Done
924
- if (state._tag === "Closing") {
925
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
926
- }
923
+ // Check if we need to transition Closing → Done
924
+ if (state._tag === "Closing") {
925
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
926
+ }
927
927
 
928
- return items
929
- })
930
- )
928
+ return items
929
+ })
931
930
 
932
931
  /**
933
932
  * Takes exactly N items from the queue in a single atomic transaction.
@@ -1000,7 +999,7 @@ export const takeN: {
1000
999
  * @since 4.0.0
1001
1000
  * @category combinators
1002
1001
  */
1003
- (n: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E>
1002
+ (n: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E, Effect.Transaction>
1004
1003
  /**
1005
1004
  * Takes exactly N items from the queue in a single atomic transaction.
1006
1005
  *
@@ -1036,64 +1035,62 @@ export const takeN: {
1036
1035
  * @since 4.0.0
1037
1036
  * @category combinators
1038
1037
  */
1039
- <A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E>
1038
+ <A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E, Effect.Transaction>
1040
1039
  } = dual(
1041
1040
  2,
1042
- <A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E> =>
1043
- Effect.atomic(
1044
- Effect.gen(function*() {
1045
- const state = yield* TxRef.get(self.stateRef)
1046
-
1047
- // Check if queue is done - forward the cause directly
1048
- if (state._tag === "Done") {
1049
- return yield* Effect.failCause(state.cause)
1050
- }
1041
+ <A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E, Effect.Transaction> =>
1042
+ Effect.gen(function*() {
1043
+ const state = yield* TxRef.get(self.stateRef)
1051
1044
 
1052
- const currentSize = yield* size(self)
1053
-
1054
- // Determine how many items we can/should take
1055
- const requestedCount = n
1056
- const maxPossible = Math.min(requestedCount, self.capacity)
1057
-
1058
- // If we can't get the requested amount due to capacity constraints,
1059
- // take what the capacity allows. Otherwise, wait for the full amount.
1060
- const shouldWaitForFull = requestedCount <= self.capacity
1061
- const minimumRequired = shouldWaitForFull ? requestedCount : maxPossible
1062
-
1063
- // If we don't have enough items available
1064
- if (currentSize < minimumRequired) {
1065
- // If queue is closing, transition to done and return what we have
1066
- if (state._tag === "Closing") {
1067
- if (yield* isEmpty(self)) {
1068
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1069
- return []
1070
- }
1071
- // Take all remaining items when closing
1072
- const chunk = yield* TxChunk.get(self.items)
1073
- const taken = Chunk.toArray(chunk)
1074
- yield* TxChunk.set(self.items, Chunk.empty())
1075
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1076
- return taken
1077
- }
1045
+ // Check if queue is done - forward the cause directly
1046
+ if (state._tag === "Done") {
1047
+ return yield* Effect.failCause(state.cause)
1048
+ }
1078
1049
 
1079
- // Queue is still open but not enough items - retry transaction
1080
- return yield* Effect.retryTransaction
1081
- }
1050
+ const currentSize = yield* size(self)
1051
+
1052
+ // Determine how many items we can/should take
1053
+ const requestedCount = n
1054
+ const maxPossible = Math.min(requestedCount, self.capacity)
1082
1055
 
1083
- // Take the determined number of items
1084
- const toTake = minimumRequired
1085
- const chunk = yield* TxChunk.get(self.items)
1086
- const taken = Chunk.take(chunk, toTake)
1087
- yield* TxChunk.drop(self.items, toTake)
1056
+ // If we can't get the requested amount due to capacity constraints,
1057
+ // take what the capacity allows. Otherwise, wait for the full amount.
1058
+ const shouldWaitForFull = requestedCount <= self.capacity
1059
+ const minimumRequired = shouldWaitForFull ? requestedCount : maxPossible
1088
1060
 
1089
- // Check if we need to transition Closing → Done
1090
- if (state._tag === "Closing" && (yield* isEmpty(self))) {
1061
+ // If we don't have enough items available
1062
+ if (currentSize < minimumRequired) {
1063
+ // If queue is closing, transition to done and return what we have
1064
+ if (state._tag === "Closing") {
1065
+ if (yield* isEmpty(self)) {
1066
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1067
+ return []
1068
+ }
1069
+ // Take all remaining items when closing
1070
+ const chunk = yield* TxChunk.get(self.items)
1071
+ const taken = Chunk.toArray(chunk)
1072
+ yield* TxChunk.set(self.items, Chunk.empty())
1091
1073
  yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1074
+ return taken
1092
1075
  }
1093
1076
 
1094
- return Chunk.toArray(taken)
1095
- })
1096
- )
1077
+ // Queue is still open but not enough items - retry transaction
1078
+ return yield* Effect.retryTransaction
1079
+ }
1080
+
1081
+ // Take the determined number of items
1082
+ const toTake = minimumRequired
1083
+ const chunk = yield* TxChunk.get(self.items)
1084
+ const taken = Chunk.take(chunk, toTake)
1085
+ yield* TxChunk.drop(self.items, toTake)
1086
+
1087
+ // Check if we need to transition Closing → Done
1088
+ if (state._tag === "Closing" && (yield* isEmpty(self))) {
1089
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1090
+ }
1091
+
1092
+ return Chunk.toArray(taken)
1093
+ })
1097
1094
  )
1098
1095
 
1099
1096
  /**
@@ -1153,7 +1150,7 @@ export const takeBetween: {
1153
1150
  * @since 4.0.0
1154
1151
  * @category taking
1155
1152
  */
1156
- (min: number, max: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E>
1153
+ (min: number, max: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E, Effect.Transaction>
1157
1154
  /**
1158
1155
  * Takes a variable number of items between a specified minimum and maximum from the queue.
1159
1156
  * Waits for at least the minimum number of items to be available.
@@ -1182,60 +1179,58 @@ export const takeBetween: {
1182
1179
  * @since 4.0.0
1183
1180
  * @category taking
1184
1181
  */
1185
- <A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E>
1182
+ <A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E, Effect.Transaction>
1186
1183
  } = dual(
1187
1184
  3,
1188
- <A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E> =>
1189
- Effect.atomic(
1190
- Effect.gen(function*() {
1191
- const state = yield* TxRef.get(self.stateRef)
1192
-
1193
- // Check if queue is done - forward the cause directly
1194
- if (state._tag === "Done") {
1195
- return yield* Effect.failCause(state.cause)
1196
- }
1185
+ <A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E, Effect.Transaction> =>
1186
+ Effect.gen(function*() {
1187
+ const state = yield* TxRef.get(self.stateRef)
1197
1188
 
1198
- // Validate parameters
1199
- if (min <= 0 || max <= 0 || min > max) {
1200
- return []
1201
- }
1189
+ // Check if queue is done - forward the cause directly
1190
+ if (state._tag === "Done") {
1191
+ return yield* Effect.failCause(state.cause)
1192
+ }
1202
1193
 
1203
- const currentSize = yield* size(self)
1204
-
1205
- // If we have less than minimum required items
1206
- if (currentSize < min) {
1207
- // If queue is closing, transition to done and return what we have
1208
- if (state._tag === "Closing") {
1209
- if (yield* isEmpty(self)) {
1210
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1211
- return []
1212
- }
1213
- // Take all remaining items when closing (if >= min or all available)
1214
- const chunk = yield* TxChunk.get(self.items)
1215
- const taken = Chunk.toArray(chunk)
1216
- yield* TxChunk.set(self.items, Chunk.empty())
1194
+ // Validate parameters
1195
+ if (min <= 0 || max <= 0 || min > max) {
1196
+ return []
1197
+ }
1198
+
1199
+ const currentSize = yield* size(self)
1200
+
1201
+ // If we have less than minimum required items
1202
+ if (currentSize < min) {
1203
+ // If queue is closing, transition to done and return what we have
1204
+ if (state._tag === "Closing") {
1205
+ if (yield* isEmpty(self)) {
1217
1206
  yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1218
- return taken
1207
+ return []
1219
1208
  }
1220
-
1221
- // Queue is still open but not enough items - retry transaction
1222
- return yield* Effect.retryTransaction
1209
+ // Take all remaining items when closing (if >= min or all available)
1210
+ const chunk = yield* TxChunk.get(self.items)
1211
+ const taken = Chunk.toArray(chunk)
1212
+ yield* TxChunk.set(self.items, Chunk.empty())
1213
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1214
+ return taken
1223
1215
  }
1224
1216
 
1225
- // We have at least the minimum, take up to the maximum
1226
- const toTake = Math.min(currentSize, max)
1227
- const chunk = yield* TxChunk.get(self.items)
1228
- const taken = Chunk.take(chunk, toTake)
1229
- yield* TxChunk.drop(self.items, toTake)
1217
+ // Queue is still open but not enough items - retry transaction
1218
+ return yield* Effect.retryTransaction
1219
+ }
1220
+
1221
+ // We have at least the minimum, take up to the maximum
1222
+ const toTake = Math.min(currentSize, max)
1223
+ const chunk = yield* TxChunk.get(self.items)
1224
+ const taken = Chunk.take(chunk, toTake)
1225
+ yield* TxChunk.drop(self.items, toTake)
1230
1226
 
1231
- // Check if we need to transition Closing → Done
1232
- if (state._tag === "Closing" && (yield* isEmpty(self))) {
1233
- yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1234
- }
1227
+ // Check if we need to transition Closing → Done
1228
+ if (state._tag === "Closing" && (yield* isEmpty(self))) {
1229
+ yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
1230
+ }
1235
1231
 
1236
- return Chunk.toArray(taken)
1237
- })
1238
- )
1232
+ return Chunk.toArray(taken)
1233
+ })
1239
1234
  )
1240
1235
 
1241
1236
  /**
@@ -1273,23 +1268,21 @@ export const takeBetween: {
1273
1268
  * @since 4.0.0
1274
1269
  * @category combinators
1275
1270
  */
1276
- export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
1277
- Effect.atomic(
1278
- Effect.gen(function*() {
1279
- const state = yield* TxRef.get(self.stateRef)
1280
- if (state._tag === "Done") {
1281
- return yield* Effect.failCause(state.cause)
1282
- }
1271
+ export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E, Effect.Transaction> =>
1272
+ Effect.gen(function*() {
1273
+ const state = yield* TxRef.get(self.stateRef)
1274
+ if (state._tag === "Done") {
1275
+ return yield* Effect.failCause(state.cause)
1276
+ }
1283
1277
 
1284
- const chunk = yield* TxChunk.get(self.items)
1285
- const head = Chunk.head(chunk)
1286
- if (Option.isNone(head)) {
1287
- return yield* Effect.retryTransaction
1288
- }
1278
+ const chunk = yield* TxChunk.get(self.items)
1279
+ const head = Chunk.head(chunk)
1280
+ if (Option.isNone(head)) {
1281
+ return yield* Effect.retryTransaction
1282
+ }
1289
1283
 
1290
- return head.value
1291
- })
1292
- )
1284
+ return head.value
1285
+ })
1293
1286
 
1294
1287
  /**
1295
1288
  * Gets the current size of the queue.
@@ -1310,7 +1303,7 @@ export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
1310
1303
  * @since 4.0.0
1311
1304
  * @category combinators
1312
1305
  */
1313
- export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(self.items)
1306
+ export const size = (self: TxQueueState): Effect.Effect<number, never, Effect.Transaction> => TxChunk.size(self.items)
1314
1307
 
1315
1308
  /**
1316
1309
  * Checks if the queue is empty.
@@ -1334,7 +1327,8 @@ export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(
1334
1327
  * @since 4.0.0
1335
1328
  * @category combinators
1336
1329
  */
1337
- export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChunk.isEmpty(self.items)
1330
+ export const isEmpty = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
1331
+ TxChunk.isEmpty(self.items)
1338
1332
 
1339
1333
  /**
1340
1334
  * Checks if the queue is at capacity.
@@ -1358,7 +1352,7 @@ export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChunk.i
1358
1352
  * @since 4.0.0
1359
1353
  * @category combinators
1360
1354
  */
1361
- export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
1355
+ export const isFull = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
1362
1356
  Effect.gen(function*() {
1363
1357
  if (self.capacity === Number.POSITIVE_INFINITY) {
1364
1358
  return false
@@ -1390,7 +1384,7 @@ export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
1390
1384
  * @since 4.0.0
1391
1385
  * @category combinators
1392
1386
  */
1393
- export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
1387
+ export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean, never, Effect.Transaction> =>
1394
1388
  Effect.withFiber((fiber) => failCause(self, Cause.interrupt(fiber.id)))
1395
1389
 
1396
1390
  /**
@@ -1438,7 +1432,7 @@ export const fail: {
1438
1432
  * @since 4.0.0
1439
1433
  * @category combinators
1440
1434
  */
1441
- <E>(error: E): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean>
1435
+ <E>(error: E): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
1442
1436
  /**
1443
1437
  * Fails the queue with the specified error.
1444
1438
  *
@@ -1461,9 +1455,10 @@ export const fail: {
1461
1455
  * @since 4.0.0
1462
1456
  * @category combinators
1463
1457
  */
1464
- <A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean>
1465
- } = dual(2, <A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean> =>
1466
- Effect.atomic(
1458
+ <A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction>
1459
+ } = dual(
1460
+ 2,
1461
+ <A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction> =>
1467
1462
  Effect.gen(function*() {
1468
1463
  const state = yield* TxRef.get(self.stateRef)
1469
1464
 
@@ -1477,7 +1472,7 @@ export const fail: {
1477
1472
 
1478
1473
  return true
1479
1474
  })
1480
- ))
1475
+ )
1481
1476
 
1482
1477
  /**
1483
1478
  * Completes the queue with the specified exit value.
@@ -1526,7 +1521,7 @@ export const failCause: {
1526
1521
  * @since 4.0.0
1527
1522
  * @category combinators
1528
1523
  */
1529
- <E>(cause: Cause.Cause<E>): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean>
1524
+ <E>(cause: Cause.Cause<E>): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
1530
1525
  /**
1531
1526
  * Completes the queue with the specified exit value.
1532
1527
  *
@@ -1550,9 +1545,10 @@ export const failCause: {
1550
1545
  * @since 4.0.0
1551
1546
  * @category combinators
1552
1547
  */
1553
- <A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean>
1554
- } = dual(2, <A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean> =>
1555
- Effect.atomic(
1548
+ <A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean, never, Effect.Transaction>
1549
+ } = dual(
1550
+ 2,
1551
+ <A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean, never, Effect.Transaction> =>
1556
1552
  Effect.gen(function*() {
1557
1553
  const state = yield* TxRef.get(self.stateRef)
1558
1554
 
@@ -1570,7 +1566,7 @@ export const failCause: {
1570
1566
 
1571
1567
  return true
1572
1568
  })
1573
- ))
1569
+ )
1574
1570
 
1575
1571
  /**
1576
1572
  * Ends a queue by signaling completion with a Done error.
@@ -1606,7 +1602,7 @@ export const failCause: {
1606
1602
  * @since 4.0.0
1607
1603
  * @category combinators
1608
1604
  */
1609
- export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boolean> =>
1605
+ export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boolean, never, Effect.Transaction> =>
1610
1606
  failCause(self, Cause.fail(Cause.Done()))
1611
1607
 
1612
1608
  /**
@@ -1638,22 +1634,20 @@ export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boo
1638
1634
  * @since 4.0.0
1639
1635
  * @category combinators
1640
1636
  */
1641
- export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, ExcludeDone<E>> =>
1642
- Effect.atomic(
1643
- Effect.gen(function*() {
1644
- const state = yield* TxRef.get(self.stateRef)
1645
- if (state._tag === "Done") {
1646
- // Return empty array only for halt causes (like Cause.Done)
1647
- if (isDoneCause(state.cause)) {
1648
- return []
1649
- }
1650
- return yield* Effect.failCause(state.cause)
1637
+ export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, ExcludeDone<E>, Effect.Transaction> =>
1638
+ Effect.gen(function*() {
1639
+ const state = yield* TxRef.get(self.stateRef)
1640
+ if (state._tag === "Done") {
1641
+ // Return empty array only for halt causes (like Cause.Done)
1642
+ if (isDoneCause(state.cause)) {
1643
+ return []
1651
1644
  }
1652
- const chunk = yield* TxChunk.get(self.items)
1653
- yield* TxChunk.set(self.items, Chunk.empty())
1654
- return Chunk.toArray(chunk)
1655
- })
1656
- )
1645
+ return yield* Effect.failCause(state.cause)
1646
+ }
1647
+ const chunk = yield* TxChunk.get(self.items)
1648
+ yield* TxChunk.set(self.items, Chunk.empty())
1649
+ return Chunk.toArray(chunk)
1650
+ })
1657
1651
 
1658
1652
  /**
1659
1653
  * Shuts down the queue immediately by clearing all items and interrupting it (legacy compatibility).
@@ -1689,13 +1683,11 @@ export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, Excl
1689
1683
  * @since 4.0.0
1690
1684
  * @category combinators
1691
1685
  */
1692
- export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
1693
- Effect.atomic(
1694
- Effect.gen(function*() {
1695
- yield* Effect.ignore(clear(self))
1696
- return yield* interrupt(self)
1697
- })
1698
- )
1686
+ export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean, never, Effect.Transaction> =>
1687
+ Effect.gen(function*() {
1688
+ yield* Effect.ignore(clear(self))
1689
+ return yield* interrupt(self)
1690
+ })
1699
1691
 
1700
1692
  /**
1701
1693
  * Checks if the queue is in the open state.
@@ -1719,7 +1711,7 @@ export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
1719
1711
  * @since 4.0.0
1720
1712
  * @category combinators
1721
1713
  */
1722
- export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
1714
+ export const isOpen = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
1723
1715
  Effect.gen(function*() {
1724
1716
  const state = yield* TxRef.get(self.stateRef)
1725
1717
  return state._tag === "Open"
@@ -1748,7 +1740,7 @@ export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
1748
1740
  * @since 4.0.0
1749
1741
  * @category combinators
1750
1742
  */
1751
- export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
1743
+ export const isClosing = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
1752
1744
  Effect.gen(function*() {
1753
1745
  const state = yield* TxRef.get(self.stateRef)
1754
1746
  return state._tag === "Closing"
@@ -1776,7 +1768,7 @@ export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
1776
1768
  * @since 4.0.0
1777
1769
  * @category combinators
1778
1770
  */
1779
- export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
1771
+ export const isDone = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
1780
1772
  Effect.gen(function*() {
1781
1773
  const state = yield* TxRef.get(self.stateRef)
1782
1774
  return state._tag === "Done"
@@ -1804,7 +1796,7 @@ export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
1804
1796
  * @since 4.0.0
1805
1797
  * @category combinators
1806
1798
  */
1807
- export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone(self)
1799
+ export const isShutdown = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> => isDone(self)
1808
1800
 
1809
1801
  /**
1810
1802
  * Waits for the queue to complete (either successfully or with failure).
@@ -1828,16 +1820,14 @@ export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone
1828
1820
  * @since 4.0.0
1829
1821
  * @category combinators
1830
1822
  */
1831
- export const awaitCompletion = (self: TxQueueState): Effect.Effect<void> =>
1832
- Effect.atomic(
1833
- Effect.gen(function*() {
1834
- const state = yield* TxRef.get(self.stateRef)
1823
+ export const awaitCompletion = (self: TxQueueState): Effect.Effect<void, never, Effect.Transaction> =>
1824
+ Effect.gen(function*() {
1825
+ const state = yield* TxRef.get(self.stateRef)
1835
1826
 
1836
- if (state._tag === "Done") {
1837
- return void 0
1838
- }
1827
+ if (state._tag === "Done") {
1828
+ return void 0
1829
+ }
1839
1830
 
1840
- // Not done yet, retry transaction
1841
- return yield* Effect.retryTransaction
1842
- })
1843
- )
1831
+ // Not done yet, retry transaction
1832
+ return yield* Effect.retryTransaction
1833
+ })