effect 4.0.0-beta.3 → 4.0.0-beta.31

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 (1008) hide show
  1. package/dist/Array.d.ts +126 -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/Brand.d.ts +1 -1
  6. package/dist/Brand.d.ts.map +1 -1
  7. package/dist/Brand.js +1 -1
  8. package/dist/Brand.js.map +1 -1
  9. package/dist/Cache.d.ts +2 -2
  10. package/dist/Cache.d.ts.map +1 -1
  11. package/dist/Cache.js +6 -5
  12. package/dist/Cache.js.map +1 -1
  13. package/dist/Cause.d.ts +2 -2
  14. package/dist/Cause.d.ts.map +1 -1
  15. package/dist/Channel.d.ts +118 -32
  16. package/dist/Channel.d.ts.map +1 -1
  17. package/dist/Channel.js +82 -37
  18. package/dist/Channel.js.map +1 -1
  19. package/dist/Chunk.d.ts +54 -247
  20. package/dist/Chunk.d.ts.map +1 -1
  21. package/dist/Chunk.js +36 -67
  22. package/dist/Chunk.js.map +1 -1
  23. package/dist/Combiner.d.ts +280 -13
  24. package/dist/Combiner.d.ts.map +1 -1
  25. package/dist/Combiner.js +198 -7
  26. package/dist/Combiner.js.map +1 -1
  27. package/dist/Config.d.ts +165 -9
  28. package/dist/Config.d.ts.map +1 -1
  29. package/dist/Config.js +65 -10
  30. package/dist/Config.js.map +1 -1
  31. package/dist/ConfigProvider.d.ts +1 -1
  32. package/dist/Cron.d.ts +1 -1
  33. package/dist/Cron.js +3 -3
  34. package/dist/Cron.js.map +1 -1
  35. package/dist/Data.d.ts +535 -366
  36. package/dist/Data.d.ts.map +1 -1
  37. package/dist/Data.js +132 -79
  38. package/dist/Data.js.map +1 -1
  39. package/dist/DateTime.d.ts +56 -238
  40. package/dist/DateTime.d.ts.map +1 -1
  41. package/dist/DateTime.js +7 -52
  42. package/dist/DateTime.js.map +1 -1
  43. package/dist/Duration.d.ts +39 -11
  44. package/dist/Duration.d.ts.map +1 -1
  45. package/dist/Duration.js +88 -59
  46. package/dist/Duration.js.map +1 -1
  47. package/dist/Effect.d.ts +1206 -924
  48. package/dist/Effect.d.ts.map +1 -1
  49. package/dist/Effect.js +390 -329
  50. package/dist/Effect.js.map +1 -1
  51. package/dist/Encoding.d.ts +194 -0
  52. package/dist/Encoding.d.ts.map +1 -0
  53. package/dist/Encoding.js +352 -0
  54. package/dist/Encoding.js.map +1 -0
  55. package/dist/Equal.d.ts +276 -109
  56. package/dist/Equal.d.ts.map +1 -1
  57. package/dist/Equal.js +124 -48
  58. package/dist/Equal.js.map +1 -1
  59. package/dist/ErrorReporter.d.ts +374 -0
  60. package/dist/ErrorReporter.d.ts.map +1 -0
  61. package/dist/ErrorReporter.js +244 -0
  62. package/dist/ErrorReporter.js.map +1 -0
  63. package/dist/Exit.d.ts +24 -12
  64. package/dist/Exit.d.ts.map +1 -1
  65. package/dist/Exit.js +8 -4
  66. package/dist/Exit.js.map +1 -1
  67. package/dist/Fiber.d.ts +3 -2
  68. package/dist/Fiber.d.ts.map +1 -1
  69. package/dist/Fiber.js.map +1 -1
  70. package/dist/FileSystem.d.ts +1 -1
  71. package/dist/FileSystem.d.ts.map +1 -1
  72. package/dist/FileSystem.js +5 -5
  73. package/dist/FileSystem.js.map +1 -1
  74. package/dist/Filter.d.ts +34 -38
  75. package/dist/Filter.d.ts.map +1 -1
  76. package/dist/Filter.js +15 -13
  77. package/dist/Filter.js.map +1 -1
  78. package/dist/Formatter.d.ts +131 -47
  79. package/dist/Formatter.d.ts.map +1 -1
  80. package/dist/Formatter.js +229 -51
  81. package/dist/Formatter.js.map +1 -1
  82. package/dist/Function.d.ts +1 -9
  83. package/dist/Function.d.ts.map +1 -1
  84. package/dist/Function.js +2 -10
  85. package/dist/Function.js.map +1 -1
  86. package/dist/Graph.d.ts +1 -1
  87. package/dist/Graph.d.ts.map +1 -1
  88. package/dist/Graph.js +5 -8
  89. package/dist/Graph.js.map +1 -1
  90. package/dist/HashMap.d.ts +15 -14
  91. package/dist/HashMap.d.ts.map +1 -1
  92. package/dist/HashMap.js +4 -4
  93. package/dist/HashMap.js.map +1 -1
  94. package/dist/Iterable.d.ts +39 -39
  95. package/dist/Iterable.d.ts.map +1 -1
  96. package/dist/Iterable.js +94 -22
  97. package/dist/Iterable.js.map +1 -1
  98. package/dist/JsonSchema.d.ts +299 -10
  99. package/dist/JsonSchema.d.ts.map +1 -1
  100. package/dist/JsonSchema.js +323 -4
  101. package/dist/JsonSchema.js.map +1 -1
  102. package/dist/Latch.d.ts +109 -0
  103. package/dist/Latch.d.ts.map +1 -0
  104. package/dist/Latch.js +72 -0
  105. package/dist/Latch.js.map +1 -0
  106. package/dist/Layer.d.ts +217 -127
  107. package/dist/Layer.d.ts.map +1 -1
  108. package/dist/Layer.js +51 -46
  109. package/dist/Layer.js.map +1 -1
  110. package/dist/LayerMap.d.ts +8 -8
  111. package/dist/LayerMap.d.ts.map +1 -1
  112. package/dist/LayerMap.js +3 -3
  113. package/dist/LogLevel.d.ts +32 -0
  114. package/dist/LogLevel.d.ts.map +1 -1
  115. package/dist/LogLevel.js +28 -100
  116. package/dist/LogLevel.js.map +1 -1
  117. package/dist/Logger.d.ts +29 -95
  118. package/dist/Logger.d.ts.map +1 -1
  119. package/dist/Logger.js +2 -3
  120. package/dist/Logger.js.map +1 -1
  121. package/dist/ManagedRuntime.d.ts +2 -2
  122. package/dist/ManagedRuntime.js +2 -2
  123. package/dist/Metric.d.ts +4 -6
  124. package/dist/Metric.d.ts.map +1 -1
  125. package/dist/Metric.js +3 -5
  126. package/dist/Metric.js.map +1 -1
  127. package/dist/Newtype.d.ts +291 -0
  128. package/dist/Newtype.d.ts.map +1 -0
  129. package/dist/Newtype.js +161 -0
  130. package/dist/Newtype.js.map +1 -0
  131. package/dist/Optic.d.ts +947 -18
  132. package/dist/Optic.d.ts.map +1 -1
  133. package/dist/Optic.js +454 -5
  134. package/dist/Optic.js.map +1 -1
  135. package/dist/Option.d.ts +23 -16
  136. package/dist/Option.d.ts.map +1 -1
  137. package/dist/Option.js +15 -9
  138. package/dist/Option.js.map +1 -1
  139. package/dist/Pipeable.d.ts +17 -0
  140. package/dist/Pipeable.d.ts.map +1 -1
  141. package/dist/Pipeable.js +19 -1
  142. package/dist/Pipeable.js.map +1 -1
  143. package/dist/PlatformError.d.ts +10 -9
  144. package/dist/PlatformError.d.ts.map +1 -1
  145. package/dist/PlatformError.js +2 -2
  146. package/dist/PlatformError.js.map +1 -1
  147. package/dist/Pool.d.ts +6 -4
  148. package/dist/Pool.d.ts.map +1 -1
  149. package/dist/Pool.js +7 -5
  150. package/dist/Pool.js.map +1 -1
  151. package/dist/PubSub.d.ts +3 -2
  152. package/dist/PubSub.d.ts.map +1 -1
  153. package/dist/PubSub.js +3 -2
  154. package/dist/PubSub.js.map +1 -1
  155. package/dist/Pull.d.ts.map +1 -1
  156. package/dist/Pull.js +1 -1
  157. package/dist/Pull.js.map +1 -1
  158. package/dist/Queue.d.ts.map +1 -1
  159. package/dist/Queue.js +0 -1
  160. package/dist/Queue.js.map +1 -1
  161. package/dist/Random.d.ts +35 -1
  162. package/dist/Random.d.ts.map +1 -1
  163. package/dist/Random.js +46 -12
  164. package/dist/Random.js.map +1 -1
  165. package/dist/RcMap.d.ts +2 -2
  166. package/dist/RcMap.d.ts.map +1 -1
  167. package/dist/RcMap.js +1 -1
  168. package/dist/RcMap.js.map +1 -1
  169. package/dist/RcRef.d.ts +1 -1
  170. package/dist/RcRef.d.ts.map +1 -1
  171. package/dist/Record.d.ts +23 -120
  172. package/dist/Record.d.ts.map +1 -1
  173. package/dist/Record.js +21 -41
  174. package/dist/Record.js.map +1 -1
  175. package/dist/Reducer.d.ts +166 -7
  176. package/dist/Reducer.d.ts.map +1 -1
  177. package/dist/Reducer.js +135 -1
  178. package/dist/Reducer.js.map +1 -1
  179. package/dist/References.d.ts +9 -4
  180. package/dist/References.d.ts.map +1 -1
  181. package/dist/References.js +6 -1
  182. package/dist/References.js.map +1 -1
  183. package/dist/Request.d.ts +1 -1
  184. package/dist/Request.d.ts.map +1 -1
  185. package/dist/Request.js +2 -1
  186. package/dist/Request.js.map +1 -1
  187. package/dist/RequestResolver.d.ts +25 -45
  188. package/dist/RequestResolver.d.ts.map +1 -1
  189. package/dist/RequestResolver.js +10 -30
  190. package/dist/RequestResolver.js.map +1 -1
  191. package/dist/Result.d.ts +1 -1
  192. package/dist/Result.d.ts.map +1 -1
  193. package/dist/Result.js +1 -2
  194. package/dist/Result.js.map +1 -1
  195. package/dist/Runtime.d.ts +66 -0
  196. package/dist/Runtime.d.ts.map +1 -1
  197. package/dist/Runtime.js +79 -6
  198. package/dist/Runtime.js.map +1 -1
  199. package/dist/Schedule.d.ts +191 -102
  200. package/dist/Schedule.d.ts.map +1 -1
  201. package/dist/Schedule.js +152 -66
  202. package/dist/Schedule.js.map +1 -1
  203. package/dist/Scheduler.d.ts +9 -0
  204. package/dist/Scheduler.d.ts.map +1 -1
  205. package/dist/Scheduler.js +11 -0
  206. package/dist/Scheduler.js.map +1 -1
  207. package/dist/Schema.d.ts +2647 -224
  208. package/dist/Schema.d.ts.map +1 -1
  209. package/dist/Schema.js +1863 -209
  210. package/dist/Schema.js.map +1 -1
  211. package/dist/SchemaAST.d.ts +2 -2
  212. package/dist/SchemaAST.d.ts.map +1 -1
  213. package/dist/SchemaAST.js +131 -25
  214. package/dist/SchemaAST.js.map +1 -1
  215. package/dist/SchemaGetter.d.ts +5 -5
  216. package/dist/SchemaGetter.d.ts.map +1 -1
  217. package/dist/SchemaGetter.js +12 -14
  218. package/dist/SchemaGetter.js.map +1 -1
  219. package/dist/SchemaParser.d.ts +5 -0
  220. package/dist/SchemaParser.d.ts.map +1 -1
  221. package/dist/SchemaParser.js +10 -0
  222. package/dist/SchemaParser.js.map +1 -1
  223. package/dist/SchemaRepresentation.d.ts +46 -45
  224. package/dist/SchemaRepresentation.d.ts.map +1 -1
  225. package/dist/SchemaRepresentation.js +49 -24
  226. package/dist/SchemaRepresentation.js.map +1 -1
  227. package/dist/SchemaTransformation.d.ts +107 -3
  228. package/dist/SchemaTransformation.d.ts.map +1 -1
  229. package/dist/SchemaTransformation.js +159 -4
  230. package/dist/SchemaTransformation.js.map +1 -1
  231. package/dist/ScopedCache.d.ts +2 -2
  232. package/dist/ScopedCache.d.ts.map +1 -1
  233. package/dist/ScopedCache.js +1 -1
  234. package/dist/ScopedCache.js.map +1 -1
  235. package/dist/Semaphore.d.ts +211 -0
  236. package/dist/Semaphore.d.ts.map +1 -0
  237. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  238. package/dist/Semaphore.js.map +1 -0
  239. package/dist/ServiceMap.d.ts +41 -31
  240. package/dist/ServiceMap.d.ts.map +1 -1
  241. package/dist/ServiceMap.js +3 -3
  242. package/dist/ServiceMap.js.map +1 -1
  243. package/dist/Sink.d.ts +13 -13
  244. package/dist/Sink.d.ts.map +1 -1
  245. package/dist/Sink.js +53 -6
  246. package/dist/Sink.js.map +1 -1
  247. package/dist/Stdio.d.ts +16 -4
  248. package/dist/Stdio.d.ts.map +1 -1
  249. package/dist/Stdio.js +18 -0
  250. package/dist/Stdio.js.map +1 -1
  251. package/dist/Stream.d.ts +250 -428
  252. package/dist/Stream.d.ts.map +1 -1
  253. package/dist/Stream.js +137 -82
  254. package/dist/Stream.js.map +1 -1
  255. package/dist/Struct.d.ts +16 -0
  256. package/dist/Struct.d.ts.map +1 -1
  257. package/dist/Struct.js +22 -0
  258. package/dist/Struct.js.map +1 -1
  259. package/dist/SubscriptionRef.d.ts +2 -1
  260. package/dist/SubscriptionRef.d.ts.map +1 -1
  261. package/dist/SubscriptionRef.js +2 -1
  262. package/dist/SubscriptionRef.js.map +1 -1
  263. package/dist/SynchronizedRef.d.ts +2 -1
  264. package/dist/SynchronizedRef.d.ts.map +1 -1
  265. package/dist/SynchronizedRef.js +2 -1
  266. package/dist/SynchronizedRef.js.map +1 -1
  267. package/dist/Trie.d.ts +18 -17
  268. package/dist/Trie.d.ts.map +1 -1
  269. package/dist/Trie.js +5 -5
  270. package/dist/Trie.js.map +1 -1
  271. package/dist/TxChunk.d.ts +37 -37
  272. package/dist/TxChunk.d.ts.map +1 -1
  273. package/dist/TxChunk.js +3 -3
  274. package/dist/TxChunk.js.map +1 -1
  275. package/dist/TxDeferred.d.ts +328 -0
  276. package/dist/TxDeferred.d.ts.map +1 -0
  277. package/dist/TxDeferred.js +196 -0
  278. package/dist/TxDeferred.js.map +1 -0
  279. package/dist/TxHashMap.d.ts +84 -83
  280. package/dist/TxHashMap.d.ts.map +1 -1
  281. package/dist/TxHashMap.js +24 -24
  282. package/dist/TxHashMap.js.map +1 -1
  283. package/dist/TxHashSet.d.ts +35 -35
  284. package/dist/TxHashSet.d.ts.map +1 -1
  285. package/dist/TxHashSet.js +14 -14
  286. package/dist/TxHashSet.js.map +1 -1
  287. package/dist/TxPriorityQueue.d.ts +609 -0
  288. package/dist/TxPriorityQueue.d.ts.map +1 -0
  289. package/dist/TxPriorityQueue.js +415 -0
  290. package/dist/TxPriorityQueue.js.map +1 -0
  291. package/dist/TxPubSub.d.ts +585 -0
  292. package/dist/TxPubSub.d.ts.map +1 -0
  293. package/dist/TxPubSub.js +521 -0
  294. package/dist/TxPubSub.js.map +1 -0
  295. package/dist/TxQueue.d.ts +32 -32
  296. package/dist/TxQueue.d.ts.map +1 -1
  297. package/dist/TxQueue.js +26 -26
  298. package/dist/TxQueue.js.map +1 -1
  299. package/dist/TxReentrantLock.d.ts +523 -0
  300. package/dist/TxReentrantLock.d.ts.map +1 -0
  301. package/dist/TxReentrantLock.js +504 -0
  302. package/dist/TxReentrantLock.js.map +1 -0
  303. package/dist/TxRef.d.ts +34 -34
  304. package/dist/TxRef.d.ts.map +1 -1
  305. package/dist/TxRef.js +21 -14
  306. package/dist/TxRef.js.map +1 -1
  307. package/dist/TxSemaphore.d.ts +8 -8
  308. package/dist/TxSemaphore.d.ts.map +1 -1
  309. package/dist/TxSemaphore.js +7 -7
  310. package/dist/TxSemaphore.js.map +1 -1
  311. package/dist/TxSubscriptionRef.d.ts +508 -0
  312. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  313. package/dist/TxSubscriptionRef.js +293 -0
  314. package/dist/TxSubscriptionRef.js.map +1 -0
  315. package/dist/Types.d.ts +80 -23
  316. package/dist/Types.d.ts.map +1 -1
  317. package/dist/Utils.d.ts +137 -65
  318. package/dist/Utils.d.ts.map +1 -1
  319. package/dist/Utils.js +38 -66
  320. package/dist/Utils.js.map +1 -1
  321. package/dist/index.d.ts +718 -23
  322. package/dist/index.d.ts.map +1 -1
  323. package/dist/index.js +718 -23
  324. package/dist/index.js.map +1 -1
  325. package/dist/internal/core.js +11 -3
  326. package/dist/internal/core.js.map +1 -1
  327. package/dist/internal/dateTime.js +60 -61
  328. package/dist/internal/dateTime.js.map +1 -1
  329. package/dist/internal/effect.js +265 -127
  330. package/dist/internal/effect.js.map +1 -1
  331. package/dist/internal/hashMap.js +5 -4
  332. package/dist/internal/hashMap.js.map +1 -1
  333. package/dist/internal/random.d.ts +2 -0
  334. package/dist/internal/random.d.ts.map +1 -0
  335. package/dist/internal/random.js +13 -0
  336. package/dist/internal/random.js.map +1 -0
  337. package/dist/internal/rcRef.js +3 -2
  338. package/dist/internal/rcRef.js.map +1 -1
  339. package/dist/internal/request.js +2 -2
  340. package/dist/internal/request.js.map +1 -1
  341. package/dist/internal/schema/annotations.js +2 -0
  342. package/dist/internal/schema/annotations.js.map +1 -1
  343. package/dist/internal/schema/representation.js +47 -106
  344. package/dist/internal/schema/representation.js.map +1 -1
  345. package/dist/internal/schema/schema.js +1 -0
  346. package/dist/internal/schema/schema.js.map +1 -1
  347. package/dist/internal/schema/to-codec.js +7 -10
  348. package/dist/internal/schema/to-codec.js.map +1 -1
  349. package/dist/internal/trie.js +5 -4
  350. package/dist/internal/trie.js.map +1 -1
  351. package/dist/testing/TestClock.d.ts +8 -7
  352. package/dist/testing/TestClock.d.ts.map +1 -1
  353. package/dist/testing/TestClock.js +6 -4
  354. package/dist/testing/TestClock.js.map +1 -1
  355. package/dist/testing/TestSchema.d.ts +266 -32
  356. package/dist/testing/TestSchema.d.ts.map +1 -1
  357. package/dist/testing/TestSchema.js +296 -23
  358. package/dist/testing/TestSchema.js.map +1 -1
  359. package/dist/testing/index.d.ts +64 -1
  360. package/dist/testing/index.d.ts.map +1 -1
  361. package/dist/testing/index.js +64 -1
  362. package/dist/testing/index.js.map +1 -1
  363. package/dist/unstable/ai/AiError.d.ts +134 -51
  364. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  365. package/dist/unstable/ai/AiError.js +19 -16
  366. package/dist/unstable/ai/AiError.js.map +1 -1
  367. package/dist/unstable/ai/Chat.d.ts +7 -8
  368. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  369. package/dist/unstable/ai/Chat.js +38 -44
  370. package/dist/unstable/ai/Chat.js.map +1 -1
  371. package/dist/unstable/ai/LanguageModel.d.ts +45 -45
  372. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  373. package/dist/unstable/ai/LanguageModel.js +107 -124
  374. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  375. package/dist/unstable/ai/McpSchema.d.ts +183 -88
  376. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  377. package/dist/unstable/ai/McpSchema.js +57 -12
  378. package/dist/unstable/ai/McpSchema.js.map +1 -1
  379. package/dist/unstable/ai/McpServer.d.ts +66 -13
  380. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  381. package/dist/unstable/ai/McpServer.js +193 -51
  382. package/dist/unstable/ai/McpServer.js.map +1 -1
  383. package/dist/unstable/ai/Model.d.ts +25 -7
  384. package/dist/unstable/ai/Model.d.ts.map +1 -1
  385. package/dist/unstable/ai/Model.js +22 -6
  386. package/dist/unstable/ai/Model.js.map +1 -1
  387. package/dist/unstable/ai/Prompt.d.ts +20 -20
  388. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  389. package/dist/unstable/ai/Response.d.ts +26 -26
  390. package/dist/unstable/ai/Response.d.ts.map +1 -1
  391. package/dist/unstable/ai/Response.js +1 -1
  392. package/dist/unstable/ai/Response.js.map +1 -1
  393. package/dist/unstable/ai/Tool.d.ts +20 -4
  394. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  395. package/dist/unstable/ai/Tool.js +14 -9
  396. package/dist/unstable/ai/Tool.js.map +1 -1
  397. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  398. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  399. package/dist/unstable/ai/Toolkit.js +4 -11
  400. package/dist/unstable/ai/Toolkit.js.map +1 -1
  401. package/dist/unstable/ai/index.d.ts +1 -1
  402. package/dist/unstable/ai/index.js +1 -1
  403. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  404. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  405. package/dist/unstable/cli/CliError.d.ts +27 -60
  406. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  407. package/dist/unstable/cli/CliError.js +25 -57
  408. package/dist/unstable/cli/CliError.js.map +1 -1
  409. package/dist/unstable/cli/CliOutput.js +59 -6
  410. package/dist/unstable/cli/CliOutput.js.map +1 -1
  411. package/dist/unstable/cli/Command.d.ts +368 -56
  412. package/dist/unstable/cli/Command.d.ts.map +1 -1
  413. package/dist/unstable/cli/Command.js +325 -64
  414. package/dist/unstable/cli/Command.js.map +1 -1
  415. package/dist/unstable/cli/Completions.d.ts +16 -0
  416. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  417. package/dist/unstable/cli/Completions.js +23 -0
  418. package/dist/unstable/cli/Completions.js.map +1 -0
  419. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  420. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  421. package/dist/unstable/cli/GlobalFlag.js +118 -0
  422. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  423. package/dist/unstable/cli/HelpDoc.d.ts +70 -2
  424. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  425. package/dist/unstable/cli/Primitive.d.ts +1 -1
  426. package/dist/unstable/cli/Primitive.js +1 -1
  427. package/dist/unstable/cli/Prompt.js +35 -8
  428. package/dist/unstable/cli/Prompt.js.map +1 -1
  429. package/dist/unstable/cli/index.d.ts +8 -0
  430. package/dist/unstable/cli/index.d.ts.map +1 -1
  431. package/dist/unstable/cli/index.js +8 -0
  432. package/dist/unstable/cli/index.js.map +1 -1
  433. package/dist/unstable/cli/internal/command.d.ts +40 -14
  434. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  435. package/dist/unstable/cli/internal/command.js +72 -46
  436. package/dist/unstable/cli/internal/command.js.map +1 -1
  437. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
  438. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  439. package/dist/unstable/cli/internal/config.js +42 -0
  440. package/dist/unstable/cli/internal/config.js.map +1 -1
  441. package/dist/unstable/cli/internal/help.d.ts +33 -0
  442. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  443. package/dist/unstable/cli/internal/help.js +125 -0
  444. package/dist/unstable/cli/internal/help.js.map +1 -0
  445. package/dist/unstable/cli/internal/parser.js +55 -42
  446. package/dist/unstable/cli/internal/parser.js.map +1 -1
  447. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  448. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  449. package/dist/unstable/cluster/ClusterCron.js +1 -1
  450. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  451. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  452. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -4
  453. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  454. package/dist/unstable/cluster/DeliverAt.js +1 -1
  455. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  456. package/dist/unstable/cluster/Entity.d.ts +7 -6
  457. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  458. package/dist/unstable/cluster/Entity.js.map +1 -1
  459. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  460. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  461. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  462. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  463. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  464. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  465. package/dist/unstable/cluster/Message.d.ts +10 -10
  466. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  467. package/dist/unstable/cluster/MessageStorage.js +2 -1
  468. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  469. package/dist/unstable/cluster/Reply.d.ts +6 -6
  470. package/dist/unstable/cluster/Runner.d.ts +1 -1
  471. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  472. package/dist/unstable/cluster/Runners.js +4 -3
  473. package/dist/unstable/cluster/Runners.js.map +1 -1
  474. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  475. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  476. package/dist/unstable/cluster/Sharding.js +9 -7
  477. package/dist/unstable/cluster/Sharding.js.map +1 -1
  478. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  479. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  480. package/dist/unstable/cluster/ShardingConfig.js +20 -20
  481. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  482. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  483. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  484. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  485. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  486. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  487. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  488. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  489. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  490. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  491. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  492. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  493. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  494. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  495. package/dist/unstable/encoding/Sse.d.ts +4 -4
  496. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  497. package/dist/unstable/encoding/Sse.js +1 -1
  498. package/dist/unstable/encoding/Sse.js.map +1 -1
  499. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  500. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  501. package/dist/unstable/eventlog/EventLog.js +2 -1
  502. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  503. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  504. package/dist/unstable/http/Cookies.d.ts +47 -3
  505. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  506. package/dist/unstable/http/Cookies.js +24 -2
  507. package/dist/unstable/http/Cookies.js.map +1 -1
  508. package/dist/unstable/http/Headers.d.ts +16 -0
  509. package/dist/unstable/http/Headers.d.ts.map +1 -1
  510. package/dist/unstable/http/Headers.js +38 -10
  511. package/dist/unstable/http/Headers.js.map +1 -1
  512. package/dist/unstable/http/HttpBody.d.ts +3 -3
  513. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  514. package/dist/unstable/http/HttpBody.js +6 -6
  515. package/dist/unstable/http/HttpBody.js.map +1 -1
  516. package/dist/unstable/http/HttpClient.d.ts +117 -15
  517. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  518. package/dist/unstable/http/HttpClient.js +189 -12
  519. package/dist/unstable/http/HttpClient.js.map +1 -1
  520. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  521. package/dist/unstable/http/HttpClientRequest.d.ts +16 -11
  522. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  523. package/dist/unstable/http/HttpClientRequest.js +31 -20
  524. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  525. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  526. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  527. package/dist/unstable/http/HttpClientResponse.js +4 -0
  528. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  529. package/dist/unstable/http/HttpEffect.d.ts +7 -5
  530. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  531. package/dist/unstable/http/HttpEffect.js +46 -54
  532. package/dist/unstable/http/HttpEffect.js.map +1 -1
  533. package/dist/unstable/http/HttpIncomingMessage.d.ts +1 -1
  534. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  535. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  536. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  537. package/dist/unstable/http/HttpMethod.js +3 -3
  538. package/dist/unstable/http/HttpMethod.js.map +1 -1
  539. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  540. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  541. package/dist/unstable/http/HttpMiddleware.js +8 -17
  542. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  543. package/dist/unstable/http/HttpServerError.d.ts +20 -33
  544. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  545. package/dist/unstable/http/HttpServerError.js +37 -44
  546. package/dist/unstable/http/HttpServerError.js.map +1 -1
  547. package/dist/unstable/http/HttpServerRequest.d.ts +12 -1
  548. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  549. package/dist/unstable/http/HttpServerRequest.js +291 -1
  550. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  551. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  552. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  553. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  554. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  555. package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
  556. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  557. package/dist/unstable/http/HttpServerResponse.js +234 -1
  558. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  559. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  560. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  561. package/dist/unstable/http/HttpStaticServer.js +353 -0
  562. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  563. package/dist/unstable/http/Multipart.d.ts +3 -3
  564. package/dist/unstable/http/UrlParams.d.ts +14 -6
  565. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  566. package/dist/unstable/http/UrlParams.js +1 -1
  567. package/dist/unstable/http/UrlParams.js.map +1 -1
  568. package/dist/unstable/http/index.d.ts +4 -0
  569. package/dist/unstable/http/index.d.ts.map +1 -1
  570. package/dist/unstable/http/index.js +4 -0
  571. package/dist/unstable/http/index.js.map +1 -1
  572. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  573. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  574. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  575. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  576. package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
  577. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  578. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  579. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  580. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  581. package/dist/unstable/httpapi/HttpApiBuilder.js +28 -18
  582. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  583. package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
  584. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  585. package/dist/unstable/httpapi/HttpApiClient.js +40 -3
  586. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  587. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
  588. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  589. package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
  590. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  591. package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
  592. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  593. package/dist/unstable/httpapi/HttpApiError.js +44 -29
  594. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  595. package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
  596. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  597. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  598. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
  599. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  600. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  601. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  602. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  603. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  604. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  605. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  606. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  607. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  608. package/dist/unstable/httpapi/OpenApi.js +32 -21
  609. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  610. package/dist/unstable/observability/Otlp.d.ts +12 -12
  611. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  612. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  613. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  614. package/dist/unstable/observability/OtlpExporter.js +1 -1
  615. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  616. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  617. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  618. package/dist/unstable/observability/OtlpLogger.js +7 -4
  619. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  620. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  621. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  622. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  623. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  624. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  625. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  626. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  627. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  628. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  629. package/dist/unstable/persistence/Persistable.js +1 -1
  630. package/dist/unstable/persistence/Persistable.js.map +1 -1
  631. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  632. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  633. package/dist/unstable/persistence/PersistedCache.js +2 -1
  634. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  635. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  636. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  637. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  638. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  639. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  640. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  641. package/dist/unstable/persistence/Persistence.js +2 -2
  642. package/dist/unstable/persistence/Persistence.js.map +1 -1
  643. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  644. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  645. package/dist/unstable/persistence/RateLimiter.js +1 -1
  646. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  647. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  648. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  649. package/dist/unstable/process/ChildProcess.js +1 -65
  650. package/dist/unstable/process/ChildProcess.js.map +1 -1
  651. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  652. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  653. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  654. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  655. package/dist/unstable/reactivity/Atom.d.ts +73 -12
  656. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  657. package/dist/unstable/reactivity/Atom.js +107 -20
  658. package/dist/unstable/reactivity/Atom.js.map +1 -1
  659. package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
  660. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  661. package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
  662. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  663. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  664. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  665. package/dist/unstable/reactivity/AtomRegistry.js +50 -9
  666. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  667. package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
  668. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  669. package/dist/unstable/reactivity/AtomRpc.js +47 -21
  670. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  671. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  672. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  673. package/dist/unstable/reactivity/Hydration.js +76 -0
  674. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  675. package/dist/unstable/reactivity/index.d.ts +4 -0
  676. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  677. package/dist/unstable/reactivity/index.js +4 -0
  678. package/dist/unstable/reactivity/index.js.map +1 -1
  679. package/dist/unstable/rpc/Rpc.d.ts +5 -5
  680. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  681. package/dist/unstable/rpc/Rpc.js.map +1 -1
  682. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  683. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  684. package/dist/unstable/rpc/RpcClient.js +6 -13
  685. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  686. package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
  687. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  688. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  689. package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
  690. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  691. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  692. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  693. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  694. package/dist/unstable/rpc/RpcSchema.js +14 -0
  695. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  696. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  697. package/dist/unstable/rpc/RpcSerialization.js +34 -9
  698. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  699. package/dist/unstable/rpc/RpcServer.d.ts +5 -9
  700. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  701. package/dist/unstable/rpc/RpcServer.js +17 -17
  702. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  703. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  704. package/dist/unstable/rpc/Utils.js +3 -2
  705. package/dist/unstable/rpc/Utils.js.map +1 -1
  706. package/dist/unstable/schema/Model.d.ts +22 -1
  707. package/dist/unstable/schema/Model.d.ts.map +1 -1
  708. package/dist/unstable/schema/Model.js +15 -0
  709. package/dist/unstable/schema/Model.js.map +1 -1
  710. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  711. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  712. package/dist/unstable/schema/VariantSchema.js +6 -6
  713. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  714. package/dist/unstable/socket/Socket.d.ts +4 -4
  715. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  716. package/dist/unstable/socket/Socket.js +6 -5
  717. package/dist/unstable/socket/Socket.js.map +1 -1
  718. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  719. package/dist/unstable/sql/Migrator.d.ts +1 -1
  720. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  721. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  722. package/dist/unstable/sql/SqlError.d.ts +14 -14
  723. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  724. package/dist/unstable/sql/SqlError.js +9 -3
  725. package/dist/unstable/sql/SqlError.js.map +1 -1
  726. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  727. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  728. package/dist/unstable/sql/SqlModel.js +3 -3
  729. package/dist/unstable/sql/SqlModel.js.map +1 -1
  730. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  731. package/dist/unstable/sql/SqlResolver.js +17 -8
  732. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  733. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  734. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  735. package/dist/unstable/sql/SqlSchema.js +17 -7
  736. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  737. package/dist/unstable/sql/Statement.js +0 -1
  738. package/dist/unstable/sql/Statement.js.map +1 -1
  739. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  740. package/dist/unstable/workers/Worker.js +2 -1
  741. package/dist/unstable/workers/Worker.js.map +1 -1
  742. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  743. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  744. package/dist/unstable/workflow/DurableClock.js +3 -3
  745. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  746. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  747. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  748. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  749. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  750. package/dist/unstable/workflow/Workflow.js +1 -1
  751. package/dist/unstable/workflow/Workflow.js.map +1 -1
  752. package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
  753. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  754. package/dist/unstable/workflow/WorkflowEngine.js +137 -1
  755. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  756. package/package.json +2 -2
  757. package/src/Array.ts +192 -342
  758. package/src/Brand.ts +1 -1
  759. package/src/Cache.ts +9 -8
  760. package/src/Cause.ts +2 -2
  761. package/src/Channel.ts +557 -141
  762. package/src/Chunk.ts +81 -268
  763. package/src/Combiner.ts +280 -13
  764. package/src/Config.ts +186 -24
  765. package/src/Cron.ts +3 -3
  766. package/src/Data.ts +539 -376
  767. package/src/DateTime.ts +59 -241
  768. package/src/Duration.ts +91 -36
  769. package/src/Effect.ts +1477 -1126
  770. package/src/Encoding.ts +879 -0
  771. package/src/Equal.ts +278 -111
  772. package/src/ErrorReporter.ts +457 -0
  773. package/src/Exit.ts +24 -12
  774. package/src/Fiber.ts +10 -2
  775. package/src/FileSystem.ts +7 -8
  776. package/src/Filter.ts +52 -63
  777. package/src/Formatter.ts +253 -51
  778. package/src/Function.ts +2 -10
  779. package/src/Graph.ts +24 -11
  780. package/src/HashMap.ts +15 -14
  781. package/src/Iterable.ts +104 -50
  782. package/src/JsonSchema.ts +383 -10
  783. package/src/Latch.ts +112 -0
  784. package/src/Layer.ts +245 -150
  785. package/src/LayerMap.ts +9 -9
  786. package/src/LogLevel.ts +37 -0
  787. package/src/Logger.ts +33 -100
  788. package/src/ManagedRuntime.ts +2 -2
  789. package/src/Metric.ts +6 -8
  790. package/src/Newtype.ts +308 -0
  791. package/src/Optic.ts +948 -19
  792. package/src/Option.ts +32 -24
  793. package/src/Pipeable.ts +32 -1
  794. package/src/PlatformError.ts +5 -5
  795. package/src/Pool.ts +13 -11
  796. package/src/PubSub.ts +10 -9
  797. package/src/Pull.ts +1 -1
  798. package/src/Queue.ts +0 -1
  799. package/src/Random.ts +51 -14
  800. package/src/RcMap.ts +5 -5
  801. package/src/RcRef.ts +1 -1
  802. package/src/Record.ts +42 -152
  803. package/src/Reducer.ts +166 -7
  804. package/src/References.ts +10 -5
  805. package/src/Request.ts +3 -2
  806. package/src/RequestResolver.ts +29 -49
  807. package/src/Result.ts +2 -4
  808. package/src/Runtime.ts +102 -6
  809. package/src/Schedule.ts +462 -242
  810. package/src/Scheduler.ts +12 -0
  811. package/src/Schema.ts +3116 -312
  812. package/src/SchemaAST.ts +166 -33
  813. package/src/SchemaGetter.ts +15 -17
  814. package/src/SchemaParser.ts +11 -0
  815. package/src/SchemaRepresentation.ts +51 -26
  816. package/src/SchemaTransformation.ts +189 -4
  817. package/src/ScopedCache.ts +3 -3
  818. package/src/Semaphore.ts +356 -0
  819. package/src/ServiceMap.ts +50 -40
  820. package/src/Sink.ts +78 -26
  821. package/src/Stdio.ts +27 -4
  822. package/src/Stream.ts +586 -608
  823. package/src/Struct.ts +26 -0
  824. package/src/SubscriptionRef.ts +3 -2
  825. package/src/SynchronizedRef.ts +3 -2
  826. package/src/Trie.ts +18 -17
  827. package/src/TxChunk.ts +72 -53
  828. package/src/TxDeferred.ts +394 -0
  829. package/src/TxHashMap.ts +332 -285
  830. package/src/TxHashSet.ts +111 -116
  831. package/src/TxPriorityQueue.ts +767 -0
  832. package/src/TxPubSub.ts +789 -0
  833. package/src/TxQueue.ts +241 -251
  834. package/src/TxReentrantLock.ts +753 -0
  835. package/src/TxRef.ts +50 -38
  836. package/src/TxSemaphore.ts +29 -32
  837. package/src/TxSubscriptionRef.ts +639 -0
  838. package/src/Types.ts +73 -19
  839. package/src/Utils.ts +137 -111
  840. package/src/index.ts +728 -24
  841. package/src/internal/core.ts +12 -5
  842. package/src/internal/dateTime.ts +69 -81
  843. package/src/internal/effect.ts +775 -302
  844. package/src/internal/hashMap.ts +8 -7
  845. package/src/internal/random.ts +20 -0
  846. package/src/internal/rcRef.ts +4 -3
  847. package/src/internal/request.ts +2 -2
  848. package/src/internal/schema/annotations.ts +2 -0
  849. package/src/internal/schema/representation.ts +45 -94
  850. package/src/internal/schema/schema.ts +1 -0
  851. package/src/internal/schema/to-codec.ts +7 -17
  852. package/src/internal/trie.ts +15 -9
  853. package/src/testing/TestClock.ts +13 -11
  854. package/src/testing/TestSchema.ts +332 -35
  855. package/src/testing/index.ts +64 -1
  856. package/src/unstable/ai/AiError.ts +105 -48
  857. package/src/unstable/ai/Chat.ts +58 -74
  858. package/src/unstable/ai/LanguageModel.ts +294 -158
  859. package/src/unstable/ai/McpSchema.ts +73 -13
  860. package/src/unstable/ai/McpServer.ts +271 -61
  861. package/src/unstable/ai/Model.ts +40 -9
  862. package/src/unstable/ai/Prompt.ts +37 -37
  863. package/src/unstable/ai/Response.ts +25 -25
  864. package/src/unstable/ai/Tool.ts +20 -14
  865. package/src/unstable/ai/Toolkit.ts +5 -14
  866. package/src/unstable/ai/index.ts +1 -1
  867. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  868. package/src/unstable/cli/CliError.ts +47 -59
  869. package/src/unstable/cli/CliOutput.ts +75 -6
  870. package/src/unstable/cli/Command.ts +796 -187
  871. package/src/unstable/cli/Completions.ts +36 -0
  872. package/src/unstable/cli/GlobalFlag.ts +242 -0
  873. package/src/unstable/cli/HelpDoc.ts +80 -2
  874. package/src/unstable/cli/Primitive.ts +1 -1
  875. package/src/unstable/cli/Prompt.ts +31 -9
  876. package/src/unstable/cli/index.ts +10 -0
  877. package/src/unstable/cli/internal/command.ts +109 -63
  878. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  879. package/src/unstable/cli/internal/config.ts +49 -0
  880. package/src/unstable/cli/internal/help.ts +171 -0
  881. package/src/unstable/cli/internal/parser.ts +66 -61
  882. package/src/unstable/cluster/ClusterCron.ts +2 -2
  883. package/src/unstable/cluster/ClusterWorkflowEngine.ts +6 -5
  884. package/src/unstable/cluster/DeliverAt.ts +1 -1
  885. package/src/unstable/cluster/Entity.ts +11 -10
  886. package/src/unstable/cluster/EntityResource.ts +4 -4
  887. package/src/unstable/cluster/Envelope.ts +1 -1
  888. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  889. package/src/unstable/cluster/MessageStorage.ts +3 -5
  890. package/src/unstable/cluster/Runners.ts +6 -5
  891. package/src/unstable/cluster/Sharding.ts +12 -10
  892. package/src/unstable/cluster/ShardingConfig.ts +30 -31
  893. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  894. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  895. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  896. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  897. package/src/unstable/encoding/Ndjson.ts +17 -17
  898. package/src/unstable/encoding/Sse.ts +3 -5
  899. package/src/unstable/eventlog/EventLog.ts +2 -1
  900. package/src/unstable/http/Cookies.ts +87 -3
  901. package/src/unstable/http/Headers.ts +62 -13
  902. package/src/unstable/http/HttpBody.ts +6 -6
  903. package/src/unstable/http/HttpClient.ts +374 -33
  904. package/src/unstable/http/HttpClientRequest.ts +38 -30
  905. package/src/unstable/http/HttpClientResponse.ts +9 -4
  906. package/src/unstable/http/HttpEffect.ts +54 -68
  907. package/src/unstable/http/HttpIncomingMessage.ts +1 -1
  908. package/src/unstable/http/HttpMethod.ts +16 -4
  909. package/src/unstable/http/HttpMiddleware.ts +9 -24
  910. package/src/unstable/http/HttpServerError.ts +42 -45
  911. package/src/unstable/http/HttpServerRequest.ts +391 -4
  912. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  913. package/src/unstable/http/HttpServerResponse.ts +337 -4
  914. package/src/unstable/http/HttpStaticServer.ts +456 -0
  915. package/src/unstable/http/Multipart.ts +2 -2
  916. package/src/unstable/http/UrlParams.ts +20 -5
  917. package/src/unstable/http/index.ts +5 -0
  918. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  919. package/src/unstable/httpapi/HttpApi.ts +6 -6
  920. package/src/unstable/httpapi/HttpApiBuilder.ts +83 -30
  921. package/src/unstable/httpapi/HttpApiClient.ts +100 -11
  922. package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
  923. package/src/unstable/httpapi/HttpApiError.ts +51 -28
  924. package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
  925. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
  926. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  927. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  928. package/src/unstable/httpapi/OpenApi.ts +41 -23
  929. package/src/unstable/observability/Otlp.ts +12 -12
  930. package/src/unstable/observability/OtlpExporter.ts +3 -3
  931. package/src/unstable/observability/OtlpLogger.ts +13 -9
  932. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  933. package/src/unstable/observability/OtlpTracer.ts +4 -4
  934. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  935. package/src/unstable/persistence/Persistable.ts +3 -3
  936. package/src/unstable/persistence/PersistedCache.ts +20 -9
  937. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  938. package/src/unstable/persistence/Persistence.ts +3 -3
  939. package/src/unstable/persistence/RateLimiter.ts +4 -4
  940. package/src/unstable/process/ChildProcess.ts +6 -208
  941. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  942. package/src/unstable/reactivity/Atom.ts +211 -50
  943. package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
  944. package/src/unstable/reactivity/AtomRegistry.ts +61 -9
  945. package/src/unstable/reactivity/AtomRpc.ts +51 -20
  946. package/src/unstable/reactivity/Hydration.ts +112 -0
  947. package/src/unstable/reactivity/index.ts +5 -0
  948. package/src/unstable/rpc/Rpc.ts +7 -9
  949. package/src/unstable/rpc/RpcClient.ts +12 -54
  950. package/src/unstable/rpc/RpcGroup.ts +7 -7
  951. package/src/unstable/rpc/RpcMiddleware.ts +15 -9
  952. package/src/unstable/rpc/RpcSchema.ts +17 -0
  953. package/src/unstable/rpc/RpcSerialization.ts +44 -9
  954. package/src/unstable/rpc/RpcServer.ts +28 -32
  955. package/src/unstable/rpc/Utils.ts +3 -2
  956. package/src/unstable/schema/Model.ts +31 -0
  957. package/src/unstable/schema/VariantSchema.ts +9 -9
  958. package/src/unstable/socket/Socket.ts +16 -17
  959. package/src/unstable/sql/SqlClient.ts +1 -1
  960. package/src/unstable/sql/SqlError.ts +11 -9
  961. package/src/unstable/sql/SqlModel.ts +5 -5
  962. package/src/unstable/sql/SqlResolver.ts +17 -7
  963. package/src/unstable/sql/SqlSchema.ts +42 -26
  964. package/src/unstable/sql/Statement.ts +0 -1
  965. package/src/unstable/workers/Worker.ts +2 -1
  966. package/src/unstable/workflow/DurableClock.ts +8 -8
  967. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  968. package/src/unstable/workflow/Workflow.ts +6 -2
  969. package/src/unstable/workflow/WorkflowEngine.ts +185 -2
  970. package/dist/PartitionedSemaphore.d.ts +0 -52
  971. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  972. package/dist/PartitionedSemaphore.js.map +0 -1
  973. package/dist/encoding/Base64.d.ts +0 -67
  974. package/dist/encoding/Base64.d.ts.map +0 -1
  975. package/dist/encoding/Base64.js +0 -146
  976. package/dist/encoding/Base64.js.map +0 -1
  977. package/dist/encoding/Base64Url.d.ts +0 -60
  978. package/dist/encoding/Base64Url.d.ts.map +0 -1
  979. package/dist/encoding/Base64Url.js +0 -89
  980. package/dist/encoding/Base64Url.js.map +0 -1
  981. package/dist/encoding/EncodingError.d.ts +0 -31
  982. package/dist/encoding/EncodingError.d.ts.map +0 -1
  983. package/dist/encoding/EncodingError.js +0 -22
  984. package/dist/encoding/EncodingError.js.map +0 -1
  985. package/dist/encoding/Hex.d.ts +0 -61
  986. package/dist/encoding/Hex.d.ts.map +0 -1
  987. package/dist/encoding/Hex.js +0 -115
  988. package/dist/encoding/Hex.js.map +0 -1
  989. package/dist/encoding/index.d.ts +0 -26
  990. package/dist/encoding/index.d.ts.map +0 -1
  991. package/dist/encoding/index.js +0 -27
  992. package/dist/encoding/index.js.map +0 -1
  993. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  994. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  995. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  996. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  997. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  998. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  999. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1000. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1001. package/src/PartitionedSemaphore.ts +0 -182
  1002. package/src/encoding/Base64.ts +0 -366
  1003. package/src/encoding/Base64Url.ts +0 -104
  1004. package/src/encoding/EncodingError.ts +0 -35
  1005. package/src/encoding/Hex.ts +0 -390
  1006. package/src/encoding/index.ts +0 -31
  1007. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1008. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/DateTime.ts CHANGED
