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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (881) hide show
  1. package/dist/Array.d.ts +127 -299
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +102 -62
  4. package/dist/Array.js.map +1 -1
  5. package/dist/Cache.d.ts +2 -2
  6. package/dist/Cache.d.ts.map +1 -1
  7. package/dist/Cache.js +6 -5
  8. package/dist/Cache.js.map +1 -1
  9. package/dist/Cause.d.ts +1 -1
  10. package/dist/Cause.d.ts.map +1 -1
  11. package/dist/Channel.d.ts +116 -30
  12. package/dist/Channel.d.ts.map +1 -1
  13. package/dist/Channel.js +82 -37
  14. package/dist/Channel.js.map +1 -1
  15. package/dist/Chunk.d.ts +54 -247
  16. package/dist/Chunk.d.ts.map +1 -1
  17. package/dist/Chunk.js +36 -67
  18. package/dist/Chunk.js.map +1 -1
  19. package/dist/Combiner.d.ts +280 -13
  20. package/dist/Combiner.d.ts.map +1 -1
  21. package/dist/Combiner.js +198 -7
  22. package/dist/Combiner.js.map +1 -1
  23. package/dist/Config.d.ts +165 -9
  24. package/dist/Config.d.ts.map +1 -1
  25. package/dist/Config.js +62 -7
  26. package/dist/Config.js.map +1 -1
  27. package/dist/ConfigProvider.d.ts +1 -1
  28. package/dist/Cron.d.ts +1 -1
  29. package/dist/Data.d.ts +534 -365
  30. package/dist/Data.d.ts.map +1 -1
  31. package/dist/Data.js +132 -79
  32. package/dist/Data.js.map +1 -1
  33. package/dist/DateTime.d.ts +23 -161
  34. package/dist/DateTime.d.ts.map +1 -1
  35. package/dist/DateTime.js +6 -51
  36. package/dist/DateTime.js.map +1 -1
  37. package/dist/Duration.d.ts +12 -12
  38. package/dist/Duration.d.ts.map +1 -1
  39. package/dist/Duration.js +12 -12
  40. package/dist/Duration.js.map +1 -1
  41. package/dist/Effect.d.ts +829 -692
  42. package/dist/Effect.d.ts.map +1 -1
  43. package/dist/Effect.js +263 -251
  44. package/dist/Effect.js.map +1 -1
  45. package/dist/Encoding.d.ts +194 -0
  46. package/dist/Encoding.d.ts.map +1 -0
  47. package/dist/Encoding.js +352 -0
  48. package/dist/Encoding.js.map +1 -0
  49. package/dist/Equal.d.ts +276 -109
  50. package/dist/Equal.d.ts.map +1 -1
  51. package/dist/Equal.js +124 -48
  52. package/dist/Equal.js.map +1 -1
  53. package/dist/ErrorReporter.d.ts +376 -0
  54. package/dist/ErrorReporter.d.ts.map +1 -0
  55. package/dist/ErrorReporter.js +246 -0
  56. package/dist/ErrorReporter.js.map +1 -0
  57. package/dist/Fiber.d.ts +2 -2
  58. package/dist/Fiber.d.ts.map +1 -1
  59. package/dist/Fiber.js.map +1 -1
  60. package/dist/FileSystem.d.ts +1 -1
  61. package/dist/FileSystem.d.ts.map +1 -1
  62. package/dist/FileSystem.js +5 -5
  63. package/dist/FileSystem.js.map +1 -1
  64. package/dist/Filter.d.ts +30 -34
  65. package/dist/Filter.d.ts.map +1 -1
  66. package/dist/Filter.js +15 -13
  67. package/dist/Filter.js.map +1 -1
  68. package/dist/Formatter.d.ts +131 -47
  69. package/dist/Formatter.d.ts.map +1 -1
  70. package/dist/Formatter.js +229 -51
  71. package/dist/Formatter.js.map +1 -1
  72. package/dist/Graph.d.ts +1 -1
  73. package/dist/Graph.d.ts.map +1 -1
  74. package/dist/Graph.js +5 -8
  75. package/dist/Graph.js.map +1 -1
  76. package/dist/HashMap.d.ts +15 -14
  77. package/dist/HashMap.d.ts.map +1 -1
  78. package/dist/HashMap.js +4 -4
  79. package/dist/HashMap.js.map +1 -1
  80. package/dist/Iterable.d.ts +40 -39
  81. package/dist/Iterable.d.ts.map +1 -1
  82. package/dist/Iterable.js +94 -22
  83. package/dist/Iterable.js.map +1 -1
  84. package/dist/JsonSchema.d.ts +299 -10
  85. package/dist/JsonSchema.d.ts.map +1 -1
  86. package/dist/JsonSchema.js +323 -4
  87. package/dist/JsonSchema.js.map +1 -1
  88. package/dist/Latch.d.ts +109 -0
  89. package/dist/Latch.d.ts.map +1 -0
  90. package/dist/Latch.js +72 -0
  91. package/dist/Latch.js.map +1 -0
  92. package/dist/Layer.d.ts +9 -9
  93. package/dist/Layer.d.ts.map +1 -1
  94. package/dist/Layer.js.map +1 -1
  95. package/dist/LayerMap.d.ts +4 -4
  96. package/dist/LayerMap.d.ts.map +1 -1
  97. package/dist/LogLevel.d.ts +32 -0
  98. package/dist/LogLevel.d.ts.map +1 -1
  99. package/dist/LogLevel.js +28 -100
  100. package/dist/LogLevel.js.map +1 -1
  101. package/dist/Logger.d.ts +29 -95
  102. package/dist/Logger.d.ts.map +1 -1
  103. package/dist/Logger.js +2 -3
  104. package/dist/Logger.js.map +1 -1
  105. package/dist/ManagedRuntime.d.ts +1 -1
  106. package/dist/ManagedRuntime.js +1 -1
  107. package/dist/Metric.d.ts +2 -2
  108. package/dist/Metric.d.ts.map +1 -1
  109. package/dist/Metric.js +1 -1
  110. package/dist/Metric.js.map +1 -1
  111. package/dist/Optic.d.ts +947 -18
  112. package/dist/Optic.d.ts.map +1 -1
  113. package/dist/Optic.js +454 -5
  114. package/dist/Optic.js.map +1 -1
  115. package/dist/Option.d.ts +22 -15
  116. package/dist/Option.d.ts.map +1 -1
  117. package/dist/Option.js +14 -7
  118. package/dist/Option.js.map +1 -1
  119. package/dist/Pipeable.d.ts +17 -0
  120. package/dist/Pipeable.d.ts.map +1 -1
  121. package/dist/Pipeable.js +19 -1
  122. package/dist/Pipeable.js.map +1 -1
  123. package/dist/PlatformError.d.ts +10 -9
  124. package/dist/PlatformError.d.ts.map +1 -1
  125. package/dist/PlatformError.js +2 -2
  126. package/dist/PlatformError.js.map +1 -1
  127. package/dist/Pool.d.ts +6 -4
  128. package/dist/Pool.d.ts.map +1 -1
  129. package/dist/Pool.js +7 -5
  130. package/dist/Pool.js.map +1 -1
  131. package/dist/PubSub.d.ts +3 -2
  132. package/dist/PubSub.d.ts.map +1 -1
  133. package/dist/PubSub.js +3 -2
  134. package/dist/PubSub.js.map +1 -1
  135. package/dist/Pull.d.ts.map +1 -1
  136. package/dist/Pull.js +1 -1
  137. package/dist/Pull.js.map +1 -1
  138. package/dist/Queue.d.ts.map +1 -1
  139. package/dist/Queue.js +0 -1
  140. package/dist/Queue.js.map +1 -1
  141. package/dist/Random.d.ts +35 -1
  142. package/dist/Random.d.ts.map +1 -1
  143. package/dist/Random.js +46 -12
  144. package/dist/Random.js.map +1 -1
  145. package/dist/RcMap.d.ts +2 -2
  146. package/dist/RcMap.d.ts.map +1 -1
  147. package/dist/RcMap.js +1 -1
  148. package/dist/RcMap.js.map +1 -1
  149. package/dist/RcRef.d.ts +1 -1
  150. package/dist/RcRef.d.ts.map +1 -1
  151. package/dist/Record.d.ts +24 -120
  152. package/dist/Record.d.ts.map +1 -1
  153. package/dist/Record.js +21 -41
  154. package/dist/Record.js.map +1 -1
  155. package/dist/Reducer.d.ts +166 -7
  156. package/dist/Reducer.d.ts.map +1 -1
  157. package/dist/Reducer.js +135 -1
  158. package/dist/Reducer.js.map +1 -1
  159. package/dist/References.d.ts +3 -3
  160. package/dist/References.d.ts.map +1 -1
  161. package/dist/Request.d.ts +1 -1
  162. package/dist/Request.d.ts.map +1 -1
  163. package/dist/Request.js +2 -1
  164. package/dist/Request.js.map +1 -1
  165. package/dist/RequestResolver.d.ts +6 -26
  166. package/dist/RequestResolver.d.ts.map +1 -1
  167. package/dist/RequestResolver.js +0 -20
  168. package/dist/RequestResolver.js.map +1 -1
  169. package/dist/Result.d.ts +12 -0
  170. package/dist/Result.d.ts.map +1 -1
  171. package/dist/Result.js +12 -0
  172. package/dist/Result.js.map +1 -1
  173. package/dist/Schedule.d.ts +47 -20
  174. package/dist/Schedule.d.ts.map +1 -1
  175. package/dist/Schedule.js +94 -34
  176. package/dist/Schedule.js.map +1 -1
  177. package/dist/Schema.d.ts +266 -50
  178. package/dist/Schema.d.ts.map +1 -1
  179. package/dist/Schema.js +426 -74
  180. package/dist/Schema.js.map +1 -1
  181. package/dist/SchemaAST.d.ts.map +1 -1
  182. package/dist/SchemaAST.js +7 -6
  183. package/dist/SchemaAST.js.map +1 -1
  184. package/dist/SchemaGetter.d.ts +2 -2
  185. package/dist/SchemaGetter.d.ts.map +1 -1
  186. package/dist/SchemaGetter.js +12 -14
  187. package/dist/SchemaGetter.js.map +1 -1
  188. package/dist/SchemaParser.d.ts +5 -0
  189. package/dist/SchemaParser.d.ts.map +1 -1
  190. package/dist/SchemaParser.js +10 -0
  191. package/dist/SchemaParser.js.map +1 -1
  192. package/dist/SchemaRepresentation.d.ts +44 -43
  193. package/dist/SchemaRepresentation.d.ts.map +1 -1
  194. package/dist/SchemaRepresentation.js +43 -24
  195. package/dist/SchemaRepresentation.js.map +1 -1
  196. package/dist/SchemaTransformation.d.ts +107 -3
  197. package/dist/SchemaTransformation.d.ts.map +1 -1
  198. package/dist/SchemaTransformation.js +159 -4
  199. package/dist/SchemaTransformation.js.map +1 -1
  200. package/dist/ScopedCache.d.ts +2 -2
  201. package/dist/ScopedCache.d.ts.map +1 -1
  202. package/dist/ScopedCache.js +1 -1
  203. package/dist/ScopedCache.js.map +1 -1
  204. package/dist/Semaphore.d.ts +211 -0
  205. package/dist/Semaphore.d.ts.map +1 -0
  206. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  207. package/dist/Semaphore.js.map +1 -0
  208. package/dist/ServiceMap.d.ts +39 -30
  209. package/dist/ServiceMap.d.ts.map +1 -1
  210. package/dist/ServiceMap.js +3 -3
  211. package/dist/ServiceMap.js.map +1 -1
  212. package/dist/Sink.d.ts +13 -13
  213. package/dist/Sink.d.ts.map +1 -1
  214. package/dist/Sink.js +53 -6
  215. package/dist/Sink.js.map +1 -1
  216. package/dist/Stream.d.ts +235 -423
  217. package/dist/Stream.d.ts.map +1 -1
  218. package/dist/Stream.js +124 -77
  219. package/dist/Stream.js.map +1 -1
  220. package/dist/Struct.d.ts +16 -0
  221. package/dist/Struct.d.ts.map +1 -1
  222. package/dist/Struct.js +22 -0
  223. package/dist/Struct.js.map +1 -1
  224. package/dist/SubscriptionRef.d.ts +2 -1
  225. package/dist/SubscriptionRef.d.ts.map +1 -1
  226. package/dist/SubscriptionRef.js +2 -1
  227. package/dist/SubscriptionRef.js.map +1 -1
  228. package/dist/SynchronizedRef.d.ts +2 -1
  229. package/dist/SynchronizedRef.d.ts.map +1 -1
  230. package/dist/SynchronizedRef.js +2 -1
  231. package/dist/SynchronizedRef.js.map +1 -1
  232. package/dist/Trie.d.ts +18 -17
  233. package/dist/Trie.d.ts.map +1 -1
  234. package/dist/Trie.js +5 -5
  235. package/dist/Trie.js.map +1 -1
  236. package/dist/TxChunk.d.ts +37 -37
  237. package/dist/TxChunk.d.ts.map +1 -1
  238. package/dist/TxChunk.js +3 -3
  239. package/dist/TxChunk.js.map +1 -1
  240. package/dist/TxDeferred.d.ts +328 -0
  241. package/dist/TxDeferred.d.ts.map +1 -0
  242. package/dist/TxDeferred.js +196 -0
  243. package/dist/TxDeferred.js.map +1 -0
  244. package/dist/TxHashMap.d.ts +84 -83
  245. package/dist/TxHashMap.d.ts.map +1 -1
  246. package/dist/TxHashMap.js +24 -24
  247. package/dist/TxHashMap.js.map +1 -1
  248. package/dist/TxHashSet.d.ts +35 -35
  249. package/dist/TxHashSet.d.ts.map +1 -1
  250. package/dist/TxHashSet.js +14 -14
  251. package/dist/TxHashSet.js.map +1 -1
  252. package/dist/TxPriorityQueue.d.ts +609 -0
  253. package/dist/TxPriorityQueue.d.ts.map +1 -0
  254. package/dist/TxPriorityQueue.js +415 -0
  255. package/dist/TxPriorityQueue.js.map +1 -0
  256. package/dist/TxPubSub.d.ts +585 -0
  257. package/dist/TxPubSub.d.ts.map +1 -0
  258. package/dist/TxPubSub.js +521 -0
  259. package/dist/TxPubSub.js.map +1 -0
  260. package/dist/TxQueue.d.ts +32 -32
  261. package/dist/TxQueue.d.ts.map +1 -1
  262. package/dist/TxQueue.js +26 -26
  263. package/dist/TxQueue.js.map +1 -1
  264. package/dist/TxReentrantLock.d.ts +523 -0
  265. package/dist/TxReentrantLock.d.ts.map +1 -0
  266. package/dist/TxReentrantLock.js +504 -0
  267. package/dist/TxReentrantLock.js.map +1 -0
  268. package/dist/TxRef.d.ts +34 -34
  269. package/dist/TxRef.d.ts.map +1 -1
  270. package/dist/TxRef.js +21 -14
  271. package/dist/TxRef.js.map +1 -1
  272. package/dist/TxSemaphore.d.ts +8 -8
  273. package/dist/TxSemaphore.d.ts.map +1 -1
  274. package/dist/TxSemaphore.js +7 -7
  275. package/dist/TxSemaphore.js.map +1 -1
  276. package/dist/TxSubscriptionRef.d.ts +508 -0
  277. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  278. package/dist/TxSubscriptionRef.js +293 -0
  279. package/dist/TxSubscriptionRef.js.map +1 -0
  280. package/dist/Types.d.ts +84 -6
  281. package/dist/Types.d.ts.map +1 -1
  282. package/dist/index.d.ts +591 -20
  283. package/dist/index.d.ts.map +1 -1
  284. package/dist/index.js +591 -20
  285. package/dist/index.js.map +1 -1
  286. package/dist/internal/core.js +11 -3
  287. package/dist/internal/core.js.map +1 -1
  288. package/dist/internal/dateTime.js +3 -11
  289. package/dist/internal/dateTime.js.map +1 -1
  290. package/dist/internal/effect.js +263 -99
  291. package/dist/internal/effect.js.map +1 -1
  292. package/dist/internal/hashMap.js +5 -4
  293. package/dist/internal/hashMap.js.map +1 -1
  294. package/dist/internal/random.d.ts +2 -0
  295. package/dist/internal/random.d.ts.map +1 -0
  296. package/dist/internal/random.js +13 -0
  297. package/dist/internal/random.js.map +1 -0
  298. package/dist/internal/rcRef.js +3 -2
  299. package/dist/internal/rcRef.js.map +1 -1
  300. package/dist/internal/request.js +2 -2
  301. package/dist/internal/request.js.map +1 -1
  302. package/dist/internal/schema/annotations.js +2 -0
  303. package/dist/internal/schema/annotations.js.map +1 -1
  304. package/dist/internal/schema/schema.js +1 -0
  305. package/dist/internal/schema/schema.js.map +1 -1
  306. package/dist/internal/trie.js +5 -4
  307. package/dist/internal/trie.js.map +1 -1
  308. package/dist/testing/TestClock.d.ts +7 -6
  309. package/dist/testing/TestClock.d.ts.map +1 -1
  310. package/dist/testing/TestClock.js +6 -4
  311. package/dist/testing/TestClock.js.map +1 -1
  312. package/dist/testing/TestSchema.d.ts +8 -8
  313. package/dist/testing/TestSchema.d.ts.map +1 -1
  314. package/dist/testing/TestSchema.js.map +1 -1
  315. package/dist/unstable/ai/AiError.d.ts +128 -48
  316. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  317. package/dist/unstable/ai/AiError.js +11 -12
  318. package/dist/unstable/ai/AiError.js.map +1 -1
  319. package/dist/unstable/ai/Chat.d.ts +3 -3
  320. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  321. package/dist/unstable/ai/Chat.js +4 -3
  322. package/dist/unstable/ai/Chat.js.map +1 -1
  323. package/dist/unstable/ai/LanguageModel.d.ts +4 -2
  324. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  325. package/dist/unstable/ai/LanguageModel.js +86 -14
  326. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  327. package/dist/unstable/ai/McpSchema.d.ts +163 -87
  328. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  329. package/dist/unstable/ai/McpSchema.js +49 -12
  330. package/dist/unstable/ai/McpSchema.js.map +1 -1
  331. package/dist/unstable/ai/McpServer.d.ts +1 -1
  332. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  333. package/dist/unstable/ai/McpServer.js +35 -7
  334. package/dist/unstable/ai/McpServer.js.map +1 -1
  335. package/dist/unstable/ai/Model.d.ts +25 -7
  336. package/dist/unstable/ai/Model.d.ts.map +1 -1
  337. package/dist/unstable/ai/Model.js +22 -6
  338. package/dist/unstable/ai/Model.js.map +1 -1
  339. package/dist/unstable/ai/Prompt.d.ts +20 -20
  340. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  341. package/dist/unstable/ai/Response.d.ts +26 -26
  342. package/dist/unstable/ai/Response.d.ts.map +1 -1
  343. package/dist/unstable/ai/Response.js +1 -1
  344. package/dist/unstable/ai/Response.js.map +1 -1
  345. package/dist/unstable/ai/Tool.d.ts +19 -3
  346. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  347. package/dist/unstable/ai/Tool.js +14 -9
  348. package/dist/unstable/ai/Tool.js.map +1 -1
  349. package/dist/unstable/ai/index.d.ts +1 -1
  350. package/dist/unstable/ai/index.js +1 -1
  351. package/dist/unstable/cli/CliError.d.ts +5 -5
  352. package/dist/unstable/cli/CliOutput.js +59 -6
  353. package/dist/unstable/cli/CliOutput.js.map +1 -1
  354. package/dist/unstable/cli/Command.d.ts +276 -19
  355. package/dist/unstable/cli/Command.d.ts.map +1 -1
  356. package/dist/unstable/cli/Command.js +234 -36
  357. package/dist/unstable/cli/Command.js.map +1 -1
  358. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  359. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  360. package/dist/unstable/cli/GlobalFlag.js +118 -0
  361. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  362. package/dist/unstable/cli/HelpDoc.d.ts +70 -2
  363. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  364. package/dist/unstable/cli/index.d.ts +4 -0
  365. package/dist/unstable/cli/index.d.ts.map +1 -1
  366. package/dist/unstable/cli/index.js +4 -0
  367. package/dist/unstable/cli/index.js.map +1 -1
  368. package/dist/unstable/cli/internal/command.d.ts +17 -8
  369. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  370. package/dist/unstable/cli/internal/command.js +32 -23
  371. package/dist/unstable/cli/internal/command.js.map +1 -1
  372. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
  373. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  374. package/dist/unstable/cli/internal/help.d.ts +33 -0
  375. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  376. package/dist/unstable/cli/internal/help.js +107 -0
  377. package/dist/unstable/cli/internal/help.js.map +1 -0
  378. package/dist/unstable/cli/internal/parser.js +29 -36
  379. package/dist/unstable/cli/internal/parser.js.map +1 -1
  380. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  381. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  382. package/dist/unstable/cluster/ClusterCron.js +1 -1
  383. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  384. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  385. package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
  386. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  387. package/dist/unstable/cluster/Entity.d.ts +7 -6
  388. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  389. package/dist/unstable/cluster/Entity.js.map +1 -1
  390. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  391. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  392. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  393. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  394. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  395. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  396. package/dist/unstable/cluster/Message.d.ts +10 -10
  397. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  398. package/dist/unstable/cluster/MessageStorage.js +2 -1
  399. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  400. package/dist/unstable/cluster/Reply.d.ts +6 -6
  401. package/dist/unstable/cluster/Runner.d.ts +1 -1
  402. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  403. package/dist/unstable/cluster/Runners.js +4 -3
  404. package/dist/unstable/cluster/Runners.js.map +1 -1
  405. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  406. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  407. package/dist/unstable/cluster/Sharding.js +9 -7
  408. package/dist/unstable/cluster/Sharding.js.map +1 -1
  409. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  410. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  411. package/dist/unstable/cluster/ShardingConfig.js +20 -20
  412. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  413. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  414. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  415. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  416. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  417. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  418. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  419. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  420. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  421. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  422. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  423. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  424. package/dist/unstable/encoding/Sse.d.ts +4 -4
  425. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  426. package/dist/unstable/encoding/Sse.js +1 -1
  427. package/dist/unstable/encoding/Sse.js.map +1 -1
  428. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  429. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  430. package/dist/unstable/eventlog/EventLog.js +2 -1
  431. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  432. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  433. package/dist/unstable/http/Cookies.d.ts +3 -3
  434. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  435. package/dist/unstable/http/Cookies.js +2 -2
  436. package/dist/unstable/http/Cookies.js.map +1 -1
  437. package/dist/unstable/http/Headers.d.ts.map +1 -1
  438. package/dist/unstable/http/Headers.js +27 -10
  439. package/dist/unstable/http/Headers.js.map +1 -1
  440. package/dist/unstable/http/HttpBody.d.ts +17 -2
  441. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  442. package/dist/unstable/http/HttpBody.js +28 -1
  443. package/dist/unstable/http/HttpBody.js.map +1 -1
  444. package/dist/unstable/http/HttpClient.d.ts +37 -13
  445. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  446. package/dist/unstable/http/HttpClient.js +4 -4
  447. package/dist/unstable/http/HttpClient.js.map +1 -1
  448. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  449. package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
  450. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  451. package/dist/unstable/http/HttpClientRequest.js +15 -3
  452. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  453. package/dist/unstable/http/HttpEffect.d.ts +3 -8
  454. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  455. package/dist/unstable/http/HttpEffect.js +42 -56
  456. package/dist/unstable/http/HttpEffect.js.map +1 -1
  457. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  458. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  459. package/dist/unstable/http/HttpMethod.js +3 -3
  460. package/dist/unstable/http/HttpMethod.js.map +1 -1
  461. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  462. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  463. package/dist/unstable/http/HttpMiddleware.js +8 -17
  464. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  465. package/dist/unstable/http/HttpServerError.d.ts +20 -33
  466. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  467. package/dist/unstable/http/HttpServerError.js +37 -44
  468. package/dist/unstable/http/HttpServerError.js.map +1 -1
  469. package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
  470. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  471. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  472. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  473. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  474. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  475. package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
  476. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  477. package/dist/unstable/http/HttpServerResponse.js +3 -1
  478. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  479. package/dist/unstable/http/Multipart.d.ts +3 -3
  480. package/dist/unstable/http/UrlParams.d.ts +14 -6
  481. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  482. package/dist/unstable/http/UrlParams.js +1 -1
  483. package/dist/unstable/http/UrlParams.js.map +1 -1
  484. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  485. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  486. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  487. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  488. package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
  489. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  490. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  491. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  492. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  493. package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
  494. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  495. package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
  496. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  497. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  498. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  499. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
  500. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  501. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  502. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  503. package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
  504. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  505. package/dist/unstable/httpapi/HttpApiError.js +29 -9
  506. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  507. package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
  508. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  509. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  510. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
  511. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  512. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  513. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  514. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  515. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  516. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  517. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  518. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  519. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  520. package/dist/unstable/httpapi/OpenApi.js +32 -21
  521. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  522. package/dist/unstable/observability/Otlp.d.ts +12 -12
  523. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  524. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  525. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  526. package/dist/unstable/observability/OtlpExporter.js +1 -1
  527. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  528. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  529. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  530. package/dist/unstable/observability/OtlpLogger.js +7 -4
  531. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  532. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  533. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  534. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  535. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  536. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  537. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  538. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  539. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  540. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  541. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  542. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  543. package/dist/unstable/persistence/PersistedCache.js +2 -1
  544. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  545. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  546. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  547. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  548. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  549. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  550. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  551. package/dist/unstable/persistence/Persistence.js +2 -2
  552. package/dist/unstable/persistence/Persistence.js.map +1 -1
  553. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  554. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  555. package/dist/unstable/persistence/RateLimiter.js +1 -1
  556. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  557. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  558. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  559. package/dist/unstable/process/ChildProcess.js +1 -65
  560. package/dist/unstable/process/ChildProcess.js.map +1 -1
  561. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  562. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  563. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  564. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  565. package/dist/unstable/reactivity/Atom.d.ts +10 -10
  566. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  567. package/dist/unstable/reactivity/Atom.js +16 -13
  568. package/dist/unstable/reactivity/Atom.js.map +1 -1
  569. package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
  570. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  571. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  572. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  573. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  574. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  575. package/dist/unstable/reactivity/AtomRegistry.js +24 -7
  576. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  577. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  578. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  579. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  580. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  581. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  582. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  583. package/dist/unstable/reactivity/Hydration.js +76 -0
  584. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  585. package/dist/unstable/reactivity/index.d.ts +4 -0
  586. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  587. package/dist/unstable/reactivity/index.js +4 -0
  588. package/dist/unstable/reactivity/index.js.map +1 -1
  589. package/dist/unstable/rpc/Rpc.d.ts +4 -4
  590. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  591. package/dist/unstable/rpc/Rpc.js.map +1 -1
  592. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  593. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  594. package/dist/unstable/rpc/RpcClient.js +6 -13
  595. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  596. package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
  597. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  598. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  599. package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
  600. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  601. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  602. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  603. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  604. package/dist/unstable/rpc/RpcSchema.js +14 -0
  605. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  606. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  607. package/dist/unstable/rpc/RpcSerialization.js +34 -9
  608. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  609. package/dist/unstable/rpc/RpcServer.d.ts +0 -7
  610. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  611. package/dist/unstable/rpc/RpcServer.js +15 -15
  612. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  613. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  614. package/dist/unstable/rpc/Utils.js +2 -1
  615. package/dist/unstable/rpc/Utils.js.map +1 -1
  616. package/dist/unstable/schema/Model.d.ts +1 -1
  617. package/dist/unstable/schema/Model.d.ts.map +1 -1
  618. package/dist/unstable/schema/VariantSchema.d.ts +3 -3
  619. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  620. package/dist/unstable/schema/VariantSchema.js +3 -3
  621. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  622. package/dist/unstable/socket/Socket.d.ts +4 -4
  623. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  624. package/dist/unstable/socket/Socket.js +6 -5
  625. package/dist/unstable/socket/Socket.js.map +1 -1
  626. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  627. package/dist/unstable/sql/Migrator.d.ts +1 -1
  628. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  629. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  630. package/dist/unstable/sql/SqlError.d.ts +14 -14
  631. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  632. package/dist/unstable/sql/SqlError.js +9 -3
  633. package/dist/unstable/sql/SqlError.js.map +1 -1
  634. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  635. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  636. package/dist/unstable/sql/SqlModel.js +3 -3
  637. package/dist/unstable/sql/SqlModel.js.map +1 -1
  638. package/dist/unstable/sql/SqlSchema.d.ts +16 -5
  639. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  640. package/dist/unstable/sql/SqlSchema.js +17 -7
  641. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  642. package/dist/unstable/sql/Statement.js +0 -1
  643. package/dist/unstable/sql/Statement.js.map +1 -1
  644. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  645. package/dist/unstable/workers/Worker.js +2 -1
  646. package/dist/unstable/workers/Worker.js.map +1 -1
  647. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  648. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  649. package/dist/unstable/workflow/DurableClock.js +3 -3
  650. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  651. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  652. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  653. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  654. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  655. package/dist/unstable/workflow/Workflow.js +1 -1
  656. package/dist/unstable/workflow/Workflow.js.map +1 -1
  657. package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
  658. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  659. package/dist/unstable/workflow/WorkflowEngine.js +137 -1
  660. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  661. package/package.json +2 -2
  662. package/src/Array.ts +190 -342
  663. package/src/Cache.ts +9 -8
  664. package/src/Cause.ts +1 -1
  665. package/src/Channel.ts +554 -138
  666. package/src/Chunk.ts +81 -268
  667. package/src/Combiner.ts +280 -13
  668. package/src/Config.ts +183 -21
  669. package/src/Data.ts +538 -374
  670. package/src/DateTime.ts +24 -164
  671. package/src/Duration.ts +15 -15
  672. package/src/Effect.ts +991 -800
  673. package/src/Encoding.ts +879 -0
  674. package/src/Equal.ts +278 -111
  675. package/src/ErrorReporter.ts +459 -0
  676. package/src/Fiber.ts +9 -2
  677. package/src/FileSystem.ts +7 -8
  678. package/src/Filter.ts +48 -58
  679. package/src/Formatter.ts +253 -51
  680. package/src/Graph.ts +24 -11
  681. package/src/HashMap.ts +15 -14
  682. package/src/Iterable.ts +105 -50
  683. package/src/JsonSchema.ts +383 -10
  684. package/src/Latch.ts +112 -0
  685. package/src/Layer.ts +11 -15
  686. package/src/LayerMap.ts +5 -5
  687. package/src/LogLevel.ts +37 -0
  688. package/src/Logger.ts +33 -100
  689. package/src/ManagedRuntime.ts +1 -1
  690. package/src/Metric.ts +4 -4
  691. package/src/Optic.ts +948 -19
  692. package/src/Option.ts +30 -20
  693. package/src/Pipeable.ts +32 -1
  694. package/src/PlatformError.ts +5 -5
  695. package/src/Pool.ts +13 -11
  696. package/src/PubSub.ts +10 -9
  697. package/src/Pull.ts +1 -1
  698. package/src/Queue.ts +0 -1
  699. package/src/Random.ts +51 -14
  700. package/src/RcMap.ts +5 -5
  701. package/src/RcRef.ts +1 -1
  702. package/src/Record.ts +43 -152
  703. package/src/Reducer.ts +166 -7
  704. package/src/References.ts +4 -4
  705. package/src/Request.ts +3 -2
  706. package/src/RequestResolver.ts +9 -29
  707. package/src/Result.ts +13 -0
  708. package/src/Schedule.ts +318 -160
  709. package/src/Schema.ts +661 -116
  710. package/src/SchemaAST.ts +7 -6
  711. package/src/SchemaGetter.ts +12 -14
  712. package/src/SchemaParser.ts +11 -0
  713. package/src/SchemaRepresentation.ts +43 -24
  714. package/src/SchemaTransformation.ts +189 -4
  715. package/src/ScopedCache.ts +3 -3
  716. package/src/Semaphore.ts +356 -0
  717. package/src/ServiceMap.ts +47 -38
  718. package/src/Sink.ts +78 -26
  719. package/src/Stream.ts +566 -601
  720. package/src/Struct.ts +26 -0
  721. package/src/SubscriptionRef.ts +3 -2
  722. package/src/SynchronizedRef.ts +3 -2
  723. package/src/Trie.ts +18 -17
  724. package/src/TxChunk.ts +72 -53
  725. package/src/TxDeferred.ts +394 -0
  726. package/src/TxHashMap.ts +332 -285
  727. package/src/TxHashSet.ts +111 -116
  728. package/src/TxPriorityQueue.ts +767 -0
  729. package/src/TxPubSub.ts +789 -0
  730. package/src/TxQueue.ts +241 -251
  731. package/src/TxReentrantLock.ts +753 -0
  732. package/src/TxRef.ts +50 -38
  733. package/src/TxSemaphore.ts +29 -32
  734. package/src/TxSubscriptionRef.ts +639 -0
  735. package/src/Types.ts +78 -2
  736. package/src/index.ts +600 -21
  737. package/src/internal/core.ts +12 -5
  738. package/src/internal/dateTime.ts +9 -30
  739. package/src/internal/effect.ts +744 -265
  740. package/src/internal/hashMap.ts +9 -7
  741. package/src/internal/random.ts +20 -0
  742. package/src/internal/rcRef.ts +4 -3
  743. package/src/internal/request.ts +2 -2
  744. package/src/internal/schema/annotations.ts +2 -0
  745. package/src/internal/schema/schema.ts +1 -0
  746. package/src/internal/trie.ts +16 -9
  747. package/src/testing/TestClock.ts +13 -11
  748. package/src/testing/TestSchema.ts +10 -10
  749. package/src/unstable/ai/AiError.ts +97 -44
  750. package/src/unstable/ai/Chat.ts +12 -11
  751. package/src/unstable/ai/LanguageModel.ts +129 -25
  752. package/src/unstable/ai/McpSchema.ts +59 -13
  753. package/src/unstable/ai/McpServer.ts +48 -9
  754. package/src/unstable/ai/Model.ts +40 -9
  755. package/src/unstable/ai/Prompt.ts +37 -37
  756. package/src/unstable/ai/Response.ts +25 -25
  757. package/src/unstable/ai/Tool.ts +19 -13
  758. package/src/unstable/ai/index.ts +1 -1
  759. package/src/unstable/cli/CliOutput.ts +75 -6
  760. package/src/unstable/cli/Command.ts +501 -60
  761. package/src/unstable/cli/GlobalFlag.ts +243 -0
  762. package/src/unstable/cli/HelpDoc.ts +80 -2
  763. package/src/unstable/cli/index.ts +5 -0
  764. package/src/unstable/cli/internal/command.ts +50 -34
  765. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  766. package/src/unstable/cli/internal/help.ts +146 -0
  767. package/src/unstable/cli/internal/parser.ts +33 -54
  768. package/src/unstable/cluster/ClusterCron.ts +2 -2
  769. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
  770. package/src/unstable/cluster/Entity.ts +11 -10
  771. package/src/unstable/cluster/EntityResource.ts +4 -4
  772. package/src/unstable/cluster/Envelope.ts +1 -1
  773. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  774. package/src/unstable/cluster/MessageStorage.ts +3 -5
  775. package/src/unstable/cluster/Runners.ts +6 -5
  776. package/src/unstable/cluster/Sharding.ts +12 -10
  777. package/src/unstable/cluster/ShardingConfig.ts +30 -31
  778. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  779. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  780. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  781. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  782. package/src/unstable/encoding/Sse.ts +3 -5
  783. package/src/unstable/eventlog/EventLog.ts +2 -1
  784. package/src/unstable/http/Cookies.ts +3 -3
  785. package/src/unstable/http/Headers.ts +28 -13
  786. package/src/unstable/http/HttpBody.ts +42 -1
  787. package/src/unstable/http/HttpClient.ts +58 -23
  788. package/src/unstable/http/HttpClientRequest.ts +38 -13
  789. package/src/unstable/http/HttpEffect.ts +46 -68
  790. package/src/unstable/http/HttpMethod.ts +16 -4
  791. package/src/unstable/http/HttpMiddleware.ts +9 -24
  792. package/src/unstable/http/HttpServerError.ts +42 -45
  793. package/src/unstable/http/HttpServerRequest.ts +1 -1
  794. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  795. package/src/unstable/http/HttpServerResponse.ts +4 -2
  796. package/src/unstable/http/Multipart.ts +2 -2
  797. package/src/unstable/http/UrlParams.ts +20 -5
  798. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  799. package/src/unstable/httpapi/HttpApi.ts +5 -5
  800. package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
  801. package/src/unstable/httpapi/HttpApiClient.ts +14 -6
  802. package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
  803. package/src/unstable/httpapi/HttpApiError.ts +30 -9
  804. package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
  805. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
  806. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  807. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  808. package/src/unstable/httpapi/OpenApi.ts +41 -23
  809. package/src/unstable/observability/Otlp.ts +12 -12
  810. package/src/unstable/observability/OtlpExporter.ts +3 -3
  811. package/src/unstable/observability/OtlpLogger.ts +13 -9
  812. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  813. package/src/unstable/observability/OtlpTracer.ts +4 -4
  814. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  815. package/src/unstable/persistence/Persistable.ts +2 -2
  816. package/src/unstable/persistence/PersistedCache.ts +20 -9
  817. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  818. package/src/unstable/persistence/Persistence.ts +3 -3
  819. package/src/unstable/persistence/RateLimiter.ts +4 -4
  820. package/src/unstable/process/ChildProcess.ts +6 -208
  821. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  822. package/src/unstable/reactivity/Atom.ts +27 -25
  823. package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
  824. package/src/unstable/reactivity/AtomRegistry.ts +31 -7
  825. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  826. package/src/unstable/reactivity/Hydration.ts +112 -0
  827. package/src/unstable/reactivity/index.ts +5 -0
  828. package/src/unstable/rpc/Rpc.ts +6 -6
  829. package/src/unstable/rpc/RpcClient.ts +12 -54
  830. package/src/unstable/rpc/RpcGroup.ts +4 -4
  831. package/src/unstable/rpc/RpcMiddleware.ts +3 -3
  832. package/src/unstable/rpc/RpcSchema.ts +17 -0
  833. package/src/unstable/rpc/RpcSerialization.ts +44 -9
  834. package/src/unstable/rpc/RpcServer.ts +21 -30
  835. package/src/unstable/rpc/Utils.ts +2 -1
  836. package/src/unstable/schema/VariantSchema.ts +6 -6
  837. package/src/unstable/socket/Socket.ts +16 -17
  838. package/src/unstable/sql/SqlClient.ts +1 -1
  839. package/src/unstable/sql/SqlError.ts +11 -9
  840. package/src/unstable/sql/SqlModel.ts +5 -5
  841. package/src/unstable/sql/SqlSchema.ts +41 -25
  842. package/src/unstable/sql/Statement.ts +0 -1
  843. package/src/unstable/workers/Worker.ts +2 -1
  844. package/src/unstable/workflow/DurableClock.ts +8 -8
  845. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  846. package/src/unstable/workflow/Workflow.ts +6 -2
  847. package/src/unstable/workflow/WorkflowEngine.ts +185 -2
  848. package/dist/PartitionedSemaphore.d.ts +0 -52
  849. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  850. package/dist/PartitionedSemaphore.js.map +0 -1
  851. package/dist/encoding/Base64.d.ts +0 -67
  852. package/dist/encoding/Base64.d.ts.map +0 -1
  853. package/dist/encoding/Base64.js +0 -146
  854. package/dist/encoding/Base64.js.map +0 -1
  855. package/dist/encoding/Base64Url.d.ts +0 -60
  856. package/dist/encoding/Base64Url.d.ts.map +0 -1
  857. package/dist/encoding/Base64Url.js +0 -89
  858. package/dist/encoding/Base64Url.js.map +0 -1
  859. package/dist/encoding/EncodingError.d.ts +0 -31
  860. package/dist/encoding/EncodingError.d.ts.map +0 -1
  861. package/dist/encoding/EncodingError.js +0 -22
  862. package/dist/encoding/EncodingError.js.map +0 -1
  863. package/dist/encoding/Hex.d.ts +0 -61
  864. package/dist/encoding/Hex.d.ts.map +0 -1
  865. package/dist/encoding/Hex.js +0 -115
  866. package/dist/encoding/Hex.js.map +0 -1
  867. package/dist/encoding/index.d.ts +0 -26
  868. package/dist/encoding/index.d.ts.map +0 -1
  869. package/dist/encoding/index.js +0 -27
  870. package/dist/encoding/index.js.map +0 -1
  871. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  872. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  873. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  874. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  875. package/src/PartitionedSemaphore.ts +0 -182
  876. package/src/encoding/Base64.ts +0 -366
  877. package/src/encoding/Base64Url.ts +0 -104
  878. package/src/encoding/EncodingError.ts +0 -35
  879. package/src/encoding/Hex.ts +0 -390
  880. package/src/encoding/index.ts +0 -31
  881. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/index.d.ts CHANGED
