effect 4.0.0-beta.98 → 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 (1848) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +13 -20
  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 +463 -413
  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 +1412 -775
  226. package/dist/Graph.d.ts.map +1 -1
  227. package/dist/Graph.js +1180 -561
  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 +282 -318
  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 +2869 -1136
  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 +261 -111
  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 +198 -132
  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 +70 -55
  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.d.ts +76 -0
  780. package/dist/unstable/cli/CliConfig.d.ts.map +1 -0
  781. package/dist/unstable/cli/CliConfig.js +63 -0
  782. package/dist/unstable/cli/CliConfig.js.map +1 -0
  783. package/dist/unstable/cli/CliError.d.ts +126 -76
  784. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  785. package/dist/unstable/cli/CliError.js +138 -75
  786. package/dist/unstable/cli/CliError.js.map +1 -1
  787. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  788. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  789. package/dist/unstable/cli/CliOutput.js +26 -42
  790. package/dist/unstable/cli/CliOutput.js.map +1 -1
  791. package/dist/unstable/cli/Command.d.ts +765 -109
  792. package/dist/unstable/cli/Command.d.ts.map +1 -1
  793. package/dist/unstable/cli/Command.js +335 -52
  794. package/dist/unstable/cli/Command.js.map +1 -1
  795. package/dist/unstable/cli/Completions.js.map +1 -1
  796. package/dist/unstable/cli/Flag.d.ts +418 -138
  797. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  798. package/dist/unstable/cli/Flag.js +197 -71
  799. package/dist/unstable/cli/Flag.js.map +1 -1
  800. package/dist/unstable/cli/GlobalFlag.d.ts +24 -3
  801. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  802. package/dist/unstable/cli/GlobalFlag.js +20 -4
  803. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  804. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  805. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  806. package/dist/unstable/cli/Param.d.ts +299 -83
  807. package/dist/unstable/cli/Param.d.ts.map +1 -1
  808. package/dist/unstable/cli/Param.js +152 -62
  809. package/dist/unstable/cli/Param.js.map +1 -1
  810. package/dist/unstable/cli/Primitive.d.ts +370 -149
  811. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  812. package/dist/unstable/cli/Primitive.js +377 -162
  813. package/dist/unstable/cli/Primitive.js.map +1 -1
  814. package/dist/unstable/cli/Prompt.d.ts +23 -14
  815. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  816. package/dist/unstable/cli/Prompt.js +54 -31
  817. package/dist/unstable/cli/Prompt.js.map +1 -1
  818. package/dist/unstable/cli/index.d.ts +4 -0
  819. package/dist/unstable/cli/index.d.ts.map +1 -1
  820. package/dist/unstable/cli/index.js +4 -0
  821. package/dist/unstable/cli/index.js.map +1 -1
  822. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  823. package/dist/unstable/cli/internal/ansi.js +4 -2
  824. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  825. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  826. package/dist/unstable/cli/internal/command.d.ts +5 -3
  827. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  828. package/dist/unstable/cli/internal/command.js +21 -13
  829. package/dist/unstable/cli/internal/command.js.map +1 -1
  830. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  831. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  832. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  833. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  834. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  835. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  836. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  837. package/dist/unstable/cli/internal/config.d.ts +0 -48
  838. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  839. package/dist/unstable/cli/internal/config.js +8 -10
  840. package/dist/unstable/cli/internal/config.js.map +1 -1
  841. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  842. package/dist/unstable/cli/internal/help.js +4 -2
  843. package/dist/unstable/cli/internal/help.js.map +1 -1
  844. package/dist/unstable/cli/internal/lexer.js +17 -7
  845. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  846. package/dist/unstable/cli/internal/parser.js +16 -7
  847. package/dist/unstable/cli/internal/parser.js.map +1 -1
  848. package/dist/unstable/cli/internal/wizard.d.ts +13 -0
  849. package/dist/unstable/cli/internal/wizard.d.ts.map +1 -0
  850. package/dist/unstable/cli/internal/wizard.js +212 -0
  851. package/dist/unstable/cli/internal/wizard.js.map +1 -0
  852. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  853. package/dist/unstable/cluster/ClusterError.js +7 -7
  854. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  855. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  856. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  857. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  858. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  859. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  860. package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
  861. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  862. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  863. package/dist/unstable/cluster/Entity.d.ts +12 -12
  864. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  865. package/dist/unstable/cluster/Entity.js +9 -9
  866. package/dist/unstable/cluster/Entity.js.map +1 -1
  867. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  868. package/dist/unstable/cluster/EntityId.js.map +1 -1
  869. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  870. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  871. package/dist/unstable/cluster/EntityProxy.js +8 -5
  872. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  873. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  874. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  875. package/dist/unstable/cluster/EntityResource.js +2 -2
  876. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  877. package/dist/unstable/cluster/EntityType.js.map +1 -1
  878. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  879. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  880. package/dist/unstable/cluster/Envelope.js +5 -4
  881. package/dist/unstable/cluster/Envelope.js.map +1 -1
  882. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  883. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  884. package/dist/unstable/cluster/HttpRunner.js +6 -4
  885. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  886. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  887. package/dist/unstable/cluster/MachineId.js.map +1 -1
  888. package/dist/unstable/cluster/Message.d.ts +9 -9
  889. package/dist/unstable/cluster/Message.js +6 -6
  890. package/dist/unstable/cluster/Message.js.map +1 -1
  891. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  892. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  893. package/dist/unstable/cluster/MessageStorage.js +13 -6
  894. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  895. package/dist/unstable/cluster/Reply.d.ts +8 -0
  896. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  897. package/dist/unstable/cluster/Reply.js +17 -5
  898. package/dist/unstable/cluster/Reply.js.map +1 -1
  899. package/dist/unstable/cluster/Runner.d.ts +1 -1
  900. package/dist/unstable/cluster/Runner.js +1 -1
  901. package/dist/unstable/cluster/Runner.js.map +1 -1
  902. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  903. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  904. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  905. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  906. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  907. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  908. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  909. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  910. package/dist/unstable/cluster/RunnerServer.js +29 -23
  911. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  912. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  913. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  914. package/dist/unstable/cluster/RunnerStorage.js +9 -8
  915. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  916. package/dist/unstable/cluster/Runners.d.ts +11 -15
  917. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  918. package/dist/unstable/cluster/Runners.js +32 -22
  919. package/dist/unstable/cluster/Runners.js.map +1 -1
  920. package/dist/unstable/cluster/ShardId.js +1 -1
  921. package/dist/unstable/cluster/ShardId.js.map +1 -1
  922. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  923. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  924. package/dist/unstable/cluster/Sharding.js +164 -31
  925. package/dist/unstable/cluster/Sharding.js.map +1 -1
  926. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  927. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  928. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  929. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  930. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  931. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  932. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  933. package/dist/unstable/cluster/SingleRunner.js +2 -1
  934. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  935. package/dist/unstable/cluster/Singleton.js.map +1 -1
  936. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  937. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  938. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  939. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  940. package/dist/unstable/cluster/Snowflake.js +8 -8
  941. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  942. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  943. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  944. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  945. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  946. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  947. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  948. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  949. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  950. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  951. package/dist/unstable/cluster/index.js.map +1 -1
  952. package/dist/unstable/cluster/internal/entityManager.js +25 -13
  953. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  954. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  955. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  956. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  957. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  958. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  959. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  960. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  961. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  962. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  963. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  964. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  965. package/dist/unstable/devtools/DevTools.js.map +1 -1
  966. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  967. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  968. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  969. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  970. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  971. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  972. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  973. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  974. package/dist/unstable/devtools/index.js.map +1 -1
  975. package/dist/unstable/encoding/Ini.d.ts +20 -0
  976. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  977. package/dist/unstable/encoding/Ini.js +153 -0
  978. package/dist/unstable/encoding/Ini.js.map +1 -0
  979. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  980. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  981. package/dist/unstable/encoding/Msgpack.js +31 -19
  982. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  983. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  984. package/dist/unstable/encoding/Ndjson.js +7 -1
  985. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  986. package/dist/unstable/encoding/Sse.d.ts +72 -8
  987. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  988. package/dist/unstable/encoding/Sse.js +72 -31
  989. package/dist/unstable/encoding/Sse.js.map +1 -1
  990. package/dist/unstable/encoding/Toml.d.ts +19 -0
  991. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  992. package/dist/unstable/encoding/Toml.js +434 -0
  993. package/dist/unstable/encoding/Toml.js.map +1 -0
  994. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  995. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  996. package/dist/unstable/encoding/Yaml.js +461 -0
  997. package/dist/unstable/encoding/Yaml.js.map +1 -0
  998. package/dist/unstable/encoding/index.d.ts +12 -0
  999. package/dist/unstable/encoding/index.d.ts.map +1 -1
  1000. package/dist/unstable/encoding/index.js +12 -0
  1001. package/dist/unstable/encoding/index.js.map +1 -1
  1002. package/dist/unstable/eventlog/Event.d.ts +20 -20
  1003. package/dist/unstable/eventlog/Event.js.map +1 -1
  1004. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  1005. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  1006. package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
  1007. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  1008. package/dist/unstable/eventlog/EventJournal.js +27 -19
  1009. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  1010. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1011. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1012. package/dist/unstable/eventlog/EventLog.js +18 -14
  1013. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1014. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1015. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1016. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1017. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1018. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1019. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1020. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1021. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1022. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1023. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1024. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1025. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1026. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1027. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1028. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1029. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1030. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1031. package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
  1032. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1033. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1034. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1035. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1036. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1037. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1038. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1039. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1040. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1041. package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
  1042. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1043. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1044. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1045. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1046. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1047. package/dist/unstable/eventlog/index.js.map +1 -1
  1048. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1049. package/dist/unstable/http/Cookies.d.ts +2 -2
  1050. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1051. package/dist/unstable/http/Cookies.js +54 -40
  1052. package/dist/unstable/http/Cookies.js.map +1 -1
  1053. package/dist/unstable/http/Etag.d.ts +1 -1
  1054. package/dist/unstable/http/Etag.js +1 -1
  1055. package/dist/unstable/http/Etag.js.map +1 -1
  1056. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1057. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1058. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1059. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1060. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1061. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1062. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1063. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1064. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1065. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1066. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1067. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1068. package/dist/unstable/http/FindMyWay.js +4 -7
  1069. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1070. package/dist/unstable/http/Headers.d.ts +2 -2
  1071. package/dist/unstable/http/Headers.js +10 -10
  1072. package/dist/unstable/http/Headers.js.map +1 -1
  1073. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1074. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1075. package/dist/unstable/http/HttpBody.js +11 -5
  1076. package/dist/unstable/http/HttpBody.js.map +1 -1
  1077. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1078. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1079. package/dist/unstable/http/HttpClient.js +79 -36
  1080. package/dist/unstable/http/HttpClient.js.map +1 -1
  1081. package/dist/unstable/http/HttpClientError.js +1 -1
  1082. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1083. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1084. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1085. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1086. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1087. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1088. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1089. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1090. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1091. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1092. package/dist/unstable/http/HttpEffect.js +7 -8
  1093. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1094. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1095. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1096. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1097. package/dist/unstable/http/HttpMethod.js +6 -9
  1098. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1099. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1100. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1101. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1102. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1103. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1104. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1105. package/dist/unstable/http/HttpPlatform.js +53 -3
  1106. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1107. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1108. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1109. package/dist/unstable/http/HttpRouter.js +78 -79
  1110. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1111. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1112. package/dist/unstable/http/HttpServer.js +6 -6
  1113. package/dist/unstable/http/HttpServer.js.map +1 -1
  1114. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1115. package/dist/unstable/http/HttpServerError.js +2 -2
  1116. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1117. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1118. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1119. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1120. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1121. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1122. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1123. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1124. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1125. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1126. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1127. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1128. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1129. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1130. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1131. package/dist/unstable/http/Multipart.d.ts +28 -9
  1132. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1133. package/dist/unstable/http/Multipart.js +68 -36
  1134. package/dist/unstable/http/Multipart.js.map +1 -1
  1135. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1136. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1137. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1138. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1139. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1140. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1141. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1142. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1143. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1144. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1145. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1146. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1147. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1148. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1149. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1150. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1151. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1152. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1153. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1154. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1155. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1156. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1157. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1158. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1159. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1160. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1161. package/dist/unstable/http/MultipartParser.js +23 -0
  1162. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1163. package/dist/unstable/http/Template.d.ts.map +1 -1
  1164. package/dist/unstable/http/Template.js +3 -3
  1165. package/dist/unstable/http/Template.js.map +1 -1
  1166. package/dist/unstable/http/Url.d.ts +33 -63
  1167. package/dist/unstable/http/Url.d.ts.map +1 -1
  1168. package/dist/unstable/http/Url.js +14 -28
  1169. package/dist/unstable/http/Url.js.map +1 -1
  1170. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1171. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1172. package/dist/unstable/http/UrlParams.js +26 -31
  1173. package/dist/unstable/http/UrlParams.js.map +1 -1
  1174. package/dist/unstable/http/index.d.ts +1 -1
  1175. package/dist/unstable/http/index.d.ts.map +1 -1
  1176. package/dist/unstable/http/index.js +1 -1
  1177. package/dist/unstable/http/index.js.map +1 -1
  1178. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1179. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1180. package/dist/unstable/http/internal/compression.js +155 -0
  1181. package/dist/unstable/http/internal/compression.js.map +1 -0
  1182. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1183. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1184. package/dist/unstable/http/internal/httpBody.js +10 -0
  1185. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1186. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1187. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1188. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1189. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1190. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +2 -2
  1191. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1192. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1193. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1194. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1195. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1196. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1197. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1198. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1199. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1200. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1201. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1202. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1203. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1204. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1205. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1206. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1207. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1208. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1209. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1210. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1211. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1212. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1213. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1214. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1215. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1216. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1217. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1218. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1219. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1220. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1221. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1222. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1223. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1224. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1225. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1226. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1227. package/dist/unstable/httpapi/index.js.map +1 -1
  1228. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1229. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1230. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1231. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1232. package/dist/unstable/observability/Otlp.js.map +1 -1
  1233. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1234. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1235. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1236. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1237. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1238. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1239. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1240. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1241. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1242. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1243. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1244. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1245. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1246. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1247. package/dist/unstable/observability/OtlpResource.js +21 -12
  1248. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1249. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1250. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1251. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1252. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1253. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1254. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1255. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1256. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1257. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1258. package/dist/unstable/observability/index.js.map +1 -1
  1259. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1260. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1261. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1262. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1263. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1264. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1265. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1266. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1267. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1268. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1269. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1270. package/dist/unstable/persistence/Persistable.js +2 -1
  1271. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1272. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1273. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1274. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1275. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1276. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1277. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1278. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1279. package/dist/unstable/persistence/Persistence.js +108 -22
  1280. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1281. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1282. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1283. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1284. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1285. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1286. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1287. package/dist/unstable/persistence/Redis.js +9 -7
  1288. package/dist/unstable/persistence/Redis.js.map +1 -1
  1289. package/dist/unstable/persistence/index.js.map +1 -1
  1290. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1291. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1292. package/dist/unstable/process/ChildProcess.js +14 -5
  1293. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1294. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1295. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1296. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1297. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1298. package/dist/unstable/process/index.js.map +1 -1
  1299. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1300. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1301. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1302. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1303. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1304. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1305. package/dist/unstable/reactivity/Atom.js +53 -34
  1306. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1307. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1308. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1309. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1310. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1311. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1312. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1313. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1314. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1315. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1316. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1317. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1318. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1319. package/dist/unstable/reactivity/Hydration.js +1 -1
  1320. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1321. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1322. package/dist/unstable/reactivity/index.js.map +1 -1
  1323. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1324. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1325. package/dist/unstable/rpc/Rpc.js +4 -2
  1326. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1327. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1328. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1329. package/dist/unstable/rpc/RpcClient.js +40 -22
  1330. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1331. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1332. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1333. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1334. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1335. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1336. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1337. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1338. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1339. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1340. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1341. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1342. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1343. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1344. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1345. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1346. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1347. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1348. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1349. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1350. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1351. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1352. package/dist/unstable/rpc/RpcServer.js +20 -15
  1353. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1354. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1355. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1356. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1357. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1358. package/dist/unstable/rpc/Utils.js.map +1 -1
  1359. package/dist/unstable/rpc/index.js.map +1 -1
  1360. package/dist/unstable/schema/Model.d.ts +53 -51
  1361. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1362. package/dist/unstable/schema/Model.js +35 -33
  1363. package/dist/unstable/schema/Model.js.map +1 -1
  1364. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1365. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1366. package/dist/unstable/schema/VariantSchema.js +28 -17
  1367. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1368. package/dist/unstable/schema/index.js.map +1 -1
  1369. package/dist/unstable/socket/Socket.d.ts +12 -4
  1370. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1371. package/dist/unstable/socket/Socket.js +38 -17
  1372. package/dist/unstable/socket/Socket.js.map +1 -1
  1373. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1374. package/dist/unstable/socket/index.js.map +1 -1
  1375. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1376. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1377. package/dist/unstable/sql/Migrator.js +15 -2
  1378. package/dist/unstable/sql/Migrator.js.map +1 -1
  1379. package/dist/unstable/sql/SqlClient.d.ts +2 -3
  1380. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1381. package/dist/unstable/sql/SqlClient.js +8 -4
  1382. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1383. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1384. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1385. package/dist/unstable/sql/SqlError.js +15 -15
  1386. package/dist/unstable/sql/SqlError.js.map +1 -1
  1387. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1388. package/dist/unstable/sql/SqlModel.js +2 -2
  1389. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1390. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1391. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1392. package/dist/unstable/sql/SqlResolver.js +30 -24
  1393. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1394. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1395. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1396. package/dist/unstable/sql/Statement.d.ts +6 -6
  1397. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1398. package/dist/unstable/sql/Statement.js +30 -27
  1399. package/dist/unstable/sql/Statement.js.map +1 -1
  1400. package/dist/unstable/sql/index.js.map +1 -1
  1401. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1402. package/dist/unstable/workers/Transferable.js +1 -1
  1403. package/dist/unstable/workers/Transferable.js.map +1 -1
  1404. package/dist/unstable/workers/Worker.d.ts +2 -2
  1405. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1406. package/dist/unstable/workers/Worker.js +13 -14
  1407. package/dist/unstable/workers/Worker.js.map +1 -1
  1408. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1409. package/dist/unstable/workers/WorkerError.js +11 -11
  1410. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1411. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1412. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1413. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1414. package/dist/unstable/workers/index.js.map +1 -1
  1415. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1416. package/dist/unstable/workflow/Activity.js +2 -2
  1417. package/dist/unstable/workflow/Activity.js.map +1 -1
  1418. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1419. package/dist/unstable/workflow/DurableClock.js +1 -1
  1420. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1421. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1422. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1423. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1424. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1425. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1426. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1427. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1428. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1429. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1430. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1431. package/dist/unstable/workflow/Workflow.js +13 -14
  1432. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1433. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1434. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1435. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1436. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1437. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1438. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1439. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1440. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1441. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1442. package/dist/unstable/workflow/index.js.map +1 -1
  1443. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1444. package/package.json +12 -16
  1445. package/src/Array.ts +1069 -1071
  1446. package/src/BigDecimal.ts +433 -756
  1447. package/src/BigInt.ts +213 -269
  1448. package/src/Boolean.ts +146 -188
  1449. package/src/Brand.ts +4 -4
  1450. package/src/Cache.ts +469 -851
  1451. package/src/Cause.ts +167 -277
  1452. package/src/Channel.ts +982 -831
  1453. package/src/ChannelSchema.ts +1 -1
  1454. package/src/Chunk.ts +841 -1181
  1455. package/src/Clock.ts +181 -49
  1456. package/src/Combiner.ts +20 -33
  1457. package/src/Config.ts +642 -335
  1458. package/src/ConfigProvider.ts +267 -135
  1459. package/src/Console.ts +289 -39
  1460. package/src/Context.ts +323 -404
  1461. package/src/Cron.ts +271 -219
  1462. package/src/Crypto.ts +30 -23
  1463. package/src/Data.ts +63 -82
  1464. package/src/DateTime.ts +564 -660
  1465. package/src/Deferred.ts +259 -258
  1466. package/src/Duration.ts +244 -311
  1467. package/src/Effect.ts +3215 -3394
  1468. package/src/Encoding.ts +22 -40
  1469. package/src/Equal.ts +59 -41
  1470. package/src/Equivalence.ts +103 -105
  1471. package/src/ErrorReporter.ts +51 -27
  1472. package/src/ExecutionPlan.ts +91 -56
  1473. package/src/Exit.ts +116 -192
  1474. package/src/Fiber.ts +82 -149
  1475. package/src/FiberHandle.ts +155 -107
  1476. package/src/FiberMap.ts +225 -174
  1477. package/src/FiberSet.ts +125 -83
  1478. package/src/FileSystem.ts +156 -264
  1479. package/src/Filter.ts +61 -33
  1480. package/src/Formatter.ts +69 -76
  1481. package/src/Function.ts +119 -151
  1482. package/src/Graph.ts +3258 -1102
  1483. package/src/HKT.ts +12 -6
  1484. package/src/Hash.ts +52 -83
  1485. package/src/HashMap.ts +319 -411
  1486. package/src/HashRing.ts +1 -0
  1487. package/src/HashSet.ts +177 -284
  1488. package/src/Inspectable.ts +22 -20
  1489. package/src/Iterable.ts +665 -799
  1490. package/src/JsonPatch.ts +60 -113
  1491. package/src/JsonPointer.ts +8 -8
  1492. package/src/JsonSchema.ts +408 -251
  1493. package/src/Latch.ts +23 -35
  1494. package/src/Layer.ts +366 -265
  1495. package/src/LayerMap.ts +49 -29
  1496. package/src/LayerRef.ts +6 -2
  1497. package/src/LogLevel.ts +114 -214
  1498. package/src/Logger.ts +348 -700
  1499. package/src/ManagedRuntime.ts +20 -5
  1500. package/src/Match.ts +217 -252
  1501. package/src/Metric.ts +520 -1092
  1502. package/src/MutableHashMap.ts +218 -255
  1503. package/src/MutableHashSet.ts +84 -89
  1504. package/src/MutableList.ts +77 -370
  1505. package/src/MutableRef.ts +420 -243
  1506. package/src/Newtype.ts +21 -14
  1507. package/src/NonEmptyIterable.ts +7 -137
  1508. package/src/Number.ts +196 -233
  1509. package/src/Optic.ts +303 -441
  1510. package/src/Option.ts +449 -813
  1511. package/src/Order.ts +109 -109
  1512. package/src/Ordering.ts +20 -23
  1513. package/src/PartitionedSemaphore.ts +1 -4
  1514. package/src/Path.ts +38 -41
  1515. package/src/Pipeable.ts +6 -5
  1516. package/src/PlatformError.ts +4 -4
  1517. package/src/Pool.ts +4 -2
  1518. package/src/Predicate.ts +200 -181
  1519. package/src/PrimaryKey.ts +7 -7
  1520. package/src/PubSub.ts +526 -552
  1521. package/src/Pull.ts +24 -18
  1522. package/src/Queue.ts +204 -165
  1523. package/src/Random.ts +49 -74
  1524. package/src/RcMap.ts +121 -63
  1525. package/src/RcRef.ts +24 -13
  1526. package/src/Record.ts +387 -487
  1527. package/src/Redactable.ts +10 -3
  1528. package/src/Redacted.ts +25 -25
  1529. package/src/Reducer.ts +8 -15
  1530. package/src/Ref.ts +221 -361
  1531. package/src/References.ts +102 -214
  1532. package/src/RegExp.ts +10 -14
  1533. package/src/Request.ts +36 -28
  1534. package/src/RequestResolver.ts +202 -91
  1535. package/src/Result.ts +314 -485
  1536. package/src/Runtime.ts +50 -75
  1537. package/src/Schedule.ts +311 -1737
  1538. package/src/Scheduler.ts +20 -7
  1539. package/src/Schema.ts +3476 -1914
  1540. package/src/SchemaAST.ts +902 -573
  1541. package/src/SchemaGetter.ts +351 -233
  1542. package/src/SchemaIssue.ts +367 -334
  1543. package/src/SchemaParser.ts +254 -148
  1544. package/src/SchemaRepresentation.ts +732 -3414
  1545. package/src/SchemaTransformation.ts +186 -97
  1546. package/src/Scope.ts +123 -151
  1547. package/src/ScopedCache.ts +1 -1
  1548. package/src/ScopedRef.ts +6 -4
  1549. package/src/Semaphore.ts +157 -54
  1550. package/src/Sink.ts +129 -114
  1551. package/src/Stdio.ts +24 -5
  1552. package/src/Stream.ts +2745 -3173
  1553. package/src/String.ts +275 -312
  1554. package/src/Struct.ts +114 -118
  1555. package/src/SubscriptionRef.ts +284 -252
  1556. package/src/Symbol.ts +3 -3
  1557. package/src/SynchronizedRef.ts +1 -1
  1558. package/src/Terminal.ts +3 -3
  1559. package/src/Tracer.ts +102 -55
  1560. package/src/Trie.ts +287 -679
  1561. package/src/Tuple.ts +99 -131
  1562. package/src/TxChunk.ts +201 -121
  1563. package/src/TxDeferred.ts +62 -46
  1564. package/src/TxHashMap.ts +645 -799
  1565. package/src/TxHashSet.ts +443 -356
  1566. package/src/TxPriorityQueue.ts +130 -98
  1567. package/src/TxPubSub.ts +107 -80
  1568. package/src/TxQueue.ts +215 -184
  1569. package/src/TxReentrantLock.ts +136 -101
  1570. package/src/TxRef.ts +51 -32
  1571. package/src/TxSemaphore.ts +129 -95
  1572. package/src/TxSubscriptionRef.ts +97 -70
  1573. package/src/Types.ts +127 -70
  1574. package/src/Unify.ts +45 -65
  1575. package/src/Utils.ts +23 -16
  1576. package/src/index.ts +0 -10
  1577. package/src/internal/core.ts +6 -5
  1578. package/src/internal/dateTime.ts +7 -1
  1579. package/src/internal/effect.ts +313 -137
  1580. package/src/internal/executionPlan.ts +106 -10
  1581. package/src/internal/hashMap.ts +20 -14
  1582. package/src/internal/matcher.ts +3 -3
  1583. package/src/internal/persistence.ts +2 -0
  1584. package/src/internal/rcRef.ts +24 -16
  1585. package/src/internal/record.ts +11 -7
  1586. package/src/internal/references.ts +3 -7
  1587. package/src/internal/schedule.ts +4 -4
  1588. package/src/internal/schema/annotations.ts +48 -1
  1589. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1590. package/src/internal/schema/fromRepresentation.ts +339 -0
  1591. package/src/internal/schema/parser.ts +22 -0
  1592. package/src/internal/schema/schema.ts +46 -63
  1593. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1594. package/src/internal/schema/toCodeDocument.ts +572 -0
  1595. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1596. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1597. package/src/internal/schema/toRepresentation.ts +404 -0
  1598. package/src/internal/stackTraceLimit.ts +3 -7
  1599. package/src/internal/trie.ts +21 -12
  1600. package/src/testing/FastCheck.ts +8 -7
  1601. package/src/testing/TestClock.ts +86 -32
  1602. package/src/testing/TestConsole.ts +32 -31
  1603. package/src/testing/TestSchema.ts +40 -40
  1604. package/src/unstable/ai/AiError.ts +119 -141
  1605. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1606. package/src/unstable/ai/Chat.ts +133 -98
  1607. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1608. package/src/unstable/ai/IdGenerator.ts +32 -28
  1609. package/src/unstable/ai/LanguageModel.ts +141 -97
  1610. package/src/unstable/ai/McpProtocol.ts +48 -0
  1611. package/src/unstable/ai/McpSchema.ts +92 -81
  1612. package/src/unstable/ai/McpServer.ts +1057 -303
  1613. package/src/unstable/ai/Model.ts +9 -20
  1614. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1615. package/src/unstable/ai/Prompt.ts +212 -63
  1616. package/src/unstable/ai/Response.ts +52 -38
  1617. package/src/unstable/ai/Telemetry.ts +46 -13
  1618. package/src/unstable/ai/Tokenizer.ts +14 -3
  1619. package/src/unstable/ai/Tool.ts +94 -64
  1620. package/src/unstable/ai/Toolkit.ts +45 -15
  1621. package/src/unstable/ai/index.ts +5 -0
  1622. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1623. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1624. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1625. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1626. package/src/unstable/cli/Argument.ts +279 -72
  1627. package/src/unstable/cli/CliConfig.ts +85 -0
  1628. package/src/unstable/cli/CliError.ts +161 -90
  1629. package/src/unstable/cli/CliOutput.ts +44 -58
  1630. package/src/unstable/cli/Command.ts +839 -123
  1631. package/src/unstable/cli/Flag.ts +418 -138
  1632. package/src/unstable/cli/GlobalFlag.ts +34 -6
  1633. package/src/unstable/cli/HelpDoc.ts +12 -4
  1634. package/src/unstable/cli/Param.ts +351 -103
  1635. package/src/unstable/cli/Primitive.ts +383 -156
  1636. package/src/unstable/cli/Prompt.ts +64 -34
  1637. package/src/unstable/cli/index.ts +5 -0
  1638. package/src/unstable/cli/internal/ansi.ts +5 -2
  1639. package/src/unstable/cli/internal/command.ts +28 -15
  1640. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1641. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1642. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1643. package/src/unstable/cli/internal/config.ts +8 -10
  1644. package/src/unstable/cli/internal/help.ts +4 -2
  1645. package/src/unstable/cli/internal/lexer.ts +8 -2
  1646. package/src/unstable/cli/internal/parser.ts +19 -7
  1647. package/src/unstable/cli/internal/wizard.ts +283 -0
  1648. package/src/unstable/cluster/ClusterError.ts +7 -7
  1649. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1650. package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
  1651. package/src/unstable/cluster/Entity.ts +23 -19
  1652. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1653. package/src/unstable/cluster/EntityResource.ts +2 -2
  1654. package/src/unstable/cluster/Envelope.ts +5 -4
  1655. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1656. package/src/unstable/cluster/Message.ts +9 -9
  1657. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1658. package/src/unstable/cluster/Reply.ts +26 -7
  1659. package/src/unstable/cluster/Runner.ts +1 -1
  1660. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1661. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1662. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1663. package/src/unstable/cluster/RunnerStorage.ts +12 -10
  1664. package/src/unstable/cluster/Runners.ts +48 -26
  1665. package/src/unstable/cluster/ShardId.ts +1 -1
  1666. package/src/unstable/cluster/Sharding.ts +223 -55
  1667. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1668. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1669. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1670. package/src/unstable/cluster/Snowflake.ts +8 -8
  1671. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1672. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1673. package/src/unstable/cluster/internal/entityManager.ts +43 -26
  1674. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1675. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1676. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1677. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1678. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1679. package/src/unstable/encoding/Ini.ts +174 -0
  1680. package/src/unstable/encoding/Msgpack.ts +61 -40
  1681. package/src/unstable/encoding/Ndjson.ts +9 -1
  1682. package/src/unstable/encoding/Sse.ts +109 -37
  1683. package/src/unstable/encoding/Toml.ts +504 -0
  1684. package/src/unstable/encoding/Yaml.ts +541 -0
  1685. package/src/unstable/encoding/index.ts +15 -0
  1686. package/src/unstable/eventlog/Event.ts +20 -20
  1687. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1688. package/src/unstable/eventlog/EventJournal.ts +30 -22
  1689. package/src/unstable/eventlog/EventLog.ts +24 -14
  1690. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1691. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1692. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1693. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1694. package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
  1695. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1696. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1697. package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
  1698. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1699. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1700. package/src/unstable/http/Cookies.ts +64 -45
  1701. package/src/unstable/http/Etag.ts +1 -1
  1702. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1703. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1704. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1705. package/src/unstable/http/FindMyWay.ts +65 -6
  1706. package/src/unstable/http/Headers.ts +10 -10
  1707. package/src/unstable/http/HttpBody.ts +20 -5
  1708. package/src/unstable/http/HttpClient.ts +215 -78
  1709. package/src/unstable/http/HttpClientError.ts +1 -1
  1710. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1711. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1712. package/src/unstable/http/HttpEffect.ts +20 -19
  1713. package/src/unstable/http/HttpMethod.ts +6 -9
  1714. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1715. package/src/unstable/http/HttpPlatform.ts +129 -6
  1716. package/src/unstable/http/HttpRouter.ts +109 -101
  1717. package/src/unstable/http/HttpServer.ts +13 -13
  1718. package/src/unstable/http/HttpServerError.ts +2 -2
  1719. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1720. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1721. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1722. package/src/unstable/http/Multipart.ts +70 -37
  1723. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1724. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1725. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1726. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1727. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1728. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1729. package/src/unstable/http/MultipartParser.ts +115 -0
  1730. package/src/unstable/http/Template.ts +7 -6
  1731. package/src/unstable/http/Url.ts +33 -63
  1732. package/src/unstable/http/UrlParams.ts +27 -32
  1733. package/src/unstable/http/index.ts +1 -1
  1734. package/src/unstable/http/internal/compression.ts +196 -0
  1735. package/src/unstable/http/internal/httpBody.ts +15 -0
  1736. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1737. package/src/unstable/httpapi/HttpApiBuilder.ts +155 -34
  1738. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1739. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1740. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1741. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1742. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1743. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1744. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1745. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1746. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1747. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1748. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1749. package/src/unstable/observability/OtlpResource.ts +26 -17
  1750. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1751. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1752. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1753. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1754. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1755. package/src/unstable/persistence/Persistable.ts +11 -10
  1756. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1757. package/src/unstable/persistence/Persistence.ts +153 -26
  1758. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1759. package/src/unstable/persistence/Redis.ts +14 -9
  1760. package/src/unstable/process/ChildProcess.ts +72 -21
  1761. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1762. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1763. package/src/unstable/reactivity/Atom.ts +161 -47
  1764. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1765. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1766. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1767. package/src/unstable/reactivity/Hydration.ts +1 -1
  1768. package/src/unstable/rpc/Rpc.ts +35 -33
  1769. package/src/unstable/rpc/RpcClient.ts +65 -29
  1770. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1771. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1772. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1773. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1774. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1775. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1776. package/src/unstable/rpc/RpcServer.ts +22 -17
  1777. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1778. package/src/unstable/schema/Model.ts +52 -50
  1779. package/src/unstable/schema/VariantSchema.ts +51 -43
  1780. package/src/unstable/socket/Socket.ts +42 -19
  1781. package/src/unstable/sql/Migrator.ts +22 -9
  1782. package/src/unstable/sql/SqlClient.ts +65 -58
  1783. package/src/unstable/sql/SqlError.ts +15 -15
  1784. package/src/unstable/sql/SqlModel.ts +2 -2
  1785. package/src/unstable/sql/SqlResolver.ts +41 -31
  1786. package/src/unstable/sql/Statement.ts +44 -37
  1787. package/src/unstable/workers/Transferable.ts +1 -1
  1788. package/src/unstable/workers/Worker.ts +15 -16
  1789. package/src/unstable/workers/WorkerError.ts +12 -12
  1790. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1791. package/src/unstable/workflow/Activity.ts +2 -2
  1792. package/src/unstable/workflow/DurableClock.ts +1 -1
  1793. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1794. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1795. package/src/unstable/workflow/Workflow.ts +23 -26
  1796. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1797. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1798. package/dist/SchemaError.d.ts +0 -53
  1799. package/dist/SchemaError.d.ts.map +0 -1
  1800. package/dist/SchemaError.js +0 -61
  1801. package/dist/SchemaError.js.map +0 -1
  1802. package/dist/SchemaUtils.d.ts +0 -28
  1803. package/dist/SchemaUtils.d.ts.map +0 -1
  1804. package/dist/SchemaUtils.js +0 -45
  1805. package/dist/SchemaUtils.js.map +0 -1
  1806. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1807. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1808. package/dist/internal/schema/arbitrary.js.map +0 -1
  1809. package/dist/internal/schema/equivalence.d.ts +0 -2
  1810. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1811. package/dist/internal/schema/equivalence.js.map +0 -1
  1812. package/dist/internal/schema/representation.d.ts +0 -2
  1813. package/dist/internal/schema/representation.d.ts.map +0 -1
  1814. package/dist/internal/schema/representation.js +0 -865
  1815. package/dist/internal/schema/representation.js.map +0 -1
  1816. package/dist/internal/version.d.ts +0 -3
  1817. package/dist/internal/version.d.ts.map +0 -1
  1818. package/dist/internal/version.js +0 -2
  1819. package/dist/internal/version.js.map +0 -1
  1820. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1821. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1822. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1823. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1824. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1825. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1826. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1827. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1828. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1829. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1830. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1831. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1832. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1833. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1834. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1835. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1836. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1837. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1838. package/dist/unstable/http/Multipasta.js +0 -15
  1839. package/dist/unstable/http/Multipasta.js.map +0 -1
  1840. package/src/SchemaError.ts +0 -64
  1841. package/src/SchemaUtils.ts +0 -51
  1842. package/src/internal/schema/representation.ts +0 -795
  1843. package/src/internal/version.ts +0 -2
  1844. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1845. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1846. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1847. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1848. package/src/unstable/http/Multipasta.ts +0 -15
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @title Batching requests with RequestResolver
3
+ *
4
+ * Define request types with `Request.Class`, resolve them in batches with `RequestResolver`.
5
+ */
6
+ import { Context, Effect, Exit, Layer, Request, RequestResolver, Schema, Tracer } from "effect"
7
+
8
+ export class User extends Schema.Class<User>("User")({
9
+ id: Schema.Int,
10
+ name: Schema.String,
11
+ email: Schema.String
12
+ }) {}
13
+
14
+ export class UserNotFound extends Schema.TaggedError<UserNotFound>()("UserNotFound", {
15
+ id: Schema.Int
16
+ }) {}
17
+
18
+ export class Users extends Context.Service<Users, {
19
+ getUserById(id: number): Effect.Effect<User, UserNotFound>
20
+ }>()("app/Users") {
21
+ static readonly layer = Layer.effect(
22
+ Users,
23
+ Effect.gen(function*() {
24
+ // Request classes model a single external lookup.
25
+ class GetUserById extends Request.Class<
26
+ { readonly id: number },
27
+ User, // The success type of the request
28
+ UserNotFound, // The error type of the request
29
+ never // The requirements type of the request, if any
30
+ > {}
31
+
32
+ // Simulate an external data source that supports batched lookup.
33
+ const usersTable = new Map<number, User>([
34
+ [1, new User({ id: 1, name: "Ada Lovelace", email: "ada@acme.dev" })],
35
+ [2, new User({ id: 2, name: "Alan Turing", email: "alan@acme.dev" })],
36
+ [3, new User({ id: 3, name: "Grace Hopper", email: "grace@acme.dev" })]
37
+ ])
38
+
39
+ const resolver = yield* RequestResolver.make<GetUserById>(Effect.fn(function*(entries) {
40
+ for (const entry of entries) {
41
+ const user = usersTable.get(entry.request.id)
42
+
43
+ // If the request had requirements, you can access them with
44
+ // `entry.context`
45
+ const requestSpan = Context.getOption(entry.context, Tracer.ParentSpan)
46
+ console.log("Request span", requestSpan)
47
+
48
+ if (user) {
49
+ // Complete requests with .completeUnsafe and pass in an Exit value
50
+ entry.completeUnsafe(Exit.succeed(user))
51
+ } else {
52
+ entry.completeUnsafe(Exit.fail(new UserNotFound({ id: entry.request.id })))
53
+ }
54
+ }
55
+ })).pipe(
56
+ // Control the delay before the resolver is executed. This allows more
57
+ // requests to be batched together, but also adds latency to the first
58
+ // request.
59
+ RequestResolver.setDelay("10 millis"),
60
+ // RequestResolver.withSpan adds a span around the resolver execution,
61
+ // and also sets up span links for each request
62
+ RequestResolver.withSpan("Users.getUserById.resolver"),
63
+ // RequestResolver.withCache adds a simple LRU cache to avoid repeated
64
+ // lookups for the same ID.
65
+ RequestResolver.withCache({ capacity: 1024 })
66
+ )
67
+
68
+ // Wrap the resolver in a service method. The resolver batches calls to
69
+ // `getUserById` that occur within the delay window.
70
+ const getUserById = (id: number) =>
71
+ Effect.request(new GetUserById({ id }), resolver).pipe(
72
+ Effect.withSpan("Users.getUserById", { attributes: { userId: id } })
73
+ )
74
+
75
+ return { getUserById } as const
76
+ })
77
+ )
78
+ }
79
+
80
+ // Run multiple lookups concurrently. The resolver receives one batch and
81
+ // internally deduplicates repeated IDs for the external call.
82
+ export const batchedLookupExample = Effect.gen(function*() {
83
+ const { getUserById } = yield* Users
84
+
85
+ // This will only trigger a single call to the resolver with the unique IDs [1, 2, 3].
86
+ yield* Effect.forEach([1, 2, 1, 3, 2], getUserById, {
87
+ concurrency: "unbounded"
88
+ })
89
+ })
@@ -0,0 +1,3 @@
1
+ ## Batching external requests
2
+
3
+ Learn how to batch multiple requests into fewer external calls.
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @title Working with the Schedule module
3
+ *
4
+ * Build schedules, compose them, and use them with `Effect.retry` and `Effect.repeat`.
5
+ */
6
+ import { Duration, Effect, Random, Schedule, Schema } from "effect"
7
+
8
+ // Production pattern: capped exponential backoff with jitter and max attempts.
9
+ // Delays start at 250ms, grow exponentially with jitter, and are capped at 10s.
10
+ export const productionRetrySchedule = Schedule.min([
11
+ Schedule.exponential("250 millis"),
12
+ // Cap the delay at 10 seconds to avoid excessively long waits.
13
+ Schedule.spaced("10 seconds")
14
+ ]).pipe(
15
+ Schedule.jittered,
16
+ Schedule.setInputType<HttpError>(),
17
+ Schedule.while(({ input }) => input.retryable)
18
+ )
19
+
20
+ export const fetchUserProfile = Effect.fn("fetchUserProfile")(
21
+ function*(userId: string) {
22
+ const random = yield* Random.next
23
+ const status = random > 0.7
24
+ ? 200
25
+ : random > 0.3
26
+ ? 503
27
+ : 401
28
+
29
+ if (status !== 200) {
30
+ return yield* new HttpError({
31
+ message: `Request for ${userId} failed`,
32
+ status,
33
+ retryable: status >= 500
34
+ })
35
+ }
36
+
37
+ return {
38
+ id: userId,
39
+ name: "Ada Lovelace"
40
+ } as const
41
+ }
42
+ )
43
+
44
+ // Use the schedule with `Effect.retry` to retry failures.
45
+ export const loadUserWithRetry = fetchUserProfile("user-123").pipe(
46
+ Effect.retry(productionRetrySchedule),
47
+ // If the effect still fails after exhausting the schedule, turn the error
48
+ // into a fatal one.
49
+ Effect.orDie
50
+ )
51
+
52
+ export const loadUserWithInferredInput = fetchUserProfile("user-123").pipe(
53
+ // You can also pass a schedule builder function that assists with inferring
54
+ // the input type. This is especially useful when the schedule needs to
55
+ // inspect the error to determine retryability.
56
+ Effect.retry(($) =>
57
+ $(Schedule.spaced("1 seconds")).pipe(
58
+ Schedule.while(({ input }) => input.retryable)
59
+ )
60
+ ),
61
+ Effect.orDie
62
+ )
63
+
64
+ export class HttpError extends Schema.TaggedError<HttpError>()("HttpError", {
65
+ message: Schema.String,
66
+ status: Schema.Int,
67
+ retryable: Schema.Boolean
68
+ }) {}
69
+
70
+ // Start with a few schedule constructors.
71
+ export const maxRetries = Schedule.recurs(5)
72
+ export const spacedPolling = Schedule.spaced("30 seconds")
73
+ export const exponentialBackoff = Schedule.exponential("200 millis")
74
+
75
+ // `Schedule.max` continues only while all schedules continue and outputs
76
+ // the slowest delay. It is useful for combining a delay pattern with a hard
77
+ // attempt cap.
78
+ export const retryBackoffWithLimit = Schedule.max([
79
+ Schedule.exponential("250 millis"),
80
+ Schedule.recurs(6)
81
+ ])
82
+
83
+ // `Schedule.min` continues while any schedule continues and outputs
84
+ // the fastest delay. It is useful for fallback behavior.
85
+ //
86
+ // This schedule will start at 500ms, exponentially increase, and will be capped
87
+ // at 2 seconds.
88
+ export const keepTryingUpToTwoSeconds = Schedule.min([
89
+ Schedule.exponential("500 millis"),
90
+ Schedule.spaced("2 seconds")
91
+ ])
92
+
93
+ // Use `Schedule.while` to continue only for retryable failures.
94
+ // This lets non-retryable errors fail fast, even if attempts remain.
95
+ export const retryableOnly = Schedule.exponential("200 millis").pipe(
96
+ // You can use `setInputType` to specify the type of input the schedule will
97
+ // receive.
98
+ Schedule.setInputType<HttpError>(),
99
+ Schedule.while(({ input }) => input.retryable)
100
+ )
101
+
102
+ // `tap` is useful for performing side effects like logging or metrics.
103
+ export const instrumentedRetrySchedule = retryableOnly.pipe(
104
+ Schedule.setInputType<HttpError>(),
105
+ Schedule.tap((meta) =>
106
+ Effect.logDebug(
107
+ `Retrying after ${meta.input.status}: ${meta.input.message}. Next retry in ${Duration.toMillis(meta.duration)}ms`
108
+ )
109
+ )
110
+ )
@@ -0,0 +1,3 @@
1
+ ## Working with Schedules
2
+
3
+ Schedules define recurring patterns for retries, repeats and polling.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @title Creating and formatting DateTime values
3
+ *
4
+ * Parse incoming date values safely, use Clock-powered current time, and format
5
+ * instants for API payloads or user-facing labels.
6
+ */
7
+ import { DateTime, Effect, Option } from "effect"
8
+
9
+ Effect.gen(function*() {
10
+ // Use DateTime.now to get the current time from Effect's Clock service.
11
+ // Using the Clock service ensures tests can use the `TestClock` module to
12
+ // control time.
13
+ const now = yield* DateTime.now
14
+
15
+ // Use DateTime.make to parse a date input, such as a user-entered string or a
16
+ // epoch timestamp. It returns an Option depending on whether the input was
17
+ // valid.
18
+ const parsedOption: Option.Option<DateTime.Utc> = DateTime.make("2024-06-15T14:30:00.000Z")
19
+
20
+ // you can then use the Option apis to unwrap the value
21
+ Option.getOrUndefined(parsedOption)
22
+
23
+ // Calendar/date-time math returns a new DateTime value; the original value is
24
+ // immutable.
25
+ const endsAt = now.pipe(DateTime.add({ hours: 2 }))
26
+
27
+ // The DateTime.format* functions can be used to convert a DateTime value to
28
+ // differen formats.
29
+ yield* Effect.log("ISO string:", DateTime.formatIso(endsAt))
30
+ })
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @title Working with time zones
3
+ *
4
+ * Attach IANA zones to instants, render zoned ISO strings, and provide a
5
+ * CurrentTimeZone service for code that should use the workspace/user zone.
6
+ */
7
+ import { NodeRuntime } from "@effect/platform-node"
8
+ import { DateTime, Effect, Option } from "effect"
9
+
10
+ Effect.gen(function*() {
11
+ // Use DateTime.now to get the current time from Effect's Clock service.
12
+ const now = yield* DateTime.now
13
+
14
+ // To attach a named IANA zone to a DateTime value
15
+ const nowInAuckland = now.pipe(
16
+ // Use DateTime.setZoneNamedUnsafe when you know the zone is valid.
17
+ DateTime.setZoneNamedUnsafe("Pacific/Auckland")
18
+ )
19
+ yield* Effect.log("Now in Auckland:", nowInAuckland)
20
+
21
+ // Use DateTime.setZoneNamed when you don't know the zone is valid.
22
+ const nowInSydneyOption: Option.Option<DateTime.Zoned> = now.pipe(
23
+ DateTime.setZoneNamed("Australia/Sydney")
24
+ )
25
+
26
+ yield* Effect.log("Now in Sydney:", Option.getOrUndefined(nowInSydneyOption))
27
+
28
+ // To generate a `DateTime.Zoned` in the `DateTime.CurrentTimeZone`
29
+ const nowInNewYork = yield* DateTime.nowInCurrentZone
30
+ yield* Effect.log("Now in New York:", nowInNewYork)
31
+
32
+ // If you have a date string that you know is in a particular IANA zone, you
33
+ // can convert it to a DateTime.Zoned to ensure the instant is correct
34
+ const dateInAuckland: DateTime.Zoned = DateTime.makeZonedUnsafe("2026-06-05", {
35
+ timeZone: "Pacific/Auckland",
36
+ // adjustForTimeZone will adjust the input to the given zone, otherwise it
37
+ // will be treated as UTC.
38
+ adjustForTimeZone: true
39
+ })
40
+ yield* Effect.log("Date in Auckland:", dateInAuckland)
41
+ }).pipe(
42
+ Effect.provide(DateTime.layerCurrentZoneNamed("America/New_York")),
43
+ NodeRuntime.runMain
44
+ )
@@ -0,0 +1,5 @@
1
+ ## Working with DateTime
2
+
3
+ When working with dates and time, use the `DateTime` module instead of `Date` and `Date.now`.
4
+
5
+ Use it when your Effect programs need testable current time, safe parsing, stable ISO formatting, time-zone conversion, or calendar arithmetic.
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @title Customizing logging
3
+ *
4
+ * Configure loggers & log-level filtering for production applications.
5
+ */
6
+ import { NodeFileSystem } from "@effect/platform-node"
7
+ import { Config, Effect, Layer, Logger, References } from "effect"
8
+
9
+ // Build a logger layer that emits one JSON line per log entry.
10
+ export const JsonLoggerLayer = Logger.layer([Logger.consoleJson])
11
+
12
+ // Raise the minimum level to "Warn" to skip debug/info logs.
13
+ export const WarnAndAbove = Layer.succeed(References.MinimumLogLevel, "Warn")
14
+
15
+ // There is a built-in logger for writing to a file
16
+ export const FileLoggerLayer = Logger.layer([
17
+ Logger.toFile(Logger.formatSimple, "app.log")
18
+ ]).pipe(
19
+ Layer.provide(NodeFileSystem.layer)
20
+ )
21
+
22
+ // Define a custom logger for app-specific formatting and routing.
23
+ export const appLogger = Effect.gen(function*() {
24
+ // Here you could initialize a connection to an external logging service, set
25
+ // up log file rotation, etc.
26
+ yield* Effect.logDebug("initializing app logger")
27
+
28
+ return yield* Logger.batched(Logger.formatStructured, {
29
+ window: "1 second",
30
+ flush: Effect.fn(function*(batch) {
31
+ // In a real implementation, this is where you would send the batch of log entries to an external logging service or write them to a file.
32
+ console.log(`Flushing ${batch.length} log entries`)
33
+ })
34
+ })
35
+ })
36
+
37
+ export const AppLoggerLayer = Logger.layer([appLogger]).pipe(
38
+ Layer.provideMerge(WarnAndAbove) // Start with "Warn" level for the app logger.
39
+ )
40
+
41
+ // Create a logger layer that uses the default logger for development, and the
42
+ // custom logger for production
43
+ export const LoggerLayer = Layer.unwrap(Effect.gen(function*() {
44
+ const env = yield* Config.string("NODE_ENV").pipe(Config.withDefault("development"))
45
+ if (env === "production") {
46
+ return AppLoggerLayer
47
+ }
48
+ return Logger.layer([Logger.defaultLogger])
49
+ }))
50
+
51
+ // Example effect that logs at various levels during a checkout flow.
52
+ export const logCheckoutFlow = Effect.gen(function*() {
53
+ yield* Effect.logDebug("loading checkout state")
54
+
55
+ yield* Effect.logInfo("validating cart")
56
+ yield* Effect.logWarning("inventory is low for one line item")
57
+ yield* Effect.logError("payment provider timeout")
58
+ }).pipe(
59
+ // Attach structured metadata to all log lines emitted by this effect.
60
+ Effect.annotateLogs({
61
+ service: "checkout-api",
62
+ route: "POST /checkout"
63
+ }),
64
+ // Add a duration span so each log line includes checkout=<N>ms metadata.
65
+ Effect.withLogSpan("checkout")
66
+ )
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @title Setting up tracing with Otlp modules
3
+ *
4
+ * Configure Otlp tracing + log export with a reusable observability layer.
5
+ */
6
+ import { NodeRuntime } from "@effect/platform-node"
7
+ import { Context, Effect, Layer } from "effect"
8
+ import { FetchHttpClient } from "effect/unstable/http"
9
+ import { OtlpLogger, OtlpSerialization, OtlpTracer } from "effect/unstable/observability"
10
+
11
+ // Configure OTLP span export.
12
+ export const OtlpTracingLayer = OtlpTracer.layer({
13
+ url: "http://localhost:4318/v1/traces",
14
+ resource: {
15
+ serviceName: "checkout-api",
16
+ serviceVersion: "1.0.0",
17
+ attributes: {
18
+ "deployment.environment": "staging"
19
+ }
20
+ }
21
+ })
22
+
23
+ // Configure OTLP log export.
24
+ export const OtlpLoggingLayer = OtlpLogger.layer({
25
+ url: "http://localhost:4318/v1/logs",
26
+ resource: {
27
+ serviceName: "checkout-api",
28
+ serviceVersion: "1.0.0"
29
+ }
30
+ })
31
+
32
+ // Reusable app-wide observability layer.
33
+ //
34
+ // - OtlpTracer/OtlpLogger require an OTLP serializer and an HttpClient.
35
+ // - FetchHttpClient.layer provides the HttpClient used by the exporter.
36
+ export const ObservabilityLayer = Layer.merge(OtlpTracingLayer, OtlpLoggingLayer).pipe(
37
+ Layer.provide(OtlpSerialization.layerJson),
38
+ Layer.provide(FetchHttpClient.layer)
39
+ )
40
+
41
+ export class Checkout extends Context.Service<Checkout, {
42
+ processCheckout(orderId: string): Effect.Effect<void>
43
+ }>()("acme/Checkout") {
44
+ static readonly layer = Layer.effect(
45
+ Checkout,
46
+ Effect.gen(function*() {
47
+ yield* Effect.logInfo("setting up checkout service")
48
+
49
+ return Checkout.of({
50
+ processCheckout: Effect.fn("Checkout.processCheckout")(function*(orderId: string) {
51
+ yield* Effect.logInfo("starting checkout", { orderId })
52
+
53
+ yield* Effect.sleep("50 millis").pipe(
54
+ Effect.withSpan("checkout.charge-card"),
55
+ Effect.annotateSpans({
56
+ "checkout.order_id": orderId,
57
+ "checkout.provider": "acme-pay"
58
+ })
59
+ )
60
+
61
+ yield* Effect.sleep("20 millis").pipe(
62
+ Effect.withSpan("checkout.persist-order")
63
+ )
64
+
65
+ yield* Effect.logInfo("checkout completed", { orderId })
66
+ })
67
+ })
68
+ })
69
+ )
70
+ }
71
+
72
+ // Example usage of the Checkout service.
73
+ const CheckoutTest = Layer.effectDiscard(
74
+ Effect.gen(function*() {
75
+ const checkout = yield* Checkout
76
+ yield* checkout.processCheckout("ord_123")
77
+ }).pipe(
78
+ Effect.withSpan("checkout-test-run")
79
+ )
80
+ ).pipe(
81
+ // You can also attach spans to Layers
82
+ Layer.withSpan("checkout-test"),
83
+ Layer.provide(Checkout.layer)
84
+ )
85
+
86
+ const Main = CheckoutTest.pipe(
87
+ // Provide the observability layer at the very end, so that all spans created
88
+ // by the app are exported.
89
+ Layer.provide(ObservabilityLayer)
90
+ )
91
+
92
+ // Launch the app
93
+ Layer.launch(Main).pipe(
94
+ NodeRuntime.runMain
95
+ )
@@ -0,0 +1,7 @@
1
+ ## Observability
2
+
3
+ Effect has built-in support for structured logging, distributed tracing, and
4
+ metrics. For exporting telemetry, use the lightweight Otlp modules from
5
+ `effect/unstable/observability` in new projects, or use
6
+ `@effect/opentelemetry` NodeSdk when integrating with an existing OpenTelemetry
7
+ setup.
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @title Writing Effect tests with @effect/vitest
3
+ *
4
+ * Using `it.effect` for Effect-based tests.
5
+ */
6
+ import { assert, describe, it } from "@effect/vitest"
7
+ import { Effect, Fiber, Schema } from "effect"
8
+ import { TestClock } from "effect/testing"
9
+
10
+ describe("@effect/vitest basics", () => {
11
+ it.effect("runs Effect code with assert helpers", () =>
12
+ Effect.gen(function*() {
13
+ const upper = ["ada", "lin"].map((name) => name.toUpperCase())
14
+ assert.deepStrictEqual(upper, ["ADA", "LIN"])
15
+ assert.strictEqual(upper.length, 2)
16
+ assert.isTrue(upper.includes("ADA"))
17
+ }))
18
+
19
+ it.effect.each([
20
+ { input: " Ada ", expected: "ada" },
21
+ { input: " Lin ", expected: "lin" },
22
+ { input: " Nia ", expected: "nia" }
23
+ ])("parameterized normalization %#", ({ input, expected }) =>
24
+ Effect.gen(function*() {
25
+ assert.strictEqual(input.trim().toLowerCase(), expected)
26
+ }))
27
+
28
+ it.effect("controls time with TestClock", () =>
29
+ Effect.gen(function*() {
30
+ const fiber = yield* Effect.forkChild(
31
+ Effect.sleep(60_000).pipe(Effect.as("done" as const))
32
+ )
33
+
34
+ // Move virtual time forward to complete sleeping fibers immediately.
35
+ yield* TestClock.adjust(60_000)
36
+
37
+ const value = yield* Fiber.join(fiber)
38
+ assert.strictEqual(value, "done")
39
+ }))
40
+
41
+ it.live("uses real runtime services", () =>
42
+ Effect.gen(function*() {
43
+ const startedAt = Date.now()
44
+ yield* Effect.sleep(1)
45
+ assert.isTrue(Date.now() >= startedAt)
46
+ }))
47
+
48
+ // For property-based testing, use `it.effect.prop` with Schema-based
49
+ // arbitraries
50
+ it.effect.prop("reversing twice is identity", [Schema.String], ([value]) =>
51
+ Effect.gen(function*() {
52
+ const reversedTwice = value.split("").reverse().reverse().join("")
53
+ assert.strictEqual(reversedTwice, value)
54
+ }))
55
+ })
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @title Testing services with shared layers
3
+ *
4
+ * How to test Effect services that depend on other services.
5
+ */
6
+ import { assert, describe, it, layer } from "@effect/vitest"
7
+ import { Array, Context, Effect, Layer, Ref } from "effect"
8
+
9
+ export interface Todo {
10
+ readonly id: number
11
+ readonly title: string
12
+ }
13
+
14
+ // Create a test ref service that can be used to store and manipulate test data
15
+ // in layers.
16
+ export class TodoRepoTestRef extends Context.Service<TodoRepoTestRef, Ref.Ref<Array<Todo>>>()("app/TodoRepoTestRef") {
17
+ static readonly layer = Layer.effect(TodoRepoTestRef, Ref.make(Array.empty()))
18
+ }
19
+
20
+ class TodoRepo extends Context.Service<TodoRepo, {
21
+ create(title: string): Effect.Effect<Todo>
22
+ readonly list: Effect.Effect<ReadonlyArray<Todo>>
23
+ }>()("app/TodoRepo") {
24
+ static readonly layerTest = Layer.effect(
25
+ TodoRepo,
26
+ Effect.gen(function*() {
27
+ const store = yield* TodoRepoTestRef
28
+
29
+ const create = Effect.fn("TodoRepo.create")(function*(title: string) {
30
+ const todos = yield* Ref.get(store)
31
+ const todo = { id: todos.length + 1, title }
32
+ yield* Ref.set(store, [...todos, todo])
33
+ return todo
34
+ })
35
+
36
+ const list = Ref.get(store)
37
+
38
+ return TodoRepo.of({
39
+ create,
40
+ list
41
+ })
42
+ })
43
+ ).pipe(
44
+ // Provide the test ref layer as a dependency for the test repo layer.
45
+ // Use Layer.provideMerge so the tests can also access the test ref directly
46
+ // if needed.
47
+ Layer.provideMerge(TodoRepoTestRef.layer)
48
+ )
49
+ }
50
+
51
+ class TodoService extends Context.Service<TodoService, {
52
+ addAndCount(title: string): Effect.Effect<number>
53
+ readonly titles: Effect.Effect<ReadonlyArray<string>>
54
+ }>()("app/TodoService") {
55
+ static readonly layerNoDeps = Layer.effect(
56
+ TodoService,
57
+ Effect.gen(function*() {
58
+ const repo = yield* TodoRepo
59
+
60
+ const addAndCount = Effect.fn("TodoService.addAndCount")(function*(title: string) {
61
+ yield* repo.create(title)
62
+ const todos = yield* repo.list
63
+ return todos.length
64
+ })
65
+
66
+ const titles = repo.list.pipe(
67
+ Effect.map((todos) => todos.map((todo) => todo.title))
68
+ )
69
+
70
+ return TodoService.of({
71
+ addAndCount,
72
+ titles
73
+ })
74
+ })
75
+ )
76
+
77
+ // You would also add a live layer here that provides real dependencies for
78
+ // production code.
79
+ //
80
+ // static readonly layer = Layer.effect(TodoService, ...).pipe(
81
+ // Layer.provide(TodoRepo.layer)
82
+ // )
83
+
84
+ static readonly layerTest = this.layerNoDeps.pipe(
85
+ // Provide the test repo layer as a dependency for the test service layer.
86
+ // Use `Layer.provideMerge` so the tests can also access the test repo
87
+ // directly if needed, as well as the test ref through the repo layer.
88
+ Layer.provideMerge(TodoRepo.layerTest)
89
+ )
90
+ }
91
+
92
+ // `layer(...)` creates one shared layer for the block and tears it down in
93
+ // `afterAll`, so all tests inside can access the same service context.
94
+ layer(TodoRepo.layerTest)("TodoRepo", (it) => {
95
+ it.effect("tests repository behavior", () =>
96
+ Effect.gen(function*() {
97
+ const repo = yield* TodoRepo
98
+ const before = (yield* repo.list).length
99
+ assert.strictEqual(before, 0)
100
+
101
+ yield* repo.create("Write docs")
102
+
103
+ const after = (yield* repo.list).length
104
+ assert.strictEqual(after, 1)
105
+ }))
106
+
107
+ it.effect("layer is shared", () =>
108
+ Effect.gen(function*() {
109
+ const repo = yield* TodoRepo
110
+ const before = (yield* repo.list).length
111
+ assert.strictEqual(before, 1)
112
+
113
+ yield* repo.create("Write docs again")
114
+
115
+ // because the layer is shared between tests, the todo created in the
116
+ // previous test is still present, so the count should be 2, not 1
117
+ const after = (yield* repo.list).length
118
+ assert.strictEqual(after, 2)
119
+ }))
120
+ })
121
+
122
+ describe("TodoService", () => {
123
+ it.effect("tests higher-level service logic", () =>
124
+ Effect.gen(function*() {
125
+ const ref = yield* TodoRepoTestRef
126
+ const service = yield* TodoService
127
+ const count = yield* service.addAndCount("Review docs")
128
+ const titles = yield* service.titles
129
+
130
+ assert.isTrue(count >= 1)
131
+ assert.isTrue(titles.some((title) => title.includes("Review docs")))
132
+
133
+ // You can also access the test ref directly to make assertions about the
134
+ // underlying data.
135
+ const todos = yield* Ref.get(ref)
136
+ assert.isTrue(todos.length >= 1)
137
+ }).pipe(Effect.provide(TodoService.layerTest)))
138
+ })
@@ -0,0 +1 @@
1
+ ## Testing Effect programs
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @title Using the Predicate module
3
+ */
4
+ import { Predicate } from "effect"
5
+
6
+ const thing: unknown = {
7
+ a: 1
8
+ }
9
+
10
+ if (Predicate.isObject(thing)) {
11
+ if (Predicate.isNumber(thing.a)) {
12
+ console.log("number", thing.a)
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ ## Runtime type guards
2
+
3
+ The `Predicate` module contains small, reusable runtime checks.
4
+
5
+ **NEVER** write your own helper functions like `isRecord` or `isString`, instead
6
+ use the helpers from the `Predicate` module.
7
+
8
+ Predicates can be composed with apis such as `Predicate.and`,
9
+ `Predicate.or`, `Predicate.not`, and `Predicate.compose`.