@@ -12,7 +12,6 @@ import { provideService } from "./internal/effect.ts"
12
12
  import * as Layer from "./Layer.ts"
13
13
  import type * as order from "./Order.ts"
14
14
  import type { Pipeable } from "./Pipeable.ts"
15
- import type * as Result from "./Result.ts"
16
15
  import * as ServiceMap from "./ServiceMap.ts"
17
16
 
18
17
  const TypeId = Internal.TypeId
@@ -22,70 +21,30 @@ const TimeZoneTypeId = Internal.TimeZoneTypeId
22
21
  * A `DateTime` represents a point in time. It can optionally have a time zone
23
22
  * associated with it.
24
23
  *
25
- * @example
26
- * ```ts
27
- * import { DateTime } from "effect"
28
- *
29
- * // Create a UTC DateTime
30
- * const utc: DateTime.DateTime = DateTime.nowUnsafe()
31
- *
32
- * // Create a zoned DateTime
33
- * const zoned: DateTime.DateTime = DateTime.makeZonedUnsafe(new Date(), {
34
- * timeZone: "Europe/London"
35
- * })
36
- * ```
37
- *
38
24
  * @since 3.6.0
39
25
  * @category models
40
26
  */
41
27
  export type DateTime = Utc | Zoned
42
28
 
