effect 4.0.0-rc.111 → 4.0.0-rc.113

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 (1293) hide show
  1. package/AGENTS.md +24 -9
  2. package/CLAUDE.md +24 -9
  3. package/ai-docs/package.json +2 -2
  4. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
  5. package/ai-docs/src/01_effect/01_basics/index.md +5 -3
  6. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
  7. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
  8. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
  9. package/ai-docs/src/03_stream/30_encoding.ts +5 -7
  10. package/ai-docs/src/08_observability/10_logging.ts +1 -1
  11. package/ai-docs/src/70_cli/10_basics.ts +7 -7
  12. package/ai-docs/src/71_ai/10_language-model.ts +2 -2
  13. package/ai-docs/src/71_ai/20_tools.ts +1 -1
  14. package/ai-docs/src/71_ai/30_chat.ts +1 -1
  15. package/dist/Array.d.ts +109 -52
  16. package/dist/Array.d.ts.map +1 -1
  17. package/dist/Array.js +65 -32
  18. package/dist/Array.js.map +1 -1
  19. package/dist/BigDecimal.d.ts +5 -1
  20. package/dist/BigDecimal.d.ts.map +1 -1
  21. package/dist/BigDecimal.js +40 -23
  22. package/dist/BigDecimal.js.map +1 -1
  23. package/dist/ByteSize.d.ts +633 -0
  24. package/dist/ByteSize.d.ts.map +1 -0
  25. package/dist/ByteSize.js +524 -0
  26. package/dist/ByteSize.js.map +1 -0
  27. package/dist/Cache.d.ts.map +1 -1
  28. package/dist/Cache.js +17 -3
  29. package/dist/Cache.js.map +1 -1
  30. package/dist/Cause.d.ts +1 -1
  31. package/dist/Cause.d.ts.map +1 -1
  32. package/dist/Channel.d.ts +97 -24
  33. package/dist/Channel.d.ts.map +1 -1
  34. package/dist/Channel.js +68 -41
  35. package/dist/Channel.js.map +1 -1
  36. package/dist/Chunk.d.ts +49 -28
  37. package/dist/Chunk.d.ts.map +1 -1
  38. package/dist/Chunk.js +27 -18
  39. package/dist/Chunk.js.map +1 -1
  40. package/dist/Config.d.ts +162 -201
  41. package/dist/Config.d.ts.map +1 -1
  42. package/dist/Config.js +103 -212
  43. package/dist/Config.js.map +1 -1
  44. package/dist/ConfigProvider.d.ts +4 -4
  45. package/dist/ConfigProvider.d.ts.map +1 -1
  46. package/dist/ConfigProvider.js +7 -7
  47. package/dist/ConfigProvider.js.map +1 -1
  48. package/dist/Context.d.ts +31 -0
  49. package/dist/Context.d.ts.map +1 -1
  50. package/dist/Context.js.map +1 -1
  51. package/dist/Cron.d.ts +2 -2
  52. package/dist/Cron.d.ts.map +1 -1
  53. package/dist/Cron.js +2 -2
  54. package/dist/Cron.js.map +1 -1
  55. package/dist/Crypto.d.ts +1 -1
  56. package/dist/Crypto.d.ts.map +1 -1
  57. package/dist/Crypto.js +3 -2
  58. package/dist/Crypto.js.map +1 -1
  59. package/dist/DateTime.d.ts +2 -2
  60. package/dist/DateTime.d.ts.map +1 -1
  61. package/dist/Deferred.d.ts.map +1 -1
  62. package/dist/Deferred.js +6 -6
  63. package/dist/Deferred.js.map +1 -1
  64. package/dist/Duration.d.ts +1 -1
  65. package/dist/Duration.d.ts.map +1 -1
  66. package/dist/Duration.js +1 -1
  67. package/dist/Duration.js.map +1 -1
  68. package/dist/Effect.d.ts +220 -113
  69. package/dist/Effect.d.ts.map +1 -1
  70. package/dist/Effect.js +27 -26
  71. package/dist/Effect.js.map +1 -1
  72. package/dist/Effectable.d.ts +58 -2
  73. package/dist/Effectable.d.ts.map +1 -1
  74. package/dist/Effectable.js +58 -6
  75. package/dist/Effectable.js.map +1 -1
  76. package/dist/Encoding.d.ts +3 -1
  77. package/dist/Encoding.d.ts.map +1 -1
  78. package/dist/Encoding.js +40 -10
  79. package/dist/Encoding.js.map +1 -1
  80. package/dist/Equal.d.ts +1 -1
  81. package/dist/Equal.d.ts.map +1 -1
  82. package/dist/Equal.js +1 -1
  83. package/dist/Equal.js.map +1 -1
  84. package/dist/ExecutionPlan.d.ts.map +1 -1
  85. package/dist/ExecutionPlan.js +1 -0
  86. package/dist/ExecutionPlan.js.map +1 -1
  87. package/dist/Fiber.d.ts +32 -8
  88. package/dist/Fiber.d.ts.map +1 -1
  89. package/dist/Fiber.js.map +1 -1
  90. package/dist/FiberHandle.js +3 -3
  91. package/dist/FiberHandle.js.map +1 -1
  92. package/dist/FiberMap.d.ts +12 -6
  93. package/dist/FiberMap.d.ts.map +1 -1
  94. package/dist/FiberMap.js +11 -6
  95. package/dist/FiberMap.js.map +1 -1
  96. package/dist/FileSystem.d.ts +42 -210
  97. package/dist/FileSystem.d.ts.map +1 -1
  98. package/dist/FileSystem.js +16 -148
  99. package/dist/FileSystem.js.map +1 -1
  100. package/dist/Formatter.d.ts +1 -0
  101. package/dist/Formatter.d.ts.map +1 -1
  102. package/dist/Formatter.js +19 -3
  103. package/dist/Formatter.js.map +1 -1
  104. package/dist/Graph.d.ts +48 -20
  105. package/dist/Graph.d.ts.map +1 -1
  106. package/dist/Graph.js +20 -5
  107. package/dist/Graph.js.map +1 -1
  108. package/dist/Hash.d.ts +1 -1
  109. package/dist/Hash.d.ts.map +1 -1
  110. package/dist/Hash.js +5 -14
  111. package/dist/Hash.js.map +1 -1
  112. package/dist/HashMap.d.ts +1 -1
  113. package/dist/HashMap.d.ts.map +1 -1
  114. package/dist/HashRing.d.ts +6 -1
  115. package/dist/HashRing.d.ts.map +1 -1
  116. package/dist/HashRing.js +9 -2
  117. package/dist/HashRing.js.map +1 -1
  118. package/dist/HashSet.d.ts +1 -1
  119. package/dist/HashSet.d.ts.map +1 -1
  120. package/dist/HashSet.js.map +1 -1
  121. package/dist/Iterable.d.ts +56 -17
  122. package/dist/Iterable.d.ts.map +1 -1
  123. package/dist/Iterable.js +65 -45
  124. package/dist/Iterable.js.map +1 -1
  125. package/dist/JsonPatch.js +4 -4
  126. package/dist/JsonPatch.js.map +1 -1
  127. package/dist/JsonPointer.d.ts +68 -4
  128. package/dist/JsonPointer.d.ts.map +1 -1
  129. package/dist/JsonPointer.js +90 -4
  130. package/dist/JsonPointer.js.map +1 -1
  131. package/dist/JsonSchema.d.ts +67 -94
  132. package/dist/JsonSchema.d.ts.map +1 -1
  133. package/dist/JsonSchema.js +752 -397
  134. package/dist/JsonSchema.js.map +1 -1
  135. package/dist/Layer.d.ts +47 -4
  136. package/dist/Layer.d.ts.map +1 -1
  137. package/dist/Layer.js +4 -6
  138. package/dist/Layer.js.map +1 -1
  139. package/dist/LayerMap.d.ts +24 -3
  140. package/dist/LayerMap.d.ts.map +1 -1
  141. package/dist/LayerMap.js +9 -5
  142. package/dist/LayerMap.js.map +1 -1
  143. package/dist/LayerRef.d.ts.map +1 -1
  144. package/dist/LayerRef.js +7 -5
  145. package/dist/LayerRef.js.map +1 -1
  146. package/dist/Logger.d.ts +114 -9
  147. package/dist/Logger.d.ts.map +1 -1
  148. package/dist/Logger.js +109 -9
  149. package/dist/Logger.js.map +1 -1
  150. package/dist/ManagedRuntime.js +1 -1
  151. package/dist/ManagedRuntime.js.map +1 -1
  152. package/dist/Match.d.ts +43 -31
  153. package/dist/Match.d.ts.map +1 -1
  154. package/dist/Match.js +5 -2
  155. package/dist/Match.js.map +1 -1
  156. package/dist/Metric.d.ts +11 -4
  157. package/dist/Metric.d.ts.map +1 -1
  158. package/dist/Metric.js +14 -18
  159. package/dist/Metric.js.map +1 -1
  160. package/dist/MutableHashMap.d.ts +1 -1
  161. package/dist/MutableHashMap.d.ts.map +1 -1
  162. package/dist/MutableHashMap.js +1 -1
  163. package/dist/MutableHashMap.js.map +1 -1
  164. package/dist/MutableHashSet.d.ts +1 -1
  165. package/dist/MutableHashSet.d.ts.map +1 -1
  166. package/dist/MutableHashSet.js +1 -1
  167. package/dist/MutableHashSet.js.map +1 -1
  168. package/dist/MutableList.d.ts +13 -2
  169. package/dist/MutableList.d.ts.map +1 -1
  170. package/dist/MutableList.js +18 -2
  171. package/dist/MutableList.js.map +1 -1
  172. package/dist/Number.d.ts +6 -0
  173. package/dist/Number.d.ts.map +1 -1
  174. package/dist/Number.js +3 -1
  175. package/dist/Number.js.map +1 -1
  176. package/dist/Optic.d.ts.map +1 -1
  177. package/dist/Optic.js +5 -4
  178. package/dist/Optic.js.map +1 -1
  179. package/dist/Option.d.ts +1 -1
  180. package/dist/Option.d.ts.map +1 -1
  181. package/dist/Option.js +1 -1
  182. package/dist/Option.js.map +1 -1
  183. package/dist/Order.d.ts +1 -0
  184. package/dist/Order.d.ts.map +1 -1
  185. package/dist/Order.js +3 -1
  186. package/dist/Order.js.map +1 -1
  187. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  188. package/dist/PartitionedSemaphore.js +1 -2
  189. package/dist/PartitionedSemaphore.js.map +1 -1
  190. package/dist/Path.d.ts +1 -1
  191. package/dist/Path.d.ts.map +1 -1
  192. package/dist/Path.js +1 -1
  193. package/dist/Path.js.map +1 -1
  194. package/dist/PlatformError.d.ts +1 -1
  195. package/dist/PlatformError.d.ts.map +1 -1
  196. package/dist/PlatformError.js +1 -1
  197. package/dist/PlatformError.js.map +1 -1
  198. package/dist/Pool.d.ts +137 -10
  199. package/dist/Pool.d.ts.map +1 -1
  200. package/dist/Pool.js +332 -75
  201. package/dist/Pool.js.map +1 -1
  202. package/dist/PrimaryKey.d.ts +1 -1
  203. package/dist/PrimaryKey.d.ts.map +1 -1
  204. package/dist/PrimaryKey.js +1 -1
  205. package/dist/PrimaryKey.js.map +1 -1
  206. package/dist/PubSub.d.ts +21 -9
  207. package/dist/PubSub.d.ts.map +1 -1
  208. package/dist/PubSub.js +18 -14
  209. package/dist/PubSub.js.map +1 -1
  210. package/dist/Queue.d.ts +82 -6
  211. package/dist/Queue.d.ts.map +1 -1
  212. package/dist/Queue.js +116 -27
  213. package/dist/Queue.js.map +1 -1
  214. package/dist/Random.d.ts +17 -4
  215. package/dist/Random.d.ts.map +1 -1
  216. package/dist/Random.js +1 -1
  217. package/dist/Random.js.map +1 -1
  218. package/dist/RcMap.d.ts +137 -0
  219. package/dist/RcMap.d.ts.map +1 -1
  220. package/dist/RcMap.js +72 -9
  221. package/dist/RcMap.js.map +1 -1
  222. package/dist/Record.d.ts +13 -0
  223. package/dist/Record.d.ts.map +1 -1
  224. package/dist/Record.js.map +1 -1
  225. package/dist/Redacted.d.ts +1 -1
  226. package/dist/Redacted.d.ts.map +1 -1
  227. package/dist/Redacted.js +1 -1
  228. package/dist/Redacted.js.map +1 -1
  229. package/dist/RequestResolver.d.ts +15 -9
  230. package/dist/RequestResolver.d.ts.map +1 -1
  231. package/dist/RequestResolver.js +33 -15
  232. package/dist/RequestResolver.js.map +1 -1
  233. package/dist/Result.d.ts +1 -1
  234. package/dist/Result.d.ts.map +1 -1
  235. package/dist/Result.js +1 -1
  236. package/dist/Result.js.map +1 -1
  237. package/dist/Scheduler.d.ts.map +1 -1
  238. package/dist/Scheduler.js +19 -10
  239. package/dist/Scheduler.js.map +1 -1
  240. package/dist/Schema.d.ts +2200 -2433
  241. package/dist/Schema.d.ts.map +1 -1
  242. package/dist/Schema.js +2797 -4184
  243. package/dist/Schema.js.map +1 -1
  244. package/dist/SchemaAST.d.ts +359 -176
  245. package/dist/SchemaAST.d.ts.map +1 -1
  246. package/dist/SchemaAST.js +373 -630
  247. package/dist/SchemaAST.js.map +1 -1
  248. package/dist/SchemaGetter.d.ts +46 -22
  249. package/dist/SchemaGetter.d.ts.map +1 -1
  250. package/dist/SchemaGetter.js +56 -53
  251. package/dist/SchemaGetter.js.map +1 -1
  252. package/dist/SchemaIssue.d.ts +123 -200
  253. package/dist/SchemaIssue.d.ts.map +1 -1
  254. package/dist/SchemaIssue.js +59 -263
  255. package/dist/SchemaIssue.js.map +1 -1
  256. package/dist/SchemaParser.js +2 -9
  257. package/dist/SchemaParser.js.map +1 -1
  258. package/dist/SchemaRepresentation.d.ts +1276 -172
  259. package/dist/SchemaRepresentation.d.ts.map +1 -1
  260. package/dist/SchemaRepresentation.js +1371 -29
  261. package/dist/SchemaRepresentation.js.map +1 -1
  262. package/dist/SchemaTransformation.d.ts +49 -16
  263. package/dist/SchemaTransformation.d.ts.map +1 -1
  264. package/dist/SchemaTransformation.js +75 -98
  265. package/dist/SchemaTransformation.js.map +1 -1
  266. package/dist/Scope.d.ts +9 -2
  267. package/dist/Scope.d.ts.map +1 -1
  268. package/dist/Scope.js.map +1 -1
  269. package/dist/ScopedCache.d.ts.map +1 -1
  270. package/dist/ScopedCache.js +10 -3
  271. package/dist/ScopedCache.js.map +1 -1
  272. package/dist/Sink.d.ts +9 -4
  273. package/dist/Sink.d.ts.map +1 -1
  274. package/dist/Sink.js +49 -31
  275. package/dist/Sink.js.map +1 -1
  276. package/dist/StandardSchema.d.ts +125 -0
  277. package/dist/StandardSchema.d.ts.map +1 -0
  278. package/dist/StandardSchema.js +9 -0
  279. package/dist/StandardSchema.js.map +1 -0
  280. package/dist/Stream.d.ts +221 -35
  281. package/dist/Stream.d.ts.map +1 -1
  282. package/dist/Stream.js +168 -84
  283. package/dist/Stream.js.map +1 -1
  284. package/dist/String.d.ts +16 -6
  285. package/dist/String.d.ts.map +1 -1
  286. package/dist/String.js +12 -5
  287. package/dist/String.js.map +1 -1
  288. package/dist/Struct.d.ts.map +1 -1
  289. package/dist/Struct.js +7 -4
  290. package/dist/Struct.js.map +1 -1
  291. package/dist/SynchronizedRef.d.ts +3 -2
  292. package/dist/SynchronizedRef.d.ts.map +1 -1
  293. package/dist/SynchronizedRef.js.map +1 -1
  294. package/dist/Terminal.d.ts +3 -3
  295. package/dist/Terminal.d.ts.map +1 -1
  296. package/dist/Terminal.js +3 -3
  297. package/dist/Terminal.js.map +1 -1
  298. package/dist/Tracer.d.ts +27 -7
  299. package/dist/Tracer.d.ts.map +1 -1
  300. package/dist/Tracer.js +38 -13
  301. package/dist/Tracer.js.map +1 -1
  302. package/dist/Trie.d.ts +1 -1
  303. package/dist/Trie.d.ts.map +1 -1
  304. package/dist/Tuple.d.ts +2 -1
  305. package/dist/Tuple.d.ts.map +1 -1
  306. package/dist/Tuple.js.map +1 -1
  307. package/dist/TxChunk.d.ts +1 -1
  308. package/dist/TxChunk.d.ts.map +1 -1
  309. package/dist/TxChunk.js +1 -1
  310. package/dist/TxChunk.js.map +1 -1
  311. package/dist/TxDeferred.d.ts +1 -1
  312. package/dist/TxDeferred.d.ts.map +1 -1
  313. package/dist/TxDeferred.js +1 -1
  314. package/dist/TxDeferred.js.map +1 -1
  315. package/dist/TxHashMap.d.ts +1 -1
  316. package/dist/TxHashMap.d.ts.map +1 -1
  317. package/dist/TxHashMap.js +1 -1
  318. package/dist/TxHashMap.js.map +1 -1
  319. package/dist/TxHashSet.d.ts +1 -1
  320. package/dist/TxHashSet.d.ts.map +1 -1
  321. package/dist/TxHashSet.js +1 -1
  322. package/dist/TxHashSet.js.map +1 -1
  323. package/dist/TxPriorityQueue.d.ts +1 -1
  324. package/dist/TxPriorityQueue.d.ts.map +1 -1
  325. package/dist/TxPriorityQueue.js +1 -1
  326. package/dist/TxPriorityQueue.js.map +1 -1
  327. package/dist/TxPubSub.d.ts +1 -1
  328. package/dist/TxPubSub.d.ts.map +1 -1
  329. package/dist/TxPubSub.js +1 -1
  330. package/dist/TxPubSub.js.map +1 -1
  331. package/dist/TxQueue.d.ts +9 -9
  332. package/dist/TxQueue.d.ts.map +1 -1
  333. package/dist/TxQueue.js +93 -86
  334. package/dist/TxQueue.js.map +1 -1
  335. package/dist/TxReentrantLock.d.ts +29 -1
  336. package/dist/TxReentrantLock.d.ts.map +1 -1
  337. package/dist/TxReentrantLock.js +29 -1
  338. package/dist/TxReentrantLock.js.map +1 -1
  339. package/dist/TxRef.d.ts +1 -1
  340. package/dist/TxRef.d.ts.map +1 -1
  341. package/dist/TxRef.js +1 -1
  342. package/dist/TxRef.js.map +1 -1
  343. package/dist/TxSemaphore.d.ts +1 -1
  344. package/dist/TxSemaphore.d.ts.map +1 -1
  345. package/dist/TxSemaphore.js +1 -1
  346. package/dist/TxSemaphore.js.map +1 -1
  347. package/dist/TxSubscriptionRef.d.ts +1 -1
  348. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  349. package/dist/TxSubscriptionRef.js +1 -1
  350. package/dist/TxSubscriptionRef.js.map +1 -1
  351. package/dist/Types.d.ts +33 -19
  352. package/dist/Types.d.ts.map +1 -1
  353. package/dist/Utils.d.ts.map +1 -1
  354. package/dist/Utils.js +2 -1
  355. package/dist/Utils.js.map +1 -1
  356. package/dist/index.d.ts +8 -0
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/index.js +8 -0
  359. package/dist/index.js.map +1 -1
  360. package/dist/internal/arbitrary/model.d.ts +2 -0
  361. package/dist/internal/arbitrary/model.d.ts.map +1 -0
  362. package/dist/internal/arbitrary/model.js +495 -0
  363. package/dist/internal/arbitrary/model.js.map +1 -0
  364. package/dist/internal/arbitrary/regexp.d.ts +2 -0
  365. package/dist/internal/arbitrary/regexp.d.ts.map +1 -0
  366. package/dist/internal/arbitrary/regexp.js +789 -0
  367. package/dist/internal/arbitrary/regexp.js.map +1 -0
  368. package/dist/internal/arbitrary/runner.d.ts +2 -0
  369. package/dist/internal/arbitrary/runner.d.ts.map +1 -0
  370. package/dist/internal/arbitrary/runner.js +496 -0
  371. package/dist/internal/arbitrary/runner.js.map +1 -0
  372. package/dist/internal/arbitrary/schema.d.ts.map +1 -0
  373. package/dist/internal/arbitrary/schema.js +1340 -0
  374. package/dist/internal/arbitrary/schema.js.map +1 -0
  375. package/dist/internal/core.js +27 -13
  376. package/dist/internal/core.js.map +1 -1
  377. package/dist/internal/count.d.ts +2 -0
  378. package/dist/internal/count.d.ts.map +1 -0
  379. package/dist/internal/count.js +14 -0
  380. package/dist/internal/count.js.map +1 -0
  381. package/dist/internal/dateTime.js +4 -10
  382. package/dist/internal/dateTime.js.map +1 -1
  383. package/dist/internal/effect.js +416 -258
  384. package/dist/internal/effect.js.map +1 -1
  385. package/dist/internal/graph.js +3 -1
  386. package/dist/internal/graph.js.map +1 -1
  387. package/dist/internal/hashMap.js +5 -3
  388. package/dist/internal/hashMap.js.map +1 -1
  389. package/dist/internal/hashSet.js +1 -1
  390. package/dist/internal/hashSet.js.map +1 -1
  391. package/dist/internal/matcher.js +1 -1
  392. package/dist/internal/matcher.js.map +1 -1
  393. package/dist/internal/metric.js +1 -1
  394. package/dist/internal/metric.js.map +1 -1
  395. package/dist/internal/option.js +6 -5
  396. package/dist/internal/option.js.map +1 -1
  397. package/dist/internal/random.js +17 -0
  398. package/dist/internal/random.js.map +1 -1
  399. package/dist/internal/rcRef.js +10 -7
  400. package/dist/internal/rcRef.js.map +1 -1
  401. package/dist/internal/references.js +1 -0
  402. package/dist/internal/references.js.map +1 -1
  403. package/dist/internal/request.js +13 -6
  404. package/dist/internal/request.js.map +1 -1
  405. package/dist/internal/result.js +11 -9
  406. package/dist/internal/result.js.map +1 -1
  407. package/dist/internal/schema/annotations.js +1 -1
  408. package/dist/internal/schema/annotations.js.map +1 -1
  409. package/dist/internal/schema/fromJsonSchemaDocument.js +238 -132
  410. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  411. package/dist/internal/schema/fromRepresentation.js +5 -5
  412. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  413. package/dist/internal/schema/make.d.ts +2 -0
  414. package/dist/internal/schema/make.d.ts.map +1 -0
  415. package/dist/internal/schema/{schema.js → make.js} +1 -25
  416. package/dist/internal/schema/make.js.map +1 -0
  417. package/dist/internal/schema/parser.d.ts +0 -12
  418. package/dist/internal/schema/parser.d.ts.map +1 -1
  419. package/dist/internal/schema/parser.js +7 -0
  420. package/dist/internal/schema/parser.js.map +1 -1
  421. package/dist/internal/schema/standardSchema.d.ts +2 -0
  422. package/dist/internal/schema/standardSchema.d.ts.map +1 -0
  423. package/dist/internal/schema/standardSchema.js +112 -0
  424. package/dist/internal/schema/standardSchema.js.map +1 -0
  425. package/dist/internal/schema/toCodeDocument.js +34 -22
  426. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  427. package/dist/internal/schema/toCodec.d.ts +2 -0
  428. package/dist/internal/schema/toCodec.d.ts.map +1 -0
  429. package/dist/internal/schema/toCodec.js +242 -0
  430. package/dist/internal/schema/toCodec.js.map +1 -0
  431. package/dist/internal/schema/toDifferJsonPatch.d.ts +2 -0
  432. package/dist/internal/schema/toDifferJsonPatch.d.ts.map +1 -0
  433. package/dist/internal/schema/toDifferJsonPatch.js +20 -0
  434. package/dist/internal/schema/toDifferJsonPatch.js.map +1 -0
  435. package/dist/internal/schema/toEncoderXml.d.ts +2 -0
  436. package/dist/internal/schema/toEncoderXml.d.ts.map +1 -0
  437. package/dist/internal/schema/toEncoderXml.js +104 -0
  438. package/dist/internal/schema/toEncoderXml.js.map +1 -0
  439. package/dist/internal/schema/toEquivalence.js +66 -0
  440. package/dist/internal/schema/toEquivalence.js.map +1 -1
  441. package/dist/internal/schema/toFormatter.d.ts +2 -0
  442. package/dist/internal/schema/toFormatter.d.ts.map +1 -0
  443. package/dist/internal/schema/toFormatter.js +227 -0
  444. package/dist/internal/schema/toFormatter.js.map +1 -0
  445. package/dist/internal/schema/toIso.d.ts +2 -0
  446. package/dist/internal/schema/toIso.d.ts.map +1 -0
  447. package/dist/internal/schema/toIso.js +17 -0
  448. package/dist/internal/schema/toIso.js.map +1 -0
  449. package/dist/internal/schema/toJsonSchemaDocument.js +122 -71
  450. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  451. package/dist/internal/schema/toRepresentation.js +3 -1
  452. package/dist/internal/schema/toRepresentation.js.map +1 -1
  453. package/dist/internal/schemaError.d.ts +4 -0
  454. package/dist/internal/schemaError.d.ts.map +1 -0
  455. package/dist/internal/schemaError.js +6 -0
  456. package/dist/internal/schemaError.js.map +1 -0
  457. package/dist/internal/stream.js +5 -6
  458. package/dist/internal/stream.js.map +1 -1
  459. package/dist/internal/tracer.d.ts +1 -3
  460. package/dist/internal/tracer.d.ts.map +1 -1
  461. package/dist/internal/tracer.js +6 -0
  462. package/dist/internal/tracer.js.map +1 -1
  463. package/dist/internal/trie.js +2 -2
  464. package/dist/internal/trie.js.map +1 -1
  465. package/dist/internal/uuid.d.ts +1 -2
  466. package/dist/internal/uuid.d.ts.map +1 -1
  467. package/dist/internal/uuid.js +2 -0
  468. package/dist/internal/uuid.js.map +1 -1
  469. package/dist/testing/TestSchema.d.ts +9 -11
  470. package/dist/testing/TestSchema.d.ts.map +1 -1
  471. package/dist/testing/TestSchema.js +20 -18
  472. package/dist/testing/TestSchema.js.map +1 -1
  473. package/dist/testing/index.d.ts +0 -4
  474. package/dist/testing/index.d.ts.map +1 -1
  475. package/dist/testing/index.js +0 -4
  476. package/dist/testing/index.js.map +1 -1
  477. package/dist/unstable/ai/AiError.d.ts +98 -23
  478. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  479. package/dist/unstable/ai/AiError.js +98 -6
  480. package/dist/unstable/ai/AiError.js.map +1 -1
  481. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  482. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  483. package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -16
  484. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  485. package/dist/unstable/ai/Chat.d.ts +27 -32
  486. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  487. package/dist/unstable/ai/Chat.js +10 -13
  488. package/dist/unstable/ai/Chat.js.map +1 -1
  489. package/dist/unstable/ai/EmbeddingModel.d.ts +23 -16
  490. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  491. package/dist/unstable/ai/EmbeddingModel.js +13 -11
  492. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  493. package/dist/unstable/ai/LanguageModel.d.ts +48 -37
  494. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  495. package/dist/unstable/ai/LanguageModel.js +150 -47
  496. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  497. package/dist/unstable/ai/McpServer.d.ts +2 -2
  498. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  499. package/dist/unstable/ai/McpServer.js +87 -78
  500. package/dist/unstable/ai/McpServer.js.map +1 -1
  501. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  502. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  503. package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -14
  504. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  505. package/dist/unstable/ai/Prompt.d.ts +2 -2
  506. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  507. package/dist/unstable/ai/Prompt.js +15 -4
  508. package/dist/unstable/ai/Prompt.js.map +1 -1
  509. package/dist/unstable/ai/Response.d.ts +37 -94
  510. package/dist/unstable/ai/Response.d.ts.map +1 -1
  511. package/dist/unstable/ai/Response.js +46 -96
  512. package/dist/unstable/ai/Response.js.map +1 -1
  513. package/dist/unstable/ai/Tokenizer.js +4 -5
  514. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  515. package/dist/unstable/ai/Tool.d.ts +38 -20
  516. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  517. package/dist/unstable/ai/Tool.js +27 -1
  518. package/dist/unstable/ai/Tool.js.map +1 -1
  519. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  520. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  521. package/dist/unstable/ai/Toolkit.js +30 -18
  522. package/dist/unstable/ai/Toolkit.js.map +1 -1
  523. package/dist/unstable/ai/internal/codec-transformer.js +2 -2
  524. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  525. package/dist/unstable/ai/internal/structured-output.js +28 -5
  526. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  527. package/dist/unstable/arbitrary/Arbitrary.d.ts +626 -0
  528. package/dist/unstable/arbitrary/Arbitrary.d.ts.map +1 -0
  529. package/dist/unstable/arbitrary/Arbitrary.js +238 -0
  530. package/dist/unstable/arbitrary/Arbitrary.js.map +1 -0
  531. package/dist/unstable/arbitrary/index.d.ts +8 -0
  532. package/dist/unstable/arbitrary/index.d.ts.map +1 -0
  533. package/dist/unstable/arbitrary/index.js +9 -0
  534. package/dist/unstable/arbitrary/index.js.map +1 -0
  535. package/dist/unstable/cli/Argument.d.ts +104 -108
  536. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  537. package/dist/unstable/cli/Argument.js +56 -57
  538. package/dist/unstable/cli/Argument.js.map +1 -1
  539. package/dist/unstable/cli/CliError.d.ts +2 -0
  540. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  541. package/dist/unstable/cli/CliError.js +2 -0
  542. package/dist/unstable/cli/CliError.js.map +1 -1
  543. package/dist/unstable/cli/CliOutput.js +27 -4
  544. package/dist/unstable/cli/CliOutput.js.map +1 -1
  545. package/dist/unstable/cli/Command.d.ts +73 -73
  546. package/dist/unstable/cli/Command.d.ts.map +1 -1
  547. package/dist/unstable/cli/Command.js +22 -22
  548. package/dist/unstable/cli/Command.js.map +1 -1
  549. package/dist/unstable/cli/Completions.d.ts +4 -4
  550. package/dist/unstable/cli/Completions.d.ts.map +1 -1
  551. package/dist/unstable/cli/Flag.d.ts +150 -161
  552. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  553. package/dist/unstable/cli/Flag.js +79 -90
  554. package/dist/unstable/cli/Flag.js.map +1 -1
  555. package/dist/unstable/cli/GlobalFlag.d.ts +3 -3
  556. package/dist/unstable/cli/GlobalFlag.js +13 -13
  557. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  558. package/dist/unstable/cli/Param.d.ts +118 -126
  559. package/dist/unstable/cli/Param.d.ts.map +1 -1
  560. package/dist/unstable/cli/Param.js +104 -113
  561. package/dist/unstable/cli/Param.js.map +1 -1
  562. package/dist/unstable/cli/Primitive.d.ts +69 -58
  563. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  564. package/dist/unstable/cli/Primitive.js +65 -66
  565. package/dist/unstable/cli/Primitive.js.map +1 -1
  566. package/dist/unstable/cli/Prompt.d.ts +113 -59
  567. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  568. package/dist/unstable/cli/Prompt.js +391 -327
  569. package/dist/unstable/cli/Prompt.js.map +1 -1
  570. package/dist/unstable/cli/internal/completions/bash.js +109 -38
  571. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  572. package/dist/unstable/cli/internal/completions/descriptor.js +23 -11
  573. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  574. package/dist/unstable/cli/internal/completions/fish.js +15 -7
  575. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  576. package/dist/unstable/cli/internal/completions/zsh.js +6 -4
  577. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  578. package/dist/unstable/cli/internal/config.js +4 -4
  579. package/dist/unstable/cli/internal/parser.js +1 -1
  580. package/dist/unstable/cli/internal/parser.js.map +1 -1
  581. package/dist/unstable/cli/internal/wizard.d.ts +5 -1
  582. package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
  583. package/dist/unstable/cli/internal/wizard.js +34 -26
  584. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  585. package/dist/unstable/cluster/ClusterSchema.d.ts +13 -0
  586. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  587. package/dist/unstable/cluster/ClusterSchema.js +16 -1
  588. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  589. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  590. package/dist/unstable/cluster/ClusterWorkflowEngine.js +57 -14
  591. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  592. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  593. package/dist/unstable/cluster/Entity.js +2 -0
  594. package/dist/unstable/cluster/Entity.js.map +1 -1
  595. package/dist/unstable/cluster/EntityProxyServer.d.ts +2 -2
  596. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  597. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  598. package/dist/unstable/cluster/Envelope.d.ts +22 -5
  599. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  600. package/dist/unstable/cluster/Envelope.js +23 -3
  601. package/dist/unstable/cluster/Envelope.js.map +1 -1
  602. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  603. package/dist/unstable/cluster/HttpRunner.js +32 -13
  604. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  605. package/dist/unstable/cluster/Message.d.ts +17 -5
  606. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  607. package/dist/unstable/cluster/Message.js +21 -8
  608. package/dist/unstable/cluster/Message.js.map +1 -1
  609. package/dist/unstable/cluster/MessageStorage.d.ts +34 -4
  610. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  611. package/dist/unstable/cluster/MessageStorage.js +33 -12
  612. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  613. package/dist/unstable/cluster/Reply.d.ts +5 -4
  614. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  615. package/dist/unstable/cluster/Reply.js +21 -12
  616. package/dist/unstable/cluster/Reply.js.map +1 -1
  617. package/dist/unstable/cluster/RunnerServer.d.ts +1 -1
  618. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  619. package/dist/unstable/cluster/RunnerServer.js +12 -6
  620. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  621. package/dist/unstable/cluster/Runners.d.ts +11 -5
  622. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  623. package/dist/unstable/cluster/Runners.js +56 -35
  624. package/dist/unstable/cluster/Runners.js.map +1 -1
  625. package/dist/unstable/cluster/Sharding.d.ts +1 -1
  626. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  627. package/dist/unstable/cluster/Sharding.js +32 -17
  628. package/dist/unstable/cluster/Sharding.js.map +1 -1
  629. package/dist/unstable/cluster/ShardingConfig.js +23 -23
  630. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  631. package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
  632. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  633. package/dist/unstable/cluster/SocketRunner.js +4 -3
  634. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  635. package/dist/unstable/cluster/SqlMessageStorage.js +11 -8
  636. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  637. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  638. package/dist/unstable/cluster/SqlRunnerStorage.js +11 -4
  639. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  640. package/dist/unstable/cluster/internal/clusterAbandon.d.ts +5 -0
  641. package/dist/unstable/cluster/internal/clusterAbandon.d.ts.map +1 -0
  642. package/dist/unstable/cluster/internal/clusterAbandon.js +9 -0
  643. package/dist/unstable/cluster/internal/clusterAbandon.js.map +1 -0
  644. package/dist/unstable/cluster/internal/entityManager.js +10 -6
  645. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  646. package/dist/unstable/cluster/internal/interruptors.js +30 -1
  647. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  648. package/dist/unstable/cluster/internal/resourceRef.js +12 -7
  649. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  650. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  651. package/dist/unstable/devtools/DevToolsClient.js +12 -7
  652. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  653. package/dist/unstable/encoding/Ini.d.ts +2 -0
  654. package/dist/unstable/encoding/Ini.d.ts.map +1 -1
  655. package/dist/unstable/encoding/Ini.js +2 -0
  656. package/dist/unstable/encoding/Ini.js.map +1 -1
  657. package/dist/unstable/encoding/SchemaBinary.d.ts +273 -0
  658. package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -0
  659. package/dist/unstable/encoding/SchemaBinary.js +4573 -0
  660. package/dist/unstable/encoding/SchemaBinary.js.map +1 -0
  661. package/dist/unstable/encoding/Sse.js +1 -1
  662. package/dist/unstable/encoding/Sse.js.map +1 -1
  663. package/dist/unstable/encoding/Toml.d.ts +2 -0
  664. package/dist/unstable/encoding/Toml.d.ts.map +1 -1
  665. package/dist/unstable/encoding/Toml.js +6 -4
  666. package/dist/unstable/encoding/Toml.js.map +1 -1
  667. package/dist/unstable/encoding/Yaml.d.ts +2 -0
  668. package/dist/unstable/encoding/Yaml.d.ts.map +1 -1
  669. package/dist/unstable/encoding/Yaml.js +16 -5
  670. package/dist/unstable/encoding/Yaml.js.map +1 -1
  671. package/dist/unstable/encoding/index.d.ts +2 -2
  672. package/dist/unstable/encoding/index.d.ts.map +1 -1
  673. package/dist/unstable/encoding/index.js +2 -2
  674. package/dist/unstable/encoding/index.js.map +1 -1
  675. package/dist/unstable/eventlog/Event.d.ts +5 -5
  676. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  677. package/dist/unstable/eventlog/Event.js +3 -3
  678. package/dist/unstable/eventlog/Event.js.map +1 -1
  679. package/dist/unstable/eventlog/EventJournal.d.ts +15 -9
  680. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  681. package/dist/unstable/eventlog/EventJournal.js +26 -12
  682. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  683. package/dist/unstable/eventlog/EventLog.d.ts +1 -1
  684. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  685. package/dist/unstable/eventlog/EventLog.js +13 -9
  686. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  687. package/dist/unstable/eventlog/EventLogMessage.d.ts +11 -5
  688. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  689. package/dist/unstable/eventlog/EventLogMessage.js +25 -15
  690. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  691. package/dist/unstable/eventlog/EventLogRemote.d.ts +7 -1
  692. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  693. package/dist/unstable/eventlog/EventLogRemote.js +13 -3
  694. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  695. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +2 -2
  696. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  697. package/dist/unstable/eventlog/SqlEventJournal.d.ts +0 -10
  698. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  699. package/dist/unstable/eventlog/SqlEventJournal.js +29 -14
  700. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  701. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  702. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +5 -1
  703. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  704. package/dist/unstable/http/Cookies.d.ts +1 -45
  705. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  706. package/dist/unstable/http/Cookies.js +2 -64
  707. package/dist/unstable/http/Cookies.js.map +1 -1
  708. package/dist/unstable/http/FetchHttpClient.js +1 -1
  709. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  710. package/dist/unstable/http/FindMyWay/internal/router.js +124 -33
  711. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -1
  712. package/dist/unstable/http/FindMyWay.d.ts +15 -5
  713. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  714. package/dist/unstable/http/FindMyWay.js +3 -1
  715. package/dist/unstable/http/FindMyWay.js.map +1 -1
  716. package/dist/unstable/http/Headers.d.ts +0 -22
  717. package/dist/unstable/http/Headers.d.ts.map +1 -1
  718. package/dist/unstable/http/Headers.js +3 -34
  719. package/dist/unstable/http/Headers.js.map +1 -1
  720. package/dist/unstable/http/HttpBody.d.ts +41 -10
  721. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  722. package/dist/unstable/http/HttpBody.js +64 -10
  723. package/dist/unstable/http/HttpBody.js.map +1 -1
  724. package/dist/unstable/http/HttpClient.d.ts +1 -1
  725. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  726. package/dist/unstable/http/HttpClient.js +28 -18
  727. package/dist/unstable/http/HttpClient.js.map +1 -1
  728. package/dist/unstable/http/HttpClientRequest.d.ts +28 -6
  729. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  730. package/dist/unstable/http/HttpClientRequest.js +8 -19
  731. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  732. package/dist/unstable/http/HttpClientResponse.d.ts +6 -1
  733. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  734. package/dist/unstable/http/HttpClientResponse.js +10 -6
  735. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  736. package/dist/unstable/http/HttpEffect.d.ts +16 -0
  737. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  738. package/dist/unstable/http/HttpEffect.js +121 -65
  739. package/dist/unstable/http/HttpEffect.js.map +1 -1
  740. package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -3
  741. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  742. package/dist/unstable/http/HttpIncomingMessage.js +1 -13
  743. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  744. package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
  745. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  746. package/dist/unstable/http/HttpMiddleware.js +29 -21
  747. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  748. package/dist/unstable/http/HttpPlatform.d.ts +12 -11
  749. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  750. package/dist/unstable/http/HttpPlatform.js +36 -10
  751. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  752. package/dist/unstable/http/HttpRouter.d.ts +5 -1
  753. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  754. package/dist/unstable/http/HttpRouter.js +22 -8
  755. package/dist/unstable/http/HttpRouter.js.map +1 -1
  756. package/dist/unstable/http/HttpServer.d.ts +11 -42
  757. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  758. package/dist/unstable/http/HttpServer.js +16 -20
  759. package/dist/unstable/http/HttpServer.js.map +1 -1
  760. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  761. package/dist/unstable/http/HttpServerRequest.js +11 -11
  762. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  763. package/dist/unstable/http/HttpServerRespondable.js +1 -1
  764. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  765. package/dist/unstable/http/HttpServerResponse.d.ts +9 -13
  766. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  767. package/dist/unstable/http/HttpServerResponse.js +34 -44
  768. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  769. package/dist/unstable/http/HttpStaticServer.d.ts +2 -2
  770. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  771. package/dist/unstable/http/HttpStaticServer.js +19 -19
  772. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  773. package/dist/unstable/http/Mime.d.ts +28 -0
  774. package/dist/unstable/http/Mime.d.ts.map +1 -0
  775. package/dist/unstable/http/Mime.js +72 -0
  776. package/dist/unstable/http/Mime.js.map +1 -0
  777. package/dist/unstable/http/Multipart.d.ts +22 -9
  778. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  779. package/dist/unstable/http/Multipart.js +26 -10
  780. package/dist/unstable/http/Multipart.js.map +1 -1
  781. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +1 -1
  782. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
  783. package/dist/unstable/http/MultipartParser/internal/multipart.js +8 -3
  784. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
  785. package/dist/unstable/http/MultipartParser.d.ts +4 -3
  786. package/dist/unstable/http/MultipartParser.d.ts.map +1 -1
  787. package/dist/unstable/http/MultipartParser.js.map +1 -1
  788. package/dist/unstable/http/UrlParams.d.ts +0 -97
  789. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  790. package/dist/unstable/http/UrlParams.js +3 -104
  791. package/dist/unstable/http/UrlParams.js.map +1 -1
  792. package/dist/unstable/http/index.d.ts +4 -0
  793. package/dist/unstable/http/index.d.ts.map +1 -1
  794. package/dist/unstable/http/index.js +4 -0
  795. package/dist/unstable/http/index.js.map +1 -1
  796. package/dist/unstable/http/internal/compression.js +8 -11
  797. package/dist/unstable/http/internal/compression.js.map +1 -1
  798. package/dist/unstable/http/internal/headers.d.ts +2 -0
  799. package/dist/unstable/http/internal/headers.d.ts.map +1 -0
  800. package/dist/unstable/http/internal/headers.js +5 -0
  801. package/dist/unstable/http/internal/headers.js.map +1 -0
  802. package/dist/unstable/http/internal/httpBody.js +8 -0
  803. package/dist/unstable/http/internal/httpBody.js.map +1 -1
  804. package/dist/unstable/http/internal/mimeTypes.d.ts +361 -0
  805. package/dist/unstable/http/internal/mimeTypes.d.ts.map +1 -0
  806. package/dist/unstable/http/internal/mimeTypes.js +363 -0
  807. package/dist/unstable/http/internal/mimeTypes.js.map +1 -0
  808. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +13 -0
  809. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  810. package/dist/unstable/httpapi/HttpApiBuilder.js +28 -11
  811. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  812. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -3
  813. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  814. package/dist/unstable/httpapi/HttpApiClient.js +25 -13
  815. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  816. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +8 -3
  817. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  818. package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -6
  819. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  820. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  821. package/dist/unstable/httpapi/HttpApiError.js +3 -1
  822. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  823. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  824. package/dist/unstable/httpapi/HttpApiMiddleware.js +7 -5
  825. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  826. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  827. package/dist/unstable/httpapi/HttpApiScalar.js +15 -12
  828. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  829. package/dist/unstable/httpapi/HttpApiSchema.d.ts +12 -0
  830. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  831. package/dist/unstable/httpapi/HttpApiSchema.js +8 -10
  832. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  833. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  834. package/dist/unstable/httpapi/HttpApiSwagger.js +6 -3
  835. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  836. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  837. package/dist/unstable/httpapi/HttpApiTest.js +8 -2
  838. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  839. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  840. package/dist/unstable/httpapi/OpenApi.js +31 -20
  841. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  842. package/dist/unstable/net/IpInterface.d.ts +140 -0
  843. package/dist/unstable/net/IpInterface.d.ts.map +1 -0
  844. package/dist/unstable/net/IpInterface.js +149 -0
  845. package/dist/unstable/net/IpInterface.js.map +1 -0
  846. package/dist/unstable/net/IpNetwork.d.ts +227 -0
  847. package/dist/unstable/net/IpNetwork.d.ts.map +1 -0
  848. package/dist/unstable/net/IpNetwork.js +239 -0
  849. package/dist/unstable/net/IpNetwork.js.map +1 -0
  850. package/dist/unstable/net/NetAddress.d.ts +705 -0
  851. package/dist/unstable/net/NetAddress.d.ts.map +1 -0
  852. package/dist/unstable/net/NetAddress.js +956 -0
  853. package/dist/unstable/net/NetAddress.js.map +1 -0
  854. package/dist/unstable/net/index.d.ts +16 -0
  855. package/dist/unstable/net/index.d.ts.map +1 -0
  856. package/dist/unstable/net/index.js +17 -0
  857. package/dist/unstable/net/index.js.map +1 -0
  858. package/dist/unstable/observability/OtlpExporter.d.ts +1 -0
  859. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  860. package/dist/unstable/observability/OtlpExporter.js +4 -6
  861. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  862. package/dist/unstable/observability/OtlpLogger.js +9 -9
  863. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  864. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  865. package/dist/unstable/observability/OtlpMetrics.js +9 -8
  866. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  867. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  868. package/dist/unstable/observability/OtlpResource.js +2 -2
  869. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  870. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  871. package/dist/unstable/observability/OtlpTracer.js +82 -55
  872. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  873. package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
  874. package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
  875. package/dist/unstable/observability/internal/otlpEnv.js +5 -9
  876. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  877. package/dist/unstable/persistence/PersistedCache.js +1 -1
  878. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  879. package/dist/unstable/persistence/PersistedQueue.d.ts +114 -14
  880. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  881. package/dist/unstable/persistence/PersistedQueue.js +799 -234
  882. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  883. package/dist/unstable/persistence/RateLimiter.d.ts +28 -15
  884. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  885. package/dist/unstable/persistence/RateLimiter.js +33 -41
  886. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  887. package/dist/unstable/process/ChildProcess.d.ts +8 -2
  888. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  889. package/dist/unstable/process/ChildProcess.js +7 -2
  890. package/dist/unstable/process/ChildProcess.js.map +1 -1
  891. package/dist/unstable/process/ChildProcessSpawner.d.ts +1 -1
  892. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  893. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  894. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  895. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  896. package/dist/unstable/reactivity/Atom.js +6 -3
  897. package/dist/unstable/reactivity/Atom.js.map +1 -1
  898. package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -6
  899. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  900. package/dist/unstable/reactivity/AtomHttpApi.js +6 -3
  901. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  902. package/dist/unstable/reactivity/AtomRegistry.js +2 -3
  903. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  904. package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
  905. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  906. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  907. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  908. package/dist/unstable/reactivity/Hydration.d.ts +6 -4
  909. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  910. package/dist/unstable/reactivity/Hydration.js +20 -6
  911. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  912. package/dist/unstable/reactivity/Reactivity.d.ts +26 -26
  913. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  914. package/dist/unstable/reactivity/Reactivity.js +10 -12
  915. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  916. package/dist/unstable/rpc/RpcClient.d.ts +5 -0
  917. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  918. package/dist/unstable/rpc/RpcClient.js +94 -81
  919. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  920. package/dist/unstable/rpc/RpcClientError.d.ts +1 -1
  921. package/dist/unstable/rpc/RpcMessage.d.ts +66 -7
  922. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  923. package/dist/unstable/rpc/RpcMessage.js +68 -9
  924. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  925. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  926. package/dist/unstable/rpc/RpcMiddleware.js +7 -5
  927. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  928. package/dist/unstable/rpc/RpcSerialization.d.ts +28 -33
  929. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  930. package/dist/unstable/rpc/RpcSerialization.js +56 -92
  931. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  932. package/dist/unstable/rpc/RpcServer.d.ts +25 -0
  933. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  934. package/dist/unstable/rpc/RpcServer.js +125 -68
  935. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  936. package/dist/unstable/schema/Model.d.ts.map +1 -1
  937. package/dist/unstable/schema/Model.js +7 -6
  938. package/dist/unstable/schema/Model.js.map +1 -1
  939. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  940. package/dist/unstable/schema/VariantSchema.js +3 -0
  941. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  942. package/dist/unstable/socket/Socket.d.ts +287 -102
  943. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  944. package/dist/unstable/socket/Socket.js +408 -215
  945. package/dist/unstable/socket/Socket.js.map +1 -1
  946. package/dist/unstable/socket/SocketServer.d.ts +5 -32
  947. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  948. package/dist/unstable/socket/SocketServer.js +3 -3
  949. package/dist/unstable/socket/SocketServer.js.map +1 -1
  950. package/dist/unstable/sql/SqlClient.d.ts +20 -0
  951. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  952. package/dist/unstable/sql/SqlClient.js +14 -7
  953. package/dist/unstable/sql/SqlClient.js.map +1 -1
  954. package/dist/unstable/sql/SqlConnection.d.ts +15 -0
  955. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  956. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  957. package/dist/unstable/sql/SqlModel.d.ts +1 -1
  958. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  959. package/dist/unstable/sql/Statement.d.ts +13 -5
  960. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  961. package/dist/unstable/sql/Statement.js +29 -15
  962. package/dist/unstable/sql/Statement.js.map +1 -1
  963. package/dist/unstable/workers/Transferable.js +1 -1
  964. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  965. package/dist/unstable/workers/Worker.js +3 -1
  966. package/dist/unstable/workers/Worker.js.map +1 -1
  967. package/dist/unstable/workflow/Activity.d.ts +7 -0
  968. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  969. package/dist/unstable/workflow/Activity.js +14 -4
  970. package/dist/unstable/workflow/Activity.js.map +1 -1
  971. package/dist/unstable/workflow/DurableClock.js +1 -1
  972. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  973. package/dist/unstable/workflow/DurableDeferred.d.ts +2 -2
  974. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  975. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  976. package/dist/unstable/workflow/DurableQueue.d.ts +8 -0
  977. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  978. package/dist/unstable/workflow/DurableQueue.js +8 -0
  979. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  980. package/dist/unstable/workflow/Workflow.d.ts +5 -0
  981. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  982. package/dist/unstable/workflow/Workflow.js +70 -12
  983. package/dist/unstable/workflow/Workflow.js.map +1 -1
  984. package/dist/unstable/workflow/WorkflowEngine.d.ts +6 -0
  985. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  986. package/dist/unstable/workflow/WorkflowEngine.js +11 -0
  987. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  988. package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -2
  989. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  990. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  991. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  992. package/package.json +8 -10
  993. package/src/Array.ts +142 -70
  994. package/src/BigDecimal.ts +50 -28
  995. package/src/ByteSize.ts +838 -0
  996. package/src/Cache.ts +17 -3
  997. package/src/Cause.ts +1 -1
  998. package/src/Channel.ts +185 -50
  999. package/src/Chunk.ts +65 -36
  1000. package/src/Config.ts +237 -248
  1001. package/src/ConfigProvider.ts +7 -8
  1002. package/src/Context.ts +31 -0
  1003. package/src/Cron.ts +2 -2
  1004. package/src/Crypto.ts +3 -2
  1005. package/src/Deferred.ts +7 -6
  1006. package/src/Duration.ts +1 -1
  1007. package/src/Effect.ts +226 -122
  1008. package/src/Effectable.ts +78 -9
  1009. package/src/Encoding.ts +101 -11
  1010. package/src/Equal.ts +1 -1
  1011. package/src/ExecutionPlan.ts +3 -0
  1012. package/src/Fiber.ts +33 -8
  1013. package/src/FiberHandle.ts +3 -3
  1014. package/src/FiberMap.ts +19 -10
  1015. package/src/FileSystem.ts +55 -230
  1016. package/src/Formatter.ts +21 -3
  1017. package/src/Graph.ts +55 -25
  1018. package/src/Hash.ts +5 -16
  1019. package/src/HashRing.ts +9 -2
  1020. package/src/HashSet.ts +56 -0
  1021. package/src/Iterable.ts +90 -44
  1022. package/src/JsonPatch.ts +4 -4
  1023. package/src/JsonPointer.ts +97 -4
  1024. package/src/JsonSchema.ts +998 -476
  1025. package/src/Layer.ts +59 -18
  1026. package/src/LayerMap.ts +38 -6
  1027. package/src/LayerRef.ts +7 -5
  1028. package/src/Logger.ts +125 -18
  1029. package/src/ManagedRuntime.ts +1 -1
  1030. package/src/Match.ts +33 -14
  1031. package/src/Metric.ts +24 -21
  1032. package/src/MutableHashMap.ts +1 -1
  1033. package/src/MutableHashSet.ts +1 -1
  1034. package/src/MutableList.ts +18 -2
  1035. package/src/Number.ts +7 -1
  1036. package/src/Optic.ts +8 -4
  1037. package/src/Option.ts +1 -1
  1038. package/src/Order.ts +3 -1
  1039. package/src/PartitionedSemaphore.ts +1 -2
  1040. package/src/Path.ts +1 -1
  1041. package/src/PlatformError.ts +1 -1
  1042. package/src/Pool.ts +535 -134
  1043. package/src/PrimaryKey.ts +1 -1
  1044. package/src/PubSub.ts +32 -20
  1045. package/src/Queue.ts +119 -28
  1046. package/src/Random.ts +20 -6
  1047. package/src/RcMap.ts +176 -13
  1048. package/src/Record.ts +15 -0
  1049. package/src/Redacted.ts +1 -1
  1050. package/src/RequestResolver.ts +49 -26
  1051. package/src/Result.ts +1 -1
  1052. package/src/Scheduler.ts +21 -11
  1053. package/src/Schema.ts +5032 -6518
  1054. package/src/SchemaAST.ts +1156 -316
  1055. package/src/SchemaGetter.ts +75 -21
  1056. package/src/SchemaIssue.ts +260 -16
  1057. package/src/SchemaParser.ts +2 -12
  1058. package/src/SchemaRepresentation.ts +1774 -189
  1059. package/src/SchemaTransformation.ts +145 -22
  1060. package/src/Scope.ts +9 -2
  1061. package/src/ScopedCache.ts +10 -3
  1062. package/src/Sink.ts +31 -15
  1063. package/src/StandardSchema.ts +207 -0
  1064. package/src/Stream.ts +294 -76
  1065. package/src/String.ts +20 -9
  1066. package/src/Struct.ts +8 -4
  1067. package/src/SynchronizedRef.ts +3 -5
  1068. package/src/Terminal.ts +3 -3
  1069. package/src/Tracer.ts +43 -14
  1070. package/src/Tuple.ts +3 -1
  1071. package/src/TxChunk.ts +1 -1
  1072. package/src/TxDeferred.ts +1 -1
  1073. package/src/TxHashMap.ts +1 -1
  1074. package/src/TxHashSet.ts +92 -11
  1075. package/src/TxPriorityQueue.ts +1 -1
  1076. package/src/TxPubSub.ts +1 -1
  1077. package/src/TxQueue.ts +22 -17
  1078. package/src/TxReentrantLock.ts +29 -1
  1079. package/src/TxRef.ts +1 -1
  1080. package/src/TxSemaphore.ts +1 -1
  1081. package/src/TxSubscriptionRef.ts +1 -1
  1082. package/src/Types.ts +40 -17
  1083. package/src/Utils.ts +3 -1
  1084. package/src/index.ts +10 -0
  1085. package/src/internal/arbitrary/model.ts +701 -0
  1086. package/src/internal/arbitrary/regexp.ts +855 -0
  1087. package/src/internal/arbitrary/runner.ts +608 -0
  1088. package/src/internal/arbitrary/schema.ts +1800 -0
  1089. package/src/internal/core.ts +48 -22
  1090. package/src/internal/count.ts +14 -0
  1091. package/src/internal/dateTime.ts +8 -10
  1092. package/src/internal/effect.ts +510 -301
  1093. package/src/internal/graph.ts +6 -1
  1094. package/src/internal/hashMap.ts +5 -3
  1095. package/src/internal/hashSet.ts +1 -1
  1096. package/src/internal/matcher.ts +34 -19
  1097. package/src/internal/metric.ts +1 -1
  1098. package/src/internal/option.ts +8 -6
  1099. package/src/internal/random.ts +20 -7
  1100. package/src/internal/rcRef.ts +10 -7
  1101. package/src/internal/references.ts +1 -0
  1102. package/src/internal/request.ts +12 -7
  1103. package/src/internal/result.ts +15 -11
  1104. package/src/internal/schema/annotations.ts +3 -3
  1105. package/src/internal/schema/fromJsonSchemaDocument.ts +326 -160
  1106. package/src/internal/schema/fromRepresentation.ts +5 -3
  1107. package/src/internal/schema/{schema.ts → make.ts} +0 -40
  1108. package/src/internal/schema/parser.ts +8 -0
  1109. package/src/internal/schema/standardSchema.ts +125 -0
  1110. package/src/internal/schema/toCodeDocument.ts +58 -44
  1111. package/src/internal/schema/toCodec.ts +312 -0
  1112. package/src/internal/schema/toDifferJsonPatch.ts +24 -0
  1113. package/src/internal/schema/toEncoderXml.ts +110 -0
  1114. package/src/internal/schema/toEquivalence.ts +76 -0
  1115. package/src/internal/schema/toFormatter.ts +230 -0
  1116. package/src/internal/schema/toIso.ts +20 -0
  1117. package/src/internal/schema/toJsonSchemaDocument.ts +125 -67
  1118. package/src/internal/schema/toRepresentation.ts +1 -1
  1119. package/src/internal/schemaError.ts +8 -0
  1120. package/src/internal/stream.ts +14 -6
  1121. package/src/internal/tracer.ts +4 -0
  1122. package/src/internal/trie.ts +5 -2
  1123. package/src/internal/uuid.ts +4 -0
  1124. package/src/testing/TestSchema.ts +36 -30
  1125. package/src/testing/index.ts +0 -5
  1126. package/src/unstable/ai/AiError.ts +126 -6
  1127. package/src/unstable/ai/AnthropicStructuredOutput.ts +8 -5
  1128. package/src/unstable/ai/Chat.ts +35 -36
  1129. package/src/unstable/ai/EmbeddingModel.ts +27 -15
  1130. package/src/unstable/ai/LanguageModel.ts +283 -100
  1131. package/src/unstable/ai/McpServer.ts +105 -92
  1132. package/src/unstable/ai/OpenAiStructuredOutput.ts +6 -3
  1133. package/src/unstable/ai/Prompt.ts +20 -5
  1134. package/src/unstable/ai/Response.ts +107 -189
  1135. package/src/unstable/ai/Tokenizer.ts +4 -5
  1136. package/src/unstable/ai/Tool.ts +58 -35
  1137. package/src/unstable/ai/Toolkit.ts +43 -37
  1138. package/src/unstable/ai/internal/codec-transformer.ts +3 -2
  1139. package/src/unstable/ai/internal/structured-output.ts +29 -6
  1140. package/src/unstable/arbitrary/Arbitrary.ts +715 -0
  1141. package/src/unstable/arbitrary/index.ts +10 -0
  1142. package/src/unstable/cli/Argument.ts +111 -115
  1143. package/src/unstable/cli/CliError.ts +2 -0
  1144. package/src/unstable/cli/CliOutput.ts +41 -4
  1145. package/src/unstable/cli/Command.ts +79 -78
  1146. package/src/unstable/cli/Completions.ts +4 -4
  1147. package/src/unstable/cli/Flag.ts +158 -169
  1148. package/src/unstable/cli/GlobalFlag.ts +13 -13
  1149. package/src/unstable/cli/Param.ts +150 -159
  1150. package/src/unstable/cli/Primitive.ts +75 -76
  1151. package/src/unstable/cli/Prompt.ts +543 -408
  1152. package/src/unstable/cli/internal/completions/bash.ts +113 -38
  1153. package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
  1154. package/src/unstable/cli/internal/completions/fish.ts +17 -9
  1155. package/src/unstable/cli/internal/completions/zsh.ts +7 -4
  1156. package/src/unstable/cli/internal/config.ts +4 -4
  1157. package/src/unstable/cli/internal/parser.ts +1 -1
  1158. package/src/unstable/cli/internal/wizard.ts +60 -32
  1159. package/src/unstable/cluster/ClusterSchema.ts +19 -1
  1160. package/src/unstable/cluster/ClusterWorkflowEngine.ts +66 -16
  1161. package/src/unstable/cluster/Entity.ts +3 -0
  1162. package/src/unstable/cluster/EntityProxyServer.ts +6 -2
  1163. package/src/unstable/cluster/Envelope.ts +32 -3
  1164. package/src/unstable/cluster/HttpRunner.ts +52 -25
  1165. package/src/unstable/cluster/Message.ts +35 -13
  1166. package/src/unstable/cluster/MessageStorage.ts +69 -24
  1167. package/src/unstable/cluster/Reply.ts +36 -19
  1168. package/src/unstable/cluster/RunnerServer.ts +21 -11
  1169. package/src/unstable/cluster/Runners.ts +93 -80
  1170. package/src/unstable/cluster/Sharding.ts +44 -19
  1171. package/src/unstable/cluster/ShardingConfig.ts +23 -23
  1172. package/src/unstable/cluster/SocketRunner.ts +5 -4
  1173. package/src/unstable/cluster/SqlMessageStorage.ts +12 -8
  1174. package/src/unstable/cluster/SqlRunnerStorage.ts +18 -10
  1175. package/src/unstable/cluster/internal/clusterAbandon.ts +14 -0
  1176. package/src/unstable/cluster/internal/entityManager.ts +15 -6
  1177. package/src/unstable/cluster/internal/interruptors.ts +58 -1
  1178. package/src/unstable/cluster/internal/resourceRef.ts +15 -7
  1179. package/src/unstable/devtools/DevToolsClient.ts +13 -3
  1180. package/src/unstable/encoding/Ini.ts +2 -0
  1181. package/src/unstable/encoding/SchemaBinary.ts +5308 -0
  1182. package/src/unstable/encoding/Sse.ts +1 -1
  1183. package/src/unstable/encoding/Toml.ts +7 -5
  1184. package/src/unstable/encoding/Yaml.ts +18 -5
  1185. package/src/unstable/encoding/index.ts +2 -2
  1186. package/src/unstable/eventlog/Event.ts +7 -7
  1187. package/src/unstable/eventlog/EventJournal.ts +22 -15
  1188. package/src/unstable/eventlog/EventLog.ts +24 -14
  1189. package/src/unstable/eventlog/EventLogMessage.ts +25 -15
  1190. package/src/unstable/eventlog/EventLogRemote.ts +15 -4
  1191. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +2 -2
  1192. package/src/unstable/eventlog/SqlEventJournal.ts +35 -10
  1193. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +11 -1
  1194. package/src/unstable/http/Cookies.ts +2 -102
  1195. package/src/unstable/http/FetchHttpClient.ts +1 -1
  1196. package/src/unstable/http/FindMyWay/internal/router.ts +139 -33
  1197. package/src/unstable/http/FindMyWay.ts +15 -5
  1198. package/src/unstable/http/Headers.ts +3 -48
  1199. package/src/unstable/http/HttpBody.ts +107 -36
  1200. package/src/unstable/http/HttpClient.ts +41 -30
  1201. package/src/unstable/http/HttpClientRequest.ts +32 -18
  1202. package/src/unstable/http/HttpClientResponse.ts +16 -3
  1203. package/src/unstable/http/HttpEffect.ts +145 -73
  1204. package/src/unstable/http/HttpIncomingMessage.ts +4 -4
  1205. package/src/unstable/http/HttpMiddleware.ts +43 -24
  1206. package/src/unstable/http/HttpPlatform.ts +62 -20
  1207. package/src/unstable/http/HttpRouter.ts +27 -16
  1208. package/src/unstable/http/HttpServer.ts +18 -57
  1209. package/src/unstable/http/HttpServerRequest.ts +17 -15
  1210. package/src/unstable/http/HttpServerRespondable.ts +1 -1
  1211. package/src/unstable/http/HttpServerResponse.ts +49 -40
  1212. package/src/unstable/http/HttpStaticServer.ts +30 -28
  1213. package/src/unstable/http/Mime.ts +76 -0
  1214. package/src/unstable/http/Multipart.ts +35 -18
  1215. package/src/unstable/http/MultipartParser/internal/multipart.ts +10 -3
  1216. package/src/unstable/http/MultipartParser.ts +4 -3
  1217. package/src/unstable/http/UrlParams.ts +3 -161
  1218. package/src/unstable/http/index.ts +5 -0
  1219. package/src/unstable/http/internal/compression.ts +11 -12
  1220. package/src/unstable/http/internal/headers.ts +7 -0
  1221. package/src/unstable/http/internal/httpBody.ts +9 -0
  1222. package/src/unstable/http/internal/mimeTypes.ts +395 -0
  1223. package/src/unstable/httpapi/HttpApiBuilder.ts +63 -11
  1224. package/src/unstable/httpapi/HttpApiClient.ts +44 -24
  1225. package/src/unstable/httpapi/HttpApiEndpoint.ts +24 -11
  1226. package/src/unstable/httpapi/HttpApiError.ts +3 -1
  1227. package/src/unstable/httpapi/HttpApiMiddleware.ts +7 -5
  1228. package/src/unstable/httpapi/HttpApiScalar.ts +30 -27
  1229. package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
  1230. package/src/unstable/httpapi/HttpApiSwagger.ts +6 -3
  1231. package/src/unstable/httpapi/HttpApiTest.ts +6 -1
  1232. package/src/unstable/httpapi/OpenApi.ts +32 -22
  1233. package/src/unstable/net/IpInterface.ts +242 -0
  1234. package/src/unstable/net/IpNetwork.ts +357 -0
  1235. package/src/unstable/net/NetAddress.ts +1271 -0
  1236. package/src/unstable/net/index.ts +20 -0
  1237. package/src/unstable/observability/OtlpExporter.ts +5 -6
  1238. package/src/unstable/observability/OtlpLogger.ts +9 -9
  1239. package/src/unstable/observability/OtlpMetrics.ts +9 -8
  1240. package/src/unstable/observability/OtlpResource.ts +5 -4
  1241. package/src/unstable/observability/OtlpTracer.ts +103 -81
  1242. package/src/unstable/observability/internal/otlpEnv.ts +10 -13
  1243. package/src/unstable/persistence/PersistedCache.ts +1 -1
  1244. package/src/unstable/persistence/PersistedQueue.ts +1100 -291
  1245. package/src/unstable/persistence/RateLimiter.ts +64 -58
  1246. package/src/unstable/process/ChildProcess.ts +15 -4
  1247. package/src/unstable/process/ChildProcessSpawner.ts +1 -1
  1248. package/src/unstable/reactivity/Atom.ts +6 -3
  1249. package/src/unstable/reactivity/AtomHttpApi.ts +21 -10
  1250. package/src/unstable/reactivity/AtomRegistry.ts +2 -4
  1251. package/src/unstable/reactivity/AtomRpc.ts +6 -5
  1252. package/src/unstable/reactivity/Hydration.ts +26 -7
  1253. package/src/unstable/reactivity/Reactivity.ts +49 -36
  1254. package/src/unstable/rpc/RpcClient.ts +100 -82
  1255. package/src/unstable/rpc/RpcMessage.ts +78 -11
  1256. package/src/unstable/rpc/RpcMiddleware.ts +7 -5
  1257. package/src/unstable/rpc/RpcSerialization.ts +82 -92
  1258. package/src/unstable/rpc/RpcServer.ts +171 -93
  1259. package/src/unstable/schema/Model.ts +8 -7
  1260. package/src/unstable/schema/VariantSchema.ts +3 -0
  1261. package/src/unstable/socket/Socket.ts +714 -383
  1262. package/src/unstable/socket/SocketServer.ts +5 -35
  1263. package/src/unstable/sql/SqlClient.ts +42 -7
  1264. package/src/unstable/sql/SqlConnection.ts +18 -0
  1265. package/src/unstable/sql/SqlModel.ts +1 -1
  1266. package/src/unstable/sql/Statement.ts +46 -20
  1267. package/src/unstable/workers/Transferable.ts +1 -1
  1268. package/src/unstable/workers/Worker.ts +3 -1
  1269. package/src/unstable/workflow/Activity.ts +20 -9
  1270. package/src/unstable/workflow/DurableClock.ts +1 -1
  1271. package/src/unstable/workflow/DurableDeferred.ts +6 -0
  1272. package/src/unstable/workflow/DurableQueue.ts +8 -0
  1273. package/src/unstable/workflow/Workflow.ts +105 -28
  1274. package/src/unstable/workflow/WorkflowEngine.ts +22 -0
  1275. package/src/unstable/workflow/WorkflowProxy.ts +8 -4
  1276. package/dist/internal/schema/schema.d.ts.map +0 -1
  1277. package/dist/internal/schema/schema.js.map +0 -1
  1278. package/dist/internal/schema/toArbitrary.d.ts +0 -2
  1279. package/dist/internal/schema/toArbitrary.d.ts.map +0 -1
  1280. package/dist/internal/schema/toArbitrary.js +0 -705
  1281. package/dist/internal/schema/toArbitrary.js.map +0 -1
  1282. package/dist/testing/FastCheck.d.ts +0 -90
  1283. package/dist/testing/FastCheck.d.ts.map +0 -1
  1284. package/dist/testing/FastCheck.js +0 -90
  1285. package/dist/testing/FastCheck.js.map +0 -1
  1286. package/dist/unstable/encoding/Msgpack.d.ts +0 -185
  1287. package/dist/unstable/encoding/Msgpack.d.ts.map +0 -1
  1288. package/dist/unstable/encoding/Msgpack.js +0 -227
  1289. package/dist/unstable/encoding/Msgpack.js.map +0 -1
  1290. package/src/internal/schema/toArbitrary.ts +0 -843
  1291. package/src/testing/FastCheck.ts +0 -90
  1292. package/src/unstable/encoding/Msgpack.ts +0 -432
  1293. /package/dist/internal/{schema → arbitrary}/schema.d.ts +0 -0
