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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1835) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +14 -19
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  52. package/ai-docs/src/50_http-client/index.md +3 -0
  53. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  59. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  62. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  63. package/ai-docs/src/51_http-server/index.md +3 -0
  64. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  65. package/ai-docs/src/60_child-process/index.md +3 -0
  66. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  67. package/ai-docs/src/70_cli/index.md +5 -0
  68. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  69. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  70. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  71. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  72. package/ai-docs/src/71_ai/index.md +5 -0
  73. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  74. package/ai-docs/src/80_cluster/index.md +4 -0
  75. package/ai-docs/src/index.md +10 -0
  76. package/ai-docs/tsconfig.json +24 -0
  77. package/dist/Array.d.ts +971 -1037
  78. package/dist/Array.d.ts.map +1 -1
  79. package/dist/Array.js +462 -412
  80. package/dist/Array.js.map +1 -1
  81. package/dist/BigDecimal.d.ts +433 -756
  82. package/dist/BigDecimal.d.ts.map +1 -1
  83. package/dist/BigDecimal.js +200 -325
  84. package/dist/BigDecimal.js.map +1 -1
  85. package/dist/BigInt.d.ts +207 -267
  86. package/dist/BigInt.d.ts.map +1 -1
  87. package/dist/BigInt.js +107 -135
  88. package/dist/BigInt.js.map +1 -1
  89. package/dist/Boolean.d.ts +146 -188
  90. package/dist/Boolean.d.ts.map +1 -1
  91. package/dist/Boolean.js +64 -84
  92. package/dist/Boolean.js.map +1 -1
  93. package/dist/Brand.d.ts +3 -3
  94. package/dist/Brand.d.ts.map +1 -1
  95. package/dist/Brand.js +4 -3
  96. package/dist/Brand.js.map +1 -1
  97. package/dist/Cache.d.ts +409 -256
  98. package/dist/Cache.d.ts.map +1 -1
  99. package/dist/Cache.js +213 -134
  100. package/dist/Cache.js.map +1 -1
  101. package/dist/Cause.d.ts +167 -277
  102. package/dist/Cause.d.ts.map +1 -1
  103. package/dist/Cause.js +122 -176
  104. package/dist/Cause.js.map +1 -1
  105. package/dist/Channel.d.ts +756 -769
  106. package/dist/Channel.d.ts.map +1 -1
  107. package/dist/Channel.js +588 -449
  108. package/dist/Channel.js.map +1 -1
  109. package/dist/ChannelSchema.d.ts +1 -1
  110. package/dist/ChannelSchema.d.ts.map +1 -1
  111. package/dist/ChannelSchema.js.map +1 -1
  112. package/dist/Chunk.d.ts +834 -1173
  113. package/dist/Chunk.d.ts.map +1 -1
  114. package/dist/Chunk.js +326 -439
  115. package/dist/Chunk.js.map +1 -1
  116. package/dist/Clock.d.ts +180 -49
  117. package/dist/Clock.d.ts.map +1 -1
  118. package/dist/Clock.js +96 -31
  119. package/dist/Clock.js.map +1 -1
  120. package/dist/Combiner.d.ts +20 -33
  121. package/dist/Combiner.d.ts.map +1 -1
  122. package/dist/Combiner.js +18 -30
  123. package/dist/Combiner.js.map +1 -1
  124. package/dist/Config.d.ts +226 -174
  125. package/dist/Config.d.ts.map +1 -1
  126. package/dist/Config.js +361 -267
  127. package/dist/Config.js.map +1 -1
  128. package/dist/ConfigProvider.d.ts +229 -71
  129. package/dist/ConfigProvider.d.ts.map +1 -1
  130. package/dist/ConfigProvider.js +164 -95
  131. package/dist/ConfigProvider.js.map +1 -1
  132. package/dist/Console.d.ts +233 -33
  133. package/dist/Console.d.ts.map +1 -1
  134. package/dist/Console.js +232 -32
  135. package/dist/Console.js.map +1 -1
  136. package/dist/Context.d.ts +153 -277
  137. package/dist/Context.d.ts.map +1 -1
  138. package/dist/Context.js +172 -236
  139. package/dist/Context.js.map +1 -1
  140. package/dist/Cron.d.ts +144 -176
  141. package/dist/Cron.d.ts.map +1 -1
  142. package/dist/Cron.js +227 -162
  143. package/dist/Cron.js.map +1 -1
  144. package/dist/Crypto.d.ts +13 -15
  145. package/dist/Crypto.d.ts.map +1 -1
  146. package/dist/Crypto.js +22 -15
  147. package/dist/Crypto.js.map +1 -1
  148. package/dist/Data.d.ts +60 -80
  149. package/dist/Data.d.ts.map +1 -1
  150. package/dist/Data.js +18 -24
  151. package/dist/Data.js.map +1 -1
  152. package/dist/DateTime.d.ts +562 -660
  153. package/dist/DateTime.d.ts.map +1 -1
  154. package/dist/DateTime.js +307 -362
  155. package/dist/DateTime.js.map +1 -1
  156. package/dist/Deferred.d.ts +253 -256
  157. package/dist/Deferred.d.ts.map +1 -1
  158. package/dist/Deferred.js +110 -98
  159. package/dist/Deferred.js.map +1 -1
  160. package/dist/Duration.d.ts +216 -308
  161. package/dist/Duration.d.ts.map +1 -1
  162. package/dist/Duration.js +157 -188
  163. package/dist/Duration.js.map +1 -1
  164. package/dist/Effect.d.ts +3142 -3345
  165. package/dist/Effect.d.ts.map +1 -1
  166. package/dist/Effect.js +1452 -1570
  167. package/dist/Effect.js.map +1 -1
  168. package/dist/Effectable.js.map +1 -1
  169. package/dist/Encoding.d.ts +22 -40
  170. package/dist/Encoding.d.ts.map +1 -1
  171. package/dist/Encoding.js +22 -40
  172. package/dist/Encoding.js.map +1 -1
  173. package/dist/Equal.d.ts +33 -37
  174. package/dist/Equal.d.ts.map +1 -1
  175. package/dist/Equal.js +39 -23
  176. package/dist/Equal.js.map +1 -1
  177. package/dist/Equivalence.d.ts +103 -105
  178. package/dist/Equivalence.d.ts.map +1 -1
  179. package/dist/Equivalence.js +77 -79
  180. package/dist/Equivalence.js.map +1 -1
  181. package/dist/ErrorReporter.d.ts +51 -27
  182. package/dist/ErrorReporter.d.ts.map +1 -1
  183. package/dist/ErrorReporter.js +50 -26
  184. package/dist/ErrorReporter.js.map +1 -1
  185. package/dist/ExecutionPlan.d.ts +86 -55
  186. package/dist/ExecutionPlan.d.ts.map +1 -1
  187. package/dist/ExecutionPlan.js +8 -29
  188. package/dist/ExecutionPlan.js.map +1 -1
  189. package/dist/Exit.d.ts +116 -192
  190. package/dist/Exit.d.ts.map +1 -1
  191. package/dist/Exit.js +82 -130
  192. package/dist/Exit.js.map +1 -1
  193. package/dist/Fiber.d.ts +83 -147
  194. package/dist/Fiber.d.ts.map +1 -1
  195. package/dist/Fiber.js +48 -87
  196. package/dist/Fiber.js.map +1 -1
  197. package/dist/FiberHandle.d.ts +152 -105
  198. package/dist/FiberHandle.d.ts.map +1 -1
  199. package/dist/FiberHandle.js +109 -75
  200. package/dist/FiberHandle.js.map +1 -1
  201. package/dist/FiberMap.d.ts +213 -168
  202. package/dist/FiberMap.d.ts.map +1 -1
  203. package/dist/FiberMap.js +114 -89
  204. package/dist/FiberMap.js.map +1 -1
  205. package/dist/FiberSet.d.ts +123 -81
  206. package/dist/FiberSet.d.ts.map +1 -1
  207. package/dist/FiberSet.js +86 -60
  208. package/dist/FiberSet.js.map +1 -1
  209. package/dist/FileSystem.d.ts +154 -265
  210. package/dist/FileSystem.d.ts.map +1 -1
  211. package/dist/FileSystem.js +42 -147
  212. package/dist/FileSystem.js.map +1 -1
  213. package/dist/Filter.d.ts +61 -33
  214. package/dist/Filter.d.ts.map +1 -1
  215. package/dist/Filter.js +26 -15
  216. package/dist/Filter.js.map +1 -1
  217. package/dist/Formatter.d.ts +24 -32
  218. package/dist/Formatter.d.ts.map +1 -1
  219. package/dist/Formatter.js +55 -60
  220. package/dist/Formatter.js.map +1 -1
  221. package/dist/Function.d.ts +106 -148
  222. package/dist/Function.d.ts.map +1 -1
  223. package/dist/Function.js +81 -62
  224. package/dist/Function.js.map +1 -1
  225. package/dist/Graph.d.ts +360 -714
  226. package/dist/Graph.d.ts.map +1 -1
  227. package/dist/Graph.js +168 -297
  228. package/dist/Graph.js.map +1 -1
  229. package/dist/HKT.d.ts +12 -6
  230. package/dist/HKT.d.ts.map +1 -1
  231. package/dist/Hash.d.ts +47 -83
  232. package/dist/Hash.d.ts.map +1 -1
  233. package/dist/Hash.js +46 -68
  234. package/dist/Hash.js.map +1 -1
  235. package/dist/HashMap.d.ts +319 -411
  236. package/dist/HashMap.d.ts.map +1 -1
  237. package/dist/HashMap.js +122 -166
  238. package/dist/HashMap.js.map +1 -1
  239. package/dist/HashRing.d.ts.map +1 -1
  240. package/dist/HashRing.js +1 -0
  241. package/dist/HashRing.js.map +1 -1
  242. package/dist/HashSet.d.ts +177 -284
  243. package/dist/HashSet.d.ts.map +1 -1
  244. package/dist/HashSet.js +68 -109
  245. package/dist/HashSet.js.map +1 -1
  246. package/dist/Inspectable.d.ts +19 -18
  247. package/dist/Inspectable.d.ts.map +1 -1
  248. package/dist/Inspectable.js +20 -16
  249. package/dist/Inspectable.js.map +1 -1
  250. package/dist/Iterable.d.ts +620 -786
  251. package/dist/Iterable.d.ts.map +1 -1
  252. package/dist/Iterable.js +241 -317
  253. package/dist/Iterable.js.map +1 -1
  254. package/dist/JsonPatch.d.ts +11 -13
  255. package/dist/JsonPatch.d.ts.map +1 -1
  256. package/dist/JsonPatch.js +46 -103
  257. package/dist/JsonPatch.js.map +1 -1
  258. package/dist/JsonPointer.d.ts +8 -8
  259. package/dist/JsonPointer.js +8 -8
  260. package/dist/JsonPointer.js.map +1 -1
  261. package/dist/JsonSchema.d.ts +98 -44
  262. package/dist/JsonSchema.d.ts.map +1 -1
  263. package/dist/JsonSchema.js +319 -241
  264. package/dist/JsonSchema.js.map +1 -1
  265. package/dist/Latch.d.ts +23 -35
  266. package/dist/Latch.d.ts.map +1 -1
  267. package/dist/Latch.js +16 -28
  268. package/dist/Latch.js.map +1 -1
  269. package/dist/Layer.d.ts +359 -260
  270. package/dist/Layer.d.ts.map +1 -1
  271. package/dist/Layer.js +202 -180
  272. package/dist/Layer.js.map +1 -1
  273. package/dist/LayerMap.d.ts +42 -29
  274. package/dist/LayerMap.d.ts.map +1 -1
  275. package/dist/LayerMap.js +31 -21
  276. package/dist/LayerMap.js.map +1 -1
  277. package/dist/LayerRef.d.ts +6 -2
  278. package/dist/LayerRef.d.ts.map +1 -1
  279. package/dist/LayerRef.js +6 -2
  280. package/dist/LayerRef.js.map +1 -1
  281. package/dist/LogLevel.d.ts +114 -214
  282. package/dist/LogLevel.d.ts.map +1 -1
  283. package/dist/LogLevel.js +41 -76
  284. package/dist/LogLevel.js.map +1 -1
  285. package/dist/Logger.d.ts +218 -467
  286. package/dist/Logger.d.ts.map +1 -1
  287. package/dist/Logger.js +208 -453
  288. package/dist/Logger.js.map +1 -1
  289. package/dist/ManagedRuntime.d.ts +16 -5
  290. package/dist/ManagedRuntime.d.ts.map +1 -1
  291. package/dist/ManagedRuntime.js +10 -5
  292. package/dist/ManagedRuntime.js.map +1 -1
  293. package/dist/Match.d.ts +217 -252
  294. package/dist/Match.d.ts.map +1 -1
  295. package/dist/Match.js +150 -183
  296. package/dist/Match.js.map +1 -1
  297. package/dist/Metric.d.ts +442 -993
  298. package/dist/Metric.d.ts.map +1 -1
  299. package/dist/Metric.js +202 -645
  300. package/dist/Metric.js.map +1 -1
  301. package/dist/MutableHashMap.d.ts +144 -173
  302. package/dist/MutableHashMap.d.ts.map +1 -1
  303. package/dist/MutableHashMap.js +68 -79
  304. package/dist/MutableHashMap.js.map +1 -1
  305. package/dist/MutableHashSet.d.ts +84 -89
  306. package/dist/MutableHashSet.d.ts.map +1 -1
  307. package/dist/MutableHashSet.js +44 -47
  308. package/dist/MutableHashSet.js.map +1 -1
  309. package/dist/MutableList.d.ts +71 -370
  310. package/dist/MutableList.d.ts.map +1 -1
  311. package/dist/MutableList.js +63 -284
  312. package/dist/MutableList.js.map +1 -1
  313. package/dist/MutableRef.d.ts +420 -243
  314. package/dist/MutableRef.d.ts.map +1 -1
  315. package/dist/MutableRef.js +209 -120
  316. package/dist/MutableRef.js.map +1 -1
  317. package/dist/Newtype.d.ts +21 -14
  318. package/dist/Newtype.d.ts.map +1 -1
  319. package/dist/Newtype.js +15 -13
  320. package/dist/Newtype.js.map +1 -1
  321. package/dist/NonEmptyIterable.d.ts +7 -137
  322. package/dist/NonEmptyIterable.d.ts.map +1 -1
  323. package/dist/NonEmptyIterable.js +5 -93
  324. package/dist/NonEmptyIterable.js.map +1 -1
  325. package/dist/Number.d.ts +196 -233
  326. package/dist/Number.d.ts.map +1 -1
  327. package/dist/Number.js +90 -109
  328. package/dist/Number.js.map +1 -1
  329. package/dist/Optic.d.ts +132 -210
  330. package/dist/Optic.d.ts.map +1 -1
  331. package/dist/Optic.js +221 -324
  332. package/dist/Optic.js.map +1 -1
  333. package/dist/Option.d.ts +447 -812
  334. package/dist/Option.d.ts.map +1 -1
  335. package/dist/Option.js +213 -393
  336. package/dist/Option.js.map +1 -1
  337. package/dist/Order.d.ts +109 -109
  338. package/dist/Order.js +91 -91
  339. package/dist/Order.js.map +1 -1
  340. package/dist/Ordering.d.ts +20 -23
  341. package/dist/Ordering.d.ts.map +1 -1
  342. package/dist/Ordering.js +8 -9
  343. package/dist/Ordering.js.map +1 -1
  344. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  345. package/dist/PartitionedSemaphore.js +1 -4
  346. package/dist/PartitionedSemaphore.js.map +1 -1
  347. package/dist/Path.d.ts +38 -41
  348. package/dist/Path.d.ts.map +1 -1
  349. package/dist/Path.js +3 -4
  350. package/dist/Path.js.map +1 -1
  351. package/dist/Pipeable.d.ts +6 -5
  352. package/dist/Pipeable.d.ts.map +1 -1
  353. package/dist/Pipeable.js +2 -2
  354. package/dist/Pipeable.js.map +1 -1
  355. package/dist/PlatformError.d.ts +4 -4
  356. package/dist/PlatformError.js +3 -3
  357. package/dist/PlatformError.js.map +1 -1
  358. package/dist/Pool.d.ts +4 -2
  359. package/dist/Pool.d.ts.map +1 -1
  360. package/dist/Pool.js +4 -2
  361. package/dist/Pool.js.map +1 -1
  362. package/dist/Predicate.d.ts +200 -181
  363. package/dist/Predicate.d.ts.map +1 -1
  364. package/dist/Predicate.js +100 -108
  365. package/dist/Predicate.js.map +1 -1
  366. package/dist/PrimaryKey.d.ts +7 -7
  367. package/dist/PrimaryKey.js +5 -5
  368. package/dist/PrimaryKey.js.map +1 -1
  369. package/dist/PubSub.d.ts +425 -494
  370. package/dist/PubSub.d.ts.map +1 -1
  371. package/dist/PubSub.js +373 -362
  372. package/dist/PubSub.js.map +1 -1
  373. package/dist/Pull.d.ts +24 -18
  374. package/dist/Pull.d.ts.map +1 -1
  375. package/dist/Pull.js +11 -9
  376. package/dist/Pull.js.map +1 -1
  377. package/dist/Queue.d.ts +200 -159
  378. package/dist/Queue.d.ts.map +1 -1
  379. package/dist/Queue.js +166 -138
  380. package/dist/Queue.js.map +1 -1
  381. package/dist/Random.d.ts +49 -74
  382. package/dist/Random.d.ts.map +1 -1
  383. package/dist/Random.js +35 -54
  384. package/dist/Random.js.map +1 -1
  385. package/dist/RcMap.d.ts +121 -63
  386. package/dist/RcMap.d.ts.map +1 -1
  387. package/dist/RcMap.js +42 -21
  388. package/dist/RcMap.js.map +1 -1
  389. package/dist/RcRef.d.ts +24 -13
  390. package/dist/RcRef.d.ts.map +1 -1
  391. package/dist/RcRef.js +15 -9
  392. package/dist/RcRef.js.map +1 -1
  393. package/dist/Record.d.ts +361 -466
  394. package/dist/Record.d.ts.map +1 -1
  395. package/dist/Record.js +163 -216
  396. package/dist/Record.js.map +1 -1
  397. package/dist/Redactable.d.ts +6 -2
  398. package/dist/Redactable.d.ts.map +1 -1
  399. package/dist/Redactable.js +7 -2
  400. package/dist/Redactable.js.map +1 -1
  401. package/dist/Redacted.d.ts +25 -25
  402. package/dist/Redacted.d.ts.map +1 -1
  403. package/dist/Redacted.js +19 -20
  404. package/dist/Redacted.js.map +1 -1
  405. package/dist/Reducer.d.ts +8 -15
  406. package/dist/Reducer.d.ts.map +1 -1
  407. package/dist/Reducer.js +6 -12
  408. package/dist/Reducer.js.map +1 -1
  409. package/dist/Ref.d.ts +95 -165
  410. package/dist/Ref.d.ts.map +1 -1
  411. package/dist/Ref.js +75 -122
  412. package/dist/Ref.js.map +1 -1
  413. package/dist/References.d.ts +102 -213
  414. package/dist/References.d.ts.map +1 -1
  415. package/dist/References.js +102 -213
  416. package/dist/References.js.map +1 -1
  417. package/dist/RegExp.d.ts +10 -14
  418. package/dist/RegExp.d.ts.map +1 -1
  419. package/dist/RegExp.js +10 -14
  420. package/dist/RegExp.js.map +1 -1
  421. package/dist/Request.d.ts +31 -21
  422. package/dist/Request.d.ts.map +1 -1
  423. package/dist/Request.js +25 -19
  424. package/dist/Request.js.map +1 -1
  425. package/dist/RequestResolver.d.ts +201 -90
  426. package/dist/RequestResolver.d.ts.map +1 -1
  427. package/dist/RequestResolver.js +87 -41
  428. package/dist/RequestResolver.js.map +1 -1
  429. package/dist/Resource.js.map +1 -1
  430. package/dist/Result.d.ts +302 -470
  431. package/dist/Result.d.ts.map +1 -1
  432. package/dist/Result.js +135 -218
  433. package/dist/Result.js.map +1 -1
  434. package/dist/Runtime.d.ts +50 -75
  435. package/dist/Runtime.d.ts.map +1 -1
  436. package/dist/Runtime.js +39 -60
  437. package/dist/Runtime.js.map +1 -1
  438. package/dist/Schedule.d.ts +292 -1638
  439. package/dist/Schedule.d.ts.map +1 -1
  440. package/dist/Schedule.js +164 -805
  441. package/dist/Schedule.js.map +1 -1
  442. package/dist/Scheduler.d.ts +5 -5
  443. package/dist/Scheduler.d.ts.map +1 -1
  444. package/dist/Scheduler.js +18 -6
  445. package/dist/Scheduler.js.map +1 -1
  446. package/dist/Schema.d.ts +2056 -1269
  447. package/dist/Schema.d.ts.map +1 -1
  448. package/dist/Schema.js +2868 -1135
  449. package/dist/Schema.js.map +1 -1
  450. package/dist/SchemaAST.d.ts +64 -72
  451. package/dist/SchemaAST.d.ts.map +1 -1
  452. package/dist/SchemaAST.js +698 -468
  453. package/dist/SchemaAST.js.map +1 -1
  454. package/dist/SchemaGetter.d.ts +236 -188
  455. package/dist/SchemaGetter.d.ts.map +1 -1
  456. package/dist/SchemaGetter.js +281 -234
  457. package/dist/SchemaGetter.js.map +1 -1
  458. package/dist/SchemaIssue.d.ts +219 -190
  459. package/dist/SchemaIssue.d.ts.map +1 -1
  460. package/dist/SchemaIssue.js +303 -309
  461. package/dist/SchemaIssue.js.map +1 -1
  462. package/dist/SchemaParser.d.ts +32 -2
  463. package/dist/SchemaParser.d.ts.map +1 -1
  464. package/dist/SchemaParser.js +170 -118
  465. package/dist/SchemaParser.js.map +1 -1
  466. package/dist/SchemaRepresentation.d.ts +433 -1511
  467. package/dist/SchemaRepresentation.d.ts.map +1 -1
  468. package/dist/SchemaRepresentation.js +301 -2854
  469. package/dist/SchemaRepresentation.js.map +1 -1
  470. package/dist/SchemaTransformation.d.ts +117 -77
  471. package/dist/SchemaTransformation.d.ts.map +1 -1
  472. package/dist/SchemaTransformation.js +139 -104
  473. package/dist/SchemaTransformation.js.map +1 -1
  474. package/dist/Scope.d.ts +123 -151
  475. package/dist/Scope.d.ts.map +1 -1
  476. package/dist/Scope.js +72 -92
  477. package/dist/Scope.js.map +1 -1
  478. package/dist/ScopedCache.js +1 -1
  479. package/dist/ScopedCache.js.map +1 -1
  480. package/dist/ScopedRef.d.ts +3 -3
  481. package/dist/ScopedRef.d.ts.map +1 -1
  482. package/dist/ScopedRef.js +2 -2
  483. package/dist/ScopedRef.js.map +1 -1
  484. package/dist/Semaphore.d.ts +101 -13
  485. package/dist/Semaphore.d.ts.map +1 -1
  486. package/dist/Semaphore.js +78 -39
  487. package/dist/Semaphore.js.map +1 -1
  488. package/dist/Sink.d.ts +118 -108
  489. package/dist/Sink.d.ts.map +1 -1
  490. package/dist/Sink.js +107 -100
  491. package/dist/Sink.js.map +1 -1
  492. package/dist/Stdio.d.ts +18 -5
  493. package/dist/Stdio.d.ts.map +1 -1
  494. package/dist/Stdio.js +6 -3
  495. package/dist/Stdio.js.map +1 -1
  496. package/dist/Stream.d.ts +2467 -2962
  497. package/dist/Stream.d.ts.map +1 -1
  498. package/dist/Stream.js +1154 -1413
  499. package/dist/Stream.js.map +1 -1
  500. package/dist/String.d.ts +262 -308
  501. package/dist/String.d.ts.map +1 -1
  502. package/dist/String.js +184 -215
  503. package/dist/String.js.map +1 -1
  504. package/dist/Struct.d.ts +109 -114
  505. package/dist/Struct.d.ts.map +1 -1
  506. package/dist/Struct.js +46 -54
  507. package/dist/Struct.js.map +1 -1
  508. package/dist/SubscriptionRef.d.ts +282 -250
  509. package/dist/SubscriptionRef.d.ts.map +1 -1
  510. package/dist/SubscriptionRef.js +104 -92
  511. package/dist/SubscriptionRef.js.map +1 -1
  512. package/dist/Symbol.d.ts +3 -3
  513. package/dist/Symbol.js +3 -3
  514. package/dist/Symbol.js.map +1 -1
  515. package/dist/SynchronizedRef.js +1 -1
  516. package/dist/SynchronizedRef.js.map +1 -1
  517. package/dist/Take.js.map +1 -1
  518. package/dist/Terminal.d.ts +2 -2
  519. package/dist/Terminal.js +2 -2
  520. package/dist/Terminal.js.map +1 -1
  521. package/dist/Tracer.d.ts +100 -54
  522. package/dist/Tracer.d.ts.map +1 -1
  523. package/dist/Tracer.js +41 -24
  524. package/dist/Tracer.js.map +1 -1
  525. package/dist/Trie.d.ts +287 -679
  526. package/dist/Trie.d.ts.map +1 -1
  527. package/dist/Trie.js +109 -251
  528. package/dist/Trie.js.map +1 -1
  529. package/dist/Tuple.d.ts +98 -131
  530. package/dist/Tuple.d.ts.map +1 -1
  531. package/dist/Tuple.js +42 -57
  532. package/dist/Tuple.js.map +1 -1
  533. package/dist/TxChunk.d.ts +201 -121
  534. package/dist/TxChunk.d.ts.map +1 -1
  535. package/dist/TxChunk.js +85 -56
  536. package/dist/TxChunk.js.map +1 -1
  537. package/dist/TxDeferred.d.ts +62 -46
  538. package/dist/TxDeferred.d.ts.map +1 -1
  539. package/dist/TxDeferred.js +30 -22
  540. package/dist/TxDeferred.js.map +1 -1
  541. package/dist/TxHashMap.d.ts +631 -779
  542. package/dist/TxHashMap.d.ts.map +1 -1
  543. package/dist/TxHashMap.js +268 -330
  544. package/dist/TxHashMap.js.map +1 -1
  545. package/dist/TxHashSet.d.ts +297 -236
  546. package/dist/TxHashSet.d.ts.map +1 -1
  547. package/dist/TxHashSet.js +130 -100
  548. package/dist/TxHashSet.js.map +1 -1
  549. package/dist/TxPriorityQueue.d.ts +126 -95
  550. package/dist/TxPriorityQueue.d.ts.map +1 -1
  551. package/dist/TxPriorityQueue.js +74 -56
  552. package/dist/TxPriorityQueue.js.map +1 -1
  553. package/dist/TxPubSub.d.ts +101 -88
  554. package/dist/TxPubSub.d.ts.map +1 -1
  555. package/dist/TxPubSub.js +87 -66
  556. package/dist/TxPubSub.js.map +1 -1
  557. package/dist/TxQueue.d.ts +200 -180
  558. package/dist/TxQueue.d.ts.map +1 -1
  559. package/dist/TxQueue.js +161 -137
  560. package/dist/TxQueue.js.map +1 -1
  561. package/dist/TxReentrantLock.d.ts +89 -114
  562. package/dist/TxReentrantLock.d.ts.map +1 -1
  563. package/dist/TxReentrantLock.js +75 -53
  564. package/dist/TxReentrantLock.js.map +1 -1
  565. package/dist/TxRef.d.ts +51 -32
  566. package/dist/TxRef.d.ts.map +1 -1
  567. package/dist/TxRef.js +23 -15
  568. package/dist/TxRef.js.map +1 -1
  569. package/dist/TxSemaphore.d.ts +129 -95
  570. package/dist/TxSemaphore.d.ts.map +1 -1
  571. package/dist/TxSemaphore.js +85 -70
  572. package/dist/TxSemaphore.js.map +1 -1
  573. package/dist/TxSubscriptionRef.d.ts +97 -70
  574. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  575. package/dist/TxSubscriptionRef.js +44 -34
  576. package/dist/TxSubscriptionRef.js.map +1 -1
  577. package/dist/Types.d.ts +127 -70
  578. package/dist/Types.d.ts.map +1 -1
  579. package/dist/UndefinedOr.js.map +1 -1
  580. package/dist/Unify.d.ts +45 -65
  581. package/dist/Unify.d.ts.map +1 -1
  582. package/dist/Unify.js +6 -9
  583. package/dist/Unify.js.map +1 -1
  584. package/dist/Utils.d.ts +23 -16
  585. package/dist/Utils.d.ts.map +1 -1
  586. package/dist/Utils.js +3 -7
  587. package/dist/Utils.js.map +1 -1
  588. package/dist/index.d.ts +0 -8
  589. package/dist/index.d.ts.map +1 -1
  590. package/dist/index.js +0 -8
  591. package/dist/index.js.map +1 -1
  592. package/dist/internal/array.js.map +1 -1
  593. package/dist/internal/core.js +4 -3
  594. package/dist/internal/core.js.map +1 -1
  595. package/dist/internal/dateTime.js +5 -1
  596. package/dist/internal/dateTime.js.map +1 -1
  597. package/dist/internal/doNotation.js.map +1 -1
  598. package/dist/internal/effect.js +252 -108
  599. package/dist/internal/effect.js.map +1 -1
  600. package/dist/internal/equal.js.map +1 -1
  601. package/dist/internal/errors.js.map +1 -1
  602. package/dist/internal/executionPlan.js +52 -3
  603. package/dist/internal/executionPlan.js.map +1 -1
  604. package/dist/internal/hashMap.js +12 -8
  605. package/dist/internal/hashMap.js.map +1 -1
  606. package/dist/internal/hashSet.js.map +1 -1
  607. package/dist/internal/layer.js.map +1 -1
  608. package/dist/internal/matcher.js +2 -2
  609. package/dist/internal/matcher.js.map +1 -1
  610. package/dist/internal/metric.js.map +1 -1
  611. package/dist/internal/option.js.map +1 -1
  612. package/dist/internal/persistence.d.ts +2 -0
  613. package/dist/internal/persistence.d.ts.map +1 -0
  614. package/dist/internal/persistence.js +3 -0
  615. package/dist/internal/persistence.js.map +1 -0
  616. package/dist/internal/random.js.map +1 -1
  617. package/dist/internal/rcRef.js +18 -13
  618. package/dist/internal/rcRef.js.map +1 -1
  619. package/dist/internal/record.d.ts +0 -3
  620. package/dist/internal/record.d.ts.map +1 -1
  621. package/dist/internal/record.js +10 -5
  622. package/dist/internal/record.js.map +1 -1
  623. package/dist/internal/redacted.js.map +1 -1
  624. package/dist/internal/references.js +3 -4
  625. package/dist/internal/references.js.map +1 -1
  626. package/dist/internal/request.js.map +1 -1
  627. package/dist/internal/result.js.map +1 -1
  628. package/dist/internal/schedule.js.map +1 -1
  629. package/dist/internal/schema/annotations.js +15 -1
  630. package/dist/internal/schema/annotations.js.map +1 -1
  631. package/dist/internal/schema/cause.js.map +1 -1
  632. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  633. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  634. package/dist/internal/schema/fromJsonSchemaDocument.js +761 -0
  635. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  636. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  637. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  638. package/dist/internal/schema/fromRepresentation.js +245 -0
  639. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  640. package/dist/internal/schema/parser.d.ts +14 -0
  641. package/dist/internal/schema/parser.d.ts.map +1 -0
  642. package/dist/internal/schema/parser.js +13 -0
  643. package/dist/internal/schema/parser.js.map +1 -0
  644. package/dist/internal/schema/schema.js +29 -49
  645. package/dist/internal/schema/schema.js.map +1 -1
  646. package/dist/internal/schema/toArbitrary.d.ts +2 -0
  647. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  648. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -83
  649. package/dist/internal/schema/toArbitrary.js.map +1 -0
  650. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  651. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  652. package/dist/internal/schema/toCodeDocument.js +438 -0
  653. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  654. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  655. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  656. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  657. package/dist/internal/schema/toEquivalence.js.map +1 -0
  658. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  659. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  660. package/dist/internal/schema/toJsonSchemaDocument.js +522 -0
  661. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  662. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  663. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  664. package/dist/internal/schema/toRepresentation.js +351 -0
  665. package/dist/internal/schema/toRepresentation.js.map +1 -0
  666. package/dist/internal/stackTraceLimit.js +3 -6
  667. package/dist/internal/stackTraceLimit.js.map +1 -1
  668. package/dist/internal/stream.js.map +1 -1
  669. package/dist/internal/tracer.js.map +1 -1
  670. package/dist/internal/trie.js +24 -10
  671. package/dist/internal/trie.js.map +1 -1
  672. package/dist/testing/FastCheck.d.ts +8 -7
  673. package/dist/testing/FastCheck.d.ts.map +1 -1
  674. package/dist/testing/FastCheck.js +8 -7
  675. package/dist/testing/FastCheck.js.map +1 -1
  676. package/dist/testing/TestClock.d.ts +57 -28
  677. package/dist/testing/TestClock.d.ts.map +1 -1
  678. package/dist/testing/TestClock.js +65 -20
  679. package/dist/testing/TestClock.js.map +1 -1
  680. package/dist/testing/TestConsole.d.ts +32 -31
  681. package/dist/testing/TestConsole.d.ts.map +1 -1
  682. package/dist/testing/TestConsole.js +24 -22
  683. package/dist/testing/TestConsole.js.map +1 -1
  684. package/dist/testing/TestSchema.d.ts +31 -31
  685. package/dist/testing/TestSchema.d.ts.map +1 -1
  686. package/dist/testing/TestSchema.js +35 -34
  687. package/dist/testing/TestSchema.js.map +1 -1
  688. package/dist/testing/index.js.map +1 -1
  689. package/dist/unstable/ai/AiError.d.ts +121 -144
  690. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  691. package/dist/unstable/ai/AiError.js +118 -140
  692. package/dist/unstable/ai/AiError.js.map +1 -1
  693. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  694. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  695. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  696. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  697. package/dist/unstable/ai/Chat.d.ts +132 -97
  698. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  699. package/dist/unstable/ai/Chat.js +56 -52
  700. package/dist/unstable/ai/Chat.js.map +1 -1
  701. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  702. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  703. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  704. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  705. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  706. package/dist/unstable/ai/IdGenerator.js +26 -21
  707. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  708. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  709. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  710. package/dist/unstable/ai/LanguageModel.js +127 -83
  711. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  712. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  713. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  714. package/dist/unstable/ai/McpProtocol.js +20 -0
  715. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  716. package/dist/unstable/ai/McpSchema.d.ts +320 -254
  717. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  718. package/dist/unstable/ai/McpSchema.js +79 -71
  719. package/dist/unstable/ai/McpSchema.js.map +1 -1
  720. package/dist/unstable/ai/McpServer.d.ts +71 -62
  721. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  722. package/dist/unstable/ai/McpServer.js +777 -245
  723. package/dist/unstable/ai/McpServer.js.map +1 -1
  724. package/dist/unstable/ai/Model.d.ts +8 -19
  725. package/dist/unstable/ai/Model.d.ts.map +1 -1
  726. package/dist/unstable/ai/Model.js +9 -20
  727. package/dist/unstable/ai/Model.js.map +1 -1
  728. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  729. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  730. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  731. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  732. package/dist/unstable/ai/Prompt.d.ts +131 -44
  733. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  734. package/dist/unstable/ai/Prompt.js +100 -36
  735. package/dist/unstable/ai/Prompt.js.map +1 -1
  736. package/dist/unstable/ai/Response.d.ts +47 -33
  737. package/dist/unstable/ai/Response.d.ts.map +1 -1
  738. package/dist/unstable/ai/Response.js +23 -18
  739. package/dist/unstable/ai/Response.js.map +1 -1
  740. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  741. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  742. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  743. package/dist/unstable/ai/Telemetry.js +18 -7
  744. package/dist/unstable/ai/Telemetry.js.map +1 -1
  745. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  746. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  747. package/dist/unstable/ai/Tokenizer.js +10 -2
  748. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  749. package/dist/unstable/ai/Tool.d.ts +63 -44
  750. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  751. package/dist/unstable/ai/Tool.js +59 -42
  752. package/dist/unstable/ai/Tool.js.map +1 -1
  753. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  754. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  755. package/dist/unstable/ai/Toolkit.js +32 -14
  756. package/dist/unstable/ai/Toolkit.js.map +1 -1
  757. package/dist/unstable/ai/index.d.ts +4 -0
  758. package/dist/unstable/ai/index.d.ts.map +1 -1
  759. package/dist/unstable/ai/index.js +4 -0
  760. package/dist/unstable/ai/index.js.map +1 -1
  761. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  762. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  763. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  764. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  765. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  766. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  767. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  768. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  769. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  770. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  771. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  772. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  773. package/dist/unstable/ai/internal/structured-output.js +315 -0
  774. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  775. package/dist/unstable/cli/Argument.d.ts +279 -72
  776. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  777. package/dist/unstable/cli/Argument.js +113 -34
  778. package/dist/unstable/cli/Argument.js.map +1 -1
  779. package/dist/unstable/cli/CliConfig.js.map +1 -1
  780. package/dist/unstable/cli/CliError.d.ts +126 -76
  781. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  782. package/dist/unstable/cli/CliError.js +136 -76
  783. package/dist/unstable/cli/CliError.js.map +1 -1
  784. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  785. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  786. package/dist/unstable/cli/CliOutput.js +26 -42
  787. package/dist/unstable/cli/CliOutput.js.map +1 -1
  788. package/dist/unstable/cli/Command.d.ts +736 -115
  789. package/dist/unstable/cli/Command.d.ts.map +1 -1
  790. package/dist/unstable/cli/Command.js +282 -56
  791. package/dist/unstable/cli/Command.js.map +1 -1
  792. package/dist/unstable/cli/Completions.js.map +1 -1
  793. package/dist/unstable/cli/Flag.d.ts +418 -138
  794. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  795. package/dist/unstable/cli/Flag.js +197 -71
  796. package/dist/unstable/cli/Flag.js.map +1 -1
  797. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  798. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  799. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  800. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  801. package/dist/unstable/cli/Param.d.ts +299 -83
  802. package/dist/unstable/cli/Param.d.ts.map +1 -1
  803. package/dist/unstable/cli/Param.js +146 -60
  804. package/dist/unstable/cli/Param.js.map +1 -1
  805. package/dist/unstable/cli/Primitive.d.ts +370 -149
  806. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  807. package/dist/unstable/cli/Primitive.js +377 -162
  808. package/dist/unstable/cli/Primitive.js.map +1 -1
  809. package/dist/unstable/cli/Prompt.d.ts +23 -14
  810. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  811. package/dist/unstable/cli/Prompt.js +54 -31
  812. package/dist/unstable/cli/Prompt.js.map +1 -1
  813. package/dist/unstable/cli/index.js.map +1 -1
  814. package/dist/unstable/cli/internal/ansi.js +2 -2
  815. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  816. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  817. package/dist/unstable/cli/internal/command.d.ts +5 -3
  818. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  819. package/dist/unstable/cli/internal/command.js +21 -13
  820. package/dist/unstable/cli/internal/command.js.map +1 -1
  821. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  822. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  823. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  824. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  825. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  826. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  827. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  828. package/dist/unstable/cli/internal/config.d.ts +0 -48
  829. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  830. package/dist/unstable/cli/internal/config.js +8 -10
  831. package/dist/unstable/cli/internal/config.js.map +1 -1
  832. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  833. package/dist/unstable/cli/internal/help.js +4 -2
  834. package/dist/unstable/cli/internal/help.js.map +1 -1
  835. package/dist/unstable/cli/internal/lexer.js +17 -7
  836. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  837. package/dist/unstable/cli/internal/parser.js +5 -5
  838. package/dist/unstable/cli/internal/parser.js.map +1 -1
  839. package/dist/unstable/cli/internal/wizard.js +2 -2
  840. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  841. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  842. package/dist/unstable/cluster/ClusterError.js +7 -7
  843. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  844. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  845. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  846. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  847. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  848. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  849. package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
  850. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  851. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  852. package/dist/unstable/cluster/Entity.d.ts +12 -12
  853. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  854. package/dist/unstable/cluster/Entity.js +9 -9
  855. package/dist/unstable/cluster/Entity.js.map +1 -1
  856. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  857. package/dist/unstable/cluster/EntityId.js.map +1 -1
  858. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  859. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  860. package/dist/unstable/cluster/EntityProxy.js +8 -5
  861. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  862. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  863. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  864. package/dist/unstable/cluster/EntityResource.js +2 -2
  865. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  866. package/dist/unstable/cluster/EntityType.js.map +1 -1
  867. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  868. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  869. package/dist/unstable/cluster/Envelope.js +5 -4
  870. package/dist/unstable/cluster/Envelope.js.map +1 -1
  871. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  872. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  873. package/dist/unstable/cluster/HttpRunner.js +6 -4
  874. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  875. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  876. package/dist/unstable/cluster/MachineId.js.map +1 -1
  877. package/dist/unstable/cluster/Message.d.ts +9 -9
  878. package/dist/unstable/cluster/Message.js +6 -6
  879. package/dist/unstable/cluster/Message.js.map +1 -1
  880. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  881. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  882. package/dist/unstable/cluster/MessageStorage.js +13 -6
  883. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  884. package/dist/unstable/cluster/Reply.d.ts +8 -0
  885. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  886. package/dist/unstable/cluster/Reply.js +17 -5
  887. package/dist/unstable/cluster/Reply.js.map +1 -1
  888. package/dist/unstable/cluster/Runner.d.ts +1 -1
  889. package/dist/unstable/cluster/Runner.js +1 -1
  890. package/dist/unstable/cluster/Runner.js.map +1 -1
  891. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  892. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  893. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  894. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  895. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  896. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  897. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  898. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  899. package/dist/unstable/cluster/RunnerServer.js +29 -23
  900. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  901. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  902. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  903. package/dist/unstable/cluster/RunnerStorage.js +8 -7
  904. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  905. package/dist/unstable/cluster/Runners.d.ts +11 -15
  906. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  907. package/dist/unstable/cluster/Runners.js +32 -22
  908. package/dist/unstable/cluster/Runners.js.map +1 -1
  909. package/dist/unstable/cluster/ShardId.js +1 -1
  910. package/dist/unstable/cluster/ShardId.js.map +1 -1
  911. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  912. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  913. package/dist/unstable/cluster/Sharding.js +164 -31
  914. package/dist/unstable/cluster/Sharding.js.map +1 -1
  915. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  916. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  917. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  918. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  919. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  920. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  921. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  922. package/dist/unstable/cluster/SingleRunner.js +2 -1
  923. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  924. package/dist/unstable/cluster/Singleton.js.map +1 -1
  925. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  926. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  927. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  928. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  929. package/dist/unstable/cluster/Snowflake.js +8 -8
  930. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  931. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  932. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  933. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  934. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  935. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  936. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  937. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  938. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  939. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  940. package/dist/unstable/cluster/index.js.map +1 -1
  941. package/dist/unstable/cluster/internal/entityManager.js +25 -13
  942. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  943. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  944. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  945. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  946. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  947. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  948. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  949. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  950. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  951. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  952. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  953. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  954. package/dist/unstable/devtools/DevTools.js.map +1 -1
  955. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  956. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  957. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  958. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  959. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  960. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  961. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  962. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  963. package/dist/unstable/devtools/index.js.map +1 -1
  964. package/dist/unstable/encoding/Ini.d.ts +20 -0
  965. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  966. package/dist/unstable/encoding/Ini.js +153 -0
  967. package/dist/unstable/encoding/Ini.js.map +1 -0
  968. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  969. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  970. package/dist/unstable/encoding/Msgpack.js +31 -19
  971. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  972. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  973. package/dist/unstable/encoding/Ndjson.js +7 -1
  974. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  975. package/dist/unstable/encoding/Sse.d.ts +72 -8
  976. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  977. package/dist/unstable/encoding/Sse.js +72 -31
  978. package/dist/unstable/encoding/Sse.js.map +1 -1
  979. package/dist/unstable/encoding/Toml.d.ts +19 -0
  980. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  981. package/dist/unstable/encoding/Toml.js +434 -0
  982. package/dist/unstable/encoding/Toml.js.map +1 -0
  983. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  984. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  985. package/dist/unstable/encoding/Yaml.js +461 -0
  986. package/dist/unstable/encoding/Yaml.js.map +1 -0
  987. package/dist/unstable/encoding/index.d.ts +12 -0
  988. package/dist/unstable/encoding/index.d.ts.map +1 -1
  989. package/dist/unstable/encoding/index.js +12 -0
  990. package/dist/unstable/encoding/index.js.map +1 -1
  991. package/dist/unstable/eventlog/Event.d.ts +20 -20
  992. package/dist/unstable/eventlog/Event.js.map +1 -1
  993. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  994. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  995. package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
  996. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  997. package/dist/unstable/eventlog/EventJournal.js +27 -19
  998. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  999. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1000. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1001. package/dist/unstable/eventlog/EventLog.js +18 -14
  1002. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1003. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1004. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1005. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1006. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1007. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1008. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1009. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1010. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1011. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1012. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1013. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1014. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1015. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1016. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1017. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1018. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1019. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1020. package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
  1021. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1022. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1023. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1024. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1025. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1026. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1027. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1028. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1029. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1030. package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
  1031. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1032. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1033. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1034. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1035. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1036. package/dist/unstable/eventlog/index.js.map +1 -1
  1037. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1038. package/dist/unstable/http/Cookies.d.ts +2 -2
  1039. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1040. package/dist/unstable/http/Cookies.js +54 -40
  1041. package/dist/unstable/http/Cookies.js.map +1 -1
  1042. package/dist/unstable/http/Etag.d.ts +1 -1
  1043. package/dist/unstable/http/Etag.js +1 -1
  1044. package/dist/unstable/http/Etag.js.map +1 -1
  1045. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1046. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1047. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1048. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1049. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1050. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1051. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1052. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1053. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1054. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1055. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1056. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1057. package/dist/unstable/http/FindMyWay.js +4 -7
  1058. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1059. package/dist/unstable/http/Headers.d.ts +2 -2
  1060. package/dist/unstable/http/Headers.js +10 -10
  1061. package/dist/unstable/http/Headers.js.map +1 -1
  1062. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1063. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1064. package/dist/unstable/http/HttpBody.js +11 -5
  1065. package/dist/unstable/http/HttpBody.js.map +1 -1
  1066. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1067. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1068. package/dist/unstable/http/HttpClient.js +79 -36
  1069. package/dist/unstable/http/HttpClient.js.map +1 -1
  1070. package/dist/unstable/http/HttpClientError.js +1 -1
  1071. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1072. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1073. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1074. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1075. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1076. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1077. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1078. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1079. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1080. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1081. package/dist/unstable/http/HttpEffect.js +7 -8
  1082. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1083. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1084. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1085. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1086. package/dist/unstable/http/HttpMethod.js +6 -9
  1087. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1088. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1089. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1090. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1091. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1092. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1093. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1094. package/dist/unstable/http/HttpPlatform.js +53 -3
  1095. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1096. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1097. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1098. package/dist/unstable/http/HttpRouter.js +78 -79
  1099. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1100. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1101. package/dist/unstable/http/HttpServer.js +6 -6
  1102. package/dist/unstable/http/HttpServer.js.map +1 -1
  1103. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1104. package/dist/unstable/http/HttpServerError.js +2 -2
  1105. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1106. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1107. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1108. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1109. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1110. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1111. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1112. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1113. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1114. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1115. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1116. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1117. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1118. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1119. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1120. package/dist/unstable/http/Multipart.d.ts +28 -9
  1121. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1122. package/dist/unstable/http/Multipart.js +65 -35
  1123. package/dist/unstable/http/Multipart.js.map +1 -1
  1124. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1125. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1126. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1127. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1128. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1129. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1130. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1131. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1132. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1133. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1134. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1135. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1136. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1137. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1138. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1139. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1140. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1141. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1142. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1143. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1144. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1145. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1146. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1147. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1148. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1149. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1150. package/dist/unstable/http/MultipartParser.js +23 -0
  1151. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1152. package/dist/unstable/http/Template.d.ts.map +1 -1
  1153. package/dist/unstable/http/Template.js +3 -3
  1154. package/dist/unstable/http/Template.js.map +1 -1
  1155. package/dist/unstable/http/Url.d.ts +33 -63
  1156. package/dist/unstable/http/Url.d.ts.map +1 -1
  1157. package/dist/unstable/http/Url.js +14 -28
  1158. package/dist/unstable/http/Url.js.map +1 -1
  1159. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1160. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1161. package/dist/unstable/http/UrlParams.js +26 -31
  1162. package/dist/unstable/http/UrlParams.js.map +1 -1
  1163. package/dist/unstable/http/index.d.ts +1 -1
  1164. package/dist/unstable/http/index.d.ts.map +1 -1
  1165. package/dist/unstable/http/index.js +1 -1
  1166. package/dist/unstable/http/index.js.map +1 -1
  1167. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1168. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1169. package/dist/unstable/http/internal/compression.js +155 -0
  1170. package/dist/unstable/http/internal/compression.js.map +1 -0
  1171. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1172. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1173. package/dist/unstable/http/internal/httpBody.js +10 -0
  1174. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1175. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1176. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1177. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1178. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1179. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1180. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1181. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1182. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1183. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1184. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1185. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1186. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1187. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1188. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1189. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1190. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1191. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1192. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1193. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1194. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1195. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1196. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1197. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1198. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1199. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1200. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1201. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1202. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1203. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1204. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1205. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1206. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1207. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1208. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1209. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1210. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1211. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1212. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1213. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1214. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1215. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1216. package/dist/unstable/httpapi/index.js.map +1 -1
  1217. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1218. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1219. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1220. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1221. package/dist/unstable/observability/Otlp.js.map +1 -1
  1222. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1223. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1224. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1225. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1226. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1227. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1228. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1229. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1230. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1231. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1232. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1233. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1234. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1235. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1236. package/dist/unstable/observability/OtlpResource.js +21 -12
  1237. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1238. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1239. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1240. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1241. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1242. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1243. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1244. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1245. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1246. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1247. package/dist/unstable/observability/index.js.map +1 -1
  1248. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1249. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1250. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1251. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1252. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1253. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1254. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1255. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1256. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1257. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1258. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1259. package/dist/unstable/persistence/Persistable.js +2 -1
  1260. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1261. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1262. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1263. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1264. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1265. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1266. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1267. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1268. package/dist/unstable/persistence/Persistence.js +108 -22
  1269. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1270. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1271. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1272. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1273. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1274. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1275. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1276. package/dist/unstable/persistence/Redis.js +4 -4
  1277. package/dist/unstable/persistence/Redis.js.map +1 -1
  1278. package/dist/unstable/persistence/index.js.map +1 -1
  1279. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1280. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1281. package/dist/unstable/process/ChildProcess.js +14 -5
  1282. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1283. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1284. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1285. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1286. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1287. package/dist/unstable/process/index.js.map +1 -1
  1288. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1289. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1290. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1291. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1292. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1293. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1294. package/dist/unstable/reactivity/Atom.js +53 -34
  1295. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1296. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1297. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1298. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1299. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1300. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1301. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1302. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1303. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1304. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1305. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1306. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1307. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1308. package/dist/unstable/reactivity/Hydration.js +1 -1
  1309. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1310. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1311. package/dist/unstable/reactivity/index.js.map +1 -1
  1312. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1313. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1314. package/dist/unstable/rpc/Rpc.js +4 -2
  1315. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1316. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1317. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1318. package/dist/unstable/rpc/RpcClient.js +40 -22
  1319. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1320. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1321. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1322. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1323. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1324. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1325. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1326. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1327. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1328. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1329. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1330. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1331. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1332. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1333. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1334. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1335. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1336. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1337. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1338. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1339. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1340. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1341. package/dist/unstable/rpc/RpcServer.js +20 -15
  1342. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1343. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1344. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1345. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1346. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1347. package/dist/unstable/rpc/Utils.js.map +1 -1
  1348. package/dist/unstable/rpc/index.js.map +1 -1
  1349. package/dist/unstable/schema/Model.d.ts +53 -51
  1350. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1351. package/dist/unstable/schema/Model.js +35 -33
  1352. package/dist/unstable/schema/Model.js.map +1 -1
  1353. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1354. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1355. package/dist/unstable/schema/VariantSchema.js +28 -17
  1356. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1357. package/dist/unstable/schema/index.js.map +1 -1
  1358. package/dist/unstable/socket/Socket.d.ts +12 -4
  1359. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1360. package/dist/unstable/socket/Socket.js +38 -17
  1361. package/dist/unstable/socket/Socket.js.map +1 -1
  1362. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1363. package/dist/unstable/socket/index.js.map +1 -1
  1364. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1365. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1366. package/dist/unstable/sql/Migrator.js +15 -2
  1367. package/dist/unstable/sql/Migrator.js.map +1 -1
  1368. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1369. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1370. package/dist/unstable/sql/SqlClient.js +8 -4
  1371. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1372. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1373. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1374. package/dist/unstable/sql/SqlError.js +15 -15
  1375. package/dist/unstable/sql/SqlError.js.map +1 -1
  1376. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1377. package/dist/unstable/sql/SqlModel.js +2 -2
  1378. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1379. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1380. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1381. package/dist/unstable/sql/SqlResolver.js +30 -24
  1382. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1383. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1384. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1385. package/dist/unstable/sql/Statement.d.ts +6 -6
  1386. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1387. package/dist/unstable/sql/Statement.js +30 -27
  1388. package/dist/unstable/sql/Statement.js.map +1 -1
  1389. package/dist/unstable/sql/index.js.map +1 -1
  1390. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1391. package/dist/unstable/workers/Transferable.js +1 -1
  1392. package/dist/unstable/workers/Transferable.js.map +1 -1
  1393. package/dist/unstable/workers/Worker.d.ts +2 -2
  1394. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1395. package/dist/unstable/workers/Worker.js +13 -14
  1396. package/dist/unstable/workers/Worker.js.map +1 -1
  1397. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1398. package/dist/unstable/workers/WorkerError.js +11 -11
  1399. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1400. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1401. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1402. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1403. package/dist/unstable/workers/index.js.map +1 -1
  1404. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1405. package/dist/unstable/workflow/Activity.js +2 -2
  1406. package/dist/unstable/workflow/Activity.js.map +1 -1
  1407. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1408. package/dist/unstable/workflow/DurableClock.js +1 -1
  1409. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1410. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1411. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1412. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1413. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1414. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1415. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1416. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1417. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1418. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1419. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1420. package/dist/unstable/workflow/Workflow.js +13 -14
  1421. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1422. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1423. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1424. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1425. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1426. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1427. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1428. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1429. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1430. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1431. package/dist/unstable/workflow/index.js.map +1 -1
  1432. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1433. package/package.json +10 -14
  1434. package/src/Array.ts +1068 -1070
  1435. package/src/BigDecimal.ts +433 -756
  1436. package/src/BigInt.ts +213 -269
  1437. package/src/Boolean.ts +146 -188
  1438. package/src/Brand.ts +4 -4
  1439. package/src/Cache.ts +469 -851
  1440. package/src/Cause.ts +167 -277
  1441. package/src/Channel.ts +982 -831
  1442. package/src/ChannelSchema.ts +1 -1
  1443. package/src/Chunk.ts +841 -1181
  1444. package/src/Clock.ts +181 -49
  1445. package/src/Combiner.ts +20 -33
  1446. package/src/Config.ts +642 -335
  1447. package/src/ConfigProvider.ts +267 -135
  1448. package/src/Console.ts +289 -39
  1449. package/src/Context.ts +323 -404
  1450. package/src/Cron.ts +271 -219
  1451. package/src/Crypto.ts +30 -23
  1452. package/src/Data.ts +63 -82
  1453. package/src/DateTime.ts +564 -660
  1454. package/src/Deferred.ts +259 -258
  1455. package/src/Duration.ts +244 -311
  1456. package/src/Effect.ts +3215 -3394
  1457. package/src/Encoding.ts +22 -40
  1458. package/src/Equal.ts +59 -41
  1459. package/src/Equivalence.ts +103 -105
  1460. package/src/ErrorReporter.ts +51 -27
  1461. package/src/ExecutionPlan.ts +91 -56
  1462. package/src/Exit.ts +116 -192
  1463. package/src/Fiber.ts +82 -149
  1464. package/src/FiberHandle.ts +155 -107
  1465. package/src/FiberMap.ts +225 -174
  1466. package/src/FiberSet.ts +125 -83
  1467. package/src/FileSystem.ts +156 -264
  1468. package/src/Filter.ts +61 -33
  1469. package/src/Formatter.ts +69 -76
  1470. package/src/Function.ts +119 -151
  1471. package/src/Graph.ts +416 -770
  1472. package/src/HKT.ts +12 -6
  1473. package/src/Hash.ts +52 -83
  1474. package/src/HashMap.ts +319 -411
  1475. package/src/HashRing.ts +1 -0
  1476. package/src/HashSet.ts +177 -284
  1477. package/src/Inspectable.ts +22 -20
  1478. package/src/Iterable.ts +633 -797
  1479. package/src/JsonPatch.ts +60 -113
  1480. package/src/JsonPointer.ts +8 -8
  1481. package/src/JsonSchema.ts +408 -251
  1482. package/src/Latch.ts +23 -35
  1483. package/src/Layer.ts +366 -265
  1484. package/src/LayerMap.ts +49 -29
  1485. package/src/LayerRef.ts +6 -2
  1486. package/src/LogLevel.ts +114 -214
  1487. package/src/Logger.ts +348 -700
  1488. package/src/ManagedRuntime.ts +20 -5
  1489. package/src/Match.ts +217 -252
  1490. package/src/Metric.ts +520 -1092
  1491. package/src/MutableHashMap.ts +218 -255
  1492. package/src/MutableHashSet.ts +84 -89
  1493. package/src/MutableList.ts +77 -370
  1494. package/src/MutableRef.ts +420 -243
  1495. package/src/Newtype.ts +21 -14
  1496. package/src/NonEmptyIterable.ts +7 -137
  1497. package/src/Number.ts +196 -233
  1498. package/src/Optic.ts +303 -441
  1499. package/src/Option.ts +449 -813
  1500. package/src/Order.ts +109 -109
  1501. package/src/Ordering.ts +20 -23
  1502. package/src/PartitionedSemaphore.ts +1 -4
  1503. package/src/Path.ts +38 -41
  1504. package/src/Pipeable.ts +6 -5
  1505. package/src/PlatformError.ts +4 -4
  1506. package/src/Pool.ts +4 -2
  1507. package/src/Predicate.ts +200 -181
  1508. package/src/PrimaryKey.ts +7 -7
  1509. package/src/PubSub.ts +526 -552
  1510. package/src/Pull.ts +24 -18
  1511. package/src/Queue.ts +204 -165
  1512. package/src/Random.ts +49 -74
  1513. package/src/RcMap.ts +121 -63
  1514. package/src/RcRef.ts +24 -13
  1515. package/src/Record.ts +387 -487
  1516. package/src/Redactable.ts +10 -3
  1517. package/src/Redacted.ts +25 -25
  1518. package/src/Reducer.ts +8 -15
  1519. package/src/Ref.ts +221 -361
  1520. package/src/References.ts +102 -214
  1521. package/src/RegExp.ts +10 -14
  1522. package/src/Request.ts +36 -28
  1523. package/src/RequestResolver.ts +202 -91
  1524. package/src/Result.ts +314 -485
  1525. package/src/Runtime.ts +50 -75
  1526. package/src/Schedule.ts +311 -1737
  1527. package/src/Scheduler.ts +20 -7
  1528. package/src/Schema.ts +3475 -1913
  1529. package/src/SchemaAST.ts +902 -573
  1530. package/src/SchemaGetter.ts +351 -233
  1531. package/src/SchemaIssue.ts +367 -334
  1532. package/src/SchemaParser.ts +254 -148
  1533. package/src/SchemaRepresentation.ts +732 -3414
  1534. package/src/SchemaTransformation.ts +186 -97
  1535. package/src/Scope.ts +123 -151
  1536. package/src/ScopedCache.ts +1 -1
  1537. package/src/ScopedRef.ts +6 -4
  1538. package/src/Semaphore.ts +157 -54
  1539. package/src/Sink.ts +129 -114
  1540. package/src/Stdio.ts +24 -5
  1541. package/src/Stream.ts +2745 -3173
  1542. package/src/String.ts +275 -312
  1543. package/src/Struct.ts +114 -118
  1544. package/src/SubscriptionRef.ts +284 -252
  1545. package/src/Symbol.ts +3 -3
  1546. package/src/SynchronizedRef.ts +1 -1
  1547. package/src/Terminal.ts +3 -3
  1548. package/src/Tracer.ts +102 -55
  1549. package/src/Trie.ts +287 -679
  1550. package/src/Tuple.ts +99 -131
  1551. package/src/TxChunk.ts +201 -121
  1552. package/src/TxDeferred.ts +62 -46
  1553. package/src/TxHashMap.ts +645 -799
  1554. package/src/TxHashSet.ts +443 -356
  1555. package/src/TxPriorityQueue.ts +130 -98
  1556. package/src/TxPubSub.ts +107 -80
  1557. package/src/TxQueue.ts +215 -184
  1558. package/src/TxReentrantLock.ts +136 -101
  1559. package/src/TxRef.ts +51 -32
  1560. package/src/TxSemaphore.ts +129 -95
  1561. package/src/TxSubscriptionRef.ts +97 -70
  1562. package/src/Types.ts +127 -70
  1563. package/src/Unify.ts +45 -65
  1564. package/src/Utils.ts +23 -16
  1565. package/src/index.ts +0 -10
  1566. package/src/internal/core.ts +6 -5
  1567. package/src/internal/dateTime.ts +7 -1
  1568. package/src/internal/effect.ts +304 -134
  1569. package/src/internal/executionPlan.ts +106 -10
  1570. package/src/internal/hashMap.ts +20 -14
  1571. package/src/internal/matcher.ts +3 -3
  1572. package/src/internal/persistence.ts +2 -0
  1573. package/src/internal/rcRef.ts +24 -16
  1574. package/src/internal/record.ts +11 -7
  1575. package/src/internal/references.ts +3 -7
  1576. package/src/internal/schedule.ts +4 -4
  1577. package/src/internal/schema/annotations.ts +48 -1
  1578. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1579. package/src/internal/schema/fromRepresentation.ts +339 -0
  1580. package/src/internal/schema/parser.ts +22 -0
  1581. package/src/internal/schema/schema.ts +46 -63
  1582. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1583. package/src/internal/schema/toCodeDocument.ts +572 -0
  1584. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1585. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1586. package/src/internal/schema/toRepresentation.ts +404 -0
  1587. package/src/internal/stackTraceLimit.ts +3 -7
  1588. package/src/internal/trie.ts +21 -12
  1589. package/src/testing/FastCheck.ts +8 -7
  1590. package/src/testing/TestClock.ts +86 -32
  1591. package/src/testing/TestConsole.ts +32 -31
  1592. package/src/testing/TestSchema.ts +40 -40
  1593. package/src/unstable/ai/AiError.ts +119 -141
  1594. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1595. package/src/unstable/ai/Chat.ts +133 -98
  1596. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1597. package/src/unstable/ai/IdGenerator.ts +32 -28
  1598. package/src/unstable/ai/LanguageModel.ts +141 -97
  1599. package/src/unstable/ai/McpProtocol.ts +48 -0
  1600. package/src/unstable/ai/McpSchema.ts +92 -81
  1601. package/src/unstable/ai/McpServer.ts +1057 -303
  1602. package/src/unstable/ai/Model.ts +9 -20
  1603. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1604. package/src/unstable/ai/Prompt.ts +212 -63
  1605. package/src/unstable/ai/Response.ts +52 -38
  1606. package/src/unstable/ai/Telemetry.ts +46 -13
  1607. package/src/unstable/ai/Tokenizer.ts +14 -3
  1608. package/src/unstable/ai/Tool.ts +81 -48
  1609. package/src/unstable/ai/Toolkit.ts +45 -15
  1610. package/src/unstable/ai/index.ts +5 -0
  1611. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1612. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1613. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1614. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1615. package/src/unstable/cli/Argument.ts +279 -72
  1616. package/src/unstable/cli/CliError.ts +159 -91
  1617. package/src/unstable/cli/CliOutput.ts +44 -58
  1618. package/src/unstable/cli/Command.ts +764 -124
  1619. package/src/unstable/cli/Flag.ts +418 -138
  1620. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1621. package/src/unstable/cli/HelpDoc.ts +12 -4
  1622. package/src/unstable/cli/Param.ts +336 -100
  1623. package/src/unstable/cli/Primitive.ts +383 -156
  1624. package/src/unstable/cli/Prompt.ts +64 -34
  1625. package/src/unstable/cli/internal/ansi.ts +2 -2
  1626. package/src/unstable/cli/internal/command.ts +28 -15
  1627. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1628. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1629. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1630. package/src/unstable/cli/internal/config.ts +8 -10
  1631. package/src/unstable/cli/internal/help.ts +4 -2
  1632. package/src/unstable/cli/internal/lexer.ts +8 -2
  1633. package/src/unstable/cli/internal/parser.ts +5 -5
  1634. package/src/unstable/cli/internal/wizard.ts +2 -2
  1635. package/src/unstable/cluster/ClusterError.ts +7 -7
  1636. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1637. package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
  1638. package/src/unstable/cluster/Entity.ts +23 -19
  1639. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1640. package/src/unstable/cluster/EntityResource.ts +2 -2
  1641. package/src/unstable/cluster/Envelope.ts +5 -4
  1642. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1643. package/src/unstable/cluster/Message.ts +9 -9
  1644. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1645. package/src/unstable/cluster/Reply.ts +26 -7
  1646. package/src/unstable/cluster/Runner.ts +1 -1
  1647. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1648. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1649. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1650. package/src/unstable/cluster/RunnerStorage.ts +11 -9
  1651. package/src/unstable/cluster/Runners.ts +48 -26
  1652. package/src/unstable/cluster/ShardId.ts +1 -1
  1653. package/src/unstable/cluster/Sharding.ts +223 -55
  1654. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1655. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1656. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1657. package/src/unstable/cluster/Snowflake.ts +8 -8
  1658. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1659. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1660. package/src/unstable/cluster/internal/entityManager.ts +43 -26
  1661. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1662. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1663. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1664. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1665. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1666. package/src/unstable/encoding/Ini.ts +174 -0
  1667. package/src/unstable/encoding/Msgpack.ts +61 -40
  1668. package/src/unstable/encoding/Ndjson.ts +9 -1
  1669. package/src/unstable/encoding/Sse.ts +109 -37
  1670. package/src/unstable/encoding/Toml.ts +504 -0
  1671. package/src/unstable/encoding/Yaml.ts +541 -0
  1672. package/src/unstable/encoding/index.ts +15 -0
  1673. package/src/unstable/eventlog/Event.ts +20 -20
  1674. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1675. package/src/unstable/eventlog/EventJournal.ts +30 -22
  1676. package/src/unstable/eventlog/EventLog.ts +24 -14
  1677. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1678. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1679. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1680. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1681. package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
  1682. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1683. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1684. package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
  1685. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1686. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1687. package/src/unstable/http/Cookies.ts +64 -45
  1688. package/src/unstable/http/Etag.ts +1 -1
  1689. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1690. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1691. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1692. package/src/unstable/http/FindMyWay.ts +65 -6
  1693. package/src/unstable/http/Headers.ts +10 -10
  1694. package/src/unstable/http/HttpBody.ts +20 -5
  1695. package/src/unstable/http/HttpClient.ts +215 -78
  1696. package/src/unstable/http/HttpClientError.ts +1 -1
  1697. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1698. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1699. package/src/unstable/http/HttpEffect.ts +20 -19
  1700. package/src/unstable/http/HttpMethod.ts +6 -9
  1701. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1702. package/src/unstable/http/HttpPlatform.ts +129 -6
  1703. package/src/unstable/http/HttpRouter.ts +109 -101
  1704. package/src/unstable/http/HttpServer.ts +13 -13
  1705. package/src/unstable/http/HttpServerError.ts +2 -2
  1706. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1707. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1708. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1709. package/src/unstable/http/Multipart.ts +67 -36
  1710. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1711. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1712. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1713. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1714. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1715. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1716. package/src/unstable/http/MultipartParser.ts +115 -0
  1717. package/src/unstable/http/Template.ts +7 -6
  1718. package/src/unstable/http/Url.ts +33 -63
  1719. package/src/unstable/http/UrlParams.ts +27 -32
  1720. package/src/unstable/http/index.ts +1 -1
  1721. package/src/unstable/http/internal/compression.ts +196 -0
  1722. package/src/unstable/http/internal/httpBody.ts +15 -0
  1723. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1724. package/src/unstable/httpapi/HttpApiBuilder.ts +154 -33
  1725. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1726. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1727. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1728. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1729. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1730. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1731. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1732. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1733. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1734. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1735. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1736. package/src/unstable/observability/OtlpResource.ts +26 -17
  1737. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1738. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1739. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1740. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1741. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1742. package/src/unstable/persistence/Persistable.ts +11 -10
  1743. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1744. package/src/unstable/persistence/Persistence.ts +153 -26
  1745. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1746. package/src/unstable/persistence/Redis.ts +5 -5
  1747. package/src/unstable/process/ChildProcess.ts +72 -21
  1748. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1749. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1750. package/src/unstable/reactivity/Atom.ts +161 -47
  1751. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1752. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1753. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1754. package/src/unstable/reactivity/Hydration.ts +1 -1
  1755. package/src/unstable/rpc/Rpc.ts +35 -33
  1756. package/src/unstable/rpc/RpcClient.ts +65 -29
  1757. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1758. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1759. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1760. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1761. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1762. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1763. package/src/unstable/rpc/RpcServer.ts +22 -17
  1764. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1765. package/src/unstable/schema/Model.ts +52 -50
  1766. package/src/unstable/schema/VariantSchema.ts +51 -43
  1767. package/src/unstable/socket/Socket.ts +42 -19
  1768. package/src/unstable/sql/Migrator.ts +22 -9
  1769. package/src/unstable/sql/SqlClient.ts +64 -56
  1770. package/src/unstable/sql/SqlError.ts +15 -15
  1771. package/src/unstable/sql/SqlModel.ts +2 -2
  1772. package/src/unstable/sql/SqlResolver.ts +41 -31
  1773. package/src/unstable/sql/Statement.ts +44 -37
  1774. package/src/unstable/workers/Transferable.ts +1 -1
  1775. package/src/unstable/workers/Worker.ts +15 -16
  1776. package/src/unstable/workers/WorkerError.ts +12 -12
  1777. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1778. package/src/unstable/workflow/Activity.ts +2 -2
  1779. package/src/unstable/workflow/DurableClock.ts +1 -1
  1780. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1781. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1782. package/src/unstable/workflow/Workflow.ts +23 -26
  1783. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1784. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1785. package/dist/SchemaError.d.ts +0 -53
  1786. package/dist/SchemaError.d.ts.map +0 -1
  1787. package/dist/SchemaError.js +0 -61
  1788. package/dist/SchemaError.js.map +0 -1
  1789. package/dist/SchemaUtils.d.ts +0 -28
  1790. package/dist/SchemaUtils.d.ts.map +0 -1
  1791. package/dist/SchemaUtils.js +0 -45
  1792. package/dist/SchemaUtils.js.map +0 -1
  1793. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1794. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1795. package/dist/internal/schema/arbitrary.js.map +0 -1
  1796. package/dist/internal/schema/equivalence.d.ts +0 -2
  1797. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1798. package/dist/internal/schema/equivalence.js.map +0 -1
  1799. package/dist/internal/schema/representation.d.ts +0 -2
  1800. package/dist/internal/schema/representation.d.ts.map +0 -1
  1801. package/dist/internal/schema/representation.js +0 -865
  1802. package/dist/internal/schema/representation.js.map +0 -1
  1803. package/dist/internal/version.d.ts +0 -3
  1804. package/dist/internal/version.d.ts.map +0 -1
  1805. package/dist/internal/version.js +0 -2
  1806. package/dist/internal/version.js.map +0 -1
  1807. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1808. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1809. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1810. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1811. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1812. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1813. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1814. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1815. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1816. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1817. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1818. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1819. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1820. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1821. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1822. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1823. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1824. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1825. package/dist/unstable/http/Multipasta.js +0 -15
  1826. package/dist/unstable/http/Multipasta.js.map +0 -1
  1827. package/src/SchemaError.ts +0 -64
  1828. package/src/SchemaUtils.ts +0 -51
  1829. package/src/internal/schema/representation.ts +0 -795
  1830. package/src/internal/version.ts +0 -2
  1831. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1832. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1833. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1834. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1835. package/src/unstable/http/Multipasta.ts +0 -15
