effect 4.0.1 → 4.0.3

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 (1085) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +24 -3
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +38 -5
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +11 -2
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +180 -6
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +98 -6
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +96 -6
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +80 -8
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +59 -2
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +969 -2
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +635 -5
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +14 -1
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +6 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +569 -11
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +266 -18
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +38 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +276 -190
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
  568. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  569. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  570. package/dist/ai/internal/mcpRuntime.js +80 -46
  571. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  572. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  573. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  574. package/dist/cli/CliOutput.d.ts +27 -0
  575. package/dist/cli/CliOutput.d.ts.map +1 -1
  576. package/dist/cli/CliOutput.js +33 -10
  577. package/dist/cli/CliOutput.js.map +1 -1
  578. package/dist/cli/Command.d.ts.map +1 -1
  579. package/dist/cli/Command.js +6 -3
  580. package/dist/cli/Command.js.map +1 -1
  581. package/dist/cli/Completions.d.ts +3 -3
  582. package/dist/cli/Completions.d.ts.map +1 -1
  583. package/dist/cli/Completions.js +8 -5
  584. package/dist/cli/Completions.js.map +1 -1
  585. package/dist/cli/GlobalFlag.d.ts +5 -4
  586. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  587. package/dist/cli/GlobalFlag.js +3 -3
  588. package/dist/cli/GlobalFlag.js.map +1 -1
  589. package/dist/cli/Prompt.d.ts +17 -1
  590. package/dist/cli/Prompt.d.ts.map +1 -1
  591. package/dist/cli/Prompt.js +119 -114
  592. package/dist/cli/Prompt.js.map +1 -1
  593. package/dist/cli/internal/ansi.d.ts +0 -1
  594. package/dist/cli/internal/ansi.d.ts.map +1 -1
  595. package/dist/cli/internal/ansi.js +20 -3
  596. package/dist/cli/internal/ansi.js.map +1 -1
  597. package/dist/cli/internal/completions/powershell.d.ts +2 -0
  598. package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
  599. package/dist/cli/internal/completions/powershell.js +273 -0
  600. package/dist/cli/internal/completions/powershell.js.map +1 -0
  601. package/dist/cli/internal/completions/zsh.js +3 -2
  602. package/dist/cli/internal/completions/zsh.js.map +1 -1
  603. package/dist/cli/internal/wizard.d.ts +3 -3
  604. package/dist/cli/internal/wizard.d.ts.map +1 -1
  605. package/dist/cli/internal/wizard.js +21 -18
  606. package/dist/cli/internal/wizard.js.map +1 -1
  607. package/dist/cluster/ClusterSchema.d.ts +28 -0
  608. package/dist/cluster/ClusterSchema.d.ts.map +1 -1
  609. package/dist/cluster/ClusterSchema.js +30 -0
  610. package/dist/cluster/ClusterSchema.js.map +1 -1
  611. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  612. package/dist/cluster/ClusterWorkflowEngine.js +10 -18
  613. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  614. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  615. package/dist/cluster/K8sHttpClient.js +5 -2
  616. package/dist/cluster/K8sHttpClient.js.map +1 -1
  617. package/dist/cluster/MessageStorage.d.ts +18 -3
  618. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  619. package/dist/cluster/MessageStorage.js +31 -11
  620. package/dist/cluster/MessageStorage.js.map +1 -1
  621. package/dist/cluster/Runners.d.ts.map +1 -1
  622. package/dist/cluster/Runners.js +8 -2
  623. package/dist/cluster/Runners.js.map +1 -1
  624. package/dist/cluster/Sharding.d.ts.map +1 -1
  625. package/dist/cluster/Sharding.js +181 -62
  626. package/dist/cluster/Sharding.js.map +1 -1
  627. package/dist/cluster/SqlMessageStorage.d.ts +59 -19
  628. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  629. package/dist/cluster/SqlMessageStorage.js +84 -55
  630. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  631. package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
  632. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  633. package/dist/cluster/SqlRunnerStorage.js +191 -113
  634. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  635. package/dist/cluster/internal/entityManager.js +104 -37
  636. package/dist/cluster/internal/entityManager.js.map +1 -1
  637. package/dist/encoding/Base64.d.ts +4 -0
  638. package/dist/encoding/Base64.d.ts.map +1 -1
  639. package/dist/encoding/Base64.js +4 -0
  640. package/dist/encoding/Base64.js.map +1 -1
  641. package/dist/encoding/Base64Url.d.ts +4 -0
  642. package/dist/encoding/Base64Url.d.ts.map +1 -1
  643. package/dist/encoding/Base64Url.js +4 -0
  644. package/dist/encoding/Base64Url.js.map +1 -1
  645. package/dist/encoding/EncodingError.d.ts +4 -0
  646. package/dist/encoding/EncodingError.d.ts.map +1 -1
  647. package/dist/encoding/EncodingError.js +4 -0
  648. package/dist/encoding/EncodingError.js.map +1 -1
  649. package/dist/encoding/Hex.d.ts +5 -0
  650. package/dist/encoding/Hex.d.ts.map +1 -1
  651. package/dist/encoding/Hex.js +5 -0
  652. package/dist/encoding/Hex.js.map +1 -1
  653. package/dist/encoding/Toml.js +2 -2
  654. package/dist/encoding/Toml.js.map +1 -1
  655. package/dist/encoding/Yaml.d.ts.map +1 -1
  656. package/dist/encoding/Yaml.js +6 -4
  657. package/dist/encoding/Yaml.js.map +1 -1
  658. package/dist/encoding/index.d.ts +4 -0
  659. package/dist/encoding/index.d.ts.map +1 -1
  660. package/dist/encoding/index.js +4 -0
  661. package/dist/encoding/index.js.map +1 -1
  662. package/dist/eventlog/SqlEventJournal.js +8 -4
  663. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  664. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  665. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  666. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  667. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  668. package/dist/http/FindMyWay/internal/router.js +3 -6
  669. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  670. package/dist/http/Headers.d.ts +3 -1
  671. package/dist/http/Headers.d.ts.map +1 -1
  672. package/dist/http/Headers.js +4 -2
  673. package/dist/http/Headers.js.map +1 -1
  674. package/dist/http/HttpClient.d.ts +15 -0
  675. package/dist/http/HttpClient.d.ts.map +1 -1
  676. package/dist/http/HttpClient.js +79 -23
  677. package/dist/http/HttpClient.js.map +1 -1
  678. package/dist/http/HttpClientResponse.js +3 -1
  679. package/dist/http/HttpClientResponse.js.map +1 -1
  680. package/dist/http/HttpEffect.d.ts +3 -0
  681. package/dist/http/HttpEffect.d.ts.map +1 -1
  682. package/dist/http/HttpEffect.js +5 -2
  683. package/dist/http/HttpEffect.js.map +1 -1
  684. package/dist/http/HttpMiddleware.d.ts +17 -0
  685. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  686. package/dist/http/HttpMiddleware.js +56 -39
  687. package/dist/http/HttpMiddleware.js.map +1 -1
  688. package/dist/http/HttpServer.d.ts +1 -1
  689. package/dist/http/HttpServer.d.ts.map +1 -1
  690. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  691. package/dist/http/HttpTraceContext.js +4 -2
  692. package/dist/http/HttpTraceContext.js.map +1 -1
  693. package/dist/http/internal/tracing.d.ts +2 -0
  694. package/dist/http/internal/tracing.d.ts.map +1 -0
  695. package/dist/http/internal/tracing.js +37 -0
  696. package/dist/http/internal/tracing.js.map +1 -0
  697. package/dist/http-api/HttpApiBuilder.js +2 -1
  698. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  699. package/dist/http-api/HttpApiClient.d.ts +12 -3
  700. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  701. package/dist/http-api/HttpApiClient.js.map +1 -1
  702. package/dist/http-api/HttpApiError.d.ts +4 -3
  703. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  704. package/dist/http-api/HttpApiError.js +7 -4
  705. package/dist/http-api/HttpApiError.js.map +1 -1
  706. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  707. package/dist/http-api/HttpApiSecurity.js +8 -8
  708. package/dist/index.d.ts +155 -0
  709. package/dist/index.d.ts.map +1 -1
  710. package/dist/index.js +155 -0
  711. package/dist/index.js.map +1 -1
  712. package/dist/internal/arbitrary/array.js +3 -3
  713. package/dist/internal/arbitrary/array.js.map +1 -1
  714. package/dist/internal/arbitrary/model.js +26 -11
  715. package/dist/internal/arbitrary/model.js.map +1 -1
  716. package/dist/internal/arbitrary/runner.js +8 -8
  717. package/dist/internal/arbitrary/runner.js.map +1 -1
  718. package/dist/internal/arbitrary/schema.js +4 -5
  719. package/dist/internal/arbitrary/schema.js.map +1 -1
  720. package/dist/internal/effect.js +53 -46
  721. package/dist/internal/effect.js.map +1 -1
  722. package/dist/internal/schedule.js +7 -5
  723. package/dist/internal/schedule.js.map +1 -1
  724. package/dist/internal/schema/standardSchema.js +2 -2
  725. package/dist/internal/schema/standardSchema.js.map +1 -1
  726. package/dist/internal/version.d.ts +2 -0
  727. package/dist/internal/version.d.ts.map +1 -0
  728. package/dist/internal/version.js +3 -0
  729. package/dist/internal/version.js.map +1 -0
  730. package/dist/net/AddressResolver.d.ts +145 -0
  731. package/dist/net/AddressResolver.d.ts.map +1 -0
  732. package/dist/net/AddressResolver.js +114 -0
  733. package/dist/net/AddressResolver.js.map +1 -0
  734. package/dist/net/Dns.d.ts +596 -0
  735. package/dist/net/Dns.d.ts.map +1 -0
  736. package/dist/net/Dns.js +549 -0
  737. package/dist/net/Dns.js.map +1 -0
  738. package/dist/net/Host.d.ts +320 -0
  739. package/dist/net/Host.d.ts.map +1 -0
  740. package/dist/net/Host.js +342 -0
  741. package/dist/net/Host.js.map +1 -0
  742. package/dist/net/IpInterface.d.ts +76 -3
  743. package/dist/net/IpInterface.d.ts.map +1 -1
  744. package/dist/net/IpInterface.js +53 -4
  745. package/dist/net/IpInterface.js.map +1 -1
  746. package/dist/net/IpNetwork.d.ts +82 -8
  747. package/dist/net/IpNetwork.d.ts.map +1 -1
  748. package/dist/net/IpNetwork.js +60 -4
  749. package/dist/net/IpNetwork.js.map +1 -1
  750. package/dist/net/NetAddress.d.ts +388 -35
  751. package/dist/net/NetAddress.d.ts.map +1 -1
  752. package/dist/net/NetAddress.js +350 -34
  753. package/dist/net/NetAddress.js.map +1 -1
  754. package/dist/net/index.d.ts +15 -0
  755. package/dist/net/index.d.ts.map +1 -1
  756. package/dist/net/index.js +15 -0
  757. package/dist/net/index.js.map +1 -1
  758. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  759. package/dist/observability/OtlpExporter.js +5 -6
  760. package/dist/observability/OtlpExporter.js.map +1 -1
  761. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  762. package/dist/observability/OtlpLogger.js +23 -27
  763. package/dist/observability/OtlpLogger.js.map +1 -1
  764. package/dist/observability/OtlpMetrics.d.ts +5 -3
  765. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  766. package/dist/observability/OtlpMetrics.js +36 -115
  767. package/dist/observability/OtlpMetrics.js.map +1 -1
  768. package/dist/observability/OtlpResource.d.ts +4 -3
  769. package/dist/observability/OtlpResource.d.ts.map +1 -1
  770. package/dist/observability/OtlpResource.js +20 -23
  771. package/dist/observability/OtlpResource.js.map +1 -1
  772. package/dist/observability/OtlpTracer.d.ts +1 -0
  773. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  774. package/dist/observability/OtlpTracer.js +32 -36
  775. package/dist/observability/OtlpTracer.js.map +1 -1
  776. package/dist/observability/PrometheusMetrics.js +1 -0
  777. package/dist/observability/PrometheusMetrics.js.map +1 -1
  778. package/dist/observability/internal/otlpProtobuf.js +32 -1
  779. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  780. package/dist/persistence/PersistedQueue.d.ts +32 -3
  781. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  782. package/dist/persistence/PersistedQueue.js +75 -16
  783. package/dist/persistence/PersistedQueue.js.map +1 -1
  784. package/dist/reactivity/AsyncResult.d.ts +1 -1
  785. package/dist/reactivity/Atom.d.ts +5 -5
  786. package/dist/reactivity/Atom.d.ts.map +1 -1
  787. package/dist/reactivity/Atom.js +9 -5
  788. package/dist/reactivity/Atom.js.map +1 -1
  789. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  790. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  791. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  792. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  793. package/dist/reactivity/AtomRegistry.js.map +1 -1
  794. package/dist/rpc/RpcClient.d.ts +41 -7
  795. package/dist/rpc/RpcClient.d.ts.map +1 -1
  796. package/dist/rpc/RpcClient.js +50 -25
  797. package/dist/rpc/RpcClient.js.map +1 -1
  798. package/dist/rpc/RpcServer.d.ts +6 -0
  799. package/dist/rpc/RpcServer.d.ts.map +1 -1
  800. package/dist/rpc/RpcServer.js +59 -40
  801. package/dist/rpc/RpcServer.js.map +1 -1
  802. package/dist/rpc/internal/tracing.d.ts +2 -0
  803. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  804. package/dist/rpc/internal/tracing.js +18 -0
  805. package/dist/rpc/internal/tracing.js.map +1 -0
  806. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  807. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  808. package/dist/socket/DatagramSocket.d.ts +456 -0
  809. package/dist/socket/DatagramSocket.d.ts.map +1 -0
  810. package/dist/socket/DatagramSocket.js +535 -0
  811. package/dist/socket/DatagramSocket.js.map +1 -0
  812. package/dist/socket/Socket.d.ts +14 -1
  813. package/dist/socket/Socket.d.ts.map +1 -1
  814. package/dist/socket/Socket.js +9 -1
  815. package/dist/socket/Socket.js.map +1 -1
  816. package/dist/socket/index.d.ts +5 -0
  817. package/dist/socket/index.d.ts.map +1 -1
  818. package/dist/socket/index.js +5 -0
  819. package/dist/socket/index.js.map +1 -1
  820. package/dist/sql/Migrator.d.ts.map +1 -1
  821. package/dist/sql/Migrator.js +7 -2
  822. package/dist/sql/Migrator.js.map +1 -1
  823. package/dist/sql/SqlClient.d.ts +7 -1
  824. package/dist/sql/SqlClient.d.ts.map +1 -1
  825. package/dist/sql/SqlClient.js +35 -10
  826. package/dist/sql/SqlClient.js.map +1 -1
  827. package/dist/sql/Statement.d.ts +21 -1
  828. package/dist/sql/Statement.d.ts.map +1 -1
  829. package/dist/sql/Statement.js +55 -7
  830. package/dist/sql/Statement.js.map +1 -1
  831. package/dist/testing/TestClock.d.ts +8 -0
  832. package/dist/testing/TestClock.d.ts.map +1 -1
  833. package/dist/testing/TestClock.js +7 -0
  834. package/dist/testing/TestClock.js.map +1 -1
  835. package/dist/testing/TestConsole.d.ts +7 -0
  836. package/dist/testing/TestConsole.d.ts.map +1 -1
  837. package/dist/testing/TestConsole.js +6 -0
  838. package/dist/testing/TestConsole.js.map +1 -1
  839. package/dist/testing/TestCrypto.d.ts +73 -0
  840. package/dist/testing/TestCrypto.d.ts.map +1 -0
  841. package/dist/testing/TestCrypto.js +87 -0
  842. package/dist/testing/TestCrypto.js.map +1 -0
  843. package/dist/testing/index.d.ts +8 -0
  844. package/dist/testing/index.d.ts.map +1 -1
  845. package/dist/testing/index.js +8 -0
  846. package/dist/testing/index.js.map +1 -1
  847. package/dist/workflow/DurableDeferred.d.ts +54 -0
  848. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  849. package/dist/workflow/DurableDeferred.js +78 -49
  850. package/dist/workflow/DurableDeferred.js.map +1 -1
  851. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  852. package/dist/workflow/WorkflowEngine.js +2 -1
  853. package/dist/workflow/WorkflowEngine.js.map +1 -1
  854. package/package.json +3 -3
  855. package/src/Array.ts +351 -3
  856. package/src/BigDecimal.ts +88 -0
  857. package/src/BigInt.ts +68 -0
  858. package/src/Boolean.ts +34 -0
  859. package/src/Brand.ts +10 -0
  860. package/src/ByteSize.ts +87 -0
  861. package/src/Cache.ts +50 -8
  862. package/src/Cause.ts +82 -0
  863. package/src/Channel.ts +368 -18
  864. package/src/ChannelSchema.ts +13 -0
  865. package/src/Chunk.ts +193 -0
  866. package/src/Clock.ts +7 -0
  867. package/src/Combiner.ts +10 -0
  868. package/src/Config.ts +82 -8
  869. package/src/ConfigProvider.ts +28 -0
  870. package/src/Console.ts +26 -0
  871. package/src/Context.ts +53 -3
  872. package/src/Cron.ts +32 -1
  873. package/src/Crypto.ts +48 -9
  874. package/src/Data.ts +13 -0
  875. package/src/DateTime.ts +180 -6
  876. package/src/Deferred.ts +51 -0
  877. package/src/Differ.ts +2 -0
  878. package/src/Duration.ts +126 -16
  879. package/src/Effect.ts +539 -5
  880. package/src/Effectable.ts +4 -0
  881. package/src/Equal.ts +12 -1
  882. package/src/Equivalence.ts +22 -0
  883. package/src/ErrorReporter.ts +36 -0
  884. package/src/ExecutionPlan.ts +58 -14
  885. package/src/Exit.ts +40 -0
  886. package/src/Fiber.ts +20 -0
  887. package/src/FiberHandle.ts +29 -4
  888. package/src/FiberMap.ts +38 -0
  889. package/src/FiberSet.ts +21 -0
  890. package/src/FileSystem.ts +64 -2
  891. package/src/Filter.ts +55 -0
  892. package/src/Formatter.ts +42 -1
  893. package/src/Function.ts +30 -0
  894. package/src/Graph.ts +317 -36
  895. package/src/HKT.ts +5 -0
  896. package/src/Hash.ts +15 -0
  897. package/src/HashMap.ts +91 -0
  898. package/src/HashRing.ts +18 -0
  899. package/src/HashSet.ts +53 -0
  900. package/src/Inspectable.ts +8 -0
  901. package/src/Iterable.ts +127 -0
  902. package/src/JsonPatch.ts +5 -0
  903. package/src/JsonPointer.ts +5 -0
  904. package/src/JsonSchema.ts +17 -0
  905. package/src/Latch.ts +14 -0
  906. package/src/Layer.ts +101 -1
  907. package/src/LayerMap.ts +7 -0
  908. package/src/LayerRef.ts +5 -0
  909. package/src/LogLevel.ts +20 -0
  910. package/src/Logger.ts +41 -5
  911. package/src/ManagedRuntime.ts +12 -1
  912. package/src/Match.ts +52 -0
  913. package/src/Metric.ts +69 -0
  914. package/src/MutableHashMap.ts +44 -0
  915. package/src/MutableHashSet.ts +17 -0
  916. package/src/MutableList.ts +21 -0
  917. package/src/MutableRef.ts +32 -0
  918. package/src/Newtype.ts +9 -0
  919. package/src/NonEmptyIterable.ts +4 -0
  920. package/src/Number.ts +61 -0
  921. package/src/Optic.ts +57 -0
  922. package/src/Option.ts +134 -0
  923. package/src/Order.ts +30 -0
  924. package/src/Ordering.ts +7 -0
  925. package/src/PartitionedSemaphore.ts +61 -22
  926. package/src/Path.ts +6 -0
  927. package/src/Pipeable.ts +7 -0
  928. package/src/PlatformError.ts +8 -0
  929. package/src/Pool.ts +20 -1
  930. package/src/Predicate.ts +85 -0
  931. package/src/PrimaryKey.ts +5 -0
  932. package/src/PubSub.ts +90 -9
  933. package/src/Pull.ts +20 -0
  934. package/src/Queue.ts +80 -10
  935. package/src/Random.ts +13 -0
  936. package/src/RcMap.ts +23 -0
  937. package/src/RcRef.ts +6 -0
  938. package/src/Record.ts +100 -0
  939. package/src/Redactable.ts +6 -0
  940. package/src/Redacted.ts +8 -0
  941. package/src/Reducer.ts +4 -0
  942. package/src/Ref.ts +42 -0
  943. package/src/References.ts +21 -0
  944. package/src/RegExp.ts +4 -0
  945. package/src/Request.ts +32 -0
  946. package/src/RequestResolver.ts +59 -10
  947. package/src/Resource.ts +7 -0
  948. package/src/Result.ts +93 -0
  949. package/src/Runtime.ts +10 -0
  950. package/src/Schedule.ts +61 -0
  951. package/src/Scheduler.ts +7 -0
  952. package/src/Schema.ts +1168 -9
  953. package/src/SchemaAST.ts +115 -1
  954. package/src/SchemaGetter.ts +80 -4
  955. package/src/SchemaIssue.ts +34 -0
  956. package/src/SchemaParser.ts +26 -0
  957. package/src/SchemaRepresentation.ts +148 -0
  958. package/src/SchemaTransformation.ts +53 -0
  959. package/src/Scope.ts +19 -0
  960. package/src/ScopedCache.ts +55 -3
  961. package/src/ScopedRef.ts +9 -0
  962. package/src/Semaphore.ts +26 -0
  963. package/src/Sink.ts +126 -2
  964. package/src/StandardSchema.ts +1 -0
  965. package/src/Stdio.ts +16 -2
  966. package/src/Stream.ts +633 -26
  967. package/src/String.ts +87 -0
  968. package/src/Struct.ts +46 -0
  969. package/src/SubscriptionRef.ts +65 -0
  970. package/src/Symbol.ts +2 -0
  971. package/src/SynchronizedRef.ts +63 -0
  972. package/src/Take.ts +3 -0
  973. package/src/Terminal.ts +8 -0
  974. package/src/Tracer.ts +23 -0
  975. package/src/Trie.ts +68 -0
  976. package/src/Tuple.ts +38 -0
  977. package/src/TxChunk.ts +52 -0
  978. package/src/TxDeferred.ts +15 -0
  979. package/src/TxHashMap.ts +97 -6
  980. package/src/TxHashSet.ts +83 -3
  981. package/src/TxPriorityQueue.ts +34 -2
  982. package/src/TxPubSub.ts +26 -0
  983. package/src/TxQueue.ts +51 -0
  984. package/src/TxReentrantLock.ts +53 -36
  985. package/src/TxRef.ts +14 -0
  986. package/src/TxSemaphore.ts +47 -31
  987. package/src/TxSubscriptionRef.ts +25 -0
  988. package/src/Types.ts +36 -0
  989. package/src/UndefinedOr.ts +15 -0
  990. package/src/Unify.ts +15 -0
  991. package/src/Utils.ts +4 -0
  992. package/src/Version.ts +38 -0
  993. package/src/ai/Chat.ts +1 -1
  994. package/src/ai/DecisionModel.ts +42 -1
  995. package/src/ai/LanguageModel.ts +16 -19
  996. package/src/ai/McpServer.ts +169 -58
  997. package/src/ai/Telemetry.ts +62 -58
  998. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
  999. package/src/ai/internal/mcpProtocol.ts +3 -0
  1000. package/src/ai/internal/mcpRuntime.ts +86 -43
  1001. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  1002. package/src/cli/CliOutput.ts +33 -16
  1003. package/src/cli/Command.ts +4 -3
  1004. package/src/cli/Completions.ts +9 -6
  1005. package/src/cli/GlobalFlag.ts +19 -11
  1006. package/src/cli/Prompt.ts +159 -149
  1007. package/src/cli/internal/ansi.ts +26 -3
  1008. package/src/cli/internal/completions/powershell.ts +322 -0
  1009. package/src/cli/internal/completions/zsh.ts +4 -2
  1010. package/src/cli/internal/wizard.ts +34 -26
  1011. package/src/cluster/ClusterSchema.ts +32 -0
  1012. package/src/cluster/ClusterWorkflowEngine.ts +13 -24
  1013. package/src/cluster/K8sHttpClient.ts +12 -2
  1014. package/src/cluster/MessageStorage.ts +45 -14
  1015. package/src/cluster/Runners.ts +8 -2
  1016. package/src/cluster/Sharding.ts +207 -49
  1017. package/src/cluster/SqlMessageStorage.ts +118 -84
  1018. package/src/cluster/SqlRunnerStorage.ts +224 -128
  1019. package/src/cluster/internal/entityManager.ts +151 -55
  1020. package/src/encoding/Base64.ts +4 -0
  1021. package/src/encoding/Base64Url.ts +4 -0
  1022. package/src/encoding/EncodingError.ts +5 -0
  1023. package/src/encoding/Hex.ts +5 -0
  1024. package/src/encoding/Toml.ts +2 -2
  1025. package/src/encoding/Yaml.ts +8 -4
  1026. package/src/encoding/index.ts +4 -0
  1027. package/src/eventlog/SqlEventJournal.ts +18 -4
  1028. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  1029. package/src/http/FindMyWay/internal/router.ts +4 -7
  1030. package/src/http/Headers.ts +8 -2
  1031. package/src/http/HttpClient.ts +100 -29
  1032. package/src/http/HttpClientResponse.ts +3 -1
  1033. package/src/http/HttpEffect.ts +11 -2
  1034. package/src/http/HttpMiddleware.ts +60 -45
  1035. package/src/http/HttpServer.ts +1 -1
  1036. package/src/http/HttpTraceContext.ts +8 -2
  1037. package/src/http/internal/tracing.ts +52 -0
  1038. package/src/http-api/HttpApiBuilder.ts +5 -1
  1039. package/src/http-api/HttpApiClient.ts +13 -4
  1040. package/src/http-api/HttpApiError.ts +8 -4
  1041. package/src/http-api/HttpApiSecurity.ts +8 -8
  1042. package/src/index.ts +156 -0
  1043. package/src/internal/arbitrary/array.ts +3 -3
  1044. package/src/internal/arbitrary/model.ts +37 -14
  1045. package/src/internal/arbitrary/runner.ts +7 -7
  1046. package/src/internal/arbitrary/schema.ts +4 -3
  1047. package/src/internal/effect.ts +62 -58
  1048. package/src/internal/schedule.ts +23 -17
  1049. package/src/internal/schema/standardSchema.ts +2 -2
  1050. package/src/internal/version.ts +2 -0
  1051. package/src/net/AddressResolver.ts +222 -0
  1052. package/src/net/Dns.ts +1035 -0
  1053. package/src/net/Host.ts +472 -0
  1054. package/src/net/IpInterface.ts +117 -7
  1055. package/src/net/IpNetwork.ts +116 -17
  1056. package/src/net/NetAddress.ts +611 -76
  1057. package/src/net/index.ts +18 -0
  1058. package/src/observability/OtlpExporter.ts +9 -6
  1059. package/src/observability/OtlpLogger.ts +20 -21
  1060. package/src/observability/OtlpMetrics.ts +46 -116
  1061. package/src/observability/OtlpResource.ts +18 -27
  1062. package/src/observability/OtlpTracer.ts +34 -40
  1063. package/src/observability/PrometheusMetrics.ts +1 -0
  1064. package/src/observability/internal/otlpProtobuf.ts +60 -0
  1065. package/src/persistence/PersistedQueue.ts +146 -53
  1066. package/src/reactivity/AsyncResult.ts +1 -1
  1067. package/src/reactivity/Atom.ts +10 -6
  1068. package/src/reactivity/AtomHttpApi.ts +2 -4
  1069. package/src/reactivity/AtomRegistry.ts +7 -0
  1070. package/src/rpc/RpcClient.ts +87 -41
  1071. package/src/rpc/RpcServer.ts +85 -48
  1072. package/src/rpc/internal/tracing.ts +22 -0
  1073. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  1074. package/src/socket/DatagramSocket.ts +919 -0
  1075. package/src/socket/Socket.ts +22 -2
  1076. package/src/socket/index.ts +6 -0
  1077. package/src/sql/Migrator.ts +21 -5
  1078. package/src/sql/SqlClient.ts +43 -19
  1079. package/src/sql/Statement.ts +59 -7
  1080. package/src/testing/TestClock.ts +9 -0
  1081. package/src/testing/TestConsole.ts +8 -0
  1082. package/src/testing/TestCrypto.ts +94 -0
  1083. package/src/testing/index.ts +9 -0
  1084. package/src/workflow/DurableDeferred.ts +123 -48
  1085. package/src/workflow/WorkflowEngine.ts +2 -1
