effect 4.0.0-beta.99 → 4.0.0-rc.108

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 (1835) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +14 -19
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  52. package/ai-docs/src/50_http-client/index.md +3 -0
  53. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  59. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  62. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  63. package/ai-docs/src/51_http-server/index.md +3 -0
  64. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  65. package/ai-docs/src/60_child-process/index.md +3 -0
  66. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  67. package/ai-docs/src/70_cli/index.md +5 -0
  68. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  69. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  70. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  71. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  72. package/ai-docs/src/71_ai/index.md +5 -0
  73. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  74. package/ai-docs/src/80_cluster/index.md +4 -0
  75. package/ai-docs/src/index.md +10 -0
  76. package/ai-docs/tsconfig.json +24 -0
  77. package/dist/Array.d.ts +971 -1037
  78. package/dist/Array.d.ts.map +1 -1
  79. package/dist/Array.js +462 -412
  80. package/dist/Array.js.map +1 -1
  81. package/dist/BigDecimal.d.ts +433 -756
  82. package/dist/BigDecimal.d.ts.map +1 -1
  83. package/dist/BigDecimal.js +200 -325
  84. package/dist/BigDecimal.js.map +1 -1
  85. package/dist/BigInt.d.ts +207 -267
  86. package/dist/BigInt.d.ts.map +1 -1
  87. package/dist/BigInt.js +107 -135
  88. package/dist/BigInt.js.map +1 -1
  89. package/dist/Boolean.d.ts +146 -188
  90. package/dist/Boolean.d.ts.map +1 -1
  91. package/dist/Boolean.js +64 -84
  92. package/dist/Boolean.js.map +1 -1
  93. package/dist/Brand.d.ts +3 -3
  94. package/dist/Brand.d.ts.map +1 -1
  95. package/dist/Brand.js +4 -3
  96. package/dist/Brand.js.map +1 -1
  97. package/dist/Cache.d.ts +409 -256
  98. package/dist/Cache.d.ts.map +1 -1
  99. package/dist/Cache.js +213 -134
  100. package/dist/Cache.js.map +1 -1
  101. package/dist/Cause.d.ts +167 -277
  102. package/dist/Cause.d.ts.map +1 -1
  103. package/dist/Cause.js +122 -176
  104. package/dist/Cause.js.map +1 -1
  105. package/dist/Channel.d.ts +756 -769
  106. package/dist/Channel.d.ts.map +1 -1
  107. package/dist/Channel.js +588 -449
  108. package/dist/Channel.js.map +1 -1
  109. package/dist/ChannelSchema.d.ts +1 -1
  110. package/dist/ChannelSchema.d.ts.map +1 -1
  111. package/dist/ChannelSchema.js.map +1 -1
  112. package/dist/Chunk.d.ts +834 -1173
  113. package/dist/Chunk.d.ts.map +1 -1
  114. package/dist/Chunk.js +326 -439
  115. package/dist/Chunk.js.map +1 -1
  116. package/dist/Clock.d.ts +180 -49
  117. package/dist/Clock.d.ts.map +1 -1
  118. package/dist/Clock.js +96 -31
  119. package/dist/Clock.js.map +1 -1
  120. package/dist/Combiner.d.ts +20 -33
  121. package/dist/Combiner.d.ts.map +1 -1
  122. package/dist/Combiner.js +18 -30
  123. package/dist/Combiner.js.map +1 -1
  124. package/dist/Config.d.ts +226 -174
  125. package/dist/Config.d.ts.map +1 -1
  126. package/dist/Config.js +361 -267
  127. package/dist/Config.js.map +1 -1
  128. package/dist/ConfigProvider.d.ts +229 -71
  129. package/dist/ConfigProvider.d.ts.map +1 -1
  130. package/dist/ConfigProvider.js +164 -95
  131. package/dist/ConfigProvider.js.map +1 -1
  132. package/dist/Console.d.ts +233 -33
  133. package/dist/Console.d.ts.map +1 -1
  134. package/dist/Console.js +232 -32
  135. package/dist/Console.js.map +1 -1
  136. package/dist/Context.d.ts +153 -277
  137. package/dist/Context.d.ts.map +1 -1
  138. package/dist/Context.js +172 -236
  139. package/dist/Context.js.map +1 -1
  140. package/dist/Cron.d.ts +144 -176
  141. package/dist/Cron.d.ts.map +1 -1
  142. package/dist/Cron.js +227 -162
  143. package/dist/Cron.js.map +1 -1
  144. package/dist/Crypto.d.ts +13 -15
  145. package/dist/Crypto.d.ts.map +1 -1
  146. package/dist/Crypto.js +22 -15
  147. package/dist/Crypto.js.map +1 -1
  148. package/dist/Data.d.ts +60 -80
  149. package/dist/Data.d.ts.map +1 -1
  150. package/dist/Data.js +18 -24
  151. package/dist/Data.js.map +1 -1
  152. package/dist/DateTime.d.ts +562 -660
  153. package/dist/DateTime.d.ts.map +1 -1
  154. package/dist/DateTime.js +307 -362
  155. package/dist/DateTime.js.map +1 -1
  156. package/dist/Deferred.d.ts +253 -256
  157. package/dist/Deferred.d.ts.map +1 -1
  158. package/dist/Deferred.js +110 -98
  159. package/dist/Deferred.js.map +1 -1
  160. package/dist/Duration.d.ts +216 -308
  161. package/dist/Duration.d.ts.map +1 -1
  162. package/dist/Duration.js +157 -188
  163. package/dist/Duration.js.map +1 -1
  164. package/dist/Effect.d.ts +3142 -3345
  165. package/dist/Effect.d.ts.map +1 -1
  166. package/dist/Effect.js +1452 -1570
  167. package/dist/Effect.js.map +1 -1
  168. package/dist/Effectable.js.map +1 -1
  169. package/dist/Encoding.d.ts +22 -40
  170. package/dist/Encoding.d.ts.map +1 -1
  171. package/dist/Encoding.js +22 -40
  172. package/dist/Encoding.js.map +1 -1
  173. package/dist/Equal.d.ts +33 -37
  174. package/dist/Equal.d.ts.map +1 -1
  175. package/dist/Equal.js +39 -23
  176. package/dist/Equal.js.map +1 -1
  177. package/dist/Equivalence.d.ts +103 -105
  178. package/dist/Equivalence.d.ts.map +1 -1
  179. package/dist/Equivalence.js +77 -79
  180. package/dist/Equivalence.js.map +1 -1
  181. package/dist/ErrorReporter.d.ts +51 -27
  182. package/dist/ErrorReporter.d.ts.map +1 -1
  183. package/dist/ErrorReporter.js +50 -26
  184. package/dist/ErrorReporter.js.map +1 -1
  185. package/dist/ExecutionPlan.d.ts +86 -55
  186. package/dist/ExecutionPlan.d.ts.map +1 -1
  187. package/dist/ExecutionPlan.js +8 -29
  188. package/dist/ExecutionPlan.js.map +1 -1
  189. package/dist/Exit.d.ts +116 -192
  190. package/dist/Exit.d.ts.map +1 -1
  191. package/dist/Exit.js +82 -130
  192. package/dist/Exit.js.map +1 -1
  193. package/dist/Fiber.d.ts +83 -147
  194. package/dist/Fiber.d.ts.map +1 -1
  195. package/dist/Fiber.js +48 -87
  196. package/dist/Fiber.js.map +1 -1
  197. package/dist/FiberHandle.d.ts +152 -105
  198. package/dist/FiberHandle.d.ts.map +1 -1
  199. package/dist/FiberHandle.js +109 -75
  200. package/dist/FiberHandle.js.map +1 -1
  201. package/dist/FiberMap.d.ts +213 -168
  202. package/dist/FiberMap.d.ts.map +1 -1
  203. package/dist/FiberMap.js +114 -89
  204. package/dist/FiberMap.js.map +1 -1
  205. package/dist/FiberSet.d.ts +123 -81
  206. package/dist/FiberSet.d.ts.map +1 -1
  207. package/dist/FiberSet.js +86 -60
  208. package/dist/FiberSet.js.map +1 -1
  209. package/dist/FileSystem.d.ts +154 -265
  210. package/dist/FileSystem.d.ts.map +1 -1
  211. package/dist/FileSystem.js +42 -147
  212. package/dist/FileSystem.js.map +1 -1
  213. package/dist/Filter.d.ts +61 -33
  214. package/dist/Filter.d.ts.map +1 -1
  215. package/dist/Filter.js +26 -15
  216. package/dist/Filter.js.map +1 -1
  217. package/dist/Formatter.d.ts +24 -32
  218. package/dist/Formatter.d.ts.map +1 -1
  219. package/dist/Formatter.js +55 -60
  220. package/dist/Formatter.js.map +1 -1
  221. package/dist/Function.d.ts +106 -148
  222. package/dist/Function.d.ts.map +1 -1
  223. package/dist/Function.js +81 -62
  224. package/dist/Function.js.map +1 -1
  225. package/dist/Graph.d.ts +360 -714
  226. package/dist/Graph.d.ts.map +1 -1
  227. package/dist/Graph.js +168 -297
  228. package/dist/Graph.js.map +1 -1
  229. package/dist/HKT.d.ts +12 -6
  230. package/dist/HKT.d.ts.map +1 -1
  231. package/dist/Hash.d.ts +47 -83
  232. package/dist/Hash.d.ts.map +1 -1
  233. package/dist/Hash.js +46 -68
  234. package/dist/Hash.js.map +1 -1
  235. package/dist/HashMap.d.ts +319 -411
  236. package/dist/HashMap.d.ts.map +1 -1
  237. package/dist/HashMap.js +122 -166
  238. package/dist/HashMap.js.map +1 -1
  239. package/dist/HashRing.d.ts.map +1 -1
  240. package/dist/HashRing.js +1 -0
  241. package/dist/HashRing.js.map +1 -1
  242. package/dist/HashSet.d.ts +177 -284
  243. package/dist/HashSet.d.ts.map +1 -1
  244. package/dist/HashSet.js +68 -109
  245. package/dist/HashSet.js.map +1 -1
  246. package/dist/Inspectable.d.ts +19 -18
  247. package/dist/Inspectable.d.ts.map +1 -1
  248. package/dist/Inspectable.js +20 -16
  249. package/dist/Inspectable.js.map +1 -1
  250. package/dist/Iterable.d.ts +620 -786
  251. package/dist/Iterable.d.ts.map +1 -1
  252. package/dist/Iterable.js +241 -317
  253. package/dist/Iterable.js.map +1 -1
  254. package/dist/JsonPatch.d.ts +11 -13
  255. package/dist/JsonPatch.d.ts.map +1 -1
  256. package/dist/JsonPatch.js +46 -103
  257. package/dist/JsonPatch.js.map +1 -1
  258. package/dist/JsonPointer.d.ts +8 -8
  259. package/dist/JsonPointer.js +8 -8
  260. package/dist/JsonPointer.js.map +1 -1
  261. package/dist/JsonSchema.d.ts +98 -44
  262. package/dist/JsonSchema.d.ts.map +1 -1
  263. package/dist/JsonSchema.js +319 -241
  264. package/dist/JsonSchema.js.map +1 -1
  265. package/dist/Latch.d.ts +23 -35
  266. package/dist/Latch.d.ts.map +1 -1
  267. package/dist/Latch.js +16 -28
  268. package/dist/Latch.js.map +1 -1
  269. package/dist/Layer.d.ts +359 -260
  270. package/dist/Layer.d.ts.map +1 -1
  271. package/dist/Layer.js +202 -180
  272. package/dist/Layer.js.map +1 -1
  273. package/dist/LayerMap.d.ts +42 -29
  274. package/dist/LayerMap.d.ts.map +1 -1
  275. package/dist/LayerMap.js +31 -21
  276. package/dist/LayerMap.js.map +1 -1
  277. package/dist/LayerRef.d.ts +6 -2
  278. package/dist/LayerRef.d.ts.map +1 -1
  279. package/dist/LayerRef.js +6 -2
  280. package/dist/LayerRef.js.map +1 -1
  281. package/dist/LogLevel.d.ts +114 -214
  282. package/dist/LogLevel.d.ts.map +1 -1
  283. package/dist/LogLevel.js +41 -76
  284. package/dist/LogLevel.js.map +1 -1
  285. package/dist/Logger.d.ts +218 -467
  286. package/dist/Logger.d.ts.map +1 -1
  287. package/dist/Logger.js +208 -453
  288. package/dist/Logger.js.map +1 -1
  289. package/dist/ManagedRuntime.d.ts +16 -5
  290. package/dist/ManagedRuntime.d.ts.map +1 -1
  291. package/dist/ManagedRuntime.js +10 -5
  292. package/dist/ManagedRuntime.js.map +1 -1
  293. package/dist/Match.d.ts +217 -252
  294. package/dist/Match.d.ts.map +1 -1
  295. package/dist/Match.js +150 -183
  296. package/dist/Match.js.map +1 -1
  297. package/dist/Metric.d.ts +442 -993
  298. package/dist/Metric.d.ts.map +1 -1
  299. package/dist/Metric.js +202 -645
  300. package/dist/Metric.js.map +1 -1
  301. package/dist/MutableHashMap.d.ts +144 -173
  302. package/dist/MutableHashMap.d.ts.map +1 -1
  303. package/dist/MutableHashMap.js +68 -79
  304. package/dist/MutableHashMap.js.map +1 -1
  305. package/dist/MutableHashSet.d.ts +84 -89
  306. package/dist/MutableHashSet.d.ts.map +1 -1
  307. package/dist/MutableHashSet.js +44 -47
  308. package/dist/MutableHashSet.js.map +1 -1
  309. package/dist/MutableList.d.ts +71 -370
  310. package/dist/MutableList.d.ts.map +1 -1
  311. package/dist/MutableList.js +63 -284
  312. package/dist/MutableList.js.map +1 -1
  313. package/dist/MutableRef.d.ts +420 -243
  314. package/dist/MutableRef.d.ts.map +1 -1
  315. package/dist/MutableRef.js +209 -120
  316. package/dist/MutableRef.js.map +1 -1
  317. package/dist/Newtype.d.ts +21 -14
  318. package/dist/Newtype.d.ts.map +1 -1
  319. package/dist/Newtype.js +15 -13
  320. package/dist/Newtype.js.map +1 -1
  321. package/dist/NonEmptyIterable.d.ts +7 -137
  322. package/dist/NonEmptyIterable.d.ts.map +1 -1
  323. package/dist/NonEmptyIterable.js +5 -93
  324. package/dist/NonEmptyIterable.js.map +1 -1
  325. package/dist/Number.d.ts +196 -233
  326. package/dist/Number.d.ts.map +1 -1
  327. package/dist/Number.js +90 -109
  328. package/dist/Number.js.map +1 -1
  329. package/dist/Optic.d.ts +132 -210
  330. package/dist/Optic.d.ts.map +1 -1
  331. package/dist/Optic.js +221 -324
  332. package/dist/Optic.js.map +1 -1
  333. package/dist/Option.d.ts +447 -812
  334. package/dist/Option.d.ts.map +1 -1
  335. package/dist/Option.js +213 -393
  336. package/dist/Option.js.map +1 -1
  337. package/dist/Order.d.ts +109 -109
  338. package/dist/Order.js +91 -91
  339. package/dist/Order.js.map +1 -1
  340. package/dist/Ordering.d.ts +20 -23
  341. package/dist/Ordering.d.ts.map +1 -1
  342. package/dist/Ordering.js +8 -9
  343. package/dist/Ordering.js.map +1 -1
  344. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  345. package/dist/PartitionedSemaphore.js +1 -4
  346. package/dist/PartitionedSemaphore.js.map +1 -1
  347. package/dist/Path.d.ts +38 -41
  348. package/dist/Path.d.ts.map +1 -1
  349. package/dist/Path.js +3 -4
  350. package/dist/Path.js.map +1 -1
  351. package/dist/Pipeable.d.ts +6 -5
  352. package/dist/Pipeable.d.ts.map +1 -1
  353. package/dist/Pipeable.js +2 -2
  354. package/dist/Pipeable.js.map +1 -1
  355. package/dist/PlatformError.d.ts +4 -4
  356. package/dist/PlatformError.js +3 -3
  357. package/dist/PlatformError.js.map +1 -1
  358. package/dist/Pool.d.ts +4 -2
  359. package/dist/Pool.d.ts.map +1 -1
  360. package/dist/Pool.js +4 -2
  361. package/dist/Pool.js.map +1 -1
  362. package/dist/Predicate.d.ts +200 -181
  363. package/dist/Predicate.d.ts.map +1 -1
  364. package/dist/Predicate.js +100 -108
  365. package/dist/Predicate.js.map +1 -1
  366. package/dist/PrimaryKey.d.ts +7 -7
  367. package/dist/PrimaryKey.js +5 -5
  368. package/dist/PrimaryKey.js.map +1 -1
  369. package/dist/PubSub.d.ts +425 -494
  370. package/dist/PubSub.d.ts.map +1 -1
  371. package/dist/PubSub.js +373 -362
  372. package/dist/PubSub.js.map +1 -1
  373. package/dist/Pull.d.ts +24 -18
  374. package/dist/Pull.d.ts.map +1 -1
  375. package/dist/Pull.js +11 -9
  376. package/dist/Pull.js.map +1 -1
  377. package/dist/Queue.d.ts +200 -159
  378. package/dist/Queue.d.ts.map +1 -1
  379. package/dist/Queue.js +166 -138
  380. package/dist/Queue.js.map +1 -1
  381. package/dist/Random.d.ts +49 -74
  382. package/dist/Random.d.ts.map +1 -1
  383. package/dist/Random.js +35 -54
  384. package/dist/Random.js.map +1 -1
  385. package/dist/RcMap.d.ts +121 -63
  386. package/dist/RcMap.d.ts.map +1 -1
  387. package/dist/RcMap.js +42 -21
  388. package/dist/RcMap.js.map +1 -1
  389. package/dist/RcRef.d.ts +24 -13
  390. package/dist/RcRef.d.ts.map +1 -1
  391. package/dist/RcRef.js +15 -9
  392. package/dist/RcRef.js.map +1 -1
  393. package/dist/Record.d.ts +361 -466
  394. package/dist/Record.d.ts.map +1 -1
  395. package/dist/Record.js +163 -216
  396. package/dist/Record.js.map +1 -1
  397. package/dist/Redactable.d.ts +6 -2
  398. package/dist/Redactable.d.ts.map +1 -1
  399. package/dist/Redactable.js +7 -2
  400. package/dist/Redactable.js.map +1 -1
  401. package/dist/Redacted.d.ts +25 -25
  402. package/dist/Redacted.d.ts.map +1 -1
  403. package/dist/Redacted.js +19 -20
  404. package/dist/Redacted.js.map +1 -1
  405. package/dist/Reducer.d.ts +8 -15
  406. package/dist/Reducer.d.ts.map +1 -1
  407. package/dist/Reducer.js +6 -12
  408. package/dist/Reducer.js.map +1 -1
  409. package/dist/Ref.d.ts +95 -165
  410. package/dist/Ref.d.ts.map +1 -1
  411. package/dist/Ref.js +75 -122
  412. package/dist/Ref.js.map +1 -1
  413. package/dist/References.d.ts +102 -213
  414. package/dist/References.d.ts.map +1 -1
  415. package/dist/References.js +102 -213
  416. package/dist/References.js.map +1 -1
  417. package/dist/RegExp.d.ts +10 -14
  418. package/dist/RegExp.d.ts.map +1 -1
  419. package/dist/RegExp.js +10 -14
  420. package/dist/RegExp.js.map +1 -1
  421. package/dist/Request.d.ts +31 -21
  422. package/dist/Request.d.ts.map +1 -1
  423. package/dist/Request.js +25 -19
  424. package/dist/Request.js.map +1 -1
  425. package/dist/RequestResolver.d.ts +201 -90
  426. package/dist/RequestResolver.d.ts.map +1 -1
  427. package/dist/RequestResolver.js +87 -41
  428. package/dist/RequestResolver.js.map +1 -1
  429. package/dist/Resource.js.map +1 -1
  430. package/dist/Result.d.ts +302 -470
  431. package/dist/Result.d.ts.map +1 -1
  432. package/dist/Result.js +135 -218
  433. package/dist/Result.js.map +1 -1
  434. package/dist/Runtime.d.ts +50 -75
  435. package/dist/Runtime.d.ts.map +1 -1
  436. package/dist/Runtime.js +39 -60
  437. package/dist/Runtime.js.map +1 -1
  438. package/dist/Schedule.d.ts +292 -1638
  439. package/dist/Schedule.d.ts.map +1 -1
  440. package/dist/Schedule.js +164 -805
  441. package/dist/Schedule.js.map +1 -1
  442. package/dist/Scheduler.d.ts +5 -5
  443. package/dist/Scheduler.d.ts.map +1 -1
  444. package/dist/Scheduler.js +18 -6
  445. package/dist/Scheduler.js.map +1 -1
  446. package/dist/Schema.d.ts +2056 -1269
  447. package/dist/Schema.d.ts.map +1 -1
  448. package/dist/Schema.js +2868 -1135
  449. package/dist/Schema.js.map +1 -1
  450. package/dist/SchemaAST.d.ts +64 -72
  451. package/dist/SchemaAST.d.ts.map +1 -1
  452. package/dist/SchemaAST.js +698 -468
  453. package/dist/SchemaAST.js.map +1 -1
  454. package/dist/SchemaGetter.d.ts +236 -188
  455. package/dist/SchemaGetter.d.ts.map +1 -1
  456. package/dist/SchemaGetter.js +281 -234
  457. package/dist/SchemaGetter.js.map +1 -1
  458. package/dist/SchemaIssue.d.ts +219 -190
  459. package/dist/SchemaIssue.d.ts.map +1 -1
  460. package/dist/SchemaIssue.js +303 -309
  461. package/dist/SchemaIssue.js.map +1 -1
  462. package/dist/SchemaParser.d.ts +32 -2
  463. package/dist/SchemaParser.d.ts.map +1 -1
  464. package/dist/SchemaParser.js +170 -118
  465. package/dist/SchemaParser.js.map +1 -1
  466. package/dist/SchemaRepresentation.d.ts +433 -1511
  467. package/dist/SchemaRepresentation.d.ts.map +1 -1
  468. package/dist/SchemaRepresentation.js +301 -2854
  469. package/dist/SchemaRepresentation.js.map +1 -1
  470. package/dist/SchemaTransformation.d.ts +117 -77
  471. package/dist/SchemaTransformation.d.ts.map +1 -1
  472. package/dist/SchemaTransformation.js +139 -104
  473. package/dist/SchemaTransformation.js.map +1 -1
  474. package/dist/Scope.d.ts +123 -151
  475. package/dist/Scope.d.ts.map +1 -1
  476. package/dist/Scope.js +72 -92
  477. package/dist/Scope.js.map +1 -1
  478. package/dist/ScopedCache.js +1 -1
  479. package/dist/ScopedCache.js.map +1 -1
  480. package/dist/ScopedRef.d.ts +3 -3
  481. package/dist/ScopedRef.d.ts.map +1 -1
  482. package/dist/ScopedRef.js +2 -2
  483. package/dist/ScopedRef.js.map +1 -1
  484. package/dist/Semaphore.d.ts +101 -13
  485. package/dist/Semaphore.d.ts.map +1 -1
  486. package/dist/Semaphore.js +78 -39
  487. package/dist/Semaphore.js.map +1 -1
  488. package/dist/Sink.d.ts +118 -108
  489. package/dist/Sink.d.ts.map +1 -1
  490. package/dist/Sink.js +107 -100
  491. package/dist/Sink.js.map +1 -1
  492. package/dist/Stdio.d.ts +18 -5
  493. package/dist/Stdio.d.ts.map +1 -1
  494. package/dist/Stdio.js +6 -3
  495. package/dist/Stdio.js.map +1 -1
  496. package/dist/Stream.d.ts +2467 -2962
  497. package/dist/Stream.d.ts.map +1 -1
  498. package/dist/Stream.js +1154 -1413
  499. package/dist/Stream.js.map +1 -1
  500. package/dist/String.d.ts +262 -308
  501. package/dist/String.d.ts.map +1 -1
  502. package/dist/String.js +184 -215
  503. package/dist/String.js.map +1 -1
  504. package/dist/Struct.d.ts +109 -114
  505. package/dist/Struct.d.ts.map +1 -1
  506. package/dist/Struct.js +46 -54
  507. package/dist/Struct.js.map +1 -1
  508. package/dist/SubscriptionRef.d.ts +282 -250
  509. package/dist/SubscriptionRef.d.ts.map +1 -1
  510. package/dist/SubscriptionRef.js +104 -92
  511. package/dist/SubscriptionRef.js.map +1 -1
  512. package/dist/Symbol.d.ts +3 -3
  513. package/dist/Symbol.js +3 -3
  514. package/dist/Symbol.js.map +1 -1
  515. package/dist/SynchronizedRef.js +1 -1
  516. package/dist/SynchronizedRef.js.map +1 -1
  517. package/dist/Take.js.map +1 -1
  518. package/dist/Terminal.d.ts +2 -2
  519. package/dist/Terminal.js +2 -2
  520. package/dist/Terminal.js.map +1 -1
  521. package/dist/Tracer.d.ts +100 -54
  522. package/dist/Tracer.d.ts.map +1 -1
  523. package/dist/Tracer.js +41 -24
  524. package/dist/Tracer.js.map +1 -1
  525. package/dist/Trie.d.ts +287 -679
  526. package/dist/Trie.d.ts.map +1 -1
  527. package/dist/Trie.js +109 -251
  528. package/dist/Trie.js.map +1 -1
  529. package/dist/Tuple.d.ts +98 -131
  530. package/dist/Tuple.d.ts.map +1 -1
  531. package/dist/Tuple.js +42 -57
  532. package/dist/Tuple.js.map +1 -1
  533. package/dist/TxChunk.d.ts +201 -121
  534. package/dist/TxChunk.d.ts.map +1 -1
  535. package/dist/TxChunk.js +85 -56
  536. package/dist/TxChunk.js.map +1 -1
  537. package/dist/TxDeferred.d.ts +62 -46
  538. package/dist/TxDeferred.d.ts.map +1 -1
  539. package/dist/TxDeferred.js +30 -22
  540. package/dist/TxDeferred.js.map +1 -1
  541. package/dist/TxHashMap.d.ts +631 -779
  542. package/dist/TxHashMap.d.ts.map +1 -1
  543. package/dist/TxHashMap.js +268 -330
  544. package/dist/TxHashMap.js.map +1 -1
  545. package/dist/TxHashSet.d.ts +297 -236
  546. package/dist/TxHashSet.d.ts.map +1 -1
  547. package/dist/TxHashSet.js +130 -100
  548. package/dist/TxHashSet.js.map +1 -1
  549. package/dist/TxPriorityQueue.d.ts +126 -95
  550. package/dist/TxPriorityQueue.d.ts.map +1 -1
  551. package/dist/TxPriorityQueue.js +74 -56
  552. package/dist/TxPriorityQueue.js.map +1 -1
  553. package/dist/TxPubSub.d.ts +101 -88
  554. package/dist/TxPubSub.d.ts.map +1 -1
  555. package/dist/TxPubSub.js +87 -66
  556. package/dist/TxPubSub.js.map +1 -1
  557. package/dist/TxQueue.d.ts +200 -180
  558. package/dist/TxQueue.d.ts.map +1 -1
  559. package/dist/TxQueue.js +161 -137
  560. package/dist/TxQueue.js.map +1 -1
  561. package/dist/TxReentrantLock.d.ts +89 -114
  562. package/dist/TxReentrantLock.d.ts.map +1 -1
  563. package/dist/TxReentrantLock.js +75 -53
  564. package/dist/TxReentrantLock.js.map +1 -1
  565. package/dist/TxRef.d.ts +51 -32
  566. package/dist/TxRef.d.ts.map +1 -1
  567. package/dist/TxRef.js +23 -15
  568. package/dist/TxRef.js.map +1 -1
  569. package/dist/TxSemaphore.d.ts +129 -95
  570. package/dist/TxSemaphore.d.ts.map +1 -1
  571. package/dist/TxSemaphore.js +85 -70
  572. package/dist/TxSemaphore.js.map +1 -1
  573. package/dist/TxSubscriptionRef.d.ts +97 -70
  574. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  575. package/dist/TxSubscriptionRef.js +44 -34
  576. package/dist/TxSubscriptionRef.js.map +1 -1
  577. package/dist/Types.d.ts +127 -70
  578. package/dist/Types.d.ts.map +1 -1
  579. package/dist/UndefinedOr.js.map +1 -1
  580. package/dist/Unify.d.ts +45 -65
  581. package/dist/Unify.d.ts.map +1 -1
  582. package/dist/Unify.js +6 -9
  583. package/dist/Unify.js.map +1 -1
  584. package/dist/Utils.d.ts +23 -16
  585. package/dist/Utils.d.ts.map +1 -1
  586. package/dist/Utils.js +3 -7
  587. package/dist/Utils.js.map +1 -1
  588. package/dist/index.d.ts +0 -8
  589. package/dist/index.d.ts.map +1 -1
  590. package/dist/index.js +0 -8
  591. package/dist/index.js.map +1 -1
  592. package/dist/internal/array.js.map +1 -1
  593. package/dist/internal/core.js +4 -3
  594. package/dist/internal/core.js.map +1 -1
  595. package/dist/internal/dateTime.js +5 -1
  596. package/dist/internal/dateTime.js.map +1 -1
  597. package/dist/internal/doNotation.js.map +1 -1
  598. package/dist/internal/effect.js +252 -108
  599. package/dist/internal/effect.js.map +1 -1
  600. package/dist/internal/equal.js.map +1 -1
  601. package/dist/internal/errors.js.map +1 -1
  602. package/dist/internal/executionPlan.js +52 -3
  603. package/dist/internal/executionPlan.js.map +1 -1
  604. package/dist/internal/hashMap.js +12 -8
  605. package/dist/internal/hashMap.js.map +1 -1
  606. package/dist/internal/hashSet.js.map +1 -1
  607. package/dist/internal/layer.js.map +1 -1
  608. package/dist/internal/matcher.js +2 -2
  609. package/dist/internal/matcher.js.map +1 -1
  610. package/dist/internal/metric.js.map +1 -1
  611. package/dist/internal/option.js.map +1 -1
  612. package/dist/internal/persistence.d.ts +2 -0
  613. package/dist/internal/persistence.d.ts.map +1 -0
  614. package/dist/internal/persistence.js +3 -0
  615. package/dist/internal/persistence.js.map +1 -0
  616. package/dist/internal/random.js.map +1 -1
  617. package/dist/internal/rcRef.js +18 -13
  618. package/dist/internal/rcRef.js.map +1 -1
  619. package/dist/internal/record.d.ts +0 -3
  620. package/dist/internal/record.d.ts.map +1 -1
  621. package/dist/internal/record.js +10 -5
  622. package/dist/internal/record.js.map +1 -1
  623. package/dist/internal/redacted.js.map +1 -1
  624. package/dist/internal/references.js +3 -4
  625. package/dist/internal/references.js.map +1 -1
  626. package/dist/internal/request.js.map +1 -1
  627. package/dist/internal/result.js.map +1 -1
  628. package/dist/internal/schedule.js.map +1 -1
  629. package/dist/internal/schema/annotations.js +15 -1
  630. package/dist/internal/schema/annotations.js.map +1 -1
  631. package/dist/internal/schema/cause.js.map +1 -1
  632. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  633. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  634. package/dist/internal/schema/fromJsonSchemaDocument.js +761 -0
  635. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  636. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  637. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  638. package/dist/internal/schema/fromRepresentation.js +245 -0
  639. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  640. package/dist/internal/schema/parser.d.ts +14 -0
  641. package/dist/internal/schema/parser.d.ts.map +1 -0
  642. package/dist/internal/schema/parser.js +13 -0
  643. package/dist/internal/schema/parser.js.map +1 -0
  644. package/dist/internal/schema/schema.js +29 -49
  645. package/dist/internal/schema/schema.js.map +1 -1
  646. package/dist/internal/schema/toArbitrary.d.ts +2 -0
  647. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  648. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -83
  649. package/dist/internal/schema/toArbitrary.js.map +1 -0
  650. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  651. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  652. package/dist/internal/schema/toCodeDocument.js +438 -0
  653. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  654. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  655. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  656. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  657. package/dist/internal/schema/toEquivalence.js.map +1 -0
  658. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  659. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  660. package/dist/internal/schema/toJsonSchemaDocument.js +522 -0
  661. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  662. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  663. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  664. package/dist/internal/schema/toRepresentation.js +351 -0
  665. package/dist/internal/schema/toRepresentation.js.map +1 -0
  666. package/dist/internal/stackTraceLimit.js +3 -6
  667. package/dist/internal/stackTraceLimit.js.map +1 -1
  668. package/dist/internal/stream.js.map +1 -1
  669. package/dist/internal/tracer.js.map +1 -1
  670. package/dist/internal/trie.js +24 -10
  671. package/dist/internal/trie.js.map +1 -1
  672. package/dist/testing/FastCheck.d.ts +8 -7
  673. package/dist/testing/FastCheck.d.ts.map +1 -1
  674. package/dist/testing/FastCheck.js +8 -7
  675. package/dist/testing/FastCheck.js.map +1 -1
  676. package/dist/testing/TestClock.d.ts +57 -28
  677. package/dist/testing/TestClock.d.ts.map +1 -1
  678. package/dist/testing/TestClock.js +65 -20
  679. package/dist/testing/TestClock.js.map +1 -1
  680. package/dist/testing/TestConsole.d.ts +32 -31
  681. package/dist/testing/TestConsole.d.ts.map +1 -1
  682. package/dist/testing/TestConsole.js +24 -22
  683. package/dist/testing/TestConsole.js.map +1 -1
  684. package/dist/testing/TestSchema.d.ts +31 -31
  685. package/dist/testing/TestSchema.d.ts.map +1 -1
  686. package/dist/testing/TestSchema.js +35 -34
  687. package/dist/testing/TestSchema.js.map +1 -1
  688. package/dist/testing/index.js.map +1 -1
  689. package/dist/unstable/ai/AiError.d.ts +121 -144
  690. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  691. package/dist/unstable/ai/AiError.js +118 -140
  692. package/dist/unstable/ai/AiError.js.map +1 -1
  693. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  694. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  695. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  696. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  697. package/dist/unstable/ai/Chat.d.ts +132 -97
  698. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  699. package/dist/unstable/ai/Chat.js +56 -52
  700. package/dist/unstable/ai/Chat.js.map +1 -1
  701. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  702. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  703. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  704. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  705. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  706. package/dist/unstable/ai/IdGenerator.js +26 -21
  707. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  708. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  709. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  710. package/dist/unstable/ai/LanguageModel.js +127 -83
  711. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  712. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  713. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  714. package/dist/unstable/ai/McpProtocol.js +20 -0
  715. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  716. package/dist/unstable/ai/McpSchema.d.ts +320 -254
  717. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  718. package/dist/unstable/ai/McpSchema.js +79 -71
  719. package/dist/unstable/ai/McpSchema.js.map +1 -1
  720. package/dist/unstable/ai/McpServer.d.ts +71 -62
  721. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  722. package/dist/unstable/ai/McpServer.js +777 -245
  723. package/dist/unstable/ai/McpServer.js.map +1 -1
  724. package/dist/unstable/ai/Model.d.ts +8 -19
  725. package/dist/unstable/ai/Model.d.ts.map +1 -1
  726. package/dist/unstable/ai/Model.js +9 -20
  727. package/dist/unstable/ai/Model.js.map +1 -1
  728. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  729. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  730. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  731. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  732. package/dist/unstable/ai/Prompt.d.ts +131 -44
  733. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  734. package/dist/unstable/ai/Prompt.js +100 -36
  735. package/dist/unstable/ai/Prompt.js.map +1 -1
  736. package/dist/unstable/ai/Response.d.ts +47 -33
  737. package/dist/unstable/ai/Response.d.ts.map +1 -1
  738. package/dist/unstable/ai/Response.js +23 -18
  739. package/dist/unstable/ai/Response.js.map +1 -1
  740. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  741. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  742. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  743. package/dist/unstable/ai/Telemetry.js +18 -7
  744. package/dist/unstable/ai/Telemetry.js.map +1 -1
  745. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  746. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  747. package/dist/unstable/ai/Tokenizer.js +10 -2
  748. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  749. package/dist/unstable/ai/Tool.d.ts +63 -44
  750. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  751. package/dist/unstable/ai/Tool.js +59 -42
  752. package/dist/unstable/ai/Tool.js.map +1 -1
  753. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  754. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  755. package/dist/unstable/ai/Toolkit.js +32 -14
  756. package/dist/unstable/ai/Toolkit.js.map +1 -1
  757. package/dist/unstable/ai/index.d.ts +4 -0
  758. package/dist/unstable/ai/index.d.ts.map +1 -1
  759. package/dist/unstable/ai/index.js +4 -0
  760. package/dist/unstable/ai/index.js.map +1 -1
  761. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  762. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  763. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  764. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  765. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  766. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  767. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  768. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  769. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  770. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  771. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  772. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  773. package/dist/unstable/ai/internal/structured-output.js +315 -0
  774. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  775. package/dist/unstable/cli/Argument.d.ts +279 -72
  776. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  777. package/dist/unstable/cli/Argument.js +113 -34
  778. package/dist/unstable/cli/Argument.js.map +1 -1
  779. package/dist/unstable/cli/CliConfig.js.map +1 -1
  780. package/dist/unstable/cli/CliError.d.ts +126 -76
  781. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  782. package/dist/unstable/cli/CliError.js +136 -76
  783. package/dist/unstable/cli/CliError.js.map +1 -1
  784. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  785. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  786. package/dist/unstable/cli/CliOutput.js +26 -42
  787. package/dist/unstable/cli/CliOutput.js.map +1 -1
  788. package/dist/unstable/cli/Command.d.ts +736 -115
  789. package/dist/unstable/cli/Command.d.ts.map +1 -1
  790. package/dist/unstable/cli/Command.js +282 -56
  791. package/dist/unstable/cli/Command.js.map +1 -1
  792. package/dist/unstable/cli/Completions.js.map +1 -1
  793. package/dist/unstable/cli/Flag.d.ts +418 -138
  794. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  795. package/dist/unstable/cli/Flag.js +197 -71
  796. package/dist/unstable/cli/Flag.js.map +1 -1
  797. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  798. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  799. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  800. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  801. package/dist/unstable/cli/Param.d.ts +299 -83
  802. package/dist/unstable/cli/Param.d.ts.map +1 -1
  803. package/dist/unstable/cli/Param.js +146 -60
  804. package/dist/unstable/cli/Param.js.map +1 -1
  805. package/dist/unstable/cli/Primitive.d.ts +370 -149
  806. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  807. package/dist/unstable/cli/Primitive.js +377 -162
  808. package/dist/unstable/cli/Primitive.js.map +1 -1
  809. package/dist/unstable/cli/Prompt.d.ts +23 -14
  810. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  811. package/dist/unstable/cli/Prompt.js +54 -31
  812. package/dist/unstable/cli/Prompt.js.map +1 -1
  813. package/dist/unstable/cli/index.js.map +1 -1
  814. package/dist/unstable/cli/internal/ansi.js +2 -2
  815. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  816. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  817. package/dist/unstable/cli/internal/command.d.ts +5 -3
  818. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  819. package/dist/unstable/cli/internal/command.js +21 -13
  820. package/dist/unstable/cli/internal/command.js.map +1 -1
  821. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  822. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  823. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  824. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  825. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  826. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  827. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  828. package/dist/unstable/cli/internal/config.d.ts +0 -48
  829. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  830. package/dist/unstable/cli/internal/config.js +8 -10
  831. package/dist/unstable/cli/internal/config.js.map +1 -1
  832. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  833. package/dist/unstable/cli/internal/help.js +4 -2
  834. package/dist/unstable/cli/internal/help.js.map +1 -1
  835. package/dist/unstable/cli/internal/lexer.js +17 -7
  836. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  837. package/dist/unstable/cli/internal/parser.js +5 -5
  838. package/dist/unstable/cli/internal/parser.js.map +1 -1
  839. package/dist/unstable/cli/internal/wizard.js +2 -2
  840. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  841. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  842. package/dist/unstable/cluster/ClusterError.js +7 -7
  843. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  844. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  845. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  846. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  847. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  848. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  849. package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
  850. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  851. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  852. package/dist/unstable/cluster/Entity.d.ts +12 -12
  853. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  854. package/dist/unstable/cluster/Entity.js +9 -9
  855. package/dist/unstable/cluster/Entity.js.map +1 -1
  856. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  857. package/dist/unstable/cluster/EntityId.js.map +1 -1
  858. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  859. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  860. package/dist/unstable/cluster/EntityProxy.js +8 -5
  861. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  862. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  863. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  864. package/dist/unstable/cluster/EntityResource.js +2 -2
  865. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  866. package/dist/unstable/cluster/EntityType.js.map +1 -1
  867. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  868. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  869. package/dist/unstable/cluster/Envelope.js +5 -4
  870. package/dist/unstable/cluster/Envelope.js.map +1 -1
  871. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  872. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  873. package/dist/unstable/cluster/HttpRunner.js +6 -4
  874. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  875. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  876. package/dist/unstable/cluster/MachineId.js.map +1 -1
  877. package/dist/unstable/cluster/Message.d.ts +9 -9
  878. package/dist/unstable/cluster/Message.js +6 -6
  879. package/dist/unstable/cluster/Message.js.map +1 -1
  880. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  881. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  882. package/dist/unstable/cluster/MessageStorage.js +13 -6
  883. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  884. package/dist/unstable/cluster/Reply.d.ts +8 -0
  885. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  886. package/dist/unstable/cluster/Reply.js +17 -5
  887. package/dist/unstable/cluster/Reply.js.map +1 -1
  888. package/dist/unstable/cluster/Runner.d.ts +1 -1
  889. package/dist/unstable/cluster/Runner.js +1 -1
  890. package/dist/unstable/cluster/Runner.js.map +1 -1
  891. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  892. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  893. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  894. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  895. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  896. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  897. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  898. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  899. package/dist/unstable/cluster/RunnerServer.js +29 -23
  900. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  901. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  902. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  903. package/dist/unstable/cluster/RunnerStorage.js +8 -7
  904. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  905. package/dist/unstable/cluster/Runners.d.ts +11 -15
  906. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  907. package/dist/unstable/cluster/Runners.js +32 -22
  908. package/dist/unstable/cluster/Runners.js.map +1 -1
  909. package/dist/unstable/cluster/ShardId.js +1 -1
  910. package/dist/unstable/cluster/ShardId.js.map +1 -1
  911. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  912. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  913. package/dist/unstable/cluster/Sharding.js +164 -31
  914. package/dist/unstable/cluster/Sharding.js.map +1 -1
  915. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  916. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  917. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  918. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  919. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  920. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  921. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  922. package/dist/unstable/cluster/SingleRunner.js +2 -1
  923. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  924. package/dist/unstable/cluster/Singleton.js.map +1 -1
  925. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  926. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  927. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  928. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  929. package/dist/unstable/cluster/Snowflake.js +8 -8
  930. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  931. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  932. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  933. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  934. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  935. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  936. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  937. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  938. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  939. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  940. package/dist/unstable/cluster/index.js.map +1 -1
  941. package/dist/unstable/cluster/internal/entityManager.js +25 -13
  942. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  943. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  944. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  945. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  946. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  947. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  948. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  949. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  950. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  951. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  952. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  953. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  954. package/dist/unstable/devtools/DevTools.js.map +1 -1
  955. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  956. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  957. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  958. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  959. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  960. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  961. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  962. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  963. package/dist/unstable/devtools/index.js.map +1 -1
  964. package/dist/unstable/encoding/Ini.d.ts +20 -0
  965. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  966. package/dist/unstable/encoding/Ini.js +153 -0
  967. package/dist/unstable/encoding/Ini.js.map +1 -0
  968. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  969. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  970. package/dist/unstable/encoding/Msgpack.js +31 -19
  971. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  972. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  973. package/dist/unstable/encoding/Ndjson.js +7 -1
  974. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  975. package/dist/unstable/encoding/Sse.d.ts +72 -8
  976. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  977. package/dist/unstable/encoding/Sse.js +72 -31
  978. package/dist/unstable/encoding/Sse.js.map +1 -1
  979. package/dist/unstable/encoding/Toml.d.ts +19 -0
  980. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  981. package/dist/unstable/encoding/Toml.js +434 -0
  982. package/dist/unstable/encoding/Toml.js.map +1 -0
  983. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  984. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  985. package/dist/unstable/encoding/Yaml.js +461 -0
  986. package/dist/unstable/encoding/Yaml.js.map +1 -0
  987. package/dist/unstable/encoding/index.d.ts +12 -0
  988. package/dist/unstable/encoding/index.d.ts.map +1 -1
  989. package/dist/unstable/encoding/index.js +12 -0
  990. package/dist/unstable/encoding/index.js.map +1 -1
  991. package/dist/unstable/eventlog/Event.d.ts +20 -20
  992. package/dist/unstable/eventlog/Event.js.map +1 -1
  993. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  994. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  995. package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
  996. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  997. package/dist/unstable/eventlog/EventJournal.js +27 -19
  998. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  999. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1000. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1001. package/dist/unstable/eventlog/EventLog.js +18 -14
  1002. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1003. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1004. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1005. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1006. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1007. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1008. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1009. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1010. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1011. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1012. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1013. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1014. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1015. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1016. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1017. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1018. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1019. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1020. package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
  1021. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1022. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1023. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1024. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1025. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1026. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1027. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1028. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1029. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1030. package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
  1031. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1032. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1033. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1034. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1035. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1036. package/dist/unstable/eventlog/index.js.map +1 -1
  1037. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1038. package/dist/unstable/http/Cookies.d.ts +2 -2
  1039. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1040. package/dist/unstable/http/Cookies.js +54 -40
  1041. package/dist/unstable/http/Cookies.js.map +1 -1
  1042. package/dist/unstable/http/Etag.d.ts +1 -1
  1043. package/dist/unstable/http/Etag.js +1 -1
  1044. package/dist/unstable/http/Etag.js.map +1 -1
  1045. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1046. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1047. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1048. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1049. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1050. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1051. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1052. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1053. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1054. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1055. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1056. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1057. package/dist/unstable/http/FindMyWay.js +4 -7
  1058. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1059. package/dist/unstable/http/Headers.d.ts +2 -2
  1060. package/dist/unstable/http/Headers.js +10 -10
  1061. package/dist/unstable/http/Headers.js.map +1 -1
  1062. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1063. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1064. package/dist/unstable/http/HttpBody.js +11 -5
  1065. package/dist/unstable/http/HttpBody.js.map +1 -1
  1066. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1067. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1068. package/dist/unstable/http/HttpClient.js +79 -36
  1069. package/dist/unstable/http/HttpClient.js.map +1 -1
  1070. package/dist/unstable/http/HttpClientError.js +1 -1
  1071. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1072. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1073. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1074. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1075. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1076. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1077. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1078. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1079. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1080. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1081. package/dist/unstable/http/HttpEffect.js +7 -8
  1082. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1083. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1084. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1085. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1086. package/dist/unstable/http/HttpMethod.js +6 -9
  1087. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1088. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1089. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1090. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1091. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1092. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1093. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1094. package/dist/unstable/http/HttpPlatform.js +53 -3
  1095. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1096. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1097. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1098. package/dist/unstable/http/HttpRouter.js +78 -79
  1099. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1100. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1101. package/dist/unstable/http/HttpServer.js +6 -6
  1102. package/dist/unstable/http/HttpServer.js.map +1 -1
  1103. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1104. package/dist/unstable/http/HttpServerError.js +2 -2
  1105. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1106. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1107. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1108. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1109. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1110. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1111. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1112. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1113. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1114. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1115. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1116. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1117. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1118. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1119. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1120. package/dist/unstable/http/Multipart.d.ts +28 -9
  1121. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1122. package/dist/unstable/http/Multipart.js +65 -35
  1123. package/dist/unstable/http/Multipart.js.map +1 -1
  1124. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1125. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1126. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1127. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1128. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1129. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1130. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1131. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1132. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1133. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1134. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1135. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1136. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1137. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1138. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1139. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1140. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1141. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1142. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1143. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1144. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1145. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1146. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1147. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1148. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1149. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1150. package/dist/unstable/http/MultipartParser.js +23 -0
  1151. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1152. package/dist/unstable/http/Template.d.ts.map +1 -1
  1153. package/dist/unstable/http/Template.js +3 -3
  1154. package/dist/unstable/http/Template.js.map +1 -1
  1155. package/dist/unstable/http/Url.d.ts +33 -63
  1156. package/dist/unstable/http/Url.d.ts.map +1 -1
  1157. package/dist/unstable/http/Url.js +14 -28
  1158. package/dist/unstable/http/Url.js.map +1 -1
  1159. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1160. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1161. package/dist/unstable/http/UrlParams.js +26 -31
  1162. package/dist/unstable/http/UrlParams.js.map +1 -1
  1163. package/dist/unstable/http/index.d.ts +1 -1
  1164. package/dist/unstable/http/index.d.ts.map +1 -1
  1165. package/dist/unstable/http/index.js +1 -1
  1166. package/dist/unstable/http/index.js.map +1 -1
  1167. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1168. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1169. package/dist/unstable/http/internal/compression.js +155 -0
  1170. package/dist/unstable/http/internal/compression.js.map +1 -0
  1171. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1172. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1173. package/dist/unstable/http/internal/httpBody.js +10 -0
  1174. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1175. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1176. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1177. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1178. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1179. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1180. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1181. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1182. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1183. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1184. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1185. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1186. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1187. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1188. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1189. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1190. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1191. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1192. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1193. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1194. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1195. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1196. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1197. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1198. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1199. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1200. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1201. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1202. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1203. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1204. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1205. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1206. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1207. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1208. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1209. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1210. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1211. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1212. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1213. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1214. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1215. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1216. package/dist/unstable/httpapi/index.js.map +1 -1
  1217. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1218. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1219. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1220. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1221. package/dist/unstable/observability/Otlp.js.map +1 -1
  1222. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1223. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1224. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1225. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1226. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1227. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1228. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1229. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1230. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1231. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1232. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1233. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1234. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1235. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1236. package/dist/unstable/observability/OtlpResource.js +21 -12
  1237. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1238. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1239. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1240. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1241. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1242. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1243. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1244. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1245. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1246. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1247. package/dist/unstable/observability/index.js.map +1 -1
  1248. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1249. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1250. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1251. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1252. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1253. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1254. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1255. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1256. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1257. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1258. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1259. package/dist/unstable/persistence/Persistable.js +2 -1
  1260. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1261. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1262. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1263. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1264. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1265. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1266. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1267. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1268. package/dist/unstable/persistence/Persistence.js +108 -22
  1269. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1270. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1271. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1272. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1273. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1274. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1275. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1276. package/dist/unstable/persistence/Redis.js +4 -4
  1277. package/dist/unstable/persistence/Redis.js.map +1 -1
  1278. package/dist/unstable/persistence/index.js.map +1 -1
  1279. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1280. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1281. package/dist/unstable/process/ChildProcess.js +14 -5
  1282. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1283. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1284. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1285. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1286. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1287. package/dist/unstable/process/index.js.map +1 -1
  1288. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1289. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1290. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1291. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1292. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1293. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1294. package/dist/unstable/reactivity/Atom.js +53 -34
  1295. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1296. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1297. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1298. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1299. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1300. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1301. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1302. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1303. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1304. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1305. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1306. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1307. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1308. package/dist/unstable/reactivity/Hydration.js +1 -1
  1309. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1310. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1311. package/dist/unstable/reactivity/index.js.map +1 -1
  1312. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1313. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1314. package/dist/unstable/rpc/Rpc.js +4 -2
  1315. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1316. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1317. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1318. package/dist/unstable/rpc/RpcClient.js +40 -22
  1319. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1320. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1321. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1322. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1323. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1324. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1325. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1326. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1327. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1328. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1329. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1330. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1331. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1332. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1333. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1334. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1335. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1336. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1337. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1338. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1339. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1340. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1341. package/dist/unstable/rpc/RpcServer.js +20 -15
  1342. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1343. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1344. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1345. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1346. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1347. package/dist/unstable/rpc/Utils.js.map +1 -1
  1348. package/dist/unstable/rpc/index.js.map +1 -1
  1349. package/dist/unstable/schema/Model.d.ts +53 -51
  1350. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1351. package/dist/unstable/schema/Model.js +35 -33
  1352. package/dist/unstable/schema/Model.js.map +1 -1
  1353. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1354. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1355. package/dist/unstable/schema/VariantSchema.js +28 -17
  1356. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1357. package/dist/unstable/schema/index.js.map +1 -1
  1358. package/dist/unstable/socket/Socket.d.ts +12 -4
  1359. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1360. package/dist/unstable/socket/Socket.js +38 -17
  1361. package/dist/unstable/socket/Socket.js.map +1 -1
  1362. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1363. package/dist/unstable/socket/index.js.map +1 -1
  1364. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1365. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1366. package/dist/unstable/sql/Migrator.js +15 -2
  1367. package/dist/unstable/sql/Migrator.js.map +1 -1
  1368. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1369. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1370. package/dist/unstable/sql/SqlClient.js +8 -4
  1371. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1372. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1373. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1374. package/dist/unstable/sql/SqlError.js +15 -15
  1375. package/dist/unstable/sql/SqlError.js.map +1 -1
  1376. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1377. package/dist/unstable/sql/SqlModel.js +2 -2
  1378. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1379. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1380. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1381. package/dist/unstable/sql/SqlResolver.js +30 -24
  1382. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1383. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1384. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1385. package/dist/unstable/sql/Statement.d.ts +6 -6
  1386. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1387. package/dist/unstable/sql/Statement.js +30 -27
  1388. package/dist/unstable/sql/Statement.js.map +1 -1
  1389. package/dist/unstable/sql/index.js.map +1 -1
  1390. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1391. package/dist/unstable/workers/Transferable.js +1 -1
  1392. package/dist/unstable/workers/Transferable.js.map +1 -1
  1393. package/dist/unstable/workers/Worker.d.ts +2 -2
  1394. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1395. package/dist/unstable/workers/Worker.js +13 -14
  1396. package/dist/unstable/workers/Worker.js.map +1 -1
  1397. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1398. package/dist/unstable/workers/WorkerError.js +11 -11
  1399. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1400. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1401. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1402. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1403. package/dist/unstable/workers/index.js.map +1 -1
  1404. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1405. package/dist/unstable/workflow/Activity.js +2 -2
  1406. package/dist/unstable/workflow/Activity.js.map +1 -1
  1407. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1408. package/dist/unstable/workflow/DurableClock.js +1 -1
  1409. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1410. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1411. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1412. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1413. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1414. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1415. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1416. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1417. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1418. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1419. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1420. package/dist/unstable/workflow/Workflow.js +13 -14
  1421. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1422. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1423. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1424. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1425. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1426. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1427. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1428. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1429. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1430. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1431. package/dist/unstable/workflow/index.js.map +1 -1
  1432. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1433. package/package.json +10 -14
  1434. package/src/Array.ts +1068 -1070
  1435. package/src/BigDecimal.ts +433 -756
  1436. package/src/BigInt.ts +213 -269
  1437. package/src/Boolean.ts +146 -188
  1438. package/src/Brand.ts +4 -4
  1439. package/src/Cache.ts +469 -851
  1440. package/src/Cause.ts +167 -277
  1441. package/src/Channel.ts +982 -831
  1442. package/src/ChannelSchema.ts +1 -1
  1443. package/src/Chunk.ts +841 -1181
  1444. package/src/Clock.ts +181 -49
  1445. package/src/Combiner.ts +20 -33
  1446. package/src/Config.ts +642 -335
  1447. package/src/ConfigProvider.ts +267 -135
  1448. package/src/Console.ts +289 -39
  1449. package/src/Context.ts +323 -404
  1450. package/src/Cron.ts +271 -219
  1451. package/src/Crypto.ts +30 -23
  1452. package/src/Data.ts +63 -82
  1453. package/src/DateTime.ts +564 -660
  1454. package/src/Deferred.ts +259 -258
  1455. package/src/Duration.ts +244 -311
  1456. package/src/Effect.ts +3215 -3394
  1457. package/src/Encoding.ts +22 -40
  1458. package/src/Equal.ts +59 -41
  1459. package/src/Equivalence.ts +103 -105
  1460. package/src/ErrorReporter.ts +51 -27
  1461. package/src/ExecutionPlan.ts +91 -56
  1462. package/src/Exit.ts +116 -192
  1463. package/src/Fiber.ts +82 -149
  1464. package/src/FiberHandle.ts +155 -107
  1465. package/src/FiberMap.ts +225 -174
  1466. package/src/FiberSet.ts +125 -83
  1467. package/src/FileSystem.ts +156 -264
  1468. package/src/Filter.ts +61 -33
  1469. package/src/Formatter.ts +69 -76
  1470. package/src/Function.ts +119 -151
  1471. package/src/Graph.ts +416 -770
  1472. package/src/HKT.ts +12 -6
  1473. package/src/Hash.ts +52 -83
  1474. package/src/HashMap.ts +319 -411
  1475. package/src/HashRing.ts +1 -0
  1476. package/src/HashSet.ts +177 -284
  1477. package/src/Inspectable.ts +22 -20
  1478. package/src/Iterable.ts +633 -797
  1479. package/src/JsonPatch.ts +60 -113
  1480. package/src/JsonPointer.ts +8 -8
  1481. package/src/JsonSchema.ts +408 -251
  1482. package/src/Latch.ts +23 -35
  1483. package/src/Layer.ts +366 -265
  1484. package/src/LayerMap.ts +49 -29
  1485. package/src/LayerRef.ts +6 -2
  1486. package/src/LogLevel.ts +114 -214
  1487. package/src/Logger.ts +348 -700
  1488. package/src/ManagedRuntime.ts +20 -5
  1489. package/src/Match.ts +217 -252
  1490. package/src/Metric.ts +520 -1092
  1491. package/src/MutableHashMap.ts +218 -255
  1492. package/src/MutableHashSet.ts +84 -89
  1493. package/src/MutableList.ts +77 -370
  1494. package/src/MutableRef.ts +420 -243
  1495. package/src/Newtype.ts +21 -14
  1496. package/src/NonEmptyIterable.ts +7 -137
  1497. package/src/Number.ts +196 -233
  1498. package/src/Optic.ts +303 -441
  1499. package/src/Option.ts +449 -813
  1500. package/src/Order.ts +109 -109
  1501. package/src/Ordering.ts +20 -23
  1502. package/src/PartitionedSemaphore.ts +1 -4
  1503. package/src/Path.ts +38 -41
  1504. package/src/Pipeable.ts +6 -5
  1505. package/src/PlatformError.ts +4 -4
  1506. package/src/Pool.ts +4 -2
  1507. package/src/Predicate.ts +200 -181
  1508. package/src/PrimaryKey.ts +7 -7
  1509. package/src/PubSub.ts +526 -552
  1510. package/src/Pull.ts +24 -18
  1511. package/src/Queue.ts +204 -165
  1512. package/src/Random.ts +49 -74
  1513. package/src/RcMap.ts +121 -63
  1514. package/src/RcRef.ts +24 -13
  1515. package/src/Record.ts +387 -487
  1516. package/src/Redactable.ts +10 -3
  1517. package/src/Redacted.ts +25 -25
  1518. package/src/Reducer.ts +8 -15
  1519. package/src/Ref.ts +221 -361
  1520. package/src/References.ts +102 -214
  1521. package/src/RegExp.ts +10 -14
  1522. package/src/Request.ts +36 -28
  1523. package/src/RequestResolver.ts +202 -91
  1524. package/src/Result.ts +314 -485
  1525. package/src/Runtime.ts +50 -75
  1526. package/src/Schedule.ts +311 -1737
  1527. package/src/Scheduler.ts +20 -7
  1528. package/src/Schema.ts +3475 -1913
  1529. package/src/SchemaAST.ts +902 -573
  1530. package/src/SchemaGetter.ts +351 -233
  1531. package/src/SchemaIssue.ts +367 -334
  1532. package/src/SchemaParser.ts +254 -148
  1533. package/src/SchemaRepresentation.ts +732 -3414
  1534. package/src/SchemaTransformation.ts +186 -97
  1535. package/src/Scope.ts +123 -151
  1536. package/src/ScopedCache.ts +1 -1
  1537. package/src/ScopedRef.ts +6 -4
  1538. package/src/Semaphore.ts +157 -54
  1539. package/src/Sink.ts +129 -114
  1540. package/src/Stdio.ts +24 -5
  1541. package/src/Stream.ts +2745 -3173
  1542. package/src/String.ts +275 -312
  1543. package/src/Struct.ts +114 -118
  1544. package/src/SubscriptionRef.ts +284 -252
  1545. package/src/Symbol.ts +3 -3
  1546. package/src/SynchronizedRef.ts +1 -1
  1547. package/src/Terminal.ts +3 -3
  1548. package/src/Tracer.ts +102 -55
  1549. package/src/Trie.ts +287 -679
  1550. package/src/Tuple.ts +99 -131
  1551. package/src/TxChunk.ts +201 -121
  1552. package/src/TxDeferred.ts +62 -46
  1553. package/src/TxHashMap.ts +645 -799
  1554. package/src/TxHashSet.ts +443 -356
  1555. package/src/TxPriorityQueue.ts +130 -98
  1556. package/src/TxPubSub.ts +107 -80
  1557. package/src/TxQueue.ts +215 -184
  1558. package/src/TxReentrantLock.ts +136 -101
  1559. package/src/TxRef.ts +51 -32
  1560. package/src/TxSemaphore.ts +129 -95
  1561. package/src/TxSubscriptionRef.ts +97 -70
  1562. package/src/Types.ts +127 -70
  1563. package/src/Unify.ts +45 -65
  1564. package/src/Utils.ts +23 -16
  1565. package/src/index.ts +0 -10
  1566. package/src/internal/core.ts +6 -5
  1567. package/src/internal/dateTime.ts +7 -1
  1568. package/src/internal/effect.ts +304 -134
  1569. package/src/internal/executionPlan.ts +106 -10
  1570. package/src/internal/hashMap.ts +20 -14
  1571. package/src/internal/matcher.ts +3 -3
  1572. package/src/internal/persistence.ts +2 -0
  1573. package/src/internal/rcRef.ts +24 -16
  1574. package/src/internal/record.ts +11 -7
  1575. package/src/internal/references.ts +3 -7
  1576. package/src/internal/schedule.ts +4 -4
  1577. package/src/internal/schema/annotations.ts +48 -1
  1578. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1579. package/src/internal/schema/fromRepresentation.ts +339 -0
  1580. package/src/internal/schema/parser.ts +22 -0
  1581. package/src/internal/schema/schema.ts +46 -63
  1582. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1583. package/src/internal/schema/toCodeDocument.ts +572 -0
  1584. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1585. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1586. package/src/internal/schema/toRepresentation.ts +404 -0
  1587. package/src/internal/stackTraceLimit.ts +3 -7
  1588. package/src/internal/trie.ts +21 -12
  1589. package/src/testing/FastCheck.ts +8 -7
  1590. package/src/testing/TestClock.ts +86 -32
  1591. package/src/testing/TestConsole.ts +32 -31
  1592. package/src/testing/TestSchema.ts +40 -40
  1593. package/src/unstable/ai/AiError.ts +119 -141
  1594. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1595. package/src/unstable/ai/Chat.ts +133 -98
  1596. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1597. package/src/unstable/ai/IdGenerator.ts +32 -28
  1598. package/src/unstable/ai/LanguageModel.ts +141 -97
  1599. package/src/unstable/ai/McpProtocol.ts +48 -0
  1600. package/src/unstable/ai/McpSchema.ts +92 -81
  1601. package/src/unstable/ai/McpServer.ts +1057 -303
  1602. package/src/unstable/ai/Model.ts +9 -20
  1603. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1604. package/src/unstable/ai/Prompt.ts +212 -63
  1605. package/src/unstable/ai/Response.ts +52 -38
  1606. package/src/unstable/ai/Telemetry.ts +46 -13
  1607. package/src/unstable/ai/Tokenizer.ts +14 -3
  1608. package/src/unstable/ai/Tool.ts +81 -48
  1609. package/src/unstable/ai/Toolkit.ts +45 -15
  1610. package/src/unstable/ai/index.ts +5 -0
  1611. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1612. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1613. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1614. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1615. package/src/unstable/cli/Argument.ts +279 -72
  1616. package/src/unstable/cli/CliError.ts +159 -91
  1617. package/src/unstable/cli/CliOutput.ts +44 -58
  1618. package/src/unstable/cli/Command.ts +764 -124
  1619. package/src/unstable/cli/Flag.ts +418 -138
  1620. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1621. package/src/unstable/cli/HelpDoc.ts +12 -4
  1622. package/src/unstable/cli/Param.ts +336 -100
  1623. package/src/unstable/cli/Primitive.ts +383 -156
  1624. package/src/unstable/cli/Prompt.ts +64 -34
  1625. package/src/unstable/cli/internal/ansi.ts +2 -2
  1626. package/src/unstable/cli/internal/command.ts +28 -15
  1627. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1628. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1629. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1630. package/src/unstable/cli/internal/config.ts +8 -10
  1631. package/src/unstable/cli/internal/help.ts +4 -2
  1632. package/src/unstable/cli/internal/lexer.ts +8 -2
  1633. package/src/unstable/cli/internal/parser.ts +5 -5
  1634. package/src/unstable/cli/internal/wizard.ts +2 -2
  1635. package/src/unstable/cluster/ClusterError.ts +7 -7
  1636. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1637. package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
  1638. package/src/unstable/cluster/Entity.ts +23 -19
  1639. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1640. package/src/unstable/cluster/EntityResource.ts +2 -2
  1641. package/src/unstable/cluster/Envelope.ts +5 -4
  1642. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1643. package/src/unstable/cluster/Message.ts +9 -9
  1644. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1645. package/src/unstable/cluster/Reply.ts +26 -7
  1646. package/src/unstable/cluster/Runner.ts +1 -1
  1647. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1648. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1649. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1650. package/src/unstable/cluster/RunnerStorage.ts +11 -9
  1651. package/src/unstable/cluster/Runners.ts +48 -26
  1652. package/src/unstable/cluster/ShardId.ts +1 -1
  1653. package/src/unstable/cluster/Sharding.ts +223 -55
  1654. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1655. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1656. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1657. package/src/unstable/cluster/Snowflake.ts +8 -8
  1658. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1659. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1660. package/src/unstable/cluster/internal/entityManager.ts +43 -26
  1661. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1662. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1663. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1664. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1665. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1666. package/src/unstable/encoding/Ini.ts +174 -0
  1667. package/src/unstable/encoding/Msgpack.ts +61 -40
  1668. package/src/unstable/encoding/Ndjson.ts +9 -1
  1669. package/src/unstable/encoding/Sse.ts +109 -37
  1670. package/src/unstable/encoding/Toml.ts +504 -0
  1671. package/src/unstable/encoding/Yaml.ts +541 -0
  1672. package/src/unstable/encoding/index.ts +15 -0
  1673. package/src/unstable/eventlog/Event.ts +20 -20
  1674. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1675. package/src/unstable/eventlog/EventJournal.ts +30 -22
  1676. package/src/unstable/eventlog/EventLog.ts +24 -14
  1677. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1678. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1679. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1680. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1681. package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
  1682. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1683. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1684. package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
  1685. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1686. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1687. package/src/unstable/http/Cookies.ts +64 -45
  1688. package/src/unstable/http/Etag.ts +1 -1
  1689. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1690. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1691. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1692. package/src/unstable/http/FindMyWay.ts +65 -6
  1693. package/src/unstable/http/Headers.ts +10 -10
  1694. package/src/unstable/http/HttpBody.ts +20 -5
  1695. package/src/unstable/http/HttpClient.ts +215 -78
  1696. package/src/unstable/http/HttpClientError.ts +1 -1
  1697. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1698. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1699. package/src/unstable/http/HttpEffect.ts +20 -19
  1700. package/src/unstable/http/HttpMethod.ts +6 -9
  1701. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1702. package/src/unstable/http/HttpPlatform.ts +129 -6
  1703. package/src/unstable/http/HttpRouter.ts +109 -101
  1704. package/src/unstable/http/HttpServer.ts +13 -13
  1705. package/src/unstable/http/HttpServerError.ts +2 -2
  1706. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1707. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1708. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1709. package/src/unstable/http/Multipart.ts +67 -36
  1710. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1711. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1712. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1713. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1714. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1715. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1716. package/src/unstable/http/MultipartParser.ts +115 -0
  1717. package/src/unstable/http/Template.ts +7 -6
  1718. package/src/unstable/http/Url.ts +33 -63
  1719. package/src/unstable/http/UrlParams.ts +27 -32
  1720. package/src/unstable/http/index.ts +1 -1
  1721. package/src/unstable/http/internal/compression.ts +196 -0
  1722. package/src/unstable/http/internal/httpBody.ts +15 -0
  1723. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1724. package/src/unstable/httpapi/HttpApiBuilder.ts +154 -33
  1725. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1726. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1727. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1728. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1729. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1730. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1731. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1732. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1733. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1734. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1735. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1736. package/src/unstable/observability/OtlpResource.ts +26 -17
  1737. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1738. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1739. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1740. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1741. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1742. package/src/unstable/persistence/Persistable.ts +11 -10
  1743. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1744. package/src/unstable/persistence/Persistence.ts +153 -26
  1745. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1746. package/src/unstable/persistence/Redis.ts +5 -5
  1747. package/src/unstable/process/ChildProcess.ts +72 -21
  1748. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1749. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1750. package/src/unstable/reactivity/Atom.ts +161 -47
  1751. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1752. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1753. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1754. package/src/unstable/reactivity/Hydration.ts +1 -1
  1755. package/src/unstable/rpc/Rpc.ts +35 -33
  1756. package/src/unstable/rpc/RpcClient.ts +65 -29
  1757. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1758. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1759. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1760. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1761. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1762. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1763. package/src/unstable/rpc/RpcServer.ts +22 -17
  1764. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1765. package/src/unstable/schema/Model.ts +52 -50
  1766. package/src/unstable/schema/VariantSchema.ts +51 -43
  1767. package/src/unstable/socket/Socket.ts +42 -19
  1768. package/src/unstable/sql/Migrator.ts +22 -9
  1769. package/src/unstable/sql/SqlClient.ts +64 -56
  1770. package/src/unstable/sql/SqlError.ts +15 -15
  1771. package/src/unstable/sql/SqlModel.ts +2 -2
  1772. package/src/unstable/sql/SqlResolver.ts +41 -31
  1773. package/src/unstable/sql/Statement.ts +44 -37
  1774. package/src/unstable/workers/Transferable.ts +1 -1
  1775. package/src/unstable/workers/Worker.ts +15 -16
  1776. package/src/unstable/workers/WorkerError.ts +12 -12
  1777. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1778. package/src/unstable/workflow/Activity.ts +2 -2
  1779. package/src/unstable/workflow/DurableClock.ts +1 -1
  1780. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1781. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1782. package/src/unstable/workflow/Workflow.ts +23 -26
  1783. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1784. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1785. package/dist/SchemaError.d.ts +0 -53
  1786. package/dist/SchemaError.d.ts.map +0 -1
  1787. package/dist/SchemaError.js +0 -61
  1788. package/dist/SchemaError.js.map +0 -1
  1789. package/dist/SchemaUtils.d.ts +0 -28
  1790. package/dist/SchemaUtils.d.ts.map +0 -1
  1791. package/dist/SchemaUtils.js +0 -45
  1792. package/dist/SchemaUtils.js.map +0 -1
  1793. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1794. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1795. package/dist/internal/schema/arbitrary.js.map +0 -1
  1796. package/dist/internal/schema/equivalence.d.ts +0 -2
  1797. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1798. package/dist/internal/schema/equivalence.js.map +0 -1
  1799. package/dist/internal/schema/representation.d.ts +0 -2
  1800. package/dist/internal/schema/representation.d.ts.map +0 -1
  1801. package/dist/internal/schema/representation.js +0 -865
  1802. package/dist/internal/schema/representation.js.map +0 -1
  1803. package/dist/internal/version.d.ts +0 -3
  1804. package/dist/internal/version.d.ts.map +0 -1
  1805. package/dist/internal/version.js +0 -2
  1806. package/dist/internal/version.js.map +0 -1
  1807. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1808. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1809. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1810. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1811. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1812. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1813. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1814. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1815. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1816. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1817. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1818. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1819. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1820. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1821. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1822. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1823. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1824. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1825. package/dist/unstable/http/Multipasta.js +0 -15
  1826. package/dist/unstable/http/Multipasta.js.map +0 -1
  1827. package/src/SchemaError.ts +0 -64
  1828. package/src/SchemaUtils.ts +0 -51
  1829. package/src/internal/schema/representation.ts +0 -795
  1830. package/src/internal/version.ts +0 -2
  1831. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1832. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1833. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1834. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1835. package/src/unstable/http/Multipasta.ts +0 -15
