effect 4.0.0-beta.4 → 4.0.0-beta.41

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 (1235) hide show
  1. package/dist/Array.d.ts +213 -385
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +149 -102
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +82 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +87 -38
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +32 -29
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +1 -1
  14. package/dist/Brand.d.ts.map +1 -1
  15. package/dist/Brand.js +1 -1
  16. package/dist/Brand.js.map +1 -1
  17. package/dist/Cache.d.ts +2 -2
  18. package/dist/Cache.d.ts.map +1 -1
  19. package/dist/Cache.js +6 -5
  20. package/dist/Cache.js.map +1 -1
  21. package/dist/Cause.d.ts +33 -2
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +19 -0
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +130 -35
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +96 -45
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +112 -304
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +56 -88
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Combiner.d.ts +280 -13
  34. package/dist/Combiner.d.ts.map +1 -1
  35. package/dist/Combiner.js +198 -7
  36. package/dist/Combiner.js.map +1 -1
  37. package/dist/Config.d.ts +169 -9
  38. package/dist/Config.d.ts.map +1 -1
  39. package/dist/Config.js +69 -11
  40. package/dist/Config.js.map +1 -1
  41. package/dist/ConfigProvider.d.ts +1 -1
  42. package/dist/Cron.d.ts +11 -7
  43. package/dist/Cron.d.ts.map +1 -1
  44. package/dist/Cron.js +120 -63
  45. package/dist/Cron.js.map +1 -1
  46. package/dist/Data.d.ts +535 -366
  47. package/dist/Data.d.ts.map +1 -1
  48. package/dist/Data.js +132 -79
  49. package/dist/Data.js.map +1 -1
  50. package/dist/DateTime.d.ts +72 -253
  51. package/dist/DateTime.d.ts.map +1 -1
  52. package/dist/DateTime.js +15 -60
  53. package/dist/DateTime.js.map +1 -1
  54. package/dist/Deferred.d.ts +7 -5
  55. package/dist/Deferred.d.ts.map +1 -1
  56. package/dist/Deferred.js +7 -5
  57. package/dist/Deferred.js.map +1 -1
  58. package/dist/Duration.d.ts +62 -32
  59. package/dist/Duration.d.ts.map +1 -1
  60. package/dist/Duration.js +108 -78
  61. package/dist/Duration.js.map +1 -1
  62. package/dist/Effect.d.ts +1225 -951
  63. package/dist/Effect.d.ts.map +1 -1
  64. package/dist/Effect.js +398 -338
  65. package/dist/Effect.js.map +1 -1
  66. package/dist/Encoding.d.ts +194 -0
  67. package/dist/Encoding.d.ts.map +1 -0
  68. package/dist/Encoding.js +352 -0
  69. package/dist/Encoding.js.map +1 -0
  70. package/dist/Equal.d.ts +276 -109
  71. package/dist/Equal.d.ts.map +1 -1
  72. package/dist/Equal.js +124 -48
  73. package/dist/Equal.js.map +1 -1
  74. package/dist/Equivalence.d.ts +60 -3
  75. package/dist/Equivalence.d.ts.map +1 -1
  76. package/dist/Equivalence.js +70 -13
  77. package/dist/Equivalence.js.map +1 -1
  78. package/dist/ErrorReporter.d.ts +374 -0
  79. package/dist/ErrorReporter.d.ts.map +1 -0
  80. package/dist/ErrorReporter.js +245 -0
  81. package/dist/ErrorReporter.js.map +1 -0
  82. package/dist/Exit.d.ts +24 -12
  83. package/dist/Exit.d.ts.map +1 -1
  84. package/dist/Exit.js +8 -4
  85. package/dist/Exit.js.map +1 -1
  86. package/dist/Fiber.d.ts +5 -3
  87. package/dist/Fiber.d.ts.map +1 -1
  88. package/dist/Fiber.js.map +1 -1
  89. package/dist/FiberHandle.d.ts +9 -8
  90. package/dist/FiberHandle.d.ts.map +1 -1
  91. package/dist/FiberHandle.js +8 -7
  92. package/dist/FiberHandle.js.map +1 -1
  93. package/dist/FiberMap.d.ts +20 -19
  94. package/dist/FiberMap.d.ts.map +1 -1
  95. package/dist/FiberMap.js +6 -6
  96. package/dist/FiberMap.js.map +1 -1
  97. package/dist/FileSystem.d.ts +18 -17
  98. package/dist/FileSystem.d.ts.map +1 -1
  99. package/dist/FileSystem.js +17 -13
  100. package/dist/FileSystem.js.map +1 -1
  101. package/dist/Filter.d.ts +34 -38
  102. package/dist/Filter.d.ts.map +1 -1
  103. package/dist/Filter.js +15 -13
  104. package/dist/Filter.js.map +1 -1
  105. package/dist/Formatter.d.ts +131 -47
  106. package/dist/Formatter.d.ts.map +1 -1
  107. package/dist/Formatter.js +229 -51
  108. package/dist/Formatter.js.map +1 -1
  109. package/dist/Function.d.ts +1 -9
  110. package/dist/Function.d.ts.map +1 -1
  111. package/dist/Function.js +2 -10
  112. package/dist/Function.js.map +1 -1
  113. package/dist/Graph.d.ts +65 -65
  114. package/dist/Graph.d.ts.map +1 -1
  115. package/dist/Graph.js +60 -62
  116. package/dist/Graph.js.map +1 -1
  117. package/dist/HashMap.d.ts +26 -19
  118. package/dist/HashMap.d.ts.map +1 -1
  119. package/dist/HashMap.js +7 -5
  120. package/dist/HashMap.js.map +1 -1
  121. package/dist/Iterable.d.ts +50 -50
  122. package/dist/Iterable.d.ts.map +1 -1
  123. package/dist/Iterable.js +106 -34
  124. package/dist/Iterable.js.map +1 -1
  125. package/dist/JsonSchema.d.ts +299 -10
  126. package/dist/JsonSchema.d.ts.map +1 -1
  127. package/dist/JsonSchema.js +323 -4
  128. package/dist/JsonSchema.js.map +1 -1
  129. package/dist/Latch.d.ts +175 -0
  130. package/dist/Latch.d.ts.map +1 -0
  131. package/dist/Latch.js +130 -0
  132. package/dist/Latch.js.map +1 -0
  133. package/dist/Layer.d.ts +306 -129
  134. package/dist/Layer.d.ts.map +1 -1
  135. package/dist/Layer.js +93 -48
  136. package/dist/Layer.js.map +1 -1
  137. package/dist/LayerMap.d.ts +9 -8
  138. package/dist/LayerMap.d.ts.map +1 -1
  139. package/dist/LayerMap.js +3 -3
  140. package/dist/LayerMap.js.map +1 -1
  141. package/dist/LogLevel.d.ts +32 -0
  142. package/dist/LogLevel.d.ts.map +1 -1
  143. package/dist/LogLevel.js +28 -100
  144. package/dist/LogLevel.js.map +1 -1
  145. package/dist/Logger.d.ts +29 -95
  146. package/dist/Logger.d.ts.map +1 -1
  147. package/dist/Logger.js +2 -3
  148. package/dist/Logger.js.map +1 -1
  149. package/dist/ManagedRuntime.d.ts +2 -2
  150. package/dist/ManagedRuntime.d.ts.map +1 -1
  151. package/dist/ManagedRuntime.js +21 -9
  152. package/dist/ManagedRuntime.js.map +1 -1
  153. package/dist/Metric.d.ts +4 -6
  154. package/dist/Metric.d.ts.map +1 -1
  155. package/dist/Metric.js +3 -5
  156. package/dist/Metric.js.map +1 -1
  157. package/dist/MutableHashMap.d.ts +7 -0
  158. package/dist/MutableHashMap.d.ts.map +1 -1
  159. package/dist/MutableHashMap.js +8 -0
  160. package/dist/MutableHashMap.js.map +1 -1
  161. package/dist/MutableHashSet.d.ts +7 -0
  162. package/dist/MutableHashSet.d.ts.map +1 -1
  163. package/dist/MutableHashSet.js +8 -0
  164. package/dist/MutableHashSet.js.map +1 -1
  165. package/dist/Newtype.d.ts +291 -0
  166. package/dist/Newtype.d.ts.map +1 -0
  167. package/dist/Newtype.js +161 -0
  168. package/dist/Newtype.js.map +1 -0
  169. package/dist/Number.d.ts +74 -18
  170. package/dist/Number.d.ts.map +1 -1
  171. package/dist/Number.js +34 -15
  172. package/dist/Number.js.map +1 -1
  173. package/dist/Optic.d.ts +947 -18
  174. package/dist/Optic.d.ts.map +1 -1
  175. package/dist/Optic.js +454 -5
  176. package/dist/Optic.js.map +1 -1
  177. package/dist/Option.d.ts +25 -16
  178. package/dist/Option.d.ts.map +1 -1
  179. package/dist/Option.js +15 -9
  180. package/dist/Option.js.map +1 -1
  181. package/dist/Order.d.ts +6 -1
  182. package/dist/Order.d.ts.map +1 -1
  183. package/dist/Order.js +19 -14
  184. package/dist/Order.js.map +1 -1
  185. package/dist/PartitionedSemaphore.d.ts +146 -15
  186. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  187. package/dist/PartitionedSemaphore.js +174 -61
  188. package/dist/PartitionedSemaphore.js.map +1 -1
  189. package/dist/Pipeable.d.ts +17 -0
  190. package/dist/Pipeable.d.ts.map +1 -1
  191. package/dist/Pipeable.js +19 -1
  192. package/dist/Pipeable.js.map +1 -1
  193. package/dist/PlatformError.d.ts +10 -9
  194. package/dist/PlatformError.d.ts.map +1 -1
  195. package/dist/PlatformError.js +2 -2
  196. package/dist/PlatformError.js.map +1 -1
  197. package/dist/Pool.d.ts +6 -4
  198. package/dist/Pool.d.ts.map +1 -1
  199. package/dist/Pool.js +7 -5
  200. package/dist/Pool.js.map +1 -1
  201. package/dist/PubSub.d.ts +8 -6
  202. package/dist/PubSub.d.ts.map +1 -1
  203. package/dist/PubSub.js +18 -10
  204. package/dist/PubSub.js.map +1 -1
  205. package/dist/Pull.d.ts.map +1 -1
  206. package/dist/Pull.js +1 -1
  207. package/dist/Pull.js.map +1 -1
  208. package/dist/Queue.d.ts +9 -6
  209. package/dist/Queue.d.ts.map +1 -1
  210. package/dist/Queue.js +7 -5
  211. package/dist/Queue.js.map +1 -1
  212. package/dist/Random.d.ts +35 -1
  213. package/dist/Random.d.ts.map +1 -1
  214. package/dist/Random.js +46 -12
  215. package/dist/Random.js.map +1 -1
  216. package/dist/RcMap.d.ts +2 -2
  217. package/dist/RcMap.d.ts.map +1 -1
  218. package/dist/RcMap.js +1 -1
  219. package/dist/RcMap.js.map +1 -1
  220. package/dist/RcRef.d.ts +1 -1
  221. package/dist/RcRef.d.ts.map +1 -1
  222. package/dist/Record.d.ts +63 -160
  223. package/dist/Record.d.ts.map +1 -1
  224. package/dist/Record.js +37 -56
  225. package/dist/Record.js.map +1 -1
  226. package/dist/Reducer.d.ts +166 -7
  227. package/dist/Reducer.d.ts.map +1 -1
  228. package/dist/Reducer.js +135 -1
  229. package/dist/Reducer.js.map +1 -1
  230. package/dist/References.d.ts +242 -226
  231. package/dist/References.d.ts.map +1 -1
  232. package/dist/References.js +240 -247
  233. package/dist/References.js.map +1 -1
  234. package/dist/Request.d.ts +1 -1
  235. package/dist/Request.d.ts.map +1 -1
  236. package/dist/Request.js +2 -1
  237. package/dist/Request.js.map +1 -1
  238. package/dist/RequestResolver.d.ts +25 -45
  239. package/dist/RequestResolver.d.ts.map +1 -1
  240. package/dist/RequestResolver.js +10 -30
  241. package/dist/RequestResolver.js.map +1 -1
  242. package/dist/Resource.d.ts.map +1 -1
  243. package/dist/Resource.js +2 -1
  244. package/dist/Resource.js.map +1 -1
  245. package/dist/Result.d.ts +1 -1
  246. package/dist/Result.d.ts.map +1 -1
  247. package/dist/Result.js +1 -2
  248. package/dist/Result.js.map +1 -1
  249. package/dist/Runtime.d.ts +66 -0
  250. package/dist/Runtime.d.ts.map +1 -1
  251. package/dist/Runtime.js +79 -6
  252. package/dist/Runtime.js.map +1 -1
  253. package/dist/Schedule.d.ts +174 -291
  254. package/dist/Schedule.d.ts.map +1 -1
  255. package/dist/Schedule.js +160 -134
  256. package/dist/Schedule.js.map +1 -1
  257. package/dist/Scheduler.d.ts +34 -123
  258. package/dist/Scheduler.d.ts.map +1 -1
  259. package/dist/Scheduler.js +31 -123
  260. package/dist/Scheduler.js.map +1 -1
  261. package/dist/Schema.d.ts +2722 -247
  262. package/dist/Schema.d.ts.map +1 -1
  263. package/dist/Schema.js +1947 -224
  264. package/dist/Schema.js.map +1 -1
  265. package/dist/SchemaAST.d.ts +7 -2
  266. package/dist/SchemaAST.d.ts.map +1 -1
  267. package/dist/SchemaAST.js +131 -25
  268. package/dist/SchemaAST.js.map +1 -1
  269. package/dist/SchemaGetter.d.ts +5 -5
  270. package/dist/SchemaGetter.d.ts.map +1 -1
  271. package/dist/SchemaGetter.js +18 -18
  272. package/dist/SchemaGetter.js.map +1 -1
  273. package/dist/SchemaParser.d.ts +44 -54
  274. package/dist/SchemaParser.d.ts.map +1 -1
  275. package/dist/SchemaParser.js +55 -2
  276. package/dist/SchemaParser.js.map +1 -1
  277. package/dist/SchemaRepresentation.d.ts +46 -45
  278. package/dist/SchemaRepresentation.d.ts.map +1 -1
  279. package/dist/SchemaRepresentation.js +49 -24
  280. package/dist/SchemaRepresentation.js.map +1 -1
  281. package/dist/SchemaTransformation.d.ts +107 -3
  282. package/dist/SchemaTransformation.d.ts.map +1 -1
  283. package/dist/SchemaTransformation.js +173 -13
  284. package/dist/SchemaTransformation.js.map +1 -1
  285. package/dist/ScopedCache.d.ts +2 -2
  286. package/dist/ScopedCache.d.ts.map +1 -1
  287. package/dist/ScopedCache.js +1 -1
  288. package/dist/ScopedCache.js.map +1 -1
  289. package/dist/Semaphore.d.ts +307 -0
  290. package/dist/Semaphore.d.ts.map +1 -0
  291. package/dist/Semaphore.js +222 -0
  292. package/dist/Semaphore.js.map +1 -0
  293. package/dist/ServiceMap.d.ts +76 -52
  294. package/dist/ServiceMap.d.ts.map +1 -1
  295. package/dist/ServiceMap.js +45 -29
  296. package/dist/ServiceMap.js.map +1 -1
  297. package/dist/Sink.d.ts +18 -15
  298. package/dist/Sink.d.ts.map +1 -1
  299. package/dist/Sink.js +53 -6
  300. package/dist/Sink.js.map +1 -1
  301. package/dist/Stdio.d.ts +16 -4
  302. package/dist/Stdio.d.ts.map +1 -1
  303. package/dist/Stdio.js +18 -0
  304. package/dist/Stdio.js.map +1 -1
  305. package/dist/Stream.d.ts +284 -431
  306. package/dist/Stream.d.ts.map +1 -1
  307. package/dist/Stream.js +189 -88
  308. package/dist/Stream.js.map +1 -1
  309. package/dist/String.d.ts +114 -47
  310. package/dist/String.d.ts.map +1 -1
  311. package/dist/String.js +29 -47
  312. package/dist/String.js.map +1 -1
  313. package/dist/Struct.d.ts +23 -7
  314. package/dist/Struct.d.ts.map +1 -1
  315. package/dist/Struct.js +22 -0
  316. package/dist/Struct.js.map +1 -1
  317. package/dist/SubscriptionRef.d.ts +3 -3
  318. package/dist/SubscriptionRef.d.ts.map +1 -1
  319. package/dist/SubscriptionRef.js +85 -117
  320. package/dist/SubscriptionRef.js.map +1 -1
  321. package/dist/SynchronizedRef.d.ts +2 -1
  322. package/dist/SynchronizedRef.d.ts.map +1 -1
  323. package/dist/SynchronizedRef.js +2 -1
  324. package/dist/SynchronizedRef.js.map +1 -1
  325. package/dist/Terminal.d.ts +2 -1
  326. package/dist/Terminal.d.ts.map +1 -1
  327. package/dist/Terminal.js.map +1 -1
  328. package/dist/Tracer.d.ts +5 -4
  329. package/dist/Tracer.d.ts.map +1 -1
  330. package/dist/Tracer.js +2 -1
  331. package/dist/Tracer.js.map +1 -1
  332. package/dist/Trie.d.ts +44 -31
  333. package/dist/Trie.d.ts.map +1 -1
  334. package/dist/Trie.js +13 -9
  335. package/dist/Trie.js.map +1 -1
  336. package/dist/TxChunk.d.ts +37 -37
  337. package/dist/TxChunk.d.ts.map +1 -1
  338. package/dist/TxChunk.js +3 -3
  339. package/dist/TxChunk.js.map +1 -1
  340. package/dist/TxDeferred.d.ts +328 -0
  341. package/dist/TxDeferred.d.ts.map +1 -0
  342. package/dist/TxDeferred.js +197 -0
  343. package/dist/TxDeferred.js.map +1 -0
  344. package/dist/TxHashMap.d.ts +159 -140
  345. package/dist/TxHashMap.d.ts.map +1 -1
  346. package/dist/TxHashMap.js +51 -44
  347. package/dist/TxHashMap.js.map +1 -1
  348. package/dist/TxHashSet.d.ts +36 -36
  349. package/dist/TxHashSet.d.ts.map +1 -1
  350. package/dist/TxHashSet.js +16 -15
  351. package/dist/TxHashSet.js.map +1 -1
  352. package/dist/TxPriorityQueue.d.ts +609 -0
  353. package/dist/TxPriorityQueue.d.ts.map +1 -0
  354. package/dist/TxPriorityQueue.js +416 -0
  355. package/dist/TxPriorityQueue.js.map +1 -0
  356. package/dist/TxPubSub.d.ts +585 -0
  357. package/dist/TxPubSub.d.ts.map +1 -0
  358. package/dist/TxPubSub.js +521 -0
  359. package/dist/TxPubSub.js.map +1 -0
  360. package/dist/TxQueue.d.ts +32 -32
  361. package/dist/TxQueue.d.ts.map +1 -1
  362. package/dist/TxQueue.js +26 -26
  363. package/dist/TxQueue.js.map +1 -1
  364. package/dist/TxReentrantLock.d.ts +523 -0
  365. package/dist/TxReentrantLock.d.ts.map +1 -0
  366. package/dist/TxReentrantLock.js +504 -0
  367. package/dist/TxReentrantLock.js.map +1 -0
  368. package/dist/TxRef.d.ts +34 -34
  369. package/dist/TxRef.d.ts.map +1 -1
  370. package/dist/TxRef.js +21 -14
  371. package/dist/TxRef.js.map +1 -1
  372. package/dist/TxSemaphore.d.ts +170 -10
  373. package/dist/TxSemaphore.d.ts.map +1 -1
  374. package/dist/TxSemaphore.js +23 -8
  375. package/dist/TxSemaphore.js.map +1 -1
  376. package/dist/TxSubscriptionRef.d.ts +508 -0
  377. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  378. package/dist/TxSubscriptionRef.js +293 -0
  379. package/dist/TxSubscriptionRef.js.map +1 -0
  380. package/dist/Types.d.ts +80 -23
  381. package/dist/Types.d.ts.map +1 -1
  382. package/dist/Utils.d.ts +137 -65
  383. package/dist/Utils.d.ts.map +1 -1
  384. package/dist/Utils.js +38 -66
  385. package/dist/Utils.js.map +1 -1
  386. package/dist/index.d.ts +806 -55
  387. package/dist/index.d.ts.map +1 -1
  388. package/dist/index.js +806 -55
  389. package/dist/index.js.map +1 -1
  390. package/dist/internal/core.js +11 -3
  391. package/dist/internal/core.js.map +1 -1
  392. package/dist/internal/dateTime.js +77 -71
  393. package/dist/internal/dateTime.js.map +1 -1
  394. package/dist/internal/effect.js +284 -201
  395. package/dist/internal/effect.js.map +1 -1
  396. package/dist/internal/hashMap.js +7 -5
  397. package/dist/internal/hashMap.js.map +1 -1
  398. package/dist/internal/option.js +6 -0
  399. package/dist/internal/option.js.map +1 -1
  400. package/dist/internal/random.d.ts +2 -0
  401. package/dist/internal/random.d.ts.map +1 -0
  402. package/dist/internal/random.js +13 -0
  403. package/dist/internal/random.js.map +1 -0
  404. package/dist/internal/rcRef.js +3 -2
  405. package/dist/internal/rcRef.js.map +1 -1
  406. package/dist/internal/references.d.ts +2 -0
  407. package/dist/internal/references.d.ts.map +1 -0
  408. package/dist/internal/references.js +51 -0
  409. package/dist/internal/references.js.map +1 -0
  410. package/dist/internal/request.js +2 -2
  411. package/dist/internal/request.js.map +1 -1
  412. package/dist/internal/schema/annotations.js +2 -0
  413. package/dist/internal/schema/annotations.js.map +1 -1
  414. package/dist/internal/schema/representation.js +75 -106
  415. package/dist/internal/schema/representation.js.map +1 -1
  416. package/dist/internal/schema/schema.js +1 -0
  417. package/dist/internal/schema/schema.js.map +1 -1
  418. package/dist/internal/schema/to-codec.js +7 -10
  419. package/dist/internal/schema/to-codec.js.map +1 -1
  420. package/dist/internal/trie.js +8 -7
  421. package/dist/internal/trie.js.map +1 -1
  422. package/dist/testing/TestClock.d.ts +8 -7
  423. package/dist/testing/TestClock.d.ts.map +1 -1
  424. package/dist/testing/TestClock.js +6 -4
  425. package/dist/testing/TestClock.js.map +1 -1
  426. package/dist/testing/TestSchema.d.ts +266 -32
  427. package/dist/testing/TestSchema.d.ts.map +1 -1
  428. package/dist/testing/TestSchema.js +296 -23
  429. package/dist/testing/TestSchema.js.map +1 -1
  430. package/dist/testing/index.d.ts +64 -1
  431. package/dist/testing/index.d.ts.map +1 -1
  432. package/dist/testing/index.js +64 -1
  433. package/dist/testing/index.js.map +1 -1
  434. package/dist/unstable/ai/AiError.d.ts +136 -54
  435. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  436. package/dist/unstable/ai/AiError.js +28 -23
  437. package/dist/unstable/ai/AiError.js.map +1 -1
  438. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  439. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
  440. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  441. package/dist/unstable/ai/Chat.d.ts +35 -7
  442. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  443. package/dist/unstable/ai/Chat.js +38 -44
  444. package/dist/unstable/ai/Chat.js.map +1 -1
  445. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  446. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  447. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  448. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  449. package/dist/unstable/ai/LanguageModel.d.ts +117 -47
  450. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  451. package/dist/unstable/ai/LanguageModel.js +258 -59
  452. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  453. package/dist/unstable/ai/McpSchema.d.ts +183 -88
  454. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  455. package/dist/unstable/ai/McpSchema.js +57 -12
  456. package/dist/unstable/ai/McpSchema.js.map +1 -1
  457. package/dist/unstable/ai/McpServer.d.ts +66 -13
  458. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  459. package/dist/unstable/ai/McpServer.js +193 -51
  460. package/dist/unstable/ai/McpServer.js.map +1 -1
  461. package/dist/unstable/ai/Model.d.ts +25 -7
  462. package/dist/unstable/ai/Model.d.ts.map +1 -1
  463. package/dist/unstable/ai/Model.js +22 -6
  464. package/dist/unstable/ai/Model.js.map +1 -1
  465. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  466. package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
  467. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  468. package/dist/unstable/ai/Prompt.d.ts +20 -20
  469. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  470. package/dist/unstable/ai/Response.d.ts +26 -26
  471. package/dist/unstable/ai/Response.d.ts.map +1 -1
  472. package/dist/unstable/ai/Response.js +1 -1
  473. package/dist/unstable/ai/Response.js.map +1 -1
  474. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  475. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  476. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  477. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  478. package/dist/unstable/ai/Tool.d.ts +34 -4
  479. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  480. package/dist/unstable/ai/Tool.js +28 -10
  481. package/dist/unstable/ai/Tool.js.map +1 -1
  482. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  483. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  484. package/dist/unstable/ai/Toolkit.js +4 -11
  485. package/dist/unstable/ai/Toolkit.js.map +1 -1
  486. package/dist/unstable/ai/index.d.ts +22 -1
  487. package/dist/unstable/ai/index.d.ts.map +1 -1
  488. package/dist/unstable/ai/index.js +22 -1
  489. package/dist/unstable/ai/index.js.map +1 -1
  490. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  491. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  492. package/dist/unstable/cli/Argument.d.ts +2 -4
  493. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  494. package/dist/unstable/cli/Argument.js +1 -3
  495. package/dist/unstable/cli/Argument.js.map +1 -1
  496. package/dist/unstable/cli/CliError.d.ts +27 -60
  497. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  498. package/dist/unstable/cli/CliError.js +25 -57
  499. package/dist/unstable/cli/CliError.js.map +1 -1
  500. package/dist/unstable/cli/CliOutput.d.ts +3 -2
  501. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  502. package/dist/unstable/cli/CliOutput.js +65 -10
  503. package/dist/unstable/cli/CliOutput.js.map +1 -1
  504. package/dist/unstable/cli/Command.d.ts +371 -58
  505. package/dist/unstable/cli/Command.d.ts.map +1 -1
  506. package/dist/unstable/cli/Command.js +328 -67
  507. package/dist/unstable/cli/Command.js.map +1 -1
  508. package/dist/unstable/cli/Completions.d.ts +16 -0
  509. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  510. package/dist/unstable/cli/Completions.js +23 -0
  511. package/dist/unstable/cli/Completions.js.map +1 -0
  512. package/dist/unstable/cli/Flag.d.ts +2 -2
  513. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  514. package/dist/unstable/cli/Flag.js +1 -1
  515. package/dist/unstable/cli/Flag.js.map +1 -1
  516. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  517. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  518. package/dist/unstable/cli/GlobalFlag.js +118 -0
  519. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  520. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  521. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  522. package/dist/unstable/cli/Param.d.ts +4 -4
  523. package/dist/unstable/cli/Param.d.ts.map +1 -1
  524. package/dist/unstable/cli/Param.js +7 -7
  525. package/dist/unstable/cli/Param.js.map +1 -1
  526. package/dist/unstable/cli/Primitive.d.ts +2 -2
  527. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  528. package/dist/unstable/cli/Primitive.js +1 -1
  529. package/dist/unstable/cli/Primitive.js.map +1 -1
  530. package/dist/unstable/cli/Prompt.js +259 -85
  531. package/dist/unstable/cli/Prompt.js.map +1 -1
  532. package/dist/unstable/cli/index.d.ts +8 -0
  533. package/dist/unstable/cli/index.d.ts.map +1 -1
  534. package/dist/unstable/cli/index.js +8 -0
  535. package/dist/unstable/cli/index.js.map +1 -1
  536. package/dist/unstable/cli/internal/command.d.ts +40 -14
  537. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  538. package/dist/unstable/cli/internal/command.js +72 -46
  539. package/dist/unstable/cli/internal/command.js.map +1 -1
  540. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +16 -4
  541. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  542. package/dist/unstable/cli/internal/config.js +42 -0
  543. package/dist/unstable/cli/internal/config.js.map +1 -1
  544. package/dist/unstable/cli/internal/help.d.ts +33 -0
  545. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  546. package/dist/unstable/cli/internal/help.js +125 -0
  547. package/dist/unstable/cli/internal/help.js.map +1 -0
  548. package/dist/unstable/cli/internal/parser.js +61 -43
  549. package/dist/unstable/cli/internal/parser.js.map +1 -1
  550. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  551. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  552. package/dist/unstable/cluster/ClusterCron.js +1 -1
  553. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  554. package/dist/unstable/cluster/ClusterSchema.d.ts +18 -0
  555. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  556. package/dist/unstable/cluster/ClusterSchema.js +21 -1
  557. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  558. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
  559. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  560. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -29
  561. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  562. package/dist/unstable/cluster/DeliverAt.js +1 -1
  563. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  564. package/dist/unstable/cluster/Entity.d.ts +10 -8
  565. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  566. package/dist/unstable/cluster/Entity.js +8 -7
  567. package/dist/unstable/cluster/Entity.js.map +1 -1
  568. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  569. package/dist/unstable/cluster/EntityAddress.js +1 -1
  570. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  571. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  572. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  573. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  574. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  575. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  576. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  577. package/dist/unstable/cluster/Message.d.ts +18 -15
  578. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  579. package/dist/unstable/cluster/Message.js +15 -7
  580. package/dist/unstable/cluster/Message.js.map +1 -1
  581. package/dist/unstable/cluster/MessageStorage.d.ts +33 -10
  582. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  583. package/dist/unstable/cluster/MessageStorage.js +36 -20
  584. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  585. package/dist/unstable/cluster/Reply.d.ts +8 -7
  586. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  587. package/dist/unstable/cluster/Reply.js +4 -3
  588. package/dist/unstable/cluster/Reply.js.map +1 -1
  589. package/dist/unstable/cluster/Runner.d.ts +1 -1
  590. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  591. package/dist/unstable/cluster/Runner.js +1 -1
  592. package/dist/unstable/cluster/Runner.js.map +1 -1
  593. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  594. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  595. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  596. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  597. package/dist/unstable/cluster/RunnerServer.js +9 -8
  598. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  599. package/dist/unstable/cluster/Runners.d.ts +2 -1
  600. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  601. package/dist/unstable/cluster/Runners.js +11 -9
  602. package/dist/unstable/cluster/Runners.js.map +1 -1
  603. package/dist/unstable/cluster/ShardId.js +3 -3
  604. package/dist/unstable/cluster/ShardId.js.map +1 -1
  605. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  606. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  607. package/dist/unstable/cluster/Sharding.js +51 -39
  608. package/dist/unstable/cluster/Sharding.js.map +1 -1
  609. package/dist/unstable/cluster/ShardingConfig.d.ts +26 -25
  610. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  611. package/dist/unstable/cluster/ShardingConfig.js +24 -24
  612. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  613. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  614. package/dist/unstable/cluster/SqlMessageStorage.js +25 -19
  615. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  616. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  617. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  618. package/dist/unstable/cluster/internal/entityManager.js +24 -18
  619. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  620. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  621. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  622. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  623. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  624. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  625. package/dist/unstable/devtools/DevToolsClient.js +4 -3
  626. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  627. package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
  628. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  629. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  630. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  631. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  632. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  633. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  634. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  635. package/dist/unstable/encoding/Sse.d.ts +4 -4
  636. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  637. package/dist/unstable/encoding/Sse.js +1 -1
  638. package/dist/unstable/encoding/Sse.js.map +1 -1
  639. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  640. package/dist/unstable/eventlog/EventJournal.js +2 -2
  641. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  642. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  643. package/dist/unstable/eventlog/EventLog.js +3 -2
  644. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  645. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  646. package/dist/unstable/eventlog/SqlEventLogJournal.js +2 -2
  647. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +1 -1
  648. package/dist/unstable/http/Cookies.d.ts +52 -7
  649. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  650. package/dist/unstable/http/Cookies.js +27 -6
  651. package/dist/unstable/http/Cookies.js.map +1 -1
  652. package/dist/unstable/http/Etag.d.ts.map +1 -1
  653. package/dist/unstable/http/Etag.js +5 -1
  654. package/dist/unstable/http/Etag.js.map +1 -1
  655. package/dist/unstable/http/Headers.d.ts +19 -2
  656. package/dist/unstable/http/Headers.d.ts.map +1 -1
  657. package/dist/unstable/http/Headers.js +40 -11
  658. package/dist/unstable/http/Headers.js.map +1 -1
  659. package/dist/unstable/http/HttpBody.d.ts +1 -1
  660. package/dist/unstable/http/HttpClient.d.ts +117 -15
  661. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  662. package/dist/unstable/http/HttpClient.js +191 -13
  663. package/dist/unstable/http/HttpClient.js.map +1 -1
  664. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  665. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  666. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  667. package/dist/unstable/http/HttpClientRequest.js +131 -21
  668. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  669. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  670. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  671. package/dist/unstable/http/HttpClientResponse.js +6 -1
  672. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  673. package/dist/unstable/http/HttpEffect.d.ts +7 -5
  674. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  675. package/dist/unstable/http/HttpEffect.js +46 -54
  676. package/dist/unstable/http/HttpEffect.js.map +1 -1
  677. package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -2
  678. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  679. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  680. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  681. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  682. package/dist/unstable/http/HttpMethod.js +3 -3
  683. package/dist/unstable/http/HttpMethod.js.map +1 -1
  684. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  685. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  686. package/dist/unstable/http/HttpMiddleware.js +24 -32
  687. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  688. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  689. package/dist/unstable/http/HttpPlatform.js +3 -2
  690. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  691. package/dist/unstable/http/HttpRouter.d.ts +2 -1
  692. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  693. package/dist/unstable/http/HttpRouter.js +7 -7
  694. package/dist/unstable/http/HttpRouter.js.map +1 -1
  695. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  696. package/dist/unstable/http/HttpServer.js +2 -2
  697. package/dist/unstable/http/HttpServer.js.map +1 -1
  698. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  699. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  700. package/dist/unstable/http/HttpServerError.js +39 -45
  701. package/dist/unstable/http/HttpServerError.js.map +1 -1
  702. package/dist/unstable/http/HttpServerRequest.d.ts +15 -3
  703. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  704. package/dist/unstable/http/HttpServerRequest.js +301 -7
  705. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  706. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  707. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  708. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  709. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  710. package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
  711. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  712. package/dist/unstable/http/HttpServerResponse.js +236 -1
  713. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  714. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  715. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  716. package/dist/unstable/http/HttpStaticServer.js +353 -0
  717. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  718. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  719. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  720. package/dist/unstable/http/HttpTraceContext.js +27 -15
  721. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  722. package/dist/unstable/http/Multipart.d.ts +3 -3
  723. package/dist/unstable/http/Url.d.ts +604 -0
  724. package/dist/unstable/http/Url.d.ts.map +1 -0
  725. package/dist/unstable/http/Url.js +256 -0
  726. package/dist/unstable/http/Url.js.map +1 -0
  727. package/dist/unstable/http/UrlParams.d.ts +19 -10
  728. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  729. package/dist/unstable/http/UrlParams.js +6 -7
  730. package/dist/unstable/http/UrlParams.js.map +1 -1
  731. package/dist/unstable/http/index.d.ts +8 -0
  732. package/dist/unstable/http/index.d.ts.map +1 -1
  733. package/dist/unstable/http/index.js +8 -0
  734. package/dist/unstable/http/index.js.map +1 -1
  735. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  736. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  737. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  738. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  739. package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
  740. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  741. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  742. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  743. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  744. package/dist/unstable/httpapi/HttpApiBuilder.js +40 -27
  745. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  746. package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
  747. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  748. package/dist/unstable/httpapi/HttpApiClient.js +78 -10
  749. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  750. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +207 -101
  751. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  752. package/dist/unstable/httpapi/HttpApiEndpoint.js +49 -43
  753. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  754. package/dist/unstable/httpapi/HttpApiError.d.ts +31 -14
  755. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  756. package/dist/unstable/httpapi/HttpApiError.js +125 -32
  757. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  758. package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
  759. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  760. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  761. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +46 -15
  762. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  763. package/dist/unstable/httpapi/HttpApiMiddleware.js +32 -3
  764. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  765. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  766. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  767. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  768. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -3
  769. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  770. package/dist/unstable/httpapi/HttpApiSchema.js +20 -2
  771. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  772. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  773. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  774. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  775. package/dist/unstable/httpapi/OpenApi.d.ts +1 -0
  776. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  777. package/dist/unstable/httpapi/OpenApi.js +34 -26
  778. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  779. package/dist/unstable/observability/Otlp.d.ts +12 -12
  780. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  781. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  782. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  783. package/dist/unstable/observability/OtlpExporter.js +3 -3
  784. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  785. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  786. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  787. package/dist/unstable/observability/OtlpLogger.js +7 -4
  788. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  789. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  790. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  791. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  792. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  793. package/dist/unstable/observability/OtlpTracer.js +7 -3
  794. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  795. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  796. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  797. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  798. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  799. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  800. package/dist/unstable/persistence/Persistable.js +1 -1
  801. package/dist/unstable/persistence/Persistable.js.map +1 -1
  802. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  803. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  804. package/dist/unstable/persistence/PersistedCache.js +2 -1
  805. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  806. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  807. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  808. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  809. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  810. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  811. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  812. package/dist/unstable/persistence/Persistence.js +2 -2
  813. package/dist/unstable/persistence/Persistence.js.map +1 -1
  814. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  815. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  816. package/dist/unstable/persistence/RateLimiter.js +1 -1
  817. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  818. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  819. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  820. package/dist/unstable/process/ChildProcess.js +1 -65
  821. package/dist/unstable/process/ChildProcess.js.map +1 -1
  822. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  823. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  824. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  825. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  826. package/dist/unstable/reactivity/Atom.d.ts +73 -12
  827. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  828. package/dist/unstable/reactivity/Atom.js +108 -25
  829. package/dist/unstable/reactivity/Atom.js.map +1 -1
  830. package/dist/unstable/reactivity/AtomHttpApi.d.ts +17 -15
  831. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  832. package/dist/unstable/reactivity/AtomHttpApi.js +45 -15
  833. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  834. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  835. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  836. package/dist/unstable/reactivity/AtomRegistry.js +54 -11
  837. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  838. package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
  839. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  840. package/dist/unstable/reactivity/AtomRpc.js +47 -21
  841. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  842. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  843. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  844. package/dist/unstable/reactivity/Hydration.js +76 -0
  845. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  846. package/dist/unstable/reactivity/index.d.ts +4 -0
  847. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  848. package/dist/unstable/reactivity/index.js +4 -0
  849. package/dist/unstable/reactivity/index.js.map +1 -1
  850. package/dist/unstable/rpc/Rpc.d.ts +6 -5
  851. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  852. package/dist/unstable/rpc/Rpc.js +4 -3
  853. package/dist/unstable/rpc/Rpc.js.map +1 -1
  854. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  855. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  856. package/dist/unstable/rpc/RpcClient.js +53 -43
  857. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  858. package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
  859. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  860. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  861. package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
  862. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  863. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  864. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  865. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  866. package/dist/unstable/rpc/RpcSchema.js +17 -2
  867. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  868. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  869. package/dist/unstable/rpc/RpcSerialization.js +39 -11
  870. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  871. package/dist/unstable/rpc/RpcServer.d.ts +6 -10
  872. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  873. package/dist/unstable/rpc/RpcServer.js +20 -19
  874. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  875. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  876. package/dist/unstable/rpc/Utils.js +3 -2
  877. package/dist/unstable/rpc/Utils.js.map +1 -1
  878. package/dist/unstable/schema/Model.d.ts +22 -1
  879. package/dist/unstable/schema/Model.d.ts.map +1 -1
  880. package/dist/unstable/schema/Model.js +15 -0
  881. package/dist/unstable/schema/Model.js.map +1 -1
  882. package/dist/unstable/schema/VariantSchema.d.ts +6 -6
  883. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  884. package/dist/unstable/schema/VariantSchema.js +6 -6
  885. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  886. package/dist/unstable/socket/Socket.d.ts +6 -5
  887. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  888. package/dist/unstable/socket/Socket.js +12 -9
  889. package/dist/unstable/socket/Socket.js.map +1 -1
  890. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  891. package/dist/unstable/sql/Migrator.d.ts +1 -1
  892. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  893. package/dist/unstable/sql/Migrator.js +2 -2
  894. package/dist/unstable/sql/Migrator.js.map +1 -1
  895. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  896. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  897. package/dist/unstable/sql/SqlClient.js +1 -1
  898. package/dist/unstable/sql/SqlClient.js.map +1 -1
  899. package/dist/unstable/sql/SqlError.d.ts +237 -17
  900. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  901. package/dist/unstable/sql/SqlError.js +260 -4
  902. package/dist/unstable/sql/SqlError.js.map +1 -1
  903. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  904. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  905. package/dist/unstable/sql/SqlModel.js +3 -3
  906. package/dist/unstable/sql/SqlModel.js.map +1 -1
  907. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  908. package/dist/unstable/sql/SqlResolver.js +17 -8
  909. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  910. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  911. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  912. package/dist/unstable/sql/SqlSchema.js +17 -7
  913. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  914. package/dist/unstable/sql/Statement.js +0 -1
  915. package/dist/unstable/sql/Statement.js.map +1 -1
  916. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  917. package/dist/unstable/workers/Worker.js +2 -1
  918. package/dist/unstable/workers/Worker.js.map +1 -1
  919. package/dist/unstable/workflow/Activity.d.ts +5 -0
  920. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  921. package/dist/unstable/workflow/Activity.js +13 -0
  922. package/dist/unstable/workflow/Activity.js.map +1 -1
  923. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  924. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  925. package/dist/unstable/workflow/DurableClock.js +3 -3
  926. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  927. package/dist/unstable/workflow/DurableDeferred.js +8 -8
  928. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  929. package/dist/unstable/workflow/Workflow.d.ts +5 -4
  930. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  931. package/dist/unstable/workflow/Workflow.js +1 -1
  932. package/dist/unstable/workflow/Workflow.js.map +1 -1
  933. package/dist/unstable/workflow/WorkflowEngine.d.ts +17 -5
  934. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  935. package/dist/unstable/workflow/WorkflowEngine.js +153 -12
  936. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  937. package/package.json +2 -2
  938. package/src/Array.ts +304 -447
  939. package/src/BigDecimal.ts +117 -66
  940. package/src/BigInt.ts +49 -41
  941. package/src/Brand.ts +1 -1
  942. package/src/Cache.ts +9 -8
  943. package/src/Cause.ts +37 -2
  944. package/src/Channel.ts +582 -154
  945. package/src/Chunk.ts +149 -331
  946. package/src/Combiner.ts +280 -13
  947. package/src/Config.ts +195 -25
  948. package/src/Cron.ts +155 -63
  949. package/src/Data.ts +539 -376
  950. package/src/DateTime.ts +75 -256
  951. package/src/Deferred.ts +8 -6
  952. package/src/Duration.ts +122 -66
  953. package/src/Effect.ts +1484 -1157
  954. package/src/Encoding.ts +879 -0
  955. package/src/Equal.ts +278 -111
  956. package/src/Equivalence.ts +114 -52
  957. package/src/ErrorReporter.ts +458 -0
  958. package/src/Exit.ts +24 -12
  959. package/src/Fiber.ts +12 -3
  960. package/src/FiberHandle.ts +10 -9
  961. package/src/FiberMap.ts +22 -22
  962. package/src/FileSystem.ts +34 -31
  963. package/src/Filter.ts +52 -63
  964. package/src/Formatter.ts +253 -51
  965. package/src/Function.ts +2 -10
  966. package/src/Graph.ts +131 -117
  967. package/src/HashMap.ts +26 -19
  968. package/src/Iterable.ts +117 -63
  969. package/src/JsonSchema.ts +383 -10
  970. package/src/Latch.ts +194 -0
  971. package/src/Layer.ts +394 -160
  972. package/src/LayerMap.ts +11 -9
  973. package/src/LogLevel.ts +37 -0
  974. package/src/Logger.ts +33 -100
  975. package/src/ManagedRuntime.ts +35 -22
  976. package/src/Metric.ts +6 -8
  977. package/src/MutableHashMap.ts +9 -0
  978. package/src/MutableHashSet.ts +9 -0
  979. package/src/Newtype.ts +308 -0
  980. package/src/Number.ts +85 -26
  981. package/src/Optic.ts +948 -19
  982. package/src/Option.ts +34 -24
  983. package/src/Order.ts +39 -32
  984. package/src/PartitionedSemaphore.ts +288 -56
  985. package/src/Pipeable.ts +32 -1
  986. package/src/PlatformError.ts +5 -5
  987. package/src/Pool.ts +13 -11
  988. package/src/PubSub.ts +30 -20
  989. package/src/Pull.ts +1 -1
  990. package/src/Queue.ts +11 -9
  991. package/src/Random.ts +51 -14
  992. package/src/RcMap.ts +5 -5
  993. package/src/RcRef.ts +1 -1
  994. package/src/Record.ts +94 -199
  995. package/src/Reducer.ts +166 -7
  996. package/src/References.ts +283 -287
  997. package/src/Request.ts +3 -2
  998. package/src/RequestResolver.ts +29 -49
  999. package/src/Resource.ts +2 -1
  1000. package/src/Result.ts +2 -4
  1001. package/src/Runtime.ts +102 -6
  1002. package/src/Schedule.ts +458 -449
  1003. package/src/Scheduler.ts +49 -126
  1004. package/src/Schema.ts +3298 -392
  1005. package/src/SchemaAST.ts +172 -33
  1006. package/src/SchemaGetter.ts +19 -21
  1007. package/src/SchemaParser.ts +92 -27
  1008. package/src/SchemaRepresentation.ts +51 -26
  1009. package/src/SchemaTransformation.ts +198 -13
  1010. package/src/ScopedCache.ts +3 -3
  1011. package/src/Semaphore.ts +444 -0
  1012. package/src/ServiceMap.ts +144 -97
  1013. package/src/Sink.ts +83 -28
  1014. package/src/Stdio.ts +27 -4
  1015. package/src/Stream.ts +687 -617
  1016. package/src/String.ts +122 -69
  1017. package/src/Struct.ts +33 -7
  1018. package/src/SubscriptionRef.ts +101 -120
  1019. package/src/SynchronizedRef.ts +3 -2
  1020. package/src/Terminal.ts +2 -1
  1021. package/src/Tracer.ts +6 -5
  1022. package/src/Trie.ts +44 -31
  1023. package/src/TxChunk.ts +72 -53
  1024. package/src/TxDeferred.ts +394 -0
  1025. package/src/TxHashMap.ts +409 -343
  1026. package/src/TxHashSet.ts +113 -118
  1027. package/src/TxPriorityQueue.ts +766 -0
  1028. package/src/TxPubSub.ts +789 -0
  1029. package/src/TxQueue.ts +241 -251
  1030. package/src/TxReentrantLock.ts +753 -0
  1031. package/src/TxRef.ts +50 -38
  1032. package/src/TxSemaphore.ts +217 -44
  1033. package/src/TxSubscriptionRef.ts +639 -0
  1034. package/src/Types.ts +73 -19
  1035. package/src/Utils.ts +137 -111
  1036. package/src/index.ts +816 -56
  1037. package/src/internal/core.ts +12 -5
  1038. package/src/internal/dateTime.ts +91 -96
  1039. package/src/internal/effect.ts +844 -432
  1040. package/src/internal/hashMap.ts +12 -10
  1041. package/src/internal/option.ts +7 -0
  1042. package/src/internal/random.ts +20 -0
  1043. package/src/internal/rcRef.ts +4 -3
  1044. package/src/internal/references.ts +72 -0
  1045. package/src/internal/request.ts +2 -2
  1046. package/src/internal/schema/annotations.ts +2 -0
  1047. package/src/internal/schema/representation.ts +73 -94
  1048. package/src/internal/schema/schema.ts +1 -0
  1049. package/src/internal/schema/to-codec.ts +7 -17
  1050. package/src/internal/trie.ts +21 -15
  1051. package/src/testing/TestClock.ts +13 -11
  1052. package/src/testing/TestSchema.ts +332 -35
  1053. package/src/testing/index.ts +64 -1
  1054. package/src/unstable/ai/AiError.ts +111 -54
  1055. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
  1056. package/src/unstable/ai/Chat.ts +134 -85
  1057. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1058. package/src/unstable/ai/LanguageModel.ts +683 -253
  1059. package/src/unstable/ai/McpSchema.ts +73 -13
  1060. package/src/unstable/ai/McpServer.ts +271 -61
  1061. package/src/unstable/ai/Model.ts +40 -9
  1062. package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
  1063. package/src/unstable/ai/Prompt.ts +37 -37
  1064. package/src/unstable/ai/Response.ts +25 -25
  1065. package/src/unstable/ai/ResponseIdTracker.ts +97 -0
  1066. package/src/unstable/ai/Tool.ts +42 -16
  1067. package/src/unstable/ai/Toolkit.ts +5 -14
  1068. package/src/unstable/ai/index.ts +24 -1
  1069. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  1070. package/src/unstable/cli/Argument.ts +2 -4
  1071. package/src/unstable/cli/CliError.ts +47 -59
  1072. package/src/unstable/cli/CliOutput.ts +85 -13
  1073. package/src/unstable/cli/Command.ts +801 -192
  1074. package/src/unstable/cli/Completions.ts +36 -0
  1075. package/src/unstable/cli/Flag.ts +2 -2
  1076. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1077. package/src/unstable/cli/HelpDoc.ts +91 -11
  1078. package/src/unstable/cli/Param.ts +15 -11
  1079. package/src/unstable/cli/Primitive.ts +2 -2
  1080. package/src/unstable/cli/Prompt.ts +265 -101
  1081. package/src/unstable/cli/index.ts +10 -0
  1082. package/src/unstable/cli/internal/command.ts +109 -63
  1083. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +10 -4
  1084. package/src/unstable/cli/internal/config.ts +49 -0
  1085. package/src/unstable/cli/internal/help.ts +171 -0
  1086. package/src/unstable/cli/internal/parser.ts +71 -63
  1087. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1088. package/src/unstable/cluster/ClusterSchema.ts +29 -1
  1089. package/src/unstable/cluster/ClusterWorkflowEngine.ts +62 -37
  1090. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1091. package/src/unstable/cluster/Entity.ts +25 -22
  1092. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1093. package/src/unstable/cluster/EntityResource.ts +4 -4
  1094. package/src/unstable/cluster/Envelope.ts +1 -1
  1095. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  1096. package/src/unstable/cluster/Message.ts +28 -15
  1097. package/src/unstable/cluster/MessageStorage.ts +66 -36
  1098. package/src/unstable/cluster/Reply.ts +7 -4
  1099. package/src/unstable/cluster/Runner.ts +1 -1
  1100. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1101. package/src/unstable/cluster/RunnerServer.ts +10 -13
  1102. package/src/unstable/cluster/Runners.ts +14 -12
  1103. package/src/unstable/cluster/ShardId.ts +2 -2
  1104. package/src/unstable/cluster/Sharding.ts +66 -49
  1105. package/src/unstable/cluster/ShardingConfig.ts +36 -37
  1106. package/src/unstable/cluster/SqlMessageStorage.ts +31 -19
  1107. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  1108. package/src/unstable/cluster/internal/entityManager.ts +50 -34
  1109. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  1110. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  1111. package/src/unstable/devtools/DevToolsClient.ts +23 -18
  1112. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1113. package/src/unstable/encoding/Ndjson.ts +17 -17
  1114. package/src/unstable/encoding/Sse.ts +3 -5
  1115. package/src/unstable/eventlog/EventJournal.ts +2 -2
  1116. package/src/unstable/eventlog/EventLog.ts +3 -2
  1117. package/src/unstable/eventlog/SqlEventLogJournal.ts +2 -2
  1118. package/src/unstable/http/Cookies.ts +94 -11
  1119. package/src/unstable/http/Etag.ts +5 -3
  1120. package/src/unstable/http/Headers.ts +68 -18
  1121. package/src/unstable/http/HttpClient.ts +376 -34
  1122. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1123. package/src/unstable/http/HttpClientResponse.ts +12 -6
  1124. package/src/unstable/http/HttpEffect.ts +54 -68
  1125. package/src/unstable/http/HttpIncomingMessage.ts +3 -2
  1126. package/src/unstable/http/HttpMethod.ts +16 -4
  1127. package/src/unstable/http/HttpMiddleware.ts +25 -39
  1128. package/src/unstable/http/HttpPlatform.ts +3 -2
  1129. package/src/unstable/http/HttpRouter.ts +9 -9
  1130. package/src/unstable/http/HttpServer.ts +3 -9
  1131. package/src/unstable/http/HttpServerError.ts +45 -47
  1132. package/src/unstable/http/HttpServerRequest.ts +407 -16
  1133. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1134. package/src/unstable/http/HttpServerResponse.ts +345 -7
  1135. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1136. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1137. package/src/unstable/http/Multipart.ts +2 -2
  1138. package/src/unstable/http/Url.ts +650 -0
  1139. package/src/unstable/http/UrlParams.ts +31 -19
  1140. package/src/unstable/http/index.ts +10 -0
  1141. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1142. package/src/unstable/httpapi/HttpApi.ts +6 -6
  1143. package/src/unstable/httpapi/HttpApiBuilder.ts +106 -41
  1144. package/src/unstable/httpapi/HttpApiClient.ts +180 -28
  1145. package/src/unstable/httpapi/HttpApiEndpoint.ts +216 -104
  1146. package/src/unstable/httpapi/HttpApiError.ts +108 -30
  1147. package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
  1148. package/src/unstable/httpapi/HttpApiMiddleware.ts +83 -22
  1149. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  1150. package/src/unstable/httpapi/HttpApiSchema.ts +21 -3
  1151. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  1152. package/src/unstable/httpapi/OpenApi.ts +44 -29
  1153. package/src/unstable/observability/Otlp.ts +12 -12
  1154. package/src/unstable/observability/OtlpExporter.ts +8 -5
  1155. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1156. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  1157. package/src/unstable/observability/OtlpTracer.ts +12 -8
  1158. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  1159. package/src/unstable/persistence/Persistable.ts +3 -3
  1160. package/src/unstable/persistence/PersistedCache.ts +20 -9
  1161. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  1162. package/src/unstable/persistence/Persistence.ts +3 -3
  1163. package/src/unstable/persistence/RateLimiter.ts +4 -4
  1164. package/src/unstable/process/ChildProcess.ts +6 -208
  1165. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  1166. package/src/unstable/reactivity/Atom.ts +212 -54
  1167. package/src/unstable/reactivity/AtomHttpApi.ts +81 -41
  1168. package/src/unstable/reactivity/AtomRegistry.ts +66 -12
  1169. package/src/unstable/reactivity/AtomRpc.ts +51 -20
  1170. package/src/unstable/reactivity/Hydration.ts +112 -0
  1171. package/src/unstable/reactivity/index.ts +5 -0
  1172. package/src/unstable/rpc/Rpc.ts +12 -12
  1173. package/src/unstable/rpc/RpcClient.ts +67 -96
  1174. package/src/unstable/rpc/RpcGroup.ts +7 -7
  1175. package/src/unstable/rpc/RpcMiddleware.ts +15 -9
  1176. package/src/unstable/rpc/RpcSchema.ts +23 -5
  1177. package/src/unstable/rpc/RpcSerialization.ts +49 -11
  1178. package/src/unstable/rpc/RpcServer.ts +31 -35
  1179. package/src/unstable/rpc/Utils.ts +3 -2
  1180. package/src/unstable/schema/Model.ts +31 -0
  1181. package/src/unstable/schema/VariantSchema.ts +10 -10
  1182. package/src/unstable/socket/Socket.ts +31 -27
  1183. package/src/unstable/sql/Migrator.ts +7 -5
  1184. package/src/unstable/sql/SqlClient.ts +6 -4
  1185. package/src/unstable/sql/SqlError.ts +365 -11
  1186. package/src/unstable/sql/SqlModel.ts +5 -5
  1187. package/src/unstable/sql/SqlResolver.ts +17 -7
  1188. package/src/unstable/sql/SqlSchema.ts +42 -26
  1189. package/src/unstable/sql/Statement.ts +0 -1
  1190. package/src/unstable/workers/Worker.ts +2 -1
  1191. package/src/unstable/workflow/Activity.ts +23 -0
  1192. package/src/unstable/workflow/DurableClock.ts +8 -8
  1193. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  1194. package/src/unstable/workflow/Workflow.ts +7 -3
  1195. package/src/unstable/workflow/WorkflowEngine.ts +211 -19
  1196. package/dist/NullOr.d.ts +0 -149
  1197. package/dist/NullOr.d.ts.map +0 -1
  1198. package/dist/NullOr.js +0 -152
  1199. package/dist/NullOr.js.map +0 -1
  1200. package/dist/encoding/Base64.d.ts +0 -67
  1201. package/dist/encoding/Base64.d.ts.map +0 -1
  1202. package/dist/encoding/Base64.js +0 -146
  1203. package/dist/encoding/Base64.js.map +0 -1
  1204. package/dist/encoding/Base64Url.d.ts +0 -60
  1205. package/dist/encoding/Base64Url.d.ts.map +0 -1
  1206. package/dist/encoding/Base64Url.js +0 -89
  1207. package/dist/encoding/Base64Url.js.map +0 -1
  1208. package/dist/encoding/EncodingError.d.ts +0 -31
  1209. package/dist/encoding/EncodingError.d.ts.map +0 -1
  1210. package/dist/encoding/EncodingError.js +0 -22
  1211. package/dist/encoding/EncodingError.js.map +0 -1
  1212. package/dist/encoding/Hex.d.ts +0 -61
  1213. package/dist/encoding/Hex.d.ts.map +0 -1
  1214. package/dist/encoding/Hex.js +0 -115
  1215. package/dist/encoding/Hex.js.map +0 -1
  1216. package/dist/encoding/index.d.ts +0 -26
  1217. package/dist/encoding/index.d.ts.map +0 -1
  1218. package/dist/encoding/index.js +0 -27
  1219. package/dist/encoding/index.js.map +0 -1
  1220. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1221. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1222. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1223. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1224. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1225. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1226. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1227. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1228. package/src/NullOr.ts +0 -204
  1229. package/src/encoding/Base64.ts +0 -366
  1230. package/src/encoding/Base64Url.ts +0 -104
  1231. package/src/encoding/EncodingError.ts +0 -35
  1232. package/src/encoding/Hex.ts +0 -390
  1233. package/src/encoding/index.ts +0 -31
  1234. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1235. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/dist/Record.js CHANGED
