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/Schema.js CHANGED
@@ -2,17 +2,20 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  import * as Arr from "./Array.js";
5
+ import * as BigDecimal_ from "./BigDecimal.js";
5
6
  import * as Cause_ from "./Cause.js";
6
7
  import * as Data from "./Data.js";
7
8
  import * as DateTime from "./DateTime.js";
8
9
  import * as Duration_ from "./Duration.js";
9
10
  import * as Effect from "./Effect.js";
10
- import * as Base64 from "./encoding/Base64.js";
11
+ import * as Encoding from "./Encoding.js";
11
12
  import * as Equal from "./Equal.js";
12
13
  import * as Equivalence from "./Equivalence.js";
13
14
  import * as Exit_ from "./Exit.js";
14
15
  import { format, formatDate, formatPropertyKey } from "./Formatter.js";
15
16
  import { identity } from "./Function.js";
17
+ import * as HashMap_ from "./HashMap.js";
18
+ import * as HashSet_ from "./HashSet.js";
16
19
  import * as core from "./internal/core.js";
17
20
  import * as InternalAnnotations from "./internal/schema/annotations.js";
18
21
  import * as InternalArbitrary from "./internal/schema/arbitrary.js";
@@ -782,11 +785,12 @@ export function encodeKeys(mapping) {
782
785
  const fields = {};
783
786
  const reverseMapping = {};
784
787
  for (const k in self.fields) {
788
+ const encoded = toEncoded(self.fields[k]);
785
789
  if (Object.hasOwn(mapping, k)) {
786
- fields[mapping[k]] = toEncoded(self.fields[k]);
790
+ fields[mapping[k]] = encoded;
787
791
  reverseMapping[mapping[k]] = k;
788
792
  } else {
789
- fields[k] = self.fields[k];
793
+ fields[k] = encoded;
790
794
  }
791
795
  }
792
796
  return Struct(fields).pipe(decodeTo(self, Transformation.transform({
@@ -2528,6 +2532,58 @@ export const isBetweenBigInt = /*#__PURE__*/makeIsBetween({
2528
2532
  }
2529
2533
  })
2530
2534
  });
2535
+ /**
2536
+ * Validates that a BigDecimal is greater than the specified value (exclusive).
2537
+ *
2538
+ * @category BigDecimal checks
2539
+ * @since 4.0.0
2540
+ */
2541
+ export const isGreaterThanBigDecimal = /*#__PURE__*/makeIsGreaterThan({
2542
+ order: BigDecimal_.Order,
2543
+ formatter: bd => BigDecimal_.format(bd)
2544
+ });
2545
+ /**
2546
+ * Validates that a BigDecimal is greater than or equal to the specified value
2547
+ * (inclusive).
2548
+ *
2549
+ * @category BigDecimal checks
2550
+ * @since 4.0.0
2551
+ */
2552
+ export const isGreaterThanOrEqualToBigDecimal = /*#__PURE__*/makeIsGreaterThanOrEqualTo({
2553
+ order: BigDecimal_.Order,
2554
+ formatter: bd => BigDecimal_.format(bd)
2555
+ });
2556
+ /**
2557
+ * Validates that a BigDecimal is less than the specified value (exclusive).
2558
+ *
2559
+ * @category BigDecimal checks
2560
+ * @since 4.0.0
2561
+ */
2562
+ export const isLessThanBigDecimal = /*#__PURE__*/makeIsLessThan({
2563
+ order: BigDecimal_.Order,
2564
+ formatter: bd => BigDecimal_.format(bd)
2565
+ });
2566
+ /**
2567
+ * Validates that a BigDecimal is less than or equal to the specified value
2568
+ * (inclusive).
2569
+ *
2570
+ * @category BigDecimal checks
2571
+ * @since 4.0.0
2572
+ */
2573
+ export const isLessThanOrEqualToBigDecimal = /*#__PURE__*/makeIsLessThanOrEqualTo({
2574
+ order: BigDecimal_.Order,
2575
+ formatter: bd => BigDecimal_.format(bd)
2576
+ });
2577
+ /**
2578
+ * Validates that a BigDecimal is within a specified range.
2579
+ *
2580
+ * @category BigDecimal checks
2581
+ * @since 4.0.0
2582
+ */
2583
+ export const isBetweenBigDecimal = /*#__PURE__*/makeIsBetween({
2584
+ order: BigDecimal_.Order,
2585
+ formatter: bd => BigDecimal_.format(bd)
2586
+ });
2531
2587
  /**
2532
2588
  * Validates that a value has at least the specified length. Works with strings
2533
2589
  * and arrays.
@@ -3041,6 +3097,40 @@ export function Option(value) {
3041
3097
  export function OptionFromNullOr(schema) {
3042
3098
  return NullOr(schema).pipe(decodeTo(Option(toType(schema)), Transformation.optionFromNullOr()));
3043
3099
  }
3100
+ /**
3101
+ * Decodes an undefined-or value `T` to a required `Option<T>` value.
3102
+ *
3103
+ * Decoding:
3104
+ * - `undefined` is decoded as `None`
3105
+ * - other values are decoded as `Some`
3106
+ *
3107
+ * Encoding:
3108
+ * - `None` is encoded as `undefined`
3109
+ * - `Some` is encoded as the value
3110
+ *
3111
+ * @category Option
3112
+ * @since 4.0.0
3113
+ */
3114
+ export function OptionFromUndefinedOr(schema) {
3115
+ return UndefinedOr(schema).pipe(decodeTo(Option(toType(schema)), Transformation.optionFromUndefinedOr()));
3116
+ }
3117
+ /**
3118
+ * Decodes a nullish value `T` to a required `Option<T>` value.
3119
+ *
3120
+ * Decoding:
3121
+ * - `null` and `undefined` are decoded as `None`
3122
+ * - other values are decoded as `Some`
3123
+ *
3124
+ * Encoding:
3125
+ * - `None` is encoded as `null` or `undefined` depending on the provided `options.onNoneEncoding` (defaults to `undefined`)
3126
+ * - `Some` is encoded as the value
3127
+ *
3128
+ * @category Option
3129
+ * @since 4.0.0
3130
+ */
3131
+ export function OptionFromNullishOr(schema, options) {
3132
+ return NullishOr(schema).pipe(decodeTo(Option(toType(schema)), Transformation.optionFromNullishOr(options)));
3133
+ }
3044
3134
  /**
3045
3135
  * Decodes an optional value `A` to a required `Option<A>` value.
3046
3136
  *
@@ -3225,10 +3315,10 @@ export function RedactedFromValue(value, options) {
3225
3315
  }));
3226
3316
  }
3227
3317
  /**
3228
- * @category CauseFailure
3318
+ * @category CauseReason
3229
3319
  * @since 4.0.0
3230
3320
  */
3231
- export function CauseFailure(error, defect) {
3321
+ export function CauseReason(error, defect) {
3232
3322
  const schema = declareConstructor()([error, defect], ([error, defect]) => (input, ast, options) => {
3233
3323
  if (!Cause_.isReason(input)) {
3234
3324
  return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
@@ -3252,7 +3342,7 @@ export function CauseFailure(error, defect) {
3252
3342
  _tag: "effect/Cause/Failure"
3253
3343
  },
3254
3344
  generation: {
3255
- runtime: `Schema.CauseFailure(?, ?)`,
3345
+ runtime: `Schema.CauseReason(?, ?)`,
3256
3346
  Type: `Cause.Failure<?, ?>`,
3257
3347
  importDeclaration: `import * as Cause from "effect/Cause"`
3258
3348
  },
@@ -3279,16 +3369,16 @@ export function CauseFailure(error, defect) {
3279
3369
  },
3280
3370
  encode: identity
3281
3371
  })),
3282
- toArbitrary: ([error, defect]) => causeFailureToArbitrary(error, defect),
3283
- toEquivalence: ([error, defect]) => causeFailureToEquivalence(error, defect),
3284
- toFormatter: ([error, defect]) => causeFailureToFormatter(error, defect)
3372
+ toArbitrary: ([error, defect]) => causeReasonToArbitrary(error, defect),
3373
+ toEquivalence: ([error, defect]) => causeReasonToEquivalence(error, defect),
3374
+ toFormatter: ([error, defect]) => causeReasonToFormatter(error, defect)
3285
3375
  });
3286
3376
  return make(schema.ast, {
3287
3377
  error,
3288
3378
  defect
3289
3379
  });
3290
3380
  }
3291
- function causeFailureToArbitrary(error, defect) {
3381
+ function causeReasonToArbitrary(error, defect) {
3292
3382
  return (fc, ctx) => {
3293
3383
  return fc.oneof(ctx?.isSuspend ? {
3294
3384
  maxDepth: 2,
@@ -3298,7 +3388,7 @@ function causeFailureToArbitrary(error, defect) {
3298
3388
  }).map(Cause_.makeInterruptReason), error.map(e => Cause_.makeFailReason(e)), defect.map(d => Cause_.makeDieReason(d)));
3299
3389
  };
3300
3390
  }
3301
- function causeFailureToEquivalence(error, defect) {
3391
+ function causeReasonToEquivalence(error, defect) {
3302
3392
  return (a, b) => {
3303
3393
  if (a._tag !== b._tag) return false;
3304
3394
  switch (a._tag) {
@@ -3311,7 +3401,7 @@ function causeFailureToEquivalence(error, defect) {
3311
3401
  }
3312
3402
  };
3313
3403
  }
3314
- function causeFailureToFormatter(error, defect) {
3404
+ function causeReasonToFormatter(error, defect) {
3315
3405
  return t => {
3316
3406
  switch (t._tag) {
3317
3407
  case "Fail":
@@ -3328,15 +3418,17 @@ function causeFailureToFormatter(error, defect) {
3328
3418
  * @since 4.0.0
3329
3419
  */
3330
3420
  export function Cause(error, defect) {
3331
- const schema = declareConstructor()([error, defect], ([error, defect]) => (input, ast, options) => {
3332
- if (!Cause_.isCause(input)) {
3333
- return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3334
- }
3335
- const failures = Array(CauseFailure(error, defect));
3336
- return Effect.mapBothEager(Parser.decodeUnknownEffect(failures)(input.reasons, options), {
3337
- onSuccess: Cause_.fromReasons,
3338
- onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["failures"], issue)])
3339
- });
3421
+ const schema = declareConstructor()([error, defect], ([error, defect]) => {
3422
+ const failures = Array(CauseReason(error, defect));
3423
+ return (input, ast, options) => {
3424
+ if (!Cause_.isCause(input)) {
3425
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3426
+ }
3427
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(failures)(input.reasons, options), {
3428
+ onSuccess: Cause_.fromReasons,
3429
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["failures"], issue)])
3430
+ });
3431
+ };
3340
3432
  }, {
3341
3433
  typeConstructor: {
3342
3434
  _tag: "effect/Cause"
@@ -3347,7 +3439,7 @@ export function Cause(error, defect) {
3347
3439
  importDeclaration: `import * as Cause from "effect/Cause"`
3348
3440
  },
3349
3441
  expected: "Cause",
3350
- toCodec: ([error, defect]) => link()(Array(CauseFailure(error, defect)), Transformation.transform({
3442
+ toCodec: ([error, defect]) => link()(Array(CauseReason(error, defect)), Transformation.transform({
3351
3443
  decode: Cause_.fromReasons,
3352
3444
  encode: ({
3353
3445
  reasons: failures
@@ -3364,16 +3456,16 @@ export function Cause(error, defect) {
3364
3456
  }
3365
3457
  function causeToArbitrary(error, defect) {
3366
3458
  return (fc, ctx) => {
3367
- return fc.array(causeFailureToArbitrary(error, defect)(fc, ctx)).map(Cause_.fromReasons);
3459
+ return fc.array(causeReasonToArbitrary(error, defect)(fc, ctx)).map(Cause_.fromReasons);
3368
3460
  };
3369
3461
  }
3370
3462
  function causeToEquivalence(error, defect) {
3371
- const failures = Equivalence.Array(causeFailureToEquivalence(error, defect));
3463
+ const failures = Equivalence.Array(causeReasonToEquivalence(error, defect));
3372
3464
  return (a, b) => failures(a.reasons, b.reasons);
3373
3465
  }
3374
3466
  function causeToFormatter(error, defect) {
3375
- const causeFailure = causeFailureToFormatter(error, defect);
3376
- return t => `Cause([${t.reasons.map(causeFailure).join(", ")}])`;
3467
+ const causeReason = causeReasonToFormatter(error, defect);
3468
+ return t => `Cause([${t.reasons.map(causeReason).join(", ")}])`;
3377
3469
  }
3378
3470
  const ErrorJsonEncoded = /*#__PURE__*/Struct({
3379
3471
  message: String,
@@ -3459,23 +3551,25 @@ export const DefectWithStack = /*#__PURE__*/Union([/*#__PURE__*/ErrorJsonEncoded
3459
3551
  * @since 4.0.0
3460
3552
  */
3461
3553
  export function Exit(value, error, defect) {
3462
- const schema = declareConstructor()([value, error, defect], ([value, error, defect]) => (input, ast, options) => {
3463
- if (!Exit_.isExit(input)) {
3464
- return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3465
- }
3554
+ const schema = declareConstructor()([value, error, defect], ([value, error, defect]) => {
3466
3555
  const cause = Cause(error, defect);
3467
- switch (input._tag) {
3468
- case "Success":
3469
- return Effect.mapBothEager(Parser.decodeUnknownEffect(value)(input.value, options), {
3470
- onSuccess: Exit_.succeed,
3471
- onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["value"], issue)])
3472
- });
3473
- case "Failure":
3474
- return Effect.mapBothEager(Parser.decodeUnknownEffect(cause)(input.cause, options), {
3475
- onSuccess: Exit_.failCause,
3476
- onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["cause"], issue)])
3477
- });
3478
- }
3556
+ return (input, ast, options) => {
3557
+ if (!Exit_.isExit(input)) {
3558
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3559
+ }
3560
+ switch (input._tag) {
3561
+ case "Success":
3562
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(value)(input.value, options), {
3563
+ onSuccess: Exit_.succeed,
3564
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["value"], issue)])
3565
+ });
3566
+ case "Failure":
3567
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(cause)(input.cause, options), {
3568
+ onSuccess: Exit_.failCause,
3569
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["cause"], issue)])
3570
+ });
3571
+ }
3572
+ };
3479
3573
  }, {
3480
3574
  typeConstructor: {
3481
3575
  _tag: "effect/Exit"
@@ -3544,15 +3638,17 @@ export function Exit(value, error, defect) {
3544
3638
  * @since 4.0.0
3545
3639
  */
3546
3640
  export function ReadonlyMap(key, value) {
3547
- const schema = declareConstructor()([key, value], ([key, value]) => (input, ast, options) => {
3548
- if (input instanceof globalThis.Map) {
3549
- const array = Array(Tuple([key, value]));
3550
- return Effect.mapBothEager(Parser.decodeUnknownEffect(array)([...input], options), {
3551
- onSuccess: array => new globalThis.Map(array),
3552
- onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["entries"], issue)])
3553
- });
3554
- }
3555
- return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3641
+ const schema = declareConstructor()([key, value], ([key, value]) => {
3642
+ const array = Array(Tuple([key, value]));
3643
+ return (input, ast, options) => {
3644
+ if (input instanceof globalThis.Map) {
3645
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(array)([...input], options), {
3646
+ onSuccess: array => new globalThis.Map(array),
3647
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["entries"], issue)])
3648
+ });
3649
+ }
3650
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3651
+ };
3556
3652
  }, {
3557
3653
  typeConstructor: {
3558
3654
  _tag: "ReadonlyMap"
@@ -3587,20 +3683,76 @@ export function ReadonlyMap(key, value) {
3587
3683
  value
3588
3684
  });
3589
3685
  }
3686
+ /**
3687
+ * Creates a schema that validates a `HashMap` where keys and values must
3688
+ * conform to the provided schemas.
3689
+ *
3690
+ * @category HashMap
3691
+ * @since 4.0.0
3692
+ */
3693
+ export function HashMap(key, value) {
3694
+ const schema = declareConstructor()([key, value], ([key, value]) => {
3695
+ const entries = Array(Tuple([key, value]));
3696
+ return (input, ast, options) => {
3697
+ if (HashMap_.isHashMap(input)) {
3698
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(entries)(HashMap_.toEntries(input), options), {
3699
+ onSuccess: HashMap_.fromIterable,
3700
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["entries"], issue)])
3701
+ });
3702
+ }
3703
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3704
+ };
3705
+ }, {
3706
+ typeConstructor: {
3707
+ _tag: "effect/HashMap"
3708
+ },
3709
+ generation: {
3710
+ runtime: `Schema.HashMap(?, ?)`,
3711
+ Type: `HashMap.HashMap<?, ?>`,
3712
+ importDeclaration: `import * as HashMap from "effect/HashMap"`
3713
+ },
3714
+ expected: "HashMap",
3715
+ toCodec: ([key, value]) => link()(Array(Tuple([key, value])), Transformation.transform({
3716
+ decode: HashMap_.fromIterable,
3717
+ encode: HashMap_.toEntries
3718
+ })),
3719
+ toArbitrary: ([key, value]) => (fc, ctx) => {
3720
+ return fc.oneof(ctx?.isSuspend ? {
3721
+ maxDepth: 2,
3722
+ depthIdentifier: "HashMap"
3723
+ } : {}, fc.constant([]), fc.array(fc.tuple(key, value), ctx?.constraints?.array)).map(HashMap_.fromIterable);
3724
+ },
3725
+ toEquivalence: ([key, value]) => Equal.makeCompareMap(key, value),
3726
+ toFormatter: ([key, value]) => t => {
3727
+ const size = HashMap_.size(t);
3728
+ if (size === 0) {
3729
+ return "HashMap(0) {}";
3730
+ }
3731
+ const entries = HashMap_.toEntries(t).sort().map(([k, v]) => `${key(k)} => ${value(v)}`);
3732
+ return `HashMap(${size}) { ${entries.join(", ")} }`;
3733
+ }
3734
+ });
3735
+ return make(schema.ast, {
3736
+ key,
3737
+ value
3738
+ });
3739
+ }
3590
3740
  /**
3591
3741
  * @category ReadonlySet
3592
3742
  * @since 4.0.0
3593
3743
  */
3594
3744
  export function ReadonlySet(value) {
3595
- const schema = declareConstructor()([value], ([value]) => (input, ast, options) => {
3596
- if (input instanceof globalThis.Set) {
3597
- const array = Array(value);
3598
- return Effect.mapBothEager(Parser.decodeUnknownEffect(array)([...input], options), {
3599
- onSuccess: array => new globalThis.Set(array),
3600
- onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
3601
- });
3602
- }
3603
- return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3745
+ const schema = declareConstructor()([value], ([value]) => {
3746
+ const array = Array(value);
3747
+ return (input, ast, options) => {
3748
+ if (input instanceof globalThis.Set) {
3749
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(array)([...input], options), {
3750
+ onSuccess: array => new globalThis.Set(array),
3751
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
3752
+ });
3753
+ }
3754
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3755
+ };
3604
3756
  }, {
3605
3757
  typeConstructor: {
3606
3758
  _tag: "ReadonlySet"
@@ -3634,6 +3786,58 @@ export function ReadonlySet(value) {
3634
3786
  value
3635
3787
  });
3636
3788
  }
3789
+ /**
3790
+ * Creates a schema that validates a `HashSet` where values must conform to the
3791
+ * provided schema.
3792
+ *
3793
+ * @category HashSet
3794
+ * @since 4.0.0
3795
+ */
3796
+ export function HashSet(value) {
3797
+ const schema = declareConstructor()([value], ([value]) => {
3798
+ const values = Array(value);
3799
+ return (input, ast, options) => {
3800
+ if (HashSet_.isHashSet(input)) {
3801
+ return Effect.mapBothEager(Parser.decodeUnknownEffect(values)(Arr.fromIterable(input), options), {
3802
+ onSuccess: HashSet_.fromIterable,
3803
+ onFailure: issue => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
3804
+ });
3805
+ }
3806
+ return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)));
3807
+ };
3808
+ }, {
3809
+ typeConstructor: {
3810
+ _tag: "effect/HashSet"
3811
+ },
3812
+ generation: {
3813
+ runtime: `Schema.HashSet(?)`,
3814
+ Type: `HashSet.HashSet<?>`
3815
+ },
3816
+ expected: "HashSet",
3817
+ toCodec: ([value]) => link()(Array(value), Transformation.transform({
3818
+ decode: HashSet_.fromIterable,
3819
+ encode: Arr.fromIterable
3820
+ })),
3821
+ toArbitrary: ([value]) => (fc, ctx) => {
3822
+ return fc.oneof(ctx?.isSuspend ? {
3823
+ maxDepth: 2,
3824
+ depthIdentifier: "HashSet"
3825
+ } : {}, fc.constant([]), fc.array(value, ctx?.constraints?.array)).map(HashSet_.fromIterable);
3826
+ },
3827
+ toEquivalence: ([value]) => Equal.makeCompareSet(value),
3828
+ toFormatter: ([value]) => t => {
3829
+ const size = HashSet_.size(t);
3830
+ if (size === 0) {
3831
+ return "HashSet(0) {}";
3832
+ }
3833
+ const values = globalThis.Array.from(t).sort().map(v => `${value(v)}`);
3834
+ return `HashSet(${size}) { ${values.join(", ")} }`;
3835
+ }
3836
+ });
3837
+ return make(schema.ast, {
3838
+ value
3839
+ });
3840
+ }
3637
3841
  /**
3638
3842
  * @since 4.0.0
3639
3843
  */
@@ -3842,6 +4046,35 @@ export const DurationFromNanos = /*#__PURE__*/BigInt.check(isGreaterThanOrEqualT
3842
4046
  * @since 4.0.0
3843
4047
  */
3844
4048
  export const DurationFromMillis = /*#__PURE__*/Number.check(isGreaterThanOrEqualTo(0)).pipe(/*#__PURE__*/decodeTo(Duration, Transformation.durationFromMillis));
4049
+ /**
4050
+ * A schema for `BigDecimal` values.
4051
+ *
4052
+ * **Default JSON serializer**
4053
+ *
4054
+ * - encodes `BigDecimal` as a `string`
4055
+ *
4056
+ * @since 4.0.0
4057
+ */
4058
+ export const BigDecimal = /*#__PURE__*/declare(BigDecimal_.isBigDecimal, {
4059
+ typeConstructor: {
4060
+ _tag: "effect/BigDecimal"
4061
+ },
4062
+ generation: {
4063
+ runtime: `Schema.BigDecimal`,
4064
+ Type: `BigDecimal.BigDecimal`,
4065
+ importDeclaration: `import * as BigDecimal from "effect/BigDecimal"`
4066
+ },
4067
+ expected: "BigDecimal",
4068
+ toCodecJson: () => link()(String.annotate({
4069
+ expected: "a string that will be decoded as a BigDecimal"
4070
+ }), Transformation.bigDecimalFromString),
4071
+ toArbitrary: () => fc => fc.tuple(fc.bigInt(), fc.integer({
4072
+ min: 0,
4073
+ max: 20
4074
+ })).map(([value, scale]) => BigDecimal_.make(value, scale)),
4075
+ toFormatter: () => bd => BigDecimal_.format(bd),
4076
+ toEquivalence: () => BigDecimal_.Equivalence
4077
+ });
3845
4078
  /**
3846
4079
  * A transformation schema that decodes a JSON-encoded string into an `unknown` value.
3847
4080
  *
@@ -3953,7 +4186,7 @@ export const File = /*#__PURE__*/instanceOf(globalThis.File, {
3953
4186
  name: String,
3954
4187
  lastModified: Number
3955
4188
  }), Transformation.transformOrFail({
3956
- decode: e => Result_.match(Base64.decode(e.data), {
4189
+ decode: e => Result_.match(Encoding.decodeBase64(e.data), {
3957
4190
  onFailure: error => Effect.fail(new Issue.InvalidValue(Option_.some(e.data), {
3958
4191
  message: error.message
3959
4192
  })),
@@ -3969,7 +4202,7 @@ export const File = /*#__PURE__*/instanceOf(globalThis.File, {
3969
4202
  try: async () => {
3970
4203
  const bytes = new globalThis.Uint8Array(await file.arrayBuffer());
3971
4204
  return {
3972
- data: Base64.encode(bytes),
4205
+ data: Encoding.encodeBase64(bytes),
3973
4206
  type: file.type,
3974
4207
  name: file.name,
3975
4208
  lastModified: file.lastModified
@@ -4383,7 +4616,7 @@ export const Uint8ArrayFromHex = /*#__PURE__*/String.annotate({
4383
4616
  */
4384
4617
  export const DateTimeUtc = /*#__PURE__*/declare(u => DateTime.isDateTime(u) && DateTime.isUtc(u), {
4385
4618
  typeConstructor: {
4386
- _tag: "DateTime.Utc"
4619
+ _tag: "effect/DateTime.Utc"
4387
4620
  },
4388
4621
  generation: {
4389
4622
  runtime: `Schema.DateTimeUtc`,
@@ -4391,10 +4624,7 @@ export const DateTimeUtc = /*#__PURE__*/declare(u => DateTime.isDateTime(u) && D
4391
4624
  importDeclaration: `import * as DateTime from "effect/DateTime"`
4392
4625
  },
4393
4626
  expected: "DateTime.Utc",
4394
- toCodecJson: () => link()(String, {
4395
- decode: Getter.dateTimeUtcFromInput(),
4396
- encode: Getter.transform(DateTime.formatIso)
4397
- }),
4627
+ toCodecJson: () => link()(String, Transformation.dateTimeUtcFromString),
4398
4628
  toArbitrary: () => (fc, ctx) => fc.date({
4399
4629
  noInvalidDate: true,
4400
4630
  ...ctx?.constraints?.date
@@ -4434,10 +4664,7 @@ export const DateTimeUtcFromDate = /*#__PURE__*/DateValid.pipe(/*#__PURE__*/deco
4434
4664
  */
4435
4665
  export const DateTimeUtcFromString = /*#__PURE__*/String.annotate({
4436
4666
  expected: "a string that will be decoded as a DateTime.Utc"
4437
- }).pipe(/*#__PURE__*/decodeTo(DateTimeUtc, /*#__PURE__*/Transformation.transform({
4438
- decode: DateTime.makeUnsafe,
4439
- encode: DateTime.formatIso
4440
- })));
4667
+ }).pipe(/*#__PURE__*/decodeTo(DateTimeUtc, Transformation.dateTimeUtcFromString));
4441
4668
  /**
4442
4669
  * A transformation schema that decodes a number into a `DateTime.Utc`.
4443
4670
  *
@@ -4454,18 +4681,140 @@ export const DateTimeUtcFromMillis = /*#__PURE__*/Number.pipe(/*#__PURE__*/decod
4454
4681
  decode: /*#__PURE__*/Getter.dateTimeUtcFromInput(),
4455
4682
  encode: /*#__PURE__*/Getter.transform(DateTime.toEpochMillis)
4456
4683
  }));
4684
+ /**
4685
+ * A schema for `DateTime.TimeZone.Offset` values.
4686
+ *
4687
+ * **Default JSON serializer**
4688
+ *
4689
+ * - encodes `DateTime.TimeZone.Offset` as a number (offset in milliseconds)
4690
+ *
4691
+ * @category DateTime
4692
+ * @since 4.0.0
4693
+ */
4694
+ export const TimeZoneOffset = /*#__PURE__*/declare(DateTime.isTimeZoneOffset, {
4695
+ typeConstructor: {
4696
+ _tag: "effect/DateTime.TimeZone.Offset"
4697
+ },
4698
+ generation: {
4699
+ runtime: `Schema.TimeZoneOffset`,
4700
+ Type: `DateTime.TimeZone.Offset`,
4701
+ importDeclaration: `import * as DateTime from "effect/DateTime"`
4702
+ },
4703
+ expected: "DateTime.TimeZone.Offset",
4704
+ toCodecJson: () => link()(Number, Transformation.timeZoneOffsetFromNumber),
4705
+ toArbitrary: () => fc => fc.integer({
4706
+ min: -12 * 60 * 60 * 1000,
4707
+ max: 14 * 60 * 60 * 1000
4708
+ }).map(n => DateTime.zoneMakeOffset(n)),
4709
+ toFormatter: () => tz => DateTime.zoneToString(tz),
4710
+ toEquivalence: () => (a, b) => a.offset === b.offset
4711
+ });
4712
+ /**
4713
+ * A schema for `DateTime.TimeZone.Named` values.
4714
+ *
4715
+ * **Default JSON serializer**
4716
+ *
4717
+ * - encodes `DateTime.TimeZone.Named` as a string (IANA time zone identifier)
4718
+ *
4719
+ * @category DateTime
4720
+ * @since 4.0.0
4721
+ */
4722
+ export const TimeZoneNamed = /*#__PURE__*/declare(DateTime.isTimeZoneNamed, {
4723
+ typeConstructor: {
4724
+ _tag: "effect/DateTime.TimeZone.Named"
4725
+ },
4726
+ generation: {
4727
+ runtime: `Schema.TimeZoneNamed`,
4728
+ Type: `DateTime.TimeZone.Named`,
4729
+ importDeclaration: `import * as DateTime from "effect/DateTime"`
4730
+ },
4731
+ expected: "DateTime.TimeZone.Named",
4732
+ toCodecJson: () => link()(String.annotate({
4733
+ expected: "an IANA time zone identifier"
4734
+ }), Transformation.timeZoneNamedFromString),
4735
+ toArbitrary: () => fc => fc.constantFrom(...["UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney"].map(DateTime.zoneMakeNamedUnsafe)),
4736
+ toFormatter: () => tz => DateTime.zoneToString(tz),
4737
+ toEquivalence: () => (a, b) => a.id === b.id
4738
+ });
4739
+ /**
4740
+ * A schema for `DateTime.TimeZone` values.
4741
+ *
4742
+ * **Default JSON serializer**
4743
+ *
4744
+ * - encodes `DateTime.TimeZone` as a string (IANA identifier or offset like
4745
+ * `+03:00`)
4746
+ *
4747
+ * @category DateTime
4748
+ * @since 4.0.0
4749
+ */
4750
+ export const TimeZone = /*#__PURE__*/declare(DateTime.isTimeZone, {
4751
+ typeConstructor: {
4752
+ _tag: "effect/DateTime.TimeZone"
4753
+ },
4754
+ generation: {
4755
+ runtime: `Schema.TimeZone`,
4756
+ Type: `DateTime.TimeZone`,
4757
+ importDeclaration: `import * as DateTime from "effect/DateTime"`
4758
+ },
4759
+ expected: "DateTime.TimeZone",
4760
+ toCodecJson: () => link()(String.annotate({
4761
+ expected: "a time zone string (IANA identifier or offset like +03:00)"
4762
+ }), Transformation.timeZoneFromString),
4763
+ toArbitrary: () => fc => fc.oneof(fc.integer({
4764
+ min: -12 * 60 * 60 * 1000,
4765
+ max: 14 * 60 * 60 * 1000
4766
+ }).map(n => DateTime.zoneMakeOffset(n)), fc.constantFrom(...["UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney"].map(DateTime.zoneMakeNamedUnsafe))),
4767
+ toFormatter: () => tz => DateTime.zoneToString(tz),
4768
+ toEquivalence: () => (a, b) => DateTime.zoneToString(a) === DateTime.zoneToString(b)
4769
+ });
4770
+ /**
4771
+ * A schema for `DateTime.Zoned` values.
4772
+ *
4773
+ * **Default JSON serializer**
4774
+ *
4775
+ * - encodes `DateTime.Zoned` as a string in the format
4776
+ * `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]`
4777
+ *
4778
+ * @category DateTime
4779
+ * @since 4.0.0
4780
+ */
4781
+ export const DateTimeZoned = /*#__PURE__*/declare(u => DateTime.isDateTime(u) && DateTime.isZoned(u), {
4782
+ typeConstructor: {
4783
+ _tag: "effect/DateTime.Zoned"
4784
+ },
4785
+ generation: {
4786
+ runtime: `Schema.DateTimeZoned`,
4787
+ Type: `DateTime.Zoned`,
4788
+ importDeclaration: `import * as DateTime from "effect/DateTime"`
4789
+ },
4790
+ expected: "DateTime.Zoned",
4791
+ toCodecJson: () => link()(String.annotate({
4792
+ expected: "a zoned DateTime string (e.g. 2024-01-01T00:00:00.000+00:00[Europe/London])"
4793
+ }), Transformation.dateTimeZonedFromString),
4794
+ toArbitrary: () => (fc, ctx) => fc.tuple(fc.date({
4795
+ noInvalidDate: true,
4796
+ min: new globalThis.Date(-8640000000000000 + 14 * 60 * 60 * 1000),
4797
+ max: new globalThis.Date(8640000000000000 - 14 * 60 * 60 * 1000),
4798
+ ...ctx?.constraints?.date
4799
+ }), fc.constantFrom("UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney")).map(([date, zone]) => DateTime.makeZonedUnsafe(date, {
4800
+ timeZone: zone
4801
+ })),
4802
+ toFormatter: () => zoned => DateTime.formatIsoZoned(zoned),
4803
+ toEquivalence: () => DateTime.Equivalence
4804
+ });
4457
4805
  const immerable = /*#__PURE__*/globalThis.Symbol.for("immer-draftable");
4458
4806
  function makeClass(Inherited, identifier, struct, annotations) {
4459
4807
  const getClassSchema = getClassSchemaFactory(struct, identifier, annotations);
4460
4808
  const ClassTypeId = getClassTypeId(identifier); // HMR support
4461
4809
  return class extends Inherited {
4462
4810
  constructor(...[input, options]) {
4811
+ const props = input ?? {};
4463
4812
  if (options?.disableValidation) {
4464
- super(input, options);
4813
+ super(props, options);
4465
4814
  } else {
4466
- const validated = struct.makeUnsafe(input, options);
4815
+ const validated = struct.makeUnsafe(props, options);
4467
4816
  super({
4468
- ...input,
4817
+ ...props,
4469
4818
  ...validated
4470
4819
  }, {
4471
4820
  ...options,
@@ -4497,6 +4846,9 @@ function makeClass(Inherited, identifier, struct, annotations) {
4497
4846
  static makeUnsafe(input, options) {
4498
4847
  return new this(input, options);
4499
4848
  }
4849
+ static makeOption(input, options) {
4850
+ return Parser.makeOption(getClassSchema(this))(input, options);
4851
+ }
4500
4852
  static annotate(annotations) {
4501
4853
  return this.rebuild(AST.annotate(this.ast, annotations));
4502
4854
  }