@@ -13,11 +13,14 @@
13
13
  import * as Arr from "../../Array.js";
14
14
  import * as Cause from "../../Cause.js";
15
15
  import * as Context from "../../Context.js";
16
+ import * as Data from "../../Data.js";
16
17
  import * as Effect from "../../Effect.js";
17
18
  import * as Exit from "../../Exit.js";
18
19
  import * as Fiber from "../../Fiber.js";
19
20
  import * as Layer from "../../Layer.js";
21
+ import * as LogLevel from "../../LogLevel.js";
20
22
  import * as Option from "../../Option.js";
23
+ import * as Predicate from "../../Predicate.js";
21
24
  import * as Queue from "../../Queue.js";
22
25
  import * as RcMap from "../../RcMap.js";
23
26
  import { CurrentLogLevel } from "../../References.js";
@@ -36,7 +39,9 @@ import * as RpcClient from "../rpc/RpcClient.js";
36
39
  import * as RpcMessage from "../rpc/RpcMessage.js";
37
40
  import * as RpcSerialization from "../rpc/RpcSerialization.js";
38
41
  import * as RpcServer from "../rpc/RpcServer.js";
39
- import { CallToolResult, ClientNotificationRpcs, ClientRpcs, CompleteResult, Elicit, ElicitationDeclined, EnabledWhen, GetPromptResult, InternalError, InvalidParams, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, McpServerClient, McpServerClientMiddleware, Prompt, Resource, ResourceTemplate, ServerNotificationRpcs, ServerRequestRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
42
+ import * as AiError from "./AiError.js";
43
+ import * as McpProtocolRegistry from "./internal/mcpProtocolRegistry.js";
44
+ import { CallToolResult, CancelledNotification, ClientRpcs, Elicit, ElicitationDeclined, EnabledWhen, GetPromptResult, InternalError, INVALID_REQUEST_ERROR_CODE, InvalidParams, InvalidRequest, isParam, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ListToolsResult, LoggingMessageNotification, McpErrorBase, McpServerClient, McpServerClientMiddleware, MethodNotFound, ParseError, Prompt, Resource, ResourceTemplate, ResourceUpdatedNotification, ServerNotificationRpcs, TextContent, Tool as McpTool } from "./McpSchema.js";
40
45
  import * as Tool from "./Tool.js";
41
46
  /**
42
47
  * Service that stores and serves an MCP server's registered tools, resources,
@@ -47,7 +52,7 @@ import * as Tool from "./Tool.js";
47
52
  * Handlers use this service to register capabilities and resolve incoming MCP
48
53
  * requests.
49
54
  *
50
- * @category server
55
+ * @category services
51
56
  * @since 4.0.0
52
57
  */
53
58
  export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServer") {
@@ -111,7 +116,9 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
111
116
  message: `Tool '${request.name}' not found`
112
117
  }));
