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
@@ -27,50 +27,35 @@ import type * as Response from "./Response.ts"
27
27
  *
28
28
  * These attributes follow the OpenTelemetry generative AI semantic
29
29
  * conventions:
30
- * https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/
30
+ * https://github.com/open-telemetry/semantic-conventions-genai
31
31
  *
32
32
  * @stability unstable
33
33
  * @category models
34
34
  * @since 4.0.0
35
35
  */
36
36
  export type GenAITelemetryAttributes = Struct.Simplify<
37
- & AttributesWithPrefix<BaseAttributes, "gen_ai">
37
+ & AttributesWithPrefix<ProviderAttributes, "gen_ai.provider">
38
38
  & AttributesWithPrefix<OperationAttributes, "gen_ai.operation">
39
- & AttributesWithPrefix<TokenAttributes, "gen_ai.token">
39
+ & AttributesWithPrefix<OutputAttributes, "gen_ai.output">
40
40
  & AttributesWithPrefix<UsageAttributes, "gen_ai.usage">
41
41
  & AttributesWithPrefix<RequestAttributes, "gen_ai.request">
42
42
  & AttributesWithPrefix<ResponseAttributes, "gen_ai.response">
43
43
  >
44
44
 
45
- /**
46
- * All telemetry attributes which are part of the GenAI specification.
47
- *
48
- * @stability unstable
49
- * @category models
50
- * @since 4.0.0
51
- */
52
- export type AllAttributes =
53
- & BaseAttributes
54
- & OperationAttributes
55
- & TokenAttributes
56
- & UsageAttributes
57
- & RequestAttributes
58
- & ResponseAttributes
59
-
60
45
  /**
61
46
  * Telemetry attributes which are part of the GenAI specification and are
62
- * namespaced by `gen_ai`.
47
+ * namespaced by `gen_ai.provider`.
63
48
  *
64
49
  * @stability unstable
65
50
  * @category models
66
- * @since 4.0.0
51
+ * @since 4.0.2
67
52
  */