43
29
  /**
44
- * @example
45
- * ```ts
46
- * import { DateTime } from "effect"
47
- *
48
- * const utc = DateTime.nowUnsafe()
49
- *
50
- * if (DateTime.isUtc(utc)) {
51
- * console.log(utc._tag) // "Utc"
52
- * console.log(utc.epochMillis) // timestamp in milliseconds
53
- * }
54
- * ```
55
- *
56
30
  * @since 3.6.0
57
31
  * @category models
58
32
  */
59
33
  export interface Utc extends DateTime.Proto {
60
34
  readonly _tag: "Utc"
61
- readonly epochMillis: number
35
+ readonly epochMilliseconds: number
62
36
  partsUtc: DateTime.PartsWithWeekday | undefined
63
37
  }
64
38
 
65
39
  /**
66
- * @example
67
- * ```ts
68
- * import { DateTime } from "effect"
69
- *
70
- * const zoned = DateTime.makeZonedUnsafe(new Date(), {
71
- * timeZone: "Europe/London"
72
- * })
73
- *
74
- * if (DateTime.isZoned(zoned)) {
75
- * console.log(zoned._tag) // "Zoned"
76
- * console.log(zoned.epochMillis) // timestamp in milliseconds
77
- * console.log(DateTime.zoneToString(zoned.zone)) // "Europe/London"
78
- * }
79
- * ```
80
- *
81
40
  * @since 3.6.0
82
41
  * @category models
83
42
  */