113
118
  }
114
- return handle(request.arguments);
119
+ return handle(request.arguments).pipe(Effect.catchDefect(() => Effect.fail(new InternalError({
120
+ message: "Internal error"
121
+ }))));
115
122
  }),
116
123
  get resources() {
117
124
  return resources;
@@ -150,9 +157,10 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
150
157
  findResource: uri => Effect.suspend(() => {
151
158
  const match = matcher.find(uri);
152
159
  if (!match) {
153
- return Effect.succeed({
154
- contents: []
155
- });
160
+ return Effect.fail(new McpErrorBase({
161
+ code: -32002,
162
+ message: `Resource '${uri}' not found`
163
+ }));
156
164
  } else if (match.handler._tag === "Resource") {
157
165
  return match.handler.effect;
158
166
  }
@@ -189,7 +197,20 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
189
197
  const ref = complete.ref;
190
198
  const key = ref.type === "ref/resource" ? `ref/resource/${ref.uri}/${complete.argument.name}` : `ref/prompt/${ref.name}/${complete.argument.name}`;
191
199
  const handler = completionsMap.get(key);
192
- return handler ? yield* handler(complete.argument.value) : CompleteResult.empty;
200
+ if (!handler) {
201
+ return yield* new InvalidParams({
202
+ message: "Unknown completion reference or argument"
203
+ });
204
+ }
205
+ const result = yield* handler(complete.argument.value, complete.context);
206
+ const values = Arr.take(result.completion.values, 100);
207
+ return {
208
+ completion: {
209
+ ...result.completion,
210
+ values,
211
+ hasMore: result.completion.hasMore === true || values.length < result.completion.values.length
212
+ }
213
+ };
193
214
  })
194
215
  });