@@ -226,7 +226,7 @@ export const has = /*#__PURE__*/dual(2, (self, key) => Object.hasOwn(self, key))
226
226
  export const get = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? Option.some(self[key]) : Option.none());
227
227
  /**
228
228
  * Apply a function to the element at the specified key, creating a new record,
229
- * or return `undefined` if the key doesn't exist.
229
+ * or return `Option.none()` if the key doesn't exist.
230
230
  *
231
231
  * @example
232
232
  * ```ts
@@ -236,19 +236,19 @@ export const get = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? Option.s
236
236
  *
237
237
  * const input: Record<string, number> = { a: 3 }
238
238
  *
239
- * Record.modify(input, "a", f) // { a: 6 }
240
- * Record.modify(input, "b", f) // undefined
239
+ * Record.modify(input, "a", f) // Option.some({ a: 6 })
240
+ * Record.modify(input, "b", f) // Option.none()
241
241
  * ```
242
242
  *
243
243
  * @category utils
244
244
  * @since 2.0.0
245
245
  */
246
246
  export const modify = /*#__PURE__*/dual(3, (self, key, f) => {
247
- if (!has(self, key)) return undefined;
248
- return {
247
+ if (!has(self, key)) return Option.none();
248
+ return Option.some({
249
249
  ...self,
250
250
  [key]: f(self[key])
251
- };
251
+ });
252
252
  });