@@ -869,12 +869,7 @@ export const make: (params: {
869
869
  > =>
870
870
  Effect.useSpan(
871
871
  "LanguageModel.generateText",
872
- {
873
- attributes: {
874
- concurrency: options.concurrency,
875
- toolChoice: options.toolChoice
876
- }
877
- },
872
+ { kind: "client" },
878
873
  Effect.fnUntraced(
879
874
  function*(span) {
880
875
  const spanTransformer = yield* getSpanTransformer
@@ -930,11 +925,8 @@ export const make: (params: {
930
925
  return Effect.useSpan(
931
926
  "LanguageModel.generateObject",
932
927
  {
933
- attributes: {
934
- objectName,
935
- concurrency: options.concurrency,
936
- toolChoice: options.toolChoice
937
- }
928
+ kind: "client",
929
+ attributes: { "effect.ai.object_name": objectName }
938
930
  },
939
931
  Effect.fnUntraced(
940
932
  function*(span) {
@@ -1006,12 +998,7 @@ export const make: (params: {
1006
998
  Tools extends Record<string, Tool.Any>,
1007
999
  Options extends NoExcessProperties<GenerateTextOptions<Tools>, Options>
1008
1000
  >(options: Options & GenerateTextOptions<Tools>) {
1009
- const span = yield* Effect.makeSpanScoped("LanguageModel.streamText", {
1010
- attributes: {
1011
- concurrency: options.concurrency,
1012
- toolChoice: options.toolChoice
1013
- }
1014
- })
1001
+ const span = yield* Effect.makeSpanScoped("LanguageModel.streamText", { kind: "client" })
1015
1002
 
1016
1003
  const providerOptions: Mutable<ProviderOptions> = {
1017
1004
  prompt: Prompt.make(options.prompt),
@@ -1083,7 +1070,7 @@ export const make: (params: {
1083
1070
  const tracker = Option.getOrUndefined(yield* Effect.serviceOption(ResponseIdTracker.ResponseIdTracker))
1084
1071
  const toolChoice = options.toolChoice ?? "auto"
1085
1072
  const concurrency = options.concurrency ?? "unbounded"
1086
- providerOptions.span.attribute("concurrency", concurrency)
1073
+ annotateRequestOptions(providerOptions, toolChoice, concurrency)
1087
1074
 
1088
1075
  const generateWithNonIncrementalFallback = () => {
1089
1076
  const requestOptions: ProviderOptions = {
@@ -1336,7 +1323,7 @@ export const make: (params: {
1336
1323
  const tracker = Option.getOrUndefined(yield* Effect.serviceOption(ResponseIdTracker.ResponseIdTracker))
1337
1324
  const toolChoice = options.toolChoice ?? "auto"
1338
1325
  const concurrency = options.concurrency ?? "unbounded"
1339
- providerOptions.span.attribute("concurrency", concurrency)
1326
+ annotateRequestOptions(providerOptions, toolChoice, concurrency)
1340
1327
 
1341
1328
  const streamWithNonIncrementalFallback = () => {
1342
1329
  const requestOptions: ProviderOptions = {
@@ -2485,6 +2472,16 @@ const resolveToolkit = <Tools extends Record<string, Tool.Any>, E, R>(
2485
2472
  ? toolkit
2486
2473
  : Effect.succeed(toolkit as unknown as Toolkit.WithHandler<Tools>)) as any
2487
2474
 
2475
+ const annotateRequestOptions = (
2476
+ { responseFormat, span }: ProviderOptions,
2477
+ toolChoice: ToolChoice<any>,
2478
+ concurrency: Concurrency
2479
+ ): void => {
2480
+ span.attribute("gen_ai.output.type", responseFormat.type)
2481
+ span.attribute("effect.ai.tool_choice", typeof toolChoice === "string" ? toolChoice : JSON.stringify(toolChoice))
2482
+ span.attribute("effect.ai.concurrency", concurrency)
2483
+ }
2484
+
2488
2485
  /**
2489
2486
  * @internal
2490
2487
  */
@@ -94,6 +94,7 @@ type CompletionContext = typeof Complete.payloadSchema.Type["context"]
94
94
 
95
95
  interface QueuedServerNotification {
96
96
  readonly notification: McpCore.ServerNotification
97
+ listChangeRevision?: number | undefined
97
98
  readonly targetClientId?: number | undefined
98
99
  readonly delivered: Deferred.Deferred<void>
99
100
  readonly requestContext?: McpRequestContext["Service"] | undefined
@@ -103,7 +104,7 @@ interface QueuedServerNotification {
103
104
  const internalState = new WeakMap<object, {
104
105
  readonly core: McpCore.McpCore
105
106
  readonly notifications: Queue.Dequeue<QueuedServerNotification>
106
- readonly notificationDelivery: { consumers: number }
107
+ readonly notificationDelivery: { consumers: number; listChangeRevision: number }
107
108
  }>()
108
109
  type ServerExtensions = NonNullable<ServerCapabilities["extensions"]>
109
110
  type ServerNotificationRequest<
@@ -321,8 +322,8 @@ export class McpServer extends Context.Service<McpServer, {
321
322
  readonly annotations: Context.Context<never>
322
323
  }> = []
323
324
  const notificationsQueue = yield* Queue.make<QueuedServerNotification>()
324
- const notificationDelivery = { consumers: 0 }
325
- const pendingListChanges = new Set<string>()
325
+ const notificationDelivery = { consumers: 0, listChangeRevision: 0 }
326
+ const pendingListChanges = new Map<string, QueuedServerNotification>()
326
327
  const dispatcher = (yield* Scheduler).makeDispatcher()
327
328
  const notifications = yield* RpcClient.makeNoSerialization(BroadcastServerNotificationRpcs, {
328
329
  spanPrefix: "McpServer/Notifications",
@@ -337,7 +338,7 @@ export class McpServer extends Context.Service<McpServer, {
337
338
  if (notification === undefined) {
338
339
  return Effect.void
339
340
  }
340
- const queued = {
341
+ const queued: QueuedServerNotification = {
341
342
  notification,
342
343
  delivered,
343
344
  requestContext: Context.getOrUndefined(fiber.context, McpRequestContext),
@@ -345,14 +346,19 @@ export class McpServer extends Context.Service<McpServer, {
345
346
  }
346
347
  let enqueued = false
347
348
  if (message.tag.includes("list_changed")) {
348
- if (!pendingListChanges.has(message.tag)) {
349
+ const revision = ++notificationDelivery.listChangeRevision
350
+ const pending = pendingListChanges.get(message.tag)
351
+ if (pending !== undefined) {
352
+ // A coalesced change may be newer than an intervening subscription.
353
+ pending.listChangeRevision = revision
354
+ } else {
355
+ queued.listChangeRevision = revision
349
356
  enqueued = true
350
- const tag = message.tag
357
+ pendingListChanges.set(message.tag, queued)
351
358
  dispatcher.scheduleTask(() => {
352
- Queue.offerUnsafe(notificationsQueue, queued)
353
359
  pendingListChanges.delete(message.tag)
360
+ Queue.offerUnsafe(notificationsQueue, queued)
354
361
  }, 0)
355
- pendingListChanges.add(tag)
356
362
  }
357
363
  } else {
358
364
  enqueued = true
@@ -651,11 +657,14 @@ const MCP_SESSION_ID_HEADER = "mcp-session-id"
651
657
  const MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version"
652
658
  const MCP_INVALID_BATCH_METHOD = "invalid/json-rpc-batch"
653
659
  const cancelledResponses = new WeakMap<object, string | number>()
660
+ const httpPostResponses = new WeakMap<HttpServerRequest.HttpServerRequest, { expected: number }>()
654
661
  const requestKey = (requestId: string | number): string => `${typeof requestId}:${requestId}`
655
662
 
656
663
  interface ActiveRequest {
664
+ readonly requestId: RpcMessage.RequestId
657
665
  readonly prepared: McpRuntime.PreparedRequest
658
666
  readonly cancelled: boolean
667
+ readonly httpPost: { expected: number } | undefined
659
668
  }
660
669
 
661
670
  class McpClientKey extends Data.Class<{
@@ -715,6 +724,7 @@ const runWithRuntime = Effect.fnUntraced(function*(
715
724
  readonly websiteUrl?: string | undefined
716
725
  readonly icons?: ReadonlyArray<McpSchema.Icon> | undefined
717
726
  readonly extensions?: ServerExtensions | undefined
727
+ readonly allowSubscriptions?: boolean | undefined
718
728
  },
719
729
  runtime: McpRuntime.ServerRuntimeShape,
720
730
  transport: "custom" | "http" | "stdio"
@@ -805,10 +815,13 @@ const runWithRuntime = Effect.fnUntraced(function*(
805
815
  payload: { requestId, reason }
806
816
  })
807
817
  })
818
+ let writeFromClient!: (clientId: number, message: RpcMessage.FromClientEncoded) => Effect.Effect<void>
819
+ const { core, notificationDelivery, notifications } = internalState.get(server)!
808
820
  const handlers = yield* runtime.installHandlers({
809
- core: internalState.get(server)!.core,
821
+ core,
810
822
  subscribeServerNotifications: PubSub.subscribe(serverNotifications),
811
- ...(!protocol.supportsNotifications ? {} : {
823
+ getListChangeRevision: () => notificationDelivery.listChangeRevision,
824
+ ...(!protocol.supportsNotifications || options.allowSubscriptions === false ? {} : {
812
825
  sendNotification,
813
826
  markSubscriptionCancelled: (clientId: number, requestId: RpcMessage.RequestId) =>
814
827
  Effect.sync(() => {
@@ -846,10 +859,13 @@ const runWithRuntime = Effect.fnUntraced(function*(
846
859
  if (request._tag === "Interrupt") {
847
860
  // A cancelled reverse request may never receive a reply.
848
861
  removeReverseRequestClient(requestKey(request.requestId), key)
862
+ return sendNotification(key.profile.protocolVersion, key.clientId, {
863
+ tag: "notifications/cancelled",
864
+ payload: { requestId: request.requestId }
865
+ })
849
866
  }
850
- // Ack & co are not part of FromServerEncoded, but the JSON-RPC
851
- // serializer encodes them symmetrically for reverse control flow
852
- return protocol.send(key.clientId, request as any)
867
+ // Effect RPC control messages are not part of the MCP protocol.
868
+ return Effect.void
853
869
  },
854
870
  supportsAck: true,
855
871
  supportsTransferables: false,
@@ -948,12 +964,13 @@ const runWithRuntime = Effect.fnUntraced(function*(
948
964
  if (response._tag === "Exit") {
949
965
  const requests = activeRequests.get(clientId)
950
966
  const key = requestKey(response.requestId)
951
- const cancelled = requests?.get(key)?.cancelled
967
+ const active = requests?.get(key)
952
968
  if (requests !== undefined && requests.delete(key) && requests.size === 0) {
953
969
  activeRequests.delete(clientId)
954
970
  }
955
- if (cancelled === true) {
971
+ if (active?.cancelled === true) {
956
972
  if (transport === "custom") return Effect.void
973
+ if (active.httpPost !== undefined) active.httpPost.expected--
957
974
  cancelledResponses.set(response, response.requestId)
958
975
  return protocol.send(clientId, response)
959
976
  }
@@ -976,8 +993,9 @@ const runWithRuntime = Effect.fnUntraced(function*(
976
993
  }
977
994
  return protocol.send(clientId, response)
978
995
  },
979
- run: (f) =>
980
- protocol.run((clientId, request_) => {
996
+ run: (f) => {
997
+ writeFromClient = f
998
+ return protocol.run((clientId, request_) => {
981
999
  const fiber = Fiber.getCurrent()!
982
1000
  const request = request_ as unknown as
983
1001
  | RpcMessage.FromServerEncoded
@@ -1000,6 +1018,11 @@ const runWithRuntime = Effect.fnUntraced(function*(
1000
1018
  }
1001
1019
  switch (request._tag) {
1002
1020
  case "Request": {
1021
+ if (httpRequest !== undefined && request.isNotification !== true) {
1022
+ const httpPost = httpPostResponses.get(httpRequest) ?? { expected: 0 }
1023
+ httpPost.expected++
1024
+ httpPostResponses.set(httpRequest, httpPost)
1025
+ }
1003
1026
  const headers = isHttp
1004
1027
  ? Context.getUnsafe(
1005
1028
  Fiber.getCurrent()!.context,
@@ -1045,11 +1068,13 @@ const runWithRuntime = Effect.fnUntraced(function*(
1045
1068
  if (httpRequest !== undefined && session !== undefined) {
1046
1069
  appendPreResponseHandlerUnsafe(httpRequest, (_, res) =>
1047
1070
  Effect.succeed(
1048
- HttpServerResponse.setHeader(
1049
- res,
1050
- MCP_PROTOCOL_VERSION_HEADER,
1051
- session.protocol.protocolVersion
1052
- )
1071
+ runtime.resolveRequest(clientId, headers) === undefined
1072
+ ? HttpServerResponse.empty({ status: 404 })
1073
+ : HttpServerResponse.setHeader(
1074
+ res,
1075
+ MCP_PROTOCOL_VERSION_HEADER,
1076
+ session.protocol.protocolVersion
1077
+ )
1053
1078
  ))
1054
1079
  }
1055
1080
  const routedRequest = runtime.routeClientRequest(selectedProtocol, request)
@@ -1130,7 +1155,12 @@ const runWithRuntime = Effect.fnUntraced(function*(
1130
1155
  }
1131
1156
  if (request.isNotification !== true) {
1132
1157
  const requests = activeRequests.get(clientId) ?? new Map<string, ActiveRequest>()
1133
- requests.set(requestKey(request.id), { prepared, cancelled: false })
1158
+ requests.set(requestKey(request.id), {
1159
+ requestId: RpcMessage.RequestId(request.id),
1160
+ prepared,
1161
+ cancelled: false,
1162
+ httpPost: httpRequest === undefined ? undefined : httpPostResponses.get(httpRequest)
1163
+ })
1134
1164
  activeRequests.set(clientId, requests)
1135
1165
  }
1136
1166
  const handled = f(clientId, routedRequest)
@@ -1205,9 +1235,23 @@ const runWithRuntime = Effect.fnUntraced(function*(
1205
1235
  }
1206
1236
  }
1207
1237
  })
1238
+ }
1208
1239
  })
1240
+ if (isHttp) {
1241
+ // Stop requests that can no longer receive client replies after termination.
1242
+ yield* runtime.onSessionTerminated((binding) => {
1243
+ const interrupts: Array<Effect.Effect<void>> = []
1244
+ for (const [clientId, requests] of activeRequests) {
1245
+ for (const { prepared, requestId } of requests.values()) {
1246
+ if (prepared.binding === binding && cancelRequest(clientId, requestId)) {
1247
+ interrupts.push(writeFromClient(clientId, { _tag: "Interrupt", requestId }))
1248
+ }
1249
+ }
1250
+ }
1251
+ return Effect.all(interrupts, { discard: true })
1252
+ })
1253
+ }
1209
1254
 
1210
- const { notificationDelivery, notifications } = internalState.get(server)!
1211
1255
  yield* Effect.acquireRelease(
1212
1256
  Effect.sync(() => {
1213
1257
  notificationDelivery.consumers++
@@ -1220,9 +1264,9 @@ const runWithRuntime = Effect.fnUntraced(function*(
1220
1264
  const notificationTails = new Map<number, Deferred.Deferred<void>>()
1221
1265
  yield* Queue.take(notifications).pipe(
1222
1266
  Effect.flatMap(Effect.fnUntraced(function*(queued) {
1223
- const { delivered, notification, targetClientId, requestContext, requestHeaders } = queued
1267
+ const { delivered, listChangeRevision, notification, targetClientId, requestContext, requestHeaders } = queued
1224
1268
  if (McpProtocolInternal.isSubscriptionServerNotification(notification)) {
1225
- yield* PubSub.publish(serverNotifications, { notification, targetClientId })
1269
+ yield* PubSub.publish(serverNotifications, { notification, targetClientId, listChangeRevision })
1226
1270
  }
1227
1271
  const clientIds = yield* patchedProtocol.clientIds
1228
1272
  for (const clientId of clientStates.keys()) {
@@ -1398,6 +1442,7 @@ const layerWithRuntime = (options: {
1398
1442
  readonly websiteUrl?: string | undefined
1399
1443
  readonly icons?: ReadonlyArray<McpSchema.Icon> | undefined
1400
1444
  readonly extensions?: ServerExtensions | undefined
1445
+ readonly allowSubscriptions?: boolean | undefined
1401
1446
  }, transport: "custom" | "http" | "stdio"): Layer.Layer<
1402
1447
  McpServer | McpServerClient,
1403
1448
  never,
@@ -1526,19 +1571,33 @@ const mcpStdioSerialization = (
1526
1571
  * **Details**
1527
1572
  *
1528
1573
  * POST serves JSON-RPC and accepted notification-only requests return `202`.
1529
- * Modern routing-header mismatches and unsupported protocol versions return
1530
- * JSON-RPC errors with status `400`; unknown modern RPC methods return a
1531
- * JSON-RPC method-not-found error with status `404`. Unsupported HTTP methods
1532
- * return `405`. Requests carrying an `Origin` header are rejected unless the
1533
- * exact origin appears in `allowedOrigins`; Origin-less non-browser clients
1574
+ * Header mismatches, unsupported protocol versions, and invalid session-header
1575
+ * usage return JSON-RPC errors with status `400`.
1576
+ * Unknown modern RPC methods return a JSON-RPC method-not-found error with
1577
+ * status `404`. Session requests without `MCP-Protocol-Version` use the version
1578
+ * negotiated at initialization. Unsupported HTTP methods return `405`.
1579
+ * Requests with an `Origin` header are rejected unless the exact origin
1580
+ * appears in `allowedOrigins`; Origin-less non-browser clients
1534
1581
  * remain valid. The surrounding HTTP server remains responsible for binding
1535
1582
  * to an appropriate interface and installing authentication.
1536
1583
  *
1584
+ * With `allowSessionTermination`, a DELETE carrying `Mcp-Session-Id` ends that
1585
+ * session with `204` and interrupts its in-flight requests; later requests with
1586
+ * that id get `404`. DELETE validates the session and `MCP-Protocol-Version`
1587
+ * headers like POST. Without the option, or when only sessionless revisions
1588
+ * such as `v2026_07_28` are configured, DELETE returns `405`. Any caller
1589
+ * holding a session id can end that session, so authenticate requests in the
1590
+ * surrounding router.
1591
+ *
1592
+ * Set `allowSubscriptions: false` to disable `v2026_07_28` subscriptions.
1593
+ * Discovery advertises `listChanged: false`, and `subscriptions/listen` returns
1594
+ * Method not found. Request-scoped progress and logs, legacy protocols, and
1595
+ * default subscription behavior are unchanged.
1596
+ *
1537
1597
  * `layerHttp` always implements the single-endpoint Streamable HTTP topology.
1538
1598
  * Using `v2024_11_05` here is a custom compatibility transport for that
1539
1599
  * revision's schema. It does not implement the historical two-endpoint
1540
- * HTTP+SSE transport, GET SSE, event resumption, session expiry, or client
1541
- * session termination.
1600
+ * HTTP+SSE transport, GET SSE, event resumption, or session expiry.
1542
1601
  *
1543
1602
  * @see {@link layerStdio} for exposing the server over stdio
1544
1603
  * @see {@link layer} for the base MCP server layer without a transport protocol
@@ -1558,24 +1617,11 @@ export const layerHttp = (options: {
1558
1617
  readonly protocols: Arr.NonEmptyReadonlyArray<McpProtocol.ProtocolAdapter>
1559
1618
  readonly extensions?: ServerExtensions | undefined
1560
1619
  readonly allowedOrigins?: ReadonlyArray<string> | undefined
1620
+ readonly allowSessionTermination?: boolean | undefined
1621
+ readonly allowSubscriptions?: boolean | undefined
1561
1622
  }): Layer.Layer<McpServer | McpServerClient, Cause.IllegalArgumentError, HttpRouter.HttpRouter> => {
1562
1623
  const runtime = McpRuntime.layer(options.protocols)
1563
- const methodNotAllowedResponse = HttpServerResponse.empty({
1564
- status: 405,
1565
- headers: { allow: "POST" }
1566
- })
1567
- const methodNotAllowed = (request: HttpServerRequest.HttpServerRequest) =>
1568
- isAllowedMcpOrigin(request, options.allowedOrigins)
1569
- ? Effect.succeed(methodNotAllowedResponse)
1570
- : Effect.succeed(HttpServerResponse.empty({ status: 403 }))
1571
- const routes = Layer.mergeAll(
1572
- HttpRouter.add("GET", options.path, methodNotAllowed),
1573
- HttpRouter.add("PUT", options.path, methodNotAllowed),
1574
- HttpRouter.add("PATCH", options.path, methodNotAllowed),
1575
- HttpRouter.add("DELETE", options.path, methodNotAllowed),
1576
- HttpRouter.add("OPTIONS", options.path, methodNotAllowed)
1577
- )
1578
- return Layer.merge(layerWithRuntime(options, "http"), routes).pipe(
1624
+ return layerWithRuntime(options, "http").pipe(
1579
1625
  Layer.provide(layerMcpProtocolHttp(options)),
1580
1626
  Layer.provide(runtime),
1581
1627
  Layer.provide(RpcSerialization.layerJsonRpc())
@@ -1585,6 +1631,7 @@ export const layerHttp = (options: {
1585
1631
  const layerMcpProtocolHttp = (options: {
1586
1632
  readonly path: HttpRouter.PathInput
1587
1633
  readonly allowedOrigins?: ReadonlyArray<string> | undefined
1634
+ readonly allowSessionTermination?: boolean | undefined
1588
1635
  }): Layer.Layer<
1589
1636
  RpcServer.Protocol,
1590
1637
  never,
@@ -1596,6 +1643,29 @@ const layerMcpProtocolHttp = (options: {
1596
1643
  Effect.provideService(RpcSerialization.RpcSerialization, mcpHttpSerialization)
1597
1644
  )
1598
1645
  const router = yield* HttpRouter.HttpRouter
1646
+ const allowSessionTermination = options.allowSessionTermination === true &&
1647
+ runtime.protocols.some((protocol) => protocol.runtime._tag === "Stateful")
1648
+ const forbidden = Effect.succeed(HttpServerResponse.empty({ status: 403 }))
1649
+ const withAllowedOrigin = (
1650
+ handler: (request: HttpServerRequest.HttpServerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse>
1651
+ ) =>
1652
+ (request: HttpServerRequest.HttpServerRequest) =>
1653
+ isAllowedMcpOrigin(request, options.allowedOrigins) ? handler(request) : forbidden
1654
+ const methodNotAllowedResponse = Effect.succeed(HttpServerResponse.empty({
1655
+ status: 405,
1656
+ headers: { allow: allowSessionTermination ? "POST, DELETE" : "POST" }
1657
+ }))
1658
+ const methodNotAllowed = withAllowedOrigin(() => methodNotAllowedResponse)
1659
+ for (const method of ["GET", "PUT", "PATCH", "OPTIONS"] as const) {
1660
+ yield* router.add(method, options.path, methodNotAllowed)
1661
+ }
1662
+ yield* router.add(
1663
+ "DELETE",
1664
+ options.path,
1665
+ allowSessionTermination
1666
+ ? withAllowedOrigin((request) => runtime.terminateHttpSession(request.headers))
1667
+ : methodNotAllowed
1668
+ )
1599
1669
  yield* router.add("POST", options.path, (request) => {
1600
1670
  if (!isAllowedMcpOrigin(request, options.allowedOrigins)) {
1601
1671
  return Effect.succeed(HttpServerResponse.empty({ status: 403 }))
@@ -1615,17 +1685,30 @@ const layerMcpProtocolHttp = (options: {
1615
1685
  if (admission._tag === "Rejected") {
1616
1686
  return admission.response
1617
1687
  }
1618
- const response = Effect.map(httpEffect, (response) => {
1688
+ const toResponse = (response: HttpServerResponse.HttpServerResponse) => {
1619
1689
  // Completed responses may already contain notifications followed by the result.
1620
1690
  const hasMultipleMessages = response.body._tag === "Uint8Array" &&
1621
1691
  response.body.body.subarray(0, -1).includes(10)
1622
1692
  return admission.isSubscription || response.body._tag === "Stream" || hasMultipleMessages
1623
1693
  ? toServerSentEvents(response, admission.isSubscription)
1624
1694
  : response
1695
+ }
1696
+ if (admission.acknowledge) {
1697
+ return yield* Effect.catchCause(
1698
+ Effect.map(httpEffect, toResponse),
1699
+ () => Effect.succeed(HttpServerResponse.empty({ status: 202 }))
1700
+ )
1701
+ }
1702
+ return yield* Effect.flatMap(httpEffect, (response) => {
1703
+ if (response.body._tag !== "Uint8Array" || response.body.body.length > 0) {
1704
+ return Effect.succeed(toResponse(response))
1705
+ }
1706
+ // Only fully cancelled request POSTs may return an empty SSE response.
1707
+ // https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#sending-messages-to-the-server
1708
+ return httpPostResponses.get(request)?.expected === 0
1709
+ ? Effect.succeed(HttpServerResponse.stream(Stream.empty, { contentType: "text/event-stream" }))
1710
+ : Effect.die(new Error("MCP request ended without writing its response"))
1625
1711
  })
1626
- return yield* admission.acknowledge
1627
- ? Effect.catchCause(response, () => Effect.succeed(HttpServerResponse.empty({ status: 202 })))
1628
- : response
1629
1712
  })
1630
1713
  })
1631
1714
  return protocol
@@ -1809,7 +1892,7 @@ export const registerToolkit: <Tools extends Record<string, Tool.Any>>(
1809
1892
  ) => Effect.Effect<
1810
1893
  void,
1811
1894
  never,
1812
- McpServer | Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools>, McpRequestContext>
1895
+ McpServer | Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
1813
1896
  > = Effect.fnUntraced(function*<Tools extends Record<string, Tool.Any>>(
1814
1897
  toolkit: Toolkit.Toolkit<Tools>
1815
1898
  ) {
@@ -1829,7 +1912,11 @@ export const registerToolkit: <Tools extends Record<string, Tool.Any>>(
1829
1912
  }
1830
1913
  return Context.makeUnsafe(services)
1831
1914
  }))
1832
- const services = omitRequestServices(yield* Effect.context<never>())
1915
+ const services = omitRequestServices(
1916
+ yield* Effect.context<
1917
+ Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
1918
+ >()
1919
+ )
1833
1920
  const reportCause = (cause: Cause.Cause<unknown>) => Effect.provideContext(ErrorReporter.report(cause), services)
1834
1921
  // Interruption propagates; anything else is logged, reported and scrubbed.
1835
1922
  const internalToolError = (cause: Cause.Cause<unknown>) => {
@@ -1973,7 +2060,7 @@ export const toolkit = <Tools extends Record<string, Tool.Any>>(
1973
2060
  ): Layer.Layer<
1974
2061
  never,
1975
2062
  never,
1976
- Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools>, McpRequestContext>
2063
+ Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
1977
2064
  > =>
1978
2065
  Layer.effectDiscard(registerToolkit(toolkit)).pipe(
1979
2066
  Layer.provide(McpServer.layer)
@@ -1997,6 +2084,19 @@ export type ValidateCompletions<Completions, Keys extends string> =
1997
2084
  : never
1998
2085
  }
1999
2086
 
2087
+ /**
2088
+ * Utility type that collects the services required by the handlers of a
2089
+ * completion-handler record, including handlers declared as optional.
2090
+ *
2091
+ * @stability unstable
2092
+ * @category utility types
2093
+ * @since 4.0.0
2094
+ */
2095
+ export type CompletionServices<Completions> = {
2096
+ [K in keyof Completions]-?: NonNullable<Completions[K]> extends (...args: any) => infer Ret ? Effect.Services<Ret>
2097
+ : never
2098
+ }[keyof Completions]
2099
+
2000
2100
  /**
2001
2101
  * Completion-handler map for a resource URI template.
2002
2102
  *
@@ -2374,7 +2474,13 @@ export const registerPrompt = <
2374
2474
  ): Effect.Effect<
2375
2475
  void,
2376
2476
  never,
2377
- Exclude<Schema.Struct.DecodingServices<Params> | R, McpRequestContext> | McpServer
2477
+ | Exclude<
2478
+ | Schema.Struct.DecodingServices<Params>
2479
+ | R
2480
+ | CompletionServices<Completions>,
2481
+ McpRequestContext
2482
+ >
2483
+ | McpServer
2378
2484
  > => {
2379
2485
  const args = Arr.empty<PromptArgument>()
2380
2486
  const props: Record<string, Schema.Constraint> = options.parameters ?? {}
@@ -2512,7 +2618,12 @@ export const prompt = <
2512
2618
  ): Layer.Layer<
2513
2619
  never,
2514
2620
  never,
2515
- Exclude<Schema.Struct.DecodingServices<Params> | R, McpRequestContext>
2621
+ Exclude<
2622
+ | Schema.Struct.DecodingServices<Params>
2623
+ | R
2624
+ | CompletionServices<Completions>,
2625
+ McpRequestContext
2626
+ >
2516
2627
  > =>
2517
2628
  Layer.effectDiscard(registerPrompt(options)).pipe(
2518
2629
  Layer.provide(McpServer.layer)