84
43
  export interface Zoned extends DateTime.Proto {
85
44
  readonly _tag: "Zoned"
86
- readonly epochMillis: number
45
+ readonly epochMilliseconds: number
87
46
  readonly zone: TimeZone
88
- adjustedEpochMillis: number | undefined
47
+ adjustedEpochMilliseconds: number | undefined
89
48
  partsAdjusted: DateTime.PartsWithWeekday | undefined
90
49
  partsUtc: DateTime.PartsWithWeekday | undefined
91
50
  }
@@ -96,29 +55,10 @@ export interface Zoned extends DateTime.Proto {
96
55
  */
97
56
  export declare namespace DateTime {
98
57
  /**
99
- * @example
100
- * ```ts
101
- * import { DateTime } from "effect"
102
- *
103
- * // All valid inputs for DateTime constructors
104
- * const date = new Date()
105
- * const stringDate = "2024-01-01"
106
- * const epochMillis = 1704067200000
107
- * const partsObj = { year: 2024, month: 1, day: 1 }
108
- * const existing = DateTime.nowUnsafe()
109
- *
110
- * // All these can be used as DateTime.Input
111
- * const dt1 = DateTime.makeUnsafe(date)
112
- * const dt2 = DateTime.makeUnsafe(stringDate)
113
- * const dt3 = DateTime.makeUnsafe(epochMillis)
114
- * const dt4 = DateTime.makeUnsafe(partsObj)
115
- * const dt5 = DateTime.makeUnsafe(existing)
116
- * ```
117
- *
118
58
  * @since 3.6.0
119
59
  * @category models
120
60
  */
121
- export type Input = DateTime | Partial<Parts> | Date | number | string
61
+ export type Input = DateTime | Partial<Parts> | Instant | InstantWithZone | Date | number | string
122
62
 
123
63
  /**
124
64
  * @since 3.6.0
@@ -137,7 +77,7 @@ export declare namespace DateTime {
137
77
  * @category models
138
78
  */
139
79
  export type UnitSingular =
140
- | "milli"
80
+ | "millisecond"
141
81
  | "second"
142
82
  | "minute"
143
83
  | "hour"
@@ -151,7 +91,7 @@ export declare namespace DateTime {
151
91
  * @category models
152
92
  */
153
93
  export type UnitPlural =
154
- | "millis"
94
+ | "milliseconds"
155
95
  | "seconds"
156
96
  | "minutes"
157
97
  | "hours"
@@ -165,10 +105,10 @@ export declare namespace DateTime {
165
105
  * @category models
166
106
  */
167
107
  export interface PartsWithWeekday {
168
- readonly millis: number
169
- readonly seconds: number
170
- readonly minutes: number
171
- readonly hours: number
108
+ readonly millisecond: number
109
+ readonly second: number
110
+ readonly minute: number
111
+ readonly hour: number
172
112
  readonly day: number
173
113
  readonly weekDay: number
174
114
  readonly month: number
@@ -180,10 +120,10 @@ export declare namespace DateTime {
180
120
  * @category models
181
121
  */
182
122
  export interface Parts {
183
- readonly millis: number
184
- readonly seconds: number
185
- readonly minutes: number
186
- readonly hours: number
123
+ readonly millisecond: number
124
+ readonly second: number
125
+ readonly minute: number
126
+ readonly hour: number
187
127
  readonly day: number
188
128
  readonly month: number
189
129
  readonly year: number
@@ -194,7 +134,7 @@ export declare namespace DateTime {
194
134
  * @category models
195
135
  */
196
136
  export interface PartsForMath {
197
- readonly millis: number
137
+ readonly milliseconds: number
198
138
  readonly seconds: number
199
139
  readonly minutes: number
200
140
  readonly hours: number
@@ -204,6 +144,23 @@ export declare namespace DateTime {
204
144
  readonly years: number
205
145
  }
206
146
 
147
+ /**
148
+ * @since 4.0.0
149
+ * @category models
150
+ */
151
+ export interface Instant {
152
+ readonly epochMilliseconds: number
153
+ }
154
+
155
+ /**
156
+ * @since 4.0.0
157
+ * @category models
158
+ */
159
+ export interface InstantWithZone {
160
+ readonly timeZoneId: string
161
+ readonly epochMilliseconds: number
162
+ }
163
+
207
164
  /**
208
165
  * @since 3.6.0
209
166
  * @category models
@@ -1174,10 +1131,12 @@ export const setZoneNamedUnsafe: {
1174
1131
  // =============================================================================
1175
1132
 
1176
1133
  /**
1177
- * Calulate the difference between two `DateTime` values, returning the number
1178
- * of milliseconds the `other` DateTime is from `self`.
1134
+ * Calulate the difference between two `DateTime` values, returning a
1135
+ * `Duration` representing the amount of time between them.
1179
1136
  *
1180
- * If `other` is *after* `self`, the result will be a positive number.
1137
+ * If `other` is *after* `self`, the result will be a positive `Duration`. If
1138
+ * `other` is *before* `self`, the result will be a negative `Duration`. If they
1139
+ * are equal, the result will be a `Duration` of zero.
1181
1140
  *
1182
1141
  * @since 3.6.0
1183
1142
  * @category comparisons
@@ -1189,7 +1148,7 @@ export const setZoneNamedUnsafe: {
1189
1148
  * const now = yield* DateTime.now
1190
1149
  * const other = DateTime.add(now, { minutes: 1 })
1191
1150
  *
1192
- * // returns 60000
1151
+ * // returns Duration.minutes(1)
1193
1152
  * DateTime.distance(now, other)
1194
1153
  * })
1195
1154
  * ```
@@ -1200,10 +1159,12 @@ export const distance: {
1200
1159
  // =============================================================================
1201
1160
 
1202
1161
  /**
1203
- * Calulate the difference between two `DateTime` values, returning the number
1204
- * of milliseconds the `other` DateTime is from `self`.
1162
+ * Calulate the difference between two `DateTime` values, returning a
1163
+ * `Duration` representing the amount of time between them.
1205
1164
  *
1206
- * If `other` is *after* `self`, the result will be a positive number.
1165
+ * If `other` is *after* `self`, the result will be a positive `Duration`. If
1166
+ * `other` is *before* `self`, the result will be a negative `Duration`. If they
1167
+ * are equal, the result will be a `Duration` of zero.
1207
1168
  *
1208
1169
  * @since 3.6.0
1209
1170
  * @category comparisons
@@ -1215,147 +1176,23 @@ export const distance: {
1215
1176
  * const now = yield* DateTime.now
1216
1177
  * const other = DateTime.add(now, { minutes: 1 })
1217
1178
  *
1218
- * // returns 60000
1179
+ * // returns Duration.minutes(1)
1219
1180
  * DateTime.distance(now, other)
1220
1181
  * })
1221
1182
  * ```
1222
1183
  */
1223
- (other: DateTime): (self: DateTime) => number
1184
+ (other: DateTime): (self: DateTime) => Duration.Duration
1224
1185
  // =============================================================================
1225
1186
  // comparisons
1226
1187
  // =============================================================================
1227
1188
 
1228
1189
  /**
1229
- * Calulate the difference between two `DateTime` values, returning the number
1230
- * of milliseconds the `other` DateTime is from `self`.
1190
+ * Calulate the difference between two `DateTime` values, returning a
1191
+ * `Duration` representing the amount of time between them.
1231
1192
  *
1232
- * If `other` is *after* `self`, the result will be a positive number.
1233
- *
1234
- * @since 3.6.0
1235
- * @category comparisons
1236
- * @example
1237
- * ```ts
1238
- * import { DateTime, Effect } from "effect"
1239
- *
1240
- * Effect.gen(function*() {
1241
- * const now = yield* DateTime.now
1242
- * const other = DateTime.add(now, { minutes: 1 })
1243
- *
1244
- * // returns 60000
1245
- * DateTime.distance(now, other)
1246
- * })
1247
- * ```
1248
- */
1249
- (self: DateTime, other: DateTime): number
1250
- } = Internal.distance
1251
-
1252
- /**
1253
- * Calulate the difference between two `DateTime` values.
1254
- *
1255
- * If the `other` DateTime is before `self`, the result will be a negative
1256
- * `Duration`, returned as a `Failure`.
1257
- *
1258
- * If the `other` DateTime is after `self`, the result will be a positive
1259
- * `Duration`, returned as a `Success`.
1260
- *
1261
- * @since 3.6.0
1262
- * @category comparisons
1263
- * @example
1264
- * ```ts
1265
- * import { DateTime, Effect } from "effect"
1266
- *
1267
- * Effect.gen(function*() {
1268
- * const now = yield* DateTime.now
1269
- * const other = DateTime.add(now, { minutes: 1 })
1270
- *
1271
- * // returns Result.succeed(Duration.minutes(1))
1272
- * DateTime.distanceDurationResult(now, other)
1273
- *
1274
- * // returns Result.fail(Duration.minutes(1))
1275
- * DateTime.distanceDurationResult(other, now)
1276
- * })
1277
- * ```
1278
- */
1279
- export const distanceDurationResult: {
1280
- /**
1281
- * Calulate the difference between two `DateTime` values.
1282
- *
1283
- * If the `other` DateTime is before `self`, the result will be a negative
1284
- * `Duration`, returned as a `Failure`.
1285
- *
1286
- * If the `other` DateTime is after `self`, the result will be a positive
1287
- * `Duration`, returned as a `Success`.
1288
- *
1289
- * @since 3.6.0
1290
- * @category comparisons
1291
- * @example
1292
- * ```ts
1293
- * import { DateTime, Effect } from "effect"
1294
- *
1295
- * Effect.gen(function*() {
1296
- * const now = yield* DateTime.now
1297
- * const other = DateTime.add(now, { minutes: 1 })
1298
- *
1299
- * // returns Result.succeed(Duration.minutes(1))
1300
- * DateTime.distanceDurationResult(now, other)
1301
- *
1302
- * // returns Result.fail(Duration.minutes(1))
1303
- * DateTime.distanceDurationResult(other, now)
1304
- * })
1305
- * ```
1306
- */
1307
- (other: DateTime): (self: DateTime) => Result.Result<Duration.Duration, Duration.Duration>
1308
- /**
1309
- * Calulate the difference between two `DateTime` values.
1310
- *
1311
- * If the `other` DateTime is before `self`, the result will be a negative
1312
- * `Duration`, returned as a `Failure`.
1313
- *
1314
- * If the `other` DateTime is after `self`, the result will be a positive
1315
- * `Duration`, returned as a `Success`.
1316
- *
1317
- * @since 3.6.0
1318
- * @category comparisons
1319
- * @example
1320
- * ```ts
1321
- * import { DateTime, Effect } from "effect"
1322
- *
1323
- * Effect.gen(function*() {
1324
- * const now = yield* DateTime.now
1325
- * const other = DateTime.add(now, { minutes: 1 })
1326
- *
1327
- * // returns Result.succeed(Duration.minutes(1))
1328
- * DateTime.distanceDurationResult(now, other)
1329
- *
1330
- * // returns Result.fail(Duration.minutes(1))
1331
- * DateTime.distanceDurationResult(other, now)
1332
- * })
1333
- * ```
1334
- */
1335
- (self: DateTime, other: DateTime): Result.Result<Duration.Duration, Duration.Duration>
1336
- } = Internal.distanceDurationResult
1337
-
1338
- /**
1339
- * Calulate the distance between two `DateTime` values.
1340
- *
1341
- * @since 3.6.0
1342
- * @category comparisons
1343
- * @example
1344
- * ```ts
1345
- * import { DateTime, Effect } from "effect"
1346
- *
1347
- * Effect.gen(function*() {
1348
- * const now = yield* DateTime.now
1349
- * const other = DateTime.add(now, { minutes: 1 })
1350
- *
1351
- * // returns Duration.minutes(1)
1352
- * DateTime.distanceDuration(now, other)
1353
- * })
1354
- * ```
1355
- */
1356
- export const distanceDuration: {
1357
- /**
1358
- * Calulate the distance between two `DateTime` values.
1193
+ * If `other` is *after* `self`, the result will be a positive `Duration`. If
1194
+ * `other` is *before* `self`, the result will be a negative `Duration`. If they
1195
+ * are equal, the result will be a `Duration` of zero.
1359
1196
  *
1360
1197
  * @since 3.6.0
1361
1198
  * @category comparisons
@@ -1368,31 +1205,12 @@ export const distanceDuration: {
1368
1205
  * const other = DateTime.add(now, { minutes: 1 })
1369
1206
  *
1370
1207
  * // returns Duration.minutes(1)
1371
- * DateTime.distanceDuration(now, other)
1372
- * })
1373
- * ```
1374
- */
1375
- (other: DateTime): (self: DateTime) => Duration.Duration
1376
- /**
1377
- * Calulate the distance between two `DateTime` values.
1378
- *
1379
- * @since 3.6.0
1380
- * @category comparisons
1381
- * @example
1382
- * ```ts
1383
- * import { DateTime, Effect } from "effect"
1384
- *
1385
- * Effect.gen(function*() {
1386
- * const now = yield* DateTime.now
1387
- * const other = DateTime.add(now, { minutes: 1 })
1388
- *
1389
- * // returns Duration.minutes(1)
1390
- * DateTime.distanceDuration(now, other)
1208
+ * DateTime.distance(now, other)
1391
1209
  * })
1392
1210
  * ```
1393
1211
  */
1394
1212
  (self: DateTime, other: DateTime): Duration.Duration
1395
- } = Internal.distanceDuration
1213
+ } = Internal.distance
1396
1214
 
1397
1215
  /**
1398
1216
  * Returns the earlier of two `DateTime` values.
@@ -2278,7 +2096,7 @@ export const setParts: {
2278
2096
  * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
2279
2097
  * const updated = DateTime.setPartsUtc(dt, {
2280
2098
  * year: 2025,
2281
- * hours: 18
2099
+ * hour: 18
2282
2100
  * })
2283
2101
  *
2284
2102
  * console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
@@ -2300,7 +2118,7 @@ export const setPartsUtc: {
2300
2118
  * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
2301
2119
  * const updated = DateTime.setPartsUtc(dt, {
2302
2120
  * year: 2025,
2303
- * hours: 18
2121
+ * hour: 18
2304
2122
  * })
2305
2123
  *
2306
2124
  * console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
@@ -2322,7 +2140,7 @@ export const setPartsUtc: {
2322
2140
  * const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
2323
2141
  * const updated = DateTime.setPartsUtc(dt, {
2324
2142
  * year: 2025,
2325
- * hours: 18
2143
+ * hour: 18
2326
2144
  * })
2327
2145
  *
2328
2146
  * console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
@@ -3054,7 +2872,7 @@ export const addDuration: {
3054
2872
  * )
3055
2873
  * ```
3056
2874
  */
3057
- (duration: Duration.DurationInput): <A extends DateTime>(self: A) => A
2875
+ (duration: Duration.Input): <A extends DateTime>(self: A) => A
3058
2876
  // =============================================================================
3059
2877
  // math
3060
2878
  // =============================================================================
@@ -3074,7 +2892,7 @@ export const addDuration: {
3074
2892
  * )
3075
2893
  * ```
3076
2894
  */
3077
- <A extends DateTime>(self: A, duration: Duration.DurationInput): A
2895
+ <A extends DateTime>(self: A, duration: Duration.Input): A
3078
2896
  } = Internal.addDuration
3079
2897
 
3080
2898
  /**
@@ -3108,7 +2926,7 @@ export const subtractDuration: {
3108
2926
  * )
3109
2927
  * ```
3110
2928
  */
3111
- (duration: Duration.DurationInput): <A extends DateTime>(self: A) => A
2929
+ (duration: Duration.Input): <A extends DateTime>(self: A) => A
3112
2930
  /**
3113
2931
  * Subtract the given `Duration` from a `DateTime`.
3114
2932
  *
@@ -3124,7 +2942,7 @@ export const subtractDuration: {
3124
2942
  * )
3125
2943
  * ```
3126
2944
  */
3127
- <A extends DateTime>(self: A, duration: Duration.DurationInput): A
2945
+ <A extends DateTime>(self: A, duration: Duration.Input): A
3128
2946
  } = Internal.subtractDuration
3129
2947
 
3130
2948
  /**
package/src/Duration.ts CHANGED
@@ -23,7 +23,7 @@ import { NodeInspectSymbol } from "./Inspectable.ts"
23
23
  import * as order from "./Order.ts"
24
24
  import type { Pipeable } from "./Pipeable.ts"
25
25
  import { pipeArguments } from "./Pipeable.ts"
26
- import { hasProperty, isBigInt, isNumber, isString } from "./Predicate.ts"
26
+ import { hasProperty, isNumber } from "./Predicate.ts"
27
27
  import * as Reducer from "./Reducer.ts"
28
28
  import * as UndefinedOr from "./UndefinedOr.ts"
29
29
 
@@ -90,54 +90,71 @@ export type Unit =
90
90
  * @since 2.0.0
91
91
  * @category models
92
92
  */
93
- export type DurationInput =
93
+ export type Input =
94
94
  | Duration
95
95
  | number // millis
96
96
  | bigint // nanos
97
97
  | readonly [seconds: number, nanos: number]
98
98
  | `${number} ${Unit}`
99
+ | DurationObject
100
+
101
+ /**
102
+ * An object with optional duration components that can be combined to create
103
+ * a Duration. All fields are optional and additive.
104
+ *
105
+ * Compatible with Temporal.Duration-like objects.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * import { Duration } from "effect"
110
+ *
111
+ * Duration.fromInputUnsafe({ seconds: 30 })
112
+ * Duration.fromInputUnsafe({ days: 1 })
113
+ * Duration.fromInputUnsafe({ seconds: 1, nanoseconds: 500 })
114
+ * ```
115
+ *
116
+ * @since 4.0.0
117
+ * @category models
118
+ */
119
+ export interface DurationObject {
120
+ readonly weeks?: number | undefined
121
+ readonly days?: number | undefined
122
+ readonly hours?: number | undefined
123
+ readonly minutes?: number | undefined
124
+ readonly seconds?: number | undefined
125
+ readonly milliseconds?: number | undefined
126
+ readonly microseconds?: number | undefined
127
+ readonly nanoseconds?: number | undefined
128
+ }
99
129
 
100
130
  const DURATION_REGEXP = /^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/
101
131
 
102
132
  /**
103
- * Decodes a `DurationInput` into a `Duration`.
133
+ * Decodes a `Duration.Input` into a `Duration`.
104
134
  *
105
- * If the input is not a valid `DurationInput`, it throws an error.
135
+ * If the input is not a valid `Duration.Input`, it throws an error.
106
136
  *
107
137
  * @example
108
138
  * ```ts
109
139
  * import { Duration } from "effect"
110
140
  *
111
- * const duration1 = Duration.fromDurationInputUnsafe(1000) // 1000 milliseconds
112
- * const duration2 = Duration.fromDurationInputUnsafe("5 seconds")
113
- * const duration3 = Duration.fromDurationInputUnsafe([2, 500_000_000]) // 2 seconds and 500ms
141
+ * const duration1 = Duration.fromInputUnsafe(1000) // 1000 milliseconds
142
+ * const duration2 = Duration.fromInputUnsafe("5 seconds")
143
+ * const duration3 = Duration.fromInputUnsafe([2, 500_000_000]) // 2 seconds and 500ms
114
144
  * ```
115
145
  *
116
146
  * @since 2.0.0
117
147
  * @category constructors
118
148
  */
119
- export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
120
- if (isDuration(input)) return input
121
- if (isNumber(input)) return millis(input)
122
- if (isBigInt(input)) return nanos(input)
123
- if (Array.isArray(input) && input.length === 2 && input.every(isNumber)) {
124
- if (Number.isNaN(input[0]) || Number.isNaN(input[1])) {
125
- return zero
126
- }
127
-
128
- if (input[0] === -Infinity || input[1] === -Infinity) {
129
- return negativeInfinity
130
- }
131
-
132
- if (input[0] === Infinity || input[1] === Infinity) {
133
- return infinity
134
- }
135
-
136
- return nanos(BigInt(Math.round(input[0] * 1_000_000_000)) + BigInt(Math.round(input[1])))
137
- }
138
- if (isString(input)) {
139
- const match = DURATION_REGEXP.exec(input)
140
- if (match) {
149
+ export const fromInputUnsafe = (input: Input): Duration => {
150
+ switch (typeof input) {
151
+ case "number":
152
+ return millis(input)
153
+ case "bigint":
154
+ return nanos(input)
155
+ case "string": {
156
+ const match = DURATION_REGEXP.exec(input)
157
+ if (!match) break
141
158
  const [_, valueStr, unit] = match
142
159
  const value = Number(valueStr)
143
160
  switch (unit) {
@@ -166,13 +183,51 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
166
183
  case "weeks":
167
184
  return weeks(value)
168
185
  }
186
+ break
187
+ }
188
+ case "object": {
189
+ if (input === null) break
190
+ if (TypeId in input) return input as Duration
191
+ if (Array.isArray(input)) {
192
+ if (input.length !== 2 || !input.every(isNumber)) {
193
+ return invalid(input)
194
+ }
195
+ if (Number.isNaN(input[0]) || Number.isNaN(input[1])) {
196
+ return zero
197
+ }
198
+ if (input[0] === -Infinity || input[1] === -Infinity) {
199
+ return negativeInfinity
200
+ }
201
+ if (input[0] === Infinity || input[1] === Infinity) {
202
+ return infinity
203
+ }
204
+ return make(BigInt(Math.round(input[0] * 1_000_000_000)) + BigInt(Math.round(input[1])))
205
+ }
206
+ const obj = input as DurationObject
207
+ let millis = 0
208
+ // we can use truthy checks here, because 0 can be ignored
209
+ if (obj.weeks) millis += obj.weeks * 604_800_000
210
+ if (obj.days) millis += obj.days * 86_400_000
211
+ if (obj.hours) millis += obj.hours * 3_600_000
212
+ if (obj.minutes) millis += obj.minutes * 60_000
213
+ if (obj.seconds) millis += obj.seconds * 1_000
214
+ if (obj.milliseconds) millis += obj.milliseconds
215
+ if (!obj.microseconds && !obj.nanoseconds) return make(millis)
216
+ let nanos = BigInt(millis) * bigint1e6
217
+ if (obj.microseconds) nanos += BigInt(obj.microseconds) * bigint1e3
218
+ if (obj.nanoseconds) nanos += BigInt(obj.nanoseconds)
219
+ return make(nanos)
169
220
  }
170
221
  }
171
- throw new Error(`Invalid DurationInput: ${input}`)
222
+ return invalid(input)
223
+ }
224
+
225
+ const invalid = (input: unknown): never => {
226
+ throw new Error(`Invalid Input: ${input}`)
172
227
  }
173
228
 
174
229
  /**
175
- * Safely decodes a `DurationInput` value into a `Duration`, returning
230
+ * Safely decodes a `Input` value into a `Duration`, returning
176
231
  * `undefined` if decoding fails.
177
232
  *
178
233
  * **Example**
@@ -180,16 +235,16 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
180
235
  * ```ts
181
236
  * import { Duration } from "effect"
182
237
  *
183
- * Duration.fromDurationInput(1000)?.pipe(Duration.toSeconds) // 1
238
+ * Duration.fromInput(1000)?.pipe(Duration.toSeconds) // 1
184
239
  *
185
- * Duration.fromDurationInput("invalid" as any) // undefined
240
+ * Duration.fromInput("invalid" as any) // undefined
186
241
  * ```
187
242
  *
188
243
  * @category constructors
189
244
  * @since 4.0.0
190
245
  */
191
- export const fromDurationInput: (u: DurationInput) => Duration | undefined = UndefinedOr.liftThrowable(
192
- fromDurationInputUnsafe
246
+ export const fromInput: (u: Input) => Duration | undefined = UndefinedOr.liftThrowable(
247
+ fromInputUnsafe
193
248
  )
194
249
 
195
250
  const zeroDurationValue: DurationValue = { _tag: "Millis", millis: 0 }
@@ -238,7 +293,7 @@ const DurationProto: Omit<Duration, "value"> = {
238
293
 
239
294
  const make = (input: number | bigint): Duration => {
240
295
  const duration = Object.create(DurationProto)
241
- if (isNumber(input)) {
296
+ if (typeof input === "number") {
242
297
  if (isNaN(input) || input === 0 || Object.is(input, -0)) {
243
298
  duration.value = zeroDurationValue
244
299
  } else if (!Number.isFinite(input)) {