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
@@ -12,7 +12,6 @@ import * as Order from "../Order.js";
12
12
  import { pipeArguments } from "../Pipeable.js";
13
13
  import { hasProperty, isIterable, isString, isTagged } from "../Predicate.js";
14
14
  import { currentFiberTypeId, redact } from "../Redactable.js";
15
- import { CurrentConcurrency, CurrentLogAnnotations, CurrentLogLevel, CurrentLogSpans, CurrentStackFrame, MinimumLogLevel, TracerEnabled, TracerSpanAnnotations, TracerSpanLinks, TracerTimingEnabled } from "../References.js";
16
15
  import * as Result from "../Result.js";
17
16
  import * as Scheduler from "../Scheduler.js";
18
17
  import * as ServiceMap from "../ServiceMap.js";
@@ -21,6 +20,7 @@ import { internalCall } from "../Utils.js";
21
20
  import { args, causeAnnotate, causeEmpty, causeFromReasons, CauseImpl, constEmptyAnnotations, contA, contAll, contE, Die, evaluate, exitDie, exitFail, exitFailCause, exitSucceed, ExitTypeId, Fail, InterruptorStackTrace, isCause, isDieReason, isEffect, isFailReason, isInterruptReason, isNoSuchElementError, makePrimitive, makePrimitiveProto, NoSuchElementError, ReasonBase, StackTraceKey as CauseStackTrace, TaggedError, withFiber, Yield } from "./core.js";
22
21
  import * as doNotation from "./doNotation.js";
23
22
  import * as InternalMetric from "./metric.js";
23
+ import { CurrentConcurrency, CurrentErrorReporters, CurrentLogAnnotations, CurrentLogLevel, CurrentLogSpans, CurrentStackFrame, MinimumLogLevel, TracerEnabled, TracerSpanAnnotations, TracerSpanLinks, TracerTimingEnabled } from "./references.js";
24
24
  import { addSpanStackTrace, makeStackCleaner } from "./tracer.js";
25
25
  import { version } from "./version.js";
26
26
  // ----------------------------------------------------------------------------
@@ -111,7 +111,7 @@ export const causeInterruptors = self => {
111
111
  };
112
112
  const emptySet = /*#__PURE__*/new Set();
113
113
  /** @internal */
114
- export const hasInterruptsOnly = self => self.reasons.every(isInterruptReason);
114
+ export const hasInterruptsOnly = self => self.reasons.length > 0 && self.reasons.every(isInterruptReason);
115
115
  /** @internal */
116
116
  export const reasonAnnotations = self => ServiceMap.makeUnsafe(self.annotations);
117
117
  /** @internal */
@@ -201,7 +201,8 @@ export const causePrettyErrors = self => {
201
201
  Error.stackTraceLimit = prevStackLimit;
202
202
  return errors;
203
203
  };