@@ -428,6 +428,65 @@ export * as Chunk from "./Chunk.ts";
428
428
  */
429
429
  export * as Clock from "./Clock.ts";
430
430
  /**
431
+ * A module for combining two values of the same type into one.
432
+ *
433
+ * A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
434
+ * It describes *how* two values merge but carries no initial/empty value
435
+ * (for that, see {@link Reducer} which extends `Combiner` with an
436
+ * `initialValue`).
437
+ *
438
+ * ## Mental model
439
+ *
440
+ * - **Combiner** – an object with a `combine(self, that)` method that returns
441
+ * a value of the same type.
442
+ * - **Argument order** – `self` is the "left" / accumulator side, `that` is
443
+ * the "right" / incoming side.
444
+ * - **No identity element** – unlike a monoid, a `Combiner` does not require
445
+ * a neutral element. Use {@link Reducer} when you need one.
446
+ * - **Purity** – all combiners produced by this module are pure; they never
447
+ * mutate their arguments.
448
+ * - **Composability** – combiners can be lifted into `Option`, `Struct`,
449
+ * `Tuple`, and other container types via helpers in those modules.
450
+ *
451
+ * ## Common tasks
452
+ *
453
+ * - Create a combiner from any binary function → {@link make}
454
+ * - Swap argument order → {@link flip}
455
+ * - Pick the smaller / larger of two values → {@link min} / {@link max}
456
+ * - Always keep the first or last value → {@link first} / {@link last}
457
+ * - Ignore both values and return a fixed result → {@link constant}
458
+ * - Insert a separator between combined values → {@link intercalate}
459
+ *
460
+ * ## Gotchas
461
+ *
462
+ * - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
463
+ * e.g. `Number.Order` or `String.Order`.
464
+ * - `intercalate` is curried: call it with the separator first, then pass the
465
+ * base combiner.
466
+ * - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
467
+ * can pass a `Reducer` anywhere a `Combiner` is expected.
468
+ *
469
+ * ## Quickstart
470
+ *
471
+ * **Example** (combining strings with a separator)
472
+ *
473
+ * ```ts
474
+ * import { Combiner, String } from "effect"
475
+ *
476
+ * const csv = Combiner.intercalate(",")(String.ReducerConcat)
477
+ *
478
+ * console.log(csv.combine("a", "b"))
479
+ * // Output: "a,b"
480
+ *
481
+ * console.log(csv.combine(csv.combine("a", "b"), "c"))
482
+ * // Output: "a,b,c"
483
+ * ```
484
+ *
485
+ * ## See also
486
+ *
487
+ * - {@link make} – the primary constructor
488
+ * - {@link Combiner} – the core interface
489
+ *
431
490
  * @since 4.0.0
432
491
  */