package/src/Context.ts CHANGED
@@ -17,7 +17,6 @@ import { dual, type LazyArg } from "./Function.ts"
17
17
  import * as Hash from "./Hash.ts"
18
18
  import type { Inspectable } from "./Inspectable.ts"
19
19
  import { exitSucceed, PipeInspectableProto, withFiber } from "./internal/core.ts"
20
- import { getStackTraceLimit, setStackTraceLimit } from "./internal/stackTraceLimit.ts"
21
20
  import * as Option from "./Option.ts"
22
21
  import type { Pipeable } from "./Pipeable.ts"
23
22
  import { hasProperty } from "./Predicate.ts"
@@ -67,7 +66,6 @@ export interface Key<out Identifier, out Shape> extends Effect<Shape, never, Ide
67
66
  readonly Service: Shape
68
67
  readonly Identifier: Identifier
69
68
  readonly key: string
70
- readonly stack?: string | undefined
71
69
  }
72
70
 
73
71
  /**
@@ -81,7 +79,7 @@ export interface Key<out Identifier, out Shape> extends Effect<Shape, never, Ide
81
79
  *
82
80
  * **Example** (Defining a service key)
83
81
  *
84
- * ```ts
82
+ * ```ts import.meta.vitest
85
83
  * import { Context } from "effect"
86
84
  *
87
85
  * // Define an identifier for a database service
@@ -91,9 +89,10 @@ export interface Key<out Identifier, out Shape> extends Effect<Shape, never, Ide
91
89
  *
92
90
  * // The key can be used to store and retrieve services
93
91
  * const context = Context.make(Database, { query: (sql) => `Result: ${sql}` })
92
+ * Context.get(context, Database).query("SELECT 1") // => "Result: SELECT 1"
94
93
  * ```
95
94
  *
96
- * @category models
95
+ * @category services
97
96
  * @since 4.0.0
98
97
  */