253
253
  /**
254
254
  * Replaces a value in the record with the new value passed as parameter.
@@ -257,8 +257,8 @@ export const modify = /*#__PURE__*/dual(3, (self, key, f) => {
257
257
  * ```ts
258
258
  * import { Record } from "effect"
259
259
  *
260
- * Record.replace({ a: 1, b: 2, c: 3 }, "a", 10) // { a: 10, b: 2, c: 3 }
261
- * Record.replace(Record.empty<string>(), "a", 10) // undefined
260
+ * Record.replace({ a: 1, b: 2, c: 3 }, "a", 10) // Option.some({ a: 10, b: 2, c: 3 })
261
+ * Record.replace(Record.empty<string>(), "a", 10) // Option.none()
262
262
  * ```
263
263
  *
264
264
  * @category utils
@@ -266,8 +266,8 @@ export const modify = /*#__PURE__*/dual(3, (self, key, f) => {
266
266
  */
267
267
  export const replace = /*#__PURE__*/dual(3, (self, key, b) => modify(self, key, () => b));
268
268
  /**
269
- * If the given key exists in the record, returns a new record with the key removed,
270
- * otherwise returns `undefined`.
269
+ * If the given key exists in the record, returns a new record with the key removed.
270
+ * If the key does not exist, returns a shallow copy of the original record.
271
271
  *
272
272
  * @example
273
273
  * ```ts
@@ -295,7 +295,7 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => {
295
295
  /**
296
296
  * Retrieves the value of the property with the given `key` from a record and returns an `Option`
297
297
  * of a tuple with the value and the record with the removed property.
298
- * If the key is not present, returns `undefined`.
298
+ * If the key is not present, returns `Option.none()`.
299
299
  *
300
300
  * @example
301
301
  * ```ts
@@ -303,14 +303,14 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => {
303
303
  *
304
304
  * const input: Record<string, number> = { a: 1, b: 2 }
305
305
  *
306
- * Record.pop(input, "a") // [1, { b: 2 }]
307
- * Record.pop(input, "c") // undefined
306
+ * Record.pop(input, "a") // Option.some([1, { b: 2 }])
307
+ * Record.pop(input, "c") // Option.none()
308
308
  * ```
309
309
  *
310
310
  * @category utils
311
311
  * @since 2.0.0
312
312
  */
313
- export const pop = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? [self[key], remove(self, key)] : undefined);
313
+ export const pop = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? Option.some([self[key], remove(self, key)]) : Option.none());
314
314
  /**
315
315
  * Maps a record into another record by applying a transformation function to each of its values.
316
316
  *
@@ -391,16 +391,16 @@ export const mapEntries = /*#__PURE__*/dual(2, (self, f) => {
391
391
  return out;
392
392
  });
393
393
  /**
394
- * Transforms a record into a record by applying the function `f` to each key and value in the original record.
395
- * If the function returns `Some`, the key-value pair is included in the output record.
394
+ * Transforms a record by applying the function `f` to each key and value in the original record.
395
+ * If the function succeeds, the key-value pair is included in the output record.
396
396
  *
397
397
  * @example
398
398
  * ```ts
399
- * import { Option, Record } from "effect"
399
+ * import { Record, Result } from "effect"
400
400
  * import * as assert from "node:assert"
401
401
  *
402
402
  * const x = { a: 1, b: 2, c: 3 }
403
- * const f = (a: number, key: string) => a > 2 ? Option.some(a * 2) : Option.none()
403
+ * const f = (a: number, key: string) => a > 2 ? Result.succeed(a * 2) : Result.failVoid
404
404
  * assert.deepStrictEqual(Record.filterMap(x, f), { c: 6 })
405
405
  * ```
406
406
  *
@@ -410,9 +410,9 @@ export const mapEntries = /*#__PURE__*/dual(2, (self, f) => {
410
410
  export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
411
411
  const out = empty();
412
412
  for (const key of keys(self)) {
413
- const o = f(self[key], key);
414
- if (Option.isSome(o)) {
415
- out[key] = o.value;
413
+ const result = f(self[key], key);
414
+ if (R.isSuccess(result)) {
415
+ out[key] = result.success;
416
416
  }
417
417
  }
418
418
  return out;
@@ -458,7 +458,16 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => {
458
458
  * @category filtering
459
459
  * @since 2.0.0
460
460
  */
461
- export const getSomes = /*#__PURE__*/filterMap(identity);
461
+ export const getSomes = self => {
462
+ const out = empty();
463
+ for (const key of keys(self)) {
464
+ const option = self[key];
465
+ if (Option.isSome(option)) {
466
+ out[key] = option.value;
467
+ }
468
+ }
469
+ return out;
470
+ };
462
471
  /**
463
472
  * Given a record with `Result` values, returns a new record containing only the `Err` values, preserving the original keys.
464
473
  *
@@ -522,7 +531,7 @@ export const getSuccesses = self => {
522
531
  return out;
523
532
  };
524
533
  /**
525
- * Partitions the elements of a record into two groups: those that match a predicate, and those that don't.
534
+ * Partitions the elements of a record into two groups: those that match a filter, and those that don't.
526
535
  *
527
536
  * @example
528
537
  * ```ts
@@ -531,13 +540,13 @@ export const getSuccesses = self => {
531
540
  *
532
541
  * const x = { a: 1, b: 2, c: 3 }
533
542
  * const f = (n: number) => (n % 2 === 0 ? Result.succeed(n) : Result.fail(n))
534
- * assert.deepStrictEqual(Record.partitionMap(x, f), [{ a: 1, c: 3 }, { b: 2 }])
543
+ * assert.deepStrictEqual(Record.partition(x, f), [{ a: 1, c: 3 }, { b: 2 }])
535
544
  * ```
536
545
  *
537
546
  * @category filtering
538
547
  * @since 2.0.0
539
548
  */
540
- export const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
549
+ export const partition = /*#__PURE__*/dual(2, (self, f) => {
541
550
  const left = empty();
542
551
  const right = empty();
543
552
  for (const key of keys(self)) {
@@ -568,36 +577,7 @@ export const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
568
577
  * @category filtering
569
578
  * @since 2.0.0
570
579
  */
571
- export const separate = /*#__PURE__*/partitionMap(identity);
572
- /**
573
- * Partitions a record into two separate records based on the result of a predicate function.
574
- *
575
- * @example
576
- * ```ts
577
- * import { Record } from "effect"
578
- * import * as assert from "node:assert"
579
- *
580
- * assert.deepStrictEqual(
581
- * Record.partition({ a: 1, b: 3 }, (n) => n > 2),
582
- * [{ a: 1 }, { b: 3 }]
583
- * )
584
- * ```
585
- *
586
- * @category filtering
587
- * @since 2.0.0
588
- */
589
- export const partition = /*#__PURE__*/dual(2, (self, predicate) => {
590
- const left = empty();
591
- const right = empty();
592
- for (const key of keys(self)) {
593
- if (predicate(self[key], key)) {
594
- right[key] = self[key];
595
- } else {
596
- left[key] = self[key];
597
- }
598
- }
599
- return [left, right];
600
- });
580
+ export const separate = /*#__PURE__*/partition(identity);
601
581
  /**
602
582
  * Retrieve the keys of a given record as an array.
603
583
  *
@@ -973,8 +953,9 @@ export const findFirst = /*#__PURE__*/dual(2, (self, f) => {
973
953
  for (let i = 0; i < k.length; i++) {
974
954
  const key = k[i];
975
955
  if (f(self[key], key)) {
976
- return [key, self[key]];
956
+ return Option.some([key, self[key]]);
977
957
  }
978
958
  }
959
+ return Option.none();
979
960
  });
980
961
  //# sourceMappingURL=Record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Record.js","names":["Equal","dual","identity","Option","Reducer","R","empty","isEmptyRecord","self","Object","keys","length","isEmptyReadonlyRecord","fromIterableWith","f","out","a","k","b","fromIterableBy","items","fromEntries","collect","key","push","toEntries","value","size","has","hasOwn","get","some","none","modify","undefined","replace","remove","pop","map","mapKeys","mapEntries","filterMap","o","isSome","filter","predicate","getSomes","getFailures","isFailure","failure","getSuccesses","isSuccess","success","partitionMap","left","right","e","separate","partition","values","_","set","isSubrecordBy","equivalence","that","isSubrecord","asEquivalence","reduce","zero","every","refinement","union","combine","intersection","difference","makeEquivalence","is","singleton","makeReducerUnion","combiner","make","makeReducerIntersection","findFirst","i"],"sources":["../src/Record.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Record.js","names":["Equal","dual","identity","Option","Reducer","R","empty","isEmptyRecord","self","Object","keys","length","isEmptyReadonlyRecord","fromIterableWith","f","out","a","k","b","fromIterableBy","items","fromEntries","collect","key","push","toEntries","value","size","has","hasOwn","get","some","none","modify","replace","remove","pop","map","mapKeys","mapEntries","filterMap","result","isSuccess","success","filter","predicate","getSomes","option","isSome","getFailures","isFailure","failure","getSuccesses","partition","left","right","e","separate","values","_","set","isSubrecordBy","equivalence","that","isSubrecord","asEquivalence","reduce","zero","every","refinement","union","combine","intersection","difference","makeEquivalence","is","singleton","makeReducerUnion","combiner","make","makeReducerIntersection","findFirst","i"],"sources":["../src/Record.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Reducer.d.ts CHANGED
@@ -1,15 +1,105 @@
1
1
  /**
2
+ * A module for reducing collections of values into a single result.
3
+ *
4
+ * A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
5
+ * `initialValue` (identity element) and a `combineAll` method that folds an
6
+ * entire collection. Think `Array.prototype.reduce`, but packaged as a
7
+ * reusable, composable value.
8
+ *
9
+ * ## Mental model
10
+ *
11
+ * - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
12
+ * `combineAll` method.
13
+ * - **initialValue** – the neutral/identity element. Combining any value with
14
+ * `initialValue` should return the original value unchanged (e.g. `0` for
15
+ * addition, `""` for string concatenation).
16
+ * - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
17
+ * When omitted from {@link make}, a default left-to-right fold is used.
18
+ * - **Purity** – all reducers produced by this module are pure; they never
19
+ * mutate their arguments.
20
+ * - **Composability** – reducers can be lifted into `Option`, `Struct`,
21
+ * `Tuple`, `Record`, and other container types via helpers in those modules.
22
+ * - **Subtype of Combiner** – every `Reducer` is also a valid
23
+ * `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
24
+ * expected.
25
+ *
26
+ * ## Common tasks
27
+ *
28
+ * - Create a reducer from a combine function and initial value → {@link make}
29
+ * - Swap argument order → {@link flip}
30
+ * - Combine two values without an initial value → use {@link Combiner.Combiner}
31
+ * instead
32
+ *
33
+ * ## Gotchas
34
+ *
35
+ * - `combineAll` on an empty iterable returns `initialValue`, not an error.
36
+ * - The default `combineAll` folds left-to-right. If your `combine` is not
37
+ * associative, order matters. Pass a custom `combineAll` to {@link make} if
38
+ * you need different traversal or short-circuiting.
39
+ * - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
40
+ * `Reducer` (it lacks `initialValue`).
41
+ *
42
+ * ## Quickstart
43
+ *
44
+ * **Example** (summing a list of numbers)
45
+ *
46
+ * ```ts
47
+ * import { Reducer } from "effect"
48
+ *
49
+ * const Sum = Reducer.make<number>((a, b) => a + b, 0)
50
+ *
51
+ * console.log(Sum.combine(3, 4))
52
+ * // Output: 7
53
+ *
54
+ * console.log(Sum.combineAll([1, 2, 3, 4]))
55
+ * // Output: 10
56
+ *
57
+ * console.log(Sum.combineAll([]))
58
+ * // Output: 0
59
+ * ```
60
+ *
61
+ * ## See also
62
+ *
63
+ * - {@link make} – the primary constructor
64
+ * - {@link Reducer} – the core interface
65
+ * - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
66
+ *
2
67
  * @since 4.0.0
3
68
  */
4
69
  import type * as Combiner from "./Combiner.ts";
5
70
  /**
6
- * A `Reducer` is a `Combiner` with an `initialValue` and a way to
7
- * combine a whole collection. Think `Array.prototype.reduce`, but reusable.
71
+ * Represents a strategy for reducing a collection of values of type `A` into
72
+ * a single result.
73
+ *
74
+ * Extends {@link Combiner.Combiner} with:
75
+ * - `initialValue` – the identity/neutral element for `combine`.
76
+ * - `combineAll` – folds an entire `Iterable<A>` from `initialValue`.
77
+ *
78
+ * When to use:
79
+ * - You need to fold/reduce a collection into a single value.
80
+ * - You want a reusable reducing strategy that can be passed to library
81
+ * functions like `Struct.makeReducer`, `Option.makeReducer`, or
82
+ * `Record.makeReducerUnion`.
83
+ * - You need both the combining logic *and* a known starting value.
84
+ *
85
+ * Many modules ship pre-built reducers:
86
+ * - `Number.ReducerSum`, `Number.ReducerMultiply`
87
+ * - `String.ReducerConcat`
88
+ * - `Boolean.ReducerAnd`, `Boolean.ReducerOr`
8
89
  *
9
- * Common initial values:
10
- * - numbers with addition: `0`
11
- * - strings with concatenation: `""`
12
- * - arrays with concatenation: `[]`
90
+ * **Example** (string concatenation reducer)
91
+ *
92
+ * ```ts
93
+ * import { Reducer } from "effect"
94
+ *
95
+ * const Concat = Reducer.make<string>((a, b) => a + b, "")
96
+ *
97
+ * console.log(Concat.combineAll(["hello", " ", "world"]))
98
+ * // Output: "hello world"
99
+ * ```
100
+ *
101
+ * @see {@link make} – create a `Reducer` from a function and initial value
102
+ * @see {@link Combiner.Combiner} – parent interface without `initialValue`
13
103
  *
14
104
  * @category model
15
105
  * @since 4.0.0
@@ -23,12 +113,81 @@ export interface Reducer<A> extends Combiner.Combiner<A> {
23
113
  /**
24
114
  * Creates a `Reducer` from a `combine` function and an `initialValue`.
25
115
  *
26
- * If `combineAll` is omitted, a default implementation reduces left-to-right.
116
+ * When to use:
117
+ * - You have a custom reducing operation not covered by a pre-built reducer.
118
+ * - You want to provide an optimized `combineAll` (e.g. short-circuiting on
119
+ * a known absorbing element like `0` for multiplication).
120
+ *
121
+ * Behavior:
122
+ * - If `combineAll` is omitted, a default left-to-right fold starting from
123
+ * `initialValue` is used.
124
+ * - If `combineAll` is provided, it completely replaces the default fold.
125
+ * - Pure – the returned reducer does not mutate its arguments.
126
+ *
127
+ * **Example** (multiplication with short-circuit)
128
+ *
129
+ * ```ts
130
+ * import { Reducer } from "effect"
131
+ *
132
+ * const Product = Reducer.make<number>(
133
+ * (a, b) => a * b,
134
+ * 1,
135
+ * (collection) => {
136
+ * let acc = 1
137
+ * for (const n of collection) {
138
+ * if (n === 0) return 0
139
+ * acc *= n
140
+ * }
141
+ * return acc
142
+ * }
143
+ * )
144
+ *
145
+ * console.log(Product.combineAll([2, 3, 4]))
146
+ * // Output: 24
147
+ *
148
+ * console.log(Product.combineAll([2, 0, 4]))
149
+ * // Output: 0
150
+ * ```
151
+ *
152
+ * @see {@link Reducer} – the interface this creates
153
+ * @see {@link flip} – reverse the argument order
27
154
  *
28
155
  * @since 4.0.0
29
156
  */
30
157
  export declare function make<A>(combine: (self: A, that: A) => A, initialValue: A, combineAll?: (collection: Iterable<A>) => A): Reducer<A>;
31
158
  /**
159
+ * Reverses the argument order of a reducer's `combine` method.
160
+ *
161
+ * When to use:
162
+ * - You need the "right" value to act as the accumulator side.
163
+ * - You want to reverse the natural direction of a non-commutative reducer
164
+ * (e.g. string concatenation becomes prepend).
165
+ *
166
+ * Behavior:
167
+ * - Returns a new `Reducer` where `combine(self, that)` calls the original
168
+ * reducer as `combine(that, self)`.
169
+ * - The `initialValue` is preserved from the original reducer.
170
+ * - The `combineAll` is re-derived from the flipped `combine` (using the
171
+ * default left-to-right fold), not carried over from the original.
172
+ * - Does not mutate the input reducer.
173
+ *
174
+ * **Example** (reversing string concatenation)
175
+ *
176
+ * ```ts
177
+ * import { Reducer, String } from "effect"
178
+ *
179
+ * const Prepend = Reducer.flip(String.ReducerConcat)
180
+ *
181
+ * console.log(Prepend.combine("a", "b"))
182
+ * // Output: "ba"
183
+ *
184
+ * console.log(Prepend.combineAll(["a", "b", "c"]))
185
+ * // Output: "cba"
186
+ * ```
187
+ *
188
+ * @see {@link make}
189
+ * @see {@link Combiner.flip} – the same operation on a plain `Combiner`
190
+ *
32
191
  * @since 4.0.0
33
192
  */
34
193
  export declare function flip<A>(reducer: Reducer<A>): Reducer<A>;
@@ -1 +1 @@
1
- {"version":3,"file":"Reducer.d.ts","sourceRoot":"","sources":["../src/Reducer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAExB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAChC,YAAY,EAAE,CAAC,EACf,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvD"}
1
+ {"version":3,"file":"Reducer.d.ts","sourceRoot":"","sources":["../src/Reducer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAExB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAChC,YAAY,EAAE,CAAC,EACf,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvD"}
package/dist/Reducer.js CHANGED
@@ -1,10 +1,112 @@
1
1
  /**
2
+ * A module for reducing collections of values into a single result.
3
+ *
4
+ * A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
5
+ * `initialValue` (identity element) and a `combineAll` method that folds an
6
+ * entire collection. Think `Array.prototype.reduce`, but packaged as a
7
+ * reusable, composable value.
8
+ *
9
+ * ## Mental model
10
+ *
11
+ * - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
12
+ * `combineAll` method.
13
+ * - **initialValue** – the neutral/identity element. Combining any value with
14
+ * `initialValue` should return the original value unchanged (e.g. `0` for
15
+ * addition, `""` for string concatenation).
16
+ * - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
17
+ * When omitted from {@link make}, a default left-to-right fold is used.
18
+ * - **Purity** – all reducers produced by this module are pure; they never
19
+ * mutate their arguments.
20
+ * - **Composability** – reducers can be lifted into `Option`, `Struct`,
21
+ * `Tuple`, `Record`, and other container types via helpers in those modules.
22
+ * - **Subtype of Combiner** – every `Reducer` is also a valid
23
+ * `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
24
+ * expected.
25
+ *
26
+ * ## Common tasks
27
+ *
28
+ * - Create a reducer from a combine function and initial value → {@link make}
29
+ * - Swap argument order → {@link flip}
30
+ * - Combine two values without an initial value → use {@link Combiner.Combiner}
31
+ * instead
32
+ *
33
+ * ## Gotchas
34
+ *
35
+ * - `combineAll` on an empty iterable returns `initialValue`, not an error.
36
+ * - The default `combineAll` folds left-to-right. If your `combine` is not
37
+ * associative, order matters. Pass a custom `combineAll` to {@link make} if
38
+ * you need different traversal or short-circuiting.
39
+ * - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
40
+ * `Reducer` (it lacks `initialValue`).
41
+ *
42
+ * ## Quickstart
43
+ *
44
+ * **Example** (summing a list of numbers)
45
+ *
46
+ * ```ts
47
+ * import { Reducer } from "effect"
48
+ *
49
+ * const Sum = Reducer.make<number>((a, b) => a + b, 0)
50
+ *
51
+ * console.log(Sum.combine(3, 4))
52
+ * // Output: 7
53
+ *
54
+ * console.log(Sum.combineAll([1, 2, 3, 4]))
55
+ * // Output: 10
56
+ *
57
+ * console.log(Sum.combineAll([]))
58
+ * // Output: 0
59
+ * ```
60
+ *
61
+ * ## See also
62
+ *
63
+ * - {@link make} – the primary constructor
64
+ * - {@link Reducer} – the core interface
65
+ * - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
66
+ *
2
67
  * @since 4.0.0
3
68
  */
4
69
  /**
5
70
  * Creates a `Reducer` from a `combine` function and an `initialValue`.
6
71
  *
7
- * If `combineAll` is omitted, a default implementation reduces left-to-right.
72
+ * When to use:
73
+ * - You have a custom reducing operation not covered by a pre-built reducer.
74
+ * - You want to provide an optimized `combineAll` (e.g. short-circuiting on
75
+ * a known absorbing element like `0` for multiplication).
76
+ *
77
+ * Behavior:
78
+ * - If `combineAll` is omitted, a default left-to-right fold starting from
79
+ * `initialValue` is used.
80
+ * - If `combineAll` is provided, it completely replaces the default fold.
81
+ * - Pure – the returned reducer does not mutate its arguments.
82
+ *
83
+ * **Example** (multiplication with short-circuit)
84
+ *
85
+ * ```ts
86
+ * import { Reducer } from "effect"
87
+ *
88
+ * const Product = Reducer.make<number>(
89
+ * (a, b) => a * b,
90
+ * 1,
91
+ * (collection) => {
92
+ * let acc = 1
93
+ * for (const n of collection) {
94
+ * if (n === 0) return 0
95
+ * acc *= n
96
+ * }
97
+ * return acc
98
+ * }
99
+ * )
100
+ *
101
+ * console.log(Product.combineAll([2, 3, 4]))
102
+ * // Output: 24
103
+ *
104
+ * console.log(Product.combineAll([2, 0, 4]))
105
+ * // Output: 0
106
+ * ```
107
+ *
108
+ * @see {@link Reducer} – the interface this creates
109
+ * @see {@link flip} – reverse the argument order
8
110
  *
9
111
  * @since 4.0.0
10
112
  */
@@ -22,6 +124,38 @@ export function make(combine, initialValue, combineAll) {
22
124
  };
23
125
  }
24
126
  /**
127
+ * Reverses the argument order of a reducer's `combine` method.
128
+ *
129
+ * When to use:
130
+ * - You need the "right" value to act as the accumulator side.
131
+ * - You want to reverse the natural direction of a non-commutative reducer
132
+ * (e.g. string concatenation becomes prepend).
133
+ *
134
+ * Behavior:
135
+ * - Returns a new `Reducer` where `combine(self, that)` calls the original
136
+ * reducer as `combine(that, self)`.
137
+ * - The `initialValue` is preserved from the original reducer.
138
+ * - The `combineAll` is re-derived from the flipped `combine` (using the
139
+ * default left-to-right fold), not carried over from the original.
140
+ * - Does not mutate the input reducer.
141
+ *
142
+ * **Example** (reversing string concatenation)
143
+ *
144
+ * ```ts
145
+ * import { Reducer, String } from "effect"
146
+ *
147
+ * const Prepend = Reducer.flip(String.ReducerConcat)
148
+ *
149
+ * console.log(Prepend.combine("a", "b"))
150
+ * // Output: "ba"
151
+ *
152
+ * console.log(Prepend.combineAll(["a", "b", "c"]))
153
+ * // Output: "cba"
154
+ * ```
155
+ *
156
+ * @see {@link make}
157
+ * @see {@link Combiner.flip} – the same operation on a plain `Combiner`
158
+ *
25
159
  * @since 4.0.0
26
160
  */
27
161
  export function flip(reducer) {
@@ -1 +1 @@
1
- {"version":3,"file":"Reducer.js","names":["make","combine","initialValue","combineAll","collection","out","value","flip","reducer","self","that"],"sources":["../src/Reducer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AA0BA;;;;;;;AAOA,OAAM,SAAUA,IAAIA,CAClBC,OAAgC,EAChCC,YAAe,EACfC,UAA2C;EAE3C,OAAO;IACLF,OAAO;IACPC,YAAY;IACZC,UAAU,EAAEA,UAAU,KAClBC,UAAU,IAAI;MACd,IAAIC,GAAG,GAAGH,YAAY;MACtB,KAAK,MAAMI,KAAK,IAAIF,UAAU,EAAE;QAC9BC,GAAG,GAAGJ,OAAO,CAACI,GAAG,EAAEC,KAAK,CAAC;MAC3B;MACA,OAAOD,GAAG;IACZ,CAAC;GACJ;AACH;AAEA;;;AAGA,OAAM,SAAUE,IAAIA,CAAIC,OAAmB;EACzC,OAAOR,IAAI,CAAC,CAACS,IAAI,EAAEC,IAAI,KAAKF,OAAO,CAACP,OAAO,CAACS,IAAI,EAAED,IAAI,CAAC,EAAED,OAAO,CAACN,YAAY,CAAC;AAChF","ignoreList":[]}
1
+ {"version":3,"file":"Reducer.js","names":["make","combine","initialValue","combineAll","collection","out","value","flip","reducer","self","that"],"sources":["../src/Reducer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,OAAM,SAAUA,IAAIA,CAClBC,OAAgC,EAChCC,YAAe,EACfC,UAA2C;EAE3C,OAAO;IACLF,OAAO;IACPC,YAAY;IACZC,UAAU,EAAEA,UAAU,KAClBC,UAAU,IAAI;MACd,IAAIC,GAAG,GAAGH,YAAY;MACtB,KAAK,MAAMI,KAAK,IAAIF,UAAU,EAAE;QAC9BC,GAAG,GAAGJ,OAAO,CAACI,GAAG,EAAEC,KAAK,CAAC;MAC3B;MACA,OAAOD,GAAG;IACZ,CAAC;GACJ;AACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,OAAM,SAAUE,IAAIA,CAAIC,OAAmB;EACzC,OAAOR,IAAI,CAAC,CAACS,IAAI,EAAEC,IAAI,KAAKF,OAAO,CAACP,OAAO,CAACS,IAAI,EAAED,IAAI,CAAC,EAAED,OAAO,CAACN,YAAY,CAAC;AAChF","ignoreList":[]}