433
492
  export * as Combiner from "./Combiner.ts";
@@ -663,15 +722,75 @@ export * as Console from "./Console.ts";
663
722
  */
664
723
  export * as Cron from "./Cron.ts";
665
724
  /**
666
- * This module provides utilities for creating data types with structural equality
667
- * semantics. Unlike regular JavaScript objects, `Data` types support value-based
668
- * equality comparison using the `Equal` module.
725
+ * Immutable data constructors with discriminated-union support.
726
+ *
727
+ * The `Data` module provides base classes and factory functions for creating
728
+ * immutable value types with a `_tag` field for discriminated unions.
729
+ * It is the recommended way to define domain models, error types, and
730
+ * lightweight ADTs in Effect applications.
731
+ *
732
+ * ## Mental model
669
733
  *
670
- * The main benefits of using `Data` types are:
671
- * - **Structural equality**: Two `Data` objects are equal if their contents are equal
672
- * - **Immutability**: `Data` types are designed to be immutable
673
- * - **Type safety**: Constructors ensure type safety and consistency
674
- * - **Effect integration**: Error types work seamlessly with Effect's error handling
734
+ * - **`Class`** base class for plain immutable data. Extend it with a type
735
+ * parameter to declare the fields. Instances are `Pipeable`.
736
+ * - **`TaggedClass`** — like `Class` but automatically adds a `readonly _tag`
737
+ * string literal field. Useful for single-variant types or ad-hoc tagged
738
+ * values.
739
+ * - **`TaggedEnum`** (type) + **`taggedEnum`** (value) — define a multi-variant
740
+ * discriminated union from a simple record. `taggedEnum()` returns per-variant
741
+ * constructors plus `$is` / `$match` helpers.
742
+ * - **`Error`** — like `Class` but extends `Cause.YieldableError`, so instances
743
+ * can be yielded inside `Effect.gen` to fail the effect.
744
+ * - **`TaggedError`** — like `TaggedClass` but extends `Cause.YieldableError`.
745
+ * Works with `Effect.catchTag` for tag-based error recovery.
746
+ *
747
+ * ## Common tasks
748
+ *
749
+ * - Define a simple value class → {@link Class}
750
+ * - Define a value class with a `_tag` → {@link TaggedClass}
751
+ * - Define a discriminated union with constructors → {@link TaggedEnum} + {@link taggedEnum}
752
+ * - Define a yieldable error → {@link Error}
753
+ * - Define a yieldable tagged error → {@link TaggedError}
754
+ * - Type-guard a tagged value → `$is` from {@link taggedEnum}
755
+ * - Pattern-match on a tagged union → `$match` from {@link taggedEnum}
756
+ *
757
+ * ## Gotchas
758
+ *
759
+ * - Variant records passed to `TaggedEnum` must **not** contain a `_tag` key;
760
+ * the `_tag` is added automatically from the record key.
761
+ * - When a class has no fields, the constructor argument is optional (`void`).
762
+ * - `taggedEnum()` creates **plain objects**, not class instances. If you need
763
+ * class-based variants, use `TaggedClass` or `TaggedError` instead.
764
+ * - `TaggedEnum.WithGenerics` supports up to 4 generic type parameters.
765
+ *
766
+ * ## Quickstart
767
+ *
768
+ * **Example** (tagged union with pattern matching)
769
+ *
770
+ * ```ts
771
+ * import { Data } from "effect"
772
+ *
773
+ * type Shape = Data.TaggedEnum<{
774
+ * Circle: { readonly radius: number }
775
+ * Rect: { readonly width: number; readonly height: number }
776
+ * }>
777
+ * const { Circle, Rect, $match } = Data.taggedEnum<Shape>()
778
+ *
779
+ * const area = $match({
780
+ * Circle: ({ radius }) => Math.PI * radius ** 2,
781
+ * Rect: ({ width, height }) => width * height
782
+ * })
783
+ *
784
+ * console.log(area(Circle({ radius: 5 })))
785
+ * // 78.53981633974483
786
+ * console.log(area(Rect({ width: 3, height: 4 })))
787
+ * // 12
788
+ * ```
789
+ *
790
+ * @see {@link Class} — plain immutable data class
791
+ * @see {@link TaggedEnum} — discriminated union type
792
+ * @see {@link taggedEnum} — discriminated union constructors
793
+ * @see {@link TaggedError} — yieldable tagged error class
675
794
  *
676
795
  * @since 2.0.0
677
796
  */