68
- export interface BaseAttributes {
53
+ export interface ProviderAttributes {
69
54
  /**
70
- * The Generative AI product as identified by the client or server
71
- * instrumentation.
55
+ * The Generative AI provider as identified by the client or server
56
+ * instrumentation, written as `gen_ai.provider.name`.
72
57
  */
73
- readonly system?: (string & {}) | WellKnownSystem | null | undefined
58
+ readonly name?: (string & {}) | WellKnownProviderName | null | undefined
74
59
  }
75
60
 
76
61
  /**
@@ -87,14 +72,17 @@ export interface OperationAttributes {
87
72
 
88
73
  /**
89
74
  * Telemetry attributes which are part of the GenAI specification and are
90
- * namespaced by `gen_ai.token`.
75
+ * namespaced by `gen_ai.output`.
91
76
  *
92
77
  * @stability unstable
93
78
  * @category models
94
- * @since 4.0.0
79
+ * @since 4.0.2
95
80
  */
96
- export interface TokenAttributes {
97
- readonly type?: string | null | undefined
81
+ export interface OutputAttributes {
82
+ /**
83
+ * The output modality requested by the client.
84
+ */
85
+ readonly type?: (string & {}) | WellKnownOutputType | null | undefined
98
86
  }
99
87
 
100
88
  /**
@@ -128,15 +116,15 @@ export interface RequestAttributes {
128
116
  */
129
117
  readonly temperature?: number | null | undefined
130
118
  /**
131
- * The temperature setting for the GenAI request.
119
+ * The top_k sampling setting for the GenAI request.
132
120
  */
133
121
  readonly topK?: number | null | undefined
134
122
  /**
135
- * The top_k sampling setting for the GenAI request.
123
+ * The top_p sampling setting for the GenAI request.
136
124
  */
137
125
  readonly topP?: number | null | undefined
138
126
  /**
139
- * The top_p sampling setting for the GenAI request.
127
+ * The maximum number of tokens the model may generate.
140
128
  */
141
129
  readonly maxTokens?: number | null | undefined
142
130
  /**
@@ -203,7 +191,18 @@ export interface ResponseAttributes {
203
191
  export type WellKnownOperationName = "chat" | "embeddings" | "text_completion"
204
192
 
205
193
  /**
206
- * The `gen_ai.system` attribute has the following list of well-known values.
194
+ * The `gen_ai.output.type` attribute has the following list of well-known
195
+ * values.
196
+ *
197
+ * @stability unstable
198
+ * @category models
199
+ * @since 4.0.2
200
+ */
201
+ export type WellKnownOutputType = "text" | "json" | "image" | "speech"
202
+
203
+ /**
204
+ * The `gen_ai.provider.name` attribute has the following list of well-known
205
+ * values.
207
206
  *
208
207
  * **Details**
209
208
  *
@@ -212,23 +211,25 @@ export type WellKnownOperationName = "chat" | "embeddings" | "text_completion"
212
211
  *
213
212
  * @stability unstable
214
213
  * @category models
215
- * @since 4.0.0
214
+ * @since 4.0.2
216
215
  */
217
- export type WellKnownSystem =
216
+ export type WellKnownProviderName =
218
217
  | "anthropic"
219
218
  | "aws.bedrock"
220
- | "az.ai.inference"
221
- | "az.ai.openai"
219
+ | "azure.ai.inference"
220
+ | "azure.ai.openai"
222
221
  | "cohere"
223
222
  | "deepseek"
224
- | "gemini"
223
+ | "gcp.gemini"
224
+ | "gcp.gen_ai"
225
+ | "gcp.vertex_ai"
225
226
  | "groq"
226
227
  | "ibm.watsonx.ai"
227
228
  | "mistral_ai"
229
+ | "moonshot_ai"
228
230
  | "openai"
229
231
  | "perplexity"
230
- | "vertex_ai"
231
- | "xai"
232
+ | "x_ai"
232
233
 
233
234
  /**
234
235
  * Utility type for prefixing attribute names with a namespace.
@@ -375,11 +376,11 @@ export const addSpanAttributes = (
375
376
  }
376
377
  }
377
378
 
378
- const addSpanBaseAttributes = addSpanAttributes("gen_ai", String.camelToSnake)<BaseAttributes>
379
+ const addSpanProviderAttributes = addSpanAttributes("gen_ai.provider", String.camelToSnake)<ProviderAttributes>
379
380
  const addSpanOperationAttributes = addSpanAttributes("gen_ai.operation", String.camelToSnake)<OperationAttributes>
381
+ const addSpanOutputAttributes = addSpanAttributes("gen_ai.output", String.camelToSnake)<OutputAttributes>
380
382
  const addSpanRequestAttributes = addSpanAttributes("gen_ai.request", String.camelToSnake)<RequestAttributes>
381
383
  const addSpanResponseAttributes = addSpanAttributes("gen_ai.response", String.camelToSnake)<ResponseAttributes>
382
- const addSpanTokenAttributes = addSpanAttributes("gen_ai.token", String.camelToSnake)<TokenAttributes>
383
384
  const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToSnake)<UsageAttributes>
384
385
 
385
386
  /**
@@ -387,8 +388,7 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
387
388
  *
388
389
  * **Details**
389
390
  *
390
- * Combines base attributes with optional grouped attributes for comprehensive
391
- * telemetry coverage of AI operations.
391
+ * Groups attributes by their `gen_ai.*` namespace.
392
392
  *
393
393
  * **Example** (Configuring GenAI telemetry attributes)
394
394
  *
@@ -396,7 +396,7 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
396
396
  * import type { Telemetry } from "effect/ai"
397
397
  *
398
398
  * const telemetryOptions: Telemetry.GenAITelemetryAttributeOptions = {
399
- * system: "openai",
399
+ * provider: { name: "openai" },
400
400
  * operation: {
401
401
  * name: "chat"
402
402
  * },
@@ -416,18 +416,26 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
416
416
  * }
417
417
  * }
418
418
  *
419
- * const result = [telemetryOptions.system, telemetryOptions.usage?.inputTokens] // => ["openai", 50]
419
+ * const result = [telemetryOptions.provider?.name, telemetryOptions.usage?.inputTokens] // => ["openai", 50]
420
420
  * ```
421
421
  *
422
422
  * @stability unstable
423
423
  * @category options
424
424
  * @since 4.0.0
425
425
  */
426
- export type GenAITelemetryAttributeOptions = BaseAttributes & {
426
+ export type GenAITelemetryAttributeOptions = {
427
+ /**
428
+ * Provider attributes (e.g., provider name).
429
+ */
430
+ readonly provider?: ProviderAttributes | undefined
427
431
  /**
428
432
  * Operation-specific attributes (e.g., operation name).
429
433
  */
430
434
  readonly operation?: OperationAttributes | undefined
435
+ /**
436
+ * Output attributes (e.g., requested output type).
437
+ */
438
+ readonly output?: OutputAttributes | undefined
431
439
  /**
432
440
  * Request-specific attributes (e.g., model parameters).
433
441
  */
@@ -436,10 +444,6 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
436
444
  * Response-specific attributes (e.g., response metadata).
437
445
  */
438
446
  readonly response?: ResponseAttributes | undefined
439
- /**
440
- * Token-specific attributes.
441
- */
442
- readonly token?: TokenAttributes | undefined
443
447
  /**
444
448
  * Usage statistics attributes (e.g., token counts).
445
449
  */
@@ -451,7 +455,7 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
451
455
  *
452
456
  * **When to use**
453
457
  *
454
- * Use when you need to write GenAI request, response, token, or usage
458
+ * Use when you need to write GenAI request, response, or usage
455
459
  * attributes onto an existing OpenTelemetry span.
456
460
  *
457
461
  * **Details**
@@ -473,7 +477,7 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
473
477
  * const span = yield* Effect.currentSpan
474
478
  *
475
479
  * Telemetry.addGenAIAnnotations(span, {
476
- * system: "openai",
480
+ * provider: { name: "openai" },
477
481
  * request: { model: "gpt-4", temperature: 0.7 },
478
482
  * usage: { inputTokens: 100, outputTokens: 50 }
479
483
  * })
@@ -493,7 +497,7 @@ export const addGenAIAnnotations: {
493
497
  *
494
498
  * **When to use**
495
499
  *
496
- * Use when you need to write GenAI request, response, token, or usage
500
+ * Use when you need to write GenAI request, response, or usage
497
501
  * attributes onto an existing OpenTelemetry span.
498
502
  *
499
503
  * **Details**
@@ -515,7 +519,7 @@ export const addGenAIAnnotations: {
515
519
  * const span = yield* Effect.currentSpan
516
520
  *
517
521
  * Telemetry.addGenAIAnnotations(span, {
518
- * system: "openai",
522
+ * provider: { name: "openai" },
519
523
  * request: { model: "gpt-4", temperature: 0.7 },
520
524
  * usage: { inputTokens: 100, outputTokens: 50 }
521
525
  * })
@@ -535,7 +539,7 @@ export const addGenAIAnnotations: {
535
539
  *
536
540
  * **When to use**
537
541
  *
538
- * Use when you need to write GenAI request, response, token, or usage
542
+ * Use when you need to write GenAI request, response, or usage
539
543
  * attributes onto an existing OpenTelemetry span.
540
544
  *
541
545
  * **Details**
@@ -557,7 +561,7 @@ export const addGenAIAnnotations: {
557
561
  * const span = yield* Effect.currentSpan
558
562
  *
559
563
  * Telemetry.addGenAIAnnotations(span, {
560
- * system: "openai",
564
+ * provider: { name: "openai" },
561
565
  * request: { model: "gpt-4", temperature: 0.7 },
562
566
  * usage: { inputTokens: 100, outputTokens: 50 }
563
567
  * })
@@ -573,11 +577,11 @@ export const addGenAIAnnotations: {
573
577
  */
574
578
  (span: Span, options: GenAITelemetryAttributeOptions): void
575
579
  } = dual(2, (span: Span, options: GenAITelemetryAttributeOptions) => {
576
- addSpanBaseAttributes(span, { system: options.system })
580
+ if (Predicate.isNotNullish(options.provider)) addSpanProviderAttributes(span, options.provider)
577
581
  if (Predicate.isNotNullish(options.operation)) addSpanOperationAttributes(span, options.operation)
582
+ if (Predicate.isNotNullish(options.output)) addSpanOutputAttributes(span, options.output)
578
583
  if (Predicate.isNotNullish(options.request)) addSpanRequestAttributes(span, options.request)
579
584
  if (Predicate.isNotNullish(options.response)) addSpanResponseAttributes(span, options.response)
580
- if (Predicate.isNotNullish(options.token)) addSpanTokenAttributes(span, options.token)
581
585
  if (Predicate.isNotNullish(options.usage)) addSpanUsageAttributes(span, options.usage)
582
586
  })
583
587
 
@@ -386,6 +386,8 @@ export const makeHandlers = (
386
386
  }
387
387
  const presence = yield* context.registrationPresence
388
388
  const eventsScope = yield* Scope.fork(yield* Effect.scope)
389
+ // Ignore changes emitted before this subscription, even if delivery was deferred.
390
+ const listChangeRevision = context.getListChangeRevision?.() ?? 0
389
391
  const events = yield* Scope.provide(context.subscribeServerNotifications, eventsScope)
390
392
  const honored = {
391
393
  ...(presence.tools && request.notifications.toolsListChanged === true
@@ -410,6 +412,9 @@ export const makeHandlers = (
410
412
  yield* Effect.gen(function*() {
411
413
  while (true) {
412
414
  const event = yield* PubSub.take(events)
415
+ if (event.listChangeRevision !== undefined && event.listChangeRevision <= listChangeRevision) {
416
+ continue
417
+ }
413
418
  if (event.targetClientId !== undefined && event.targetClientId !== client.id) {
414
419
  continue
415
420
  }
@@ -382,6 +382,8 @@ export interface HandlerInstallationContext {
382
382
  never,
383
383
  Scope.Scope
384
384
  >
385
+ /** Current list-change revision; subscriptions ignore changes emitted at or before it. */
386
+ readonly getListChangeRevision?: (() => number) | undefined
385
387
  readonly sendNotification?: (
386
388
  protocolVersion: string,
387
389
  clientId: number,
@@ -419,6 +421,7 @@ export interface HandlerInstallationContext {
419
421
  */
420
422
  export interface CanonicalServerNotification {
421
423
  readonly notification: SubscriptionServerNotification
424
+ readonly listChangeRevision?: number | undefined
422
425
  readonly targetClientId?: number | undefined
423
426
  }
424
427
 
@@ -17,6 +17,7 @@ import * as Predicate from "../../Predicate.ts"
17
17
  import * as Result from "../../Result.ts"
18
18
  import * as RpcGroup from "../../rpc/RpcGroup.ts"
19
19
  import type * as RpcMessage from "../../rpc/RpcMessage.ts"
20
+ import type * as Scope from "../../Scope.ts"
20
21
  import type * as PublicMcpProtocol from "../McpProtocol.ts"
21
22
  import * as PublicMcpSchema from "../McpSchema.ts"
22
23
  import type * as McpCore from "./mcpCore.ts"
@@ -122,6 +123,7 @@ export type HttpAdmission =
122
123
  */
123
124
  export interface HandlerInstallationOptions {
124
125
  readonly core: McpCore.McpCore
126
+ readonly getListChangeRevision?: () => number
125
127
  readonly subscribeServerNotifications: McpProtocol.HandlerInstallationContext["subscribeServerNotifications"]
126
128
  readonly sendNotification?: NonNullable<McpProtocol.HandlerInstallationContext["sendNotification"]>
127
129
  readonly markSubscriptionCancelled?: NonNullable<
@@ -175,6 +177,10 @@ export interface ServerRuntimeShape {
175
177
  fallback: LogLevel.LogLevel
176
178
  ) => LogLevel.LogLevel
177
179
  readonly disconnect: (clientId: number) => void
180
+ readonly terminateHttpSession: (headers: Headers.Headers) => Effect.Effect<HttpServerResponse.HttpServerResponse>
181
+ readonly onSessionTerminated: (
182
+ listener: (binding: RequestBinding) => Effect.Effect<void>
183
+ ) => Effect.Effect<void, never, Scope.Scope>
178
184
  readonly deliveryClientIds: () => Iterable<number>
179
185
  readonly canDeliver: (
180
186
  clientId: number,
@@ -228,9 +234,36 @@ export const make = Effect.fnUntraced(function*(
228
234
  statelessProtocol = protocol
229
235
  }
230
236
  const registry = yield* McpProtocolRegistry.make(protocols)
231
- const selectHttpProtocol = (headers: Headers.Headers, input: unknown): HttpProtocolSelection => {
237
+ const sessionTerminationListeners = new Set<(binding: RequestBinding) => Effect.Effect<void>>()
238
+ const unsupportedProtocolVersion = (requested: string) => ({
239
+ code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
240
+ message: `Unsupported protocol version '${requested}'`,
241
+ data: { supported: protocolVersions, requested }
242
+ })
243
+ const selectHttpSession = (headers: Headers.Headers, isInitialize: boolean): HttpProtocolSelection => {
232
244
  const protocolVersion = headers[MCP_PROTOCOL_VERSION_HEADER]
233
245
  const sessionId = headers[MCP_SESSION_ID_HEADER]
246
+ const binding = sessionId === undefined ? undefined : stateful?.resolveSessionId(sessionId)
247
+ if (sessionId !== undefined && binding === undefined) {
248
+ return { _tag: "Rejected", status: 404 }
249
+ }
250
+ if (!isInitialize && protocolVersion !== undefined) {
251
+ if (!protocolVersions.includes(protocolVersion)) {
252
+ return { _tag: "Rejected", status: 400, error: unsupportedProtocolVersion(protocolVersion) }
253
+ }
254
+ if (
255
+ binding?.protocol.runtime.transport.http.requiresVersionHeader === true &&
256
+ protocolVersion !== binding.protocol.protocolVersion
257
+ ) {
258
+ return headerMismatch(
259
+ `MCP-Protocol-Version header '${protocolVersion}' does not match negotiated protocol version '${binding.protocol.protocolVersion}'`
260
+ )
261
+ }
262
+ }
263
+ return { _tag: "Accepted", binding, protocol: binding?.protocol }
264
+ }
265
+ const selectHttpProtocol = (headers: Headers.Headers, input: unknown): HttpProtocolSelection => {
266
+ const protocolVersion = headers[MCP_PROTOCOL_VERSION_HEADER]
234
267
  const inputRecord = asRecord(input)
235
268
  const metadata = asRecord(asRecord(inputRecord?.params)?._meta)
236
269
  const claim = protocolVersionClaim(metadata)
@@ -272,18 +305,7 @@ export const make = Effect.fnUntraced(function*(
272
305
  }
273
306
  }
274
307
  if (statelessProtocol === undefined || protocolVersion !== statelessProtocol.protocolVersion) {
275
- return {
276
- _tag: "Rejected",
277
- status: 400,
278
- error: {
279
- code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
280
- message: `Unsupported protocol version '${protocolVersion}'`,
281
- data: {
282
- supported: protocolVersions,
283
- requested: protocolVersion
284
- }
285
- }
286
- }
308
+ return { _tag: "Rejected", status: 400, error: unsupportedProtocolVersion(protocolVersion) }
287
309
  }
288
310
  const method = inputRecord?.method
289
311
  if (typeof method !== "string" || headers[MCP_METHOD_HEADER] !== method) {
@@ -299,25 +321,7 @@ export const make = Effect.fnUntraced(function*(
299
321
  }
300
322
  return { _tag: "Accepted", binding: undefined, protocol: statelessProtocol }
301
323
  }
302
- const binding = sessionId === undefined ? undefined : stateful?.resolveSessionId(sessionId)
303
- if (sessionId !== undefined && binding === undefined) {
304
- return { _tag: "Rejected", status: 404 }
305
- }
306
- if (
307
- !isInitialize &&
308
- protocolVersion !== undefined &&
309
- !registry.protocols.some((protocol) => protocol.protocolVersion === protocolVersion)
310
- ) {
311
- return { _tag: "Rejected", status: 400 }
312
- }
313
- if (
314
- !isInitialize &&
315
- binding?.protocol.runtime.transport.http.requiresVersionHeader === true &&
316
- protocolVersion !== binding.protocol.protocolVersion
317
- ) {
318
- return { _tag: "Rejected", status: 400 }
319
- }
320
- return { _tag: "Accepted", binding, protocol: binding?.protocol }
324
+ return selectHttpSession(headers, isInitialize)
321
325
  }
322
326
  return ServerRuntime.of({
323
327
  protocols: registry.protocols,
@@ -362,11 +366,7 @@ export const make = Effect.fnUntraced(function*(
362
366
  return yield* Effect.die("MCP stateless runtime invariant failed")
363
367
  }
364
368
  if (requestedVersion !== undefined && requestedVersion !== protocol.protocolVersion) {
365
- return yield* new McpProtocol.ProtocolError({
366
- code: UNSUPPORTED_PROTOCOL_VERSION_ERROR_CODE,
367
- message: `Unsupported protocol version '${requestedVersion}'`,
368
- data: { supported: protocolVersions, requested: requestedVersion }
369
- })
369
+ return yield* new McpProtocol.ProtocolError(unsupportedProtocolVersion(requestedVersion))
370
370
  }
371
371
  const decodedProfile = yield* statelessDescriptor.profileFromRequestMetadata(metadata)
372
372
  const profile: McpCore.NegotiatedProtocolProfile<string> = {
@@ -394,12 +394,14 @@ export const make = Effect.fnUntraced(function*(
394
394
  })
395
395
  if (Result.isFailure(parsed)) {
396
396
  const version = headers[MCP_PROTOCOL_VERSION_HEADER]
397
- if (version !== undefined && !registry.protocols.some((protocol) => protocol.protocolVersion === version)) {
398
- return reject(400)
397
+ if (version !== undefined && !protocolVersions.includes(version)) {
398
+ return reject(400, unsupportedProtocolVersion(version))
399
399
  }
400
400
  const admission = selectHttpProtocol(headers, undefined)
401
- return admission._tag === "Rejected" && admission.error === undefined
402
- ? reject(admission.status)
401
+ // Session and protocol-header errors take precedence over parse errors.
402
+ return admission._tag === "Rejected" &&
403
+ (admission.error === undefined || admission.error.code === PublicMcpSchema.HEADER_MISMATCH_ERROR_CODE)
404
+ ? reject(admission.status, admission.error)
403
405
  : reject(200, new PublicMcpSchema.ParseError({ message: "Parse error" }))
404
406
  }
405
407
  const input = parsed.success
@@ -444,8 +446,21 @@ export const make = Effect.fnUntraced(function*(
444
446
  }
445
447
  const isInitialize = Predicate.hasProperty(input, "method") && input.method === "initialize"
446
448
  const hasSession = headers[MCP_SESSION_ID_HEADER] !== undefined
447
- if (isInitialize ? hasSession : !hasSession && admission.protocol?.runtime._tag !== "Stateless") {
448
- return reject(400)
449
+ if (isInitialize && hasSession) {
450
+ return reject(
451
+ 400,
452
+ new PublicMcpSchema.InvalidRequest({ message: "initialize must not include an MCP-Session-Id header" }),
453
+ id
454
+ )
455
+ }
456
+ if (!isInitialize && !hasSession && admission.protocol?.runtime._tag !== "Stateless") {
457
+ return reject(
458
+ 400,
459
+ stateful === undefined ? undefined : new PublicMcpSchema.InvalidRequest({
460
+ message: "MCP-Session-Id header is required; send initialize to start a session"
461
+ }),
462
+ id
463
+ )
449
464
  }
450
465
  if (
451
466
  isRequest && admission.protocol?.runtime._tag === "Stateless" &&
@@ -464,6 +479,33 @@ export const make = Effect.fnUntraced(function*(
464
479
  },
465
480
  effectLogLevel: (clientId, headers, fallback) => stateful?.effectLogLevel(clientId, headers, fallback) ?? fallback,
466
481
  disconnect: (clientId) => stateful?.disconnect(clientId),
482
+ terminateHttpSession: (headers) =>
483
+ Effect.suspend(() => {
484
+ const sessionId = headers[MCP_SESSION_ID_HEADER]
485
+ if (sessionId === undefined) {
486
+ return Effect.succeed(HttpServerResponse.empty({ status: 400 }))
487
+ }
488
+ const selection = selectHttpSession(headers, false)
489
+ if (selection._tag === "Rejected") {
490
+ return Effect.succeed(HttpServerResponse.empty({ status: selection.status }))
491
+ }
492
+ const binding = selection.binding!
493
+ stateful!.terminateSession(sessionId)
494
+ return Effect.as(
495
+ Effect.forEach(sessionTerminationListeners, (listener) => listener(binding), { discard: true }),
496
+ HttpServerResponse.empty({ status: 204 })
497
+ )
498
+ }),
499
+ onSessionTerminated: (listener) =>
500
+ Effect.acquireRelease(
501
+ Effect.sync(() => {
502
+ sessionTerminationListeners.add(listener)
503
+ }),
504
+ () =>
505
+ Effect.sync(() => {
506
+ sessionTerminationListeners.delete(listener)
507
+ })
508
+ ),
467
509
  deliveryClientIds: () => stateful?.initializedClientIds() ?? [],
468
510
  canDeliver: (clientId, headers, notification, fallback) =>
469
511
  stateful?.canDeliver(clientId, headers, notification, fallback) ?? true,
@@ -471,6 +513,7 @@ export const make = Effect.fnUntraced(function*(
471
513
  const contextMap = new Map<string, unknown>()
472
514
  const installationContext: McpProtocol.HandlerInstallationContext = {
473
515
  subscribeServerNotifications: options.subscribeServerNotifications,
516
+ getListChangeRevision: options.getListChangeRevision,
474
517
  ...(options.sendNotification === undefined ? {} : { sendNotification: options.sendNotification }),
475
518
  ...(options.markSubscriptionCancelled === undefined
476
519
  ? {}
@@ -47,6 +47,7 @@ export interface StatefulRuntime {
47
47
  readonly registerConnection: (clientId: number, registration: Registration) => Binding
48
48
  readonly resolve: (clientId: number, headers: Headers.Headers) => Binding | undefined
49
49
  readonly resolveSessionId: (sessionId: string) => Binding | undefined
50
+ readonly terminateSession: (sessionId: string) => boolean
50
51
  readonly setLogLevel: (
51
52
  level: PublicMcpSchema.LoggingLevel,
52
53
  clientId: number,
@@ -123,6 +124,7 @@ export const make = (): StatefulRuntime => {
123
124
  },
124
125
  resolve: resolveSession,
125
126
  resolveSessionId: (sessionId) => bySessionId.get(sessionId),
127
+ terminateSession: (sessionId) => bySessionId.delete(sessionId),
126
128
  setLogLevel: (level, clientId, headers) =>
127
129
  Effect.sync(() => {
128
130
  const session = resolveSession(clientId, headers)
@@ -16,6 +16,7 @@ import * as Layer from "../Layer.ts"
16
16
  import * as Option from "../Option.ts"
17
17
  import type * as CliError from "./CliError.ts"
18
18
  import type { HelpDoc } from "./HelpDoc.ts"
19
+ import * as Ansi from "./internal/ansi.ts"
19
20
 
20
21
  /**
21
22
  * Defines the service interface for formatting CLI output including help, errors, and version info.
@@ -306,17 +307,7 @@ const escapeControlCharacters = (text: string): string =>
306
307
  * @since 4.0.0
307
308
  */
308
309
  export const defaultFormatter = (options?: { colors?: boolean }): Formatter => {
309
- const globalProcess = (globalThis as any).process
310
- const hasProcess = typeof globalProcess === "object" && globalProcess !== null
311
-
312
- const useColor = options?.colors !== undefined
313
- ? options.colors
314
- // Auto-detect based on environment
315
- : (hasProcess &&
316
- typeof globalProcess.stdout === "object" &&
317
- globalProcess.stdout !== null &&
318
- globalProcess.stdout.isTTY === true &&
319
- !globalProcess.env?.NO_COLOR)
310
+ const useColor = options?.colors ?? Ansi.detectColors()
320
311
 
321
312
  // Color palette using ANSI escape codes
322
313
  const colors = useColor
@@ -390,7 +381,7 @@ const stripAnsi = (text: string): string => {
390
381
  }
391
382
 
392
383
  /**
393
- * Gets the terminal display width of a string (excluding ANSI codes).
384
+ * Segments text into grapheme clusters.
394
385
  * @internal
395
386
  */
396
387
  const graphemeSegmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" })
@@ -424,7 +415,33 @@ const graphemeWidth = (grapheme: string): number => {
424
415
  return isFullWidthCodePoint(visible.codePointAt(0)!) ? 2 : 1
425
416
  }
426
417
 
427
- const visualLength = (text: string): number => {
418
+ /**
419
+ * Measures the number of terminal cells a string occupies.
420
+ *
421
+ * **Details**
422
+ *
423
+ * Uses the same measurement as built-in help and table rendering. ANSI styling
424
+ * is stripped before measuring graphemes: zero-width graphemes count as `0`,
425
+ * emoji presentation sequences and fullwidth characters as `2`, and other
426
+ * graphemes as `1`.
427
+ *
428
+ * **Example** (Measuring terminal-cell widths)
429
+ *
430
+ * ```ts import.meta.vitest
431
+ * import { CliOutput } from "effect/cli"
432
+ *
433
+ * CliOutput.displayWidth("file") // => 4
434
+ * CliOutput.displayWidth("ファイル") // => 8
435
+ * CliOutput.displayWidth("é") // => 1
436
+ * CliOutput.displayWidth("1️⃣") // => 2
437
+ * CliOutput.displayWidth("\u001B[1mbold\u001B[0m") // => 4
438
+ * ```
439
+ *
440
+ * @stability unstable
441
+ * @category measuring
442
+ * @since 4.0.3
443
+ */
444
+ export const displayWidth = (text: string): number => {
428
445
  let length = 0
429
446
  for (const { segment } of graphemeSegmenter.segment(stripAnsi(text))) {
430
447
  length += graphemeWidth(segment)
@@ -437,7 +454,7 @@ const visualLength = (text: string): number => {
437
454
  * @internal
438
455
  */
439
456
  const pad = (s: string, width: number) => {
440
- const actualLength = visualLength(s)
457
+ const actualLength = displayWidth(s)
441
458
  const padding = Math.max(0, width - actualLength)
442
459
  return s + " ".repeat(padding)
443
460
  }
@@ -456,9 +473,9 @@ interface Row {
456
473
  * @internal
457
474
  */
458
475
  const renderTable = (rows: ReadonlyArray<Row>, widthCap?: number) => {
459
- const maxColumn = Math.max(...rows.map((r) => visualLength(r.left))) + 4
476
+ const maxColumn = Math.max(...rows.map((r) => displayWidth(r.left))) + 4
460
477
  const col = widthCap === undefined ? maxColumn : Math.min(maxColumn, widthCap)
461
- return rows.map(({ left, right }) => ` ${pad(left, Math.max(col, visualLength(left) + 1))}${right}`).join("\n")
478
+ return rows.map(({ left, right }) => ` ${pad(left, Math.max(col, displayWidth(left) + 1))}${right}`).join("\n")
462
479
  }
463
480
 
464
481
  const formatSubcommandName = (name: string, alias: string | undefined): string => alias ? `${name}, ${alias}` : name
@@ -3104,14 +3104,15 @@ export const runWith = <const Name extends string, Input, E, R, ContextInput>(
3104
3104
  if (!hasEntry) continue
3105
3105
  const [, value] = yield* flag.flag.parse(emptyArgs)
3106
3106
  if (flag === GlobalFlag.Wizard) {
3107
+ const { colors } = yield* Prompt.Theme
3107
3108
  return yield* Effect.gen(function*() {
3108
- yield* Console.log(Wizard.renderIntroduction(command.name, config.version, command.description))
3109
+ yield* Console.log(Wizard.renderIntroduction(command.name, config.version, command.description, colors))
3109
3110
  const prefix = [
3110
3111
  command.name,
3111
3112
  ...args.filter((arg) => arg !== "--wizard" && !arg.startsWith("--wizard="))
3112
3113
  ]
3113
3114
  const wizardResult = yield* Wizard.run(command, { commandPath, prefix })
3114
- yield* Console.log(Wizard.renderCompletion(wizardResult.displayArgs))
3115
+ yield* Console.log(Wizard.renderCompletion(wizardResult.displayArgs, colors))
3115
3116
  const shouldRun = yield* Prompt.run(Prompt.Toggle({
3116
3117
  message: "Run this command?",
3117
3118
  initial: true,
@@ -3123,7 +3124,7 @@ export const runWith = <const Name extends string, Input, E, R, ContextInput>(
3123
3124
  yield* runWith(command, { ...config, renderErrors: false })(wizardResult.args.slice(1))
3124
3125
  }
3125
3126
  }).pipe(
3126
- Effect.catchTag("QuitError", () => Console.log(Wizard.renderQuit()))
3127
+ Effect.catchTag("QuitError", () => Console.log(Wizard.renderQuit(colors)))
3127
3128
  )
3128
3129
  }
3129
3130
  yield* flag.run(value, handlerCtx)