@@ -29,7 +29,6 @@ import { addSpanStackTrace, makeStackCleaner } from "./tracer.js";
29
29
  // ----------------------------------------------------------------------------
30
30
  /** @internal */
31
31
  export class Interrupt extends ReasonBase {
32
- fiberId;
33
32
  constructor(fiberId, annotations = constEmptyAnnotations) {
34
33
  super("Interrupt", annotations, "Interrupted");
35
34
  this.fiberId = fiberId;
@@ -127,6 +126,25 @@ export const causeAnnotations = self => {
127
126
  }
128
127
  return Context.makeUnsafe(map);
129
128
  };
129
+ const dedupeReasons = (self, that) => {
130
+ // Keep deduplication local so causeCombine does not retain Array.ts in the core bundle.
131
+ // Snapshot both arrays before invoking user-defined hash or equality methods.
132
+ const buckets = new Map();
133
+ const out = [];
134
+ for (const reason of self.concat(that)) {
135
+ const hash = Hash.hash(reason);
136
+ const bucket = buckets.get(hash);
137
+ if (bucket === undefined) {
138
+ buckets.set(hash, [reason]);
139
+ } else if (bucket.some(previous => Equal.equals(previous, reason))) {
140
+ continue;
141
+ } else {
142
+ bucket.push(reason);
143
+ }
144
+ out.push(reason);
145
+ }
146
+ return out;
147
+ };
130
148
  /** @internal */
131
149
  export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
132
150
  if (self.reasons.length === 0) {
@@ -134,7 +152,7 @@ export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
134
152
  } else if (that.reasons.length === 0) {
135
153
  return self;
136
154
  }
137
- const newCause = new CauseImpl(Arr.union(self.reasons, that.reasons));
155
+ const newCause = new CauseImpl(dedupeReasons(self.reasons, that.reasons));
138
156
  return Equal.equals(self, newCause) ? self : newCause;
139
157
  });