@@ -839,9 +958,79 @@ export * as Duration from "./Duration.ts";
839
958
  */
840
959
  export * as Effect from "./Effect.ts";
841
960
  /**
842
- * This module provides functionality for defining and working with equality between values.
843
- * It includes the `Equal` interface for types that can determine equality with other values
844
- * of the same type, and utilities for comparing values.
961
+ * Encoding & decoding for Base64 (RFC4648), Base64Url, and Hex.
962
+ *
963
+ * @since 4.0.0
964
+ */
965
+ export * as Encoding from "./Encoding.ts";
966
+ /**
967
+ * Structural and custom equality for Effect values.
968
+ *
969
+ * The `Equal` module provides deep structural comparison for primitives, plain
970
+ * objects, arrays, Maps, Sets, Dates, and RegExps. Types that implement the
971
+ * {@link Equal} interface can supply their own comparison logic while staying
972
+ * compatible with the rest of the ecosystem (HashMap, HashSet, etc.).
973
+ *
974
+ * ## Mental model
975
+ *
976
+ * - **Structural equality** — two values are equal when their contents match,
977
+ * not when they share the same reference.
978
+ * - **Hash-first shortcut** — before comparing fields, the module checks
979
+ * {@link Hash.hash}. If the hashes differ the objects are unequal without
980
+ * further traversal.
981
+ * - **Equal interface** — any object that implements both {@link symbol} (the
982
+ * equality method) and `Hash.symbol` (the hash method) can define custom
983
+ * comparison logic.
984
+ * - **Caching** — comparison results for object pairs are cached in a WeakMap.
985
+ * This makes repeated checks fast but **requires immutability** after the
986
+ * first comparison.
987
+ * - **By-reference opt-out** — {@link byReference} and {@link byReferenceUnsafe}
988
+ * let you switch individual objects back to reference equality when you need
989
+ * mutable identity semantics.
990
+ *
991
+ * ## Common tasks
992
+ *
993
+ * - Compare two values → {@link equals}
994
+ * - Check if a value implements `Equal` → {@link isEqual}
995
+ * - Use `equals` where an `Equivalence` is expected → {@link asEquivalence}
996
+ * - Implement custom equality on a class → implement {@link Equal} (see
997
+ * example on the interface)
998
+ * - Opt an object out of structural equality → {@link byReference} /
999
+ * {@link byReferenceUnsafe}
1000
+ *
1001
+ * ## Gotchas
1002
+ *
1003
+ * - Objects **must be treated as immutable** after their first equality check.
1004
+ * Results are cached; mutating an object afterwards yields stale results.
1005
+ * - `NaN` is considered equal to `NaN` (unlike `===`).
1006
+ * - Functions without an `Equal` implementation are compared by reference.
1007
+ * - Map and Set comparisons are order-independent but O(n²) in size.
1008
+ * - If only one of two objects implements `Equal`, they are never equal.
1009
+ *
1010
+ * ## Quickstart
1011
+ *
1012
+ * **Example** (basic structural comparison)
1013
+ *
1014
+ * ```ts
1015
+ * import { Equal } from "effect"
1016
+ *
1017
+ * // Primitives
1018
+ * console.log(Equal.equals(1, 1)) // true
1019
+ * console.log(Equal.equals("a", "b")) // false
1020
+ *
1021
+ * // Objects and arrays
1022
+ * console.log(Equal.equals({ x: 1 }, { x: 1 })) // true
1023
+ * console.log(Equal.equals([1, 2], [1, 2])) // true
1024
+ *
1025
+ * // Curried form
1026
+ * const is42 = Equal.equals(42)
1027
+ * console.log(is42(42)) // true
1028
+ * console.log(is42(0)) // false
1029
+ * ```
1030
+ *
1031
+ * @see {@link equals} — the main comparison function
1032
+ * @see {@link Equal} — the interface for custom equality
1033
+ * @see {@link Hash} — the companion hashing module
845
1034
  *
846
1035
  * @since 2.0.0
847
1036
  */