195
216
  });
@@ -200,10 +221,23 @@ export class McpServer extends /*#__PURE__*/Context.Service()("effect/ai/McpServ
200
221
  */
201
222
  static layer = /*#__PURE__*/Layer.effect(McpServer)(McpServer.make);
202
223
  }
203
- const LATEST_PROTOCOL_VERSION = "2025-06-18";
204
- const SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-03-26", "2024-11-05", "2024-10-07"];
205
- const mcpSessionIdHeader = "mcp-session-id";
206
- const mcpProtocolVersionHeader = "mcp-protocol-version";
224
+ const MCP_SESSION_ID_HEADER = "mcp-session-id";
225
+ const MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version";
226
+ const MCP_INVALID_BATCH_METHOD = "invalid/json-rpc-batch";
227
+ const decodeCancelledNotification = /*#__PURE__*/Schema.decodeUnknownEffect(/*#__PURE__*/Schema.toCodecJson(CancelledNotification.payloadSchema));
228
+ const requestKey = requestId => `${typeof requestId}:${requestId}`;
229
+ class McpClientKey extends Data.Class {}
230
+ class McpProtocolState extends /*#__PURE__*/Context.Service()("effect/ai/McpServer/McpProtocolState") {}
231
+ const makeMcpProtocolState = /*#__PURE__*/Effect.fnUntraced(function* (protocols) {
232
+ return McpProtocolState.of({
233
+ sessions: {
234
+ bySessionId: new Map(),
235
+ byClientId: new Map()
236
+ },
237
+ protocolRegistry: yield* McpProtocolRegistry.make(protocols)
238
+ });
239
+ });
240
+ const layerMcpProtocolState = protocols => Layer.effect(McpProtocolState)(makeMcpProtocolState(protocols));
207
241
  /**
208
242
  * Runs an MCP server over the current `RpcServer.Protocol`.
209
243
  *
@@ -213,21 +247,32 @@ const mcpProtocolVersionHeader = "mcp-protocol-version";
213
247
  * tools, resources, and prompts, and forwards queued server notifications to
214
248
  * initialized clients.
215
249
  *
216
- * @category constructors
250
+ * @category running
217
251
  * @since 4.0.0
218
252
  */