140
158
  /** @internal */
@@ -179,7 +197,7 @@ export const causePrettyErrors = (self, options) => {
179
197
  const interrupts = [];
180
198
  if (self.reasons.length === 0) return errors;
181
199
  const prevStackLimit = getStackTraceLimit();
182
- setStackTraceLimit(1);
200
+ if (prevStackLimit !== 0) setStackTraceLimit(1);
183
201
  for (const failure of self.reasons) {
184
202
  if (failure._tag === "Interrupt") {
185
203
  interrupts.push(failure);
@@ -198,7 +216,7 @@ export const causePrettyErrors = (self, options) => {
198
216
  error.stack = `${error.name}: ${error.message}`;
199
217
  errors.push(causePrettyError(error, interrupts[0].annotations, options));
200
218
  }
201
- setStackTraceLimit(prevStackLimit);
219
+ if (prevStackLimit !== 0) setStackTraceLimit(prevStackLimit);
202
220
  return errors;
203
221
  };
204
222
  /** @internal */
@@ -335,14 +353,15 @@ export class FiberImpl {
335
353
  this.currentOpCount = 0;
336
354
  this.interruptible = interruptible;
337
355
  this._stack = [];
338
- this._observers = [];
356
+ this._observers = undefined;
339
357
  this._exit = undefined;
340
358
  this._children = undefined;
341
359
  this._interruptedCause = undefined;
342
360
  this._yielded = undefined;
343
361
  this._running = false;
344
362
  this._deferredInterrupt = false;
345
- this.runtimeMetrics?.recordFiberStart(this.context);
363
+ this._parent = undefined;
364
+ this.cache.runtimeMetrics?.recordFiberStart(this.context);
346
365
  }
347
366
  [FiberTypeId];
348
367
  id;
@@ -356,20 +375,13 @@ export class FiberImpl {
356
375
  _yielded;
357
376
  _running;
358
377
  _deferredInterrupt;
378
+ _parent;
359
379
  // set in setContext
360
380
  context;
361
- currentScheduler;
362
- currentTracerContext;
363
- currentSpan;
364
- currentLogLevel;
365
- minimumLogLevel;
366
- currentStackFrame;
367
- runtimeMetrics;
368
- maxOpsBeforeYield;
369
- currentPreventYield;
381
+ cache;
370
382
  _dispatcher = undefined;
371
383
  get currentDispatcher() {
372
- return this._dispatcher ??= this.currentScheduler.makeDispatcher();
384
+ return this._dispatcher ??= this.cache.scheduler.makeDispatcher();
373
385
  }
374
386
  getRef(ref) {
375
387
  return Context.get(this.context, ref);
@@ -379,9 +391,13 @@ export class FiberImpl {
379
391
  cb(this._exit);
380
392
  return constVoid;
381
393
  }
382
- this._observers.push(cb);
394
+ if (this._observers === undefined) {
395
+ this._observers = [cb];
396
+ } else {
397
+ this._observers.push(cb);
398
+ }
383
399
  return () => {
384
- if (this._exit) return;
400
+ if (this._exit || this._observers === undefined) return;
385
401
  const index = this._observers.indexOf(cb);
386
402
  if (index >= 0) {
387
403
  this._observers.splice(index, 1);
@@ -393,8 +409,8 @@ export class FiberImpl {
393
409
  return;
394
410
  }
395
411
  let cause = causeInterrupt(fiberId);
396
- if (this.currentStackFrame) {
397
- cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.currentStackFrame));
412
+ if (this.cache.stackFrame) {
413
+ cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.cache.stackFrame));
398
414
  }
399
415
  if (annotations) {
400
416
  cause = causeAnnotate(cause, annotations);
@@ -430,11 +446,18 @@ export class FiberImpl {
430
446
  return this.evaluate(flatMap(interruptChildren, () => exit));
431
447
  }
432
448
  this._exit = exit;
433
- this.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
434
- for (let i = 0; i < this._observers.length; i++) {
435
- this._observers[i](exit);
449
+ this.cache.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
450
+ if (this._parent) {
451
+ this._parent._children?.delete(this);
452
+ this._parent = undefined;
453
+ }
454
+ if (this._observers !== undefined) {
455
+ const observers = this._observers;
456
+ this._observers = undefined;
457
+ for (let i = 0; i < observers.length; i++) {
458
+ observers[i](exit);
459
+ }
436
460
  }
437
- this._observers.length = 0;
438
461
  this._stack.length = 0;
439
462
  this._children = undefined;
440
463
  this.context = Context.empty();
@@ -454,12 +477,14 @@ export class FiberImpl {
454
477
  current = failCause(this._interruptedCause);
455
478
  }
456
479
  this.currentOpCount++;
457
- if (!yielding && !this.currentPreventYield && this.currentScheduler.shouldYield(this)) {
480
+ // Refresh the cache because a primitive can replace the fiber context.
481
+ const cache = this.cache;
482
+ if (!yielding && !cache.preventYield && cache.scheduler.shouldYield(this)) {
458
483
  yielding = true;
459
484
  const prev = current;
460
485
  current = flatMap(yieldNow, () => prev);
461
486
  }
462
- current = this.currentTracerContext ? this.currentTracerContext(current, this) : current[evaluate](this);
487
+ current = cache.tracerContext ? cache.tracerContext(current, this) : current[evaluate](this);
463
488
  if (current === Yield) {
464
489
  const yielded = this._yielded;
465
490
  if (ExitTypeId in yielded) {
@@ -492,11 +517,14 @@ export class FiberImpl {
492
517
  while (true) {
493
518
  const op = this._stack.pop();
494
519
  if (!op) return undefined;
495
- const cont = op[contAll] && op[contAll](this);
496
- if (cont) {
497
- ;
498
- cont[symbol] = cont;
499
- return cont;
520
+ const all = op[contAll];
521
+ if (all !== undefined) {
522
+ const cont = all.call(op, this);
523
+ if (cont) {
524
+ ;
525
+ cont[symbol] = cont;
526
+ return cont;
527
+ }
500
528
  }
501
529
  if (op[symbol]) return op;
502
530
  }
@@ -517,27 +545,39 @@ export class FiberImpl {
517
545
  // Every key cached below opts in to Context caching, so contexts related
518
546
  // only by non-caching adds cannot have changed any of them
519
547
  if (previous !== undefined && Context.hasSameCache(previous, context)) return;
520
- const scheduler = this.getRef(Scheduler.Scheduler);
521
- if (scheduler !== this.currentScheduler) {
522
- this.currentScheduler = scheduler;
548
+ // Contexts sharing a cacheRoot resolve every cached key identically, so
549
+ // the derived cache object is computed once per root and shared by all
550
+ // fibers running with that root (forked fibers reuse the parent's).
551
+ const root = context.cacheRoot;
552
+ const cache = root._fiberCache ??= makeFiberContextCache(context);
553
+ if (this.cache !== undefined && this.cache.scheduler !== cache.scheduler) {
523
554
  this._dispatcher = undefined;
524
555
  }
525
- // The string-keyed lookups keep the Tracer key values (and the native
526
- // tracer behind Tracer.Tracer's default) out of every bundle
527
- this.currentSpan = Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey);
528
- this.currentLogLevel = this.getRef(CurrentLogLevel);
529
- this.minimumLogLevel = this.getRef(MinimumLogLevel);
530
- this.currentStackFrame = this.getRef(CurrentStackFrame);
531
- this.maxOpsBeforeYield = this.getRef(Scheduler.MaxOpsBeforeYield);
532
- this.currentPreventYield = this.getRef(Scheduler.PreventSchedulerYield);
533
- this.runtimeMetrics = Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey);
534
- const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
535
- this.currentTracerContext = currentTracer ? currentTracer["context"] : undefined;
556
+ this.cache = cache;
536
557
  }
537
558
  get currentSpanLocal() {
538
- return this.currentSpan?._tag === "Span" ? this.currentSpan : undefined;
559
+ const span = this.cache.span;
560
+ return span?._tag === "Span" ? span : undefined;
539
561
  }
540
562
  }
563
+ const makeFiberContextCache = context => {
564
+ // The string-keyed lookups keep the Tracer key values (and the native
565
+ // tracer behind Tracer.Tracer's default) out of every bundle
566
+ const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
567
+ return {
568
+ scheduler: Context.get(context, Scheduler.Scheduler),
569
+ tracer: currentTracer,
570
+ tracerContext: currentTracer ? currentTracer["context"] : undefined,
571
+ tracerEnabled: Context.get(context, TracerEnabled),
572
+ span: Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey),
573
+ logLevel: Context.get(context, CurrentLogLevel),
574
+ minimumLogLevel: Context.get(context, MinimumLogLevel),
575
+ stackFrame: Context.get(context, CurrentStackFrame),
576
+ runtimeMetrics: Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey),
577
+ maxOpsBeforeYield: Context.get(context, Scheduler.MaxOpsBeforeYield),
578
+ preventYield: Context.get(context, Scheduler.PreventSchedulerYield)
579
+ };
580
+ };
541
581
  const deferredInterruptCont = {
542
582
  [contA](_value, fiber) {
543
583
  return failCause(fiber._interruptedCause);
@@ -550,9 +590,9 @@ const fiberMiddleware = {
550
590
  interruptChildren: undefined
551
591
  };
552
592
  const fiberStackAnnotations = fiber => {
553
- if (!fiber.currentStackFrame) return undefined;
593
+ if (!fiber.cache.stackFrame) return undefined;
554
594
  const annotations = new Map();
555
- annotations.set(InterruptorStackTrace.key, fiber.currentStackFrame);
595
+ annotations.set(InterruptorStackTrace.key, fiber.cache.stackFrame);
556
596
  return Context.makeUnsafe(annotations);
557
597
  };
558
598
  const fiberInterruptChildren = fiber => {
@@ -766,39 +806,48 @@ export const withFiberId = f => withFiber(fiber => f(fiber.id));
766
806
  export const fiber = /*#__PURE__*/withFiber(succeed);
767
807
  /** @internal */
768
808
  export const fiberId = /*#__PURE__*/withFiberId(succeed);
769
- const callbackOptions = /*#__PURE__*/makePrimitive({
770
- op: "Async",
771
- single: false,
772
- [evaluate](fiber) {
773
- const register = internalCall(() => this[args][0].bind(fiber.currentScheduler));
774
- let resumed = false;
775
- let yielded = false;
776
- const controller = this[args][1] ? new AbortController() : undefined;
777
- const onCancel = register(effect => {
778
- if (resumed) return;
779
- resumed = true;
780
- if (yielded) {
781
- fiber.evaluate(effect);
782
- } else {
783
- yielded = effect;
809
+ const callbackOptions = /*#__PURE__*/function () {
810
+ const Proto = /*#__PURE__*/makePrimitiveProto({
811
+ op: "Async",
812
+ [evaluate](fiber) {
813
+ const register = internalCall(() => this.register.bind(fiber.cache.scheduler));
814
+ let resumed = false;
815
+ let yielded = false;
816
+ const controller = this.withSignal ? new AbortController() : undefined;
817
+ const onCancel = register(effect => {
818
+ if (resumed) return;
819
+ resumed = true;
820
+ if (yielded) {
821
+ fiber.evaluate(effect);
822
+ } else {
823
+ yielded = effect;
824
+ }
825
+ }, controller?.signal);
826
+ if (yielded !== false) return yielded;
827
+ yielded = true;
828
+ fiber._yielded = () => {
829
+ resumed = true;
830
+ };
831
+ if (controller === undefined && onCancel === undefined) {
832
+ return Yield;
784
833
  }
785
- }, controller?.signal);
786
- if (yielded !== false) return yielded;
787
- yielded = true;
788
- fiber._yielded = () => {
789
- resumed = true;
790
- };
791
- if (controller === undefined && onCancel === undefined) {
834
+ fiber._stack.push(asyncFinalizer(() => {
835
+ resumed = true;
836
+ controller?.abort();
837
+ return onCancel ?? exitVoid;
838
+ }));
792
839
  return Yield;
793
840
  }
794
- fiber._stack.push(asyncFinalizer(() => {
795
- resumed = true;
796
- controller?.abort();
797
- return onCancel ?? exitVoid;
798
- }));
799
- return Yield;
800
- }
801
- });
841
+ });
842
+ const AsyncImpl = function (register, withSignal) {
843
+ this.register = register;
844
+ this.withSignal = withSignal;
845
+ };
846
+ AsyncImpl.prototype = Proto;
847
+ return function (register, withSignal) {
848
+ return new AsyncImpl(register, withSignal);
849
+ };
850
+ }();
802
851
  const asyncFinalizer = /*#__PURE__*/makePrimitive({
803
852
  op: "AsyncFinalizer",
804
853
  [contAll](fiber) {
@@ -816,7 +865,14 @@ export const callback = register => callbackOptions(register, register.length >=
816
865
  /** @internal */
817
866
  export const never = /*#__PURE__*/callback(constVoid);
818
867
  /** @internal */
819
- export const gen = (...args) => suspend(() => fromIteratorUnsafe(args.length === 1 ? args[0]() : args[1].call(args[0].self)));
868
+ export const gen = (...args) => {
869
+ if (args.length === 1) {
870
+ const body = args[0];
871
+ return suspend(() => fromIteratorUnsafe(body()));
872
+ }
873
+ const [options, body] = args;
874
+ return suspend(() => fromIteratorUnsafe(body.call(options.self)));
875
+ };
820
876
  /** @internal */
821
877
  export const fnUntraced = (body, ...pipeables) => {
822
878
  const fn = pipeables.length === 0 ? function () {
@@ -841,9 +897,12 @@ export const fn = function () {
841
897
  const name = nameFirst ? arguments[0] : "Effect.fn";
842
898
  const spanOptions = nameFirst ? arguments[1] : undefined;
843
899
  const prevLimit = getStackTraceLimit();
844
- setStackTraceLimit(2);
845
- const defError = new globalThis.Error();
846
- setStackTraceLimit(prevLimit);
900
+ let defError;
901
+ if (prevLimit !== 0) {
902
+ setStackTraceLimit(2);
903
+ defError = new globalThis.Error();
904
+ setStackTraceLimit(prevLimit);
905
+ }
847
906
  if (nameFirst) {
848
907
  return (body, ...pipeables) => makeFn(name, body, defError, pipeables, nameFirst, spanOptions);
849
908
  }
@@ -863,15 +922,18 @@ const makeFn = (name, bodyOrOptions, defError, pipeables, addSpan, spanOptions)
863
922
  return result;
864
923
  }
865
924
  const prevLimit = getStackTraceLimit();
866
- setStackTraceLimit(2);
867
- const callError = new globalThis.Error();
868
- setStackTraceLimit(prevLimit);
925
+ let callError;
926
+ if (prevLimit !== 0) {
927
+ setStackTraceLimit(2);
928
+ callError = new globalThis.Error();
929
+ setStackTraceLimit(prevLimit);
930
+ }
869
931
  return updateService(addSpan ? useSpan(name, spanOptions, span => provideParentSpan(result, span)) : result, CurrentStackFrame, prev => ({
870
932
  name,
871
- stack: fnStackCleaner(() => callError.stack),
933
+ stack: callError ? fnStackCleaner(() => callError.stack) : constUndefined,
872
934
  parent: {
873
935
  name: `${name} (definition)`,
874
- stack: fnStackCleaner(() => defError.stack),
936
+ stack: defError ? fnStackCleaner(() => defError.stack) : constUndefined,
875
937
  parent: prev
876
938
  }
877
939
  }));
@@ -883,7 +945,7 @@ export const fnUntracedEager = (body, ...pipeables) => defineFunctionLength(body
883
945
  } : function () {
884
946
  let effect = fromIteratorEagerUnsafe(() => body.apply(this, arguments));
885
947
  for (const pipeable of pipeables) {
886
- effect = pipeable(effect);
948
+ effect = pipeable(effect, ...arguments);
887
949
  }
888
950
  return effect;
889
951
  });
@@ -919,35 +981,82 @@ const fromIteratorEagerUnsafe = evaluate => {
919
981
  return die(error);
920
982
  }
921
983
  };
922
- const fromIteratorUnsafe = /*#__PURE__*/makePrimitive({
923
- op: "Iterator",
924
- single: false,
925
- [contA](value, fiber) {
926
- const iter = this[args][0];
927
- while (true) {
928
- const state = iter.next(value);
929
- if (state.done) return succeed(state.value);
930
- if (!effectIsExit(state.value)) {
931
- fiber._stack.push(this);
932
- return state.value;
933
- } else if (state.value._tag === "Failure") {
934
- return state.value;
984
+ const fromIteratorUnsafe = /*#__PURE__*/function () {
985
+ const Proto = /*#__PURE__*/makePrimitiveProto({
986
+ op: "Iterator",
987
+ [contA](value, fiber) {
988
+ const iter = this.iterator;
989
+ while (true) {
990
+ const state = iter.next(value);
991
+ if (state.done) return succeed(state.value);
992
+ if (!effectIsExit(state.value)) {
993
+ fiber._stack.push(this);
994
+ return state.value;
995
+ } else if (state.value._tag === "Failure") {
996
+ return state.value;
997
+ }
998
+ value = state.value.value;
935
999
  }
936
- value = state.value.value;
1000
+ },
1001
+ [evaluate](fiber) {
1002
+ return this[contA](this.initial, fiber);
937
1003
  }
938
- },
939
- [evaluate](fiber) {
940
- return this[contA](this[args][1], fiber);
941
- }
942
- });
1004
+ });
1005
+ const IteratorImpl = function (iterator, initial) {
1006
+ this.iterator = iterator;
1007
+ this.initial = initial;
1008
+ };
1009
+ IteratorImpl.prototype = Proto;
1010
+ return function (iterator, initial) {
1011
+ return new IteratorImpl(iterator, initial);
1012
+ };
1013
+ }();
943
1014
  // ----------------------------------------------------------------------------
944
1015
  // mapping & sequencing
945
1016
  // ----------------------------------------------------------------------------
946
1017
  /** @internal */
947
- export const as = /*#__PURE__*/dual(2, (self, value) => {
948
- const b = succeed(value);
949
- return flatMap(self, _ => b);
1018
+ export const as = /*#__PURE__*/dual(2, (self, value) => new ContImpl(self, returnPayload, succeed(value)));
1019
+ const evaluateCont = function (fiber) {
1020
+ fiber._stack.push(this);
1021
+ return this[args];
1022
+ };
1023
+ const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
1024
+ op: "OnSuccess",
1025
+ [evaluate]: evaluateCont
950
1026
  });
1027
+ const OnSuccessImpl = function (self, f) {
1028
+ this[args] = self;
1029
+ this[contA] = f;
1030
+ };
1031
+ OnSuccessImpl.prototype = OnSuccessProto;
1032
+ // A success continuation with an extra payload slot. The stored continuation
1033
+ // receives the primitive as `this` and reads `this.payload`, so combinators
1034
+ // like map / as / tap / andThen can share module-level continuation functions
1035
+ // instead of allocating a closure per call.
1036
+ const ContImpl = function (self, cont, payload) {
1037
+ this[args] = self;
1038
+ this[contA] = cont;
1039
+ this.payload = payload;
1040
+ };
1041
+ ContImpl.prototype = OnSuccessProto;
1042
+ const returnPayload = function () {
1043
+ return this.payload;
1044
+ };
1045
+ const mapCont = function (value) {
1046
+ const f = this.payload;
1047
+ return succeed(internalCall(() => f(value)));
1048
+ };
1049
+ const andThenCont = function (value) {
1050
+ const f = this.payload;
1051
+ return internalCall(() => f(value));
1052
+ };
1053
+ const tapCont = function (value) {
1054
+ const f = this.payload;
1055
+ return new ContImpl(internalCall(() => f(value)), returnPayload, exitSucceed(value));
1056
+ };
1057
+ const tapEffectCont = function (value) {
1058
+ return new ContImpl(this.payload, returnPayload, exitSucceed(value));
1059
+ };
951
1060
  /** @internal */
952
1061
  export const asSome = self => map(self, Option.some);
953
1062
  /** @internal */
@@ -956,11 +1065,11 @@ export const flip = self => matchEffect(self, {
956
1065
  onSuccess: fail
957
1066
  });
958
1067
  /** @internal */
959
- export const andThen = /*#__PURE__*/dual(2, (self, f) => flatMap(self, a => isEffect(f) ? f : internalCall(() => f(a))));
1068
+ export const andThen = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? returnPayload : andThenCont, f));
960
1069
  /** @internal */
961
- export const tap = /*#__PURE__*/dual(2, (self, f) => flatMap(self, a => as(isEffect(f) ? f : internalCall(() => f(a)), a)));
1070
+ export const tap = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? tapEffectCont : tapCont, f));
962
1071
  /** @internal */
963
- export const asVoid = self => flatMap(self, _ => exitVoid);
1072
+ export const asVoid = self => new ContImpl(self, returnPayload, exitVoid);
964
1073
  /** @internal */
965
1074
  export const sandbox = self => catchCause(self, fail);
966
1075
  /** @internal */
@@ -1036,19 +1145,7 @@ export const race = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, op
1036
1145
  /** @internal */
1037
1146
  export const raceFirst = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, options) => raceAllFirst([self, that], options));
1038
1147
  /** @internal */
1039
- export const flatMap = /*#__PURE__*/dual(2, (self, f) => {
1040
- const onSuccess = Object.create(OnSuccessProto);
1041
- onSuccess[args] = self;
1042
- onSuccess[contA] = f.length !== 1 ? a => f(a) : f;
1043
- return onSuccess;
1044
- });
1045
- const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
1046
- op: "OnSuccess",
1047
- [evaluate](fiber) {
1048
- fiber._stack.push(this);
1049
- return this[args];
1050
- }
1051
- });
1148
+ export const flatMap = /*#__PURE__*/dual(2, (self, f) => new OnSuccessImpl(self, f.length !== 1 ? a => f(a) : f));
1052
1149
  /** @internal */
1053
1150
  export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
1054
1151
  if (effectIsExit(self)) {
@@ -1057,7 +1154,7 @@ export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
1057
1154
  return matchCauseEffect(self, options);
1058
1155
  });
1059
1156
  /** @internal */
1060
- export const effectIsExit = effect => ExitTypeId in effect;
1157
+ export const effectIsExit = effect => effect[ExitTypeId] !== undefined;
1061
1158
  /** @internal */
1062
1159
  export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
1063
1160
  if (effectIsExit(self)) {
@@ -1071,7 +1168,7 @@ export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
1071
1168
  /** @internal */
1072
1169
  export const flatten = self => flatMap(self, identity);
1073
1170
  /** @internal */
1074
- export const map = /*#__PURE__*/dual(2, (self, f) => flatMap(self, a => succeed(internalCall(() => f(a)))));
1171
+ export const map = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, mapCont, f));
1075
1172
  /** @internal */
1076
1173
  export const mapEager = /*#__PURE__*/dual(2, (self, f) => effectIsExit(self) ? exitMap(self, f) : map(self, f));
1077
1174
  /** @internal */
@@ -1193,7 +1290,9 @@ export const updateServiceScoped = (service, update, options) => uninterruptible
1193
1290
  const updated = update(original);
1194
1291
  fiber.setContext(Context.add(fiber.context, service, updated));
1195
1292
  return scopeAddFinalizerExit(Context.getUnsafe(fiber.context, scopeTag), _ => {
1196
- const current = Context.getUnsafe(fiber.context, service);
1293
+ const currentOption = Context.getOption(fiber.context, service);
1294
+ if (Option.isNone(currentOption)) return void_;
1295
+ const current = currentOption.value;
1197
1296
  let next;
1198
1297
  if (options?.reset === undefined) {
1199
1298
  if (current !== updated) return void_;
@@ -1241,7 +1340,7 @@ export const zipWith = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that,
1241
1340
  // ----------------------------------------------------------------------------
1242
1341
  // filtering & conditionals
1243
1342
  // ----------------------------------------------------------------------------
1244
- /* @internal */
1343
+ /** @internal */
1245
1344
  export const filterOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, predicate, orFailWith) => filterOrElse(self, predicate, orFailWith ? a => fail(orFailWith(a)) : () => fail(new NoSuchElementError())));
1246
1345
  /** @internal */
1247
1346
  export const when = /*#__PURE__*/dual(2, (self, condition) => flatMap(condition, pass => pass ? asSome(self) : succeedNone));
@@ -1264,19 +1363,16 @@ export const forever = /*#__PURE__*/dual(args => isEffect(args[0]), (self, optio
1264
1363
  // error handling
1265
1364
  // ----------------------------------------------------------------------------
1266
1365
  /** @internal */
1267
- export const catchCause = /*#__PURE__*/dual(2, (self, f) => {
1268
- const onFailure = Object.create(OnFailureProto);
1269
- onFailure[args] = self;
1270
- onFailure[contE] = f.length !== 1 ? cause => f(cause) : f;
1271
- return onFailure;
1272
- });
1366
+ export const catchCause = /*#__PURE__*/dual(2, (self, f) => new OnFailureImpl(self, f.length !== 1 ? cause => f(cause) : f));
1273
1367
  const OnFailureProto = /*#__PURE__*/makePrimitiveProto({
1274
1368
  op: "OnFailure",
1275
- [evaluate](fiber) {
1276
- fiber._stack.push(this);
1277
- return this[args];
1278
- }
1369
+ [evaluate]: evaluateCont
1279
1370
  });
1371
+ const OnFailureImpl = function (self, f) {
1372
+ this[args] = self;
1373
+ this[contE] = f;
1374
+ };
1375
+ OnFailureImpl.prototype = OnFailureProto;
1280
1376
  /** @internal */
1281
1377
  export const catchCauseIf = /*#__PURE__*/dual(3, (self, predicate, f) => catchCause(self, cause => {
1282
1378
  if (!predicate(cause)) {
@@ -1352,7 +1448,7 @@ export const catchTags = /*#__PURE__*/dual(args => isEffect(args[0]), (self, cas
1352
1448
  }, e => internalCall(() => cases[e["_tag"]](e)), orElse);
1353
1449
  });
1354
1450
  /** @internal */
1355
- export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason"), e => {
1451
+ export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && (orElse !== undefined || isTagged(e.reason, reasonTag)), e => {
1356
1452
  const reason = e.reason;
1357
1453
  if (isTagged(reason, reasonTag)) return f(reason, e);
1358
1454
  return orElse ? internalCall(() => orElse(reason, e)) : fail(e);
@@ -1360,7 +1456,7 @@ export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, e
1360
1456
  /** @internal */
1361
1457
  export const catchReasons = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, cases, orElse) => {
1362
1458
  let keys;
1363
- return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag), e => {
1459
+ return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag) && (orElse !== undefined || (keys ??= Object.keys(cases)).includes(e.reason._tag)), e => {
1364
1460
  const reason = e.reason;
1365
1461
  keys ??= Object.keys(cases);
1366
1462
  if (keys.includes(reason._tag)) {
@@ -1378,7 +1474,7 @@ export const unwrapReason = /*#__PURE__*/dual(2, (self, errorTag) => catchFilter
1378
1474
  }, fail));
1379
1475
  /** @internal */
1380
1476
  export const mapError = /*#__PURE__*/dual(2, (self, f) => catch_(self, error => failSync(() => f(error))));
1381
- /* @internal */
1477
+ /** @internal */
1382
1478
  export const mapBoth = /*#__PURE__*/dual(2, (self, options) => matchEffect(self, {
1383
1479
  onFailure: e => failSync(() => options.onFailure(e)),
1384
1480
  onSuccess: a => sync(() => options.onSuccess(a))
@@ -1448,20 +1544,17 @@ export const result = self => matchEager(self, {
1448
1544
  // pattern matching
1449
1545
  // ----------------------------------------------------------------------------
1450
1546
  /** @internal */
1451
- export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) => {
1452
- const primitive = Object.create(OnSuccessAndFailureProto);
1453
- primitive[args] = self;
1454
- primitive[contA] = options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess;
1455
- primitive[contE] = options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure;
1456
- return primitive;
1457
- });
1547
+ export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) => new OnSuccessAndFailureImpl(self, options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess, options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure));
1458
1548
  const OnSuccessAndFailureProto = /*#__PURE__*/makePrimitiveProto({
1459
1549
  op: "OnSuccessAndFailure",
1460
- [evaluate](fiber) {
1461
- fiber._stack.push(this);
1462
- return this[args];
1463
- }
1550
+ [evaluate]: evaluateCont
1464
1551
  });
1552
+ const OnSuccessAndFailureImpl = function (self, onSuccess, onFailure) {
1553
+ this[args] = self;
1554
+ this[contA] = onSuccess;
1555
+ this[contE] = onFailure;
1556
+ };
1557
+ OnSuccessAndFailureImpl.prototype = OnSuccessAndFailureProto;
1465
1558
  /** @internal */
1466
1559
  export const matchCause = /*#__PURE__*/dual(2, (self, options) => matchCauseEffect(self, {
1467
1560
  onFailure: cause => sync(() => options.onFailure(cause)),
@@ -1532,12 +1625,17 @@ export const isSuccess = /*#__PURE__*/matchEager({
1532
1625
  /** @internal */
1533
1626
  export const delay = /*#__PURE__*/dual(2, (self, duration) => andThen(sleep(duration), self));
1534
1627
  /** @internal */
1535
- export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => raceFirst(self, flatMap(sleep(options.duration), options.orElse)));
1628
+ export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => flatMap(timeoutOption(self, options.duration), option => Option.isNone(option) ? options.orElse() : succeed(option.value)));
1536
1629
  /** @internal */
1537
- export const timeout = /*#__PURE__*/dual(2, (self, duration) => timeoutOrElse(self, {
1538
- duration,
1539
- orElse: () => fail(new TimeoutError())
1540
- }));
1630
+ const timeoutErrorFromDuration = duration => new TimeoutError(`Operation timed out after '${Duration.format(duration)}'`);
1631
+ /** @internal */
1632
+ export const timeout = /*#__PURE__*/dual(2, (self, duration) => {
1633
+ const decoded = Duration.fromInputUnsafe(duration);
1634
+ return timeoutOrElse(self, {
1635
+ duration: decoded,
1636
+ orElse: () => fail(timeoutErrorFromDuration(decoded))
1637
+ });
1638
+ });
1541
1639
  /** @internal */
1542
1640
  export const timeoutOption = /*#__PURE__*/dual(2, (self, duration) => raceFirst(asSome(self), as(sleep(duration), Option.none())));
1543
1641
  /** @internal */
@@ -1567,11 +1665,13 @@ export const scopeCloseUnsafe = (self, exit_) => {
1567
1665
  self.state = closed;
1568
1666
  return;
1569
1667
  }
1570
- const {
1571
- finalizers
1572
- } = self.state;
1668
+ const state = self.state;
1573
1669
  self.state = closed;
1574
- if (finalizers.size === 0) {
1670
+ if (state.finalizer !== undefined) {
1671
+ return state.finalizer(exit_);
1672
+ }
1673
+ const finalizers = state.finalizers;
1674
+ if (finalizers === undefined || finalizers.size === 0) {
1575
1675
  return;
1576
1676
  } else if (finalizers.size === 1) {
1577
1677
  return finalizers.values().next().value(exit_);
@@ -1628,19 +1728,40 @@ export const scopeAddFinalizerUnsafe = (scope, key, finalizer) => {
1628
1728
  if (scope.state._tag === "Empty") {
1629
1729
  scope.state = {
1630
1730
  _tag: "Open",
1631
- finalizers: new Map([[key, finalizer]])
1731
+ finalizerKey: key,
1732
+ finalizer,
1733
+ finalizers: undefined
1632
1734
  };
1633
1735
  } else if (scope.state._tag === "Open") {
1634
- scope.state.finalizers.set(key, finalizer);
1736
+ const state = scope.state;
1737
+ if (state.finalizer !== undefined) {
1738
+ state.finalizers = new Map([[state.finalizerKey, state.finalizer]]);
1739
+ state.finalizerKey = undefined;
1740
+ state.finalizer = undefined;
1741
+ state.finalizers.set(key, finalizer);
1742
+ } else if (state.finalizers === undefined) {
1743
+ state.finalizerKey = key;
1744
+ state.finalizer = finalizer;
1745
+ } else {
1746
+ state.finalizers.set(key, finalizer);
1747
+ }
1635
1748
  }
1636
1749
  };
1637
1750
  /** @internal */
1638
1751
  export const scopeRemoveFinalizerUnsafe = (scope, key) => {
1639
1752
  if (scope.state._tag === "Open") {
1640
- scope.state.finalizers.delete(key);
1753
+ const state = scope.state;
1754
+ if (state.finalizerKey === key) {
1755
+ state.finalizerKey = undefined;
1756
+ state.finalizer = undefined;
1757
+ } else if (state.finalizers !== undefined) {
1758
+ state.finalizers.delete(key);
1759
+ }
1641
1760
  }
1642
1761
  };
1643
1762
  /** @internal */
1763
+ export const scopeFinalizerCountUnsafe = scope => scope.state._tag !== "Open" ? 0 : scope.state.finalizer !== undefined ? 1 : scope.state.finalizers?.size ?? 0;
1764
+ /** @internal */
1644
1765
  export const scopeMakeUnsafe = (finalizerStrategy = "sequential") => ({
1645
1766
  [ScopeCloseableTypeId]: ScopeCloseableTypeId,
1646
1767
  [ScopeTypeId]: ScopeTypeId,
@@ -1678,30 +1799,40 @@ export const acquireRelease = (acquire, release, options) => contextWith(context
1678
1799
  /** @internal */
1679
1800
  export const addFinalizer = finalizer => flatMap(scope, scope => contextWith(context => scopeAddFinalizerExit(scope, exit => provideContext(finalizer(exit), context))));
1680
1801
  /** @internal */
1681
- export const onExitPrimitive = /*#__PURE__*/makePrimitive({
1682
- op: "OnExit",
1683
- single: false,
1684
- [evaluate](fiber) {
1685
- fiber._stack.push(this);
1686
- return this[args][0];
1687
- },
1688
- [contAll](fiber) {
1689
- if (fiber.interruptible && this[args][2] !== true) {
1690
- fiber._stack.push(setInterruptibleTrue);
1691
- fiber.interruptible = false;
1802
+ export const onExitPrimitive = /*#__PURE__*/function () {
1803
+ const Proto = /*#__PURE__*/makePrimitiveProto({
1804
+ op: "OnExit",
1805
+ [evaluate](fiber) {
1806
+ fiber._stack.push(this);
1807
+ return this.effect;
1808
+ },
1809
+ [contAll](fiber) {
1810
+ if (fiber.interruptible && this.interruptible !== true) {
1811
+ fiber._stack.push(setInterruptibleTrue);
1812
+ fiber.interruptible = false;
1813
+ }
1814
+ },
1815
+ [contA](value, _, exit) {
1816
+ exit ??= exitSucceed(value);
1817
+ const eff = this.onExit(exit);
1818
+ return eff ? flatMap(eff, _ => exit) : exit;
1819
+ },
1820
+ [contE](cause, _, exit) {
1821
+ exit ??= exitFailCause(cause);
1822
+ const eff = this.onExit(exit);
1823
+ return eff ? flatMap(combineFinalizerCause(exit, eff), _ => exit) : exit;
1692
1824
  }
1693
- },
1694
- [contA](value, _, exit) {
1695
- exit ??= exitSucceed(value);
1696
- const eff = this[args][1](exit);
1697
- return eff ? flatMap(eff, _ => exit) : exit;
1698
- },
1699
- [contE](cause, _, exit) {
1700
- exit ??= exitFailCause(cause);
1701
- const eff = this[args][1](exit);
1702
- return eff ? flatMap(combineFinalizerCause(exit, eff), _ => exit) : exit;
1703
- }
1704
- });
1825
+ });
1826
+ const OnExitImpl = function (effect, onExit, interruptible) {
1827
+ this.effect = effect;
1828
+ this.onExit = onExit;
1829
+ this.interruptible = interruptible;
1830
+ };
1831
+ OnExitImpl.prototype = Proto;
1832
+ return function (effect, onExit, interruptible) {
1833
+ return new OnExitImpl(effect, onExit, interruptible);
1834
+ };
1835
+ }();
1705
1836
  /** @internal */
1706
1837
  export const onExit = /*#__PURE__*/dual(2, onExitPrimitive);
1707
1838
  /** @internal */
@@ -1738,7 +1869,7 @@ export const onErrorFilter = /*#__PURE__*/dual(3, (self, filter, f) => onExit(se
1738
1869
  /** @internal */
1739
1870
  export const onInterrupt = /*#__PURE__*/dual(2, (self, finalizer) => onErrorFilter(causeFilterInterruptors, finalizer)(self));
1740
1871
  /** @internal */
1741
- export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(restore(use(a)), exit => release(a, exit), true)));
1872
+ export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(suspend(() => restore(use(a))), exit => release(a, exit), true)));
1742
1873
  /** @internal */
1743
1874
  export const acquireDisposable = acquire => acquireRelease(acquire, resource => hasProperty(resource, Symbol.asyncDispose) ? promise(() => resource[Symbol.asyncDispose]()) : sync(() => resource[Symbol.dispose]()));
1744
1875
  // ----------------------------------------------------------------------------
@@ -1775,7 +1906,21 @@ export const cachedInvalidateWithTTL = /*#__PURE__*/dual(2, (self, ttl) => sync(
1775
1906
  /** @internal */
1776
1907
  export const cachedWithTTL = /*#__PURE__*/dual(2, (self, timeToLive) => map(cachedInvalidateWithTTL(self, timeToLive), tuple => tuple[0]));
1777
1908
  /** @internal */
1778
- export const cached = self => cachedWithTTL(self, Duration.infinity);
1909
+ export const cached = self => sync(() => {
1910
+ const latch = makeLatchUnsafe(false);
1911
+ let started = false;
1912
+ let exit;
1913
+ const wait = flatMap(latch.await, () => exit);
1914
+ return suspend(() => {
1915
+ if (exit !== undefined) return exit;
1916
+ if (started) return wait;
1917
+ started = true;
1918
+ return onExit(self, result => sync(() => {
1919
+ exit = result;
1920
+ latch.openUnsafe();
1921
+ }));
1922
+ });
1923
+ });
1779
1924
  // ----------------------------------------------------------------------------
1780
1925
  // interruption
1781
1926
  // ----------------------------------------------------------------------------
@@ -1804,6 +1949,30 @@ const setFiberInterruptible = fiber => {
1804
1949
  fiber._stack.push(setInterruptibleFalse);
1805
1950
  if (fiber._interruptedCause) return failCause(fiber._interruptedCause);
1806
1951
  };
1952
+ /**
1953
+ * Makes the current fiber uninterruptible for the returned effect without an
1954
+ * extra primitive. Call only within `withFiber`.
1955
+ *
1956
+ * @internal
1957
+ */
1958
+ export const fiberEnterUninterruptibleUnsafe = fiber => {
1959
+ const impl = fiber;
1960
+ if (!impl.interruptible) return;
1961
+ impl.interruptible = false;
1962
+ impl._stack.push(setInterruptibleTrue);
1963
+ };
1964
+ /**
1965
+ * Makes the current fiber interruptible for the returned effect without an
1966
+ * extra primitive. Call only within `withFiber` and return any pending
1967
+ * interruption it produces.
1968
+ *
1969
+ * @internal
1970
+ */
1971
+ export const fiberEnterInterruptibleUnsafe = fiber => {
1972
+ const impl = fiber;
1973
+ if (impl.interruptible) return undefined;
1974
+ return setFiberInterruptible(impl);
1975
+ };
1807
1976
  /** @internal */
1808
1977
  export const interruptible = self => withFiber(fiber => {
1809
1978
  if (fiber.interruptible) return self;
@@ -1932,8 +2101,7 @@ export const whileLoop = /*#__PURE__*/makePrimitive({
1932
2101
  });
1933
2102
  /** @internal */
1934
2103
  export const forEach = /*#__PURE__*/dual(args => typeof args[1] === "function", (iterable, f, options) => suspend(() => {
1935
- const concurrencyOption = options?.concurrency ?? 1;
1936
- const concurrency = concurrencyOption === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrencyOption);
2104
+ const concurrency = resolveConcurrency(options?.concurrency);
1937
2105
  if (concurrency === 1) {
1938
2106
  return forEachSequential(iterable, f, options);
1939
2107
  }
@@ -1970,10 +2138,13 @@ const forEachSequential = (iterable, f, options) => suspend(() => {
1970
2138
  }
1971
2139
  }), out);
1972
2140
  });
1973
- const iterateEagerImpl = options => {
2141
+ /** @internal */
2142
+ export const resolveConcurrency = concurrency => concurrency === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrency ?? 1);
2143
+ /** @internal */
2144
+ export const iterateEager = () => options => {
1974
2145
  const onItem = options.onItem;
1975
2146
  const step = options.step;
1976
- const runSequential = (state, items, index, end) => {
2147
+ const runSequential = (state, items, index = 0, end = items.length) => {
1977
2148
  for (; index < end; index++) {
1978
2149
  const item = items[index];
1979
2150
  const effect = onItem(state, item, index);
@@ -1984,14 +2155,15 @@ const iterateEagerImpl = options => {
1984
2155
  if (terminal) return terminal._tag === "Failure" ? terminal : undefined;
1985
2156
  }
1986
2157
  };
2158
+ return runSequential;
2159
+ };
2160
+ const iterateConcurrentImpl = options => {
2161
+ const onItem = options.onItem;
2162
+ const step = options.step;
1987
2163
  return (state, items, opts) => {
1988
2164
  let index = 0;
1989
- const end = opts?.end ?? items.length;
1990
- const concurrency = opts?.concurrency ?? 1;
1991
- if (concurrency === 1) {
1992
- return runSequential(state, items, 0, end);
1993
- }
1994
- const orderedStep = opts?.orderedStep === true && concurrency > 1;
2165
+ const end = opts.end ?? items.length;
2166
+ const concurrency = opts.concurrency;
1995
2167
  let done = false;
1996
2168
  let parentFiber;
1997
2169
  let fibers;
@@ -1999,8 +2171,6 @@ const iterateEagerImpl = options => {
1999
2171
  let interrupted = false;
2000
2172
  let terminal;
2001
2173
  let effect;
2002
- let nextIndex = index;
2003
- const exits = orderedStep ? new Array(end) : undefined;
2004
2174
  const failDefect = error => {
2005
2175
  const defect = exitDie(error);
2006
2176
  terminal = defect;
@@ -2008,19 +2178,6 @@ const iterateEagerImpl = options => {
2008
2178
  interrupted = true;
2009
2179
  return fibers && fibers.size > 0 ? flatMap(uninterruptible(fiberInterruptAll(Array.from(fibers))), () => defect) : defect;
2010
2180
  };
2011
- const runStep = (item, exit, currentIndex) => {
2012
- if (!orderedStep) return step(state, item, exit, currentIndex);
2013
- if (terminal) return terminal;
2014
- exits[currentIndex] = exit;
2015
- while (nextIndex < end) {
2016
- const nextExit = exits[nextIndex];
2017
- if (nextExit === undefined) return;
2018
- exits[nextIndex] = undefined;
2019
- const index = nextIndex++;
2020
- const result = step(state, items[index], nextExit, index);
2021
- if (result) return result;
2022
- }
2023
- };
2024
2181
  const go = () => {
2025
2182
  let paused = false;
2026
2183
  for (; !terminal && index < end; index++) {
@@ -2028,7 +2185,7 @@ const iterateEagerImpl = options => {
2028
2185
  const eff = effect ?? onItem(state, item, index);
2029
2186
  // fast case (already an exit)
2030
2187
  if (effectIsExit(eff)) {
2031
- terminal = runStep(item, eff, index);
2188
+ terminal = step(state, item, eff, index);
2032
2189
  if (terminal) break;
2033
2190
  // We have an effect, so enter "async" mode
2034
2191
  } else if (!parentFiber) {
@@ -2056,7 +2213,7 @@ const iterateEagerImpl = options => {
2056
2213
  effect = undefined;
2057
2214
  const fiber = forkUnsafe(parentFiber, eff, true, true, "inherit");
2058
2215
  if (fiber._exit) {
2059
- terminal = runStep(item, fiber._exit, index);
2216
+ terminal = step(state, item, fiber._exit, index);
2060
2217
  if (terminal) break;
2061
2218
  continue;
2062
2219
  }
@@ -2078,7 +2235,7 @@ const iterateEagerImpl = options => {
2078
2235
  }
2079
2236
  }
2080
2237
  } else {
2081
- const result = runStep(item, exit, currentIndex);
2238
+ const result = step(state, item, exit, currentIndex);
2082
2239
  if (result) {
2083
2240
  terminal = result._tag === "Failure" ? exitFailCause(causeFromReasons(result.cause.reasons.slice())) : result;
2084
2241
  go();
@@ -2123,8 +2280,8 @@ const iterateEagerImpl = options => {
2123
2280
  };
2124
2281
  };
2125
2282
  /** @internal */
2126
- export const iterateEager = () => iterateEagerImpl;
2127
- const forEachConcurrent = /*#__PURE__*/iterateEagerImpl({
2283
+ export const iterateConcurrent = () => options => iterateConcurrentImpl(options);
2284
+ const forEachConcurrent = /*#__PURE__*/iterateConcurrentImpl({
2128
2285
  onItem(state, item, index) {
2129
2286
  return state.f(item, index);
2130
2287
  },
@@ -2134,14 +2291,14 @@ const forEachConcurrent = /*#__PURE__*/iterateEagerImpl({
2134
2291
  }
2135
2292
  }
2136
2293
  });
2137
- /* @internal */
2294
+ /** @internal */
2138
2295
  export const filterOrElse = /*#__PURE__*/dual(3, (self, predicate, orElse) => flatMap(self, a => predicate(a) ? succeed(a) : orElse(a)));
2139
2296
  /** @internal */
2140
2297
  export const filterMapOrElse = /*#__PURE__*/dual(3, (self, filter, orElse) => flatMap(self, a => {
2141
2298
  const result = filter(a);
2142
2299
  return Result.isFailure(result) ? orElse(result.failure) : succeed(result.success);
2143
2300
  }));
2144
- /* @internal */
2301
+ /** @internal */
2145
2302
  export const filterMapOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, orFailWith) => filterMapOrElse(self, filter, orFailWith ? x => fail(orFailWith(x)) : () => fail(new NoSuchElementError())));
2146
2303
  /** @internal */
2147
2304
  export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, predicate, options) => suspend(() => {
@@ -2218,7 +2375,7 @@ export const forkUnsafe = (parent, effect, immediate = false, daemon = false, un
2218
2375
  }
2219
2376
  if (!daemon && !child._exit) {
2220
2377
  parentRuntime.children().add(child);
2221
- child.addObserver(() => parentRuntime._children.delete(child));
2378
+ child._parent = parentRuntime;
2222
2379
  }
2223
2380
  return child;
2224
2381
  };
@@ -2485,7 +2642,7 @@ const filterDisablePropagation = span => {
2485
2642
  /** @internal */
2486
2643
  export const makeSpanUnsafe = (fiber, name, options) => {
2487
2644
  const disablePropagation = !fiber.getRef(TracerEnabled) || options?.annotations && Context.get(options.annotations, Tracer.DisablePropagation);
2488
- const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.currentSpan);
2645
+ const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.cache.span);
2489
2646
  let span;
2490
2647
  if (disablePropagation) {
2491
2648
  span = noopSpan({
@@ -2506,7 +2663,7 @@ export const makeSpanUnsafe = (fiber, name, options) => {
2506
2663
  parent,
2507
2664
  annotations: options?.annotations ?? Context.empty(),
2508
2665
  links,
2509
- startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : BigInt(0),
2666
+ startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : bigint0,
2510
2667
  kind: options?.kind ?? "internal",
2511
2668
  root: options?.root ?? Option.isNone(parent),
2512
2669
  sampled: options?.sampled ?? (Option.isSome(parent) && parent.value.sampled === false ? false : !isLogLevelGreaterThan(fiber.getRef(Tracer.MinimumTraceLevel), level))
@@ -2577,7 +2734,7 @@ export const useSpan = (name, ...args) => {
2577
2734
  const span = makeSpanUnsafe(fiber, name, options);
2578
2735
  const clock = fiber.getRef(ClockRef);
2579
2736
  const timingEnabled = fiber.getRef(TracerTimingEnabled);
2580
- return onExit(internalCall(() => evaluate(span)), exit => endSpan(span, exit, clock, timingEnabled));
2737
+ return onExit(suspend(() => internalCall(() => evaluate(span))), exit => endSpan(span, exit, clock, timingEnabled));
2581
2738
  });
2582
2739
  };
2583
2740
  const provideParentSpan = /*#__PURE__*/provideService(Tracer.ParentSpan);
@@ -2798,7 +2955,7 @@ export class UnknownError extends /*#__PURE__*/TaggedError("UnknownError") {
2798
2955
  // Console
2799
2956
  // ----------------------------------------------------------------------------
2800
2957
  /** @internal */
2801
- export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console/CurrentConsole", {
2958
+ export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console", {
2802
2959
  defaultValue: () => globalThis.console
2803
2960
  });
2804
2961
  // ----------------------------------------------------------------------------
@@ -2833,7 +2990,7 @@ export const isLogLevelGreaterThan = /*#__PURE__*/Order.isGreaterThan(LogLevelOr
2833
2990
  // Logger
2834
2991
  // ----------------------------------------------------------------------------
2835
2992
  /** @internal */
2836
- export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/Loggers/CurrentLoggers", {
2993
+ export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/Logger/CurrentLoggers", {
2837
2994
  defaultValue: () => new Set([defaultLogger, tracerLogger])
2838
2995
  });
2839
2996
  /** @internal */
@@ -2860,7 +3017,7 @@ export const annotateLogsScoped = function () {
2860
3017
  };
2861
3018
  for (let i = 0; i < entries.length; i++) {
2862
3019
  const [key, value] = entries[i];
2863
- if (current[key] !== value) continue;
3020
+ if (current[key] !== value && !Object.is(current[key], value)) continue;
2864
3021
  if (Object.hasOwn(prev, key)) {
2865
3022
  InternalRecord.assignProperty(next, key, prev[key]);
2866
3023
  } else {
@@ -2939,8 +3096,8 @@ export const logWithLevel = level => (...message) => {
2939
3096
  cause = causeEmpty;
2940
3097
  }
2941
3098
  return withFiber(fiber => {
2942
- const logLevel = level ?? fiber.currentLogLevel;
2943
- if (isLogLevelGreaterThan(fiber.minimumLogLevel, logLevel)) {
3099
+ const logLevel = level ?? fiber.cache.logLevel;
3100
+ if (isLogLevelGreaterThan(fiber.cache.minimumLogLevel, logLevel)) {
2944
3101
  return void_;
2945
3102
  }
2946
3103
  const clock = fiber.getRef(ClockRef);
@@ -3007,24 +3164,22 @@ export const consolePretty = options => {
3007
3164
  // property accesses, which bundlers must retain as possible side effects
3008
3165
  const process = globalThis.process;
3009
3166
  const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
3010
- const processStdoutIsTTY = hasProcessStdout && process.stdout.isTTY === true;
3011
- const hasProcessStdoutOrDeno = hasProcessStdout || "Deno" in globalThis;
3012
- const mode_ = options?.mode ?? "auto";
3013
- const mode = mode_ === "auto" ? hasProcessStdoutOrDeno ? "tty" : "browser" : mode_;
3014
- const isBrowser = mode === "browser";
3015
- const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY || isBrowser;
3016
- const formatDate = options?.formatDate ?? defaultDateFormat;
3017
- return isBrowser ? prettyLoggerBrowser({
3018
- colors: showColors,
3019
- formatDate
3020
- }) : prettyLoggerTty({
3021
- colors: showColors,
3022
- formatDate
3023
- });
3167
+ const isDeno = "Deno" in globalThis;
3168
+ const mode = options?.mode ?? "auto";
3169
+ const isTtyLogger = mode === "auto" ? hasProcessStdout || isDeno : mode === "tty";
3170
+ return isTtyLogger ? prettyLoggerTty(options) : prettyLoggerBrowser(options);
3024
3171
  };
3025
- const prettyLoggerTty = options => {
3026
- const processIsBun = globalThis.process?.isBun === true;
3027
- const color = options.colors ? withColor : withColorNoop;
3172
+ /** @internal */
3173
+ export const prettyLoggerTty = options => {
3174
+ const formatDate = options?.formatDate ?? defaultDateFormat;
3175
+ // evaluated lazily so the module-level bundle stays free of `process`
3176
+ // property accesses, which bundlers must retain as possible side effects
3177
+ const process = globalThis.process;
3178
+ const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
3179
+ const processStdoutIsTTY = hasProcessStdout && process.stdout.isTTY === true;
3180
+ const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY;
3181
+ const color = showColors ? withColor : withColorNoop;
3182
+ const processIsBun = process?.isBun === true;
3028
3183
  return loggerMake(({
3029
3184
  cause,
3030
3185
  date,
@@ -3036,7 +3191,7 @@ const prettyLoggerTty = options => {
3036
3191
  // oxlint-disable-next-line no-console
3037
3192
  const log = fiber.getRef(LogToStderr) ? console.error : console.log;
3038
3193
  const message = Array.isArray(message_) ? message_.slice() : [message_];
3039
- let firstLine = color(`[${options.formatDate(date)}]`, colors.white) + ` ${color(logLevel.toUpperCase(), ...logLevelColors[logLevel])}` + ` (#${fiber.id})`;
3194
+ let firstLine = color(`[${formatDate(date)}]`, colors.white) + ` ${color(logLevel.toUpperCase(), ...logLevelColors[logLevel])}` + ` (#${fiber.id})`;
3040
3195
  const now = date.getTime();
3041
3196
  const spans = fiber.getRef(CurrentLogSpans);
3042
3197
  for (const span of spans) {
@@ -3070,8 +3225,11 @@ const prettyLoggerTty = options => {
3070
3225
  if (!processIsBun) console.groupEnd();
3071
3226
  });
3072
3227
  };
3073
- const prettyLoggerBrowser = options => {
3074
- const color = options.colors ? "%c" : "";
3228
+ /** @internal */
3229
+ export const prettyLoggerBrowser = options => {
3230
+ const showColors = options?.colors !== false;
3231
+ const color = showColors ? "%c" : "";
3232
+ const formatDate = options?.formatDate ?? defaultDateFormat;
3075
3233
  return loggerMake(({
3076
3234
  cause,
3077
3235
  date,
@@ -3081,13 +3239,13 @@ const prettyLoggerBrowser = options => {
3081
3239
  }) => {
3082
3240
  const console = fiber.getRef(ConsoleRef);
3083
3241
  const message = Array.isArray(message_) ? message_.slice() : [message_];
3084
- let firstLine = `${color}[${options.formatDate(date)}]`;
3242
+ let firstLine = `${color}[${formatDate(date)}]`;
3085
3243
  const firstParams = [];
3086
- if (options.colors) {
3244
+ if (showColors) {
3087
3245
  firstParams.push("color:gray");
3088
3246
  }
3089
3247
  firstLine += ` ${color}${logLevel.toUpperCase()}${color} (#${fiber.id})`;
3090
- if (options.colors) {
3248
+ if (showColors) {
3091
3249
  firstParams.push(logLevelStyle[logLevel], "");
3092
3250
  }
3093
3251
  const now = date.getTime();
@@ -3101,7 +3259,7 @@ const prettyLoggerBrowser = options => {
3101
3259
  const firstMaybeString = structuredMessage(message[0]);
3102
3260
  if (typeof firstMaybeString === "string") {
3103
3261
  firstLine += ` ${color}${firstMaybeString}`;
3104
- if (options.colors) {
3262
+ if (showColors) {
3105
3263
  firstParams.push("color:deepskyblue");
3106
3264
  }
3107
3265
  messageIndex++;
@@ -3122,7 +3280,7 @@ const prettyLoggerBrowser = options => {
3122
3280
  const annotations = fiber.getRef(CurrentLogAnnotations);
3123
3281
  for (const [key, value] of Object.entries(annotations)) {
3124
3282
  const redacted = redact(value);
3125
- if (options.colors) {
3283
+ if (showColors) {
3126
3284
  // oxlint-disable-next-line no-console
3127
3285
  console.log(`%c${key}:`, "color:gray", redacted);
3128
3286
  } else {
@@ -3170,7 +3328,7 @@ export const tracerLogger = /*#__PURE__*/loggerMake(({
3170
3328
  }) => {
3171
3329
  const clock = fiber.getRef(ClockRef);
3172
3330
  const annotations = fiber.getRef(CurrentLogAnnotations);
3173
- const span = fiber.currentSpan;
3331
+ const span = fiber.cache.span;
3174
3332
  if (span === undefined || span._tag === "ExternalSpan") return;
3175
3333
  const attributes = {};
3176
3334
  for (const [key, value] of Object.entries(annotations)) {