@@ -900,6 +1089,57 @@ export * as Equal from "./Equal.ts";
900
1089
  * @since 2.0.0
901
1090
  */
902
1091
  export * as Equivalence from "./Equivalence.ts";
1092
+ /**
1093
+ * Pluggable error reporting for Effect programs.
1094
+ *
1095
+ * Reporting is triggered by `Effect.withErrorReporting`,
1096
+ * `ErrorReporter.report`, or built-in reporting boundaries in the HTTP and
1097
+ * RPC server modules.
1098
+ *
1099
+ * Each reporter receives a structured callback with the failing `Cause`, a
1100
+ * pretty-printed `Error`, severity, and any extra attributes attached to the
1101
+ * original error — making it straightforward to forward failures to Sentry,
1102
+ * Datadog, or a custom logging backend.
1103
+ *
1104
+ * Use the annotation symbols (`ignore`, `severity`, `attributes`) on your
1105
+ * error classes to control reporting behavior per-error.
1106
+ *
1107
+ * @example
1108
+ * ```ts
1109
+ * import { Data, Effect, ErrorReporter } from "effect"
1110
+ *
1111
+ * // A reporter that logs to the console
1112
+ * const consoleReporter = ErrorReporter.make(({ error, severity }) => {
1113
+ * console.error(`[${severity}]`, error.message)
1114
+ * })
1115
+ *
1116
+ * // An error that should be ignored by reporters
1117
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
1118
+ * readonly [ErrorReporter.ignore] = true
1119
+ * }
1120
+ *
1121
+ * // An error with custom severity and attributes
1122
+ * class RateLimitError extends Data.TaggedError("RateLimitError")<{
1123
+ * readonly retryAfter: number
1124
+ * }> {
1125
+ * readonly [ErrorReporter.severity] = "Warn" as const
1126
+ * readonly [ErrorReporter.attributes] = {
1127
+ * retryAfter: this.retryAfter
1128
+ * }
1129
+ * }
1130
+ *
1131
+ * // Opt in to error reporting with Effect.withErrorReporting
1132
+ * const program = Effect.gen(function*() {
1133
+ * yield* new RateLimitError({ retryAfter: 60 })
1134
+ * }).pipe(
1135
+ * Effect.withErrorReporting,
1136
+ * Effect.provide(ErrorReporter.layer([consoleReporter]))
1137
+ * )
1138
+ * ```
1139
+ *
1140
+ * @since 4.0.0
1141
+ */
1142
+ export * as ErrorReporter from "./ErrorReporter.ts";
903
1143
  /**
904
1144
  * @since 3.16.0
905
1145
  */