99
98
  export interface Service<in out Identifier, in out Shape> extends Key<Identifier, Shape> {
@@ -118,7 +117,7 @@ export interface Service<in out Identifier, in out Shape> extends Key<Identifier
118
117
  *
119
118
  * @see {@link Service} for creating function-style keys or class-style service keys
120
119
  *
121
- * @category models
120
+ * @category services
122
121
  * @since 4.0.0
123
122
  */
124
123
  export interface ServiceClass<in out Self, in out Identifier extends string, in out Shape>
@@ -139,7 +138,7 @@ export declare namespace ServiceClass {
139
138
  * Runtime and type-level metadata carried by a class-style service key,
140
139
  * including its service type identifier, string key, and service shape.
141
140
  *
142
- * @category models
141
+ * @category services
143
142
  * @since 4.0.0
144
143
  */
145
144
  export interface Shape<Identifier extends string, Service> {
@@ -172,7 +171,7 @@ export declare namespace ServiceClass {
172
171
  *
173
172
  * **Example** (Creating service keys)
174
173
  *
175
- * ```ts
174
+ * ```ts import.meta.vitest
176
175
  * import { Context } from "effect"
177
176
  *
178
177
  * // Create a simple service
@@ -190,11 +189,13 @@ export declare namespace ServiceClass {
190
189
  * query: (sql) => `Result: ${sql}`
191
190
  * })
192
191
  * const config = Context.make(Config, { port: 8080 })
192
+ * Context.get(db, Database).query("SELECT 1") // => "Result: SELECT 1"
193
+ * Context.get(config, Config).port // => 8080
193
194
  * ```
194
195
  *
195
196
  * @see {@link Reference} for service keys with default values
196
197
  *
197
- * @category constructors
198
+ * @category services
198
199
  * @since 4.0.0
199
200
  */
200
201
  export const Service: {
@@ -221,7 +222,7 @@ export const Service: {
221
222
  *
222
223
  * **Example** (Creating service keys)
223
224
  *
224
- * ```ts
225
+ * ```ts import.meta.vitest
225
226
  * import { Context } from "effect"
226
227
  *
227
228
  * // Create a simple service
@@ -239,14 +240,22 @@ export const Service: {
239
240
  * query: (sql) => `Result: ${sql}`
240
241
  * })
241
242
  * const config = Context.make(Config, { port: 8080 })
243
+ * Context.get(db, Database).query("SELECT 1") // => "Result: SELECT 1"
244
+ * Context.get(config, Config).port // => 8080
242
245
  * ```
243
246
  *
244
247
  * @see {@link Reference} for service keys with default values
245
248
  *
246
- * @category constructors
249
+ * @category services
247
250
  * @since 4.0.0
248
251
  */
249
- <Identifier, Shape = Identifier>(key: string): Service<Identifier, Shape>
252
+ <Identifier, Shape = Identifier>(
253
+ key: string,
254
+ options?: {
255
+ /** @internal */
256
+ readonly fiberCached?: boolean | undefined
257
+ } | undefined
258
+ ): Service<Identifier, Shape>
250
259
  /**
251
260
  * Creates a `Context` service key.
252
261
  *
@@ -270,7 +279,7 @@ export const Service: {
270
279
  *
271
280
  * **Example** (Creating service keys)
272
281
  *
273
- * ```ts
282
+ * ```ts import.meta.vitest
274
283
  * import { Context } from "effect"
275
284
  *
276
285
  * // Create a simple service
@@ -288,11 +297,13 @@ export const Service: {
288
297
  * query: (sql) => `Result: ${sql}`
289
298
  * })
290
299
  * const config = Context.make(Config, { port: 8080 })
300
+ * Context.get(db, Database).query("SELECT 1") // => "Result: SELECT 1"
301
+ * Context.get(config, Config).port // => 8080
291
302
  * ```
292
303
  *
293
304
  * @see {@link Reference} for service keys with default values
294
305
  *
295
- * @category constructors
306
+ * @category services
296
307
  * @since 4.0.0
297
308
  */
298
309
  <Self, Shape>(): <
@@ -303,7 +314,9 @@ export const Service: {
303
314
  >(
304
315
  id: Identifier,
305
316
  options?: {
306
- readonly make: ((...args: Args) => Effect<Shape, E, R>) | Effect<Shape, E, R> | undefined
317
+ readonly make?: ((...args: Args) => Effect<Shape, E, R>) | Effect<Shape, E, R> | undefined
318
+ /** @internal */
319
+ readonly fiberCached?: boolean | undefined
307
320
  } | undefined
308
321
  ) =>
309
322
  & ServiceClass<Self, Identifier, Shape>
@@ -332,7 +345,7 @@ export const Service: {
332
345
  *
333
346
  * **Example** (Creating service keys)
334
347
  *
335
- * ```ts
348
+ * ```ts import.meta.vitest
336
349
  * import { Context } from "effect"
337
350
  *
338
351
  * // Create a simple service
@@ -350,11 +363,13 @@ export const Service: {
350
363
  * query: (sql) => `Result: ${sql}`
351
364
  * })
352
365
  * const config = Context.make(Config, { port: 8080 })
366
+ * Context.get(db, Database).query("SELECT 1") // => "Result: SELECT 1"
367
+ * Context.get(config, Config).port // => 8080
353
368
  * ```
354
369
  *
355
370
  * @see {@link Reference} for service keys with default values
356
371
  *
357
- * @category constructors
372
+ * @category services
358
373
  * @since 4.0.0
359
374
  */
360
375
  <Self>(): <
@@ -364,6 +379,8 @@ export const Service: {
364
379
  id: Identifier,
365
380
  options: {
366
381
  readonly make: Make
382
+ /** @internal */
383
+ readonly fiberCached?: boolean | undefined
367
384
  }
368
385
  ) =>
369
386
  & ServiceClass<
@@ -375,36 +392,28 @@ export const Service: {
375
392
  >
376
393
  & { readonly make: Make }
377
394
  } = function() {
378
- const prevLimit = getStackTraceLimit()
379
- setStackTraceLimit(2)
380
- const err = new Error()
381
- setStackTraceLimit(prevLimit)
382
395
  function KeyClass() {}
383
396
  const self = KeyClass as any as Types.Mutable<Reference<any>>
384
397
  Object.setPrototypeOf(self, ServiceProto)
385
- // @effect-diagnostics-next-line floatingEffect:off
386
- Object.defineProperty(self, "stack", {
387
- get() {
388
- return err.stack
389
- }
390
- })
391
- if (arguments.length > 0) {
392
- self.key = arguments[0]
393
- if (arguments[1]?.defaultValue) {
394
- self[ReferenceTypeId] = ReferenceTypeId
395
- self.defaultValue = arguments[1].defaultValue
396
- }
397
- return self
398
- }
399
- return function(key: string, options?: {
398
+ const init = (key: string, options?: {
399
+ readonly defaultValue?: any
400
400
  readonly make?: any
401
- }) {
401
+ readonly fiberCached?: boolean
402
+ }) => {
402
403
  self.key = key
404
+ if (options?.defaultValue) {
405
+ self[ReferenceTypeId] = ReferenceTypeId
406
+ self.defaultValue = options.defaultValue
407
+ }
403
408
  if (options?.make) {
404
409
  ;(self as any).make = options.make
405
410
  }
411
+ if (options?.fiberCached) {
412
+ cacheKeys.add(key)
413
+ }
406
414
  return self
407
415
  }
416
+ return arguments.length > 0 ? init(arguments[0], arguments[1]) : init
408
417
  } as any
409
418
 
410
419
  const ServiceProto: any = {
@@ -418,8 +427,7 @@ const ServiceProto: any = {
418
427
  toJSON<I, A>(this: Service<I, A>) {
419
428
  return {
420
429
  _id: "Service",
421
- key: this.key,
422
- stack: this.stack
430
+ key: this.key
423
431
  }
424
432
  },
425
433
  of<Service>(this: void, self: Service): Service {
@@ -439,6 +447,8 @@ const ServiceProto: any = {
439
447
  }
440
448
  }
441
449
 
450
+ const cacheKeys = new Set<string>()
451
+
442
452
  const ReferenceTypeId = "~effect/Context/Reference" as const
443
453
 
444
454
  /**
@@ -452,21 +462,24 @@ const ReferenceTypeId = "~effect/Context/Reference" as const
452
462
  *
453
463
  * **Example** (Defining a reference with a default value)
454
464
  *
455
- * ```ts
465
+ * ```ts import.meta.vitest
456
466
  * import { Context } from "effect"
457
467
  *
458
468
  * // Define a reference with a default value
469
+ * const messages: Array<string> = []
459
470
  * const LoggerRef: Context.Reference<{ log: (msg: string) => void }> =
460
471
  * Context.Reference("Logger", {
461
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
472
+ * defaultValue: () => ({ log: (msg) => { messages.push(msg) } })
462
473
  * })
463
474
  *
464
475
  * // The reference can be used without explicit provision
465
476
  * const context = Context.empty()
466
477
  * const logger = Context.get(context, LoggerRef) // Uses default value
478
+ * logger.log("default logger")
479
+ * messages // => ["default logger"]
467
480
  * ```
468
481
  *
469
- * @category models
482
+ * @category services
470
483
  * @since 3.11.0
471
484
  */
472
485
  export interface Reference<in out Shape> extends Service<never, Shape> {
@@ -481,7 +494,7 @@ export interface Reference<in out Shape> extends Service<never, Shape> {
481
494
  *
482
495
  * **Example** (Extracting service types)
483
496
  *
484
- * ```ts
497
+ * ```ts import.meta.vitest
485
498
  * import { Context } from "effect"
486
499
  *
487
500
  * const Database = Context.Service<{
@@ -493,6 +506,8 @@ export interface Reference<in out Shape> extends Service<never, Shape> {
493
506
  *
494
507
  * // Extract identifier type from a key
495
508
  * type DatabaseId = Context.Service.Identifier<typeof Database>
509
+ *
510
+ * Database.key // => "Database"
496
511
  * ```
497
512
  *
498
513
  * @since 2.0.0
@@ -504,7 +519,7 @@ export declare namespace Service {
504
519
  *
505
520
  * **Example** (Typing any service key)
506
521
  *
507
- * ```ts
522
+ * ```ts import.meta.vitest
508
523
  * import { Context } from "effect"
509
524
  *
510
525
  * // Any represents any possible service type
@@ -512,9 +527,10 @@ export declare namespace Service {
512
527
  * Context.Service<{ log: (msg: string) => void }>("Logger"),
513
528
  * Context.Service<{ query: (sql: string) => string }>("Database")
514
529
  * ]
530
+ * services.map((service) => service.key) // => ["Logger", "Database"]
515
531
  * ```
516
532
  *
517
- * @category models
533
+ * @category utility types
518
534
  * @since 4.0.0
519
535
  */
520
536
  export type Any = Key<never, any> | Key<any, any>
@@ -525,7 +541,7 @@ export declare namespace Service {
525
541
  *
526
542
  * **Example** (Extracting a service shape)
527
543
  *
528
- * ```ts
544
+ * ```ts import.meta.vitest
529
545
  * import { Context } from "effect"
530
546
  *
531
547
  * const Database = Context.Service<{ query: (sql: string) => string }>(
@@ -535,9 +551,10 @@ export declare namespace Service {
535
551
  * // Extract the service shape from the service
536
552
  * type DatabaseService = Context.Service.Shape<typeof Database>
537
553
  * // DatabaseService is { query: (sql: string) => string }
554
+ * Database.key // => "Database"
538
555
  * ```
539
556
  *
540
- * @category models
557
+ * @category utility types
541
558
  * @since 4.0.0
542
559
  */
543
560
  export type Shape<T> = T extends Key<infer _I, infer S> ? S : never
@@ -548,7 +565,7 @@ export declare namespace Service {
548
565
  *
549
566
  * **Example** (Extracting a service identifier)
550
567
  *
551
- * ```ts
568
+ * ```ts import.meta.vitest
552
569
  * import { Context } from "effect"
553
570
  *
554
571
  * const Database = Context.Service<{ query: (sql: string) => string }>(
@@ -558,9 +575,10 @@ export declare namespace Service {
558
575
  * // Extract the identifier type from a key
559
576
  * type DatabaseId = Context.Service.Identifier<typeof Database>
560
577
  * // DatabaseId is the identifier type
578
+ * Database.key // => "Database"
561
579
  * ```
562
580
  *
563
- * @category models
581
+ * @category utility types
564
582
  * @since 2.0.0
565
583
  */
566
584
  export type Identifier<T> = T extends Key<infer I, infer _S> ? I : never
@@ -579,7 +597,7 @@ const TypeId = "~effect/Context" as const
579
597
  *
580
598
  * **Example** (Creating a context with multiple services)
581
599
  *
582
- * ```ts
600
+ * ```ts import.meta.vitest
583
601
  * import { Context } from "effect"
584
602
  *
585
603
  * // Create a context with multiple services
@@ -588,10 +606,9 @@ const TypeId = "~effect/Context" as const
588
606
  * "Database"
589
607
  * )
590
608
  *
591
- * const context = Context.make(Logger, {
592
- * log: (msg: string) => console.log(msg)
593
- * })
609
+ * const context = Context.make(Logger, { log: (_msg: string) => {} })
594
610
  * .pipe(Context.add(Database, { query: (sql) => `Result: ${sql}` }))
611
+ * Context.get(context, Database).query("SELECT 1") // => "Result: SELECT 1"
595
612
  * ```
596
613
  *
597
614
  * @category models
@@ -602,7 +619,81 @@ export interface Context<in Services> extends Equal.Equal, Pipeable, Inspectable
602
619
  readonly _Services: Types.Contravariant<Services>
603
620
  }
604
621
  readonly mapUnsafe: ReadonlyMap<string, any>
605
- mutable: boolean
622
+ }
623
+
624
+ interface ContextImpl<in Services> extends Context<Services> {
625
+ cacheRoot: ContextImpl<any> | undefined
626
+ base: ReadonlyMap<string, any>
627
+ baseHits: number
628
+ overlay: Overlay | undefined
629
+ depth: number
630
+ _flat: ReadonlyMap<string, any> | undefined
631
+ }
632
+
633
+ interface Overlay {
634
+ readonly key: string
635
+ readonly value: unknown
636
+ readonly parent: Overlay | undefined
637
+ }
638
+
639
+ const MaxDepth = 8
640
+ const FlattenAfterBaseHits = 8
641
+
642
+ const makeImpl = <Services>(
643
+ cacheRoot: ContextImpl<any> | undefined,
644
+ base: ReadonlyMap<string, any>,
645
+ overlay: Overlay | undefined,
646
+ depth: number
647
+ ): ContextImpl<Services> => {
648
+ const self: ContextImpl<Services> = Object.create(Proto)
649
+ self.cacheRoot = cacheRoot ?? self
650
+ self.base = base
651
+ self.overlay = overlay
652
+ self.depth = depth
653
+ self._flat = undefined
654
+ self.baseHits = 0
655
+ return self
656
+ }
657
+
658
+ const applyOverlays = (map: Map<string, any>, overlay: Overlay | undefined): void => {
659
+ if (!overlay) return
660
+ applyOverlays(map, overlay.parent)
661
+ map.set(overlay.key, overlay.value)
662
+ }
663
+
664
+ const flatten = (self: ContextImpl<any>): ReadonlyMap<string, any> => {
665
+ if (self._flat) return self._flat
666
+ if (!self.overlay) return self._flat = self.base
667
+ const map = new Map(self.base)
668
+ applyOverlays(map, self.overlay)
669
+ return self._flat = map
670
+ }
671
+
672
+ const withFlat = <B>(self: Context<any>, f: (map: Map<string, any>) => void): Context<B> => {
673
+ const map = new Map(self.mapUnsafe)
674
+ f(map)
675
+ return makeUnsafe(map)
676
+ }
677
+
678
+ // A private symbol so user code cannot forge a value that reads as absent
679
+ const notFound = Symbol()
680
+
681
+ const lookup = (self: Context<any>, key: string): unknown => {
682
+ const impl = self as ContextImpl<any>
683
+ for (let overlay = impl.overlay; overlay; overlay = overlay.parent) {
684
+ if (overlay.key === key) return overlay.value
685
+ }
686
+ const value = impl.base.get(key)
687
+ // Misses must not advance the counter: reference-default lookups miss the
688
+ // base on every fiber cache refresh, which would flatten every short-lived
689
+ // request context and reintroduce the O(services) per-request cost
690
+ if (value === undefined && !impl.base.has(key)) return notFound
691
+ if (impl.overlay && ++impl.baseHits >= FlattenAfterBaseHits) {
692
+ impl.base = flatten(impl)
693
+ impl.overlay = undefined
694
+ impl.depth = 0
695
+ }
696
+ return value
606
697
  }
607
698
 
608
699
  /**
@@ -615,38 +706,41 @@ export interface Context<in Services> extends Equal.Equal, Pipeable, Inspectable
615
706
  *
616
707
  * **Gotchas**
617
708
  *
618
- * This is unsafe because later mutation of the provided map can affect the
619
- * created `Context`. Prefer `empty`, `make`, `add`, or `merge` for normal
620
- * Context construction.
709
+ * The provided map is retained without copying and must not be mutated after
710
+ * construction. Prefer `empty`, `make`, `add`, or `merge` for normal Context
711
+ * construction.
621
712
  *
622
713
  * **Example** (Creating a context from a map)
623
714
  *
624
- * ```ts
715
+ * ```ts import.meta.vitest
625
716
  * import { Context } from "effect"
626
717
  *
627
718
  * // Create a context from a Map (unsafe)
628
719
  * const map = new Map([
629
- * ["Logger", { log: (msg: string) => console.log(msg) }]
720
+ * ["Logger", { log: (_msg: string) => {} }]
630
721
  * ])
631
722
  *
632
723
  * const context = Context.makeUnsafe(map)
724
+ * context.mapUnsafe.size // => 1
633
725
  * ```
634
726
  *
635
727
  * @category constructors
636
728
  * @since 4.0.0
637
729
  */
638
- export const makeUnsafe = <Services = never>(mapUnsafe: ReadonlyMap<string, any>): Context<Services> => {
639
- const self = Object.create(Proto)
640
- self.mapUnsafe = mapUnsafe
641
- self.mutable = false
642
- return self
643
- }
730
+ export const makeUnsafe = <Services = never>(mapUnsafe: ReadonlyMap<string, any>): Context<Services> =>
731
+ makeImpl(undefined, mapUnsafe, undefined, 0)
644
732
 
645
- const Proto: Omit<Context<never>, "mapUnsafe" | "mutable"> = {
733
+ const Proto: Omit<
734
+ ContextImpl<never>,
735
+ "cacheRoot" | "base" | "overlay" | "depth" | "_flat" | "baseHits"
736
+ > = {
646
737
  ...PipeInspectableProto,
647
738
  [TypeId]: {
648
739
  _Services: (_: never) => _
649
740
  },
741
+ get mapUnsafe() {
742
+ return flatten(this as any as ContextImpl<any>)
743
+ },
650
744
  toJSON(this: Context<never>) {
651
745
  return {
652
746
  _id: "Context",
@@ -654,17 +748,12 @@ const Proto: Omit<Context<never>, "mapUnsafe" | "mutable"> = {
654
748
  }
655
749
  },
656
750
  [Equal.symbol]<A>(this: Context<A>, that: unknown): boolean {
657
- if (
658
- !isContext(that)
659
- || this.mapUnsafe.size !== that.mapUnsafe.size
660
- ) return false
661
- for (const k of this.mapUnsafe.keys()) {
662
- if (
663
- !that.mapUnsafe.has(k) ||
664
- !Equal.equals(this.mapUnsafe.get(k), that.mapUnsafe.get(k))
665
- ) {
666
- return false
667
- }
751
+ if (!isContext(that)) return false
752
+ const self = this.mapUnsafe
753
+ const other = that.mapUnsafe
754
+ if (self.size !== other.size) return false
755
+ for (const [key, value] of self) {
756
+ if (!other.has(key) || !Equal.equals(value, other.get(key))) return false
668
757
  }
669
758
  return true
670
759
  },
@@ -673,6 +762,12 @@ const Proto: Omit<Context<never>, "mapUnsafe" | "mutable"> = {
673
762
  }
674
763
  }
675
764
 
765
+ /** @internal */
766
+ export const hasSameCache = <Services, Services2>(
767
+ self: Context<Services>,
768
+ that: Context<Services2>
769
+ ): boolean => (self as ContextImpl<Services>).cacheRoot === (that as ContextImpl<Services2>).cacheRoot
770
+
676
771
  /**
677
772
  * Checks whether the provided argument is a `Context`.
678
773
  *
@@ -693,11 +788,9 @@ const Proto: Omit<Context<never>, "mapUnsafe" | "mutable"> = {
693
788
  *
694
789
  * **Example** (Checking for contexts)
695
790
  *
696
- * ```ts
791
+ * ```ts import.meta.vitest
697
792
  * import { Context } from "effect"
698
- * import * as assert from "node:assert"
699
- *
700
- * assert.strictEqual(Context.isContext(Context.empty()), true)
793
+ * Context.isContext(Context.empty()) // => true
701
794
  * ```
702
795
  *
703
796
  * @see {@link isKey} for checking service keys
@@ -713,11 +806,9 @@ export const isContext = (u: unknown): u is Context<never> => hasProperty(u, Typ
713
806
  *
714
807
  * **Example** (Checking for keys)
715
808
  *
716
- * ```ts
809
+ * ```ts import.meta.vitest
717
810
  * import { Context } from "effect"
718
- * import * as assert from "node:assert"
719
- *
720
- * assert.strictEqual(Context.isKey(Context.Service("Service")), true)
811
+ * Context.isKey(Context.Service("Service")) // => true
721
812
  * ```
722
813
  *
723
814
  * @category guards
@@ -730,33 +821,30 @@ export const isKey = (u: unknown): u is Key<any, any> => hasProperty(u, ServiceT
730
821
  *
731
822
  * **Example** (Checking for references)
732
823
  *
733
- * ```ts
824
+ * ```ts import.meta.vitest
734
825
  * import { Context } from "effect"
735
- * import * as assert from "node:assert"
736
826
  *
737
827
  * const LoggerRef = Context.Reference("Logger", {
738
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
828
+ * defaultValue: () => ({ log: (_msg: string) => {} })
739
829
  * })
740
830
  *
741
- * assert.strictEqual(Context.isReference(LoggerRef), true)
742
- * assert.strictEqual(Context.isReference(Context.Service("Key")), false)
831
+ * Context.isReference(LoggerRef) // => true
832
+ * Context.isReference(Context.Service("Key")) // => false
743
833
  * ```
744
834
  *
745
835
  * @category guards
746
836
  * @since 3.11.0
747
837
  */
748
- export const isReference = (u: unknown): u is Reference<any> => hasProperty(u, ReferenceTypeId)
838
+ export const isReference = <I, S>(u: Key<I, S>): u is Reference<S> => !!(u as Reference<S>)[ReferenceTypeId]
749
839
 
750
840
  /**
751
841
  * Returns an empty `Context`.
752
842
  *
753
843
  * **Example** (Creating an empty context)
754
844
  *
755
- * ```ts
845
+ * ```ts import.meta.vitest
756
846
  * import { Context } from "effect"
757
- * import * as assert from "node:assert"
758
- *
759
- * assert.strictEqual(Context.isContext(Context.empty()), true)
847
+ * Context.empty().mapUnsafe.size // => 0
760
848
  * ```
761
849
  *
762
850
  * @category constructors
@@ -770,15 +858,14 @@ const emptyContext = makeUnsafe(new Map())
770
858
  *
771
859
  * **Example** (Creating a context with one service)
772
860
  *
773
- * ```ts
861
+ * ```ts import.meta.vitest
774
862
  * import { Context } from "effect"
775
- * import * as assert from "node:assert"
776
863
  *
777
864
  * const Port = Context.Service<{ PORT: number }>("Port")
778
865
  *
779
866
  * const context = Context.make(Port, { PORT: 8080 })
780
867
  *
781
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
868
+ * Context.get(context, Port).PORT // => 8080
782
869
  * ```
783
870
  *
784
871
  * @category constructors
@@ -803,9 +890,8 @@ export const make = <I, S>(
803
890
  *
804
891
  * **Example** (Adding a service to a context)
805
892
  *
806
- * ```ts
893
+ * ```ts import.meta.vitest
807
894
  * import { Context, pipe } from "effect"
808
- * import * as assert from "node:assert"
809
895
  *
810
896
  * const Port = Context.Service<{ PORT: number }>("Port")
811
897
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -817,13 +903,13 @@ export const make = <I, S>(
817
903
  * Context.add(Timeout, { TIMEOUT: 5000 })
818
904
  * )
819
905
  *
820
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
821
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
906
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
907
+ * values // => [8080, 5000]
822
908
  * ```
823
909
  *
824
910
  * @see {@link addOrOmit} for adding or removing a service from an `Option`
825
911
  *
826
- * @category adders
912
+ * @category combining
827
913
  * @since 2.0.0
828
914
  */
829
915
  export const add: {
@@ -841,9 +927,8 @@ export const add: {
841
927
  *
842
928
  * **Example** (Adding a service to a context)
843
929
  *
844
- * ```ts
930
+ * ```ts import.meta.vitest
845
931
  * import { Context, pipe } from "effect"
846
- * import * as assert from "node:assert"
847
932
  *
848
933
  * const Port = Context.Service<{ PORT: number }>("Port")
849
934
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -855,13 +940,13 @@ export const add: {
855
940
  * Context.add(Timeout, { TIMEOUT: 5000 })
856
941
  * )
857
942
  *
858
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
859
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
943
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
944
+ * values // => [8080, 5000]
860
945
  * ```
861
946
  *
862
947
  * @see {@link addOrOmit} for adding or removing a service from an `Option`
863
948
  *
864
- * @category adders
949
+ * @category combining
865
950
  * @since 2.0.0
866
951
  */
867
952
  <I, S>(key: Key<I, S>, service: Types.NoInfer<S>): <Services>(self: Context<Services>) => Context<Services | I>
@@ -879,9 +964,8 @@ export const add: {
879
964
  *
880
965
  * **Example** (Adding a service to a context)
881
966
  *
882
- * ```ts
967
+ * ```ts import.meta.vitest
883
968
  * import { Context, pipe } from "effect"
884
- * import * as assert from "node:assert"
885
969
  *
886
970
  * const Port = Context.Service<{ PORT: number }>("Port")
887
971
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -893,13 +977,13 @@ export const add: {
893
977
  * Context.add(Timeout, { TIMEOUT: 5000 })
894
978
  * )
895
979
  *
896
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
897
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
980
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
981
+ * values // => [8080, 5000]
898
982
  * ```
899
983
  *
900
984
  * @see {@link addOrOmit} for adding or removing a service from an `Option`
901
985
  *
902
- * @category adders
986
+ * @category combining
903
987
  * @since 2.0.0
904
988
  */
905
989
  <Services, I, S>(self: Context<Services>, key: Key<I, S>, service: Types.NoInfer<S>): Context<Services | I>
@@ -907,10 +991,24 @@ export const add: {
907
991
  self: Context<Services>,
908
992
  key: Key<I, S>,
909
993
  service: Types.NoInfer<S>
910
- ): Context<Services | I> =>
911
- withMapUnsafe(self, (map) => {
994
+ ): Context<Services | I> => {
995
+ const impl = self as ContextImpl<Services>
996
+ const cacheRoot = cacheKeys.has(key.key) ? undefined : impl.cacheRoot
997
+ if (impl.depth >= MaxDepth) {
998
+ // Rebase the overlay chain into a flat map, keeping the cacheRoot so a
999
+ // rebase on an ordinary key does not invalidate fiber caches
1000
+ const map = new Map(impl.mapUnsafe)
912
1001
  map.set(key.key, service)
913
- }))
1002
+ return makeImpl(cacheRoot, map, undefined, 0)
1003
+ }
1004
+
1005
+ return makeImpl(
1006
+ cacheRoot,
1007
+ impl.base,
1008
+ { key: key.key, value: service, parent: impl.overlay },
1009
+ impl.depth + 1
1010
+ )
1011
+ })
914
1012
 
915
1013
  /**
916
1014
  * Adds or removes a service depending on an `Option`.
@@ -926,7 +1024,7 @@ export const add: {
926
1024
  *
927
1025
  * **Example** (Adding optional services)
928
1026
  *
929
- * ```ts
1027
+ * ```ts import.meta.vitest
930
1028
  * import { Context, Option } from "effect"
931
1029
  *
932
1030
  * const Port = Context.Service<{ PORT: number }>("Port")
@@ -938,11 +1036,13 @@ export const add: {
938
1036
  * const withoutPort = withPort.pipe(
939
1037
  * Context.addOrOmit(Port, Option.none())
940
1038
  * )
1039
+ * Context.getOption(withPort, Port) // => Option.some({ PORT: 8080 })
1040
+ * Context.getOption(withoutPort, Port) // => Option.none()
941
1041
  * ```
942
1042
  *
943
1043
  * @see {@link add} for always storing a service value
944
1044
  *
945
- * @category adders
1045
+ * @category combining
946
1046
  * @since 4.0.0
947
1047
  */
948
1048
  export const addOrOmit: {
@@ -960,7 +1060,7 @@ export const addOrOmit: {
960
1060
  *
961
1061
  * **Example** (Adding optional services)
962
1062
  *
963
- * ```ts
1063
+ * ```ts import.meta.vitest
964
1064
  * import { Context, Option } from "effect"
965
1065
  *
966
1066
  * const Port = Context.Service<{ PORT: number }>("Port")
@@ -972,14 +1072,16 @@ export const addOrOmit: {
972
1072
  * const withoutPort = withPort.pipe(
973
1073
  * Context.addOrOmit(Port, Option.none())
974
1074
  * )
1075
+ * Context.getOption(withPort, Port) // => Option.some({ PORT: 8080 })
1076
+ * Context.getOption(withoutPort, Port) // => Option.none()
975
1077
  * ```
976
1078
  *
977
1079
  * @see {@link add} for always storing a service value
978
1080
  *
979
- * @category adders
1081
+ * @category combining
980
1082
  * @since 4.0.0
981
1083
  */
982
- <I, S>(key: Key<I, S>, service: Option.Option<Types.NoInfer<S>>): <Services>(self: Context<Services>) => Context<Services | I>
1084
+ <I, S>(key: Key<I, S>, service: Option.Option<Types.NoInfer<S>>): <Services>(self: Context<Services>) => Context<Exclude<Services, I>>
983
1085
  /**
984
1086
  * Adds or removes a service depending on an `Option`.
985
1087
  *
@@ -994,7 +1096,7 @@ export const addOrOmit: {
994
1096
  *
995
1097
  * **Example** (Adding optional services)
996
1098
  *
997
- * ```ts
1099
+ * ```ts import.meta.vitest
998
1100
  * import { Context, Option } from "effect"
999
1101
  *
1000
1102
  * const Port = Context.Service<{ PORT: number }>("Port")
@@ -1006,30 +1108,28 @@ export const addOrOmit: {
1006
1108
  * const withoutPort = withPort.pipe(
1007
1109
  * Context.addOrOmit(Port, Option.none())
1008
1110
  * )
1111
+ * Context.getOption(withPort, Port) // => Option.some({ PORT: 8080 })
1112
+ * Context.getOption(withoutPort, Port) // => Option.none()
1009
1113
  * ```
1010
1114
  *
1011
1115
  * @see {@link add} for always storing a service value
1012
1116
  *
1013
- * @category adders
1117
+ * @category combining
1014
1118
  * @since 4.0.0
1015
1119
  */
1016
1120
  <Services, I, S>(
1017
1121
  self: Context<Services>,
1018
1122
  key: Key<I, S>,
1019
1123
  service: Option.Option<Types.NoInfer<S>>
1020
- ): Context<Services | I>
1124
+ ): Context<Exclude<Services, I>>
1021
1125
  } = dual(3, <Services, I, S>(
1022
1126
  self: Context<Services>,
1023
1127
  key: Key<I, S>,
1024
1128
  service: Option.Option<Types.NoInfer<S>>
1025
- ): Context<Services | I> =>
1026
- withMapUnsafe(self, (map) => {
1027
- if (service._tag === "None") {
1028
- map.delete(key.key)
1029
- } else {
1030
- map.set(key.key, service.value)
1031
- }
1032
- }))
1129
+ ): Context<Exclude<Services, I>> =>
1130
+ service._tag === "None"
1131
+ ? omit(key)(self)
1132
+ : add(self, key, service.value) as any)
1033
1133
 
1034
1134
  /**
1035
1135
  * Gets the service for a key, or evaluates the fallback when a non-reference
@@ -1052,7 +1152,7 @@ export const addOrOmit: {
1052
1152
  *
1053
1153
  * **Example** (Falling back for missing services)
1054
1154
  *
1055
- * ```ts
1155
+ * ```ts import.meta.vitest
1056
1156
  * import { Context } from "effect"
1057
1157
  *
1058
1158
  * const Logger = Context.Service<{ log: (msg: string) => void }>("Logger")
@@ -1060,9 +1160,7 @@ export const addOrOmit: {
1060
1160
  * "Database"
1061
1161
  * )
1062
1162
  *
1063
- * const context = Context.make(Logger, {
1064
- * log: (msg: string) => console.log(msg)
1065
- * })
1163
+ * const context = Context.make(Logger, { log: (_msg: string) => {} })
1066
1164
  *
1067
1165
  * const logger = Context.getOrElse(context, Logger, () => ({ log: () => {} }))
1068
1166
  * const database = Context.getOrElse(
@@ -1071,8 +1169,8 @@ export const addOrOmit: {
1071
1169
  * () => ({ query: () => "fallback" })
1072
1170
  * )
1073
1171
  *
1074
- * console.log(logger === Context.get(context, Logger)) // true
1075
- * console.log(database.query("SELECT 1")) // "fallback"
1172
+ * logger === Context.get(context, Logger) // => true
1173
+ * database.query("SELECT 1") // => "fallback"
1076
1174
  * ```
1077
1175
  *
1078
1176
  * @see {@link getOption} for returning `Option.none` when a non-reference key is missing
@@ -1102,7 +1200,7 @@ export const getOrElse: {
1102
1200
  *
1103
1201
  * **Example** (Falling back for missing services)
1104
1202
  *
1105
- * ```ts
1203
+ * ```ts import.meta.vitest
1106
1204
  * import { Context } from "effect"
1107
1205
  *
1108
1206
  * const Logger = Context.Service<{ log: (msg: string) => void }>("Logger")
@@ -1110,9 +1208,7 @@ export const getOrElse: {
1110
1208
  * "Database"
1111
1209
  * )
1112
1210
  *
1113
- * const context = Context.make(Logger, {
1114
- * log: (msg: string) => console.log(msg)
1115
- * })
1211
+ * const context = Context.make(Logger, { log: (_msg: string) => {} })
1116
1212
  *
1117
1213
  * const logger = Context.getOrElse(context, Logger, () => ({ log: () => {} }))
1118
1214
  * const database = Context.getOrElse(
@@ -1121,8 +1217,8 @@ export const getOrElse: {
1121
1217
  * () => ({ query: () => "fallback" })
1122
1218
  * )
1123
1219
  *
1124
- * console.log(logger === Context.get(context, Logger)) // true
1125
- * console.log(database.query("SELECT 1")) // "fallback"
1220
+ * logger === Context.get(context, Logger) // => true
1221
+ * database.query("SELECT 1") // => "fallback"
1126
1222
  * ```
1127
1223
  *
1128
1224
  * @see {@link getOption} for returning `Option.none` when a non-reference key is missing
@@ -1152,7 +1248,7 @@ export const getOrElse: {
1152
1248
  *
1153
1249
  * **Example** (Falling back for missing services)
1154
1250
  *
1155
- * ```ts
1251
+ * ```ts import.meta.vitest
1156
1252
  * import { Context } from "effect"
1157
1253
  *
1158
1254
  * const Logger = Context.Service<{ log: (msg: string) => void }>("Logger")
@@ -1160,9 +1256,7 @@ export const getOrElse: {
1160
1256
  * "Database"
1161
1257
  * )
1162
1258
  *
1163
- * const context = Context.make(Logger, {
1164
- * log: (msg: string) => console.log(msg)
1165
- * })
1259
+ * const context = Context.make(Logger, { log: (_msg: string) => {} })
1166
1260
  *
1167
1261
  * const logger = Context.getOrElse(context, Logger, () => ({ log: () => {} }))
1168
1262
  * const database = Context.getOrElse(
@@ -1171,8 +1265,8 @@ export const getOrElse: {
1171
1265
  * () => ({ query: () => "fallback" })
1172
1266
  * )
1173
1267
  *
1174
- * console.log(logger === Context.get(context, Logger)) // true
1175
- * console.log(database.query("SELECT 1")) // "fallback"
1268
+ * logger === Context.get(context, Logger) // => true
1269
+ * database.query("SELECT 1") // => "fallback"
1176
1270
  * ```
1177
1271
  *
1178
1272
  * @see {@link getOption} for returning `Option.none` when a non-reference key is missing
@@ -1182,9 +1276,8 @@ export const getOrElse: {
1182
1276
  */
1183
1277
  <Services, S, I, B>(self: Context<Services>, key: Key<I, S>, orElse: LazyArg<B>): S | B
1184
1278
  } = dual(3, <Services, S, I, B>(self: Context<Services>, key: Key<I, S>, orElse: LazyArg<B>): S | B => {
1185
- if (self.mapUnsafe.has(key.key)) {
1186
- return self.mapUnsafe.get(key.key)! as any
1187
- }
1279
+ const value = lookup(self, key.key)
1280
+ if (value !== notFound) return value as any
1188
1281
  return isReference(key) ? getDefaultValue(key) : orElse()
1189
1282
  })
1190
1283
 
@@ -1250,9 +1343,15 @@ export const getOrUndefined: {
1250
1343
  <Services, S, I>(self: Context<Services>, key: Key<I, S>): S | undefined
1251
1344
  } = dual(
1252
1345
  2,
1253
- <Services, S, I>(self: Context<Services>, key: Key<I, S>): S | undefined => self.mapUnsafe.get(key.key)
1346
+ <Services, S, I>(self: Context<Services>, key: Key<I, S>): S | undefined => getOrUndefinedUnsafe(self, key.key)
1254
1347
  )
1255
1348
 
1349
+ /** @internal */
1350
+ export const getOrUndefinedUnsafe = <A, Services = never>(self: Context<Services>, key: string): A | undefined => {
1351
+ const value = lookup(self, key)
1352
+ return value === notFound ? undefined : value as A
1353
+ }
1354
+
1256
1355
  /**
1257
1356
  * Gets the service for a key, throwing if an absent non-reference key cannot be
1258
1357
  * resolved.
@@ -1270,17 +1369,16 @@ export const getOrUndefined: {
1270
1369
  *
1271
1370
  * **Example** (Getting services unsafely)
1272
1371
  *
1273
- * ```ts
1274
- * import { Context } from "effect"
1275
- * import * as assert from "node:assert"
1372
+ * ```ts import.meta.vitest
1373
+ * import { Context, Option } from "effect"
1276
1374
  *
1277
1375
  * const Port = Context.Service<{ PORT: number }>("Port")
1278
1376
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1279
1377
  *
1280
1378
  * const context = Context.make(Port, { PORT: 8080 })
1281
1379
  *
1282
- * assert.deepStrictEqual(Context.getUnsafe(context, Port), { PORT: 8080 })
1283
- * assert.throws(() => Context.getUnsafe(context, Timeout))
1380
+ * Context.getUnsafe(context, Port).PORT // => 8080
1381
+ * Context.getOption(context, Timeout) // => Option.none()
1284
1382
  * ```
1285
1383
  *
1286
1384
  * @see {@link get} for type-checked service access
@@ -1307,17 +1405,16 @@ export const getUnsafe: {
1307
1405
  *
1308
1406
  * **Example** (Getting services unsafely)
1309
1407
  *
1310
- * ```ts
1311
- * import { Context } from "effect"
1312
- * import * as assert from "node:assert"
1408
+ * ```ts import.meta.vitest
1409
+ * import { Context, Option } from "effect"
1313
1410
  *
1314
1411
  * const Port = Context.Service<{ PORT: number }>("Port")
1315
1412
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1316
1413
  *
1317
1414
  * const context = Context.make(Port, { PORT: 8080 })
1318
1415
  *
1319
- * assert.deepStrictEqual(Context.getUnsafe(context, Port), { PORT: 8080 })
1320
- * assert.throws(() => Context.getUnsafe(context, Timeout))
1416
+ * Context.getUnsafe(context, Port).PORT // => 8080
1417
+ * Context.getOption(context, Timeout) // => Option.none()
1321
1418
  * ```
1322
1419
  *
1323
1420
  * @see {@link get} for type-checked service access
@@ -1344,17 +1441,16 @@ export const getUnsafe: {
1344
1441
  *
1345
1442
  * **Example** (Getting services unsafely)
1346
1443
  *
1347
- * ```ts
1348
- * import { Context } from "effect"
1349
- * import * as assert from "node:assert"
1444
+ * ```ts import.meta.vitest
1445
+ * import { Context, Option } from "effect"
1350
1446
  *
1351
1447
  * const Port = Context.Service<{ PORT: number }>("Port")
1352
1448
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1353
1449
  *
1354
1450
  * const context = Context.make(Port, { PORT: 8080 })
1355
1451
  *
1356
- * assert.deepStrictEqual(Context.getUnsafe(context, Port), { PORT: 8080 })
1357
- * assert.throws(() => Context.getUnsafe(context, Timeout))
1452
+ * Context.getUnsafe(context, Port).PORT // => 8080
1453
+ * Context.getOption(context, Timeout) // => Option.none()
1358
1454
  * ```
1359
1455
  *
1360
1456
  * @see {@link get} for type-checked service access
@@ -1367,11 +1463,12 @@ export const getUnsafe: {
1367
1463
  } = dual(
1368
1464
  2,
1369
1465
  <Services, I extends Services, S>(self: Context<Services>, service: Key<I, S>): S => {
1370
- if (!self.mapUnsafe.has(service.key)) {
1371
- if (ReferenceTypeId in service) return getDefaultValue(service as any)
1466
+ const value = lookup(self, service.key)
1467
+ if (value === notFound) {
1468
+ if (isReference(service)) return getDefaultValue(service as any)
1372
1469
  throw serviceNotFoundError(service)
1373
1470
  }
1374
- return self.mapUnsafe.get(service.key)! as any
1471
+ return value as any
1375
1472
  }
1376
1473
  )
1377
1474
 
@@ -1385,9 +1482,8 @@ export const getUnsafe: {
1385
1482
  *
1386
1483
  * **Example** (Getting a service from a context)
1387
1484
  *
1388
- * ```ts
1485
+ * ```ts import.meta.vitest
1389
1486
  * import { Context, pipe } from "effect"
1390
- * import * as assert from "node:assert"
1391
1487
  *
1392
1488
  * const Port = Context.Service<{ PORT: number }>("Port")
1393
1489
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1397,7 +1493,7 @@ export const getUnsafe: {
1397
1493
  * Context.add(Timeout, { TIMEOUT: 5000 })
1398
1494
  * )
1399
1495
  *
1400
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1496
+ * Context.get(context, Timeout).TIMEOUT // => 5000
1401
1497
  * ```
1402
1498
  *
1403
1499
  * @see {@link getOption} for optional service access
@@ -1417,9 +1513,8 @@ export const get: {
1417
1513
  *
1418
1514
  * **Example** (Getting a service from a context)
1419
1515
  *
1420
- * ```ts
1516
+ * ```ts import.meta.vitest
1421
1517
  * import { Context, pipe } from "effect"
1422
- * import * as assert from "node:assert"
1423
1518
  *
1424
1519
  * const Port = Context.Service<{ PORT: number }>("Port")
1425
1520
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1429,7 +1524,7 @@ export const get: {
1429
1524
  * Context.add(Timeout, { TIMEOUT: 5000 })
1430
1525
  * )
1431
1526
  *
1432
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1527
+ * Context.get(context, Timeout).TIMEOUT // => 5000
1433
1528
  * ```
1434
1529
  *
1435
1530
  * @see {@link getOption} for optional service access
@@ -1449,9 +1544,8 @@ export const get: {
1449
1544
  *
1450
1545
  * **Example** (Getting a service from a context)
1451
1546
  *
1452
- * ```ts
1547
+ * ```ts import.meta.vitest
1453
1548
  * import { Context, pipe } from "effect"
1454
- * import * as assert from "node:assert"
1455
1549
  *
1456
1550
  * const Port = Context.Service<{ PORT: number }>("Port")
1457
1551
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1461,7 +1555,7 @@ export const get: {
1461
1555
  * Context.add(Timeout, { TIMEOUT: 5000 })
1462
1556
  * )
1463
1557
  *
1464
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1558
+ * Context.get(context, Timeout).TIMEOUT // => 5000
1465
1559
  * ```
1466
1560
  *
1467
1561
  * @see {@link getOption} for optional service access
@@ -1473,54 +1567,6 @@ export const get: {
1473
1567
  <Services, I extends Services, S>(self: Context<Services>, service: Key<I, S>): S
1474
1568
  } = getUnsafe
1475
1569
 
1476
- /**
1477
- * Gets the value for a `Context.Reference`, returning its cached default when
1478
- * the context does not contain an override.
1479
- *
1480
- * **When to use**
1481
- *
1482
- * Use when you need a `Context.Reference` value resolved from either a stored
1483
- * override or the reference's default value.
1484
- *
1485
- * **Details**
1486
- *
1487
- * Stored overrides take precedence. If no override is present, the reference's
1488
- * default value is computed lazily and cached on the reference itself.
1489
- *
1490
- * **Gotchas**
1491
- *
1492
- * Mutable default values can be shared across contexts unless an override is
1493
- * provided, because the default is cached on the `Context.Reference`.
1494
- *
1495
- * **Example** (Getting reference defaults unsafely)
1496
- *
1497
- * ```ts
1498
- * import { Context } from "effect"
1499
- *
1500
- * const LoggerRef = Context.Reference("Logger", {
1501
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
1502
- * })
1503
- *
1504
- * const context = Context.empty()
1505
- * const logger = Context.getReferenceUnsafe(context, LoggerRef)
1506
- *
1507
- * console.log(typeof logger.log) // "function"
1508
- * ```
1509
- *
1510
- * @see {@link getUnsafe} for unsafe access with any service key
1511
- * @see {@link get} for type-checked reference-aware access
1512
- * @see {@link getOption} for optional access to non-reference keys
1513
- *
1514
- * @category unsafe
1515
- * @since 4.0.0
1516
- */
1517
- export const getReferenceUnsafe = <Services, S>(self: Context<Services>, service: Reference<S>): S => {
1518
- if (!self.mapUnsafe.has(service.key)) {
1519
- return getDefaultValue(service as any)
1520
- }
1521
- return self.mapUnsafe.get(service.key)! as any
1522
- }
1523
-
1524
1570
  const defaultValueCacheKey = "~effect/Context/defaultValue" as const
1525
1571
 
1526
1572
  const getDefaultValue = (ref: Reference<any>) => {
@@ -1534,15 +1580,6 @@ const serviceNotFoundError = (service: Key<any, any>) => {
1534
1580
  const error = new Error(
1535
1581
  `Service not found${service.key ? `: ${String(service.key)}` : ""}`
1536
1582
  )
1537
- if (service.stack) {
1538
- const lines = service.stack.split("\n")
1539
- if (lines.length > 2) {
1540
- const afterAt = lines[2].match(/at (.*)/)
1541
- if (afterAt) {
1542
- error.message = error.message + ` (defined at ${afterAt[1]})`
1543
- }
1544
- }
1545
- }
1546
1583
  if (error.stack) {
1547
1584
  const lines = error.stack.split("\n")
1548
1585
  lines.splice(1, 3)
@@ -1567,20 +1604,16 @@ const serviceNotFoundError = (service: Key<any, any>) => {
1567
1604
  *
1568
1605
  * **Example** (Getting optional services)
1569
1606
  *
1570
- * ```ts
1607
+ * ```ts import.meta.vitest
1571
1608
  * import { Context, Option } from "effect"
1572
- * import * as assert from "node:assert"
1573
1609
  *
1574
1610
  * const Port = Context.Service<{ PORT: number }>("Port")
1575
1611
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1576
1612
  *
1577
1613
  * const context = Context.make(Port, { PORT: 8080 })
1578
1614
  *
1579
- * assert.deepStrictEqual(
1580
- * Context.getOption(context, Port),
1581
- * Option.some({ PORT: 8080 })
1582
- * )
1583
- * assert.deepStrictEqual(Context.getOption(context, Timeout), Option.none())
1615
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
1616
+ * Context.getOption(context, Timeout) // => Option.none()
1584
1617
  * ```
1585
1618
  *
1586
1619
  * @see {@link getOrElse} for returning a fallback value directly
@@ -1605,20 +1638,16 @@ export const getOption: {
1605
1638
  *
1606
1639
  * **Example** (Getting optional services)
1607
1640
  *
1608
- * ```ts
1641
+ * ```ts import.meta.vitest
1609
1642
  * import { Context, Option } from "effect"
1610
- * import * as assert from "node:assert"
1611
1643
  *
1612
1644
  * const Port = Context.Service<{ PORT: number }>("Port")
1613
1645
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1614
1646
  *
1615
1647
  * const context = Context.make(Port, { PORT: 8080 })
1616
1648
  *
1617
- * assert.deepStrictEqual(
1618
- * Context.getOption(context, Port),
1619
- * Option.some({ PORT: 8080 })
1620
- * )
1621
- * assert.deepStrictEqual(Context.getOption(context, Timeout), Option.none())
1649
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
1650
+ * Context.getOption(context, Timeout) // => Option.none()
1622
1651
  * ```
1623
1652
  *
1624
1653
  * @see {@link getOrElse} for returning a fallback value directly
@@ -1643,20 +1672,16 @@ export const getOption: {
1643
1672
  *
1644
1673
  * **Example** (Getting optional services)
1645
1674
  *
1646
- * ```ts
1675
+ * ```ts import.meta.vitest
1647
1676
  * import { Context, Option } from "effect"
1648
- * import * as assert from "node:assert"
1649
1677
  *
1650
1678
  * const Port = Context.Service<{ PORT: number }>("Port")
1651
1679
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
1652
1680
  *
1653
1681
  * const context = Context.make(Port, { PORT: 8080 })
1654
1682
  *
1655
- * assert.deepStrictEqual(
1656
- * Context.getOption(context, Port),
1657
- * Option.some({ PORT: 8080 })
1658
- * )
1659
- * assert.deepStrictEqual(Context.getOption(context, Timeout), Option.none())
1683
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
1684
+ * Context.getOption(context, Timeout) // => Option.none()
1660
1685
  * ```
1661
1686
  *
1662
1687
  * @see {@link getOrElse} for returning a fallback value directly
@@ -1666,9 +1691,8 @@ export const getOption: {
1666
1691
  */
1667
1692
  <Services, S, I>(self: Context<Services>, service: Key<I, S>): Option.Option<S>
1668
1693
  } = dual(2, <Services, I extends Services, S>(self: Context<Services>, service: Key<I, S>): Option.Option<S> => {
1669
- if (self.mapUnsafe.has(service.key)) {
1670
- return Option.some(self.mapUnsafe.get(service.key)! as any)
1671
- }
1694
+ const value = lookup(self, service.key)
1695
+ if (value !== notFound) return Option.some(value as any)
1672
1696
  return isReference(service) ? Option.some(getDefaultValue(service as any)) : Option.none()
1673
1697
  })
1674
1698
 
@@ -1686,9 +1710,8 @@ export const getOption: {
1686
1710
  *
1687
1711
  * **Example** (Merging two contexts)
1688
1712
  *
1689
- * ```ts
1713
+ * ```ts import.meta.vitest
1690
1714
  * import { Context } from "effect"
1691
- * import * as assert from "node:assert"
1692
1715
  *
1693
1716
  * const Port = Context.Service<{ PORT: number }>("Port")
1694
1717
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1698,8 +1721,8 @@ export const getOption: {
1698
1721
  *
1699
1722
  * const context = Context.merge(firstContext, secondContext)
1700
1723
  *
1701
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
1702
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1724
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
1725
+ * values // => [8080, 5000]
1703
1726
  * ```
1704
1727
  *
1705
1728
  * @see {@link mergeAll} for merging more than two contexts at once
@@ -1722,9 +1745,8 @@ export const merge: {
1722
1745
  *
1723
1746
  * **Example** (Merging two contexts)
1724
1747
  *
1725
- * ```ts
1748
+ * ```ts import.meta.vitest
1726
1749
  * import { Context } from "effect"
1727
- * import * as assert from "node:assert"
1728
1750
  *
1729
1751
  * const Port = Context.Service<{ PORT: number }>("Port")
1730
1752
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1734,8 +1756,8 @@ export const merge: {
1734
1756
  *
1735
1757
  * const context = Context.merge(firstContext, secondContext)
1736
1758
  *
1737
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
1738
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1759
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
1760
+ * values // => [8080, 5000]
1739
1761
  * ```
1740
1762
  *
1741
1763
  * @see {@link mergeAll} for merging more than two contexts at once
@@ -1758,9 +1780,8 @@ export const merge: {
1758
1780
  *
1759
1781
  * **Example** (Merging two contexts)
1760
1782
  *
1761
- * ```ts
1783
+ * ```ts import.meta.vitest
1762
1784
  * import { Context } from "effect"
1763
- * import * as assert from "node:assert"
1764
1785
  *
1765
1786
  * const Port = Context.Service<{ PORT: number }>("Port")
1766
1787
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1770,8 +1791,8 @@ export const merge: {
1770
1791
  *
1771
1792
  * const context = Context.merge(firstContext, secondContext)
1772
1793
  *
1773
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
1774
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1794
+ * const values = [Context.get(context, Port).PORT, Context.get(context, Timeout).TIMEOUT]
1795
+ * values // => [8080, 5000]
1775
1796
  * ```
1776
1797
  *
1777
1798
  * @see {@link mergeAll} for merging more than two contexts at once
@@ -1783,9 +1804,7 @@ export const merge: {
1783
1804
  } = dual(2, <Services, R1>(self: Context<Services>, that: Context<R1>): Context<Services | R1> => {
1784
1805
  if (self.mapUnsafe.size === 0) return that as any
1785
1806
  if (that.mapUnsafe.size === 0) return self as any
1786
- return withMapUnsafe(self, (map) => {
1787
- that.mapUnsafe.forEach((value, key) => map.set(key, value))
1788
- })
1807
+ return withFlat(self, (map) => that.mapUnsafe.forEach((value, key) => map.set(key, value)))
1789
1808
  })
1790
1809
 
1791
1810
  /**
@@ -1802,9 +1821,8 @@ export const merge: {
1802
1821
  *
1803
1822
  * **Example** (Merging multiple contexts)
1804
1823
  *
1805
- * ```ts
1824
+ * ```ts import.meta.vitest
1806
1825
  * import { Context } from "effect"
1807
- * import * as assert from "node:assert"
1808
1826
  *
1809
1827
  * const Port = Context.Service<{ PORT: number }>("Port")
1810
1828
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1820,9 +1838,7 @@ export const merge: {
1820
1838
  * thirdContext
1821
1839
  * )
1822
1840
  *
1823
- * assert.deepStrictEqual(Context.get(context, Port), { PORT: 8080 })
1824
- * assert.deepStrictEqual(Context.get(context, Timeout), { TIMEOUT: 5000 })
1825
- * assert.deepStrictEqual(Context.get(context, Host), { HOST: "localhost" })
1841
+ * context.mapUnsafe.size // => 3
1826
1842
  * ```
1827
1843
  *
1828
1844
  * @see {@link merge} for merging two contexts
@@ -1851,9 +1867,8 @@ export const mergeAll = <T extends Array<unknown>>(
1851
1867
  *
1852
1868
  * **Example** (Picking services from a context)
1853
1869
  *
1854
- * ```ts
1870
+ * ```ts import.meta.vitest
1855
1871
  * import { Context, Option, pipe } from "effect"
1856
- * import * as assert from "node:assert"
1857
1872
  *
1858
1873
  * const Port = Context.Service<{ PORT: number }>("Port")
1859
1874
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1865,11 +1880,8 @@ export const mergeAll = <T extends Array<unknown>>(
1865
1880
  *
1866
1881
  * const context = pipe(someContext, Context.pick(Port))
1867
1882
  *
1868
- * assert.deepStrictEqual(
1869
- * Context.getOption(context, Port),
1870
- * Option.some({ PORT: 8080 })
1871
- * )
1872
- * assert.deepStrictEqual(Context.getOption(context, Timeout), Option.none())
1883
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
1884
+ * Context.getOption(context, Timeout) // => Option.none()
1873
1885
  * ```
1874
1886
  *
1875
1887
  * @see {@link omit} for removing selected services
@@ -1880,14 +1892,13 @@ export const mergeAll = <T extends Array<unknown>>(
1880
1892
  export const pick = <S extends ReadonlyArray<Key<any, any>>>(
1881
1893
  ...services: S
1882
1894
  ) =>
1883
- <Services>(self: Context<Services>): Context<Services & Service.Identifier<S[number]>> =>
1884
- withMapUnsafe(self, (map) => {
1885
- const keySet = new Set(services.map((key) => key.key))
1895
+ <Services>(self: Context<Services>): Context<Services & Service.Identifier<S[number]>> => {
1896
+ const keep = new Set(services.map((key) => key.key))
1897
+ return withFlat(self, (map) =>
1886
1898
  map.forEach((_, key) => {
1887
- if (keySet.has(key)) return
1888
- map.delete(key)
1889
- })
1890
- })
1899
+ if (!keep.has(key)) map.delete(key)
1900
+ }))
1901
+ }
1891
1902
 
1892
1903
  /**
1893
1904
  * Returns a new `Context` with the specified service keys removed.
@@ -1898,9 +1909,8 @@ export const pick = <S extends ReadonlyArray<Key<any, any>>>(
1898
1909
  *
1899
1910
  * **Example** (Omitting services from a context)
1900
1911
  *
1901
- * ```ts
1912
+ * ```ts import.meta.vitest
1902
1913
  * import { Context, Option, pipe } from "effect"
1903
- * import * as assert from "node:assert"
1904
1914
  *
1905
1915
  * const Port = Context.Service<{ PORT: number }>("Port")
1906
1916
  * const Timeout = Context.Service<{ TIMEOUT: number }>("Timeout")
@@ -1912,11 +1922,8 @@ export const pick = <S extends ReadonlyArray<Key<any, any>>>(
1912
1922
  *
1913
1923
  * const context = pipe(someContext, Context.omit(Timeout))
1914
1924
  *
1915
- * assert.deepStrictEqual(
1916
- * Context.getOption(context, Port),
1917
- * Option.some({ PORT: 8080 })
1918
- * )
1919
- * assert.deepStrictEqual(Context.getOption(context, Timeout), Option.none())
1925
+ * Context.getOption(context, Port) // => Option.some({ PORT: 8080 })
1926
+ * Context.getOption(context, Timeout) // => Option.none()
1920
1927
  * ```
1921
1928
  *
1922
1929
  * @see {@link pick} for keeping selected services
@@ -1928,108 +1935,12 @@ export const omit = <S extends ReadonlyArray<Key<any, any>>>(
1928
1935
  ...keys: S
1929
1936
  ) =>
1930
1937
  <Services>(self: Context<Services>): Context<Exclude<Services, Service.Identifier<S[number]>>> =>
1931
- withMapUnsafe(self, (map) => {
1938
+ withFlat(self, (map) => {
1932
1939
  for (let i = 0; i < keys.length; i++) {
1933
1940
  map.delete(keys[i].key)
1934
1941
  }
1935
1942
  })
1936
1943
 
1937
- /**
1938
- * Performs a series of mutations on a `Context`. Prevents unnecessary copying
1939
- * of the underlying map when multiple mutations are needed.
1940
- *
1941
- * **When to use**
1942
- *
1943
- * Use to apply several `Context` transformations in one callback while copying
1944
- * the underlying service map only once.
1945
- *
1946
- * @see {@link add} for adding or replacing a service
1947
- * @see {@link addOrOmit} for adding or removing a service from an `Option`
1948
- * @see {@link merge} for combining two contexts
1949
- * @see {@link pick} for keeping selected services
1950
- * @see {@link omit} for removing selected services
1951
- *
1952
- * @category mutations
1953
- * @since 4.0.0
1954
- */
1955
- export const mutate: {
1956
- /**
1957
- * Performs a series of mutations on a `Context`. Prevents unnecessary copying
1958
- * of the underlying map when multiple mutations are needed.
1959
- *
1960
- * **When to use**
1961
- *
1962
- * Use to apply several `Context` transformations in one callback while copying
1963
- * the underlying service map only once.
1964
- *
1965
- * @see {@link add} for adding or replacing a service
1966
- * @see {@link addOrOmit} for adding or removing a service from an `Option`
1967
- * @see {@link merge} for combining two contexts
1968
- * @see {@link pick} for keeping selected services
1969
- * @see {@link omit} for removing selected services
1970
- *
1971
- * @category mutations
1972
- * @since 4.0.0
1973
- */
1974
- <Services, B>(f: (context: Context<Services>) => Context<B>): <Services>(self: Context<Services>) => Context<B>
1975
- /**
1976
- * Performs a series of mutations on a `Context`. Prevents unnecessary copying
1977
- * of the underlying map when multiple mutations are needed.
1978
- *
1979
- * **When to use**
1980
- *
1981
- * Use to apply several `Context` transformations in one callback while copying
1982
- * the underlying service map only once.
1983
- *
1984
- * @see {@link add} for adding or replacing a service
1985
- * @see {@link addOrOmit} for adding or removing a service from an `Option`
1986
- * @see {@link merge} for combining two contexts
1987
- * @see {@link pick} for keeping selected services
1988
- * @see {@link omit} for removing selected services
1989
- *
1990
- * @category mutations
1991
- * @since 4.0.0
1992
- */
1993
- <Services, B>(self: Context<Services>, f: (context: Context<Services>) => Context<B>): Context<B>
1994
- } = dual(
1995
- 2,
1996
- <Services, B>(self: Context<Services>, f: (context: Context<Services>) => Context<B>): Context<B> => {
1997
- const next = makeUnsafe</**
1998
- * Performs a series of mutations on a `Context`. Prevents unnecessary copying
1999
- * of the underlying map when multiple mutations are needed.
2000
- *
2001
- * **When to use**
2002
- *
2003
- * Use to apply several `Context` transformations in one callback while copying
2004
- * the underlying service map only once.
2005
- *
2006
- * @see {@link add} for adding or replacing a service
2007
- * @see {@link addOrOmit} for adding or removing a service from an `Option`
2008
- * @see {@link merge} for combining two contexts
2009
- * @see {@link pick} for keeping selected services
2010
- * @see {@link omit} for removing selected services
2011
- *
2012
- * @category mutations
2013
- * @since 4.0.0
2014
- */
2015
- Services>(new Map(self.mapUnsafe))
2016
- next.mutable = true
2017
- const result = f(next)
2018
- result.mutable = false
2019
- return result
2020
- }
2021
- )
2022
-
2023
- const withMapUnsafe = <Services, B>(self: Context<Services>, f: (map: Map<string, any>) => void): Context<B> => {
2024
- if (self.mutable) {
2025
- f(self.mapUnsafe as any)
2026
- return self as any
2027
- }
2028
- const map = new Map(self.mapUnsafe)
2029
- f(map)
2030
- return makeUnsafe(map)
2031
- }
2032
-
2033
1944
  /**
2034
1945
  * Creates a context key with a default value.
2035
1946
  *
@@ -2048,12 +1959,13 @@ const withMapUnsafe = <Services, B>(self: Context<Services>, f: (map: Map<string
2048
1959
  *
2049
1960
  * **Example** (Creating references with default values)
2050
1961
  *
2051
- * ```ts
1962
+ * ```ts import.meta.vitest
2052
1963
  * import { Context } from "effect"
2053
1964
  *
2054
1965
  * // Create a reference with a default value
1966
+ * const messages: Array<string> = []
2055
1967
  * const LoggerRef = Context.Reference("Logger", {
2056
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
1968
+ * defaultValue: () => ({ log: (msg: string) => messages.push(`Default: ${msg}`) })
2057
1969
  * })
2058
1970
  *
2059
1971
  * // The reference provides the default value when accessed from an empty context
@@ -2062,17 +1974,24 @@ const withMapUnsafe = <Services, B>(self: Context<Services>, f: (map: Map<string
2062
1974
  *
2063
1975
  * // You can also override the default value
2064
1976
  * const customContext = Context.make(LoggerRef, {
2065
- * log: (msg: string) => `Custom: ${msg}`
1977
+ * log: (msg: string) => messages.push(`Custom: ${msg}`)
2066
1978
  * })
2067
1979
  * const customLogger = Context.get(customContext, LoggerRef)
1980
+ * logger.log("default")
1981
+ * customLogger.log("message")
1982
+ * messages // => ["Default: default", "Custom: message"]
2068
1983
  * ```
2069
1984
  *
2070
1985
  * @see {@link Service} for required services without default values
2071
1986
  *
2072
- * @category references
1987
+ * @category services
2073
1988
  * @since 3.11.0
2074
1989
  */
2075
1990
  export const Reference: <Service>(
2076
1991
  key: string,
2077
- options: { readonly defaultValue: () => Service }
1992
+ options: {
1993
+ readonly defaultValue: () => Service
1994
+ /** @internal */
1995
+ readonly fiberCached?: boolean | undefined
1996
+ }
2078
1997
  ) => Reference<Service> = Service as any