219
253
  export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
254
+ const protocolStateOption = yield* Effect.serviceOption(McpProtocolState);
255
+ const protocolState = Option.isSome(protocolStateOption) ? protocolStateOption.value : yield* makeMcpProtocolState(options.protocols);
256
+ return yield* runWithProtocolState(options, protocolState);
257
+ });
258
+ const runWithProtocolState = /*#__PURE__*/Effect.fnUntraced(function* (options, protocolState) {
259
+ const serverScope = yield* Effect.scope;
260
+ const protocolRegistry = protocolState.protocolRegistry;
220
261
  const protocol = yield* RpcServer.Protocol;
221
262
  const server = yield* McpServer;
222
263
  const isHttp = Option.isSome(yield* Effect.serviceOption(HttpRouter.HttpRouter));
223
- const clientSessions = new Map();
264
+ const sessions = protocolState.sessions;
265
+ const clientProtocols = new Map();
266
+ const activeRequests = new Map();
224
267
  const handlers = yield* Layer.build(layerHandlers(options, {
225
- clientSessions
268
+ sessions,
269
+ protocolRegistry
226
270
  }));
227
271
  const clients = yield* RcMap.make({
228
- lookup: Effect.fnUntraced(function* (clientId) {
272
+ lookup: Effect.fnUntraced(function* (key) {
273
+ const selectedProtocol = protocolRegistry.select(key.protocolVersion);
229
274
  let write;
230
- const client = yield* RpcClient.make(ServerRequestRpcs, {
275
+ const client = yield* RpcClient.make(selectedProtocol.serverRequestRpcs, {
231
276
  spanPrefix: "McpServer/Client"
232
277
  }).pipe(Effect.provideServiceEffect(RpcClient.Protocol, RpcClient.Protocol.make(Effect.fnUntraced(function* (writeResponse) {
233
278
  let cid = 0;
@@ -235,7 +280,7 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
235
280
  return {
236
281
  send(id, request, _transferables) {
237
282
  cid = id;
238
- return protocol.send(clientId, {
283
+ return protocol.send(key.clientId, {
239
284
  ...request,
240
285
  headers: undefined,
241
286
  traceId: undefined,
@@ -258,95 +303,249 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
258
303
  const clientMiddleware = McpServerClientMiddleware.of((effect, {
259
304
  client,
260
305
  headers,
306
+ payload,
261
307
  rpc
262
308
  }) => {
263
- const initializePayload = getInitializedClient(clientSessions, client.id, headers);
264
- const isInitialize = rpc._tag === "initialize";
265
- if (!isInitialize && !initializePayload) {
309
+ const session = getClientSession(sessions, client.id, headers);
310
+ const isInitialize = rpc._tag.endsWith("/initialize");
311
+ if (!isInitialize && !session) {
266
312
  const fiber = Fiber.getCurrent();
267
313
  const httpRequest = Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest);
268
314
  if (httpRequest) {
269
315
  appendPreResponseHandlerUnsafe(httpRequest, () => Effect.succeed(HttpServerResponse.empty({
270
- status: 404
316
+ status: headers[MCP_SESSION_ID_HEADER] === undefined ? 400 : 404
271
317
  })));
272
318
  }
273
319
  return Effect.die(new Error(`Mcp-Session-Id does not exist`));
274
320
  }
275
- return Effect.provideService(effect, McpServerClient, McpServerClient.of({
321
+ const selectedProtocol = session?.protocol ?? protocolForInternalTag(protocolRegistry, rpc._tag);
322
+ return effect.pipe(Effect.provideService(McpServerClient, McpServerClient.of({
276
323
  clientId: client.id,
277
- initializePayload: initializePayload,
278
- getClient: RcMap.get(clients, client.id).pipe(Effect.map(({
324
+ protocolVersion: selectedProtocol.protocolVersion,
325
+ initializePayload: session?.initializePayload ?? payload,
326
+ getClient: RcMap.get(clients, new McpClientKey({
327
+ clientId: client.id,
328
+ protocolVersion: selectedProtocol.protocolVersion
329
+ })).pipe(Effect.map(({
279
330
  client
280
331
  }) => client))
281
- }));
332
+ })), Effect.provideService(CurrentLogLevel, effectLogLevel(session?.logLevel)));
282
333
  });
283
334
  const patchedProtocol = RpcServer.Protocol.of({
284
335
  ...protocol,
336
+ send: (clientId, response) => {
337
+ if (response._tag === "Exit") {
338
+ const requests = activeRequests.get(clientId);
339
+ const key = requestKey(response.requestId);
340
+ const cancelled = requests?.get(key);
341
+ if (requests !== undefined && requests.delete(key) && requests.size === 0) {
342
+ activeRequests.delete(clientId);
343
+ }
344
+ if (cancelled === true) {
345
+ return Effect.void;
346
+ }
347
+ }
348
+ return protocol.send(clientId, response);
349
+ },
285
350
  run: f => protocol.run((clientId, request_) => {
351
+ const fiber = Fiber.getCurrent();
286
352
  const request = request_;
353
+ const httpRequest = isHttp ? Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest) : undefined;
354
+ if (httpRequest !== undefined && request._tag !== "Eof") {
355
+ appendPreResponseHandlerUnsafe(httpRequest, (_, response) => Effect.succeed(response.status === 200 && response.body._tag === "Uint8Array" && response.body.contentLength === 0 ? HttpServerResponse.empty({
356
+ headers: Headers.remove(response.headers, "content-type"),
357
+ status: 202
358
+ }) : response));
359
+ }
287
360
  switch (request._tag) {
288
361
  case "Request":
289
362
  {
363
+ const headers = isHttp ? Context.getUnsafe(Fiber.getCurrent().context, HttpServerRequest.HttpServerRequest).headers : Headers.fromInput(request.headers);
364
+ const session = getClientSession(sessions, clientId, headers);
365
+ const selectedProtocol = session?.protocol ?? (request.tag === "initialize" ? protocolRegistry.select(getOfferedProtocolVersion(request.payload)) : protocolRegistry.protocols[0]);
366
+ clientProtocols.set(clientId, selectedProtocol);
367
+ if (request.tag === MCP_INVALID_BATCH_METHOD) {
368
+ return protocol.send(clientId, {
369
+ _tag: "Exit",
370
+ requestId: request.id,
371
+ exit: {
372
+ _tag: "Failure",
373
+ cause: [{
374
+ _tag: "Fail",
375
+ error: new InvalidRequest({
376
+ message: "JSON-RPC batches are not supported"
377
+ })
378
+ }]
379
+ }
380
+ });
381
+ }
290
382
  if (isHttp) {
291
383
  const fiber = Fiber.getCurrent();
292
384
  const httpRequest = Context.getUnsafe(fiber.context, HttpServerRequest.HttpServerRequest);
293
- const client = getInitializedClient(clientSessions, clientId, httpRequest.headers);
294
- if (client) {
295
- appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, mcpProtocolVersionHeader, client.protocolVersion)));
385
+ if (session) {
386
+ appendPreResponseHandlerUnsafe(httpRequest, (_, res) => Effect.succeed(HttpServerResponse.setHeader(res, MCP_PROTOCOL_VERSION_HEADER, session.protocol.protocolVersion)));
296
387
  }
297
388
  }
298
- const rpc = ClientNotificationRpcs.requests.get(request.tag);
299
- if (rpc) {
389
+ const routedRequest = protocolRegistry.routeClientRequest(selectedProtocol, request);
390
+ const rpc = protocolRegistry.clientRpcs.requests.get(routedRequest.tag);
391
+ if (rpc && selectedProtocol.clientNotificationRpcs.requests.has(request.tag)) {
392
+ if (!session) {
393
+ if (httpRequest) {
394
+ appendPreResponseHandlerUnsafe(httpRequest, () => Effect.succeed(HttpServerResponse.empty({
395
+ status: headers[MCP_SESSION_ID_HEADER] === undefined ? 400 : 404
396
+ })));
397
+ }
398
+ return Effect.void;
399
+ }
300
400
  if (request.tag === "notifications/cancelled") {
301
- return f(clientId, {
302
- _tag: "Interrupt",
303
- requestId: String(request.payload.requestId)
304
- });
401
+ return decodeCancelledNotification(request.payload).pipe(Effect.flatMap(({
402
+ requestId
403
+ }) => {
404
+ const key = requestKey(requestId);
405
+ const requests = activeRequests.get(clientId);
406
+ if (requests?.has(key) !== true) {
407
+ return Effect.void;
408
+ }
409
+ requests.set(key, true);
410
+ return f(clientId, {
411
+ _tag: "Interrupt",
412
+ requestId: RpcMessage.RequestId(requestId)
413
+ });
414
+ }), Effect.catchCause(() => Effect.void));
415
+ }
416
+ return selectedProtocol.payloadCodecs(rpc).decode(request.payload).pipe(Effect.flatMap(payload => {
417
+ if (request.tag === "notifications/roots/list_changed" && session.initializePayload.capabilities.roots?.listChanged === true) {
418
+ if (httpRequest !== undefined) {
419
+ return Effect.void;
420
+ }
421
+ return RcMap.get(clients, new McpClientKey({
422
+ clientId,
423
+ protocolVersion: selectedProtocol.protocolVersion
424
+ })).pipe(Effect.flatMap(({
425
+ client
426
+ }) => client["roots/list"](undefined)), Effect.scoped, Effect.ignoreCause, Effect.forkIn(serverScope), Effect.asVoid);
427
+ }
428
+ const handler = handlers.mapUnsafe.get(rpc.key);
429
+ return handler ? handler.handler(payload, {
430
+ rpc,
431
+ requestId: RpcMessage.RequestId(request.id),
432
+ client: new Rpc.ServerClient(clientId),
433
+ headers
434
+ }) : Effect.void;
435
+ }), Effect.catchCause(() => Effect.void));
436
+ }
437
+ if (!rpc) {
438
+ if (request.isNotification) {
439
+ return Effect.void;
305
440
  }
306
- const handler = handlers.mapUnsafe.get(request.tag);
307
- return handler ? handler.handler(request.payload, {
308
- rpc,
309
- requestId: RpcMessage.RequestId(request.id),
310
- client: new Rpc.ServerClient(clientId),
311
- headers: Headers.fromInput(request.headers)
312
- }) : Effect.void;
441
+ return protocol.send(clientId, {
442
+ _tag: "Exit",
443
+ requestId: request.id,
444
+ exit: {
445
+ _tag: "Failure",
446
+ cause: [{
447
+ _tag: "Fail",
448
+ error: new MethodNotFound({
449
+ message: `Method not found: ${request.tag}`
450
+ })
451
+ }]
452
+ }
453
+ });
313
454
  }
314
- return f(clientId, request);
455
+ return selectedProtocol.payloadCodecs(rpc).decode(request.payload).pipe(Effect.matchEffect({
456
+ onSuccess: () => {
457
+ if (request.isNotification !== true) {
458
+ const requests = activeRequests.get(clientId) ?? new Map();
459
+ requests.set(requestKey(request.id), false);
460
+ activeRequests.set(clientId, requests);
461
+ }
462
+ return f(clientId, routedRequest);
463
+ },
464
+ onFailure: () => request.isNotification ? Effect.void : protocol.send(clientId, {
465
+ _tag: "Exit",
466
+ requestId: request.id,
467
+ exit: {
468
+ _tag: "Failure",
469
+ cause: [{
470
+ _tag: "Fail",
471
+ error: new InvalidParams({
472
+ message: "Invalid method parameters"
473
+ })
474
+ }]
475
+ }
476
+ })
477
+ }));
315
478
  }
316
479
  case "Ping":
317
480
  case "Ack":
318
481
  case "Interrupt":
482
+ return f(clientId, request);
319
483
  case "Eof":
484
+ activeRequests.delete(clientId);
320
485
  return f(clientId, request);
321
486
  case "Pong":
322
487
  case "Exit":
323
488
  case "Chunk":
324
489
  case "ClientProtocolError":
325
490
  case "Defect":
326
- return RcMap.get(clients, clientId).pipe(Effect.flatMap(({
491
+ return RcMap.get(clients, new McpClientKey({
492
+ clientId,
493
+ protocolVersion: getProtocolForClient(clientProtocols, clientId, protocolRegistry).protocolVersion
494
+ })).pipe(Effect.flatMap(({
327
495
  write
328
496
  }) => write(request)), Effect.scoped);
329
497
  }
330
498
  })
331
499
  });
332
- const encodeNotification = Schema.encodeUnknownEffect(Schema.Union(Array.from(ServerNotificationRpcs.requests.values(), rpc => rpc.payloadSchema)));
333
500
  yield* Queue.take(server.notificationsQueue).pipe(Effect.flatMap(Effect.fnUntraced(function* (request) {
334
- const encoded = yield* encodeNotification(request.payload);
335
- const message = {
336
- _tag: "Request",
337
- tag: request.tag,
338
- payload: encoded
339
- };
340
501
  const clientIds = yield* patchedProtocol.clientIds;
502
+ for (const clientId of clientProtocols.keys()) {
503
+ if (!clientIds.has(clientId)) {
504
+ clientProtocols.delete(clientId);
505
+ sessions.byClientId.delete(clientId);
506
+ }
507
+ }
341
508
  for (const clientId of server.initializedClients.keys()) {
342
509
  if (!clientIds.has(clientId)) {
343
510
  server.initializedClients.delete(clientId);
344
511
  continue;
345
512
  }
513
+ const selectedProtocol = clientProtocols.get(clientId);
514
+ if (!selectedProtocol) {
515
+ continue;
516
+ }
517
+ const rpc = selectedProtocol.serverNotificationRpcs.requests.get(request.tag);
518
+ if (!rpc) {
519
+ continue;
520
+ }
521
+ if (request.tag === "notifications/message") {
522
+ const {
523
+ level
524
+ } = yield* Schema.decodeUnknownEffect(LoggingMessageNotification.payloadSchema)(request.payload);
525
+ if (!isMcpLogLevelEnabled(level, sessions.byClientId.get(clientId)?.logLevel)) {
526
+ continue;
527
+ }
528
+ }
529
+ if (request.tag === "notifications/resources/updated") {
530
+ const {
531
+ uri
532
+ } = yield* Schema.decodeUnknownEffect(ResourceUpdatedNotification.payloadSchema)(request.payload);
533
+ if (sessions.byClientId.get(clientId)?.resourceSubscriptions?.has(uri) !== true) {
534
+ continue;
535
+ }
536
+ }
537
+ const encoded = yield* selectedProtocol.payloadCodecs(rpc).encode(request.payload);
538
+ // TODO: Extend RpcServer.Protocol's outbound message contract with server-originated
539
+ // notifications so MCP does not need to treat this notification as an RPC response.
540
+ const message = {
541
+ _tag: "Request",
542
+ tag: request.tag,
543
+ payload: encoded
544
+ };
346
545
  yield* patchedProtocol.send(clientId, message);
347
546
  }
348
547
  })), Effect.catchCause(() => Effect.void), Effect.forever, Effect.forkScoped);
349
- return yield* RpcServer.make(ClientRpcs, {
548
+ return yield* RpcServer.make(protocolRegistry.clientRpcs, {
350
549
  spanPrefix: "McpServer",
351
550
  disableFatalDefects: true
352
551
  }).pipe(Effect.provideService(RpcServer.Protocol, patchedProtocol), Effect.provideService(McpServerClientMiddleware, clientMiddleware), Effect.provide(handlers));
@@ -380,69 +579,130 @@ export const run = /*#__PURE__*/Effect.fnUntraced(function* (options) {
380
579
  * @category layers
381
580
  * @since 4.0.0
382
581
  */
383
- export const layer = options => Layer.effectDiscard(Effect.forkScoped(run(options))).pipe(Layer.provideMerge(McpServer.layer));
582
+ export const layer = options => layerWithProtocolState(options).pipe(Layer.provide(layerMcpProtocolState(options.protocols)));
583
+ const layerWithProtocolState = options => Layer.effectDiscard(Effect.gen(function* () {
584
+ const protocolState = yield* McpProtocolState;
585
+ yield* Effect.forkScoped(runWithProtocolState(options, protocolState));
586
+ })).pipe(Layer.provideMerge(McpServer.layer));
587
+ const StdioInitializeRequest = /*#__PURE__*/Schema.Struct({
588
+ method: /*#__PURE__*/Schema.Literal("initialize"),
589
+ params: /*#__PURE__*/Schema.Struct({
590
+ protocolVersion: Schema.String
591
+ })
592
+ });
593
+ const StdioInvalidBatchExit = /*#__PURE__*/Schema.Struct({
594
+ _tag: /*#__PURE__*/Schema.Literal("Exit"),
595
+ requestId: Schema.Null,
596
+ exit: /*#__PURE__*/Schema.Struct({
597
+ cause: Schema.Unknown
598
+ })
599
+ });
600
+ const decodeStdioInitializeRequest = /*#__PURE__*/Schema.decodeUnknownOption(StdioInitializeRequest);
601
+ const decodeStdioInvalidBatchExit = /*#__PURE__*/Schema.decodeUnknownOption(StdioInvalidBatchExit);
602
+ const makeStdioSerialization = protocols => RpcSerialization.RpcSerialization.of({
603
+ contentType: "application/json-rpc",
604
+ includesFraming: true,
605
+ makeUnsafe: () => {
606
+ const framing = RpcSerialization.ndjson.makeUnsafe();
607
+ const jsonRpc = RpcSerialization.jsonRpc().makeUnsafe();
608
+ const protocolsByVersion = new Map(protocols.map(protocol => [protocol.protocolVersion, protocol]));
609
+ let selectedProtocol = protocols[0];
610
+ return {
611
+ decode: data => {
612
+ const frames = framing.decode(data);
613
+ const messages = [];
614
+ for (const frame of frames) {
615
+ const entries = Array.isArray(frame) ? frame : [frame];
616
+ const initialize = Arr.findFirst(entries, entry => decodeStdioInitializeRequest(entry));
617
+ selectedProtocol = Option.match(initialize, {
618
+ onNone: () => selectedProtocol,
619
+ onSome: ({
620
+ params
621
+ }) => protocolsByVersion.get(params.protocolVersion) ?? protocols[0]
622
+ });
623
+ if (Array.isArray(frame) && !selectedProtocol.transport.acceptsJsonRpcBatches) {
624
+ messages.push({
625
+ _tag: "Request",
626
+ id: null,
627
+ tag: MCP_INVALID_BATCH_METHOD,
628
+ payload: null,
629
+ headers: []
630
+ });
631
+ } else {
632
+ messages.push(...jsonRpc.decode(JSON.stringify(frame)));
633
+ }
634
+ }
635
+ return messages;
636
+ },
637
+ encode: response => {
638
+ const invalidBatchExit = decodeStdioInvalidBatchExit(response);
639
+ if (Option.isSome(invalidBatchExit)) {
640
+ return framing.encode({
641
+ jsonrpc: "2.0",
642
+ id: null,
643
+ error: {
644
+ _tag: "Cause",
645
+ code: INVALID_REQUEST_ERROR_CODE,
646
+ message: "JSON-RPC batches are not supported",
647
+ data: invalidBatchExit.value.exit.cause
648
+ }
649
+ });
650
+ }
651
+ const encoded = jsonRpc.encode(response);
652
+ return encoded === undefined ? undefined : `${encoded}\n`;
653
+ }
654
+ };
655
+ }
656
+ });
384
657
  /**
385
658
  * Runs the McpServer, using stdio for input and output.
386
659
  *
387
- * **Example** (Running an MCP server over stdio)
660
+ * **Example** (Configuring an MCP server over stdio)
388
661
  *
389
- * ```ts
390
- * import { Effect, Layer, Logger, Schema } from "effect"
391
- * import { NodeRuntime, NodeStdio } from "@effect/platform-node"
392
- * import { McpSchema, McpServer } from "effect/unstable/ai"
662
+ * ```ts import.meta.vitest
663
+ * import { Effect, Layer, Schema } from "effect"
664
+ * import { McpProtocol, McpSchema, McpServer } from "effect/unstable/ai"
393
665
  *
394
666
  * const idParam = McpSchema.param("id", Schema.Number)
395
667
  *
396
- * // Define a resource template for a README file
397
668
  * const ReadmeTemplate = McpServer.resource`file://readme/${idParam}`({
398
669
  * name: "README Template",
399
- * // You can add auto-completion for the ID parameter
400
670
  * completion: {
401
- * id: (_) => Effect.succeed([1, 2, 3, 4, 5])
671
+ * id: () => Effect.succeed([1, 2, 3])
402
672
  * },
403
- * content: Effect.fn(function*(_uri, id) {
404
- * return `# MCP Server Demo - ID: ${id}`
405
- * })
673
+ * content: (_uri, id) => Effect.succeed(`# MCP Server Demo - ID: ${id}`)
406
674
  * })
407
675
  *
408
- * // Define a test prompt with parameters
409
676
  * const TestPrompt = McpServer.prompt({
410
677
  * name: "Test Prompt",
411
- * description: "A test prompt to demonstrate MCP server capabilities",
678
+ * description: "Looks up flight booking details",
412
679
  * parameters: {
413
680
  * flightNumber: Schema.String
414
681
  * },
415
682
  * completion: {
416
- * flightNumber: () => Effect.succeed(["FL123", "FL456", "FL789"])
683
+ * flightNumber: () => Effect.succeed(["FL123", "FL456"])
417
684
  * },
418
685
  * content: ({ flightNumber }) =>
419
686
  * Effect.succeed(`Get the booking details for flight number: ${flightNumber}`)
420
687
  * })
421
688
  *
422
- * // Merge all the resources and prompts into a single server layer
423
- * const ServerLayer = Layer.mergeAll(
424
- * ReadmeTemplate,
425
- * TestPrompt
426
- * ).pipe(
427
- * // Provide the MCP server implementation
689
+ * const ServerLayer = Layer.mergeAll(ReadmeTemplate, TestPrompt).pipe(
428
690
  * Layer.provide(McpServer.layerStdio({
429
691
  * name: "Demo Server",
430
692
  * version: "1.0.0",
431
- * })),
432
- * Layer.provide(NodeStdio.layer),
433
- * Layer.provide(Layer.succeed(Logger.LogToStderr)(true))
693
+ * protocols: [McpProtocol.v2025_06_18]
694
+ * }))
434
695
  * )
435
696
  *
436
- * Layer.launch(ServerLayer).pipe(NodeRuntime.runMain)
697
+ * Layer.isLayer(ServerLayer) // => true
437
698
  * ```
438
699
  *
439
700
  * @category layers
440
701
  * @since 4.0.0
441
702
  */
442
- export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolStdio), Layer.provide(RpcSerialization.layerNdJsonRpc()));
703
+ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolStdio), Layer.provide(Layer.succeed(RpcSerialization.RpcSerialization)(makeStdioSerialization(options.protocols))));
443
704
  /**
444
- * Registers an HTTP POST JSON-RPC route at `options.path` on the current
445
- * `HttpRouter`.
705
+ * Registers a Streamable HTTP MCP endpoint at `options.path`.
446
706
  *
447
707
  * **When to use**
448
708
  *
@@ -450,8 +710,9 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
450
710
  *
451
711
  * **Details**
452
712
  *
453
- * This layer composes `layer(options)`, `RpcServer.layerProtocolHttp(options)`,
454
- * and `RpcSerialization.layerJsonRpc()`.
713
+ * POST serves JSON-RPC and accepted notification-only requests return `202`.
714
+ * Unsupported protocol versions return `400`; methods without MCP handlers
715
+ * return `405`. Browser Origins are rejected unless listed in `allowedOrigins`.
455
716
  *
456
717
  * @see {@link layerStdio} for exposing the server over stdio
457
718
  * @see {@link layer} for the base MCP server layer without a transport protocol
@@ -459,11 +720,163 @@ export const layerStdio = options => layer(options).pipe(Layer.provide(RpcServer
459
720
  * @category layers
460
721
  * @since 4.0.0
461
722
  */
462
- export const layerHttp = options => layer(options).pipe(Layer.provide(RpcServer.layerProtocolHttp(options)), Layer.provide(RpcSerialization.layerJsonRpc()));
723
+ export const layerHttp = options => {
724
+ const protocolState = layerMcpProtocolState(options.protocols);
725
+ const methodNotAllowedResponse = HttpServerResponse.empty({
726
+ status: 405,
727
+ headers: {
728
+ allow: "POST"
729
+ }
730
+ });
731
+ const methodNotAllowed = request => Effect.succeed(request.headers.origin !== undefined && !options.allowedOrigins?.includes(request.headers.origin) ? HttpServerResponse.empty({
732
+ status: 403
733
+ }) : methodNotAllowedResponse);
734
+ const routes = Layer.mergeAll(HttpRouter.add("GET", options.path, methodNotAllowed), HttpRouter.add("PUT", options.path, methodNotAllowed), HttpRouter.add("PATCH", options.path, methodNotAllowed), HttpRouter.add("DELETE", options.path, methodNotAllowed), HttpRouter.add("OPTIONS", options.path, methodNotAllowed));
735
+ return Layer.merge(layerWithProtocolState(options), routes).pipe(Layer.provide(layerMcpProtocolHttp(options)), Layer.provide(protocolState), Layer.provide(RpcSerialization.layerJsonRpc()));
736
+ };
737
+ const layerMcpProtocolHttp = options => Layer.effect(RpcServer.Protocol)(Effect.gen(function* () {
738
+ const state = yield* McpProtocolState;
739
+ const {
740
+ httpEffect,
741
+ protocol
742
+ } = yield* RpcServer.makeProtocolWithHttpEffect;
743
+ const router = yield* HttpRouter.HttpRouter;
744
+ yield* router.add("POST", options.path, request => {
745
+ if (request.headers.origin !== undefined && !options.allowedOrigins?.includes(request.headers.origin)) {
746
+ return Effect.succeed(HttpServerResponse.empty({
747
+ status: 403
748
+ }));
749
+ }
750
+ const contentType = request.headers["content-type"]?.split(";", 1)[0]?.trim().toLowerCase();
751
+ if (contentType !== "application/json") {
752
+ return Effect.succeed(HttpServerResponse.empty({
753
+ status: 415
754
+ }));
755
+ }
756
+ const accepted = new Set();
757
+ for (const entry of request.headers.accept?.split(",") ?? []) {
758
+ const [mediaType, ...parameters] = entry.split(";").map(part => part.trim().toLowerCase());
759
+ let quality = 1;
760
+ for (const parameter of parameters) {
761
+ const [name, value] = parameter.split("=", 2).map(part => part.trim());
762
+ if (name === "q") {
763
+ quality = value === undefined ? Number.NaN : Number(value);
764
+ }
765
+ }
766
+ if (mediaType !== undefined && quality > 0 && quality <= 1) {
767
+ accepted.add(mediaType);
768
+ }
769
+ }
770
+ if (!accepted.has("application/json") || !accepted.has("text/event-stream")) {
771
+ return Effect.succeed(HttpServerResponse.empty({
772
+ status: 406
773
+ }));
774
+ }
775
+ const protocolVersion = request.headers[MCP_PROTOCOL_VERSION_HEADER];
776
+ if (protocolVersion !== undefined && !state.protocolRegistry.protocols.some(protocol => protocol.protocolVersion === protocolVersion)) {
777
+ return Effect.succeed(HttpServerResponse.empty({
778
+ status: 400
779
+ }));
780
+ }
781
+ return request.text.pipe(Effect.matchEffect({
782
+ onFailure: () => Effect.succeed(HttpServerResponse.jsonUnsafe({
783
+ jsonrpc: "2.0",
784
+ id: null,
785
+ error: new ParseError({
786
+ message: "Parse error"
787
+ })
788
+ })),
789
+ onSuccess: body => {
790
+ return Effect.match(Schema.decodeUnknownEffect(Schema.UnknownFromJsonString)(body), {
791
+ onFailure: () => ({
792
+ _tag: "Error",
793
+ id: null,
794
+ error: new ParseError({
795
+ message: "Parse error"
796
+ })
797
+ }),
798
+ onSuccess: input => {
799
+ if (Array.isArray(input)) {
800
+ const sessionId = request.headers[MCP_SESSION_ID_HEADER];
801
+ const session = sessionId === undefined ? undefined : state.sessions.bySessionId.get(sessionId);
802
+ let selectedProtocol = session?.protocol ?? state.protocolRegistry.protocols[0];
803
+ for (const entry of input) {
804
+ if (Predicate.hasProperty(entry, "method") && entry.method === "initialize" && Predicate.hasProperty(entry, "params") && Predicate.hasProperty(entry.params, "protocolVersion") && typeof entry.params.protocolVersion === "string") {
805
+ selectedProtocol = state.protocolRegistry.select(entry.params.protocolVersion);
806
+ break;
807
+ }
808
+ }
809
+ if (!selectedProtocol.transport.acceptsJsonRpcBatches) {
810
+ return {
811
+ _tag: "HttpError",
812
+ status: 400
813
+ };
814
+ }
815
+ }
816
+ const hasId = Predicate.hasProperty(input, "id");
817
+ const id = hasId && (typeof input.id === "string" || typeof input.id === "number") ? input.id : null;
818
+ const isJsonRpc = Predicate.hasProperty(input, "jsonrpc") && input.jsonrpc === "2.0";
819
+ const hasValidRequestId = hasId === false || typeof input.id === "string" || typeof input.id === "number";
820
+ const isRequest = isJsonRpc && hasValidRequestId && Predicate.hasProperty(input, "method") && typeof input.method === "string";
821
+ const hasValidResponseId = hasId && (typeof input.id === "string" || typeof input.id === "number" || input.id === null);
822
+ const hasResult = Predicate.hasProperty(input, "result");
823
+ const hasError = Predicate.hasProperty(input, "error");
824
+ const isResponse = isJsonRpc && hasValidResponseId && hasResult !== hasError;
825
+ const isInitialize = isRequest && input.method === "initialize";
826
+ const sessionId = request.headers[MCP_SESSION_ID_HEADER];
827
+ const session = sessionId === undefined ? undefined : state.sessions.bySessionId.get(sessionId);
828
+ if (isInitialize && sessionId !== undefined) {
829
+ return {
830
+ _tag: "HttpError",
831
+ status: session === undefined ? 404 : 400
832
+ };
833
+ }
834
+ if (!isInitialize && isRequest && session === undefined) {
835
+ return {
836
+ _tag: "HttpError",
837
+ status: sessionId === undefined ? 400 : 404
838
+ };
839
+ }
840
+ if (session !== undefined && session.protocol.transport.requiresVersionHeader && protocolVersion !== session.protocol.protocolVersion) {
841
+ return {
842
+ _tag: "HttpError",
843
+ status: 400
844
+ };
845
+ }
846
+ return isRequest || isResponse ? {
847
+ _tag: "Success"
848
+ } : {
849
+ _tag: "Error",
850
+ id,
851
+ error: new InvalidRequest({
852
+ message: "Invalid Request"
853
+ })
854
+ };
855
+ }
856
+ }).pipe(Effect.flatMap(decoded => decoded._tag === "HttpError" ? Effect.succeed(HttpServerResponse.empty({
857
+ status: decoded.status
858
+ })) : decoded._tag === "Error" ? Effect.succeed(HttpServerResponse.jsonUnsafe({
859
+ jsonrpc: "2.0",
860
+ id: decoded.id,
861
+ error: decoded.error
862
+ })) : httpEffect));
863
+ }
864
+ }));
865
+ });
866
+ return protocol;
867
+ }));
868
+ const INTERNAL_TOOL_ERROR_MESSAGE = "Tool execution failed due to an internal server error.";
869
+ const toolErrorResult = message => new CallToolResult({
870
+ isError: true,
871
+ content: [{
872
+ type: "text",
873
+ text: message
874
+ }]
875
+ });
463
876
  /**
464
877
  * Registers a `Toolkit` with the `McpServer`.
465
878
  *
466
- * @category tools
879
+ * @category handlers
467
880
  * @since 4.0.0
468
881
  */
469
882
  export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit) {
@@ -473,10 +886,15 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
473
886
  for (const tool of Object.values(built.tools)) {
474
887
  const annotations = tool.annotations;
475
888
  const toolMeta = Context.getOrUndefined(annotations, Tool.Meta);
889
+ const isDeclaredFailure = Schema.is(tool.failureSchema);
890
+ const outputSchema = Tool.getJsonSchemaFromSchema(tool.successSchema);
476
891
  const mcpTool = new McpTool({
477
892
  name: tool.name,
478
893
  description: Tool.getDescription(tool),
479
894
  inputSchema: Tool.getJsonSchema(tool),
895
+ ...(outputSchema.type === "object" ? {
896
+ outputSchema
897
+ } : {}),
480
898
  annotations: {
481
899
  ...Context.getOption(tool.annotations, Tool.Title).pipe(Option.map(title => ({
482
900
  title
@@ -492,23 +910,26 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
492
910
  tool: mcpTool,
493
911
  annotations,
494
912
  handle(payload) {
495
- return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.matchCause({
496
- onFailure: cause => new CallToolResult({
497
- isError: true,
498
- content: [{
499
- type: "text",
500
- text: Cause.pretty(cause)
501
- }]
502
- }),
503
- onSuccess: result => new CallToolResult({
504
- isError: false,
505
- structuredContent: typeof result.encodedResult === "object" ? result.encodedResult : undefined,
506
- content: [{
507
- type: "text",
508
- text: JSON.stringify(result.encodedResult)
509
- }]
510
- })
511
- }), Effect.tapCause(Effect.log));
913
+ return built.handle(tool.name, payload).pipe(Stream.unwrap, Stream.run(Sink.last()), Effect.flatMap(Effect.fromOption), Effect.provideContext(services), Effect.map(result => new CallToolResult({
914
+ isError: false,
915
+ structuredContent: typeof result.encodedResult === "object" ? result.encodedResult : undefined,
916
+ content: result.encodedResult === undefined ? [] : [{
917
+ type: "text",
918
+ text: JSON.stringify(result.encodedResult)
919
+ }]
920
+ })), Effect.tapCause(Effect.logError), Effect.catch(error => {
921
+ if (AiError.isAiError(error)) {
922
+ const reason = error.reason;
923
+ return reason._tag === "ToolParameterValidationError" ? Effect.fail(new InvalidParams({
924
+ message: reason.message
925
+ })) : Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
926
+ }
927
+ if (isDeclaredFailure(error)) {
928
+ const message = error instanceof Error ? error.message : INTERNAL_TOOL_ERROR_MESSAGE;
929
+ return Effect.succeed(toolErrorResult(message));
930
+ }
931
+ return Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE));
932
+ }), Effect.catchDefect(() => Effect.succeed(toolErrorResult(INTERNAL_TOOL_ERROR_MESSAGE))));
512
933
  }
513
934
  });
514
935
  }
@@ -516,7 +937,7 @@ export const registerToolkit = /*#__PURE__*/Effect.fnUntraced(function* (toolkit
516
937
  /**
517
938
  * Registers an `AiToolkit` with the `McpServer`.
518
939
  *
519
- * @category tools
940
+ * @category layers
520
941
  * @since 4.0.0
521
942
  */
522
943
  export const toolkit = toolkit => Layer.effectDiscard(registerToolkit(toolkit)).pipe(Layer.provide(McpServer.layer));
@@ -531,7 +952,7 @@ export const toolkit = toolkit => Layer.effectDiscard(registerToolkit(toolkit)).
531
952
  *
532
953
  * @see {@link resource} for the layer-based resource registration wrapper
533
954
  *
534
- * @category resources
955
+ * @category handlers
535
956
  * @since 4.0.0
536
957
  */
537
958
  export const registerResource = function () {
@@ -570,10 +991,10 @@ export const registerResource = function () {
570
991
  uriTemplate: uriPath,
571
992
  annotations: options
572
993
  });
573
- const completions = {};
994
+ const completions = Object.create(null);
574
995
  for (const [param, handle] of Object.entries(options.completion ?? {})) {
575
996
  const encodeArray = Schema.encodeUnknownEffect(Schema.Array(params[param]));
576
- const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
997
+ const handler = (input, context) => handle(input, context).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
577
998
  completion: {
578
999
  values: values,
579
1000
  total: values.length,
@@ -612,7 +1033,7 @@ export const registerResource = function () {
612
1033
  *
613
1034
  * @see {@link registerResource} for the Effect-level resource registration API
614
1035
  *
615
- * @category resources
1036
+ * @category layers
616
1037
  * @since 4.0.0
617
1038
  */
618
1039
  export const resource = function () {
@@ -638,7 +1059,7 @@ export const resource = function () {
638
1059
  *
639
1060
  * @see {@link prompt} for the layer-based prompt registration wrapper
640
1061
  *
641
- * @category prompts
1062
+ * @category handlers
642
1063
  * @since 4.0.0
643
1064
  */
644
1065
  export const registerPrompt = options => {
@@ -661,10 +1082,10 @@ export const registerPrompt = options => {
661
1082
  return Effect.gen(function* () {
662
1083
  const registry = yield* McpServer;
663
1084
  const services = yield* Effect.context();
664
- const completions = {};
1085
+ const completions = Object.create(null);
665
1086
  for (const [param, handle] of Object.entries(completion)) {
666
1087
  const encodeArray = Schema.encodeEffect(Schema.Array(props[param]));
667
- const handler = input => handle(input).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
1088
+ const handler = (input, context) => handle(input, context).pipe(Effect.flatMap(encodeArray), Effect.map(values => ({
668
1089
  completion: {
669
1090
  values: values,
670
1091
  total: values.length,
@@ -684,7 +1105,7 @@ export const registerPrompt = options => {
684
1105
  annotations: options.annotations ?? Context.empty(),
685
1106
  handle: params => decode(params).pipe(Effect.mapError(error => new InvalidParams({
686
1107
  message: error.message
687
- })), Effect.flatMap(params => options.content(params)), Effect.map(messages => {
1108
+ })), Effect.flatMap(params => options.content(params).pipe(Effect.map(messages => {
688
1109
  messages = typeof messages === "string" ? [{
689
1110
  role: "user",
690
1111
  content: TextContent.make({
@@ -700,7 +1121,7 @@ export const registerPrompt = options => {
700
1121
  return Effect.fail(new InternalError({
701
1122
  message: prettyError.message
702
1123
  }));
703
- }), Effect.provideContext(services))
1124
+ }))), Effect.provideContext(services))
704
1125
  });
705
1126
  });
706
1127
  };
@@ -719,7 +1140,7 @@ export const registerPrompt = options => {
719
1140
  *
720
1141
  * @see {@link registerPrompt} for the Effect-level prompt registration API
721
1142
  *
722
- * @category prompts
1143
+ * @category layers
723
1144
  * @since 4.0.0
724
1145
  */
725
1146
  export const prompt = options => Layer.effectDiscard(registerPrompt(options)).pipe(Layer.provide(McpServer.layer));
@@ -732,7 +1153,7 @@ export const prompt = options => Layer.effectDiscard(registerPrompt(options)).pi
732
1153
  * Accepted content is decoded with the supplied schema, declined requests fail
733
1154
  * with `ElicitationDeclined`, and canceled requests interrupt the effect.
734
1155
  *
735
- * @category elicitation
1156
+ * @category accessors
736
1157
  * @since 4.0.0
737
1158
  */
738
1159
  export const elicit = /*#__PURE__*/Effect.fnUntraced(function* (options) {
@@ -763,7 +1184,7 @@ export const elicit = /*#__PURE__*/Effect.fnUntraced(function* (options) {
763
1184
  /**
764
1185
  * Accesses the current client's capabilities.
765
1186
  *
766
- * @category capabilities
1187
+ * @category accessors
767
1188
  * @since 4.0.0
768
1189
  */
769
1190
  export const clientCapabilities = /*#__PURE__*/McpServerClient.useSync(_ => _.initializePayload.capabilities);
@@ -788,7 +1209,7 @@ const makeUriMatcher = () => {
788
1209
  const compileUriTemplate = (segments, ...schemas) => {
789
1210
  let routerPath = segments[0].replace(":", "::");
790
1211
  let uriPath = segments[0];
791
- const params = {};
1212
+ const params = Object.create(null);
792
1213
  let pathSchema = Schema.Tuple([]);
793
1214
  if (schemas.length > 0) {
794
1215
  const arr = [];
@@ -812,138 +1233,196 @@ const compileUriTemplate = (segments, ...schemas) => {
812
1233
  params
813
1234
  };
814
1235
  };
815
- const layerHandlers = (serverInfo, options) => ClientRpcs.toLayer(Effect.gen(function* () {
1236
+ const layerHandlers = (serverInfo, options) => Layer.effectContext(Effect.gen(function* () {
816
1237
  const server = yield* McpServer;
817
- let currentLogLevel = yield* CurrentLogLevel;
818
- return ClientRpcs.of({
819
- // Requests
820
- ping: () => Effect.succeed({}),
821
- initialize(params, {
822
- client
823
- }) {
824
- const requestedVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(params.protocolVersion) ? params.protocolVersion : LATEST_PROTOCOL_VERSION;
825
- if (requestedVersion !== params.protocolVersion) {
826
- params = {
827
- ...params,
828
- protocolVersion: requestedVersion
829
- };
830
- }
831
- const capabilities = {
832
- completions: {}
833
- };
834
- if (server.tools.length > 0) {
835
- capabilities.tools = {
836
- listChanged: true
837
- };
838
- }
839
- if (server.resources.length > 0 || server.resourceTemplates.length > 0) {
840
- capabilities.resources = {
841
- listChanged: true,
842
- subscribe: false
843
- };
844
- }
845
- if (server.prompts.length > 0) {
846
- capabilities.prompts = {
847
- listChanged: true
1238
+ const currentLogLevel = yield* CurrentLogLevel;
1239
+ const contextMap = new Map();
1240
+ for (const protocol of options.protocolRegistry.protocols) {
1241
+ const selectedProtocol = protocol;
1242
+ const wireHandlers = ClientRpcs.of({
1243
+ // Requests
1244
+ ping: () => Effect.succeed({}),
1245
+ initialize(params, {
1246
+ client
1247
+ }) {
1248
+ const capabilities = {
1249
+ completions: {},
1250
+ logging: {}
848
1251
  };
849
- }
850
- if (serverInfo.extensions) {
851
- capabilities.extensions = serverInfo.extensions;
852
- }
853
- return Effect.withFiber(fiber => {
854
- const httpRequest = Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest);
855
- if (httpRequest) {
856
- const sessionId = crypto.randomUUID();
857
- options.clientSessions.set(sessionId, params);
858
- appendPreResponseHandlerUnsafe(httpRequest, (_req, res) => Effect.succeed(HttpServerResponse.setHeaders(res, {
859
- [mcpSessionIdHeader]: sessionId,
860
- [mcpProtocolVersionHeader]: requestedVersion
861
- })));
862
- } else {
863
- options.clientSessions.set(String(client.id), params);
1252
+ if (server.tools.length > 0) {
1253
+ capabilities.tools = {
1254
+ listChanged: true
1255
+ };
1256
+ }
1257
+ if (server.resources.length > 0 || server.resourceTemplates.length > 0) {
1258
+ capabilities.resources = {
1259
+ listChanged: true,
1260
+ subscribe: true
1261
+ };
1262
+ }
1263
+ if (server.prompts.length > 0) {
1264
+ capabilities.prompts = {
1265
+ listChanged: true
1266
+ };
864
1267
  }
865
- return Effect.succeed({
866
- capabilities,
867
- serverInfo,
868
- protocolVersion: requestedVersion
1268
+ if (serverInfo.extensions) {
1269
+ capabilities.extensions = serverInfo.extensions;
1270
+ }
1271
+ return Effect.withFiber(fiber => {
1272
+ const httpRequest = Context.getOrUndefined(fiber.context, HttpServerRequest.HttpServerRequest);
1273
+ if (httpRequest !== undefined && capabilities.resources !== undefined) {
1274
+ capabilities.resources.subscribe = false;
1275
+ }
1276
+ const session = {
1277
+ initializePayload: params,
1278
+ protocol: selectedProtocol,
1279
+ resourceSubscriptions: capabilities.resources?.subscribe === true ? new Set() : undefined,
1280
+ logLevel: {
1281
+ _tag: "Effect",
1282
+ level: currentLogLevel
1283
+ }
1284
+ };
1285
+ if (httpRequest) {
1286
+ const sessionId = crypto.randomUUID();
1287
+ options.sessions.bySessionId.set(sessionId, session);
1288
+ appendPreResponseHandlerUnsafe(httpRequest, (_req, res) => Effect.succeed(HttpServerResponse.setHeaders(res, {
1289
+ [MCP_SESSION_ID_HEADER]: sessionId,
1290
+ [MCP_PROTOCOL_VERSION_HEADER]: selectedProtocol.protocolVersion
1291
+ })));
1292
+ } else {
1293
+ options.sessions.byClientId.set(client.id, session);
1294
+ }
1295
+ return Effect.succeed({
1296
+ capabilities,
1297
+ serverInfo,
1298
+ protocolVersion: selectedProtocol.protocolVersion
1299
+ });
869
1300
  });
870
- });
871
- },
872
- "completion/complete": r => server.completion(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
873
- "logging/setLevel": ({
874
- level
875
- }) => Effect.sync(() => {
876
- switch (level) {
877
- case "notice":
878
- case "info":
879
- currentLogLevel = "Info";
880
- break;
881
- case "error":
882
- currentLogLevel = "Error";
883
- break;
884
- case "debug":
885
- currentLogLevel = "Debug";
886
- break;
887
- case "warning":
888
- currentLogLevel = "Warn";
889
- break;
890
- case "critical":
891
- case "alert":
892
- case "emergency":
893
- currentLogLevel = "Fatal";
894
- break;
895
- }
896
- }),
897
- "prompts/get": r => server.getPromptResult(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
898
- "prompts/list": (_, {
899
- client,
900
- headers
901
- }) => Effect.sync(() => {
902
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
903
- return new ListPromptsResult({
904
- prompts: filterByClient(initialized, server.prompts, "prompt")
905
- });
906
- }),
907
- "resources/list": (_, {
908
- client,
909
- headers
910
- }) => Effect.sync(() => {
911
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
912
- return new ListResourcesResult({
913
- resources: filterByClient(initialized, server.resources, "resource")
914
- });
915
- }),
916
- "resources/read": ({
917
- uri
918
- }) => server.findResource(uri).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
919
- "resources/subscribe": () => InternalError.notImplemented,
920
- "resources/unsubscribe": () => InternalError.notImplemented,
921
- "resources/templates/list": (_, {
922
- client,
923
- headers
924
- }) => Effect.sync(() => {
925
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
926
- return new ListResourceTemplatesResult({
927
- resourceTemplates: filterByClient(initialized, server.resourceTemplates, "template")
928
- });
929
- }),
930
- "tools/call": r => server.callTool(r).pipe(Effect.provideService(CurrentLogLevel, currentLogLevel)),
931
- "tools/list": (_, {
932
- client,
933
- headers
934
- }) => Effect.sync(() => {
935
- const initialized = getInitializedClient(options.clientSessions, client.id, headers);
936
- return new ListToolsResult({
937
- tools: filterByClient(initialized, server.tools, "tool")
938
- });
939
- }),
940
- // Notifications
941
- "notifications/cancelled": _ => Effect.void,
942
- "notifications/initialized": _ => Effect.void,
943
- "notifications/progress": _ => Effect.void,
944
- "notifications/roots/list_changed": _ => Effect.void
945
- });
1301
+ },
1302
+ "completion/complete": r => server.completion(r),
1303
+ "logging/setLevel": ({
1304
+ level
1305
+ }, {
1306
+ client,
1307
+ headers
1308
+ }) => Effect.sync(() => {
1309
+ const session = getClientSession(options.sessions, client.id, headers);
1310
+ if (session) {
1311
+ session.logLevel = {
1312
+ _tag: "Mcp",
1313
+ level
1314
+ };
1315
+ }
1316
+ return {};
1317
+ }),
1318
+ "prompts/get": r => server.getPromptResult(r),
1319
+ "prompts/list": (_, {
1320
+ client,
1321
+ headers
1322
+ }) => Effect.sync(() => {
1323
+ const initialized = getClientSession(options.sessions, client.id, headers)?.initializePayload;
1324
+ return new ListPromptsResult({
1325
+ prompts: filterByClient(initialized, server.prompts, "prompt")
1326
+ });
1327
+ }),
1328
+ "resources/list": (_, {
1329
+ client,
1330
+ headers
1331
+ }) => Effect.sync(() => {
1332
+ const initialized = getClientSession(options.sessions, client.id, headers)?.initializePayload;
1333
+ return new ListResourcesResult({
1334
+ resources: filterByClient(initialized, server.resources, "resource")
1335
+ });
1336
+ }),
1337
+ "resources/read": ({
1338
+ uri
1339
+ }) => server.findResource(uri),
1340
+ "resources/subscribe": ({
1341
+ uri
1342
+ }, {
1343
+ client,
1344
+ headers
1345
+ }) => Effect.gen(function* () {
1346
+ const subscriptions = getClientSession(options.sessions, client.id, headers)?.resourceSubscriptions;
1347
+ if (subscriptions === undefined) {
1348
+ return yield* new MethodNotFound({
1349
+ message: "Resource subscriptions are not supported"
1350
+ });
1351
+ }
1352
+ subscriptions.add(uri);
1353
+ return {};
1354
+ }),
1355
+ "resources/unsubscribe": ({
1356
+ uri
1357
+ }, {
1358
+ client,
1359
+ headers
1360
+ }) => Effect.gen(function* () {
1361
+ const subscriptions = getClientSession(options.sessions, client.id, headers)?.resourceSubscriptions;
1362
+ if (subscriptions === undefined) {
1363
+ return yield* new MethodNotFound({
1364
+ message: "Resource subscriptions are not supported"
1365
+ });
1366
+ }
1367
+ subscriptions.delete(uri);
1368
+ return {};
1369
+ }),
1370
+ "resources/templates/list": (_, {
1371
+ client,
1372
+ headers
1373
+ }) => Effect.sync(() => {
1374
+ const initialized = getClientSession(options.sessions, client.id, headers)?.initializePayload;
1375
+ return new ListResourceTemplatesResult({
1376
+ resourceTemplates: filterByClient(initialized, server.resourceTemplates, "template")
1377
+ });
1378
+ }),
1379
+ "tools/call": r => server.callTool(r),
1380
+ "tools/list": (_, {
1381
+ client,
1382
+ headers
1383
+ }) => Effect.sync(() => {
1384
+ const initialized = getClientSession(options.sessions, client.id, headers)?.initializePayload;
1385
+ return new ListToolsResult({
1386
+ tools: filterByClient(initialized, server.tools, "tool")
1387
+ });
1388
+ }),
1389
+ // Notifications
1390
+ "notifications/cancelled": _ => Effect.void,
1391
+ "notifications/initialized": (_, {
1392
+ client,
1393
+ headers
1394
+ }) => Effect.sync(() => {
1395
+ server.initializedClients.add(client.id);
1396
+ const session = getClientSession(options.sessions, client.id, headers);
1397
+ if (session) {
1398
+ options.sessions.byClientId.set(client.id, session);
1399
+ }
1400
+ }),
1401
+ "notifications/progress": _ => Effect.void,
1402
+ "notifications/roots/list_changed": _ => Effect.void
1403
+ });
1404
+ yield* addProtocolHandlers(options.protocolRegistry, selectedProtocol, selectedProtocol.clientRpcs, wireHandlers, contextMap);
1405
+ }
1406
+ return Context.makeUnsafe(contextMap);
946
1407
  }));
1408
+ const addProtocolHandlers = /*#__PURE__*/Effect.fnUntraced(function* (registry, protocol, clientRpcs, handlers, contextMap) {
1409
+ const handlerContext = yield* clientRpcs.toHandlers(handlers);
1410
+ for (const rpcDefinition of clientRpcs.requests.values()) {
1411
+ const routed = registry.routeClientRequest(protocol, {
1412
+ _tag: "Request",
1413
+ id: 0,
1414
+ tag: rpcDefinition._tag,
1415
+ payload: undefined,
1416
+ headers: []
1417
+ });
1418
+ const namespacedRpc = registry.clientRpcs.requests.get(routed.tag);
1419
+ const handler = handlerContext.mapUnsafe.get(rpcDefinition.key);
1420
+ if (namespacedRpc === undefined || handler === undefined) {
1421
+ return yield* Effect.die(`MCP handler registration invariant failed for ${routed.tag}`);
1422
+ }
1423
+ contextMap.set(namespacedRpc.key, handler);
1424
+ }
1425
+ });
947
1426
  const resolveResourceContent = (uri, content) => {
948
1427
  if (typeof content === "string") {
949
1428
  return {
@@ -976,11 +1455,64 @@ const filterByClient = (client, items, prop) => {
976
1455
  }
977
1456
  return out;
978
1457
  };
979
- const getInitializedClient = (sessions, clientId, headers) => {
980
- const sessionId = headers[mcpSessionIdHeader];
1458
+ const getClientSession = (sessions, clientId, headers) => {
1459
+ const sessionId = headers[MCP_SESSION_ID_HEADER];
981
1460
  if (sessionId === undefined) {
982
- return sessions.get(String(clientId));
1461
+ return sessions.byClientId.get(clientId);
1462
+ }
1463
+ return sessions.bySessionId.get(sessionId);
1464
+ };
1465
+ const mcpLogLevels = {
1466
+ debug: {
1467
+ effect: "Debug",
1468
+ order: 0
1469
+ },
1470
+ info: {
1471
+ effect: "Info",
1472
+ order: 1
1473
+ },
1474
+ notice: {
1475
+ effect: "Info",
1476
+ order: 2
1477
+ },
1478
+ warning: {
1479
+ effect: "Warn",
1480
+ order: 3
1481
+ },
1482
+ error: {
1483
+ effect: "Error",
1484
+ order: 4
1485
+ },
1486
+ critical: {
1487
+ effect: "Fatal",
1488
+ order: 5
1489
+ },
1490
+ alert: {
1491
+ effect: "Fatal",
1492
+ order: 6
1493
+ },
1494
+ emergency: {
1495
+ effect: "Fatal",
1496
+ order: 7
1497
+ }
1498
+ };
1499
+ const effectLogLevel = logLevel => logLevel?._tag === "Mcp" ? mcpLogLevels[logLevel.level].effect : logLevel?.level ?? "Info";
1500
+ const isMcpLogLevelEnabled = (level, minimum) => minimum?._tag === "Mcp" ? mcpLogLevels[level].order >= mcpLogLevels[minimum.level].order : LogLevel.isGreaterThanOrEqualTo(mcpLogLevels[level].effect, minimum?.level ?? "Info");
1501
+ const getOfferedProtocolVersion = payload => typeof payload === "object" && payload !== null && "protocolVersion" in payload && typeof payload.protocolVersion === "string" ? payload.protocolVersion : "";
1502
+ const protocolForInternalTag = (registry, tag) => {
1503
+ for (const protocol of registry.protocols) {
1504
+ const routed = registry.routeClientRequest(protocol, {
1505
+ _tag: "Request",
1506
+ id: 0,
1507
+ tag: "",
1508
+ payload: undefined,
1509
+ headers: []
1510
+ });
1511
+ if (tag.startsWith(routed.tag)) {
1512
+ return protocol;
1513
+ }
983
1514
  }
984
- return sessions.get(sessionId);
1515
+ return registry.protocols[0];
985
1516
  };
1517
+ const getProtocolForClient = (clientProtocols, clientId, registry) => clientProtocols.get(clientId) ?? registry.protocols[0];
986
1518
  //# sourceMappingURL=McpServer.js.map