@@ -1093,6 +1333,57 @@ export * as FileSystem from "./FileSystem.ts";
1093
1333
  */
1094
1334
  export * as Filter from "./Filter.ts";
1095
1335
  /**
1336
+ * Utilities for converting arbitrary JavaScript values into human-readable
1337
+ * strings, with support for circular references, redaction, and common JS
1338
+ * types that `JSON.stringify` handles poorly.
1339
+ *
1340
+ * Mental model:
1341
+ * - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
1342
+ * - {@link format} is the general-purpose pretty-printer: it handles
1343
+ * primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
1344
+ * `Set`, `Map`, class instances, and circular references.
1345
+ * - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
1346
+ * drops circular references and applies redaction.
1347
+ * - Both functions accept a `space` option for indentation control.
1348
+ *
1349
+ * Common tasks:
1350
+ * - Pretty-print any value for debugging / logging -> {@link format}
1351
+ * - Serialize to JSON safely (no circular throws) -> {@link formatJson}
1352
+ * - Format a single object property key -> {@link formatPropertyKey}
1353
+ * - Format a property path like `["a"]["b"]` -> {@link formatPath}
1354
+ * - Format a `Date` to ISO string safely -> {@link formatDate}
1355
+ *
1356
+ * Gotchas:
1357
+ * - {@link format} output is **not** valid JSON; use {@link formatJson} when
1358
+ * you need parseable JSON.
1359
+ * - {@link format} calls `toString()` on objects by default; pass
1360
+ * `ignoreToString: true` to disable.
1361
+ * - {@link formatJson} silently omits circular references (the key is
1362
+ * dropped from the output).
1363
+ * - Values implementing the `Redactable` protocol are automatically
1364
+ * redacted by both {@link format} and {@link formatJson}.
1365
+ *
1366
+ * **Example** (Pretty-print a value)
1367
+ *
1368
+ * ```ts
1369
+ * import { Formatter } from "effect"
1370
+ *
1371
+ * const obj = { name: "Alice", scores: [100, 97] }
1372
+ * console.log(Formatter.format(obj))
1373
+ * // {"name":"Alice","scores":[100,97]}
1374
+ *
1375
+ * console.log(Formatter.format(obj, { space: 2 }))
1376
+ * // {
1377
+ * // "name": "Alice",
1378
+ * // "scores": [
1379
+ * // 100,
1380
+ * // 97
1381
+ * // ]
1382
+ * // }
1383
+ * ```
1384
+ *
1385
+ * See also: {@link Formatter}, {@link format}, {@link formatJson}
1386
+ *
1096
1387
  * @since 4.0.0
1097
1388
  */