204
- const causePrettyError = (original, annotations) => {
204
+ /** @internal */
205
+ export const causePrettyError = (original, annotations) => {
205
206
  const kind = typeof original;
206
207
  let error;
207
208
  if (original && kind === "object") {
@@ -321,23 +322,6 @@ const fiberIdStore = {
321
322
  };
322
323
  /** @internal */
323
324
  export const getCurrentFiber = () => globalThis[currentFiberTypeId];
324
- const keepAlive = /*#__PURE__*/(() => {
325
- let count = 0;
326
- let running = undefined;
327
- return {
328
- increment() {
329
- count++;
330
- running ??= globalThis.setInterval(constVoid, 2_147_483_647);
331
- },
332
- decrement() {
333
- count--;
334
- if (count === 0 && running !== undefined) {
335
- globalThis.clearInterval(running);
336
- running = undefined;
337
- }
338
- }
339
- };
340
- })();
341
325
  /** @internal */
342
326
  export class FiberImpl {
343
327
  constructor(services, interruptible = true) {
@@ -376,6 +360,11 @@ export class FiberImpl {
376
360
  currentStackFrame;
377
361
  runtimeMetrics;
378
362
  maxOpsBeforeYield;
363
+ currentPreventYield;
364
+ _dispatcher = undefined;
365
+ get currentDispatcher() {
366
+ return this._dispatcher ??= this.currentScheduler.makeDispatcher();
367
+ }
379
368
  getRef(ref) {
380
369
  return ServiceMap.getReferenceUnsafe(this.services, ref);
381
370
  }
@@ -447,7 +436,7 @@ export class FiberImpl {
447
436
  try {
448
437
  while (true) {
449
438
  this.currentOpCount++;
450
- if (!yielding && this.currentScheduler.shouldYield(this)) {
439
+ if (!yielding && !this.currentPreventYield && this.currentScheduler.shouldYield(this)) {
451
440
  yielding = true;
452
441
  const prev = current;
453
442
  current = flatMap(yieldNow, () => prev);
@@ -500,12 +489,17 @@ export class FiberImpl {
500
489
  }
501
490
  setServices(services) {
502
491
  this.services = services;
503
- this.currentScheduler = this.getRef(Scheduler.Scheduler);
492
+ const scheduler = this.getRef(Scheduler.Scheduler);
493
+ if (scheduler !== this.currentScheduler) {
494
+ this.currentScheduler = scheduler;
495
+ this._dispatcher = undefined;
496
+ }
504
497
  this.currentSpan = services.mapUnsafe.get(Tracer.ParentSpanKey);
505
498
  this.currentLogLevel = this.getRef(CurrentLogLevel);
506
499
  this.minimumLogLevel = this.getRef(MinimumLogLevel);
507
500
  this.currentStackFrame = services.mapUnsafe.get(CurrentStackFrame.key);
508
501
  this.maxOpsBeforeYield = this.getRef(Scheduler.MaxOpsBeforeYield);
502
+ this.currentPreventYield = this.getRef(Scheduler.PreventSchedulerYield);
509
503
  this.runtimeMetrics = services.mapUnsafe.get(InternalMetric.FiberRuntimeMetricsKey);
510
504
  const currentTracer = services.mapUnsafe.get(Tracer.TracerKey);
511
505
  this.currentTracerContext = currentTracer ? currentTracer["context"] : undefined;
@@ -574,6 +568,7 @@ export const fiberJoin = self => {
574
568
  /** @internal */
575
569
  export const fiberJoinAll = self => callback(resume => {
576
570
  const fibers = Array.from(self);
571
+ if (fibers.length === 0) return resume(succeed(Arr.empty()));
577
572
  const out = new Array(fibers.length);
578
573
  const cancels = Arr.empty();
579
574
  let done = 0;
@@ -597,8 +592,10 @@ export const fiberJoinAll = self => callback(resume => {
597
592
  /** @internal */
598
593
  export const fiberInterrupt = self => withFiber(fiber => fiberInterruptAs(self, fiber.id));
599
594
  /** @internal */
600
- export const fiberInterruptAs = /*#__PURE__*/dual(2, (self, fiberId) => withFiber(parent => {
601
- self.interruptUnsafe(fiberId, fiberStackAnnotations(parent));
595
+ export const fiberInterruptAs = /*#__PURE__*/dual(args => hasProperty(args[0], FiberTypeId), (self, fiberId, annotations) => withFiber(parent => {
596
+ let ann = fiberStackAnnotations(parent);
597
+ ann = ann && annotations ? ServiceMap.merge(ann, annotations) : ann ?? annotations;
598
+ self.interruptUnsafe(fiberId, ann);
602
599
  return asVoid(fiberAwait(self));
603
600
  }));
604
601
  /** @internal */
@@ -650,7 +647,7 @@ export const yieldNowWith = /*#__PURE__*/makePrimitive({
650
647
  op: "Yield",
651
648
  [evaluate](fiber) {
652
649
  let resumed = false;
653
- fiber.currentScheduler.scheduleTask(() => {
650
+ fiber.currentDispatcher.scheduleTask(() => {
654
651
  if (resumed) return;
655
652
  fiber.evaluate(exitVoid);
656
653
  }, this[args] ?? 0);
@@ -726,10 +723,8 @@ const callbackOptions = /*#__PURE__*/makePrimitive({
726
723
  }, controller?.signal);
727
724
  if (yielded !== false) return yielded;
728
725
  yielded = true;
729
- keepAlive.increment();
730
726
  fiber._yielded = () => {
731
727
  resumed = true;
732
- keepAlive.decrement();
733
728
  };
734
729
  if (controller === undefined && onCancel === undefined) {
735
730
  return Yield;
@@ -762,7 +757,7 @@ export const never = /*#__PURE__*/callback(constVoid);
762
757
  export const gen = (...args) => suspend(() => fromIteratorUnsafe(args.length === 1 ? args[0]() : args[1].call(args[0].self)));
763
758
  /** @internal */
764
759
  export const fnUntraced = (body, ...pipeables) => {
765
- return pipeables.length === 0 ? function () {
760
+ const fn = pipeables.length === 0 ? function () {
766
761
  return suspend(() => fromIteratorUnsafe(body.apply(this, arguments)));
767
762
  } : function () {
768
763
  let effect = suspend(() => fromIteratorUnsafe(body.apply(this, arguments)));
@@ -771,7 +766,12 @@ export const fnUntraced = (body, ...pipeables) => {
771
766
  }
772
767
  return effect;
773
768
  };
769
+ return defineFunctionLength(body.length, fn);
774
770
  };
771
+ const defineFunctionLength = (length, fn) => Object.defineProperty(fn, "length", {
772
+ value: length,
773
+ configurable: true
774
+ });
775
775
  const fnStackCleaner = /*#__PURE__*/makeStackCleaner(2);
776
776
  /** @internal */
777
777
  export const fn = function () {
@@ -789,7 +789,7 @@ export const fn = function () {
789
789
  };
790
790
  const makeFn = (name, bodyOrOptions, defError, pipeables, addSpan, spanOptions) => {
791
791
  const body = typeof bodyOrOptions === "function" ? bodyOrOptions : pipeables.pop().bind(bodyOrOptions.self);
792
- return function (...args) {
792
+ return defineFunctionLength(body.length, function (...args) {
793
793
  let result = suspend(() => {
794
794
  const iter = body.apply(this, arguments);
795
795
  return isEffect(iter) ? iter : fromIteratorUnsafe(iter);
@@ -813,10 +813,10 @@ const makeFn = (name, bodyOrOptions, defError, pipeables, addSpan, spanOptions)
813
813
  parent: prev
814
814
  }
815
815
  }));
816
- };
816
+ });
817
817
  };
818
818
  /** @internal */
819
- export const fnUntracedEager = (body, ...pipeables) => pipeables.length === 0 ? function () {
819
+ export const fnUntracedEager = (body, ...pipeables) => defineFunctionLength(body.length, pipeables.length === 0 ? function () {
820
820
  return fromIteratorEagerUnsafe(() => body.apply(this, arguments));
821
821
  } : function () {
822
822
  let effect = fromIteratorEagerUnsafe(() => body.apply(this, arguments));
@@ -824,7 +824,7 @@ export const fnUntracedEager = (body, ...pipeables) => pipeables.length === 0 ?
824
824
  effect = pipeable(effect);
825
825
  }
826
826
  return effect;
827
- };
827
+ });
828
828
  const fromIteratorEagerUnsafe = evaluate => {
829
829
  try {
830
830
  const iterator = evaluate();
@@ -1116,33 +1116,17 @@ export const updateServices = /*#__PURE__*/dual(2, (self, f) => withFiber(fiber
1116
1116
  const nextServices = f(prev);
1117
1117
  if (prev === nextServices) return self;
1118
1118
  fiber.setServices(nextServices);
1119
- const newServices = new Map();
1120
- for (const [key, value] of fiber.services.mapUnsafe) {
1121
- if (!prev.mapUnsafe.has(key) || value !== prev.mapUnsafe.get(key)) {
1122
- newServices.set(key, value);
1123
- }
1124
- }
1125
1119
  return onExitPrimitive(self, () => {
1126
- const map = new Map(fiber.services.mapUnsafe);
1127
- for (const [key, value] of newServices) {
1128
- if (value !== map.get(key)) continue;
1129
- if (prev.mapUnsafe.has(key)) {
1130
- map.set(key, prev.mapUnsafe.get(key));
1131
- } else {
1132
- map.delete(key);
1133
- }
1134
- }
1135
- fiber.setServices(ServiceMap.makeUnsafe(map));
1120
+ fiber.setServices(prev);
1136
1121
  return undefined;
1137
1122
  });
1138
1123
  }));
1139
1124
  /** @internal */
1140
- export const updateService = /*#__PURE__*/dual(3, (self, service, f) => withFiber(fiber => {
1141
- const prev = ServiceMap.getUnsafe(fiber.services, service);
1125
+ export const updateService = /*#__PURE__*/dual(3, (self, service, f) => updateServices(self, s => {
1126
+ const prev = ServiceMap.getUnsafe(s, service);
1142
1127
  const next = f(prev);
1143
- if (prev === next) return self;
1144
- fiber.setServices(ServiceMap.add(fiber.services, service, next));
1145
- return onExit(self, () => sync(() => fiber.setServices(ServiceMap.add(fiber.services, service, prev))));
1128
+ if (prev === next) return s;
1129
+ return ServiceMap.add(s, service, next);
1146
1130
  }));
1147
1131
  /** @internal */
1148
1132
  export const services = () => getServiceMap;
@@ -1161,11 +1145,10 @@ export const provideService = function () {
1161
1145
  }
1162
1146
  return dual(3, (self, service, impl) => provideServiceImpl(self, service, impl)).apply(this, arguments);
1163
1147
  };
1164
- const provideServiceImpl = (self, service, implementation) => withFiber(fiber => {
1165
- const prev = ServiceMap.getOption(fiber.services, service);
1166
- if (prev._tag === "Some" && prev.value === implementation) return self;
1167
- fiber.setServices(ServiceMap.add(fiber.services, service, implementation));
1168
- return onExit(self, () => sync(() => fiber.setServices(ServiceMap.addOrOmit(fiber.services, service, prev))));
1148
+ const provideServiceImpl = (self, service, implementation) => updateServices(self, s => {
1149
+ const prev = s.mapUnsafe.get(service.key);
1150
+ if (prev === implementation) return s;
1151
+ return ServiceMap.add(s, service, implementation);
1169
1152
  });
1170
1153
  /** @internal */
1171
1154
  export const provideServiceEffect = /*#__PURE__*/dual(3, (self, service, acquire) => flatMap(acquire, implementation => provideService(self, service, implementation)));
@@ -1186,7 +1169,7 @@ export const zipWith = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that,
1186
1169
  // filtering & conditionals
1187
1170
  // ----------------------------------------------------------------------------
1188
1171
  /* @internal */
1189
- export const filterOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, orFailWith) => filterOrElse(self, filter, orFailWith ? a => fail(orFailWith(a)) : () => fail(new NoSuchElementError())));
1172
+ export const filterOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, predicate, orFailWith) => filterOrElse(self, predicate, orFailWith ? a => fail(orFailWith(a)) : () => fail(new NoSuchElementError())));
1190
1173
  /** @internal */
1191
1174
  export const when = /*#__PURE__*/dual(2, (self, condition) => flatMap(condition, pass => pass ? asSome(self) : succeedNone));
1192
1175
  // ----------------------------------------------------------------------------
@@ -1222,40 +1205,61 @@ const OnFailureProto = /*#__PURE__*/makePrimitiveProto({
1222
1205
  }
1223
1206
  });
1224
1207
  /** @internal */
1225
- export const catchCauseIf = /*#__PURE__*/dual(3, (self, filter, f) => catchCause(self, cause => {
1226
- const eb = Filter.apply(filter, cause);
1227
- return !Result.isFailure(eb) ? internalCall(() => f(eb.success, cause)) : failCause(eb.failure);
1208
+ export const catchCauseIf = /*#__PURE__*/dual(3, (self, predicate, f) => catchCause(self, cause => {
1209
+ if (!predicate(cause)) {
1210
+ return failCause(cause);
1211
+ }
1212
+ return internalCall(() => f(cause));
1213
+ }));
1214
+ /** @internal */
1215
+ export const catchCauseFilter = /*#__PURE__*/dual(3, (self, filter, f) => catchCause(self, cause => {
1216
+ const eb = filter(cause);
1217
+ return Result.isFailure(eb) ? failCause(eb.failure) : internalCall(() => f(eb.success, cause));
1228
1218
  }));
1229
1219
  /** @internal */
1230
- export const catch_ = /*#__PURE__*/dual(2, (self, f) => catchCauseIf(self, findError, e => f(e)));
1220
+ export const catch_ = /*#__PURE__*/dual(2, (self, f) => catchCauseFilter(self, findError, e => f(e)));
1231
1221
  /** @internal */
1232
1222
  export const catchNoSuchElement = self => matchEffect(self, {
1233
1223
  onFailure: error => isNoSuchElementError(error) ? succeedNone : fail(error),
1234
1224
  onSuccess: succeedSome
1235
1225
  });
1236
1226
  /** @internal */
1237
- export const catchDefect = /*#__PURE__*/dual(2, (self, f) => catchCauseIf(self, findDefect, f));
1227
+ export const catchDefect = /*#__PURE__*/dual(2, (self, f) => catchCauseFilter(self, findDefect, f));
1238
1228
  /** @internal */
1239
1229
  export const tapCause = /*#__PURE__*/dual(2, (self, f) => catchCause(self, cause => andThen(internalCall(() => f(cause)), failCause(cause))));
1240
1230
  /** @internal */
1241
- export const tapCauseIf = /*#__PURE__*/dual(3, (self, filter, f) => catchCauseIf(self, cause => {
1242
- const result = Filter.apply(filter, cause);
1243
- return Result.isFailure(result) ? Result.fail(cause) : result;
1244
- }, (failure, cause) => andThen(internalCall(() => f(failure, cause)), failCause(cause))));
1231
+ export const tapCauseIf = /*#__PURE__*/dual(3, (self, predicate, f) => catchCauseIf(self, predicate, cause => andThen(internalCall(() => f(cause)), failCause(cause))));
1245
1232
  /** @internal */
1246
- export const tapError = /*#__PURE__*/dual(2, (self, f) => tapCauseIf(self, findError, e => f(e)));
1233
+ export const tapCauseFilter = /*#__PURE__*/dual(3, (self, filter, f) => catchCause(self, cause => {
1234
+ const result = filter(cause);
1235
+ if (Result.isFailure(result)) {
1236
+ return failCause(cause);
1237
+ }
1238
+ return andThen(internalCall(() => f(result.success, cause)), failCause(cause));
1239
+ }));
1240
+ /** @internal */
1241
+ export const tapError = /*#__PURE__*/dual(2, (self, f) => tapCauseFilter(self, findError, e => f(e)));
1247
1242
  /** @internal */
1248
1243
  export const tapErrorTag = /*#__PURE__*/dual(3, (self, k, f) => {
1249
1244
  const predicate = Array.isArray(k) ? e => hasProperty(e, "_tag") && k.includes(e._tag) : isTagged(k);
1250
1245
  return tapError(self, error => predicate(error) ? f(error) : void_);
1251
1246
  });
1252
1247
  /** @internal */
1253
- export const tapDefect = /*#__PURE__*/dual(2, (self, f) => tapCauseIf(self, findDefect, _ => f(_)));
1248
+ export const tapDefect = /*#__PURE__*/dual(2, (self, f) => tapCauseFilter(self, findDefect, _ => f(_)));
1254
1249
  /** @internal */
1255
- export const catchIf = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, f, orElse) => catchCause(self, cause => {
1250
+ export const catchIf = /*#__PURE__*/dual(args => isEffect(args[0]), (self, predicate, f, orElse) => catchCause(self, cause => {
1256
1251
  const error = findError(cause);
1257
1252
  if (Result.isFailure(error)) return failCause(error.failure);
1258
- const result = Filter.apply(filter, error.success);
1253
+ if (!predicate(error.success)) {
1254
+ return orElse ? internalCall(() => orElse(error.success)) : failCause(cause);
1255
+ }
1256
+ return internalCall(() => f(error.success));
1257
+ }));
1258
+ /** @internal */
1259
+ export const catchFilter = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, f, orElse) => catchCause(self, cause => {
1260
+ const error = findError(cause);
1261
+ if (Result.isFailure(error)) return failCause(error.failure);
1262
+ const result = filter(error.success);
1259
1263
  if (Result.isFailure(result)) {
1260
1264
  return orElse ? internalCall(() => orElse(result.failure)) : failCause(cause);
1261
1265
  }
@@ -1269,7 +1273,7 @@ export const catchTag = /*#__PURE__*/dual(args => isEffect(args[0]), (self, k, f
1269
1273
  /** @internal */
1270
1274
  export const catchTags = /*#__PURE__*/dual(args => isEffect(args[0]), (self, cases, orElse) => {
1271
1275
  let keys;
1272
- return catchIf(self, e => {
1276
+ return catchFilter(self, e => {
1273
1277
  keys ??= Object.keys(cases);
1274
1278
  return hasProperty(e, "_tag") && isString(e["_tag"]) && keys.includes(e["_tag"]) ? Result.succeed(e) : Result.fail(e);
1275
1279
  }, e => internalCall(() => cases[e["_tag"]](e)), orElse);
@@ -1277,8 +1281,8 @@ export const catchTags = /*#__PURE__*/dual(args => isEffect(args[0]), (self, cas
1277
1281
  /** @internal */
1278
1282
  export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason"), e => {
1279
1283
  const reason = e.reason;
1280
- if (isTagged(reason, reasonTag)) return f(reason);
1281
- return orElse ? internalCall(() => orElse(reason)) : fail(e);
1284
+ if (isTagged(reason, reasonTag)) return f(reason, e);
1285
+ return orElse ? internalCall(() => orElse(reason, e)) : fail(e);
1282
1286
  }));
1283
1287
  /** @internal */
1284
1288
  export const catchReasons = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, cases, orElse) => {
@@ -1287,13 +1291,13 @@ export const catchReasons = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
1287
1291
  const reason = e.reason;
1288
1292
  keys ??= Object.keys(cases);
1289
1293
  if (keys.includes(reason._tag)) {
1290
- return internalCall(() => cases[reason._tag](reason));
1294
+ return internalCall(() => cases[reason._tag](reason, e));
1291
1295
  }
1292
- return orElse ? internalCall(() => orElse(reason)) : fail(e);
1296
+ return orElse ? internalCall(() => orElse(reason, e)) : fail(e);
1293
1297
  });
1294
1298
  });
1295
1299
  /** @internal */
1296
- export const unwrapReason = /*#__PURE__*/dual(2, (self, errorTag) => catchIf(self, e => {
1300
+ export const unwrapReason = /*#__PURE__*/dual(2, (self, errorTag) => catchFilter(self, e => {
1297
1301
  if (isTagged(e, errorTag) && hasProperty(e, "reason")) {
1298
1302
  return Result.succeed(e.reason);
1299
1303
  }
@@ -1326,7 +1330,7 @@ export const ignore = /*#__PURE__*/dual(args => isEffect(args[0]), (self, option
1326
1330
  return matchCauseEffect(self, {
1327
1331
  onFailure(cause) {
1328
1332
  const failure = findFail(cause);
1329
- return Result.isFailure(failure) ? failCause(failure.failure) : logEffect(cause);
1333
+ return Result.isFailure(failure) ? failCause(failure.failure) : options.message === undefined ? logEffect(cause) : logEffect(options.message, cause);
1330
1334
  },
1331
1335
  onSuccess: _ => void_
1332
1336
  });
@@ -1341,7 +1345,7 @@ export const ignoreCause = /*#__PURE__*/dual(args => isEffect(args[0]), (self, o
1341
1345
  }
1342
1346
  const logEffect = logWithLevel(options.log === true ? undefined : options.log);
1343
1347
  return matchCauseEffect(self, {
1344
- onFailure: logEffect,
1348
+ onFailure: cause => options.message === undefined ? logEffect(cause) : logEffect(options.message, cause),
1345
1349
  onSuccess: _ => void_
1346
1350
  });
1347
1351
  });
@@ -1443,11 +1447,11 @@ export const isSuccess = /*#__PURE__*/matchEager({
1443
1447
  /** @internal */
1444
1448
  export const delay = /*#__PURE__*/dual(2, (self, duration) => andThen(sleep(duration), self));
1445
1449
  /** @internal */
1446
- export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => raceFirst(self, flatMap(sleep(options.duration), options.onTimeout)));
1450
+ export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => raceFirst(self, flatMap(sleep(options.duration), options.orElse)));
1447
1451
  /** @internal */
1448
1452
  export const timeout = /*#__PURE__*/dual(2, (self, duration) => timeoutOrElse(self, {
1449
1453
  duration,
1450
- onTimeout: () => fail(new TimeoutError())
1454
+ orElse: () => fail(new TimeoutError())
1451
1455
  }));
1452
1456
  /** @internal */
1453
1457
  export const timeoutOption = /*#__PURE__*/dual(2, (self, duration) => raceFirst(asSome(self), as(sleep(duration), Option.none())));
@@ -1568,11 +1572,11 @@ export const scope = /*#__PURE__*/scopeTag.asEffect();
1568
1572
  export const provideScope = /*#__PURE__*/provideService(scopeTag);
1569
1573
  /** @internal */
1570
1574
  export const scoped = self => withFiber(fiber => {
1571
- const prev = ServiceMap.getOption(fiber.services, scopeTag);
1575
+ const prev = fiber.services;
1572
1576
  const scope = scopeMakeUnsafe();
1573
1577
  fiber.setServices(ServiceMap.add(fiber.services, scopeTag, scope));
1574
1578
  return onExitPrimitive(self, exit => {
1575
- fiber.setServices(ServiceMap.addOrOmit(fiber.services, scopeTag, prev));
1579
+ fiber.setServices(prev);
1576
1580
  return scopeCloseUnsafe(scope, exit);
1577
1581
  });
1578
1582
  });
@@ -1584,7 +1588,7 @@ export const scopedWith = f => suspend(() => {
1584
1588
  return onExit(f(scope), exit => suspend(() => scopeCloseUnsafe(scope, exit) ?? void_));
1585
1589
  });
1586
1590
  /** @internal */
1587
- export const acquireRelease = (acquire, release) => uninterruptible(flatMap(scope, scope => tap(acquire, a => scopeAddFinalizerExit(scope, exit => internalCall(() => release(a, exit))))));
1591
+ export const acquireRelease = (acquire, release, options) => servicesWith(services => uninterruptibleMask(restore => flatMap(scope, scope => tap(options?.interruptible ? restore(acquire) : acquire, a => scopeAddFinalizerExit(scope, exit => provideServices(release(a, exit), services))))));
1588
1592
  /** @internal */
1589
1593
  export const addFinalizer = finalizer => flatMap(scope, scope => servicesWith(services => scopeAddFinalizerExit(scope, exit => provideServices(finalizer(exit), services))));
1590
1594
  /** @internal */
@@ -1617,19 +1621,36 @@ export const onExit = /*#__PURE__*/dual(2, onExitPrimitive);
1617
1621
  /** @internal */
1618
1622
  export const ensuring = /*#__PURE__*/dual(2, (self, finalizer) => onExit(self, _ => finalizer));
1619
1623
  /** @internal */
1620
- export const onExitIf = /*#__PURE__*/dual(3, (self, filter, f) => onExit(self, exit => {
1621
- const pass = Filter.apply(filter, exit);
1622
- return Result.isFailure(pass) ? void_ : f(pass.success, exit);
1624
+ export const onExitIf = /*#__PURE__*/dual(3, (self, predicate, f) => onExit(self, exit => {
1625
+ if (!predicate(exit)) {
1626
+ return void_;
1627
+ }
1628
+ return f(exit);
1629
+ }));
1630
+ /** @internal */
1631
+ export const onExitFilter = /*#__PURE__*/dual(3, (self, filter, f) => onExit(self, exit => {
1632
+ const b = filter(exit);
1633
+ return Result.isFailure(b) ? void_ : f(b.success, exit);
1623
1634
  }));
1624
1635
  /** @internal */
1625
- export const onError = /*#__PURE__*/dual(2, (self, f) => onExitIf(self, exitFilterCause, f));
1636
+ export const onError = /*#__PURE__*/dual(2, (self, f) => onExitFilter(self, exitFilterCause, f));
1626
1637
  /** @internal */
1627
- export const onErrorIf = /*#__PURE__*/dual(3, (self, filter, f) => onExitIf(self, exit => {
1628
- if (exit._tag !== "Failure") return Result.fail(exit);
1629
- return Filter.apply(filter, exit.cause);
1630
- }, (eb, exit) => f(eb, exit.cause)));
1638
+ export const onErrorIf = /*#__PURE__*/dual(3, (self, predicate, f) => onExitIf(self, exit => {
1639
+ if (exit._tag !== "Failure") {
1640
+ return false;
1641
+ }
1642
+ return predicate(exit.cause);
1643
+ }, exit => f(exit.cause)));
1631
1644
  /** @internal */
1632
- export const onInterrupt = /*#__PURE__*/dual(2, (self, finalizer) => onErrorIf(causeFilterInterruptors, finalizer)(self));
1645
+ export const onErrorFilter = /*#__PURE__*/dual(3, (self, filter, f) => onExit(self, exit => {
1646
+ if (exit._tag !== "Failure") {
1647
+ return void_;
1648
+ }
1649
+ const result = filter(exit.cause);
1650
+ return Result.isFailure(result) ? void_ : f(result.success, exit.cause);
1651
+ }));
1652
+ /** @internal */
1653
+ export const onInterrupt = /*#__PURE__*/dual(2, (self, finalizer) => onErrorFilter(causeFilterInterruptors, finalizer)(self));
1633
1654
  /** @internal */
1634
1655
  export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(restore(use(a)), exit => release(a, exit), true)));
1635
1656
  // ----------------------------------------------------------------------------
@@ -1637,7 +1658,7 @@ export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(
1637
1658
  // ----------------------------------------------------------------------------
1638
1659
  /** @internal */
1639
1660
  export const cachedInvalidateWithTTL = /*#__PURE__*/dual(2, (self, ttl) => sync(() => {
1640
- const ttlMillis = Duration.toMillis(Duration.fromDurationInputUnsafe(ttl));
1661
+ const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl));
1641
1662
  const isFinite = Number.isFinite(ttlMillis);
1642
1663
  const latch = makeLatchUnsafe(false);
1643
1664
  let expiresAt = 0;
@@ -1645,14 +1666,15 @@ export const cachedInvalidateWithTTL = /*#__PURE__*/dual(2, (self, ttl) => sync(
1645
1666
  let exit;
1646
1667
  const wait = flatMap(latch.await, () => exit);
1647
1668
  return [withFiber(fiber => {
1648
- const now = isFinite ? fiber.getRef(ClockRef).currentTimeMillisUnsafe() : 0;
1669
+ const clock = fiber.getRef(ClockRef);
1670
+ const now = isFinite ? clock.currentTimeMillisUnsafe() : 0;
1649
1671
  if (running || now < expiresAt) return exit ?? wait;
1650
1672
  running = true;
1651
1673
  latch.closeUnsafe();
1652
1674
  exit = undefined;
1653
1675
  return onExit(self, exit_ => sync(() => {
1654
1676
  running = false;
1655
- expiresAt = now + ttlMillis;
1677
+ expiresAt = clock.currentTimeMillisUnsafe() + ttlMillis;
1656
1678
  exit = exit_;
1657
1679
  latch.openUnsafe();
1658
1680
  }));
@@ -1732,7 +1754,54 @@ export const all = (arg, options) => {
1732
1754
  });
1733
1755
  };
1734
1756
  /** @internal */
1735
- export const partition = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, f, options) => map(forEach(elements, (a, i) => result(f(a, i)), options), results => Arr.partitionMap(results, identity)));
1757
+ export const partition = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, f, options) => map(forEach(elements, (a, i) => result(f(a, i)), options), results => Arr.partition(results, identity)));
1758
+ /** @internal */
1759
+ export const validate = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, f, options) => flatMap(partition(elements, f, {
1760
+ concurrency: options?.concurrency
1761
+ }), ([excluded, satisfying]) => {
1762
+ if (Arr.isArrayNonEmpty(excluded)) {
1763
+ return fail(excluded);
1764
+ }
1765
+ return options?.discard ? void_ : succeed(satisfying);
1766
+ }));
1767
+ /** @internal */
1768
+ export const findFirst = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, predicate) => suspend(() => {
1769
+ const iterator = elements[Symbol.iterator]();
1770
+ const next = iterator.next();
1771
+ if (!next.done) {
1772
+ return findFirstLoop(iterator, 0, predicate, next.value);
1773
+ }
1774
+ return succeed(Option.none());
1775
+ }));
1776
+ const findFirstLoop = (iterator, index, predicate, value) => flatMap(predicate(value, index), keep => {
1777
+ if (keep) {
1778
+ return succeed(Option.some(value));
1779
+ }
1780
+ const next = iterator.next();
1781
+ if (!next.done) {
1782
+ return findFirstLoop(iterator, index + 1, predicate, next.value);
1783
+ }
1784
+ return succeed(Option.none());
1785
+ });
1786
+ /** @internal */
1787
+ export const findFirstFilter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, filter) => suspend(() => {
1788
+ const iterator = elements[Symbol.iterator]();
1789
+ const next = iterator.next();
1790
+ if (!next.done) {
1791
+ return findFirstFilterLoop(iterator, 0, filter, next.value);
1792
+ }
1793
+ return succeed(Option.none());
1794
+ }));
1795
+ const findFirstFilterLoop = (iterator, index, filter, value) => flatMap(filter(value, index), result => {
1796
+ if (Result.isSuccess(result)) {
1797
+ return succeed(Option.some(result.success));
1798
+ }
1799
+ const next = iterator.next();
1800
+ if (!next.done) {
1801
+ return findFirstFilterLoop(iterator, index + 1, filter, next.value);
1802
+ }
1803
+ return succeed(Option.none());
1804
+ });
1736
1805
  /** @internal */
1737
1806
  export const whileLoop = /*#__PURE__*/makePrimitive({
1738
1807
  op: "While",
@@ -1845,30 +1914,26 @@ const forEachSequential = (iterable, f, options) => suspend(() => {
1845
1914
  }), out);
1846
1915
  });
1847
1916
  /* @internal */
1848
- export const filterOrElse = /*#__PURE__*/dual(3, (self, filter, orElse) => flatMap(self, a => {
1849
- const result = Filter.apply(filter, a);
1917
+ export const filterOrElse = /*#__PURE__*/dual(3, (self, predicate, orElse) => flatMap(self, a => predicate(a) ? succeed(a) : orElse(a)));
1918
+ /** @internal */
1919
+ export const filterMapOrElse = /*#__PURE__*/dual(3, (self, filter, orElse) => flatMap(self, a => {
1920
+ const result = filter(a);
1850
1921
  return Result.isFailure(result) ? orElse(result.failure) : succeed(result.success);
1851
1922
  }));
1923
+ /* @internal */
1924
+ export const filterMapOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, orFailWith) => filterMapOrElse(self, filter, orFailWith ? x => fail(orFailWith(x)) : () => fail(new NoSuchElementError())));
1852
1925
  /** @internal */
1853
- export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, filter, options) => suspend(() => {
1926
+ export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, predicate, options) => suspend(() => {
1854
1927
  const out = [];
1855
1928
  return as(forEach(elements, (a, i) => {
1856
- const result = filter(a, i);
1929
+ const result = predicate(a, i);
1857
1930
  if (typeof result === "boolean") {
1858
1931
  if (result) out.push(a);
1859
1932
  return void_;
1860
1933
  }
1861
- if (!isEffect(result)) {
1862
- if (!Result.isFailure(result)) {
1863
- out.push(result.success);
1864
- }
1865
- return void_;
1866
- }
1867
- return map(result, r => {
1868
- if (typeof r === "boolean") {
1869
- if (r) out.push(a);
1870
- } else if (!Result.isFailure(r)) {
1871
- out.push(r.success);
1934
+ return map(result, keep => {
1935
+ if (keep) {
1936
+ out.push(a);
1872
1937
  }
1873
1938
  });
1874
1939
  }, {
@@ -1876,6 +1941,29 @@ export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect
1876
1941
  concurrency: options?.concurrency
1877
1942
  }), out);
1878
1943
  }));
1944
+ /** @internal */
1945
+ export const filterMap = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, filter) => suspend(() => {
1946
+ const out = [];
1947
+ for (const a of elements) {
1948
+ const result = filter(a);
1949
+ if (Result.isSuccess(result)) {
1950
+ out.push(result.success);
1951
+ }
1952
+ }
1953
+ return succeed(out);
1954
+ }));
1955
+ /** @internal */
1956
+ export const filterMapEffect = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, filter, options) => suspend(() => {
1957
+ const out = [];
1958
+ return as(forEach(elements, a => map(filter(a), result => {
1959
+ if (Result.isSuccess(result)) {
1960
+ out.push(result.success);
1961
+ }
1962
+ }), {
1963
+ discard: true,
1964
+ concurrency: options?.concurrency
1965
+ }), out);
1966
+ }));
1879
1967
  // ----------------------------------------------------------------------------
1880
1968
  // do notation
1881
1969
  // ----------------------------------------------------------------------------
@@ -1904,7 +1992,7 @@ export const forkUnsafe = (parent, effect, immediate = false, daemon = false, un
1904
1992
  if (immediate) {
1905
1993
  child.evaluate(effect);
1906
1994
  } else {
1907
- parent.currentScheduler.scheduleTask(() => child.evaluate(effect), 0);
1995
+ parent.currentDispatcher.scheduleTask(() => child.evaluate(effect), 0);
1908
1996
  }
1909
1997
  if (!daemon && !child._exit) {
1910
1998
  parent.children().add(child);
@@ -1949,8 +2037,7 @@ export const forkScoped = /*#__PURE__*/dual(args => isEffect(args[0]), (self, op
1949
2037
  // ----------------------------------------------------------------------------
1950
2038
  /** @internal */
1951
2039
  export const runForkWith = services => (effect, options) => {
1952
- const scheduler = options?.scheduler || !services.mapUnsafe.has(Scheduler.Scheduler.key) && new Scheduler.MixedScheduler();
1953
- const fiber = new FiberImpl(scheduler ? ServiceMap.add(services, Scheduler.Scheduler, scheduler) : services, options?.uninterruptible !== true);
2040
+ const fiber = new FiberImpl(options?.scheduler ? ServiceMap.add(services, Scheduler.Scheduler, options.scheduler) : services, options?.uninterruptible !== true);
1954
2041
  fiber.evaluate(effect);
1955
2042
  if (fiber._exit) return fiber;
1956
2043
  if (options?.signal) {
@@ -1964,6 +2051,9 @@ export const runForkWith = services => (effect, options) => {
1964
2051
  fiber.addObserver(() => options.signal.removeEventListener("abort", abort));
1965
2052
  }
1966
2053
  }
2054
+ if (options?.onFiberStart) {
2055
+ options.onFiberStart(fiber);
2056
+ }
1967
2057
  return fiber;
1968
2058
  };
1969
2059
  /** @internal */
@@ -2029,8 +2119,8 @@ export const runSyncExitWith = services => {
2029
2119
  const fiber = runFork(effect, {
2030
2120
  scheduler
2031
2121
  });
2032
- scheduler.flush();
2033
- return fiber._exit ?? exitDie(fiber);
2122
+ fiber.currentDispatcher?.flush();
2123
+ return fiber._exit ?? exitDie(new AsyncFiberError(fiber));
2034
2124
  };
2035
2125
  };
2036
2126
  /** @internal */
@@ -2046,78 +2136,6 @@ export const runSyncWith = services => {
2046
2136
  };
2047
2137
  /** @internal */
2048
2138
  export const runSync = /*#__PURE__*/runSyncWith(/*#__PURE__*/ServiceMap.empty());
2049
- // ----------------------------------------------------------------------------
2050
- // Semaphore
2051
- // ----------------------------------------------------------------------------
2052
- /** @internal */
2053
- class Semaphore {
2054
- waiters = /*#__PURE__*/new Set();
2055
- taken = 0;
2056
- permits;
2057
- constructor(permits) {
2058
- this.permits = permits;
2059
- }
2060
- get free() {
2061
- return this.permits - this.taken;
2062
- }
2063
- take = n => callback(resume => {
2064
- if (this.free < n) {
2065
- const observer = () => {
2066
- if (this.free < n) {
2067
- return;
2068
- }
2069
- this.waiters.delete(observer);
2070
- this.taken += n;
2071
- resume(succeed(n));
2072
- };
2073
- this.waiters.add(observer);
2074
- return sync(() => {
2075
- this.waiters.delete(observer);
2076
- });
2077
- }
2078
- this.taken += n;
2079
- return resume(succeed(n));
2080
- });
2081
- updateTakenUnsafe(fiber, f) {
2082
- this.taken = f(this.taken);
2083
- if (this.waiters.size > 0) {
2084
- fiber.currentScheduler.scheduleTask(() => {
2085
- const iter = this.waiters.values();
2086
- let item = iter.next();
2087
- while (item.done === false && this.free > 0) {
2088
- item.value();
2089
- item = iter.next();
2090
- }
2091
- }, 0);
2092
- }
2093
- return succeed(this.free);
2094
- }
2095
- updateTaken(f) {
2096
- return withFiber(fiber => this.updateTakenUnsafe(fiber, f));
2097
- }
2098
- resize = permits => asVoid(withFiber(fiber => {
2099
- this.permits = permits;
2100
- if (this.free < 0) {
2101
- return void_;
2102
- }
2103
- return this.updateTakenUnsafe(fiber, taken => taken);
2104
- }));
2105
- release = n => this.updateTaken(taken => taken - n);
2106
- releaseAll = /*#__PURE__*/this.updateTaken(_ => 0);
2107
- withPermits = n => self => uninterruptibleMask(restore => flatMap(restore(this.take(n)), permits => ensuring(restore(self), this.release(permits))));
2108
- withPermit = /*#__PURE__*/this.withPermits(1);
2109
- withPermitsIfAvailable = n => self => uninterruptibleMask(restore => suspend(() => {
2110
- if (this.free < n) {
2111
- return succeedNone;
2112
- }
2113
- this.taken += n;
2114
- return ensuring(restore(asSome(self)), this.release(n));
2115
- }));
2116
- }
2117
- /** @internal */
2118
- export const makeSemaphoreUnsafe = permits => new Semaphore(permits);
2119
- /** @internal */
2120
- export const makeSemaphore = permits => sync(() => makeSemaphoreUnsafe(permits));
2121
2139
  const succeedTrue = /*#__PURE__*/succeed(true);
2122
2140
  const succeedFalse = /*#__PURE__*/succeed(false);
2123
2141
  class Latch {
@@ -2132,7 +2150,7 @@ class Latch {
2132
2150
  return succeedTrue;
2133
2151
  }
2134
2152
  this.scheduled = true;
2135
- fiber.currentScheduler.scheduleTask(this.flushWaiters, 0);
2153
+ fiber.currentDispatcher.scheduleTask(this.flushWaiters, 0);
2136
2154
  return succeedTrue;
2137
2155
  }
2138
2156
  flushWaiters = () => {
@@ -2173,7 +2191,7 @@ class Latch {
2173
2191
  return true;
2174
2192
  }
2175
2193
  close = /*#__PURE__*/sync(() => this.closeUnsafe());
2176
- whenOpen = self => andThen(this.await, self);
2194
+ whenOpen = self => flatMap(this.await, () => self);
2177
2195
  }
2178
2196
  /** @internal */
2179
2197
  export const makeLatchUnsafe = open => new Latch(open ?? false);
@@ -2213,14 +2231,13 @@ const NoopSpanProto = {
2213
2231
  /** @internal */
2214
2232
  export const noopSpan = options => Object.assign(Object.create(NoopSpanProto), options);
2215
2233
  const filterDisablePropagation = span => {
2216
- if (span) {
2217
- return ServiceMap.get(span.annotations, Tracer.DisablePropagation) ? span._tag === "Span" ? filterDisablePropagation(span.parent) : undefined : span;
2218
- }
2234
+ if (!span) return Option.none();
2235
+ return ServiceMap.get(span.annotations, Tracer.DisablePropagation) ? span._tag === "Span" ? filterDisablePropagation(Option.getOrUndefined(span.parent)) : Option.none() : Option.some(span);
2219
2236
  };
2220
2237
  /** @internal */
2221
2238
  export const makeSpanUnsafe = (fiber, name, options) => {
2222
2239
  const disablePropagation = !fiber.getRef(TracerEnabled) || options?.annotations && ServiceMap.get(options.annotations, Tracer.DisablePropagation);
2223
- const parent = options?.parent ?? (options?.root ? undefined : filterDisablePropagation(fiber.currentSpan));
2240
+ const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.currentSpan);
2224
2241
  let span;
2225
2242
  if (disablePropagation) {
2226
2243
  span = noopSpan({
@@ -2243,8 +2260,8 @@ export const makeSpanUnsafe = (fiber, name, options) => {
2243
2260
  links,
2244
2261
  startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : 0n,
2245
2262
  kind: options?.kind ?? "internal",
2246
- root: options?.root ?? options?.parent === undefined,
2247
- sampled: options?.sampled ?? (parent?.sampled === false ? false : !isLogLevelGreaterThan(fiber.getRef(Tracer.MinimumTraceLevel), level))
2263
+ root: options?.root ?? Option.isNone(parent),
2264
+ sampled: options?.sampled ?? (Option.isSome(parent) && parent.value.sampled === false ? false : !isLogLevelGreaterThan(fiber.getRef(Tracer.MinimumTraceLevel), level))
2248
2265
  });
2249
2266
  for (const [key, value] of Object.entries(annotationsFromEnv)) {
2250
2267
  span.attribute(key, value);
@@ -2427,7 +2444,7 @@ const processOrPerformanceNow = /*#__PURE__*/function () {
2427
2444
  /** @internal */
2428
2445
  export const clockWith = f => withFiber(fiber => f(fiber.getRef(ClockRef)));
2429
2446
  /** @internal */
2430
- export const sleep = duration => clockWith(clock => clock.sleep(Duration.fromDurationInputUnsafe(duration)));
2447
+ export const sleep = duration => clockWith(clock => clock.sleep(Duration.fromInputUnsafe(duration)));
2431
2448
  /** @internal */
2432
2449
  export const currentTimeMillis = /*#__PURE__*/clockWith(clock => clock.currentTimeMillis);
2433
2450
  /** @internal */
@@ -2475,6 +2492,20 @@ export class ExceededCapacityError extends /*#__PURE__*/TaggedError("ExceededCap
2475
2492
  }
2476
2493
  }
2477
2494
  /** @internal */
2495
+ export const AsyncFiberErrorTypeId = "~effect/Cause/AsyncFiberError";
2496
+ /** @internal */
2497
+ export const isAsyncFiberError = u => hasProperty(u, AsyncFiberErrorTypeId);
2498
+ /** @internal */
2499
+ export class AsyncFiberError extends /*#__PURE__*/TaggedError("AsyncFiberError") {
2500
+ [AsyncFiberErrorTypeId] = AsyncFiberErrorTypeId;
2501
+ constructor(fiber) {
2502
+ super({
2503
+ message: "An asynchronous Effect was executed with Effect.runSync",
2504
+ fiber
2505
+ });
2506
+ }
2507
+ }
2508
+ /** @internal */
2478
2509
  export const UnknownErrorTypeId = "~effect/Cause/UnknownError";
2479
2510
  /** @internal */
2480
2511
  export const isUnknownError = u => hasProperty(u, UnknownErrorTypeId);
@@ -2535,6 +2566,38 @@ export const LogToStderr = /*#__PURE__*/ServiceMap.Reference("effect/Logger/LogT
2535
2566
  defaultValue: constFalse
2536
2567
  });
2537
2568
  /** @internal */
2569
+ export const annotateLogsScoped = function () {
2570
+ const entries = typeof arguments[0] === "string" ? [[arguments[0], arguments[1]]] : Object.entries(arguments[0]);
2571
+ return uninterruptible(withFiber(fiber => {
2572
+ const prev = fiber.getRef(CurrentLogAnnotations);
2573
+ const next = {
2574
+ ...prev
2575
+ };
2576
+ for (let i = 0; i < entries.length; i++) {
2577
+ const [key, value] = entries[i];
2578
+ next[key] = value;
2579
+ }
2580
+ fiber.setServices(ServiceMap.add(fiber.services, CurrentLogAnnotations, next));
2581
+ return scopeAddFinalizerExit(ServiceMap.getUnsafe(fiber.services, scopeTag), _ => {
2582
+ const current = fiber.getRef(CurrentLogAnnotations);
2583
+ const next = {
2584
+ ...current
2585
+ };
2586
+ for (let i = 0; i < entries.length; i++) {
2587
+ const [key, value] = entries[i];
2588
+ if (current[key] !== value) continue;
2589
+ if (key in prev) {
2590
+ next[key] = prev[key];
2591
+ } else {
2592
+ delete next[key];
2593
+ }
2594
+ }
2595
+ fiber.setServices(ServiceMap.add(fiber.services, CurrentLogAnnotations, next));
2596
+ return void_;
2597
+ });
2598
+ }));
2599
+ };
2600
+ /** @internal */
2538
2601
  export const LoggerTypeId = "~effect/Logger";
2539
2602
  const LoggerProto = {
2540
2603
  [LoggerTypeId]: {
@@ -2684,7 +2747,7 @@ export const consolePretty = options => {
2684
2747
  };
2685
2748
  const prettyLoggerTty = options => {
2686
2749
  const processIsBun = typeof process === "object" && "isBun" in process && process.isBun === true;
2687
- const color = options.colors && processStdoutIsTTY ? withColor : withColorNoop;
2750
+ const color = options.colors ? withColor : withColorNoop;
2688
2751
  return loggerMake(({
2689
2752
  cause,
2690
2753
  date,
@@ -2795,7 +2858,7 @@ export const defaultLogger = /*#__PURE__*/loggerMake(({
2795
2858
  }) => {
2796
2859
  const message_ = Array.isArray(message) ? message.slice() : [message];
2797
2860
  if (cause.reasons.length > 0) {
2798
- message_.unshift(causePretty(cause));
2861
+ message_.push(causePretty(cause));
2799
2862
  }
2800
2863
  const now = date.getTime();
2801
2864
  const spans = fiber.getRef(CurrentLogSpans);
@@ -2841,4 +2904,24 @@ export function interruptChildrenPatch() {
2841
2904
  const undefined_ = /*#__PURE__*/succeed(undefined);
2842
2905
  /** @internal */
2843
2906
  export { undefined_ as undefined };
2907
+ // ----------------------------------------------------------------------------
2908
+ // ErrorReporter
2909
+ // ----------------------------------------------------------------------------
2910
+ /** @internal */
2911
+ export const withErrorReporting = /*#__PURE__*/dual(args => isEffect(args[0]), (self, options) => onError(self, cause => withFiber(fiber => {
2912
+ reportCauseUnsafe(fiber, cause, options?.defectsOnly);
2913
+ return void_;
2914
+ })));
2915
+ /** @internal */
2916
+ export const reportCauseUnsafe = (fiber, cause, defectsOnly) => {
2917
+ const reporters = fiber.getRef(CurrentErrorReporters);
2918
+ if (reporters.size === 0) return;
2919
+ if (defectsOnly && !hasDies(cause)) return;
2920
+ const opts = {
2921
+ cause,
2922
+ fiber,
2923
+ timestamp: fiber.getRef(ClockRef).currentTimeNanosUnsafe()
2924
+ };
2925
+ reporters.forEach(reporter => reporter.report(opts));
2926
+ };
2844
2927
  //# sourceMappingURL=effect.js.map