1098
1389
  export * as Formatter from "./Formatter.ts";
@@ -1345,9 +1636,96 @@ export * as JsonPatch from "./JsonPatch.ts";
1345
1636
  */
1346
1637
  export * as JsonPointer from "./JsonPointer.ts";
1347
1638
  /**
1639
+ * Convert JSON Schema documents between dialects (Draft-07, Draft-2020-12,
1640
+ * OpenAPI 3.0, OpenAPI 3.1). All dialects are normalized to an internal
1641
+ * `Document<"draft-2020-12">` representation before optional conversion to
1642
+ * an output dialect.
1643
+ *
1644
+ * ## Mental model
1645
+ *
1646
+ * - **JsonSchema** — a plain object with string keys; represents any single
1647
+ * JSON Schema node.
1648
+ * - **Dialect** — one of `"draft-07"`, `"draft-2020-12"`, `"openapi-3.1"`,
1649
+ * or `"openapi-3.0"`.
1650
+ * - **Document** — a structured container holding a root `schema`, its
1651
+ * companion `definitions`, and the target `dialect`. Definitions are
1652
+ * stored separately from the root schema so they can be relocated when
1653
+ * converting between dialects.
1654
+ * - **MultiDocument** — same as `Document` but carries multiple root
1655
+ * schemas (at least one). Useful when generating several schemas that
1656
+ * share a single definitions pool.
1657
+ * - **Definitions** — a `Record<string, JsonSchema>` keyed by definition
1658
+ * name. The ref pointer prefix depends on the dialect.
1659
+ * - **`from*` functions** — parse a raw JSON Schema object into the
1660
+ * canonical `Document<"draft-2020-12">`.
1661
+ * - **`to*` functions** — convert from the canonical representation to a
1662
+ * specific output dialect.
1663
+ *
1664
+ * ## Common tasks
1665
+ *
1666
+ * - Parse a Draft-07 schema → {@link fromSchemaDraft07}
1667
+ * - Parse a Draft-2020-12 schema → {@link fromSchemaDraft2020_12}
1668
+ * - Parse an OpenAPI 3.1 schema → {@link fromSchemaOpenApi3_1}
1669
+ * - Parse an OpenAPI 3.0 schema → {@link fromSchemaOpenApi3_0}
1670
+ * - Convert to Draft-07 output → {@link toDocumentDraft07}
1671
+ * - Convert to OpenAPI 3.1 output → {@link toMultiDocumentOpenApi3_1}
1672
+ * - Resolve a `$ref` against definitions → {@link resolve$ref}
1673
+ * - Inline the root `$ref` of a document → {@link resolveTopLevel$ref}
1674
+ *
1675
+ * ## Gotchas
1676
+ *
1677
+ * - All `from*` functions normalize to `Document<"draft-2020-12">`
1678
+ * regardless of the input dialect.
1679
+ * - Unsupported or unrecognized JSON Schema keywords are silently dropped
1680
+ * during conversion.
1681
+ * - Draft-07 tuple syntax (`items` as array + `additionalItems`) is
1682
+ * converted to 2020-12 form (`prefixItems` + `items`), and vice-versa.
1683
+ * - OpenAPI 3.0 `nullable: true` is expanded into `type` arrays or
1684
+ * `anyOf` unions. The `nullable` keyword is removed.
1685
+ * - OpenAPI 3.0 singular `example` is converted to `examples` (array).
1686
+ * - {@link resolve$ref} only looks up the last segment of the ref path in
1687
+ * the definitions map; it does not follow arbitrary JSON Pointer paths.
1688
+ *
1689
+ * ## Quickstart
1690
+ *
1691
+ * **Example** (Parse a Draft-07 schema and convert to Draft-07 output)
1692
+ *
1693
+ * ```ts
1694
+ * import { JsonSchema } from "effect"
1695
+ *
1696
+ * const raw: JsonSchema.JsonSchema = {
1697
+ * type: "object",
1698
+ * properties: {
1699
+ * name: { type: "string" }
1700
+ * },
1701
+ * required: ["name"]
1702
+ * }
1703
+ *
1704
+ * // Parse into canonical form
1705
+ * const doc = JsonSchema.fromSchemaDraft07(raw)
1706
+ *
1707
+ * // Convert back to Draft-07
1708
+ * const draft07 = JsonSchema.toDocumentDraft07(doc)
1709
+ *
1710
+ * console.log(draft07.dialect) // "draft-07"
1711
+ * console.log(draft07.schema) // { type: "object", properties: { name: { type: "string" } }, required: ["name"] }
1712
+ * ```
1713
+ *
1714
+ * ## See also
1715
+ *
1716
+ * - {@link Document}
1717
+ * - {@link MultiDocument}
1718
+ * - {@link fromSchemaDraft07}
1719
+ * - {@link toDocumentDraft07}
1720
+ * - {@link resolve$ref}
1721
+ *
1348
1722
  * @since 4.0.0
1349
1723
  */
1350
1724
  export * as JsonSchema from "./JsonSchema.ts";
1725
+ /**
1726
+ * @since 3.8.0
1727
+ */
1728
+ export * as Latch from "./Latch.ts";
1351
1729
  /**
1352
1730
  * A `Layer<ROut, E, RIn>` describes how to build one or more services in your
1353
1731
  * application. Services can be injected into effects via
@@ -2039,11 +2417,100 @@ export * as NullOr from "./NullOr.ts";
2039
2417
  */
2040
2418
  export * as Number from "./Number.ts";
2041
2419
  /**
2042
- * Design: "pretty good" persistency.
2043
- * Real updates copy only the path; unrelated branches keep referential identity.
2044
- * No-op updates may still allocate a new root/parents — callers must not rely on identity for no-ops.
2420
+ * Composable, immutable accessors for reading and updating nested data
2421
+ * structures without mutation.
2422
+ *
2423
+ * **Mental model**
2424
+ *
2425
+ * - **Optic** — a first-class reference to a piece inside a larger structure.
2426
+ * Compose optics to reach deeply nested values.
2427
+ * - **Iso** — lossless two-way conversion (`get`/`set`) between `S` and `A`.
2428
+ * Extends both {@link Lens} and {@link Prism}.
2429
+ * - **Lens** — focuses on exactly one part of `S`. `get` always succeeds;
2430
+ * `replace` needs the original `S` to produce the updated whole.
2431
+ * - **Prism** — focuses on a part that may not be present (e.g. a union
2432
+ * variant). `getResult` can fail; `set` builds a new `S` from `A` alone.
2433
+ * - **Optional** — the most general optic: both reading and writing can fail.
2434
+ * - **Traversal** — focuses on zero or more elements of an array-like
2435
+ * structure. Technically `Optional<S, ReadonlyArray<A>>`.
2436
+ * - **Hierarchy** (strongest → weakest):
2437
+ * `Iso > Lens | Prism > Optional`. Composing a weaker optic with any other
2438
+ * produces the weaker kind.
2439
+ *
2440
+ * **Common tasks**
2441
+ *
2442
+ * - Start a chain → {@link id} (identity iso)
2443
+ * - Drill into a struct key → `.key("name")` / `.optionalKey("name")`
2444
+ * - Drill into a key that may not exist → `.at("name")`
2445
+ * - Narrow a tagged union → `.tag("MyVariant")`
2446
+ * - Narrow by type guard → `.refine(guard)`
2447
+ * - Add validation → `.check(Schema.isGreaterThan(0))`
2448
+ * - Filter out `undefined` → `.notUndefined()`
2449
+ * - Pick/omit struct keys → `.pick(["a","b"])` / `.omit(["c"])`
2450
+ * - Traverse array elements → `.forEach(el => el.key("field"))`
2451
+ * - Build an iso → {@link makeIso}
2452
+ * - Build a lens → {@link makeLens}
2453
+ * - Build a prism → {@link makePrism}, {@link fromChecks}
2454
+ * - Build an optional → {@link makeOptional}
2455
+ * - Focus into `Option.Some` → {@link some}
2456
+ * - Focus into `Result.Success`/`Failure` → {@link success}, {@link failure}
2457
+ * - Convert record ↔ entries → {@link entries}
2458
+ * - Extract all traversal elements → {@link getAll}
2459
+ *
2460
+ * **Gotchas**
2461
+ *
2462
+ * - Updates are structurally persistent: only nodes on the path are cloned.
2463
+ * Unrelated branches keep referential identity. However, **no-op updates
2464
+ * may still allocate** a new root — do not rely on reference identity to
2465
+ * detect no-ops.
2466
+ * - `replace` silently returns the original `S` when the optic cannot focus
2467
+ * (e.g. wrong tag). Use `replaceResult` for explicit failure.
2468
+ * - `modify` also returns the original `S` on focus failure — it never throws.
2469
+ * - `.key()` and `.optionalKey()` do not work on union types (compile error).
2470
+ * - Only plain objects (`Object.prototype` or `null` prototype) and arrays can
2471
+ * be cloned. Class instances cause a runtime error on `replace`/`modify`.
2472
+ *
2473
+ * **Quickstart**
2474
+ *
2475
+ * **Example** (reading and updating nested state)
2476
+ *
2477
+ * ```ts
2478
+ * import { Optic } from "effect"
2479
+ *
2480
+ * type State = { user: { name: string; age: number } }
2481
+ *
2482
+ * const _age = Optic.id<State>().key("user").key("age")
2483
+ *
2484
+ * const s1: State = { user: { name: "Alice", age: 30 } }
2485
+ *
2486
+ * // Read
2487
+ * console.log(_age.get(s1))
2488
+ * // Output: 30
2489
+ *
2490
+ * // Update immutably
2491
+ * const s2 = _age.replace(31, s1)
2492
+ * console.log(s2)
2493
+ * // Output: { user: { name: "Alice", age: 31 } }
2494
+ *
2495
+ * // Modify with a function
2496
+ * const s3 = _age.modify((n) => n + 1)(s1)
2497
+ * console.log(s3)
2498
+ * // Output: { user: { name: "Alice", age: 31 } }
2499
+ *
2500
+ * // Referential identity is preserved for unrelated branches
2501
+ * console.log(s2.user !== s1.user)
2502
+ * // Output: true (on the path)
2503
+ * ```
2504
+ *
2505
+ * **See also**
2506
+ *
2507
+ * - {@link id} — entry point for optic chains
2508
+ * - {@link Lens} / {@link Prism} / {@link Optional} — core optic types
2509
+ * - {@link Traversal} / {@link getAll} — multi-focus optics
2510
+ * - {@link some} / {@link success} / {@link failure} — built-in prisms
2045
2511
  *
2046
2512
  * @since 4.0.0
2513
+ * @module
2047
2514
  */
2048
2515
  export * as Optic from "./Optic.ts";
2049
2516
  /**
@@ -2079,7 +2546,7 @@ export * as Optic from "./Optic.ts";
2079
2546
  * **Gotchas**
2080
2547
  *
2081
2548
  * - `Option.some(null)` is a valid `Some`; use {@link fromNullishOr} to treat `null`/`undefined` as `None`
2082
- * - {@link filterMap} is an alias for {@link flatMap}
2549
+ * - {@link filterMap} uses a `Filter` callback that returns `Result`
2083
2550
  * - {@link getOrThrow} throws a generic `Error`; prefer {@link getOrThrowWith} for custom errors
2084
2551
  * - `None` is a singleton; compare with {@link isNone}, not `===`
2085
2552
  * - When yielded in `Effect.gen`, a `None` becomes a `NoSuchElementError` defect
@@ -2201,11 +2668,6 @@ export * as Order from "./Order.ts";
2201
2668
  * @category utilities
2202
2669
  */
2203
2670
  export * as Ordering from "./Ordering.ts";
2204
- /**
2205
- * @since 3.19.4
2206
- * @experimental
2207
- */
2208
- export * as PartitionedSemaphore from "./PartitionedSemaphore.ts";
2209
2671
  /**
2210
2672
  * @since 4.0.0
2211
2673
  */
@@ -2367,6 +2829,71 @@ export * as Redactable from "./Redactable.ts";
2367
2829
  */
2368
2830
  export * as Redacted from "./Redacted.ts";
2369
2831
  /**
2832
+ * A module for reducing collections of values into a single result.
2833
+ *
2834
+ * A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
2835
+ * `initialValue` (identity element) and a `combineAll` method that folds an
2836
+ * entire collection. Think `Array.prototype.reduce`, but packaged as a
2837
+ * reusable, composable value.
2838
+ *
2839
+ * ## Mental model
2840
+ *
2841
+ * - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
2842
+ * `combineAll` method.
2843
+ * - **initialValue** – the neutral/identity element. Combining any value with
2844
+ * `initialValue` should return the original value unchanged (e.g. `0` for
2845
+ * addition, `""` for string concatenation).
2846
+ * - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
2847
+ * When omitted from {@link make}, a default left-to-right fold is used.
2848
+ * - **Purity** – all reducers produced by this module are pure; they never
2849
+ * mutate their arguments.
2850
+ * - **Composability** – reducers can be lifted into `Option`, `Struct`,
2851
+ * `Tuple`, `Record`, and other container types via helpers in those modules.
2852
+ * - **Subtype of Combiner** – every `Reducer` is also a valid
2853
+ * `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
2854
+ * expected.
2855
+ *
2856
+ * ## Common tasks
2857
+ *
2858
+ * - Create a reducer from a combine function and initial value → {@link make}
2859
+ * - Swap argument order → {@link flip}
2860
+ * - Combine two values without an initial value → use {@link Combiner.Combiner}
2861
+ * instead
2862
+ *
2863
+ * ## Gotchas
2864
+ *
2865
+ * - `combineAll` on an empty iterable returns `initialValue`, not an error.
2866
+ * - The default `combineAll` folds left-to-right. If your `combine` is not
2867
+ * associative, order matters. Pass a custom `combineAll` to {@link make} if
2868
+ * you need different traversal or short-circuiting.
2869
+ * - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
2870
+ * `Reducer` (it lacks `initialValue`).
2871
+ *
2872
+ * ## Quickstart
2873
+ *
2874
+ * **Example** (summing a list of numbers)
2875
+ *
2876
+ * ```ts
2877
+ * import { Reducer } from "effect"
2878
+ *
2879
+ * const Sum = Reducer.make<number>((a, b) => a + b, 0)
2880
+ *
2881
+ * console.log(Sum.combine(3, 4))
2882
+ * // Output: 7
2883
+ *
2884
+ * console.log(Sum.combineAll([1, 2, 3, 4]))
2885
+ * // Output: 10
2886
+ *
2887
+ * console.log(Sum.combineAll([]))
2888
+ * // Output: 0
2889
+ * ```
2890
+ *
2891
+ * ## See also
2892
+ *
2893
+ * - {@link make} – the primary constructor
2894
+ * - {@link Reducer} – the core interface
2895
+ * - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
2896
+ *
2370
2897
  * @since 4.0.0
2371
2898
  */
2372
2899
  export * as Reducer from "./Reducer.ts";
@@ -3031,6 +3558,10 @@ export * as ScopedCache from "./ScopedCache.ts";
3031
3558
  * @since 2.0.0
3032
3559
  */
3033
3560
  export * as ScopedRef from "./ScopedRef.ts";
3561
+ /**
3562
+ * @since 2.0.0
3563
+ */
3564
+ export * as Semaphore from "./Semaphore.ts";
3034
3565
  /**
3035
3566
  * This module provides a data structure called `ServiceMap` that can be used
3036
3567
  * for dependency injection in effectful programs. It is essentially a table
@@ -3265,6 +3796,13 @@ export * as Tuple from "./Tuple.ts";
3265
3796
  * @since 4.0.0
3266
3797
  */
3267
3798
  export * as TxChunk from "./TxChunk.ts";
3799
+ /**
3800
+ * A transactional deferred value — a write-once cell that can be read within transactions.
3801
+ * Readers retry until a value is set; once set, the value is immutable.
3802
+ *
3803
+ * @since 4.0.0
3804
+ */
3805
+ export * as TxDeferred from "./TxDeferred.ts";
3268
3806
  /**
3269
3807
  * @since 2.0.0
3270
3808
  */
@@ -3273,6 +3811,23 @@ export * as TxHashMap from "./TxHashMap.ts";
3273
3811
  * @since 2.0.0
3274
3812
  */
3275
3813
  export * as TxHashSet from "./TxHashSet.ts";
3814
+ /**
3815
+ * A transactional priority queue. Elements are dequeued in order determined by the
3816
+ * provided `Order` instance. All operations participate in the STM transaction system.
3817
+ *
3818
+ * @since 4.0.0
3819
+ */
3820
+ export * as TxPriorityQueue from "./TxPriorityQueue.ts";
3821
+ /**
3822
+ * TxPubSub is a transactional publish/subscribe hub that provides Software Transactional Memory
3823
+ * (STM) semantics for message broadcasting. Publishers broadcast messages to all current
3824
+ * subscribers, with each subscriber receiving its own copy of every published message.
3825
+ *
3826
+ * Supports multiple queue strategies: bounded, unbounded, dropping, and sliding.
3827
+ *
3828
+ * @since 4.0.0
3829
+ */
3830
+ export * as TxPubSub from "./TxPubSub.ts";
3276
3831
  /**
3277
3832
  * TxQueue is a transactional queue data structure that provides Software Transactional Memory (STM)
3278
3833
  * semantics for queue operations. It uses TxRef for transactional state management and supports
@@ -3285,6 +3840,15 @@ export * as TxHashSet from "./TxHashSet.ts";
3285
3840
  * @since 4.0.0
3286
3841
  */
3287
3842
  export * as TxQueue from "./TxQueue.ts";
3843
+ /**
3844
+ * TxReentrantLock is a transactional read/write lock with reentrant semantics using Software
3845
+ * Transactional Memory (STM). Multiple readers can hold the lock concurrently, OR a single
3846
+ * writer can hold exclusive access. A fiber holding a write lock may acquire additional
3847
+ * read or write locks (reentrancy).
3848
+ *
3849
+ * @since 4.0.0
3850
+ */
3851
+ export * as TxReentrantLock from "./TxReentrantLock.ts";
3288
3852
  /**
3289
3853
  * TxRef is a transactional value, it can be read and modified within the body of a transaction.
3290
3854
  *
@@ -3300,6 +3864,13 @@ export * as TxRef from "./TxRef.ts";
3300
3864
  * @since 4.0.0
3301
3865
  */
3302
3866
  export * as TxSemaphore from "./TxSemaphore.ts";
3867
+ /**
3868
+ * TxSubscriptionRef is a TxRef that allows subscribing to all committed changes. Subscribers
3869
+ * receive the current value followed by every subsequent update via a transactional queue.
3870
+ *
3871
+ * @since 4.0.0
3872
+ */
3873
+ export * as TxSubscriptionRef from "./TxSubscriptionRef.ts";
3303
3874
  /**
3304
3875
  * Type-level utility types for TypeScript.
3305
3876
  *